You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
build: standardize workspace tooling, CI, tests and release flow
- pin toolchain in .prototools (pnpm 11, node 24, npm 11) and typescript 6.0.3
- add Vitest scaffold (config + spec tsconfig + smoke test) and test scripts
- add composite .github/actions/setup, 3-job CI and a GitHub Pages deploy;
switch the publish workflow to the composite action
- add a github-pages build configuration to the demo app
- exempt @angular/* from the release-age cooldown; set verifyDepsBeforeRun false
- single-source the library README from the root README at build time
- add a shared .claude/settings.json and gitignore settings.local.json
- add .vscode/extensions.json; add release script; set engines node >=24
- drop stale biome-ignore comments and rename the workspace to the singular name
-`pnpm serve` - Serve the demo app with hot reload
38
+
-`pnpm test` - Run unit tests (Vitest)
39
+
-`pnpm test:watch` - Run unit tests in watch mode
38
40
-`pnpm check` - Run oxlint and oxfmt checks on entire codebase
39
41
-`pnpm format` - Run oxlint --fix and oxfmt to auto-fix
40
42
@@ -97,20 +99,20 @@ Before creating a release:
97
99
98
100
### 3. Publishing
99
101
100
-
The package uses a one-step release process:
102
+
Releasing is a two-stage flow:
101
103
102
104
```bash
103
105
pnpm release
104
106
```
105
107
108
+
`pnpm release` runs release-it: it runs `pnpm check`, bumps the version in both `projects/angular-extended-builder/package.json` and the root `package.json` (via @release-it/bumper), commits `build: release v<version>`, and tags `v<version>` on `main`. It does **not** publish. Pushing the `v*` tag triggers the GitHub Actions `publish.yml` workflow, which builds the package and runs `npm publish` from the package root via npm OIDC trusted publishing.
109
+
106
110
### 4. Post-release
107
111
108
112
After publishing:
109
113
110
-
1.**Tag the release** in git with version number
111
-
2.**Create GitHub release** with changelog
112
-
3.**Update documentation** if API changes were made
113
-
4.**Test installation** in a fresh Angular project
114
+
1.**Update documentation** if API changes were made
115
+
2.**Test installation** in a fresh Angular project
114
116
115
117
### 5. Release Notes
116
118
@@ -182,8 +184,8 @@ To use this builder in an Angular project:
182
184
183
185
This project uses [Proto](https://moonrepo.dev/proto) (.prototools) to manage binary versions:
184
186
185
-
-**Node.js**: ^24.15.0 (managed by Proto)
186
-
-**pnpm**: ^10.20.0 (managed by Proto)
187
+
-**Node.js**: ^24.18.0 (managed by Proto)
188
+
-**pnpm**: ^11.9.0 (managed by Proto)
187
189
188
190
**Important**: When updating dependencies, be careful not to accidentally update `@types/node` to versions incompatible with the Node.js version specified in .prototools. The upgrade scripts should respect the Node.js version constraint.
0 commit comments