Repository navigation
Releases: deltabox-studio/toolchain
Releases · deltabox-studio/toolchain
Release list
v1.3.1
v1.3.0
New features
Core
- Keep the generated .dbx directory out of git (#9fc1434 by T0chi)
- dbx sync now appends the .dbx ignore block (everything under .dbx/ except the
manifest, which holds no absolute paths) to an existing .gitignore, and the
installation guide documents the pattern and the automatic step.
- dbx sync now appends the .dbx ignore block (everything under .dbx/ except the
Cli
- Route CLI output through the logger, add a providers colour option (#ce76a4d by T0chi)
- Commander's help and errors now go through the shared logger (help to stdout,
errors to stderr, colour-aware, ANSI stripped when colour is off). Vite+
passthrough commands keep commander's defaults so the spawned vp keeps its own
coloured logging. - Add a providers config section (color?: boolean): color: false forces plain
provider output, the global --no-color still turns it off, and runVp sets
NO_COLOR / FORCE_COLOR on the child when colour is disabled.
- Commander's help and errors now go through the shared logger (help to stdout,
- Check for a newer dbx version (#772aae2 by T0chi)
- On each run, check the npm registry in the background (cached for a day, never
blocking) and print a short notice with a link to the release when a newer
@deltabox/toolchain exists. Skipped in CI and by NO_UPDATE_NOTIFIER or
DBX_NO_UPDATE_CHECK, and can be turned off with the new --no-update-check flag.
- On each run, check the npm registry in the background (cached for a day, never
- Default a bare Vite+ command to the
vitepassthrough (#75770e4 by T0chi)dbx fmt/dbx lint/dbx run/dbx devnow work: when the first operand
is not a built-in command but names a Vite+ subcommand (or one of its aliases),
viteis inserted before it and the whole Vite+ CLI stays reachable without the
explicit namespace. Built-in commands win, sodbx migrateremains the
toolchain's migration (dbx vite migrateis Vite+'s).- The Package scripts, Migrations, Monorepo, CLI and Providers guides now show the
bare form, and the consumers' root scripts were updated to match.
Vscode
- Bundle the dbx CLI into the extension (#bf12403 by T0chi)
- Ship a self-contained dbx.cjs inside the VSIX (built by the new
tsdown.bin.config.ts) and prefer it in the extension, so a consumer no longer
needs to install @deltabox/toolchain. It falls back to a workspace-local
install and then npx. - Make the changelog and tsconfig direct-run guards basename-aware so they do not
fire when the module is inlined into the single-file bundle.
- Ship a self-contained dbx.cjs inside the VSIX (built by the new
Shared
- Add a configurable shared logger (#54b51fa by T0chi)
- Add packages/shared/src/logger.ts: one level-aware, colour-aware sink (colours
via picocolors, the same package Vite uses) with debug, info, success, warn,
error and raw (unprefixed machine output). It is configurable from dbx.config's
new logger section and from the CLI (--log-level, --no-color), with the CLI
taking precedence. - Every console call in the toolchain now goes through the logger (JSON output
through raw), including the sync/watch log callback and the run helper's
verbose line. The generated config types, the JSON schema, the docs reference
and the Configuration/CLI guides document the new logger section.
- Add packages/shared/src/logger.ts: one level-aware, colour-aware sink (colours
Bug fixes
- Correct tsconfig aliases under --cwd, prune self-referential task runs (#40e0c34 by T0chi)
- Two bugs found by exercising the CLI against the local consumer projects:
- instead of process.cwd(), so
dbx sync --cwd <dir>(run from elsewhere)
writes correct relative paths rather than paths pointing at the caller.
spawning the task runner, and prunes itself when the same command runs again
from the same root. A root task whose script callsrun -r <task>can no
longer recurse.
- Changelog links, oxfmt map, build idempotency, watch timer, vscode spawn (#2389c98 by T0chi)
- render commits as a plain short hash instead of a github.com/undefined link
yarn buildno longer rewrites it and the working tree stays idempotent
spawnCli and cliInvocation
- render commits as a plain short hash instead of a github.com/undefined link
- Sync --check writes, quiet level, log flags and template tokens (#7f5690f by T0chi)
- Audit pass over the toolchain source:
- actually generated by dbx sync
Documentation
- Document the full public API surface (#6f78245 by T0chi)
- Expand guide/api.md to cover the umbrella plus every subpath export, grouped by
package. Add the logging API (logger, createLogger, setLogConfig,
setLogOverrides, levels, colours, raw) to the API and Configuration guides, and
document the config generator's formatGenerated helper and the Vite and CLI
programmatic helpers.
- Expand guide/api.md to cover the umbrella plus every subpath export, grouped by
Chores
- Track only the .dbx manifest (#a254062 by T0chi)
- 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.
- Stop tracking the generated .dbx directory (#b7c53f0 by T0chi)
- The managed-file manifest and project graph under .dbx/ are generated state, so ignore them and untrack the two committed files.
Package changes
Added
picocolors^1.1.1
v1.2.3
v1.2.1
Documentation
- Show how to load the generated config (#0f4d0d1 by T0chi)
- Add a "Load the config at runtime" section to the config generator guide
(parseEnvTree, the typed accessors,applyOverrides, and schema validation via
compileZodSchema) plus a short loading example in the README.
- Add a "Load the config at runtime" section to the config generator guide
- Update description and tags (#64b64aa by T0chi)
v1.2.0
New features
Config
- Generate the shared config types via the config generator (#a063a2d by T0chi)
- Teach the config engine's Zod->untyped bridge and types generator to handle
unions (anyOf/oneOf),const, and unknown records, and to render a schema's
fields on the main interface when it has nobasegroup (plus type aliases for
non-object roots). Named$refs (via.meta({ id })) render as the type name,
so the generated config types reference each other instead of inlining. - Generate
packages/shared/src/config-types.tsfrom the Zod config model with the
engine'srenderConfigTypes(yarn config:types);config-schema.tskeeps only
the schemas and the types are exported fromconfig-types.ts.
- Teach the config engine's Zod->untyped bridge and types generator to handle
Bug fixes
Vscode
- Group managed files by project and reorder the views (#f5b49d9 by T0chi)
- The Managed Files view read a manifest per project, so a monorepo's root-level
managed files never showed. Read each workspace root's manifest and group its
files by the deepest project that owns them. Move the Projects view above
Managed Files (renamed from Files).
- The Managed Files view read a manifest per project, so a monorepo's root-level
Documentation
v1.1.22
Bug fixes
Ci
- Skip the Marketplace publish when VSCE_PAT is unset (#fe4b3ad by T0chi)
- The VS Code Marketplace publish was the only failing release step (no
VSCE_PAT set). Make it a no-op while the secret is unset and publish
automatically once it is added to thetoolchain / releaseenvironment. - Also remove the temporary OIDC diagnostic step now that the release publishes.
- The VS Code Marketplace publish was the only failing release step (no
v1.1.21
Bug fixes
Ci
- Publish to npm directly, falling back to a staged publish (#85cffe7 by T0chi)
- Try
npm publishfirst and fall back tonpm stage publishon failure, so
toggling the trusted publisher's publish/stage permissions on npm never breaks
the release: a direct publish succeeds when allowed, and a staged publish (always
permitted) is used otherwise.
- Try