@shivaedev/quality 0.23.0 → 0.24.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 +7 -0
- package/README.md +4 -0
- package/dist/baseline/compare.d.ts +2 -2
- package/dist/baseline/compare.d.ts.map +1 -1
- package/dist/baseline/compare.js +5 -3
- package/dist/baseline/compare.js.map +1 -1
- package/dist/baseline/format.d.ts +5 -5
- package/dist/baseline/format.d.ts.map +1 -1
- package/dist/baseline/format.js +23 -13
- package/dist/baseline/format.js.map +1 -1
- package/dist/baseline/legacy.d.ts +2 -2
- package/dist/baseline/legacy.d.ts.map +1 -1
- package/dist/baseline/legacy.js +4 -4
- package/dist/baseline/legacy.js.map +1 -1
- package/dist/baseline/rewrite.d.ts +1 -1
- package/dist/baseline/rewrite.d.ts.map +1 -1
- package/dist/baseline/rewrite.js +2 -2
- package/dist/baseline/rewrite.js.map +1 -1
- package/dist/baseline/update.d.ts +2 -2
- package/dist/baseline/update.d.ts.map +1 -1
- package/dist/baseline/update.js +24 -18
- package/dist/baseline/update.js.map +1 -1
- package/dist/cli/args.d.ts +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -9
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/baseline.d.ts +1 -1
- package/dist/cli/baseline.d.ts.map +1 -1
- package/dist/cli/baseline.js +10 -6
- package/dist/cli/baseline.js.map +1 -1
- package/dist/cli/fix.d.ts +2 -2
- package/dist/cli/fix.d.ts.map +1 -1
- package/dist/cli/fix.js +34 -40
- package/dist/cli/fix.js.map +1 -1
- package/dist/cli/lint.d.ts +1 -1
- package/dist/cli/lint.d.ts.map +1 -1
- package/dist/cli/lint.js +1 -1
- package/dist/cli/lint.js.map +1 -1
- package/dist/cli/migrate.d.ts.map +1 -1
- package/dist/cli/migrate.js +1 -1
- package/dist/cli/migrate.js.map +1 -1
- package/dist/cli/run-main.js +2 -2
- package/dist/cli/run-main.js.map +1 -1
- package/dist/cli/shrink.d.ts +2 -2
- package/dist/cli/shrink.d.ts.map +1 -1
- package/dist/cli/shrink.js +9 -3
- package/dist/cli/shrink.js.map +1 -1
- package/dist/config/decode.d.ts +1 -1
- package/dist/config/decode.d.ts.map +1 -1
- package/dist/config/decode.js +13 -9
- package/dist/config/decode.js.map +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +26 -20
- package/dist/config/load.js.map +1 -1
- package/dist/config/resolve.d.ts +22 -2
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +18 -10
- package/dist/config/resolve.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/decoded.d.ts +2 -2
- package/dist/decoded.d.ts.map +1 -1
- package/dist/decoded.js +7 -5
- package/dist/decoded.js.map +1 -1
- package/dist/engine/baseline-file.d.ts +1 -1
- package/dist/engine/baseline-file.d.ts.map +1 -1
- package/dist/engine/baseline-file.js +4 -2
- package/dist/engine/baseline-file.js.map +1 -1
- package/dist/engine/evaluate.d.ts +2 -2
- package/dist/engine/evaluate.d.ts.map +1 -1
- package/dist/engine/evaluate.js +5 -3
- package/dist/engine/evaluate.js.map +1 -1
- package/dist/engine/run-rules.d.ts +1 -1
- package/dist/engine/run-rules.d.ts.map +1 -1
- package/dist/engine/run-rules.js +24 -14
- package/dist/engine/run-rules.js.map +1 -1
- package/dist/engine/session.d.ts.map +1 -1
- package/dist/engine/session.js +8 -4
- package/dist/engine/session.js.map +1 -1
- package/dist/engine/violation.d.ts +7 -7
- package/dist/engine/violation.d.ts.map +1 -1
- package/dist/engine/violation.js +22 -10
- package/dist/engine/violation.js.map +1 -1
- package/dist/exceptions/registry.d.ts +2 -2
- package/dist/exceptions/registry.d.ts.map +1 -1
- package/dist/exceptions/registry.js +10 -6
- package/dist/exceptions/registry.js.map +1 -1
- package/dist/git/base.d.ts +1 -2
- package/dist/git/base.d.ts.map +1 -1
- package/dist/git/base.js +22 -10
- package/dist/git/base.js.map +1 -1
- package/dist/git/command.d.ts +2 -2
- package/dist/git/command.d.ts.map +1 -1
- package/dist/git/command.js +13 -9
- package/dist/git/command.js.map +1 -1
- package/dist/git/history.d.ts +1 -1
- package/dist/git/history.d.ts.map +1 -1
- package/dist/git/history.js +5 -3
- package/dist/git/history.js.map +1 -1
- package/dist/inventory/collect.d.ts +1 -1
- package/dist/inventory/collect.d.ts.map +1 -1
- package/dist/inventory/collect.js +7 -5
- package/dist/inventory/collect.js.map +1 -1
- package/dist/inventory/filesystem.d.ts +1 -1
- package/dist/inventory/filesystem.d.ts.map +1 -1
- package/dist/inventory/filesystem.js +11 -7
- package/dist/inventory/filesystem.js.map +1 -1
- package/dist/inventory/ignore-scope.d.ts +4 -4
- package/dist/inventory/ignore-scope.d.ts.map +1 -1
- package/dist/inventory/ignore-scope.js +18 -9
- package/dist/inventory/ignore-scope.js.map +1 -1
- package/dist/manifests/sorted.d.ts +1 -1
- package/dist/manifests/sorted.d.ts.map +1 -1
- package/dist/manifests/sorted.js +14 -16
- package/dist/manifests/sorted.js.map +1 -1
- package/dist/report/plural.d.ts +1 -1
- package/dist/report/plural.d.ts.map +1 -1
- package/dist/report/plural.js +3 -1
- package/dist/report/plural.js.map +1 -1
- package/dist/report/render.d.ts +1 -1
- package/dist/report/render.d.ts.map +1 -1
- package/dist/report/render.js +29 -21
- package/dist/report/render.js.map +1 -1
- package/dist/report/stale.d.ts +1 -1
- package/dist/report/stale.d.ts.map +1 -1
- package/dist/report/stale.js +18 -8
- package/dist/report/stale.js.map +1 -1
- package/dist/rule.d.ts +13 -13
- package/dist/rule.d.ts.map +1 -1
- package/dist/rule.js +10 -8
- package/dist/rule.js.map +1 -1
- package/dist/rules/built-in.d.ts +1 -1
- package/dist/rules/built-in.d.ts.map +1 -1
- package/dist/rules/built-in.js +2 -0
- package/dist/rules/built-in.js.map +1 -1
- package/dist/rules/comments/kinds.d.ts +4 -4
- package/dist/rules/comments/kinds.d.ts.map +1 -1
- package/dist/rules/comments/kinds.js +16 -8
- package/dist/rules/comments/kinds.js.map +1 -1
- package/dist/rules/comments/max-per-file.d.ts.map +1 -1
- package/dist/rules/comments/max-per-file.js +13 -9
- package/dist/rules/comments/max-per-file.js.map +1 -1
- package/dist/rules/comments/pattern-rule.d.ts +1 -1
- package/dist/rules/comments/pattern-rule.d.ts.map +1 -1
- package/dist/rules/comments/pattern-rule.js +12 -10
- package/dist/rules/comments/pattern-rule.js.map +1 -1
- package/dist/rules/comments/scan.d.ts +3 -3
- package/dist/rules/comments/scan.d.ts.map +1 -1
- package/dist/rules/comments/scan.js +23 -19
- package/dist/rules/comments/scan.js.map +1 -1
- package/dist/rules/max-lines.d.ts.map +1 -1
- package/dist/rules/max-lines.js +12 -10
- package/dist/rules/max-lines.js.map +1 -1
- package/dist/rules/stories/origins.d.ts +10 -0
- package/dist/rules/stories/origins.d.ts.map +1 -0
- package/dist/rules/stories/origins.js +129 -0
- package/dist/rules/stories/origins.js.map +1 -0
- package/dist/rules/stories/prerequisites.d.ts +4 -0
- package/dist/rules/stories/prerequisites.d.ts.map +1 -0
- package/dist/rules/stories/prerequisites.js +32 -0
- package/dist/rules/stories/prerequisites.js.map +1 -0
- package/dist/rules/stories/program.d.ts +5 -0
- package/dist/rules/stories/program.d.ts.map +1 -0
- package/dist/rules/stories/program.js +22 -0
- package/dist/rules/stories/program.js.map +1 -0
- package/dist/rules/stories/specs.d.ts +2 -0
- package/dist/rules/stories/specs.d.ts.map +1 -0
- package/dist/rules/stories/specs.js +80 -0
- package/dist/rules/stories/specs.js.map +1 -0
- package/dist/rules/suppressions/biome/configs.d.ts +1 -1
- package/dist/rules/suppressions/biome/configs.d.ts.map +1 -1
- package/dist/rules/suppressions/biome/configs.js +23 -17
- package/dist/rules/suppressions/biome/configs.js.map +1 -1
- package/dist/rules/suppressions/biome/declarations.d.ts +4 -4
- package/dist/rules/suppressions/biome/declarations.d.ts.map +1 -1
- package/dist/rules/suppressions/biome/declarations.js +15 -7
- package/dist/rules/suppressions/biome/declarations.js.map +1 -1
- package/dist/rules/suppressions/biome/json.d.ts +6 -6
- package/dist/rules/suppressions/biome/json.d.ts.map +1 -1
- package/dist/rules/suppressions/biome/json.js +27 -13
- package/dist/rules/suppressions/biome/json.js.map +1 -1
- package/dist/rules/suppressions/biome/resolve.d.ts +1 -1
- package/dist/rules/suppressions/biome/resolve.d.ts.map +1 -1
- package/dist/rules/suppressions/biome/resolve.js +23 -17
- package/dist/rules/suppressions/biome/resolve.js.map +1 -1
- package/dist/rules/suppressions/biome/weakenings.d.ts +1 -1
- package/dist/rules/suppressions/biome/weakenings.d.ts.map +1 -1
- package/dist/rules/suppressions/biome/weakenings.js +78 -52
- package/dist/rules/suppressions/biome/weakenings.js.map +1 -1
- package/dist/rules/suppressions/biome-overrides.d.ts.map +1 -1
- package/dist/rules/suppressions/biome-overrides.js +45 -33
- package/dist/rules/suppressions/biome-overrides.js.map +1 -1
- package/dist/rules/suppressions/directives.d.ts +1 -1
- package/dist/rules/suppressions/directives.d.ts.map +1 -1
- package/dist/rules/suppressions/directives.js +5 -3
- package/dist/rules/suppressions/directives.js.map +1 -1
- package/dist/rules/suppressions/no-double-cast.d.ts.map +1 -1
- package/dist/rules/suppressions/no-double-cast.js +14 -10
- package/dist/rules/suppressions/no-double-cast.js.map +1 -1
- package/dist/rules/suppressions/no-inline.d.ts.map +1 -1
- package/dist/rules/suppressions/no-inline.js +8 -6
- package/dist/rules/suppressions/no-inline.js.map +1 -1
- package/dist/rules/suppressions/stylesheet-comments.d.ts +1 -1
- package/dist/rules/suppressions/stylesheet-comments.d.ts.map +1 -1
- package/dist/rules/suppressions/stylesheet-comments.js +11 -5
- package/dist/rules/suppressions/stylesheet-comments.js.map +1 -1
- package/dist/rules/syntax.d.ts +1 -1
- package/dist/rules/syntax.d.ts.map +1 -1
- package/dist/rules/syntax.js +2 -2
- package/dist/rules/syntax.js.map +1 -1
- package/dist/standard-schema.d.ts +6 -6
- package/dist/standard-schema.d.ts.map +1 -1
- package/docs/modules.md +2 -0
- package/package.json +1 -1
- package/src/baseline/compare.ts +5 -3
- package/src/baseline/format.ts +17 -10
- package/src/baseline/legacy.ts +4 -4
- package/src/baseline/rewrite.ts +2 -2
- package/src/baseline/update.ts +20 -16
- package/src/cli/args.ts +15 -10
- package/src/cli/baseline.ts +36 -35
- package/src/cli/fix.ts +39 -42
- package/src/cli/lint.ts +17 -19
- package/src/cli/migrate.ts +20 -21
- package/src/cli/run-main.ts +2 -2
- package/src/cli/shrink.ts +11 -8
- package/src/config/decode.ts +15 -10
- package/src/config/load.ts +44 -37
- package/src/config/resolve.ts +32 -27
- package/src/config.ts +3 -1
- package/src/decoded.ts +5 -4
- package/src/engine/baseline-file.ts +14 -12
- package/src/engine/evaluate.ts +6 -5
- package/src/engine/run-rules.ts +21 -13
- package/src/engine/session.ts +32 -25
- package/src/engine/violation.ts +22 -11
- package/src/exceptions/registry.ts +10 -8
- package/src/git/base.ts +45 -37
- package/src/git/command.ts +6 -4
- package/src/git/history.ts +5 -4
- package/src/inventory/collect.ts +39 -34
- package/src/inventory/filesystem.ts +38 -30
- package/src/inventory/ignore-scope.ts +20 -10
- package/src/manifests/sorted.ts +18 -18
- package/src/report/plural.ts +3 -1
- package/src/report/render.ts +23 -18
- package/src/report/stale.ts +33 -25
- package/src/rule.ts +25 -19
- package/src/rules/built-in.ts +2 -0
- package/src/rules/comments/kinds.ts +16 -9
- package/src/rules/comments/max-per-file.ts +15 -11
- package/src/rules/comments/pattern-rule.ts +5 -4
- package/src/rules/comments/scan.ts +18 -15
- package/src/rules/max-lines.ts +3 -2
- package/src/rules/stories/origins.ts +147 -0
- package/src/rules/stories/prerequisites.ts +37 -0
- package/src/rules/stories/program.ts +29 -0
- package/src/rules/stories/specs.ts +93 -0
- package/src/rules/suppressions/biome/configs.ts +23 -17
- package/src/rules/suppressions/biome/declarations.ts +15 -10
- package/src/rules/suppressions/biome/json.ts +25 -13
- package/src/rules/suppressions/biome/resolve.ts +23 -18
- package/src/rules/suppressions/biome/weakenings.ts +60 -41
- package/src/rules/suppressions/biome-overrides.ts +32 -22
- package/src/rules/suppressions/directives.ts +5 -4
- package/src/rules/suppressions/no-double-cast.ts +14 -10
- package/src/rules/suppressions/no-inline.ts +5 -4
- package/src/rules/suppressions/stylesheet-comments.ts +11 -6
- package/src/rules/syntax.ts +2 -2
- package/src/standard-schema.ts +4 -4
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { posix } from "node:path";
|
|
2
|
+
const DEPENDENCIES = ["dependencies", "devDependencies", "optionalDependencies", "peerDependencies"];
|
|
3
|
+
function object(value) {
|
|
4
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
function manifest(text) {
|
|
7
|
+
const value = JSON.parse(text ?? "{}");
|
|
8
|
+
return object(value) ? value : {};
|
|
9
|
+
}
|
|
10
|
+
export async function storyPrerequisites(inputs, packages) {
|
|
11
|
+
const root = manifest(await inputs.readText("package.json"));
|
|
12
|
+
const members = typeof root.name === "string" ? [...packages, { directory: "", name: root.name }] : packages;
|
|
13
|
+
const byName = new Map(members.map((member) => [member.name, member]));
|
|
14
|
+
const pending = ["@shivaedev/test-story"];
|
|
15
|
+
const directories = new Set();
|
|
16
|
+
while (pending.length > 0) {
|
|
17
|
+
const current = byName.get(pending.pop() ?? "");
|
|
18
|
+
if (current === undefined || directories.has(current.directory)) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
directories.add(current.directory);
|
|
22
|
+
const value = manifest(await inputs.readText(posix.join(current.directory, "package.json")));
|
|
23
|
+
for (const key of DEPENDENCIES) {
|
|
24
|
+
const dependencies = value[key];
|
|
25
|
+
if (object(dependencies)) {
|
|
26
|
+
pending.push(...Object.keys(dependencies).filter((name) => byName.has(name)));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return directories;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=prerequisites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prerequisites.js","sourceRoot":"","sources":["../../../src/rules/stories/prerequisites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;AAErG,SAAS,MAAM,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CAAC,IAAwB;IACzC,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAkB,EAAE,QAAqC;IACjG,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7G,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,SAAS;QACV,CAAC;QACD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7F,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/rules/stories/program.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,CAAC,OAAO,CAuB/E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
export function storyProgram(inputs, graph) {
|
|
4
|
+
const sources = new Map(inputs.sources.map((file) => [join(inputs.root, file.path), file.text]));
|
|
5
|
+
const targets = new Map(graph.edges.flatMap((edge) => edge.to.kind === "file" ? [[`${join(inputs.root, edge.from)}:${edge.specifier}`, join(inputs.root, edge.to.path)]] : []));
|
|
6
|
+
const options = { allowJs: true, noLib: true, types: [] };
|
|
7
|
+
const host = {
|
|
8
|
+
...ts.createCompilerHost(options),
|
|
9
|
+
fileExists: (path) => sources.has(path),
|
|
10
|
+
getSourceFile: (path) => {
|
|
11
|
+
const text = sources.get(path);
|
|
12
|
+
return text === undefined ? undefined : ts.createSourceFile(path, text, ts.ScriptTarget.Latest, true);
|
|
13
|
+
},
|
|
14
|
+
readFile: (path) => sources.get(path),
|
|
15
|
+
resolveModuleNames: (names, from) => names.map((name) => {
|
|
16
|
+
const path = targets.get(`${from}:${name}`);
|
|
17
|
+
return path === undefined ? undefined : { extension: ts.Extension.Ts, resolvedFileName: path };
|
|
18
|
+
}),
|
|
19
|
+
};
|
|
20
|
+
return ts.createProgram([...sources.keys()], options, host);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=program.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/rules/stories/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,MAAM,UAAU,YAAY,CAAC,MAAkB,EAAE,KAAkB;IAClE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC5B,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAChI,CACD,CAAC;IACF,MAAM,OAAO,GAAuB,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC9E,MAAM,IAAI,GAAoB;QAC7B,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACjC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACvC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvG,CAAC;QACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACrC,kBAAkB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACnC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAChG,CAAC,CAAC;KACH,CAAC;IACF,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../src/rules/stories/specs.ts"],"names":[],"mappings":"AAsDA,eAAO,MAAM,UAAU,yDAsCrB,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { importGraph } from "#imports/graph.ts";
|
|
3
|
+
import { packageOf } from "#imports/workspace.ts";
|
|
4
|
+
import { testName } from "#naming/testName.ts";
|
|
5
|
+
import { defineRule } from "#rule.ts";
|
|
6
|
+
import { storyOrigins } from "./origins.js";
|
|
7
|
+
import { storyPrerequisites } from "./prerequisites.js";
|
|
8
|
+
function namesTest(node) {
|
|
9
|
+
if (ts.isIdentifier(node)) {
|
|
10
|
+
return node.text === "it" || node.text === "test";
|
|
11
|
+
}
|
|
12
|
+
if (ts.isPropertyAccessExpression(node)) {
|
|
13
|
+
return node.name.text === "it" || namesTest(node.expression);
|
|
14
|
+
}
|
|
15
|
+
return ts.isCallExpression(node) && namesTest(node.expression);
|
|
16
|
+
}
|
|
17
|
+
function callback(node, origin) {
|
|
18
|
+
return (ts.isArrowFunction(node)
|
|
19
|
+
|| ts.isFunctionExpression(node)
|
|
20
|
+
|| ((ts.isIdentifier(node) || ts.isPropertyAccessExpression(node)) && origin(node) === "function"));
|
|
21
|
+
}
|
|
22
|
+
function testShaped(call, origin) {
|
|
23
|
+
const title = call.arguments[0];
|
|
24
|
+
return (title !== undefined
|
|
25
|
+
&& (ts.isStringLiteralLike(title) || ts.isTemplateExpression(title))
|
|
26
|
+
&& call.arguments.slice(1).some((argument) => callback(argument, origin)));
|
|
27
|
+
}
|
|
28
|
+
function declarationScope(node, origin) {
|
|
29
|
+
for (let current = node.parent; current !== undefined; current = current.parent) {
|
|
30
|
+
if (ts.isFunctionLike(current) && (!ts.isCallExpression(current.parent) || origin(current.parent.expression) !== "suite")) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
function uncoveredRegistration(call, originOf) {
|
|
37
|
+
const origin = originOf(call.expression);
|
|
38
|
+
if (origin === "story" || origin === "suite") {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return origin === "plain" || ((namesTest(call.expression) || testShaped(call, originOf)) && declarationScope(call, originOf));
|
|
42
|
+
}
|
|
43
|
+
export const storySpecs = defineRule({
|
|
44
|
+
check: async (inputs) => {
|
|
45
|
+
const graph = await importGraph(inputs);
|
|
46
|
+
const exempt = await storyPrerequisites(inputs, graph.packages);
|
|
47
|
+
const origins = storyOrigins(inputs, graph);
|
|
48
|
+
return inputs.sources.flatMap((file) => {
|
|
49
|
+
const name = testName(file.path);
|
|
50
|
+
const owner = packageOf(graph.packages, file.path);
|
|
51
|
+
if (name === undefined || name.modifiers.includes("typecheck") || exempt.has(owner?.directory ?? "")) {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
const source = origins.source(file.path);
|
|
55
|
+
let plain;
|
|
56
|
+
function visit(node) {
|
|
57
|
+
if (ts.isCallExpression(node) && uncoveredRegistration(node, origins.origin)) {
|
|
58
|
+
plain ??= node;
|
|
59
|
+
}
|
|
60
|
+
ts.forEachChild(node, visit);
|
|
61
|
+
}
|
|
62
|
+
if (source !== undefined) {
|
|
63
|
+
visit(source);
|
|
64
|
+
}
|
|
65
|
+
if (source === undefined || plain === undefined) {
|
|
66
|
+
return [];
|
|
67
|
+
}
|
|
68
|
+
return [
|
|
69
|
+
{
|
|
70
|
+
file: file.path,
|
|
71
|
+
line: source.getLineAndCharacterOfPosition(plain.getStart(source)).line + 1,
|
|
72
|
+
message: "Declares tests without a test-story story kit. Build the package's kit with storyKit from @shivaedev/test-story/storyKit.ts in src/test-support, and declare every test through the kit's it. See https://github.com/ShivaeDev/platform/tree/main/packages/quality#story-tests.",
|
|
73
|
+
},
|
|
74
|
+
];
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
description: "Every package tests its real engine through its own test-story kit. Typecheck tests and test-story's workspace prerequisites are exempt.",
|
|
78
|
+
id: "tests/story-specs",
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=specs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"specs.js","sourceRoot":"","sources":["../../../src/rules/stories/specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,5 +21,5 @@ export interface BiomeConfigs {
|
|
|
21
21
|
readonly problems: readonly Finding[];
|
|
22
22
|
readonly root: string;
|
|
23
23
|
}
|
|
24
|
-
export declare
|
|
24
|
+
export declare function biomeConfigs({ files, readText }: RuleInputs): Promise<BiomeConfigs>;
|
|
25
25
|
//# sourceMappingURL=configs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAsC,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAW,KAAK,IAAI,EAA2C,MAAM,WAAW,CAAC;AAGxF,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAsC,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAW,KAAK,IAAI,EAA2C,MAAM,WAAW,CAAC;AAGxF,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,KAAK;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAClC;AAoFD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAYzF"}
|
|
@@ -5,19 +5,23 @@ import { resolvePackage } from "./resolve.js";
|
|
|
5
5
|
const ROOT_CONFIGS = ["biome.json", "biome.jsonc"];
|
|
6
6
|
const NESTED = /(?:^|\/)biome\.jsonc?$/u;
|
|
7
7
|
const RELATIVE = /^\.\.?(?:\/|$)/u;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
function directoryOf(path) {
|
|
9
|
+
return posix.dirname(path) === "." ? "" : posix.dirname(path);
|
|
10
|
+
}
|
|
11
|
+
async function read(readText, path) {
|
|
10
12
|
const text = await readText(path);
|
|
11
13
|
return text === undefined ? { _tag: "Unreadable", reason: "the file does not exist" } : parseJsonc(path, text);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
}
|
|
15
|
+
function problem(file, message, line) {
|
|
16
|
+
return { layers: [], problems: [{ file, line, message }] };
|
|
17
|
+
}
|
|
18
|
+
async function local(readText, path) {
|
|
15
19
|
const parsed = await read(readText, path);
|
|
16
20
|
return parsed._tag === "Parsed"
|
|
17
21
|
? { layers: [{ json: parsed.json, path, preset: undefined }], problems: [] }
|
|
18
22
|
: problem(path, `Cannot read this Biome config: ${parsed.reason}.`);
|
|
19
|
-
}
|
|
20
|
-
|
|
23
|
+
}
|
|
24
|
+
async function fromPackage(readText, from, entry, specifier) {
|
|
21
25
|
const target = await resolvePackage(readText, specifier);
|
|
22
26
|
if (target === undefined) {
|
|
23
27
|
return problem(from, `Cannot resolve the Biome config "${specifier}" from node_modules.`, entry.line);
|
|
@@ -33,8 +37,8 @@ const fromPackage = async (readText, from, entry, specifier) => {
|
|
|
33
37
|
}
|
|
34
38
|
const preset = { declared: declared.value, file: from, line: entry.line, specifier };
|
|
35
39
|
return { layers: [{ json: parsed.json, path: target, preset }], problems: [] };
|
|
36
|
-
}
|
|
37
|
-
|
|
40
|
+
}
|
|
41
|
+
async function extended(readText, from, entry) {
|
|
38
42
|
const specifier = textOf(entry);
|
|
39
43
|
if (specifier === undefined || specifier === "//") {
|
|
40
44
|
return { layers: [], problems: [] };
|
|
@@ -44,9 +48,11 @@ const extended = async (readText, from, entry) => {
|
|
|
44
48
|
}
|
|
45
49
|
const relative = posix.normalize(specifier);
|
|
46
50
|
return (await readText(relative)) === undefined ? fromPackage(readText, from, entry, specifier) : local(readText, relative);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
}
|
|
52
|
+
function extendsOf(json) {
|
|
53
|
+
return itemsOf(member(json, "extends"));
|
|
54
|
+
}
|
|
55
|
+
async function chainOf(readText, path) {
|
|
50
56
|
const own = await local(readText, path);
|
|
51
57
|
const [layer] = own.layers;
|
|
52
58
|
if (layer === undefined) {
|
|
@@ -54,12 +60,12 @@ const chainOf = async (readText, path) => {
|
|
|
54
60
|
}
|
|
55
61
|
const parents = await Promise.all(extendsOf(layer.json).map((entry) => extended(readText, path, entry)));
|
|
56
62
|
return { layers: [...parents.flatMap((parent) => parent.layers), layer], problems: parents.flatMap((parent) => parent.problems) };
|
|
57
|
-
}
|
|
58
|
-
|
|
63
|
+
}
|
|
64
|
+
async function rootConfig(readText) {
|
|
59
65
|
const present = await Promise.all(ROOT_CONFIGS.map(async (path) => ((await readText(path)) === undefined ? [] : [path])));
|
|
60
66
|
return present.flat()[0];
|
|
61
|
-
}
|
|
62
|
-
export
|
|
67
|
+
}
|
|
68
|
+
export async function biomeConfigs({ files, readText }) {
|
|
63
69
|
const root = await rootConfig(readText);
|
|
64
70
|
const rootChain = root === undefined ? { layers: [], problems: [] } : await chainOf(readText, root);
|
|
65
71
|
const loaded = new Set(rootChain.layers.map((layer) => layer.path));
|
|
@@ -71,5 +77,5 @@ export const biomeConfigs = async ({ files, readText }) => {
|
|
|
71
77
|
problems: all.flatMap((chain) => chain.problems),
|
|
72
78
|
root: root ?? "biome.json",
|
|
73
79
|
};
|
|
74
|
-
}
|
|
80
|
+
}
|
|
75
81
|
//# sourceMappingURL=configs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EAAoB,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,OAAO,EAAa,MAAM,EAAe,UAAU,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2B9C,MAAM,YAAY,GAAsB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAEtE,MAAM,MAAM,GAAG,yBAAyB,CAAC;AAEzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC;AAEnC,
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,12 @@ export declare const Declaration: Schema.Struct<{
|
|
|
7
7
|
}>;
|
|
8
8
|
export type Declaration = typeof Declaration.Type;
|
|
9
9
|
export declare const PRESET_DECLARATIONS = "declarations.json";
|
|
10
|
-
export declare
|
|
10
|
+
export declare function decodeShipped(text: string | undefined): Promise<Decoded<readonly Declaration[]>>;
|
|
11
11
|
export interface Scoped {
|
|
12
12
|
readonly includes: readonly string[];
|
|
13
13
|
readonly rule: string;
|
|
14
14
|
}
|
|
15
|
-
export declare
|
|
16
|
-
export declare
|
|
17
|
-
export declare
|
|
15
|
+
export declare function matches(declaration: Scoped, weakening: Scoped): boolean;
|
|
16
|
+
export declare function scoped(base: string, glob: string): string;
|
|
17
|
+
export declare function scopeText(includes: readonly string[]): string;
|
|
18
18
|
//# sourceMappingURL=declarations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAMvD,
|
|
1
|
+
{"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAMvD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC,CAEhG;AAED,MAAM,WAAW,MAAM;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAMD,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE7D"}
|
|
@@ -9,12 +9,20 @@ export const PRESET_DECLARATIONS = "declarations.json";
|
|
|
9
9
|
const shipped = Schema.toStandardSchemaV1(Schema.fromJsonString(Schema.Array(Declaration)), {
|
|
10
10
|
parseOptions: { errors: "all", onExcessProperty: "error" },
|
|
11
11
|
});
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
export function decodeShipped(text) {
|
|
13
|
+
return text === undefined ? Promise.resolve({ _tag: "Valid", value: [] }) : decodeWith(shipped, text);
|
|
14
|
+
}
|
|
15
|
+
function sameScope(left, right) {
|
|
16
|
+
return new Set(left).size === new Set(right).size && left.every((glob) => right.includes(glob));
|
|
17
|
+
}
|
|
18
|
+
export function matches(declaration, weakening) {
|
|
19
|
+
return declaration.rule === weakening.rule && sameScope(declaration.includes, weakening.includes);
|
|
20
|
+
}
|
|
21
|
+
export function scoped(base, glob) {
|
|
22
|
+
const { negation = "", path = glob } = /^(?<negation>!*)(?<path>.*)$/u.exec(glob)?.groups ?? {};
|
|
17
23
|
return base === "" ? glob : `${negation}${base}/${path}`;
|
|
18
|
-
}
|
|
19
|
-
export
|
|
24
|
+
}
|
|
25
|
+
export function scopeText(includes) {
|
|
26
|
+
return includes.map((glob) => `"${glob}"`).join(", ");
|
|
27
|
+
}
|
|
20
28
|
//# sourceMappingURL=declarations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,0DAA0D,EAAE,CAAC,CAAC;IAC9H,IAAI,EAAE,MAAM,CAAC,cAAc;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;IAC3F,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/declarations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAgB,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,0DAA0D,EAAE,CAAC,CAAC;IAC9H,IAAI,EAAE,MAAM,CAAC,cAAc;CAC3B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEvD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE;IAC3F,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,IAAwB;IACrD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvG,CAAC;AAOD,SAAS,SAAS,CAAC,IAAuB,EAAE,KAAwB;IACnE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,WAAmB,EAAE,SAAiB;IAC7D,OAAO,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,IAAY,EAAE,IAAY;IAChD,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;IAChG,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA2B;IACpD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -18,10 +18,10 @@ export type Parsed = {
|
|
|
18
18
|
readonly _tag: "Unreadable";
|
|
19
19
|
readonly reason: string;
|
|
20
20
|
};
|
|
21
|
-
export declare
|
|
22
|
-
export declare
|
|
23
|
-
export declare
|
|
24
|
-
export declare
|
|
25
|
-
export declare
|
|
26
|
-
export declare
|
|
21
|
+
export declare function parseJsonc(path: string, text: string): Parsed;
|
|
22
|
+
export declare function member(node: Json | undefined, key: string): Json | undefined;
|
|
23
|
+
export declare function entriesOf(node: Json | undefined): ReadonlyArray<readonly [string, Json]>;
|
|
24
|
+
export declare function itemsOf(node: Json | undefined): readonly Json[];
|
|
25
|
+
export declare function textOf(node: Json | undefined): string | undefined;
|
|
26
|
+
export declare function isFalse(node: Json | undefined): boolean;
|
|
27
27
|
//# sourceMappingURL=json.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnG,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;CAAE,GAC/F;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;CAAE,GAClF;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnG,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA4BjI,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAW7D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAE5E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAExF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,SAAS,IAAI,EAAE,CAE/D;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEjE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAEvD"}
|
|
@@ -3,11 +3,15 @@ const LITERALS = new Map([
|
|
|
3
3
|
[ts.SyntaxKind.TrueKeyword, true],
|
|
4
4
|
[ts.SyntaxKind.FalseKeyword, false],
|
|
5
5
|
]);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
function scalarOf(node) {
|
|
7
|
+
return ts.isStringLiteral(node) ? node.text : LITERALS.get(node.kind);
|
|
8
|
+
}
|
|
9
|
+
function entryOf(source, property) {
|
|
10
|
+
return ts.isPropertyAssignment(property) && (ts.isStringLiteral(property.name) || ts.isIdentifier(property.name))
|
|
11
|
+
? [[property.name.text, toJson(source, property.initializer)]]
|
|
12
|
+
: [];
|
|
13
|
+
}
|
|
14
|
+
function toJson(source, node) {
|
|
11
15
|
const line = source.getLineAndCharacterOfPosition(node.getStart(source)).line + 1;
|
|
12
16
|
if (ts.isObjectLiteralExpression(node)) {
|
|
13
17
|
return { _tag: "Object", entries: new Map(node.properties.flatMap((property) => entryOf(source, property))), line };
|
|
@@ -16,8 +20,8 @@ const toJson = (source, node) => {
|
|
|
16
20
|
return { _tag: "Array", items: node.elements.map((element) => toJson(source, element)), line };
|
|
17
21
|
}
|
|
18
22
|
return { _tag: "Value", line, value: scalarOf(node) };
|
|
19
|
-
}
|
|
20
|
-
export
|
|
23
|
+
}
|
|
24
|
+
export function parseJsonc(path, text) {
|
|
21
25
|
const error = ts.parseConfigFileTextToJson(path, text).error;
|
|
22
26
|
const source = ts.parseJsonText(path, text);
|
|
23
27
|
const root = source.statements[0]?.expression;
|
|
@@ -28,10 +32,20 @@ export const parseJsonc = (path, text) => {
|
|
|
28
32
|
};
|
|
29
33
|
}
|
|
30
34
|
return { _tag: "Parsed", json: toJson(source, root) };
|
|
31
|
-
}
|
|
32
|
-
export
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
export
|
|
36
|
-
|
|
35
|
+
}
|
|
36
|
+
export function member(node, key) {
|
|
37
|
+
return node?._tag === "Object" ? node.entries.get(key) : undefined;
|
|
38
|
+
}
|
|
39
|
+
export function entriesOf(node) {
|
|
40
|
+
return node?._tag === "Object" ? [...node.entries] : [];
|
|
41
|
+
}
|
|
42
|
+
export function itemsOf(node) {
|
|
43
|
+
return node?._tag === "Array" ? node.items : [];
|
|
44
|
+
}
|
|
45
|
+
export function textOf(node) {
|
|
46
|
+
return node?._tag === "Value" && typeof node.value === "string" ? node.value : undefined;
|
|
47
|
+
}
|
|
48
|
+
export function isFalse(node) {
|
|
49
|
+
return node?._tag === "Value" && node.value === false;
|
|
50
|
+
}
|
|
37
51
|
//# sourceMappingURL=json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAS5B,MAAM,QAAQ,GAAwC,IAAI,GAAG,CAAC;IAC7D,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,KAAK,CAAC;CACnC,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/json.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { RuleInputs } from "#rule.ts";
|
|
2
|
-
export declare
|
|
2
|
+
export declare function resolvePackage(readText: RuleInputs["readText"], specifier: string): Promise<string | undefined>;
|
|
3
3
|
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA2E3C,wBAAsB,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAYrH"}
|
|
@@ -8,9 +8,11 @@ const Manifest = Schema.Struct({
|
|
|
8
8
|
});
|
|
9
9
|
const manifestSchema = Schema.toStandardSchemaV1(Schema.fromJsonString(Manifest));
|
|
10
10
|
const CONDITIONS = new Set(["biome", "default"]);
|
|
11
|
-
const SPECIFIER = /^((?:@[^/]+\/)?[^/]+)(?:\/(
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const SPECIFIER = /^(?<name>(?:@[^/]+\/)?[^/]+)(?:\/(?<subpath>.+))?$/u;
|
|
12
|
+
function isRecord(value) {
|
|
13
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14
|
+
}
|
|
15
|
+
function targetOf(value, star) {
|
|
14
16
|
if (typeof value === "string") {
|
|
15
17
|
return star === undefined ? value : value.replaceAll("*", star);
|
|
16
18
|
}
|
|
@@ -19,9 +21,11 @@ const targetOf = (value, star) => {
|
|
|
19
21
|
}
|
|
20
22
|
const condition = isRecord(value) ? Object.keys(value).find((key) => CONDITIONS.has(key)) : undefined;
|
|
21
23
|
return isRecord(value) && condition !== undefined ? targetOf(value[condition], star) : undefined;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
}
|
|
25
|
+
function bySpecificity(left, right) {
|
|
26
|
+
return right.indexOf("*") - left.indexOf("*") || right.length - left.length;
|
|
27
|
+
}
|
|
28
|
+
function patternTarget(exports, key) {
|
|
25
29
|
const pattern = Object.keys(exports)
|
|
26
30
|
.filter((candidate) => candidate.split("*").length === 2)
|
|
27
31
|
.sort(bySpecificity)
|
|
@@ -31,21 +35,23 @@ const patternTarget = (exports, key) => {
|
|
|
31
35
|
});
|
|
32
36
|
const [prefix = "", suffix = ""] = pattern?.split("*") ?? [];
|
|
33
37
|
return pattern === undefined ? undefined : targetOf(exports[pattern], key.slice(prefix.length, key.length - suffix.length));
|
|
34
|
-
}
|
|
35
|
-
|
|
38
|
+
}
|
|
39
|
+
function exported(exports, subpath) {
|
|
36
40
|
const key = subpath === "" ? "." : `./${subpath}`;
|
|
37
41
|
if (!isRecord(exports)) {
|
|
38
42
|
return targetOf(exports, undefined);
|
|
39
43
|
}
|
|
40
44
|
return Object.hasOwn(exports, key) ? targetOf(exports[key], undefined) : (patternTarget(exports, key) ?? targetOf(exports, undefined));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
}
|
|
46
|
+
function inPackage(directory, target) {
|
|
47
|
+
return target?.startsWith("./") === true ? posix.join(directory, target) : undefined;
|
|
48
|
+
}
|
|
49
|
+
async function manifestAt(readText, path) {
|
|
44
50
|
const text = await readText(path);
|
|
45
51
|
const decoded = text === undefined ? undefined : await decodeWith(manifestSchema, text);
|
|
46
52
|
return decoded?._tag === "Valid" ? decoded.value : undefined;
|
|
47
|
-
}
|
|
48
|
-
|
|
53
|
+
}
|
|
54
|
+
function fromDependency(directory, manifest, subpath) {
|
|
49
55
|
if (manifest.exports !== undefined) {
|
|
50
56
|
return inPackage(directory, exported(manifest.exports, subpath));
|
|
51
57
|
}
|
|
@@ -53,9 +59,9 @@ const fromDependency = (directory, manifest, subpath) => {
|
|
|
53
59
|
return posix.join(directory, manifest.main);
|
|
54
60
|
}
|
|
55
61
|
return subpath === "" ? undefined : posix.join(directory, subpath);
|
|
56
|
-
}
|
|
57
|
-
export
|
|
58
|
-
const
|
|
62
|
+
}
|
|
63
|
+
export async function resolvePackage(readText, specifier) {
|
|
64
|
+
const { name, subpath = "" } = SPECIFIER.exec(specifier)?.groups ?? {};
|
|
59
65
|
if (name === undefined) {
|
|
60
66
|
return undefined;
|
|
61
67
|
}
|
|
@@ -66,5 +72,5 @@ export const resolvePackage = async (readText, specifier) => {
|
|
|
66
72
|
const directory = posix.join("node_modules", name);
|
|
67
73
|
const manifest = await manifestAt(readText, posix.join(directory, "package.json"));
|
|
68
74
|
return manifest === undefined ? undefined : fromDependency(directory, manifest, subpath);
|
|
69
|
-
}
|
|
75
|
+
}
|
|
70
76
|
//# sourceMappingURL=resolve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAC;AAIH,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAElF,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtE,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/rules/suppressions/biome/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;CACvC,CAAC,CAAC;AAIH,MAAM,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAElF,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtE,MAAM,SAAS,GAAG,qDAAqD,CAAC;AAExE,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,IAAwB;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,KAAa;IACjD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC7E,CAAC;AAED,SAAS,aAAa,CAAC,OAA0C,EAAE,GAAW;IAC7E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SAClC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;SACxD,IAAI,CAAC,aAAa,CAAC;SACnB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACnB,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC;IAC3G,CAAC,CAAC,CAAC;IACJ,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7D,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,QAAQ,CAAC,OAAgB,EAAE,OAAe;IAClD,MAAM,GAAG,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AACxI,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB,EAAE,MAA0B;IAC/D,OAAO,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgC,EAAE,IAAY;IACvE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxF,OAAO,OAAO,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB,EAAE,QAAkB,EAAE,OAAe;IAC7E,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgC,EAAE,SAAiB;IACvF,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;IACvE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;QACvE,OAAO,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;IACnF,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC1F,CAAC"}
|