@deltabox/toolchain 1.10.4 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,15 +1,50 @@
1
1
  # Changelog
2
2
 
3
- ## 1.10.4 (October 2026)
3
+ ## 1.11.0 (October 2026)
4
4
 
5
5
  <!-- release:start -->
6
6
 
7
- ### Documentation
8
- - Removed video preview dimensions ([#322b4b1](https://github.com/deltabox-studio/toolchain/commit/322b4b1) by [T0chi](https://github.com/T0chi))
7
+ ### New features
8
+ #### Vscode
9
+ - Scaffold any template and drive Vite+ create from the extension ([#fb4a55c](https://github.com/deltabox-studio/toolchain/commit/fb4a55c) by [T0chi](https://github.com/T0chi))
10
+ - project" picker (`template:list --online`) instead of only the dbx builtins;
11
+ each entry runs the same create pipeline (name/scope/variables/actions).
12
+ bare `vite-plus` template — through the extension's prompt pipeline: pick a
13
+ concrete Vite+ template, then create like any other template. Consumers no
14
+ longer land in the interactive `vp create` CLI menu.
15
+ ### Bug fixes
16
+ #### Project
17
+ - Tag a scaffolded workspace with its own project type ([#9d05637](https://github.com/deltabox-studio/toolchain/commit/9d05637) by [T0chi](https://github.com/T0chi))
18
+ - `resolveType` fell back to the loaded config's `project.type`, but a scaffold
19
+ runs with the config of the directory it is invoked from — the monorepo root
20
+ when adding a workspace. A workspace was therefore tagged `monorepo-root`, and
21
+ the post-scaffold sync then generated root-only CI, husky and VS Code files
22
+ inside the workspace.
23
+ - Only honour an explicit `--type` (or the command's implied default); ignore the
24
+ ambient config type.
25
+ ### Documentation
26
+ - Update descriptions and vscode screenshot ([#215bc4f](https://github.com/deltabox-studio/toolchain/commit/215bc4f) by [T0chi](https://github.com/T0chi))
27
+ ### Styles
28
+ - Wrap long description lines for the formatter ([#213ea73](https://github.com/deltabox-studio/toolchain/commit/213ea73) by [T0chi](https://github.com/T0chi))
29
+ - Long single-line descriptions from earlier commits; `vp fmt` wraps them back.
30
+ ### Tests
31
+ - Emulate custom templates/providers and workspace scaffolding ([#37d370e](https://github.com/deltabox-studio/toolchain/commit/37d370e) by [T0chi](https://github.com/T0chi))
32
+ - Code extension writes) and assert the CLI lists, scaffolds and runs them —
33
+ i.e. the payloads the extension's trees consume.
34
+ assert the workspace does NOT inherit their outputs
35
+ (.github/.husky/.vscode/commitlint.config.mjs).
36
+ ### Chores
37
+ #### Vscode
38
+ - Rename the Home "All actions" section to "More actions" ([#b8a2137](https://github.com/deltabox-studio/toolchain/commit/b8a2137) by [T0chi](https://github.com/T0chi))
9
39
 
10
40
  <!-- release:end -->
11
41
 
12
42
 
43
+ ## 1.10.4 (October 2026)
44
+
45
+ ### Documentation
46
+ - Removed video preview dimensions ([#322b4b1](https://github.com/deltabox-studio/toolchain/commit/322b4b1) by [T0chi](https://github.com/T0chi))
47
+
13
48
  ## 1.10.3 (October 2026)
14
49
 
15
50
  ### Bug fixes
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![tests](https://img.shields.io/github/actions/workflow/status/deltabox-studio/toolchain/ci.yml?label=tests&logo=github)](https://github.com/deltabox-studio/toolchain/actions/workflows/ci.yml)
5
5
  [![npm version](https://img.shields.io/npm/v/@deltabox/toolchain.svg?color=cb3837&label=npm)](https://www.npmjs.com/package/@deltabox/toolchain)
6
6
 
7
- All-in-one, config-driven dev toolchain: scaffold projects, generate and manage configs, tsconfigs, syncing, changelogs and CI, run Vite+, and migrations.
7
+ All-in-one development toolchain that let's you scaffold projects, generate and manage configs, tsconfigs, custom templates, syncing, changelogs, CI, Vite+, migrations, and more.
8
8
 
9
9
  - Save and use templates (local/remote) so you never have to scaffold the same projects over and over again.
10
10
  - Generate config types, env variables, cli flags, markdown and JSON schemas, so your codebase stays consistent, validated and well-documented.
@@ -15,7 +15,7 @@ All-in-one, config-driven dev toolchain: scaffold projects, generate and manage
15
15
  See the [list of features](#features).
16
16
 
17
17
  <div align="left">
18
- <video controls>
18
+ <video width="1342" controls>
19
19
  <source src="./apps/docs/public/vscode-example.mp4" type="video/mp4">
20
20
  </video>
21
21
  </div>
package/dist/cli/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import"node:path";import{fileURLToPath as e}from"node:url";import.meta.url;import{LOG_LEVELS as t,logger as n,normalizeLogLevel as r,setLogOverrides as i,stripAnsi as a}from"../packages/shared/src/logger.js";import"../packages/shared/src/index.js";import{version as o}from"../package.js";import{projectCommands as s}from"../packages/project/src/cli/index.js";import{resolveVpCommand as c}from"../packages/vite/src/commands.js";import{viteCommands as l}from"../packages/vite/src/cli/index.js";import{changelogCommands as u}from"../packages/changelog/src/cli/index.js";import{migrateCommands as d}from"../packages/migrate/src/cli/index.js";import{templateCommands as f}from"../packages/template/src/cli/index.js";import{tsconfigCommands as p}from"../packages/tsconfig/src/cli/index.js";import{cleanupCommands as m}from"../packages/tsdown/src/cli/index.js";import{syncCommands as h}from"./commands/index.js";import{isPassthroughCommand as g,registerToolchainCommands as _}from"./register.js";import{runUpdateCheck as v}from"./update-check.js";import{realpathSync as y}from"node:fs";import{Command as b}from"commander";function x(){return[...h(),...p(),...m(),...u(),...d(),...s(),...f(),...l()]}function S(){return new Set(x().map(e=>e.name))}function C(e,t=S()){let n=e[2];return!n||n.startsWith(`-`)||t.has(n)||!c(n)?e:[...e.slice(0,2),`vite`,...e.slice(2)]}function w(e){let t={},n=[];for(let i=0;i<e.length;i++){let a=e[i];if(a===`--`){n.push(...e.slice(i));break}if(a===`--no-color`)t.color=!1;else if(a===`--color`)t.color=!0;else if(a===`--log-level`){let n=e[++i];n!==void 0&&(t.level=r(n))}else a.startsWith(`--log-level=`)?t.level=r(a.slice(12)):n.push(a)}return{argv:n,options:t}}function T(e){let t=!0,n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i===`--`){n.push(...e.slice(r));break}i===`--no-update-check`?t=!1:i===`--update-check`?t=!0:n.push(i)}return{argv:n,updateCheck:t}}function E(){let e=new b,r=e.configureOutput();return e.configureOutput({writeOut:e=>g()?r.writeOut?.(e):n.write(`out`,e),writeErr:e=>g()?r.writeErr?.(e):n.write(`err`,e),getOutHasColors:()=>g()?r.getOutHasColors?.()??!1:n.colors.isColorSupported,getErrHasColors:()=>g()?r.getErrHasColors?.()??!1:n.colors.isColorSupported,stripColor:e=>g()?r.stripColor?.(e)??e:a(e)}),e.name(`dbx`).description(`All-in-one project toolchain: configs, tsconfigs, changelogs, scaffolding.`).version(o,`-V, --version`,`Output the version number`).option(`--log-level <level>`,`Minimum log level (${t.join(`|`)}).`).option(`--no-color`,`Disable coloured output.`).option(`--no-update-check`,`Do not check for a newer dbx version.`).showHelpAfterError(),e.configureHelp({styleTitle:e=>n.colors.bold(e),styleCommandText:e=>n.colors.cyan(e),styleOptionText:e=>n.colors.yellow(e),styleOptionTerm:e=>n.colors.yellow(e),styleSubcommandText:e=>n.colors.cyan(e),styleSubcommandTerm:e=>n.colors.cyan(e),styleArgumentText:e=>n.colors.yellow(e),styleArgumentTerm:e=>n.colors.yellow(e)}),_(e,x()),e}async function D(e=process.argv){let{argv:t,options:n}=w(e),{argv:r,updateCheck:a}=T(t);i(n);let s=e.some(e=>e===`--help`||e===`-h`||e===`--version`),c=r.some(e=>e===`--json`);!s&&!c&&v(o,a),await E().parseAsync(C(r))}function O(){let t=process.argv[1];if(!t)return!1;try{return y(t)===e(import.meta.url)}catch{return!1}}O()&&D();export{x as builtinCommands,E as createCli,w as extractLogOptions,T as extractUpdateCheck,_ as registerToolchainCommands,D as runCli,C as withDefaultVite};
2
+ import"node:path";import{fileURLToPath as e}from"node:url";import.meta.url;import{LOG_LEVELS as t,logger as n,normalizeLogLevel as r,setLogOverrides as i,stripAnsi as a}from"../packages/shared/src/logger.js";import"../packages/shared/src/index.js";import{version as o}from"../package.js";import{projectCommands as s}from"../packages/project/src/cli/index.js";import{resolveVpCommand as c}from"../packages/vite/src/commands.js";import{viteCommands as l}from"../packages/vite/src/cli/index.js";import{changelogCommands as u}from"../packages/changelog/src/cli/index.js";import{migrateCommands as d}from"../packages/migrate/src/cli/index.js";import{templateCommands as f}from"../packages/template/src/cli/index.js";import{tsconfigCommands as p}from"../packages/tsconfig/src/cli/index.js";import{cleanupCommands as m}from"../packages/tsdown/src/cli/index.js";import{syncCommands as h}from"./commands/index.js";import{isPassthroughCommand as g,registerToolchainCommands as _}from"./register.js";import{runUpdateCheck as v}from"./update-check.js";import{realpathSync as y}from"node:fs";import{Command as b}from"commander";function x(){return[...h(),...p(),...m(),...u(),...d(),...s(),...f(),...l()]}function S(){return new Set(x().map(e=>e.name))}function C(e,t=S()){let n=e[2];return!n||n.startsWith(`-`)||t.has(n)||!c(n)?e:[...e.slice(0,2),`vite`,...e.slice(2)]}function w(e){let t={},n=[];for(let i=0;i<e.length;i++){let a=e[i];if(a===`--`){n.push(...e.slice(i));break}if(a===`--no-color`)t.color=!1;else if(a===`--color`)t.color=!0;else if(a===`--log-level`){let n=e[++i];n!==void 0&&(t.level=r(n))}else a.startsWith(`--log-level=`)?t.level=r(a.slice(12)):n.push(a)}return{argv:n,options:t}}function T(e){let t=!0,n=[];for(let r=0;r<e.length;r++){let i=e[r];if(i===`--`){n.push(...e.slice(r));break}i===`--no-update-check`?t=!1:i===`--update-check`?t=!0:n.push(i)}return{argv:n,updateCheck:t}}function E(){let e=new b,r=e.configureOutput();return e.configureOutput({writeOut:e=>g()?r.writeOut?.(e):n.write(`out`,e),writeErr:e=>g()?r.writeErr?.(e):n.write(`err`,e),getOutHasColors:()=>g()?r.getOutHasColors?.()??!1:n.colors.isColorSupported,getErrHasColors:()=>g()?r.getErrHasColors?.()??!1:n.colors.isColorSupported,stripColor:e=>g()?r.stripColor?.(e)??e:a(e)}),e.name(`dbx`).description(`All-in-one project toolchain: configs, tsconfigs, changelogs, CI, templates, scaffolding, migrations.`).version(o,`-V, --version`,`Output the version number`).option(`--log-level <level>`,`Minimum log level (${t.join(`|`)}).`).option(`--no-color`,`Disable coloured output.`).option(`--no-update-check`,`Do not check for a newer dbx version.`).showHelpAfterError(),e.configureHelp({styleTitle:e=>n.colors.bold(e),styleCommandText:e=>n.colors.cyan(e),styleOptionText:e=>n.colors.yellow(e),styleOptionTerm:e=>n.colors.yellow(e),styleSubcommandText:e=>n.colors.cyan(e),styleSubcommandTerm:e=>n.colors.cyan(e),styleArgumentText:e=>n.colors.yellow(e),styleArgumentTerm:e=>n.colors.yellow(e)}),_(e,x()),e}async function D(e=process.argv){let{argv:t,options:n}=w(e),{argv:r,updateCheck:a}=T(t);i(n);let s=e.some(e=>e===`--help`||e===`-h`||e===`--version`),c=r.some(e=>e===`--json`);!s&&!c&&v(o,a),await E().parseAsync(C(r))}function O(){let t=process.argv[1];if(!t)return!1;try{return y(t)===e(import.meta.url)}catch{return!1}}O()&&D();export{x as builtinCommands,E as createCli,w as extractLogOptions,T as extractUpdateCheck,_ as registerToolchainCommands,D as runCli,C as withDefaultVite};
package/dist/package.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;var e=`1.10.4`;export{e as version};
1
+ import"node:path";import"node:url";import.meta.url;var e=`1.11.0`;export{e as version};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../../shared/src/logger.js";import"../../../shared/src/index.js";import{createMonorepoRootFiles as t,createRootProjectFiles as n,createWorkspaceFiles as r,writeGeneratedFiles as i}from"../typescript.js";import{generateProjectConfigs as a}from"../config.js";const o=[{flags:`--no-config`,description:`Skip the dbx.config.ts file.`},{flags:`--type <type>`,description:`Project type: project | monorepo-root | monorepo-workspace.`}],s={flags:`--package-manager <pm>`,description:`Package manager: yarn (default) | pnpm | npm | bun.`},c=[`project`,`monorepo-root`,`monorepo-workspace`];function l(e,t){let n=String(e.name??t.project?.name??``).trim();if(!n)throw Error("a project name is required: pass `--name <name>` or set `project.name` in dbx.config.*.");return n}function u(e,t,n){let r=e.type??t.project?.type??n;if(!c.includes(r))throw Error(`invalid project type "${r}" (expected one of: ${c.join(`, `)}).`);return r}function d(){return[{name:`project:init`,description:`Scaffold a single-package TypeScript project.`,options:[{flags:`-n, --name <name>`,description:`Project name.`},{flags:`-s, --scope <scope>`,description:`npm scope, eg. @acme.`},{flags:`-o, --out <dir>`,description:`Output directory (default: cwd).`},s,...o],run:(t,r)=>{let a=l(t,r.config),o=n({name:a,...t.scope?{scope:t.scope}:{},...t.packageManager?{packageManager:t.packageManager}:{},type:u(t,r.config,`project`),includeConfig:t.config??!0}),s=i(o,t.out??r.cwd);for(let t of s)e.info(`Created ${t}`)}},{name:`project:init:monorepo`,description:`Scaffold a monorepo root (add --example for one example workspace).`,options:[{flags:`-n, --name <name>`,description:`Project name.`},{flags:`-s, --scope <scope>`,description:`npm scope, eg. @acme.`},{flags:`-o, --out <dir>`,description:`Output directory (default: cwd).`},{flags:`--example`,description:`Also scaffold one example workspace package.`},s,...o],run:(n,a)=>{let o=l(n,a.config),s=n.scope??a.config.project?.scope??`@${o}`,c=n.out??a.cwd,d=n.config??!0,f=u(n,a.config,`monorepo-root`),p=!!n.example,m=n.packageManager,h=t({name:o,scope:s,type:f,includeConfig:d,...m?{packageManager:m}:{},workspaces:p?[{alias:`core`,dir:`packages/core`}]:[]});p&&h.push(...r({name:o,scope:s,wsName:`core`,wsDir:`packages/core`,type:`monorepo-workspace`,includeConfig:d,useCatalog:!0,...m?{packageManager:m}:{}}).map(e=>({...e,path:`packages/core/${e.path}`})));let g=i(h,c);for(let t of g)e.info(`Created ${t}`)}},{name:`project:init:workspace`,description:`Scaffold a monorepo workspace package into an existing monorepo root.`,options:[{flags:`-n, --name <name>`,description:`Workspace package name (unscoped).`},{flags:`-s, --scope <scope>`,description:`npm scope, eg. @acme.`},{flags:`-r, --root <dir>`,description:`Monorepo root (default: cwd).`},{flags:`-d, --dir <dir>`,description:`Workspace dir relative to the root (default: packages/<name>).`},s,...o],run:(t,n)=>{let a=t.root??n.cwd,o=l(t,n.config),s=t.scope??n.config.project?.scope??`@${o}`,c=(t.dir??`packages/${o}`).replace(/\\/g,`/`).replace(/\/+$/,``),d=t.config??!0,f=u(t,n.config,`monorepo-workspace`),p=t.packageManager,m=r({name:o,scope:s,wsName:o,wsDir:c,type:f,includeConfig:d,...p?{packageManager:p}:{}}).map(e=>({...e,path:`${c}/${e.path}`})),h=i(m,a);for(let t of h)e.info(`Created ${t}`)}},{name:`project:config`,description:`Generate dbx.config.ts for existing projects that are missing one.`,options:[{flags:`--cwd <dir>`,description:`Root to scan (default: cwd).`},{flags:`--include <pattern...>`,description:`Only projects matching these patterns (glob or substring).`},{flags:`--exclude <pattern...>`,description:`Skip projects matching these patterns (glob or substring).`},{flags:`--type <type>`,description:`Force a project type for every config.`},{flags:`--force`,description:`Overwrite configs that already exist.`},{flags:`--dry-run`,description:`Report what would be written without writing.`},{flags:`--json`,description:`Print the result as JSON.`}],run:(t,n)=>{let r=t.cwd??n.cwd,i=a({root:r,...t.include?{include:t.include}:{},...t.exclude?{exclude:t.exclude}:{},...t.type?{type:t.type}:{},force:!!t.force,dryRun:!!t.dryRun});if(t.json){e.raw(JSON.stringify(i,null,4));return}let o=i.dryRun?`would create`:`created`;e.info(`${o} ${i.created.length} config(s), skipped ${i.skipped.length}.`);for(let t of i.configs)t.created&&e.info(` + ${t.rel===`.`?`dbx.config.ts`:`${t.rel}/dbx.config.ts`} [${t.type}]`)}}]}export{d as projectCommands};
1
+ import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../../shared/src/logger.js";import"../../../shared/src/index.js";import{createMonorepoRootFiles as t,createRootProjectFiles as n,createWorkspaceFiles as r,writeGeneratedFiles as i}from"../typescript.js";import{generateProjectConfigs as a}from"../config.js";const o=[{flags:`--no-config`,description:`Skip the dbx.config.ts file.`},{flags:`--type <type>`,description:`Project type: project | monorepo-root | monorepo-workspace.`}],s={flags:`--package-manager <pm>`,description:`Package manager: yarn (default) | pnpm | npm | bun.`},c=[`project`,`monorepo-root`,`monorepo-workspace`];function l(e,t){let n=String(e.name??t.project?.name??``).trim();if(!n)throw Error("a project name is required: pass `--name <name>` or set `project.name` in dbx.config.*.");return n}function u(e,t){let n=e.type??t;if(!c.includes(n))throw Error(`invalid project type "${n}" (expected one of: ${c.join(`, `)}).`);return n}function d(){return[{name:`project:init`,description:`Scaffold a single-package TypeScript project.`,options:[{flags:`-n, --name <name>`,description:`Project name.`},{flags:`-s, --scope <scope>`,description:`npm scope, eg. @acme.`},{flags:`-o, --out <dir>`,description:`Output directory (default: cwd).`},s,...o],run:(t,r)=>{let a=l(t,r.config),o=n({name:a,...t.scope?{scope:t.scope}:{},...t.packageManager?{packageManager:t.packageManager}:{},type:u(t,`project`),includeConfig:t.config??!0}),s=i(o,t.out??r.cwd);for(let t of s)e.info(`Created ${t}`)}},{name:`project:init:monorepo`,description:`Scaffold a monorepo root (add --example for one example workspace).`,options:[{flags:`-n, --name <name>`,description:`Project name.`},{flags:`-s, --scope <scope>`,description:`npm scope, eg. @acme.`},{flags:`-o, --out <dir>`,description:`Output directory (default: cwd).`},{flags:`--example`,description:`Also scaffold one example workspace package.`},s,...o],run:(n,a)=>{let o=l(n,a.config),s=n.scope??a.config.project?.scope??`@${o}`,c=n.out??a.cwd,d=n.config??!0,f=u(n,`monorepo-root`),p=!!n.example,m=n.packageManager,h=t({name:o,scope:s,type:f,includeConfig:d,...m?{packageManager:m}:{},workspaces:p?[{alias:`core`,dir:`packages/core`}]:[]});p&&h.push(...r({name:o,scope:s,wsName:`core`,wsDir:`packages/core`,type:`monorepo-workspace`,includeConfig:d,useCatalog:!0,...m?{packageManager:m}:{}}).map(e=>({...e,path:`packages/core/${e.path}`})));let g=i(h,c);for(let t of g)e.info(`Created ${t}`)}},{name:`project:init:workspace`,description:`Scaffold a monorepo workspace package into an existing monorepo root.`,options:[{flags:`-n, --name <name>`,description:`Workspace package name (unscoped).`},{flags:`-s, --scope <scope>`,description:`npm scope, eg. @acme.`},{flags:`-r, --root <dir>`,description:`Monorepo root (default: cwd).`},{flags:`-d, --dir <dir>`,description:`Workspace dir relative to the root (default: packages/<name>).`},s,...o],run:(t,n)=>{let a=t.root??n.cwd,o=l(t,n.config),s=t.scope??n.config.project?.scope??`@${o}`,c=(t.dir??`packages/${o}`).replace(/\\/g,`/`).replace(/\/+$/,``),d=t.config??!0,f=u(t,`monorepo-workspace`),p=t.packageManager,m=r({name:o,scope:s,wsName:o,wsDir:c,type:f,includeConfig:d,...p?{packageManager:p}:{}}).map(e=>({...e,path:`${c}/${e.path}`})),h=i(m,a);for(let t of h)e.info(`Created ${t}`)}},{name:`project:config`,description:`Generate dbx.config.ts for existing projects that are missing one.`,options:[{flags:`--cwd <dir>`,description:`Root to scan (default: cwd).`},{flags:`--include <pattern...>`,description:`Only projects matching these patterns (glob or substring).`},{flags:`--exclude <pattern...>`,description:`Skip projects matching these patterns (glob or substring).`},{flags:`--type <type>`,description:`Force a project type for every config.`},{flags:`--force`,description:`Overwrite configs that already exist.`},{flags:`--dry-run`,description:`Report what would be written without writing.`},{flags:`--json`,description:`Print the result as JSON.`}],run:(t,n)=>{let r=t.cwd??n.cwd,i=a({root:r,...t.include?{include:t.include}:{},...t.exclude?{exclude:t.exclude}:{},...t.type?{type:t.type}:{},force:!!t.force,dryRun:!!t.dryRun});if(t.json){e.raw(JSON.stringify(i,null,4));return}let o=i.dryRun?`would create`:`created`;e.info(`${o} ${i.created.length} config(s), skipped ${i.skipped.length}.`);for(let t of i.configs)t.created&&e.info(` + ${t.rel===`.`?`dbx.config.ts`:`${t.rel}/dbx.config.ts`} [${t.type}]`)}}]}export{d as projectCommands};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deltabox/toolchain",
3
- "version": "1.10.4",
4
- "description": "All-in-one, config-driven dev toolchain: scaffold projects, generate and manage configs, tsconfigs, syncing, changelogs and CI, run Vite+, and migrations.",
3
+ "version": "1.11.0",
4
+ "description": "All-in-one development toolchain that let's you scaffold projects, generate and manage configs, tsconfigs, custom templates, syncing, changelogs, CI, Vite+, migrations, and more.",
5
5
  "homepage": "https://toolchain.deltabox.studio",
6
6
  "author": "Victor Sango <victor@deltabox.studio>",
7
7
  "repository": {
@@ -79,17 +79,17 @@
79
79
  "@commitlint/cli": "^21.2.2",
80
80
  "@commitlint/config-conventional": "^21.2.2",
81
81
  "@deltabox/toolchain": "portal:.",
82
- "@deltabox/toolchain-biome": "1.10.4",
83
- "@deltabox/toolchain-changelog": "1.10.4",
84
- "@deltabox/toolchain-config": "1.10.4",
85
- "@deltabox/toolchain-core": "1.10.4",
86
- "@deltabox/toolchain-migrate": "1.10.4",
87
- "@deltabox/toolchain-project": "1.10.4",
88
- "@deltabox/toolchain-shared": "1.10.4",
89
- "@deltabox/toolchain-template": "1.10.4",
90
- "@deltabox/toolchain-tsconfig": "1.10.4",
91
- "@deltabox/toolchain-tsdown": "1.10.4",
92
- "@deltabox/toolchain-vite": "1.10.4",
82
+ "@deltabox/toolchain-biome": "1.11.0",
83
+ "@deltabox/toolchain-changelog": "1.11.0",
84
+ "@deltabox/toolchain-config": "1.11.0",
85
+ "@deltabox/toolchain-core": "1.11.0",
86
+ "@deltabox/toolchain-migrate": "1.11.0",
87
+ "@deltabox/toolchain-project": "1.11.0",
88
+ "@deltabox/toolchain-shared": "1.11.0",
89
+ "@deltabox/toolchain-template": "1.11.0",
90
+ "@deltabox/toolchain-tsconfig": "1.11.0",
91
+ "@deltabox/toolchain-tsdown": "1.11.0",
92
+ "@deltabox/toolchain-vite": "1.11.0",
93
93
  "@types/node": "^22.10.2",
94
94
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
95
95
  "cross-env": "^10.1.0",