Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/nasty-towns-crash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'sv': patch
---

fix(tailwindcss): add `@tailwindcss/oxide` to approve-builds in `pnpm`
5 changes: 5 additions & 0 deletions .changeset/solid-dragons-trade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'sv': patch
---

feat(cli): pnpm config will now be stored in `pnpm-workspace.yaml` (e.g. `onlyBuiltDependencies`)
2 changes: 1 addition & 1 deletion community-addon-template/tests/setup/suite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ export function setupTest<Addons extends AddonMap>(addons: Addons) {
options,
packageManager: 'pnpm'
});
addPnpmBuildDependencies(cwd, 'pnpm', ['esbuild', ...pnpmBuildDependencies]);
await addPnpmBuildDependencies(cwd, 'pnpm', ['esbuild', ...pnpmBuildDependencies]);

return cwd;
};
Expand Down
7 changes: 1 addition & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,5 @@
"unplugin-isolated-decl": "^0.8.3",
"vitest": "4.0.0-beta.6"
},
"packageManager": "[email protected]",
"pnpm": {
"onlyBuiltDependencies": [
"esbuild"
]
}
"packageManager": "[email protected]"
}
2 changes: 1 addition & 1 deletion packages/addons/_tests/_setup/suite.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
options,
packageManager: 'pnpm'
});
addPnpmBuildDependencies(cwd, 'pnpm', ['esbuild', ...pnpmBuildDependencies]);
await addPnpmBuildDependencies(cwd, 'pnpm', ['esbuild', ...pnpmBuildDependencies]);

return cwd;
};
Expand Down Expand Up @@ -129,7 +129,7 @@
await afterInstall?.();

// build project
if (buildCommand) execSync(buildCommand, { cwd, stdio: 'pipe' });

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-ts'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_1/.svelte-kit/output/server/entries/pages/_page.server.ts.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/h

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-ts'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_1/.svelte-kit/output/server/entries/pages/_page.server.ts.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/h

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-ts'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_1/.svelte-kit/output/server/entries/pages/_page.server.ts.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/h

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-ts'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_1/.svelte-kit/output/server/entries/pages/_page.server.ts.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/h

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-js'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_0/.svelte-kit/output/server/entries/pages/_page.server.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/home

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-js'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_0/.svelte-kit/output/server/entries/pages/_page.server.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/home

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-js'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_0/.svelte-kit/output/server/entries/pages/_page.server.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/home

Check failure on line 132 in packages/addons/_tests/_setup/suite.ts

View workflow job for this annotation

GitHub Actions / test (ubuntu-latest)

_tests/drizzle/test.ts > queries database - 'better-sqlite3' - 'kit-js'

Error: Command failed: npm run build node:internal/event_target:1105 process.nextTick(() => { throw err; }); ^ Error: Could not locate the bindings file. Tried: → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Debug/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/out/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/Release/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/default/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/compiled/20.19.5/linux/x64/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node → /home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/binding/node-v115-linux-x64/better_sqlite3.node at bindings (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/bindings/bindings.js:126:9) at new Database (/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/lib/database.js:48:64) at file:///home/runner/work/cli/cli/.test-output/addons/drizzle/532097062_0/.svelte-kit/output/server/entries/pages/_page.server.js:14:16 at ModuleJob.run (node:internal/modules/esm/module_job:325:25) at async ModuleLoader.import (node:internal/modules/esm/loader:606:24) at async Promise.all (index 2) at async analyse (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/core/postbuild/analyse.js:91:16) at async MessagePort.<anonymous> (file:///home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/@sveltejs[email protected]_@[email protected][email protected][email protected]_@types_056572387423db51184c9dc2c465cad1/node_modules/@sveltejs/kit/src/utils/fork.js:23:16) Emitted 'error' event on Worker instance at: at [kOnErrorMessage] (node:internal/worker:333:10) at [kOnMessage] (node:internal/worker:344:37) at MessagePort.<anonymous> (node:internal/worker:233:57) at [nodejs.internal.kHybridDispatch] (node:internal/event_target:831:20) at MessagePort.<anonymous> (node:internal/per_context/messageport:23:28) { tries: [ '/home/runner/work/cli/cli/.test-output/addons/drizzle/node_modules/.pnpm/[email protected]/node_modules/better-sqlite3/build/better_sqlite3.node', '/home

