@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.
- package/CHANGELOG.md +336 -4
- package/README.md +21 -14
- package/dist/_virtual/_rolldown/runtime.js +1 -1
- package/dist/changelog.d.ts +10 -6
- package/dist/changelog.js +1 -1
- package/dist/cli/commands/index.js +1 -1
- package/dist/cli/commands/providers.js +1 -1
- package/dist/cli/commands/reset.js +1 -1
- package/dist/cli/commands/shared.js +1 -1
- package/dist/cli/commands/sync.js +1 -1
- package/dist/cli/commands/watch.js +1 -1
- package/dist/cli/config-selection.d.ts +23 -0
- package/dist/cli/config-selection.js +1 -0
- package/dist/cli/context.js +1 -1
- package/dist/cli/index.d.ts +5 -3
- package/dist/cli/index.js +1 -1
- package/dist/cli/register.js +1 -1
- package/dist/config.d.ts +8 -8
- package/dist/config.js +1 -1
- package/dist/core.d.ts +7 -6
- package/dist/core.js +1 -1
- package/dist/globals.d.ts +31 -0
- package/dist/globals.js +1 -0
- package/dist/index.d.ts +33 -11
- package/dist/index.js +1 -1
- package/dist/migrate.d.ts +3 -2
- package/dist/migrate.js +1 -1
- package/dist/package.js +1 -1
- package/dist/packages/biome/src/index.d.ts +2 -1
- package/dist/packages/biome/src/index.js +1 -1
- package/dist/packages/changelog/src/cli/index.js +1 -1
- package/dist/packages/changelog/src/index.d.ts +11 -7
- package/dist/packages/changelog/src/index.js +1 -1
- package/dist/packages/changelog/src/run-workflows.d.ts +19 -4
- package/dist/packages/changelog/src/run-workflows.js +1 -1
- package/dist/packages/changelog/src/run.d.ts +4 -3
- package/dist/packages/changelog/src/run.js +1 -1
- package/dist/packages/changelog/src/sync.d.ts +7 -4
- package/dist/packages/changelog/src/sync.js +1 -1
- package/dist/packages/changelog/src/utils/args.js +1 -1
- package/dist/packages/changelog/src/utils/breaking.d.ts +16 -0
- package/dist/packages/changelog/src/utils/breaking.js +1 -0
- package/dist/packages/changelog/src/utils/format.d.ts +2 -1
- package/dist/packages/changelog/src/utils/format.js +5 -5
- package/dist/packages/changelog/src/utils/git.d.ts +3 -1
- package/dist/packages/changelog/src/utils/git.js +1 -1
- package/dist/packages/changelog/src/utils/reformat.d.ts +4 -1
- package/dist/packages/changelog/src/utils/reformat.js +4 -4
- package/dist/packages/changelog/src/utils/release-notes.d.ts +18 -0
- package/dist/packages/changelog/src/utils/release-notes.js +1 -0
- package/dist/packages/changelog/src/utils/summary.d.ts +29 -2
- package/dist/packages/changelog/src/utils/summary.js +3 -1
- package/dist/packages/changelog/src/utils/types.d.ts +39 -2
- package/dist/packages/changelog/src/utils/version.d.ts +1 -0
- package/dist/packages/changelog/src/utils/versioning.d.ts +30 -4
- package/dist/packages/changelog/src/utils/versioning.js +1 -1
- package/dist/packages/changelog/src/utils/write.js +1 -1
- package/dist/packages/changelog/src/workflows.d.ts +27 -7
- package/dist/packages/changelog/src/workflows.js +5 -5
- package/dist/packages/config/src/cli/index.js +1 -1
- package/dist/packages/config/src/collect.d.ts +10 -8
- package/dist/packages/config/src/collect.js +1 -1
- package/dist/packages/config/src/config-json.d.ts +4 -4
- package/dist/packages/config/src/config-json.js +1 -1
- package/dist/packages/config/src/engine.d.ts +14 -25
- package/dist/packages/config/src/engine.js +1 -1
- package/dist/packages/config/src/env-file.d.ts +4 -4
- package/dist/packages/config/src/env-file.js +2 -2
- package/dist/packages/config/src/env.d.ts +4 -6
- package/dist/packages/config/src/env.js +1 -1
- package/dist/packages/config/src/generators/cli.d.ts +6 -6
- package/dist/packages/config/src/generators/cli.js +1 -1
- package/dist/packages/config/src/generators/env.d.ts +9 -9
- package/dist/packages/config/src/generators/env.js +2 -2
- package/dist/packages/config/src/generators/index.d.ts +4 -4
- package/dist/packages/config/src/generators/index.js +1 -1
- package/dist/packages/config/src/generators/json.d.ts +5 -7
- package/dist/packages/config/src/generators/json.js +1 -1
- package/dist/packages/config/src/generators/markdown.d.ts +57 -35
- package/dist/packages/config/src/generators/markdown.js +18 -19
- package/dist/packages/config/src/generators/types.d.ts +28 -23
- package/dist/packages/config/src/generators/types.js +3 -3
- package/dist/packages/config/src/index.d.ts +9 -9
- package/dist/packages/config/src/index.js +1 -1
- package/dist/packages/config/src/schema.d.ts +31 -3
- package/dist/packages/config/src/schema.js +1 -1
- package/dist/packages/config/src/types.d.ts +134 -28
- package/dist/packages/core/src/editor-config.d.ts +14 -0
- package/dist/packages/core/src/editor-config.js +1 -0
- package/dist/packages/core/src/graph.js +1 -1
- package/dist/packages/core/src/index.d.ts +8 -7
- package/dist/packages/core/src/index.js +1 -1
- package/dist/packages/core/src/loader.d.ts +20 -2
- package/dist/packages/core/src/loader.js +1 -1
- package/dist/packages/core/src/manifest.d.ts +20 -1
- package/dist/packages/core/src/manifest.js +1 -1
- package/dist/packages/core/src/provider-registry.d.ts +48 -3
- package/dist/packages/core/src/provider-registry.js +1 -1
- package/dist/packages/core/src/reset.d.ts +15 -0
- package/dist/packages/core/src/reset.js +1 -1
- package/dist/packages/core/src/sync.d.ts +10 -0
- package/dist/packages/core/src/sync.js +1 -1
- package/dist/packages/core/src/watch.d.ts +9 -0
- package/dist/packages/core/src/watch.js +1 -1
- package/dist/packages/migrate/src/cli/index.js +1 -1
- package/dist/packages/migrate/src/index.d.ts +3 -2
- package/dist/packages/migrate/src/index.js +1 -1
- package/dist/packages/migrate/src/oxc.d.ts +13 -0
- package/dist/packages/migrate/src/oxc.js +1 -0
- package/dist/packages/migrate/src/registry.js +1 -1
- package/dist/packages/migrate/src/vite-target.js +1 -1
- package/dist/packages/migrate/src/vite.d.ts +25 -3
- package/dist/packages/migrate/src/vite.js +7 -2
- package/dist/packages/project/src/catalogs.d.ts +7 -0
- package/dist/packages/project/src/catalogs.js +1 -1
- package/dist/packages/project/src/cli/index.js +1 -1
- package/dist/packages/project/src/config.d.ts +6 -0
- package/dist/packages/project/src/config.js +1 -1
- package/dist/packages/project/src/index.d.ts +5 -4
- package/dist/packages/project/src/index.js +1 -1
- package/dist/packages/project/src/sync.js +1 -1
- package/dist/packages/project/src/typescript.d.ts +64 -12
- package/dist/packages/project/src/typescript.js +12 -7
- package/dist/packages/shared/src/changelog-breaking.d.ts +31 -0
- package/dist/packages/shared/src/changelog-groups.d.ts +59 -0
- package/dist/packages/shared/src/config-schema/biome.d.ts +10 -0
- package/dist/packages/shared/src/config-schema/biome.js +1 -0
- package/dist/packages/shared/src/config-schema/catalogs.d.ts +14 -0
- package/dist/packages/shared/src/config-schema/catalogs.js +1 -0
- package/dist/packages/shared/src/config-schema/changelog.d.ts +248 -0
- package/dist/packages/shared/src/config-schema/changelog.js +1 -0
- package/dist/packages/shared/src/config-schema/ci.d.ts +390 -0
- package/dist/packages/shared/src/config-schema/ci.js +1 -0
- package/dist/packages/shared/src/config-schema/format.d.ts +38 -0
- package/dist/packages/shared/src/config-schema/format.js +1 -0
- package/dist/packages/shared/src/config-schema/index.d.ts +1654 -0
- package/dist/packages/shared/src/config-schema/index.js +1 -0
- package/dist/packages/shared/src/config-schema/logger.d.ts +19 -0
- package/dist/packages/shared/src/config-schema/logger.js +1 -0
- package/dist/packages/shared/src/config-schema/meta.d.ts +16 -0
- package/dist/packages/shared/src/config-schema/meta.js +1 -0
- package/dist/packages/shared/src/config-schema/project.d.ts +35 -0
- package/dist/packages/shared/src/config-schema/project.js +1 -0
- package/dist/packages/shared/src/config-schema/providers.d.ts +9 -0
- package/dist/packages/shared/src/config-schema/providers.js +1 -0
- package/dist/packages/shared/src/config-schema/registry.d.ts +21 -0
- package/dist/packages/shared/src/config-schema/registry.js +1 -0
- package/dist/packages/shared/src/config-schema/templates.d.ts +81 -0
- package/dist/packages/shared/src/config-schema/templates.js +1 -0
- package/dist/packages/shared/src/config-schema/tsconfig.d.ts +30 -0
- package/dist/packages/shared/src/config-schema/tsconfig.js +1 -0
- package/dist/packages/shared/src/config-schema/vite.d.ts +26 -0
- package/dist/packages/shared/src/config-schema/vite.js +1 -0
- package/dist/packages/shared/src/config-schema/watch.d.ts +11 -0
- package/dist/packages/shared/src/config-schema/watch.js +1 -0
- package/dist/packages/shared/src/config-schema/workflow.d.ts +590 -0
- package/dist/packages/shared/src/config-schema/workflow.js +1 -0
- package/dist/packages/shared/src/config-types.d.ts +295 -90
- package/dist/packages/shared/src/fs-utils.js +1 -1
- package/dist/packages/shared/src/index.d.ts +27 -7
- package/dist/packages/shared/src/index.js +1 -1
- package/dist/packages/shared/src/logger.d.ts +26 -3
- package/dist/packages/shared/src/logger.js +1 -1
- package/dist/packages/shared/src/messages.d.ts +36 -0
- package/dist/packages/shared/src/messages.js +1 -0
- package/dist/packages/shared/src/object-utils.d.ts +5 -0
- package/dist/packages/shared/src/object-utils.js +1 -1
- package/dist/packages/shared/src/registry-policy.d.ts +17 -0
- package/dist/packages/shared/src/registry-policy.js +1 -0
- package/dist/packages/shared/src/toolchain.d.ts +90 -11
- package/dist/packages/shared/src/toolchain.js +1 -1
- package/dist/packages/shared/src/types.d.ts +6 -0
- package/dist/packages/shared/src/vite-defaults.d.ts +29 -0
- package/dist/packages/shared/src/vite-defaults.js +1 -0
- package/dist/packages/template/src/builtin.js +1 -1
- package/dist/packages/template/src/cli/index.js +1 -1
- package/dist/packages/template/src/global.d.ts +130 -0
- package/dist/packages/template/src/global.js +3 -0
- package/dist/packages/template/src/index.d.ts +3 -2
- package/dist/packages/template/src/index.js +1 -1
- package/dist/packages/template/src/online.d.ts +13 -4
- package/dist/packages/template/src/online.js +1 -1
- package/dist/packages/template/src/registry.d.ts +2 -1
- package/dist/packages/template/src/registry.js +1 -1
- package/dist/packages/template/src/scaffold.d.ts +5 -1
- package/dist/packages/template/src/scaffold.js +1 -1
- package/dist/packages/tsconfig/src/cli/generate/index.d.ts +3 -0
- package/dist/packages/tsconfig/src/cli/generate/index.js +1 -1
- package/dist/packages/tsconfig/src/cli/generate/utils.d.ts +10 -1
- package/dist/packages/tsconfig/src/cli/generate/utils.js +1 -1
- package/dist/packages/tsconfig/src/cli/index.js +1 -1
- package/dist/packages/tsconfig/src/index.d.ts +7 -4
- package/dist/packages/tsconfig/src/index.js +1 -1
- package/dist/packages/tsconfig/src/overrides.d.ts +74 -0
- package/dist/packages/tsconfig/src/overrides.js +1 -0
- package/dist/packages/tsconfig/src/resolve.d.ts +62 -0
- package/dist/packages/tsconfig/src/resolve.js +3 -0
- package/dist/packages/tsconfig/src/snapshots.d.ts +50 -0
- package/dist/packages/tsconfig/src/snapshots.js +1 -0
- package/dist/packages/tsconfig/src/sync.d.ts +14 -5
- package/dist/packages/tsconfig/src/sync.js +1 -1
- package/dist/packages/tsconfig/src/templates/tsconfig.default.js +1 -1
- package/dist/packages/tsconfig/src/templates.d.ts +12 -4
- package/dist/packages/tsconfig/src/templates.js +1 -1
- package/dist/packages/vite/src/index.d.ts +2 -2
- package/dist/packages/vite/src/index.js +1 -1
- package/dist/packages/vite/src/resolve.d.ts +13 -3
- package/dist/packages/vite/src/resolve.js +1 -1
- package/dist/packages/vite/src/sync.d.ts +46 -5
- package/dist/packages/vite/src/sync.js +5 -2
- package/dist/project.d.ts +4 -3
- package/dist/project.js +1 -1
- package/dist/providers.d.ts +11 -4
- package/dist/providers.js +1 -1
- package/dist/shared.d.ts +26 -6
- package/dist/shared.js +1 -1
- package/dist/sync.js +1 -1
- package/dist/template.d.ts +3 -2
- package/dist/template.js +1 -1
- package/dist/tooling.d.ts +21 -0
- package/dist/tooling.js +1 -0
- package/dist/tsconfig.d.ts +6 -3
- package/dist/tsconfig.js +1 -1
- package/dist/vite.d.ts +2 -2
- package/dist/vite.js +1 -1
- package/package.json +28 -23
- package/dist/packages/config/src/types.js +0 -1
- package/dist/packages/shared/src/config-schema.d.ts +0 -3928
- 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.
|
|
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
|
-
-
|
|
16
|
-
- Sync your entire project so workspaces, docs and CI are always up-to-date.
|
|
17
|
-
- Plug it into Vite / Vite
|
|
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
|
|
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
|
|
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 (
|
|
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.
|
|
255
|
-
>
|
|
256
|
-
> `yarn
|
|
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
|
|
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};
|
package/dist/changelog.d.ts
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import __tsdown_shims_path from 'node:path';
|
|
2
2
|
import __tsdown_shims_url from 'node:url';
|
|
3
|
-
import {
|
|
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 {
|
|
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
|
|
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{
|
|
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
|
|
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
|
|
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
|
|
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};
|
package/dist/cli/context.js
CHANGED
|
@@ -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
|
|
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};
|