From 97fe5cd7f68f4847007260086c5dad0b033a0435 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Wed, 16 Nov 2022 10:46:00 -0800 Subject: [PATCH 1/3] [feat] warn if svelte not found in dependencies or peerDependencies --- .changeset/gentle-rocks-run.md | 5 +++++ packages/package/src/index.js | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 .changeset/gentle-rocks-run.md diff --git a/.changeset/gentle-rocks-run.md b/.changeset/gentle-rocks-run.md new file mode 100644 index 000000000000..5730b5b8f60d --- /dev/null +++ b/.changeset/gentle-rocks-run.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/package': patch +--- + +[feat] warn if svelte not found in dependencies or peerDependencies diff --git a/packages/package/src/index.js b/packages/package/src/index.js index d751537bf1cf..6c532c371700 100644 --- a/packages/package/src/index.js +++ b/packages/package/src/index.js @@ -32,6 +32,10 @@ export async function build(config, cwd = process.cwd()) { const pkg = generate_pkg(cwd, files); + if (!has_svelte(pkg.dependencies) && !has_svelte(pkg.peerDependencies)) { + console.warn('Svelte libraries should include "svelte" in either "dependencies" or "peerDependencies".'); + } + if (!pkg.svelte && files.some((file) => file.is_svelte)) { // Several heuristics in Kit/vite-plugin-svelte to tell Vite to mark Svelte packages // rely on the "svelte" property. Vite/Rollup/Webpack plugin can all deal with it. @@ -82,6 +86,19 @@ export async function build(config, cwd = process.cwd()) { console.log(colors.bold().cyan(' npm publish\n')); } +/** @param {object} field */ +function has_svelte(field) { + if (!field) { + return false; + } + for (const key of Object.keys(field)) { + if (key === 'svelte') { + return true; + } + } + return false; +} + /** * @param {import('./types').ValidatedConfig} config */ From 928b9c7b5195a2dd508163172d0fd010dfa26e51 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Wed, 16 Nov 2022 10:53:20 -0800 Subject: [PATCH 2/3] simplify --- packages/package/src/index.js | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/packages/package/src/index.js b/packages/package/src/index.js index 6c532c371700..65c4bdfeee1a 100644 --- a/packages/package/src/index.js +++ b/packages/package/src/index.js @@ -32,7 +32,7 @@ export async function build(config, cwd = process.cwd()) { const pkg = generate_pkg(cwd, files); - if (!has_svelte(pkg.dependencies) && !has_svelte(pkg.peerDependencies)) { + if (!pkg.dependencies?.svelte && !pkg.peerDependencies?.svelte) { console.warn('Svelte libraries should include "svelte" in either "dependencies" or "peerDependencies".'); } @@ -86,19 +86,6 @@ export async function build(config, cwd = process.cwd()) { console.log(colors.bold().cyan(' npm publish\n')); } -/** @param {object} field */ -function has_svelte(field) { - if (!field) { - return false; - } - for (const key of Object.keys(field)) { - if (key === 'svelte') { - return true; - } - } - return false; -} - /** * @param {import('./types').ValidatedConfig} config */ From 54f96fc8c501f51c2108c8f3051ea4c1bb1f35e4 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Wed, 16 Nov 2022 10:53:32 -0800 Subject: [PATCH 3/3] format --- packages/package/src/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/package/src/index.js b/packages/package/src/index.js index 65c4bdfeee1a..e7af57df8140 100644 --- a/packages/package/src/index.js +++ b/packages/package/src/index.js @@ -33,7 +33,9 @@ export async function build(config, cwd = process.cwd()) { const pkg = generate_pkg(cwd, files); if (!pkg.dependencies?.svelte && !pkg.peerDependencies?.svelte) { - console.warn('Svelte libraries should include "svelte" in either "dependencies" or "peerDependencies".'); + console.warn( + 'Svelte libraries should include "svelte" in either "dependencies" or "peerDependencies".' + ); } if (!pkg.svelte && files.some((file) => file.is_svelte)) {