@shivaedev/quality 0.18.0 → 0.19.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/CHANGELOG.md +43 -0
- package/README.md +143 -536
- package/biome/declarations.json +0 -45
- package/biome/plugins/constant-names.grit +1 -1
- package/biome/plugins/effect-fn-functions.grit +1 -1
- package/biome/preset.json +16 -9
- package/dist/biome/nativeEffectCall.d.ts +4 -0
- package/dist/biome/nativeEffectCall.d.ts.map +1 -0
- package/dist/biome/nativeEffectCall.js +34 -0
- package/dist/biome/nativeEffectCall.js.map +1 -0
- package/dist/biome/recognizeDiagnostics.d.ts +3 -0
- package/dist/biome/recognizeDiagnostics.d.ts.map +1 -0
- package/dist/biome/recognizeDiagnostics.js +58 -0
- package/dist/biome/recognizeDiagnostics.js.map +1 -0
- package/dist/biome/report.d.ts +10 -0
- package/dist/biome/report.d.ts.map +1 -1
- package/dist/biome/report.js +23 -5
- package/dist/biome/report.js.map +1 -1
- package/dist/biome/syntax.d.ts +12 -0
- package/dist/biome/syntax.d.ts.map +1 -0
- package/dist/biome/syntax.js +29 -0
- package/dist/biome/syntax.js.map +1 -0
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -2
- package/dist/cli/baseline.d.ts +1 -1
- package/dist/cli/baseline.d.ts.map +1 -1
- package/dist/cli/baseline.js.map +1 -1
- package/dist/cli/fix.d.ts +6 -6
- package/dist/cli/fix.d.ts.map +1 -1
- package/dist/cli/fix.js +1 -1
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/run-main.d.ts +1 -1
- package/dist/cli/run-main.d.ts.map +1 -1
- package/dist/cli/run-main.js.map +1 -1
- package/dist/config/decode.d.ts +3 -7
- package/dist/config/decode.d.ts.map +1 -1
- package/dist/config/decode.js +5 -3
- package/dist/config/decode.js.map +1 -1
- package/dist/config/load.d.ts +0 -2
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +11 -7
- package/dist/config/load.js.map +1 -1
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +8 -12
- package/dist/config/resolve.js.map +1 -1
- package/dist/config.d.ts +10 -16
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/decoded.d.ts +4 -4
- package/dist/decoded.d.ts.map +1 -1
- package/dist/decoded.js.map +1 -1
- package/dist/engine/session.js.map +1 -1
- package/dist/engine/violation.d.ts +1 -1
- package/dist/engine/violation.d.ts.map +1 -1
- package/dist/engine/violation.js.map +1 -1
- package/dist/hooks/preCommit.d.ts +2 -2
- package/dist/hooks/preCommit.d.ts.map +1 -1
- package/dist/hooks/preCommit.js +24 -34
- package/dist/hooks/preCommit.js.map +1 -1
- package/dist/imports/browserGlobals.d.ts +3 -0
- package/dist/imports/browserGlobals.d.ts.map +1 -0
- package/dist/imports/browserGlobals.js +125 -0
- package/dist/imports/browserGlobals.js.map +1 -0
- package/dist/imports/browserNames.d.ts +2 -0
- package/dist/imports/browserNames.d.ts.map +1 -0
- package/dist/imports/browserNames.js +78 -0
- package/dist/imports/browserNames.js.map +1 -0
- package/dist/imports/fences/check.d.ts +4 -0
- package/dist/imports/fences/check.d.ts.map +1 -0
- package/dist/imports/fences/check.js +10 -0
- package/dist/imports/fences/check.js.map +1 -0
- package/dist/imports/fences/declarations.d.ts +5 -0
- package/dist/imports/fences/declarations.d.ts.map +1 -0
- package/dist/imports/fences/declarations.js +29 -0
- package/dist/imports/fences/declarations.js.map +1 -0
- package/dist/imports/fences/discover.d.ts +5 -0
- package/dist/imports/fences/discover.d.ts.map +1 -0
- package/dist/imports/fences/discover.js +41 -0
- package/dist/imports/fences/discover.js.map +1 -0
- package/dist/imports/graph.js +2 -2
- package/dist/imports/graph.js.map +1 -1
- package/dist/imports/projects.js.map +1 -1
- package/dist/imports/runtime.d.ts +5 -0
- package/dist/imports/runtime.d.ts.map +1 -0
- package/dist/imports/runtime.js +32 -0
- package/dist/imports/runtime.js.map +1 -0
- package/dist/imports/workspace.d.ts +1 -1
- package/dist/imports/workspace.d.ts.map +1 -1
- package/dist/imports/workspace.js +5 -1
- package/dist/imports/workspace.js.map +1 -1
- package/dist/inventory/collect.d.ts.map +1 -1
- package/dist/inventory/collect.js +8 -1
- package/dist/inventory/collect.js.map +1 -1
- package/dist/inventory/trackedPaths.d.ts +3 -0
- package/dist/inventory/trackedPaths.d.ts.map +1 -0
- package/dist/inventory/trackedPaths.js +26 -0
- package/dist/inventory/trackedPaths.js.map +1 -0
- package/dist/inventory/walk.d.ts +4 -4
- package/dist/inventory/walk.d.ts.map +1 -1
- package/dist/inventory/walk.js +32 -12
- package/dist/inventory/walk.js.map +1 -1
- package/dist/rules/built-in.d.ts +2 -3
- package/dist/rules/built-in.d.ts.map +1 -1
- package/dist/rules/built-in.js +6 -0
- package/dist/rules/built-in.js.map +1 -1
- package/dist/rules/comments/max-per-file.js +1 -1
- package/dist/rules/comments/max-per-file.js.map +1 -1
- package/dist/rules/files/folderNames.js +1 -1
- package/dist/rules/files/folderNames.js.map +1 -1
- package/dist/rules/files/otherNames.d.ts.map +1 -1
- package/dist/rules/files/otherNames.js +1 -10
- package/dist/rules/files/otherNames.js.map +1 -1
- package/dist/rules/imports/bundleInputs.d.ts +7 -0
- package/dist/rules/imports/bundleInputs.d.ts.map +1 -0
- package/dist/rules/imports/bundleInputs.js +77 -0
- package/dist/rules/imports/bundleInputs.js.map +1 -0
- package/dist/rules/imports/fences.d.ts +1 -2
- package/dist/rules/imports/fences.d.ts.map +1 -1
- package/dist/rules/imports/fences.js +4 -14
- package/dist/rules/imports/fences.js.map +1 -1
- package/dist/rules/imports/manifest.d.ts +2 -0
- package/dist/rules/imports/manifest.d.ts.map +1 -0
- package/dist/rules/imports/manifest.js +98 -0
- package/dist/rules/imports/manifest.js.map +1 -0
- package/dist/rules/imports/noTestCode.d.ts +2 -0
- package/dist/rules/imports/noTestCode.d.ts.map +1 -0
- package/dist/rules/imports/noTestCode.js +17 -0
- package/dist/rules/imports/noTestCode.js.map +1 -0
- package/dist/rules/imports/runtime.d.ts +2 -0
- package/dist/rules/imports/runtime.d.ts.map +1 -0
- package/dist/rules/imports/runtime.js +41 -0
- package/dist/rules/imports/runtime.js.map +1 -0
- package/dist/rules/max-lines.d.ts +0 -1
- package/dist/rules/max-lines.d.ts.map +1 -1
- package/dist/rules/max-lines.js +3 -10
- package/dist/rules/max-lines.js.map +1 -1
- package/dist/rules/suppressions/biome-overrides.d.ts.map +1 -1
- package/dist/rules/suppressions/biome-overrides.js +21 -4
- package/dist/rules/suppressions/biome-overrides.js.map +1 -1
- package/dist/rules/suppressions/biomeRecommended.js +2 -2
- package/dist/rules/suppressions/biomeRecommended.js.map +1 -1
- package/dist/rules/suppressions/no-inline.js +1 -1
- package/dist/rules/suppressions/no-inline.js.map +1 -1
- package/dist/standard-schema.d.ts +1 -1
- package/dist/standard-schema.d.ts.map +1 -1
- package/dist/standard-schema.js +10 -2
- package/dist/standard-schema.js.map +1 -1
- package/dist/vitest.d.ts +1 -3
- package/dist/vitest.d.ts.map +1 -1
- package/dist/vitest.js +11 -6
- package/dist/vitest.js.map +1 -1
- package/docs/debt-and-hooks.md +90 -0
- package/docs/modules.md +253 -0
- package/docs/naming.md +126 -0
- package/docs/north-star.md +61 -0
- package/docs/roadmap.md +37 -0
- package/docs/rules.md +308 -0
- package/docs/tooling.md +120 -0
- package/package.json +7 -5
- package/src/biome/nativeEffectCall.ts +45 -0
- package/src/biome/recognizeDiagnostics.ts +67 -0
- package/src/biome/report.ts +24 -6
- package/src/biome/syntax.ts +36 -0
- package/src/cli/args.ts +2 -2
- package/src/cli/baseline.ts +3 -3
- package/src/cli/fix.ts +13 -13
- package/src/cli/run-main.ts +1 -1
- package/src/config/decode.ts +7 -3
- package/src/config/load.ts +15 -9
- package/src/config/resolve.ts +10 -15
- package/src/config.ts +8 -15
- package/src/decoded.ts +3 -3
- package/src/engine/session.ts +3 -3
- package/src/engine/violation.ts +2 -2
- package/src/hooks/preCommit.ts +30 -39
- package/src/imports/browserGlobals.ts +142 -0
- package/src/imports/browserNames.ts +80 -0
- package/src/imports/fences/check.ts +12 -0
- package/src/imports/fences/declarations.ts +38 -0
- package/src/imports/fences/discover.ts +37 -0
- package/src/imports/graph.ts +2 -2
- package/src/imports/projects.ts +2 -2
- package/src/imports/runtime.ts +37 -0
- package/src/imports/workspace.ts +7 -2
- package/src/inventory/collect.ts +8 -1
- package/src/inventory/trackedPaths.ts +28 -0
- package/src/inventory/walk.ts +65 -36
- package/src/rules/built-in.ts +6 -0
- package/src/rules/comments/max-per-file.ts +1 -1
- package/src/rules/files/folderNames.ts +1 -1
- package/src/rules/files/otherNames.ts +1 -10
- package/src/rules/imports/bundleInputs.ts +94 -0
- package/src/rules/imports/fences.ts +4 -16
- package/src/rules/imports/manifest.ts +116 -0
- package/src/rules/imports/noTestCode.ts +18 -0
- package/src/rules/imports/runtime.ts +43 -0
- package/src/rules/max-lines.ts +4 -10
- package/src/rules/suppressions/biome-overrides.ts +31 -4
- package/src/rules/suppressions/biomeRecommended.ts +2 -2
- package/src/rules/suppressions/no-inline.ts +1 -1
- package/src/standard-schema.ts +11 -3
- package/src/vitest.ts +11 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-main.d.ts","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,OAAO,EAAkB,MAAM,EAAQ,KAAK,UAAU,EAAkB,MAAM,QAAQ,CAAC;AAEvF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AA+B3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAM5D;AAID,eAAO,MAAM,OAAO,GAAI,
|
|
1
|
+
{"version":3,"file":"run-main.d.ts","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMhD,OAAO,EAAkB,MAAM,EAAQ,KAAK,UAAU,EAAkB,MAAM,QAAQ,CAAC;AAEvF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AA+B3C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAM5D;AAID,eAAO,MAAM,OAAO,GAAI,MAAM,EAAE,MAAM,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,KAAG,IAK7G,CAAC"}
|
package/dist/cli/run-main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-main.js","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,KAAK,uBAAuB,MAAM,+CAA+C,CAAC;AACzF,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAC;AAC3D,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAmB,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,OAAO,GAAG,CAAC,KAA2B,EAAuB,EAAE;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACzH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAU,EAAE,CAC7C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAEjI,MAAM,QAAQ,GAAG,CAAC,IAAiC,EAAU,EAAE;IAC9D,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;IACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAoB;IACrD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAc,EAAE,EAAE;QACrC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE9H,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"run-main.js","sourceRoot":"","sources":["../../src/cli/run-main.ts"],"names":[],"mappings":"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"}
|
package/dist/config/decode.d.ts
CHANGED
|
@@ -4,16 +4,12 @@ import type { Rule } from "#rule.ts";
|
|
|
4
4
|
declare const ConfigInput: Schema.Struct<{
|
|
5
5
|
readonly adopt: Schema.optionalKey<Schema.Never>;
|
|
6
6
|
readonly baseline: Schema.optionalKey<Schema.String>;
|
|
7
|
-
readonly exclude: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
8
7
|
readonly extensions: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
9
8
|
readonly local: Schema.optionalKey<Schema.$Array<Schema.declare<Rule<string, unknown>, Rule<string, unknown>>>>;
|
|
10
|
-
readonly preCommit: Schema.optionalKey<Schema.
|
|
11
|
-
readonly run: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
12
|
-
readonly tighten: Schema.optionalKey<Schema.Boolean>;
|
|
13
|
-
}>>;
|
|
9
|
+
readonly preCommit: Schema.optionalKey<Schema.Never>;
|
|
14
10
|
readonly registry: Schema.optionalKey<Schema.String>;
|
|
15
|
-
readonly rules: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.
|
|
16
|
-
readonly level: Schema.optionalKey<Schema.
|
|
11
|
+
readonly rules: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.Literal<"error">, Schema.Struct<{
|
|
12
|
+
readonly level: Schema.optionalKey<Schema.Literal<"error">>;
|
|
17
13
|
readonly options: Schema.optionalKey<Schema.Unknown>;
|
|
18
14
|
}>]>>>;
|
|
19
15
|
readonly sources: Schema.optionalKey<Schema.$Array<Schema.String>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/config/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/config/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AA2BrC,QAAA,MAAM,WAAW;;;;;;;;;;;;EASf,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAIlD,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAgC,CAAC"}
|
package/dist/config/decode.js
CHANGED
|
@@ -8,19 +8,21 @@ const isRule = (value) => typeof value === "object"
|
|
|
8
8
|
&& typeof value.description === "string"
|
|
9
9
|
&& "configure" in value
|
|
10
10
|
&& typeof value.configure === "function";
|
|
11
|
-
const Level = Schema.
|
|
11
|
+
const Level = Schema.Literal("error");
|
|
12
12
|
const Setting = Schema.Union([Level, Schema.Struct({ level: Schema.optionalKey(Level), options: Schema.optionalKey(Schema.Unknown) })]);
|
|
13
13
|
const LocalRule = Schema.declare(isRule, { expected: "a rule made with defineRule" });
|
|
14
14
|
const AdoptRemoved = Schema.Never.annotate({
|
|
15
15
|
message: "removed in quality 0.7.0. Delete the key, and record a rule's existing findings with `quality baseline write --rule <id>`.",
|
|
16
16
|
});
|
|
17
|
+
const PreCommitRemoved = Schema.Never.annotate({
|
|
18
|
+
message: "removed. Put repository checks in the package.json quality:commit script; the hook also runs typecheck when present. Use `quality baseline tighten --staged` explicitly to lower staged debt.",
|
|
19
|
+
});
|
|
17
20
|
const ConfigInput = Schema.Struct({
|
|
18
21
|
adopt: Schema.optionalKey(AdoptRemoved),
|
|
19
22
|
baseline: Schema.optionalKey(Schema.String),
|
|
20
|
-
exclude: Schema.optionalKey(Schema.Array(Schema.String)),
|
|
21
23
|
extensions: Schema.optionalKey(Schema.Array(Schema.String)),
|
|
22
24
|
local: Schema.optionalKey(Schema.Array(LocalRule)),
|
|
23
|
-
preCommit: Schema.optionalKey(
|
|
25
|
+
preCommit: Schema.optionalKey(PreCommitRemoved),
|
|
24
26
|
registry: Schema.optionalKey(Schema.String),
|
|
25
27
|
rules: Schema.optionalKey(Schema.Record(Schema.String, Setting)),
|
|
26
28
|
sources: Schema.optionalKey(Schema.Array(Schema.String)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/config/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ;OACtB,KAAK,KAAK,IAAI;OACd,IAAI,IAAI,KAAK;OACb,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;OAC5B,aAAa,IAAI,KAAK;OACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;OACrC,WAAW,IAAI,KAAK;OACpB,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;AAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"decode.js","sourceRoot":"","sources":["../../src/config/decode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE,CAChD,OAAO,KAAK,KAAK,QAAQ;OACtB,KAAK,KAAK,IAAI;OACd,IAAI,IAAI,KAAK;OACb,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ;OAC5B,aAAa,IAAI,KAAK;OACtB,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;OACrC,WAAW,IAAI,KAAK;OACpB,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC;AAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAExI,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,6BAA6B,EAAE,CAAC,CAAC;AAEtF,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC1C,OAAO,EAAE,4HAA4H;CACrI,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC9C,OAAO,EACN,+LAA+L;CAChM,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC;IAC/C,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;CACxD,CAAC,CAAC;AAIH,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAExH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC"}
|
package/dist/config/load.d.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Effect, FileSystem } from "effect";
|
|
2
|
-
import type { PreCommit } from "#config.ts";
|
|
3
2
|
import { SetupFailure } from "#failure.ts";
|
|
4
3
|
import type { InventoryScope } from "#inventory/collect.ts";
|
|
5
4
|
import { type ResolvedRules } from "./resolve.ts";
|
|
6
5
|
export interface ResolvedConfig extends ResolvedRules, InventoryScope {
|
|
7
6
|
readonly baseline: string;
|
|
8
7
|
readonly file: string;
|
|
9
|
-
readonly preCommit: Required<PreCommit>;
|
|
10
8
|
readonly registry: string;
|
|
11
9
|
readonly root: string;
|
|
12
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,cAAc,CAAC;AAIhE,MAAM,WAAW,cAAe,SAAQ,aAAa,EAAE,cAAc;IACpE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AA2BD,eAAO,MAAM,UAAU,QAAS,MAAM,QAAQ,MAAM,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAqBjI,CAAC"}
|
package/dist/config/load.js
CHANGED
|
@@ -6,7 +6,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
6
6
|
}
|
|
7
7
|
return path;
|
|
8
8
|
};
|
|
9
|
-
import { dirname, resolve } from "node:path";
|
|
9
|
+
import { basename, dirname, resolve } from "node:path";
|
|
10
10
|
import { pathToFileURL } from "node:url";
|
|
11
11
|
import { Effect, FileSystem } from "effect";
|
|
12
12
|
import { validOrFail } from "#decoded.ts";
|
|
@@ -25,10 +25,9 @@ const importDefault = (file) => Effect.flatMap(Effect.tryPromise({
|
|
|
25
25
|
const resolved = (root, file, config, rules) => ({
|
|
26
26
|
...rules,
|
|
27
27
|
baseline: config.baseline ?? "quality/baseline.jsonl",
|
|
28
|
-
exclude:
|
|
28
|
+
exclude: [],
|
|
29
29
|
extensions: config.extensions ?? DEFAULT_EXTENSIONS,
|
|
30
30
|
file,
|
|
31
|
-
preCommit: { run: config.preCommit?.run ?? [], tighten: config.preCommit?.tighten ?? false },
|
|
32
31
|
registry: config.registry ?? "quality/registry.json",
|
|
33
32
|
root,
|
|
34
33
|
sources: config.sources ?? ["."],
|
|
@@ -36,11 +35,16 @@ const resolved = (root, file, config, rules) => ({
|
|
|
36
35
|
export const loadConfig = (cwd, path) => Effect.gen(function* () {
|
|
37
36
|
const fs = yield* FileSystem.FileSystem;
|
|
38
37
|
const file = resolve(cwd, path ?? CONFIG_FILE);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
const entries = yield* fs
|
|
39
|
+
.readDirectory(dirname(file))
|
|
40
|
+
.pipe(Effect.catchTag("PlatformError", (error) => error.reason._tag === "NotFound"
|
|
41
|
+
? Effect.succeed([])
|
|
42
|
+
: Effect.fail(new SetupFailure({ message: `cannot inspect ${file}: ${error.message}` }))));
|
|
43
|
+
const present = entries.includes(basename(file));
|
|
44
|
+
if (!present && path !== undefined) {
|
|
45
|
+
return yield* new SetupFailure({ message: `no config at ${file}. Check the --config path.` });
|
|
42
46
|
}
|
|
43
|
-
const loaded = yield* importDefault(file);
|
|
47
|
+
const loaded = present ? yield* importDefault(file) : {};
|
|
44
48
|
const config = yield* validOrFail(file, yield* Effect.promise(() => decodeConfig(loaded)));
|
|
45
49
|
const rules = yield* validOrFail(file, yield* resolveRules(config));
|
|
46
50
|
return resolved(dirname(file), file, config, rules);
|
package/dist/config/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AA6BD,eAAO,MAAM,YAAY,WAAY,WAAW,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAoBpF,CAAC"}
|
package/dist/config/resolve.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { builtInRules } from "#rules/built-in.ts";
|
|
3
3
|
const messageOf = (cause) => (cause instanceof Error ? cause.message : String(cause));
|
|
4
|
-
const levelOf = (setting) => (typeof setting === "string" ? setting : (setting?.level ?? "error"));
|
|
5
4
|
const optionsOf = (setting) => (typeof setting === "object" ? setting.options : undefined);
|
|
6
5
|
const duplicateIssues = (rules) => rules.flatMap((rule, index) => rules.findIndex((other) => other.id === rule.id) === index ? [] : [`local: rule id "${rule.id}" is already defined`]);
|
|
7
|
-
const activate = (rule, setting) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
? { _tag: "Invalid", issues: configured.issues.map((issue) => `rules.${rule.id}.options: ${issue}`) }
|
|
14
|
-
: { _tag: "Valid", value: { check: configured.check, description: rule.description, family: rule.family === true, id: rule.id, level } }), Effect.catch((failure) => Effect.succeed({ _tag: "Invalid", issues: [`rules.${rule.id}.options: validation threw: ${failure}`] })));
|
|
15
|
-
};
|
|
6
|
+
const activate = (rule, setting) => Effect.tryPromise({ catch: messageOf, try: () => rule.configure(optionsOf(setting)) }).pipe(Effect.map((configured) => configured._tag === "Invalid"
|
|
7
|
+
? { _tag: "Invalid", issues: configured.issues.map((issue) => `rules.${rule.id}.options: ${issue}`) }
|
|
8
|
+
: {
|
|
9
|
+
_tag: "Valid",
|
|
10
|
+
value: { check: configured.check, description: rule.description, family: rule.family === true, id: rule.id, level: "error" },
|
|
11
|
+
}), Effect.catch((failure) => Effect.succeed({ _tag: "Invalid", issues: [`rules.${rule.id}.options: validation threw: ${failure}`] })));
|
|
16
12
|
export const resolveRules = (config) => Effect.gen(function* () {
|
|
17
13
|
const rules = [...builtInRules, ...(config.local ?? [])];
|
|
18
14
|
const settings = config.rules ?? {};
|
|
@@ -28,8 +24,8 @@ export const resolveRules = (config) => Effect.gen(function* () {
|
|
|
28
24
|
if (issues.length > 0) {
|
|
29
25
|
return { _tag: "Invalid", issues };
|
|
30
26
|
}
|
|
31
|
-
const active = activated.flatMap((result) => (result._tag === "Valid"
|
|
32
|
-
const levels = new Map(rules.map((rule) => [rule.id,
|
|
27
|
+
const active = activated.flatMap((result) => (result._tag === "Valid" ? [result.value] : []));
|
|
28
|
+
const levels = new Map(rules.map((rule) => [rule.id, "error"]));
|
|
33
29
|
const unregistrable = new Set(rules.filter((rule) => rule.registrable === false).map((rule) => rule.id));
|
|
34
30
|
return { _tag: "Valid", value: { active, families, levels, unregistrable } };
|
|
35
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
import type { builtInRules } from "#rules/built-in.ts";
|
|
2
2
|
import type { Rule } from "./rule.ts";
|
|
3
3
|
export type Level = "error" | "warn" | "off";
|
|
4
|
-
export type RuleSetting<
|
|
5
|
-
readonly level?:
|
|
6
|
-
readonly options?:
|
|
4
|
+
export type RuleSetting<TInput> = "error" | {
|
|
5
|
+
readonly level?: "error";
|
|
6
|
+
readonly options?: TInput;
|
|
7
7
|
};
|
|
8
|
-
type InputOf<
|
|
9
|
-
export type RuleSettings<
|
|
10
|
-
readonly [
|
|
8
|
+
type InputOf<TCandidate> = TCandidate extends Rule<string, infer TInput> ? TInput : never;
|
|
9
|
+
export type RuleSettings<TRules extends readonly Rule[]> = {
|
|
10
|
+
readonly [TCandidate in TRules[number] as TCandidate["id"]]?: RuleSetting<InputOf<TCandidate>>;
|
|
11
11
|
};
|
|
12
12
|
export type BuiltInRules = typeof builtInRules;
|
|
13
|
-
export interface
|
|
14
|
-
readonly run?: readonly string[];
|
|
15
|
-
readonly tighten?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export interface QualityConfig<Local extends readonly Rule[] = readonly Rule[]> {
|
|
13
|
+
export interface QualityConfig<TLocal extends readonly Rule[] = readonly Rule[]> {
|
|
18
14
|
readonly baseline?: string;
|
|
19
|
-
readonly exclude?: readonly string[];
|
|
20
15
|
readonly extensions?: readonly string[];
|
|
21
|
-
readonly local?:
|
|
22
|
-
readonly preCommit?: PreCommit;
|
|
16
|
+
readonly local?: TLocal;
|
|
23
17
|
readonly registry?: string;
|
|
24
|
-
readonly rules?: RuleSettings<readonly [...BuiltInRules, ...
|
|
18
|
+
readonly rules?: RuleSettings<readonly [...BuiltInRules, ...TLocal]>;
|
|
25
19
|
readonly sources?: readonly string[];
|
|
26
20
|
}
|
|
27
|
-
export declare const defineConfig: <const
|
|
21
|
+
export declare const defineConfig: <const TLocal extends readonly Rule[] = readonly []>(config: QualityConfig<TLocal>) => QualityConfig<TLocal>;
|
|
28
22
|
export {};
|
|
29
23
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7C,MAAM,MAAM,WAAW,CAAC,MAAM,IAAI,OAAO,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpG,KAAK,OAAO,CAAC,UAAU,IAAI,UAAU,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,MAAM,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1F,MAAM,MAAM,YAAY,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,IAAI;IAC1D,QAAQ,EAAE,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9F,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC;AAE/C,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,EAAE,UAAU,aAAa,CAAC,MAAM,CAAC,KAAG,aAAa,CAAC,MAAM,CAAW,CAAC"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAqD,MAA6B,EAAyB,EAAE,CAAC,MAAM,CAAC"}
|
package/dist/decoded.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Effect } from "effect";
|
|
2
2
|
import { SetupFailure } from "./failure.ts";
|
|
3
3
|
import { type StandardSchemaV1 } from "./standard-schema.ts";
|
|
4
|
-
export type Decoded<
|
|
4
|
+
export type Decoded<TValue> = {
|
|
5
5
|
readonly _tag: "Valid";
|
|
6
|
-
readonly value:
|
|
6
|
+
readonly value: TValue;
|
|
7
7
|
} | {
|
|
8
8
|
readonly _tag: "Invalid";
|
|
9
9
|
readonly issues: readonly string[];
|
|
10
10
|
};
|
|
11
|
-
export declare const decodeWith: <
|
|
12
|
-
export declare const validOrFail: <
|
|
11
|
+
export declare const decodeWith: <TOutput>(schema: StandardSchemaV1<unknown, TOutput>, value: unknown) => Promise<Decoded<TOutput>>;
|
|
12
|
+
export declare const validOrFail: <TValue>(file: string, decoded: Decoded<TValue>) => Effect.Effect<TValue, SetupFailure>;
|
|
13
13
|
//# sourceMappingURL=decoded.d.ts.map
|
package/dist/decoded.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoded.d.ts","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,MAAM,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"decoded.d.ts","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,MAAM,OAAO,CAAC,MAAM,IAAI;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpJ,eAAO,MAAM,UAAU,GAAU,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,OAAO,KAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAG9H,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,MAAM,WAAW,OAAO,CAAC,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAGmB,CAAC"}
|
package/dist/decoded.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoded.js","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAI5E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"decoded.js","sourceRoot":"","sources":["../src/decoded.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AAI5E,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAW,MAA0C,EAAE,KAAc,EAA6B,EAAE;IAClI,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;AAC7I,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAS,IAAY,EAAE,OAAwB,EAAuC,EAAE,CAClH,OAAO,CAAC,IAAI,KAAK,OAAO;IACvB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,iBAAiB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAA0B,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAqB,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAW1C,MAAM,KAAK,GAAG,CACb,
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/engine/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAmB,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAA0B,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAqB,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAW1C,MAAM,KAAK,GAAG,CACb,MAA+D,EACV,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAE9I,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAsB,EAAiG,EAAE,CAC7I,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAyB,CAAC;IAChE,MAAM,QAAQ,GAAG,CAAC,IAAY,EAA+B,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9I,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;IACvI,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAClC,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,UAA8B,EAA+D,EAAE,CACvI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC9D,CAAC,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ export interface Violation extends Finding {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const keyOf: (rule: string, file: string) => string;
|
|
9
9
|
export declare const byLocation: (left: Violation, right: Violation) => number;
|
|
10
|
-
export declare const groupBy: <
|
|
10
|
+
export declare const groupBy: <TItem>(items: readonly TItem[], key: (item: TItem) => string) => ReadonlyMap<string, readonly TItem[]>;
|
|
11
11
|
export interface RuleIndex {
|
|
12
12
|
readonly families: ReadonlySet<string>;
|
|
13
13
|
readonly levels: ReadonlyMap<string, Level>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"violation.d.ts","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,OAAO;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,KAAK,SAAU,MAAM,QAAQ,MAAM,KAAG,MAAgC,CAAC;AAEpF,eAAO,MAAM,UAAU,SAAU,SAAS,SAAS,SAAS,KAAG,MACoD,CAAC;AAEpH,eAAO,MAAM,OAAO,GAAI,
|
|
1
|
+
{"version":3,"file":"violation.d.ts","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,SAAU,SAAQ,OAAO;IACzC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,KAAK,SAAU,MAAM,QAAQ,MAAM,KAAG,MAAgC,CAAC;AAEpF,eAAO,MAAM,UAAU,SAAU,SAAS,SAAS,SAAS,KAAG,MACoD,CAAC;AAEpH,eAAO,MAAM,OAAO,GAAI,KAAK,SAAS,SAAS,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,KAAG,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAW1H,CAAC;AAEF,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,eAAO,MAAM,MAAM,SAAU,MAAM,QAAQ,MAAM,KAAG,OAAuD,CAAC;AAI5G,eAAO,MAAM,OAAO,UAAW,SAAS,QAAQ,MAAM,KAAG,KAAK,GAAG,SAAmD,CAAC;AAErH,eAAO,MAAM,WAAW,UAAW,SAAS,QAAQ,MAAM,KAAG,OAAyD,CAAC;AAEvH,eAAO,MAAM,kBAAkB,UAAW,SAAS,QAAQ,MAAM,UAAU,MAAM,KAAG,MAMnF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"violation.js","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC;AAEpF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,KAAgB,EAAU,EAAE,CACvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAEpH,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"violation.js","sourceRoot":"","sources":["../../src/engine/violation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,IAAY,EAAU,EAAE,CAAC,GAAG,IAAI,SAAS,IAAI,EAAE,CAAC;AAEpF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAe,EAAE,KAAgB,EAAU,EAAE,CACvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;AAEpH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAQ,KAAuB,EAAE,GAA4B,EAAyC,EAAE;IAC9H,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,IAAY,EAAW,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;AAE5G,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAE/H,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAqB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAErH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAW,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAE,MAAc,EAAU,EAAE;IAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9D,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Effect
|
|
1
|
+
import { Effect } from "effect";
|
|
2
2
|
import { ChildProcessSpawner } from "effect/unstable/process";
|
|
3
3
|
import { GateFailed, SetupFailure } from "#failure.ts";
|
|
4
|
-
export declare const preCommitHook: (cwd: string, path: string | undefined) => Effect.Effect<undefined, GateFailed | SetupFailure, ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem>;
|
|
4
|
+
export declare const preCommitHook: (cwd: string, path: string | undefined) => Effect.Effect<undefined, GateFailed | SetupFailure, ChildProcessSpawner.ChildProcessSpawner | import("effect/FileSystem").FileSystem>;
|
|
5
5
|
//# sourceMappingURL=preCommit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preCommit.d.ts","sourceRoot":"","sources":["../../src/hooks/preCommit.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"preCommit.d.ts","sourceRoot":"","sources":["../../src/hooks/preCommit.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,MAAM,EAAU,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI5E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyCvD,eAAO,MAAM,aAAa,kLAoBxB,CAAC"}
|
package/dist/hooks/preCommit.js
CHANGED
|
@@ -1,53 +1,43 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
-
import { Console, Effect,
|
|
2
|
+
import { Console, Effect, Schema } from "effect";
|
|
3
3
|
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
|
|
4
|
-
import { shrinkBaseline } from "#cli/baseline.ts";
|
|
5
4
|
import { lint } from "#cli/lint.ts";
|
|
6
5
|
import { loadConfig } from "#config/load.ts";
|
|
6
|
+
import { decodeWith, validOrFail } from "#decoded.ts";
|
|
7
7
|
import { GateFailed, SetupFailure } from "#failure.ts";
|
|
8
|
-
import {
|
|
9
|
-
import { changesSince } from "#git/history.ts";
|
|
8
|
+
import { readOptionalText } from "#inventory/filesystem.ts";
|
|
10
9
|
const COMMIT_AGAIN = "help: fix what the output above reports, then commit again; `quality hooks pre-commit` repeats these checks without committing.";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
const Manifest = Schema.toStandardSchemaV1(Schema.fromJsonString(Schema.Struct({
|
|
11
|
+
packageManager: Schema.optionalKey(Schema.String),
|
|
12
|
+
scripts: Schema.optionalKey(Schema.Record(Schema.String, Schema.String)),
|
|
13
|
+
})));
|
|
14
|
+
const commitScripts = Effect.fnUntraced(function* (root) {
|
|
15
|
+
const file = join(root, "package.json");
|
|
16
|
+
const text = yield* readOptionalText(file).pipe(Effect.mapError((error) => new SetupFailure({ message: error.message })));
|
|
17
|
+
if (text === undefined) {
|
|
18
|
+
return { manager: "npm", scripts: [] };
|
|
16
19
|
}
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
moves: new Map([...staged.moves].filter(([from]) => !held.has(from))),
|
|
22
|
-
};
|
|
23
|
-
return scope;
|
|
24
|
-
});
|
|
25
|
-
const tighten = Effect.fnUntraced(function* (cwd, path, config) {
|
|
26
|
-
const scope = yield* stagedScope(config);
|
|
27
|
-
if (scope === undefined) {
|
|
28
|
-
return yield* Console.error(`quality: left ${config.baseline} as it is, because it has unstaged changes.\nhelp: stage or discard them to tighten it.`);
|
|
29
|
-
}
|
|
30
|
-
yield* shrinkBaseline(cwd, path, () => Effect.succeed(scope));
|
|
31
|
-
const fs = yield* FileSystem.FileSystem;
|
|
32
|
-
if (yield* Effect.orElseSucceed(fs.exists(join(config.root, config.baseline)), () => false)) {
|
|
33
|
-
yield* gitOrFail(config.root, ["add", "--", config.baseline]);
|
|
20
|
+
const manifest = yield* validOrFail(file, yield* Effect.promise(() => decodeWith(Manifest, text)));
|
|
21
|
+
const manager = manifest.packageManager?.split("@")[0] ?? "npm";
|
|
22
|
+
if (!["npm", "pnpm", "yarn", "bun"].includes(manager)) {
|
|
23
|
+
return yield* new SetupFailure({ message: `${file}: unsupported packageManager "${manager}". Use npm, pnpm, yarn or bun.` });
|
|
34
24
|
}
|
|
25
|
+
return { manager, scripts: ["typecheck", "quality:commit"].filter((script) => manifest.scripts?.[script] !== undefined) };
|
|
35
26
|
});
|
|
36
|
-
const
|
|
27
|
+
const runScript = Effect.fnUntraced(function* (root, manager, script) {
|
|
37
28
|
const spawner = yield* ChildProcessSpawner.ChildProcessSpawner;
|
|
38
|
-
const child = yield* spawner.spawn(ChildProcess.make(
|
|
29
|
+
const child = yield* spawner.spawn(ChildProcess.make(manager, ["run", script], { cwd: root, stderr: "inherit", stdin: "inherit", stdout: "inherit" }));
|
|
39
30
|
return Number(yield* child.exitCode);
|
|
40
|
-
}, Effect.scoped, Effect.mapError((error) => new SetupFailure({ message: `cannot run a pre-commit
|
|
31
|
+
}, Effect.scoped, Effect.mapError((error) => new SetupFailure({ message: `cannot run a pre-commit script: ${error.message}` })));
|
|
41
32
|
export const preCommitHook = Effect.fn("Hooks.preCommitHook")(function* (cwd, path) {
|
|
42
33
|
const config = yield* loadConfig(cwd, path);
|
|
43
|
-
|
|
44
|
-
yield* tighten(cwd, path, config);
|
|
45
|
-
}
|
|
34
|
+
const { manager, scripts } = yield* commitScripts(config.root);
|
|
46
35
|
const linted = yield* lint(cwd, path, "summary").pipe(Effect.as(true), Effect.catchTag("GateFailed", () => Effect.succeed(false)));
|
|
47
36
|
const failed = linted ? [] : ["quality lint"];
|
|
48
|
-
for (const
|
|
37
|
+
for (const script of scripts) {
|
|
38
|
+
const command = `${manager} run ${script}`;
|
|
49
39
|
yield* Console.log(`quality: running \`${command}\``);
|
|
50
|
-
const code = yield*
|
|
40
|
+
const code = yield* runScript(config.root, manager, script);
|
|
51
41
|
if (code !== 0) {
|
|
52
42
|
failed.push(`\`${command}\` (exit code ${code})`);
|
|
53
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preCommit.js","sourceRoot":"","sources":["../../src/hooks/preCommit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"preCommit.js","sourceRoot":"","sources":["../../src/hooks/preCommit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserGlobals.d.ts","sourceRoot":"","sources":["../../src/imports/browserGlobals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA4GpD,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,OAAO,EAAE,CAgCnE"}
|