From 401036de529f6fae58a95efe1f0a6c7781acad71 Mon Sep 17 00:00:00 2001 From: Alexis CHAPPRON Date: Sun, 12 Jun 2022 00:02:19 +0200 Subject: [PATCH 1/4] feat: enable sourcemap support The adapter-vercel package were not generating sourcemaps. Therefore, it was impossible to correctly use any bug tracking tool. --- packages/adapter-vercel/README.md | 6 +++++- packages/adapter-vercel/index.d.ts | 2 ++ packages/adapter-vercel/index.js | 18 +++++++++++------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/packages/adapter-vercel/README.md b/packages/adapter-vercel/README.md index 5f721fdb3c0c..0b7c88a1a556 100644 --- a/packages/adapter-vercel/README.md +++ b/packages/adapter-vercel/README.md @@ -30,7 +30,11 @@ export default { // if true, will split your app into multiple functions // instead of creating a single one for the entire app - split: false + split: false, + + // same as esbuild sourcemap option + // https://esbuild.github.io/api/#sourcemap + sourcemap: false }) } }; diff --git a/packages/adapter-vercel/index.d.ts b/packages/adapter-vercel/index.d.ts index 49e4f9661985..24cb58a7eac0 100644 --- a/packages/adapter-vercel/index.d.ts +++ b/packages/adapter-vercel/index.d.ts @@ -1,9 +1,11 @@ import { Adapter } from '@sveltejs/kit'; +import type { BuildOptions } from 'esbuild'; type Options = { edge?: boolean; external?: string[]; split?: boolean; + sourcemap?: BuildOptions['sourcemap']; }; export default function plugin(options?: Options): Adapter; diff --git a/packages/adapter-vercel/index.js b/packages/adapter-vercel/index.js index ea8a6fac8e8b..a0d041bfe88c 100644 --- a/packages/adapter-vercel/index.js +++ b/packages/adapter-vercel/index.js @@ -84,19 +84,19 @@ const redirects = { const files = fileURLToPath(new URL('./files', import.meta.url).href); /** @type {import('.').default} **/ -export default function ({ external = [], edge, split } = {}) { +export default function ({ external = [], edge, split, sourcemap = false } = {}) { return { name: '@sveltejs/adapter-vercel', async adapt(builder) { if (process.env.ENABLE_VC_BUILD) { - await v3(builder, external, edge, split); + await v3(builder, external, edge, split, sourcemap); } else { if (edge || split) { throw new Error('`edge` and `split` options can only be used with ENABLE_VC_BUILD'); } - await v1(builder, external); + await v1(builder, external, sourcemap); } } }; @@ -105,8 +105,9 @@ export default function ({ external = [], edge, split } = {}) { /** * @param {import('@sveltejs/kit').Builder} builder * @param {string[]} external + * @param {import('esbuild').BuildOptions['sourcemap']} sourcemap */ -async function v1(builder, external) { +async function v1(builder, external, sourcemap) { const node_version = get_node_version(); const dir = '.vercel_build_output'; @@ -146,7 +147,8 @@ async function v1(builder, external) { bundle: true, platform: 'node', external, - format: 'cjs' + format: 'cjs', + sourcemap }); fs.writeFileSync(`${dirs.lambda}/package.json`, JSON.stringify({ type: 'commonjs' })); @@ -202,8 +204,9 @@ async function v1(builder, external) { * @param {string[]} external * @param {boolean} edge * @param {boolean} split + * @param {import('esbuild').BuildOptions['sourcemap']} sourcemap */ -async function v3(builder, external, edge, split) { +async function v3(builder, external, edge, split, sourcemap) { const node_version = get_node_version(); const dir = '.vercel/output'; @@ -302,7 +305,8 @@ async function v3(builder, external, edge, split) { bundle: true, platform: 'node', format: 'esm', - external + external, + sourcemap }); write( From be7117af32f1b53feefaf075b3e2f80a9a36220c Mon Sep 17 00:00:00 2001 From: Alexis CHAPPRON Date: Sun, 12 Jun 2022 00:36:18 +0200 Subject: [PATCH 2/4] fix: add missing changeset --- .changeset/mighty-melons-walk.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/mighty-melons-walk.md diff --git a/.changeset/mighty-melons-walk.md b/.changeset/mighty-melons-walk.md new file mode 100644 index 000000000000..323825029064 --- /dev/null +++ b/.changeset/mighty-melons-walk.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-vercel': patch +--- + +Add new option to generate sourcemap for the `functions/node/render/index.js` generated file From d1c6488e82360e3c1f4467660ac79042cd6d7479 Mon Sep 17 00:00:00 2001 From: Alexis CHAPPRON Date: Sun, 12 Jun 2022 00:39:00 +0200 Subject: [PATCH 3/4] style: fix README.md indentation --- packages/adapter-vercel/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/adapter-vercel/README.md b/packages/adapter-vercel/README.md index 0b7c88a1a556..2c51e0bb053a 100644 --- a/packages/adapter-vercel/README.md +++ b/packages/adapter-vercel/README.md @@ -33,7 +33,7 @@ export default { split: false, // same as esbuild sourcemap option - // https://esbuild.github.io/api/#sourcemap + // https://esbuild.github.io/api/#sourcemap sourcemap: false }) } From 9cd0a3458ea154bb170f4d424e91de130b2a103b Mon Sep 17 00:00:00 2001 From: Alexis CHAPPRON Date: Wed, 22 Jun 2022 20:14:14 +0200 Subject: [PATCH 4/4] fix: always generate linked sourcemaps and delete configuration option --- .changeset/mighty-melons-walk.md | 2 +- packages/adapter-vercel/README.md | 6 +----- packages/adapter-vercel/index.d.ts | 2 -- packages/adapter-vercel/index.js | 16 +++++++--------- 4 files changed, 9 insertions(+), 17 deletions(-) diff --git a/.changeset/mighty-melons-walk.md b/.changeset/mighty-melons-walk.md index 323825029064..35e8447ba975 100644 --- a/.changeset/mighty-melons-walk.md +++ b/.changeset/mighty-melons-walk.md @@ -2,4 +2,4 @@ '@sveltejs/adapter-vercel': patch --- -Add new option to generate sourcemap for the `functions/node/render/index.js` generated file +Add sourcemap generation for the generated functions diff --git a/packages/adapter-vercel/README.md b/packages/adapter-vercel/README.md index 2c51e0bb053a..5f721fdb3c0c 100644 --- a/packages/adapter-vercel/README.md +++ b/packages/adapter-vercel/README.md @@ -30,11 +30,7 @@ export default { // if true, will split your app into multiple functions // instead of creating a single one for the entire app - split: false, - - // same as esbuild sourcemap option - // https://esbuild.github.io/api/#sourcemap - sourcemap: false + split: false }) } }; diff --git a/packages/adapter-vercel/index.d.ts b/packages/adapter-vercel/index.d.ts index 24cb58a7eac0..49e4f9661985 100644 --- a/packages/adapter-vercel/index.d.ts +++ b/packages/adapter-vercel/index.d.ts @@ -1,11 +1,9 @@ import { Adapter } from '@sveltejs/kit'; -import type { BuildOptions } from 'esbuild'; type Options = { edge?: boolean; external?: string[]; split?: boolean; - sourcemap?: BuildOptions['sourcemap']; }; export default function plugin(options?: Options): Adapter; diff --git a/packages/adapter-vercel/index.js b/packages/adapter-vercel/index.js index a0d041bfe88c..c893881eff77 100644 --- a/packages/adapter-vercel/index.js +++ b/packages/adapter-vercel/index.js @@ -84,19 +84,19 @@ const redirects = { const files = fileURLToPath(new URL('./files', import.meta.url).href); /** @type {import('.').default} **/ -export default function ({ external = [], edge, split, sourcemap = false } = {}) { +export default function ({ external = [], edge, split } = {}) { return { name: '@sveltejs/adapter-vercel', async adapt(builder) { if (process.env.ENABLE_VC_BUILD) { - await v3(builder, external, edge, split, sourcemap); + await v3(builder, external, edge, split); } else { if (edge || split) { throw new Error('`edge` and `split` options can only be used with ENABLE_VC_BUILD'); } - await v1(builder, external, sourcemap); + await v1(builder, external); } } }; @@ -105,9 +105,8 @@ export default function ({ external = [], edge, split, sourcemap = false } = {}) /** * @param {import('@sveltejs/kit').Builder} builder * @param {string[]} external - * @param {import('esbuild').BuildOptions['sourcemap']} sourcemap */ -async function v1(builder, external, sourcemap) { +async function v1(builder, external) { const node_version = get_node_version(); const dir = '.vercel_build_output'; @@ -148,7 +147,7 @@ async function v1(builder, external, sourcemap) { platform: 'node', external, format: 'cjs', - sourcemap + sourcemap: 'linked' }); fs.writeFileSync(`${dirs.lambda}/package.json`, JSON.stringify({ type: 'commonjs' })); @@ -204,9 +203,8 @@ async function v1(builder, external, sourcemap) { * @param {string[]} external * @param {boolean} edge * @param {boolean} split - * @param {import('esbuild').BuildOptions['sourcemap']} sourcemap */ -async function v3(builder, external, edge, split, sourcemap) { +async function v3(builder, external, edge, split) { const node_version = get_node_version(); const dir = '.vercel/output'; @@ -306,7 +304,7 @@ async function v3(builder, external, edge, split, sourcemap) { platform: 'node', format: 'esm', external, - sourcemap + sourcemap: 'linked' }); write(