@deltabox/toolchain 1.11.4 → 2.1.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 (229) hide show
  1. package/CHANGELOG.md +336 -4
  2. package/README.md +21 -14
  3. package/dist/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/changelog.d.ts +10 -6
  5. package/dist/changelog.js +1 -1
  6. package/dist/cli/commands/index.js +1 -1
  7. package/dist/cli/commands/providers.js +1 -1
  8. package/dist/cli/commands/reset.js +1 -1
  9. package/dist/cli/commands/shared.js +1 -1
  10. package/dist/cli/commands/sync.js +1 -1
  11. package/dist/cli/commands/watch.js +1 -1
  12. package/dist/cli/config-selection.d.ts +23 -0
  13. package/dist/cli/config-selection.js +1 -0
  14. package/dist/cli/context.js +1 -1
  15. package/dist/cli/index.d.ts +5 -3
  16. package/dist/cli/index.js +1 -1
  17. package/dist/cli/register.js +1 -1
  18. package/dist/config.d.ts +8 -8
  19. package/dist/config.js +1 -1
  20. package/dist/core.d.ts +7 -6
  21. package/dist/core.js +1 -1
  22. package/dist/globals.d.ts +31 -0
  23. package/dist/globals.js +1 -0
  24. package/dist/index.d.ts +33 -11
  25. package/dist/index.js +1 -1
  26. package/dist/migrate.d.ts +3 -2
  27. package/dist/migrate.js +1 -1
  28. package/dist/package.js +1 -1
  29. package/dist/packages/biome/src/index.d.ts +2 -1
  30. package/dist/packages/biome/src/index.js +1 -1
  31. package/dist/packages/changelog/src/cli/index.js +1 -1
  32. package/dist/packages/changelog/src/index.d.ts +11 -7
  33. package/dist/packages/changelog/src/index.js +1 -1
  34. package/dist/packages/changelog/src/run-workflows.d.ts +19 -4
  35. package/dist/packages/changelog/src/run-workflows.js +1 -1
  36. package/dist/packages/changelog/src/run.d.ts +4 -3
  37. package/dist/packages/changelog/src/run.js +1 -1
  38. package/dist/packages/changelog/src/sync.d.ts +7 -4
  39. package/dist/packages/changelog/src/sync.js +1 -1
  40. package/dist/packages/changelog/src/utils/args.js +1 -1
  41. package/dist/packages/changelog/src/utils/breaking.d.ts +16 -0
  42. package/dist/packages/changelog/src/utils/breaking.js +1 -0
  43. package/dist/packages/changelog/src/utils/format.d.ts +2 -1
  44. package/dist/packages/changelog/src/utils/format.js +5 -5
  45. package/dist/packages/changelog/src/utils/git.d.ts +3 -1
  46. package/dist/packages/changelog/src/utils/git.js +1 -1
  47. package/dist/packages/changelog/src/utils/reformat.d.ts +4 -1
  48. package/dist/packages/changelog/src/utils/reformat.js +4 -4
  49. package/dist/packages/changelog/src/utils/release-notes.d.ts +18 -0
  50. package/dist/packages/changelog/src/utils/release-notes.js +1 -0
  51. package/dist/packages/changelog/src/utils/summary.d.ts +29 -2
  52. package/dist/packages/changelog/src/utils/summary.js +3 -1
  53. package/dist/packages/changelog/src/utils/types.d.ts +39 -2
  54. package/dist/packages/changelog/src/utils/version.d.ts +1 -0
  55. package/dist/packages/changelog/src/utils/versioning.d.ts +30 -4
  56. package/dist/packages/changelog/src/utils/versioning.js +1 -1
  57. package/dist/packages/changelog/src/utils/write.js +1 -1
  58. package/dist/packages/changelog/src/workflows.d.ts +27 -7
  59. package/dist/packages/changelog/src/workflows.js +5 -5
  60. package/dist/packages/config/src/cli/index.js +1 -1
  61. package/dist/packages/config/src/collect.d.ts +10 -8
  62. package/dist/packages/config/src/collect.js +1 -1
  63. package/dist/packages/config/src/config-json.d.ts +4 -4
  64. package/dist/packages/config/src/config-json.js +1 -1
  65. package/dist/packages/config/src/engine.d.ts +14 -25
  66. package/dist/packages/config/src/engine.js +1 -1
  67. package/dist/packages/config/src/env-file.d.ts +4 -4
  68. package/dist/packages/config/src/env-file.js +2 -2
  69. package/dist/packages/config/src/env.d.ts +4 -6
  70. package/dist/packages/config/src/env.js +1 -1
  71. package/dist/packages/config/src/generators/cli.d.ts +6 -6
  72. package/dist/packages/config/src/generators/cli.js +1 -1
  73. package/dist/packages/config/src/generators/env.d.ts +9 -9
  74. package/dist/packages/config/src/generators/env.js +2 -2
  75. package/dist/packages/config/src/generators/index.d.ts +4 -4
  76. package/dist/packages/config/src/generators/index.js +1 -1
  77. package/dist/packages/config/src/generators/json.d.ts +5 -7
  78. package/dist/packages/config/src/generators/json.js +1 -1
  79. package/dist/packages/config/src/generators/markdown.d.ts +57 -35
  80. package/dist/packages/config/src/generators/markdown.js +18 -19
  81. package/dist/packages/config/src/generators/types.d.ts +28 -23
  82. package/dist/packages/config/src/generators/types.js +3 -3
  83. package/dist/packages/config/src/index.d.ts +9 -9
  84. package/dist/packages/config/src/index.js +1 -1
  85. package/dist/packages/config/src/schema.d.ts +31 -3
  86. package/dist/packages/config/src/schema.js +1 -1
  87. package/dist/packages/config/src/types.d.ts +134 -28
  88. package/dist/packages/core/src/editor-config.d.ts +14 -0
  89. package/dist/packages/core/src/editor-config.js +1 -0
  90. package/dist/packages/core/src/graph.js +1 -1
  91. package/dist/packages/core/src/index.d.ts +8 -7
  92. package/dist/packages/core/src/index.js +1 -1
  93. package/dist/packages/core/src/loader.d.ts +20 -2
  94. package/dist/packages/core/src/loader.js +1 -1
  95. package/dist/packages/core/src/manifest.d.ts +20 -1
  96. package/dist/packages/core/src/manifest.js +1 -1
  97. package/dist/packages/core/src/provider-registry.d.ts +48 -3
  98. package/dist/packages/core/src/provider-registry.js +1 -1
  99. package/dist/packages/core/src/reset.d.ts +15 -0
  100. package/dist/packages/core/src/reset.js +1 -1
  101. package/dist/packages/core/src/sync.d.ts +10 -0
  102. package/dist/packages/core/src/sync.js +1 -1
  103. package/dist/packages/core/src/watch.d.ts +9 -0
  104. package/dist/packages/core/src/watch.js +1 -1
  105. package/dist/packages/migrate/src/cli/index.js +1 -1
  106. package/dist/packages/migrate/src/index.d.ts +3 -2
  107. package/dist/packages/migrate/src/index.js +1 -1
  108. package/dist/packages/migrate/src/oxc.d.ts +13 -0
  109. package/dist/packages/migrate/src/oxc.js +1 -0
  110. package/dist/packages/migrate/src/registry.js +1 -1
  111. package/dist/packages/migrate/src/vite-target.js +1 -1
  112. package/dist/packages/migrate/src/vite.d.ts +25 -3
  113. package/dist/packages/migrate/src/vite.js +7 -2
  114. package/dist/packages/project/src/catalogs.d.ts +7 -0
  115. package/dist/packages/project/src/catalogs.js +1 -1
  116. package/dist/packages/project/src/cli/index.js +1 -1
  117. package/dist/packages/project/src/config.d.ts +6 -0
  118. package/dist/packages/project/src/config.js +1 -1
  119. package/dist/packages/project/src/index.d.ts +5 -4
  120. package/dist/packages/project/src/index.js +1 -1
  121. package/dist/packages/project/src/sync.js +1 -1
  122. package/dist/packages/project/src/typescript.d.ts +64 -12
  123. package/dist/packages/project/src/typescript.js +12 -7
  124. package/dist/packages/shared/src/changelog-breaking.d.ts +31 -0
  125. package/dist/packages/shared/src/changelog-groups.d.ts +59 -0
  126. package/dist/packages/shared/src/config-schema/biome.d.ts +10 -0
  127. package/dist/packages/shared/src/config-schema/biome.js +1 -0
  128. package/dist/packages/shared/src/config-schema/catalogs.d.ts +14 -0
  129. package/dist/packages/shared/src/config-schema/catalogs.js +1 -0
  130. package/dist/packages/shared/src/config-schema/changelog.d.ts +248 -0
  131. package/dist/packages/shared/src/config-schema/changelog.js +1 -0
  132. package/dist/packages/shared/src/config-schema/ci.d.ts +390 -0
  133. package/dist/packages/shared/src/config-schema/ci.js +1 -0
  134. package/dist/packages/shared/src/config-schema/format.d.ts +38 -0
  135. package/dist/packages/shared/src/config-schema/format.js +1 -0
  136. package/dist/packages/shared/src/config-schema/index.d.ts +1654 -0
  137. package/dist/packages/shared/src/config-schema/index.js +1 -0
  138. package/dist/packages/shared/src/config-schema/logger.d.ts +19 -0
  139. package/dist/packages/shared/src/config-schema/logger.js +1 -0
  140. package/dist/packages/shared/src/config-schema/meta.d.ts +16 -0
  141. package/dist/packages/shared/src/config-schema/meta.js +1 -0
  142. package/dist/packages/shared/src/config-schema/project.d.ts +35 -0
  143. package/dist/packages/shared/src/config-schema/project.js +1 -0
  144. package/dist/packages/shared/src/config-schema/providers.d.ts +9 -0
  145. package/dist/packages/shared/src/config-schema/providers.js +1 -0
  146. package/dist/packages/shared/src/config-schema/registry.d.ts +21 -0
  147. package/dist/packages/shared/src/config-schema/registry.js +1 -0
  148. package/dist/packages/shared/src/config-schema/templates.d.ts +81 -0
  149. package/dist/packages/shared/src/config-schema/templates.js +1 -0
  150. package/dist/packages/shared/src/config-schema/tsconfig.d.ts +30 -0
  151. package/dist/packages/shared/src/config-schema/tsconfig.js +1 -0
  152. package/dist/packages/shared/src/config-schema/vite.d.ts +26 -0
  153. package/dist/packages/shared/src/config-schema/vite.js +1 -0
  154. package/dist/packages/shared/src/config-schema/watch.d.ts +11 -0
  155. package/dist/packages/shared/src/config-schema/watch.js +1 -0
  156. package/dist/packages/shared/src/config-schema/workflow.d.ts +590 -0
  157. package/dist/packages/shared/src/config-schema/workflow.js +1 -0
  158. package/dist/packages/shared/src/config-types.d.ts +295 -90
  159. package/dist/packages/shared/src/fs-utils.js +1 -1
  160. package/dist/packages/shared/src/index.d.ts +27 -7
  161. package/dist/packages/shared/src/index.js +1 -1
  162. package/dist/packages/shared/src/logger.d.ts +26 -3
  163. package/dist/packages/shared/src/logger.js +1 -1
  164. package/dist/packages/shared/src/messages.d.ts +36 -0
  165. package/dist/packages/shared/src/messages.js +1 -0
  166. package/dist/packages/shared/src/object-utils.d.ts +5 -0
  167. package/dist/packages/shared/src/object-utils.js +1 -1
  168. package/dist/packages/shared/src/registry-policy.d.ts +17 -0
  169. package/dist/packages/shared/src/registry-policy.js +1 -0
  170. package/dist/packages/shared/src/toolchain.d.ts +90 -11
  171. package/dist/packages/shared/src/toolchain.js +1 -1
  172. package/dist/packages/shared/src/types.d.ts +6 -0
  173. package/dist/packages/shared/src/vite-defaults.d.ts +29 -0
  174. package/dist/packages/shared/src/vite-defaults.js +1 -0
  175. package/dist/packages/template/src/builtin.js +1 -1
  176. package/dist/packages/template/src/cli/index.js +1 -1
  177. package/dist/packages/template/src/global.d.ts +130 -0
  178. package/dist/packages/template/src/global.js +3 -0
  179. package/dist/packages/template/src/index.d.ts +3 -2
  180. package/dist/packages/template/src/index.js +1 -1
  181. package/dist/packages/template/src/online.d.ts +13 -4
  182. package/dist/packages/template/src/online.js +1 -1
  183. package/dist/packages/template/src/registry.d.ts +2 -1
  184. package/dist/packages/template/src/registry.js +1 -1
  185. package/dist/packages/template/src/scaffold.d.ts +5 -1
  186. package/dist/packages/template/src/scaffold.js +1 -1
  187. package/dist/packages/tsconfig/src/cli/generate/index.d.ts +3 -0
  188. package/dist/packages/tsconfig/src/cli/generate/index.js +1 -1
  189. package/dist/packages/tsconfig/src/cli/generate/utils.d.ts +10 -1
  190. package/dist/packages/tsconfig/src/cli/generate/utils.js +1 -1
  191. package/dist/packages/tsconfig/src/cli/index.js +1 -1
  192. package/dist/packages/tsconfig/src/index.d.ts +7 -4
  193. package/dist/packages/tsconfig/src/index.js +1 -1
  194. package/dist/packages/tsconfig/src/overrides.d.ts +74 -0
  195. package/dist/packages/tsconfig/src/overrides.js +1 -0
  196. package/dist/packages/tsconfig/src/resolve.d.ts +62 -0
  197. package/dist/packages/tsconfig/src/resolve.js +3 -0
  198. package/dist/packages/tsconfig/src/snapshots.d.ts +50 -0
  199. package/dist/packages/tsconfig/src/snapshots.js +1 -0
  200. package/dist/packages/tsconfig/src/sync.d.ts +14 -5
  201. package/dist/packages/tsconfig/src/sync.js +1 -1
  202. package/dist/packages/tsconfig/src/templates/tsconfig.default.js +1 -1
  203. package/dist/packages/tsconfig/src/templates.d.ts +12 -4
  204. package/dist/packages/tsconfig/src/templates.js +1 -1
  205. package/dist/packages/vite/src/index.d.ts +2 -2
  206. package/dist/packages/vite/src/index.js +1 -1
  207. package/dist/packages/vite/src/resolve.d.ts +13 -3
  208. package/dist/packages/vite/src/resolve.js +1 -1
  209. package/dist/packages/vite/src/sync.d.ts +46 -5
  210. package/dist/packages/vite/src/sync.js +5 -2
  211. package/dist/project.d.ts +4 -3
  212. package/dist/project.js +1 -1
  213. package/dist/providers.d.ts +11 -4
  214. package/dist/providers.js +1 -1
  215. package/dist/shared.d.ts +26 -6
  216. package/dist/shared.js +1 -1
  217. package/dist/sync.js +1 -1
  218. package/dist/template.d.ts +3 -2
  219. package/dist/template.js +1 -1
  220. package/dist/tooling.d.ts +21 -0
  221. package/dist/tooling.js +1 -0
  222. package/dist/tsconfig.d.ts +6 -3
  223. package/dist/tsconfig.js +1 -1
  224. package/dist/vite.d.ts +2 -2
  225. package/dist/vite.js +1 -1
  226. package/package.json +28 -23
  227. package/dist/packages/config/src/types.js +0 -1
  228. package/dist/packages/shared/src/config-schema.d.ts +0 -3928
  229. package/dist/packages/shared/src/config-schema.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,18 +1,350 @@
