@deltabox/toolchain 1.6.0 → 1.7.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 +143 -124
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/package.js +1 -1
- package/dist/packages/changelog/src/utils/format.js +5 -5
- package/dist/packages/changelog/src/utils/git.js +1 -1
- package/dist/packages/config/src/generators/markdown.d.ts +3 -2
- package/dist/packages/config/src/generators/markdown.js +10 -10
- package/dist/packages/shared/src/index.d.ts +3 -3
- package/dist/packages/shared/src/index.js +1 -1
- package/dist/packages/shared/src/string-utils.d.ts +16 -0
- package/dist/packages/shared/src/string-utils.js +2 -1
- package/dist/shared.d.ts +2 -2
- package/dist/shared.js +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,115 +1,134 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.7.0 (October 2026)
|
|
4
4
|
|
|
5
5
|
<!-- release:start -->
|
|
6
6
|
|
|
7
|
+
### New features
|
|
8
|
+
#### Vscode
|
|
9
|
+
- Let users choose the project or bundled dbx ([#6cdd686](https://github.com/deltabox-studio/toolchain/commit/6cdd686) by [T0chi](https://github.com/T0chi))
|
|
10
|
+
- The extension had no awareness of a workspace's own @deltabox/toolchain, so its auto-sync ran the bundled (possibly older) dbx. On activation it now detects the workspace dbx, shows a notification with action buttons (project vs bundled), remembers the choice per workspace (workspaceState) and falls back to the bundled CLI. Adds the deltabox.toolchain.chooseDbxSource command + a getDbxSource/setDbxSource API.
|
|
11
|
+
#### Shared
|
|
12
|
+
- Sanitize shell-escape artifacts in generated markdown ([#fcac95e](https://github.com/deltabox-studio/toolchain/commit/fcac95e) by [T0chi](https://github.com/T0chi))
|
|
13
|
+
- Add stripControlChars/stripEscapeArtifacts/sanitizeText to the shared string utils: they strip the predictable shell-escape artifacts (a backslash before a control character) and any remaining bare control characters, while leaving ordinary backslashes and normal whitespace alone. Apply them to the config markdown generator's descriptions and the changelog commit reader/formatter, and cap generated headings at h6 (VitePress dropped the literal #######).
|
|
14
|
+
### Chores
|
|
15
|
+
#### Changelog
|
|
16
|
+
- Repair escaped commit text and label code refs ([#1425419](https://github.com/deltabox-studio/toolchain/issues/1425419) by [T0chi](https://github.com/T0chi))
|
|
17
|
+
- PowerShell interpreted the escaped backticks in the commit bodies as control-character escapes, so the changelog carried backslash+control artifacts (TAB/CR/LF/BS/FF/VT) and mojibake. Repair the affected 1.4.1-1.6.1 entries and add backticks around commands, paths, flags, types and identifiers throughout the file.
|
|
18
|
+
|
|
19
|
+
<!-- release:end -->
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## 1.6.1 (October 2026)
|
|
23
|
+
|
|
24
|
+
### Documentation
|
|
25
|
+
#### Config
|
|
26
|
+
- Inline nested sub-schemas in the generated reference ([#5a9a9e3](https://github.com/deltabox-studio/toolchain/commit/5a9a9e3) by [T0chi](https://github.com/T0chi))
|
|
27
|
+
- `renderConfigFileMarkdown` only recursed into inline objects, so named sub-schemas (`changelog.workflows`, `changelog.versioning.target/workspaces`, `templates.sources[]`, `project.type`) rendered as a bare type name. It now resolves the JSON Schema `$defs` and expands objects, object unions and array items inline (each named type once per section), so the reference documents every option with types, required markers, defaults and descriptions.
|
|
28
|
+
|
|
29
|
+
## 1.6.0 (October 2026)
|
|
30
|
+
|
|
7
31
|
### New features
|
|
8
32
|
#### Changelog
|
|
9
33
|
- Add a configurable versioning option ([#e5cbefc](https://github.com/deltabox-studio/toolchain/commit/e5cbefc) by [T0chi](https://github.com/T0chi))
|
|
10
|
-
- Add
|
|
34
|
+
- Add `toolchain.changelog.versioning` (boolean | { target, workspaces }) to the shared Zod model, defaulting to `true`/uniform. `target` selects `uniform` (root + all workspaces), `root-only`, or `individual` (each changed workspace bumps on its own); `workspaces` globs select which workspaces to version (defaulting to the root `workspaces` field, else the root `package.json` alone). The CLI now threads the changelog config into the generator and `writeChangelogs` takes per-workspace versions. Documented in the new 'Changelog & versioning' guide.
|
|
11
35
|
### Bug fixes
|
|
12
36
|
#### Shared
|
|
13
37
|
- Add spawn timeouts so a stalled child can't hang the tool ([#e7fdf96](https://github.com/deltabox-studio/toolchain/commit/e7fdf96) by [T0chi](https://github.com/T0chi))
|
|
14
|
-
- spawnCross
|
|
38
|
+
- `spawnCross`/`run` gain `timeoutMs` (kills the child's whole tree — `taskkill /t` on Windows — with a warning); `runVp` forwards it; the plugin's one-shot `runDbx` sync/check defaults to 5 min; the VS Code extension's captured `dbx` commands default to 5 min. Dev servers/watchers stay unbounded. Adds `killProcessTree()` + a timeout test.
|
|
15
39
|
#### Vite
|
|
16
|
-
- Build DBX_TASKS from a resolved binary and warn on fallbacks ([#c1a29db](https://github.com/deltabox-studio/toolchain/commit/c1a29db) by [T0chi](https://github.com/T0chi))
|
|
17
|
-
- Vite Task runs a task's command through a shell, so a bare
|
|
18
|
-
- Warn and fall back on missing DBX_BIN
|
|
19
|
-
- resolveDbx now ignores a DBX_BIN that points at a missing file (warn + fall through) instead of wedging every dbx call;
|
|
20
|
-
- Never run a stale global dbx from a pinned project ([#d441427](https://github.com/deltabox-studio/toolchain/commit/d441427) by [T0chi](https://github.com/T0chi))
|
|
21
|
-
- resolveDbx fell back to a global
|
|
22
|
-
px @deltabox/toolchain@<pinned>\; the global is only used when the project pins nothing. Adds localToolchainVersion() + tests, and documents the resolution.
|
|
40
|
+
- Build `DBX_TASKS` from a resolved binary and warn on fallbacks ([#c1a29db](https://github.com/deltabox-studio/toolchain/commit/c1a29db) by [T0chi](https://github.com/T0chi))
|
|
41
|
+
- Vite Task runs a task's command through a shell, so a bare `dbx sync` depended on `PATH`/environment and could miss or pick a stale binary. `DBX_TASKS` now bakes in the `resolveDbx` result (project's own, or pinned `npx`) at config load; `dbxTaskCommand(sub)` builds one for any subcommand. `resolveDbx` also warns (once) when it ignores an invalid `DBX_BIN`, skips a global for a pinned project, or falls back to `npx`.
|
|
42
|
+
- Warn and fall back on missing `DBX_BIN`/`PATH`/`ComSpec` ([#f91ad12](https://github.com/deltabox-studio/toolchain/commit/f91ad12) by [T0chi](https://github.com/T0chi))
|
|
43
|
+
- `resolveDbx` now ignores a `DBX_BIN` that points at a missing file (warn + fall through) instead of wedging every `dbx` call; `which` warns once when `PATH` is empty; the Windows spawner warns once when `ComSpec` is unset before falling back to `cmd.exe`.
|
|
44
|
+
- Never run a stale global `dbx` from a pinned project ([#d441427](https://github.com/deltabox-studio/toolchain/commit/d441427) by [T0chi](https://github.com/T0chi))
|
|
45
|
+
- `resolveDbx` fell back to a global `dbx` on `PATH` whenever the project's own binary wasn't resolvable — which happens in the toolchain repo itself (Yarn doesn't link the root's own bin, and `findOwnCliEntry` needs a built `dist`). A stale global `dbx` would then run `dbx sync` and rewrite generated files in an older format. Now a project that pins `@deltabox/toolchain` (`node_modules` or the repo itself) never uses a global `dbx`: it warns and uses `npx @deltabox/toolchain@<pinned>`; the global is only used when the project pins nothing. Adds `localToolchainVersion()` + tests, and documents the resolution.
|
|
23
46
|
#### Vscode
|
|
24
|
-
- Pin the npx fallback to the extension's version ([#57d27fa](https://github.com/deltabox-studio/toolchain/commit/57d27fa) by [T0chi](https://github.com/T0chi))
|
|
25
|
-
- The extension's last-resort
|
|
26
|
-
px --yes @deltabox/toolchain\ resolved \@latest\, which could drift from the workspace's generated files. It now pins its own version (\@deltabox/toolchain@<extension version>\), since the extension is versioned in lockstep with the toolchain.
|
|
47
|
+
- Pin the `npx` fallback to the extension's version ([#57d27fa](https://github.com/deltabox-studio/toolchain/commit/57d27fa) by [T0chi](https://github.com/T0chi))
|
|
48
|
+
- The extension's last-resort `npx --yes @deltabox/toolchain` resolved `@latest`, which could drift from the workspace's generated files. It now pins its own version (`@deltabox/toolchain@<extension version>`), since the extension is versioned in lockstep with the toolchain.
|
|
27
49
|
#### Tsdown
|
|
28
|
-
- Let Yarn own the single-entry bin field ([#d6198b5](https://github.com/deltabox-studio/toolchain/commit/d6198b5) by [T0chi](https://github.com/T0chi))
|
|
29
|
-
- Reproduced (and minimised) the 'unexplained' bin revert: Yarn 4 normalises a single-entry
|
|
50
|
+
- Let Yarn own the single-entry `bin` field ([#d6198b5](https://github.com/deltabox-studio/toolchain/commit/d6198b5) by [T0chi](https://github.com/T0chi))
|
|
51
|
+
- Reproduced (and minimised) the 'unexplained' `bin` revert: Yarn 4 normalises a single-entry `bin` object to a plain string on every `yarn install`, so an explicit tsdown `bin` object could never persist — install and build fought over `package.json`. Set tsdown's `exports.bin` to `false` so tsdown leaves the field alone, and commit the string form Yarn writes. install + build are now idempotent.
|
|
30
52
|
- Re-apply the explicit changelog and tsconfig bins ([#192a2d3](https://github.com/deltabox-studio/toolchain/commit/192a2d3) by [T0chi](https://github.com/T0chi))
|
|
31
|
-
- The generated version bump commit dropped the explicit
|
|
32
|
-
|
|
33
|
-
<!-- release:end -->
|
|
34
|
-
|
|
53
|
+
- The generated version bump commit dropped the explicit `bin` mapping (object form) from both `package.json`s; regenerate it from the pinned tsdown `exports.bin` so `yarn build` stays idempotent.
|
|
35
54
|
|
|
36
55
|
## 1.5.0 (October 2026)
|
|
37
56
|
|
|
38
57
|
### New features
|
|
39
58
|
#### Changelog
|
|
40
|
-
- Emit the husky commit-msg hook for consumers ([#6898386](https://github.com/deltabox-studio/toolchain/issues/6898386) by [T0chi](https://github.com/T0chi))
|
|
41
|
-
-
|
|
59
|
+
- Emit the husky `commit-msg` hook for consumers ([#6898386](https://github.com/deltabox-studio/toolchain/issues/6898386) by [T0chi](https://github.com/T0chi))
|
|
60
|
+
- `dbx sync` now writes `.husky/commit-msg` (running `commitlint`) alongside the workflows and `commitlint.config.mjs`, so consumers using the Conventional-Commits CI lint commits locally too. The docs recommend `postinstall: husky` (Yarn Berry never runs `prepare`) and `.husky/* text eol=lf` (a trailing CR breaks the hook).
|
|
42
61
|
|
|
43
62
|
## 1.4.1 (October 2026)
|
|
44
63
|
|
|
45
64
|
### Bug fixes
|
|
46
65
|
#### Tsdown
|
|
47
66
|
- Pin the changelog and tsconfig bins explicitly ([#f616626](https://github.com/deltabox-studio/toolchain/commit/f616626) by [T0chi](https://github.com/T0chi))
|
|
48
|
-
- With
|
|
67
|
+
- With `exports: true` and no `bin`, tsdown soft auto-detects the shebang entry and derives the command name from the package name, rewriting the committed `bin` on every build. Map the command names explicitly so the field is stable and the build is idempotent.
|
|
49
68
|
#### Ci
|
|
50
|
-
- Bootstrap the dist the vite shim needs before build ([#b96b89a](https://github.com/deltabox-studio/toolchain/commit/b96b89a) by [T0chi](https://github.com/T0chi))
|
|
51
|
-
-
|
|
69
|
+
- Bootstrap the `dist` the vite shim needs before build ([#b96b89a](https://github.com/deltabox-studio/toolchain/commit/b96b89a) by [T0chi](https://github.com/T0chi))
|
|
70
|
+
- `prepare` never runs on `yarn install` under Yarn Berry, so `scripts/bootstrap.mjs` never built `dist/vite.js` and `yarn build` failed to load the generated `vite.config.ts` shim on a fresh CI checkout. Run the bootstrap from a root `postinstall` and at the start of `build`/`typecheck`/`test` (all begin with `vp run`, which loads the shim); it is a no-op once `dist/vite.js` exists.
|
|
52
71
|
|
|
53
72
|
## 1.4.0 (October 2026)
|
|
54
73
|
|
|
55
74
|
### New features
|
|
56
|
-
- Render the dbx CLI with clack
|
|
57
|
-
- vite.config.ts in and adds the fmt ignore; dbx resolves its own binary first
|
|
58
|
-
and colour Commander's help
|
|
75
|
+
- Render the `dbx` CLI with `clack`, author the Vite+ config in `dbx.config` ([#fb8b9ef](https://github.com/deltabox-studio/toolchain/commit/fb8b9ef) by [T0chi](https://github.com/T0chi))
|
|
76
|
+
- `vite.config.ts` in and adds the `fmt` ignore; `dbx` resolves its own binary first
|
|
77
|
+
and colour `Commander`'s help
|
|
59
78
|
#### Vscode
|
|
60
79
|
- Add Providers and Templates views ([#9aa6d12](https://github.com/deltabox-studio/toolchain/commit/9aa6d12) by [T0chi](https://github.com/T0chi))
|
|
61
|
-
- add
|
|
62
|
-
toolchainProviders()
|
|
80
|
+
- `add`/`remove`/`run-command`/`open-homepage`/`copy-id` actions
|
|
81
|
+
`toolchainProviders()`, so a registered provider's commands become `dbx` commands
|
|
63
82
|
Templates -> Managed Files
|
|
64
83
|
#### Vite
|
|
65
|
-
- Drive dbx from the dbx plugin, drop defineDbxConfig ([#8d11557](https://github.com/deltabox-studio/toolchain/commit/8d11557) by [T0chi](https://github.com/T0chi))
|
|
66
|
-
- The Vite/Vite+ integration is now the dbx() plugin plus spreading DBX_TASKS into
|
|
67
|
-
run.tasks
|
|
68
|
-
- export default defineConfig({
|
|
69
|
-
plugins: [dbx()]
|
|
70
|
-
run: { tasks: { ...DBX_TASKS } }
|
|
71
|
-
})
|
|
72
|
-
- Remove the defineDbxConfig wrapper (and DbxViteConfig) and update the README, the
|
|
84
|
+
- Drive `dbx` from the `dbx()` plugin, drop `defineDbxConfig` ([#8d11557](https://github.com/deltabox-studio/toolchain/commit/8d11557) by [T0chi](https://github.com/T0chi))
|
|
85
|
+
- The Vite/Vite+ integration is now the `dbx()` plugin plus spreading `DBX_TASKS` into
|
|
86
|
+
`run.tasks`, so the consumer's own `vite` config stays the config:
|
|
87
|
+
- `export default defineConfig({`
|
|
88
|
+
`plugins: [dbx()],`
|
|
89
|
+
`run: { tasks: { ...DBX_TASKS } },`
|
|
90
|
+
`});`
|
|
91
|
+
- Remove the `defineDbxConfig` wrapper (and `DbxViteConfig`) and update the README, the
|
|
73
92
|
Providers guide and the API reference.
|
|
74
|
-
- Author the Vite+ config in dbx.config
|
|
75
|
-
- toolchain.vite now holds the whole Vite+ config (a loose object) with a
|
|
76
|
-
config: false opt-out, and dbx sync generates the managed root
|
|
77
|
-
vite.config.ts from it, so dbx.config
|
|
78
|
-
- Add dbx migrate --from vite (auto-detected): it extracts the object passed to
|
|
79
|
-
defineConfig in an existing root vite.config.ts and folds it into dbx.config
|
|
80
|
-
toolchain.vite
|
|
81
|
-
- The config-types generator now honors
|
|
93
|
+
- Author the Vite+ config in `dbx.config`, generate `vite.config.ts` ([#9885225](https://github.com/deltabox-studio/toolchain/issues/9885225) by [T0chi](https://github.com/T0chi))
|
|
94
|
+
- `toolchain.vite` now holds the whole Vite+ config (a loose object) with a
|
|
95
|
+
`config: false` opt-out, and `dbx sync` generates the managed root
|
|
96
|
+
`vite.config.ts` from it, so `dbx.config.*` is the only hand-authored root config.
|
|
97
|
+
- Add `dbx migrate --from vite` (auto-detected): it extracts the object passed to
|
|
98
|
+
`defineConfig` in an existing root `vite.config.ts` and folds it into `dbx.config.*`'s
|
|
99
|
+
`toolchain.vite`, refusing configs it cannot migrate faithfully.
|
|
100
|
+
- The config-types generator now honors `.catchall`, emitting an index signature.
|
|
82
101
|
#### Config
|
|
83
|
-
- Expose the Vite+ config type, rename Tooling
|
|
84
|
-
- ToolchainViteConfig is now Vite+ ViteUserConfig intersected with the managed
|
|
85
|
-
config?: boolean opt-out, instead of a generated loose object. The config-types
|
|
102
|
+
- Expose the Vite+ config type, rename `Tooling*` to `Toolchain*` ([#088de56](https://github.com/deltabox-studio/toolchain/commit/088de56) by [T0chi](https://github.com/T0chi))
|
|
103
|
+
- `ToolchainViteConfig` is now Vite+ `ViteUserConfig` intersected with the managed
|
|
104
|
+
`config?: boolean` opt-out, instead of a generated loose object. The config-types
|
|
86
105
|
generator gains a hand-written type override plus an imports block, used for the
|
|
87
|
-
vite type, and vite-plus becomes an optional peer dependency.
|
|
88
|
-
- Rename every Tooling
|
|
89
|
-
the config schema ids, CONFIG_TYPE_SCHEMAS keys, the provider/migration models
|
|
90
|
-
and the CLI helpers (toolchainConfigSchema
|
|
91
|
-
toolchainProviders
|
|
106
|
+
vite type, and `vite-plus` becomes an optional peer dependency.
|
|
107
|
+
- Rename every `Tooling*` type, schema id and identifier to `Toolchain*`. That covers
|
|
108
|
+
the config schema ids, `CONFIG_TYPE_SCHEMAS` keys, the provider/migration models
|
|
109
|
+
and the CLI helpers (`toolchainConfigSchema`, `loadToolchainConfig`,
|
|
110
|
+
`toolchainProviders`, `registerToolchainCommands`). Regenerated types/schema/docs.
|
|
92
111
|
### Bug fixes
|
|
93
112
|
#### Deps
|
|
94
|
-
- Sync the lockfile for
|
|
95
|
-
- The lockfile was missing the
|
|
96
|
-
packages/template
|
|
113
|
+
- Sync the lockfile for `@clack/prompts` ([#568a7c6](https://github.com/deltabox-studio/toolchain/commit/568a7c6) by [T0chi](https://github.com/T0chi))
|
|
114
|
+
- The lockfile was missing the `@clack/prompts` entry for `packages/shared` and
|
|
115
|
+
`packages/template`, so `yarn install --immutable` failed in CI (YN0028).
|
|
97
116
|
### Refactors
|
|
98
117
|
- Rename Ox to Oxc across the project ([#39b37d3](https://github.com/deltabox-studio/toolchain/commit/39b37d3) by [T0chi](https://github.com/T0chi))
|
|
99
|
-
- (Oxfmt
|
|
118
|
+
- (`Oxfmt`/`Oxlint` and `.oxlintrc`/`.oxfmtrc` are unchanged)
|
|
100
119
|
### Documentation
|
|
101
|
-
- Cover the clack CLI output, prompts and dbx binary resolution ([#f45ed3f](https://github.com/deltabox-studio/toolchain/commit/f45ed3f) by [T0chi](https://github.com/T0chi))
|
|
102
|
-
- Document the Vite+ config type and the Toolchain
|
|
103
|
-
- Note that toolchain.vite is typed as Vite's UserConfig as augmented by Vite+
|
|
104
|
-
(ToolchainViteConfig), and list ToolchainViteConfig among the shared config
|
|
120
|
+
- Cover the clack CLI output, prompts and `dbx` binary resolution ([#f45ed3f](https://github.com/deltabox-studio/toolchain/commit/f45ed3f) by [T0chi](https://github.com/T0chi))
|
|
121
|
+
- Document the Vite+ config type and the `Toolchain*` names ([#1e70950](https://github.com/deltabox-studio/toolchain/commit/1e70950) by [T0chi](https://github.com/T0chi))
|
|
122
|
+
- Note that `toolchain.vite` is typed as Vite's `UserConfig` as augmented by Vite+
|
|
123
|
+
(`ToolchainViteConfig`), and list `ToolchainViteConfig` among the shared config
|
|
105
124
|
types. Covers the unreleased changes since v1.3.1 together with the sections the
|
|
106
|
-
feature commits already added (the Vite+ config in dbx.config
|
|
107
|
-
vite.config.ts
|
|
125
|
+
feature commits already added (the Vite+ config in `dbx.config`, the generated
|
|
126
|
+
`vite.config.ts`, the vite migration and the `dbx` plugin).
|
|
108
127
|
#### Vscode
|
|
109
|
-
- Refresh the extension screenshot and add its LICENSE ([#49d4510](https://github.com/deltabox-studio/toolchain/commit/49d4510) by [T0chi](https://github.com/T0chi))
|
|
128
|
+
- Refresh the extension screenshot and add its `LICENSE` ([#49d4510](https://github.com/deltabox-studio/toolchain/commit/49d4510) by [T0chi](https://github.com/T0chi))
|
|
110
129
|
### Build system
|
|
111
|
-
- Package the VS Code extension in yarn build ([#1dd14a1](https://github.com/deltabox-studio/toolchain/commit/1dd14a1) by [T0chi](https://github.com/T0chi))
|
|
112
|
-
- yarn build now also runs the vscode package:vsix
|
|
130
|
+
- Package the VS Code extension in `yarn build` ([#1dd14a1](https://github.com/deltabox-studio/toolchain/commit/1dd14a1) by [T0chi](https://github.com/T0chi))
|
|
131
|
+
- `yarn build` now also runs the vscode `package:vsix`, so `deltabox-toolchain.vsix`
|
|
113
132
|
is always produced.
|
|
114
133
|
|
|
115
134
|
### Package changes
|
|
@@ -129,24 +148,24 @@
|
|
|
129
148
|
|
|
130
149
|
### New features
|
|
131
150
|
#### Core
|
|
132
|
-
- Keep the generated
|
|
133
|
-
- dbx sync now appends the
|
|
134
|
-
manifest, which holds no absolute paths) to an existing
|
|
151
|
+
- Keep the generated `.dbx` directory out of git ([#9fc1434](https://github.com/deltabox-studio/toolchain/commit/9fc1434) by [T0chi](https://github.com/T0chi))
|
|
152
|
+
- `dbx sync` now appends the `.dbx` ignore block (everything under `.dbx/` except the
|
|
153
|
+
manifest, which holds no absolute paths) to an existing `.gitignore`, and the
|
|
135
154
|
installation guide documents the pattern and the automatic step.
|
|
136
155
|
#### Cli
|
|
137
156
|
- Route CLI output through the logger, add a providers colour option ([#ce76a4d](https://github.com/deltabox-studio/toolchain/commit/ce76a4d) by [T0chi](https://github.com/T0chi))
|
|
138
|
-
- Commander's help and errors now go through the shared logger (help to stdout,
|
|
157
|
+
- `Commander`'s help and errors now go through the shared logger (help to stdout,
|
|
139
158
|
errors to stderr, colour-aware, ANSI stripped when colour is off). Vite+
|
|
140
|
-
passthrough commands keep commander's defaults so the spawned vp keeps its own
|
|
159
|
+
passthrough commands keep `commander`'s defaults so the spawned `vp` keeps its own
|
|
141
160
|
coloured logging.
|
|
142
|
-
- Add a providers config section (color?: boolean): color: false forces plain
|
|
143
|
-
provider output, the global
|
|
144
|
-
NO_COLOR / FORCE_COLOR on the child when colour is disabled.
|
|
145
|
-
- Check for a newer dbx version ([#772aae2](https://github.com/deltabox-studio/toolchain/commit/772aae2) by [T0chi](https://github.com/T0chi))
|
|
161
|
+
- Add a `providers` config section (`color?: boolean`): `color: false` forces plain
|
|
162
|
+
provider output, the global `--no-color` still turns it off, and `runVp` sets
|
|
163
|
+
`NO_COLOR` / `FORCE_COLOR` on the child when colour is disabled.
|
|
164
|
+
- Check for a newer `dbx` version ([#772aae2](https://github.com/deltabox-studio/toolchain/commit/772aae2) by [T0chi](https://github.com/T0chi))
|
|
146
165
|
- On each run, check the npm registry in the background (cached for a day, never
|
|
147
166
|
blocking) and print a short notice with a link to the release when a newer
|
|
148
|
-
|
|
149
|
-
DBX_NO_UPDATE_CHECK
|
|
167
|
+
`@deltabox/toolchain` exists. Skipped in CI and by `NO_UPDATE_NOTIFIER` or
|
|
168
|
+
`DBX_NO_UPDATE_CHECK`, and can be turned off with the new `--no-update-check` flag.
|
|
150
169
|
- Default a bare Vite+ command to the `vite` passthrough ([#75770e4](https://github.com/deltabox-studio/toolchain/commit/75770e4) by [T0chi](https://github.com/T0chi))
|
|
151
170
|
- `dbx fmt` / `dbx lint` / `dbx run` / `dbx dev` now work: when the first operand
|
|
152
171
|
is not a built-in command but names a Vite+ subcommand (or one of its aliases),
|
|
@@ -156,51 +175,51 @@
|
|
|
156
175
|
- The Package scripts, Migrations, Monorepo, CLI and Providers guides now show the
|
|
157
176
|
bare form, and the consumers' root scripts were updated to match.
|
|
158
177
|
#### Vscode
|
|
159
|
-
- Bundle the dbx CLI into the extension ([#bf12403](https://github.com/deltabox-studio/toolchain/commit/bf12403) by [T0chi](https://github.com/T0chi))
|
|
160
|
-
- Ship a self-contained dbx.cjs inside the VSIX (built by the new
|
|
161
|
-
tsdown.bin.config.ts) and prefer it in the extension, so a consumer no longer
|
|
162
|
-
needs to install
|
|
163
|
-
install and then npx
|
|
178
|
+
- Bundle the `dbx` CLI into the extension ([#bf12403](https://github.com/deltabox-studio/toolchain/commit/bf12403) by [T0chi](https://github.com/T0chi))
|
|
179
|
+
- Ship a self-contained `dbx.cjs` inside the VSIX (built by the new
|
|
180
|
+
`tsdown.bin.config.ts`) and prefer it in the extension, so a consumer no longer
|
|
181
|
+
needs to install `@deltabox/toolchain`. It falls back to a workspace-local
|
|
182
|
+
install and then `npx`.
|
|
164
183
|
- Make the changelog and tsconfig direct-run guards basename-aware so they do not
|
|
165
184
|
fire when the module is inlined into the single-file bundle.
|
|
166
185
|
#### Shared
|
|
167
186
|
- Add a configurable shared logger ([#54b51fa](https://github.com/deltabox-studio/toolchain/commit/54b51fa) by [T0chi](https://github.com/T0chi))
|
|
168
|
-
- Add packages/shared/src/logger.ts
|
|
169
|
-
via picocolors
|
|
170
|
-
error and raw (unprefixed machine output). It is configurable from dbx.config's
|
|
171
|
-
new logger section and from the CLI (
|
|
187
|
+
- Add `packages/shared/src/logger.ts`: one level-aware, colour-aware sink (colours
|
|
188
|
+
via `picocolors`, the same package Vite uses) with `debug`, `info`, `success`, `warn`,
|
|
189
|
+
`error` and `raw` (unprefixed machine output). It is configurable from `dbx.config`'s
|
|
190
|
+
new `logger` section and from the CLI (`--log-level`, `--no-color`), with the CLI
|
|
172
191
|
taking precedence.
|
|
173
|
-
- Every console call in the toolchain now goes through the logger (JSON output
|
|
174
|
-
through raw), including the sync/watch log callback and the run helper's
|
|
192
|
+
- Every `console` call in the toolchain now goes through the logger (JSON output
|
|
193
|
+
through `raw`), including the sync/watch log callback and the `run` helper's
|
|
175
194
|
verbose line. The generated config types, the JSON schema, the docs reference
|
|
176
|
-
and the Configuration/CLI guides document the new logger section.
|
|
195
|
+
and the Configuration/CLI guides document the new `logger` section.
|
|
177
196
|
### Bug fixes
|
|
178
|
-
- Correct tsconfig aliases under
|
|
197
|
+
- Correct tsconfig aliases under `--cwd`, prune self-referential task runs ([#40e0c34](https://github.com/deltabox-studio/toolchain/commit/40e0c34) by [T0chi](https://github.com/T0chi))
|
|
179
198
|
- Two bugs found by exercising the CLI against the local consumer projects:
|
|
180
|
-
- instead of process.cwd()
|
|
199
|
+
- instead of `process.cwd()`, so `dbx sync --cwd <dir>` (run from elsewhere)
|
|
181
200
|
writes correct relative paths rather than paths pointing at the caller.
|
|
182
201
|
spawning the task runner, and prunes itself when the same command runs again
|
|
183
202
|
from the same root. A root task whose script calls `run -r <task>` can no
|
|
184
203
|
longer recurse.
|
|
185
204
|
- Changelog links, oxfmt map, build idempotency, watch timer, vscode spawn ([#2389c98](https://github.com/deltabox-studio/toolchain/commit/2389c98) by [T0chi](https://github.com/T0chi))
|
|
186
|
-
- render commits as a plain short hash instead of a github.com/undefined link
|
|
205
|
+
- render commits as a plain short hash instead of a `github.com/undefined` link
|
|
187
206
|
`yarn build` no longer rewrites it and the working tree stays idempotent
|
|
188
|
-
spawnCli and cliInvocation
|
|
189
|
-
- Sync
|
|
207
|
+
`spawnCli` and `cliInvocation`
|
|
208
|
+
- Sync `--check` writes, quiet level, log flags and template tokens ([#7f5690f](https://github.com/deltabox-studio/toolchain/commit/7f5690f) by [T0chi](https://github.com/T0chi))
|
|
190
209
|
- Audit pass over the toolchain source:
|
|
191
|
-
- actually generated by dbx sync
|
|
210
|
+
- actually generated by `dbx sync`
|
|
192
211
|
### Documentation
|
|
193
212
|
- Document the full public API surface ([#6f78245](https://github.com/deltabox-studio/toolchain/commit/6f78245) by [T0chi](https://github.com/T0chi))
|
|
194
|
-
- Expand guide/api.md to cover the umbrella plus every subpath export, grouped by
|
|
195
|
-
package. Add the logging API (logger
|
|
196
|
-
setLogOverrides
|
|
197
|
-
document the config generator's formatGenerated helper and the Vite and CLI
|
|
213
|
+
- Expand `guide/api.md` to cover the umbrella plus every subpath export, grouped by
|
|
214
|
+
package. Add the logging API (`logger`, `createLogger`, `setLogConfig`,
|
|
215
|
+
`setLogOverrides`, levels, colours, `raw`) to the API and Configuration guides, and
|
|
216
|
+
document the config generator's `formatGenerated` helper and the Vite and CLI
|
|
198
217
|
programmatic helpers.
|
|
199
218
|
### Chores
|
|
200
|
-
- Track only the
|
|
201
|
-
- Ignore everything under
|
|
202
|
-
- Stop tracking the generated
|
|
203
|
-
- The managed-file manifest and project graph under
|
|
219
|
+
- Track only the `.dbx` manifest ([#a254062](https://github.com/deltabox-studio/toolchain/commit/a254062) by [T0chi](https://github.com/T0chi))
|
|
220
|
+
- Ignore everything under `.dbx/` except `.dbx/toolchain/manifest.json`, which records the managed files and holds no absolute paths. The project graph (which embeds the absolute root) stays ignored.
|
|
221
|
+
- Stop tracking the generated `.dbx` directory ([#b7c53f0](https://github.com/deltabox-studio/toolchain/commit/b7c53f0) by [T0chi](https://github.com/T0chi))
|
|
222
|
+
- The managed-file manifest and project graph under `.dbx/` are generated state, so ignore them and untrack the two committed files.
|
|
204
223
|
|
|
205
224
|
### Package changes
|
|
206
225
|
#### Added
|
|
@@ -226,14 +245,14 @@
|
|
|
226
245
|
### Bug fixes
|
|
227
246
|
#### Config
|
|
228
247
|
- Tidy generated types and format them with Oxfmt ([#6fef440](https://github.com/deltabox-studio/toolchain/commit/6fef440) by [T0chi](https://github.com/T0chi))
|
|
229
|
-
- untyped's type generator emits a blank line between every member and verbose
|
|
248
|
+
- `untyped`'s type generator emits a blank line between every member and verbose
|
|
230
249
|
multi-line JSDoc. Strip the member blank lines in the generator, then run the
|
|
231
250
|
generated output through Oxfmt's programmatic `format()` (with `jsdoc: true`)
|
|
232
251
|
at generation time instead of shelling out to the repo-root `vp`, so the file
|
|
233
252
|
is written already formatted and resembles the hand-written `types.ts`.
|
|
234
253
|
- Also drop the toolchain-specific `yarn config:types` hint from the generated
|
|
235
254
|
header: the types ship through `@deltabox/toolchain-shared`, so a script name
|
|
236
|
-
that only exists in this repo's package.json is misleading to consumers (a
|
|
255
|
+
that only exists in this repo's `package.json` is misleading to consumers (a
|
|
237
256
|
consumer supplies its own header via the `header` option).
|
|
238
257
|
### Documentation
|
|
239
258
|
- Add Package scripts guide and a navbar version ([#b279739](https://github.com/deltabox-studio/toolchain/commit/b279739) by [T0chi](https://github.com/T0chi))
|
|
@@ -285,7 +304,7 @@
|
|
|
285
304
|
#### Config
|
|
286
305
|
- Generate the shared config types via the config generator ([#a063a2d](https://github.com/deltabox-studio/toolchain/commit/a063a2d) by [T0chi](https://github.com/T0chi))
|
|
287
306
|
- Teach the config engine's Zod->untyped bridge and types generator to handle
|
|
288
|
-
unions (anyOf
|
|
307
|
+
unions (`anyOf`/`oneOf`), `const`, and unknown records, and to render a schema's
|
|
289
308
|
fields on the main interface when it has no `base` group (plus type aliases for
|
|
290
309
|
non-object roots). Named `$ref`s (via `.meta({ id })`) render as the type name,
|
|
291
310
|
so the generated config types reference each other instead of inlining.
|
|
@@ -319,9 +338,9 @@
|
|
|
319
338
|
|
|
320
339
|
### Bug fixes
|
|
321
340
|
#### Ci
|
|
322
|
-
- Skip the Marketplace publish when VSCE_PAT is unset ([#fe4b3ad](https://github.com/deltabox-studio/toolchain/commit/fe4b3ad) by [T0chi](https://github.com/T0chi))
|
|
341
|
+
- Skip the Marketplace publish when `VSCE_PAT` is unset ([#fe4b3ad](https://github.com/deltabox-studio/toolchain/commit/fe4b3ad) by [T0chi](https://github.com/T0chi))
|
|
323
342
|
- The VS Code Marketplace publish was the only failing release step (no
|
|
324
|
-
VSCE_PAT set). Make it a no-op while the secret is unset and publish
|
|
343
|
+
`VSCE_PAT` set). Make it a no-op while the secret is unset and publish
|
|
325
344
|
automatically once it is added to the `toolchain / release` environment.
|
|
326
345
|
- Also remove the temporary OIDC diagnostic step now that the release publishes.
|
|
327
346
|
|
|
@@ -370,20 +389,20 @@
|
|
|
370
389
|
environment claim therefore did not match, the token exchange failed, and npm
|
|
371
390
|
silently fell back to the placeholder token (the misleading E404).
|
|
372
391
|
- Declare `environment: 'toolchain / release'` on the job and add an optional
|
|
373
|
-
NODE_AUTH_TOKEN fallback (the environment's NPM_TOKEN) to the publish step.
|
|
392
|
+
`NODE_AUTH_TOKEN` fallback (the environment's `NPM_TOKEN`) to the publish step.
|
|
374
393
|
OIDC is still tried first, so the token is never relied on.
|
|
375
394
|
#### Vscode
|
|
376
395
|
- Spawn the CLI safely on Windows ([#99e3ad1](https://github.com/deltabox-studio/toolchain/commit/99e3ad1) by [T0chi](https://github.com/T0chi))
|
|
377
396
|
- `spawn('npx.cmd', ...)` throws EINVAL synchronously on Windows, and
|
|
378
397
|
`captureCli`/`runCli` call spawn inside a Promise executor, so the throw
|
|
379
398
|
rejected the promise and the command aborted with no UI ("nothing happens").
|
|
380
|
-
This fired whenever the CLI resolved to the npx.cmd fallback (a workspace
|
|
381
|
-
without a local
|
|
382
|
-
template:list --json through captureCli
|
|
383
|
-
- Add a pure win-spawn module (ported from the shared spawnCross) that escapes
|
|
384
|
-
the command + args and runs a
|
|
385
|
-
captureCli
|
|
386
|
-
for the integrated terminal: process.execPath is the VS Code binary in the
|
|
399
|
+
This fired whenever the CLI resolved to the `npx.cmd` fallback (a workspace
|
|
400
|
+
without a local `@deltabox/toolchain`), e.g. "From template..." which round-trips
|
|
401
|
+
`template:list --json` through `captureCli`.
|
|
402
|
+
- Add a pure `win-spawn` module (ported from the shared `spawnCross`) that escapes
|
|
403
|
+
the command + args and runs a `.cmd` shim through `cmd.exe`; use it from `spawnCli`.
|
|
404
|
+
`captureCli`/`runCli` no longer reject on a spawn failure. Also fix `cliInvocation`
|
|
405
|
+
for the integrated terminal: `process.execPath` is the VS Code binary in the
|
|
387
406
|
extension host, so it now uses `npx dbx` / `npx --yes @deltabox/toolchain`.
|
|
388
407
|
|
|
389
408
|
## 1.1.17 (October 2026)
|
|
@@ -406,7 +425,7 @@
|
|
|
406
425
|
## 1.1.15 (October 2026)
|
|
407
426
|
|
|
408
427
|
### Chores
|
|
409
|
-
- Formatted README.md ([#4485c48](https://github.com/deltabox-studio/toolchain/commit/4485c48) by [T0chi](https://github.com/T0chi))
|
|
428
|
+
- Formatted `README.md` ([#4485c48](https://github.com/deltabox-studio/toolchain/commit/4485c48) by [T0chi](https://github.com/T0chi))
|
|
410
429
|
|
|
411
430
|
## 1.1.14 (October 2026)
|
|
412
431
|
|
|
@@ -427,7 +446,7 @@
|
|
|
427
446
|
|
|
428
447
|
### Documentation
|
|
429
448
|
- Drop backticks from the landing feature cards ([#9d6ed28](https://github.com/deltabox-studio/toolchain/commit/9d6ed28) by [T0chi](https://github.com/T0chi))
|
|
430
|
-
- Use currentColor for the logo so it shows on light mode ([#907a07e](https://github.com/deltabox-studio/toolchain/commit/907a07e) by [T0chi](https://github.com/T0chi))
|
|
449
|
+
- Use `currentColor` for the logo so it shows on light mode ([#907a07e](https://github.com/deltabox-studio/toolchain/commit/907a07e) by [T0chi](https://github.com/T0chi))
|
|
431
450
|
- Fix README formatting ([#2dc01d4](https://github.com/deltabox-studio/toolchain/commit/2dc01d4) by [T0chi](https://github.com/T0chi))
|
|
432
451
|
- Make the logo black in light mode (white in dark) ([#c6d9410](https://github.com/deltabox-studio/toolchain/commit/c6d9410) by [T0chi](https://github.com/T0chi))
|
|
433
452
|
### CI
|
|
@@ -444,7 +463,7 @@
|
|
|
444
463
|
- Reindent the README lists ([#1d41d68](https://github.com/deltabox-studio/toolchain/commit/1d41d68) by [T0chi](https://github.com/T0chi))
|
|
445
464
|
- Mirror the VS Code extension installation guide from the README ([#1889832](https://github.com/deltabox-studio/toolchain/issues/1889832) by [T0chi](https://github.com/T0chi))
|
|
446
465
|
### Chores
|
|
447
|
-
- Update VS Code extension installation guide in README.md ([#aab06d5](https://github.com/deltabox-studio/toolchain/commit/aab06d5) by [T0chi](https://github.com/T0chi))
|
|
466
|
+
- Update VS Code extension installation guide in `README.md` ([#aab06d5](https://github.com/deltabox-studio/toolchain/commit/aab06d5) by [T0chi](https://github.com/T0chi))
|
|
448
467
|
|
|
449
468
|
## 1.1.8 (October 2026)
|
|
450
469
|
|
|
@@ -459,7 +478,7 @@
|
|
|
459
478
|
## 1.1.6 (October 2026)
|
|
460
479
|
|
|
461
480
|
### Documentation
|
|
462
|
-
- Use box2d.svg for the navbar/hero logo and box2d_bg.svg for the favicon ([#2c7a094](https://github.com/deltabox-studio/toolchain/commit/2c7a094) by [T0chi](https://github.com/T0chi))
|
|
481
|
+
- Use `box2d.svg` for the navbar/hero logo and `box2d_bg.svg` for the favicon ([#2c7a094](https://github.com/deltabox-studio/toolchain/commit/2c7a094) by [T0chi](https://github.com/T0chi))
|
|
463
482
|
|
|
464
483
|
## 1.1.5 (October 2026)
|
|
465
484
|
|
|
@@ -484,14 +503,14 @@
|
|
|
484
503
|
|
|
485
504
|
### Documentation
|
|
486
505
|
- Add a tests badge to the README ([#01513ee](https://github.com/deltabox-studio/toolchain/commit/01513ee) by [T0chi](https://github.com/T0chi))
|
|
487
|
-
- Fix CHANGELOG.md mojibake and add backticks to code refs ([#6b721eb](https://github.com/deltabox-studio/toolchain/commit/6b721eb) by [T0chi](https://github.com/T0chi))
|
|
506
|
+
- Fix `CHANGELOG.md` mojibake and add backticks to code refs ([#6b721eb](https://github.com/deltabox-studio/toolchain/commit/6b721eb) by [T0chi](https://github.com/T0chi))
|
|
488
507
|
|
|
489
508
|
## 1.1.1 (October 2026)
|
|
490
509
|
|
|
491
510
|
### Documentation
|
|
492
511
|
|
|
493
512
|
- Publish `config.schema.json` at the docs site root ([#b7680cb](https://github.com/deltabox-studio/toolchain/commit/b7680cb) by [T0chi](https://github.com/T0chi))
|
|
494
|
-
- The VitePress build now copies the generated dbx JSON schema into the dist
|
|
513
|
+
- The VitePress build now copies the generated `dbx` JSON schema into the dist
|
|
495
514
|
root, so it is served at https://toolchain.deltabox.studio/config.schema.json.
|
|
496
515
|
|
|
497
516
|
### CI
|
|
@@ -511,7 +530,7 @@
|
|
|
511
530
|
#### Vite
|
|
512
531
|
|
|
513
532
|
- Add a `dbx()` Vite+ plugin and `defineDbxConfig` wrapper ([#a1edaf9](https://github.com/deltabox-studio/toolchain/commit/a1edaf9) by [T0chi](https://github.com/T0chi))
|
|
514
|
-
- Lets Vite+-only consumers drive dbx from `vite.config.ts`: `dbx()` runs
|
|
533
|
+
- Lets Vite+-only consumers drive `dbx` from `vite.config.ts`: `dbx()` runs
|
|
515
534
|
`dbx sync` before dev/build (or `dbx sync --check` in CI) and re-syncs on
|
|
516
535
|
input changes; `defineDbxConfig()` also registers the `vp run dbx:*` tasks
|
|
517
536
|
(Vite+ reads `run.tasks` from the static config, not a plugin hook).
|
|
@@ -592,7 +611,7 @@
|
|
|
592
611
|
### Chores
|
|
593
612
|
|
|
594
613
|
- Exclude `CHANGELOG.md` from Oxfmt (the changelog pipeline owns its format) ([#f6ad3c0](https://github.com/deltabox-studio/toolchain/commit/f6ad3c0) by [T0chi](https://github.com/T0chi))
|
|
595
|
-
- Add MPL-2.0 `LICENSE` and the project homepage ([#cea0fb5](https://github.com/deltabox-studio/toolchain/commit/cea0fb5) by [T0chi](https://github.com/T0chi))
|
|
614
|
+
- Add `MPL-2.0` `LICENSE` and the project homepage ([#cea0fb5](https://github.com/deltabox-studio/toolchain/commit/cea0fb5) by [T0chi](https://github.com/T0chi))
|
|
596
615
|
|
|
597
616
|
## 1.0.2 (October 2026)
|
|
598
617
|
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { Colors, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerO
|
|
|
6
6
|
import { Sortable, deepMerge, isPlainObject, mapValues, resolveSort, sort } from "./packages/shared/src/object-utils.js";
|
|
7
7
|
import { ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, providerActions } from "./packages/shared/src/provider.js";
|
|
8
8
|
import { RunOptions, SpawnCrossOptions, killProcessTree, run, spawnCross } from "./packages/shared/src/run.js";
|
|
9
|
-
import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, snakeCase, str, titleCase } from "./packages/shared/src/string-utils.js";
|
|
9
|
+
import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, sanitizeText, snakeCase, str, stripControlChars, stripEscapeArtifacts, titleCase } from "./packages/shared/src/string-utils.js";
|
|
10
10
|
import { ReplacementOptions, ReplacementValue, Replacements, Replacer, applyReplacements, applyReplacementsDeep, createReplacer, defineReplacements, extractTokens, hasUnresolvedTokens, tokenPattern } from "./packages/shared/src/template.js";
|
|
11
11
|
import { ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, DbxConfigSections, ProjectType, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainConfigSections, ToolchainLoggerConfig, ToolchainProjectConfig, ToolchainProvidersConfig, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig } from "./packages/shared/src/config-types.js";
|
|
12
12
|
import { Awaitable, GeneratedFile, JsonValue, PackageJson, ToolchainArgument, ToolchainCommand, ToolchainCommandContext, ToolchainOption } from "./packages/shared/src/types.js";
|
|
@@ -33,4 +33,4 @@ import { index_d_exports as index_d_exports$6 } from "./packages/tsconfig/src/in
|
|
|
33
33
|
import { index_d_exports as index_d_exports$4 } from "./packages/project/src/index.js";
|
|
34
34
|
import { index_d_exports as index_d_exports$7 } from "./packages/tsdown/src/index.js";
|
|
35
35
|
import { defaultSyncTasks } from "./sync.js";
|
|
36
|
-
export { Awaitable, BuildProjectGraphOptions, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DBX_GITIGNORE_BLOCK, DbxConfig, DbxConfigSections, GeneratedFile, IGNORED_DIRS, JsonValue, LOG_LEVELS, LoadedConfig, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, MANIFEST_DIR, MANIFEST_FILE, ManagedFile, Manifest, PackageJson, PackageManager, ProjectGraph, ProjectNode, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolchainOptions, ResetToolchainResult, RunOptions, RunSyncOptions, RunWatchOptions, SelectProjectsOptions, SelectedProject, Sortable, SpawnCrossOptions, SyncContext, SyncResult, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, VscodeSyncOptions, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, index_d_exports as biome, biomeConfigSchema, buildProjectGraph, camelCase, camelCaseId, capitalize, index_d_exports$1 as changelog, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, index_d_exports$2 as config, configureLogger, constantCase, index_d_exports$3 as core, createLogger, createReplacer, dbxConfigSchema, deepMerge, defaultSyncTasks, defineConfig, defineReplacements, detectPackageManager, detectProjectType, ensureDbxGitignore, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findConfigFile, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, loadToolchainConfig, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, orderProjects, pascalCase, index_d_exports$4 as project, projectConfigSchema, projectGraphPath, projectTypeSchema, providerActions, providerRegistryPath, providersConfigSchema, readJsonAt, readJsonFile, readManifest, readProjectGraph, readProviderRegistry, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resetProjects, resetToolchain, resolveProjectType, resolveSort, resolveTokens, run, runSync, runWatch, sanitizeSlashes, sectionConfig, sectionEnabled, selectProjects, setLogConfig, setLogOverrides, index_d_exports$5 as shared, snakeCase, sort, spawnCross, str, stripAnsi, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, index_d_exports$6 as tsconfig, tsconfigConfigSchema, index_d_exports$7 as tsdown, viteConfigSchema, vscodeSyncTask, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile, writeManifest, writeProjectGraph, writeProviderRegistry };
|
|
36
|
+
export { Awaitable, BuildProjectGraphOptions, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DBX_GITIGNORE_BLOCK, DbxConfig, DbxConfigSections, GeneratedFile, IGNORED_DIRS, JsonValue, LOG_LEVELS, LoadedConfig, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, MANIFEST_DIR, MANIFEST_FILE, ManagedFile, Manifest, PackageJson, PackageManager, ProjectGraph, ProjectNode, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, ResetProjectsOptions, ResetProjectsResult, ResetSelectors, ResetToolchainOptions, ResetToolchainResult, RunOptions, RunSyncOptions, RunWatchOptions, SelectProjectsOptions, SelectedProject, Sortable, SpawnCrossOptions, SyncContext, SyncResult, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, VscodeSyncOptions, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, index_d_exports as biome, biomeConfigSchema, buildProjectGraph, camelCase, camelCaseId, capitalize, index_d_exports$1 as changelog, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, index_d_exports$2 as config, configureLogger, constantCase, index_d_exports$3 as core, createLogger, createReplacer, dbxConfigSchema, deepMerge, defaultSyncTasks, defineConfig, defineReplacements, detectPackageManager, detectProjectType, ensureDbxGitignore, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findConfigFile, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, loadToolchainConfig, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, orderProjects, pascalCase, index_d_exports$4 as project, projectConfigSchema, projectGraphPath, projectTypeSchema, providerActions, providerRegistryPath, providersConfigSchema, readJsonAt, readJsonFile, readManifest, readProjectGraph, readProviderRegistry, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resetProjects, resetToolchain, resolveProjectType, resolveSort, resolveTokens, run, runSync, runWatch, sanitizeSlashes, sanitizeText, sectionConfig, sectionEnabled, selectProjects, setLogConfig, setLogOverrides, index_d_exports$5 as shared, snakeCase, sort, spawnCross, str, stripAnsi, stripControlChars, stripEscapeArtifacts, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, index_d_exports$6 as tsconfig, tsconfigConfigSchema, index_d_exports$7 as tsdown, viteConfigSchema, vscodeSyncTask, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile, writeManifest, writeProjectGraph, writeProviderRegistry };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./packages/shared/src/bin.js";import{deepMerge as r,isPlainObject as i,mapValues as a,resolveSort as o,sort as s}from"./packages/shared/src/object-utils.js";import{mergeJsonAt as c,readJsonAt as l,readJsonFile as u,toJson as d,writeJsonFile as f}from"./packages/shared/src/fs-utils.js";import{LOG_LEVELS as p,configureLogger as m,createLogger as h,getLogOverrides as g,getLogger as _,isLogLevel as v,logger as y,normalizeLogLevel as b,setLogConfig as x,setLogOverrides as S,stripAnsi as C}from"./packages/shared/src/logger.js";import{providerActions as w}from"./packages/shared/src/provider.js";import{killProcessTree as T,run as E,spawnCross as D}from"./packages/shared/src/run.js";import{asString as O,camelCase as k,camelCaseId as A,capitalize as j,constantCase as M,ensureLeadingSlash as N,ensureSlashes as P,ensureTrailingSlash as F,formatCliFlag as I,hasText as L,indent as R,isLocalhost as z,kebabCase as B,pascalCase as V,removeDoubleSlashes as H,removeLeadingSlash as U,removeTrailingSlash as W,sanitizeSlashes as G,
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./packages/shared/src/bin.js";import{deepMerge as r,isPlainObject as i,mapValues as a,resolveSort as o,sort as s}from"./packages/shared/src/object-utils.js";import{mergeJsonAt as c,readJsonAt as l,readJsonFile as u,toJson as d,writeJsonFile as f}from"./packages/shared/src/fs-utils.js";import{LOG_LEVELS as p,configureLogger as m,createLogger as h,getLogOverrides as g,getLogger as _,isLogLevel as v,logger as y,normalizeLogLevel as b,setLogConfig as x,setLogOverrides as S,stripAnsi as C}from"./packages/shared/src/logger.js";import{providerActions as w}from"./packages/shared/src/provider.js";import{killProcessTree as T,run as E,spawnCross as D}from"./packages/shared/src/run.js";import{asString as O,camelCase as k,camelCaseId as A,capitalize as j,constantCase as M,ensureLeadingSlash as N,ensureSlashes as P,ensureTrailingSlash as F,formatCliFlag as I,hasText as L,indent as R,isLocalhost as z,kebabCase as B,pascalCase as V,removeDoubleSlashes as H,removeLeadingSlash as U,removeTrailingSlash as W,sanitizeSlashes as G,sanitizeText as K,snakeCase as q,str as J,stripControlChars as Y,stripEscapeArtifacts as X,titleCase as Z}from"./packages/shared/src/string-utils.js";import{applyReplacements as Q,applyReplacementsDeep as $,createReplacer as ee,defineReplacements as te,extractTokens as ne,hasUnresolvedTokens as re,tokenPattern as ie}from"./packages/shared/src/template.js";import{CONFIG_SECTION_DESCRIPTIONS as ae,CONFIG_SECTION_SCHEMAS as oe,CONFIG_TYPE_SCHEMAS as se,biomeConfigSchema as ce,changelogConfigSchema as le,changelogVersioningConfigSchema as ue,changelogVersioningSchema as de,changelogVersioningTargetSchema as fe,changelogWorkflowsConfigSchema as pe,dbxConfigSchema as me,loggerConfigSchema as he,projectConfigSchema as ge,projectTypeSchema as _e,providersConfigSchema as ve,templateKindSchema as ye,templateSourceSchema as be,templateSourceTypeSchema as xe,templatesConfigSchema as Se,toolchainConfigSchema as Ce,tsconfigConfigSchema as we,viteConfigSchema as Te,watchConfigSchema as Ee,workflowConfigSchema as De,workflowSettingSchema as Oe,workflowStepSchema as ke,workflowStepsConfigSchema as Ae}from"./packages/shared/src/config-schema.js";import{CONFIG_FILE_NAMES as je,defineConfig as Me,repoSlugFromUrl as Ne,resolveTokens as Pe,sectionConfig as Fe,sectionEnabled as Ie}from"./packages/shared/src/toolchain.js";import{toYaml as Le}from"./packages/shared/src/yaml.js";import{src_exports as Re}from"./packages/shared/src/index.js";import{src_exports as ze}from"./packages/biome/src/index.js";import{src_exports as Be}from"./packages/changelog/src/index.js";import{src_exports as Ve}from"./packages/config/src/index.js";import{DBX_GITIGNORE_BLOCK as He,ensureDbxGitignore as Ue}from"./packages/core/src/gitignore.js";import{detectProjectType as We,resolveProjectType as Ge}from"./packages/core/src/project-type.js";import{findConfigFile as Ke,loadToolchainConfig as qe}from"./packages/core/src/loader.js";import{IGNORED_DIRS as Je,buildProjectGraph as Ye,detectPackageManager as Xe,orderProjects as Ze,projectGraphPath as Qe,readProjectGraph as $e,writeProjectGraph as et}from"./packages/core/src/graph.js";import{MANIFEST_DIR as tt,MANIFEST_FILE as nt,readManifest as rt,writeManifest as it}from"./packages/core/src/manifest.js";import{providerRegistryPath as at,readProviderRegistry as ot,writeProviderRegistry as st}from"./packages/core/src/provider-registry.js";import{selectProjects as ct}from"./packages/core/src/select.js";import{resetProjects as lt,resetToolchain as ut}from"./packages/core/src/reset.js";import{runSync as dt}from"./packages/core/src/sync.js";import{vscodeSyncTask as ft}from"./packages/core/src/vscode.js";import{runWatch as pt}from"./packages/core/src/watch.js";import{src_exports as mt}from"./packages/core/src/index.js";import{src_exports as ht}from"./packages/tsconfig/src/index.js";import{src_exports as gt}from"./packages/project/src/index.js";import{src_exports as _t}from"./packages/tsdown/src/index.js";import{defaultSyncTasks as vt}from"./sync.js";export{je as CONFIG_FILE_NAMES,ae as CONFIG_SECTION_DESCRIPTIONS,oe as CONFIG_SECTION_SCHEMAS,se as CONFIG_TYPE_SCHEMAS,He as DBX_GITIGNORE_BLOCK,Je as IGNORED_DIRS,p as LOG_LEVELS,tt as MANIFEST_DIR,nt as MANIFEST_FILE,e as TOOLCHAIN_PACKAGE,Q as applyReplacements,$ as applyReplacementsDeep,O as asString,ze as biome,ce as biomeConfigSchema,Ye as buildProjectGraph,k as camelCase,A as camelCaseId,j as capitalize,Be as changelog,le as changelogConfigSchema,ue as changelogVersioningConfigSchema,de as changelogVersioningSchema,fe as changelogVersioningTargetSchema,pe as changelogWorkflowsConfigSchema,Ve as config,m as configureLogger,M as constantCase,mt as core,h as createLogger,ee as createReplacer,me as dbxConfigSchema,r as deepMerge,vt as defaultSyncTasks,Me as defineConfig,te as defineReplacements,Xe as detectPackageManager,We as detectProjectType,Ue as ensureDbxGitignore,N as ensureLeadingSlash,P as ensureSlashes,F as ensureTrailingSlash,ne as extractTokens,Ke as findConfigFile,t as findOwnCliEntry,I as formatCliFlag,g as getLogOverrides,_ as getLogger,L as hasText,re as hasUnresolvedTokens,R as indent,z as isLocalhost,v as isLogLevel,i as isPlainObject,B as kebabCase,T as killProcessTree,qe as loadToolchainConfig,n as localToolchainVersion,y as logger,he as loggerConfigSchema,a as mapValues,c as mergeJsonAt,b as normalizeLogLevel,Ze as orderProjects,V as pascalCase,gt as project,ge as projectConfigSchema,Qe as projectGraphPath,_e as projectTypeSchema,w as providerActions,at as providerRegistryPath,ve as providersConfigSchema,l as readJsonAt,u as readJsonFile,rt as readManifest,$e as readProjectGraph,ot as readProviderRegistry,H as removeDoubleSlashes,U as removeLeadingSlash,W as removeTrailingSlash,Ne as repoSlugFromUrl,lt as resetProjects,ut as resetToolchain,Ge as resolveProjectType,o as resolveSort,Pe as resolveTokens,E as run,dt as runSync,pt as runWatch,G as sanitizeSlashes,K as sanitizeText,Fe as sectionConfig,Ie as sectionEnabled,ct as selectProjects,x as setLogConfig,S as setLogOverrides,Re as shared,q as snakeCase,s as sort,D as spawnCross,J as str,C as stripAnsi,Y as stripControlChars,X as stripEscapeArtifacts,ye as templateKindSchema,be as templateSourceSchema,xe as templateSourceTypeSchema,Se as templatesConfigSchema,Z as titleCase,d as toJson,Le as toYaml,ie as tokenPattern,Ce as toolchainConfigSchema,ht as tsconfig,we as tsconfigConfigSchema,_t as tsdown,Te as viteConfigSchema,ft as vscodeSyncTask,Ee as watchConfigSchema,De as workflowConfigSchema,Oe as workflowSettingSchema,ke as workflowStepSchema,Ae as workflowStepsConfigSchema,f as writeJsonFile,it as writeManifest,et as writeProjectGraph,st as writeProviderRegistry};
|
package/dist/package.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;var e=`1.
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;var e=`1.7.0`;export{e as version};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../../shared/src/logger.js";import"../../../shared/src/index.js";import{readFileSync as
|
|
2
|
-
`)}function
|
|
3
|
-
`)){let e=
|
|
4
|
-
`).map(e=>
|
|
5
|
-
`);o!==a&&(
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;import{logger as e}from"../../../shared/src/logger.js";import{sanitizeText as t}from"../../../shared/src/string-utils.js";import"../../../shared/src/index.js";import{readFileSync as n,writeFileSync as r}from"node:fs";const i={feat:`New features`,fix:`Bug fixes`,refactor:`Refactors`,docs:`Documentation`,style:`Styles`,chore:`Chores`,test:`Tests`,perf:`Performance`,build:`Build system`,ci:`CI`,revert:`Reverts`,breaking:`Breaking changes`},a=[`breaking`,`feat`,`fix`,`perf`,`refactor`,`docs`,`style`,`test`,`build`,`ci`,`chore`,`revert`];function o(e){return i[e]??i[e.toLowerCase()]??`Other changes`}function s(e){let t=/^([a-zA-Z][a-zA-Z0-9]*)(\(([^)]*)\))?(!)?:\s*(.*)$/.exec(e);return t?{type:t[1].toLowerCase(),scope:t[3]?.trim()||void 0,breaking:!!t[4],rest:t[5]??``}:{type:`chore`,breaking:!1,rest:e}}function c(e){let t=/* @__PURE__ */ new Map;for(let n of e){let{parsed:e}=n,r=t.get(e.type)??{title:o(e.type),ungrouped:[],scopes:/* @__PURE__ */ new Map};if(e.scope){let t=r.scopes.get(e.scope)??[];t.push(n),r.scopes.set(e.scope,t)}else r.ungrouped.push(n);t.set(e.type,r)}return[...t.entries()].sort((e,t)=>{let n=a.indexOf(e[0]),r=a.indexOf(t[0]);return(n===-1?a.length:n)-(r===-1?a.length:r)}).map(([,e])=>e)}function l(e){if(e.length===0)return`- No description provided.`;let t=[];for(let n of e){t.push(`### ${n.title}`);for(let e of n.ungrouped)t.push(e.text),t.push(...u(e.bodyParagraphs));for(let[e,r]of n.scopes){t.push(`#### ${d(e)}`);for(let e of r)t.push(e.text),t.push(...u(e.bodyParagraphs))}}return t.join(`
|
|
2
|
+
`)}function u(e){let t=[];for(let n of e){let[e,...r]=n;e&&(t.push(` - ${e}`),t.push(...r.map(e=>` ${e}`)))}return t}function d(e){return e.charAt(0).toUpperCase()+e.slice(1)}function f(e){return e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e}function p(e){let t=e.lastIndexOf(`([#`);if(t===-1)return{main:e,inline:``};let n=e.slice(t),r=/^(\(\[#[^\]]+\]\([^)]*\) by [^)]*\)\)?)(?:\(fixes [^)]*\)\)?)?/.exec(n);if(!r)return{main:e,inline:``};let i=r[0]??``;return{main:e.slice(0,t)+i,inline:e.slice(t+i.length).trim()}}function m(e){let n=[],r=[];for(let i of e.split(`
|
|
3
|
+
`)){let e=t(i.trim());if(!e){r.length>0&&(n.push(r),r=[]);continue}if(e.startsWith(`-`)||e.startsWith(`*`)||/^[0-9]+[.)]/.test(e)||!e.replace(/(?:close[sd]?|fixe?s|fixed|resolves?|resolved)\b\s*:?\s*#\d+\s*[,;]?\s*/gi,``).trim())continue;let a=/^(BREAKING CHANGE|Reviewed-by|Signed-off-by|Co-authored-by|Acked-by|Co-developed-by|Helped-by|Reported-by|Suggested-by|Tested-by|Cc):\s+(.+)$/i.exec(e);a&&!/^(http|https)\b/.test(e)?(r.length>0&&(n.push(r),r=[]),n.push([`**${(a[1]??``).trim()}:** ${(a[2]??``).trim()}`])):r.push(e)}return r.length>0&&n.push(r),n}function h(e,t){return`https://github.com/${e}/commit/${t}`}function g(e,t){return`https://github.com/${e}/issues/${t}`}function _(e,t){return e.replace(/\[(#[0-9a-fA-F]{6,40})\]\(([^)]*)\)/g,(e,n)=>{let r=n.replace(`#`,``).slice(0,7);return`[#${r}](${h(t,r)})`}).replace(/(^|[^\w[])#([0-9a-fA-F]{7,40})(?![0-9a-fA-F])(?=[)\].,;:\s]|$)/g,(e,n,r)=>{let i=r.slice(0,7);return`${n}[#${i}](${h(t,i)})`})}function v(e,t){return e.replace(/\[#(\d+)(?=[ \]])(?:[^\]]*)\]\([^)]*\)/g,(e,n)=>`[#${n}](${g(t,n)})`).replace(/(^|[^\w[])#(\d+)(?=[)\].,;:\s]|$)/g,(e,n,r)=>`${n}[#${r}](${g(t,r)})`)}function y(e,t){if(!t)return e;let n=_(e,t);return n=v(n,t),n}function b(t,i){if(!i)return;let a=n(t,`utf8`),o=a.split(`
|
|
4
|
+
`).map(e=>y(e,i)).join(`
|
|
5
|
+
`);o!==a&&(r(t,o,`utf8`),e.info(` formatted ${t}`))}export{f as capitalize,m as formatBody,b as formatChangelogFile,y as formatLine,c as groupItems,s as parseCcSubject,l as renderGroups,o as ruleTitle,p as splitInlineDescription};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{default as e}from"node:path";import"node:url";import.meta.url;import t from"node:fs";import{execFileSync as
|
|
1
|
+
import{default as e}from"node:path";import"node:url";import.meta.url;import{sanitizeText as t}from"../../../shared/src/string-utils.js";import"../../../shared/src/index.js";import n from"node:fs";import{execFileSync as r}from"node:child_process";function i(e,n){let i=[`log`,`--no-merges`,`--pretty=format:%H%x1f%s%x1f%b%x1f%an%x1f%ae%x1e`,e];return n&&i.push(`--`,n),r(`git`,i,{encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]}).split(``).filter(e=>e.length>0).map(e=>{let[n,r,i,a,o]=e.split(``);return{hash:n.trim(),subject:t((r??``).trim()),body:t((i??``).trim()),author:(a??``).trim(),authorEmail:(o??``).trim()}}).filter(e=>e.subject.length>0)}function a(e){let t=e.match(/(?:github\.com[/:])([^/]+)\/([^/.]+?)(?:\.git)?$/);if(t?.[1]&&t[2])return`${t[1]}/${t[2]}`}function o(){try{let e=a(r(`git`,[`remote`,`get-url`,`origin`],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim());if(e)return e}catch{}try{let t=n.readFileSync(e.join(process.cwd(),`package.json`),`utf8`),r=JSON.parse(t),i=typeof r.repository==`string`?r.repository:r.repository?.url;if(i)return a(i)}catch{}}let s;function c(){if(s!==void 0)return s;try{r(`gh`,[`auth`,`status`],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]}),s=!0}catch{s=!1}return s}const l=/* @__PURE__ */ new Map;function u(e,t,n){if(!c())return;let i=`repos/${e}${t}::${n}`;if(l.has(i))return l.get(i);let a;try{let i=r(`gh`,[`api`,`repos/${e}${t}`,`--jq`,n],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]}).trim();a=i&&i!==`null`?i:void 0}catch{a=void 0}return l.set(i,a),a}function d(e){return/^(\d+)\+([^@]+)@users\.noreply\.github\.com$/.exec(e.trim())?.[2]}function f(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function p(e,t){let n;t&&(n=u(t,`/commits/${e.hash}/pulls`,`.[0].user.login`),n||=u(t,`/commits/${e.hash}`,`.author.login`)),n||=d(e.authorEmail);let r=n??e.author;return f(r)&&(r=d(r)??r.split(`@`)[0]??r),{name:r,url:n?`https://github.com/${n}`:void 0}}function m(e){return e.url?`[${e.name}](${e.url})`:e.name}function h(e){let t=/* @__PURE__ */ new Set;for(let n of e.matchAll(/\b(?:close[sd]?|fixe?s|fixed|resolves?|resolved)\b\s*:?\s*#(\d+)/gi)){let e=Number(n[1]);Number.isInteger(e)&&t.add(e)}return[...t]}function g(e,t){let n={number:t},r=u(e,`/issues/${t}`,`[.title,.html_url]`);if(r)try{let e=JSON.parse(r);n.title=e[0]||void 0,n.url=e[1]||void 0}catch{}return n}function _(e,t){let n=h(`${e.subject}\n${e.body}`);return n.length===0?[]:t?n.map(e=>g(t,e)):n.map(e=>({number:e}))}function v(e){return e.length===0?``:` (fixes ${e.map(e=>e.url&&e.title?`[#${e.number} ${e.title}](${e.url})`:e.url?`[#${e.number}](${e.url})`:`#${e.number}`).join(`, `)})`}function y(e){return/\[(#[0-9a-fA-F]{6,40})\]\([^)]*\)/.exec(e)?.[1]?.replace(`#`,``)}function b(e){try{return r(`git`,[`log`,`-1`,`--format=%aI`,e],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim()}catch{return}}function x(e){for(let t of[`v${e}`,e])try{let e=r(`git`,[`log`,`-1`,`--format=%aI`,t],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim();if(e)return e}catch{}}function S(e,t){let n=x(e);if(n)return new Date(n);for(let e of t){let t=y(e);if(t){let e=b(t);if(e)return new Date(e)}}}let C;function w(){if(C)return C;let e=/* @__PURE__ */ new Map;try{let t=r(`git`,[`log`,`--no-merges`,`--all`,`--format=%H%x1f%s%x1f%b%x1e`],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`],maxBuffer:134217728});for(let n of t.split(``)){if(!n.trim())continue;let[t=``,r=``,i=``]=n.split(``);if(!t)continue;let a={subject:r.trim(),body:i.trim()};e.set(t.trim(),a),e.set(t.trim().slice(0,7),a)}}catch{}return C=e,e}function T(e){return w().get(e)}function E(e){let t=`patch`;for(let n of e){let e=`${n.subject}\n${n.body}`;/\bBREAKING CHANGE\b/.test(e)||/^[a-zA-Z]+(\([^)]*\))?!:/.test(n.subject)?t=`major`:t!==`major`&&/^feat(\([^)]*\))?:/i.test(n.subject)&&(t=`minor`)}return t}export{y as bulletHash,E as deriveBump,S as deriveVersionDate,T as readCommit,i as readCommits,_ as recordIssues,m as renderAuthor,v as renderIssues,o as repoSlug,p as resolveAuthorInfo};
|
|
@@ -70,8 +70,9 @@ export interface RenderConfigFileOptions {
|
|
|
70
70
|
/**
|
|
71
71
|
* Render a single markdown reference for a config **file** (no environment-var
|
|
72
72
|
* language): one `## \`key\`` section per schema, with its fields, types,
|
|
73
|
-
* defaults and descriptions.
|
|
74
|
-
*
|
|
73
|
+
* defaults and descriptions. Named sub-schemas (`$defs`) are resolved and
|
|
74
|
+
* expanded inline, so nested options (`changelog.versioning.target`, ...) are
|
|
75
|
+
* documented too. This is what a `dbx.config.ts`-style reference is generated from.
|
|
75
76
|
*/
|
|
76
77
|
export declare function renderConfigFileMarkdown(sections: ConfigFileSection[], options?: RenderConfigFileOptions): string;
|
|
77
78
|
//#endregion
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import{default as e}from"node:path";import"node:url";import.meta.url;import{titleCase as
|
|
2
|
-
`).trim()}\n`}function
|
|
3
|
-
`),
|
|
1
|
+
import{default as e}from"node:path";import"node:url";import.meta.url;import{sanitizeText as t,titleCase as n}from"../../../shared/src/string-utils.js";import"../../../shared/src/index.js";import{splitBaseSchema as r,zodToJsonSchema as i}from"../schema.js";import{collectEnvVars as a}from"../collect.js";import{cliFlagLabel as o}from"./cli.js";import s from"node:fs";import{z as c}from"zod";function l(e,n,r,i){let a=[`${r} ${n}`];return e.type===`object`&&e.properties?(a.push(...u(e,`${r}#`,i)),a):(e.env&&a.push(`- **Env**: \`${e.env}\``),a.push(`- **Type**: \`${e.tsType??(Array.isArray(e.type)?e.type.join(` | `):e.type)??`any`}\``),e.default!==void 0&&a.push(`- **Default**: \`${JSON.stringify(e.default)}\``),e.description&&a.push(``,t(e.description)),a)}function u(e,t,n){let r=[];for(let[i,a]of Object.entries(e.properties??{})){let e=n.useFlags&&a.env?o(a.env,n):`\`${i}\``;r.push(``,...l(a,e,t,n))}return r}function d(e,t,i={}){let a=i.outline??[2,3,4],o={useFlags:e===(i.cliScope??`cli`),baseGroup:i.baseGroup??`base`,...i.envPrefix?{envPrefix:i.envPrefix}:{},...i.shortFlags?{shortFlags:i.shortFlags}:{}},{base:s,groups:c}=r(t,o.baseGroup),l=[`---`,`title: ${n(e)} Configuration`,`outline: ${JSON.stringify(a)}`,`---`,``,`# ${n(e)} Configuration`,``,`Every setting below is configured through an environment variable.`,``,`## Base`,``,...u(s,`###`,o)];for(let[e,t]of Object.entries(c.properties??{}))l.push(``,`## ${n(e)}`,``,...u(t,`###`,o));return`${l.join(`
|
|
2
|
+
`).trim()}\n`}function f(e){return e===void 0?`—`:Array.isArray(e)?`\`${e.join(`,`)}\``:typeof e==`object`?`\`${JSON.stringify(e)}\``:`\`${String(e)}\``}function p(e,t,n){for(let r of Object.values(e.properties??{})){let e=r;if(e.type===`object`&&e.properties)p(r,t,n);else if(e.env){let r=e.envDefault??e.default;n.push({name:e.env,scope:t,...e.description?{description:e.description}:{},...r===void 0?{}:{default:r},...e.required===!0?{required:!0}:{},...e.secret?{secret:!0}:{},...e.public?{public:!0}:{}})}}}function m(e,t={}){let n=t.outline??[2,3,4],o=t.baseGroup??`base`,s=t.labels??{},c=[],l=[];for(let[t,n]of Object.entries(e)){let e=n.jsonSchema??i(n.zodSchema);p(r(e,o).base,t,l)}for(let n of a(e,t.envPrefix??`APP_`,{envPathOf:t.envPathOf}))n.required&&c.push({name:n.name,scope:n.scope,...n.description?{description:n.description}:{},...n.default===void 0?{}:{default:n.default}});let u=e=>[`| Variable | Default | Description |`,`| -------- | ------- | ----------- |`,...e.map(e=>`| \`${e.name}\` | ${f(e.default)} | ${(e.description??``).replace(/\n/g,` `).replace(/\|/g,`\\|`)} |`)].join(`
|
|
3
|
+
`),d=s.title??`Environment variables`,m=t.intro??`Environment variables are prefixed with \`${t.envPrefix??`APP_`}\`.
|
|
4
4
|
The underscore is a path separator, so every config value has an environment
|
|
5
5
|
variable equivalent.`,h=t.requiredNote??`These variables have no safe default and **must** be set:`,g=t.coreNote??`The core (base) config values:`,_=t.references&&t.references.length?`\n## References\n\n${t.references.map(e=>`- [${e.label}](${e.href})`).join(`
|
|
6
6
|
`)}\n`:``;return`---
|
|
7
|
-
title: ${
|
|
8
|
-
outline: ${JSON.stringify(
|
|
7
|
+
title: ${d}
|
|
8
|
+
outline: ${JSON.stringify(n)}
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# ${
|
|
11
|
+
# ${d}
|
|
12
12
|
|
|
13
13
|
${m}
|
|
14
14
|
|
|
@@ -16,12 +16,12 @@ ${m}
|
|
|
16
16
|
|
|
17
17
|
${h}
|
|
18
18
|
|
|
19
|
-
${
|
|
19
|
+
${u(c)}
|
|
20
20
|
|
|
21
21
|
## ${s.core??`Core`}
|
|
22
22
|
|
|
23
23
|
${g}
|
|
24
24
|
|
|
25
|
-
${
|
|
26
|
-
${_}`}function
|
|
27
|
-
`).trim()}\n`}export{
|
|
25
|
+
${u(l)}
|
|
26
|
+
${_}`}function h(t,n){let r=n.outline??[2,3,4],a=Object.entries(t).map(([t,a])=>[e.resolve(n.outDir,`${t}.md`),d(t,a.jsonSchema??i(a.zodSchema),{...n,outline:r})]);a.push([e.resolve(n.outDir,n.indexFilename??`index.md`),m(t,{...n,outline:r})]);for(let[t,n]of a)s.mkdirSync(e.dirname(t),{recursive:!0}),s.writeFileSync(t,n,`utf-8`);return a.map(([e])=>e)}function g(e){return e.$ref?e.$ref.split(`/`).pop()??void 0:void 0}function _(e,t){let n=g(e);return n&&t[n]?t[n]:e}function v(e){return typeof e==`string`?`'${e}'`:String(e)}function y(e,t){if(e.$ref){let n=_(e,t);return n.properties||n.anyOf||n.oneOf?g(e):y(n,t)}if(e.const!==void 0)return v(e.const);if(Array.isArray(e.enum)&&e.enum.length>0)return e.enum.map(v).join(` | `);let n=e.anyOf??e.oneOf;if(n&&n.length>0)return n.map(e=>y(e,t)).join(` | `);if(e.properties)return`object`;let r=Array.isArray(e.type)?e.type:e.type?[e.type]:[];return r.includes(`array`)?`Array<${y(e.items??{},t)}>`:r.includes(`object`)?`Record<string, unknown>`:r.length===0?`unknown`:r.map(e=>e===`integer`?`number`:e).join(` | `)}function b(e,t,n){let r=g(e);if(r){if(n.has(r))return{properties:{},required:[]};n.add(r)}let i=_(e,t);if(i.properties)return{properties:i.properties,required:i.required??[]};let a=i.anyOf??i.oneOf;if(a){let e={},r=/* @__PURE__ */ new Set;for(let i of a){let a=b(i,t,n);Object.assign(e,a.properties);for(let e of a.required)r.add(e)}return{properties:e,required:[...r]}}return(Array.isArray(i.type)?i.type:i.type?[i.type]:[]).includes(`array`)&&i.items?b(i.items,t,n):{properties:{},required:[]}}function x(e,n,r,i,a,o){let s=_(n,i),c=[`${r} \`${e}\``];c.push(`- **Type**: \`${y(n,i)}\``),o&&c.push(`- **Required**`);let l=n.default??s.default;l!==void 0&&c.push(`- **Default**: \`${JSON.stringify(l)}\``);let u=t(n.description??s.description??``);u&&c.push(``,u);let d=b(n,i,a),f=r.length<6?`${r}#`:r;for(let[e,t]of Object.entries(d.properties))c.push(``,...x(e,t,f,i,a,d.required.includes(e)));return c}function S(e,t,n,r){let i=[],a=e.required??[];for(let[o,s]of Object.entries(e.properties??{}))i.push(``,...x(o,s,t,n,r,a.includes(o)));return i}function C(e,t={}){let n=t.title??`Configuration`,r=[`---`,`title: ${n}`,`outline: ${JSON.stringify(t.outline??[2,3,4])}`,`---`,``,`# ${n}`,``];t.intro&&r.push(t.intro,``);for(let t of e){r.push(`## \`${t.key}\``,``),t.description&&r.push(t.description,``);let e=c.toJSONSchema(t.schema,{target:`draft-2020-12`}),n=e.$defs??{},i=e.$ref?_(e,n):e;r.push(...S(i,`###`,n,/* @__PURE__ */ new Set),``)}return`${r.join(`
|
|
27
|
+
`).trim()}\n`}export{h as generateConfigMarkdown,C as renderConfigFileMarkdown,m as renderConfigIndex,d as renderScopeMarkdown};
|
|
@@ -6,7 +6,7 @@ import { Colors, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerO
|
|
|
6
6
|
import { Sortable, deepMerge, isPlainObject, mapValues, resolveSort, sort } from "./object-utils.js";
|
|
7
7
|
import { ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, providerActions } from "./provider.js";
|
|
8
8
|
import { RunOptions, SpawnCrossOptions, killProcessTree, run, spawnCross } from "./run.js";
|
|
9
|
-
import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, snakeCase, str, titleCase } from "./string-utils.js";
|
|
9
|
+
import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, sanitizeText, snakeCase, str, stripControlChars, stripEscapeArtifacts, titleCase } from "./string-utils.js";
|
|
10
10
|
import { ReplacementOptions, ReplacementValue, Replacements, Replacer, applyReplacements, applyReplacementsDeep, createReplacer, defineReplacements, extractTokens, hasUnresolvedTokens, tokenPattern } from "./template.js";
|
|
11
11
|
import { ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, DbxConfigSections, ProjectType, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainConfigSections, ToolchainLoggerConfig, ToolchainProjectConfig, ToolchainProvidersConfig, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig } from "./config-types.js";
|
|
12
12
|
import { Awaitable, GeneratedFile, JsonValue, PackageJson, ToolchainArgument, ToolchainCommand, ToolchainCommandContext, ToolchainOption } from "./types.js";
|
|
@@ -14,7 +14,7 @@ import { CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMA
|
|
|
14
14
|
import { CONFIG_FILE_NAMES, DbxConfig, ManagedFile, SyncContext, SyncSummary, SyncTask, ToolchainConfig, ToolchainHooks, ToolchainSection, defineConfig, repoSlugFromUrl, resolveTokens, sectionConfig, sectionEnabled } from "./toolchain.js";
|
|
15
15
|
import { YamlValue, toYaml } from "./yaml.js";
|
|
16
16
|
declare namespace index_d_exports {
|
|
17
|
-
export { Awaitable, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DbxConfig, DbxConfigSections, GeneratedFile, JsonValue, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, ManagedFile, PackageJson, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, YamlValue, applyReplacements, applyReplacementsDeep, asString, biomeConfigSchema, camelCase, camelCaseId, capitalize, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, configureLogger, constantCase, createLogger, createReplacer, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resolveSort, resolveTokens, run, sanitizeSlashes, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, str, stripAnsi, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile };
|
|
17
|
+
export { Awaitable, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DbxConfig, DbxConfigSections, GeneratedFile, JsonValue, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, ManagedFile, PackageJson, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, YamlValue, applyReplacements, applyReplacementsDeep, asString, biomeConfigSchema, camelCase, camelCaseId, capitalize, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, configureLogger, constantCase, createLogger, createReplacer, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resolveSort, resolveTokens, run, sanitizeSlashes, sanitizeText, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, str, stripAnsi, stripControlChars, stripEscapeArtifacts, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile };
|
|
18
18
|
}
|
|
19
19
|
//#endregion
|
|
20
|
-
export { Awaitable, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DbxConfig, DbxConfigSections, GeneratedFile, JsonValue, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, ManagedFile, PackageJson, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, biomeConfigSchema, camelCase, camelCaseId, capitalize, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, configureLogger, constantCase, createLogger, createReplacer, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, index_d_exports, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resolveSort, resolveTokens, run, sanitizeSlashes, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, str, stripAnsi, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile };
|
|
20
|
+
export { Awaitable, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DbxConfig, DbxConfigSections, GeneratedFile, JsonValue, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, ManagedFile, PackageJson, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, biomeConfigSchema, camelCase, camelCaseId, capitalize, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, configureLogger, constantCase, createLogger, createReplacer, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, index_d_exports, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resolveSort, resolveTokens, run, sanitizeSlashes, sanitizeText, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, str, stripAnsi, stripControlChars, stripEscapeArtifacts, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;import{__exportAll as ee}from"../../../_virtual/_rolldown/runtime.js";import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./bin.js";import{deepMerge as r,isPlainObject as i,mapValues as a,resolveSort as o,sort as s}from"./object-utils.js";import{mergeJsonAt as c,readJsonAt as l,readJsonFile as u,toJson as d,writeJsonFile as f}from"./fs-utils.js";import{LOG_LEVELS as p,configureLogger as m,createLogger as h,getLogOverrides as g,getLogger as _,isLogLevel as v,logger as y,normalizeLogLevel as b,setLogConfig as x,setLogOverrides as S,stripAnsi as C}from"./logger.js";import{providerActions as w}from"./provider.js";import{killProcessTree as T,run as E,spawnCross as D}from"./run.js";import{asString as O,camelCase as k,camelCaseId as A,capitalize as j,constantCase as M,ensureLeadingSlash as N,ensureSlashes as P,ensureTrailingSlash as F,formatCliFlag as I,hasText as L,indent as R,isLocalhost as z,kebabCase as B,pascalCase as V,removeDoubleSlashes as H,removeLeadingSlash as U,removeTrailingSlash as W,sanitizeSlashes as G,
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;import{__exportAll as ee}from"../../../_virtual/_rolldown/runtime.js";import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./bin.js";import{deepMerge as r,isPlainObject as i,mapValues as a,resolveSort as o,sort as s}from"./object-utils.js";import{mergeJsonAt as c,readJsonAt as l,readJsonFile as u,toJson as d,writeJsonFile as f}from"./fs-utils.js";import{LOG_LEVELS as p,configureLogger as m,createLogger as h,getLogOverrides as g,getLogger as _,isLogLevel as v,logger as y,normalizeLogLevel as b,setLogConfig as x,setLogOverrides as S,stripAnsi as C}from"./logger.js";import{providerActions as w}from"./provider.js";import{killProcessTree as T,run as E,spawnCross as D}from"./run.js";import{asString as O,camelCase as k,camelCaseId as A,capitalize as j,constantCase as M,ensureLeadingSlash as N,ensureSlashes as P,ensureTrailingSlash as F,formatCliFlag as I,hasText as L,indent as R,isLocalhost as z,kebabCase as B,pascalCase as V,removeDoubleSlashes as H,removeLeadingSlash as U,removeTrailingSlash as W,sanitizeSlashes as G,sanitizeText as K,snakeCase as q,str as te,stripControlChars as J,stripEscapeArtifacts as Y,titleCase as X}from"./string-utils.js";import{applyReplacements as Z,applyReplacementsDeep as Q,createReplacer as $,defineReplacements as ne,extractTokens as re,hasUnresolvedTokens as ie,tokenPattern as ae}from"./template.js";import{CONFIG_SECTION_DESCRIPTIONS as oe,CONFIG_SECTION_SCHEMAS as se,CONFIG_TYPE_SCHEMAS as ce,biomeConfigSchema as le,changelogConfigSchema as ue,changelogVersioningConfigSchema as de,changelogVersioningSchema as fe,changelogVersioningTargetSchema as pe,changelogWorkflowsConfigSchema as me,dbxConfigSchema as he,loggerConfigSchema as ge,projectConfigSchema as _e,projectTypeSchema as ve,providersConfigSchema as ye,templateKindSchema as be,templateSourceSchema as xe,templateSourceTypeSchema as Se,templatesConfigSchema as Ce,toolchainConfigSchema as we,tsconfigConfigSchema as Te,viteConfigSchema as Ee,watchConfigSchema as De,workflowConfigSchema as Oe,workflowSettingSchema as ke,workflowStepSchema as Ae,workflowStepsConfigSchema as je}from"./config-schema.js";import{CONFIG_FILE_NAMES as Me,defineConfig as Ne,repoSlugFromUrl as Pe,resolveTokens as Fe,sectionConfig as Ie,sectionEnabled as Le}from"./toolchain.js";import{toYaml as Re}from"./yaml.js";var ze=/* @__PURE__ */ ee({CONFIG_FILE_NAMES:()=>Me,CONFIG_SECTION_DESCRIPTIONS:()=>oe,CONFIG_SECTION_SCHEMAS:()=>se,CONFIG_TYPE_SCHEMAS:()=>ce,LOG_LEVELS:()=>p,TOOLCHAIN_PACKAGE:()=>e,applyReplacements:()=>Z,applyReplacementsDeep:()=>Q,asString:()=>O,biomeConfigSchema:()=>le,camelCase:()=>k,camelCaseId:()=>A,capitalize:()=>j,changelogConfigSchema:()=>ue,changelogVersioningConfigSchema:()=>de,changelogVersioningSchema:()=>fe,changelogVersioningTargetSchema:()=>pe,changelogWorkflowsConfigSchema:()=>me,configureLogger:()=>m,constantCase:()=>M,createLogger:()=>h,createReplacer:()=>$,dbxConfigSchema:()=>he,deepMerge:()=>r,defineConfig:()=>Ne,defineReplacements:()=>ne,ensureLeadingSlash:()=>N,ensureSlashes:()=>P,ensureTrailingSlash:()=>F,extractTokens:()=>re,findOwnCliEntry:()=>t,formatCliFlag:()=>I,getLogOverrides:()=>g,getLogger:()=>_,hasText:()=>L,hasUnresolvedTokens:()=>ie,indent:()=>R,isLocalhost:()=>z,isLogLevel:()=>v,isPlainObject:()=>i,kebabCase:()=>B,killProcessTree:()=>T,localToolchainVersion:()=>n,logger:()=>y,loggerConfigSchema:()=>ge,mapValues:()=>a,mergeJsonAt:()=>c,normalizeLogLevel:()=>b,pascalCase:()=>V,projectConfigSchema:()=>_e,projectTypeSchema:()=>ve,providerActions:()=>w,providersConfigSchema:()=>ye,readJsonAt:()=>l,readJsonFile:()=>u,removeDoubleSlashes:()=>H,removeLeadingSlash:()=>U,removeTrailingSlash:()=>W,repoSlugFromUrl:()=>Pe,resolveSort:()=>o,resolveTokens:()=>Fe,run:()=>E,sanitizeSlashes:()=>G,sanitizeText:()=>K,sectionConfig:()=>Ie,sectionEnabled:()=>Le,setLogConfig:()=>x,setLogOverrides:()=>S,snakeCase:()=>q,sort:()=>s,spawnCross:()=>D,str:()=>te,stripAnsi:()=>C,stripControlChars:()=>J,stripEscapeArtifacts:()=>Y,templateKindSchema:()=>be,templateSourceSchema:()=>xe,templateSourceTypeSchema:()=>Se,templatesConfigSchema:()=>Ce,titleCase:()=>X,toJson:()=>d,toYaml:()=>Re,tokenPattern:()=>ae,toolchainConfigSchema:()=>we,tsconfigConfigSchema:()=>Te,viteConfigSchema:()=>Ee,watchConfigSchema:()=>De,workflowConfigSchema:()=>Oe,workflowSettingSchema:()=>ke,workflowStepSchema:()=>Ae,workflowStepsConfigSchema:()=>je,writeJsonFile:()=>f});export{Me as CONFIG_FILE_NAMES,oe as CONFIG_SECTION_DESCRIPTIONS,se as CONFIG_SECTION_SCHEMAS,ce as CONFIG_TYPE_SCHEMAS,p as LOG_LEVELS,e as TOOLCHAIN_PACKAGE,Z as applyReplacements,Q as applyReplacementsDeep,O as asString,le as biomeConfigSchema,k as camelCase,A as camelCaseId,j as capitalize,ue as changelogConfigSchema,de as changelogVersioningConfigSchema,fe as changelogVersioningSchema,pe as changelogVersioningTargetSchema,me as changelogWorkflowsConfigSchema,m as configureLogger,M as constantCase,h as createLogger,$ as createReplacer,he as dbxConfigSchema,r as deepMerge,Ne as defineConfig,ne as defineReplacements,N as ensureLeadingSlash,P as ensureSlashes,F as ensureTrailingSlash,re as extractTokens,t as findOwnCliEntry,I as formatCliFlag,g as getLogOverrides,_ as getLogger,L as hasText,ie as hasUnresolvedTokens,R as indent,z as isLocalhost,v as isLogLevel,i as isPlainObject,B as kebabCase,T as killProcessTree,n as localToolchainVersion,y as logger,ge as loggerConfigSchema,a as mapValues,c as mergeJsonAt,b as normalizeLogLevel,V as pascalCase,_e as projectConfigSchema,ve as projectTypeSchema,w as providerActions,ye as providersConfigSchema,l as readJsonAt,u as readJsonFile,H as removeDoubleSlashes,U as removeLeadingSlash,W as removeTrailingSlash,Pe as repoSlugFromUrl,o as resolveSort,Fe as resolveTokens,E as run,G as sanitizeSlashes,K as sanitizeText,Ie as sectionConfig,Le as sectionEnabled,x as setLogConfig,S as setLogOverrides,q as snakeCase,s as sort,D as spawnCross,ze as src_exports,te as str,C as stripAnsi,J as stripControlChars,Y as stripEscapeArtifacts,be as templateKindSchema,xe as templateSourceSchema,Se as templateSourceTypeSchema,Ce as templatesConfigSchema,X as titleCase,d as toJson,Re as toYaml,ae as tokenPattern,we as toolchainConfigSchema,Te as tsconfigConfigSchema,Ee as viteConfigSchema,De as watchConfigSchema,Oe as workflowConfigSchema,ke as workflowSettingSchema,Ae as workflowStepSchema,je as workflowStepsConfigSchema,f as writeJsonFile};
|
|
@@ -49,4 +49,20 @@ export declare function removeDoubleSlashes(value: string, slash?: string): stri
|
|
|
49
49
|
export declare function sanitizeSlashes(value: string, operations?: ('leading' | 'trailing' | 'double')[], slash?: string): string;
|
|
50
50
|
/** Ensure slashes at the requested positions. */
|
|
51
51
|
export declare function ensureSlashes(value: string, operations: ('leading' | 'trailing')[], slash?: string): string;
|
|
52
|
+
/** Strip bare control characters, keeping `\t`, `\n` and `\r`. */
|
|
53
|
+
export declare function stripControlChars(text: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Strip the predictable shell-escape artifacts: a backslash that precedes a
|
|
56
|
+
* control character. Ordinary backslashes (Windows paths, regular expressions,
|
|
57
|
+
* Markdown hard breaks that use two trailing spaces) are left untouched — only
|
|
58
|
+
* a backslash directly before a control character is removed.
|
|
59
|
+
*/
|
|
60
|
+
export declare function stripEscapeArtifacts(text: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Sanitize text that may have passed through a shell (commit bodies, generated
|
|
63
|
+
* descriptions) before it is rendered to markdown: normalize CRLF to LF, then
|
|
64
|
+
* strip shell-escape artifacts followed by any remaining bare control
|
|
65
|
+
* characters. Conservative by design — it never removes an ordinary backslash.
|
|
66
|
+
*/
|
|
67
|
+
export declare function sanitizeText(text: string): string;
|
|
52
68
|
//#endregion
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import"node:path";import"node:url";import.meta.url;function e(e){return typeof e==`string`?e.trim():``}function t(e){return typeof e==`string`?e:``}function n(e){return typeof e==`string`&&e.trim().length>0}function r(e){return e.length>0?e.charAt(0).toUpperCase()+e.slice(1):e}function i(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).split(/[^a-zA-Z0-9]+/).filter(Boolean)}function a(e){return i(e).map((e,t)=>t===0?e.toLowerCase():r(e.toLowerCase())).join(``)}function o(e){return i(e).map(e=>r(e.toLowerCase())).join(``)}function s(e){return i(e).map(e=>e.toLowerCase()).join(`-`)}function c(e){return i(e).map(e=>e.toLowerCase()).join(`_`)}function l(e){return i(e).map(e=>e.toUpperCase()).join(`_`)}function u(e){return i(e).map(e=>r(e.toLowerCase())).join(` `)}function d(e){return a(e)}function f(e,t=``){return s(t&&e.startsWith(t)?e.slice(t.length):e)}function p(e,t=2){let n=` `.repeat(t);return e.split(`
|
|
2
2
|
`).map(e=>e.trim()?n+e:e).join(`
|
|
3
|
-
`)}function m(e){return/localhost|127\.0\.0\.1|0\.0\.0\.0|::/.test(e)}function h(e,t=`/`){return e.startsWith(t)?e:`${t}${e}`}function g(e,t=`/`){return e.endsWith(t)?e:`${e}${t}`}function _(e,t=`/`){return e.replace(RegExp(`^${S(t)}+`),``)}function v(e,t=`/`){return e.replace(RegExp(`${S(t)}+$`),``)}function y(e,t=`/`){return e.replace(RegExp(`${S(t)}+`,`g`),t)}function b(e,t=[`leading`,`trailing`,`double`],n=`/`){let r=e;for(let e of t)e===`leading`&&(r=_(r,n)),e===`trailing`&&(r=v(r,n)),e===`double`&&(r=y(r,n));return r}function x(e,t,n=`/`){if(!t.length)throw Error(`ensureSlashes: operations array cannot be empty.`);let r=e;for(let e of t)if(e===`leading`)r=h(r,n);else if(e===`trailing`)r=g(r,n);else throw Error(`ensureSlashes: invalid operation: ${e}`);return r}function S(e){return e===`/`?`\\/`:e}
|
|
3
|
+
`)}function m(e){return/localhost|127\.0\.0\.1|0\.0\.0\.0|::/.test(e)}function h(e,t=`/`){return e.startsWith(t)?e:`${t}${e}`}function g(e,t=`/`){return e.endsWith(t)?e:`${e}${t}`}function _(e,t=`/`){return e.replace(RegExp(`^${S(t)}+`),``)}function v(e,t=`/`){return e.replace(RegExp(`${S(t)}+$`),``)}function y(e,t=`/`){return e.replace(RegExp(`${S(t)}+`,`g`),t)}function b(e,t=[`leading`,`trailing`,`double`],n=`/`){let r=e;for(let e of t)e===`leading`&&(r=_(r,n)),e===`trailing`&&(r=v(r,n)),e===`double`&&(r=y(r,n));return r}function x(e,t,n=`/`){if(!t.length)throw Error(`ensureSlashes: operations array cannot be empty.`);let r=e;for(let e of t)if(e===`leading`)r=h(r,n);else if(e===`trailing`)r=g(r,n);else throw Error(`ensureSlashes: invalid operation: ${e}`);return r}function S(e){return e===`/`?`\\/`:e}const C=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g,w=/\\[\u0000-\u001f]/g;function T(e){return e.replace(C,``)}function E(e){return e.replace(w,``)}function D(e){return T(E(e.replace(/\r\n?/g,`
|
|
4
|
+
`)))}export{t as asString,a as camelCase,d as camelCaseId,r as capitalize,l as constantCase,h as ensureLeadingSlash,x as ensureSlashes,g as ensureTrailingSlash,f as formatCliFlag,n as hasText,p as indent,m as isLocalhost,s as kebabCase,o as pascalCase,y as removeDoubleSlashes,_ as removeLeadingSlash,v as removeTrailingSlash,b as sanitizeSlashes,D as sanitizeText,c as snakeCase,e as str,T as stripControlChars,E as stripEscapeArtifacts,u as titleCase};
|
package/dist/shared.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { Colors, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerO
|
|
|
6
6
|
import { Sortable, deepMerge, isPlainObject, mapValues, resolveSort, sort } from "./packages/shared/src/object-utils.js";
|
|
7
7
|
import { ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, providerActions } from "./packages/shared/src/provider.js";
|
|
8
8
|
import { RunOptions, SpawnCrossOptions, killProcessTree, run, spawnCross } from "./packages/shared/src/run.js";
|
|
9
|
-
import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, snakeCase, str, titleCase } from "./packages/shared/src/string-utils.js";
|
|
9
|
+
import { asString, camelCase, camelCaseId, capitalize, constantCase, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, formatCliFlag, hasText, indent, isLocalhost, kebabCase, pascalCase, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, sanitizeSlashes, sanitizeText, snakeCase, str, stripControlChars, stripEscapeArtifacts, titleCase } from "./packages/shared/src/string-utils.js";
|
|
10
10
|
import { ReplacementOptions, ReplacementValue, Replacements, Replacer, applyReplacements, applyReplacementsDeep, createReplacer, defineReplacements, extractTokens, hasUnresolvedTokens, tokenPattern } from "./packages/shared/src/template.js";
|
|
11
11
|
import { ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, DbxConfigSections, ProjectType, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainConfigSections, ToolchainLoggerConfig, ToolchainProjectConfig, ToolchainProvidersConfig, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig } from "./packages/shared/src/config-types.js";
|
|
12
12
|
import { Awaitable, GeneratedFile, JsonValue, PackageJson, ToolchainArgument, ToolchainCommand, ToolchainCommandContext, ToolchainOption } from "./packages/shared/src/types.js";
|
|
@@ -14,4 +14,4 @@ import { CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMA
|
|
|
14
14
|
import { CONFIG_FILE_NAMES, DbxConfig, ManagedFile, SyncContext, SyncSummary, SyncTask, ToolchainConfig, ToolchainHooks, ToolchainSection, defineConfig, repoSlugFromUrl, resolveTokens, sectionConfig, sectionEnabled } from "./packages/shared/src/toolchain.js";
|
|
15
15
|
import { YamlValue, toYaml } from "./packages/shared/src/yaml.js";
|
|
16
16
|
import "./packages/shared/src/index.js";
|
|
17
|
-
export { Awaitable, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DbxConfig, DbxConfigSections, GeneratedFile, JsonValue, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, ManagedFile, PackageJson, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, biomeConfigSchema, camelCase, camelCaseId, capitalize, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, configureLogger, constantCase, createLogger, createReplacer, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resolveSort, resolveTokens, run, sanitizeSlashes, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, str, stripAnsi, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile };
|
|
17
|
+
export { Awaitable, CONFIG_FILE_NAMES, CONFIG_SECTION_DESCRIPTIONS, CONFIG_SECTION_SCHEMAS, CONFIG_TYPE_SCHEMAS, ChangelogVersioning, ChangelogVersioningConfig, ChangelogVersioningTarget, ChangelogWorkflowsConfig, Colors, DbxConfig, DbxConfigSections, GeneratedFile, JsonValue, LOG_LEVELS, LogChannel, LogLevel, Logger, LoggerConfig, LoggerOptions, ManagedFile, PackageJson, ProjectType, ReplacementOptions, ReplacementValue, Replacements, Replacer, RunOptions, Sortable, SpawnCrossOptions, SyncContext, SyncSummary, SyncTask, TOOLCHAIN_PACKAGE, ToolchainArgument, ToolchainBiomeConfig, ToolchainChangelogConfig, ToolchainCommand, ToolchainCommandContext, ToolchainConfig, ToolchainConfigSections, ToolchainHooks, ToolchainLoggerConfig, ToolchainOption, ToolchainProjectConfig, ToolchainProvider, ToolchainProviderAction, ToolchainProviderCommand, ToolchainProvidersConfig, ToolchainSection, ToolchainTemplateKind, ToolchainTemplateSource, ToolchainTemplateSourceType, ToolchainTemplatesConfig, ToolchainTsconfigConfig, ToolchainViteConfig, ToolchainWatchConfig, WorkflowConfig, WorkflowSetting, WorkflowStep, WorkflowStepsConfig, type YamlValue, applyReplacements, applyReplacementsDeep, asString, biomeConfigSchema, camelCase, camelCaseId, capitalize, changelogConfigSchema, changelogVersioningConfigSchema, changelogVersioningSchema, changelogVersioningTargetSchema, changelogWorkflowsConfigSchema, configureLogger, constantCase, createLogger, createReplacer, dbxConfigSchema, deepMerge, defineConfig, defineReplacements, ensureLeadingSlash, ensureSlashes, ensureTrailingSlash, extractTokens, findOwnCliEntry, formatCliFlag, getLogOverrides, getLogger, hasText, hasUnresolvedTokens, indent, isLocalhost, isLogLevel, isPlainObject, kebabCase, killProcessTree, localToolchainVersion, logger, loggerConfigSchema, mapValues, mergeJsonAt, normalizeLogLevel, pascalCase, projectConfigSchema, projectTypeSchema, providerActions, providersConfigSchema, readJsonAt, readJsonFile, removeDoubleSlashes, removeLeadingSlash, removeTrailingSlash, repoSlugFromUrl, resolveSort, resolveTokens, run, sanitizeSlashes, sanitizeText, sectionConfig, sectionEnabled, setLogConfig, setLogOverrides, snakeCase, sort, spawnCross, str, stripAnsi, stripControlChars, stripEscapeArtifacts, templateKindSchema, templateSourceSchema, templateSourceTypeSchema, templatesConfigSchema, titleCase, toJson, toYaml, tokenPattern, toolchainConfigSchema, tsconfigConfigSchema, viteConfigSchema, watchConfigSchema, workflowConfigSchema, workflowSettingSchema, workflowStepSchema, workflowStepsConfigSchema, writeJsonFile };
|
package/dist/shared.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./packages/shared/src/bin.js";import{deepMerge as r,isPlainObject as i,mapValues as a,resolveSort as o,sort as s}from"./packages/shared/src/object-utils.js";import{mergeJsonAt as c,readJsonAt as l,readJsonFile as u,toJson as d,writeJsonFile as f}from"./packages/shared/src/fs-utils.js";import{LOG_LEVELS as p,configureLogger as m,createLogger as h,getLogOverrides as g,getLogger as _,isLogLevel as v,logger as y,normalizeLogLevel as b,setLogConfig as x,setLogOverrides as S,stripAnsi as C}from"./packages/shared/src/logger.js";import{providerActions as w}from"./packages/shared/src/provider.js";import{killProcessTree as T,run as E,spawnCross as D}from"./packages/shared/src/run.js";import{asString as O,camelCase as k,camelCaseId as A,capitalize as j,constantCase as M,ensureLeadingSlash as N,ensureSlashes as P,ensureTrailingSlash as F,formatCliFlag as I,hasText as L,indent as R,isLocalhost as z,kebabCase as B,pascalCase as V,removeDoubleSlashes as H,removeLeadingSlash as U,removeTrailingSlash as W,sanitizeSlashes as G,
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;import{TOOLCHAIN_PACKAGE as e,findOwnCliEntry as t,localToolchainVersion as n}from"./packages/shared/src/bin.js";import{deepMerge as r,isPlainObject as i,mapValues as a,resolveSort as o,sort as s}from"./packages/shared/src/object-utils.js";import{mergeJsonAt as c,readJsonAt as l,readJsonFile as u,toJson as d,writeJsonFile as f}from"./packages/shared/src/fs-utils.js";import{LOG_LEVELS as p,configureLogger as m,createLogger as h,getLogOverrides as g,getLogger as _,isLogLevel as v,logger as y,normalizeLogLevel as b,setLogConfig as x,setLogOverrides as S,stripAnsi as C}from"./packages/shared/src/logger.js";import{providerActions as w}from"./packages/shared/src/provider.js";import{killProcessTree as T,run as E,spawnCross as D}from"./packages/shared/src/run.js";import{asString as O,camelCase as k,camelCaseId as A,capitalize as j,constantCase as M,ensureLeadingSlash as N,ensureSlashes as P,ensureTrailingSlash as F,formatCliFlag as I,hasText as L,indent as R,isLocalhost as z,kebabCase as B,pascalCase as V,removeDoubleSlashes as H,removeLeadingSlash as U,removeTrailingSlash as W,sanitizeSlashes as G,sanitizeText as K,snakeCase as q,str as J,stripControlChars as Y,stripEscapeArtifacts as X,titleCase as Z}from"./packages/shared/src/string-utils.js";import{applyReplacements as Q,applyReplacementsDeep as $,createReplacer as ee,defineReplacements as te,extractTokens as ne,hasUnresolvedTokens as re,tokenPattern as ie}from"./packages/shared/src/template.js";import{CONFIG_SECTION_DESCRIPTIONS as ae,CONFIG_SECTION_SCHEMAS as oe,CONFIG_TYPE_SCHEMAS as se,biomeConfigSchema as ce,changelogConfigSchema as le,changelogVersioningConfigSchema as ue,changelogVersioningSchema as de,changelogVersioningTargetSchema as fe,changelogWorkflowsConfigSchema as pe,dbxConfigSchema as me,loggerConfigSchema as he,projectConfigSchema as ge,projectTypeSchema as _e,providersConfigSchema as ve,templateKindSchema as ye,templateSourceSchema as be,templateSourceTypeSchema as xe,templatesConfigSchema as Se,toolchainConfigSchema as Ce,tsconfigConfigSchema as we,viteConfigSchema as Te,watchConfigSchema as Ee,workflowConfigSchema as De,workflowSettingSchema as Oe,workflowStepSchema as ke,workflowStepsConfigSchema as Ae}from"./packages/shared/src/config-schema.js";import{CONFIG_FILE_NAMES as je,defineConfig as Me,repoSlugFromUrl as Ne,resolveTokens as Pe,sectionConfig as Fe,sectionEnabled as Ie}from"./packages/shared/src/toolchain.js";import{toYaml as Le}from"./packages/shared/src/yaml.js";import"./packages/shared/src/index.js";export{je as CONFIG_FILE_NAMES,ae as CONFIG_SECTION_DESCRIPTIONS,oe as CONFIG_SECTION_SCHEMAS,se as CONFIG_TYPE_SCHEMAS,p as LOG_LEVELS,e as TOOLCHAIN_PACKAGE,Q as applyReplacements,$ as applyReplacementsDeep,O as asString,ce as biomeConfigSchema,k as camelCase,A as camelCaseId,j as capitalize,le as changelogConfigSchema,ue as changelogVersioningConfigSchema,de as changelogVersioningSchema,fe as changelogVersioningTargetSchema,pe as changelogWorkflowsConfigSchema,m as configureLogger,M as constantCase,h as createLogger,ee as createReplacer,me as dbxConfigSchema,r as deepMerge,Me as defineConfig,te as defineReplacements,N as ensureLeadingSlash,P as ensureSlashes,F as ensureTrailingSlash,ne as extractTokens,t as findOwnCliEntry,I as formatCliFlag,g as getLogOverrides,_ as getLogger,L as hasText,re as hasUnresolvedTokens,R as indent,z as isLocalhost,v as isLogLevel,i as isPlainObject,B as kebabCase,T as killProcessTree,n as localToolchainVersion,y as logger,he as loggerConfigSchema,a as mapValues,c as mergeJsonAt,b as normalizeLogLevel,V as pascalCase,ge as projectConfigSchema,_e as projectTypeSchema,w as providerActions,ve as providersConfigSchema,l as readJsonAt,u as readJsonFile,H as removeDoubleSlashes,U as removeLeadingSlash,W as removeTrailingSlash,Ne as repoSlugFromUrl,o as resolveSort,Pe as resolveTokens,E as run,G as sanitizeSlashes,K as sanitizeText,Fe as sectionConfig,Ie as sectionEnabled,x as setLogConfig,S as setLogOverrides,q as snakeCase,s as sort,D as spawnCross,J as str,C as stripAnsi,Y as stripControlChars,X as stripEscapeArtifacts,ye as templateKindSchema,be as templateSourceSchema,xe as templateSourceTypeSchema,Se as templatesConfigSchema,Z as titleCase,d as toJson,Le as toYaml,ie as tokenPattern,Ce as toolchainConfigSchema,we as tsconfigConfigSchema,Te as viteConfigSchema,Ee as watchConfigSchema,De as workflowConfigSchema,Oe as workflowSettingSchema,ke as workflowStepSchema,Ae as workflowStepsConfigSchema,f as writeJsonFile};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deltabox/toolchain",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "All-in-one toolchain: scaffold projects, manage templates, configs, tsconfigs, changelogs and builds.",
|
|
5
5
|
"homepage": "https://toolchain.deltabox.studio",
|
|
6
6
|
"author": "Victor Sango <victor@deltabox.studio>",
|
|
@@ -76,17 +76,17 @@
|
|
|
76
76
|
"devDependencies": {
|
|
77
77
|
"@commitlint/cli": "^21.2.2",
|
|
78
78
|
"@commitlint/config-conventional": "^21.2.2",
|
|
79
|
-
"@deltabox/toolchain-biome": "1.
|
|
80
|
-
"@deltabox/toolchain-changelog": "1.
|
|
81
|
-
"@deltabox/toolchain-config": "1.
|
|
82
|
-
"@deltabox/toolchain-core": "1.
|
|
83
|
-
"@deltabox/toolchain-migrate": "1.
|
|
84
|
-
"@deltabox/toolchain-project": "1.
|
|
85
|
-
"@deltabox/toolchain-shared": "1.
|
|
86
|
-
"@deltabox/toolchain-template": "1.
|
|
87
|
-
"@deltabox/toolchain-tsconfig": "1.
|
|
88
|
-
"@deltabox/toolchain-tsdown": "1.
|
|
89
|
-
"@deltabox/toolchain-vite": "1.
|
|
79
|
+
"@deltabox/toolchain-biome": "1.7.0",
|
|
80
|
+
"@deltabox/toolchain-changelog": "1.7.0",
|
|
81
|
+
"@deltabox/toolchain-config": "1.7.0",
|
|
82
|
+
"@deltabox/toolchain-core": "1.7.0",
|
|
83
|
+
"@deltabox/toolchain-migrate": "1.7.0",
|
|
84
|
+
"@deltabox/toolchain-project": "1.7.0",
|
|
85
|
+
"@deltabox/toolchain-shared": "1.7.0",
|
|
86
|
+
"@deltabox/toolchain-template": "1.7.0",
|
|
87
|
+
"@deltabox/toolchain-tsconfig": "1.7.0",
|
|
88
|
+
"@deltabox/toolchain-tsdown": "1.7.0",
|
|
89
|
+
"@deltabox/toolchain-vite": "1.7.0",
|
|
90
90
|
"@types/node": "^22.10.2",
|
|
91
91
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
92
92
|
"cross-env": "^10.1.0",
|