@intentius/chant 0.124.30 → 0.124.32
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/bin/chant +7 -2
- package/dist/cli/commands/check-lexicon-plugin.d.ts +7 -4
- package/dist/cli/commands/check-lexicon-plugin.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon-plugin.js +10 -7
- package/dist/cli/commands/check-lexicon.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon.js +18 -12
- package/dist/cli/commands/import.d.ts +10 -0
- package/dist/cli/commands/import.d.ts.map +1 -1
- package/dist/cli/commands/import.js +37 -0
- package/dist/cli/commands/init-lexicon/templates/project.d.ts.map +1 -1
- package/dist/cli/commands/init-lexicon/templates/project.js +4 -3
- package/dist/cli/commands/onboard.d.ts.map +1 -1
- package/dist/cli/commands/onboard.js +8 -4
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +2 -1
- package/dist/cli/dependencies.d.ts +18 -0
- package/dist/cli/dependencies.d.ts.map +1 -0
- package/dist/cli/dependencies.js +120 -0
- package/dist/cli/handlers/build.d.ts.map +1 -1
- package/dist/cli/handlers/build.js +23 -4
- package/dist/cli/handlers/fan-out.d.ts.map +1 -1
- package/dist/cli/handlers/fan-out.js +12 -4
- package/dist/cli/handlers/graph.d.ts.map +1 -1
- package/dist/cli/handlers/graph.js +16 -6
- package/dist/cli/handlers/lint.d.ts.map +1 -1
- package/dist/cli/handlers/lint.js +6 -0
- package/dist/cli/handlers/operator.d.ts +2 -2
- package/dist/cli/handlers/operator.js +3 -3
- package/dist/cli/handlers/pr.d.ts +14 -0
- package/dist/cli/handlers/pr.d.ts.map +1 -1
- package/dist/cli/handlers/pr.js +488 -32
- package/dist/cli/handlers/promote.d.ts.map +1 -1
- package/dist/cli/handlers/promote.js +3 -1
- package/dist/cli/handlers/run.d.ts +13 -1
- package/dist/cli/handlers/run.d.ts.map +1 -1
- package/dist/cli/handlers/run.js +38 -15
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +74 -12
- package/dist/cli/parse-args.d.ts.map +1 -1
- package/dist/cli/parse-args.js +65 -0
- package/dist/cli/registry.d.ts +29 -2
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +6 -2
- package/dist/codegen/generate-post-synth-barrel.js +2 -2
- package/dist/codegen/lexicon-regen.d.ts +4 -0
- package/dist/codegen/lexicon-regen.d.ts.map +1 -1
- package/dist/codegen/lexicon-regen.js +1 -1
- package/dist/codegen/pinned-upgrade.js +2 -2
- package/dist/components/capability.d.ts +44 -3
- package/dist/components/capability.d.ts.map +1 -1
- package/dist/components/capability.js +21 -0
- package/dist/components/changed-files.d.ts +7 -1
- package/dist/components/changed-files.d.ts.map +1 -1
- package/dist/components/changed-files.js +9 -1
- package/dist/components/driver.d.ts +38 -0
- package/dist/components/driver.d.ts.map +1 -1
- package/dist/components/driver.js +47 -6
- package/dist/components/fan-out-record.d.ts +6 -1
- package/dist/components/fan-out-record.d.ts.map +1 -1
- package/dist/components/fan-out-record.js +24 -0
- package/dist/components/fan-out-run.d.ts +20 -0
- package/dist/components/fan-out-run.d.ts.map +1 -1
- package/dist/components/fan-out-run.js +21 -1
- package/dist/components/pr-pipeline.d.ts +65 -2
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/components/pr-pipeline.js +107 -15
- package/dist/components/pr-run.d.ts +127 -29
- package/dist/components/pr-run.d.ts.map +1 -1
- package/dist/components/pr-run.js +290 -70
- package/dist/components/wave-plan.d.ts +5 -2
- package/dist/components/wave-plan.d.ts.map +1 -1
- package/dist/components/wave-plan.js +12 -1
- package/dist/discovery/fold-import.d.ts.map +1 -1
- package/dist/discovery/fold-import.js +16 -6
- package/dist/discovery/sandbox/bundle.d.ts.map +1 -1
- package/dist/discovery/sandbox/bundle.js +6 -0
- package/dist/discovery/specifier-resolve.d.ts.map +1 -1
- package/dist/discovery/specifier-resolve.js +8 -2
- package/dist/fold/fold.d.ts.map +1 -1
- package/dist/fold/fold.js +68 -1
- package/dist/fold/subset.d.ts +37 -0
- package/dist/fold/subset.d.ts.map +1 -1
- package/dist/fold/subset.js +88 -0
- package/dist/lexicon-module.d.ts +10 -0
- package/dist/lexicon-module.d.ts.map +1 -1
- package/dist/lexicon-module.js +53 -8
- package/dist/lexicon-plugin-helpers.d.ts.map +1 -1
- package/dist/lexicon-plugin-helpers.js +6 -4
- package/dist/lexicon.d.ts +2 -0
- package/dist/lexicon.d.ts.map +1 -1
- package/dist/lifecycle/affected.d.ts.map +1 -1
- package/dist/lifecycle/affected.js +7 -1
- package/dist/lifecycle/release-ledger.d.ts +21 -0
- package/dist/lifecycle/release-ledger.d.ts.map +1 -1
- package/dist/lifecycle/release-ledger.js +24 -0
- package/dist/lifecycle/work-dir.d.ts +45 -0
- package/dist/lifecycle/work-dir.d.ts.map +1 -0
- package/dist/lifecycle/work-dir.js +78 -0
- package/dist/lint/discover.d.ts +17 -9
- package/dist/lint/discover.d.ts.map +1 -1
- package/dist/lint/discover.js +62 -54
- package/dist/module-source.d.ts +57 -0
- package/dist/module-source.d.ts.map +1 -0
- package/dist/module-source.js +104 -0
- package/dist/op/activities/factory.js +1 -1
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/discover.js +13 -3
- package/dist/op/gate.d.ts.map +1 -1
- package/dist/op/gate.js +3 -0
- package/dist/op/local-executor.d.ts +12 -0
- package/dist/op/local-executor.d.ts.map +1 -1
- package/dist/op/local-executor.js +22 -3
- package/dist/op/op-waves-run.d.ts.map +1 -1
- package/dist/op/op-waves-run.js +20 -5
- package/dist/op/operator.d.ts +2 -2
- package/dist/op/operator.js +2 -2
- package/dist/op/redact.d.ts +34 -0
- package/dist/op/redact.d.ts.map +1 -0
- package/dist/op/redact.js +94 -0
- package/dist/op/step-console.d.ts +2 -0
- package/dist/op/step-console.d.ts.map +1 -1
- package/dist/op/step-console.js +5 -2
- package/dist/op/steward.d.ts +6 -4
- package/dist/op/steward.d.ts.map +1 -1
- package/dist/op/steward.js +5 -3
- package/dist/op/work-lease-run.d.ts +20 -7
- package/dist/op/work-lease-run.d.ts.map +1 -1
- package/dist/op/work-lease-run.js +56 -12
- package/dist/pr-forge.d.ts +27 -0
- package/dist/pr-forge.d.ts.map +1 -1
- package/dist/pr-forge.js +51 -6
- package/dist/pr-loop.d.ts +141 -4
- package/dist/pr-loop.d.ts.map +1 -1
- package/dist/pr-loop.js +122 -6
- package/dist/pr-report-url.d.ts +10 -2
- package/dist/pr-report-url.d.ts.map +1 -1
- package/dist/pr-report-url.js +52 -6
- package/dist/ts-loader.d.ts +38 -4
- package/dist/ts-loader.d.ts.map +1 -1
- package/dist/ts-loader.js +190 -16
- package/dist/wave-runtime.mjs +208 -208
- package/dist/workspace/chant-migrations/fountain-retired-kinds.d.ts +34 -0
- package/dist/workspace/chant-migrations/fountain-retired-kinds.d.ts.map +1 -0
- package/dist/workspace/chant-migrations/fountain-retired-kinds.js +176 -0
- package/dist/workspace/chant-migrations.d.ts.map +1 -1
- package/dist/workspace/chant-migrations.js +2 -0
- package/dist/workspace/checks/boxes.d.ts +6 -6
- package/dist/workspace/checks/boxes.js +9 -9
- package/dist/workspace/ci-green-forge.d.ts +6 -4
- package/dist/workspace/ci-green-forge.d.ts.map +1 -1
- package/dist/workspace/ci-green.d.ts +28 -12
- package/dist/workspace/ci-green.d.ts.map +1 -1
- package/dist/workspace/ci-green.js +49 -21
- package/dist/workspace/ci-list.schema.json +12 -6
- package/dist/workspace/ci-report-url.d.ts +18 -0
- package/dist/workspace/ci-report-url.d.ts.map +1 -0
- package/dist/workspace/ci-report-url.js +33 -0
- package/dist/workspace/ci-run-index.d.ts +108 -0
- package/dist/workspace/ci-run-index.d.ts.map +1 -0
- package/dist/workspace/ci-run-index.js +164 -0
- package/dist/workspace/ci-run-index.schema.json +52 -0
- package/dist/workspace/ci-run.d.ts +159 -9
- package/dist/workspace/ci-run.d.ts.map +1 -1
- package/dist/workspace/ci-run.js +419 -50
- package/dist/workspace/ci-runner-key.d.ts +133 -0
- package/dist/workspace/ci-runner-key.d.ts.map +1 -0
- package/dist/workspace/ci-runner-key.js +237 -0
- package/dist/workspace/ci-secrets.d.ts +65 -0
- package/dist/workspace/ci-secrets.d.ts.map +1 -0
- package/dist/workspace/ci-secrets.js +211 -0
- package/dist/workspace/ci-serve.d.ts +67 -4
- package/dist/workspace/ci-serve.d.ts.map +1 -1
- package/dist/workspace/ci-serve.js +240 -35
- package/dist/workspace/declaration.d.ts +8 -0
- package/dist/workspace/declaration.d.ts.map +1 -1
- package/dist/workspace/declaration.js +11 -2
- package/dist/workspace/declaration.schema.json +7 -2
- package/dist/workspace/export.d.ts +1 -1
- package/dist/workspace/export.d.ts.map +1 -1
- package/dist/workspace/export.js +7 -3
- package/dist/workspace/ls.d.ts +6 -1
- package/dist/workspace/ls.d.ts.map +1 -1
- package/dist/workspace/ls.js +1 -0
- package/dist/workspace/ls.schema.json +7 -1
- package/dist/workspace/pin-integrity.d.ts.map +1 -1
- package/dist/workspace/pin-integrity.js +3 -2
- package/dist/workspace/pr-report.schema.json +74 -7
- package/dist/workspace/reason-codes.d.ts +7 -3
- package/dist/workspace/reason-codes.d.ts.map +1 -1
- package/dist/workspace/reason-codes.js +9 -4
- package/dist/workspace/run-event.schema.json +3 -1
- package/dist/workspace/status.schema.json +3 -1
- package/dist/workspace/trust/trust-write.d.ts +109 -0
- package/dist/workspace/trust/trust-write.d.ts.map +1 -0
- package/dist/workspace/trust/trust-write.js +320 -0
- package/dist/workspace/trust-write.schema.json +265 -0
- package/dist/workspace/write-scope.d.ts +9 -0
- package/dist/workspace/write-scope.d.ts.map +1 -1
- package/dist/workspace/write-scope.js +11 -1
- package/package.json +1 -1
- package/src/__fixtures__/pr-loop/pr-apply-wave-waiting.note.golden.md +48 -0
- package/src/cli/commands/__fixtures__/init-lexicon-output/package.json +3 -3
- package/src/cli/commands/audit.test.ts +2 -2
- package/src/cli/commands/check-lexicon-plugin.test.ts +9 -0
- package/src/cli/commands/check-lexicon-plugin.ts +11 -8
- package/src/cli/commands/check-lexicon.test.ts +1 -1
- package/src/cli/commands/check-lexicon.ts +16 -11
- package/src/cli/commands/import.ts +40 -0
- package/src/cli/commands/init-lexicon/templates/project.ts +4 -3
- package/src/cli/commands/init-lexicon.test.ts +8 -5
- package/src/cli/commands/onboard.test.ts +45 -0
- package/src/cli/commands/onboard.ts +8 -4
- package/src/cli/commands/update.test.ts +6 -0
- package/src/cli/commands/update.ts +4 -1
- package/src/cli/compiled-cli.e2e.test.ts +76 -11
- package/src/cli/dependencies.e2e.test.ts +101 -0
- package/src/cli/dependencies.test.ts +93 -0
- package/src/cli/dependencies.ts +122 -0
- package/src/cli/handlers/build.test.ts +69 -0
- package/src/cli/handlers/build.ts +20 -4
- package/src/cli/handlers/fan-out.test.ts +73 -0
- package/src/cli/handlers/fan-out.ts +11 -4
- package/src/cli/handlers/graph.test.ts +76 -0
- package/src/cli/handlers/graph.ts +19 -12
- package/src/cli/handlers/lint.test.ts +42 -0
- package/src/cli/handlers/lint.ts +6 -0
- package/src/cli/handlers/operator.ts +3 -3
- package/src/cli/handlers/pr-waves.test.ts +449 -0
- package/src/cli/handlers/pr.test.ts +134 -0
- package/src/cli/handlers/pr.ts +523 -31
- package/src/cli/handlers/promote.test.ts +26 -1
- package/src/cli/handlers/promote.ts +3 -2
- package/src/cli/handlers/run-components-exit.test.ts +99 -0
- package/src/cli/handlers/run-signer.test.ts +79 -0
- package/src/cli/handlers/run.ts +34 -16
- package/src/cli/main.test.ts +19 -0
- package/src/cli/main.ts +73 -12
- package/src/cli/parse-args.ts +48 -0
- package/src/cli/registry.ts +35 -4
- package/src/codegen/generate-post-synth-barrel.ts +2 -2
- package/src/codegen/lexicon-regen.ts +1 -1
- package/src/codegen/pinned-upgrade.ts +2 -2
- package/src/codegen/post-synth-barrel-guards.test.ts +6 -11
- package/src/components/capability.ts +51 -3
- package/src/components/changed-files.test.ts +16 -1
- package/src/components/changed-files.ts +9 -1
- package/src/components/driver.test.ts +36 -1
- package/src/components/driver.ts +76 -4
- package/src/components/fan-out-record.ts +29 -1
- package/src/components/fan-out-run.test.ts +35 -0
- package/src/components/fan-out-run.ts +40 -1
- package/src/components/pr-pipeline.test.ts +100 -0
- package/src/components/pr-pipeline.ts +132 -17
- package/src/components/pr-run.test.ts +323 -18
- package/src/components/pr-run.ts +354 -75
- package/src/components/wave-plan.ts +16 -4
- package/src/discovery/fold-host-method.test.ts +87 -0
- package/src/discovery/fold-import.ts +15 -5
- package/src/discovery/fold-package-composite.test.ts +27 -0
- package/src/discovery/fold-specifiers.test.ts +8 -0
- package/src/discovery/sandbox/bundle.ts +6 -0
- package/src/discovery/specifier-resolve.ts +8 -2
- package/src/fold/fold.test.ts +72 -0
- package/src/fold/fold.ts +71 -0
- package/src/fold/subset.test.ts +31 -0
- package/src/fold/subset.ts +99 -0
- package/src/lexicon-dist.e2e.test.ts +254 -0
- package/src/lexicon-module.test.ts +47 -0
- package/src/lexicon-module.ts +49 -7
- package/src/lexicon-plugin-helpers.ts +6 -4
- package/src/lexicon.ts +2 -0
- package/src/lifecycle/affected.test.ts +7 -0
- package/src/lifecycle/affected.ts +6 -1
- package/src/lifecycle/release-ledger.ts +34 -0
- package/src/lifecycle/work-dir.test.ts +77 -0
- package/src/lifecycle/work-dir.ts +82 -0
- package/src/lint/discover.test.ts +46 -2
- package/src/lint/discover.ts +55 -49
- package/src/module-source.test.ts +85 -0
- package/src/module-source.ts +112 -0
- package/src/op/activities/factory.ts +1 -1
- package/src/op/discover-root.test.ts +31 -2
- package/src/op/discover.ts +14 -4
- package/src/op/gate.test.ts +30 -0
- package/src/op/gate.ts +3 -0
- package/src/op/local-executor.ts +31 -3
- package/src/op/op-waves-run.ts +20 -5
- package/src/op/op-waves.test.ts +49 -0
- package/src/op/operator.ts +2 -2
- package/src/op/redact.ts +93 -0
- package/src/op/step-console.ts +7 -2
- package/src/op/steward.ts +6 -4
- package/src/op/work-lease-run.test.ts +88 -2
- package/src/op/work-lease-run.ts +52 -12
- package/src/pr-forge-bundle.test.ts +2 -2
- package/src/pr-forge.test.ts +71 -0
- package/src/pr-forge.ts +70 -6
- package/src/pr-loop-bundle.test.ts +2 -1
- package/src/pr-loop.test.ts +117 -1
- package/src/pr-loop.ts +252 -10
- package/src/pr-report-url.ts +58 -6
- package/src/terraform/__fixtures__/advise.test.ts +21 -2
- package/src/ts-loader.test.ts +89 -1
- package/src/ts-loader.ts +180 -13
- package/src/workspace/changes.test.ts +1 -1
- package/src/workspace/chant-migrations/fountain-retired-kinds.test.ts +33 -0
- package/src/workspace/chant-migrations/fountain-retired-kinds.ts +190 -0
- package/src/workspace/chant-migrations.e2e.test.ts +5 -0
- package/src/workspace/chant-migrations.ts +2 -0
- package/src/workspace/checks/boxes.ts +9 -9
- package/src/workspace/ci-green-forge.ts +6 -4
- package/src/workspace/ci-green-runs.test.ts +53 -11
- package/src/workspace/ci-green.test.ts +1 -1
- package/src/workspace/ci-green.ts +50 -22
- package/src/workspace/ci-list.schema.json +12 -6
- package/src/workspace/ci-report-url.test.ts +220 -0
- package/src/workspace/ci-report-url.ts +33 -0
- package/src/workspace/ci-run-index.schema.json +52 -0
- package/src/workspace/ci-run-index.test.ts +392 -0
- package/src/workspace/ci-run-index.ts +206 -0
- package/src/workspace/ci-run.test.ts +520 -42
- package/src/workspace/ci-run.ts +483 -51
- package/src/workspace/ci-runner-key.test.ts +204 -0
- package/src/workspace/ci-runner-key.ts +275 -0
- package/src/workspace/ci-secrets.test.ts +106 -0
- package/src/workspace/ci-secrets.ts +213 -0
- package/src/workspace/ci-serve.test.ts +282 -39
- package/src/workspace/ci-serve.ts +231 -34
- package/src/workspace/declaration.schema.json +7 -2
- package/src/workspace/declaration.test.ts +23 -0
- package/src/workspace/declaration.ts +19 -3
- package/src/workspace/export.ts +6 -3
- package/src/workspace/ls.schema.json +7 -1
- package/src/workspace/ls.ts +7 -2
- package/src/workspace/pin-integrity.test.ts +5 -0
- package/src/workspace/pin-integrity.ts +3 -2
- package/src/workspace/pr-report.schema.json +74 -7
- package/src/workspace/reason-codes.test.ts +2 -0
- package/src/workspace/reason-codes.ts +9 -4
- package/src/workspace/run-event.schema.json +3 -1
- package/src/workspace/status.schema.json +3 -1
- package/src/workspace/trust/trust-write.test.ts +179 -0
- package/src/workspace/trust/trust-write.ts +377 -0
- package/src/workspace/trust-write.schema.json +265 -0
- package/src/workspace/write-scope.test.ts +29 -1
- package/src/workspace/write-scope.ts +12 -1
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://intentius.io/chant/schemas/workspace/trust-write/v1/trust-write.schema.json",
|
|
4
|
+
"title": "chant workspace trust runner add|remove output",
|
|
5
|
+
"description": "What `chant workspace trust runner add <principal> --key <key>` and `trust runner remove <principal>` print (#3510): the runner entry before and after the write, the digest of .chant/trust.json after it, or the reason it wrote nothing. Each write edits .chant/trust.json in the working tree in place and never commits. Readers ignore fields they do not know; a field is only ever added within a version. The error codes are a closed list, each in the one closed list of `reason-codes.ts`. Contract version 1 of this document is written by chant 0.124.31 and newer.",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "#/$defs/result"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"$ref": "#/$defs/failure"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"$defs": {
|
|
15
|
+
"runner": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"required": [
|
|
18
|
+
"principal",
|
|
19
|
+
"class",
|
|
20
|
+
"key"
|
|
21
|
+
],
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"properties": {
|
|
24
|
+
"principal": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"minLength": 1
|
|
27
|
+
},
|
|
28
|
+
"class": {
|
|
29
|
+
"enum": [
|
|
30
|
+
"runner",
|
|
31
|
+
"service"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"key": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"pattern": "^ssh-ed25519 [A-Za-z0-9+/]+={0,2}$",
|
|
37
|
+
"description": "The runner's public key, as an ssh-ed25519 line with no comment."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"digest": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"pattern": "^[0-9a-f]{64}$",
|
|
44
|
+
"description": "A SHA-256 of the file's bytes, in lowercase hex. A file that is not there has the digest of empty text."
|
|
45
|
+
},
|
|
46
|
+
"result": {
|
|
47
|
+
"description": "The entry was written, or would be with --dry-run, or the file already held it (changed false). Exit code 0.",
|
|
48
|
+
"type": "object",
|
|
49
|
+
"required": [
|
|
50
|
+
"$schema",
|
|
51
|
+
"contract",
|
|
52
|
+
"chant",
|
|
53
|
+
"action",
|
|
54
|
+
"name",
|
|
55
|
+
"path",
|
|
56
|
+
"digest",
|
|
57
|
+
"previousDigest",
|
|
58
|
+
"paths",
|
|
59
|
+
"changed",
|
|
60
|
+
"dryRun",
|
|
61
|
+
"previous",
|
|
62
|
+
"entry",
|
|
63
|
+
"runnerRole"
|
|
64
|
+
],
|
|
65
|
+
"properties": {
|
|
66
|
+
"$schema": {
|
|
67
|
+
"const": "https://intentius.io/chant/schemas/workspace/trust-write/v1/trust-write.schema.json"
|
|
68
|
+
},
|
|
69
|
+
"contract": {
|
|
70
|
+
"const": 1
|
|
71
|
+
},
|
|
72
|
+
"chant": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"description": "The chant that wrote it."
|
|
75
|
+
},
|
|
76
|
+
"action": {
|
|
77
|
+
"enum": [
|
|
78
|
+
"runner add",
|
|
79
|
+
"runner remove"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"name": {
|
|
83
|
+
"type": "string",
|
|
84
|
+
"description": "The runner's principal."
|
|
85
|
+
},
|
|
86
|
+
"path": {
|
|
87
|
+
"const": ".chant/trust.json",
|
|
88
|
+
"description": "The trust config, relative to the repository root."
|
|
89
|
+
},
|
|
90
|
+
"digest": {
|
|
91
|
+
"$ref": "#/$defs/digest",
|
|
92
|
+
"description": "The file's digest after the write, or as it would be with --dry-run: what the caller passes as --expect to its next trust write."
|
|
93
|
+
},
|
|
94
|
+
"previousDigest": {
|
|
95
|
+
"$ref": "#/$defs/digest",
|
|
96
|
+
"description": "The file's digest before the write."
|
|
97
|
+
},
|
|
98
|
+
"paths": {
|
|
99
|
+
"type": "array",
|
|
100
|
+
"items": {
|
|
101
|
+
"type": "string"
|
|
102
|
+
},
|
|
103
|
+
"description": "The trust config when the write changed it or would with --dry-run; empty when it already held what was given."
|
|
104
|
+
},
|
|
105
|
+
"changed": {
|
|
106
|
+
"type": "boolean",
|
|
107
|
+
"description": "Whether the file changed: paths is not empty."
|
|
108
|
+
},
|
|
109
|
+
"dryRun": {
|
|
110
|
+
"type": "boolean",
|
|
111
|
+
"description": "True when --dry-run was given: nothing was written, and the document says what would have been."
|
|
112
|
+
},
|
|
113
|
+
"previous": {
|
|
114
|
+
"oneOf": [
|
|
115
|
+
{
|
|
116
|
+
"type": "null"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"$ref": "#/$defs/runner"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"description": "The principal's runner entry before the write, or null when there was none."
|
|
123
|
+
},
|
|
124
|
+
"entry": {
|
|
125
|
+
"oneOf": [
|
|
126
|
+
{
|
|
127
|
+
"type": "null"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"$ref": "#/$defs/runner"
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"description": "The principal's runner entry after the write, or null after runner remove."
|
|
134
|
+
},
|
|
135
|
+
"runnerRole": {
|
|
136
|
+
"type": "boolean",
|
|
137
|
+
"description": "Whether the principal holds the runner role after the write. runner add grants it for class runner; runner remove takes it away."
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"failure": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"description": "Nothing was written. Exit code 1.",
|
|
144
|
+
"required": [
|
|
145
|
+
"$schema",
|
|
146
|
+
"contract",
|
|
147
|
+
"chant",
|
|
148
|
+
"action",
|
|
149
|
+
"name",
|
|
150
|
+
"error"
|
|
151
|
+
],
|
|
152
|
+
"properties": {
|
|
153
|
+
"$schema": {
|
|
154
|
+
"const": "https://intentius.io/chant/schemas/workspace/trust-write/v1/trust-write.schema.json"
|
|
155
|
+
},
|
|
156
|
+
"contract": {
|
|
157
|
+
"const": 1
|
|
158
|
+
},
|
|
159
|
+
"chant": {
|
|
160
|
+
"type": "string"
|
|
161
|
+
},
|
|
162
|
+
"action": {
|
|
163
|
+
"enum": [
|
|
164
|
+
"runner add",
|
|
165
|
+
"runner remove"
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"name": {
|
|
169
|
+
"type": [
|
|
170
|
+
"string",
|
|
171
|
+
"null"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"error": {
|
|
175
|
+
"type": "object",
|
|
176
|
+
"required": [
|
|
177
|
+
"code",
|
|
178
|
+
"message"
|
|
179
|
+
],
|
|
180
|
+
"properties": {
|
|
181
|
+
"code": {
|
|
182
|
+
"enum": [
|
|
183
|
+
"not-a-git-repository",
|
|
184
|
+
"write-usage-invalid",
|
|
185
|
+
"trust-config-invalid",
|
|
186
|
+
"trust-conflict",
|
|
187
|
+
"runner-key-invalid",
|
|
188
|
+
"runner-key-is-signer",
|
|
189
|
+
"runner-exists",
|
|
190
|
+
"runner-unknown",
|
|
191
|
+
"write-scope-member",
|
|
192
|
+
"write-scope-protected",
|
|
193
|
+
"write-scope-class-unknown",
|
|
194
|
+
"agent-unknown",
|
|
195
|
+
"principal-unidentified",
|
|
196
|
+
"write-lock-timeout",
|
|
197
|
+
"write-lock-not-held"
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
"message": {
|
|
201
|
+
"type": "string"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
"conflict": {
|
|
206
|
+
"type": "object",
|
|
207
|
+
"description": "With trust-conflict: the digest --expect named, the one the file has now, and its last chant write when the write journal knows it.",
|
|
208
|
+
"required": [
|
|
209
|
+
"path",
|
|
210
|
+
"expected",
|
|
211
|
+
"digest",
|
|
212
|
+
"lastWrite"
|
|
213
|
+
],
|
|
214
|
+
"properties": {
|
|
215
|
+
"path": {
|
|
216
|
+
"type": "string"
|
|
217
|
+
},
|
|
218
|
+
"expected": {
|
|
219
|
+
"$ref": "#/$defs/digest"
|
|
220
|
+
},
|
|
221
|
+
"digest": {
|
|
222
|
+
"$ref": "#/$defs/digest"
|
|
223
|
+
},
|
|
224
|
+
"lastWrite": {
|
|
225
|
+
"oneOf": [
|
|
226
|
+
{
|
|
227
|
+
"type": "null"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"type": "object",
|
|
231
|
+
"required": [
|
|
232
|
+
"verb",
|
|
233
|
+
"by",
|
|
234
|
+
"agent",
|
|
235
|
+
"at"
|
|
236
|
+
],
|
|
237
|
+
"properties": {
|
|
238
|
+
"verb": {
|
|
239
|
+
"type": "string"
|
|
240
|
+
},
|
|
241
|
+
"by": {
|
|
242
|
+
"type": [
|
|
243
|
+
"string",
|
|
244
|
+
"null"
|
|
245
|
+
]
|
|
246
|
+
},
|
|
247
|
+
"agent": {
|
|
248
|
+
"type": [
|
|
249
|
+
"string",
|
|
250
|
+
"null"
|
|
251
|
+
]
|
|
252
|
+
},
|
|
253
|
+
"at": {
|
|
254
|
+
"type": "string"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
]
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
@@ -144,6 +144,15 @@ export interface PathChange {
|
|
|
144
144
|
before(): string | null;
|
|
145
145
|
after(): string | null;
|
|
146
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* The factory Op's check log, `.chant/factory/<item>/check.log` (#3512). The
|
|
149
|
+
* Check step writes it in the worktree (`../op/activities/factory.ts`,
|
|
150
|
+
* `factoryCheck`), attaches it as each criterion's evidence, and Record
|
|
151
|
+
* commits it with the build under the builder's Chant-Agent. It is chant's own
|
|
152
|
+
* output and in no member, so an agent's member scope would flag every build
|
|
153
|
+
* commit. The member check passes over it; a protected entry still covers it.
|
|
154
|
+
*/
|
|
155
|
+
export declare const FACTORY_CHECK_LOG: RegExp;
|
|
147
156
|
/**
|
|
148
157
|
* Whether `writer` may write the file at `path`, from the workspace root:
|
|
149
158
|
* the path is in a member the writer may write, and no protected entry of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-scope.d.ts","sourceRoot":"","sources":["../../src/workspace/write-scope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"write-scope.d.ts","sourceRoot":"","sources":["../../src/workspace/write-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -243,6 +243,15 @@ export function onlyKeysChanged(before, after, except) {
|
|
|
243
243
|
const b = strip(after);
|
|
244
244
|
return a !== null && b !== null && isDeepStrictEqual(a, b);
|
|
245
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* The factory Op's check log, `.chant/factory/<item>/check.log` (#3512). The
|
|
248
|
+
* Check step writes it in the worktree (`../op/activities/factory.ts`,
|
|
249
|
+
* `factoryCheck`), attaches it as each criterion's evidence, and Record
|
|
250
|
+
* commits it with the build under the builder's Chant-Agent. It is chant's own
|
|
251
|
+
* output and in no member, so an agent's member scope would flag every build
|
|
252
|
+
* commit. The member check passes over it; a protected entry still covers it.
|
|
253
|
+
*/
|
|
254
|
+
export const FACTORY_CHECK_LOG = /^\.chant\/factory\/[^/]+\/check\.log$/;
|
|
246
255
|
/**
|
|
247
256
|
* Whether `writer` may write the file at `path`, from the workspace root:
|
|
248
257
|
* the path is in a member the writer may write, and no protected entry of
|
|
@@ -255,7 +264,8 @@ export function judgePath(declaration, writer, path, change) {
|
|
|
255
264
|
if (scope === null)
|
|
256
265
|
return OK;
|
|
257
266
|
const member = memberHolding(path, declaration?.members ?? []);
|
|
258
|
-
|
|
267
|
+
const chantOutput = member === null && FACTORY_CHECK_LOG.test(path);
|
|
268
|
+
if (!chantOutput && !memberAllowed(writer, scope, member)) {
|
|
259
269
|
const where = member === null ? "is in no member" : `is in member ${member}`;
|
|
260
270
|
return {
|
|
261
271
|
ok: false,
|
package/package.json
CHANGED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!-- chant-pr:prod -->
|
|
2
|
+
### chant apply for `prod`
|
|
3
|
+
|
|
4
|
+
Wave 2 waits at its gate `release-wave-2`; nothing in it applied. Head `222222222222`, measured from `111111111111`.
|
|
5
|
+
|
|
6
|
+
> Wave 2 was planned after the waves before it applied, and the pull request's approved plan does not cover it.
|
|
7
|
+
|
|
8
|
+
| Member | Component | Status | Create | Update | Replace | Delete |
|
|
9
|
+
|---|---|---|---:|---:|---:|---:|
|
|
10
|
+
| `a` | a | applied | 0 | 1 | 0 | 0 |
|
|
11
|
+
| `app` | app | planned | 0 | 0 | 0 | 0 |
|
|
12
|
+
|
|
13
|
+
| Wave | Components | Status | Approval |
|
|
14
|
+
|---:|---|---|---|
|
|
15
|
+
| 1 | `a` | applied | the pull request's `pr-apply` by `github:alice` |
|
|
16
|
+
| 2 | `app` | waiting | its own `release-wave-2`, not approved yet |
|
|
17
|
+
|
|
18
|
+
Wave 2 was planned after the waves before it applied, and the approved plan does not cover it:
|
|
19
|
+
|
|
20
|
+
- app now writes app.main.cidr to a different value than the approved plan
|
|
21
|
+
|
|
22
|
+
Read wave 2's plan, `jcs1-sha256:0000000000000000000000000000000000000000000000000000000000000007`, and approve it with:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
chant approve pr-12 release-wave-2 --plan jcs1-sha256:0000000000000000000000000000000000000000000000000000000000000007 --approver github:<your-login> --sign
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Then run the wave's apply job again.
|
|
29
|
+
|
|
30
|
+
Plan digest: `jcs1-sha256:7623a8677afb0bf98d77c602521a3abfa96f76cff25675d350a28c2e26a7bad0`
|
|
31
|
+
|
|
32
|
+
Approved by `github:alice` for this digest.
|
|
33
|
+
|
|
34
|
+
### Plan summary
|
|
35
|
+
|
|
36
|
+
2 members: 2 groups, 0 destroys or replacements.
|
|
37
|
+
|
|
38
|
+
#### Group e84467713bf6: 1 member (outlier), change
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
~ terraform_data.subnet: input
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Members: `a`
|
|
45
|
+
|
|
46
|
+
#### Group 49648f9475c7: 1 member (outlier), no changes
|
|
47
|
+
|
|
48
|
+
Members: `app`
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
".": {
|
|
12
12
|
"development": "./src/index.ts",
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
|
-
"default": "./
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
15
|
},
|
|
16
16
|
"./*": {
|
|
17
17
|
"development": "./src/*.ts",
|
|
18
18
|
"types": "./dist/*.d.ts",
|
|
19
|
-
"default": "./
|
|
19
|
+
"default": "./dist/*.js"
|
|
20
20
|
},
|
|
21
21
|
"./manifest": "./dist/manifest.json",
|
|
22
22
|
"./meta": "./dist/meta.json",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"generate": "npx tsx src/codegen/generate-cli.ts",
|
|
27
27
|
"validate": "npx tsx src/validate-cli.ts",
|
|
28
28
|
"docs": "npx tsx src/codegen/docs-cli.ts",
|
|
29
|
-
"build": "tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json
|
|
29
|
+
"build": "tsc -p tsconfig.build.json --sourceMap false && tsc-alias -p tsconfig.build.json",
|
|
30
30
|
"prepack": "npm run generate && npm run bundle && npm run validate && npm run build",
|
|
31
31
|
"bundle": "tsx src/package-cli.ts"
|
|
32
32
|
},
|
|
@@ -153,13 +153,13 @@ describe("auditCommand", () => {
|
|
|
153
153
|
const envelope = JSON.parse(json.output) as { findings: Array<{ checkId: string; authority: Array<{ url: string }>; severity: string }> };
|
|
154
154
|
const ftn11 = envelope.findings.find((f) => f.checkId === "FTN011")!;
|
|
155
155
|
expect(ftn11.authority.length).toBeGreaterThan(0);
|
|
156
|
-
expect(ftn11.authority[0].url).toContain("
|
|
156
|
+
expect(ftn11.authority[0].url).toContain("managoat");
|
|
157
157
|
expect(envelope.findings.find((f) => f.checkId === "FTN012")!.severity).toBe("error");
|
|
158
158
|
|
|
159
159
|
const sarif = await auditCommand({ path: repo, format: "sarif" });
|
|
160
160
|
const run = (JSON.parse(sarif.output) as { runs: Array<{ tool: { driver: { rules: Array<{ id: string; helpUri?: string }> } }; results: Array<{ ruleId: string }> }> }).runs[0];
|
|
161
161
|
expect(run.results.some((r) => r.ruleId === "FTN011")).toBe(true);
|
|
162
|
-
expect(run.tool.driver.rules.find((r) => r.id === "FTN011")!.helpUri).toContain("
|
|
162
|
+
expect(run.tool.driver.rules.find((r) => r.id === "FTN011")!.helpUri).toContain("managoat");
|
|
163
163
|
|
|
164
164
|
const md = await auditCommand({ path: repo, format: "markdown" });
|
|
165
165
|
expect(md.output).toContain("FTN011");
|
|
@@ -55,6 +55,15 @@ describe("pluginEntryFor", () => {
|
|
|
55
55
|
expect(pluginEntryFor(dir)).toBe(join(dir, "src/plugin.ts"));
|
|
56
56
|
});
|
|
57
57
|
|
|
58
|
+
test("prefers the development source over the compiled default (#3981)", () => {
|
|
59
|
+
const dir = lexiconDir({
|
|
60
|
+
"package.json": JSON.stringify({ exports: { ".": { development: "./src/index.ts", default: "./dist/index.js" } } }),
|
|
61
|
+
"src/index.ts": "",
|
|
62
|
+
"dist/index.js": "",
|
|
63
|
+
});
|
|
64
|
+
expect(pluginEntryFor(dir)).toBe(join(dir, "src/index.ts"));
|
|
65
|
+
});
|
|
66
|
+
|
|
58
67
|
test("skips a declared entry that does not exist", () => {
|
|
59
68
|
const dir = lexiconDir({
|
|
60
69
|
"package.json": JSON.stringify({ exports: { ".": { default: "./dist/index.js" } } }),
|
|
@@ -23,7 +23,7 @@ import { existsSync, readFileSync } from "fs";
|
|
|
23
23
|
import { isAbsolute, join, resolve } from "path";
|
|
24
24
|
import { pathToFileURL } from "url";
|
|
25
25
|
import { isLexiconPlugin, type LexiconPlugin } from "../../lexicon";
|
|
26
|
-
import {
|
|
26
|
+
import { ensureTypeScriptLoaderFor } from "../../ts-loader";
|
|
27
27
|
import { esModuleNamespace } from "../../module-interop";
|
|
28
28
|
|
|
29
29
|
export interface LoadedLexicon {
|
|
@@ -36,20 +36,23 @@ export interface LoadedLexicon {
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/**
|
|
39
|
-
* The module a lexicon package presents to consumers.
|
|
39
|
+
* The module a lexicon package presents to consumers, as its source.
|
|
40
40
|
*
|
|
41
|
-
* Tier 1 requires `exports["."].
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* Tier 1 requires `exports["."].development` to be `./src/index.ts` and
|
|
42
|
+
* `default` to be its compiled `./dist/index.js` (#3981). The check reads the
|
|
43
|
+
* lexicon's source, so `development` is the first choice: a `dist/` may be
|
|
44
|
+
* missing or older than the source. `default` and `main` come next, and the
|
|
45
|
+
* conventional paths keep this usable on a lexicon that has not reached that
|
|
46
|
+
* check yet.
|
|
44
47
|
*/
|
|
45
48
|
export function pluginEntryFor(dir: string): string | undefined {
|
|
46
49
|
const candidates: string[] = [];
|
|
47
50
|
try {
|
|
48
51
|
const pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf-8")) as {
|
|
49
|
-
exports?: { "."?: { default?: string } };
|
|
52
|
+
exports?: { "."?: { development?: string; default?: string } };
|
|
50
53
|
main?: string;
|
|
51
54
|
};
|
|
52
|
-
for (const declared of [pkg.exports?.["."]?.default, pkg.main]) {
|
|
55
|
+
for (const declared of [pkg.exports?.["."]?.development, pkg.exports?.["."]?.default, pkg.main]) {
|
|
53
56
|
if (typeof declared === "string") candidates.push(declared);
|
|
54
57
|
}
|
|
55
58
|
} catch {
|
|
@@ -78,7 +81,7 @@ export async function loadLexiconFromDir(dir: string): Promise<LoadedLexicon> {
|
|
|
78
81
|
|
|
79
82
|
let mod: Record<string, unknown>;
|
|
80
83
|
try {
|
|
81
|
-
|
|
84
|
+
ensureTypeScriptLoaderFor(entry);
|
|
82
85
|
mod = esModuleNamespace((await import(pathToFileURL(entry).href)) as Record<string, unknown>);
|
|
83
86
|
} catch (error) {
|
|
84
87
|
return { entry, error: `import failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
@@ -25,7 +25,7 @@ describe("checkLexicon", () => {
|
|
|
25
25
|
expect(names).toContain("Registered intrinsics are exported by the package");
|
|
26
26
|
expect(names).toContain("Registered intrinsics' isTag matches how they're authored");
|
|
27
27
|
expect(names).toContain("dist/manifest.json declares a chantVersion");
|
|
28
|
-
expect(names).toContain('package.json routes exports["."]
|
|
28
|
+
expect(names).toContain('package.json routes exports["."] development at ./src/index.ts and default at ./dist/index.js, and build keeps emitted JS');
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
test("gitlab's own reference() intrinsic passes both the export and isTag audits", async () => {
|
|
@@ -310,27 +310,32 @@ export async function checkLexicon(dir: string): Promise<CheckResult> {
|
|
|
310
310
|
detail: chantVersionDetail,
|
|
311
311
|
});
|
|
312
312
|
|
|
313
|
-
// chant #1067 — packaging shape
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
//
|
|
313
|
+
// chant #1067 — packaging shape, real but unenforced before: a lexicon
|
|
314
|
+
// shipping differently would break consumers silently. Cheap structural
|
|
315
|
+
// check on package.json, not a build execution. #3981 — lexicons ship
|
|
316
|
+
// compiled JS: `default` is ./dist/index.js, `development` stays on
|
|
317
|
+
// ./src/index.ts for the repository's tools, and the build keeps the JS tsc
|
|
318
|
+
// emits (it used to delete it).
|
|
317
319
|
const packageJsonRaw = readOr(join(dir, "package.json"));
|
|
318
320
|
let packagingOk = false;
|
|
319
321
|
let packagingDetail: string | undefined;
|
|
320
322
|
if (packageJsonRaw) {
|
|
321
323
|
try {
|
|
322
324
|
const pkg = JSON.parse(packageJsonRaw) as {
|
|
323
|
-
exports?: { "."?: { default?: string } };
|
|
325
|
+
exports?: { "."?: { development?: string; default?: string } };
|
|
324
326
|
scripts?: { build?: string };
|
|
325
327
|
};
|
|
328
|
+
const developmentExport = pkg.exports?.["."]?.development;
|
|
326
329
|
const defaultExport = pkg.exports?.["."]?.default;
|
|
327
330
|
const buildScript = pkg.scripts?.build ?? "";
|
|
328
|
-
const
|
|
329
|
-
const
|
|
330
|
-
|
|
331
|
+
const developmentOk = developmentExport === "./src/index.ts";
|
|
332
|
+
const defaultOk = defaultExport === "./dist/index.js";
|
|
333
|
+
const keepsEmittedJs = /tsconfig\.build\.json/.test(buildScript) && !/-delete/.test(buildScript);
|
|
334
|
+
packagingOk = developmentOk && defaultOk && keepsEmittedJs;
|
|
331
335
|
const problems: string[] = [];
|
|
332
|
-
if (!
|
|
333
|
-
if (!
|
|
336
|
+
if (!developmentOk) problems.push(`exports["."].development is ${JSON.stringify(developmentExport)}, expected "./src/index.ts"`);
|
|
337
|
+
if (!defaultOk) problems.push(`exports["."].default is ${JSON.stringify(defaultExport)}, expected "./dist/index.js"`);
|
|
338
|
+
if (!keepsEmittedJs) problems.push(`build script must compile tsconfig.build.json and keep the emitted .js in dist/: ${JSON.stringify(buildScript)}`);
|
|
334
339
|
packagingDetail = problems.length > 0 ? problems.join("; ") : undefined;
|
|
335
340
|
} catch {
|
|
336
341
|
packagingDetail = "package.json is not valid JSON";
|
|
@@ -339,7 +344,7 @@ export async function checkLexicon(dir: string): Promise<CheckResult> {
|
|
|
339
344
|
packagingDetail = "package.json missing or unreadable";
|
|
340
345
|
}
|
|
341
346
|
items.push({
|
|
342
|
-
name: 'package.json routes exports["."]
|
|
347
|
+
name: 'package.json routes exports["."] development at ./src/index.ts and default at ./dist/index.js, and build keeps emitted JS',
|
|
343
348
|
tier: 1,
|
|
344
349
|
pass: packagingOk,
|
|
345
350
|
detail: packagingDetail,
|
|
@@ -520,6 +520,43 @@ async function parseWithEmbedded(
|
|
|
520
520
|
return { irs: parses.map((parse) => parse({ embedded })), embedded };
|
|
521
521
|
}
|
|
522
522
|
|
|
523
|
+
/**
|
|
524
|
+
* Build the source import wrote and name each error-severity post-synth
|
|
525
|
+
* finding that would stop `chant build` (#3605). The findings go through the
|
|
526
|
+
* same `lint.presets` and `lint.rules` filtering build applies, against the
|
|
527
|
+
* project config above `outputDir`, so a check the project turns off is not
|
|
528
|
+
* named. When the source does not build here (the lexicon is not installed
|
|
529
|
+
* beside it, or embedded content needs another lexicon's serializer), nothing
|
|
530
|
+
* is said: import reports what build would refuse, not why it cannot run.
|
|
531
|
+
*/
|
|
532
|
+
export async function buildErrorWarnings(plugin: LexiconPlugin, outputDir: string): Promise<string[]> {
|
|
533
|
+
try {
|
|
534
|
+
const checks = plugin.postSynthChecks?.() ?? [];
|
|
535
|
+
if (checks.length === 0) return [];
|
|
536
|
+
const [{ build }, { runPostSynthChecks }, { applyConfiguredPreset, applyConfiguredSeverity, resolvePresetIds }, { loadChantConfigUpward }] =
|
|
537
|
+
await Promise.all([import("../../build"), import("../../lint/post-synth"), import("../../lint/config"), import("../../config")]);
|
|
538
|
+
const result = await build(outputDir, [plugin.serializer]);
|
|
539
|
+
if (result.errors.length > 0) return [];
|
|
540
|
+
const { config } = await loadChantConfigUpward(outputDir);
|
|
541
|
+
const rules = config.lint?.rules;
|
|
542
|
+
// As build.ts runLexiconPostSynthChecks does: the plugin sees its own output only.
|
|
543
|
+
const output = result.outputs.get(plugin.serializer.name);
|
|
544
|
+
const outputs = new Map(output === undefined ? [] : [[plugin.serializer.name, output]]);
|
|
545
|
+
const diagnostics = runPostSynthChecks(checks, { ...result, outputs });
|
|
546
|
+
const presetIds = resolvePresetIds(plugin.lintPresets?.(), config.lint?.presets?.[plugin.name] ?? "recommended");
|
|
547
|
+
const afterPreset = applyConfiguredPreset(diagnostics, presetIds, rules).diagnostics;
|
|
548
|
+
return applyConfiguredSeverity(afterPreset, rules)
|
|
549
|
+
.diagnostics.filter((diag) => diag.severity === "error")
|
|
550
|
+
.map(
|
|
551
|
+
(diag) =>
|
|
552
|
+
`${diag.checkId}: ${diag.message.replace(/\.$/, "")}. chant build stops on this error; ` +
|
|
553
|
+
`change the generated source, or set lint.rules.${diag.checkId} to "off" in chant.config.ts.`,
|
|
554
|
+
);
|
|
555
|
+
} catch {
|
|
556
|
+
return [];
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
|
|
523
560
|
/** The shared tail of every template import: parse → generate → write. */
|
|
524
561
|
async function parseAndWrite(
|
|
525
562
|
plugin: LexiconPlugin,
|
|
@@ -615,6 +652,9 @@ async function parseAndWrite(
|
|
|
615
652
|
generatedFiles.push(file.path);
|
|
616
653
|
}
|
|
617
654
|
|
|
655
|
+
// What `chant build` will refuse, said now rather than at the first build (#3605).
|
|
656
|
+
warnings.push(...(await buildErrorWarnings(plugin, outputDir)));
|
|
657
|
+
|
|
618
658
|
return {
|
|
619
659
|
success: true,
|
|
620
660
|
generatedFiles,
|
|
@@ -13,12 +13,12 @@ export function generatePackageJson(name: string, names: { packageName: string }
|
|
|
13
13
|
".": {
|
|
14
14
|
development: "./src/index.ts",
|
|
15
15
|
types: "./dist/index.d.ts",
|
|
16
|
-
default: "./
|
|
16
|
+
default: "./dist/index.js",
|
|
17
17
|
},
|
|
18
18
|
"./*": {
|
|
19
19
|
development: "./src/*.ts",
|
|
20
20
|
types: "./dist/*.d.ts",
|
|
21
|
-
default: "./
|
|
21
|
+
default: "./dist/*.js",
|
|
22
22
|
},
|
|
23
23
|
"./manifest": "./dist/manifest.json",
|
|
24
24
|
"./meta": "./dist/meta.json",
|
|
@@ -28,7 +28,8 @@ export function generatePackageJson(name: string, names: { packageName: string }
|
|
|
28
28
|
generate: "npx tsx src/codegen/generate-cli.ts",
|
|
29
29
|
validate: "npx tsx src/validate-cli.ts",
|
|
30
30
|
docs: "npx tsx src/codegen/docs-cli.ts",
|
|
31
|
-
|
|
31
|
+
// #3981 — the package ships the compiled dist/*.js its exports' `default` names.
|
|
32
|
+
build: "tsc -p tsconfig.build.json --sourceMap false && tsc-alias -p tsconfig.build.json",
|
|
32
33
|
prepack: "npm run generate && npm run bundle && npm run validate && npm run build",
|
|
33
34
|
bundle: "tsx src/package-cli.ts",
|
|
34
35
|
},
|