@deltabox/toolchain 2.3.2 → 2.3.4
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 +22 -4
- package/dist/package.js +1 -1
- package/dist/packages/changelog/src/workflows.js +1 -1
- package/package.json +12 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,35 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 2.3.
|
|
3
|
+
## 2.3.4 (November 2026)
|
|
4
4
|
|
|
5
5
|
<!-- release:start -->
|
|
6
6
|
|
|
7
7
|
### Bug fixes
|
|
8
|
-
####
|
|
9
|
-
-
|
|
10
|
-
- The
|
|
8
|
+
#### Ci
|
|
9
|
+
- Cache the VS Code integration test download ([#4941b90](https://github.com/deltabox-studio/toolchain/commit/4941b90) by [T0chi](https://github.com/T0chi))
|
|
10
|
+
- The integration job downloaded the ~361 MB VS Code stable build on every run. Resolve the exact stable version, cache only that version's unpacked directory, and key the cache by it so a new stable release is downloaded and saved under a fresh key.
|
|
11
11
|
|
|
12
12
|
<!-- release:end -->
|
|
13
13
|
|
|
14
14
|
|
|
15
|
+
## 2.3.3 (November 2026)
|
|
16
|
+
|
|
17
|
+
### Bug fixes
|
|
18
|
+
#### Ci
|
|
19
|
+
- Disable setup-node auto-cache so Corepack can enable Yarn ([#571f896](https://github.com/deltabox-studio/toolchain/commit/571f896) by [T0chi](https://github.com/T0chi))
|
|
20
|
+
- actions/setup-node@v5 now auto-caches from the packageManager field and runs \yarn cache dir\ before the Enable Corepack step, so every job failed with the global Yarn 1.22.22 error. Set package-manager-cache: false on every setup-node step; Corepack still enables the pinned Yarn/pnpm before install.
|
|
21
|
+
### Chores
|
|
22
|
+
#### Ci
|
|
23
|
+
- Bump checkout and setup-node actions to v5 ([#485f29d](https://github.com/deltabox-studio/toolchain/commit/485f29d) by [T0chi](https://github.com/T0chi))
|
|
24
|
+
- The runner warns that actions/checkout@v4 and actions/setup-node@v4 target Node 20 and are forced onto Node 24. Bump the generated workflows (and the dogfood config) to v5.
|
|
25
|
+
|
|
26
|
+
## 2.3.2 (November 2026)
|
|
27
|
+
|
|
28
|
+
### Bug fixes
|
|
29
|
+
#### Vscode
|
|
30
|
+
- Load the tsdown base config from source ([#0537c62](https://github.com/deltabox-studio/toolchain/commit/0537c62) by [T0chi](https://github.com/T0chi))
|
|
31
|
+
- The VS Code integration job builds the extension after only \yarn install\, so the private \@deltabox/toolchain-tsdown\ dist does not exist and unrun failed to load the config. Import baseTsdownConfig\ from the workspace source instead (as the root tsdown config already does).
|
|
32
|
+
|
|
15
33
|
## 2.3.1 (November 2026)
|
|
16
34
|
|
|
17
35
|
### Bug fixes
|
package/dist/package.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;var e=`2.3.
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;var e=`2.3.4`;export{e as version};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"node:path";import"node:url";import.meta.url;import{applyReplacementsDeep as e}from"../../shared/src/template.js";import{isVendorWorkflowConfig as t}from"../../shared/src/config-schema/workflow.js";import{DEFAULT_PACKAGE_MANAGER_VERSIONS as n}from"../../shared/src/toolchain.js";import{toYaml as r}from"../../shared/src/yaml.js";import"../../shared/src/index.js";const i={nodeVersion:`22`,yarnVersion:`4.17.1`,packageManager:`yarn`,mainBranch:`main`,devBranch:`main`,tooling:`dbx`,commitlintConfig:`commitlint.config.mjs`},a={ci:`ci.yml`,changelog:`changelog.yml`,release:`release.yml`,sync:`sync.yml`,issues:`issues.yml`},o=`.github/workflows`,s=t;function c(e,t=o){let n=(e??t).replace(/\\/g,`/`).replace(/^\.?\//,``).replace(/\/+$/,``);if(/^[a-zA-Z]:/.test(n)||n.split(`/`).includes(`..`))throw Error(`invalid workflow directory "${e}" (must stay inside the project).`);return n}function l(e,t){let n=(e??t).trim();if(!n||/[\\/]/.test(n)||n===`.`||n===`..`)throw Error(`invalid workflow filename "${e}" (expected a file name).`);return n}function u(e,t,n){switch(e){case`gitlab`:return{dir:``,filename:`.gitlab-ci.yml`};case`azure`:return{dir:``,filename:`azure-pipelines.yml`};default:return{dir:o,filename:n??`${t}.yml`}}}function d(e,t,n=`${e}.yml`){let r=t&&typeof t==`object`?t:void 0,i=u(s(r)?r.provider:`github`,e,n),a=c(r?.dir,i.dir),o=l(r?.filename,i.filename);return a?`${a}/${o}`:o}function f(e){return e===void 0?!1:typeof e==`boolean`?e:typeof e==`string`?e.trim().length>0:e.enabled!==!1}function p(e){let t=String(e.packageManager??`yarn`);return String(e.packageManagerVersion??e.yarnVersion??n[t]??`4.17.1`)}function m(e){let t=e.config?.tokens??{},n={...i,...e.tokens,...t},r=t.packageManager;return r!==void 0&&r!==e.tokens.packageManager&&t.packageManagerVersion===void 0&&t.yarnVersion===void 0&&(delete n.packageManagerVersion,delete n.yarnVersion),t.packageManagerVersion===void 0&&t.yarnVersion!==void 0&&(n.packageManagerVersion=t.yarnVersion),n}function h(e,t){let n=t??String(e.tooling??`dbx`);switch(String(e.packageManager??`yarn`)){case`pnpm`:return`pnpm exec ${n}`;case`npm`:return`npx ${n}`;case`bun`:return`bunx ${n}`;default:return`${e.packageManager??`yarn`} ${n}`}}function g(e){let t=String(e.packageManager??`yarn`),n=p(e),r=[{name:`Checkout`,uses:`actions/checkout@
|
|
1
|
+
import"node:path";import"node:url";import.meta.url;import{applyReplacementsDeep as e}from"../../shared/src/template.js";import{isVendorWorkflowConfig as t}from"../../shared/src/config-schema/workflow.js";import{DEFAULT_PACKAGE_MANAGER_VERSIONS as n}from"../../shared/src/toolchain.js";import{toYaml as r}from"../../shared/src/yaml.js";import"../../shared/src/index.js";const i={nodeVersion:`22`,yarnVersion:`4.17.1`,packageManager:`yarn`,mainBranch:`main`,devBranch:`main`,tooling:`dbx`,commitlintConfig:`commitlint.config.mjs`},a={ci:`ci.yml`,changelog:`changelog.yml`,release:`release.yml`,sync:`sync.yml`,issues:`issues.yml`},o=`.github/workflows`,s=t;function c(e,t=o){let n=(e??t).replace(/\\/g,`/`).replace(/^\.?\//,``).replace(/\/+$/,``);if(/^[a-zA-Z]:/.test(n)||n.split(`/`).includes(`..`))throw Error(`invalid workflow directory "${e}" (must stay inside the project).`);return n}function l(e,t){let n=(e??t).trim();if(!n||/[\\/]/.test(n)||n===`.`||n===`..`)throw Error(`invalid workflow filename "${e}" (expected a file name).`);return n}function u(e,t,n){switch(e){case`gitlab`:return{dir:``,filename:`.gitlab-ci.yml`};case`azure`:return{dir:``,filename:`azure-pipelines.yml`};default:return{dir:o,filename:n??`${t}.yml`}}}function d(e,t,n=`${e}.yml`){let r=t&&typeof t==`object`?t:void 0,i=u(s(r)?r.provider:`github`,e,n),a=c(r?.dir,i.dir),o=l(r?.filename,i.filename);return a?`${a}/${o}`:o}function f(e){return e===void 0?!1:typeof e==`boolean`?e:typeof e==`string`?e.trim().length>0:e.enabled!==!1}function p(e){let t=String(e.packageManager??`yarn`);return String(e.packageManagerVersion??e.yarnVersion??n[t]??`4.17.1`)}function m(e){let t=e.config?.tokens??{},n={...i,...e.tokens,...t},r=t.packageManager;return r!==void 0&&r!==e.tokens.packageManager&&t.packageManagerVersion===void 0&&t.yarnVersion===void 0&&(delete n.packageManagerVersion,delete n.yarnVersion),t.packageManagerVersion===void 0&&t.yarnVersion!==void 0&&(n.packageManagerVersion=t.yarnVersion),n}function h(e,t){let n=t??String(e.tooling??`dbx`);switch(String(e.packageManager??`yarn`)){case`pnpm`:return`pnpm exec ${n}`;case`npm`:return`npx ${n}`;case`bun`:return`bunx ${n}`;default:return`${e.packageManager??`yarn`} ${n}`}}function g(e){let t=String(e.packageManager??`yarn`),n=p(e),r=[{name:`Checkout`,uses:`actions/checkout@v5`,with:{"fetch-depth":0,token:"${{ secrets.GITHUB_TOKEN }}"}},{name:`Setup Node`,uses:`actions/setup-node@v5`,with:{"node-version":String(e.nodeVersion),"package-manager-cache":!1}}];return t===`bun`?[...r,{name:`Setup Bun`,uses:`oven-sh/setup-bun@v2`,with:{"bun-version":n}},{name:`Install dependencies`,run:`bun install --frozen-lockfile`}]:t===`npm`?[...r,{name:`Install dependencies`,run:`npm install -g npm@${n}\nnpm ci`}]:[...r,{name:`Enable Corepack`,run:`corepack enable\ncorepack prepare ${t}@${n} --activate`},{name:`Install dependencies`,run:t===`pnpm`?`pnpm install --frozen-lockfile`:`yarn install --immutable`}]}function _(e,t={}){let n=h(e),r=String(e.mainBranch),i=String(e.devBranch),a=t.commitlint!==!1;return{ci:{name:`CI`,on:{push:{branches:[r]},pull_request:{branches:[`release/**`,`feat/**`,`feature/**`,`fix/**`,`chore/**`]}},jobs:{ci:{"runs-on":`ubuntu-latest`,steps:[...g(e),...a?[{name:`Commitlint (Conventional Commits)`,if:"${{ github.event_name == 'pull_request' || github.event.before != '0000000000000000000000000000000000000000' }}",run:`set -euo pipefail\nbase="\${{ github.event.pull_request.base.sha || github.event.before }}"\nhead="\${{ github.event.pull_request.head.sha || github.event.after }}"\n${h(e,`commitlint`)} --from "$base" --to "$head" --config "${e.commitlintConfig}"`}]:[],{name:`Verify generated files are in sync`,run:`${n} sync --check --recursive`},{name:`Build`,run:`${e.packageManager} build`}]}}},changelog:{name:`Changelog (dev)`,on:{push:{branches:[i]}},permissions:{contents:`write`},concurrency:{group:`changelog-dev`,"cancel-in-progress":!1},jobs:{"generate-changelog":{"runs-on":`ubuntu-latest`,if:`!startsWith(github.event.head_commit.message, 'chore: version packages ') && !startsWith(github.event.head_commit.message, 'release: ')`,env:{GITHUB_TOKEN:"${{ secrets.GITHUB_TOKEN }}"},steps:[...g(e),{name:`Generate changelog + bump versions`,env:{GITHUB_TOKEN:"${{ secrets.GITHUB_TOKEN }}"},run:[`set -euo pipefail`,'after="${{ github.event.after }}"; [ -n "$after" ] || after="HEAD"',`boundary="$(git log --format=%H --grep='^chore: version packages ' -1 || true)"`,`if [ -n "$boundary" ]; then range="$boundary..$after"; else range="$after"; fi`,`${n} changelog --range "$range"`].join(`
|
|
2
2
|
`)},{name:`Commit + push changelog updates`,env:{GITHUB_TOKEN:"${{ secrets.GITHUB_TOKEN }}"},run:[`set -euo pipefail`,`git diff --quiet && { echo "No changelog changes."; exit 0; }`,`git config user.name "github-actions[bot]"`,`git config user.email "41898282+github-actions[bot]@users.noreply.github.com"`,`git add -- "*package.json" "*CHANGELOG.md"`,`git commit -m "chore: version packages ($(node -p "require('./package.json').version"))"`,`git push origin ${i}`].join(`
|
|
3
3
|
`)}]}}},release:{name:`Release`,on:{push:{branches:[r]},workflow_dispatch:null},permissions:{contents:`write`,"pull-requests":`write`},concurrency:{group:`release`,"cancel-in-progress":!1},jobs:{"create-release-pr":{"runs-on":`ubuntu-latest`,if:`(github.event_name == 'push' || github.event_name == 'workflow_dispatch') && !startsWith(github.event.head_commit.message, 'chore: version packages ') && !startsWith(github.event.head_commit.message, 'release: ')`,env:{GITHUB_TOKEN:"${{ secrets.GITHUB_TOKEN }}"},steps:[...g(e),{name:`Open release PR`,env:{GITHUB_TOKEN:"${{ secrets.GITHUB_TOKEN }}"},run:[`set -euo pipefail`,`version="$(node -p "require('./package.json').version")"`,`branch="release/$version"`,`if git ls-remote --exit-code --heads origin "$branch" >/dev/null 2>&1; then`,` echo "Release PR already open for $version."; exit 0`,`fi`,`git config user.name "github-actions[bot]"`,`git config user.email "41898282+github-actions[bot]@users.noreply.github.com"`,`git checkout -b "$branch"`,`git add -A`,`git commit -m "chore: version packages ($version)" || true`,`git push origin "$branch"`,`notes="$(${n} changelog --release-notes "$version")"`,`[ -n "$notes" ] || notes="Release $version"`,`gh pr create --base ${r} --head "$branch" --title "release: $version" --body "$notes"`].join(`
|
|
4
4
|
`)}]}}},sync:{name:`Toolchain sync`,on:{push:{branches:[.../* @__PURE__ */ new Set([r,i])]},pull_request:null},jobs:{sync:{"runs-on":`ubuntu-latest`,steps:[...g(e),{name:`Verify generated files are in sync`,run:`${n} sync --check --recursive`}]}}},issues:{name:`Issues`,on:{issues:{types:[`opened`]}},permissions:{issues:`write`},jobs:{"enforce-title":{"runs-on":`ubuntu-latest`,steps:[{name:`Check and rename issue title`,env:{GH_TOKEN:"${{ github.token }}",ISSUE_NUMBER:"${{ github.event.issue.number }}"},run:[`set -euo pipefail`,`labels=$(gh issue view "$ISSUE_NUMBER" --json labels -q '.labels[].name' || true)`,`title=$(gh issue view "$ISSUE_NUMBER" --json title -q '.title')`,`type=""`,`for label in $labels; do case "$label" in *bug*) type="bug" ;; esac; done`,`if [ -z "$type" ]; then for label in $labels; do case "$label" in *enhancement*|*feature*|*feat*) type="feat" ;; esac; done; fi`,`if [ -z "$type" ]; then echo "No bug/enhancement label on issue #$ISSUE_NUMBER; skipping."; exit 0; fi`,`prefix="[bug]"; [ "$type" = "feat" ] && prefix="[feat]"`,`stripped=$(printf '%s' "$title" | sed -E 's/^\\[(bug|feat)\\] *//i')`,`new_title="$prefix $stripped"`,`if [ "$new_title" = "$title" ]; then echo "Issue #$ISSUE_NUMBER title already conforms."; exit 0; fi`,`gh issue edit "$ISSUE_NUMBER" --title "$new_title"`].join(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deltabox/toolchain",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.4",
|
|
4
4
|
"description": "All-in-one development toolchain that let's you scaffold projects, generate and manage configs, tsconfigs, custom templates, syncing, changelogs, CI, Vite+, migrations, and more.",
|
|
5
5
|
"homepage": "https://toolchain.deltabox.studio",
|
|
6
6
|
"author": "Victor Sango <victor@deltabox.studio>",
|
|
@@ -84,17 +84,17 @@
|
|
|
84
84
|
"@commitlint/cli": "^21.2.2",
|
|
85
85
|
"@commitlint/config-conventional": "^21.2.2",
|
|
86
86
|
"@deltabox/toolchain": "portal:.",
|
|
87
|
-
"@deltabox/toolchain-biome": "2.3.
|
|
88
|
-
"@deltabox/toolchain-changelog": "2.3.
|
|
89
|
-
"@deltabox/toolchain-config": "2.3.
|
|
90
|
-
"@deltabox/toolchain-core": "2.3.
|
|
91
|
-
"@deltabox/toolchain-migrate": "2.3.
|
|
92
|
-
"@deltabox/toolchain-project": "2.3.
|
|
93
|
-
"@deltabox/toolchain-shared": "2.3.
|
|
94
|
-
"@deltabox/toolchain-template": "2.3.
|
|
95
|
-
"@deltabox/toolchain-tsconfig": "2.3.
|
|
96
|
-
"@deltabox/toolchain-tsdown": "2.3.
|
|
97
|
-
"@deltabox/toolchain-vite": "2.3.
|
|
87
|
+
"@deltabox/toolchain-biome": "2.3.4",
|
|
88
|
+
"@deltabox/toolchain-changelog": "2.3.4",
|
|
89
|
+
"@deltabox/toolchain-config": "2.3.4",
|
|
90
|
+
"@deltabox/toolchain-core": "2.3.4",
|
|
91
|
+
"@deltabox/toolchain-migrate": "2.3.4",
|
|
92
|
+
"@deltabox/toolchain-project": "2.3.4",
|
|
93
|
+
"@deltabox/toolchain-shared": "2.3.4",
|
|
94
|
+
"@deltabox/toolchain-template": "2.3.4",
|
|
95
|
+
"@deltabox/toolchain-tsconfig": "2.3.4",
|
|
96
|
+
"@deltabox/toolchain-tsdown": "2.3.4",
|
|
97
|
+
"@deltabox/toolchain-vite": "2.3.4",
|
|
98
98
|
"@types/node": "^22.10.2",
|
|
99
99
|
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
100
100
|
"cross-env": "^10.1.0",
|