@deltabox/toolchain 1.3.1 → 1.6.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +117 -4
  2. package/README.md +32 -39
  3. package/dist/changelog.d.ts +3 -2
  4. package/dist/changelog.js +1 -1
  5. package/dist/cli/commands/providers.js +1 -1
  6. package/dist/cli/commands/sync.js +1 -1
  7. package/dist/cli/context.js +1 -1
  8. package/dist/cli/index.d.ts +4 -4
  9. package/dist/cli/index.js +1 -1
  10. package/dist/cli/register.d.ts +3 -3
  11. package/dist/cli/register.js +1 -1
  12. package/dist/config.d.ts +2 -2
  13. package/dist/config.js +1 -1
  14. package/dist/core.d.ts +4 -3
  15. package/dist/core.js +1 -1
  16. package/dist/index.d.ts +11 -9
  17. package/dist/index.js +1 -1
  18. package/dist/migrate.d.ts +3 -2
  19. package/dist/migrate.js +1 -1
  20. package/dist/package.js +1 -1
  21. package/dist/packages/changelog/src/cli/index.d.ts +2 -2
  22. package/dist/packages/changelog/src/cli/index.js +1 -1
  23. package/dist/packages/changelog/src/index.d.ts +4 -3
  24. package/dist/packages/changelog/src/index.js +1 -1
  25. package/dist/packages/changelog/src/run-workflows.d.ts +2 -2
  26. package/dist/packages/changelog/src/run.d.ts +8 -2
  27. package/dist/packages/changelog/src/run.js +1 -1
  28. package/dist/packages/changelog/src/sync.d.ts +13 -5
  29. package/dist/packages/changelog/src/sync.js +1 -1
  30. package/dist/packages/changelog/src/utils/versioning.d.ts +78 -0
  31. package/dist/packages/changelog/src/utils/versioning.js +1 -0
  32. package/dist/packages/changelog/src/utils/write.js +1 -1
  33. package/dist/packages/changelog/src/workflows.js +1 -1
  34. package/dist/packages/config/src/cli/index.d.ts +2 -2
  35. package/dist/packages/config/src/generators/index.d.ts +2 -2
  36. package/dist/packages/config/src/generators/index.js +1 -1
  37. package/dist/packages/config/src/generators/types.d.ts +16 -0
  38. package/dist/packages/config/src/generators/types.js +2 -1
  39. package/dist/packages/config/src/index.d.ts +3 -3
  40. package/dist/packages/config/src/index.js +1 -1
  41. package/dist/packages/config/src/schema.d.ts +1 -1
  42. package/dist/packages/config/src/schema.js +1 -1
  43. package/dist/packages/core/src/index.d.ts +5 -4
  44. package/dist/packages/core/src/index.js +1 -1
  45. package/dist/packages/core/src/loader.d.ts +3 -3
  46. package/dist/packages/core/src/loader.js +1 -1
  47. package/dist/packages/core/src/project-type.d.ts +2 -2
  48. package/dist/packages/core/src/provider-registry.d.ts +12 -0
  49. package/dist/packages/core/src/provider-registry.js +1 -0
  50. package/dist/packages/core/src/reset.d.ts +3 -3
  51. package/dist/packages/core/src/reset.js +1 -1
  52. package/dist/packages/core/src/sync.d.ts +2 -2
  53. package/dist/packages/core/src/vscode.d.ts +3 -3
  54. package/dist/packages/migrate/src/biome.d.ts +3 -3
  55. package/dist/packages/migrate/src/biome.js +1 -1
  56. package/dist/packages/migrate/src/cli/index.d.ts +5 -4
  57. package/dist/packages/migrate/src/cli/index.js +1 -1
  58. package/dist/packages/migrate/src/dprint.d.ts +2 -2
  59. package/dist/packages/migrate/src/dprint.js +1 -1
  60. package/dist/packages/migrate/src/eslint.d.ts +2 -2
  61. package/dist/packages/migrate/src/eslint.js +1 -1
  62. package/dist/packages/migrate/src/index.d.ts +3 -2
  63. package/dist/packages/migrate/src/index.js +1 -1
  64. package/dist/packages/migrate/src/prettier.d.ts +2 -2
  65. package/dist/packages/migrate/src/prettier.js +1 -1
  66. package/dist/packages/migrate/src/registry.d.ts +4 -4
  67. package/dist/packages/migrate/src/registry.js +1 -1
  68. package/dist/packages/migrate/src/types.d.ts +4 -4
  69. package/dist/packages/migrate/src/vite.d.ts +52 -0
  70. package/dist/packages/migrate/src/vite.js +5 -0
  71. package/dist/packages/project/src/cli/index.d.ts +2 -2
  72. package/dist/packages/project/src/config.js +1 -1
  73. package/dist/packages/project/src/index.d.ts +3 -3
  74. package/dist/packages/project/src/index.js +1 -1
  75. package/dist/packages/project/src/typescript.d.ts +1 -1
  76. package/dist/packages/project/src/typescript.js +1 -1
  77. package/dist/packages/shared/src/bin.d.ts +32 -0
  78. package/dist/packages/shared/src/bin.js +1 -0
  79. package/dist/packages/shared/src/config-schema.d.ts +131 -57
  80. package/dist/packages/shared/src/config-schema.js +1 -1
  81. package/dist/packages/shared/src/config-types.d.ts +42 -39
  82. package/dist/packages/shared/src/index.d.ts +9 -8
  83. package/dist/packages/shared/src/index.js +1 -1
  84. package/dist/packages/shared/src/logger.d.ts +7 -4
  85. package/dist/packages/shared/src/logger.js +1 -1
  86. package/dist/packages/shared/src/provider.d.ts +6 -6
  87. package/dist/packages/shared/src/run.d.ts +22 -2
  88. package/dist/packages/shared/src/run.js +1 -1
  89. package/dist/packages/shared/src/toolchain.d.ts +17 -19
  90. package/dist/packages/shared/src/toolchain.js +1 -1
  91. package/dist/packages/shared/src/types.d.ts +9 -9
  92. package/dist/packages/template/src/cli/index.d.ts +2 -2
  93. package/dist/packages/template/src/cli/index.js +1 -1
  94. package/dist/packages/template/src/online.d.ts +3 -3
  95. package/dist/packages/template/src/registry.d.ts +8 -8
  96. package/dist/packages/template/src/types.d.ts +3 -3
  97. package/dist/packages/tsconfig/src/cli/index.d.ts +2 -2
  98. package/dist/packages/tsdown/src/cli/index.d.ts +2 -2
  99. package/dist/packages/vite/src/cli/index.d.ts +2 -2
  100. package/dist/packages/vite/src/index.d.ts +4 -3
  101. package/dist/packages/vite/src/index.js +1 -1
  102. package/dist/packages/vite/src/plugin.d.ts +32 -19
  103. package/dist/packages/vite/src/plugin.js +1 -1
  104. package/dist/packages/vite/src/provider.d.ts +2 -2
  105. package/dist/packages/vite/src/resolve.d.ts +19 -0
  106. package/dist/packages/vite/src/resolve.js +1 -0
  107. package/dist/packages/vite/src/sync.d.ts +10 -14
  108. package/dist/packages/vite/src/sync.js +2 -2
  109. package/dist/packages/vite/src/vp.d.ts +5 -0
  110. package/dist/packages/vite/src/vp.js +1 -1
  111. package/dist/project.d.ts +2 -2
  112. package/dist/project.js +1 -1
  113. package/dist/providers.d.ts +8 -4
  114. package/dist/providers.js +1 -1
  115. package/dist/shared.d.ts +8 -7
  116. package/dist/shared.js +1 -1
  117. package/dist/vite.d.ts +4 -3
  118. package/dist/vite.js +1 -1
  119. package/package.json +25 -16
package/CHANGELOG.md CHANGED
@@ -1,17 +1,130 @@
1
1
  # Changelog
2
2
 
3
- ## 1.3.1 (October 2026)
3
+ ## 1.6.0 (October 2026)
4
4
 
5
5
  <!-- release:start -->
6
6
 