// start preview server
const { url, close } = await startPreview({ cwd, command: previewCommand });
Expand Down
1 change: 1 addition & 0 deletions packages/addons/tailwindcss/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ export default defineAddon({

sv.devDependency('tailwindcss', '^4.0.0');
sv.devDependency('@tailwindcss/vite', '^4.0.0');
sv.pnpmBuildDependency('@tailwindcss/oxide');

if (prettierInstalled) sv.devDependency('prettier-plugin-tailwindcss', '^0.6.11');

Expand Down
2 changes: 1 addition & 1 deletion packages/cli/commands/add/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ export async function runAddCommand(
if (packageManager) {
workspace.packageManager = packageManager;

addPnpmBuildDependencies(workspace.cwd, packageManager, [
await addPnpmBuildDependencies(workspace.cwd, packageManager, [
'esbuild',
...addonPnpmBuildDependencies
]);
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/commands/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ async function createProject(cwd: ProjectPath, options: Options) {

const installDeps = async (install: true | AgentName) => {
packageManager = install === true ? await packageManagerPrompt(projectPath) : install;
addPnpmBuildDependencies(projectPath, packageManager, ['esbuild']);
await addPnpmBuildDependencies(projectPath, packageManager, ['esbuild']);
if (packageManager) await installDependencies(packageManager, projectPath);
};

Expand Down
98 changes: 65 additions & 33 deletions packages/cli/utils/package-manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import fs from 'node:fs';
import path from 'node:path';
import process from 'node:process';
import * as find from 'empathic/find';
import { exec } from 'tinyexec';
import { x } from 'tinyexec';
import { Option } from 'commander';
import * as p from '@clack/prompts';
import {
Expand All @@ -12,7 +12,8 @@ import {
detect,
type AgentName
} from 'package-manager-detector';
import { parseJson } from '@sveltejs/cli-core/parsers';
import { parseJson, parseYaml } from '@sveltejs/cli-core/parsers';
import { isVersionUnsupportedBelow } from '@sveltejs/cli-core';

export const AGENT_NAMES = AGENTS.filter((agent): agent is AgentName => !agent.includes('@'));
const agentOptions: PackageManagerOptions = AGENT_NAMES.map((pm) => ({ value: pm, label: pm }));
Expand Down Expand Up @@ -55,19 +56,16 @@ export async function installDependencies(agent: AgentName, cwd: string): Promis

try {
const { command, args } = constructCommand(COMMANDS[agent].install, [])!;
const proc = exec(command, args, {

const proc = x(command, args, {
nodeOptions: { cwd, stdio: 'pipe' },
throwOnError: true
});

proc.process?.stdout?.on('data', (data) => {
task.message(data.toString(), { raw: true });
});
proc.process?.stderr?.on('data', (data) => {
task.message(data.toString(), { raw: true });
});

await proc;
for await (const line of proc) {
// line will be from stderr/stdout in the order you'd see it in a term
task.message(line, { raw: true });
}

task.success('Successfully installed dependencies');
} catch {
Expand All @@ -87,35 +85,69 @@ export function getUserAgent(): AgentName | undefined {
return AGENTS.includes(name) ? name : undefined;
}

export function addPnpmBuildDependencies(
export async function addPnpmBuildDependencies(
cwd: string,
packageManager: AgentName | null | undefined,
allowedPackages: string[]
) {
// other package managers are currently not affected by this change
if (!packageManager || packageManager !== 'pnpm') return;
if (!packageManager || packageManager !== 'pnpm' || allowedPackages.length === 0) return;

let confIn: 'package.json' | 'pnpm-workspace.yaml' = 'package.json';
const pnpmVersion = await getPnpmVersion();
if (pnpmVersion) {
confIn = isVersionUnsupportedBelow(pnpmVersion, '10.5')
? 'package.json'
: 'pnpm-workspace.yaml';
}

// find the workspace root (if present)
const pnpmWorkspacePath = find.up('pnpm-workspace.yaml', { cwd });
let packageDirectory;

if (pnpmWorkspacePath) packageDirectory = path.dirname(pnpmWorkspacePath);
else packageDirectory = cwd;

// load the package.json
const pkgPath = path.join(packageDirectory, 'package.json');
const content = fs.readFileSync(pkgPath, 'utf-8');
const { data, generateCode } = parseJson(content);

// add the packages where we install scripts should be executed
data.pnpm ??= {};
data.pnpm.onlyBuiltDependencies ??= [];
for (const allowedPackage of allowedPackages) {
if (data.pnpm.onlyBuiltDependencies.includes(allowedPackage)) continue;
data.pnpm.onlyBuiltDependencies.push(allowedPackage);
const found = find.up('pnpm-workspace.yaml', { cwd });
const dir = found ? path.dirname(found) : cwd;

if (confIn === 'pnpm-workspace.yaml') {
const content = found ? fs.readFileSync(found, 'utf-8') : '';
const { data, generateCode } = parseYaml(content);

const onlyBuiltDependencies = data.get('onlyBuiltDependencies');
const items: Array<{ value: string } | string> = onlyBuiltDependencies?.items ?? [];

for (const item of allowedPackages) {
if (items.includes(item)) continue;
if (items.some((y) => typeof y === 'object' && y.value === item)) continue;
items.push(item);
}
data.set('onlyBuiltDependencies', new Set(items));

const newContent = generateCode();

const pnpmWorkspacePath = found ?? path.join(cwd, 'pnpm-workspace.yaml');
if (newContent !== content) fs.writeFileSync(pnpmWorkspacePath, newContent);
} else {
// else is package.json (fallback)
const pkgPath = path.join(dir, 'package.json');
const content = fs.readFileSync(pkgPath, 'utf-8');
const { data, generateCode } = parseJson(content);

// add the packages where we install scripts should be executed
data.pnpm ??= {};
data.pnpm.onlyBuiltDependencies ??= [];
for (const allowedPackage of allowedPackages) {
if (data.pnpm.onlyBuiltDependencies.includes(allowedPackage)) continue;
data.pnpm.onlyBuiltDependencies.push(allowedPackage);
}

// save the updated package.json
const newContent = generateCode();
if (newContent !== content) fs.writeFileSync(pkgPath, newContent);
}
}

// save the updated package.json
const newContent = generateCode();
fs.writeFileSync(pkgPath, newContent);
async function getPnpmVersion(): Promise<string | undefined> {
let v: string | undefined = undefined;
try {
const proc = await x('pnpm', ['--version'], { throwOnError: true });
v = proc.stdout.trim();
} catch {}
return v;
}
1 change: 1 addition & 0 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
"picocolors": "^1.1.1",
"postcss": "^8.5.6",
"silver-fleece": "^1.2.1",
"yaml": "^2.8.1",
"zimmerframe": "^1.1.2"
},
"keywords": [
Expand Down
90 changes: 88 additions & 2 deletions packages/core/tests/utils.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { expect, test } from 'vitest';
import { describe, expect, test } from 'vitest';
import dedent from 'dedent';
import {
parseScript,
serializeScript,
guessIndentString,
guessQuoteStyle,
type AstTypes
type AstTypes,
serializeYaml,
parseYaml
} from '../tooling/index.ts';

test('guessIndentString - one tab', () => {
Expand Down Expand Up @@ -183,3 +185,87 @@ test('integration - preserves comments', () => {
let foo = 'bar';"
`);
});

describe('yaml', () => {
test('read and write', () => {
const input = dedent`foo:
- bar
- baz`;
const output = serializeYaml(parseYaml(input));
expect(output).toMatchInlineSnapshot(`
"foo:
- bar
- baz
"
`);
});

test('edit object', () => {
const input = dedent`foo:
# nice comment
- bar
- baz`;
const doc = parseYaml(input);
const foo = doc.get('foo');
if (foo) foo.add('yop');
else doc.set('foo', ['yop']);
expect(serializeYaml(doc)).toMatchInlineSnapshot(`
"foo:
# nice comment
- bar
- baz
- yop
"
`);
});

test('add to array (keeping comments)', () => {
const input = dedent`foo:
- bar
# com
- baz`;
const doc = parseYaml(input);
const toAdd = ['bar', 'yop1', 'yop2', 'yop1'];
const foo = doc.get('foo');
const items: Array<{ value: string } | string> = foo?.items ?? [];
for (const item of toAdd) {
if (items.includes(item)) continue;
if (items.some((y) => typeof y === 'object' && y.value === item)) continue;
items.push(item);
}
doc.set('foo', new Set(items));
expect(serializeYaml(doc)).toMatchInlineSnapshot(`
"foo:
- bar
# com
- baz
- yop1
- yop2
"
`);
});

test('create object', () => {
const input = dedent`# this is my file`;
const doc = parseYaml(input);
const foo = doc.get('foo');
if (foo) foo.add('yop');
else doc.set('foo', ['yop']);
expect(serializeYaml(doc)).toMatchInlineSnapshot(`
"# this is my file

foo:
- yop
"
`);
});

test('array of foo', () => {
const input = dedent`foo: # nice comment - bar - baz`;
const output = serializeYaml(parseYaml(input));
expect(output).toMatchInlineSnapshot(`
"foo: # nice comment - bar - baz
"
`);
});
});
9 changes: 9 additions & 0 deletions packages/core/tooling/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import * as fleece from 'silver-fleece';
import { print as esrapPrint } from 'esrap';
import * as acorn from 'acorn';
import { tsPlugin } from '@sveltejs/acorn-typescript';
import * as yaml from 'yaml';

export {
// html
Expand Down Expand Up @@ -238,3 +239,11 @@ export function guessQuoteStyle(ast: TsEstree.Node): 'single' | 'double' | undef

return singleCount > doubleCount ? 'single' : 'double';
}

export function parseYaml(content: string): ReturnType<typeof yaml.parseDocument> {
return yaml.parseDocument(content);
}

export function serializeYaml(data: unknown): string {
return yaml.stringify(data, { singleQuote: true });
}
10 changes: 10 additions & 0 deletions packages/core/tooling/parsers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,16 @@ export function parseJson(source: string): { data: any } & ParseBase {
return { data, source, generateCode };
}

export function parseYaml(
source: string
): { data: ReturnType<typeof utils.parseYaml> } & ParseBase {
if (!source) source = '';
const data = utils.parseYaml(source);
const generateCode = () => utils.serializeYaml(data);

return { data, source, generateCode };
}

type SvelteGenerator = (code: {
script?: string;
module?: string;
Expand Down
Loading
Loading