Skip to content

Commit

Permalink
Escape env pulled from vercel
Browse files Browse the repository at this point in the history
  • Loading branch information
openint-bot committed Feb 27, 2025
1 parent c0dec2b commit b3c8850
Show file tree
Hide file tree
Showing 4 changed files with 137 additions and 2 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/validate-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,8 @@ jobs:
run: |
npm install --global vercel@latest
vercel link --token $VERCEL_TOKEN --scope openint-dev --yes
vercel env pull --token $VERCEL_TOKEN ./apps/web/.env.local
vercel env pull --token $VERCEL_TOKEN ./apps/web/.env.local.orig
cat .env.local.orig | pnpm bun scripts/escape-env.ts > .env.local
- name: Ensure OpenAPI spec and docs are up to date
run: pnpm --dir ./kits/sdk run gen && pnpm --dir ./docs generate && git diff --exit-code
Expand Down
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@
"pgdump": "pg_dump --schema public --schema-only --no-owner --exclude-schema=graphile_migrate --file=packages/db/schema.sql $DATABASE_URL",
"worker:setup": "tsx ./bin/openint setupWorker",
"worker:run": "tsx ./bin/openint runWorker",
"env:pull": "vercel env pull --environment development .env.dev && vercel env pull --environment preview --git-branch $(git rev-parse --abbrev-ref HEAD) .env.pre && vercel env pull --environment production .env.prod"
"env:pull:development": "vercel env pull --environment development .env.dev.orig && cat .env.dev.orig | pnpm bun scripts/escape-env.ts > .env.dev",
"env:pull:preview": "vercel env pull --environment preview --git-branch $(git rev-parse --abbrev-ref HEAD) .env.pre.orig && cat .env.pre.orig | pnpm bun scripts/escape-env.ts > .env.pre",
"env:pull:production": "vercel env pull --environment production .env.prod.orig && cat .env.prod.orig | pnpm bun scripts/escape-env.ts > .env.prod",
"env:pull": "run-s env:pull:*"
},
"lint-staged": {
"**/*.{js,ts,tsx,json,css,yml,yaml}": "prettier --write",
Expand All @@ -46,6 +49,7 @@
"@types/prettier": "3.0.0",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"bun": "latest",
"esbuild": "0.17.5",
"esbuild-jest": "0.5.0",
"eslint": "8.23.0",
Expand Down
111 changes: 111 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions scripts/escape-env.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Workaround for vercel env pull cannot properly handle value that contains " #11258
// https://github.com/vercel/vercel/issues/11258
import * as readline from 'node:readline'

const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
terminal: false,
})

rl.on('line', (line) => {
// Replace double quotes with single quotes, but only when they're part of the value
const processed = line.replace(/^(.*)="(.*)"$/g, "$1='$2'")
console.log(processed)
})

rl.on('close', () => {
process.exit(0)
})

0 comments on commit b3c8850

Please sign in to comment.