From 7077835b123efaae7b0729d5dd58703a0246f22f Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 19:52:04 +0200 Subject: [PATCH 01/14] adding vite-plugin-devtools-json --- .../60-vite-plugin-devtools-json .md | 15 +++++++ packages/addons/_config/official.ts | 4 +- .../addons/vite-plugin-devtools-json/index.ts | 41 +++++++++++++++++++ packages/cli/commands/add/workspace.ts | 1 + packages/core/addon/workspace.ts | 1 + 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md create mode 100644 packages/addons/vite-plugin-devtools-json/index.ts diff --git a/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md b/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md new file mode 100644 index 00000000..be8567f4 --- /dev/null +++ b/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md @@ -0,0 +1,15 @@ +--- +title: vite-plugin-devtools-json +--- + +[vite-plugin-devtools-json](https://github.com/ChromeDevTools/vite-plugin-devtools-json/) is a Vite plugin for generating the Chrome DevTools project settings file on-the-fly in the devserver. + +## Usage + +```bash +npx sv add vite-plugin-devtools-json +``` + +## What you get + +- the plugin added to your vite plugin options. diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index 3ef21878..8cf196e6 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -10,6 +10,7 @@ import playwright from '../playwright/index.ts'; import prettier from '../prettier/index.ts'; import storybook from '../storybook/index.ts'; import tailwindcss from '../tailwindcss/index.ts'; +import vitePluginDevtoolsJson from '../vite-plugin-devtools-json/index.ts'; import vitest from '../vitest-addon/index.ts'; // The order of addons here determines the order they are displayed inside the CLI @@ -25,7 +26,8 @@ export const officialAddons = [ lucia, mdsvex, paraglide, - storybook + storybook, + vitePluginDevtoolsJson ] as AddonWithoutExplicitArgs[]; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/vite-plugin-devtools-json/index.ts new file mode 100644 index 00000000..53cd8c11 --- /dev/null +++ b/packages/addons/vite-plugin-devtools-json/index.ts @@ -0,0 +1,41 @@ +import { defineAddon } from '@sveltejs/cli-core'; +import { array, functions, imports, object, exports } from '@sveltejs/cli-core/js'; +import { parseScript } from '@sveltejs/cli-core/parsers'; + +export default defineAddon({ + id: 'vite-plugin-devtools-json', + alias: 'devtools-json', + shortDescription: 'Generate DevTools project settings in the devserver', + homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json', + options: {}, + + setup: ({ vite, unsupported }) => { + if (!vite) unsupported('Requires vite'); + }, + + run: ({ sv, typescript, kit }) => { + const ext = typescript ? 'ts' : 'js'; + if (!kit) throw new Error('SvelteKit is required'); + + sv.dependency('vite-plugin-devtools-json', '^0.1.1'); + + // add the vite plugin + sv.file(`vite.config.${ext}`, (content) => { + const { ast, generateCode } = parseScript(content); + + const vitePluginName = 'devtoolsJson'; + imports.addDefault(ast, 'vite-plugin-devtools-json', vitePluginName); + + const { value: rootObject } = exports.defaultExport(ast, functions.call('defineConfig', [])); + const param1 = functions.argumentByIndex(rootObject, 0, object.createEmpty()); + + const pluginsArray = object.property(param1, 'plugins', array.createEmpty()); + const pluginFunctionCall = functions.call(vitePluginName, []); + // const pluginConfig = object.create({}); + // functions.argumentByIndex(pluginFunctionCall, 0, pluginConfig); + array.push(pluginsArray, pluginFunctionCall); + + return generateCode(); + }); + } +}); diff --git a/packages/cli/commands/add/workspace.ts b/packages/cli/commands/add/workspace.ts index ac118853..f5bca984 100644 --- a/packages/cli/commands/add/workspace.ts +++ b/packages/cli/commands/add/workspace.ts @@ -56,6 +56,7 @@ export async function createWorkspace({ packageManager: packageManager ?? (await detect({ cwd }))?.name ?? getUserAgent() ?? 'npm', typescript: usesTypescript, kit: dependencies['@sveltejs/kit'] ? parseKitOptions(resolvedCwd) : undefined, + vite: dependencies['vite'] ? true : false, dependencyVersion: (pkg) => dependencies[pkg] }; } diff --git a/packages/core/addon/workspace.ts b/packages/core/addon/workspace.ts index a6525d44..75ba887b 100644 --- a/packages/core/addon/workspace.ts +++ b/packages/core/addon/workspace.ts @@ -14,6 +14,7 @@ export type Workspace = { dependencyVersion: (pkg: string) => string | undefined; typescript: boolean; kit: { libDirectory: string; routesDirectory: string } | undefined; + vite: boolean; packageManager: PackageManager; }; From de0b781d035e1a04dd333e9c5a220eab5721345e Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 22:01:59 +0200 Subject: [PATCH 02/14] fix a typo --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c4714b86..68f2687f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -70,7 +70,7 @@ Run package specific tests by specifying a project flag to the package and runni pnpm test --project core # addons / create / migrate / etc. ``` -To run a individual test. `cd` into the package. Run the local `test` script to that package, with a path arg to the individual peice you want tested. Eg: +To run a individual test. `cd` into the package. Run the local `test` script to that package, with a path arg to the individual piece you want tested. Eg: ```bash pnpm test [path-to-test] ``` From b2667793d52a00b82ede2514001cd8c352b7cd61 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 22:02:28 +0200 Subject: [PATCH 03/14] adding a tests --- .changeset/twelve-shirts-tell.md | 5 ++++ .../_tests/vite-plugin-devtools-json/test.ts | 27 +++++++++++++++++++ .../addons/vite-plugin-devtools-json/index.ts | 4 +-- 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 .changeset/twelve-shirts-tell.md create mode 100644 packages/addons/_tests/vite-plugin-devtools-json/test.ts diff --git a/.changeset/twelve-shirts-tell.md b/.changeset/twelve-shirts-tell.md new file mode 100644 index 00000000..b1459397 --- /dev/null +++ b/.changeset/twelve-shirts-tell.md @@ -0,0 +1,5 @@ +--- +'sv': patch +--- + +add vite-plugin-devtools-json addon diff --git a/packages/addons/_tests/vite-plugin-devtools-json/test.ts b/packages/addons/_tests/vite-plugin-devtools-json/test.ts new file mode 100644 index 00000000..2300d513 --- /dev/null +++ b/packages/addons/_tests/vite-plugin-devtools-json/test.ts @@ -0,0 +1,27 @@ +import { expect } from '@playwright/test'; +import { setupTest } from '../_setup/suite.ts'; +import devtoolsJson from '../../vite-plugin-devtools-json/index.ts'; +import fs from 'node:fs'; +import path from 'node:path'; + +const { test, variants, prepareServer } = setupTest({ devtoolsJson }); + +const viteOnly = variants.filter((v) => v.includes('vite')); +test.concurrent.for(viteOnly)('core - %s', async (variant, { page, ...ctx }) => { + const cwd = await ctx.run(variant, { devtoolsJson: {} }); + + const { close } = await prepareServer({ cwd, page }); + // kill server process when we're done + ctx.onTestFinished(async () => await close()); + + const ext = variant.includes('ts') ? 'ts' : 'js'; + const viteFile = path.resolve(cwd, `vite.config.${ext}`); + const viteContent = fs.readFileSync(viteFile, 'utf8'); + + // Check if we have the import part + expect(viteContent).toContain(`import devtoolsJson from`); + expect(viteContent).toContain(`vite-plugin-devtools-json`); + + // Check if it's called + expect(viteContent).toContain(`devtoolsJson()`); +}); diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/vite-plugin-devtools-json/index.ts index 53cd8c11..9b1988d5 100644 --- a/packages/addons/vite-plugin-devtools-json/index.ts +++ b/packages/addons/vite-plugin-devtools-json/index.ts @@ -13,9 +13,9 @@ export default defineAddon({ if (!vite) unsupported('Requires vite'); }, - run: ({ sv, typescript, kit }) => { + run: ({ vite, sv, typescript }) => { const ext = typescript ? 'ts' : 'js'; - if (!kit) throw new Error('SvelteKit is required'); + if (!vite) throw new Error('vite is required'); sv.dependency('vite-plugin-devtools-json', '^0.1.1'); From add2cf969090f6651994aa72004b55e0261fb6e4 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 22:23:45 +0200 Subject: [PATCH 04/14] back to kit --- packages/addons/_tests/vite-plugin-devtools-json/test.ts | 4 ++-- packages/addons/vite-plugin-devtools-json/index.ts | 8 ++++---- packages/cli/commands/add/workspace.ts | 1 - packages/core/addon/workspace.ts | 1 - 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/packages/addons/_tests/vite-plugin-devtools-json/test.ts b/packages/addons/_tests/vite-plugin-devtools-json/test.ts index 2300d513..b751cd93 100644 --- a/packages/addons/_tests/vite-plugin-devtools-json/test.ts +++ b/packages/addons/_tests/vite-plugin-devtools-json/test.ts @@ -6,8 +6,8 @@ import path from 'node:path'; const { test, variants, prepareServer } = setupTest({ devtoolsJson }); -const viteOnly = variants.filter((v) => v.includes('vite')); -test.concurrent.for(viteOnly)('core - %s', async (variant, { page, ...ctx }) => { +const kitOnly = variants.filter((v) => v.startsWith('kit')); +test.concurrent.for(kitOnly)('core - %s', async (variant, { page, ...ctx }) => { const cwd = await ctx.run(variant, { devtoolsJson: {} }); const { close } = await prepareServer({ cwd, page }); diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/vite-plugin-devtools-json/index.ts index 9b1988d5..82cf7933 100644 --- a/packages/addons/vite-plugin-devtools-json/index.ts +++ b/packages/addons/vite-plugin-devtools-json/index.ts @@ -9,13 +9,13 @@ export default defineAddon({ homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json', options: {}, - setup: ({ vite, unsupported }) => { - if (!vite) unsupported('Requires vite'); + setup: ({ kit, unsupported }) => { + if (!kit) unsupported('Requires SvelteKit'); }, - run: ({ vite, sv, typescript }) => { + run: ({ kit, sv, typescript }) => { const ext = typescript ? 'ts' : 'js'; - if (!vite) throw new Error('vite is required'); + if (!kit) throw new Error('SvelteKit is required'); sv.dependency('vite-plugin-devtools-json', '^0.1.1'); diff --git a/packages/cli/commands/add/workspace.ts b/packages/cli/commands/add/workspace.ts index f5bca984..ac118853 100644 --- a/packages/cli/commands/add/workspace.ts +++ b/packages/cli/commands/add/workspace.ts @@ -56,7 +56,6 @@ export async function createWorkspace({ packageManager: packageManager ?? (await detect({ cwd }))?.name ?? getUserAgent() ?? 'npm', typescript: usesTypescript, kit: dependencies['@sveltejs/kit'] ? parseKitOptions(resolvedCwd) : undefined, - vite: dependencies['vite'] ? true : false, dependencyVersion: (pkg) => dependencies[pkg] }; } diff --git a/packages/core/addon/workspace.ts b/packages/core/addon/workspace.ts index 75ba887b..a6525d44 100644 --- a/packages/core/addon/workspace.ts +++ b/packages/core/addon/workspace.ts @@ -14,7 +14,6 @@ export type Workspace = { dependencyVersion: (pkg: string) => string | undefined; typescript: boolean; kit: { libDirectory: string; routesDirectory: string } | undefined; - vite: boolean; packageManager: PackageManager; }; From 0aec23c40358f0379592cec8cb44ebe581539b39 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 22:47:04 +0200 Subject: [PATCH 05/14] check if my tests are affecting the thing ? --- packages/addons/_config/official.ts | 6 ++--- .../_tests/vite-plugin-devtools-json/test.ts | 27 ------------------- 2 files changed, 3 insertions(+), 30 deletions(-) delete mode 100644 packages/addons/_tests/vite-plugin-devtools-json/test.ts diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index 8cf196e6..f823fa21 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -10,7 +10,7 @@ import playwright from '../playwright/index.ts'; import prettier from '../prettier/index.ts'; import storybook from '../storybook/index.ts'; import tailwindcss from '../tailwindcss/index.ts'; -import vitePluginDevtoolsJson from '../vite-plugin-devtools-json/index.ts'; +// import vitePluginDevtoolsJson from '../vite-plugin-devtools-json/index.ts'; import vitest from '../vitest-addon/index.ts'; // The order of addons here determines the order they are displayed inside the CLI @@ -26,8 +26,8 @@ export const officialAddons = [ lucia, mdsvex, paraglide, - storybook, - vitePluginDevtoolsJson + storybook + // vitePluginDevtoolsJson ] as AddonWithoutExplicitArgs[]; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { diff --git a/packages/addons/_tests/vite-plugin-devtools-json/test.ts b/packages/addons/_tests/vite-plugin-devtools-json/test.ts deleted file mode 100644 index b751cd93..00000000 --- a/packages/addons/_tests/vite-plugin-devtools-json/test.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { expect } from '@playwright/test'; -import { setupTest } from '../_setup/suite.ts'; -import devtoolsJson from '../../vite-plugin-devtools-json/index.ts'; -import fs from 'node:fs'; -import path from 'node:path'; - -const { test, variants, prepareServer } = setupTest({ devtoolsJson }); - -const kitOnly = variants.filter((v) => v.startsWith('kit')); -test.concurrent.for(kitOnly)('core - %s', async (variant, { page, ...ctx }) => { - const cwd = await ctx.run(variant, { devtoolsJson: {} }); - - const { close } = await prepareServer({ cwd, page }); - // kill server process when we're done - ctx.onTestFinished(async () => await close()); - - const ext = variant.includes('ts') ? 'ts' : 'js'; - const viteFile = path.resolve(cwd, `vite.config.${ext}`); - const viteContent = fs.readFileSync(viteFile, 'utf8'); - - // Check if we have the import part - expect(viteContent).toContain(`import devtoolsJson from`); - expect(viteContent).toContain(`vite-plugin-devtools-json`); - - // Check if it's called - expect(viteContent).toContain(`devtoolsJson()`); -}); From efdfe78df125f1349fdbac7234f45cf2155eff81 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 22:53:58 +0200 Subject: [PATCH 06/14] Revert "check if my tests are affecting the thing ?" This reverts commit 0aec23c40358f0379592cec8cb44ebe581539b39. --- packages/addons/_config/official.ts | 6 ++--- .../_tests/vite-plugin-devtools-json/test.ts | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 packages/addons/_tests/vite-plugin-devtools-json/test.ts diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index f823fa21..8cf196e6 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -10,7 +10,7 @@ import playwright from '../playwright/index.ts'; import prettier from '../prettier/index.ts'; import storybook from '../storybook/index.ts'; import tailwindcss from '../tailwindcss/index.ts'; -// import vitePluginDevtoolsJson from '../vite-plugin-devtools-json/index.ts'; +import vitePluginDevtoolsJson from '../vite-plugin-devtools-json/index.ts'; import vitest from '../vitest-addon/index.ts'; // The order of addons here determines the order they are displayed inside the CLI @@ -26,8 +26,8 @@ export const officialAddons = [ lucia, mdsvex, paraglide, - storybook - // vitePluginDevtoolsJson + storybook, + vitePluginDevtoolsJson ] as AddonWithoutExplicitArgs[]; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { diff --git a/packages/addons/_tests/vite-plugin-devtools-json/test.ts b/packages/addons/_tests/vite-plugin-devtools-json/test.ts new file mode 100644 index 00000000..b751cd93 --- /dev/null +++ b/packages/addons/_tests/vite-plugin-devtools-json/test.ts @@ -0,0 +1,27 @@ +import { expect } from '@playwright/test'; +import { setupTest } from '../_setup/suite.ts'; +import devtoolsJson from '../../vite-plugin-devtools-json/index.ts'; +import fs from 'node:fs'; +import path from 'node:path'; + +const { test, variants, prepareServer } = setupTest({ devtoolsJson }); + +const kitOnly = variants.filter((v) => v.startsWith('kit')); +test.concurrent.for(kitOnly)('core - %s', async (variant, { page, ...ctx }) => { + const cwd = await ctx.run(variant, { devtoolsJson: {} }); + + const { close } = await prepareServer({ cwd, page }); + // kill server process when we're done + ctx.onTestFinished(async () => await close()); + + const ext = variant.includes('ts') ? 'ts' : 'js'; + const viteFile = path.resolve(cwd, `vite.config.${ext}`); + const viteContent = fs.readFileSync(viteFile, 'utf8'); + + // Check if we have the import part + expect(viteContent).toContain(`import devtoolsJson from`); + expect(viteContent).toContain(`vite-plugin-devtools-json`); + + // Check if it's called + expect(viteContent).toContain(`devtoolsJson()`); +}); From da6972d7e5a740e809632dd7c5f70b9ad8f70fab Mon Sep 17 00:00:00 2001 From: jycouet Date: Sat, 7 Jun 2025 23:01:25 +0200 Subject: [PATCH 07/14] also supporting vite project --- packages/addons/_tests/vite-plugin-devtools-json/test.ts | 3 +-- packages/addons/vite-plugin-devtools-json/index.ts | 9 +-------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/addons/_tests/vite-plugin-devtools-json/test.ts b/packages/addons/_tests/vite-plugin-devtools-json/test.ts index b751cd93..0b126e0b 100644 --- a/packages/addons/_tests/vite-plugin-devtools-json/test.ts +++ b/packages/addons/_tests/vite-plugin-devtools-json/test.ts @@ -6,8 +6,7 @@ import path from 'node:path'; const { test, variants, prepareServer } = setupTest({ devtoolsJson }); -const kitOnly = variants.filter((v) => v.startsWith('kit')); -test.concurrent.for(kitOnly)('core - %s', async (variant, { page, ...ctx }) => { +test.concurrent.for(variants)('core - %s', async (variant, { page, ...ctx }) => { const cwd = await ctx.run(variant, { devtoolsJson: {} }); const { close } = await prepareServer({ cwd, page }); diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/vite-plugin-devtools-json/index.ts index 82cf7933..d0687c98 100644 --- a/packages/addons/vite-plugin-devtools-json/index.ts +++ b/packages/addons/vite-plugin-devtools-json/index.ts @@ -9,13 +9,8 @@ export default defineAddon({ homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json', options: {}, - setup: ({ kit, unsupported }) => { - if (!kit) unsupported('Requires SvelteKit'); - }, - - run: ({ kit, sv, typescript }) => { + run: ({ sv, typescript }) => { const ext = typescript ? 'ts' : 'js'; - if (!kit) throw new Error('SvelteKit is required'); sv.dependency('vite-plugin-devtools-json', '^0.1.1'); @@ -31,8 +26,6 @@ export default defineAddon({ const pluginsArray = object.property(param1, 'plugins', array.createEmpty()); const pluginFunctionCall = functions.call(vitePluginName, []); - // const pluginConfig = object.create({}); - // functions.argumentByIndex(pluginFunctionCall, 0, pluginConfig); array.push(pluginsArray, pluginFunctionCall); return generateCode(); From 7c204970224b28fab50162fa515208befff606dd Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Sun, 8 Jun 2025 11:29:54 +0200 Subject: [PATCH 08/14] Update .changeset/twelve-shirts-tell.md Co-authored-by: Manuel <30698007+manuel3108@users.noreply.github.com> --- .changeset/twelve-shirts-tell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/twelve-shirts-tell.md b/.changeset/twelve-shirts-tell.md index b1459397..2af895f2 100644 --- a/.changeset/twelve-shirts-tell.md +++ b/.changeset/twelve-shirts-tell.md @@ -2,4 +2,4 @@ 'sv': patch --- -add vite-plugin-devtools-json addon +feat: add `vite-plugin-devtools-json` addon From aff352e528b2d58c5862a883123aa471d8ecc49f Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Sun, 8 Jun 2025 11:30:55 +0200 Subject: [PATCH 09/14] Update documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md Co-authored-by: Manuel <30698007+manuel3108@users.noreply.github.com> --- documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md b/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md index be8567f4..e9e4c4c0 100644 --- a/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md +++ b/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md @@ -12,4 +12,4 @@ npx sv add vite-plugin-devtools-json ## What you get -- the plugin added to your vite plugin options. +- the `vite` plugin added to your vite plugin options. From 4d326f409b495fda6f2ae7b1a5d85cbbef582992 Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Sun, 8 Jun 2025 11:31:21 +0200 Subject: [PATCH 10/14] Update packages/addons/vite-plugin-devtools-json/index.ts Co-authored-by: Manuel <30698007+manuel3108@users.noreply.github.com> --- packages/addons/vite-plugin-devtools-json/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/vite-plugin-devtools-json/index.ts index d0687c98..1d9d9437 100644 --- a/packages/addons/vite-plugin-devtools-json/index.ts +++ b/packages/addons/vite-plugin-devtools-json/index.ts @@ -5,7 +5,7 @@ import { parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ id: 'vite-plugin-devtools-json', alias: 'devtools-json', - shortDescription: 'Generate DevTools project settings in the devserver', + shortDescription: 'chormium devtools', homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json', options: {}, From ee436c990bea075dee49a150de9447002676ab44 Mon Sep 17 00:00:00 2001 From: "jyc.dev" Date: Sun, 8 Jun 2025 11:31:31 +0200 Subject: [PATCH 11/14] Update packages/addons/vite-plugin-devtools-json/index.ts Co-authored-by: Manuel <30698007+manuel3108@users.noreply.github.com> --- packages/addons/vite-plugin-devtools-json/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/vite-plugin-devtools-json/index.ts index 1d9d9437..a564bbcb 100644 --- a/packages/addons/vite-plugin-devtools-json/index.ts +++ b/packages/addons/vite-plugin-devtools-json/index.ts @@ -12,7 +12,7 @@ export default defineAddon({ run: ({ sv, typescript }) => { const ext = typescript ? 'ts' : 'js'; - sv.dependency('vite-plugin-devtools-json', '^0.1.1'); + sv.devDependency('vite-plugin-devtools-json', '^0.1.1'); // add the vite plugin sv.file(`vite.config.${ext}`, (content) => { From 24ce9b4b9ead73df8e4085df4d31282bf4bc8e48 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sun, 8 Jun 2025 11:58:06 +0200 Subject: [PATCH 12/14] update namings --- .changeset/twelve-shirts-tell.md | 2 +- documentation/docs/20-commands/20-sv-add.md | 1 + .../docs/30-add-ons/60-chromium-devtools.md | 15 +++++++++++++++ .../30-add-ons/60-vite-plugin-devtools-json .md | 15 --------------- packages/addons/_config/official.ts | 4 ++-- .../test.ts | 2 +- .../index.ts | 5 ++--- 7 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 documentation/docs/30-add-ons/60-chromium-devtools.md delete mode 100644 documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md rename packages/addons/_tests/{vite-plugin-devtools-json => chromium-devtools}/test.ts (92%) rename packages/addons/{vite-plugin-devtools-json => chromium-devtools}/index.ts (91%) diff --git a/.changeset/twelve-shirts-tell.md b/.changeset/twelve-shirts-tell.md index 2af895f2..39e28abc 100644 --- a/.changeset/twelve-shirts-tell.md +++ b/.changeset/twelve-shirts-tell.md @@ -2,4 +2,4 @@ 'sv': patch --- -feat: add `vite-plugin-devtools-json` addon +feat: add `chromium-devtools` addon (using `vite-plugin-devtools-json`) diff --git a/documentation/docs/20-commands/20-sv-add.md b/documentation/docs/20-commands/20-sv-add.md index d627a937..cc81ec09 100644 --- a/documentation/docs/20-commands/20-sv-add.md +++ b/documentation/docs/20-commands/20-sv-add.md @@ -38,3 +38,4 @@ You can select multiple space-separated add-ons from [the list below](#Official- - [`sveltekit-adapter`](sveltekit-adapter) - [`tailwindcss`](tailwind) - [`vitest`](vitest) +- [`chromium-devtools`](chromium-devtools) diff --git a/documentation/docs/30-add-ons/60-chromium-devtools.md b/documentation/docs/30-add-ons/60-chromium-devtools.md new file mode 100644 index 00000000..545c7b59 --- /dev/null +++ b/documentation/docs/30-add-ons/60-chromium-devtools.md @@ -0,0 +1,15 @@ +--- +title: chromium-devtools +--- + +`chromium-devtools` is essentially a vite plugin [vite-plugin-devtools-json](https://github.com/ChromeDevTools/vite-plugin-devtools-json/) for generating the Chrome DevTools project settings file on-the-fly in the devserver. + +## Usage + +```bash +npx sv add chromium-devtools +``` + +## What you get + +- the `vite` plugin added to your vite plugin options. diff --git a/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md b/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md deleted file mode 100644 index e9e4c4c0..00000000 --- a/documentation/docs/30-add-ons/60-vite-plugin-devtools-json .md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: vite-plugin-devtools-json ---- - -[vite-plugin-devtools-json](https://github.com/ChromeDevTools/vite-plugin-devtools-json/) is a Vite plugin for generating the Chrome DevTools project settings file on-the-fly in the devserver. - -## Usage - -```bash -npx sv add vite-plugin-devtools-json -``` - -## What you get - -- the `vite` plugin added to your vite plugin options. diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index 8cf196e6..55e0c76c 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -10,7 +10,7 @@ import playwright from '../playwright/index.ts'; import prettier from '../prettier/index.ts'; import storybook from '../storybook/index.ts'; import tailwindcss from '../tailwindcss/index.ts'; -import vitePluginDevtoolsJson from '../vite-plugin-devtools-json/index.ts'; +import chromiumDevtools from '../chromium-devtools/index.ts'; import vitest from '../vitest-addon/index.ts'; // The order of addons here determines the order they are displayed inside the CLI @@ -27,7 +27,7 @@ export const officialAddons = [ mdsvex, paraglide, storybook, - vitePluginDevtoolsJson + chromiumDevtools ] as AddonWithoutExplicitArgs[]; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { diff --git a/packages/addons/_tests/vite-plugin-devtools-json/test.ts b/packages/addons/_tests/chromium-devtools/test.ts similarity index 92% rename from packages/addons/_tests/vite-plugin-devtools-json/test.ts rename to packages/addons/_tests/chromium-devtools/test.ts index 0b126e0b..b765f6db 100644 --- a/packages/addons/_tests/vite-plugin-devtools-json/test.ts +++ b/packages/addons/_tests/chromium-devtools/test.ts @@ -1,6 +1,6 @@ import { expect } from '@playwright/test'; import { setupTest } from '../_setup/suite.ts'; -import devtoolsJson from '../../vite-plugin-devtools-json/index.ts'; +import devtoolsJson from '../../chromium-devtools/index.ts'; import fs from 'node:fs'; import path from 'node:path'; diff --git a/packages/addons/vite-plugin-devtools-json/index.ts b/packages/addons/chromium-devtools/index.ts similarity index 91% rename from packages/addons/vite-plugin-devtools-json/index.ts rename to packages/addons/chromium-devtools/index.ts index a564bbcb..b76e379d 100644 --- a/packages/addons/vite-plugin-devtools-json/index.ts +++ b/packages/addons/chromium-devtools/index.ts @@ -3,9 +3,8 @@ import { array, functions, imports, object, exports } from '@sveltejs/cli-core/j import { parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ - id: 'vite-plugin-devtools-json', - alias: 'devtools-json', - shortDescription: 'chormium devtools', + id: 'chromium-devtools', + shortDescription: 'chromium devtools', homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json', options: {}, From dec2adb01cd37e25070a93223db931e4247e4760 Mon Sep 17 00:00:00 2001 From: jycouet Date: Sun, 8 Jun 2025 13:44:51 +0200 Subject: [PATCH 13/14] chromium-devtools -> devtools-json (while waiting for better thing) --- .changeset/twelve-shirts-tell.md | 2 +- documentation/docs/20-commands/20-sv-add.md | 2 +- .../docs/30-add-ons/60-chromium-devtools.md | 15 --------------- documentation/docs/30-add-ons/60-devtools-json.md | 15 +++++++++++++++ packages/addons/_config/official.ts | 6 +++--- .../{chromium-devtools => devtools-json}/test.ts | 2 +- .../{chromium-devtools => devtools-json}/index.ts | 4 ++-- 7 files changed, 23 insertions(+), 23 deletions(-) delete mode 100644 documentation/docs/30-add-ons/60-chromium-devtools.md create mode 100644 documentation/docs/30-add-ons/60-devtools-json.md rename packages/addons/_tests/{chromium-devtools => devtools-json}/test.ts (93%) rename packages/addons/{chromium-devtools => devtools-json}/index.ts (94%) diff --git a/.changeset/twelve-shirts-tell.md b/.changeset/twelve-shirts-tell.md index 39e28abc..02cf964c 100644 --- a/.changeset/twelve-shirts-tell.md +++ b/.changeset/twelve-shirts-tell.md @@ -2,4 +2,4 @@ 'sv': patch --- -feat: add `chromium-devtools` addon (using `vite-plugin-devtools-json`) +feat: add `devtools-json` addon (using `vite-plugin-devtools-json`) diff --git a/documentation/docs/20-commands/20-sv-add.md b/documentation/docs/20-commands/20-sv-add.md index cc81ec09..07f9f314 100644 --- a/documentation/docs/20-commands/20-sv-add.md +++ b/documentation/docs/20-commands/20-sv-add.md @@ -38,4 +38,4 @@ You can select multiple space-separated add-ons from [the list below](#Official- - [`sveltekit-adapter`](sveltekit-adapter) - [`tailwindcss`](tailwind) - [`vitest`](vitest) -- [`chromium-devtools`](chromium-devtools) +- [`devtools-json`](devtools-json) diff --git a/documentation/docs/30-add-ons/60-chromium-devtools.md b/documentation/docs/30-add-ons/60-chromium-devtools.md deleted file mode 100644 index 545c7b59..00000000 --- a/documentation/docs/30-add-ons/60-chromium-devtools.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: chromium-devtools ---- - -`chromium-devtools` is essentially a vite plugin [vite-plugin-devtools-json](https://github.com/ChromeDevTools/vite-plugin-devtools-json/) for generating the Chrome DevTools project settings file on-the-fly in the devserver. - -## Usage - -```bash -npx sv add chromium-devtools -``` - -## What you get - -- the `vite` plugin added to your vite plugin options. diff --git a/documentation/docs/30-add-ons/60-devtools-json.md b/documentation/docs/30-add-ons/60-devtools-json.md new file mode 100644 index 00000000..2235c8f8 --- /dev/null +++ b/documentation/docs/30-add-ons/60-devtools-json.md @@ -0,0 +1,15 @@ +--- +title: devtools-json +--- + +`devtools-json` is essentially a vite plugin [vite-plugin-devtools-json](https://github.com/ChromeDevTools/vite-plugin-devtools-json/) for generating the Chrome DevTools project settings file on-the-fly in the devserver. + +## Usage + +```bash +npx sv add devtools-json +``` + +## What you get + +- the `vite` plugin added to your vite plugin options. diff --git a/packages/addons/_config/official.ts b/packages/addons/_config/official.ts index 55e0c76c..c143e06c 100644 --- a/packages/addons/_config/official.ts +++ b/packages/addons/_config/official.ts @@ -1,16 +1,16 @@ import type { AddonWithoutExplicitArgs } from '@sveltejs/cli-core'; +import devtoolsJson from '../devtools-json/index.ts'; import drizzle from '../drizzle/index.ts'; import eslint from '../eslint/index.ts'; -import sveltekitAdapter from '../sveltekit-adapter/index.ts'; import lucia from '../lucia/index.ts'; import mdsvex from '../mdsvex/index.ts'; import paraglide from '../paraglide/index.ts'; import playwright from '../playwright/index.ts'; import prettier from '../prettier/index.ts'; import storybook from '../storybook/index.ts'; +import sveltekitAdapter from '../sveltekit-adapter/index.ts'; import tailwindcss from '../tailwindcss/index.ts'; -import chromiumDevtools from '../chromium-devtools/index.ts'; import vitest from '../vitest-addon/index.ts'; // The order of addons here determines the order they are displayed inside the CLI @@ -27,7 +27,7 @@ export const officialAddons = [ mdsvex, paraglide, storybook, - chromiumDevtools + devtoolsJson ] as AddonWithoutExplicitArgs[]; export function getAddonDetails(id: string): AddonWithoutExplicitArgs { diff --git a/packages/addons/_tests/chromium-devtools/test.ts b/packages/addons/_tests/devtools-json/test.ts similarity index 93% rename from packages/addons/_tests/chromium-devtools/test.ts rename to packages/addons/_tests/devtools-json/test.ts index b765f6db..e1d19bdc 100644 --- a/packages/addons/_tests/chromium-devtools/test.ts +++ b/packages/addons/_tests/devtools-json/test.ts @@ -1,6 +1,6 @@ import { expect } from '@playwright/test'; import { setupTest } from '../_setup/suite.ts'; -import devtoolsJson from '../../chromium-devtools/index.ts'; +import devtoolsJson from '../../devtools-json/index.ts'; import fs from 'node:fs'; import path from 'node:path'; diff --git a/packages/addons/chromium-devtools/index.ts b/packages/addons/devtools-json/index.ts similarity index 94% rename from packages/addons/chromium-devtools/index.ts rename to packages/addons/devtools-json/index.ts index b76e379d..7e3355ba 100644 --- a/packages/addons/chromium-devtools/index.ts +++ b/packages/addons/devtools-json/index.ts @@ -3,8 +3,8 @@ import { array, functions, imports, object, exports } from '@sveltejs/cli-core/j import { parseScript } from '@sveltejs/cli-core/parsers'; export default defineAddon({ - id: 'chromium-devtools', - shortDescription: 'chromium devtools', + id: 'devtools-json', + shortDescription: 'devtools json', homepage: 'https://github.com/ChromeDevTools/vite-plugin-devtools-json', options: {}, From c37157263b34a4d7e76e32c17b1b5afd53ba3e5d Mon Sep 17 00:00:00 2001 From: jycouet Date: Sun, 8 Jun 2025 13:48:40 +0200 Subject: [PATCH 14/14] Update the description of the plugin to help doc search --- documentation/docs/30-add-ons/60-devtools-json.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/documentation/docs/30-add-ons/60-devtools-json.md b/documentation/docs/30-add-ons/60-devtools-json.md index 2235c8f8..6fabf641 100644 --- a/documentation/docs/30-add-ons/60-devtools-json.md +++ b/documentation/docs/30-add-ons/60-devtools-json.md @@ -4,6 +4,12 @@ title: devtools-json `devtools-json` is essentially a vite plugin [vite-plugin-devtools-json](https://github.com/ChromeDevTools/vite-plugin-devtools-json/) for generating the Chrome DevTools project settings file on-the-fly in the devserver. +It will prevent this server log: + +```sh +Not found: /.well-known/appspecific/com.chrome.devtools.json +``` + ## Usage ```bash