@opensip-cli/checks-universal 0.1.10 → 0.1.12
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/README.md +4 -2
- package/dist/__tests__/all-checks-execute.test.d.ts.map +1 -1
- package/dist/__tests__/all-checks-execute.test.js +0 -1
- package/dist/__tests__/all-checks-execute.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-10.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-10.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-10.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-11.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-11.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-11.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-12.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-12.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-12.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-2.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-2.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-2.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-3.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-3.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-3.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-4.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-4.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-4.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-5.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-5.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-5.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-6.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-6.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-6.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-7.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-7.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-7.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-8.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-8.test.js +2 -3
- package/dist/__tests__/behavior-fixtures-8.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures-9.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures-9.test.js +0 -1
- package/dist/__tests__/behavior-fixtures-9.test.js.map +1 -1
- package/dist/__tests__/behavior-fixtures.test.d.ts.map +1 -1
- package/dist/__tests__/behavior-fixtures.test.js +10 -9
- package/dist/__tests__/behavior-fixtures.test.js.map +1 -1
- package/dist/__tests__/file-length-limit.test.js +12 -1
- package/dist/__tests__/file-length-limit.test.js.map +1 -1
- package/dist/__tests__/resilience-fp.test.js +42 -0
- package/dist/__tests__/resilience-fp.test.js.map +1 -1
- package/dist/checks/architecture/__tests__/tool-identity-single-source.test.d.ts +2 -0
- package/dist/checks/architecture/__tests__/tool-identity-single-source.test.d.ts.map +1 -0
- package/dist/checks/architecture/__tests__/tool-identity-single-source.test.js +61 -0
- package/dist/checks/architecture/__tests__/tool-identity-single-source.test.js.map +1 -0
- package/dist/checks/architecture/dependencies/no-duplicate-packages.d.ts.map +1 -1
- package/dist/checks/architecture/dependencies/no-duplicate-packages.js +0 -2
- package/dist/checks/architecture/dependencies/no-duplicate-packages.js.map +1 -1
- package/dist/checks/architecture/docker-best-practices-analyze.d.ts +7 -0
- package/dist/checks/architecture/docker-best-practices-analyze.d.ts.map +1 -0
- package/dist/checks/architecture/docker-best-practices-analyze.js +301 -0
- package/dist/checks/architecture/docker-best-practices-analyze.js.map +1 -0
- package/dist/checks/architecture/docker-best-practices-patterns.d.ts +50 -0
- package/dist/checks/architecture/docker-best-practices-patterns.d.ts.map +1 -0
- package/dist/checks/architecture/docker-best-practices-patterns.js +51 -0
- package/dist/checks/architecture/docker-best-practices-patterns.js.map +1 -0
- package/dist/checks/architecture/docker-best-practices.d.ts.map +1 -1
- package/dist/checks/architecture/docker-best-practices.js +1 -367
- package/dist/checks/architecture/docker-best-practices.js.map +1 -1
- package/dist/checks/architecture/docker-ignore-validation.d.ts.map +1 -1
- package/dist/checks/architecture/docker-ignore-validation.js +0 -1
- package/dist/checks/architecture/docker-ignore-validation.js.map +1 -1
- package/dist/checks/architecture/docker-version-sync.d.ts.map +1 -1
- package/dist/checks/architecture/docker-version-sync.js +0 -1
- package/dist/checks/architecture/docker-version-sync.js.map +1 -1
- package/dist/checks/architecture/heavy-import-detection.d.ts.map +1 -1
- package/dist/checks/architecture/heavy-import-detection.js +1 -0
- package/dist/checks/architecture/heavy-import-detection.js.map +1 -1
- package/dist/checks/architecture/index.d.ts +1 -0
- package/dist/checks/architecture/index.d.ts.map +1 -1
- package/dist/checks/architecture/index.js +1 -0
- package/dist/checks/architecture/index.js.map +1 -1
- package/dist/checks/architecture/modules/empty-package-detection.d.ts.map +1 -1
- package/dist/checks/architecture/modules/empty-package-detection.js +0 -3
- package/dist/checks/architecture/modules/empty-package-detection.js.map +1 -1
- package/dist/checks/architecture/modules/interface-implementation-consistency-constants.d.ts +16 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-constants.d.ts.map +1 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-constants.js +182 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-constants.js.map +1 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-parse.d.ts +23 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-parse.d.ts.map +1 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-parse.js +235 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency-parse.js.map +1 -0
- package/dist/checks/architecture/modules/interface-implementation-consistency.d.ts.map +1 -1
- package/dist/checks/architecture/modules/interface-implementation-consistency.js +4 -462
- package/dist/checks/architecture/modules/interface-implementation-consistency.js.map +1 -1
- package/dist/checks/architecture/node-version-consistency.d.ts.map +1 -1
- package/dist/checks/architecture/node-version-consistency.js +0 -2
- package/dist/checks/architecture/node-version-consistency.js.map +1 -1
- package/dist/checks/architecture/project-readme-existence.d.ts.map +1 -1
- package/dist/checks/architecture/project-readme-existence.js +0 -1
- package/dist/checks/architecture/project-readme-existence.js.map +1 -1
- package/dist/checks/architecture/stale-build-artifacts.d.ts.map +1 -1
- package/dist/checks/architecture/stale-build-artifacts.js +0 -1
- package/dist/checks/architecture/stale-build-artifacts.js.map +1 -1
- package/dist/checks/architecture/tool-has-manifest.d.ts.map +1 -1
- package/dist/checks/architecture/tool-has-manifest.js +0 -1
- package/dist/checks/architecture/tool-has-manifest.js.map +1 -1
- package/dist/checks/architecture/tool-identity-single-source.d.ts +23 -0
- package/dist/checks/architecture/tool-identity-single-source.d.ts.map +1 -0
- package/dist/checks/architecture/tool-identity-single-source.js +126 -0
- package/dist/checks/architecture/tool-identity-single-source.js.map +1 -0
- package/dist/checks/architecture/vitest-config-required-with-tests.d.ts.map +1 -1
- package/dist/checks/architecture/vitest-config-required-with-tests.js +0 -1
- package/dist/checks/architecture/vitest-config-required-with-tests.js.map +1 -1
- package/dist/checks/documentation/_directives/fitness.d.ts.map +1 -1
- package/dist/checks/documentation/_directives/fitness.js +7 -52
- package/dist/checks/documentation/_directives/fitness.js.map +1 -1
- package/dist/checks/documentation/_directives/graph.d.ts.map +1 -1
- package/dist/checks/documentation/_directives/graph.js +7 -52
- package/dist/checks/documentation/_directives/graph.js.map +1 -1
- package/dist/checks/documentation/_directives/semgrep.d.ts.map +1 -1
- package/dist/checks/documentation/_directives/semgrep.js +2 -12
- package/dist/checks/documentation/_directives/semgrep.js.map +1 -1
- package/dist/checks/documentation/_directives/shared.d.ts +9 -0
- package/dist/checks/documentation/_directives/shared.d.ts.map +1 -0
- package/dist/checks/documentation/_directives/shared.js +53 -0
- package/dist/checks/documentation/_directives/shared.js.map +1 -0
- package/dist/checks/documentation/_public-api-graph.d.ts +3 -26
- package/dist/checks/documentation/_public-api-graph.d.ts.map +1 -1
- package/dist/checks/documentation/_public-api-graph.js +3 -300
- package/dist/checks/documentation/_public-api-graph.js.map +1 -1
- package/dist/checks/documentation/directive-audit.d.ts.map +1 -1
- package/dist/checks/documentation/directive-audit.js +0 -1
- package/dist/checks/documentation/directive-audit.js.map +1 -1
- package/dist/checks/file-length-limit.d.ts +7 -0
- package/dist/checks/file-length-limit.d.ts.map +1 -1
- package/dist/checks/file-length-limit.js +14 -2
- package/dist/checks/file-length-limit.js.map +1 -1
- package/dist/checks/quality/code-structure/dead-code.d.ts.map +1 -1
- package/dist/checks/quality/code-structure/dead-code.js +0 -1
- package/dist/checks/quality/code-structure/dead-code.js.map +1 -1
- package/dist/checks/quality/dependency-version-consistency.d.ts.map +1 -1
- package/dist/checks/quality/dependency-version-consistency.js +0 -3
- package/dist/checks/quality/dependency-version-consistency.js.map +1 -1
- package/dist/checks/quality/frontend/navigation-typing.d.ts.map +1 -1
- package/dist/checks/quality/frontend/navigation-typing.js +0 -1
- package/dist/checks/quality/frontend/navigation-typing.js.map +1 -1
- package/dist/checks/quality/index.d.ts +1 -0
- package/dist/checks/quality/index.d.ts.map +1 -1
- package/dist/checks/quality/index.js +1 -0
- package/dist/checks/quality/index.js.map +1 -1
- package/dist/checks/quality/linting/eslint-justifications.d.ts.map +1 -1
- package/dist/checks/quality/linting/eslint-justifications.js +1 -1
- package/dist/checks/quality/linting/eslint-justifications.js.map +1 -1
- package/dist/checks/quality/no-raw-regex-on-code.d.ts.map +1 -1
- package/dist/checks/quality/no-raw-regex-on-code.js +2 -3
- package/dist/checks/quality/no-raw-regex-on-code.js.map +1 -1
- package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.d.ts +5 -0
- package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.d.ts.map +1 -0
- package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.js +66 -0
- package/dist/checks/quality/patterns/__tests__/performance-anti-patterns-fp.test.js.map +1 -0
- package/dist/checks/quality/patterns/performance-anti-patterns.d.ts +3 -0
- package/dist/checks/quality/patterns/performance-anti-patterns.d.ts.map +1 -1
- package/dist/checks/quality/patterns/performance-anti-patterns.js +47 -30
- package/dist/checks/quality/patterns/performance-anti-patterns.js.map +1 -1
- package/dist/checks/quality/yagni-ignore-hygiene.d.ts +10 -0
- package/dist/checks/quality/yagni-ignore-hygiene.d.ts.map +1 -0
- package/dist/checks/quality/yagni-ignore-hygiene.js +87 -0
- package/dist/checks/quality/yagni-ignore-hygiene.js.map +1 -0
- package/dist/checks/quality/yagni-ignore-hygiene.test.d.ts +5 -0
- package/dist/checks/quality/yagni-ignore-hygiene.test.d.ts.map +1 -0
- package/dist/checks/quality/yagni-ignore-hygiene.test.js +37 -0
- package/dist/checks/quality/yagni-ignore-hygiene.test.js.map +1 -0
- package/dist/checks/resilience/batch-operation-limits.d.ts +13 -0
- package/dist/checks/resilience/batch-operation-limits.d.ts.map +1 -0
- package/dist/checks/resilience/batch-operation-limits.js +214 -0
- package/dist/checks/resilience/batch-operation-limits.js.map +1 -0
- package/dist/checks/resilience/batch-operations.d.ts +2 -21
- package/dist/checks/resilience/batch-operations.d.ts.map +1 -1
- package/dist/checks/resilience/batch-operations.js +2 -420
- package/dist/checks/resilience/batch-operations.js.map +1 -1
- package/dist/checks/resilience/dangerous-config-defaults.d.ts.map +1 -1
- package/dist/checks/resilience/dangerous-config-defaults.js +0 -1
- package/dist/checks/resilience/dangerous-config-defaults.js.map +1 -1
- package/dist/checks/resilience/exit-code-correctness.d.ts.map +1 -1
- package/dist/checks/resilience/exit-code-correctness.js +0 -1
- package/dist/checks/resilience/exit-code-correctness.js.map +1 -1
- package/dist/checks/resilience/no-process-exit-in-finally.d.ts.map +1 -1
- package/dist/checks/resilience/no-process-exit-in-finally.js +0 -1
- package/dist/checks/resilience/no-process-exit-in-finally.js.map +1 -1
- package/dist/checks/resilience/readline-cleanup.d.ts.map +1 -1
- package/dist/checks/resilience/readline-cleanup.js +0 -1
- package/dist/checks/resilience/readline-cleanup.js.map +1 -1
- package/dist/checks/resilience/reentrancy-guard.d.ts.map +1 -1
- package/dist/checks/resilience/reentrancy-guard.js +0 -1
- package/dist/checks/resilience/reentrancy-guard.js.map +1 -1
- package/dist/checks/resilience/sentry/_helpers/sentry.d.ts +10 -0
- package/dist/checks/resilience/sentry/_helpers/sentry.d.ts.map +1 -1
- package/dist/checks/resilience/sentry/_helpers/sentry.js +21 -0
- package/dist/checks/resilience/sentry/_helpers/sentry.js.map +1 -1
- package/dist/checks/resilience/sentry/sentry-dsn-configured.d.ts.map +1 -1
- package/dist/checks/resilience/sentry/sentry-dsn-configured.js +8 -23
- package/dist/checks/resilience/sentry/sentry-dsn-configured.js.map +1 -1
- package/dist/checks/resilience/sentry/sentry-environment-set.d.ts.map +1 -1
- package/dist/checks/resilience/sentry/sentry-environment-set.js +8 -20
- package/dist/checks/resilience/sentry/sentry-environment-set.js.map +1 -1
- package/dist/checks/resilience/sentry/sentry-release-set.d.ts.map +1 -1
- package/dist/checks/resilience/sentry/sentry-release-set.js +8 -20
- package/dist/checks/resilience/sentry/sentry-release-set.js.map +1 -1
- package/dist/checks/resilience/service-patterns.d.ts.map +1 -1
- package/dist/checks/resilience/service-patterns.js +0 -1
- package/dist/checks/resilience/service-patterns.js.map +1 -1
- package/dist/checks/resilience/unbounded-memory.d.ts +13 -0
- package/dist/checks/resilience/unbounded-memory.d.ts.map +1 -0
- package/dist/checks/resilience/unbounded-memory.js +274 -0
- package/dist/checks/resilience/unbounded-memory.js.map +1 -0
- package/dist/checks/security/csp-headers.d.ts.map +1 -1
- package/dist/checks/security/csp-headers.js +0 -1
- package/dist/checks/security/csp-headers.js.map +1 -1
- package/dist/checks/security/hasura-production-config.d.ts.map +1 -1
- package/dist/checks/security/hasura-production-config.js +0 -1
- package/dist/checks/security/hasura-production-config.js.map +1 -1
- package/dist/checks/security/jwt-validation.d.ts.map +1 -1
- package/dist/checks/security/jwt-validation.js +0 -2
- package/dist/checks/security/jwt-validation.js.map +1 -1
- package/dist/checks/security/package-supply-chain-policy.d.ts.map +1 -1
- package/dist/checks/security/package-supply-chain-policy.js +9 -16
- package/dist/checks/security/package-supply-chain-policy.js.map +1 -1
- package/dist/checks/security/semgrep-scan.d.ts.map +1 -1
- package/dist/checks/security/semgrep-scan.js +0 -1
- package/dist/checks/security/semgrep-scan.js.map +1 -1
- package/dist/checks/security/use-centralized-crypto.d.ts.map +1 -1
- package/dist/checks/security/use-centralized-crypto.js +2 -3
- package/dist/checks/security/use-centralized-crypto.js.map +1 -1
- package/dist/checks/testing/test-convention-consistency.d.ts.map +1 -1
- package/dist/checks/testing/test-convention-consistency.js +0 -2
- package/dist/checks/testing/test-convention-consistency.js.map +1 -1
- package/dist/checks/testing/test-file-naming.d.ts.map +1 -1
- package/dist/checks/testing/test-file-naming.js +0 -1
- package/dist/checks/testing/test-file-naming.js.map +1 -1
- package/dist/checks/testing/test-file-pairing.d.ts.map +1 -1
- package/dist/checks/testing/test-file-pairing.js +3 -7
- package/dist/checks/testing/test-file-pairing.js.map +1 -1
- package/dist/display/architecture.d.ts.map +1 -1
- package/dist/display/architecture.js +1 -0
- package/dist/display/architecture.js.map +1 -1
- package/dist/display/quality.d.ts.map +1 -1
- package/dist/display/quality.js +1 -0
- package/dist/display/quality.js.map +1 -1
- package/dist/display/types.d.ts.map +1 -1
- package/dist/display/types.js +0 -1
- package/dist/display/types.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-has-manifest.js","sourceRoot":"","sources":["../../../src/checks/architecture/tool-has-manifest.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tool-has-manifest.js","sourceRoot":"","sources":["../../../src/checks/architecture/tool-has-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAA0C,MAAM,sBAAsB,CAAC;AAoB3F,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAWD;;;;GAIG;AACH,SAAS,aAAa,CAAC,QAAiB,EAAE,IAAmB;IAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,UAAU,EAAE,oDAAoD,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,gDAAgD,CAAC,CAAC;YAC9E,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,KAAwB,CAAC;QACrC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,wCAAwC,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB,EAAE,QAAgB;IACpE,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvD,MAAM,IAAI,GAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,CAAC;YACP,QAAQ;YACR,OAAO,EAAE,GAAG,OAAO,kBAAkB,KAAK,MAAM,OAAO,EAAE;YACzD,QAAQ,EAAE,OAAO;YACjB,UAAU,EACR,0EAA0E;gBAC1E,yEAAyE;gBACzE,2DAA2D;YAC7D,IAAI,EAAE,YAAY,KAAK,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,wEAAwE;IACxE,gEAAgE;IAChE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,mCAAmC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,iDAAiD,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,EAAE,0DAA0D,CAAC,CAAC;IACjF,CAAC;IAED,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAEpC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,GAAgB,EAAE,QAAgB;IACvE,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;IAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,CAAC;IAC7D,OAAO,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAmB;IAC/D,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,+EAA+E;IAC/E,+EAA+E;IAC/E,uEAAuE;IACvE,2DAA2D;IAC3D,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,cAAc;YAAE,SAAS;QACzD,IAAI,GAAgB,CAAC;QACrB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAgB,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,gEAAgE;YAChE,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;IACzC,EAAE,EAAE,sCAAsC;IAC1C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,8JAA8J;IAChK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;IAC1D,IAAI,EAAE,CAAC,cAAc,CAAC;IACtB,aAAa,EAAE,KAAK;IACpB,UAAU,EAAE,uBAAuB;CACpC,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type CheckViolation, type FileAccessor } from '@opensip-cli/fitness';
|
|
2
|
+
interface ManifestIdentity {
|
|
3
|
+
readonly name?: unknown;
|
|
4
|
+
readonly aliases?: unknown;
|
|
5
|
+
readonly layoutKey?: unknown;
|
|
6
|
+
}
|
|
7
|
+
interface OpensipToolsBlock {
|
|
8
|
+
readonly kind?: unknown;
|
|
9
|
+
readonly id?: unknown;
|
|
10
|
+
readonly identity?: ManifestIdentity;
|
|
11
|
+
readonly commands?: unknown;
|
|
12
|
+
readonly pluginLayout?: {
|
|
13
|
+
readonly domain?: unknown;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
interface PackageJson {
|
|
17
|
+
readonly opensipTools?: OpensipToolsBlock;
|
|
18
|
+
}
|
|
19
|
+
export declare function analyzeToolIdentitySingleSource(pkg: PackageJson, filePath: string): CheckViolation[];
|
|
20
|
+
export declare function analyzeAllToolIdentityManifests(files: FileAccessor): Promise<CheckViolation[]>;
|
|
21
|
+
export declare const toolIdentitySingleSource: import("@opensip-cli/fitness").Check;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=tool-identity-single-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-identity-single-source.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/tool-identity-single-source.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE3F,UAAU,gBAAgB;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAQD,UAAU,iBAAiB;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACvD;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAC3C;AAsHD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,MAAM,GACf,cAAc,EAAE,CAIlB;AAED,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CAa3B;AAED,eAAO,MAAM,wBAAwB,sCASnC,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview First-party tool packages must declare a single `identity` block
|
|
3
|
+
* in package.json#opensipTools that matches the normalized runtime surface.
|
|
4
|
+
*/
|
|
5
|
+
import path from 'node:path';
|
|
6
|
+
import { defineCheck } from '@opensip-cli/fitness';
|
|
7
|
+
function isJsonObject(value) {
|
|
8
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
9
|
+
}
|
|
10
|
+
function checkIdentity(block, push) {
|
|
11
|
+
const identity = block.identity;
|
|
12
|
+
if (!isJsonObject(identity)) {
|
|
13
|
+
push('identity', 'must declare opensipTools.identity { name, aliases?, layoutKey? }');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (typeof identity.name !== 'string' || identity.name === '') {
|
|
17
|
+
push('identity.name', 'must be a non-empty string (canonical CLI + config namespace)');
|
|
18
|
+
}
|
|
19
|
+
if (block.id !== identity.name) {
|
|
20
|
+
push('id', `must equal identity.name (got id=${JSON.stringify(block.id)}, identity.name=${JSON.stringify(identity.name)})`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function findPrimaryCommand(commands) {
|
|
24
|
+
for (const entry of commands) {
|
|
25
|
+
if (!isJsonObject(entry))
|
|
26
|
+
continue;
|
|
27
|
+
const cmd = entry;
|
|
28
|
+
if (cmd.parent === undefined)
|
|
29
|
+
return cmd;
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
function checkPrimaryCommandName(primary, identityName, push) {
|
|
34
|
+
if (primary.name === identityName)
|
|
35
|
+
return;
|
|
36
|
+
push('commands', `primary command name must be identity.name (${JSON.stringify(identityName)}), got ${JSON.stringify(primary.name)}`);
|
|
37
|
+
}
|
|
38
|
+
function checkPrimaryCommandAliases(primary, identity, push) {
|
|
39
|
+
const expectedAliases = Array.isArray(identity.aliases) ? identity.aliases : [];
|
|
40
|
+
const declaredAliases = Array.isArray(primary.aliases) ? primary.aliases : [];
|
|
41
|
+
if (JSON.stringify(declaredAliases) === JSON.stringify(expectedAliases))
|
|
42
|
+
return;
|
|
43
|
+
push('commands', 'primary command aliases must equal identity.aliases exactly');
|
|
44
|
+
}
|
|
45
|
+
function layoutKeyForIdentity(identity, identityName) {
|
|
46
|
+
return typeof identity.layoutKey === 'string' && identity.layoutKey !== ''
|
|
47
|
+
? identity.layoutKey
|
|
48
|
+
: identityName;
|
|
49
|
+
}
|
|
50
|
+
function checkPluginLayoutDomain(block, layoutKey, push) {
|
|
51
|
+
const pluginDomain = block.pluginLayout?.domain;
|
|
52
|
+
if (pluginDomain === undefined || pluginDomain === layoutKey)
|
|
53
|
+
return;
|
|
54
|
+
push('pluginLayout.domain', `must equal identity.layoutKey ?? identity.name (${JSON.stringify(layoutKey)})`);
|
|
55
|
+
}
|
|
56
|
+
function checkManifestCommands(block, push) {
|
|
57
|
+
const identity = block.identity;
|
|
58
|
+
if (!isJsonObject(identity))
|
|
59
|
+
return;
|
|
60
|
+
const identityName = identity.name;
|
|
61
|
+
if (typeof identityName !== 'string')
|
|
62
|
+
return;
|
|
63
|
+
const commands = block.commands;
|
|
64
|
+
if (!Array.isArray(commands))
|
|
65
|
+
return;
|
|
66
|
+
const primary = findPrimaryCommand(commands);
|
|
67
|
+
if (primary === undefined) {
|
|
68
|
+
push('commands', 'must declare exactly one flat primary command matching identity.name');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
checkPrimaryCommandName(primary, identityName, push);
|
|
72
|
+
checkPrimaryCommandAliases(primary, identity, push);
|
|
73
|
+
checkPluginLayoutDomain(block, layoutKeyForIdentity(identity, identityName), push);
|
|
74
|
+
}
|
|
75
|
+
function checkManifestBlock(block, filePath) {
|
|
76
|
+
const violations = [];
|
|
77
|
+
const relPath = path.relative(process.cwd(), filePath);
|
|
78
|
+
const push = (field, message) => {
|
|
79
|
+
violations.push({
|
|
80
|
+
line: 1,
|
|
81
|
+
filePath,
|
|
82
|
+
message: `${relPath}: opensipTools.${field} — ${message}`,
|
|
83
|
+
severity: 'error',
|
|
84
|
+
suggestion: 'Declare tool identity once: opensipTools.identity { name, aliases?, layoutKey? }; ' +
|
|
85
|
+
'id must equal identity.name; primary command name/aliases and pluginLayout.domain must derive from it.',
|
|
86
|
+
type: `identity-${field.replaceAll('.', '-')}`,
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
if (block.kind !== 'tool')
|
|
90
|
+
return violations;
|
|
91
|
+
checkIdentity(block, push);
|
|
92
|
+
checkManifestCommands(block, push);
|
|
93
|
+
return violations;
|
|
94
|
+
}
|
|
95
|
+
export function analyzeToolIdentitySingleSource(pkg, filePath) {
|
|
96
|
+
const block = pkg.opensipTools;
|
|
97
|
+
if (!isJsonObject(block) || block.kind !== 'tool')
|
|
98
|
+
return [];
|
|
99
|
+
return checkManifestBlock(block, filePath);
|
|
100
|
+
}
|
|
101
|
+
export async function analyzeAllToolIdentityManifests(files) {
|
|
102
|
+
const violations = [];
|
|
103
|
+
for (const filePath of files.paths) {
|
|
104
|
+
if (path.basename(filePath) !== 'package.json')
|
|
105
|
+
continue;
|
|
106
|
+
let pkg;
|
|
107
|
+
try {
|
|
108
|
+
pkg = JSON.parse(await files.read(filePath));
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
violations.push(...analyzeToolIdentitySingleSource(pkg, filePath));
|
|
114
|
+
}
|
|
115
|
+
return violations;
|
|
116
|
+
}
|
|
117
|
+
export const toolIdentitySingleSource = defineCheck({
|
|
118
|
+
id: 'c8f3e1a2-9b4d-4e6f-a1c0-2d8e7f9a3b5c',
|
|
119
|
+
slug: 'tool-identity-single-source',
|
|
120
|
+
description: 'Tool packages declare opensipTools.identity once; manifest id, primary command, aliases, and pluginLayout.domain must match the normalized runtime surface',
|
|
121
|
+
scope: { languages: ['typescript'], concerns: ['config'] },
|
|
122
|
+
tags: ['architecture'],
|
|
123
|
+
contentFilter: 'raw',
|
|
124
|
+
analyzeAll: analyzeAllToolIdentityManifests,
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=tool-identity-single-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-identity-single-source.js","sourceRoot":"","sources":["../../../src/checks/architecture/tool-identity-single-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-config-required-with-tests.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/vitest-config-required-with-tests.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAe,KAAK,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AA2B3F;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3C;AA4CD,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,kBAGxB,CAAC;AAqCF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,IAAI,EAAE,kBAAkB,GACvB,cAAc,EAAE,CAkDlB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"vitest-config-required-with-tests.d.ts","sourceRoot":"","sources":["../../../src/checks/architecture/vitest-config-required-with-tests.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAe,KAAK,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AA2B3F;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC;;;;OAIG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3C;AA4CD,mDAAmD;AACnD,eAAO,MAAM,UAAU,EAAE,kBAGxB,CAAC;AAqCF;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,IAAI,EAAE,kBAAkB,GACvB,cAAc,EAAE,CAkDlB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,sCA2BxC,CAAC"}
|
|
@@ -189,7 +189,6 @@ export const vitestConfigRequiredWithTests = defineCheck({
|
|
|
189
189
|
|
|
190
190
|
**Scope:** Cross-file analysis via \`analyzeAll\`. Package roots are discovered generically from \`package.json\` files; nested package roots, \`node_modules\`, fixtures, and build output are skipped when scanning for tests.`,
|
|
191
191
|
tags: ['architecture', 'testing'],
|
|
192
|
-
// @fitness-ignore-next-line concurrency-safety -- async keyword required by analyzeAll interface contract; synchronous analysis implementation
|
|
193
192
|
// eslint-disable-next-line @typescript-eslint/require-await -- AnalyzeAllCheckConfig requires Promise<CheckViolation[]>; this implementation is synchronous
|
|
194
193
|
async analyzeAll(files) {
|
|
195
194
|
const packageJsonPaths = files.paths.filter((fp) => path.basename(fp) === 'package.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-config-required-with-tests.js","sourceRoot":"","sources":["../../../src/checks/architecture/vitest-config-required-with-tests.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vitest-config-required-with-tests.js","sourceRoot":"","sources":["../../../src/checks/architecture/vitest-config-required-with-tests.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fitness.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/fitness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"fitness.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/fitness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,aAAa,EAAE,CAEjB"}
|
|
@@ -4,61 +4,16 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Extracted from `directive-audit.ts` in Phase C4.
|
|
6
6
|
*/
|
|
7
|
+
import { collectDirectives, extractIgnoreDirective } from './shared.js';
|
|
7
8
|
function extractFitnessDirective(line, lineIndex, filePath, file) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
let markerEnd;
|
|
12
|
-
const fileIdx = line.indexOf(fileMarker);
|
|
13
|
-
const nextLineIdx = line.indexOf(nextLineMarker);
|
|
14
|
-
if (fileIdx !== -1) {
|
|
15
|
-
scopeType = 'file';
|
|
16
|
-
markerEnd = fileIdx + fileMarker.length;
|
|
17
|
-
}
|
|
18
|
-
else if (nextLineIdx === -1) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
scopeType = 'next-line';
|
|
23
|
-
markerEnd = nextLineIdx + nextLineMarker.length;
|
|
24
|
-
}
|
|
25
|
-
// Extract check ID and reason
|
|
26
|
-
const afterMarker = line.slice(markerEnd).trim();
|
|
27
|
-
const spaceIdx = afterMarker.indexOf(' ');
|
|
28
|
-
if (spaceIdx === -1) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
const checkId = afterMarker.slice(0, spaceIdx);
|
|
32
|
-
const rest = afterMarker.slice(spaceIdx).trim();
|
|
33
|
-
// Look for -- separator
|
|
34
|
-
const separatorIdx = rest.indexOf('--');
|
|
35
|
-
if (separatorIdx === -1) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
const reason = rest.slice(separatorIdx + 2).trim();
|
|
39
|
-
return {
|
|
40
|
-
file,
|
|
41
|
-
filePath,
|
|
42
|
-
line: lineIndex + 1,
|
|
9
|
+
return extractIgnoreDirective(line, lineIndex, filePath, file, {
|
|
10
|
+
fileMarker: '@fitness-ignore-file',
|
|
11
|
+
nextLineMarker: '@fitness-ignore-next-line',
|
|
43
12
|
source: 'fitness',
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
reason,
|
|
47
|
-
raw: line.trim(),
|
|
48
|
-
};
|
|
13
|
+
ruleFor: (checkId) => `fitness/${checkId}`,
|
|
14
|
+
});
|
|
49
15
|
}
|
|
50
16
|
export function parseFitnessDirectives(content, filePath, file) {
|
|
51
|
-
|
|
52
|
-
const lines = content.split('\n');
|
|
53
|
-
for (const [i, line] of lines.entries()) {
|
|
54
|
-
if (line === undefined) {
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
const directive = extractFitnessDirective(line, i, filePath, file);
|
|
58
|
-
if (directive) {
|
|
59
|
-
directives.push(directive);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return directives;
|
|
17
|
+
return collectDirectives(content, filePath, file, extractFitnessDirective);
|
|
63
18
|
}
|
|
64
19
|
//# sourceMappingURL=fitness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fitness.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/fitness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"fitness.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/fitness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAIxE,SAAS,uBAAuB,CAC9B,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,IAAY;IAEZ,OAAO,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,UAAU,EAAE,sBAAsB;QAClC,cAAc,EAAE,2BAA2B;QAC3C,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,OAAO,EAAE;KAC3C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,QAAgB,EAChB,IAAY;IAEZ,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgBhD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,aAAa,EAAE,CAEjB"}
|
|
@@ -5,61 +5,16 @@
|
|
|
5
5
|
* Modeled on `./fitness.ts`. Graph rule ids are already namespaced
|
|
6
6
|
* (`graph:<…>`), so the parsed id is used directly as `rule`.
|
|
7
7
|
*/
|
|
8
|
+
import { collectDirectives, extractIgnoreDirective } from './shared.js';
|
|
8
9
|
function extractGraphDirective(line, lineIndex, filePath, file) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
let markerEnd;
|
|
13
|
-
const fileIdx = line.indexOf(fileMarker);
|
|
14
|
-
const nextLineIdx = line.indexOf(nextLineMarker);
|
|
15
|
-
if (fileIdx !== -1) {
|
|
16
|
-
scopeType = 'file';
|
|
17
|
-
markerEnd = fileIdx + fileMarker.length;
|
|
18
|
-
}
|
|
19
|
-
else if (nextLineIdx === -1) {
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
scopeType = 'next-line';
|
|
24
|
-
markerEnd = nextLineIdx + nextLineMarker.length;
|
|
25
|
-
}
|
|
26
|
-
// Extract rule id and reason
|
|
27
|
-
const afterMarker = line.slice(markerEnd).trim();
|
|
28
|
-
const spaceIdx = afterMarker.indexOf(' ');
|
|
29
|
-
if (spaceIdx === -1) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const ruleId = afterMarker.slice(0, spaceIdx);
|
|
33
|
-
const rest = afterMarker.slice(spaceIdx).trim();
|
|
34
|
-
// Look for -- separator
|
|
35
|
-
const separatorIdx = rest.indexOf('--');
|
|
36
|
-
if (separatorIdx === -1) {
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
const reason = rest.slice(separatorIdx + 2).trim();
|
|
40
|
-
return {
|
|
41
|
-
file,
|
|
42
|
-
filePath,
|
|
43
|
-
line: lineIndex + 1,
|
|
10
|
+
return extractIgnoreDirective(line, lineIndex, filePath, file, {
|
|
11
|
+
fileMarker: '@graph-ignore-file',
|
|
12
|
+
nextLineMarker: '@graph-ignore-next-line',
|
|
44
13
|
source: 'graph',
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
reason,
|
|
48
|
-
raw: line.trim(),
|
|
49
|
-
};
|
|
14
|
+
ruleFor: (ruleId) => ruleId,
|
|
15
|
+
});
|
|
50
16
|
}
|
|
51
17
|
export function parseGraphDirectives(content, filePath, file) {
|
|
52
|
-
|
|
53
|
-
const lines = content.split('\n');
|
|
54
|
-
for (const [i, line] of lines.entries()) {
|
|
55
|
-
if (line === undefined) {
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
const directive = extractGraphDirective(line, i, filePath, file);
|
|
59
|
-
if (directive) {
|
|
60
|
-
directives.push(directive);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return directives;
|
|
18
|
+
return collectDirectives(content, filePath, file, extractGraphDirective);
|
|
64
19
|
}
|
|
65
20
|
//# sourceMappingURL=graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/graph.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAIxE,SAAS,qBAAqB,CAC5B,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,IAAY;IAEZ,OAAO,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,UAAU,EAAE,oBAAoB;QAChC,cAAc,EAAE,yBAAyB;QACzC,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM;KAC5B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,QAAgB,EAChB,IAAY;IAEZ,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semgrep.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/semgrep.ts"],"names":[],"mappings":"AACA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"semgrep.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/semgrep.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgEhD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,aAAa,EAAE,CAEjB"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Extracted from `directive-audit.ts` in Phase C4.
|
|
6
6
|
*/
|
|
7
|
+
import { collectDirectives } from './shared.js';
|
|
7
8
|
/**
|
|
8
9
|
* Extract semgrep rule ID and reason from a nosemgrep directive line.
|
|
9
10
|
*
|
|
@@ -56,17 +57,6 @@ function extractSemgrepDirective(line, lineIndex, filePath, file) {
|
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
export function parseSemgrepDirectives(content, filePath, file) {
|
|
59
|
-
|
|
60
|
-
const lines = content.split('\n');
|
|
61
|
-
for (const [i, line] of lines.entries()) {
|
|
62
|
-
if (line === undefined) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
const directive = extractSemgrepDirective(line, i, filePath, file);
|
|
66
|
-
if (directive) {
|
|
67
|
-
directives.push(directive);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return directives;
|
|
60
|
+
return collectDirectives(content, filePath, file, extractSemgrepDirective);
|
|
71
61
|
}
|
|
72
62
|
//# sourceMappingURL=semgrep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semgrep.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/semgrep.ts"],"names":[],"mappings":"AAAA,0JAA0J;AAC1J;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"semgrep.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/semgrep.ts"],"names":[],"mappings":"AAAA,0JAA0J;AAC1J;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAC9B,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,IAAY;IAEZ,MAAM,eAAe,GAAG,WAAW,CAAC;IAEpC,yCAAyC;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE/D,6BAA6B;IAC7B,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,uBAAuB;IACzC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,0CAA0C;IAC1C,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,0CAA0C;QAC1C,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC;YAC5D,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,4BAA4B;QAC5B,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,IAAI,EAAE,SAAS,GAAG,CAAC;QACnB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW,MAAM,EAAE;QACzB,MAAM;QACN,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAe,EACf,QAAgB,EAChB,IAAY;IAEZ,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DirectiveInfo } from './types.js';
|
|
2
|
+
export declare function collectDirectives(content: string, filePath: string, file: string, extract: (line: string, lineIndex: number, filePath: string, file: string) => DirectiveInfo | null): DirectiveInfo[];
|
|
3
|
+
export declare function extractIgnoreDirective(line: string, lineIndex: number, filePath: string, file: string, input: {
|
|
4
|
+
readonly fileMarker: string;
|
|
5
|
+
readonly nextLineMarker: string;
|
|
6
|
+
readonly source: DirectiveInfo['source'];
|
|
7
|
+
readonly ruleFor: (id: string) => string;
|
|
8
|
+
}): DirectiveInfo | null;
|
|
9
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,KACT,aAAa,GAAG,IAAI,GACxB,aAAa,EAAE,CAgBjB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;CAC1C,GACA,aAAa,GAAG,IAAI,CAwCtB"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export function collectDirectives(content, filePath, file, extract) {
|
|
2
|
+
const directives = [];
|
|
3
|
+
const lines = content.split('\n');
|
|
4
|
+
for (const [i, line] of lines.entries()) {
|
|
5
|
+
if (line === undefined) {
|
|
6
|
+
continue;
|
|
7
|
+
}
|
|
8
|
+
const directive = extract(line, i, filePath, file);
|
|
9
|
+
if (directive) {
|
|
10
|
+
directives.push(directive);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return directives;
|
|
14
|
+
}
|
|
15
|
+
export function extractIgnoreDirective(line, lineIndex, filePath, file, input) {
|
|
16
|
+
let scopeType;
|
|
17
|
+
let markerEnd;
|
|
18
|
+
const fileIdx = line.indexOf(input.fileMarker);
|
|
19
|
+
const nextLineIdx = line.indexOf(input.nextLineMarker);
|
|
20
|
+
if (fileIdx !== -1) {
|
|
21
|
+
scopeType = 'file';
|
|
22
|
+
markerEnd = fileIdx + input.fileMarker.length;
|
|
23
|
+
}
|
|
24
|
+
else if (nextLineIdx === -1) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
scopeType = 'next-line';
|
|
29
|
+
markerEnd = nextLineIdx + input.nextLineMarker.length;
|
|
30
|
+
}
|
|
31
|
+
const afterMarker = line.slice(markerEnd).trim();
|
|
32
|
+
const spaceIdx = afterMarker.indexOf(' ');
|
|
33
|
+
if (spaceIdx === -1) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const id = afterMarker.slice(0, spaceIdx);
|
|
37
|
+
const rest = afterMarker.slice(spaceIdx).trim();
|
|
38
|
+
const separatorIdx = rest.indexOf('--');
|
|
39
|
+
if (separatorIdx === -1) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
file,
|
|
44
|
+
filePath,
|
|
45
|
+
line: lineIndex + 1,
|
|
46
|
+
source: input.source,
|
|
47
|
+
scope: scopeType,
|
|
48
|
+
rule: input.ruleFor(id),
|
|
49
|
+
reason: rest.slice(separatorIdx + 2).trim(),
|
|
50
|
+
raw: line.trim(),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/checks/documentation/_directives/shared.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,QAAgB,EAChB,IAAY,EACZ,OAKyB;IAEzB,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,IAAY,EACZ,KAKC;IAED,IAAI,SAA+B,CAAC;IACpC,IAAI,SAAiB,CAAC;IAEtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEvD,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,SAAS,GAAG,MAAM,CAAC;QACnB,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IAChD,CAAC;SAAM,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,WAAW,CAAC;QACxB,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC;IACxD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,IAAI,EAAE,SAAS,GAAG,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;QAC3C,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;KACjB,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview
|
|
2
|
+
* @fileoverview Re-export shim — implementation lives in @opensip-cli/core.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* `package.json#exports` entry barrels via `export ... from` re-exports.
|
|
6
|
-
*
|
|
7
|
-
* Why re-exports only (not plain `import`): a file imported by a public
|
|
8
|
-
* file is internal to that file — its exports are not part of the
|
|
9
|
-
* package's published surface. Only `export ... from './foo.js'`
|
|
10
|
-
* re-makes `./foo.ts`'s exports visible to consumers.
|
|
11
|
-
*
|
|
12
|
-
* Used by `public-api-jsdoc` to scope JSDoc requirements to the actual
|
|
13
|
-
* npm-published API surface, not every `export` in every internal file.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Reset all memoized state. Intended for tests.
|
|
17
|
-
*/
|
|
18
|
-
export declare function _resetPublicApiGraphCache(): void;
|
|
19
|
-
/**
|
|
20
|
-
* Determine whether `filePath` is part of the package's public API
|
|
21
|
-
* surface — i.e., reachable from the package's `exports` entries via
|
|
22
|
-
* `export ... from` re-export chains.
|
|
23
|
-
*
|
|
24
|
-
* Returns `true` if reachable; `false` if not. Returns `true` (open
|
|
25
|
-
* fail) when the package surface cannot be determined (no
|
|
26
|
-
* package.json, no `exports`, etc.) so the check degrades to its
|
|
27
|
-
* historical broad behavior rather than silently passing.
|
|
4
|
+
* Keeps `_resetPublicApiGraphCache` on this path for existing tests.
|
|
28
5
|
*/
|
|
29
|
-
export
|
|
6
|
+
export { _resetPublicApiGraphCache, isInPublicApiSurface } from '@opensip-cli/core';
|
|
30
7
|
//# sourceMappingURL=_public-api-graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_public-api-graph.d.ts","sourceRoot":"","sources":["../../../src/checks/documentation/_public-api-graph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_public-api-graph.d.ts","sourceRoot":"","sources":["../../../src/checks/documentation/_public-api-graph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|