From cadf63c1c36ae0d6930a88fd97296252e315210c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 15 Apr 2022 15:48:19 -0400 Subject: [PATCH 1/4] dont pass arbitrary options to esbuild --- .changeset/healthy-cows-walk.md | 6 ++++++ packages/adapter-cloudflare-workers/index.d.ts | 2 +- packages/adapter-cloudflare-workers/index.js | 5 ++--- packages/adapter-cloudflare/index.d.ts | 2 +- packages/adapter-cloudflare/index.js | 6 +++--- 5 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .changeset/healthy-cows-walk.md diff --git a/.changeset/healthy-cows-walk.md b/.changeset/healthy-cows-walk.md new file mode 100644 index 000000000000..fb4513c79342 --- /dev/null +++ b/.changeset/healthy-cows-walk.md @@ -0,0 +1,6 @@ +--- +'@sveltejs/adapter-cloudflare': patch +'@sveltejs/adapter-cloudflare-workers': patch +--- + +[breaking] Don't pass arbitrary options to esbuild diff --git a/packages/adapter-cloudflare-workers/index.d.ts b/packages/adapter-cloudflare-workers/index.d.ts index 62aee0f1eaa9..d96e71181ebe 100644 --- a/packages/adapter-cloudflare-workers/index.d.ts +++ b/packages/adapter-cloudflare-workers/index.d.ts @@ -1,4 +1,4 @@ import { Adapter } from '@sveltejs/kit'; -declare function plugin(): Adapter; +declare function plugin(options?: { external?: string[] }): Adapter; export = plugin; diff --git a/packages/adapter-cloudflare-workers/index.js b/packages/adapter-cloudflare-workers/index.js index 045eef0b8b20..3c43e1f513a5 100644 --- a/packages/adapter-cloudflare-workers/index.js +++ b/packages/adapter-cloudflare-workers/index.js @@ -6,7 +6,7 @@ import toml from '@iarna/toml'; import { fileURLToPath } from 'url'; /** @type {import('.')} */ -export default function (options = {}) { +export default function ({ external = [] } = {}) { return { name: '@sveltejs/adapter-cloudflare-workers', @@ -57,11 +57,10 @@ export default function (options = {}) { await esbuild.build({ target: 'es2020', platform: 'browser', - ...options, entryPoints: [`${tmp}/entry.js`], outfile: `${entrypoint}/${main_path}`, bundle: true, - external: ['__STATIC_CONTENT_MANIFEST', ...(options?.external || [])], + external: ['__STATIC_CONTENT_MANIFEST', ...external], format: 'esm' }); diff --git a/packages/adapter-cloudflare/index.d.ts b/packages/adapter-cloudflare/index.d.ts index 62aee0f1eaa9..233083d614d8 100644 --- a/packages/adapter-cloudflare/index.d.ts +++ b/packages/adapter-cloudflare/index.d.ts @@ -1,4 +1,4 @@ import { Adapter } from '@sveltejs/kit'; -declare function plugin(): Adapter; +declare function plugin(opts?: { external?: string[] }): Adapter; export = plugin; diff --git a/packages/adapter-cloudflare/index.js b/packages/adapter-cloudflare/index.js index d79e65807257..cf4fde4b1568 100644 --- a/packages/adapter-cloudflare/index.js +++ b/packages/adapter-cloudflare/index.js @@ -4,7 +4,7 @@ import { fileURLToPath } from 'url'; import * as esbuild from 'esbuild'; /** @type {import('.')} */ -export default function (options = {}) { +export default function ({ external = [] } = {}) { return { name: '@sveltejs/adapter-cloudflare', async adapt(builder) { @@ -39,12 +39,12 @@ export default function (options = {}) { await esbuild.build({ target: 'es2020', platform: 'browser', - ...options, entryPoints: [`${tmp}/_worker.js`], outfile: `${dest}/_worker.js`, allowOverwrite: true, format: 'esm', - bundle: true + bundle: true, + external }); } }; From 71277da95f6d92f61a6951a21ab7422884103299 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Fri, 15 Apr 2022 15:55:45 -0400 Subject: [PATCH 2/4] on second thoughts --- packages/adapter-cloudflare-workers/index.d.ts | 2 +- packages/adapter-cloudflare-workers/index.js | 4 ++-- packages/adapter-cloudflare/index.d.ts | 2 +- packages/adapter-cloudflare/index.js | 5 ++--- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/adapter-cloudflare-workers/index.d.ts b/packages/adapter-cloudflare-workers/index.d.ts index d96e71181ebe..62aee0f1eaa9 100644 --- a/packages/adapter-cloudflare-workers/index.d.ts +++ b/packages/adapter-cloudflare-workers/index.d.ts @@ -1,4 +1,4 @@ import { Adapter } from '@sveltejs/kit'; -declare function plugin(options?: { external?: string[] }): Adapter; +declare function plugin(): Adapter; export = plugin; diff --git a/packages/adapter-cloudflare-workers/index.js b/packages/adapter-cloudflare-workers/index.js index 3c43e1f513a5..0eb8108319be 100644 --- a/packages/adapter-cloudflare-workers/index.js +++ b/packages/adapter-cloudflare-workers/index.js @@ -6,7 +6,7 @@ import toml from '@iarna/toml'; import { fileURLToPath } from 'url'; /** @type {import('.')} */ -export default function ({ external = [] } = {}) { +export default function () { return { name: '@sveltejs/adapter-cloudflare-workers', @@ -60,7 +60,7 @@ export default function ({ external = [] } = {}) { entryPoints: [`${tmp}/entry.js`], outfile: `${entrypoint}/${main_path}`, bundle: true, - external: ['__STATIC_CONTENT_MANIFEST', ...external], + external: ['__STATIC_CONTENT_MANIFEST'], format: 'esm' }); diff --git a/packages/adapter-cloudflare/index.d.ts b/packages/adapter-cloudflare/index.d.ts index 233083d614d8..62aee0f1eaa9 100644 --- a/packages/adapter-cloudflare/index.d.ts +++ b/packages/adapter-cloudflare/index.d.ts @@ -1,4 +1,4 @@ import { Adapter } from '@sveltejs/kit'; -declare function plugin(opts?: { external?: string[] }): Adapter; +declare function plugin(): Adapter; export = plugin; diff --git a/packages/adapter-cloudflare/index.js b/packages/adapter-cloudflare/index.js index cf4fde4b1568..6c6120be73ac 100644 --- a/packages/adapter-cloudflare/index.js +++ b/packages/adapter-cloudflare/index.js @@ -4,7 +4,7 @@ import { fileURLToPath } from 'url'; import * as esbuild from 'esbuild'; /** @type {import('.')} */ -export default function ({ external = [] } = {}) { +export default function () { return { name: '@sveltejs/adapter-cloudflare', async adapt(builder) { @@ -43,8 +43,7 @@ export default function ({ external = [] } = {}) { outfile: `${dest}/_worker.js`, allowOverwrite: true, format: 'esm', - bundle: true, - external + bundle: true }); } }; From 05e3d4a96b5eca6080652bed42694ecb19cf98de Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 13 Jul 2022 14:01:34 -0400 Subject: [PATCH 3/4] throw error if esbuild options are passed --- packages/adapter-cloudflare-workers/index.js | 6 ++++++ packages/adapter-cloudflare/index.js | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/packages/adapter-cloudflare-workers/index.js b/packages/adapter-cloudflare-workers/index.js index d9c51b5a032f..8d10800a9854 100644 --- a/packages/adapter-cloudflare-workers/index.js +++ b/packages/adapter-cloudflare-workers/index.js @@ -16,6 +16,12 @@ import { fileURLToPath } from 'url'; /** @type {import('.').default} */ export default function () { + if (arguments.length > 0) { + throw new Error( + 'esbuild options can no longer be passed to adapter-cloudflare-workers — see https://github.com/sveltejs/kit/pull/4639' + ); + } + return { name: '@sveltejs/adapter-cloudflare-workers', diff --git a/packages/adapter-cloudflare/index.js b/packages/adapter-cloudflare/index.js index 48a6bfd3b755..2e9d2c6fc13c 100644 --- a/packages/adapter-cloudflare/index.js +++ b/packages/adapter-cloudflare/index.js @@ -5,6 +5,12 @@ import * as esbuild from 'esbuild'; /** @type {import('.').default} */ export default function () { + if (arguments.length > 0) { + throw new Error( + 'esbuild options can no longer be passed to adapter-cloudflare — see https://github.com/sveltejs/kit/pull/4639' + ); + } + return { name: '@sveltejs/adapter-cloudflare', async adapt(builder) { From 8916210cf948d18c6130b912ed9a7993ed70b4b7 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 13 Jul 2022 14:02:18 -0400 Subject: [PATCH 4/4] note to self --- packages/adapter-cloudflare-workers/index.js | 1 + packages/adapter-cloudflare/index.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/adapter-cloudflare-workers/index.js b/packages/adapter-cloudflare-workers/index.js index 8d10800a9854..7bfd7634828a 100644 --- a/packages/adapter-cloudflare-workers/index.js +++ b/packages/adapter-cloudflare-workers/index.js @@ -16,6 +16,7 @@ import { fileURLToPath } from 'url'; /** @type {import('.').default} */ export default function () { + // TODO remove for 1.0 if (arguments.length > 0) { throw new Error( 'esbuild options can no longer be passed to adapter-cloudflare-workers — see https://github.com/sveltejs/kit/pull/4639' diff --git a/packages/adapter-cloudflare/index.js b/packages/adapter-cloudflare/index.js index 2e9d2c6fc13c..41c4f2477f68 100644 --- a/packages/adapter-cloudflare/index.js +++ b/packages/adapter-cloudflare/index.js @@ -5,6 +5,7 @@ import * as esbuild from 'esbuild'; /** @type {import('.').default} */ export default function () { + // TODO remove for 1.0 if (arguments.length > 0) { throw new Error( 'esbuild options can no longer be passed to adapter-cloudflare — see https://github.com/sveltejs/kit/pull/4639'