@codeperfect/eslint-plugin 2.0.0 → 2.2.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/README.md +3 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/application/custom-rules.d.ts +8 -8
- package/dist/application/custom-rules.js +14 -14
- package/dist/application/index.d.ts +1 -1
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +2 -2
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +3 -4
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +5 -3
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +17 -7
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +36 -4
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts +2 -0
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/index.js +3 -1
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts +5 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +247 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts +5 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +136 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +8 -3
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.js +12 -5
- package/dist/domain/architecture/index.d.ts +2 -1
- package/dist/domain/architecture/index.d.ts.map +1 -1
- package/dist/domain/architecture/index.js +3 -2
- package/dist/domain/architecture/no-unused-exports/index.d.ts +3 -0
- package/dist/domain/architecture/no-unused-exports/index.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/index.js +2 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts +50 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +141 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +49 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +608 -0
- package/dist/domain/architecture/no-unused-exports/rule.d.ts +5 -0
- package/dist/domain/architecture/no-unused-exports/rule.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/rule.js +82 -0
- package/dist/domain/architecture/no-unused-exports/types.d.ts +32 -0
- package/dist/domain/architecture/no-unused-exports/types.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/types.js +2 -0
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +58 -6
- package/dist/domain/core/no-multiple-declarators/types.d.ts +3 -1
- package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/types.js +5 -2
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule.js +94 -23
- package/dist/domain/custom-rule-documentation.d.ts +3 -14
- package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
- package/dist/domain/custom-rule-documentation.js +3 -2
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +11 -2
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +12 -4
- package/dist/domain/docs/require-example-language/examples.d.ts +4 -15
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/examples.js +119 -26
- package/dist/domain/docs/require-example-language/fixes.d.ts +1 -21
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/fixes.js +5 -2
- package/dist/domain/docs/require-example-language/reporting.d.ts +2 -38
- package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/reporting.js +2 -2
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/rule.js +7 -3
- package/dist/domain/docs/require-example-language/types.d.ts +1 -1
- package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/types.js +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts +1 -2
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.js +18 -13
- package/dist/domain/index.d.ts +2 -3
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -4
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts +2 -78
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +121 -3
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +199 -4
- package/dist/domain/testing/aaa/analyzer.analysis.js +30 -188
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts +1 -92
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +93 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +184 -0
- package/dist/domain/testing/aaa/analyzer.assertions.js +5 -283
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +62 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +106 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts +1 -74
- package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +75 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +202 -0
- package/dist/domain/testing/aaa/analyzer.classification.js +5 -201
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +13 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.js +32 -0
- package/dist/domain/testing/aaa/analyzer.super.d.ts +6 -13
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +14 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.js +64 -0
- package/dist/domain/testing/aaa/analyzer.super.js +29 -61
- package/dist/domain/testing/aaa/index.d.ts +1 -2
- package/dist/domain/testing/aaa/index.d.ts.map +1 -1
- package/dist/domain/testing/aaa/index.js +2 -2
- package/dist/domain/testing/aaa/types.d.ts +1 -1
- package/dist/domain/testing/aaa/types.d.ts.map +1 -1
- package/dist/domain/testing/aaa/types.js +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.js +33 -5
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/index.js +3 -2
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +78 -16
- package/dist/domain/testing/{require-aaa-sections → enforce-aaa-structure}/missing-section-fixes.d.ts +1 -1
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +150 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule.js +165 -3
- package/dist/domain/testing/index.d.ts +0 -3
- package/dist/domain/testing/index.d.ts.map +1 -1
- package/dist/domain/testing/index.js +1 -4
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +1 -15
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +2 -71
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +4 -2
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +1 -13
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix.js +3 -21
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +2 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +6 -6
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +1 -12
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match.js +149 -15
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +6 -3
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +42 -10
- package/dist/domain/testing/require-test-companion/index.d.ts +0 -1
- package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/index.js +1 -2
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts +2 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +13 -58
- package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts +2 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -5
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/rule.js +34 -9
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
- package/dist/domain/testing/single-act-statement/rule.js +11 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/infrastructure/codeperfect-plugin.d.ts +6 -6
- package/dist/infrastructure/codeperfect-plugin.js +5 -5
- package/dist/infrastructure/presets.d.ts.map +1 -1
- package/dist/infrastructure/presets.js +23 -7
- package/package.json +37 -38
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +0 -41
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -87
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +0 -40
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -91
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +0 -4
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +0 -4
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts +0 -141
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +0 -20
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +0 -25
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +0 -235
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +0 -101
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +0 -108
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +0 -35
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule.fixes.js +0 -95
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +0 -4
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +0 -4
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +0 -4
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +0 -4
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts +0 -110
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
- package/dist/domain/core/prefer-interface-types/test-helpers.js +0 -116
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -89
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
- package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts +0 -103
- package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
- package/dist/domain/docs/no-interface-member-docs/test-helpers.js +0 -157
- package/dist/domain/docs/require-example-language/create-fixer.d.ts +0 -5
- package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +0 -1
- package/dist/domain/docs/require-example-language/create-fixer.js +0 -5
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +0 -4
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +0 -1
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +0 -5
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +0 -4
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +0 -1
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +0 -5
- package/dist/domain/docs/test-helpers.d.ts +0 -50
- package/dist/domain/docs/test-helpers.d.ts.map +0 -1
- package/dist/domain/docs/test-helpers.js +0 -107
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +0 -9
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +0 -1
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +0 -10
- package/dist/domain/testing/aaa/analyzer.d.ts +0 -46
- package/dist/domain/testing/aaa/analyzer.d.ts.map +0 -1
- package/dist/domain/testing/aaa/analyzer.js +0 -59
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +0 -4
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +0 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +0 -4
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +0 -42
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +0 -188
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts +0 -5
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +0 -34
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +0 -20
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +0 -39
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +0 -86
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +0 -150
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +0 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +0 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +0 -14
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +0 -81
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +0 -13
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +0 -189
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +0 -25
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +0 -92
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +0 -32
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +0 -164
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +0 -5
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +0 -62
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +0 -24
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +0 -113
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +0 -36
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +0 -138
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +0 -203
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +0 -2
- package/dist/domain/testing/require-aaa-sections/index.d.ts +0 -2
- package/dist/domain/testing/require-aaa-sections/index.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/index.js +0 -2
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +0 -150
- package/dist/domain/testing/require-aaa-sections/rule.d.ts +0 -5
- package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/rule.js +0 -129
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +0 -104
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/rule.reporting.js +0 -217
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts +0 -51
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +0 -184
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts +0 -28
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +0 -26
package/README.md
CHANGED
|
@@ -96,13 +96,14 @@ void preferInterfaceTypesRule;
|
|
|
96
96
|
- `codeperfect/assert-actual-expected-names`
|
|
97
97
|
- `codeperfect/barrel-files-exports-only`
|
|
98
98
|
- `codeperfect/consistent-barrel-files`
|
|
99
|
-
- `codeperfect/enforce-aaa-phase-purity`
|
|
100
99
|
- `codeperfect/enforce-aaa-structure`
|
|
100
|
+
- `codeperfect/no-import-export-aliases`
|
|
101
|
+
- `codeperfect/no-import-export-extensions`
|
|
101
102
|
- `codeperfect/no-interface-member-docs`
|
|
102
103
|
- `codeperfect/no-reexports-outside-barrels`
|
|
104
|
+
- `codeperfect/no-unused-exports`
|
|
103
105
|
- `codeperfect/prefer-interface-types`
|
|
104
106
|
- `codeperfect/prefer-vi-mocked-import`
|
|
105
|
-
- `codeperfect/require-aaa-sections`
|
|
106
107
|
- `codeperfect/require-act-result-capture`
|
|
107
108
|
- `codeperfect/require-example-language`
|
|
108
109
|
- `codeperfect/require-test-companion`
|
package/dist/.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/application/custom-rules.ts","../src/application/index.ts","../src/domain/custom-rule-documentation.ts","../src/domain/index.ts","../src/domain/architecture/index.ts","../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts","../src/domain/architecture/consistent-barrel-files/exports-only-rule
|
|
1
|
+
{"root":["../src/index.ts","../src/application/custom-rules.ts","../src/application/index.ts","../src/domain/custom-rule-documentation.ts","../src/domain/index.ts","../src/domain/architecture/index.ts","../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts","../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts","../src/domain/architecture/consistent-barrel-files/index.ts","../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts","../src/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.ts","../src/domain/architecture/consistent-barrel-files/rule.ts","../src/domain/architecture/consistent-barrel-files/types.ts","../src/domain/architecture/no-unused-exports/index.ts","../src/domain/architecture/no-unused-exports/no-unused-exports-options.ts","../src/domain/architecture/no-unused-exports/no-unused-exports-utilities.ts","../src/domain/architecture/no-unused-exports/rule.ts","../src/domain/architecture/no-unused-exports/types.ts","../src/domain/core/index.ts","../src/domain/core/no-multiple-declarators/index.ts","../src/domain/core/no-multiple-declarators/rule.ts","../src/domain/core/no-multiple-declarators/types.ts","../src/domain/core/prefer-interface-types/index.ts","../src/domain/core/prefer-interface-types/rule.ts","../src/domain/docs/index.ts","../src/domain/docs/no-interface-member-docs/comment-utilities.ts","../src/domain/docs/no-interface-member-docs/index.ts","../src/domain/docs/no-interface-member-docs/parameter-tags.ts","../src/domain/docs/no-interface-member-docs/parameter-utilities.ts","../src/domain/docs/no-interface-member-docs/rule.ts","../src/domain/docs/no-interface-member-docs/types.ts","../src/domain/docs/require-example-language/empty-fence-fixes.ts","../src/domain/docs/require-example-language/example-utilities.ts","../src/domain/docs/require-example-language/examples.ts","../src/domain/docs/require-example-language/fixes.ts","../src/domain/docs/require-example-language/index.ts","../src/domain/docs/require-example-language/reporting.ts","../src/domain/docs/require-example-language/rule.ts","../src/domain/docs/require-example-language/types.ts","../src/domain/docs/single-line-jsdoc/index.ts","../src/domain/docs/single-line-jsdoc/rule.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-content.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.ts","../src/domain/testing/index.ts","../src/domain/testing/aaa/analyzer.analysis.helpers.ts","../src/domain/testing/aaa/analyzer.analysis.ts","../src/domain/testing/aaa/analyzer.assertions.helpers.ts","../src/domain/testing/aaa/analyzer.assertions.operands.ts","../src/domain/testing/aaa/analyzer.assertions.ts","../src/domain/testing/aaa/analyzer.classification.helpers.ts","../src/domain/testing/aaa/analyzer.classification.traversal.ts","../src/domain/testing/aaa/analyzer.classification.ts","../src/domain/testing/aaa/analyzer.super.helpers.ts","../src/domain/testing/aaa/analyzer.super.ts","../src/domain/testing/aaa/index.ts","../src/domain/testing/aaa/types.ts","../src/domain/testing/assert-actual-expected-names/index.ts","../src/domain/testing/assert-actual-expected-names/rule.ts","../src/domain/testing/enforce-aaa-phase-purity/index.ts","../src/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.ts","../src/domain/testing/enforce-aaa-structure/index.ts","../src/domain/testing/enforce-aaa-structure/missing-section-fixes.ts","../src/domain/testing/enforce-aaa-structure/rule.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-statements.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-updates.ts","../src/domain/testing/prefer-vi-mocked-import/fix-imports.ts","../src/domain/testing/prefer-vi-mocked-import/fix.ts","../src/domain/testing/prefer-vi-mocked-import/index.ts","../src/domain/testing/prefer-vi-mocked-import/match-bindings.ts","../src/domain/testing/prefer-vi-mocked-import/match-declarations.ts","../src/domain/testing/prefer-vi-mocked-import/match-helpers.ts","../src/domain/testing/prefer-vi-mocked-import/match-imports.ts","../src/domain/testing/prefer-vi-mocked-import/match-rewrites.ts","../src/domain/testing/prefer-vi-mocked-import/match-walk.ts","../src/domain/testing/prefer-vi-mocked-import/match.ts","../src/domain/testing/prefer-vi-mocked-import/rule.ts","../src/domain/testing/prefer-vi-mocked-import/types.ts","../src/domain/testing/require-act-result-capture/index.ts","../src/domain/testing/require-act-result-capture/rule.ts","../src/domain/testing/require-test-companion/index.ts","../src/domain/testing/require-test-companion/require-test-companion-listeners.ts","../src/domain/testing/require-test-companion/require-test-companion-options.ts","../src/domain/testing/require-test-companion/rule.ts","../src/domain/testing/require-test-companion/types.ts","../src/domain/testing/single-act-statement/index.ts","../src/domain/testing/single-act-statement/rule.ts","../src/infrastructure/codeperfect-plugin.ts","../src/infrastructure/index.ts","../src/infrastructure/presets.ts"],"version":"6.0.3"}
|
|
@@ -18,10 +18,16 @@ declare const customRules: readonly [{
|
|
|
18
18
|
readonly ruleName: "consistent-barrel-files";
|
|
19
19
|
}, {
|
|
20
20
|
readonly rule: Rule.RuleModule;
|
|
21
|
-
readonly ruleName: "enforce-aaa-
|
|
21
|
+
readonly ruleName: "enforce-aaa-structure";
|
|
22
22
|
}, {
|
|
23
23
|
readonly rule: Rule.RuleModule;
|
|
24
|
-
readonly ruleName: "
|
|
24
|
+
readonly ruleName: "no-import-export-aliases";
|
|
25
|
+
}, {
|
|
26
|
+
readonly rule: Rule.RuleModule;
|
|
27
|
+
readonly ruleName: "no-import-export-extensions";
|
|
28
|
+
}, {
|
|
29
|
+
readonly rule: Rule.RuleModule;
|
|
30
|
+
readonly ruleName: "no-unused-exports";
|
|
25
31
|
}, {
|
|
26
32
|
readonly rule: Rule.RuleModule;
|
|
27
33
|
readonly ruleName: "no-reexports-outside-barrels";
|
|
@@ -43,12 +49,6 @@ declare const customRules: readonly [{
|
|
|
43
49
|
}, {
|
|
44
50
|
readonly rule: Rule.RuleModule;
|
|
45
51
|
readonly ruleName: "prefer-vi-mocked-import";
|
|
46
|
-
}, {
|
|
47
|
-
readonly rule: Rule.RuleModule;
|
|
48
|
-
readonly ruleName: "prefer-vitest-incremental-casts";
|
|
49
|
-
}, {
|
|
50
|
-
readonly rule: Rule.RuleModule;
|
|
51
|
-
readonly ruleName: "require-aaa-sections";
|
|
52
52
|
}, {
|
|
53
53
|
readonly rule: Rule.RuleModule;
|
|
54
54
|
readonly ruleName: "require-act-result-capture";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule,
|
|
1
|
+
import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
|
|
2
2
|
/** Source-of-truth registry for all package-owned custom rules. */
|
|
3
3
|
const customRules = [
|
|
4
4
|
{
|
|
@@ -13,14 +13,22 @@ const customRules = [
|
|
|
13
13
|
rule: consistentBarrelFilesRule,
|
|
14
14
|
ruleName: "consistent-barrel-files",
|
|
15
15
|
},
|
|
16
|
-
{
|
|
17
|
-
rule: enforceAaaPhasePurityRule,
|
|
18
|
-
ruleName: "enforce-aaa-phase-purity",
|
|
19
|
-
},
|
|
20
16
|
{
|
|
21
17
|
rule: enforceAaaStructureRule,
|
|
22
18
|
ruleName: "enforce-aaa-structure",
|
|
23
19
|
},
|
|
20
|
+
{
|
|
21
|
+
rule: noImportExportAliasesRule,
|
|
22
|
+
ruleName: "no-import-export-aliases",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
rule: noImportExportExtensionsRule,
|
|
26
|
+
ruleName: "no-import-export-extensions",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
rule: noUnusedExportsRule,
|
|
30
|
+
ruleName: "no-unused-exports",
|
|
31
|
+
},
|
|
24
32
|
{
|
|
25
33
|
rule: noReexportsOutsideBarrelsRule,
|
|
26
34
|
ruleName: "no-reexports-outside-barrels",
|
|
@@ -49,14 +57,6 @@ const customRules = [
|
|
|
49
57
|
rule: preferViMockedImportRule,
|
|
50
58
|
ruleName: "prefer-vi-mocked-import",
|
|
51
59
|
},
|
|
52
|
-
{
|
|
53
|
-
rule: preferVitestIncrementalCastsRule,
|
|
54
|
-
ruleName: "prefer-vitest-incremental-casts",
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
rule: requireAaaSectionsRule,
|
|
58
|
-
ruleName: "require-aaa-sections",
|
|
59
|
-
},
|
|
60
60
|
{
|
|
61
61
|
rule: requireActResultCaptureRule,
|
|
62
62
|
ruleName: "require-act-result-capture",
|
|
@@ -71,4 +71,4 @@ const customRules = [
|
|
|
71
71
|
},
|
|
72
72
|
];
|
|
73
73
|
export { customRules };
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2N1c3RvbS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLFdBQVcsQ0FBQztBQVduQixtRUFBbUU7QUFDbkUsTUFBTSxXQUFXLEdBQUc7SUFDbEI7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRDtRQUNFLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsUUFBUSxFQUFFLDJCQUEyQjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLFFBQVEsRUFBRSx1QkFBdUI7S0FDbEM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxRQUFRLEVBQUUsNkJBQTZCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSw2QkFBNkI7UUFDbkMsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxRQUFRLEVBQUUsMEJBQTBCO0tBQ3JDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxRQUFRLEVBQUUsNEJBQTRCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUM0QyxDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9kb21haW5cIjtcblxuLyoqIEludGVybmFsIHJlZ2lzdHJ5IGVudHJ5IGZvciBhIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGUuICovXG5pbnRlcmZhY2UgQ3VzdG9tUnVsZUVudHJ5IHtcbiAgLyoqIEVTTGludCBydWxlIGltcGxlbWVudGF0aW9uLiAqL1xuICBydWxlOiBSdWxlLlJ1bGVNb2R1bGU7XG5cbiAgLyoqIEVTTGludCBydWxlIG5hbWUgd2l0aG91dCB0aGUgcGx1Z2luIHByZWZpeC4gKi9cbiAgcnVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqIFNvdXJjZS1vZi10cnV0aCByZWdpc3RyeSBmb3IgYWxsIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGVzLiAqL1xuY29uc3QgY3VzdG9tUnVsZXMgPSBbXG4gIHtcbiAgICBydWxlOiBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgICBydWxlTmFtZTogXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgICBydWxlTmFtZTogXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgICBydWxlTmFtZTogXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcIm5vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9uc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9VbnVzZWRFeHBvcnRzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG4gICAgcnVsZU5hbWU6IFwic2luZ2xlLWxpbmUtanNkb2NcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgICBydWxlTmFtZTogXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgICBydWxlTmFtZTogXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ3VzdG9tUnVsZUVudHJ5W107XG5cbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9O1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule,
|
|
1
|
+
export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
|
|
2
2
|
export { customRules } from "./custom-rules.js";
|
|
3
3
|
export type { CustomRuleEntry } from "./custom-rules.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule,
|
|
1
|
+
export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
|
|
2
2
|
export { customRules } from "./custom-rules.js";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9kb21haW5cIjtcbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH0gZnJvbSBcIi4vY3VzdG9tLXJ1bGVzXCI7XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9IGZyb20gXCIuL2N1c3RvbS1ydWxlc1wiO1xuIl19
|
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
/** Default barrel basenames used when no options are supplied. */
|
|
2
|
-
declare const DEFAULT_ALLOWED_BARREL_NAMES: string[];
|
|
3
1
|
/** Captures whether a directory contains barrel and non-barrel modules. */
|
|
4
2
|
interface DirectoryBarrelState {
|
|
5
3
|
/** Whether the directory includes an allowed barrel file. */
|
|
6
4
|
hasAllowedBarrelFile: boolean;
|
|
7
5
|
/** Whether the directory includes any non-barrel module file. */
|
|
8
6
|
hasNonBarrelModuleFile: boolean;
|
|
7
|
+
/** The first allowed barrel file discovered in the directory. */
|
|
8
|
+
primaryAllowedBarrelFile: string | undefined;
|
|
9
9
|
/** The first non-barrel module file discovered in the directory. */
|
|
10
10
|
primaryNonBarrelModuleFile: string | undefined;
|
|
11
11
|
}
|
|
@@ -51,6 +51,5 @@ declare const isBarrelFile: (filename: string, allowedBarrelNames: ReadonlySet<s
|
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
53
53
|
declare const getDirectoryBarrelState: (directory: string, allowedBarrelNames: ReadonlySet<string>) => DirectoryBarrelState;
|
|
54
|
-
export {
|
|
55
|
-
export type { DirectoryBarrelState };
|
|
54
|
+
export { getDirectoryBarrelState, isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, };
|
|
56
55
|
//# sourceMappingURL=barrel-file-utilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barrel-file-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"barrel-file-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts"],"names":[],"mappings":"AAoBA,2EAA2E;AAC3E,UAAU,oBAAoB;IAC5B,6DAA6D;IAC7D,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,sBAAsB,EAAE,OAAO,CAAC;IAChC,iEAAiE;IACjE,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,oEAAoE;IACpE,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAUD;;;;;;;;GAQG;AACH,QAAA,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,MAAM,EAW3D,CAAC;AAkDF;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,OAKhD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,GAChB,UAAU,MAAM,EAChB,oBAAoB,WAAW,CAAC,MAAM,CAAC,KACtC,OAIF,CAAC;AA2BF;;;;;;;;;GASG;AACH,QAAA,MAAM,uBAAuB,GAC3B,WAAW,MAAM,EACjB,oBAAoB,WAAW,CAAC,MAAM,CAAC,KACtC,oBAeF,CAAC;AAEF,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,GAC5B,CAAC"}
|
|
@@ -138,12 +138,14 @@ const getDirectoryModuleFiles = (directory) => {
|
|
|
138
138
|
*/
|
|
139
139
|
const getDirectoryBarrelState = (directory, allowedBarrelNames) => {
|
|
140
140
|
const moduleFiles = getDirectoryModuleFiles(directory);
|
|
141
|
+
const primaryAllowedBarrelFile = moduleFiles.find((entry) => allowedBarrelNames.has(entry.stem))?.name;
|
|
141
142
|
const primaryNonBarrelModuleFile = moduleFiles.find((entry) => !allowedBarrelNames.has(entry.stem))?.name;
|
|
142
143
|
return {
|
|
143
|
-
hasAllowedBarrelFile:
|
|
144
|
+
hasAllowedBarrelFile: primaryAllowedBarrelFile !== void 0,
|
|
144
145
|
hasNonBarrelModuleFile: primaryNonBarrelModuleFile !== void 0,
|
|
146
|
+
primaryAllowedBarrelFile,
|
|
145
147
|
primaryNonBarrelModuleFile,
|
|
146
148
|
};
|
|
147
149
|
};
|
|
148
|
-
export {
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmVsLWZpbGUtdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvYmFycmVsLWZpbGUtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkMsa0VBQWtFO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQyw2RUFBNkU7QUFDN0UsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEUsa0VBQWtFO0FBQ2xFLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDO0FBb0JGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWMsRUFBWSxFQUFFO0lBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQW1CLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7U0FDN0QsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUIsTUFBTSxDQUFDLENBQUMs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QUFZLEVBQ1osb0JBQW9CLEVBQ3BCLDJCQUEyQixHQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGRpclN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xyXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XHJcbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcclxuXHJcbi8qKiBEZWZhdWx0IGJhcnJlbCBiYXNlbmFtZXMgdXNlZCB3aGVuIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLiAqL1xyXG5jb25zdCBERUZBVUxUX0FMTE9XRURfQkFSUkVMX05BTUVTID0gW1wiaW5kZXhcIl07XHJcbi8qKiBEZWNsYXJhdGlvbi1vbmx5IHN1ZmZpeGVzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgZHVyaW5nIG1vZHVsZSBjaGVja3MuICovXHJcbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfU1VGRklYRVMgPSBbXCIuZC5jdHNcIiwgXCIuZC5tdHNcIiwgXCIuZC50c1wiXTtcclxuLyoqIE1vZHVsZSBzdWZmaXhlcyB0aGF0IHBhcnRpY2lwYXRlIGluIGJhcnJlbC1maWxlIGV2YWx1YXRpb24uICovXHJcbmNvbnN0IE1PRFVMRV9GSUxFX1NVRkZJWEVTID0gW1xyXG4gIFwiLmNqc1wiLFxyXG4gIFwiLmN0c1wiLFxyXG4gIFwiLmpzXCIsXHJcbiAgXCIuanN4XCIsXHJcbiAgXCIubWpzXCIsXHJcbiAgXCIubXRzXCIsXHJcbiAgXCIudHNcIixcclxuICBcIi50c3hcIixcclxuXTtcclxuXHJcbi8qKiBDYXB0dXJlcyB3aGV0aGVyIGEgZGlyZWN0b3J5IGNvbnRhaW5zIGJhcnJlbCBhbmQgbm9uLWJhcnJlbCBtb2R1bGVzLiAqL1xyXG5pbnRlcmZhY2UgRGlyZWN0b3J5QmFycmVsU3RhdGUge1xyXG4gIC8qKiBXaGV0aGVyIHRoZSBkaXJlY3RvcnkgaW5jbHVkZXMgYW4gYWxsb3dlZCBiYXJyZWwgZmlsZS4gKi9cclxuICBoYXNBbGxvd2VkQmFycmVsRmlsZTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciB0aGUgZGlyZWN0b3J5IGluY2x1ZGVzIGFueSBub24tYmFycmVsIG1vZHVsZSBmaWxlLiAqL1xyXG4gIGhhc05vbkJhcnJlbE1vZHVsZUZpbGU6IGJvb2xlYW47XHJcbiAgLyoqIFRoZSBmaXJzdCBub24tYmFycmVsIG1vZHVsZSBmaWxlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeS4gKi9cclxuICBwcmltYXJ5Tm9uQmFycmVsTW9kdWxlRmlsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogU3RvcmVzIHRoZSBtb2R1bGUgZmlsZW5hbWUgYW5kIGRlcml2ZWQgc3RlbSBmb3IgYSBkaXJlY3RvcnkgZW50cnkuICovXHJcbmludGVyZmFjZSBEaXJlY3RvcnlNb2R1bGVGaWxlIHtcclxuICAvKiogVGhlIG9yaWdpbmFsIGZpbGVuYW1lIG9mIHRoZSBtb2R1bGUgZW50cnkuICovXHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8qKiBUaGUgZmlsZW5hbWUgc3RlbSBhZnRlciBzdHJpcHBpbmcgdGhlIG1vZHVsZSBzdWZmaXguICovXHJcbiAgc3RlbTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogTm9ybWFsaXplcyBhbGxvd2VkIGJhcnJlbCBuYW1lcyBmcm9tIHJhdyBydWxlIGlucHV0LlxyXG4gKiBAcGFyYW0gdmFsdWUgUmF3IGFsbG93ZWQgYmFycmVsIG5hbWVzIGlucHV0LlxyXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBiYXJyZWwgbmFtZXMuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbmFtZXMgPSBub3JtYWxpemVBbGxvd2VkQmFycmVsTmFtZXMoW1wiaW5kZXhcIiwgXCJiYXJyZWxcIl0pO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZ1tdID0+IHtcclxuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gWy4uLkRFRkFVTFRfQUxMT1dFRF9CQVJSRUxfTkFNRVNdO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbmFtZXMgPSB2YWx1ZVxyXG4gICAgLmZpbHRlcigoZW50cnkpOiBlbnRyeSBpcyBzdHJpbmcgPT4gdHlwZW9mIGVudHJ5ID09PSBcInN0cmluZ1wiKVxyXG4gICAgLm1hcCgoZW50cnkpID0+IGVudHJ5LnRyaW0oKSlcclxuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5sZW5ndGggPiAwKTtcclxuXHJcbiAgcmV0dXJuIG5hbWVzLmxlbmd0aCA9PT0gMCA/IFsuLi5ERUZBVUxUX0FMTE9XRURfQkFSUkVMX05BTUVTXSA6IG5hbWVzO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbnZlcnRzIGFuIGFic29sdXRlIGZpbGVuYW1lIGludG8gYSByZXBvLXJlbGF0aXZlIHBhdGguXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBBYnNvbHV0ZSBmaWxlbmFtZSB0byBjb252ZXJ0LlxyXG4gKiBAcmV0dXJucyBUaGUgcmVwby1yZWxhdGl2ZSBwYXRoIHdoZW4gdGhlIGZpbGUgaXMgaW5zaWRlIHRoZSByZXBvLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlbGF0aXZlUGF0aCA9IGdldFJlcG9SZWxhdGl2ZVBhdGgoYCR7Y3dkKCl9L3NyYy9pbmRleC50c2ApO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IGdldFJlcG9SZWxhdGl2ZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgaWYgKGZpbGVuYW1lLmxlbmd0aCA9PT0gMCB8fCAhcGF0aC5pc0Fic29sdXRlKGZpbGVuYW1lKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoY3dkKCksIGZpbGVuYW1lKTtcclxuXHJcbiAgaWYgKHJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKFwiLi5cIikgfHwgcGF0aC5pc0Fic29sdXRlKHJlbGF0aXZlUGF0aCkpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVsYXRpdmVQYXRoLnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXJpdmVzIHRoZSBtb2R1bGUgc3RlbSBmb3IgYSBzdXBwb3J0ZWQgc291cmNlIGZpbGUuXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlIHN0ZW0gd2hlbiB0aGUgZmlsZW5hbWUgaXMgbGludGFibGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qgc3RlbSA9IGdldE1vZHVsZUZpbGVTdGVtKFwiaW5kZXgudHNcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0TW9kdWxlRmlsZVN0ZW0gPSAoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgY29uc3QgYmFzZW5hbWUgPSBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lKTtcclxuXHJcbiAgaWYgKERFQ0xBUkFUSU9OX0ZJTEVfU1VGRklYRVMuc29tZSgoc3VmZml4KSA9PiBiYXNlbmFtZS5lbmRzV2l0aChzdWZmaXgpKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3Qgc3VmZml4IG9mIE1PRFVMRV9GSUxFX1NVRkZJWEVTKSB7XHJcbiAgICBpZiAoYmFzZW5hbWUuZW5kc1dpdGgoc3VmZml4KSkge1xyXG4gICAgICByZXR1cm4gYmFzZW5hbWUuc2xpY2UoMCwgLXN1ZmZpeC5sZW5ndGgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmaWxlbmFtZSBpcyBhIGxpbnRhYmxlIG1vZHVsZSBmaWxlLlxyXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlbmFtZSBiZWxvbmdzIHRvIGEgc3VwcG9ydGVkIG1vZHVsZSBpbnNpZGUgdGhlIHJlcG8uXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbGludGFibGUgPSBpc0xpbnRhYmxlTW9kdWxlRmlsZShgJHtjd2QoKX0vc3JjL2luZGV4LnRzYCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgaXNMaW50YWJsZU1vZHVsZUZpbGUgPSAoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICBnZXRSZXBvUmVsYXRpdmVQYXRoKGZpbGVuYW1lKSAhPT0gdm9pZCAwICYmXHJcbiAgICBnZXRNb2R1bGVGaWxlU3RlbShmaWxlbmFtZSkgIT09IHZvaWQgMFxyXG4gICk7XHJcbn07XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZmlsZW5hbWUgbWF0Y2hlcyBhbiBhbGxvd2VkIGJhcnJlbCBuYW1lLlxyXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgdG8gaW5zcGVjdC5cclxuICogQHBhcmFtIGFsbG93ZWRCYXJyZWxOYW1lcyBBbGxvd2VkIGJhcnJlbCBuYW1lcyBmb3IgdGhlIHJ1bGUgcnVuLlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGZpbGVuYW1lIGlzIGEgYmFycmVsIGZpbGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgYmFycmVsID0gaXNCYXJyZWxGaWxlKGAke2N3ZCgpfS9zcmMvaW5kZXgudHNgLCBuZXcgU2V0KFtcImluZGV4XCJdKSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgaXNCYXJyZWxGaWxlID0gKFxyXG4gIGZpbGVuYW1lOiBzdHJpbmcsXHJcbiAgYWxsb3dlZEJhcnJlbE5hbWVzOiBSZWFkb25seVNldDxzdHJpbmc+LFxyXG4pOiBib29sZWFuID0+IHtcclxuICBjb25zdCBzdGVtID0gZ2V0TW9kdWxlRmlsZVN0ZW0oZmlsZW5hbWUpO1xyXG5cclxuICByZXR1cm4gc3RlbSAhPT0gdm9pZCAwICYmIGFsbG93ZWRCYXJyZWxOYW1lcy5oYXMoc3RlbSk7XHJcbn07XHJcblxyXG4vKipcclxuICogTGlzdHMgbW9kdWxlIGZpbGVzIGluIGEgZGlyZWN0b3J5IHdpdGggdGhlaXIgZGVyaXZlZCBzdGVtcy5cclxuICogQHBhcmFtIGRpcmVjdG9yeSBEaXJlY3RvcnkgdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgVGhlIHNvcnRlZCBtb2R1bGUgZmlsZXMgZm9yIHRoZSBkaXJlY3RvcnkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgZmlsZXMgPSBnZXREaXJlY3RvcnlNb2R1bGVGaWxlcyhgJHtjd2QoKX0vc3JjYCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0RGlyZWN0b3J5TW9kdWxlRmlsZXMgPSAoZGlyZWN0b3J5OiBzdHJpbmcpOiBEaXJlY3RvcnlNb2R1bGVGaWxlW10gPT4ge1xyXG4gIHRyeSB7XHJcbiAgICByZXR1cm4gcmVhZGRpclN5bmMoZGlyZWN0b3J5LCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSlcclxuICAgICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzRmlsZSgpKVxyXG4gICAgICAubWFwKChlbnRyeSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHN0ZW0gPSBnZXRNb2R1bGVGaWxlU3RlbShlbnRyeS5uYW1lKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHN0ZW0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHsgbmFtZTogZW50cnkubmFtZSwgc3RlbSB9O1xyXG4gICAgICB9KVxyXG4gICAgICAuZmlsdGVyKChlbnRyeSk6IGVudHJ5IGlzIERpcmVjdG9yeU1vZHVsZUZpbGUgPT4gZW50cnkgIT09IHZvaWQgMClcclxuICAgICAgLnRvU29ydGVkKChsZWZ0LCByaWdodCkgPT4gbGVmdC5uYW1lLmxvY2FsZUNvbXBhcmUocmlnaHQubmFtZSkpO1xyXG4gIH0gY2F0Y2gge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBCdWlsZHMgYmFycmVsLXJlbGF0ZWQgc3RhdGUgZm9yIGEgZGlyZWN0b3J5LlxyXG4gKiBAcGFyYW0gZGlyZWN0b3J5IERpcmVjdG9yeSB0byBpbnNwZWN0LlxyXG4gKiBAcGFyYW0gYWxsb3dlZEJhcnJlbE5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIGZvciB0aGUgcnVsZSBydW4uXHJcbiAqIEByZXR1cm5zIFRoZSBkZXJpdmVkIGJhcnJlbCBzdGF0ZSBmb3IgdGhlIGRpcmVjdG9yeS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdGF0ZSA9IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlKGAke2N3ZCgpfS9zcmNgLCBuZXcgU2V0KFtcImluZGV4XCJdKSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0RGlyZWN0b3J5QmFycmVsU3RhdGUgPSAoXHJcbiAgZGlyZWN0b3J5OiBzdHJpbmcsXHJcbiAgYWxsb3dlZEJhcnJlbE5hbWVzOiBSZWFkb25seVNldDxzdHJpbmc+LFxyXG4pOiBEaXJlY3RvcnlCYXJyZWxTdGF0ZSA9PiB7XHJcbiAgY29uc3QgbW9kdWxlRmlsZXMgPSBnZXREaXJlY3RvcnlNb2R1bGVGaWxlcyhkaXJlY3RvcnkpO1xyXG4gIGNvbnN0IHByaW1hcnlOb25CYXJyZWxNb2R1bGVGaWxlID0gbW9kdWxlRmlsZXMuZmluZChcclxuICAgIChlbnRyeSkgPT4gIWFsbG93ZWRCYXJyZWxOYW1lcy5oYXMoZW50cnkuc3RlbSksXHJcbiAgKT8ubmFtZTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGhhc0FsbG93ZWRCYXJyZWxGaWxlOiBtb2R1bGVGaWxlcy5zb21lKChlbnRyeSkgPT5cclxuICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzLmhhcyhlbnRyeS5zdGVtKSxcclxuICAgICksXHJcbiAgICBoYXNOb25CYXJyZWxNb2R1bGVGaWxlOiBwcmltYXJ5Tm9uQmFycmVsTW9kdWxlRmlsZSAhPT0gdm9pZCAwLFxyXG4gICAgcHJpbWFyeU5vbkJhcnJlbE1vZHVsZUZpbGUsXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCB7XHJcbiAgREVGQVVMVF9BTExPV0VEX0JBUlJFTF9OQU1FUyxcclxuICBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZSxcclxuICBpc0JhcnJlbEZpbGUsXHJcbiAgaXNMaW50YWJsZU1vZHVsZUZpbGUsXHJcbiAgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzLFxyXG59O1xyXG5leHBvcnQgdHlwZSB7IERpcmVjdG9yeUJhcnJlbFN0YXRlIH07XHJcbiJdfQ==
|
|
150
|
+
export { getDirectoryBarrelState, isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, };
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmVsLWZpbGUtdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvYmFycmVsLWZpbGUtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkMsa0VBQWtFO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQyw2RUFBNkU7QUFDN0UsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEUsa0VBQWtFO0FBQ2xFLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDO0FBc0JGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWMsRUFBWSxFQUFFO0lBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQW1CLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7U0FDN0QsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUIsTUFBTSxDQUFDLENBQUMs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QUEwQjtLQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLDJCQUEyQixHQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGRpclN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xyXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XHJcbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcclxuXHJcbi8qKiBEZWZhdWx0IGJhcnJlbCBiYXNlbmFtZXMgdXNlZCB3aGVuIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLiAqL1xyXG5jb25zdCBERUZBVUxUX0FMTE9XRURfQkFSUkVMX05BTUVTID0gW1wiaW5kZXhcIl07XHJcbi8qKiBEZWNsYXJhdGlvbi1vbmx5IHN1ZmZpeGVzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgZHVyaW5nIG1vZHVsZSBjaGVja3MuICovXHJcbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfU1VGRklYRVMgPSBbXCIuZC5jdHNcIiwgXCIuZC5tdHNcIiwgXCIuZC50c1wiXTtcclxuLyoqIE1vZHVsZSBzdWZmaXhlcyB0aGF0IHBhcnRpY2lwYXRlIGluIGJhcnJlbC1maWxlIGV2YWx1YXRpb24uICovXHJcbmNvbnN0IE1PRFVMRV9GSUxFX1NVRkZJWEVTID0gW1xyXG4gIFwiLmNqc1wiLFxyXG4gIFwiLmN0c1wiLFxyXG4gIFwiLmpzXCIsXHJcbiAgXCIuanN4XCIsXHJcbiAgXCIubWpzXCIsXHJcbiAgXCIubXRzXCIsXHJcbiAgXCIudHNcIixcclxuICBcIi50c3hcIixcclxuXTtcclxuXHJcbi8qKiBDYXB0dXJlcyB3aGV0aGVyIGEgZGlyZWN0b3J5IGNvbnRhaW5zIGJhcnJlbCBhbmQgbm9uLWJhcnJlbCBtb2R1bGVzLiAqL1xyXG5pbnRlcmZhY2UgRGlyZWN0b3J5QmFycmVsU3RhdGUge1xyXG4gIC8qKiBXaGV0aGVyIHRoZSBkaXJlY3RvcnkgaW5jbHVkZXMgYW4gYWxsb3dlZCBiYXJyZWwgZmlsZS4gKi9cclxuICBoYXNBbGxvd2VkQmFycmVsRmlsZTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciB0aGUgZGlyZWN0b3J5IGluY2x1ZGVzIGFueSBub24tYmFycmVsIG1vZHVsZSBmaWxlLiAqL1xyXG4gIGhhc05vbkJhcnJlbE1vZHVsZUZpbGU6IGJvb2xlYW47XHJcbiAgLyoqIFRoZSBmaXJzdCBhbGxvd2VkIGJhcnJlbCBmaWxlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeS4gKi9cclxuICBwcmltYXJ5QWxsb3dlZEJhcnJlbEZpbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAvKiogVGhlIGZpcnN0IG5vbi1iYXJyZWwgbW9kdWxlIGZpbGUgZGlzY292ZXJlZCBpbiB0aGUgZGlyZWN0b3J5LiAqL1xyXG4gIHByaW1hcnlOb25CYXJyZWxNb2R1bGVGaWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKiBTdG9yZXMgdGhlIG1vZHVsZSBmaWxlbmFtZSBhbmQgZGVyaXZlZCBzdGVtIGZvciBhIGRpcmVjdG9yeSBlbnRyeS4gKi9cclxuaW50ZXJmYWNlIERpcmVjdG9yeU1vZHVsZUZpbGUge1xyXG4gIC8qKiBUaGUgb3JpZ2luYWwgZmlsZW5hbWUgb2YgdGhlIG1vZHVsZSBlbnRyeS4gKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBmaWxlbmFtZSBzdGVtIGFmdGVyIHN0cmlwcGluZyB0aGUgbW9kdWxlIHN1ZmZpeC4gKi9cclxuICBzdGVtOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBOb3JtYWxpemVzIGFsbG93ZWQgYmFycmVsIG5hbWVzIGZyb20gcmF3IHJ1bGUgaW5wdXQuXHJcbiAqIEBwYXJhbSB2YWx1ZSBSYXcgYWxsb3dlZCBiYXJyZWwgbmFtZXMgaW5wdXQuXHJcbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGJhcnJlbCBuYW1lcy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBuYW1lcyA9IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyhbXCJpbmRleFwiLCBcImJhcnJlbFwiXSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3Qgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzID0gKHZhbHVlOiB1bmtub3duKTogc3RyaW5nW10gPT4ge1xyXG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgIHJldHVybiBbLi4uREVGQVVMVF9BTExPV0VEX0JBUlJFTF9OQU1FU107XHJcbiAgfVxyXG5cclxuICBjb25zdCBuYW1lcyA9IHZhbHVlXHJcbiAgICAuZmlsdGVyKChlbnRyeSk6IGVudHJ5IGlzIHN0cmluZyA9PiB0eXBlb2YgZW50cnkgPT09IFwic3RyaW5nXCIpXHJcbiAgICAubWFwKChlbnRyeSkgPT4gZW50cnkudHJpbSgpKVxyXG4gICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5Lmxlbmd0aCA+IDApO1xyXG5cclxuICByZXR1cm4gbmFtZXMubGVuZ3RoID09PSAwID8gWy4uLkRFRkFVTFRfQUxMT1dFRF9CQVJSRUxfTkFNRVNdIDogbmFtZXM7XHJcbn07XHJcblxyXG4vKipcclxuICogQ29udmVydHMgYW4gYWJzb2x1dGUgZmlsZW5hbWUgaW50byBhIHJlcG8tcmVsYXRpdmUgcGF0aC5cclxuICogQHBhcmFtIGZpbGVuYW1lIEFic29sdXRlIGZpbGVuYW1lIHRvIGNvbnZlcnQuXHJcbiAqIEByZXR1cm5zIFRoZSByZXBvLXJlbGF0aXZlIHBhdGggd2hlbiB0aGUgZmlsZSBpcyBpbnNpZGUgdGhlIHJlcG8uXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcmVsYXRpdmVQYXRoID0gZ2V0UmVwb1JlbGF0aXZlUGF0aChgJHtjd2QoKX0vc3JjL2luZGV4LnRzYCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0UmVwb1JlbGF0aXZlUGF0aCA9IChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuICBpZiAoZmlsZW5hbWUubGVuZ3RoID09PSAwIHx8ICFwYXRoLmlzQWJzb2x1dGUoZmlsZW5hbWUpKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcmVsYXRpdmVQYXRoID0gcGF0aC5yZWxhdGl2ZShjd2QoKSwgZmlsZW5hbWUpO1xyXG5cclxuICBpZiAocmVsYXRpdmVQYXRoLnN0YXJ0c1dpdGgoXCIuLlwiKSB8fCBwYXRoLmlzQWJzb2x1dGUocmVsYXRpdmVQYXRoKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZWxhdGl2ZVBhdGguc3BsaXQocGF0aC5zZXApLmpvaW4oXCIvXCIpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERlcml2ZXMgdGhlIG1vZHVsZSBzdGVtIGZvciBhIHN1cHBvcnRlZCBzb3VyY2UgZmlsZS5cclxuICogQHBhcmFtIGZpbGVuYW1lIEZpbGVuYW1lIHRvIGluc3BlY3QuXHJcbiAqIEByZXR1cm5zIFRoZSBtb2R1bGUgc3RlbSB3aGVuIHRoZSBmaWxlbmFtZSBpcyBsaW50YWJsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdGVtID0gZ2V0TW9kdWxlRmlsZVN0ZW0oXCJpbmRleC50c1wiKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXRNb2R1bGVGaWxlU3RlbSA9IChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuICBjb25zdCBiYXNlbmFtZSA9IHBhdGguYmFzZW5hbWUoZmlsZW5hbWUpO1xyXG5cclxuICBpZiAoREVDTEFSQVRJT05fRklMRV9TVUZGSVhFUy5zb21lKChzdWZmaXgpID0+IGJhc2VuYW1lLmVuZHNXaXRoKHN1ZmZpeCkpKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBzdWZmaXggb2YgTU9EVUxFX0ZJTEVfU1VGRklYRVMpIHtcclxuICAgIGlmIChiYXNlbmFtZS5lbmRzV2l0aChzdWZmaXgpKSB7XHJcbiAgICAgIHJldHVybiBiYXNlbmFtZS5zbGljZSgwLCAtc3VmZml4Lmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdm9pZCAwO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgd2hldGhlciBhIGZpbGVuYW1lIGlzIGEgbGludGFibGUgbW9kdWxlIGZpbGUuXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGZpbGVuYW1lIGJlbG9uZ3MgdG8gYSBzdXBwb3J0ZWQgbW9kdWxlIGluc2lkZSB0aGUgcmVwby5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBsaW50YWJsZSA9IGlzTGludGFibGVNb2R1bGVGaWxlKGAke2N3ZCgpfS9zcmMvaW5kZXgudHNgKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBpc0xpbnRhYmxlTW9kdWxlRmlsZSA9IChmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGdldFJlcG9SZWxhdGl2ZVBhdGgoZmlsZW5hbWUpICE9PSB2b2lkIDAgJiZcclxuICAgIGdldE1vZHVsZUZpbGVTdGVtKGZpbGVuYW1lKSAhPT0gdm9pZCAwXHJcbiAgKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmaWxlbmFtZSBtYXRjaGVzIGFuIGFsbG93ZWQgYmFycmVsIG5hbWUuXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxyXG4gKiBAcGFyYW0gYWxsb3dlZEJhcnJlbE5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIGZvciB0aGUgcnVsZSBydW4uXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZmlsZW5hbWUgaXMgYSBiYXJyZWwgZmlsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBiYXJyZWwgPSBpc0JhcnJlbEZpbGUoYCR7Y3dkKCl9L3NyYy9pbmRleC50c2AsIG5ldyBTZXQoW1wiaW5kZXhcIl0pKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBpc0JhcnJlbEZpbGUgPSAoXHJcbiAgZmlsZW5hbWU6IHN0cmluZyxcclxuICBhbGxvd2VkQmFycmVsTmFtZXM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXHJcbik6IGJvb2xlYW4gPT4ge1xyXG4gIGNvbnN0IHN0ZW0gPSBnZXRNb2R1bGVGaWxlU3RlbShmaWxlbmFtZSk7XHJcblxyXG4gIHJldHVybiBzdGVtICE9PSB2b2lkIDAgJiYgYWxsb3dlZEJhcnJlbE5hbWVzLmhhcyhzdGVtKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBMaXN0cyBtb2R1bGUgZmlsZXMgaW4gYSBkaXJlY3Rvcnkgd2l0aCB0aGVpciBkZXJpdmVkIHN0ZW1zLlxyXG4gKiBAcGFyYW0gZGlyZWN0b3J5IERpcmVjdG9yeSB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUaGUgc29ydGVkIG1vZHVsZSBmaWxlcyBmb3IgdGhlIGRpcmVjdG9yeS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBmaWxlcyA9IGdldERpcmVjdG9yeU1vZHVsZUZpbGVzKGAke2N3ZCgpfS9zcmNgKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXREaXJlY3RvcnlNb2R1bGVGaWxlcyA9IChkaXJlY3Rvcnk6IHN0cmluZyk6IERpcmVjdG9yeU1vZHVsZUZpbGVbXSA9PiB7XHJcbiAgdHJ5IHtcclxuICAgIHJldHVybiByZWFkZGlyU3luYyhkaXJlY3RvcnksIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KVxyXG4gICAgICAuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuaXNGaWxlKCkpXHJcbiAgICAgIC5tYXAoKGVudHJ5KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3RlbSA9IGdldE1vZHVsZUZpbGVTdGVtKGVudHJ5Lm5hbWUpO1xyXG5cclxuICAgICAgICByZXR1cm4gc3RlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogeyBuYW1lOiBlbnRyeS5uYW1lLCBzdGVtIH07XHJcbiAgICAgIH0pXHJcbiAgICAgIC5maWx0ZXIoKGVudHJ5KTogZW50cnkgaXMgRGlyZWN0b3J5TW9kdWxlRmlsZSA9PiBlbnRyeSAhPT0gdm9pZCAwKVxyXG4gICAgICAudG9Tb3J0ZWQoKGxlZnQsIHJpZ2h0KSA9PiBsZWZ0Lm5hbWUubG9jYWxlQ29tcGFyZShyaWdodC5uYW1lKSk7XHJcbiAgfSBjYXRjaCB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyBiYXJyZWwtcmVsYXRlZCBzdGF0ZSBmb3IgYSBkaXJlY3RvcnkuXHJcbiAqIEBwYXJhbSBkaXJlY3RvcnkgRGlyZWN0b3J5IHRvIGluc3BlY3QuXHJcbiAqIEBwYXJhbSBhbGxvd2VkQmFycmVsTmFtZXMgQWxsb3dlZCBiYXJyZWwgbmFtZXMgZm9yIHRoZSBydWxlIHJ1bi5cclxuICogQHJldHVybnMgVGhlIGRlcml2ZWQgYmFycmVsIHN0YXRlIGZvciB0aGUgZGlyZWN0b3J5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHN0YXRlID0gZ2V0RGlyZWN0b3J5QmFycmVsU3RhdGUoYCR7Y3dkKCl9L3NyY2AsIG5ldyBTZXQoW1wiaW5kZXhcIl0pKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZSA9IChcclxuICBkaXJlY3Rvcnk6IHN0cmluZyxcclxuICBhbGxvd2VkQmFycmVsTmFtZXM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXHJcbik6IERpcmVjdG9yeUJhcnJlbFN0YXRlID0+IHtcclxuICBjb25zdCBtb2R1bGVGaWxlcyA9IGdldERpcmVjdG9yeU1vZHVsZUZpbGVzKGRpcmVjdG9yeSk7XHJcbiAgY29uc3QgcHJpbWFyeUFsbG93ZWRCYXJyZWxGaWxlID0gbW9kdWxlRmlsZXMuZmluZCgoZW50cnkpID0+XHJcbiAgICBhbGxvd2VkQmFycmVsTmFtZXMuaGFzKGVudHJ5LnN0ZW0pLFxyXG4gICk/Lm5hbWU7XHJcbiAgY29uc3QgcHJpbWFyeU5vbkJhcnJlbE1vZHVsZUZpbGUgPSBtb2R1bGVGaWxlcy5maW5kKFxyXG4gICAgKGVudHJ5KSA9PiAhYWxsb3dlZEJhcnJlbE5hbWVzLmhhcyhlbnRyeS5zdGVtKSxcclxuICApPy5uYW1lO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgaGFzQWxsb3dlZEJhcnJlbEZpbGU6IHByaW1hcnlBbGxvd2VkQmFycmVsRmlsZSAhPT0gdm9pZCAwLFxyXG4gICAgaGFzTm9uQmFycmVsTW9kdWxlRmlsZTogcHJpbWFyeU5vbkJhcnJlbE1vZHVsZUZpbGUgIT09IHZvaWQgMCxcclxuICAgIHByaW1hcnlBbGxvd2VkQmFycmVsRmlsZSxcclxuICAgIHByaW1hcnlOb25CYXJyZWxNb2R1bGVGaWxlLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQge1xyXG4gIGdldERpcmVjdG9yeUJhcnJlbFN0YXRlLFxyXG4gIGlzQmFycmVsRmlsZSxcclxuICBpc0xpbnRhYmxlTW9kdWxlRmlsZSxcclxuICBub3JtYWxpemVBbGxvd2VkQmFycmVsTmFtZXMsXHJcbn07XHJcbiJdfQ==
|
package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consistent-barrel-files-listeners.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"consistent-barrel-files-listeners.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AA0HpF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,IAAI,CAAC,WAAW,EACzB,UAAU,MAAM,EAChB,SAAS,0BAA0B,KAClC,IAAI,CAAC,YAYP,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { getDirectoryBarrelState
|
|
2
|
+
import { getDirectoryBarrelState } from "./barrel-file-utilities.js";
|
|
3
3
|
import { shouldLintFile } from "./consistent-barrel-files-options.js";
|
|
4
4
|
/**
|
|
5
5
|
* Builds the enforcement listener for a file's directory.
|
|
@@ -19,9 +19,6 @@ const buildListenerForDirectory = (context, filename, options) => {
|
|
|
19
19
|
directoryState.hasAllowedBarrelFile) {
|
|
20
20
|
return {};
|
|
21
21
|
}
|
|
22
|
-
if (directoryState.primaryNonBarrelModuleFile !== path.basename(filename)) {
|
|
23
|
-
return {};
|
|
24
|
-
}
|
|
25
22
|
return buildMissingListener(context, options.allowedNames);
|
|
26
23
|
};
|
|
27
24
|
/**
|
|
@@ -39,13 +36,26 @@ const buildForbiddenListener = (context, filename, options) => {
|
|
|
39
36
|
const directory = path.dirname(filename);
|
|
40
37
|
const directoryState = getDirectoryBarrelState(directory, options.allowedNamesSet);
|
|
41
38
|
if (!directoryState.hasNonBarrelModuleFile ||
|
|
42
|
-
|
|
39
|
+
directoryState.primaryAllowedBarrelFile === void 0) {
|
|
43
40
|
return {};
|
|
44
41
|
}
|
|
42
|
+
return buildForbiddenListenerFromName(context, directoryState.primaryAllowedBarrelFile);
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Builds the listener that reports a forbidden barrel filename.
|
|
46
|
+
* @param context Rule execution context.
|
|
47
|
+
* @param forbiddenName Barrel filename to report.
|
|
48
|
+
* @returns The forbidden-barrel listener.
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const listener = buildForbiddenListenerFromName(context, "index.ts");
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
const buildForbiddenListenerFromName = (context, forbiddenName) => {
|
|
45
55
|
return {
|
|
46
56
|
Program(node) {
|
|
47
57
|
context.report({
|
|
48
|
-
data: { name:
|
|
58
|
+
data: { name: forbiddenName },
|
|
49
59
|
messageId: "forbiddenBarrel",
|
|
50
60
|
node,
|
|
51
61
|
});
|
|
@@ -95,4 +105,4 @@ const buildListenerForFile = (context, filename, options) => {
|
|
|
95
105
|
return buildListenerForDirectory(context, filename, options);
|
|
96
106
|
};
|
|
97
107
|
export { buildListenerForFile };
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtbGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtbGlzdGVuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUk3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMsT0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBbUMsRUFDaEIsRUFBRTtJQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUM1QyxTQUFTLEVBQ1QsT0FBTyxDQUFDLGVBQWUsQ0FDeEIsQ0FBQztJQUVGLElBQ0UsQ0FBQyxjQUFjLENBQUMsc0JBQXNCO1FBQ3RDLGNBQWMsQ0FBQyxvQkFBb0IsRUFDbkMsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUM3QixPQUF5QixFQUN6QixRQUFnQixFQUNoQixPQUFtQyxFQUNoQixFQUFFO0lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsTUFBTSxjQUFjLEdBQUcsdUJBQXVCLENBQzVDLFNBQVMsRUFDVCxPQUFPLENBQUMsZUFBZSxDQUN4QixDQUFDO0lBRUYsSUFDRSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0I7UUFDdEMsY0FBYyxDQUFDLHdCQUF3QixLQUFLLEtBQUssQ0FBQyxFQUNsRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyw4QkFBOEIsQ0FDbkMsT0FBTyxFQUNQLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDeEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sOEJBQThCLEdBQUcsQ0FDckMsT0FBeUIsRUFDekIsYUFBcUIsRUFDRixFQUFFO0lBQ3JCLE9BQU87UUFDTCxPQUFPLENBQUMsSUFBSTtZQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDN0IsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUF5QixFQUN6QixLQUFlLEVBQ0ksRUFBRTtJQUNyQixPQUFPO1FBQ0wsT0FBTyxDQUFDLElBQUk7WUFDVixPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNiLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FDM0IsT0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBbUMsRUFDaEIsRUFBRTtJQUNyQixNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB0eXBlIHsgQ29uc2lzdGVudEJhcnJlbEZpbGVzU3RhdGUgfSBmcm9tIFwiLi9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy1vcHRpb25zXCI7XG5cbmltcG9ydCB7IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlIH0gZnJvbSBcIi4vYmFycmVsLWZpbGUtdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBzaG91bGRMaW50RmlsZSB9IGZyb20gXCIuL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzLW9wdGlvbnNcIjtcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuZm9yY2VtZW50IGxpc3RlbmVyIGZvciBhIGZpbGUncyBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIGZpbGVuYW1lIEZpbGVuYW1lIGJlaW5nIGxpbnRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIGRpcmVjdG9yeS1sZXZlbCBydWxlIGxpc3RlbmVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckRpcmVjdG9yeShjb250ZXh0LCBmaWxlbmFtZSwgc3RhdGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkTGlzdGVuZXJGb3JEaXJlY3RvcnkgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IENvbnNpc3RlbnRCYXJyZWxGaWxlc1N0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBjb25zdCBkaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUoZmlsZW5hbWUpO1xuICBjb25zdCBkaXJlY3RvcnlTdGF0ZSA9IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlKFxuICAgIGRpcmVjdG9yeSxcbiAgICBvcHRpb25zLmFsbG93ZWROYW1lc1NldCxcbiAgKTtcblxuICBpZiAoXG4gICAgIWRpcmVjdG9yeVN0YXRlLmhhc05vbkJhcnJlbE1vZHVsZUZpbGUgfHxcbiAgICBkaXJlY3RvcnlTdGF0ZS5oYXNBbGxvd2VkQmFycmVsRmlsZVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4gYnVpbGRNaXNzaW5nTGlzdGVuZXIoY29udGV4dCwgb3B0aW9ucy5hbGxvd2VkTmFtZXMpO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGxpc3RlbmVyIHRoYXQgZm9yYmlkcyBiYXJyZWwgZmlsZXMgd2hlbiBlbmZvcmNlbWVudCBpcyBkaXNhYmxlZC5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgYmVpbmcgbGludGVkLlxuICogQHBhcmFtIG9wdGlvbnMgTm9ybWFsaXplZCBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgZm9yYmlkZGVuLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXIoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZEZvcmJpZGRlbkxpc3RlbmVyID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSxcbik6IFJ1bGUuUnVsZUxpc3RlbmVyID0+IHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lKGZpbGVuYW1lKTtcbiAgY29uc3QgZGlyZWN0b3J5U3RhdGUgPSBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZShcbiAgICBkaXJlY3RvcnksXG4gICAgb3B0aW9ucy5hbGxvd2VkTmFtZXNTZXQsXG4gICk7XG5cbiAgaWYgKFxuICAgICFkaXJlY3RvcnlTdGF0ZS5oYXNOb25CYXJyZWxNb2R1bGVGaWxlIHx8XG4gICAgZGlyZWN0b3J5U3RhdGUucHJpbWFyeUFsbG93ZWRCYXJyZWxGaWxlID09PSB2b2lkIDBcbiAgKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXJGcm9tTmFtZShcbiAgICBjb250ZXh0LFxuICAgIGRpcmVjdG9yeVN0YXRlLnByaW1hcnlBbGxvd2VkQmFycmVsRmlsZSxcbiAgKTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHRoZSBsaXN0ZW5lciB0aGF0IHJlcG9ydHMgYSBmb3JiaWRkZW4gYmFycmVsIGZpbGVuYW1lLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmb3JiaWRkZW5OYW1lIEJhcnJlbCBmaWxlbmFtZSB0byByZXBvcnQuXG4gKiBAcmV0dXJucyBUaGUgZm9yYmlkZGVuLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXJGcm9tTmFtZShjb250ZXh0LCBcImluZGV4LnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXJGcm9tTmFtZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZm9yYmlkZGVuTmFtZTogc3RyaW5nLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIFByb2dyYW0obm9kZSk6IHZvaWQge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IG5hbWU6IGZvcmJpZGRlbk5hbWUgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImZvcmJpZGRlbkJhcnJlbFwiLFxuICAgICAgICBub2RlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHRoZSBsaXN0ZW5lciB0aGF0IHJlcG9ydHMgbWlzc2luZyBiYXJyZWwgZmlsZXMuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIHRvIHJlcG9ydC5cbiAqIEByZXR1cm5zIFRoZSBtaXNzaW5nLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkTWlzc2luZ0xpc3RlbmVyKGNvbnRleHQsIFtcImluZGV4XCJdKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZE1pc3NpbmdMaXN0ZW5lciA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbmFtZXM6IHN0cmluZ1tdLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIFByb2dyYW0obm9kZSk6IHZvaWQge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IG5hbWVzOiBuYW1lcy5qb2luKFwiLCBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcIm1pc3NpbmdCYXJyZWxcIixcbiAgICAgICAgbm9kZSxcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59O1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgbGlzdGVuZXIgdXNlZCBmb3IgYSBzaW5nbGUgZmlsZSBldmFsdWF0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSBiZWluZyBsaW50ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyBOb3JtYWxpemVkIHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBmaWxlLXNwZWNpZmljIHJ1bGUgbGlzdGVuZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGlzdGVuZXIgPSBidWlsZExpc3RlbmVyRm9yRmlsZShjb250ZXh0LCBmaWxlbmFtZSwgc3RhdGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkTGlzdGVuZXJGb3JGaWxlID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSxcbik6IFJ1bGUuUnVsZUxpc3RlbmVyID0+IHtcbiAgY29uc3QgeyBhbGxvd2VkTmFtZXMsIGVuZm9yY2UgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKCFzaG91bGRMaW50RmlsZShmaWxlbmFtZSwgYWxsb3dlZE5hbWVzKSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmICghZW5mb3JjZSkge1xuICAgIHJldHVybiBidWlsZEZvcmJpZGRlbkxpc3RlbmVyKGNvbnRleHQsIGZpbGVuYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZExpc3RlbmVyRm9yRGlyZWN0b3J5KGNvbnRleHQsIGZpbGVuYW1lLCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCB7IGJ1aWxkTGlzdGVuZXJGb3JGaWxlIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports-only-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,IAAI,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"exports-only-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmMxC;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UA8CtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createRuleDocumentation } from "../../custom-rule-documentation.js";
|
|
2
1
|
import { isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, } from "./barrel-file-utilities.js";
|
|
3
2
|
/**
|
|
4
3
|
* Builds normalized rule options from raw input.
|
|
@@ -34,6 +33,30 @@ const isTypeOnlyDeclaration = (value) => {
|
|
|
34
33
|
return (declarationType === "TSInterfaceDeclaration" ||
|
|
35
34
|
declarationType === "TSTypeAliasDeclaration");
|
|
36
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Determines whether an export declaration is type-only via specifiers.
|
|
38
|
+
* @param candidate Export declaration candidate to inspect.
|
|
39
|
+
* @returns True when the export declaration is type-only.
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* const ok = isTypeOnlyExport({ exportKind: "type", specifiers: [{ exportKind: "type" }] });
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
const isTypeOnlyExport = (candidate) => {
|
|
46
|
+
const specifiers = candidate.specifiers;
|
|
47
|
+
if (!Array.isArray(specifiers) || specifiers.length === 0) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
if (candidate.exportKind === "type") {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
return specifiers.every((specifier) => {
|
|
54
|
+
if (specifier === null || typeof specifier !== "object") {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return (specifier.exportKind === "type");
|
|
58
|
+
});
|
|
59
|
+
};
|
|
37
60
|
/**
|
|
38
61
|
* Checks whether a statement is allowed in a barrel file.
|
|
39
62
|
* @param statement Program statement node.
|
|
@@ -55,7 +78,10 @@ const isAllowedBarrelStatement = (statement) => {
|
|
|
55
78
|
return isTypeOnlyDeclaration(declaration);
|
|
56
79
|
}
|
|
57
80
|
const source = statement.source ?? void 0;
|
|
58
|
-
|
|
81
|
+
if (source === void 0) {
|
|
82
|
+
return isTypeOnlyExport(statement);
|
|
83
|
+
}
|
|
84
|
+
return true;
|
|
59
85
|
};
|
|
60
86
|
/**
|
|
61
87
|
* Builds a rule listener for the supplied file.
|
|
@@ -116,7 +142,12 @@ const barrelFilesExportsOnlyRule = {
|
|
|
116
142
|
return buildListenerForFile(context, context.filename, getOptions(context.options));
|
|
117
143
|
},
|
|
118
144
|
meta: {
|
|
119
|
-
|
|
145
|
+
defaultOptions: [{ allowedBarrelNames: ["index"] }],
|
|
146
|
+
docs: {
|
|
147
|
+
description: "Require barrel files to only contain re-export statements or type-only declarations.",
|
|
148
|
+
recommended: false,
|
|
149
|
+
url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/barrel-files-exports-only.md",
|
|
150
|
+
},
|
|
120
151
|
messages: {
|
|
121
152
|
invalidBarrelContent: "Barrel files must only contain re-export statements or type-only declarations.",
|
|
122
153
|
},
|
|
@@ -125,6 +156,7 @@ const barrelFilesExportsOnlyRule = {
|
|
|
125
156
|
additionalProperties: false,
|
|
126
157
|
properties: {
|
|
127
158
|
allowedBarrelNames: {
|
|
159
|
+
description: "Allowed barrel basenames that should be treated as barrel files.",
|
|
128
160
|
items: { type: "string" },
|
|
129
161
|
minItems: 1,
|
|
130
162
|
type: "array",
|
|
@@ -137,4 +169,4 @@ const barrelFilesExportsOnlyRule = {
|
|
|
137
169
|
},
|
|
138
170
|
};
|
|
139
171
|
export { barrelFilesExportsOnlyRule };
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQWdCakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixPQUEyQixFQUNFLEVBQUU7SUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBOEMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUNwRCxVQUFVLEVBQUUsa0JBQWtCLENBQy9CLENBQUM7SUFFRixPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFFLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUN4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUksS0FBc0MsQ0FBQyxJQUFJLENBQUM7SUFFckUsT0FBTyxDQUNMLGVBQWUsS0FBSyx3QkFBd0I7UUFDNUMsZUFBZSxLQUFLLHdCQUF3QixDQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHdCQUF3QixHQUFHLENBQy9CLFNBQXNDLEVBQzdCLEVBQUU7SUFDWCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssd0JBQXdCLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBRXBELElBQUksV0FBVyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQztJQUUxQyxPQUFPLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUF5QixFQUN6QixRQUFnQixFQUNoQixPQUFvQyxFQUNqQixFQUFFO0lBQ3JCLElBQ0UsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFDL0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN0RCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTztRQUNMOzs7Ozs7O1dBT0c7UUFDSCxPQUFPLENBQUMsSUFBaUI7WUFDdkIsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUN6QyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNiLFNBQVMsRUFBRSxzQkFBc0I7d0JBQ2pDLElBQUksRUFBRSxTQUFTO3FCQUNoQixDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFDUixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSwwQkFBMEIsR0FBb0I7SUFDbEQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTyxvQkFBb0IsQ0FDekIsT0FBTyxFQUNQLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLHVCQUF1QixDQUMzQiwyQkFBMkIsRUFDM0Isc0ZBQXNGLENBQ3ZGO1FBQ0QsUUFBUSxFQUFFO1lBQ1Isb0JBQW9CLEVBQ2xCLGdGQUFnRjtTQUNuRjtRQUNELE1BQU0sRUFBRTtZQUNOO2dCQUNFLG9CQUFvQixFQUFFLEtBQUs7Z0JBQzNCLFVBQVUsRUFBRTtvQkFDVixrQkFBa0IsRUFBRTt3QkFDbEIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTt3QkFDekIsUUFBUSxFQUFFLENBQUM7d0JBQ1gsSUFBSSxFQUFFLE9BQU87cUJBQ2Q7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFTVCwgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5T3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uIH0gZnJvbSBcIi4uLy4uL2N1c3RvbS1ydWxlLWRvY3VtZW50YXRpb25cIjtcbmltcG9ydCB7XG4gIGlzQmFycmVsRmlsZSxcbiAgaXNMaW50YWJsZU1vZHVsZUZpbGUsXG4gIG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyxcbn0gZnJvbSBcIi4vYmFycmVsLWZpbGUtdXRpbGl0aWVzXCI7XG5cbi8qKiBTdG9yZXMgbm9ybWFsaXplZCBydWxlIG9wdGlvbnMgZm9yIHRoZSBleHBvcnRzLW9ubHkgcnVsZS4gKi9cbmludGVyZmFjZSBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5U3RhdGUge1xuICAvKiogQWxsb3dlZCBiYXJyZWwgYmFzZW5hbWVzIGZvciB0aGUgY3VycmVudCBydWxlIHJ1bi4gKi9cbiAgYWxsb3dlZEJhcnJlbE5hbWVzOiBzdHJpbmdbXTtcbiAgLyoqIEFsbG93ZWQgYmFycmVsIGJhc2VuYW1lcyBpbiBzZXQgZm9ybSBmb3IgcXVpY2sgbG9va3Vwcy4gKi9cbiAgYWxsb3dlZEJhcnJlbE5hbWVzU2V0OiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGRlY2xhcmF0aW9uLWxpa2UgdmFsdWUgdGhhdCBtYXkgZXhwb3NlIGEgYHR5cGVgIGZpZWxkLiAqL1xuaW50ZXJmYWNlIFR5cGVPbmx5RGVjbGFyYXRpb25DYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGRlY2xhcmF0aW9uIHR5cGUuICovXG4gIHR5cGU/OiB1bmtub3duO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBub3JtYWxpemVkIHJ1bGUgb3B0aW9ucyBmcm9tIHJhdyBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIFJhdyBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBleHBvcnRzLW9ubHkgcnVsZSBzdGF0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGF0ZSA9IGdldE9wdGlvbnMoW3t9XSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0T3B0aW9ucyA9IChcbiAgb3B0aW9uczogcmVhZG9ubHkgdW5rbm93bltdLFxuKTogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlID0+IHtcbiAgY29uc3QgcmF3T3B0aW9ucyA9IG9wdGlvbnNbMF0gYXMgQmFycmVsRmlsZXNFeHBvcnRzT25seU9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGFsbG93ZWRCYXJyZWxOYW1lcyA9IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyhcbiAgICByYXdPcHRpb25zPy5hbGxvd2VkQmFycmVsTmFtZXMsXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkQmFycmVsTmFtZXMsXG4gICAgYWxsb3dlZEJhcnJlbE5hbWVzU2V0OiBuZXcgU2V0KGFsbG93ZWRCYXJyZWxOYW1lcyksXG4gIH07XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seS5cbiAqIEBwYXJhbSB2YWx1ZSBEZWNsYXJhdGlvbiBjYW5kaWRhdGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZGVjbGFyYXRpb24gaXMgdHlwZS1vbmx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNUeXBlT25seURlY2xhcmF0aW9uKHsgdHlwZTogXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNUeXBlT25seURlY2xhcmF0aW9uID0gKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBkZWNsYXJhdGlvblR5cGUgPSAodmFsdWUgYXMgVHlwZU9ubHlEZWNsYXJhdGlvbkNhbmRpZGF0ZSkudHlwZTtcblxuICByZXR1cm4gKFxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIgfHxcbiAgICBkZWNsYXJhdGlvblR5cGUgPT09IFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiXG4gICk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgc3RhdGVtZW50IGlzIGFsbG93ZWQgaW4gYSBiYXJyZWwgZmlsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgUHJvZ3JhbSBzdGF0ZW1lbnQgbm9kZS5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIHBlcm1pdHRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudCA9IChcbiAgc3RhdGVtZW50OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc3RhdGVtZW50LmRlY2xhcmF0aW9uID8/IHZvaWQgMDtcblxuICBpZiAoZGVjbGFyYXRpb24gIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBpc1R5cGVPbmx5RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGVtZW50LnNvdXJjZSA/PyB2b2lkIDA7XG5cbiAgcmV0dXJuIHNvdXJjZSAhPT0gdm9pZCAwO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBydWxlIGxpc3RlbmVyIGZvciB0aGUgc3VwcGxpZWQgZmlsZS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgQWJzb2x1dGUgZmlsZW5hbWUgdG8gbGludC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHJ1bGUgbGlzdGVuZXIgZm9yIHRoZSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckZpbGUoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZExpc3RlbmVyRm9yRmlsZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBpZiAoXG4gICAgIWlzTGludGFibGVNb2R1bGVGaWxlKGZpbGVuYW1lKSB8fFxuICAgICFpc0JhcnJlbEZpbGUoZmlsZW5hbWUsIG9wdGlvbnMuYWxsb3dlZEJhcnJlbE5hbWVzU2V0KVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgdGhlIGZpcnN0IGludmFsaWQgYmFycmVsIHN0YXRlbWVudCBpbiB0aGUgcHJvZ3JhbS5cbiAgICAgKiBAcGFyYW0gbm9kZSBQcm9ncmFtIG5vZGUgdG8gaW5zcGVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsaXN0ZW5lci5Qcm9ncmFtKHByb2dyYW1Ob2RlKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBQcm9ncmFtKG5vZGU6IEFTVC5Qcm9ncmFtKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcbiAgICAgICAgaWYgKCFpc0FsbG93ZWRCYXJyZWxTdGF0ZW1lbnQoc3RhdGVtZW50KSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJpbnZhbGlkQmFycmVsQ29udGVudFwiLFxuICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgZW5mb3JjaW5nIHJlLWV4cG9ydC1vbmx5IGJhcnJlbCBmaWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU7XG4gKiBgYGBcbiAqL1xuY29uc3QgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgbGlzdGVuZXJzIGZvciB0aGUgY3VycmVudCBsaW50IGNvbnRleHQuXG4gICAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0ZW5lcnMgZm9yIHRoZSBjb250ZXh0LlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxpc3RlbmVycyA9IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgICogYGBgXG4gICAqL1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5maWxlbmFtZSxcbiAgICAgIGdldE9wdGlvbnMoY29udGV4dC5vcHRpb25zKSxcbiAgICApO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczogY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXG4gICAgICBcImJhcnJlbC1maWxlcy1leHBvcnRzLW9ubHlcIixcbiAgICAgIFwiUmVxdWlyZSBiYXJyZWwgZmlsZXMgdG8gb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgKSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW52YWxpZEJhcnJlbENvbnRlbnQ6XG4gICAgICAgIFwiQmFycmVsIGZpbGVzIG11c3Qgb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzOiB7XG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUgfTtcbiJdfQ==
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQThCakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixPQUEyQixFQUNFLEVBQUU7SUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBOEMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUNwRCxVQUFVLEVBQUUsa0JBQWtCLENBQy9CLENBQUM7SUFFRixPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFFLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUN4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUksS0FBc0MsQ0FBQyxJQUFJLENBQUM7SUFFckUsT0FBTyxDQUNMLGVBQWUsS0FBSyx3QkFBd0I7UUFDNUMsZUFBZSxLQUFLLHdCQUF3QixDQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBa0MsRUFBVyxFQUFFO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFeEMsSUFBSSxDQUFD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QUcsRUFBRSw0RkFBNEY7U0FDbEc7UUFDRCxRQUFRLEVBQUU7WUFDUixvQkFBb0IsRUFDbEIsZ0ZBQWdGO1NBQ25GO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0Usb0JBQW9CLEVBQUUsS0FBSztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLGtCQUFrQixFQUFFO3dCQUNsQixXQUFXLEVBQ1Qsa0VBQWtFO3dCQUNwRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO3dCQUN6QixRQUFRLEVBQUUsQ0FBQzt3QkFDWCxJQUFJLEVBQUUsT0FBTztxQkFDZDtpQkFDRjtnQkFDRCxJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVNULCBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IEJhcnJlbEZpbGVzRXhwb3J0c09ubHlPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgaXNCYXJyZWxGaWxlLFxuICBpc0xpbnRhYmxlTW9kdWxlRmlsZSxcbiAgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzLFxufSBmcm9tIFwiLi9iYXJyZWwtZmlsZS11dGlsaXRpZXNcIjtcblxuLyoqIFN0b3JlcyBub3JtYWxpemVkIHJ1bGUgb3B0aW9ucyBmb3IgdGhlIGV4cG9ydHMtb25seSBydWxlLiAqL1xuaW50ZXJmYWNlIEJhcnJlbEZpbGVzRXhwb3J0c09ubHlTdGF0ZSB7XG4gIC8qKiBBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgZm9yIHRoZSBjdXJyZW50IHJ1bGUgcnVuLiAqL1xuICBhbGxvd2VkQmFycmVsTmFtZXM6IHN0cmluZ1tdO1xuICAvKiogQWxsb3dlZCBiYXJyZWwgYmFzZW5hbWVzIGluIHNldCBmb3JtIGZvciBxdWljayBsb29rdXBzLiAqL1xuICBhbGxvd2VkQmFycmVsTmFtZXNTZXQ6IFNldDxzdHJpbmc+O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGVjbGFyYXRpb24tbGlrZSB2YWx1ZSB0aGF0IG1heSBleHBvc2UgYSBgdHlwZWAgZmllbGQuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlEZWNsYXJhdGlvbkNhbmRpZGF0ZSB7XG4gIC8qKiBDYW5kaWRhdGUgZGVjbGFyYXRpb24gdHlwZS4gKi9cbiAgdHlwZT86IHVua25vd247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gZXhwb3J0IGRlY2xhcmF0aW9uLWxpa2UgdmFsdWUgd2l0aCBleHBvcnQgbWV0YWRhdGEuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlFeHBvcnRDYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGRlY2xhcmF0aW9uLWxldmVsIGV4cG9ydCBraW5kLiAqL1xuICBleHBvcnRLaW5kPzogdW5rbm93bjtcbiAgLyoqIENhbmRpZGF0ZSBleHBvcnQgc3BlY2lmaWVycy4gKi9cbiAgc3BlY2lmaWVycz86IHVua25vd247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gZXhwb3J0IHNwZWNpZmllci1saWtlIHZhbHVlIHRoYXQgbWF5IGV4cG9zZSBgZXhwb3J0S2luZGAuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlFeHBvcnRTcGVjaWZpZXJDYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGV4cG9ydCBraW5kIGZvciBhIHNwZWNpZmllci4gKi9cbiAgZXhwb3J0S2luZD86IHVua25vd247XG59XG5cbi8qKlxuICogQnVpbGRzIG5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zIGZyb20gcmF3IGlucHV0LlxuICogQHBhcmFtIG9wdGlvbnMgUmF3IHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGV4cG9ydHMtb25seSBydWxlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YXRlID0gZ2V0T3B0aW9ucyhbe31dKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRPcHRpb25zID0gKFxuICBvcHRpb25zOiByZWFkb25seSB1bmtub3duW10sXG4pOiBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5U3RhdGUgPT4ge1xuICBjb25zdCByYXdPcHRpb25zID0gb3B0aW9uc1swXSBhcyBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5T3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgYWxsb3dlZEJhcnJlbE5hbWVzID0gbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzKFxuICAgIHJhd09wdGlvbnM/LmFsbG93ZWRCYXJyZWxOYW1lcyxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGFsbG93ZWRCYXJyZWxOYW1lcyxcbiAgICBhbGxvd2VkQmFycmVsTmFtZXNTZXQ6IG5ldyBTZXQoYWxsb3dlZEJhcnJlbE5hbWVzKSxcbiAgfTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZGVjbGFyYXRpb24gaXMgdHlwZS1vbmx5LlxuICogQHBhcmFtIHZhbHVlIERlY2xhcmF0aW9uIGNhbmRpZGF0ZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc1R5cGVPbmx5RGVjbGFyYXRpb24oeyB0eXBlOiBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1R5cGVPbmx5RGVjbGFyYXRpb24gPSAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uVHlwZSA9ICh2YWx1ZSBhcyBUeXBlT25seURlY2xhcmF0aW9uQ2FuZGlkYXRlKS50eXBlO1xuXG4gIHJldHVybiAoXG4gICAgZGVjbGFyYXRpb25UeXBlID09PSBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB8fFxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCJcbiAgKTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV4cG9ydCBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkgdmlhIHNwZWNpZmllcnMuXG4gKiBAcGFyYW0gY2FuZGlkYXRlIEV4cG9ydCBkZWNsYXJhdGlvbiBjYW5kaWRhdGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZXhwb3J0IGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzVHlwZU9ubHlFeHBvcnQoeyBleHBvcnRLaW5kOiBcInR5cGVcIiwgc3BlY2lmaWVyczogW3sgZXhwb3J0S2luZDogXCJ0eXBlXCIgfV0gfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNUeXBlT25seUV4cG9ydCA9IChjYW5kaWRhdGU6IFR5cGVPbmx5RXhwb3J0Q2FuZGlkYXRlKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHNwZWNpZmllcnMgPSBjYW5kaWRhdGUuc3BlY2lmaWVycztcblxuICBpZiAoIUFycmF5LmlzQXJyYXkoc3BlY2lmaWVycykgfHwgc3BlY2lmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoY2FuZGlkYXRlLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gc3BlY2lmaWVycy5ldmVyeSgoc3BlY2lmaWVyKSA9PiB7XG4gICAgaWYgKHNwZWNpZmllciA9PT0gbnVsbCB8fCB0eXBlb2Ygc3BlY2lmaWVyICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIChzcGVjaWZpZXIgYXMgVHlwZU9ubHlFeHBvcnRTcGVjaWZpZXJDYW5kaWRhdGUpLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiXG4gICAgKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgc3RhdGVtZW50IGlzIGFsbG93ZWQgaW4gYSBiYXJyZWwgZmlsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgUHJvZ3JhbSBzdGF0ZW1lbnQgbm9kZS5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIHBlcm1pdHRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudCA9IChcbiAgc3RhdGVtZW50OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc3RhdGVtZW50LmRlY2xhcmF0aW9uID8/IHZvaWQgMDtcblxuICBpZiAoZGVjbGFyYXRpb24gIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBpc1R5cGVPbmx5RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGVtZW50LnNvdXJjZSA/PyB2b2lkIDA7XG5cbiAgaWYgKHNvdXJjZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGlzVHlwZU9ubHlFeHBvcnQoc3RhdGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBydWxlIGxpc3RlbmVyIGZvciB0aGUgc3VwcGxpZWQgZmlsZS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgQWJzb2x1dGUgZmlsZW5hbWUgdG8gbGludC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHJ1bGUgbGlzdGVuZXIgZm9yIHRoZSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckZpbGUoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZExpc3RlbmVyRm9yRmlsZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBpZiAoXG4gICAgIWlzTGludGFibGVNb2R1bGVGaWxlKGZpbGVuYW1lKSB8fFxuICAgICFpc0JhcnJlbEZpbGUoZmlsZW5hbWUsIG9wdGlvbnMuYWxsb3dlZEJhcnJlbE5hbWVzU2V0KVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgdGhlIGZpcnN0IGludmFsaWQgYmFycmVsIHN0YXRlbWVudCBpbiB0aGUgcHJvZ3JhbS5cbiAgICAgKiBAcGFyYW0gbm9kZSBQcm9ncmFtIG5vZGUgdG8gaW5zcGVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsaXN0ZW5lci5Qcm9ncmFtKHByb2dyYW1Ob2RlKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBQcm9ncmFtKG5vZGU6IEFTVC5Qcm9ncmFtKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcbiAgICAgICAgaWYgKCFpc0FsbG93ZWRCYXJyZWxTdGF0ZW1lbnQoc3RhdGVtZW50KSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJpbnZhbGlkQmFycmVsQ29udGVudFwiLFxuICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgZW5mb3JjaW5nIHJlLWV4cG9ydC1vbmx5IGJhcnJlbCBmaWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU7XG4gKiBgYGBcbiAqL1xuY29uc3QgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgbGlzdGVuZXJzIGZvciB0aGUgY3VycmVudCBsaW50IGNvbnRleHQuXG4gICAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0ZW5lcnMgZm9yIHRoZSBjb250ZXh0LlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxpc3RlbmVycyA9IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgICogYGBgXG4gICAqL1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5maWxlbmFtZSxcbiAgICAgIGdldE9wdGlvbnMoY29udGV4dC5vcHRpb25zKSxcbiAgICApO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFt7IGFsbG93ZWRCYXJyZWxOYW1lczogW1wiaW5kZXhcIl0gfV0sXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiUmVxdWlyZSBiYXJyZWwgZmlsZXMgdG8gb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9iYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW52YWxpZEJhcnJlbENvbnRlbnQ6XG4gICAgICAgIFwiQmFycmVsIGZpbGVzIG11c3Qgb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBiYXJyZWwgZmlsZXMuXCIsXG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUgfTtcbiJdfQ==
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { barrelFilesExportsOnlyRule } from "./exports-only-rule.js";
|
|
2
|
+
export { noImportExportAliasesRule } from "./no-import-export-aliases-rule.js";
|
|
3
|
+
export { noImportExportExtensionsRule } from "./no-import-export-extensions-rule.js";
|
|
2
4
|
export { noReexportsOutsideBarrelsRule } from "./no-reexports-outside-barrels-rule.js";
|
|
3
5
|
export { consistentBarrelFilesRule } from "./rule.js";
|
|
4
6
|
export type { BarrelFilesExportsOnlyOptions, ConsistentBarrelFilesOptions, NoReexportsOutsideBarrelsOptions, } from "./types.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,SAAS,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { barrelFilesExportsOnlyRule } from "./exports-only-rule.js";
|
|
2
|
+
export { noImportExportAliasesRule } from "./no-import-export-aliases-rule.js";
|
|
3
|
+
export { noImportExportExtensionsRule } from "./no-import-export-extensions-rule.js";
|
|
2
4
|
export { noReexportsOutsideBarrelsRule } from "./no-reexports-outside-barrels-rule.js";
|
|
3
5
|
export { consistentBarrelFilesRule } from "./rule.js";
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSB9IGZyb20gXCIuL2V4cG9ydHMtb25seS1ydWxlXCI7XG5leHBvcnQgeyBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlIH0gZnJvbSBcIi4vbm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzLXJ1bGVcIjtcbmV4cG9ydCB7IG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUgfSBmcm9tIFwiLi9uby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnMtcnVsZVwiO1xuZXhwb3J0IHsgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUgfSBmcm9tIFwiLi9uby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzLXJ1bGVcIjtcbmV4cG9ydCB7IGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUgfSBmcm9tIFwiLi9ydWxlXCI7XG5leHBvcnQgdHlwZSB7XG4gIEJhcnJlbEZpbGVzRXhwb3J0c09ubHlPcHRpb25zLFxuICBDb25zaXN0ZW50QmFycmVsRmlsZXNPcHRpb25zLFxuICBOb1JlZXhwb3J0c091dHNpZGVCYXJyZWxzT3B0aW9ucyxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Rule } from "eslint";
|
|
2
|
+
/** ESLint rule that forbids aliased import/export names unless required by same-file name collisions. */
|
|
3
|
+
declare const noImportExportAliasesRule: Rule.RuleModule;
|
|
4
|
+
export { noImportExportAliasesRule };
|
|
5
|
+
//# sourceMappingURL=no-import-export-aliases-rule.d.ts.map
|
package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-import-export-aliases-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqUnC,yGAAyG;AACzG,QAAA,MAAM,yBAAyB,EAAE,IAAI,CAAC,UAkBrC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}
|