@fenge/eslint-config 0.4.0 → 0.5.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +8 -5
  3. package/dist/config/javascript.d.ts +11 -0
  4. package/dist/config/javascript.d.ts.map +1 -1
  5. package/dist/config/js/base.d.ts +7 -0
  6. package/dist/config/js/base.d.ts.map +1 -1
  7. package/dist/config/js/base.js +10 -2
  8. package/dist/config/js/cli.d.ts +3 -0
  9. package/dist/config/js/cli.d.ts.map +1 -1
  10. package/dist/config/js/cli.js +5 -1
  11. package/dist/config/js/test.d.ts +1 -0
  12. package/dist/config/js/test.d.ts.map +1 -1
  13. package/dist/config/js/test.js +2 -1
  14. package/dist/config/packagejson.d.ts +1 -1
  15. package/dist/config/packagejson.js +2 -2
  16. package/dist/config/ts/base.d.ts +8 -1
  17. package/dist/config/ts/base.d.ts.map +1 -1
  18. package/dist/config/ts/base.js +3 -4
  19. package/dist/config/ts/cli.d.ts +3 -0
  20. package/dist/config/ts/cli.d.ts.map +1 -1
  21. package/dist/config/ts/declaration.d.ts +4 -0
  22. package/dist/config/ts/declaration.d.ts.map +1 -1
  23. package/dist/config/ts/declaration.js +5 -1
  24. package/dist/config/ts/test.d.ts +1 -0
  25. package/dist/config/ts/test.d.ts.map +1 -1
  26. package/dist/config/typescript.d.ts +16 -1
  27. package/dist/config/typescript.d.ts.map +1 -1
  28. package/dist/eslint.config.d.ts +11 -4
  29. package/dist/eslint.config.d.ts.map +1 -1
  30. package/dist/eslint.config.js +17 -10
  31. package/package.json +6 -6
  32. package/src/config/js/base.ts +9 -1
  33. package/src/config/js/cli.ts +4 -0
  34. package/src/config/js/test.ts +1 -0
  35. package/src/config/packagejson.ts +1 -1
  36. package/src/config/ts/base.ts +2 -3
  37. package/src/config/ts/declaration.ts +4 -0
  38. package/src/eslint.config.ts +30 -29
