diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f250f73..a7b0223 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,7 @@ concurrency: jobs: lint-and-build: - runs-on: macos-15 + runs-on: macos-26 steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 7fe58ac..800f249 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,7 +16,7 @@ concurrency: jobs: build-dmg: - runs-on: macos-15 + runs-on: macos-26 steps: - uses: actions/checkout@v4 diff --git a/.gitignore b/.gitignore index 88cd62e..9b1ffee 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ DerivedData/ .netrc .agents/ /web/.vite +node_modules/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..43e3465 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,59 @@ +{ + "name": "devtail", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "devDependencies": { + "playwright": "^1.59.1" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/playwright": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", + "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.59.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", + "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..31b352a --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +{ + "scripts": { + "og": "npx tsx scripts/render-og-image.ts" + }, + "devDependencies": { + "playwright": "^1.59.1" + } +} diff --git a/scripts/og-image.html b/scripts/og-image.html new file mode 100644 index 0000000..7a9906c --- /dev/null +++ b/scripts/og-image.html @@ -0,0 +1,149 @@ + + +
+ + + + + + + + +