7
+ ### New features
8
+ #### Changelog
9
+ - Add a configurable versioning option ([#e5cbefc](https://github.com/deltabox-studio/toolchain/commit/e5cbefc) by [T0chi](https://github.com/T0chi))
10
+ - Add \ oolchain.changelog.versioning\ (boolean | { target, workspaces }) to the shared Zod model, defaulting to true/uniform. \ arget\ selects uniform (root + all workspaces), root-only, or individual (each changed workspace bumps on its own); \workspaces\ globs select which workspaces to version (defaulting to the root workspaces field, else the root package.json alone). The CLI now threads the changelog config into the generator and writeChangelogs takes per-workspace versions. Documented in the new 'Changelog & versioning' guide.
11
+ ### Bug fixes
12
+ #### Shared
13
+ - Add spawn timeouts so a stalled child can't hang the tool ([#e7fdf96](https://github.com/deltabox-studio/toolchain/commit/e7fdf96) by [T0chi](https://github.com/T0chi))
14
+ - spawnCross/run gain \ imeoutMs\ (kills the child's whole tree — \ askkill /t\ on Windows — with a warning); runVp forwards it; the plugin's one-shot \
15
+ #### Vite
16
+ - Build DBX_TASKS from a resolved binary and warn on fallbacks ([#c1a29db](https://github.com/deltabox-studio/toolchain/commit/c1a29db) by [T0chi](https://github.com/T0chi))
17
+ - Vite Task runs a task's command through a shell, so a bare \dbx sync\ depended on PATH/environment and could miss or pick a stale binary. DBX_TASKS now bakes in the \
18
+ - Warn and fall back on missing DBX_BIN/PATH/ComSpec ([#f91ad12](https://github.com/deltabox-studio/toolchain/commit/f91ad12) by [T0chi](https://github.com/T0chi))
19
+ - resolveDbx now ignores a DBX_BIN that points at a missing file (warn + fall through) instead of wedging every dbx call; \which\ warns once when PATH is empty; the Windows spawner warns once when ComSpec is unset before falling back to cmd.exe.
20
+ - Never run a stale global dbx from a pinned project ([#d441427](https://github.com/deltabox-studio/toolchain/commit/d441427) by [T0chi](https://github.com/T0chi))
21
+ - resolveDbx fell back to a global \dbx\ on PATH whenever the project's own binary wasn't resolvable — which happens in the toolchain repo itself (Yarn doesn't link the root's own bin, and findOwnCliEntry needs a built dist). A stale global dbx would then run \dbx sync\ and rewrite generated files in an older format. Now a project that pins @deltabox/toolchain (node_modules or the repo itself) never uses a global dbx: it warns and uses \
22
+ px @deltabox/toolchain@<pinned>\; the global is only used when the project pins nothing. Adds localToolchainVersion() + tests, and documents the resolution.
23
+ #### Vscode
24
+ - Pin the npx fallback to the extension's version ([#57d27fa](https://github.com/deltabox-studio/toolchain/commit/57d27fa) by [T0chi](https://github.com/T0chi))
25
+ - The extension's last-resort \
26
+ px --yes @deltabox/toolchain\ resolved \@latest\, which could drift from the workspace's generated files. It now pins its own version (\@deltabox/toolchain@<extension version>\), since the extension is versioned in lockstep with the toolchain.
27
+ #### Tsdown
28
+ - Let Yarn own the single-entry bin field ([#d6198b5](https://github.com/deltabox-studio/toolchain/commit/d6198b5) by [T0chi](https://github.com/T0chi))
29
+ - Reproduced (and minimised) the 'unexplained' bin revert: Yarn 4 normalises a single-entry \in\ object to a plain string on every \yarn install\, so an explicit tsdown \in\ object could never persist — install and build fought over package.json. Set tsdown's \exports.bin\ to \ alse\ so tsdown leaves the field alone, and commit the string form Yarn writes. install + build are now idempotent.
30
+ - Re-apply the explicit changelog and tsconfig bins ([#192a2d3](https://github.com/deltabox-studio/toolchain/commit/192a2d3) by [T0chi](https://github.com/T0chi))
31
+ - The generated version bump commit dropped the explicit \in\ mapping (object form) from both package.jsons; regenerate it from the pinned tsdown \exports.bin\ so \yarn build\ stays idempotent.
32
+
33
+ <!-- release:end -->
34
+
35
+
36
+ ## 1.5.0 (October 2026)
37
+
38
+ ### New features
39
+ #### Changelog
40
+ - Emit the husky commit-msg hook for consumers ([#6898386](https://github.com/deltabox-studio/toolchain/issues/6898386) by [T0chi](https://github.com/T0chi))
41
+ - \dbx sync\ now writes .husky/commit-msg (running commitlint) alongside the workflows and commitlint.config.mjs, so consumers using the Conventional-Commits CI lint commits locally too. The docs recommend \postinstall: husky\ (Yarn Berry never runs \prepare\) and \.husky/* text eol=lf\ (a trailing CR breaks the hook).
42
+
43
+ ## 1.4.1 (October 2026)
44
+
45
+ ### Bug fixes
46
+ #### Tsdown
47
+ - Pin the changelog and tsconfig bins explicitly ([#f616626](https://github.com/deltabox-studio/toolchain/commit/f616626) by [T0chi](https://github.com/T0chi))
48
+ - With \exports: true\ and no \in\, tsdown soft auto-detects the shebang entry and derives the command name from the package name, rewriting the committed \in\ on every build. Map the command names explicitly so the field is stable and the build is idempotent.
49
+ #### Ci
50
+ - Bootstrap the dist the vite shim needs before build ([#b96b89a](https://github.com/deltabox-studio/toolchain/commit/b96b89a) by [T0chi](https://github.com/T0chi))
51
+ - \prepare\ never runs on \yarn install\ under Yarn Berry, so scripts/bootstrap.mjs never built dist/vite.js and \yarn build\ failed to load the generated vite.config.ts shim on a fresh CI checkout. Run the bootstrap from a root \postinstall\ and at the start of build/typecheck/test (all begin with \ p run\, which loads the shim); it is a no-op once dist/vite.js exists.
52
+
53
+ ## 1.4.0 (October 2026)
54
+
55
+ ### New features
56
+ - Render the dbx CLI with clack, author the Vite+ config in dbx.config ([#fb8b9ef](https://github.com/deltabox-studio/toolchain/commit/fb8b9ef) by [T0chi](https://github.com/T0chi))
57
+ - vite.config.ts in and adds the fmt ignore; dbx resolves its own binary first
58
+ and colour Commander's help
59
+ #### Vscode
60
+ - Add Providers and Templates views ([#9aa6d12](https://github.com/deltabox-studio/toolchain/commit/9aa6d12) by [T0chi](https://github.com/T0chi))
61
+ - add/remove/run-command/open-homepage/copy-id actions
62
+ toolchainProviders(), so a registered provider's commands become dbx commands
63
+ Templates -> Managed Files
64
+ #### Vite
65
+ - Drive dbx from the dbx plugin, drop defineDbxConfig ([#8d11557](https://github.com/deltabox-studio/toolchain/commit/8d11557) by [T0chi](https://github.com/T0chi))
66
+ - The Vite/Vite+ integration is now the dbx() plugin plus spreading DBX_TASKS into
67
+ run.tasks, so the consumer's own vite config stays the config:
68
+ - export default defineConfig({
69
+ plugins: [dbx()],
70
+ run: { tasks: { ...DBX_TASKS } },
71
+ });
72
+ - Remove the defineDbxConfig wrapper (and DbxViteConfig) and update the README, the
73
+ Providers guide and the API reference.
74
+ - Author the Vite+ config in dbx.config, generate vite.config.ts ([#9885225](https://github.com/deltabox-studio/toolchain/issues/9885225) by [T0chi](https://github.com/T0chi))
75
+ - toolchain.vite now holds the whole Vite+ config (a loose object) with a
76
+ config: false opt-out, and dbx sync generates the managed root
77
+ vite.config.ts from it, so dbx.config.* is the only hand-authored root config.
78
+ - Add dbx migrate --from vite (auto-detected): it extracts the object passed to
79
+ defineConfig in an existing root vite.config.ts and folds it into dbx.config.*'s
80
+ toolchain.vite, refusing configs it cannot migrate faithfully.
81
+ - The config-types generator now honors .catchall, emitting an index signature.
82
+ #### Config
83
+ - Expose the Vite+ config type, rename Tooling* to Toolchain* ([#088de56](https://github.com/deltabox-studio/toolchain/commit/088de56) by [T0chi](https://github.com/T0chi))
84
+ - ToolchainViteConfig is now Vite+ ViteUserConfig intersected with the managed
85
+ config?: boolean opt-out, instead of a generated loose object. The config-types
86
+ generator gains a hand-written type override plus an imports block, used for the
87
+ vite type, and vite-plus becomes an optional peer dependency.
88
+ - Rename every Tooling* type, schema id and identifier to Toolchain*. That covers
89
+ the config schema ids, CONFIG_TYPE_SCHEMAS keys, the provider/migration models
90
+ and the CLI helpers (toolchainConfigSchema, loadToolchainConfig,
91
+ toolchainProviders, registerToolchainCommands). Regenerated types/schema/docs.
92
+ ### Bug fixes
93
+ #### Deps
94
+ - Sync the lockfile for @clack/prompts ([#568a7c6](https://github.com/deltabox-studio/toolchain/commit/568a7c6) by [T0chi](https://github.com/T0chi))
95
+ - The lockfile was missing the @clack/prompts entry for packages/shared and
96
+ packages/template, so 'yarn install --immutable' failed in CI (YN0028).
97
+ ### Refactors
98
+ - Rename Ox to Oxc across the project ([#39b37d3](https://github.com/deltabox-studio/toolchain/commit/39b37d3) by [T0chi](https://github.com/T0chi))
99
+ - (Oxfmt/Oxlint and .oxlintrc/.oxfmtrc are unchanged)
100
+ ### Documentation
101
+ - Cover the clack CLI output, prompts and dbx binary resolution ([#f45ed3f](https://github.com/deltabox-studio/toolchain/commit/f45ed3f) by [T0chi](https://github.com/T0chi))
102
+ - Document the Vite+ config type and the Toolchain* names ([#1e70950](https://github.com/deltabox-studio/toolchain/commit/1e70950) by [T0chi](https://github.com/T0chi))
103
+ - Note that toolchain.vite is typed as Vite's UserConfig as augmented by Vite+
104
+ (ToolchainViteConfig), and list ToolchainViteConfig among the shared config
105
+ types. Covers the unreleased changes since v1.3.1 together with the sections the
106
+ feature commits already added (the Vite+ config in dbx.config, the generated
107
+ vite.config.ts, the vite migration and the dbx plugin).
108
+ #### Vscode
109
+ - Refresh the extension screenshot and add its LICENSE ([#49d4510](https://github.com/deltabox-studio/toolchain/commit/49d4510) by [T0chi](https://github.com/T0chi))
110
+ ### Build system
111
+ - Package the VS Code extension in yarn build ([#1dd14a1](https://github.com/deltabox-studio/toolchain/commit/1dd14a1) by [T0chi](https://github.com/T0chi))
112
+ - yarn build now also runs the vscode package:vsix, so deltabox-toolchain.vsix
113
+ is always produced.
114
+
115
+ ### Package changes
116
+ #### Added
117
+ - `@clack/prompts` `^1.8.1`
118
+ #### Updated
119
+ - `vite-plus` `^1.2.0` → `>=1`
120
+
121
+ ## 1.3.1 (October 2026)
122
+
7
123
  ### Documentation
8
124
  - Update config generator documentation ([#0dfbf88](https://github.com/deltabox-studio/toolchain/commit/0dfbf88) by [T0chi](https://github.com/T0chi))
9
125
  - Update config generator reference link ([#2f0adde](https://github.com/deltabox-studio/toolchain/commit/2f0adde) by [T0chi](https://github.com/T0chi))
10
126
  - Update features descriptions ([#e9c0a6d](https://github.com/deltabox-studio/toolchain/commit/e9c0a6d) by [T0chi](https://github.com/T0chi))
11
127
 
12
- <!-- release:end -->
13
-
14
-
15
128
  ## 1.3.0 (October 2026)
16
129
 
17
130
  ### New features
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 migrate other tools onto Ox.
7
+ All-in-one, config-driven dev toolchain: scaffold projects, generate and manage configs, tsconfigs, syncing, changelogs and CI, run Vite+, and migrate other tools onto Oxc.
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.
@@ -12,31 +12,33 @@ All-in-one, config-driven dev toolchain: scaffold projects, generate and manage
12
12
  - Sync your entire project so workspaces, docs and CI are always up-to-date.
13
13
  - Plug it into Vite / Vite+ and streamline your DX for your existing Vite setup.
14
14
 
15
- See the [list of features](#features) below.
15
+ See the [list of features](#features).
16
16
 
17
- `@deltabox/toolchain` is driven by a single `dbx.config.ts` at a repo
18
- root. Define the sections you want and the toolchain generates and keeps the
19
- matching files in sync.
17
+ <div align="left">
18
+ <img src="./apps/docs/public/vscode-screenshot.png" width="300" />
19
+ </div>
20
+
21
+ What you see above is the VS Code extension. Read more about it at [toolchain.deltabox.studio/guide/vscode](https://toolchain.deltabox.studio/guide/vscode).
20
22
 
21
23
  See [CHANGELOG.md](/CHANGELOG.md) for latest updates.
22
24
 
23
- Documentation, guides and examples: [toolchain.deltabox.studio](https://toolchain.deltabox.studio/guide).
25
+ Documentation, guides and examples at [toolchain.deltabox.studio](https://toolchain.deltabox.studio/guide).
24
26
 
25
27
  ## Table of contents
26
28
 
27
29
  - [deltabox toolchain](#deltabox-toolchain)
28
- - [Table of contents](#table-of-contents)
29
- - [Features](#features)
30
- - [Install](#install)
31
- - [Quickstart](#quickstart)
32
- - [Config generator](#config-generator)
33
- - [Vite / Vite+ plugin](#vite--vite-plugin)
34
- - [CLI](#cli)
35
- - [Programmatic API](#programmatic-api)
36
- - [VS Code extension](#vs-code-extension)
37
- - [Development](#development)
38
- - [Docs](#docs)
39
- - [License](#license)
30
+ - [Table of contents](#table-of-contents)
31
+ - [Features](#features)
32
+ - [Install](#install)
33
+ - [Quickstart](#quickstart)
34
+ - [Config generator](#config-generator)
35
+ - [Vite / Vite+ plugin](#vite--vite-plugin)
36
+ - [CLI](#cli)
37
+ - [Programmatic API](#programmatic-api)
38
+ - [VS Code extension](#vs-code-extension)
39
+ - [Development](#development)
40
+ - [Docs](#docs)
41
+ - [License](#license)
40
42
 
41
43
  ## Features
42
44
 
@@ -94,7 +96,7 @@ export default defineConfig({
94
96
  changelog: { workflows: { ci: true, release: true } },
95
97
  tsconfig: { refs: true },
96
98
  biome: true,
97
- vite: { defaultTemplate: '@acme' },
99
+ vite: { fmt: { semi: true, singleQuote: true } },
98
100
  },
99
101
  });
100
102
  ```
@@ -182,26 +184,21 @@ dbx as part of its own pipeline — no separate `dbx sync` step:
182
184
  // vite.config.ts
183
185
  import { defineConfig } from 'vite'; // or 'vite-plus'
184
186
 
185
- import { defineDbxConfig } from '@deltabox/toolchain/vite';
187
+ import { dbx, DBX_TASKS } from '@deltabox/toolchain/vite';
186
188
 
187
- export default defineConfig(
188
- defineDbxConfig({
189
- // your usual Vite / Vite+ config
190
- })
191
- );
189
+ export default defineConfig({
190
+ plugins: [dbx()],
191
+ run: { tasks: { ...DBX_TASKS } },
192
+ // your usual Vite / Vite+ config
193
+ });
192
194
  ```
193
195
 
194
196
  - The `dbx()` plugin runs `dbx sync` before the dev server / build, or
195
197
  `dbx sync --check` in CI (which fails the build when generated files are out of
196
198
  date), and re-syncs when a `dbx.config.*` / `tsconfig.*.json` input changes.
197
- - `defineDbxConfig` also registers `vp run dbx:sync` / `vp run dbx:check`. Prefer
198
- the bare plugin when you don't want the tasks:
199
-
200
- ```ts
201
- import { dbx } from '@deltabox/toolchain/vite';
202
-
203
- export default defineConfig({ plugins: [dbx({ check: true })] });
204
- ```
199
+ - `run: { tasks: { ...DBX_TASKS } }` additionally exposes `vp run dbx:sync` /
200
+ `vp run dbx:check` (Vite+ reads `run.tasks` from the static config, which a
201
+ plugin cannot add). Drop the `run` block if you don't want those tasks.
205
202
 
206
203
  See the [providers guide](https://toolchain.deltabox.studio/guide/providers).
207
204
 
@@ -215,9 +212,9 @@ config-derived defaults apply unless overridden on the command line.
215
212
  ## Programmatic API
216
213
 
217
214
  ```ts
218
- import { defineConfig, loadToolingConfig, runSync, defaultSyncTasks } from '@deltabox/toolchain';
215
+ import { defineConfig, loadToolchainConfig, runSync, defaultSyncTasks } from '@deltabox/toolchain';
219
216
 
220
- const { config, tokens, projectType } = await loadToolingConfig(process.cwd());
217
+ const { config, tokens, projectType } = await loadToolchainConfig(process.cwd());
221
218
  await runSync({ tasks: defaultSyncTasks(), cwd: process.cwd(), config, tokens, projectType });
222
219
  ```
223
220
 
@@ -225,10 +222,6 @@ await runSync({ tasks: defaultSyncTasks(), cwd: process.cwd(), config, tokens, p
225
222
 
226
223
  A VS Code extension is available for `deltabox toolchain`.
227
224
 
228
- <div align="center">
229
- <img src="./apps/docs/public/vscode-screenshot.png" width="300" />
230
- </div>
231
-
232
225
  Follow the steps below to use it. Will be published to the marketplace in the future.
233
226
 
234
227
  1. Download `deltabox-toolchain.vsix` from [releases](https://github.com/deltabox-studio/toolchain/releases).
@@ -10,8 +10,9 @@ import { renderChangelogEntry } from "./packages/changelog/src/utils/version.js"
10
10
  import { main, runChangelog } from "./packages/changelog/src/run.js";
11
11
  import { DEFAULT_WORKFLOW_TOKENS, RenderWorkflowOptions, WORKFLOW_FILENAMES, Workflow, WorkflowId, WorkflowJob, applyWorkflowConfig, defaultWorkflows, isEnabled, renderWorkflow, renderWorkflows } from "./packages/changelog/src/workflows.js";
12
12
  import { RanWorkflow, RunWorkflowsOptions, RunWorkflowsResult, resolveWorkflowId, runWorkflows } from "./packages/changelog/src/run-workflows.js";
13
- import { COMMITLINT_HEADER, WORKFLOW_HEADER, changelogSyncTask, workflowFilenames } from "./packages/changelog/src/sync.js";
13
+ import { COMMITLINT_HEADER, COMMIT_MSG_HOOK, HOOK_HEADER, WORKFLOW_HEADER, changelogSyncTask, workflowFilenames } from "./packages/changelog/src/sync.js";
14
14
  import { CommitlintOptions, conventionalCommitsVscodeExtensions, conventionalCommitsVscodeSettings, renderCommitlintConfig } from "./packages/changelog/src/templates.js";
15
+ import { PlanVersionsOptions, ResolvedVersioning, VersionPackages, VersionPlan, VersioningTarget, discoverVersionPackages, planVersions, readPackageVersion, resolveVersioning, writePackageVersion } from "./packages/changelog/src/utils/versioning.js";
15
16
  import "./packages/changelog/src/index.js";
16
17
  import { changelogCommands } from "./packages/changelog/src/cli/index.js";
17
- export { AuthorInfo, BumpType, COMMITLINT_HEADER, CliOptions, CommitRecord, CommitlintOptions, DEFAULT_WORKFLOW_TOKENS, ExistingEntry, GroupedItem, GroupedRule, IssueInfo, ParsedCommit, ProcessingMethod, RanWorkflow, RenderWorkflowOptions, RunWorkflowsOptions, RunWorkflowsResult, WORKFLOW_FILENAMES, WORKFLOW_HEADER, Workflow, WorkflowId, WorkflowJob, applyWorkflowConfig, buildSummary, changelogCommands, changelogSyncTask, conventionalCommitsVscodeExtensions, conventionalCommitsVscodeSettings, defaultWorkflows, deriveBump, formatBody, groupItems, isEnabled, main, parseArgsCli, parseCcSubject, parseExistingChangelog, readCommits, reformatChangelogContent, renderChangelogEntry, renderCommitRef, renderCommitlintConfig, renderGroups, renderWorkflow, renderWorkflows, resolveWorkflowId, ruleTitle, runChangelog, runWorkflows, splitInlineDescription, workflowFilenames };
18
+ export { AuthorInfo, BumpType, COMMITLINT_HEADER, COMMIT_MSG_HOOK, CliOptions, CommitRecord, CommitlintOptions, DEFAULT_WORKFLOW_TOKENS, ExistingEntry, GroupedItem, GroupedRule, HOOK_HEADER, IssueInfo, ParsedCommit, PlanVersionsOptions, ProcessingMethod, RanWorkflow, RenderWorkflowOptions, ResolvedVersioning, RunWorkflowsOptions, RunWorkflowsResult, VersionPackages, VersionPlan, VersioningTarget, WORKFLOW_FILENAMES, WORKFLOW_HEADER, Workflow, WorkflowId, WorkflowJob, applyWorkflowConfig, buildSummary, changelogCommands, changelogSyncTask, conventionalCommitsVscodeExtensions, conventionalCommitsVscodeSettings, defaultWorkflows, deriveBump, discoverVersionPackages, formatBody, groupItems, isEnabled, main, parseArgsCli, parseCcSubject, parseExistingChangelog, planVersions, readCommits, readPackageVersion, reformatChangelogContent, renderChangelogEntry, renderCommitRef, renderCommitlintConfig, renderGroups, renderWorkflow, renderWorkflows, resolveVersioning, resolveWorkflowId, ruleTitle, runChangelog, runWorkflows, splitInlineDescription, workflowFilenames, writePackageVersion };
package/dist/changelog.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{parseArgsCli as e}from"./packages/changelog/src/utils/args.js";import{deriveBump as t,readCommits as n}from"./packages/changelog/src/utils/git.js";import{formatBody as r,groupItems as i,parseCcSubject as a,renderGroups as o,ruleTitle as s,splitInlineDescription as c}from"./packages/changelog/src/utils/format.js";import{renderChangelogEntry as l}from"./packages/changelog/src/utils/version.js";import{parseExistingChangelog as u,reformatChangelogContent as d}from"./packages/changelog/src/utils/reformat.js";import{buildSummary as f,renderCommitRef as p}from"./packages/changelog/src/utils/summary.js";import{main as m,runChangelog as h}from"./packages/changelog/src/run.js";import{DEFAULT_WORKFLOW_TOKENS as g,WORKFLOW_FILENAMES as _,applyWorkflowConfig as v,defaultWorkflows as y,isEnabled as b,renderWorkflow as x,renderWorkflows as S}from"./packages/changelog/src/workflows.js";import{resolveWorkflowId as C,runWorkflows as w}from"./packages/changelog/src/run-workflows.js";import{conventionalCommitsVscodeExtensions as T,conventionalCommitsVscodeSettings as E,renderCommitlintConfig as D}from"./packages/changelog/src/templates.js";import{COMMITLINT_HEADER as O,WORKFLOW_HEADER as k,changelogSyncTask as A,workflowFilenames as j}from"./packages/changelog/src/sync.js";import"./packages/changelog/src/index.js";import{changelogCommands as M}from"./packages/changelog/src/cli/index.js";export{O as COMMITLINT_HEADER,g as DEFAULT_WORKFLOW_TOKENS,_ as WORKFLOW_FILENAMES,k as WORKFLOW_HEADER,v as applyWorkflowConfig,f as buildSummary,M as changelogCommands,A as changelogSyncTask,T as conventionalCommitsVscodeExtensions,E as conventionalCommitsVscodeSettings,y as defaultWorkflows,t as deriveBump,r as formatBody,i as groupItems,b as isEnabled,m as main,e as parseArgsCli,a as parseCcSubject,u as parseExistingChangelog,n as readCommits,d as reformatChangelogContent,l as renderChangelogEntry,p as renderCommitRef,D as renderCommitlintConfig,o as renderGroups,x as renderWorkflow,S as renderWorkflows,C as resolveWorkflowId,s as ruleTitle,h as runChangelog,w as runWorkflows,c as splitInlineDescription,j as workflowFilenames};
1
+ import"node:path";import"node:url";import.meta.url;import{parseArgsCli as e}from"./packages/changelog/src/utils/args.js";import{deriveBump as t,readCommits as n}from"./packages/changelog/src/utils/git.js";import{formatBody as r,groupItems as i,parseCcSubject as a,renderGroups as o,ruleTitle as s,splitInlineDescription as c}from"./packages/changelog/src/utils/format.js";import{renderChangelogEntry as l}from"./packages/changelog/src/utils/version.js";import{parseExistingChangelog as u,reformatChangelogContent as d}from"./packages/changelog/src/utils/reformat.js";import{buildSummary as f,renderCommitRef as p}from"./packages/changelog/src/utils/summary.js";import{discoverVersionPackages as m,planVersions as h,readPackageVersion as g,resolveVersioning as _,writePackageVersion as v}from"./packages/changelog/src/utils/versioning.js";import{main as y,runChangelog as b}from"./packages/changelog/src/run.js";import{DEFAULT_WORKFLOW_TOKENS as x,WORKFLOW_FILENAMES as S,applyWorkflowConfig as C,defaultWorkflows as w,isEnabled as T,renderWorkflow as E,renderWorkflows as D}from"./packages/changelog/src/workflows.js";import{resolveWorkflowId as O,runWorkflows as k}from"./packages/changelog/src/run-workflows.js";import{conventionalCommitsVscodeExtensions as A,conventionalCommitsVscodeSettings as j,renderCommitlintConfig as M}from"./packages/changelog/src/templates.js";import{COMMITLINT_HEADER as N,COMMIT_MSG_HOOK as P,HOOK_HEADER as F,WORKFLOW_HEADER as I,changelogSyncTask as L,workflowFilenames as R}from"./packages/changelog/src/sync.js";import"./packages/changelog/src/index.js";import{changelogCommands as z}from"./packages/changelog/src/cli/index.js";export{N as COMMITLINT_HEADER,P as COMMIT_MSG_HOOK,x as DEFAULT_WORKFLOW_TOKENS,F as HOOK_HEADER,S as WORKFLOW_FILENAMES,I as WORKFLOW_HEADER,C as applyWorkflowConfig,f as buildSummary,z as changelogCommands,L as changelogSyncTask,A as conventionalCommitsVscodeExtensions,j as conventionalCommitsVscodeSettings,w as defaultWorkflows,t as deriveBump,m as discoverVersionPackages,r as formatBody,i as groupItems,T as isEnabled,y as main,e as parseArgsCli,a as parseCcSubject,u as parseExistingChangelog,h as planVersions,n as readCommits,g as readPackageVersion,d as reformatChangelogContent,l as renderChangelogEntry,p as renderCommitRef,M as renderCommitlintConfig,o as renderGroups,E as renderWorkflow,D as renderWorkflows,_ as resolveVersioning,O as resolveWorkflowId,s as ruleTitle,b as runChangelog,k as runWorkflows,c as splitInlineDescription,R as workflowFilenames,v as writePackageVersion};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../packages/shared/src/logger.js";import"../../packages/shared/src/index.js";import{toolingProviders as t}from"../../providers.js";function n(){return[{name:`providers`,description:`List the tooling providers (Vite+, ...) and their commands.`,options:[{flags:`--json`,description:`Print the providers (with actions) as JSON.`}],run:n=>{let r=t();if(n.json)e.raw(JSON.stringify(r,null,4));else for(let t of r){let n=t.binary?` (${t.binary})`:``;e.info(`${t.name}${n} [${t.id}]`),t.description&&e.info(` ${t.description}`);for(let n of t.commands)e.info(` ${n.name.padEnd(20)} ${n.description}`)}}}]}export{n as providerCommands};
1
+ import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../packages/shared/src/logger.js";import{spawnCross as t}from"../../packages/shared/src/run.js";import"../../packages/shared/src/index.js";import{readProviderRegistry as n}from"../../packages/core/src/provider-registry.js";import"../../packages/core/src/index.js";import{toolchainProviders as r}from"../../providers.js";const i={flags:`--cwd <dir>`,description:`Project root (default: cwd).`};function a(n,r){return{name:r.name,description:`${n.name}: ${r.description}`,passthrough:!0,options:[i],run:async(i,a)=>{let o=i.args??[],s=i.cwd??a.cwd;if(!n.binary){e.error(`provider "${n.id}" has no binary to run.`),process.exitCode=1;return}let c=await new Promise(e=>{let i=t(n.binary,[r.subcommand,...o],{cwd:s,env:process.env,stdio:`inherit`});i.on(`error`,()=>e(1)),i.on(`exit`,t=>e(t??0))});c!==0&&(process.exitCode=c)}}}function o(e=process.cwd()){return n(e).flatMap(e=>e.commands.map(t=>a(e,t)))}function s(){return[{name:`providers`,description:`List the tooling providers (Vite+, ...) and their commands.`,options:[{flags:`--json`,description:`Print the providers (with actions) as JSON.`}],run:t=>{let n=r();if(t.json)e.raw(JSON.stringify(n,null,4));else for(let t of n){let n=t.binary?` (${t.binary})`:``;e.info(`${t.name}${n} [${t.id}]`),t.description&&e.info(` ${t.description}`);for(let n of t.commands)e.info(` ${n.name.padEnd(20)} ${n.description}`)}}},...o()]}export{s as providerCommands,o as providerPassthroughCommands};
@@ -1 +1 @@
1
- import{default as e}from"node:path";import"node:url";import.meta.url;import{logger as t}from"../../packages/shared/src/logger.js";import"../../packages/shared/src/index.js";import{loadToolingConfig as n}from"../../packages/core/src/loader.js";import{buildProjectGraph as r,writeProjectGraph as i}from"../../packages/core/src/graph.js";import{runSync as a}from"../../packages/core/src/sync.js";import{runWatch as o}from"../../packages/core/src/watch.js";import"../../packages/core/src/index.js";import{defaultSyncTasks as s}from"../../sync.js";import{baseOptions as c,watchOptions as l}from"./shared.js";function u(){return{name:`sync`,description:`Regenerate every managed file from dbx.config.*.`,options:[...c,{flags:`--check`,description:`Do not write; fail if files are out of date.`},{flags:`--watch`,description:`Keep running and re-sync on change.`},{flags:`--recursive`,description:`Sync every discovered dbx project in dependency order.`},{flags:`--force`,description:`Run even when no dbx.config.* is present.`}],run:async(c,u)=>{let d=!!c.quiet,f=!!c.check;if(c.recursive){let t=r(u.cwd);f||i(u.cwd,t);for(let r of t.order){let t=e.resolve(u.cwd,r),i=await n(t),o=await a({tasks:s(),cwd:t,projectType:i.projectType,config:i.config,tokens:i.tokens,check:f,quiet:d});f&&!o.upToDate&&(process.exitCode=1)}return}if(!u.configPath&&!c.force){t.warn(`no dbx.config.* found here; nothing to sync (use --force to run anyway).`);return}if(c.watch){await o({...l(u),quiet:d});return}let p=await a({...l(u),check:f,quiet:d});if(f&&!p.upToDate&&(process.exitCode=1),!f)try{i(u.cwd,r(u.cwd))}catch{}}}}export{u as syncCommand};
1
+ import{default as e}from"node:path";import"node:url";import.meta.url;import{logger as t}from"../../packages/shared/src/logger.js";import"../../packages/shared/src/index.js";import{loadToolchainConfig as n}from"../../packages/core/src/loader.js";import{buildProjectGraph as r,writeProjectGraph as i}from"../../packages/core/src/graph.js";import{runSync as a}from"../../packages/core/src/sync.js";import{runWatch as o}from"../../packages/core/src/watch.js";import"../../packages/core/src/index.js";import{defaultSyncTasks as s}from"../../sync.js";import{baseOptions as c,watchOptions as l}from"./shared.js";function u(){return{name:`sync`,description:`Regenerate every managed file from dbx.config.*.`,options:[...c,{flags:`--check`,description:`Do not write; fail if files are out of date.`},{flags:`--watch`,description:`Keep running and re-sync on change.`},{flags:`--recursive`,description:`Sync every discovered dbx project in dependency order.`},{flags:`--force`,description:`Run even when no dbx.config.* is present.`}],run:async(c,u)=>{let d=!!c.quiet,f=!!c.check;if(c.recursive){let t=r(u.cwd);f||i(u.cwd,t);for(let r of t.order){let t=e.resolve(u.cwd,r),i=await n(t),o=await a({tasks:s(),cwd:t,projectType:i.projectType,config:i.config,tokens:i.tokens,check:f,quiet:d});f&&!o.upToDate&&(process.exitCode=1)}return}if(!u.configPath&&!c.force){t.warn(`no dbx.config.* found here; nothing to sync (use --force to run anyway).`);return}if(c.watch){await o({...l(u),quiet:d});return}let p=await a({...l(u),check:f,quiet:d});if(f&&!p.upToDate&&(process.exitCode=1),!f)try{i(u.cwd,r(u.cwd))}catch{}}}}export{u as syncCommand};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{loadToolingConfig as e}from"../packages/core/src/loader.js";import"../packages/core/src/index.js";const t=/* @__PURE__ */ new Map;function n(n){let r=t.get(n);return r||(r=e(n),t.set(n,r)),r}export{n as loadContext};
1
+ import"node:path";import"node:url";import.meta.url;import{loadToolchainConfig as e}from"../packages/core/src/loader.js";import"../packages/core/src/index.js";const t=/* @__PURE__ */ new Map;function n(n){let r=t.get(n);return r||(r=e(n),t.set(n,r)),r}export{n as loadContext};
@@ -1,13 +1,13 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { LoggerOptions } from "../packages/shared/src/logger.js";
4
- import { ToolingCommand } from "../packages/shared/src/types.js";
4
+ import { ToolchainCommand } from "../packages/shared/src/types.js";
5
5
  import "../packages/shared/src/index.js";
6
- import { registerToolingCommands } from "./register.js";
6
+ import { registerToolchainCommands } from "./register.js";
7
7
  import { Command } from "commander";
8
8
  //#region src/cli/index.d.ts
9
9
  /** The commands built into the root CLI (config commands need a consumer engine). */
10
- export declare function builtinCommands(): ToolingCommand[];
10
+ export declare function builtinCommands(): ToolchainCommand[];
11
11
  /**
12
12
  * Default a bare Vite+ command to the `vite` passthrough: when the first
13
13
  * operand is not a built-in `dbx` command but names a Vite+ subcommand (or one
@@ -44,4 +44,4 @@ export declare function createCli(): Command;
44
44
  /** Parse and run the CLI. */
45
45
  export declare function runCli(argv?: string[]): Promise<void>;
46
46
  //#endregion
47
- export { registerToolingCommands };
47
+ export { registerToolchainCommands };
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{projectCommands as o}from"../packages/project/src/cli/index.js";import{resolveVpCommand as s}from"../packages/vite/src/commands.js";import{viteCommands as c}from"../packages/vite/src/cli/index.js";import{changelogCommands as l}from"../packages/changelog/src/cli/index.js";import{migrateCommands as u}from"../packages/migrate/src/cli/index.js";import{templateCommands as d}from"../packages/template/src/cli/index.js";import{tsconfigCommands as f}from"../packages/tsconfig/src/cli/index.js";import{cleanupCommands as p}from"../packages/tsdown/src/cli/index.js";import{version as m}from"../package.js";import{syncCommands as h}from"./commands/index.js";import{isPassthroughCommand as g,registerToolingCommands 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(),...f(),...p(),...l(),...u(),...o(),...d(),...c()]}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)||!s(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(m,`-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,x()),e}async function D(e=process.argv){let{argv:t,options:n}=w(e),{argv:r,updateCheck:a}=T(t);i(n),e.some(e=>e===`--help`||e===`-h`||e===`--version`)||v(m,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 registerToolingCommands,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{projectCommands as o}from"../packages/project/src/cli/index.js";import{resolveVpCommand as s}from"../packages/vite/src/commands.js";import{viteCommands as c}from"../packages/vite/src/cli/index.js";import{changelogCommands as l}from"../packages/changelog/src/cli/index.js";import{migrateCommands as u}from"../packages/migrate/src/cli/index.js";import{templateCommands as d}from"../packages/template/src/cli/index.js";import{tsconfigCommands as f}from"../packages/tsconfig/src/cli/index.js";import{cleanupCommands as p}from"../packages/tsdown/src/cli/index.js";import{version as m}from"../package.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(),...f(),...p(),...l(),...u(),...o(),...d(),...c()]}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)||!s(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(m,`-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),e.some(e=>e===`--help`||e===`-h`||e===`--version`)||v(m,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};
@@ -1,14 +1,14 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
- import { ToolingCommand } from "../packages/shared/src/types.js";
3
+ import { ToolchainCommand } from "../packages/shared/src/types.js";
4
4
  import "../packages/shared/src/index.js";
5
5
  import { Command } from "commander";
6
6
  //#region src/cli/register.d.ts
7
7
  /**
8
- * Register {@link ToolingCommand} descriptors on a commander program. Before a
8
+ * Register {@link ToolchainCommand} descriptors on a commander program. Before a
9
9
  * command runs, the consumer's `dbx.config.*` is loaded (once per cwd)
10
10
  * and passed as context. Only flags the user *explicitly typed* are forwarded,
11
11
  * so config-derived defaults win unless overridden on the CLI.
12
12
  */
13
- export declare function registerToolingCommands(program: Command, commands: ToolingCommand[]): Command;
13
+ export declare function registerToolchainCommands(program: Command, commands: ToolchainCommand[]): Command;
14
14
  //#endregion
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{getLogOverrides as e,logger as t,setLogConfig as n,setLogOverrides as r}from"../packages/shared/src/logger.js";import"../packages/shared/src/index.js";import{loadContext as i}from"./context.js";import{optionKeys as a}from"./options.js";let o=!1;function s(){return o}function c(s,c){let l=new Set(c.filter(e=>e.passthrough).map(e=>e.name));s.hook(`preSubcommand`,(e,t)=>{o=l.has(t.name())});for(let o of c){let c=s.command(o.name).description(o.description);o.passthrough&&c.allowUnknownOption(!0).allowExcessArguments(!0);let l=/* @__PURE__ */ new Set;for(let e of o.options??[]){for(let t of a(e.flags))l.add(t);e.default===void 0?c.option(e.flags,e.description):c.option(e.flags,e.description,e.default)}for(let e of o.args??[]){let t=e.required===!1?`[`:`<`,n=e.required===!1?`]`:`>`;c.argument(`${t}${e.name}${e.variadic?`...`:``}${n}`,e.description)}c.action(async(...a)=>{let s=a.pop(),c=a.pop()??{},u={};for(let e of l)s.getOptionValueSource(e)===`cli`&&(u[e]=c[e]);if(o.passthrough)u.args=s.args.slice();else for(let[e,t]of(o.args??[]).entries())a[e]!==void 0&&(u[t.name]=a[e]);let d=u.cwd??process.cwd();try{let t=await i(d);n(t.config.logger),u.quiet===!0&&r({...e(),level:`error`});let a={cwd:d,projectType:t.projectType,config:t.config,tokens:t.tokens,...t.path?{configPath:t.path}:{}};await o.run(u,a)}catch(e){let n=e instanceof Error?e.message:String(e);t.error(n),process.exitCode=1}})}return s}export{s as isPassthroughCommand,c as registerToolingCommands};
1
+ import"node:path";import"node:url";import.meta.url;import{getLogOverrides as e,logger as t,setLogConfig as n,setLogOverrides as r}from"../packages/shared/src/logger.js";import"../packages/shared/src/index.js";import{loadContext as i}from"./context.js";import{optionKeys as a}from"./options.js";import{intro as o,outro as s}from"@clack/prompts";let c=!1;function l(){return c}function u(l,u){let d=new Set(u.filter(e=>e.passthrough).map(e=>e.name));l.hook(`preSubcommand`,(e,t)=>{c=d.has(t.name())});for(let c of u){let u=l.command(c.name).description(c.description);c.passthrough&&u.allowUnknownOption(!0).allowExcessArguments(!0);let d=/* @__PURE__ */ new Set;for(let e of c.options??[]){for(let t of a(e.flags))d.add(t);e.default===void 0?u.option(e.flags,e.description):u.option(e.flags,e.description,e.default)}for(let e of c.args??[]){let t=e.required===!1?`[`:`<`,n=e.required===!1?`]`:`>`;u.argument(`${t}${e.name}${e.variadic?`...`:``}${n}`,e.description)}u.action(async(...a)=>{let l=a.pop(),u=a.pop()??{},f={};for(let e of d)l.getOptionValueSource(e)===`cli`&&(f[e]=u[e]);if(c.passthrough)f.args=l.args.slice();else for(let[e,t]of(c.args??[]).entries())a[e]!==void 0&&(f[t.name]=a[e]);let p=f.cwd??process.cwd(),m=!c.passthrough&&f.json!==!0&&f.quiet!==!0,h=`${l.parent?.name()??``} ${c.name}`.trim();m&&o(h);try{let t=await i(p);n(t.config.logger),f.quiet===!0&&r({...e(),level:`error`});let a={cwd:p,projectType:t.projectType,config:t.config,tokens:t.tokens,...t.path?{configPath:t.path}:{}};await c.run(f,a),m&&s(process.exitCode?`Failed`:`Done`)}catch(e){let n=e instanceof Error?e.message:String(e);t.error(n),m&&s(`Failed`),process.exitCode=1}})}return l}export{l as isPassthroughCommand,u as registerToolchainCommands};
package/dist/config.d.ts CHANGED
@@ -8,7 +8,7 @@ import { CliArgsOptionConfig, CliArgsParser, CliArgsResult, CliArgsValues, CliFl
8
8
  import { GenerateEnvTypesOptions, generateEnv, generateEnvDts, generateEnvTypes } from "./packages/config/src/generators/env.js";
9
9
  import { GenerateJsonSchemaOptions, generateConfigJsonSchema, generateJsonSchemaFile } from "./packages/config/src/generators/json.js";
10
10
  import { ConfigFileSection, GenerateMarkdownOptions, RenderConfigFileOptions, RenderMarkdownOptions, generateConfigMarkdown, renderConfigFileMarkdown, renderConfigIndex, renderScopeMarkdown } from "./packages/config/src/generators/markdown.js";
11
- import { GenerateTypesOptions, generateConfigTypes, renderAllConfigTypes, renderConfigTypes, resolveScopeSchema } from "./packages/config/src/generators/types.js";
11
+ import { GenerateTypesOptions, generateConfigTypes, renderAllConfigTypes, renderConfigImports, renderConfigTypes, resolveScopeSchema } from "./packages/config/src/generators/types.js";
12
12
  import { ConfigEngine, createConfigEngine } from "./packages/config/src/engine.js";
13
13
  import { EnvSource, EnvTree, applyOverrides, envBool, envInt, envList, envMap, envString, parseEnvTree, readEnvPath, trimTrailingSlashes } from "./packages/config/src/env.js";
14
14
  import { FormatGeneratedOptions, GENERATED_FORMAT_OPTIONS, formatGenerated } from "./packages/config/src/generated-format.js";
@@ -16,4 +16,4 @@ import { findProjectRoot, monorepoRoot } from "./packages/config/src/root.js";
16
16
  import { SplitSchema, compileZodSchema, envMetaOf, flattenBaseSchema, renderTsType, resolveUntypedSchema, splitBaseSchema, zodToJsonSchema, zodToUntypedDefinition } from "./packages/config/src/schema.js";
17
17
  import "./packages/config/src/index.js";
18
18
  import { ConfigCommandContext, ConfigCommandDefaults, configCommands } from "./packages/config/src/cli/index.js";
19
- export { BuildConfigJsonOptions, CliArgsOptionConfig, CliArgsParser, CliArgsResult, CliArgsValues, CliFlagOptions, CliOptionDef, CollectEnvVarsOptions, ConfigCommandContext, ConfigCommandDefaults, ConfigEngine, ConfigEngineOptions, ConfigFileSection, ConfigJsonDoc, ConfigJsonEntry, ConfigScopeDef, ConfigScopes, DEFAULT_ENV_PREFIX, EnvFileOptions, EnvSource, EnvTree, EnvValueType, EnvVarDef, EnvVarMeta, FormatGeneratedOptions, GENERATED_FORMAT_OPTIONS, GenerateCliOptionsOptions, GenerateEnvTypesOptions, GenerateJsonSchemaOptions, GenerateMarkdownOptions, GenerateTypesOptions, RenderConfigFileOptions, RenderMarkdownOptions, SplitSchema, applyOverrides, buildConfigJson, cliFlagLabel, cliFlagOf, cliShortOf, collectEnvVars, collectRequiredEnvVars, compileZodSchema, configCommands, createCliArgsParser, createConfigEngine, envBool, envInt, envList, envMap, envMetaOf, envPathOf, envString, findProjectRoot, flagOf, flattenBaseSchema, formatGenerated, generateCliArgsOptions, generateCliOptions, generateConfigJsonSchema, generateConfigMarkdown, generateConfigTypes, generateEnv, generateEnvDts, generateEnvFile, generateEnvTypes, generateJsonSchemaFile, monorepoRoot, parseEnvTree, readEnvPath, renderAllConfigTypes, renderConfigFileMarkdown, renderConfigIndex, renderConfigTypes, renderScopeMarkdown, renderTsType, resolveScopeSchema, resolveUntypedSchema, splitBaseSchema, trimTrailingSlashes, zodToJsonSchema, zodToUntypedDefinition };
19
+ export { BuildConfigJsonOptions, CliArgsOptionConfig, CliArgsParser, CliArgsResult, CliArgsValues, CliFlagOptions, CliOptionDef, CollectEnvVarsOptions, ConfigCommandContext, ConfigCommandDefaults, ConfigEngine, ConfigEngineOptions, ConfigFileSection, ConfigJsonDoc, ConfigJsonEntry, ConfigScopeDef, ConfigScopes, DEFAULT_ENV_PREFIX, EnvFileOptions, EnvSource, EnvTree, EnvValueType, EnvVarDef, EnvVarMeta, FormatGeneratedOptions, GENERATED_FORMAT_OPTIONS, GenerateCliOptionsOptions, GenerateEnvTypesOptions, GenerateJsonSchemaOptions, GenerateMarkdownOptions, GenerateTypesOptions, RenderConfigFileOptions, RenderMarkdownOptions, SplitSchema, applyOverrides, buildConfigJson, cliFlagLabel, cliFlagOf, cliShortOf, collectEnvVars, collectRequiredEnvVars, compileZodSchema, configCommands, createCliArgsParser, createConfigEngine, envBool, envInt, envList, envMap, envMetaOf, envPathOf, envString, findProjectRoot, flagOf, flattenBaseSchema, formatGenerated, generateCliArgsOptions, generateCliOptions, generateConfigJsonSchema, generateConfigMarkdown, generateConfigTypes, generateEnv, generateEnvDts, generateEnvFile, generateEnvTypes, generateJsonSchemaFile, monorepoRoot, parseEnvTree, readEnvPath, renderAllConfigTypes, renderConfigFileMarkdown, renderConfigImports, renderConfigIndex, renderConfigTypes, renderScopeMarkdown, renderTsType, resolveScopeSchema, resolveUntypedSchema, splitBaseSchema, trimTrailingSlashes, zodToJsonSchema, zodToUntypedDefinition };
package/dist/config.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{compileZodSchema as e,envMetaOf as t,flattenBaseSchema as n,renderTsType as r,resolveUntypedSchema as i,splitBaseSchema as a,zodToJsonSchema as o,zodToUntypedDefinition as s}from"./packages/config/src/schema.js";import{envPathOf as c}from"./packages/config/src/types.js";import{DEFAULT_ENV_PREFIX as l,collectEnvVars as u,collectRequiredEnvVars as d}from"./packages/config/src/collect.js";import{buildConfigJson as f}from"./packages/config/src/config-json.js";import{generateEnvFile as p}from"./packages/config/src/env-file.js";import{cliFlagLabel as m,cliFlagOf as h,cliShortOf as g,createCliArgsParser as _,flagOf as v,generateCliArgsOptions as y,generateCliOptions as b}from"./packages/config/src/generators/cli.js";import{generateEnv as x,generateEnvDts as S,generateEnvTypes as C}from"./packages/config/src/generators/env.js";import{generateConfigJsonSchema as w,generateJsonSchemaFile as T}from"./packages/config/src/generators/json.js";import{generateConfigMarkdown as E,renderConfigFileMarkdown as D,renderConfigIndex as O,renderScopeMarkdown as k}from"./packages/config/src/generators/markdown.js";import{generateConfigTypes as A,renderAllConfigTypes as j,renderConfigTypes as M,resolveScopeSchema as N}from"./packages/config/src/generators/types.js";import{findProjectRoot as P,monorepoRoot as F}from"./packages/config/src/root.js";import{createConfigEngine as I}from"./packages/config/src/engine.js";import{applyOverrides as L,envBool as R,envInt as z,envList as B,envMap as V,envString as H,parseEnvTree as U,readEnvPath as W,trimTrailingSlashes as G}from"./packages/config/src/env.js";import{GENERATED_FORMAT_OPTIONS as K,formatGenerated as q}from"./packages/config/src/generated-format.js";import"./packages/config/src/index.js";import{configCommands as J}from"./packages/config/src/cli/index.js";export{l as DEFAULT_ENV_PREFIX,K as GENERATED_FORMAT_OPTIONS,L as applyOverrides,f as buildConfigJson,m as cliFlagLabel,h as cliFlagOf,g as cliShortOf,u as collectEnvVars,d as collectRequiredEnvVars,e as compileZodSchema,J as configCommands,_ as createCliArgsParser,I as createConfigEngine,R as envBool,z as envInt,B as envList,V as envMap,t as envMetaOf,c as envPathOf,H as envString,P as findProjectRoot,v as flagOf,n as flattenBaseSchema,q as formatGenerated,y as generateCliArgsOptions,b as generateCliOptions,w as generateConfigJsonSchema,E as generateConfigMarkdown,A as generateConfigTypes,x as generateEnv,S as generateEnvDts,p as generateEnvFile,C as generateEnvTypes,T as generateJsonSchemaFile,F as monorepoRoot,U as parseEnvTree,W as readEnvPath,j as renderAllConfigTypes,D as renderConfigFileMarkdown,O as renderConfigIndex,M as renderConfigTypes,k as renderScopeMarkdown,r as renderTsType,N as resolveScopeSchema,i as resolveUntypedSchema,a as splitBaseSchema,G as trimTrailingSlashes,o as zodToJsonSchema,s as zodToUntypedDefinition};
1
+ import"node:path";import"node:url";import.meta.url;import{compileZodSchema as e,envMetaOf as t,flattenBaseSchema as n,renderTsType as r,resolveUntypedSchema as i,splitBaseSchema as a,zodToJsonSchema as o,zodToUntypedDefinition as s}from"./packages/config/src/schema.js";import{envPathOf as c}from"./packages/config/src/types.js";import{DEFAULT_ENV_PREFIX as l,collectEnvVars as u,collectRequiredEnvVars as d}from"./packages/config/src/collect.js";import{buildConfigJson as f}from"./packages/config/src/config-json.js";import{generateEnvFile as p}from"./packages/config/src/env-file.js";import{cliFlagLabel as m,cliFlagOf as h,cliShortOf as g,createCliArgsParser as _,flagOf as v,generateCliArgsOptions as y,generateCliOptions as b}from"./packages/config/src/generators/cli.js";import{generateEnv as x,generateEnvDts as S,generateEnvTypes as C}from"./packages/config/src/generators/env.js";import{generateConfigJsonSchema as w,generateJsonSchemaFile as T}from"./packages/config/src/generators/json.js";import{generateConfigMarkdown as E,renderConfigFileMarkdown as D,renderConfigIndex as O,renderScopeMarkdown as k}from"./packages/config/src/generators/markdown.js";import{generateConfigTypes as A,renderAllConfigTypes as j,renderConfigImports as M,renderConfigTypes as N,resolveScopeSchema as P}from"./packages/config/src/generators/types.js";import{findProjectRoot as F,monorepoRoot as I}from"./packages/config/src/root.js";import{createConfigEngine as L}from"./packages/config/src/engine.js";import{applyOverrides as R,envBool as z,envInt as B,envList as V,envMap as H,envString as U,parseEnvTree as W,readEnvPath as G,trimTrailingSlashes as K}from"./packages/config/src/env.js";import{GENERATED_FORMAT_OPTIONS as q,formatGenerated as J}from"./packages/config/src/generated-format.js";import"./packages/config/src/index.js";import{configCommands as Y}from"./packages/config/src/cli/index.js";export{l as DEFAULT_ENV_PREFIX,q as GENERATED_FORMAT_OPTIONS,R as applyOverrides,f as buildConfigJson,m as cliFlagLabel,h as cliFlagOf,g as cliShortOf,u as collectEnvVars,d as collectRequiredEnvVars,e as compileZodSchema,Y as configCommands,_ as createCliArgsParser,L as createConfigEngine,z as envBool,B as envInt,V as envList,H as envMap,t as envMetaOf,c as envPathOf,U as envString,F as findProjectRoot,v as flagOf,n as flattenBaseSchema,J as formatGenerated,y as generateCliArgsOptions,b as generateCliOptions,w as generateConfigJsonSchema,E as generateConfigMarkdown,A as generateConfigTypes,x as generateEnv,S as generateEnvDts,p as generateEnvFile,C as generateEnvTypes,T as generateJsonSchemaFile,I as monorepoRoot,W as parseEnvTree,G as readEnvPath,j as renderAllConfigTypes,D as renderConfigFileMarkdown,M as renderConfigImports,O as renderConfigIndex,N as renderConfigTypes,k as renderScopeMarkdown,r as renderTsType,P as resolveScopeSchema,i as resolveUntypedSchema,a as splitBaseSchema,K as trimTrailingSlashes,o as zodToJsonSchema,s as zodToUntypedDefinition};
package/dist/core.d.ts CHANGED
@@ -2,13 +2,14 @@ import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
3
  import { DBX_GITIGNORE_BLOCK, ensureDbxGitignore } from "./packages/core/src/gitignore.js";
4
4
  import { BuildProjectGraphOptions, IGNORED_DIRS, PackageManager, ProjectGraph, ProjectNode, buildProjectGraph, detectPackageManager, orderProjects, projectGraphPath, readProjectGraph, writeProjectGraph } from "./packages/core/src/graph.js";
5
- import { LoadedConfig, findConfigFile, loadToolingConfig } from "./packages/core/src/loader.js";
5
+ import { LoadedConfig, findConfigFile, loadToolchainConfig } from "./packages/core/src/loader.js";
6
6
  import { MANIFEST_DIR, MANIFEST_FILE, Manifest, readManifest, writeManifest } from "./packages/core/src/manifest.js";
7
7
  import { detectProjectType, resolveProjectType } from "./packages/core/src/project-type.js";
8
+ import { providerRegistryPath, readProviderRegistry, writeProviderRegistry } from "./packages/core/src/provider-registry.js";
8
9
  import { SelectProjectsOptions, SelectedProject, selectProjects } from "./packages/core/src/select.js";
9
- import { ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolingOptions, ResetToolingResult, resetProjects, resetTooling } from "./packages/core/src/reset.js";
10
+ import { ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolchainOptions, ResetToolchainResult, resetProjects, resetToolchain } from "./packages/core/src/reset.js";
10
11
  import { RunSyncOptions, SyncResult, runSync } from "./packages/core/src/sync.js";
11
12
  import { VscodeSyncOptions, vscodeSyncTask } from "./packages/core/src/vscode.js";
12
13
  import { RunWatchOptions, runWatch } from "./packages/core/src/watch.js";
13
14
  import "./packages/core/src/index.js";
14
- export { BuildProjectGraphOptions, DBX_GITIGNORE_BLOCK, IGNORED_DIRS, LoadedConfig, MANIFEST_DIR, MANIFEST_FILE, Manifest, PackageManager, ProjectGraph, ProjectNode, ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolingOptions, ResetToolingResult, RunSyncOptions, RunWatchOptions, SelectProjectsOptions, SelectedProject, SyncResult, VscodeSyncOptions, buildProjectGraph, detectPackageManager, detectProjectType, ensureDbxGitignore, findConfigFile, loadToolingConfig, orderProjects, projectGraphPath, readManifest, readProjectGraph, resetProjects, resetTooling, resolveProjectType, runSync, runWatch, selectProjects, vscodeSyncTask, writeManifest, writeProjectGraph };
15
+ export { BuildProjectGraphOptions, DBX_GITIGNORE_BLOCK, IGNORED_DIRS, LoadedConfig, MANIFEST_DIR, MANIFEST_FILE, Manifest, PackageManager, ProjectGraph, ProjectNode, ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolchainOptions, ResetToolchainResult, RunSyncOptions, RunWatchOptions, SelectProjectsOptions, SelectedProject, SyncResult, VscodeSyncOptions, buildProjectGraph, detectPackageManager, detectProjectType, ensureDbxGitignore, findConfigFile, loadToolchainConfig, orderProjects, projectGraphPath, providerRegistryPath, readManifest, readProjectGraph, readProviderRegistry, resetProjects, resetToolchain, resolveProjectType, runSync, runWatch, selectProjects, vscodeSyncTask, writeManifest, writeProjectGraph, writeProviderRegistry };
package/dist/core.js CHANGED
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{DBX_GITIGNORE_BLOCK as e,ensureDbxGitignore as t}from"./packages/core/src/gitignore.js";import{detectProjectType as n,resolveProjectType as r}from"./packages/core/src/project-type.js";import{findConfigFile as i,loadToolingConfig as a}from"./packages/core/src/loader.js";import{IGNORED_DIRS as o,buildProjectGraph as s,detectPackageManager as c,orderProjects as l,projectGraphPath as u,readProjectGraph as d,writeProjectGraph as f}from"./packages/core/src/graph.js";import{MANIFEST_DIR as p,MANIFEST_FILE as m,readManifest as h,writeManifest as g}from"./packages/core/src/manifest.js";import{selectProjects as _}from"./packages/core/src/select.js";import{resetProjects as v,resetTooling as y}from"./packages/core/src/reset.js";import{runSync as b}from"./packages/core/src/sync.js";import{vscodeSyncTask as x}from"./packages/core/src/vscode.js";import{runWatch as S}from"./packages/core/src/watch.js";import"./packages/core/src/index.js";export{e as DBX_GITIGNORE_BLOCK,o as IGNORED_DIRS,p as MANIFEST_DIR,m as MANIFEST_FILE,s as buildProjectGraph,c as detectPackageManager,n as detectProjectType,t as ensureDbxGitignore,i as findConfigFile,a as loadToolingConfig,l as orderProjects,u as projectGraphPath,h as readManifest,d as readProjectGraph,v as resetProjects,y as resetTooling,r as resolveProjectType,b as runSync,S as runWatch,_ as selectProjects,x as vscodeSyncTask,g as writeManifest,f as writeProjectGraph};
1
+ import"node:path";import"node:url";import.meta.url;import{DBX_GITIGNORE_BLOCK as e,ensureDbxGitignore as t}from"./packages/core/src/gitignore.js";import{detectProjectType as n,resolveProjectType as r}from"./packages/core/src/project-type.js";import{findConfigFile as i,loadToolchainConfig as a}from"./packages/core/src/loader.js";import{IGNORED_DIRS as o,buildProjectGraph as s,detectPackageManager as c,orderProjects as l,projectGraphPath as u,readProjectGraph as d,writeProjectGraph as f}from"./packages/core/src/graph.js";import{MANIFEST_DIR as p,MANIFEST_FILE as m,readManifest as h,writeManifest as g}from"./packages/core/src/manifest.js";import{providerRegistryPath as _,readProviderRegistry as v,writeProviderRegistry as y}from"./packages/core/src/provider-registry.js";import{selectProjects as b}from"./packages/core/src/select.js";import{resetProjects as x,resetToolchain as S}from"./packages/core/src/reset.js";import{runSync as C}from"./packages/core/src/sync.js";import{vscodeSyncTask as w}from"./packages/core/src/vscode.js";import{runWatch as T}from"./packages/core/src/watch.js";import"./packages/core/src/index.js";export{e as DBX_GITIGNORE_BLOCK,o as IGNORED_DIRS,p as MANIFEST_DIR,m as MANIFEST_FILE,s as buildProjectGraph,c as detectPackageManager,n as detectProjectType,t as ensureDbxGitignore,i as findConfigFile,a as loadToolchainConfig,l as orderProjects,u as projectGraphPath,_ as providerRegistryPath,h as readManifest,d as readProjectGraph,v as readProviderRegistry,x as resetProjects,S as resetToolchain,r as resolveProjectType,C as runSync,T as runWatch,b as selectProjects,w as vscodeSyncTask,g as writeManifest,f as writeProjectGraph,y as writeProviderRegistry};
package/dist/index.d.ts CHANGED
@@ -1,16 +1,17 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
+ import { TOOLCHAIN_PACKAGE, findOwnCliEntry, localToolchainVersion } from "./packages/shared/src/bin.js";
3
4
  import { mergeJsonAt, readJsonAt, readJsonFile, toJson, writeJsonFile } from "./packages/shared/src/fs-utils.js";
4
5
  import { Colors, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, configureLogger, createLogger, getLogOverrides, getLogger, isLogLevel, logger, normalizeLogLevel, setLogConfig, setLogOverrides, stripAnsi } from "./packages/shared/src/logger.js";
5
6
  import { Sortable, deepMerge, isPlainObject, mapValues, resolveSort, sort } from "./packages/shared/src/object-utils.js";
6
- import { ToolingProvider, ToolingProviderAction, ToolingProviderCommand, providerActions } from "./packages/shared/src/provider.js";
7
- import { RunOptions, run, spawnCross } from "./packages/shared/src/run.js";
7
+ import { ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, providerActions } from "./packages/shared/src/provider.js";
8
+ import { RunOptions, SpawnCrossOptions, killProcessTree, run, spawnCross } from "./packages/shared/src/run.js";
8
9
  import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, snakeCase, str, titleCase } from "./packages/shared/src/string-utils.js";
9
10
  import { ReplacementOptions, ReplacementValue, Replacements, Replacer, applyReplacements, applyReplacementsDeep, createReplacer, defineReplacements, extractTokens, hasUnresolvedTokens, tokenPattern } from "./packages/shared/src/template.js";
10
- import { ChangelogWorkflowsConfig, DbxConfigSections, ProjectType, ToolingBiomeConfig, ToolingChangelogConfig, ToolingConfigSections, ToolingLoggerConfig, ToolingProjectConfig, ToolingProvidersConfig, ToolingTemplateKind, ToolingTemplateSource, ToolingTemplateSourceType, ToolingTemplatesConfig, ToolingTsconfigConfig, ToolingViteConfig, ToolingWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig } from "./packages/shared/src/config-types.js";
11
- import { Awaitable, GeneratedFile, JsonValue, PackageJson, ToolingArgument, ToolingCommand, ToolingCommandContext, ToolingOption } from "./packages/shared/src/types.js";
12
- import { CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, biomeConfigSchema, changelogConfigSchema, changelogWorkflowsConfigSchema, dbxConfigSchema, loggerConfigSchema, projectConfigSchema, projectTypeSchema, providersConfigSchema, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, toolingConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema } from "./packages/shared/src/config-schema.js";
13
- import { CONFIG_FILE_NAMES, DbxConfig, ManagedFile, SyncContext, SyncSummary, SyncTask, ToolingConfig, ToolingHooks, ToolingSection, defineConfig, repoSlugFromUrl, resolveTokens, sectionConfig, sectionEnabled } from "./packages/shared/src/toolchain.js";
11
+ import { ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, DbxConfigSections, ProjectType, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainConfigSections, ToolchainLoggerConfig, ToolchainProjectConfig, ToolchainProvidersConfig, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig } from "./packages/shared/src/config-types.js";
12
+ import { Awaitable, GeneratedFile, JsonValue, PackageJson, ToolchainArgument, ToolchainCommand, ToolchainCommandContext, ToolchainOption } from "./packages/shared/src/types.js";
13
+ import { CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, biomeConfigSchema, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, dbxConfigSchema, loggerConfigSchema, projectConfigSchema, projectTypeSchema, providersConfigSchema, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema } from "./packages/shared/src/config-schema.js";
14
+ import { CONFIG_FILE_NAMES, DbxConfig, ManagedFile, SyncContext, SyncSummary, SyncTask, ToolchainConfig, ToolchainHooks, ToolchainSection, defineConfig, repoSlugFromUrl, resolveTokens, sectionConfig, sectionEnabled } from "./packages/shared/src/toolchain.js";
14
15
  import { YamlValue, toYaml } from "./packages/shared/src/yaml.js";
15
16
  import { index_d_exports as index_d_exports$5 } from "./packages/shared/src/index.js";
16
17
  import { index_d_exports } from "./packages/biome/src/index.js";
@@ -18,11 +19,12 @@ import { index_d_exports as index_d_exports$1 } from "./packages/changelog/src/i
18
19
  import { index_d_exports as index_d_exports$2 } from "./packages/config/src/index.js";
19
20
  import { DBX_GITIGNORE_BLOCK, ensureDbxGitignore } from "./packages/core/src/gitignore.js";
20
21
  import { BuildProjectGraphOptions, IGNORED_DIRS, PackageManager, ProjectGraph, ProjectNode, buildProjectGraph, detectPackageManager, orderProjects, projectGraphPath, readProjectGraph, writeProjectGraph } from "./packages/core/src/graph.js";
21
- import { LoadedConfig, findConfigFile, loadToolingConfig } from "./packages/core/src/loader.js";
22
+ import { LoadedConfig, findConfigFile, loadToolchainConfig } from "./packages/core/src/loader.js";
22
23
  import { MANIFEST_DIR, MANIFEST_FILE, Manifest, readManifest, writeManifest } from "./packages/core/src/manifest.js";
23
24
  import { detectProjectType, resolveProjectType } from "./packages/core/src/project-type.js";
25
+ import { providerRegistryPath, readProviderRegistry, writeProviderRegistry } from "./packages/core/src/provider-registry.js";
24
26
  import { SelectProjectsOptions, SelectedProject, selectProjects } from "./packages/core/src/select.js";
25
- import { ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolingOptions, ResetToolingResult, resetProjects, resetTooling } from "./packages/core/src/reset.js";
27
+ import { ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolchainOptions, ResetToolchainResult, resetProjects, resetToolchain } from "./packages/core/src/reset.js";
26
28
  import { RunSyncOptions, SyncResult, runSync } from "./packages/core/src/sync.js";
27
29
  import { VscodeSyncOptions, vscodeSyncTask } from "./packages/core/src/vscode.js";
28
30
  import { RunWatchOptions, runWatch } from "./packages/core/src/watch.js";
@@ -31,4 +33,4 @@ import { index_d_exports as index_d_exports$6 } from "./packages/tsconfig/src/in
31
33
  import { index_d_exports as index_d_exports$4 } from "./packages/project/src/index.js";
32
34
  import { index_d_exports as index_d_exports$7 } from "./packages/tsdown/src/index.js";
33
35
  import { defaultSyncTasks } from "./sync.js";
34
- export { Awaitable, BuildProjectGraphOptions, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogWorkflowsConfig, Colors, DBX_GITIGNORE_BLOCK, DbxConfig, DbxConfigSections, GeneratedFile, IGNORED_DIRS, JsonValue, LOG_LEVELS, LoadedConfig, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, MANIFEST_DIR, MANIFEST_FILE, ManagedFile, Manifest, PackageJson, PackageManager, ProjectGraph, ProjectNode, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolingOptions, ResetToolingResult, RunOptions, RunSyncOptions, RunWatchOptions, SelectProjectsOptions, SelectedProject, Sortable, SyncContext, SyncResult, SyncSummary, SyncTask, ToolingArgument, ToolingBiomeConfig, ToolingChangelogConfig, ToolingCommand, ToolingCommandContext, ToolingConfig, ToolingConfigSections, ToolingHooks, ToolingLoggerConfig, ToolingOption, ToolingProjectConfig, ToolingProvider, ToolingProviderAction, ToolingProviderCommand, ToolingProvidersConfig, ToolingSection, ToolingTemplateKind, ToolingTemplateSource, ToolingTemplateSourceType, ToolingTemplatesConfig, ToolingTsconfigConfig, ToolingViteConfig, ToolingWatchConfig, VscodeSyncOptions, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, index_d_exports as biome, biomeConfigSchema, buildProjectGraph, camelCase, camelCaseId, capitalize, index_d_exports$1 as changelog, changelogConfigSchema, changelogWorkflowsConfigSchema, index_d_exports$2 as config, configureLogger, constantCase, index_d_exports$3 as core, createLogger, createReplacer, dbxConfigSchema, deepMerge, defaultSyncTasks, defineConfig, defineReplacements, detectPackageManager, detectProjectType, ensureDbxGitignore, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findConfigFile, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, loadToolingConfig, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, orderProjects, pascalCase, index_d_exports$4 as project, projectConfigSchema, projectGraphPath, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, readManifest, readProjectGraph, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resetProjects, resetTooling, resolveProjectType, resolveSort, resolveTokens, run, runSync, runWatch, sanitizeSlashes, sectionConfig, sectionEnabled, selectProjects, setLogConfig, setLogOverrides, index_d_exports$5 as shared, snakeCase, sort, spawnCross, str, stripAnsi, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolingConfigSchema, index_d_exports$6 as tsconfig, tsconfigConfigSchema, index_d_exports$7 as tsdown, viteConfigSchema, vscodeSyncTask, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile, writeManifest, writeProjectGraph };
36
+ export { Awaitable, BuildProjectGraphOptions, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DBX_GITIGNORE_BLOCK, DbxConfig, DbxConfigSections, GeneratedFile, IGNORED_DIRS, JsonValue, LOG_LEVELS, LoadedConfig, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, MANIFEST_DIR, MANIFEST_FILE, ManagedFile, Manifest, PackageJson, PackageManager, ProjectGraph, ProjectNode, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolchainOptions, ResetToolchainResult, RunOptions, RunSyncOptions, RunWatchOptions, SelectProjectsOptions, SelectedProject, Sortable, SpawnCrossOptions, SyncContext, SyncResult, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, VscodeSyncOptions, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, index_d_exports as biome, biomeConfigSchema, buildProjectGraph, camelCase, camelCaseId, capitalize, index_d_exports$1 as changelog, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, index_d_exports$2 as config, configureLogger, constantCase, index_d_exports$3 as core, createLogger, createReplacer, dbxConfigSchema, deepMerge, defaultSyncTasks, defineConfig, defineReplacements, detectPackageManager, detectProjectType, ensureDbxGitignore, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findConfigFile, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, loadToolchainConfig, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, orderProjects, pascalCase, index_d_exports$4 as project, projectConfigSchema, projectGraphPath, projectTypeSchema, providerActions, providerRegistryPath, providersConfigSchema, readJsonAt, readJsonFile, readManifest, readProjectGraph, readProviderRegistry, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resetProjects, resetToolchain, resolveProjectType, resolveSort, resolveTokens, run, runSync, runWatch, sanitizeSlashes, sectionConfig, sectionEnabled, selectProjects, setLogConfig, setLogOverrides, index_d_exports$5 as shared, snakeCase, sort, spawnCross, str, stripAnsi, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, index_d_exports$6 as tsconfig, tsconfigConfigSchema, index_d_exports$7 as tsdown, viteConfigSchema, vscodeSyncTask, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile, writeManifest, writeProjectGraph, writeProviderRegistry };