diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index ef83ddeb9..37f33c3c6 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -29,7 +29,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v1 with: - deno-version: 2.5.6 + deno-version: 2.9.0 - name: Install dependencies run: npm ci --no-audit diff --git a/.github/workflows/publint.yaml b/.github/workflows/publint.yaml index 24f902b05..b326df2bf 100644 --- a/.github/workflows/publint.yaml +++ b/.github/workflows/publint.yaml @@ -28,7 +28,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v1 with: - deno-version: 2.5.6 + deno-version: 2.9.0 - name: Install dependencies run: npm ci - name: Build diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index dce7bab4c..7e20197b2 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -50,7 +50,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v1 with: - deno-version: 2.5.6 + deno-version: 2.9.0 - run: npm ci if: ${{ steps.release.outputs.releases_created || github.event_name == 'workflow_dispatch' }} - name: Build packages diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 004460d06..3fec8e5c1 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -51,7 +51,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v1 with: - deno-version: 2.5.6 + deno-version: 2.9.0 - name: Setup Deno dependencies run: deno cache https://deno.land/x/eszip@v0.55.2/eszip.ts - name: Install dependencies @@ -101,7 +101,7 @@ jobs: - name: Setup Deno uses: denoland/setup-deno@v1 with: - deno-version: 2.5.6 + deno-version: 2.9.0 - name: Setup Deno dependencies run: deno cache https://deno.land/x/eszip@v0.55.2/eszip.ts - name: Install dependencies diff --git a/packages/edge-functions/dev/src/deno/workers/runner.mjs b/packages/edge-functions/dev/src/deno/workers/runner.mjs index aba311175..91ba934f8 100644 --- a/packages/edge-functions/dev/src/deno/workers/runner.mjs +++ b/packages/edge-functions/dev/src/deno/workers/runner.mjs @@ -9,6 +9,12 @@ import { handleRequest } from '../bootstrap.mjs' * @typedef {import('./types.ts').RunResponseEndMessage} RunResponseEndMessage */ +// Deno@2.9.0 lazy loads globalThis.process on first access. In worker thread it will rely on Deno.cwd() that we +// don't allow in Edge Functions. Tricking deno into thinking it does run as main process allow +// us to workaround this case. +// See https://github.com/denoland/deno/blob/49c38256b8affe8aca3f9893576e44de239f486c/ext/node/polyfills/process.ts#L1801 +Deno.mainModule = new URL(import.meta.url).href + const consoleLog = globalThis.console.log /** @type {Map} */ const fetchRewrites = new Map()