@@ -6,7 +6,7 @@ export declare function getTsBase(): {
6
6
  readonly languageOptions: {
7
7
  readonly parser: typeof tsParser;
8
8
  readonly parserOptions: {
9
- readonly project: "tsconfig.json";
9
+ readonly projectService: true;
10
10
  readonly ecmaVersion: "latest";
11
11
  readonly sourceType: "module";
12
12
  readonly ecmaFeatures: {
@@ -562,6 +562,7 @@ export declare function getTsBase(): {
562
562
  readonly ignoreOnInitialization: true;
563
563
  }];
564
564
  readonly "@typescript-eslint/no-unused-expressions": readonly ["error", {
565
+ readonly enforceForJSX: true;
565
566
  readonly allowShortCircuit: true;
566
567
  readonly allowTernary: true;
567
568
  readonly allowTaggedTemplates: true;
@@ -620,15 +621,18 @@ export declare function getTsBase(): {
620
621
  readonly "prefer-arrow-callback": "error";
621
622
  readonly "prefer-exponentiation-operator": "error";
622
623
  readonly "prefer-object-has-own": "error";
624
+ readonly "prefer-spread": "error";
623
625
  readonly "prefer-template": "error";
624
626
  readonly "es-x/no-accessor-properties": "error";
625
627
  readonly "es-x/no-async-iteration": "error";
626
628
  readonly "es-x/no-generators": "error";
629
+ readonly "es-x/no-hashbang": "error";
627
630
  readonly "es-x/no-legacy-object-prototype-accessor-methods": "error";
628
631
  readonly "es-x/no-top-level-await": "error";
629
632
  readonly "esm/nearest-relative-path": "error";
630
633
  readonly "esm/no-directory-imports": "error";
631
634
  readonly "esm/no-dynamic-imports": "error";
635
+ readonly "esm/no-empty-exports": "error";
632
636
  readonly "esm/no-git-ignored-imports": "error";
633
637
  readonly "esm/no-phantom-dep-imports": "error";
634
638
  readonly "esm/no-relative-parent-imports": "error";
@@ -636,6 +640,7 @@ export declare function getTsBase(): {
636
640
  readonly "esm/no-rename-imports": "error";
637
641
  readonly "esm/no-side-effect-imports": "error";
638
642
  readonly "esm/no-ts-file-imports": "error";
643
+ readonly "esm/required-exports": "error";
639
644
  readonly "fp/no-arguments": "error";
640
645
  readonly "fp/no-delete": "error";
641
646
  readonly "import/extensions": readonly ["error", "always", {
@@ -648,9 +653,11 @@ export declare function getTsBase(): {
648
653
  }];
649
654
  readonly "import/no-default-export": "error";
650
655
  readonly "import/no-dynamic-require": "error";
656
+ readonly "import/no-empty-named-blocks": "error";
651
657
  readonly "import/no-mutable-exports": "error";
652
658
  readonly "import/no-relative-packages": "error";
653
659
  readonly "import/no-self-import": "error";
660
+ readonly "n/no-process-exit": "error";
654
661
  readonly "n/prefer-global/buffer": readonly ["error", "never"];
655
662
  readonly "n/prefer-global/console": "error";
656
663
  readonly "n/prefer-global/process": readonly ["error", "never"];
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/ts/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/ts/base.ts"],"names":[],"mappings":"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"}
@@ -53,9 +53,8 @@ export function getTsBase() {
53
53
  parserOptions: {
54
54
  ...jsBase.languageOptions.parserOptions,
55
55
  // Setting `projectService: true` or `project: true` is pretty slow when lint a monorepo with many tsconfig.json files in each sub-app.
56
- // For a better performance, we are recommended using one tsconfig.json file in a project.
57
- // Waiting for typescript-eslint to officially provide a better way to use `projectService`.
58
- project: "tsconfig.json",
56
+ // But setting `project: "tsconfig.json"` will cause parser error when the project root tsconfig.json is `{ extends: "fenge/tsconfig" }`
57
+ projectService: true,
59
58
  },
60
59
  },
61
60
  plugins: {
@@ -204,4 +203,4 @@ export function getTsBase() {
204
203
  },
205
204
  };
206
205
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sUUFBUSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLFNBQVM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7UUFDL0IsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLHdCQUF3QixFQUFFLDJDQUEyQztZQUNyRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0Qsb0JBQW9CLEVBQUUsdUNBQXVDO1lBQzdELGNBQWMsRUFBRSxpQ0FBaUM7WUFDakQsbUJBQW1CLEVBQUUsc0NBQXNDO1lBQzNELFlBQVksRUFBRSwrQkFBK0I7WUFDN0Msc0JBQXNCLEVBQUUseUNBQXlDO1lBQ2pFLHVCQUF1QixFQUFFLDBDQUEwQztZQUNuRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0QsaUJBQWlCLEVBQUUsb0NBQW9DO1lBQ3ZELGlCQUFpQixFQUFFLG9DQUFvQztZQUN2RCxjQUFjLEVBQUUsaUNBQWlDO1lBQ2pELHNHQUFzRztZQUN0RyxrQkFBa0IsRUFBRSxxQ0FBcUM7WUFDekQsY0FBYyxFQUFFLGlDQUFpQztZQUNqRCx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsZ0JBQWdCLEVBQUUsbUNBQW1DO1lBQ3JELHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSx3QkFBd0IsRUFBRSwyQ0FBMkM7WUFDckUsa0JBQWtCLEVBQUUscUNBQXFDO1lBQ3pELHNC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QUF1QyxFQUFFLE9BQU87U0FDakQ7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZlbmdlVHNQbHVnaW4gZnJvbSBcIkBmZW5nZS9lc2xpbnQtcGx1Z2luLXRzXCI7XG5pbXBvcnQgdHNQYXJzZXIgZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjtcbmltcG9ydCB7IGdldEpzQmFzZSB9IGZyb20gXCIuLi9qcy9iYXNlLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUc0Jhc2UoKSB7XG4gIGNvbnN0IGpzQmFzZSA9IGdldEpzQmFzZSgpO1xuXG4gIGNvbnN0IGdldFRzRXh0ZW5zaW9uUnVsZXMgPSAoKSA9PiB7XG4gICAgLy8gS2V5IGlzIGpzIHJ1bGUsIHZhbHVlIGlzIHRzIHJ1bGVcbiAgICAvLyBodHRwczovL3R5cGVzY3JpcHQtZXNsaW50LmlvL3J1bGVzLz89ZXh0ZW5zaW9uXG4gICAgY29uc3QgZXh0ZW5zaW9uUnVsZU1hcCA9IHtcbiAgICAgIFwiY2xhc3MtbWV0aG9kcy11c2UtdGhpc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9jbGFzcy1tZXRob2RzLXVzZS10aGlzXCIsXG4gICAgICBcImNvbnNpc3RlbnQtcmV0dXJuXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtcmV0dXJuXCIsXG4gICAgICBcImRlZmF1bHQtcGFyYW0tbGFzdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kZWZhdWx0LXBhcmFtLWxhc3RcIixcbiAgICAgIFwiZG90LW5vdGF0aW9uXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvblwiLFxuICAgICAgXCJpbml0LWRlY2xhcmF0aW9uc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9pbml0LWRlY2xhcmF0aW9uc1wiLFxuICAgICAgXCJtYXgtcGFyYW1zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L21heC1wYXJhbXNcIixcbiAgICAgIFwibm8tYXJyYXktY29uc3RydWN0b3JcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYXJyYXktY29uc3RydWN0b3JcIixcbiAgICAgIFwibm8tZHVwZS1jbGFzcy1tZW1iZXJzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGUtY2xhc3MtbWVtYmVyc1wiLFxuICAgICAgXCJuby1lbXB0eS1mdW5jdGlvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblwiLFxuICAgICAgXCJuby1pbXBsaWVkLWV2YWxcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW1wbGllZC1ldmFsXCIsXG4gICAgICBcIm5vLWludmFsaWQtdGhpc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXRoaXNcIixcbiAgICAgIFwibm8tbG9vcC1mdW5jXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWxvb3AtZnVuY1wiLFxuICAgICAgLy8gXCJuby1sb3NzLW9mLXByZWNpc2lvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1sb3NzLW9mLXByZWNpc2lvblwiLCAvLyBUaGlzIHJ1bGUgaGFzIGJlZW4gZGVwcmVjYXRlZFxuICAgICAgXCJuby1tYWdpYy1udW1iZXJzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1hZ2ljLW51bWJlcnNcIixcbiAgICAgIFwibm8tcmVkZWNsYXJlXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZGVjbGFyZVwiLFxuICAgICAgXCJuby1yZXN0cmljdGVkLWltcG9ydHNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVzdHJpY3RlZC1pbXBvcnRzXCIsXG4gICAgICBcIm5vLXNoYWRvd1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3dcIixcbiAgICAgIFwibm8tdW51c2VkLWV4cHJlc3Npb25zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1wiLFxuICAgICAgXCJuby11bnVzZWQtdmFyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1wiLFxuICAgICAgXCJuby11c2UtYmVmb3JlLWRlZmluZVwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVwiLFxuICAgICAgXCJuby11c2VsZXNzLWNvbnN0cnVjdG9yXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZWxlc3MtY29uc3RydWN0b3JcIixcbiAgICAgIFwibm8tdGhyb3ctbGl0ZXJhbFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9vbmx5LXRocm93LWVycm9yXCIsXG4gICAgICBcInByZWZlci1kZXN0cnVjdHVyaW5nXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1kZXN0cnVjdHVyaW5nXCIsXG4gICAgICBcInByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIjpcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1wiLFxuICAgICAgXCJyZXF1aXJlLWF3YWl0XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcIixcbiAgICAgIFwibm8tcmV0dXJuLWF3YWl0XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3JldHVybi1hd2FpdFwiLCAvLyBuby1yZXR1cm4tYXdhaXQgaGFzIGJlZW4gZGVwcmVjYXRlZFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICB0eXBlIEpzMlRzUnVsZU1hcCA9IHR5cGVvZiBleHRlbnNpb25SdWxlTWFwO1xuICAgIHR5cGUgVHMySnNSdWxlTWFwID0ge1xuICAgICAgW0sgaW4ga2V5b2YgSnMyVHNSdWxlTWFwIGFzIEpzMlRzUnVsZU1hcFtLXV06IEs7IC8vIHJldmVyc2VcbiAgICB9O1xuXG4gICAgdHlwZSBKc0V4dGVuc2lvbktleSA9IEV4dHJhY3Q8XG4gICAgICBrZXlvZiBKczJUc1J1bGVNYXAsXG4gICAgICBrZXlvZiB0eXBlb2YganNCYXNlLnJ1bGVzXG4gICAgPjsgLy8gRXh0cmFjdFxuICAgIHR5cGUgVHNFeHRlbnNpb25LZXkgPSBKczJUc1J1bGVNYXBbSnNFeHRlbnNpb25LZXldO1xuXG4gICAgdHlwZSBKc1Jlc3VsdCA9IFJlY29yZDxKc0V4dGVuc2lvbktleSwgXCJvZmZcIj47XG4gICAgdHlwZSBUc1Jlc3VsdCA9IHtcbiAgICAgIFtLZXkgaW4gVHNFeHRlbnNpb25LZXldOiAodHlwZW9mIGpzQmFzZS5ydWxlcylbVHMySnNSdWxlTWFwW0tleV1dO1xuICAgIH07XG4gICAgdHlwZSBSZXN1bHQgPSBKc1Jlc3VsdCAmIFRzUmVzdWx0O1xuXG4gICAgY29uc3QgaXNJbkV4dGVuc2lvblJ1bGVNYXAgPSAoXG4gICAgICBrZXk6IHN0cmluZyxcbiAgICApOiBrZXkgaXMga2V5b2YgdHlwZW9mIGV4dGVuc2lvblJ1bGVNYXAgPT4ga2V5IGluIGV4dGVuc2lvblJ1bGVNYXA7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzQmFzZS5ydWxlcykucmVkdWNlKFxuICAgICAgKHJlc3VsdCwgW2pzUnVsZUtleSwganNSdWxlVmFsdWVdKSA9PlxuICAgICAgICBpc0luRXh0ZW5zaW9uUnVsZU1hcChqc1J1bGVLZXkpXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgW2pzUnVsZUtleV06IFwib2ZmXCIsXG4gICAgICAgICAgICAgIFtleHRlbnNpb25SdWxlTWFwW2pzUnVsZUtleV1dOiBqc1J1bGVWYWx1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHJlc3VsdCxcbiAgICAgIHt9IGFzIFJlc3VsdCxcbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4uanNCYXNlLFxuICAgIG5hbWU6IFwiZmVuZ2UvdHlwZXNjcmlwdFwiLFxuICAgIGZpbGVzOiBbXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICAuLi5qc0Jhc2UubGFuZ3VhZ2VPcHRpb25zLFxuICAgICAgcGFyc2VyOiB0c1BhcnNlciwgLy8gVW5mb3J0dW5hdGVseSBwYXJzZXIgY2Fubm90IGJlIGEgc3RyaW5nLiBFc2xpbnQgc2hvdWxkIHN1cHBvcnQgaXQuIGh0dHBzOi8vZXNsaW50Lm9yZy9kb2NzL2xhdGVzdC91c2UvY29uZmlndXJlL2NvbmZpZ3VyYXRpb24tZmlsZXMtbmV3I2NvbmZpZ3VyaW5nLWEtY3VzdG9tLXBhcnNlci1hbmQtaXRzLW9wdGlvbnNcbiAgICAgIHBhcnNlck9wdGlvbnM6IHtcbiAgICAgICAgLi4uanNCYXNlLmxhbmd1YWdlT3B0aW9ucy5wYXJzZXJPcHRpb25zLFxuICAgICAgICAvLyBTZXR0aW5nIGBwcm9qZWN0U2VydmljZTogdHJ1ZWAgb3IgYHByb2plY3Q6IHRydWVgIGlzIHByZXR0eSBzbG93IHdoZW4gbGludCBhIG1vbm9yZXBvIHdpdGggbWFueSB0c2NvbmZpZy5qc29uIGZpbGVzIGluIGVhY2ggc3ViLWFwcC5cbiAgICAgICAgLy8gRm9yIGEgYmV0dGVyIHBlcmZvcm1hbmNlLCB3ZSBhcmUgcmVjb21tZW5kZWQgdXNpbmcgb25lIHRzY29uZmlnLmpzb24gZmlsZSBpbiBhIHByb2plY3QuXG4gICAgICAgIC8vIFdhaXRpbmcgZm9yIHR5cGVzY3JpcHQtZXNsaW50IHRvIG9mZmljaWFsbHkgcHJvdmlkZSBhIGJldHRlciB3YXkgdG8gdXNlIGBwcm9qZWN0U2VydmljZWAuXG4gICAgICAgIHByb2plY3Q6IFwidHNjb25maWcuanNvblwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIC4uLmpzQmFzZS5wbHVnaW5zLFxuICAgICAgXCJAZmVuZ2UtdHNcIjogZmVuZ2VUc1BsdWdpbixcbiAgICB9LFxuICAgIHJ1bGVzOiB7XG4gICAgICAuLi5qc0Jhc2UucnVsZXMsXG4gICAgICAuLi5nZXRUc0V4dGVuc2lvblJ1bGVzKCksXG5cbiAgICAgIC8vIGZlbmdlXG4gICAgICBcIkBmZW5nZS10cy9leGFjdC1tYXAtc2V0LXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tY29uc3QtZW51bVwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1kZWNsYXJlc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1leHBvcnQtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1wcm9wZXJ0eS1kZWNvcmF0b3JcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tdW50eXBlZC1lbXB0eS1hcnJheVwiOiBcImVycm9yXCIsXG4gICAgICAvLyB0eXBlc2NyaXB0XG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FycmF5LXR5cGVcIjogW1wiZXJyb3JcIiwgJ2FycmF5LXNpbXBsZSddLCAvLyBUaGUgZGVmYXVsdCBvcHRpb24gaXMgJ2FycmF5Jy4gTm90IHZlcnkgc3VyZSBpZiB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgb3B0aW9uLiBTbyBkaXNhYmxlZCBpdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2F3YWl0LXRoZW5hYmxlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtZ2VuZXJpYy1jb25zdHJ1Y3RvcnNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1pbmRleGVkLW9iamVjdC1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIGFzc2VydGlvblN0eWxlOiBcImFzXCIsXG4gICAgICAgICAgb2JqZWN0TGl0ZXJhbFR5cGVBc3NlcnRpb25zOiBcImFsbG93LWFzLXBhcmFtZXRlclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9uc1wiOiBbXCJlcnJvclwiLCBcImludGVyZmFjZVwiXSwgLy8gVE9ETyBzaG91bGQgd2UgY2hhbmdlIHRvICd0eXBlJz9cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzXCI6IFwiZXJyb3IsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIjogW1wiZXJyb3JcIiwgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblwiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdG9yOiBcImZ1bmN0aW9uXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwidmFyaWFibGVcIixcbiAgICAgICAgICB0eXBlczogW1wiZnVuY3Rpb25cIl0sXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLCAvLyBkZWNvcmF0b3JzIG5lZWQgUGFzY2FsQ2FzZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwiY2xhc3NcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJpbnRlcmZhY2VcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlQWxpYXNcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlUGFyYW1ldGVyXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJVUFBFUl9DQVNFXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYmFzZS10by1zdHJpbmdcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgaWdub3JlZFR5cGVOYW1lczogW10gfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWRcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHVwbGljYXRlLWVudW0tdmFsdWVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1leHRyYS1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXh0cmFuZW91cy1jbGFzc1wiOiBcImVycm9yXCIsIC8vIENsYXNzZXMgaGF2ZSBvbmx5IHN0YXRpYyBtZW1iZXIgaXMgcmVhc29uYWJsZSBzb21ldGltZXMuIE5lc3RqcyBtb2R1bGVzIHVzZSBpdCBhIGxvdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFtcbiAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICB7XG4gICAgICAgICAgaWdub3JlVm9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcG9ydC10eXBlLXNpZGUtZWZmZWN0c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtbmV3XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWl4ZWQtZW51bXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXCI6IFwiZXJyb3JcIiwgLy8gY29uc2lkZXIgdG8gYWRkIG9wdGlvbiBge1wiYWxsb3dEZWZpbml0aW9uRmlsZXNcIjogZmFsc2V9YCB0byBzdHJpY3RseSBmb3JiaWQgYG5hbWVzcGFjZWAga2V5d29yZFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0ZWQtbnVsbGlzaC1jb2FsZXNjaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGVkLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWR1bmRhbnQtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlXCI6IFwiZXJyb3JcIiwgLy8gdW5zYWZlIHdoZW4gYHN0cmljdE51bGxDaGVja3NgIGluIHRzY29uZmlnLmpzb24gaXMgZGlzYWJsZWRcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1wYXJhbWV0ZXItcHJvcGVydHktYXNzaWdubWVudFwiOlxuICAgICAgICBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10ZW1wbGF0ZS1leHByZXNzaW9uXCI6IFwiZXJyb3JcIiwgLy8ganMgYWxzbyBuZWVkIHRoaXMgcnVsZVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb25zdHJhaW50XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1kZWNsYXJhdGlvbi1tZXJnaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblwiOiBcImVycm9yXCIsIC8vIFRoaXMgcnVsZSBpcyBub3QgdmVyeSBwZXJmZWN0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L2lzc3Vlcy8xMDQzOVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXVuYXJ5LW1pbnVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXdyYXBwZXItb2JqZWN0LXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vbi1udWxsYWJsZS10eXBlLWFzc2VydGlvbi1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWxpdGVyYWwtZW51bS1tZW1iZXJcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW5hbWVzcGFjZS1rZXl3b3JkXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHlcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJldHVybi10aGlzLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtcGx1cy1vcGVyYW5kc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIC8vIGFsbG93QW55OiBmYWxzZSxcbiAgICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICAgIGFsbG93TnVsbGlzaDogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdW1iZXJBbmRTdHJpbmc6IGZhbHNlLFxuICAgICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgICBza2lwQ29tcG91bmRBc3NpZ25tZW50czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvdzogW10sXG4gICAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICAgIGFsbG93Qm9vbGVhbjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOZXZlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdWxsaXNoOiBmYWxzZSxcbiAgICAgICAgICBhbGxvd051bWJlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dSZWdFeHA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JlbGF0ZWQtZ2V0dGVyLXNldHRlci1wYWlyc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIjogW1wiZXJyb3JcIiwgXCJhbHdheXNcIl0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zd2l0Y2gtZXhoYXVzdGl2ZW5lc3MtY2hlY2tcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgcmVxdWlyZURlZmF1bHRGb3JOb25VbmlvbjogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBcImVycm9yXCIsXG4gICAgfSxcbiAgfSBhcyBjb25zdDtcbn1cbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sUUFBUSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLFNBQVM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7UUFDL0IsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLHdCQUF3QixFQUFFLDJDQUEyQztZQUNyRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0Qsb0JBQW9CLEVBQUUsdUNBQXVDO1lBQzdELGNBQWMsRUFBRSxpQ0FBaUM7WUFDakQsbUJBQW1CLEVBQUUsc0NBQXNDO1lBQzNELFlBQVksRUFBRSwrQkFBK0I7WUFDN0Msc0JBQXNCLEVBQUUseUNBQXlDO1lBQ2pFLHVCQUF1QixFQUFFLDBDQUEwQztZQUNuRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0QsaUJBQWlCLEVBQUUsb0NBQW9DO1lBQ3ZELGlCQUFpQixFQUFFLG9DQUFvQztZQUN2RCxjQUFjLEVBQUUsaUNBQWlDO1lBQ2pELHNHQUFzRztZQUN0RyxrQkFBa0IsRUFBRSxxQ0FBcUM7WUFDekQsY0FBYyxFQUFFLGlDQUFpQztZQUNqRCx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsZ0JBQWdCLEVBQUUsbUNBQW1DO1lBQ3JELHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSx3QkFBd0IsRUFBRSwyQ0FBMkM7WUFDckUsa0JBQWtCLEVBQUUscUNBQXFDO1lBQ3pELHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSw4QkFBOEIsRUFDNUIsaURBQWlEO1lBQ25ELGVBQWUsRUFBRSxrQ0FBa0M7WUFDbkQsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsc0NBQXNDO1NBQ3BGLENBQUM7UUFtQlgsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixHQUFXLEVBQzJCLEVBQUUsQ0FBQyxHQUFHLElBQUksZ0JBQWdCLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQ3hDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FDbkMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO1lBQzdCLENBQUMsQ0FBQztnQkFDRSxHQUFHLE1BQU07Z0JBQ1QsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLO2dCQUNsQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsV0FBVzthQUMzQztZQUNILENBQUMsQ0FBQyxNQUFNLEVBQ1osRUFBWSxDQUNiLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixLQUFLLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNoQyxlQUFlLEVBQUU7WUFDZixHQUFHLE1BQU0sQ0FBQyxlQUFlO1lBQ3pCLE1BQU0sRUFBRSxRQUFRLEVBQUUsc0xBQXNMO1lBQ3hNLGFBQWEsRUFBRTtnQkFDYixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYTtnQkFDdkMsdUlBQXVJO2dCQUN2SSx3SUFBd0k7Z0JBQ3hJLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxHQUFHLE1BQU0sQ0FBQyxPQUFPO1lBQ2pCLFdBQVcsRUFBRSxhQUFhO1NBQzNCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsR0FBRyxNQUFNLENBQUMsS0FBSztZQUNmLEdBQUcsbUJBQW1CLEVBQUU7WUFFeEIsUUFBUTtZQUNSLDhCQUE4QixFQUFFLE9BQU87WUFDdkMseUJBQXlCLEVBQUUsT0FBTztZQUNsQyx1QkFBdUIsRUFBRSxPQUFPO1lBQ2hDLGdDQUFnQyxFQUFFLE9BQU87WUFDekMsaUNBQWlDLEVBQUUsT0FBTztZQUMxQyxrQ0FBa0MsRUFBRSxPQUFPO1lBQzNDLGFBQWE7WUFDYixpREFBaUQsRUFBRSxPQUFPO1lBQzFELCtKQUErSjtZQUMvSixtQ0FBbUMsRUFBRSxPQUFPO1lBQzVDLG9EQUFvRCxFQUFFLE9BQU87WUFDN0Qsb0RBQW9ELEVBQUUsT0FBTztZQUM3RCwrQ0FBK0MsRUFBRTtnQkFDL0MsT0FBTztnQkFDUDtvQkFDRSxjQUFjLEVBQUUsSUFBSTtvQkFDcEIsMkJBQTJCLEVBQUUsb0JBQW9CO2lCQUNsRDthQUNGO1lBQ0QsZ0RBQWdELEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUUsbUNBQW1DO1lBQzdHLDRDQUE0QyxFQUFFLE9BQU87WUFDckQsd0RBQXdEO1lBQ3hELGlDQUFpQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JFLDJDQUEyQyxFQUFFLE9BQU87WUFDcEQsc0NBQXNDLEVBQUU7Z0JBQ3RDLE9BQU87Z0JBQ1A7b0JBQ0UsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7aUJBQ3BDO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxVQUFVO29CQUNwQixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ25CLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSw2QkFBNkI7aUJBQ25FO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxPQUFPO29CQUNqQixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxXQUFXO29CQUNyQixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxXQUFXO29CQUNyQixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxlQUFlO29CQUN6QixNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2lCQUNyQzthQUNGO1lBQ0Qsb0NBQW9DLEVBQUUsT0FBTztZQUM3QyxzQ0FBc0MsRUFBRTtnQkFDdEMsT0FBTztnQkFDUCxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTthQUN6QjtZQUNELG9EQUFvRCxFQUFFLE9BQU87WUFDN0Qsa0NBQWtDLEVBQUUsT0FBTztZQUMzQyw2Q0FBNkMsRUFBRSxPQUFPO1lBQ3RELG1EQUFtRCxFQUFFLE9BQU87WUFDNUQseUNBQXlDLEVBQUUsT0FBTztZQUNsRCxnREFBZ0QsRUFBRSxPQUFPO1lBQ3pELDhJQUE4STtZQUM5SSx5Q0FBeUMsRUFBRTtnQkFDekMsT0FBTztnQkFDUDtvQkFDRSxVQUFVLEVBQUUsS0FBSztpQkFDbEI7YUFDRjtZQUNELG9DQUFvQyxFQUFFLE9BQU87WUFDN0MsZ0RBQWdELEVBQUUsT0FBTztZQUN6RCx3Q0FBd0MsRUFBRSxPQUFPO1lBQ2pELHlDQUF5QyxFQUFFLE9BQU87WUFDbEQsbUNBQW1DLEVBQUUsT0FBTztZQUM1Qyx3Q0FBd0MsRUFBRSxPQUFPO1lBQ2pELG1DQUFtQyxFQUFFLE9BQU87WUFDNUMsaUNBQWlDLEVBQUUsT0FBTyxFQUFFLGtHQUFrRztZQUM5SSw0REFBNEQsRUFBRSxPQUFPO1lBQ3JFLHdEQUF3RCxFQUFFLE9BQU87WUFDakUsMENBQTBDLEVBQUUsT0FBTztZQUNuRCxtREFBbUQsRUFBRSxPQUFPO1lBQzVELHVDQUF1QyxFQUFFLE9BQU87WUFDaEQsdUlBQXVJO1lBQ3ZJLDZDQUE2QyxFQUFFLE9BQU87WUFDdEQsaUVBQWlFLEVBQy9ELE9BQU87WUFDVCx1REFBdUQsRUFBRSxPQUFPLEVBQUUseUJBQXlCO1lBQzNGLGtEQUFrRCxFQUFFLE9BQU87WUFDM0Qsa0RBQWtELEVBQUUsT0FBTztZQUMzRCxtREFBbUQsRUFBRSxPQUFPO1lBQzVELGtEQUFrRCxFQUFFLE9BQU87WUFDM0QsOENBQThDLEVBQUUsT0FBTztZQUN2RCw0Q0FBNEMsRUFBRSxPQUFPO1lBQ3JELHFDQUFxQyxFQUFFLE9BQU8sRUFBRSx5R0FBeUc7WUFDekosMENBQTBDLEVBQUUsT0FBTztZQUNuRCw0Q0FBNEMsRUFBRSxPQUFPO1lBQ3JELHNEQUFzRCxFQUFFLE9BQU87WUFDL0Qsb0NBQW9DLEVBQUUsT0FBTztZQUM3Qyx5Q0FBeUMsRUFBRSxPQUFPO1lBQ2xELCtDQUErQyxFQUFFLE9BQU87WUFDeEQsNkNBQTZDLEVBQUUsT0FBTztZQUN0RCwwQ0FBMEMsRUFBRSxPQUFPO1lBQ25ELG9DQUFvQyxFQUFFLE9BQU87WUFDN0MsNENBQTRDLEVBQUUsT0FBTztZQUNyRCwyQ0FBMkMsRUFBRTtnQkFDM0MsT0FBTztnQkFDUDtvQkFDRSxtQkFBbUI7b0JBQ25CLFlBQVksRUFBRSxLQUFLO29CQUNuQixZQUFZLEVBQUUsS0FBSztvQkFDbkIsb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsV0FBVyxFQUFFLEtBQUs7b0JBQ2xCLHVCQUF1QixFQUFFLEtBQUs7aUJBQy9CO2FBQ0Y7WUFDRCxrREFBa0QsRUFBRTtnQkFDbEQsT0FBTztnQkFDUDtvQkFDRSxLQUFLLEVBQUUsRUFBRTtvQkFDVCxtQkFBbUI7b0JBQ25CLFlBQVksRUFBRSxLQUFLO29CQUNuQixVQUFVLEVBQUUsS0FBSztvQkFDakIsWUFBWSxFQUFFLEtBQUs7b0JBQ25CLFdBQVcsRUFBRSxLQUFLO29CQUNsQixXQUFXLEVBQUUsS0FBSztpQkFDbkI7YUFDRjtZQUNELGdEQUFnRCxFQUFFLE9BQU87WUFDekQsaUNBQWlDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1lBQ3RELGdEQUFnRCxFQUFFO2dCQUNoRCxPQUFPO2dCQUNQLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxFQUFFO2FBQ3BDO1lBQ0QsbUNBQW1DLEVBQUUsT0FBTztZQUM1Qyx1Q0FBdUMsRUFBRSxPQUFPO1NBQ2pEO0tBQ08sQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmZW5nZVRzUGx1Z2luIGZyb20gXCJAZmVuZ2UvZXNsaW50LXBsdWdpbi10c1wiO1xuaW1wb3J0IHRzUGFyc2VyIGZyb20gXCJAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyXCI7XG5pbXBvcnQgeyBnZXRKc0Jhc2UgfSBmcm9tIFwiLi4vanMvYmFzZS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHNCYXNlKCkge1xuICBjb25zdCBqc0Jhc2UgPSBnZXRKc0Jhc2UoKTtcblxuICBjb25zdCBnZXRUc0V4dGVuc2lvblJ1bGVzID0gKCkgPT4ge1xuICAgIC8vIEtleSBpcyBqcyBydWxlLCB2YWx1ZSBpcyB0cyBydWxlXG4gICAgLy8gaHR0cHM6Ly90eXBlc2NyaXB0LWVzbGludC5pby9ydWxlcy8/PWV4dGVuc2lvblxuICAgIGNvbnN0IGV4dGVuc2lvblJ1bGVNYXAgPSB7XG4gICAgICBcImNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY2xhc3MtbWV0aG9kcy11c2UtdGhpc1wiLFxuICAgICAgXCJjb25zaXN0ZW50LXJldHVyblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXJldHVyblwiLFxuICAgICAgXCJkZWZhdWx0LXBhcmFtLWxhc3RcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvZGVmYXVsdC1wYXJhbS1sYXN0XCIsXG4gICAgICBcImRvdC1ub3RhdGlvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIixcbiAgICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvaW5pdC1kZWNsYXJhdGlvbnNcIixcbiAgICAgIFwibWF4LXBhcmFtc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9tYXgtcGFyYW1zXCIsXG4gICAgICBcIm5vLWFycmF5LWNvbnN0cnVjdG9yXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWFycmF5LWNvbnN0cnVjdG9yXCIsXG4gICAgICBcIm5vLWR1cGUtY2xhc3MtbWVtYmVyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBlLWNsYXNzLW1lbWJlcnNcIixcbiAgICAgIFwibm8tZW1wdHktZnVuY3Rpb25cIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cIixcbiAgICAgIFwibm8taW1wbGllZC1ldmFsXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcGxpZWQtZXZhbFwiLFxuICAgICAgXCJuby1pbnZhbGlkLXRoaXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC10aGlzXCIsXG4gICAgICBcIm5vLWxvb3AtZnVuY1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1sb29wLWZ1bmNcIixcbiAgICAgIC8vIFwibm8tbG9zcy1vZi1wcmVjaXNpb25cIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbG9zcy1vZi1wcmVjaXNpb25cIiwgLy8gVGhpcyBydWxlIGhhcyBiZWVuIGRlcHJlY2F0ZWRcbiAgICAgIFwibm8tbWFnaWMtbnVtYmVyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXCIsXG4gICAgICBcIm5vLXJlZGVjbGFyZVwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWRlY2xhcmVcIixcbiAgICAgIFwibm8tcmVzdHJpY3RlZC1pbXBvcnRzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlc3RyaWN0ZWQtaW1wb3J0c1wiLFxuICAgICAgXCJuby1zaGFkb3dcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XCIsXG4gICAgICBcIm5vLXVudXNlZC1leHByZXNzaW9uc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcIixcbiAgICAgIFwibm8tdW51c2VkLXZhcnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcIixcbiAgICAgIFwibm8tdXNlLWJlZm9yZS1kZWZpbmVcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcIixcbiAgICAgIFwibm8tdXNlbGVzcy1jb25zdHJ1Y3RvclwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11c2VsZXNzLWNvbnN0cnVjdG9yXCIsXG4gICAgICBcIm5vLXRocm93LWxpdGVyYWxcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvb25seS10aHJvdy1lcnJvclwiLFxuICAgICAgXCJwcmVmZXItZGVzdHJ1Y3R1cmluZ1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZGVzdHJ1Y3R1cmluZ1wiLFxuICAgICAgXCJwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzXCI6XG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIixcbiAgICAgIFwicmVxdWlyZS1hd2FpdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XCIsXG4gICAgICBcIm5vLXJldHVybi1hd2FpdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIiwgLy8gbm8tcmV0dXJuLWF3YWl0IGhhcyBiZWVuIGRlcHJlY2F0ZWRcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgdHlwZSBKczJUc1J1bGVNYXAgPSB0eXBlb2YgZXh0ZW5zaW9uUnVsZU1hcDtcbiAgICB0eXBlIFRzMkpzUnVsZU1hcCA9IHtcbiAgICAgIFtLIGluIGtleW9mIEpzMlRzUnVsZU1hcCBhcyBKczJUc1J1bGVNYXBbS11dOiBLOyAvLyByZXZlcnNlXG4gICAgfTtcblxuICAgIHR5cGUgSnNFeHRlbnNpb25LZXkgPSBFeHRyYWN0PFxuICAgICAga2V5b2YgSnMyVHNSdWxlTWFwLFxuICAgICAga2V5b2YgdHlwZW9mIGpzQmFzZS5ydWxlc1xuICAgID47IC8vIEV4dHJhY3RcbiAgICB0eXBlIFRzRXh0ZW5zaW9uS2V5ID0gSnMyVHNSdWxlTWFwW0pzRXh0ZW5zaW9uS2V5XTtcblxuICAgIHR5cGUgSnNSZXN1bHQgPSBSZWNvcmQ8SnNFeHRlbnNpb25LZXksIFwib2ZmXCI+O1xuICAgIHR5cGUgVHNSZXN1bHQgPSB7XG4gICAgICBbS2V5IGluIFRzRXh0ZW5zaW9uS2V5XTogKHR5cGVvZiBqc0Jhc2UucnVsZXMpW1RzMkpzUnVsZU1hcFtLZXldXTtcbiAgICB9O1xuICAgIHR5cGUgUmVzdWx0ID0gSnNSZXN1bHQgJiBUc1Jlc3VsdDtcblxuICAgIGNvbnN0IGlzSW5FeHRlbnNpb25SdWxlTWFwID0gKFxuICAgICAga2V5OiBzdHJpbmcsXG4gICAgKToga2V5IGlzIGtleW9mIHR5cGVvZiBleHRlbnNpb25SdWxlTWFwID0+IGtleSBpbiBleHRlbnNpb25SdWxlTWFwO1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhqc0Jhc2UucnVsZXMpLnJlZHVjZShcbiAgICAgIChyZXN1bHQsIFtqc1J1bGVLZXksIGpzUnVsZVZhbHVlXSkgPT5cbiAgICAgICAgaXNJbkV4dGVuc2lvblJ1bGVNYXAoanNSdWxlS2V5KVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgIFtqc1J1bGVLZXldOiBcIm9mZlwiLFxuICAgICAgICAgICAgICBbZXh0ZW5zaW9uUnVsZU1hcFtqc1J1bGVLZXldXToganNSdWxlVmFsdWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiByZXN1bHQsXG4gICAgICB7fSBhcyBSZXN1bHQsXG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIC4uLmpzQmFzZSxcbiAgICBuYW1lOiBcImZlbmdlL3R5cGVzY3JpcHRcIixcbiAgICBmaWxlczogW1wiKiovKi57dHMsY3RzLG10cyx0c3h9XCJdLFxuICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgLi4uanNCYXNlLmxhbmd1YWdlT3B0aW9ucyxcbiAgICAgIHBhcnNlcjogdHNQYXJzZXIsIC8vIFVuZm9ydHVuYXRlbHkgcGFyc2VyIGNhbm5vdCBiZSBhIHN0cmluZy4gRXNsaW50IHNob3VsZCBzdXBwb3J0IGl0LiBodHRwczovL2VzbGludC5vcmcvZG9jcy9sYXRlc3QvdXNlL2NvbmZpZ3VyZS9jb25maWd1cmF0aW9uLWZpbGVzLW5ldyNjb25maWd1cmluZy1hLWN1c3RvbS1wYXJzZXItYW5kLWl0cy1vcHRpb25zXG4gICAgICBwYXJzZXJPcHRpb25zOiB7XG4gICAgICAgIC4uLmpzQmFzZS5sYW5ndWFnZU9wdGlvbnMucGFyc2VyT3B0aW9ucyxcbiAgICAgICAgLy8gU2V0dGluZyBgcHJvamVjdFNlcnZpY2U6IHRydWVgIG9yIGBwcm9qZWN0OiB0cnVlYCBpcyBwcmV0dHkgc2xvdyB3aGVuIGxpbnQgYSBtb25vcmVwbyB3aXRoIG1hbnkgdHNjb25maWcuanNvbiBmaWxlcyBpbiBlYWNoIHN1Yi1hcHAuXG4gICAgICAgIC8vIEJ1dCBzZXR0aW5nIGBwcm9qZWN0OiBcInRzY29uZmlnLmpzb25cImAgd2lsbCBjYXVzZSBwYXJzZXIgZXJyb3Igd2hlbiB0aGUgcHJvamVjdCByb290IHRzY29uZmlnLmpzb24gaXMgYHsgZXh0ZW5kczogXCJmZW5nZS90c2NvbmZpZ1wiIH1gXG4gICAgICAgIHByb2plY3RTZXJ2aWNlOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIC4uLmpzQmFzZS5wbHVnaW5zLFxuICAgICAgXCJAZmVuZ2UtdHNcIjogZmVuZ2VUc1BsdWdpbixcbiAgICB9LFxuICAgIHJ1bGVzOiB7XG4gICAgICAuLi5qc0Jhc2UucnVsZXMsXG4gICAgICAuLi5nZXRUc0V4dGVuc2lvblJ1bGVzKCksXG5cbiAgICAgIC8vIGZlbmdlXG4gICAgICBcIkBmZW5nZS10cy9leGFjdC1tYXAtc2V0LXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tY29uc3QtZW51bVwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1kZWNsYXJlc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1leHBvcnQtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1wcm9wZXJ0eS1kZWNvcmF0b3JcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tdW50eXBlZC1lbXB0eS1hcnJheVwiOiBcImVycm9yXCIsXG4gICAgICAvLyB0eXBlc2NyaXB0XG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FycmF5LXR5cGVcIjogW1wiZXJyb3JcIiwgJ2FycmF5LXNpbXBsZSddLCAvLyBUaGUgZGVmYXVsdCBvcHRpb24gaXMgJ2FycmF5Jy4gTm90IHZlcnkgc3VyZSBpZiB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgb3B0aW9uLiBTbyBkaXNhYmxlZCBpdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2F3YWl0LXRoZW5hYmxlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtZ2VuZXJpYy1jb25zdHJ1Y3RvcnNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1pbmRleGVkLW9iamVjdC1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIGFzc2VydGlvblN0eWxlOiBcImFzXCIsXG4gICAgICAgICAgb2JqZWN0TGl0ZXJhbFR5cGVBc3NlcnRpb25zOiBcImFsbG93LWFzLXBhcmFtZXRlclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9uc1wiOiBbXCJlcnJvclwiLCBcImludGVyZmFjZVwiXSwgLy8gVE9ETyBzaG91bGQgd2UgY2hhbmdlIHRvICd0eXBlJz9cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzXCI6IFwiZXJyb3IsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIjogW1wiZXJyb3JcIiwgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblwiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdG9yOiBcImZ1bmN0aW9uXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwidmFyaWFibGVcIixcbiAgICAgICAgICB0eXBlczogW1wiZnVuY3Rpb25cIl0sXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLCAvLyBkZWNvcmF0b3JzIG5lZWQgUGFzY2FsQ2FzZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwiY2xhc3NcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJpbnRlcmZhY2VcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlQWxpYXNcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlUGFyYW1ldGVyXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJVUFBFUl9DQVNFXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYmFzZS10by1zdHJpbmdcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgaWdub3JlZFR5cGVOYW1lczogW10gfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWRcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHVwbGljYXRlLWVudW0tdmFsdWVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1leHRyYS1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXh0cmFuZW91cy1jbGFzc1wiOiBcImVycm9yXCIsIC8vIENsYXNzZXMgaGF2ZSBvbmx5IHN0YXRpYyBtZW1iZXIgaXMgcmVhc29uYWJsZSBzb21ldGltZXMuIE5lc3RqcyBtb2R1bGVzIHVzZSBpdCBhIGxvdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFtcbiAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICB7XG4gICAgICAgICAgaWdub3JlVm9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcG9ydC10eXBlLXNpZGUtZWZmZWN0c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtbmV3XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWl4ZWQtZW51bXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXCI6IFwiZXJyb3JcIiwgLy8gY29uc2lkZXIgdG8gYWRkIG9wdGlvbiBge1wiYWxsb3dEZWZpbml0aW9uRmlsZXNcIjogZmFsc2V9YCB0byBzdHJpY3RseSBmb3JiaWQgYG5hbWVzcGFjZWAga2V5d29yZFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0ZWQtbnVsbGlzaC1jb2FsZXNjaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGVkLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWR1bmRhbnQtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlXCI6IFwiZXJyb3JcIiwgLy8gdW5zYWZlIHdoZW4gYHN0cmljdE51bGxDaGVja3NgIGluIHRzY29uZmlnLmpzb24gaXMgZGlzYWJsZWRcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1wYXJhbWV0ZXItcHJvcGVydHktYXNzaWdubWVudFwiOlxuICAgICAgICBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10ZW1wbGF0ZS1leHByZXNzaW9uXCI6IFwiZXJyb3JcIiwgLy8ganMgYWxzbyBuZWVkIHRoaXMgcnVsZVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb25zdHJhaW50XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1kZWNsYXJhdGlvbi1tZXJnaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblwiOiBcImVycm9yXCIsIC8vIFRoaXMgcnVsZSBpcyBub3QgdmVyeSBwZXJmZWN0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L2lzc3Vlcy8xMDQzOVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXVuYXJ5LW1pbnVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXdyYXBwZXItb2JqZWN0LXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vbi1udWxsYWJsZS10eXBlLWFzc2VydGlvbi1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWxpdGVyYWwtZW51bS1tZW1iZXJcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW5hbWVzcGFjZS1rZXl3b3JkXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHlcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJldHVybi10aGlzLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtcGx1cy1vcGVyYW5kc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIC8vIGFsbG93QW55OiBmYWxzZSxcbiAgICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICAgIGFsbG93TnVsbGlzaDogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdW1iZXJBbmRTdHJpbmc6IGZhbHNlLFxuICAgICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgICBza2lwQ29tcG91bmRBc3NpZ25tZW50czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvdzogW10sXG4gICAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICAgIGFsbG93Qm9vbGVhbjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOZXZlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdWxsaXNoOiBmYWxzZSxcbiAgICAgICAgICBhbGxvd051bWJlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dSZWdFeHA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JlbGF0ZWQtZ2V0dGVyLXNldHRlci1wYWlyc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIjogW1wiZXJyb3JcIiwgXCJhbHdheXNcIl0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zd2l0Y2gtZXhoYXVzdGl2ZW5lc3MtY2hlY2tcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgcmVxdWlyZURlZmF1bHRGb3JOb25VbmlvbjogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBcImVycm9yXCIsXG4gICAgfSxcbiAgfSBhcyBjb25zdDtcbn1cbiJdfQ==
@@ -2,7 +2,10 @@ export declare function getTsCli(): {
2
2
  readonly name: "fenge/typescript/cli";
3
3
  readonly files: readonly ["**/*.cli.{ts,cts,mts,tsx}"];
4
4
  readonly rules: {
5
+ readonly "es-x/no-hashbang": "off";
5
6
  readonly "es-x/no-top-level-await": "off";
7
+ readonly "esm/required-exports": "off";
8
+ readonly "n/no-process-exit": "off";
6
9
  readonly "no-console": "off";
7
10
  };
8
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/config/ts/cli.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ;;;;;;;EAUvB"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/config/ts/cli.ts"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ;;;;;;;;;;EAUvB"}
@@ -2,6 +2,10 @@ export declare function getTsDeclaration(): {
2
2
  readonly name: "fenge/typescript/declaration";
3
3
  readonly files: readonly ["**/*.d.{ts,cts,mts,tsx}"];
4
4
  readonly rules: {
5
+ readonly "esm/no-empty-exports": "off";
6
+ readonly "esm/no-side-effect-imports": "off";
7
+ readonly "esm/no-ts-file-imports": "off";
8
+ readonly "esm/required-exports": "off";
5
9
  readonly "import/no-default-export": "off";
6
10
  };
7
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../src/config/ts/declaration.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB;;;;;;EAQ/B"}
1
+ {"version":3,"file":"declaration.d.ts","sourceRoot":"","sources":["../../../src/config/ts/declaration.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB;;;;;;;;;;EAY/B"}
@@ -3,8 +3,12 @@ export function getTsDeclaration() {
3
3
  name: "fenge/typescript/declaration",
4
4
  files: ["**/*.d.{ts,cts,mts,tsx}"],
5
5
  rules: {
6
+ "esm/no-empty-exports": "off",
7
+ "esm/no-side-effect-imports": "off",
8
+ "esm/no-ts-file-imports": "off",
9
+ "esm/required-exports": "off",
6
10
  "import/no-default-export": "off",
7
11
  },
8
12
  };
9
13
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3RzL2RlY2xhcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsT0FBTztRQUNMLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsS0FBSyxFQUFFLENBQUMseUJBQXlCLENBQUM7UUFDbEMsS0FBSyxFQUFFO1lBQ0wsMEJBQTBCLEVBQUUsS0FBSztTQUNsQztLQUNPLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldFRzRGVjbGFyYXRpb24oKSB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJmZW5nZS90eXBlc2NyaXB0L2RlY2xhcmF0aW9uXCIsXG4gICAgZmlsZXM6IFtcIioqLyouZC57dHMsY3RzLG10cyx0c3h9XCJdLFxuICAgIHJ1bGVzOiB7XG4gICAgICBcImltcG9ydC9uby1kZWZhdWx0LWV4cG9ydFwiOiBcIm9mZlwiLFxuICAgIH0sXG4gIH0gYXMgY29uc3Q7XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjbGFyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3RzL2RlY2xhcmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsT0FBTztRQUNMLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsS0FBSyxFQUFFLENBQUMseUJBQXlCLENBQUM7UUFDbEMsS0FBSyxFQUFFO1lBQ0wsc0JBQXNCLEVBQUUsS0FBSztZQUM3Qiw0QkFBNEIsRUFBRSxLQUFLO1lBQ25DLHdCQUF3QixFQUFFLEtBQUs7WUFDL0Isc0JBQXNCLEVBQUUsS0FBSztZQUM3QiwwQkFBMEIsRUFBRSxLQUFLO1NBQ2xDO0tBQ08sQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0VHNEZWNsYXJhdGlvbigpIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcImZlbmdlL3R5cGVzY3JpcHQvZGVjbGFyYXRpb25cIixcbiAgICBmaWxlczogW1wiKiovKi5kLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gICAgcnVsZXM6IHtcbiAgICAgIFwiZXNtL25vLWVtcHR5LWV4cG9ydHNcIjogXCJvZmZcIixcbiAgICAgIFwiZXNtL25vLXNpZGUtZWZmZWN0LWltcG9ydHNcIjogXCJvZmZcIixcbiAgICAgIFwiZXNtL25vLXRzLWZpbGUtaW1wb3J0c1wiOiBcIm9mZlwiLFxuICAgICAgXCJlc20vcmVxdWlyZWQtZXhwb3J0c1wiOiBcIm9mZlwiLFxuICAgICAgXCJpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJvZmZcIixcbiAgICB9LFxuICB9IGFzIGNvbnN0O1xufVxuIl19
@@ -8,6 +8,7 @@ export declare function getTsTest(): {
8
8
  readonly "esm/no-phantom-dep-imports": readonly ["error", {
9
9
  readonly allowDevDependencies: true;
10
10
  }];
11
+ readonly "esm/required-exports": "off";
11
12
  };
12
13
  };
13
14
  //# sourceMappingURL=test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/config/ts/test.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS;;;;;;;;;;;EAexB"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/config/ts/test.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS;;;;;;;;;;;;EAexB"}
@@ -4,7 +4,7 @@ export declare function typescript(): readonly [{
4
4
  readonly languageOptions: {
5
5
  readonly parser: typeof import("@typescript-eslint/parser");
6
6
  readonly parserOptions: {
7
- readonly project: "tsconfig.json";
7
+ readonly projectService: true;
8
8
  readonly ecmaVersion: "latest";
9
9
  readonly sourceType: "module";
10
10
  readonly ecmaFeatures: {
@@ -560,6 +560,7 @@ export declare function typescript(): readonly [{
560
560
  readonly ignoreOnInitialization: true;
561
561
  }];
562
562
  readonly "@typescript-eslint/no-unused-expressions": readonly ["error", {
563
+ readonly enforceForJSX: true;
563
564
  readonly allowShortCircuit: true;
564
565
  readonly allowTernary: true;
565
566
  readonly allowTaggedTemplates: true;
@@ -618,15 +619,18 @@ export declare function typescript(): readonly [{
618
619
  readonly "prefer-arrow-callback": "error";
619
620
  readonly "prefer-exponentiation-operator": "error";
620
621
  readonly "prefer-object-has-own": "error";
622
+ readonly "prefer-spread": "error";
621
623
  readonly "prefer-template": "error";
622
624
  readonly "es-x/no-accessor-properties": "error";
623
625
  readonly "es-x/no-async-iteration": "error";
624
626
  readonly "es-x/no-generators": "error";
627
+ readonly "es-x/no-hashbang": "error";
625
628
  readonly "es-x/no-legacy-object-prototype-accessor-methods": "error";
626
629
  readonly "es-x/no-top-level-await": "error";
627
630
  readonly "esm/nearest-relative-path": "error";
628
631
  readonly "esm/no-directory-imports": "error";
629
632
  readonly "esm/no-dynamic-imports": "error";
633
+ readonly "esm/no-empty-exports": "error";
630
634
  readonly "esm/no-git-ignored-imports": "error";
631
635
  readonly "esm/no-phantom-dep-imports": "error";
632
636
  readonly "esm/no-relative-parent-imports": "error";
@@ -634,6 +638,7 @@ export declare function typescript(): readonly [{
634
638
  readonly "esm/no-rename-imports": "error";
635
639
  readonly "esm/no-side-effect-imports": "error";
636
640
  readonly "esm/no-ts-file-imports": "error";
641
+ readonly "esm/required-exports": "error";
637
642
  readonly "fp/no-arguments": "error";
638
643
  readonly "fp/no-delete": "error";
639
644
  readonly "import/extensions": readonly ["error", "always", {
@@ -646,9 +651,11 @@ export declare function typescript(): readonly [{
646
651
  }];
647
652
  readonly "import/no-default-export": "error";
648
653
  readonly "import/no-dynamic-require": "error";
654
+ readonly "import/no-empty-named-blocks": "error";
649
655
  readonly "import/no-mutable-exports": "error";
650
656
  readonly "import/no-relative-packages": "error";
651
657
  readonly "import/no-self-import": "error";
658
+ readonly "n/no-process-exit": "error";
652
659
  readonly "n/prefer-global/buffer": readonly ["error", "never"];
653
660
  readonly "n/prefer-global/console": "error";
654
661
  readonly "n/prefer-global/process": readonly ["error", "never"];
@@ -914,7 +921,10 @@ export declare function typescript(): readonly [{
914
921
  readonly name: "fenge/typescript/cli";
915
922
  readonly files: readonly ["**/*.cli.{ts,cts,mts,tsx}"];
916
923
  readonly rules: {
924
+ readonly "es-x/no-hashbang": "off";
917
925
  readonly "es-x/no-top-level-await": "off";
926
+ readonly "esm/required-exports": "off";
927
+ readonly "n/no-process-exit": "off";
918
928
  readonly "no-console": "off";
919
929
  };
920
930
  }, {
@@ -937,11 +947,16 @@ export declare function typescript(): readonly [{
937
947
  readonly "esm/no-phantom-dep-imports": readonly ["error", {
938
948
  readonly allowDevDependencies: true;
939
949
  }];
950
+ readonly "esm/required-exports": "off";
940
951
  };
941
952
  }, {
942
953
  readonly name: "fenge/typescript/declaration";
943
954
  readonly files: readonly ["**/*.d.{ts,cts,mts,tsx}"];
944
955
  readonly rules: {
956
+ readonly "esm/no-empty-exports": "off";
957
+ readonly "esm/no-side-effect-imports": "off";
958
+ readonly "esm/no-ts-file-imports": "off";
959
+ readonly "esm/required-exports": "off";
945
960
  readonly "import/no-default-export": "off";
946
961
  };
947
962
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/config/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/config/typescript.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,16 @@ type NoDuplicate<A extends unknown[]> = {
10
10
  type JsRuleKey = keyof ReturnType<typeof javascript>[0]["rules"];
11
11
  type TsRuleKey = keyof ReturnType<typeof typescript>[0]["rules"];
12
12
  type PkgRuleKey = keyof ReturnType<typeof packagejson>[0]["rules"];
13
+ type RuleValue = "error" | "warn" | "off" | ["error" | "warn", ...unknown[]];
13
14
  interface Options<T extends string[]> {
14
15
  pick?: NoDuplicate<T>;
15
16
  omit?: NoDuplicate<T>;
16
- append?: Partial<Record<T[number], "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]>> | Record<string, "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]>;
17
+ }
18
+ interface ConfigItem {
19
+ name: string;
20
+ files: string[];
21
+ plugins?: Record<string, object>;
22
+ rules: Partial<Record<PkgRuleKey | JsRuleKey | TsRuleKey, RuleValue>> | Record<string, RuleValue>;
17
23
  }
18
24
  export type BuilderOptions = LinterOptions;
19
25
  export declare class Builder {
@@ -21,9 +27,10 @@ export declare class Builder {
21
27
  constructor(options?: BuilderOptions);
22
28
  toConfig(): object[];
23
29
  private setup;
24
- enableTypescript<T extends TsRuleKey[]>(options?: Options<T>): this;
25
- enableJavascript<T extends JsRuleKey[]>(options?: Options<T>): this;
26
- enablePackagejson<T extends PkgRuleKey[]>(options?: Options<T>): this;
30
+ enableTypeScript<T extends TsRuleKey[]>(options?: Options<T>): this;
31
+ enableJavaScript<T extends JsRuleKey[]>(options?: Options<T>): this;
32
+ enablePackageJson<T extends PkgRuleKey[]>(options?: Options<T>): this;
33
+ append(config: ConfigItem): this;
27
34
  }
28
35
  declare const _default: object[];
29
36
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../src/eslint.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,KAAK,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS;SAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK;KACvE,CAAC,MAAM,CAAC,GACL,KAAK,GACL,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnE,UAAU,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,EACH,OAAO,CACL,MAAM,CACJ,CAAC,CAAC,MAAM,CAAC,EACT,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAC5D,CACF,GACD,MAAM,CACJ,MAAM,EACN,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAC5D,CAAC;CACP;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAC3C,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,OAAO,GAAE,cAAmB;IAIxC,QAAQ;IAIR,OAAO,CAAC,KAAK;IA4Bb,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;CAGnE;;AAED,wBAIc"}
1
+ {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../src/eslint.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,KAAK,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS;SAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK;KACvE,CAAC,MAAM,CAAC,GACL,KAAK,GACL,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnE,KAAK,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAC7E,UAAU,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CACvB;AACD,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,EACD,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,EAAE,SAAS,CAAC,CAAC,GAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAC3C,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,OAAO,GAAE,cAAmB;IAIxC,QAAQ;IAIR,OAAO,CAAC,KAAK;IA0Bb,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIlE,MAAM,CAAC,MAAM,EAAE,UAAU;CAI1B;;AAED,wBAIc"}
@@ -10,7 +10,7 @@ export class Builder {
10
10
  toConfig() {
11
11
  return this.configs;
12
12
  }
13
- setup([mainConfig, ...otherConfigs], { pick, omit, append = {} }) {
13
+ setup(configItems, { pick, omit }) {
14
14
  const select = (ruleKey) => {
15
15
  if (!pick && !omit) {
16
16
  return true;
@@ -25,23 +25,30 @@ export class Builder {
25
25
  throw new Error("You cannot specify both pick and omit");
26
26
  }
27
27
  };
28
- const rules = Object.fromEntries(Object.entries(mainConfig.rules).filter(([ruleKey]) => select(ruleKey)));
29
- this.configs.push({ ...mainConfig, rules: { ...rules, ...append } }, ...otherConfigs);
28
+ const result = configItems.map((configItem) => ({
29
+ ...configItem,
30
+ rules: Object.fromEntries(Object.entries(configItem.rules).filter(([ruleKey]) => select(ruleKey))),
31
+ }));
32
+ this.configs.push(...result);
30
33
  return this;
31
34
  }
32
- enableTypescript(options = {}) {
35
+ enableTypeScript(options = {}) {
33
36
  return this.setup(typescript(), options);
34
37
  }
35
- enableJavascript(options = {}) {
38
+ enableJavaScript(options = {}) {
36
39
  return this.setup(javascript(), options);
37
40
  }
38
- enablePackagejson(options = {}) {
41
+ enablePackageJson(options = {}) {
39
42
  return this.setup(packagejson(), options);
40
43
  }
44
+ append(config) {
45
+ this.configs.push(config);
46
+ return this;
47
+ }
41
48
  }
42
49
  export default new Builder()
43
- .enablePackagejson()
44
- .enableJavascript()
45
- .enableTypescript()
50
+ .enablePackageJson()
51
+ .enableJavaScript()
52
+ .enableTypeScript()
46
53
  .toConfig();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2xpbnQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUErQnBELE1BQU0sT0FBTyxPQUFPO0lBQ0QsT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUV4QyxZQUFZLFVBQTBCLEVBQUU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU8sS0FBSyxDQUNYLENBQUMsVUFBVSxFQUFFLEdBQUcsWUFBWSxDQUczQixFQUNELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFxQjtRQUU5QyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO2lCQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUN4RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsRUFBRSxHQUFHLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLEVBQ2pELEdBQUcsWUFBWSxDQUNoQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQXdCLFVBQXNCLEVBQUU7UUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBd0IsVUFBc0IsRUFBRTtRQUM5RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQixDQUF5QixVQUFzQixFQUFFO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFFRCxlQUFlLElBQUksT0FBTyxFQUFFO0tBQ3pCLGlCQUFpQixFQUFFO0tBQ25CLGdCQUFnQixFQUFFO0tBQ2xCLGdCQUFnQixFQUFFO0tBQ2xCLFFBQVEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZSwgdHlwZSBMaW50ZXJPcHRpb25zIH0gZnJvbSBcIi4vY29uZmlnL2Jhc2UuanNcIjtcbmltcG9ydCB7IGphdmFzY3JpcHQgfSBmcm9tIFwiLi9jb25maWcvamF2YXNjcmlwdC5qc1wiO1xuaW1wb3J0IHsgcGFja2FnZWpzb24gfSBmcm9tIFwiLi9jb25maWcvcGFja2FnZWpzb24uanNcIjtcbmltcG9ydCB7IHR5cGVzY3JpcHQgfSBmcm9tIFwiLi9jb25maWcvdHlwZXNjcmlwdC5qc1wiO1xuXG50eXBlIE5vRHVwbGljYXRlPEEgZXh0ZW5kcyB1bmtub3duW10+ID0ge1xuICBbSSBpbiBrZXlvZiBBXTogdHJ1ZSBleHRlbmRzIHtcbiAgICBbSiBpbiBrZXlvZiBBXTogSiBleHRlbmRzIEkgPyBmYWxzZSA6IEFbSl0gZXh0ZW5kcyBBW0ldID8gdHJ1ZSA6IGZhbHNlO1xuICB9W251bWJlcl1cbiAgICA/IG5ldmVyXG4gICAgOiBBW0ldO1xufTtcblxudHlwZSBKc1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiBqYXZhc2NyaXB0PlswXVtcInJ1bGVzXCJdO1xudHlwZSBUc1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiB0eXBlc2NyaXB0PlswXVtcInJ1bGVzXCJdO1xudHlwZSBQa2dSdWxlS2V5ID0ga2V5b2YgUmV0dXJuVHlwZTx0eXBlb2YgcGFja2FnZWpzb24+WzBdW1wicnVsZXNcIl07XG5cbmludGVyZmFjZSBPcHRpb25zPFQgZXh0ZW5kcyBzdHJpbmdbXT4ge1xuICBwaWNrPzogTm9EdXBsaWNhdGU8VD47XG4gIG9taXQ/OiBOb0R1cGxpY2F0ZTxUPjtcbiAgYXBwZW5kPzpcbiAgICB8IFBhcnRpYWw8XG4gICAgICAgIFJlY29yZDxcbiAgICAgICAgICBUW251bWJlcl0sXG4gICAgICAgICAgXCJlcnJvclwiIHwgXCJ3YXJuXCIgfCBcIm9mZlwiIHwgW1wiZXJyb3JcIiB8IFwid2FyblwiLCAuLi51bmtub3duW11dXG4gICAgICAgID5cbiAgICAgID5cbiAgICB8IFJlY29yZDxcbiAgICAgICAgc3RyaW5nLFxuICAgICAgICBcImVycm9yXCIgfCBcIndhcm5cIiB8IFwib2ZmXCIgfCBbXCJlcnJvclwiIHwgXCJ3YXJuXCIsIC4uLnVua25vd25bXV1cbiAgICAgID47XG59XG5cbmV4cG9ydCB0eXBlIEJ1aWxkZXJPcHRpb25zID0gTGludGVyT3B0aW9ucztcbmV4cG9ydCBjbGFzcyBCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdzOiBvYmplY3RbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEJ1aWxkZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZ3MucHVzaCguLi5iYXNlKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHRvQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3M7XG4gIH1cblxuICBwcml2YXRlIHNldHVwKFxuICAgIFttYWluQ29uZmlnLCAuLi5vdGhlckNvbmZpZ3NdOiByZWFkb25seSBbXG4gICAgICB7IHBsdWdpbnM6IG9iamVjdDsgcnVsZXM6IG9iamVjdCB9LFxuICAgICAgLi4ub2JqZWN0W10sXG4gICAgXSxcbiAgICB7IHBpY2ssIG9taXQsIGFwcGVuZCA9IHt9IH06IE9wdGlvbnM8c3RyaW5nW10+LFxuICApIHtcbiAgICBjb25zdCBzZWxlY3QgPSAocnVsZUtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIXBpY2sgJiYgIW9taXQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHBpY2sgJiYgIW9taXQpIHtcbiAgICAgICAgcmV0dXJuIHBpY2suaW5jbHVkZXMocnVsZUtleSk7XG4gICAgICB9IGVsc2UgaWYgKCFwaWNrICYmIG9taXQpIHtcbiAgICAgICAgcmV0dXJuICFvbWl0LmluY2x1ZGVzKHJ1bGVLZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCBzcGVjaWZ5IGJvdGggcGljayBhbmQgb21pdFwiKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IHJ1bGVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMobWFpbkNvbmZpZy5ydWxlcykuZmlsdGVyKChbcnVsZUtleV0pID0+IHNlbGVjdChydWxlS2V5KSksXG4gICAgKTtcbiAgICB0aGlzLmNvbmZpZ3MucHVzaChcbiAgICAgIHsgLi4ubWFpbkNvbmZpZywgcnVsZXM6IHsgLi4ucnVsZXMsIC4uLmFwcGVuZCB9IH0sXG4gICAgICAuLi5vdGhlckNvbmZpZ3MsXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGVuYWJsZVR5cGVzY3JpcHQ8VCBleHRlbmRzIFRzUnVsZUtleVtdPihvcHRpb25zOiBPcHRpb25zPFQ+ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXR1cCh0eXBlc2NyaXB0KCksIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlSmF2YXNjcmlwdDxUIGV4dGVuZHMgSnNSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnNldHVwKGphdmFzY3JpcHQoKSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmFibGVQYWNrYWdlanNvbjxUIGV4dGVuZHMgUGtnUnVsZUtleVtdPihvcHRpb25zOiBPcHRpb25zPFQ+ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXR1cChwYWNrYWdlanNvbigpLCBvcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgQnVpbGRlcigpXG4gIC5lbmFibGVQYWNrYWdlanNvbigpXG4gIC5lbmFibGVKYXZhc2NyaXB0KClcbiAgLmVuYWJsZVR5cGVzY3JpcHQoKVxuICAudG9Db25maWcoKTtcbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2xpbnQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUE2QnBELE1BQU0sT0FBTyxPQUFPO0lBQ0QsT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUV4QyxZQUFZLFVBQTBCLEVBQUU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU8sS0FBSyxDQUNYLFdBQXlDLEVBQ3pDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBcUI7UUFFakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztpQkFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLEdBQUcsVUFBVTtZQUNiLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FDeEU7U0FDRixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFFN0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQXdCLFVBQXNCLEVBQUU7UUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBd0IsVUFBc0IsRUFBRTtRQUM5RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQixDQUF5QixVQUFzQixFQUFFO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQWtCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBRUQsZUFBZSxJQUFJLE9BQU8sRUFBRTtLQUN6QixpQkFBaUIsRUFBRTtLQUNuQixnQkFBZ0IsRUFBRTtLQUNsQixnQkFBZ0IsRUFBRTtLQUNsQixRQUFRLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhc2UsIHR5cGUgTGludGVyT3B0aW9ucyB9IGZyb20gXCIuL2NvbmZpZy9iYXNlLmpzXCI7XG5pbXBvcnQgeyBqYXZhc2NyaXB0IH0gZnJvbSBcIi4vY29uZmlnL2phdmFzY3JpcHQuanNcIjtcbmltcG9ydCB7IHBhY2thZ2Vqc29uIH0gZnJvbSBcIi4vY29uZmlnL3BhY2thZ2Vqc29uLmpzXCI7XG5pbXBvcnQgeyB0eXBlc2NyaXB0IH0gZnJvbSBcIi4vY29uZmlnL3R5cGVzY3JpcHQuanNcIjtcblxudHlwZSBOb0R1cGxpY2F0ZTxBIGV4dGVuZHMgdW5rbm93bltdPiA9IHtcbiAgW0kgaW4ga2V5b2YgQV06IHRydWUgZXh0ZW5kcyB7XG4gICAgW0ogaW4ga2V5b2YgQV06IEogZXh0ZW5kcyBJID8gZmFsc2UgOiBBW0pdIGV4dGVuZHMgQVtJXSA/IHRydWUgOiBmYWxzZTtcbiAgfVtudW1iZXJdXG4gICAgPyBuZXZlclxuICAgIDogQVtJXTtcbn07XG5cbnR5cGUgSnNSdWxlS2V5ID0ga2V5b2YgUmV0dXJuVHlwZTx0eXBlb2YgamF2YXNjcmlwdD5bMF1bXCJydWxlc1wiXTtcbnR5cGUgVHNSdWxlS2V5ID0ga2V5b2YgUmV0dXJuVHlwZTx0eXBlb2YgdHlwZXNjcmlwdD5bMF1bXCJydWxlc1wiXTtcbnR5cGUgUGtnUnVsZUtleSA9IGtleW9mIFJldHVyblR5cGU8dHlwZW9mIHBhY2thZ2Vqc29uPlswXVtcInJ1bGVzXCJdO1xuXG50eXBlIFJ1bGVWYWx1ZSA9IFwiZXJyb3JcIiB8IFwid2FyblwiIHwgXCJvZmZcIiB8IFtcImVycm9yXCIgfCBcIndhcm5cIiwgLi4udW5rbm93bltdXTtcbmludGVyZmFjZSBPcHRpb25zPFQgZXh0ZW5kcyBzdHJpbmdbXT4ge1xuICBwaWNrPzogTm9EdXBsaWNhdGU8VD47XG4gIG9taXQ/OiBOb0R1cGxpY2F0ZTxUPjtcbn1cbmludGVyZmFjZSBDb25maWdJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBmaWxlczogc3RyaW5nW107XG4gIHBsdWdpbnM/OiBSZWNvcmQ8c3RyaW5nLCBvYmplY3Q+O1xuICBydWxlczpcbiAgICB8IFBhcnRpYWw8UmVjb3JkPFBrZ1J1bGVLZXkgfCBKc1J1bGVLZXkgfCBUc1J1bGVLZXksIFJ1bGVWYWx1ZT4+XG4gICAgfCBSZWNvcmQ8c3RyaW5nLCBSdWxlVmFsdWU+O1xufVxuXG5leHBvcnQgdHlwZSBCdWlsZGVyT3B0aW9ucyA9IExpbnRlck9wdGlvbnM7XG5leHBvcnQgY2xhc3MgQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnczogb2JqZWN0W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCdWlsZGVyT3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5jb25maWdzLnB1c2goLi4uYmFzZShvcHRpb25zKSk7XG4gIH1cblxuICB0b0NvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cChcbiAgICBjb25maWdJdGVtczogcmVhZG9ubHkgeyBydWxlczogb2JqZWN0IH1bXSxcbiAgICB7IHBpY2ssIG9taXQgfTogT3B0aW9uczxzdHJpbmdbXT4sXG4gICkge1xuICAgIGNvbnN0IHNlbGVjdCA9IChydWxlS2V5OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghcGljayAmJiAhb21pdCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAocGljayAmJiAhb21pdCkge1xuICAgICAgICByZXR1cm4gcGljay5pbmNsdWRlcyhydWxlS2V5KTtcbiAgICAgIH0gZWxzZSBpZiAoIXBpY2sgJiYgb21pdCkge1xuICAgICAgICByZXR1cm4gIW9taXQuaW5jbHVkZXMocnVsZUtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2Fubm90IHNwZWNpZnkgYm90aCBwaWNrIGFuZCBvbWl0XCIpO1xuICAgICAgfVxuICAgIH07XG4gICAgY29uc3QgcmVzdWx0ID0gY29uZmlnSXRlbXMubWFwKChjb25maWdJdGVtKSA9PiAoe1xuICAgICAgLi4uY29uZmlnSXRlbSxcbiAgICAgIHJ1bGVzOiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNvbmZpZ0l0ZW0ucnVsZXMpLmZpbHRlcigoW3J1bGVLZXldKSA9PiBzZWxlY3QocnVsZUtleSkpLFxuICAgICAgKSxcbiAgICB9KSk7XG4gICAgdGhpcy5jb25maWdzLnB1c2goLi4ucmVzdWx0KTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZW5hYmxlVHlwZVNjcmlwdDxUIGV4dGVuZHMgVHNSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnNldHVwKHR5cGVzY3JpcHQoKSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmFibGVKYXZhU2NyaXB0PFQgZXh0ZW5kcyBKc1J1bGVLZXlbXT4ob3B0aW9uczogT3B0aW9uczxUPiA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dXAoamF2YXNjcmlwdCgpLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZVBhY2thZ2VKc29uPFQgZXh0ZW5kcyBQa2dSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnNldHVwKHBhY2thZ2Vqc29uKCksIG9wdGlvbnMpO1xuICB9XG5cbiAgYXBwZW5kKGNvbmZpZzogQ29uZmlnSXRlbSkge1xuICAgIHRoaXMuY29uZmlncy5wdXNoKGNvbmZpZyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgbmV3IEJ1aWxkZXIoKVxuICAuZW5hYmxlUGFja2FnZUpzb24oKVxuICAuZW5hYmxlSmF2YVNjcmlwdCgpXG4gIC5lbmFibGVUeXBlU2NyaXB0KClcbiAgLnRvQ29uZmlnKCk7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenge/eslint-config",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "A super strict eslint config for linting js/ts/package.json.",
5
5
  "keywords": [
6
6
  "opinionated",
@@ -23,23 +23,23 @@
23
23
  "type": "module",
24
24
  "exports": "./dist/eslint.config.js",
25
25
  "dependencies": {
26
- "@typescript-eslint/eslint-plugin": "8.18.0",
27
- "@typescript-eslint/parser": "8.18.0",
26
+ "@typescript-eslint/eslint-plugin": "8.18.1",
27
+ "@typescript-eslint/parser": "8.18.1",
28
28
  "confusing-browser-globals": "1.0.11",
29
29
  "eslint-plugin-es-x": "8.4.1",
30
30
  "eslint-plugin-fp": "2.3.0",
31
31
  "eslint-plugin-import": "2.31.0",
32
- "eslint-plugin-n": "17.15.0",
32
+ "eslint-plugin-n": "17.15.1",
33
33
  "eslint-plugin-promise": "7.2.1",
34
34
  "eslint-plugin-react": "7.37.2",
35
35
  "eslint-plugin-react-hooks": "5.1.0",
36
36
  "eslint-plugin-simple-import-sort": "12.1.1",
37
37
  "eslint-plugin-sonarjs": "1.0.4",
38
38
  "eslint-plugin-unicorn": "56.0.1",
39
- "globals": "15.13.0",
39
+ "globals": "15.14.0",
40
40
  "@fenge/eslint-plugin": "0.1.2",
41
41
  "@fenge/eslint-plugin-ts": "0.2.0",
42
- "eslint-plugin-esm": "0.2.2",
42
+ "eslint-plugin-esm": "0.3.0",
43
43
  "eslint-plugin-pkg-json": "0.1.2",
44
44
  "eslint-plugin-publint": "0.0.5"
45
45
  },
@@ -179,6 +179,7 @@ export function getJsBase() {
179
179
  'no-unsafe-finally': 'error',
180
180
  'no-unsafe-negation': 'error',
181
181
  'no-unused-expressions': ['error', {
182
+ enforceForJSX: true,
182
183
  allowShortCircuit: true,
183
184
  allowTernary: true,
184
185
  allowTaggedTemplates: true
@@ -347,17 +348,21 @@ export function getJsBase() {
347
348
  "prefer-arrow-callback": "error",
348
349
  "prefer-exponentiation-operator": "error",
349
350
  "prefer-object-has-own": "error",
351
+ // "prefer-object-spread": "error",
352
+ "prefer-spread": "error",
350
353
  "prefer-template": "error",
351
354
  // es
352
355
  "es-x/no-accessor-properties": "error",
353
356
  "es-x/no-async-iteration": "error",
354
357
  "es-x/no-generators": "error",
358
+ "es-x/no-hashbang": "error",
355
359
  "es-x/no-legacy-object-prototype-accessor-methods": "error",
356
360
  "es-x/no-top-level-await": "error",
357
361
  // esm
358
362
  "esm/nearest-relative-path": "error",
359
363
  "esm/no-directory-imports": "error",
360
364
  "esm/no-dynamic-imports": "error",
365
+ "esm/no-empty-exports": "error",
361
366
  "esm/no-git-ignored-imports": "error",
362
367
  "esm/no-phantom-dep-imports": "error",
363
368
  "esm/no-relative-parent-imports": "error",
@@ -365,6 +370,7 @@ export function getJsBase() {
365
370
  "esm/no-rename-imports": "error",
366
371
  "esm/no-side-effect-imports": "error",
367
372
  "esm/no-ts-file-imports": "error",
373
+ "esm/required-exports": "error",
368
374
  // fp
369
375
  "fp/no-arguments": "error",
370
376
  "fp/no-delete": "error",
@@ -384,10 +390,12 @@ export function getJsBase() {
384
390
  */
385
391
  "import/no-default-export": "error",
386
392
  "import/no-dynamic-require": "error",
393
+ "import/no-empty-named-blocks": "error", // The feature of this rule is already handled by Prettier. But we still put it here.
387
394
  "import/no-mutable-exports": "error", // forbid code like `export let count = 3`
388
395
  "import/no-relative-packages": "error", // forbid to import module from other monorepo packages by relative paths
389
396
  "import/no-self-import": "error",
390
397
  // n
398
+ "n/no-process-exit": "error",
391
399
  "n/prefer-global/buffer": ["error", "never"],
392
400
  "n/prefer-global/console": "error",
393
401
  "n/prefer-global/process": ["error", "never"],
@@ -450,7 +458,7 @@ export function getJsBase() {
450
458
  "unicorn/no-negation-in-equality-check": "error",
451
459
  "unicorn/no-new-array": "error",
452
460
  "unicorn/no-new-buffer": "error",
453
- "unicorn/no-process-exit": "error",
461
+ "unicorn/no-process-exit": "error", // Prefer `n/no-process-exit`, but at the same time using this rule seems have no problem
454
462
  "unicorn/no-single-promise-in-promise-methods": "error",
455
463
  "unicorn/no-static-only-class": "error",
456
464
  "unicorn/no-thenable": "error",
@@ -3,7 +3,11 @@ export function getJsCli() {
3
3
  name: "fenge/javascript/cli",
4
4
  files: ["**/*.cli.{js,cjs,mjs,jsx}"],
5
5
  rules: {
6
+ "es-x/no-hashbang": "off",
6
7
  "es-x/no-top-level-await": "off",
8
+ "esm/required-exports": "off",
9
+ "n/no-process-exit": "off",
10
+ // "unicorn/no-process-exit": "off", // This rule can detect a file if is a cli file, so there is no need to disable it here.
7
11
  "no-console": "off",
8
12
  },
9
13
  } as const;
@@ -9,6 +9,7 @@ export function getJsTest() {
9
9
  rules: {
10
10
  "es-x/no-top-level-await": "off",
11
11
  "esm/no-phantom-dep-imports": ["error", { allowDevDependencies: true }],
12
+ "esm/required-exports": "off",
12
13
  },
13
14
  } as const;
14
15
  }