Commit 5ee3313
chore: Port consistency tweaks from main (#414)
* chore: Port consistency tweaks from main
Bundle of small, mechanical changes already shipped on main that
apply cleanly to v5:
CI workflows:
- Bump Node 22 → 24 on lint, pkg-pr, package-size-report jobs
(publish was already on 24 for OIDC).
- Name previously-anonymous workflow steps for clearer logs.
- Drop quotes around `cache: pnpm` for consistency with other
workflow inputs.
- Rename zizmor-scan.yml → zizmor.yml.
publish.yml hardening:
- Quote shell variables ("$TAG_NAME", "$GITHUB_OUTPUT",
"$TARBALL") against IFS / glob expansion surprises.
- Move the `env:` block above `run:` to match the convention
on other steps.
Dep-script protection:
- Drop .npmrc (`ignore-scripts=true`). pnpm's `allowBuilds`
whitelist in pnpm-workspace.yaml already gates dependency
install scripts with finer granularity; the publish workflow
passes --ignore-scripts to `pnpm install` explicitly for the
high-stakes path. Removing the blanket flag lets husky's
`prepare` script run automatically on fresh installs.
- Update CONTRIBUTING.md to reflect the model change.
- Drop the now-obsolete `.npmrc` → `ini` files.associations
entry from .vscode/settings.json; add `typescript.tsdk` so
VS Code picks up the workspace TS version.
Lint-staged:
- Move config from package.json to .lintstagedrc.mjs.
- Add an `*.mjs` override to .oxlintrc.json so the new config
file doesn't trip nodejs-modules / unsafe-* rules.
Docs:
- Add SECURITY.md describing the support window and the
GitHub Security Advisories reporting path.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(publish): Pack tarball with --ignore-scripts
Without .npmrc's ignore-scripts=true, `npm pack` runs the
project's own `prepare` script (husky), which dumps lifecycle
output to stdout. TARBALL=$(npm pack) captures that output
alongside the tarball filename, producing a multi-line value
that breaks $GITHUB_OUTPUT's key=value\n format and fails the
build job.
pnpm's `allowBuilds` whitelist only gates *dependency* install
scripts; it doesn't suppress the project's own scripts during
`npm pack`. Adding --ignore-scripts to the pack invocation
restores clean stdout. Husky's `prepare` doesn't need to run
during CI pack — git hooks aren't relevant in the ephemeral
runner.
Same fix as #416 on main; included here so the v5 publish flow
doesn't regress when .npmrc is dropped.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore(actions): Bump upload-artifact v4 → v7 for Node 24
v4.6.2 runs on Node 20, which GitHub deprecated in their
September 2025 changelog. Workflow runs now emit a warning;
Node 20 actions will be force-upgraded to Node 24 by default
on 2026-06-02 and removed entirely on 2026-09-16.
v7.0.1 runs on Node 24 and is otherwise drop-in for our usage
(simple name + path inputs, no merging or advanced features).
Same change as on main; included here so v5 doesn't carry the
deprecation warning forward.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 6440915 commit 5ee3313
12 files changed
Lines changed: 91 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | | - | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | | - | |
28 | | - | |
| 28 | + | |
| 29 | + | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
28 | | - | |
| 27 | + | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
28 | 29 | | |
29 | | - | |
30 | | - | |
| 30 | + | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
38 | | - | |
| 39 | + | |
| 40 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | 73 | | |
75 | 74 | | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
81 | | - | |
| 80 | + | |
| 81 | + | |
82 | 82 | | |
83 | 83 | | |
84 | | - | |
| 84 | + | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
File renamed without changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | | - | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
128 | 138 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | 5 | | |
8 | 6 | | |
9 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
0 commit comments