1
1
  # Changelog
2
2
 
3
- ## 1.11.4 (October 2026)
3
+ ## 2.1.0 (October 2026)
4
4
 
5
5
  <!-- release:start -->
6
6
 
7
+ ### New features
8
+ #### Changelog
9
+ - Configure breaking-change detection ([#f80634f](https://github.com/deltabox-studio/toolchain/commit/f80634f) by [T0chi](https://github.com/T0chi))
10
+ - Detect breaking changes by Conventional Commits rules by default (! in the subject or a BREAKING CHANGE: footer) and add a changelog.breaking / ci.changelog.breaking override (conventional, ny, alse, pattern/match, or a callback).
11
+
12
+ <!-- release:end -->
13
+
14
+
15
+ ## 2.0.1 (October 2026)
16
+
17
+ ### Bug fixes
18
+ #### Vscode
19
+ - Always show builtin providers and templates ([#d67c2ad](https://github.com/deltabox-studio/toolchain/commit/d67c2ad) by [T0chi](https://github.com/T0chi))
20
+ #### Changelog
21
+ - Make release notes first-release safe ([#25e39ef](https://github.com/deltabox-studio/toolchain/commit/25e39ef) by [T0chi](https://github.com/T0chi))
22
+ - Extract release bodies through a tested CLI helper that only uses tag versions present in CHANGELOG.md, skips the current version, and falls back to the newest entry when there is no prior release.
23
+ - Group breaking changes first ([#c30d212](https://github.com/deltabox-studio/toolchain/commit/c30d212) by [T0chi](https://github.com/T0chi))
24
+ - Detect subject and footer breaks, group them under the breaking section ahead of feat/fix, and keep the grouping with custom commit formatters and --format-only.
25
+ ### Documentation
26
+ - Auto-generate sidebar and reorganize guides ([#3485f53](https://github.com/deltabox-studio/toolchain/commit/3485f53) by [T0chi](https://github.com/T0chi))
27
+ - Document release-notes extraction ([#fcac0b8](https://github.com/deltabox-studio/toolchain/commit/fcac0b8) by [T0chi](https://github.com/T0chi))
28
+ - Document dbx changelog --release-notes, the last-released-version matching and the first-release fallback.
29
+ - Document breaking changes group order ([#5aa2397](https://github.com/deltabox-studio/toolchain/commit/5aa2397) by [T0chi](https://github.com/T0chi))
30
+ - Note the default order (breaking, feat, fix) and that breaking grouping works with custom commit formatters.
31
+
32
+ ### Package changes
33
+ #### Added
34
+ - `vite-plugin-vitepress-auto-sidebar` `^1.7.1`
35
+
36
+ ## 2.0.0 (October 2026)
37
+
38
+ ### New features
39
+ #### Changelog
40
+ - Customize CC group order and titles ([#856842b](https://github.com/deltabox-studio/toolchain/commit/856842b) by [T0chi](https://github.com/T0chi))
41
+ - Support ordered arrays, title records, hidden groups and callbacks for the whole group config and per-group title/order/hidden values, including --format-only.
42
+ - Add custom workflow paths, listing and non-Yarn support ([#2e96e6e](https://github.com/deltabox-studio/toolchain/commit/2e96e6e) by [T0chi](https://github.com/T0chi))
43
+ - Add a New contributors footer ([#1e49596](https://github.com/deltabox-studio/toolchain/commit/1e49596) by [T0chi](https://github.com/T0chi))
44
+ - scanned range (explicit range start, or the oldest commit's parent).
45
+ login is known) and a nested list of their commit messages, reusing
46
+ the normal commit bullet formatting without the author/body.
47
+ only the CC rule/scope grouping is replaced by major/minor/patch.
48
+ #### Config
49
+ - Type changelog group callbacks ([#a5c6186](https://github.com/deltabox-studio/toolchain/commit/a5c6186) by [T0chi](https://github.com/T0chi))
50
+ - Add the shared ChangelogGroupsSetting types, expose groups on both changelog sections, and regenerate the config schema/types/reference.
51
+ - Revamp config generators and extend tooling customization ([#b924255](https://github.com/deltabox-studio/toolchain/commit/b924255) by [T0chi](https://github.com/T0chi))
52
+ - and generateConfig* functions (optional disk writes, schema metadata)
53
+ - **BREAKING CHANGE:** ConfigScopes, ConfigScopeDef, CONFIG_SECTION_SCHEMAS,
54
+ - CONFIG_TYPE_SCHEMAS and CONFIG_SECTION_DESCRIPTIONS are removed. Consumers
55
+ should use ConfigSchema with generateConfigTypes/Env/Markdown/Cli/All and read
56
+ section descriptions from schema metadata.
57
+ - Support metadata annotations in generated output ([#1417bb2](https://github.com/deltabox-studio/toolchain/commit/1417bb2) by [T0chi](https://github.com/T0chi))
58
+ - Add fmt/lint sections and manual changelog config ([#16000e5](https://github.com/deltabox-studio/toolchain/commit/16000e5) by [T0chi](https://github.com/T0chi))
59
+ - Inherit shared sections and add fmt/lint defaults ([#94add6f](https://github.com/deltabox-studio/toolchain/commit/94add6f) by [T0chi](https://github.com/T0chi))
60
+ - Registry source policies and duplicate template-id prompts ([#e030af7](https://github.com/deltabox-studio/toolchain/commit/e030af7) by [T0chi](https://github.com/T0chi))
61
+ - host and path globs, enforced for local paths, npm registries and
62
+ remote URLs (also when loading global/remote registries and the
63
+ provider/registry listings).
64
+ builtin or project source; non-interactive runs fail with a clear
65
+ `--id` hint instead of prompting.
66
+ plus Templates/Providers docs.
67
+ - Ambient Zod meta types and project-tsconfig typechecks ([#e73661b](https://github.com/deltabox-studio/toolchain/commit/e73661b) by [T0chi](https://github.com/T0chi))
68
+ - `/// <reference types="@deltabox/toolchain/globals" />` and get typed
69
+ `.meta({ env, path, required, example, ... })` fields.
70
+ `ConfigBaseMeta.deprecated` the JSON-Schema boolean.
71
+ instead of `tsconfig.build.json`.
72
+ - Move CI workflows and changelog config under toolchain.ci ([#af1b536](https://github.com/deltabox-studio/toolchain/commit/af1b536) by [T0chi](https://github.com/T0chi))
73
+ - workflows and move the changelog pipeline to `ci.changelog`.
74
+ `ci.changelog.commitlint: false` and fall back to coarse
75
+ major/minor/patch changelog groups.
76
+ `ChangelogBranchesConfig` as a named schema.
77
+ consumers, but reject it in the loader with a migration error.
78
+ into the `config-schema/` folder.
79
+ per-workflow overrides are `WorkflowOptions`, and the new section type
80
+ is `ToolchainCiConfig`.
81
+ generated types.
82
+ - Let defineConfig accept a promise or a callback ([#111776c](https://github.com/deltabox-studio/toolchain/commit/111776c) by [T0chi](https://github.com/T0chi))
83
+ - `defineConfig` now mirrors Vite's helper: the argument may be a plain object,
84
+ a `Promise<DbxConfig>`, or a `() => DbxConfig | Promise<DbxConfig>` callback.
85
+ The loader resolves the module export (awaits a promise, calls a callback and
86
+ awaits its result), so a config can do async work before returning
87
+ `{ toolchain }`.
88
+ #### Vscode
89
+ - Surface workflow conflicts in managed files ([#e692511](https://github.com/deltabox-studio/toolchain/commit/e692511) by [T0chi](https://github.com/T0chi))
90
+ - Read workflowConflicts from the manifest and render them as a warning group with the owning config key.
91
+ - Watch the inputs resolved from the dbx config ([#953f071](https://github.com/deltabox-studio/toolchain/commit/953f071) by [T0chi](https://github.com/T0chi))
92
+ - watch globs: auto-sync now asks the CLI (`dbx watch --list --json`) per
93
+ workspace root and watches the returned globs relative to that root, so
94
+ custom `tsconfig.rootFile`/`defaultFile` names are respected
95
+ ignore stale results from an older resolve
96
+ older pinned `dbx`)
97
+ set value, in any scope, still replaces the resolved inputs
98
+ `tsconfig.default.json`
99
+ the behaviour
100
+ - Add extension settings link to Home ([#f39cb35](https://github.com/deltabox-studio/toolchain/commit/f39cb35) by [T0chi](https://github.com/T0chi))
101
+ - Add Select dbx version to the Home More actions ([#13ef688](https://github.com/deltabox-studio/toolchain/commit/13ef688) by [T0chi](https://github.com/T0chi))
102
+ - Add the Registries view ([#e3e808e](https://github.com/deltabox-studio/toolchain/commit/e3e808e) by [T0chi](https://github.com/T0chi))
103
+ - A new collapsible **Registries** view (below Templates) shows **Providers** and
104
+ (explorer folder or browser for remote URLs), **Add new registry** (the category's
105
+ add flow) and **Remove registry** (removes the path, keeps the files). The title
106
+ bar has **New registry…** / **Remove registry…** (global or project scope), also
107
+ available in the Home "More actions". Removing a template now offers the stored
108
+ global templates too (`template:remove --global`).
109
+ - Rename registry paths, add a version picker and UI polish ([#9c8b51c](https://github.com/deltabox-studio/toolchain/commit/9c8b51c) by [T0chi](https://github.com/T0chi))
110
+ - config and code).
111
+ "which dbx?" notification, only ask when they differ, and add a **Select dbx
112
+ version…** command that pins one in the workspace settings (npx fallback).
113
+ More actions), prefix More-actions buttons with a play glyph, start Managed
114
+ Files collapsed, expand the Vite+ provider by default, and drop unused icon
115
+ resources.
116
+ - Sync the global registry with the VS Code settings ([#86a0671](https://github.com/deltabox-studio/toolchain/commit/86a0671) by [T0chi](https://github.com/T0chi))
117
+ - Add the `deltabox.templatesSearchPaths` setting, record the VS Code user dir in
118
+ the CLI config on activation, and mirror setting changes into it (so the CLI and
119
+ editor agree). Adding a template now asks whether to register it globally (yes
120
+ by default), and adding a provider asks for a project or global scope; the
121
+ Providers view reads the merged registry.
122
+ #### Project
123
+ - Inherit root Oxc config and harden scaffolds ([#56a1895](https://github.com/deltabox-studio/toolchain/commit/56a1895) by [T0chi](https://github.com/T0chi))
124
+ - Nested projects omit local Oxc files/opt-ins when the root owns them, template create gains --force, and scaffold writes now reject duplicates, BOM catalogs and root scope fallbacks are handled.
125
+ - Make scaffolds runnable and safer ([#eab297b](https://github.com/deltabox-studio/toolchain/commit/eab297b) by [T0chi](https://github.com/T0chi))
126
+ - Fold an existing vite config when generating a config ([#5891154](https://github.com/deltabox-studio/toolchain/issues/5891154) by [T0chi](https://github.com/T0chi))
127
+ - `project:config` now checks for a hand-written `vite.config.*` and folds its
128
+ literal props into the generated `dbx.config.ts`'s `toolchain.vite` (using the
129
+ vite migration's extract/scan/fold helpers), adding the `/vite.config.ts` fmt
130
+ ignore. A non-foldable config is reported and left alone. The VS Code "Generate
131
+ config" actions run `dbx sync` afterwards so the managed shim is written.
132
+ #### Core
133
+ - Resolve watched inputs from the config and add `dbx watch --list` ([#0ab08a9](https://github.com/deltabox-studio/toolchain/commit/0ab08a9) by [T0chi](https://github.com/T0chi))
134
+ - `watch` globs with function forms resolved (eg. custom
135
+ `tsconfig.rootFile`/`defaultFile` names); `runWatch` now uses it, so only the
136
+ inputs of tasks that actually run are watched
137
+ resolved tsconfig file names (`{ globs, tsconfig }`) without watching
138
+ a `tsconfig` section
139
+ - Untracked managed files, config-derived task globs and a reset restore hook ([#5da6691](https://github.com/deltabox-studio/toolchain/commit/5da6691) by [T0chi](https://github.com/T0chi))
140
+ - it in the manifest, so a user-owned file a task patches is never pruned by a
141
+ later sync or removed by `dbx reset`
142
+ follow configured file names
143
+ (written before `files`/`origins`, which it can never clobber), and
144
+ `SyncContext.check` flags `dbx sync --check`
145
+ the manifest is removed and report the `restored` files
146
+ - Provider registry search paths and safer managed-file sync ([#4033009](https://github.com/deltabox-studio/toolchain/issues/4033009) by [T0chi](https://github.com/T0chi))
147
+ - http(s) URLs), keeping the legacy provider files for compatibility.
148
+ providers`, `--set`, `--clear`), the CLI config and the VS Code
149
+ `deltabox.providerRegistrySearchPaths` setting; the Registries view
150
+ now manages both kinds and the Providers view can fetch remote
151
+ registries through `loadToolchainProviders()`.
152
+ pre-existing file. Adopted files are unmanaged, never deleted.
153
+ their previous content); the extension shows a notification listing
154
+ removed files with Restore/Close.
155
+ - Merge global providers with the project registry ([#81c510b](https://github.com/deltabox-studio/toolchain/commit/81c510b) by [T0chi](https://github.com/T0chi))
156
+ - Providers can live in `~/.dbx/toolchain/.registry/providers.json` too.
157
+ `readAllProviders` merges them with the project's `.dbx/toolchain/providers.json`
158
+ (project wins on an id clash), and the CLI's provider list and passthrough
159
+ commands use it so a global provider works in every project.
160
+ #### Tsconfig
161
+ - Resolver, `extends`/`baseFile` options and snapshot-backed overrides ([#2b38963](https://github.com/deltabox-studio/toolchain/commit/2b38963) by [T0chi](https://github.com/T0chi))
162
+ - JSONC) and `dbx tsconfig --json/--alias/--paths/--references/--tsconfig/--root/--no-extends`;
163
+ the generator now resolves the workspaces tsconfig through it
164
+ templates, and `tsconfig.baseFile` for the root base tsconfig
165
+ into the user-owned tsconfigs on sync, honouring custom
166
+ `baseFile`/`rootFile`/`defaultFile`/`buildFile` names (also in the task's
167
+ watched/kept globs and in `dbx tsconfig`)
168
+ (repo-relative paths only) and record the applied override per file in
169
+ `tsconfigOverrides`; removing a key restores the snapshot value when the
170
+ original defined it, otherwise removes it (pruning emptied parents), and keeps
171
+ a value edited after the override applied it
172
+ `tsconfig.override-edited`) and skip instead of creating missing targets;
173
+ patched files are untracked, so sync/reset never delete them
174
+ (`restoreTsconfigOverrides`), warning with `tsconfig.restore-reapply` while
175
+ the overrides are still configured; `dbx reset` restores before removing the
176
+ manifest
177
+ #### Vite
178
+ - Add static shims and a configurable shim import ([#bddcb62](https://github.com/deltabox-studio/toolchain/commit/bddcb62) by [T0chi](https://github.com/T0chi))
179
+ - the generated `vite.config.ts`, so Vite+ can load it without a built
180
+ `@deltabox/toolchain` (rejects functions, regexps and class instances)
181
+ shims; relative values resolve from the repo root and are rewritten per
182
+ generated config
183
+ - Preserve existing imports/comments when regenerating the shim ([#194461c](https://github.com/deltabox-studio/toolchain/commit/194461c) by [T0chi](https://github.com/T0chi))
184
+ - `renderViteConfig` now accepts the existing `vite.config.ts` source: it keeps
185
+ the file's leading comments and import statements and merges `defineConfig` (and
186
+ the config type) into the existing `vite`/`vite-plus` import, preserving default,
187
+ namespace, other named and type-only specifiers. Regeneration is idempotent, and
188
+ the sync task feeds the current file in so a custom import block/comment is not
189
+ dropped.
190
+ - Detect the project's vite package and allow resolveVite overrides ([#dfaedee](https://github.com/deltabox-studio/toolchain/commit/dfaedee) by [T0chi](https://github.com/T0chi))
191
+ - The generated `vite.config.ts` shim now imports `defineConfig` (and its config
192
+ type) from whichever package the project installs — `vite` or `vite-plus` —
193
+ detected from `package.json` and walking up so a hoisted workspace dependency
194
+ resolves. `resolveVite` is generic so the shim type-checks against both, and
195
+ `ResolveViteOptions` now carries inline `vite` overrides that are deep-merged
196
+ over the loaded section.
197
+ #### Migrate
198
+ - Add Oxc migration and repeatable --from ([#0f6930d](https://github.com/deltabox-studio/toolchain/commit/0f6930d) by [T0chi](https://github.com/T0chi))
199
+ #### Cli
200
+ - Add config selection and logger suppression ([#9b69e3f](https://github.com/deltabox-studio/toolchain/commit/9b69e3f) by [T0chi](https://github.com/T0chi))
201
+ #### Template
202
+ - Re-prompt on duplicate ids in init and the editor ([#a4d7cde](https://github.com/deltabox-studio/toolchain/commit/a4d7cde) by [T0chi](https://github.com/T0chi))
203
+ - one (or fails with an `--id` hint when non-interactive), and accepts
204
+ `--id`.
205
+ the provider already exists, updating its command names too.
206
+ - Unscoped npm packages, custom registries and remote sources ([#08cb68c](https://github.com/deltabox-studio/toolchain/commit/08cb68c) by [T0chi](https://github.com/T0chi))
207
+ - npm create packages. The registry defaults to the project package
208
+ manager's (`npmRegistryServer` / `.npmrc`) and can be overridden per
209
+ source with `--registry` or the new `ToolchainTemplateSource.registry`.
210
+ whose `{ sources }` / `{ templates }` / array is merged recursively.
211
+ docs.
212
+ - Add project registries, registry listing and global removal ([#ff3cd16](https://github.com/deltabox-studio/toolchain/commit/ff3cd16) by [T0chi](https://github.com/T0chi))
213
+ - to `<project>/.dbx/toolchain/.registry/templates`; the project paths are
214
+ resolved before the global ones (remote `http(s)` entries are kept as URLs).
215
+ `dbx registry` command lists them (`--json`) and adds/removes template paths
216
+ (`--add`/`--remove`, `--scope global|project`).
217
+ remove stored global templates; remote registries accept `{ sources }`,
218
+ `{ templates }` or an array of sources.
219
+ - Add a global template registry ([#638dd3b](https://github.com/deltabox-studio/toolchain/commit/638dd3b) by [T0chi](https://github.com/T0chi))
220
+ - Templates registered with `template:init --add`/`template:add` are also stored
221
+ under `~/.dbx/toolchain/.registry/templates` (unless `--no-global`), so they are
222
+ available in every project and the VS Code extension. Global templates merge
223
+ with the project's own (project wins on an id clash).
224
+ - Search paths default to that directory and can be configured as a string/array
225
+ of directories or `http(s)` remote registries. They live in
226
+ `~/.dbx/toolchain/cli/config.json` (`templatesSearchPaths`, plus a `vscodeDir`
227
+ pointing at the VS Code user dir) and are managed with the new
228
+ `dbx template:registry` command (`--add`/`--set`/`--remove`/`--clear`), which
229
+ also writes the VS Code `deltabox.templatesSearchPaths` setting.
230
+ ### Bug fixes
231
+ #### Cli
232
+ - Filter denied providers at registration ([#74c49bb](https://github.com/deltabox-studio/toolchain/commit/74c49bb) by [T0chi](https://github.com/T0chi))
233
+ - Load the registry policy before registering provider commands, and make config-flag extraction work for argv without a node/script prefix.
234
+ - Preserve provider flags and emit clean machine output ([#8f6c404](https://github.com/deltabox-studio/toolchain/commit/8f6c404) by [T0chi](https://github.com/T0chi))
235
+ #### Config
236
+ - Support boolean formatter and linter opt-ins ([#d99384b](https://github.com/deltabox-studio/toolchain/commit/d99384b) by [T0chi](https://github.com/T0chi))
237
+ - Allow true/false for every fmt/lint tool, honour explicit biome opt-outs, and ignore disabled biome overrides.
238
+ - Honour disabled sections and regenerate config types ([#dddd9a7](https://github.com/deltabox-studio/toolchain/commit/dddd9a7) by [T0chi](https://github.com/T0chi))
239
+ - Keep union, enum and nested types in the combined markdown reference ([#2eaa373](https://github.com/deltabox-studio/toolchain/commit/2eaa373) by [T0chi](https://github.com/T0chi))
240
+ - The combined (`combined: true`) markdown renderer received the untyped
241
+ lowering of Zod scopes, which collapses unions/enums to `any` with a `{}`
242
+ default. Render Zod scopes from `toJSONSchema` instead (resolving the root
243
+ `$ref` into `$defs`), so the reference shows real types and nested options
244
+ again.
245
+ - Finish generator ergonomics and changelog customization ([#38f6d5b](https://github.com/deltabox-studio/toolchain/commit/38f6d5b) by [T0chi](https://github.com/T0chi))
246
+ #### Changelog
247
+ - Honour workflow token overrides and disabled ci ([#de266dd](https://github.com/deltabox-studio/toolchain/commit/de266dd) by [T0chi](https://github.com/T0chi))
248
+ - Use the overridden package manager's version, honour legacy yarnVersion, and ignore workflow paths when ci is disabled.
249
+ #### Core
250
+ - Reload edited code configs in watch ([#10ba473](https://github.com/deltabox-studio/toolchain/commit/10ba473) by [T0chi](https://github.com/T0chi))
251
+ - Cache-bust the ESM/CJS config import when watch reloads, and add loader + live watch coverage.
252
+ - Protect adopted files, keep check read-only and reload watch config ([#c6fe500](https://github.com/deltabox-studio/toolchain/commit/c6fe500) by [T0chi](https://github.com/T0chi))
253
+ #### Vscode
254
+ - List custom workflows and read BOM-prefixed manifests ([#2f62b47](https://github.com/deltabox-studio/toolchain/commit/2f62b47) by [T0chi](https://github.com/T0chi))
255
+ - Use the default provider registry path and clarify template docs ([#017cfe6](https://github.com/deltabox-studio/toolchain/commit/017cfe6) by [T0chi](https://github.com/T0chi))
256
+ #### Tsconfig
257
+ - Make sync generation quiet, one-pass and non-fatal ([#f0d7663](https://github.com/deltabox-studio/toolchain/commit/f0d7663) by [T0chi](https://github.com/T0chi))
258
+ #### Ci
259
+ - Keep the build tsconfigs for CI typechecks ([#b1502ad](https://github.com/deltabox-studio/toolchain/commit/b1502ad) by [T0chi](https://github.com/T0chi))
260
+ - the generated CI workflow.
261
+ root + package `tsconfig.json` (including tests).
262
+ #### Migrate
263
+ - Deep-merge the folded vite config ([#f74d2ed](https://github.com/deltabox-studio/toolchain/commit/f74d2ed) by [T0chi](https://github.com/T0chi))
264
+ - Folding a hand-written `vite.config.*` into an existing `toolchain.vite` now
265
+ deep-merges object literals (nested objects combine; arrays/scalars from the
266
+ vite config win) instead of replacing the section, and flips a previous
267
+ `config: false` to `true` since the hand-written file is removed.
268
+ - Also fixes `findTopLevelValue` so a scalar last key no longer swallows the
269
+ object's closing `}`, updates the managed-shim detection for the generic
270
+ `resolveVite<T>(...)` form, and corrects the "nothing to migrate" message when
271
+ the migration is registered but no source is detected.
272
+ ### Refactors
273
+ - Run quality checks through vp tasks ([#2fee264](https://github.com/deltabox-studio/toolchain/commit/2fee264) by [T0chi](https://github.com/T0chi))
274
+ - Run build and test through vp tasks too ([#e890665](https://github.com/deltabox-studio/toolchain/commit/e890665) by [T0chi](https://github.com/T0chi))
275
+ - Run typechecks through vp tasks (dev vs CI tsconfigs) ([#7b3420b](https://github.com/deltabox-studio/toolchain/commit/7b3420b) by [T0chi](https://github.com/T0chi))
276
+ ### Documentation
277
+ - Document changelog group customization ([#5443ea0](https://github.com/deltabox-studio/toolchain/commit/5443ea0) by [T0chi](https://github.com/T0chi))
278
+ - Cover ordered groups, custom titles, hidden groups and callback examples for manual and CI changelog config.
279
+ - Document nested Oxc inheritance and workflow token versions ([#4f43cd9](https://github.com/deltabox-studio/toolchain/commit/4f43cd9) by [T0chi](https://github.com/T0chi))
280
+ - Cover scaffold --force, root Oxc inheritance, boolean tool opt-ins, workflow package-manager version defaults and the managed-file conflict group.
281
+ - Regenerate config artifacts and document the fixes ([#9be4d73](https://github.com/deltabox-studio/toolchain/commit/9be4d73) by [T0chi](https://github.com/T0chi))
282
+ - Document tsconfig overrides, snapshots and `--restore` ([#dad4084](https://github.com/deltabox-studio/toolchain/commit/dad4084) by [T0chi](https://github.com/T0chi))
283
+ - snapshots, removal rules, restoring, warnings) and the new CLI flags/exports
284
+ the sync task API additions and an upgrade step
285
+ the package reference
286
+ `llms-full.txt`
287
+ - Document v2 generators, custom logger and changelog customization ([#f0f7f5d](https://github.com/deltabox-studio/toolchain/commit/f0f7f5d) by [T0chi](https://github.com/T0chi))
288
+ - Update README highlights and regenerate LLM docs ([#6380770](https://github.com/deltabox-studio/toolchain/issues/6380770) by [T0chi](https://github.com/T0chi))
289
+ - Add the CI guide, TypeScript page and interactive CLI sections ([#fc6099a](https://github.com/deltabox-studio/toolchain/commit/fc6099a) by [T0chi](https://github.com/T0chi))
290
+ - `guide/ci/` section (overview + settings + ci/issues/changelog/sync/
291
+ releases) and retitle the overview to "CI".
292
+ metadata, programmatic API, Vite+ generics).
293
+ VS Code sync notification and CLI `sync --json` docs.
294
+ - Split the config, API, config-generator and changelog guides ([#4153d86](https://github.com/deltabox-studio/toolchain/commit/4153d86) by [T0chi](https://github.com/T0chi))
295
+ - `guide/changelog.md` into folders with an index + one sibling page per
296
+ second-level section.
297
+ commitlint, Versioning, CLI, writing messages, Troubleshooting and
298
+ Releases into sibling pages.
299
+ workflows, the commitlint opt-out fallback and the migration from the
300
+ deprecated top-level `changelog` section.
301
+ LLM bundles.
302
+ - Document the Registries view, project registries and dbx version picker ([#752d1cd](https://github.com/deltabox-studio/toolchain/commit/752d1cd) by [T0chi](https://github.com/T0chi))
303
+ - Cover `registrySearchPaths`, project registries, the `registry` command, remote
304
+ registries, the Registries view/actions, and the extension's version selection.
305
+ - Document the global template/provider registry ([#55651e1](https://github.com/deltabox-studio/toolchain/commit/55651e1) by [T0chi](https://github.com/T0chi))
306
+ - Cover the global templates dir, `--no-global`, the `template:registry` command,
307
+ the CLI config and `deltabox.templatesSearchPaths` sync, remote registries, and
308
+ global providers.
309
+ - Document defineConfig callbacks, shim detection and deep-merge migration ([#701de7c](https://github.com/deltabox-studio/toolchain/commit/701de7c) by [T0chi](https://github.com/T0chi))
310
+ - Cover `defineConfig` promises/callbacks, the shim importing from the project's
311
+ vite package, inline `resolveVite` overrides, and the vite migration deep-merging
312
+ into `toolchain.vite`.
313
+ #### Vscode
314
+ - Document extension requirements ([#07fd6fa](https://github.com/deltabox-studio/toolchain/commit/07fd6fa) by [T0chi](https://github.com/T0chi))
315
+ #### Config
316
+ - Generate CLI, env and config-type references ([#ba640a3](https://github.com/deltabox-studio/toolchain/commit/ba640a3) by [T0chi](https://github.com/T0chi))
317
+ - `config:docs`) to generate `apps/docs/config/index.md`, `cli.md` from
318
+ the ToolchainCommand descriptors, and `env.md` from ConfigMeta.
319
+ ### Tests
320
+ - Run the emulate suite in a temp sandbox outside the repo ([#a94fa4c](https://github.com/deltabox-studio/toolchain/commit/a94fa4c) by [T0chi](https://github.com/T0chi))
321
+ - `node_modules` link back to the repo install) instead of `tests/emulate`,
322
+ so a stray sync can never touch the toolchain repo
323
+ every test, and clean up on `SIGHUP`/`SIGBREAK` too
324
+ sandboxes
325
+ - Cover provider search paths, registry policy and remote sources ([#91a5859](https://github.com/deltabox-studio/toolchain/commit/91a5859) by [T0chi](https://github.com/T0chi))
326
+ ### Build system
327
+ - Run typechecks, tests and Vite+ from source without a built `dist` ([#4353a36](https://github.com/deltabox-studio/toolchain/commit/4353a36) by [T0chi](https://github.com/T0chi))
328
+ - `tsconfig.workspaces.json` and regenerate every workspace `tsconfig.json`,
329
+ so typechecks resolve workspace source instead of `dist`
330
+ building the package first
331
+ the source tsconfigs
332
+ ### Chores
333
+ - Fix lint warnings and remove unused helper ([#ac890d8](https://github.com/deltabox-studio/toolchain/commit/ac890d8) by [T0chi](https://github.com/T0chi))
334
+ - Add lint and check vp tasks to every workspace ([#83bb7e5](https://github.com/deltabox-studio/toolchain/commit/83bb7e5) by [T0chi](https://github.com/T0chi))
335
+
336
+ ### Package changes
337
+ #### Added
338
+ - `jsonc-parser` `^3.3.1`
339
+
340
+ ## 1.11.4 (October 2026)
341
+
7
342
  ### Documentation
8
343
  - Updated misleading docs ([#5a5e44c](https://github.com/deltabox-studio/toolchain/commit/5a5e44c) by [T0chi](https://github.com/T0chi))
9
344
  ### Chores
10
345
  #### Vscode
11
346
  - Rearranged views order ([#0620097](https://github.com/deltabox-studio/toolchain/issues/0620097) by [T0chi](https://github.com/T0chi))
12
347
 
13
- <!-- release:end -->
14
-
15
-
16
348
  ## 1.11.3 (October 2026)
17
349
 
18
350
  ### Bug fixes
package/README.md CHANGED
@@ -10,11 +10,11 @@
10
10
 
11
11
  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.
12
12
 
13
- - Save and use templates (local/remote) so you never have to scaffold the same projects over and over again.
14
- - Generate config types, env variables, cli flags, markdown and JSON schemas, so your codebase stays consistent, validated and well-documented.
15
- - Simply extend or setup CI for your changelogs, releases, issues etc.
16
- - Sync your entire project so workspaces, docs and CI are always up-to-date.
17
- - Plug it into Vite / Vite+ and streamline your DX for your existing Vite setup.
13
+ - **Save and use templates (local/remote)** so you never have to scaffold the same projects over and over again.
14
+ - **Generate** config types, env variables, cli flags, markdown and JSON schemas, so your codebase stays consistent, validated and well-documented.
15
+ - **Extend or setup** CI for your changelogs, releases, issues etc.
16
+ - **Sync** your entire project so workspaces, docs and CI are always up-to-date.
17
+ - **Plug it into Vite / Vite+** and streamline your DX for your existing Vite setup.
18
18
 
19
19
  See the [list of features](#features).
20
20
 
@@ -238,24 +238,31 @@ See [packages/vscode/README.md](./packages/vscode/README.md) to learn more about
238
238
 
239
239
  ## Development
240
240
 
241
- This repo is a Yarn 4 workspace; Vite+ (`vp`) drives format, lint, test and the
242
- task runner from the root `vite.config.ts`.
241
+ This repo is a Yarn 4 workspace. Vite+ (`vp`) drives format, lint, test and the
242
+ task runner from the root `vite.config.ts`. The generated shims are dogfooded
243
+ with `vite.shim: 'static'`, so `vp` loads them without a built package; Vite and
244
+ Vitest resolve workspace imports through `resolve.tsconfigPaths`.
243
245
 
244
246
  ```sh
245
247
  yarn install # fresh checkout
246
- yarn build # packages via `vp run` + root tsdown
247
- yarn test # package + root tests
248
+ yarn dev # run the CLI from src/ via tsx
248
249
  yarn typecheck # packages + root
249
- yarn check # Oxfmt + Oxlint (format + lint)
250
+ yarn check # Oxfmt + Oxlint check (no writes)
251
+ yarn check:fix # same, auto-fixing every workspace + the root
250
252
  yarn format # `vp fmt`
251
253
  yarn lint # `vp lint --fix`
254
+ yarn build # packages via `vp run` + root tsdown
255
+ yarn test # builds, then package + root tests
256
+ yarn test:clean # remove leftover emulation temp workspaces
252
257
  ```
253
258
 
254
- > `vp` resolves only at the repo root, so run these from the root. Package
255
- > typechecks/tests resolve workspace deps from their built `dist`, so run a full
256
- > `yarn build` after changing a package's public exports.
259
+ > `vp` resolves only at the repo root, so run these from the root. A full
260
+ > `yarn build` is only needed for the published `dist`/VSIX: typechecks,
261
+ > `vp run`/`fmt`/`lint`/`test`, `yarn dev` and Vitest run from source. The
262
+ > emulate suite spawns the built `dist/cli/index.js` and therefore needs a
263
+ > build.
257
264
 
258
- Docs live in `apps/docs` (VitePress): `yarn workspace @deltabox/toolchain-docs build`.
265
+ Docs live in `apps/docs` (VitePress): `yarn docs build`.
259
266
 
260
267
  ## Docs
261
268
 
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};export{t as __exportAll};
1
+ import"node:path";import"node:url";import.meta.url;import"node:module";var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};export{t as __exportAll};
@@ -1,19 +1,23 @@
1
1
  import __tsdown_shims_path from 'node:path';
2
2
  import __tsdown_shims_url from 'node:url';
3
- import { AuthorInfo, BumpType, CliOptions, CommitRecord, ExistingEntry, GroupedItem, GroupedRule, IssueInfo, ParsedCommit, ProcessingMethod } from "./packages/changelog/src/utils/types.js";
3
+ import { ChangelogBreakingCommit, ChangelogBreakingSetting } from "./packages/shared/src/changelog-breaking.js";
4
+ import { ChangelogGroupConfig, ChangelogGroupContext, ChangelogGroupEntry, ChangelogGroupHidden, ChangelogGroupItem, ChangelogGroupOrder, ChangelogGroupTitle, ChangelogGroupsContext, ChangelogGroupsSetting } from "./packages/shared/src/changelog-groups.js";
5
+ import { AuthorInfo, BumpType, ChangelogProvider, ChangelogProviderContext, CliOptions, CommitFormatContext, CommitFormatOptions, CommitRecord, ExistingEntry, GroupedItem, GroupedRule, IssueInfo, ParsedCommit, ProcessingMethod } from "./packages/changelog/src/utils/types.js";
4
6
  import { parseArgsCli } from "./packages/changelog/src/utils/args.js";
7
+ import { isBreakingCommit } from "./packages/changelog/src/utils/breaking.js";
5
8
  import { formatBody, groupItems, parseCcSubject, renderGroups, ruleTitle, splitInlineDescription } from "./packages/changelog/src/utils/format.js";
6
9
  import { deriveBump, readCommits } from "./packages/changelog/src/utils/git.js";
7
10
  import { parseExistingChangelog, reformatChangelogContent } from "./packages/changelog/src/utils/reformat.js";
8
11
  import { buildSummary, renderCommitRef } from "./packages/changelog/src/utils/summary.js";
9
12
  import { renderChangelogEntry } from "./packages/changelog/src/utils/version.js";
10
13
  import { main, runChangelog } from "./packages/changelog/src/run.js";
11
- import { DEFAULT_WORKFLOW_TOKENS, RenderWorkflowOptions, WORKFLOW_FILENAMES, Workflow, WorkflowId, WorkflowJob, applyWorkflowConfig, defaultWorkflows, isEnabled, renderWorkflow, renderWorkflows } from "./packages/changelog/src/workflows.js";
12
- import { RanWorkflow, RunWorkflowsOptions, RunWorkflowsResult, resolveWorkflowId, runWorkflows } from "./packages/changelog/src/run-workflows.js";
13
- import { COMMITLINT_HEADER, COMMIT_MSG_HOOK, HOOK_HEADER, WORKFLOW_HEADER, changelogSyncTask, commitMsgHook, workflowFilenames } from "./packages/changelog/src/sync.js";
14
+ import { DEFAULT_WORKFLOW_DIR, DEFAULT_WORKFLOW_TOKENS, DefaultWorkflowOptions, RenderWorkflowOptions, WORKFLOW_FILENAMES, Workflow, WorkflowId, WorkflowJob, applyWorkflowConfig, defaultWorkflows, isEnabled, renderCustomWorkflow, renderWorkflow, renderWorkflows, workflowFilePath } from "./packages/changelog/src/workflows.js";
15
+ import { RanWorkflow, RunWorkflowsOptions, RunWorkflowsResult, WorkflowTarget, resolveWorkflowId, resolveWorkflowTarget, runWorkflows, workflowTargets } from "./packages/changelog/src/run-workflows.js";
16
+ import { COMMITLINT_HEADER, COMMIT_MSG_HOOK, HOOK_HEADER, WORKFLOW_HEADER, changelogSyncTask, commitMsgHook, workflowFilePaths, workflowFilenames } from "./packages/changelog/src/sync.js";
14
17
  import { CommitlintOptions, conventionalCommitsVscodeExtensions, conventionalCommitsVscodeSettings, renderCommitlintConfig } from "./packages/changelog/src/templates.js";
15
18
  import { ProjectGraphNode, readProjectGraph, relatedWorkspacePaths } from "./packages/changelog/src/utils/graph.js";
16
- import { PlanVersionsOptions, ResolvedVersioning, VersionPackages, VersionPlan, VersioningTarget, discoverVersionPackages, planVersions, readPackageVersion, resolveVersioning, writePackageVersion } from "./packages/changelog/src/utils/versioning.js";
19
+ import { buildReleaseNotes, normalizeReleaseVersion, releaseNotesFromGit } from "./packages/changelog/src/utils/release-notes.js";
20
+ import { BumpRuleContext, PlanVersionsOptions, ResolvedVersioning, VersionPackages, VersionPlan, VersioningTarget, deriveCustomBump, discoverVersionPackages, planVersions, readPackageVersion, resolveVersioning, writePackageVersion } from "./packages/changelog/src/utils/versioning.js";
17
21
  import "./packages/changelog/src/index.js";
18
22
  import { changelogCommands } from "./packages/changelog/src/cli/index.js";
19
- export { AuthorInfo, BumpType, COMMITLINT_HEADER, COMMIT_MSG_HOOK, CliOptions, CommitRecord, CommitlintOptions, DEFAULT_WORKFLOW_TOKENS, ExistingEntry, GroupedItem, GroupedRule, HOOK_HEADER, IssueInfo, ParsedCommit, PlanVersionsOptions, ProcessingMethod, type ProjectGraphNode, RanWorkflow, RenderWorkflowOptions, ResolvedVersioning, RunWorkflowsOptions, RunWorkflowsResult, VersionPackages, VersionPlan, VersioningTarget, WORKFLOW_FILENAMES, WORKFLOW_HEADER, Workflow, WorkflowId, WorkflowJob, applyWorkflowConfig, buildSummary, changelogCommands, changelogSyncTask, commitMsgHook, conventionalCommitsVscodeExtensions, conventionalCommitsVscodeSettings, defaultWorkflows, deriveBump, discoverVersionPackages, formatBody, groupItems, isEnabled, main, parseArgsCli, parseCcSubject, parseExistingChangelog, planVersions, readCommits, readPackageVersion, readProjectGraph, reformatChangelogContent, relatedWorkspacePaths, renderChangelogEntry, renderCommitRef, renderCommitlintConfig, renderGroups, renderWorkflow, renderWorkflows, resolveVersioning, resolveWorkflowId, ruleTitle, runChangelog, runWorkflows, splitInlineDescription, workflowFilenames, writePackageVersion };
23
+ export { AuthorInfo, BumpRuleContext, BumpType, COMMITLINT_HEADER, COMMIT_MSG_HOOK, type ChangelogBreakingCommit, type ChangelogBreakingSetting, type ChangelogGroupConfig, type ChangelogGroupContext, type ChangelogGroupEntry, type ChangelogGroupHidden, type ChangelogGroupItem, type ChangelogGroupOrder, type ChangelogGroupTitle, type ChangelogGroupsContext, type ChangelogGroupsSetting, ChangelogProvider, ChangelogProviderContext, CliOptions, CommitFormatContext, CommitFormatOptions, CommitRecord, CommitlintOptions, DEFAULT_WORKFLOW_DIR, DEFAULT_WORKFLOW_TOKENS, DefaultWorkflowOptions, ExistingEntry, GroupedItem, GroupedRule, HOOK_HEADER, IssueInfo, ParsedCommit, PlanVersionsOptions, ProcessingMethod, type ProjectGraphNode, RanWorkflow, RenderWorkflowOptions, ResolvedVersioning, RunWorkflowsOptions, RunWorkflowsResult, VersionPackages, VersionPlan, VersioningTarget, WORKFLOW_FILENAMES, WORKFLOW_HEADER, Workflow, WorkflowId, WorkflowJob, WorkflowTarget, applyWorkflowConfig, buildReleaseNotes, buildSummary, changelogCommands, changelogSyncTask, commitMsgHook, conventionalCommitsVscodeExtensions, conventionalCommitsVscodeSettings, defaultWorkflows, deriveBump, deriveCustomBump, discoverVersionPackages, formatBody, groupItems, isBreakingCommit, isEnabled, main, normalizeReleaseVersion, parseArgsCli, parseCcSubject, parseExistingChangelog, planVersions, readCommits, readPackageVersion, readProjectGraph, reformatChangelogContent, relatedWorkspacePaths, releaseNotesFromGit, renderChangelogEntry, renderCommitRef, renderCommitlintConfig, renderCustomWorkflow, renderGroups, renderWorkflow, renderWorkflows, resolveVersioning, resolveWorkflowId, resolveWorkflowTarget, ruleTitle, runChangelog, runWorkflows, splitInlineDescription, workflowFilePath, workflowFilePaths, workflowFilenames, workflowTargets, 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{readProjectGraph as m,relatedWorkspacePaths as h}from"./packages/changelog/src/utils/graph.js";import{discoverVersionPackages as g,planVersions as _,readPackageVersion as v,resolveVersioning as y,writePackageVersion as b}from"./packages/changelog/src/utils/versioning.js";import{main as x,runChangelog as S}from"./packages/changelog/src/run.js";import{DEFAULT_WORKFLOW_TOKENS as C,WORKFLOW_FILENAMES as w,applyWorkflowConfig as T,defaultWorkflows as E,isEnabled as D,renderWorkflow as O,renderWorkflows as k}from"./packages/changelog/src/workflows.js";import{resolveWorkflowId as A,runWorkflows as j}from"./packages/changelog/src/run-workflows.js";import{conventionalCommitsVscodeExtensions as M,conventionalCommitsVscodeSettings as N,renderCommitlintConfig as P}from"./packages/changelog/src/templates.js";import{COMMITLINT_HEADER as F,COMMIT_MSG_HOOK as I,HOOK_HEADER as L,WORKFLOW_HEADER as R,changelogSyncTask as z,commitMsgHook as B,workflowFilenames as V}from"./packages/changelog/src/sync.js";import"./packages/changelog/src/index.js";import{changelogCommands as H}from"./packages/changelog/src/cli/index.js";export{F as COMMITLINT_HEADER,I as COMMIT_MSG_HOOK,C as DEFAULT_WORKFLOW_TOKENS,L as HOOK_HEADER,w as WORKFLOW_FILENAMES,R as WORKFLOW_HEADER,T as applyWorkflowConfig,f as buildSummary,H as changelogCommands,z as changelogSyncTask,B as commitMsgHook,M as conventionalCommitsVscodeExtensions,N as conventionalCommitsVscodeSettings,E as defaultWorkflows,t as deriveBump,g as discoverVersionPackages,r as formatBody,i as groupItems,D as isEnabled,x as main,e as parseArgsCli,a as parseCcSubject,u as parseExistingChangelog,_ as planVersions,n as readCommits,v as readPackageVersion,m as readProjectGraph,d as reformatChangelogContent,h as relatedWorkspacePaths,l as renderChangelogEntry,p as renderCommitRef,P as renderCommitlintConfig,o as renderGroups,O as renderWorkflow,k as renderWorkflows,y as resolveVersioning,A as resolveWorkflowId,s as ruleTitle,S as runChangelog,j as runWorkflows,c as splitInlineDescription,V as workflowFilenames,b as writePackageVersion};
1
+ import"node:path";import"node:url";import.meta.url;import{parseArgsCli as e}from"./packages/changelog/src/utils/args.js";import{isBreakingCommit as t}from"./packages/changelog/src/utils/breaking.js";import{deriveBump as n,readCommits as r}from"./packages/changelog/src/utils/git.js";import{formatBody as i,groupItems as a,parseCcSubject as o,renderGroups as s,ruleTitle as c,splitInlineDescription as l}from"./packages/changelog/src/utils/format.js";import{renderChangelogEntry as u}from"./packages/changelog/src/utils/version.js";import{parseExistingChangelog as d,reformatChangelogContent as f}from"./packages/changelog/src/utils/reformat.js";import{buildReleaseNotes as p,normalizeReleaseVersion as m,releaseNotesFromGit as h}from"./packages/changelog/src/utils/release-notes.js";import{buildSummary as g,renderCommitRef as _}from"./packages/changelog/src/utils/summary.js";import{readProjectGraph as v,relatedWorkspacePaths as y}from"./packages/changelog/src/utils/graph.js";import{deriveCustomBump as b,discoverVersionPackages as x,planVersions as S,readPackageVersion as C,resolveVersioning as w,writePackageVersion as T}from"./packages/changelog/src/utils/versioning.js";import{main as E,runChangelog as D}from"./packages/changelog/src/run.js";import{DEFAULT_WORKFLOW_DIR as O,DEFAULT_WORKFLOW_TOKENS as k,WORKFLOW_FILENAMES as A,applyWorkflowConfig as j,defaultWorkflows as M,isEnabled as N,renderCustomWorkflow as P,renderWorkflow as F,renderWorkflows as I,workflowFilePath as L}from"./packages/changelog/src/workflows.js";import{resolveWorkflowId as R,resolveWorkflowTarget as z,runWorkflows as B,workflowTargets as V}from"./packages/changelog/src/run-workflows.js";import{conventionalCommitsVscodeExtensions as H,conventionalCommitsVscodeSettings as U,renderCommitlintConfig as W}from"./packages/changelog/src/templates.js";import{COMMITLINT_HEADER as G,COMMIT_MSG_HOOK as K,HOOK_HEADER as q,WORKFLOW_HEADER as J,changelogSyncTask as Y,commitMsgHook as X,workflowFilePaths as Z,workflowFilenames as Q}from"./packages/changelog/src/sync.js";import"./packages/changelog/src/index.js";import{changelogCommands as $}from"./packages/changelog/src/cli/index.js";export{G as COMMITLINT_HEADER,K as COMMIT_MSG_HOOK,O as DEFAULT_WORKFLOW_DIR,k as DEFAULT_WORKFLOW_TOKENS,q as HOOK_HEADER,A as WORKFLOW_FILENAMES,J as WORKFLOW_HEADER,j as applyWorkflowConfig,p as buildReleaseNotes,g as buildSummary,$ as changelogCommands,Y as changelogSyncTask,X as commitMsgHook,H as conventionalCommitsVscodeExtensions,U as conventionalCommitsVscodeSettings,M as defaultWorkflows,n as deriveBump,b as deriveCustomBump,x as discoverVersionPackages,i as formatBody,a as groupItems,t as isBreakingCommit,N as isEnabled,E as main,m as normalizeReleaseVersion,e as parseArgsCli,o as parseCcSubject,d as parseExistingChangelog,S as planVersions,r as readCommits,C as readPackageVersion,v as readProjectGraph,f as reformatChangelogContent,y as relatedWorkspacePaths,h as releaseNotesFromGit,u as renderChangelogEntry,_ as renderCommitRef,W as renderCommitlintConfig,P as renderCustomWorkflow,s as renderGroups,F as renderWorkflow,I as renderWorkflows,w as resolveVersioning,R as resolveWorkflowId,z as resolveWorkflowTarget,c as ruleTitle,D as runChangelog,B as runWorkflows,l as splitInlineDescription,L as workflowFilePath,Z as workflowFilePaths,Q as workflowFilenames,V as workflowTargets,T as writePackageVersion};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{projectsCommand as e}from"./projects.js";import{providerCommands as t}from"./providers.js";import{resetCommand as n}from"./reset.js";import{baseOptions as r,watchOptions as i}from"./shared.js";import{syncCommand as a}from"./sync.js";import{watchCommand as o}from"./watch.js";function s(){return[e(),a(),o(),n(),...t()]}export{r as baseOptions,s as syncCommands,i as watchOptions};
1
+ import"node:path";import"node:url";import.meta.url;import{projectsCommand as e}from"./projects.js";import{providerCommands as t}from"./providers.js";import{resetCommand as n}from"./reset.js";import{baseOptions as r,watchOptions as i}from"./shared.js";import{syncCommand as a}from"./sync.js";import{watchCommand as o}from"./watch.js";function s(r){return[e(),a(),o(),n(),...t(r)]}export{r as baseOptions,s as syncCommands,i as watchOptions};
@@ -1 +1 @@
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
+ 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{readAllProvidersSync as n}from"../../packages/core/src/provider-registry.js";import"../../packages/core/src/index.js";import{loadToolchainProviders as r,providerPolicy as i}from"../../providers.js";const a={flags:`--cwd <dir>`,description:`Project root (default: cwd).`};function o(r,o){return{name:o.name,description:`${r.name}: ${o.description}`,passthrough:!0,options:[a],run:async(a,s)=>{let c=a.args??[],l=a.cwd??s.cwd,u=i(s.config);if(u&&!n(l,u).some(e=>e.id===r.id)){e.error(`provider "${r.id}" is not allowed by toolchain.registry.providers.`),process.exitCode=1;return}if(!r.binary){e.error(`provider "${r.id}" has no binary to run.`),process.exitCode=1;return}let d=await new Promise(e=>{let n=t(r.binary,[o.subcommand,...c],{cwd:l,env:process.env,stdio:`inherit`});n.on(`error`,()=>e(1)),n.on(`exit`,t=>e(t??0))});d!==0&&(process.exitCode=d)}}}function s(e=process.cwd(),t){return n(e,i(t)).flatMap(e=>e.commands.map(t=>o(e,t)))}function c(t){return[{name:`providers`,description:`List the tooling providers (Vite+, ...) and their commands.`,options:[{flags:`--json`,description:`Print the providers (with actions) as JSON.`}],run:async(t,n)=>{let i=await r(process.cwd(),n.config);if(t.json)e.raw(JSON.stringify(i,null,4));else for(let t of i){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}`)}}},...s(process.cwd(),t)]}export{c as providerCommands,s as providerPassthroughCommands};
@@ -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{resetProjects as t}from"../../packages/core/src/reset.js";import"../../packages/core/src/index.js";function n(){return{name:`reset`,description:`Remove generated files, the .dbx/toolchain manifest and/or the dbx config from a project.`,options:[{flags:`--cwd <dir>`,description:`Project root (default: cwd).`},{flags:`--recursive`,description:`Reset every discovered project under the root.`},{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:`--generated`,description:`Remove only the generated/managed files.`},{flags:`--manifest`,description:`Remove only the .dbx/toolchain directory.`},{flags:`--config`,description:`Also remove dbx.config.*.`},{flags:`--all`,description:`Remove generated files, the manifest and the config.`},{flags:`--dry-run`,description:`Report what would be removed without deleting.`},{flags:`--json`,description:`Print the result as JSON.`}],run:(n,r)=>{let i=n.cwd??r.cwd,a=n.all?{generated:!0,manifest:!0,config:!0}:{...n.generated?{generated:!0}:{},...n.manifest?{manifest:!0}:{},...n.config?{config:!0}:{}},o=t({root:i,recursive:!!n.recursive,dryRun:!!n.dryRun,...a,...n.include?{include:n.include}:{},...n.exclude?{exclude:n.exclude}:{}});if(n.json){e.raw(JSON.stringify(o,null,4));return}let s=o.dryRun?`would remove`:`removed`,c=0;for(let t of o.results)if(t.removed.length!==0){c+=t.removed.length,e.info(`${t.rel===`.`?i:t.rel}`);for(let n of t.removed)e.info(` - ${n}`)}e.info(`${s} ${c} item(s) across ${o.results.length} project(s).`)}}}export{n as resetCommand};
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{resetProjects as t}from"../../packages/core/src/reset.js";import"../../packages/core/src/index.js";import{restoreTsconfigOverrides as n}from"../../packages/tsconfig/src/snapshots.js";import"../../packages/tsconfig/src/index.js";function r(){return{name:`reset`,description:`Remove generated files, the .dbx/toolchain manifest and/or the dbx config from a project.`,options:[{flags:`--cwd <dir>`,description:`Project root (default: cwd).`},{flags:`--recursive`,description:`Reset every discovered project under the root.`},{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:`--generated`,description:`Remove only the generated/managed files.`},{flags:`--manifest`,description:`Remove only the .dbx/toolchain directory.`},{flags:`--config`,description:`Also remove dbx.config.*.`},{flags:`--all`,description:`Remove generated files, the manifest and the config.`},{flags:`--dry-run`,description:`Report what would be removed without deleting.`},{flags:`--json`,description:`Print the result as JSON.`}],run:(r,i)=>{let a=r.cwd??i.cwd,o=r.all?{generated:!0,manifest:!0,config:!0}:{...r.generated?{generated:!0}:{},...r.manifest?{manifest:!0}:{},...r.config?{config:!0}:{}},s=t({root:a,recursive:!!r.recursive,dryRun:!!r.dryRun,restore:(t,{dryRun:r})=>n({cwd:t,dryRun:r,warn:(t,n)=>e.warn(t,n)}).restored,...o,...r.include?{include:r.include}:{},...r.exclude?{exclude:r.exclude}:{}});if(r.json){e.raw(JSON.stringify(s,null,4));return}let c=s.dryRun?`would remove`:`removed`,l=0;for(let t of s.results)if(t.removed.length!==0||t.restored.length!==0){l+=t.removed.length,e.info(`${t.rel===`.`?a:t.rel}`);for(let n of t.restored)e.info(` ~ ${n} (overrides reverted)`);for(let n of t.removed)e.info(` - ${n}`)}e.info(`${c} ${l} item(s) across ${s.results.length} project(s).`)}}}export{r as resetCommand};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{sectionConfig as e}from"../../packages/shared/src/toolchain.js";import"../../packages/shared/src/index.js";import{defaultSyncTasks as t}from"../../sync.js";const n=[{flags:`--cwd <dir>`,description:`Project root (default: cwd).`},{flags:`-q, --quiet`,description:`Only log errors.`}];function r(n){let r=e(n.config.watch);return{tasks:t(),cwd:n.cwd,projectType:n.projectType,config:n.config,tokens:n.tokens,...n.configPath?{configPath:n.configPath}:{},...r?.debounce===void 0?{}:{debounce:r.debounce},...r?.exclude===void 0?{}:{exclude:r.exclude},...r?.gitignore===void 0?{}:{gitignore:r.gitignore}}}export{n as baseOptions,r as watchOptions};
1
+ import"node:path";import"node:url";import.meta.url;import{sectionConfig as e}from"../../packages/shared/src/toolchain.js";import"../../packages/shared/src/index.js";import{defaultSyncTasks as t}from"../../sync.js";const n=[{flags:`--cwd <dir>`,description:`Project root (default: cwd).`},{flags:`-q, --quiet`,description:`Only log errors.`}];function r(n){let r=e(n.config.watch);return{tasks:t(),cwd:n.cwd,projectType:n.projectType,config:n.config,...n.ownConfig?{ownConfig:n.ownConfig}:{},tokens:n.tokens,...n.configPath?{configPath:n.configPath}:{},...r?.debounce===void 0?{}:{debounce:r.debounce},...r?.exclude===void 0?{}:{exclude:r.exclude},...r?.gitignore===void 0?{}:{gitignore:r.gitignore}}}export{n as baseOptions,r as watchOptions};
@@ -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{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(u.configError){t.error(u.configError),process.exitCode=1;return}if(c.recursive){let o=r(u.cwd);f||i(u.cwd,o);for(let r of o.order){let i=e.resolve(u.cwd,r),o=await n(i,{tolerant:!0});if(o.error){t.error(o.error),process.exitCode=1;continue}let c=await a({tasks:s(),cwd:i,projectType:o.projectType,config:o.config,tokens:o.tokens,check:f,quiet:d});f&&!c.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{getConfigSelection as c}from"../config-selection.js";import{baseOptions as l,watchOptions as u}from"./shared.js";function d(){return{name:`sync`,description:`Regenerate every managed file from dbx.config.*.`,options:[...l,{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.`},{flags:`--json`,description:`Print the sync result (including removed files) as JSON.`}],run:async(l,d)=>{let f=!!l.json,p=!!l.quiet||f,m=!!l.check;if(d.configError){t.error(d.configError),process.exitCode=1;return}if(l.recursive){let o=r(d.cwd);m||i(d.cwd,o);let l=[],u=c();for(let r of o.order){let i=e.resolve(d.cwd,r),o=await n(i,{tolerant:!0,...u});if(o.error){t.error(o.error),process.exitCode=1;continue}let c=await a({tasks:s(),cwd:i,projectType:o.projectType,config:o.config,ownConfig:o.ownConfig,tokens:o.tokens,check:m,quiet:p});l.push({dir:r,result:c}),m&&!c.upToDate&&(process.exitCode=1)}f&&t.raw(JSON.stringify({results:l},null,4));return}if(!d.configPath&&!l.force&&!d.noConfig){t.warn(`no dbx.config.* found here; nothing to sync (use --force to run anyway).`);return}if(l.watch){await o({...u(d),quiet:p});return}let h=await a({...u(d),check:m,quiet:p});if(m&&!h.upToDate&&(process.exitCode=1),!m)try{i(d.cwd,r(d.cwd))}catch{}f&&t.raw(JSON.stringify(h,null,4))}}}export{d as syncCommand};
@@ -1 +1 @@
1
- import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../packages/shared/src/logger.js";import{sectionConfig as t}from"../../packages/shared/src/toolchain.js";import"../../packages/shared/src/index.js";import{runWatch as n}from"../../packages/core/src/watch.js";import"../../packages/core/src/index.js";import{baseOptions as r,watchOptions as i}from"./shared.js";function a(){return{name:`watch`,description:`Sync once, then watch key files and re-sync on change.`,options:[...r,{flags:`--force`,description:`Run even when no dbx.config.* is present.`}],run:async(r,a)=>{!a.configPath&&!r.force?e.warn(`no dbx.config.* found here; nothing to watch (use --force to run anyway).`):t(a.config.watch)?.enabled===!1?e.warn(`watch is disabled in the config.`):await n({...i(a),quiet:!!r.quiet})}}}export{a as watchCommand};
1
+ import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../packages/shared/src/logger.js";import{sectionConfig as t}from"../../packages/shared/src/toolchain.js";import"../../packages/shared/src/index.js";import{resolveWatchGlobs as n,runWatch as r}from"../../packages/core/src/watch.js";import"../../packages/core/src/index.js";import{tsconfigFileNames as i}from"../../packages/tsconfig/src/sync.js";import"../../packages/tsconfig/src/index.js";import{defaultSyncTasks as a}from"../../sync.js";import{baseOptions as o,watchOptions as s}from"./shared.js";function c(){return{name:`watch`,description:`Sync once, then watch key files and re-sync on change.`,options:[...o,{flags:`--force`,description:`Run even when no dbx.config.* is present.`},{flags:`--list`,description:`Print the resolved input globs (+ tsconfig file names) instead of watching.`},{flags:`--json`,description:`With --list: print the inputs as JSON.`}],run:async(o,c)=>{if(o.list){let t={globs:[`**/dbx.config.*`,...n(a(),c.config,c.projectType)],tsconfig:i(c.config)};if(o.json)e.raw(JSON.stringify(t,null,4));else for(let n of t.globs)e.info(n)}else!c.configPath&&!o.force&&!c.noConfig?e.warn(`no dbx.config.* found here; nothing to watch (use --force to run anyway).`):c.config.watch===!1||t(c.config.watch)?.enabled===!1?e.warn(`watch is disabled in the config.`):await r({...s(c),quiet:!!o.quiet})}}}export{c as watchCommand};
@@ -0,0 +1,23 @@
1
+ import __tsdown_shims_path from 'node:path';
2
+ import __tsdown_shims_url from 'node:url';
3
+ //#region src/cli/config-selection.d.ts
4
+ /** How the CLI selected the config for this run (`--config` / `--no-config`). */
5
+ export interface ConfigSelection {
6
+ /** An explicit config file (CLI-only). */
7
+ config?: string;
8
+ /** Do not load any discovered config; use CLI flags/env only. */
9
+ noConfig?: boolean;
10
+ }
11
+ /**
12
+ * Pull `--no-config` / `--config <file>` out of `argv` so they work before or
13
+ * after a subcommand. Everything after `--` is left untouched.
14
+ *
15
+ * A provider passthrough (`vite`, `vite:*`, or a custom provider command)
16
+ * receives its operands verbatim, so config flags after that command are left
17
+ * alone (`dbx vite build --config vite.custom.ts` must reach `vp`).
18
+ */
19
+ export declare function extractConfigSelection(argv: string[], isPassthrough?: (name: string) => boolean): {
20
+ argv: string[];
21
+ selection: ConfigSelection;
22
+ };
23
+ //#endregion
@@ -0,0 +1 @@
1
+ import"node:path";import"node:url";import.meta.url;let e={};function t(t){e={...t}}function n(){return e}function r(e){return/(?:^|[\\/])(?:node|node\.exe|bun|bun\.exe|deno|deno\.exe)$/i.test(e[0]??``)?2:0}function i(e,t){let n={},i=[],a=r(e),o,s=!1;for(let r=0;r<e.length;r++){let c=e[r];if(c===`--`){i.push(...e.slice(r));break}if(r>=a&&o===void 0&&!c.startsWith(`-`)&&(o=c,s=t?.(c)===!0),o!==void 0&&s)i.push(c);else if(c===`--no-config`)n.noConfig=!0;else if(c===`--config`){let t=e[++r];t!==void 0&&(n.config=t)}else c.startsWith(`--config=`)?n.config=c.slice(9):i.push(c)}return{argv:i,selection:n}}export{i as extractConfigSelection,n as getConfigSelection,t as setConfigSelection};
@@ -1 +1 @@
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,{tolerant:!0}),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";import{getConfigSelection as t}from"./config-selection.js";const n=/* @__PURE__ */ new Map;function r(r){let i=t(),a=`${r}\0${i.config??``}\0${i.noConfig?`1`:`0`}`,o=n.get(a);return o||(o=e(r,{tolerant:!0,...i}),n.set(a,o)),o}export{r as loadContext};