v11y-check 0.16.0 → 0.17.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/.meta/changelog.json +29 -0
- package/.readyup/kits/default.js +3 -3
- package/.readyup/manifest.json +5 -5
- package/CHANGELOG.md +18 -0
- package/README.md +8 -5
- package/dist/esm/bin/route.js +1 -1
- package/dist/esm/cli.js +1 -1
- package/dist/esm/init/scaffold.d.ts +6 -3
- package/dist/esm/init/scaffold.js +9 -8
- package/package.json +4 -3
package/.meta/changelog.json
CHANGED
|
@@ -1,4 +1,33 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "0.17.0",
|
|
4
|
+
"date": "2026-09-15",
|
|
5
|
+
"sections": [
|
|
6
|
+
{
|
|
7
|
+
"title": "🎉 Features",
|
|
8
|
+
"audience": "all",
|
|
9
|
+
"items": [
|
|
10
|
+
{
|
|
11
|
+
"description": "Fix scaffold error handling and cover every scaffolded workflow (#806)",
|
|
12
|
+
"body": "- Adds a `create-github-release.yaml matches template` check to release-kit's ReadyUp kit, which warns when `.github/workflows/create-github-release.yaml` differs from the template for the detected repo type and skips in a repo that has not installed that workflow.\n- Stops `v11y init --force` from replacing an existing `.config/v11y-check.config.json` with the defaults, which discarded the repo's thresholds and the allowlist maintained by `v11y sync`.\n\nMigration: To reset `.config/v11y-check.config.json` to its defaults, delete the file and run `v11y init`, because `v11y init --force` now overwrites only `.github/workflows/audit.yaml`.",
|
|
13
|
+
"migration": "To reset `.config/v11y-check.config.json` to its defaults, delete the file and run `v11y init`, because `v11y init --force` now overwrites only `.github/workflows/audit.yaml`.",
|
|
14
|
+
"hash": "1e197577c6c60678b5d6522f58b3211f3b10c752"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"title": "⚙️ Tooling",
|
|
20
|
+
"audience": "dev",
|
|
21
|
+
"items": [
|
|
22
|
+
{
|
|
23
|
+
"description": "Upgrade eslint-config-typescript to v17 and adopt its ignore lists (#797)",
|
|
24
|
+
"body": "- Declares `vitest` as `catalog:` in every workspace that imports it, with the pnpm catalog pinning 4.1.11, because v17 no longer exempts `vitest` from `n/no-extraneous-import`.\n- Builds the global ignores in `eslint.config.ts` from the published `commonIgnores` and `toolIgnores`, which also exclude `pnpm-lock.yaml` and each `.readyup/manifest.json`, so the `eslint --fix` in `nmr lint` can no longer rewrite a kit manifest and make the next build's `rdy verify` fail.",
|
|
25
|
+
"hash": "b201669444763ad5bef85730b114098ef352e09b"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
2
31
|
{
|
|
3
32
|
"version": "0.16.0",
|
|
4
33
|
"date": "2026-09-08",
|
package/.readyup/kits/default.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @noformat -- @generated. Do not edit. Compiled by rdy. */
|
|
2
2
|
/* eslint-disable */
|
|
3
|
-
export const __readyupVersion = "0.
|
|
3
|
+
export const __readyupVersion = "0.36.0";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
// .readyup/kits/default.ts
|
|
@@ -54,7 +54,7 @@ var default_default = defineRdyKit({
|
|
|
54
54
|
name: "audit.yaml matches template",
|
|
55
55
|
severity: "warn",
|
|
56
56
|
check: () => fileMatchesHash(".github/workflows/audit.yaml", AUDIT_WORKFLOW_HASH),
|
|
57
|
-
fix: "
|
|
57
|
+
fix: "Run `v11y init --force` to regenerate audit.yaml from the current template"
|
|
58
58
|
}
|
|
59
59
|
]
|
|
60
60
|
}
|
|
@@ -63,7 +63,7 @@ var default_default = defineRdyKit({
|
|
|
63
63
|
]
|
|
64
64
|
});
|
|
65
65
|
function getMinVersion() {
|
|
66
|
-
const picked = { "version": "0.
|
|
66
|
+
const picked = { "version": "0.17.0" };
|
|
67
67
|
if (typeof picked["version"] !== "string") {
|
|
68
68
|
throw new TypeError("v11y-check/package.json: 'version' must be a string");
|
|
69
69
|
}
|
package/.readyup/manifest.json
CHANGED
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
"esbuildVersion": "0.28.2",
|
|
9
9
|
"inputs": [
|
|
10
10
|
{
|
|
11
|
-
"hash": "
|
|
11
|
+
"hash": "5600fe16",
|
|
12
12
|
"kind": "module",
|
|
13
13
|
"path": "kits/default.ts"
|
|
14
14
|
},
|
|
15
15
|
{
|
|
16
|
-
"hash": "
|
|
16
|
+
"hash": "7316a587",
|
|
17
17
|
"kind": "inline",
|
|
18
18
|
"path": "../package.json",
|
|
19
19
|
"paths": [
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
],
|
|
24
24
|
"name": "default",
|
|
25
25
|
"path": "kits/default.js",
|
|
26
|
-
"readyupVersion": "0.
|
|
26
|
+
"readyupVersion": "0.36.0",
|
|
27
27
|
"source": "kits/default.ts",
|
|
28
|
-
"sourceHash": "
|
|
29
|
-
"targetHash": "
|
|
28
|
+
"sourceHash": "5600fe16",
|
|
29
|
+
"targetHash": "37393c2b"
|
|
30
30
|
}
|
|
31
31
|
]
|
|
32
32
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.17.0 — 2026-09-15
|
|
6
|
+
|
|
7
|
+
### 🎉 Features
|
|
8
|
+
|
|
9
|
+
- Fix scaffold error handling and cover every scaffolded workflow (#806)
|
|
10
|
+
|
|
11
|
+
- Adds a `create-github-release.yaml matches template` check to release-kit's ReadyUp kit, which warns when `.github/workflows/create-github-release.yaml` differs from the template for the detected repo type and skips in a repo that has not installed that workflow.
|
|
12
|
+
- Stops `v11y init --force` from replacing an existing `.config/v11y-check.config.json` with the defaults, which discarded the repo's thresholds and the allowlist maintained by `v11y sync`.
|
|
13
|
+
|
|
14
|
+
Migration: To reset `.config/v11y-check.config.json` to its defaults, delete the file and run `v11y init`, because `v11y init --force` now overwrites only `.github/workflows/audit.yaml`.
|
|
15
|
+
|
|
16
|
+
### ⚙️ Tooling
|
|
17
|
+
|
|
18
|
+
- Upgrade eslint-config-typescript to v17 and adopt its ignore lists (#797)
|
|
19
|
+
|
|
20
|
+
- Declares `vitest` as `catalog:` in every workspace that imports it, with the pnpm catalog pinning 4.1.11, because v17 no longer exempts `vitest` from `n/no-extraneous-import`.
|
|
21
|
+
- Builds the global ignores in `eslint.config.ts` from the published `commonIgnores` and `toolIgnores`, which also exclude `pnpm-lock.yaml` and each `.readyup/manifest.json`, so the `eslint --fix` in `nmr lint` can no longer rewrite a kit manifest and make the next build's `rdy verify` fail.
|
|
22
|
+
|
|
5
23
|
## 0.16.0 — 2026-09-08
|
|
6
24
|
|
|
7
25
|
### 🎉 Features
|
package/README.md
CHANGED
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
Wraps [audit-ci](https://github.com/IBM/audit-ci) with a richer config model, typed JSON source of truth, and a sync workflow that automates allowlist management.
|
|
4
4
|
|
|
5
5
|
<!-- section:release-notes -->
|
|
6
|
-
## Release notes — v0.
|
|
6
|
+
## Release notes — v0.17.0 (2026-09-15)
|
|
7
7
|
|
|
8
8
|
### 🎉 Features
|
|
9
9
|
|
|
10
|
-
-
|
|
10
|
+
- Fix scaffold error handling and cover every scaffolded workflow (#806)
|
|
11
11
|
|
|
12
|
-
Adds
|
|
12
|
+
- Adds a `create-github-release.yaml matches template` check to release-kit's ReadyUp kit, which warns when `.github/workflows/create-github-release.yaml` differs from the template for the detected repo type and skips in a repo that has not installed that workflow.
|
|
13
|
+
- Stops `v11y init --force` from replacing an existing `.config/v11y-check.config.json` with the defaults, which discarded the repo's thresholds and the allowlist maintained by `v11y sync`.
|
|
14
|
+
|
|
15
|
+
Migration: To reset `.config/v11y-check.config.json` to its defaults, delete the file and run `v11y init`, because `v11y init --force` now overwrites only `.github/workflows/audit.yaml`.
|
|
13
16
|
<!-- /section:release-notes -->
|
|
14
17
|
|
|
15
18
|
## Installation
|
|
@@ -101,7 +104,7 @@ Other options:
|
|
|
101
104
|
|
|
102
105
|
```
|
|
103
106
|
--dry-run, -n Preview changes without writing files
|
|
104
|
-
--force, -f Overwrite existing
|
|
107
|
+
--force, -f Overwrite an existing workflow (an existing config is never overwritten)
|
|
105
108
|
```
|
|
106
109
|
|
|
107
110
|
### JSON output shape
|
|
@@ -173,5 +176,5 @@ To migrate an existing config:
|
|
|
173
176
|
|
|
174
177
|
1. Remove the `outDir` field.
|
|
175
178
|
2. Replace severity booleans with `severityThreshold` in each scope.
|
|
176
|
-
3. Optionally add a `$schema` field
|
|
179
|
+
3. Optionally add a `$schema` field set to `https://github.com/williamthorsen/node-monorepo-tools/raw/v11y-check-v<version>/packages/v11y-check/schemas/config.json`, with `<version>` replaced by the installed v11y-check version.
|
|
177
180
|
4. Delete any generated `audit-ci.*.json` files that were in your config directory.
|
package/dist/esm/bin/route.js
CHANGED
|
@@ -36,7 +36,7 @@ Scaffold a starter config file and GitHub Actions workflow.
|
|
|
36
36
|
|
|
37
37
|
Options:
|
|
38
38
|
--dry-run, -n Preview changes without writing files
|
|
39
|
-
--force, -f Overwrite existing
|
|
39
|
+
--force, -f Overwrite an existing workflow (an existing config is never overwritten)
|
|
40
40
|
--help, -h Show this help message
|
|
41
41
|
`);
|
|
42
42
|
}
|
package/dist/esm/cli.js
CHANGED
|
@@ -157,7 +157,7 @@ export async function syncCommand(options) {
|
|
|
157
157
|
}
|
|
158
158
|
const { configSource } = loaded;
|
|
159
159
|
if (configSource === 'defaults') {
|
|
160
|
-
const { configResult } = scaffoldConfig({ dryRun: false
|
|
160
|
+
const { configResult } = scaffoldConfig({ dryRun: false });
|
|
161
161
|
if (configResult.outcome === 'failed') {
|
|
162
162
|
reportError('Failed to create config file');
|
|
163
163
|
return 1;
|
|
@@ -7,12 +7,15 @@ interface ScaffoldResult {
|
|
|
7
7
|
configResult: WriteResult;
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* Scaffold the v11y-check config file with sensible defaults
|
|
10
|
+
* Scaffold the v11y-check config file with sensible defaults, never overwriting an existing one, whose allowlist
|
|
11
|
+
* `v11y sync` maintains.
|
|
11
12
|
*
|
|
12
13
|
* Returns `{ configResult }` to preserve the signature consumed by `syncCommand`, which predates
|
|
13
14
|
* the workflow scaffolding and treats the config result as a named field.
|
|
14
15
|
*/
|
|
15
|
-
export declare function scaffoldConfig({ dryRun
|
|
16
|
+
export declare function scaffoldConfig({ dryRun }: {
|
|
17
|
+
dryRun: boolean;
|
|
18
|
+
}): ScaffoldResult;
|
|
16
19
|
/** Copy the bundled audit.yaml.template to `.github/workflows/audit.yaml` in the target repo. */
|
|
17
20
|
export declare function copyWorkflowTemplate(dryRun: boolean, overwrite: boolean): WriteResult;
|
|
18
21
|
/**
|
|
@@ -27,7 +30,7 @@ export declare function scaffoldWorkflow(dryRun: boolean, overwrite: boolean): W
|
|
|
27
30
|
*
|
|
28
31
|
* Writes both the config file and the GitHub Actions workflow. Returns a flat array of write
|
|
29
32
|
* results in the order [config, workflow]. `ScaffoldOptions.force` is translated to `overwrite`
|
|
30
|
-
*
|
|
33
|
+
* for the workflow alone; an existing config is never overwritten.
|
|
31
34
|
*/
|
|
32
35
|
export declare function scaffoldFiles({ dryRun, force }: ScaffoldOptions): WriteResult[];
|
|
33
36
|
export {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
import { findPackageRoot, writeFileWithCheck } from '@williamthorsen/nmr-core';
|
|
4
4
|
import { describeError } from '@williamthorsen/toolbelt.errors';
|
|
5
5
|
import { v11yCheckConfigTemplate } from "./templates.js";
|
|
6
6
|
const CONFIG_PATH = '.config/v11y-check.config.json';
|
|
7
7
|
const WORKFLOW_PATH = '.github/workflows/audit.yaml';
|
|
8
|
-
export function scaffoldConfig({ dryRun
|
|
9
|
-
const configResult = writeFileWithCheck(CONFIG_PATH, v11yCheckConfigTemplate, { dryRun, overwrite:
|
|
8
|
+
export function scaffoldConfig({ dryRun }) {
|
|
9
|
+
const configResult = writeFileWithCheck(CONFIG_PATH, v11yCheckConfigTemplate, { dryRun, overwrite: false });
|
|
10
10
|
return { configResult };
|
|
11
11
|
}
|
|
12
12
|
export function copyWorkflowTemplate(dryRun, overwrite) {
|
|
@@ -19,16 +19,17 @@ export function copyWorkflowTemplate(dryRun, overwrite) {
|
|
|
19
19
|
return { filePath: WORKFLOW_PATH, outcome: 'failed', error: `Failed to resolve package root: ${message}` };
|
|
20
20
|
}
|
|
21
21
|
const templatePath = resolve(root, 'templates', 'audit.yaml.template');
|
|
22
|
-
if (!existsSync(templatePath)) {
|
|
23
|
-
return { filePath: WORKFLOW_PATH, outcome: 'failed', error: `Could not find bundled template at ${templatePath}` };
|
|
24
|
-
}
|
|
25
22
|
let content;
|
|
26
23
|
try {
|
|
27
24
|
content = readFileSync(templatePath, 'utf8');
|
|
28
25
|
}
|
|
29
26
|
catch (error) {
|
|
30
27
|
const message = describeError(error);
|
|
31
|
-
return {
|
|
28
|
+
return {
|
|
29
|
+
filePath: WORKFLOW_PATH,
|
|
30
|
+
outcome: 'failed',
|
|
31
|
+
error: `Failed to read bundled template at ${templatePath}: ${message}`,
|
|
32
|
+
};
|
|
32
33
|
}
|
|
33
34
|
return writeFileWithCheck(WORKFLOW_PATH, content, { dryRun, overwrite });
|
|
34
35
|
}
|
|
@@ -36,7 +37,7 @@ export function scaffoldWorkflow(dryRun, overwrite) {
|
|
|
36
37
|
return copyWorkflowTemplate(dryRun, overwrite);
|
|
37
38
|
}
|
|
38
39
|
export function scaffoldFiles({ dryRun, force }) {
|
|
39
|
-
const { configResult } = scaffoldConfig({ dryRun
|
|
40
|
+
const { configResult } = scaffoldConfig({ dryRun });
|
|
40
41
|
const workflowResult = scaffoldWorkflow(dryRun, force);
|
|
41
42
|
return [configResult, workflowResult];
|
|
42
43
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "v11y-check",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Wrap audit-ci with a richer config model, typed JSON source of truth, and sync workflow",
|
|
6
6
|
"keywords": [
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"templates"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@williamthorsen/nmr-core": "0.11.
|
|
48
|
+
"@williamthorsen/nmr-core": "0.11.1",
|
|
49
49
|
"@williamthorsen/toolbelt.errors": "0.7.0",
|
|
50
50
|
"audit-ci": "7.1.0",
|
|
51
51
|
"zod": "4.5.4"
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
"@williamthorsen/toolbelt.filesystem": "0.8.3",
|
|
55
55
|
"@williamthorsen/toolbelt.testing": "0.5.1",
|
|
56
56
|
"@williamthorsen/toolbelt.vitest": "0.9.0",
|
|
57
|
-
"readyup": "0.
|
|
57
|
+
"readyup": "0.36.0",
|
|
58
|
+
"vitest": "4.1.11"
|
|
58
59
|
},
|
|
59
60
|
"engines": {
|
|
60
61
|
"node": ">=24"
|