@codeperfect/eslint-config 1.1.0 → 1.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.
Files changed (47) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/architecture/import-x.d.ts.map +1 -1
  3. package/dist/architecture/import-x.js +2 -1
  4. package/dist/codeperfect-eslint-config-1.0.0.tgz +0 -0
  5. package/dist/config-composition.d.ts +2 -2
  6. package/dist/config-composition.d.ts.map +1 -1
  7. package/dist/config-composition.js +3 -1
  8. package/dist/config-factory.d.ts +14 -0
  9. package/dist/config-factory.d.ts.map +1 -0
  10. package/dist/config-factory.js +42 -0
  11. package/dist/configs/index.d.ts +1 -1
  12. package/dist/configs/index.d.ts.map +1 -1
  13. package/dist/configs/index.js +2 -2
  14. package/dist/core/codeperfect.d.ts +11 -0
  15. package/dist/core/codeperfect.d.ts.map +1 -0
  16. package/dist/core/codeperfect.js +14 -0
  17. package/dist/core/index.d.ts +1 -0
  18. package/dist/core/index.d.ts.map +1 -1
  19. package/dist/core/index.js +2 -1
  20. package/dist/docs/jsdoc.d.ts +3 -1
  21. package/dist/docs/jsdoc.d.ts.map +1 -1
  22. package/dist/docs/jsdoc.js +23 -19
  23. package/dist/index.d.ts +1 -13
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -42
  26. package/dist/module-taxonomy.d.ts +3 -0
  27. package/dist/module-taxonomy.d.ts.map +1 -1
  28. package/dist/module-taxonomy.js +2 -1
  29. package/dist/plugin-loaders.d.ts +5 -0
  30. package/dist/plugin-loaders.d.ts.map +1 -1
  31. package/dist/plugin-loaders.js +7 -2
  32. package/dist/style/perfectionist.d.ts.map +1 -1
  33. package/dist/style/perfectionist.js +16 -2
  34. package/dist/style/stylistic.d.ts.map +1 -1
  35. package/dist/style/stylistic.js +4 -2
  36. package/dist/testing/vitest.d.ts.map +1 -1
  37. package/dist/testing/vitest.js +2 -1
  38. package/dist/types.d.ts +3 -3
  39. package/dist/types.d.ts.map +1 -1
  40. package/dist/types.js +1 -1
  41. package/package.json +42 -41
  42. package/dist/docs/jsdoc-examples.d.ts +0 -56
  43. package/dist/docs/jsdoc-examples.d.ts.map +0 -1
  44. package/dist/docs/jsdoc-examples.js +0 -186
  45. package/dist/docs/jsdoc-processor.d.ts +0 -63
  46. package/dist/docs/jsdoc-processor.d.ts.map +0 -1
  47. package/dist/docs/jsdoc-processor.js +0 -112
@@ -1,4 +1,4 @@
1
- import { boundaries, comments, eslint, importX, jasmine, jest, jsdoc, perfectionist, playwright, prettier, resolver, rxjsX, stylistic, typescript, unicorn, vitest, } from "./configs";
1
+ import { boundaries, codeperfect, comments, eslint, importX, jasmine, jest, jsdoc, perfectionist, playwright, prettier, resolver, rxjsX, stylistic, typescript, unicorn, vitest, } from "./configs";
2
2
  /**
3
3
  * Creates the boundaries loader factory for repository-owned architecture input.
4
4
  * @param options Input options value.
@@ -30,6 +30,11 @@ const pluginLoaders = {
30
30
  mode: "optional",
31
31
  pluginName: "boundaries",
32
32
  },
33
+ codeperfect: {
34
+ loader: createStaticLoaderFactory(codeperfect),
35
+ mode: "required",
36
+ pluginName: "codeperfect",
37
+ },
33
38
  comments: {
34
39
  loader: createStaticLoaderFactory(comments),
35
40
  mode: "optional",
@@ -107,4 +112,4 @@ const pluginLoaders = {
107
112
  },
108
113
  };
109
114
  export { pluginLoaders };
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2luLWxvYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFVBQVUsRUFDVixRQUFRLEVBQ1IsTUFBTSxFQUNOLE9BQU8sRUFDUCxPQUFPLEVBQ1AsSUFBSSxFQUNKLEtBQUssRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsS0FBSyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsT0FBTyxFQUNQLE1BQU0sR0FDUCxNQUFNLFdBQVcsQ0FBQztBQWlCbkI7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDZCQUE2QixDQUFDLE9BQXNCO0lBQzNELE9BQU8sR0FBb0IsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDL0QsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyx5QkFBeUIsQ0FDaEMsTUFBb0I7SUFFcEIsT0FBTyxHQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDO0FBQ3BDLENBQUM7QUFFRCxxRUFBcUU7QUFDckUsTUFBTSxhQUFhLEdBQUc7SUFDcEIsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLDZCQUE2QjtRQUNyQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsWUFBWTtLQUN6QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFVBQVU7S0FDdkI7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztRQUMxQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7UUFDMUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFDRCxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUUseUJBQXlCLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxNQUFNO0tBQ25CO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFLHlCQUF5QixDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsT0FBTztLQUNwQjtJQUNELGFBQWEsRUFBRTtRQUNiLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxhQUFhLENBQUM7UUFDaEQsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLGVBQWU7S0FDNUI7SUFDRCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUseUJBQXlCLENBQUMsVUFBVSxDQUFDO1FBQzdDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxZQUFZO0tBQ3pCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxRQUFRLENBQUM7UUFDM0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFVBQVU7S0FDdkI7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFNBQVMsQ0FBQztRQUM1QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsV0FBVztLQUN4QjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7UUFDN0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFlBQVk7S0FDekI7SUFDRCxPQUFPLEVBQUU7UUFDUCxNQUFNLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxTQUFTO0tBQ3RCO0lBQ0QsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztRQUN6QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsUUFBUTtLQUNyQjtDQUM4QyxDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IENvbmZpZ09wdGlvbnMsIFBsdWdpbk5hbWUgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBMb2FkTW9kZSB9IGZyb20gXCIuL3V0aWxpdGllc1wiO1xuXG5pbXBvcnQge1xuICBib3VuZGFyaWVzLFxuICBjb21tZW50cyxcbiAgZXNsaW50LFxuICBpbXBvcnRYLFxuICBqYXNtaW5lLFxuICBqZXN0LFxuICBqc2RvYyxcbiAgcGVyZmVjdGlvbmlzdCxcbiAgcGxheXdyaWdodCxcbiAgcHJldHRpZXIsXG4gIHJlc29sdmVyLFxuICByeGpzWCxcbiAgc3R5bGlzdGljLFxuICB0eXBlc2NyaXB0LFxuICB1bmljb3JuLFxuICB2aXRlc3QsXG59IGZyb20gXCIuL2NvbmZpZ3NcIjtcblxuLyoqIExvYWRlciBmdW5jdGlvbiBmb3IgYSBzaW5nbGUgY29uZmlnIG1vZHVsZS4gKi9cbnR5cGUgQ29uZmlnTG9hZGVyID0gKCkgPT4gTGludGVyLkNvbmZpZ1tdIHwgUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+O1xuXG4vKiogRW50cnkgZGVzY3JpYmluZyBhIHNpbmdsZSBjb25maWcgbG9hZGVyIGluIHRoZSBmaW5hbCBjb21wb3NpdGlvbiBvcmRlci4gKi9cbmludGVyZmFjZSBQbHVnaW5Mb2FkZXJFbnRyeSB7XG4gIC8qKiBMb2FkZXIgZmFjdG9yeSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbG9hZGVyOiAob3B0aW9uczogQ29uZmlnT3B0aW9ucykgPT4gQ29uZmlnTG9hZGVyO1xuXG4gIC8qKiBSdW50aW1lIGxvYWRpbmcgbW9kZSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbW9kZTogTG9hZE1vZGU7XG5cbiAgLyoqIFB1YmxpYyBtb2R1bGUgbmFtZSB1c2VkIGluIGNvbmZpZyBvcHRpb25zIGFuZCBkaWFnbm9zdGljcy4gKi9cbiAgcGx1Z2luTmFtZTogUGx1Z2luTmFtZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBib3VuZGFyaWVzIGxvYWRlciBmYWN0b3J5IGZvciByZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIElucHV0IG9wdGlvbnMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSh7fSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQm91bmRhcmllc0xvYWRlckZhY3Rvcnkob3B0aW9uczogQ29uZmlnT3B0aW9ucyk6IENvbmZpZ0xvYWRlciB7XG4gIHJldHVybiAoKTogTGludGVyLkNvbmZpZ1tdID0+IGJvdW5kYXJpZXMob3B0aW9ucy5ib3VuZGFyaWVzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZhY3RvcnkgZm9yIG1vZHVsZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9uIGNvbmZpZyBvcHRpb25zLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShcbiAgbG9hZGVyOiBDb25maWdMb2FkZXIsXG4pOiBQbHVnaW5Mb2FkZXJFbnRyeVtcImxvYWRlclwiXSB7XG4gIHJldHVybiAoKTogQ29uZmlnTG9hZGVyID0+IGxvYWRlcjtcbn1cblxuLyoqIERvY3VtZW50ZWQgY29uZmlnIGxvYWRlciByZWdpc3RyeSBrZXllZCBieSBwdWJsaWMgbW9kdWxlIG5hbWUuICovXG5jb25zdCBwbHVnaW5Mb2FkZXJzID0ge1xuICBib3VuZGFyaWVzOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJib3VuZGFyaWVzXCIsXG4gIH0sXG4gIGNvbW1lbnRzOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGNvbW1lbnRzKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJjb21tZW50c1wiLFxuICB9LFxuICBlc2xpbnQ6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoZXNsaW50KSxcbiAgICBtb2RlOiBcInJlcXVpcmVkXCIsXG4gICAgcGx1Z2luTmFtZTogXCJlc2xpbnRcIixcbiAgfSxcbiAgXCJpbXBvcnQteFwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGltcG9ydFgpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImltcG9ydC14XCIsXG4gIH0sXG4gIGphc21pbmU6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoamFzbWluZSksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwiamFzbWluZVwiLFxuICB9LFxuICBqZXN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGplc3QpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImplc3RcIixcbiAgfSxcbiAganNkb2M6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkoanNkb2MpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImpzZG9jXCIsXG4gIH0sXG4gIHBlcmZlY3Rpb25pc3Q6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkocGVyZmVjdGlvbmlzdCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwicGVyZmVjdGlvbmlzdFwiLFxuICB9LFxuICBwbGF5d3JpZ2h0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBsYXl3cmlnaHQpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInBsYXl3cmlnaHRcIixcbiAgfSxcbiAgcHJldHRpZXI6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkocHJldHRpZXIpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInByZXR0aWVyXCIsXG4gIH0sXG4gIHJlc29sdmVyOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHJlc29sdmVyKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJyZXNvbHZlclwiLFxuICB9LFxuICBcInJ4anMteFwiOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHJ4anNYKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJyeGpzLXhcIixcbiAgfSxcbiAgc3R5bGlzdGljOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHN0eWxpc3RpYyksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwic3R5bGlzdGljXCIsXG4gIH0sXG4gIHR5cGVzY3JpcHQ6IHtcbiAgICBsb2FkZXI6IGNyZWF0ZVN0YXRpY0xvYWRlckZhY3RvcnkodHlwZXNjcmlwdCksXG4gICAgbW9kZTogXCJyZXF1aXJlZFwiLFxuICAgIHBsdWdpbk5hbWU6IFwidHlwZXNjcmlwdFwiLFxuICB9LFxuICB1bmljb3JuOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHVuaWNvcm4pLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInVuaWNvcm5cIixcbiAgfSxcbiAgdml0ZXN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHZpdGVzdCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwidml0ZXN0XCIsXG4gIH0sXG59IHNhdGlzZmllcyBSZWNvcmQ8UGx1Z2luTmFtZSwgUGx1Z2luTG9hZGVyRW50cnk+O1xuXG5leHBvcnQgeyBwbHVnaW5Mb2FkZXJzIH07XG5leHBvcnQgdHlwZSB7IENvbmZpZ0xvYWRlciwgUGx1Z2luTG9hZGVyRW50cnkgfTtcbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcGx1Z2luLWxvYWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLE1BQU0sRUFDTixPQUFPLEVBQ1AsT0FBTyxFQUNQLElBQUksRUFDSixLQUFLLEVBQ0wsYUFBYSxFQUNiLFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxNQUFNLEdBQ1AsTUFBTSxXQUFXLENBQUM7QUFpQm5COzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyw2QkFBNkIsQ0FBQyxPQUFzQjtJQUMzRCxPQUFPLEdBQW9CLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMseUJBQXlCLENBQ2hDLE1BQW9CO0lBRXBCLE9BQU8sR0FBaUIsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUNwQyxDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFlBQVk7S0FDekI7SUFDRCxXQUFXLEVBQUU7UUFDWCxNQUFNLEVBQUUseUJBQXlCLENBQUMsV0FBVyxDQUFDO1FBQzlDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxhQUFhO0tBQzFCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELE1BQU0sRUFBRTtRQUNOLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxNQUFNLENBQUM7UUFDekMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFDRCxVQUFVLEVBQUU7UUFDVixNQUFNLEVBQUUseUJBQXlCLENBQUMsT0FBTyxDQUFDO1FBQzFDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLHlCQUF5QixDQUFDLE9BQU8sQ0FBQztRQUMxQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsU0FBUztLQUN0QjtJQUNELElBQUksRUFBRTtRQUNKLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7UUFDdkMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLE1BQU07S0FDbkI7SUFDRCxLQUFLLEVBQUU7UUFDTCxNQUFNLEVBQUUseUJBQXlCLENBQUMsS0FBSyxDQUFDO1FBQ3hDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxPQUFPO0tBQ3BCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLGFBQWEsQ0FBQztRQUNoRCxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsZUFBZTtLQUM1QjtJQUNELFVBQVUsRUFBRTtRQUNWLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxVQUFVLENBQUM7UUFDN0MsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFlBQVk7S0FDekI7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUseUJBQXlCLENBQUMsUUFBUSxDQUFDO1FBQzNDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxVQUFVO0tBQ3ZCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUMzQyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsVUFBVTtLQUN2QjtJQUNELFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLENBQUM7UUFDeEMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFFBQVE7S0FDckI7SUFDRCxTQUFTLEVBQUU7UUFDVCxNQUFNLEVBQUUseUJBQXlCLENBQUMsU0FBUyxDQUFDO1FBQzVDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxXQUFXO0tBQ3hCO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFVBQVUsQ0FBQztRQUM3QyxJQUFJLEVBQUUsVUFBVTtRQUNoQixVQUFVLEVBQUUsWUFBWTtLQUN6QjtJQUNELE9BQU8sRUFBRTtRQUNQLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxPQUFPLENBQUM7UUFDMUMsSUFBSSxFQUFFLFVBQVU7UUFDaEIsVUFBVSxFQUFFLFNBQVM7S0FDdEI7SUFDRCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUUseUJBQXlCLENBQUMsTUFBTSxDQUFDO1FBQ3pDLElBQUksRUFBRSxVQUFVO1FBQ2hCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0NBQzhDLENBQUM7QUFFbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgQ29uZmlnT3B0aW9ucywgUGx1Z2luTmFtZSB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IExvYWRNb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzXCI7XG5cbmltcG9ydCB7XG4gIGJvdW5kYXJpZXMsXG4gIGNvZGVwZXJmZWN0LFxuICBjb21tZW50cyxcbiAgZXNsaW50LFxuICBpbXBvcnRYLFxuICBqYXNtaW5lLFxuICBqZXN0LFxuICBqc2RvYyxcbiAgcGVyZmVjdGlvbmlzdCxcbiAgcGxheXdyaWdodCxcbiAgcHJldHRpZXIsXG4gIHJlc29sdmVyLFxuICByeGpzWCxcbiAgc3R5bGlzdGljLFxuICB0eXBlc2NyaXB0LFxuICB1bmljb3JuLFxuICB2aXRlc3QsXG59IGZyb20gXCIuL2NvbmZpZ3NcIjtcblxuLyoqIExvYWRlciBmdW5jdGlvbiBmb3IgYSBzaW5nbGUgY29uZmlnIG1vZHVsZS4gKi9cbnR5cGUgQ29uZmlnTG9hZGVyID0gKCkgPT4gTGludGVyLkNvbmZpZ1tdIHwgUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+O1xuXG4vKiogRW50cnkgZGVzY3JpYmluZyBhIHNpbmdsZSBjb25maWcgbG9hZGVyIGluIHRoZSBmaW5hbCBjb21wb3NpdGlvbiBvcmRlci4gKi9cbmludGVyZmFjZSBQbHVnaW5Mb2FkZXJFbnRyeSB7XG4gIC8qKiBMb2FkZXIgZmFjdG9yeSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbG9hZGVyOiAob3B0aW9uczogQ29uZmlnT3B0aW9ucykgPT4gQ29uZmlnTG9hZGVyO1xuXG4gIC8qKiBSdW50aW1lIGxvYWRpbmcgbW9kZSBmb3IgdGhlIG1vZHVsZS4gKi9cbiAgbW9kZTogTG9hZE1vZGU7XG5cbiAgLyoqIFB1YmxpYyBtb2R1bGUgbmFtZSB1c2VkIGluIGNvbmZpZyBvcHRpb25zIGFuZCBkaWFnbm9zdGljcy4gKi9cbiAgcGx1Z2luTmFtZTogUGx1Z2luTmFtZTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBib3VuZGFyaWVzIGxvYWRlciBmYWN0b3J5IGZvciByZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIElucHV0IG9wdGlvbnMgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSh7fSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQm91bmRhcmllc0xvYWRlckZhY3Rvcnkob3B0aW9uczogQ29uZmlnT3B0aW9ucyk6IENvbmZpZ0xvYWRlciB7XG4gIHJldHVybiAoKTogTGludGVyLkNvbmZpZ1tdID0+IGJvdW5kYXJpZXMob3B0aW9ucy5ib3VuZGFyaWVzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZhY3RvcnkgZm9yIG1vZHVsZXMgdGhhdCBkbyBub3QgZGVwZW5kIG9uIGNvbmZpZyBvcHRpb25zLlxuICogQHBhcmFtIGxvYWRlciBJbnB1dCBsb2FkZXIgdmFsdWUuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZhY3RvcnkgPSBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShcbiAgbG9hZGVyOiBDb25maWdMb2FkZXIsXG4pOiBQbHVnaW5Mb2FkZXJFbnRyeVtcImxvYWRlclwiXSB7XG4gIHJldHVybiAoKTogQ29uZmlnTG9hZGVyID0+IGxvYWRlcjtcbn1cblxuLyoqIERvY3VtZW50ZWQgY29uZmlnIGxvYWRlciByZWdpc3RyeSBrZXllZCBieSBwdWJsaWMgbW9kdWxlIG5hbWUuICovXG5jb25zdCBwbHVnaW5Mb2FkZXJzID0ge1xuICBib3VuZGFyaWVzOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVCb3VuZGFyaWVzTG9hZGVyRmFjdG9yeSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJib3VuZGFyaWVzXCIsXG4gIH0sXG4gIGNvZGVwZXJmZWN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGNvZGVwZXJmZWN0KSxcbiAgICBtb2RlOiBcInJlcXVpcmVkXCIsXG4gICAgcGx1Z2luTmFtZTogXCJjb2RlcGVyZmVjdFwiLFxuICB9LFxuICBjb21tZW50czoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShjb21tZW50cyksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwiY29tbWVudHNcIixcbiAgfSxcbiAgZXNsaW50OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGVzbGludCksXG4gICAgbW9kZTogXCJyZXF1aXJlZFwiLFxuICAgIHBsdWdpbk5hbWU6IFwiZXNsaW50XCIsXG4gIH0sXG4gIFwiaW1wb3J0LXhcIjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShpbXBvcnRYKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJpbXBvcnQteFwiLFxuICB9LFxuICBqYXNtaW5lOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGphc21pbmUpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcImphc21pbmVcIixcbiAgfSxcbiAgamVzdDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShqZXN0KSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJqZXN0XCIsXG4gIH0sXG4gIGpzZG9jOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KGpzZG9jKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJqc2RvY1wiLFxuICB9LFxuICBwZXJmZWN0aW9uaXN0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHBlcmZlY3Rpb25pc3QpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInBlcmZlY3Rpb25pc3RcIixcbiAgfSxcbiAgcGxheXdyaWdodDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShwbGF5d3JpZ2h0KSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJwbGF5d3JpZ2h0XCIsXG4gIH0sXG4gIHByZXR0aWVyOiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHByZXR0aWVyKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJwcmV0dGllclwiLFxuICB9LFxuICByZXNvbHZlcjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyZXNvbHZlciksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwicmVzb2x2ZXJcIixcbiAgfSxcbiAgXCJyeGpzLXhcIjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShyeGpzWCksXG4gICAgbW9kZTogXCJvcHRpb25hbFwiLFxuICAgIHBsdWdpbk5hbWU6IFwicnhqcy14XCIsXG4gIH0sXG4gIHN0eWxpc3RpYzoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeShzdHlsaXN0aWMpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInN0eWxpc3RpY1wiLFxuICB9LFxuICB0eXBlc2NyaXB0OiB7XG4gICAgbG9hZGVyOiBjcmVhdGVTdGF0aWNMb2FkZXJGYWN0b3J5KHR5cGVzY3JpcHQpLFxuICAgIG1vZGU6IFwicmVxdWlyZWRcIixcbiAgICBwbHVnaW5OYW1lOiBcInR5cGVzY3JpcHRcIixcbiAgfSxcbiAgdW5pY29ybjoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeSh1bmljb3JuKSxcbiAgICBtb2RlOiBcIm9wdGlvbmFsXCIsXG4gICAgcGx1Z2luTmFtZTogXCJ1bmljb3JuXCIsXG4gIH0sXG4gIHZpdGVzdDoge1xuICAgIGxvYWRlcjogY3JlYXRlU3RhdGljTG9hZGVyRmFjdG9yeSh2aXRlc3QpLFxuICAgIG1vZGU6IFwib3B0aW9uYWxcIixcbiAgICBwbHVnaW5OYW1lOiBcInZpdGVzdFwiLFxuICB9LFxufSBzYXRpc2ZpZXMgUmVjb3JkPFBsdWdpbk5hbWUsIFBsdWdpbkxvYWRlckVudHJ5PjtcblxuZXhwb3J0IHsgcGx1Z2luTG9hZGVycyB9O1xuZXhwb3J0IHR5cGUgeyBDb25maWdMb2FkZXIsIFBsdWdpbkxvYWRlckVudHJ5IH07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"perfectionist.d.ts","sourceRoot":"","sources":["../../src/style/perfectionist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAO9D"}
1
+ {"version":3,"file":"perfectionist.d.ts","sourceRoot":"","sources":["../../src/style/perfectionist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAYrC;;;;;;;GAOG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAoB9D"}
@@ -1,4 +1,11 @@
1
1
  import { defineConfig } from "eslint/config";
2
+ /** Generated example and default-expression snippets emitted by the JSDoc processor. */
3
+ const generatedSnippetFiles = [
4
+ "**/*.md/*.js",
5
+ "**/*.jsdoc-defaults",
6
+ "**/*.jsdoc-params",
7
+ "**/*.jsdoc-properties",
8
+ ];
2
9
  /**
3
10
  * Build and return the Perfectionist plugin configuration and any overrides.
4
11
  * @returns Return value output.
@@ -9,9 +16,16 @@ import { defineConfig } from "eslint/config";
9
16
  */
10
17
  export async function perfectionist() {
11
18
  const { configs } = await import("eslint-plugin-perfectionist");
19
+ const generatedSnippetRules = Object.fromEntries(Object.keys(configs["recommended-natural"].rules ?? {})
20
+ .filter((ruleName) => ruleName.startsWith("perfectionist/"))
21
+ .map((ruleName) => [ruleName, "off"]));
12
22
  return defineConfig(configs["recommended-natural"], {
13
- name: "To avoid conflcts",
23
+ name: "To avoid conflicts",
14
24
  rules: { "sort-keys": "off" },
25
+ }, {
26
+ files: generatedSnippetFiles,
27
+ name: "perfectionist/generated-snippets",
28
+ rules: generatedSnippetRules,
15
29
  });
16
30
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZmVjdGlvbmlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9wZXJmZWN0aW9uaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYTtJQUNqQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUVoRSxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsRUFBRTtRQUNsRCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7S0FDOUIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIEJ1aWxkIGFuZCByZXR1cm4gdGhlIFBlcmZlY3Rpb25pc3QgcGx1Z2luIGNvbmZpZ3VyYXRpb24gYW5kIGFueSBvdmVycmlkZXMuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHBlcmZlY3Rpb25pc3QoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGVyZmVjdGlvbmlzdCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB7IGNvbmZpZ3MgfSA9IGF3YWl0IGltcG9ydChcImVzbGludC1wbHVnaW4tcGVyZmVjdGlvbmlzdFwiKTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKGNvbmZpZ3NbXCJyZWNvbW1lbmRlZC1uYXR1cmFsXCJdLCB7XG4gICAgbmFtZTogXCJUbyBhdm9pZCBjb25mbGN0c1wiLFxuICAgIHJ1bGVzOiB7IFwic29ydC1rZXlzXCI6IFwib2ZmXCIgfSxcbiAgfSk7XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZmVjdGlvbmlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHlsZS9wZXJmZWN0aW9uaXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0Msd0ZBQXdGO0FBQ3hGLE1BQU0scUJBQXFCLEdBQUc7SUFDNUIsY0FBYztJQUNkLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsdUJBQXVCO0NBQ3hCLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhO0lBQ2pDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ3BELE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQzNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFVLENBQUMsQ0FDakQsQ0FBQztJQUVGLE9BQU8sWUFBWSxDQUNqQixPQUFPLENBQUMscUJBQXFCLENBQUMsRUFDOUI7UUFDRSxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUU7S0FDOUIsRUFDRDtRQUNFLEtBQUssRUFBRSxxQkFBcUI7UUFDNUIsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxLQUFLLEVBQUUscUJBQXFCO0tBQzdCLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqIEdlbmVyYXRlZCBleGFtcGxlIGFuZCBkZWZhdWx0LWV4cHJlc3Npb24gc25pcHBldHMgZW1pdHRlZCBieSB0aGUgSlNEb2MgcHJvY2Vzc29yLiAqL1xuY29uc3QgZ2VuZXJhdGVkU25pcHBldEZpbGVzID0gW1xuICBcIioqLyoubWQvKi5qc1wiLFxuICBcIioqLyouanNkb2MtZGVmYXVsdHNcIixcbiAgXCIqKi8qLmpzZG9jLXBhcmFtc1wiLFxuICBcIioqLyouanNkb2MtcHJvcGVydGllc1wiLFxuXTtcblxuLyoqXG4gKiBCdWlsZCBhbmQgcmV0dXJuIHRoZSBQZXJmZWN0aW9uaXN0IHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBhbnkgb3ZlcnJpZGVzLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBwZXJmZWN0aW9uaXN0KCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBlcmZlY3Rpb25pc3QoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3QgeyBjb25maWdzIH0gPSBhd2FpdCBpbXBvcnQoXCJlc2xpbnQtcGx1Z2luLXBlcmZlY3Rpb25pc3RcIik7XG4gIGNvbnN0IGdlbmVyYXRlZFNuaXBwZXRSdWxlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3Qua2V5cyhjb25maWdzW1wicmVjb21tZW5kZWQtbmF0dXJhbFwiXS5ydWxlcyA/PyB7fSlcbiAgICAgIC5maWx0ZXIoKHJ1bGVOYW1lKSA9PiBydWxlTmFtZS5zdGFydHNXaXRoKFwicGVyZmVjdGlvbmlzdC9cIikpXG4gICAgICAubWFwKChydWxlTmFtZSkgPT4gW3J1bGVOYW1lLCBcIm9mZlwiXSBhcyBjb25zdCksXG4gICk7XG5cbiAgcmV0dXJuIGRlZmluZUNvbmZpZyhcbiAgICBjb25maWdzW1wicmVjb21tZW5kZWQtbmF0dXJhbFwiXSxcbiAgICB7XG4gICAgICBuYW1lOiBcIlRvIGF2b2lkIGNvbmZsaWN0c1wiLFxuICAgICAgcnVsZXM6IHsgXCJzb3J0LWtleXNcIjogXCJvZmZcIiB9LFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZXM6IGdlbmVyYXRlZFNuaXBwZXRGaWxlcyxcbiAgICAgIG5hbWU6IFwicGVyZmVjdGlvbmlzdC9nZW5lcmF0ZWQtc25pcHBldHNcIixcbiAgICAgIHJ1bGVzOiBnZW5lcmF0ZWRTbmlwcGV0UnVsZXMsXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../src/style/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAK1D"}
1
+ {"version":3,"file":"stylistic.d.ts","sourceRoot":"","sources":["../../src/style/stylistic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAO1D"}
@@ -10,6 +10,8 @@ import { defineConfig } from "eslint/config";
10
10
  export async function stylistic() {
11
11
  const stylisticModule = await import("@stylistic/eslint-plugin");
12
12
  const { default: plugin } = stylisticModule;
13
- return defineConfig(plugin.configs.all);
13
+ return defineConfig(plugin.configs.all, {
14
+ rules: { "@stylistic/multiline-comment-style": "off" },
15
+ });
14
16
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0eWxlL3N0eWxpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVM7SUFDN0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztJQUU1QyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBSZXR1cm4gdGhlIHN0eWxpc3RpYyBwbHVnaW4gY29uZmlndXJhdGlvbiBhbmQgaXRzIHJlY29tbWVuZGVkIHNldHRpbmdzLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCBzdHlsaXN0aWMoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3R5bGlzdGljKCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHN0eWxpc3RpY01vZHVsZSA9IGF3YWl0IGltcG9ydChcIkBzdHlsaXN0aWMvZXNsaW50LXBsdWdpblwiKTtcbiAgY29uc3QgeyBkZWZhdWx0OiBwbHVnaW4gfSA9IHN0eWxpc3RpY01vZHVsZTtcblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHBsdWdpbi5jb25maWdzLmFsbCk7XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGlzdGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0eWxlL3N0eWxpc3RpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVM7SUFDN0IsTUFBTSxlQUFlLEdBQUcsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUNqRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLGVBQWUsQ0FBQztJQUU1QyxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUN0QyxLQUFLLEVBQUUsRUFBRSxvQ0FBb0MsRUFBRSxLQUFLLEVBQUU7S0FDdkQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIFJldHVybiB0aGUgc3R5bGlzdGljIHBsdWdpbiBjb25maWd1cmF0aW9uIGFuZCBpdHMgcmVjb21tZW5kZWQgc2V0dGluZ3MuXG4gKiBAcmV0dXJucyBSZXR1cm4gdmFsdWUgb3V0cHV0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGF3YWl0IHN0eWxpc3RpYygpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdHlsaXN0aWMoKTogUHJvbWlzZTxMaW50ZXIuQ29uZmlnW10+IHtcbiAgY29uc3Qgc3R5bGlzdGljTW9kdWxlID0gYXdhaXQgaW1wb3J0KFwiQHN0eWxpc3RpYy9lc2xpbnQtcGx1Z2luXCIpO1xuICBjb25zdCB7IGRlZmF1bHQ6IHBsdWdpbiB9ID0gc3R5bGlzdGljTW9kdWxlO1xuXG4gIHJldHVybiBkZWZpbmVDb25maWcocGx1Z2luLmNvbmZpZ3MuYWxsLCB7XG4gICAgcnVsZXM6IHsgXCJAc3R5bGlzdGljL211bHRpbGluZS1jb21tZW50LXN0eWxlXCI6IFwib2ZmXCIgfSxcbiAgfSk7XG59XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAqCvD"}
1
+ {"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../../src/testing/vitest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC;;;;;;;GAOG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAsCvD"}
@@ -26,7 +26,8 @@ export async function vitest() {
26
26
  "vitest/no-hooks": "off",
27
27
  "vitest/prefer-expect-assertions": "off",
28
28
  "vitest/require-mock-type-parameters": "off",
29
+ "vitest/unbound-method": "off",
29
30
  },
30
31
  });
31
32
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Rpbmcvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTTtJQUMxQixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUNWLFlBVUQsQ0FBQyxPQUFPLENBQUM7SUFDVixNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sWUFBWSxDQUNqQixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQzdDO1FBQ0UsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUEsb0JBQW9CLEVBQUU7YUFDNUM7WUFDRCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlDQUFpQyxFQUFFLEtBQUs7WUFDeEMscUNBQXFDLEVBQUUsS0FBSztTQUM3QztLQUNGLENBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcImVzbGludC9jb25maWdcIjtcblxuLyoqXG4gKiBMb2FkIFZpdGVzdCBwbHVnaW4gY29uZmlndXJhdGlvbiB3aGVuIGF2YWlsYWJsZS5cbiAqIEByZXR1cm5zIFJldHVybiB2YWx1ZSBvdXRwdXQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYXdhaXQgdml0ZXN0KCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZpdGVzdCgpOiBQcm9taXNlPExpbnRlci5Db25maWdbXT4ge1xuICBjb25zdCB2aXRlc3RNb2R1bGUgPSBhd2FpdCBpbXBvcnQoXCJAdml0ZXN0L2VzbGludC1wbHVnaW5cIik7XG4gIGNvbnN0IHBsdWdpbiA9IChcbiAgICB2aXRlc3RNb2R1bGUgYXMge1xuICAgICAgLyoqIERlZmF1bHQgaGVscGVyIHZhbHVlLiAqL1xuICAgICAgZGVmYXVsdD86IHtcbiAgICAgICAgLyoqIENvbmZpZ3MgaGVscGVyIHZhbHVlLiAqL1xuICAgICAgICBjb25maWdzPzoge1xuICAgICAgICAgIC8qKiBBbGwgaGVscGVyIHZhbHVlLiAqL1xuICAgICAgICAgIGFsbD86IExpbnRlci5Db25maWc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH1cbiAgKS5kZWZhdWx0O1xuICBjb25zdCBhbGxDb25maWcgPSBwbHVnaW4/LmNvbmZpZ3M/LmFsbDtcblxuICBpZiAoYWxsQ29uZmlnID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gZGVmaW5lQ29uZmlnKFxuICAgIHsgc2V0dGluZ3M6IHsgdml0ZXN0OiB7IHR5cGVjaGVjazogdHJ1ZSB9IH0gfSxcbiAgICB7XG4gICAgICBleHRlbmRzOiBbYWxsQ29uZmlnXSxcbiAgICAgIGZpbGVzOiBbXCIqKi8qLntzcGVjLHRlc3R9LnRzXCJdLFxuICAgICAgbmFtZTogXCJ2aXRlc3QvY3VzdG9tXCIsXG4gICAgICBydWxlczoge1xuICAgICAgICBcInZpdGVzdC9jb25zaXN0ZW50LXRlc3QtZmlsZW5hbWVcIjogW1xuICAgICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAgICB7IHBhdHRlcm46IFN0cmluZy5yYXdgLipcXC5zcGVjXFwuW3RqXXN4PyRgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIFwidml0ZXN0L25vLWhvb2tzXCI6IFwib2ZmXCIsXG4gICAgICAgIFwidml0ZXN0L3ByZWZlci1leHBlY3QtYXNzZXJ0aW9uc1wiOiBcIm9mZlwiLFxuICAgICAgICBcInZpdGVzdC9yZXF1aXJlLW1vY2stdHlwZS1wYXJhbWV0ZXJzXCI6IFwib2ZmXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICk7XG59XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Rpbmcvdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0M7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTTtJQUMxQixNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzNELE1BQU0sTUFBTSxHQUNWLFlBVUQsQ0FBQyxPQUFPLENBQUM7SUFDVixNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQztJQUV2QyxJQUFJLFNBQVMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sWUFBWSxDQUNqQixFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQzdDO1FBQ0UsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3BCLEtBQUssRUFBRSxDQUFDLHFCQUFxQixDQUFDO1FBQzlCLElBQUksRUFBRSxlQUFlO1FBQ3JCLEtBQUssRUFBRTtZQUNMLGlDQUFpQyxFQUFFO2dCQUNqQyxPQUFPO2dCQUNQLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUEsb0JBQW9CLEVBQUU7YUFDNUM7WUFDRCxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGlDQUFpQyxFQUFFLEtBQUs7WUFDeEMscUNBQXFDLEVBQUUsS0FBSztZQUM1Qyx1QkFBdUIsRUFBRSxLQUFLO1NBQy9CO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwiZXNsaW50L2NvbmZpZ1wiO1xuXG4vKipcbiAqIExvYWQgVml0ZXN0IHBsdWdpbiBjb25maWd1cmF0aW9uIHdoZW4gYXZhaWxhYmxlLlxuICogQHJldHVybnMgUmV0dXJuIHZhbHVlIG91dHB1dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBhd2FpdCB2aXRlc3QoKTtcbiAqIGBgYFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdml0ZXN0KCk6IFByb21pc2U8TGludGVyLkNvbmZpZ1tdPiB7XG4gIGNvbnN0IHZpdGVzdE1vZHVsZSA9IGF3YWl0IGltcG9ydChcIkB2aXRlc3QvZXNsaW50LXBsdWdpblwiKTtcbiAgY29uc3QgcGx1Z2luID0gKFxuICAgIHZpdGVzdE1vZHVsZSBhcyB7XG4gICAgICAvKiogRGVmYXVsdCBoZWxwZXIgdmFsdWUuICovXG4gICAgICBkZWZhdWx0Pzoge1xuICAgICAgICAvKiogQ29uZmlncyBoZWxwZXIgdmFsdWUuICovXG4gICAgICAgIGNvbmZpZ3M/OiB7XG4gICAgICAgICAgLyoqIEFsbCBoZWxwZXIgdmFsdWUuICovXG4gICAgICAgICAgYWxsPzogTGludGVyLkNvbmZpZztcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgfVxuICApLmRlZmF1bHQ7XG4gIGNvbnN0IGFsbENvbmZpZyA9IHBsdWdpbj8uY29uZmlncz8uYWxsO1xuXG4gIGlmIChhbGxDb25maWcgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBkZWZpbmVDb25maWcoXG4gICAgeyBzZXR0aW5nczogeyB2aXRlc3Q6IHsgdHlwZWNoZWNrOiB0cnVlIH0gfSB9LFxuICAgIHtcbiAgICAgIGV4dGVuZHM6IFthbGxDb25maWddLFxuICAgICAgZmlsZXM6IFtcIioqLyoue3NwZWMsdGVzdH0udHNcIl0sXG4gICAgICBuYW1lOiBcInZpdGVzdC9jdXN0b21cIixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIFwidml0ZXN0L2NvbnNpc3RlbnQtdGVzdC1maWxlbmFtZVwiOiBbXG4gICAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICAgIHsgcGF0dGVybjogU3RyaW5nLnJhd2AuKlxcLnNwZWNcXC5bdGpdc3g/JGAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgXCJ2aXRlc3Qvbm8taG9va3NcIjogXCJvZmZcIixcbiAgICAgICAgXCJ2aXRlc3QvcHJlZmVyLWV4cGVjdC1hc3NlcnRpb25zXCI6IFwib2ZmXCIsXG4gICAgICAgIFwidml0ZXN0L3JlcXVpcmUtbW9jay10eXBlLXBhcmFtZXRlcnNcIjogXCJvZmZcIixcbiAgICAgICAgXCJ2aXRlc3QvdW5ib3VuZC1tZXRob2RcIjogXCJvZmZcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cbiJdfQ==
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Linter } from "eslint";
2
- import type { ElementDescriptors, ElementTypesRuleOptions } from "eslint-plugin-boundaries";
2
+ import type { DependenciesRuleOptions, ElementDescriptors } from "eslint-plugin-boundaries";
3
3
  /** Type definition for rule data. */
4
4
  type ArchitecturePluginName = "boundaries" | "import-x";
5
5
  /** Type definition for rule data. */
@@ -7,7 +7,7 @@ interface BoundariesConfig {
7
7
  /** Repository-owned element descriptors for boundaries analysis. */
8
8
  elements: ElementDescriptors;
9
9
  /** Repository-owned dependency direction rules for boundaries analysis. */
10
- elementTypes: Linter.RuleEntry<ElementTypesRuleOptions[]>;
10
+ elementTypes: Linter.RuleEntry<DependenciesRuleOptions[]>;
11
11
  /** Files included in repository-specific boundaries analysis. */
12
12
  files: readonly string[];
13
13
  /** Optional ignore globs excluded from repository-specific boundaries analysis. */
@@ -26,7 +26,7 @@ interface ConfigOptions {
26
26
  rules?: Linter.RulesRecord;
27
27
  }
28
28
  /** Type definition for rule data. */
29
- type CorePluginName = "eslint" | "resolver" | "typescript";
29
+ type CorePluginName = "codeperfect" | "eslint" | "resolver" | "typescript";
30
30
  /** Type definition for rule data. */
31
31
  type DocumentationPluginName = "comments" | "jsdoc";
32
32
  /** Type definition for rule data. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAElC,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,oEAAoE;IACpE,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE1D,iEAAiE;IACjE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzB,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,qCAAqC;AACrC,UAAU,aAAa;IACrB,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC5B;AAED,qCAAqC;AACrC,KAAK,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3D,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpD,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,qCAAqC;AACrC,KAAK,eAAe,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAElC,qCAAqC;AACrC,KAAK,sBAAsB,GAAG,YAAY,GAAG,UAAU,CAAC;AAExD,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,oEAAoE;IACpE,QAAQ,EAAE,kBAAkB,CAAC;IAE7B,2EAA2E;IAE3E,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE1D,iEAAiE;IACjE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzB,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,qCAAqC;AACrC,UAAU,aAAa;IACrB,gFAAgF;IAChF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAExC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC;CAC5B;AAED,qCAAqC;AACrC,KAAK,cAAc,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE3E,qCAAqC;AACrC,KAAK,uBAAuB,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpD,qCAAqC;AACrC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AAEjC,qCAAqC;AACrC,KAAK,UAAU,GACX,sBAAsB,GACtB,cAAc,GACd,uBAAuB,GACvB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,qCAAqC;AACrC,KAAK,eAAe,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9E,qCAAqC;AACrC,KAAK,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;AAEtE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
package/dist/types.js CHANGED
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUge1xuICBFbGVtZW50RGVzY3JpcHRvcnMsXG4gIEVsZW1lbnRUeXBlc1J1bGVPcHRpb25zLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZSA9IFwiYm91bmRhcmllc1wiIHwgXCJpbXBvcnQteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQm91bmRhcmllc0NvbmZpZyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGVsZW1lbnQgZGVzY3JpcHRvcnMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGVsZW1lbnRzOiBFbGVtZW50RGVzY3JpcHRvcnM7XG5cbiAgLyoqIFJlcG9zaXRvcnktb3duZWQgZGVwZW5kZW5jeSBkaXJlY3Rpb24gcnVsZXMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGVsZW1lbnRUeXBlczogTGludGVyLlJ1bGVFbnRyeTxFbGVtZW50VHlwZXNSdWxlT3B0aW9uc1tdPjtcblxuICAvKiogRmlsZXMgaW5jbHVkZWQgaW4gcmVwb3NpdG9yeS1zcGVjaWZpYyBib3VuZGFyaWVzIGFuYWx5c2lzLiAqL1xuICBmaWxlczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqIE9wdGlvbmFsIGlnbm9yZSBnbG9icyBleGNsdWRlZCBmcm9tIHJlcG9zaXRvcnktc3BlY2lmaWMgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgaWdub3Jlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQ29uZmlnT3B0aW9ucyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGFyY2hpdGVjdHVyZSBpbnB1dCBmb3IgdGhlIG9wdGlvbmFsIGBib3VuZGFyaWVzYCBtb2R1bGUuICovXG4gIGJvdW5kYXJpZXM/OiBCb3VuZGFyaWVzQ29uZmlnO1xuXG4gIC8qKiBMaXN0IG9mIG5hbWVkIG1vZHVsZXMgdG8gZGlzYWJsZSBmcm9tIHRoZSBjb21wb3NlZCBjb25maWd1cmF0aW9uLiAqL1xuICBkaXNhYmxlZFBsdWdpbnM/OiByZWFkb25seSBQbHVnaW5OYW1lW107XG5cbiAgLyoqXG4gICAqIFJ1bGVzIHRvIGRpc2FibGUgb3Igb3ZlcnJpZGUuXG4gICAqIFVzZSAnb2ZmJyB0byBkaXNhYmxlLCBvciBwcm92aWRlIGN1c3RvbSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcnVsZXM/OiBMaW50ZXIuUnVsZXNSZWNvcmQ7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29yZVBsdWdpbk5hbWUgPSBcImVzbGludFwiIHwgXCJyZXNvbHZlclwiIHwgXCJ0eXBlc2NyaXB0XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgRG9jdW1lbnRhdGlvblBsdWdpbk5hbWUgPSBcImNvbW1lbnRzXCIgfCBcImpzZG9jXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgRG9tYWluUGx1Z2luTmFtZSA9IFwicnhqcy14XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgUGx1Z2luTmFtZSA9XG4gIHwgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZVxuICB8IENvcmVQbHVnaW5OYW1lXG4gIHwgRG9jdW1lbnRhdGlvblBsdWdpbk5hbWVcbiAgfCBEb21haW5QbHVnaW5OYW1lXG4gIHwgU3R5bGVQbHVnaW5OYW1lXG4gIHwgVGVzdGluZ1BsdWdpbk5hbWU7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgU3R5bGVQbHVnaW5OYW1lID0gXCJwZXJmZWN0aW9uaXN0XCIgfCBcInByZXR0aWVyXCIgfCBcInN0eWxpc3RpY1wiIHwgXCJ1bmljb3JuXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgVGVzdGluZ1BsdWdpbk5hbWUgPSBcImphc21pbmVcIiB8IFwiamVzdFwiIHwgXCJwbGF5d3JpZ2h0XCIgfCBcInZpdGVzdFwiO1xuXG5leHBvcnQgdHlwZSB7IEJvdW5kYXJpZXNDb25maWcsIENvbmZpZ09wdGlvbnMsIFBsdWdpbk5hbWUgfTtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUge1xuICBEZXBlbmRlbmNpZXNSdWxlT3B0aW9ucyxcbiAgRWxlbWVudERlc2NyaXB0b3JzLFxufSBmcm9tIFwiZXNsaW50LXBsdWdpbi1ib3VuZGFyaWVzXCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQXJjaGl0ZWN0dXJlUGx1Z2luTmFtZSA9IFwiYm91bmRhcmllc1wiIHwgXCJpbXBvcnQteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgQm91bmRhcmllc0NvbmZpZyB7XG4gIC8qKiBSZXBvc2l0b3J5LW93bmVkIGVsZW1lbnQgZGVzY3JpcHRvcnMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGVsZW1lbnRzOiBFbGVtZW50RGVzY3JpcHRvcnM7XG5cbiAgLyoqIFJlcG9zaXRvcnktb3duZWQgZGVwZW5kZW5jeSBkaXJlY3Rpb24gcnVsZXMgZm9yIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHMgLS0tIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSBjb3JyZWN0IHR5cGluZyBvZiB0aGUgcnVsZSBvcHRpb25zLlxuICBlbGVtZW50VHlwZXM6IExpbnRlci5SdWxlRW50cnk8RGVwZW5kZW5jaWVzUnVsZU9wdGlvbnNbXT47XG5cbiAgLyoqIEZpbGVzIGluY2x1ZGVkIGluIHJlcG9zaXRvcnktc3BlY2lmaWMgYm91bmRhcmllcyBhbmFseXNpcy4gKi9cbiAgZmlsZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKiBPcHRpb25hbCBpZ25vcmUgZ2xvYnMgZXhjbHVkZWQgZnJvbSByZXBvc2l0b3J5LXNwZWNpZmljIGJvdW5kYXJpZXMgYW5hbHlzaXMuICovXG4gIGlnbm9yZXM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbmZpZ09wdGlvbnMge1xuICAvKiogUmVwb3NpdG9yeS1vd25lZCBhcmNoaXRlY3R1cmUgaW5wdXQgZm9yIHRoZSBvcHRpb25hbCBgYm91bmRhcmllc2AgbW9kdWxlLiAqL1xuICBib3VuZGFyaWVzPzogQm91bmRhcmllc0NvbmZpZztcblxuICAvKiogTGlzdCBvZiBuYW1lZCBtb2R1bGVzIHRvIGRpc2FibGUgZnJvbSB0aGUgY29tcG9zZWQgY29uZmlndXJhdGlvbi4gKi9cbiAgZGlzYWJsZWRQbHVnaW5zPzogcmVhZG9ubHkgUGx1Z2luTmFtZVtdO1xuXG4gIC8qKlxuICAgKiBSdWxlcyB0byBkaXNhYmxlIG9yIG92ZXJyaWRlLlxuICAgKiBVc2UgJ29mZicgdG8gZGlzYWJsZSwgb3IgcHJvdmlkZSBjdXN0b20gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJ1bGVzPzogTGludGVyLlJ1bGVzUmVjb3JkO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIENvcmVQbHVnaW5OYW1lID0gXCJjb2RlcGVyZmVjdFwiIHwgXCJlc2xpbnRcIiB8IFwicmVzb2x2ZXJcIiB8IFwidHlwZXNjcmlwdFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvY3VtZW50YXRpb25QbHVnaW5OYW1lID0gXCJjb21tZW50c1wiIHwgXCJqc2RvY1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIERvbWFpblBsdWdpbk5hbWUgPSBcInJ4anMteFwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFBsdWdpbk5hbWUgPVxuICB8IEFyY2hpdGVjdHVyZVBsdWdpbk5hbWVcbiAgfCBDb3JlUGx1Z2luTmFtZVxuICB8IERvY3VtZW50YXRpb25QbHVnaW5OYW1lXG4gIHwgRG9tYWluUGx1Z2luTmFtZVxuICB8IFN0eWxlUGx1Z2luTmFtZVxuICB8IFRlc3RpbmdQbHVnaW5OYW1lO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFN0eWxlUGx1Z2luTmFtZSA9IFwicGVyZmVjdGlvbmlzdFwiIHwgXCJwcmV0dGllclwiIHwgXCJzdHlsaXN0aWNcIiB8IFwidW5pY29yblwiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG50eXBlIFRlc3RpbmdQbHVnaW5OYW1lID0gXCJqYXNtaW5lXCIgfCBcImplc3RcIiB8IFwicGxheXdyaWdodFwiIHwgXCJ2aXRlc3RcIjtcblxuZXhwb3J0IHR5cGUgeyBCb3VuZGFyaWVzQ29uZmlnLCBDb25maWdPcHRpb25zLCBQbHVnaW5OYW1lIH07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-config",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "A shareable flat ESLint config for TypeScript repositories",
5
5
  "keywords": [
6
6
  "eslint",
@@ -70,69 +70,70 @@
70
70
  "test": "npx --yes vitest run"
71
71
  },
72
72
  "dependencies": {
73
- "minimatch": "^9.0.5"
73
+ "minimatch": "^10.2.4"
74
74
  },
75
75
  "peerDependencies": {
76
- "@eslint/js": ">=9.0.0",
77
- "eslint": ">=9.0.0",
78
- "jiti": ">=2.0.0",
79
- "typescript": ">=5.0.0",
80
- "typescript-eslint": ">=8.0.0"
76
+ "@eslint/js": "^10.0.0",
77
+ "eslint": "^10.1.0",
78
+ "jiti": "^2.6.0",
79
+ "typescript": "^5.9.0",
80
+ "typescript-eslint": "^8.57.0"
81
81
  },
82
82
  "optionalDependencies": {
83
- "@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
84
- "@stylistic/eslint-plugin": "^5.7.1",
85
- "@vitest/eslint-plugin": "^1.6.6",
83
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
84
+ "@stylistic/eslint-plugin": "^5.10.0",
85
+ "@vitest/eslint-plugin": "^1.6.13",
86
86
  "eslint-import-resolver-typescript": "^4.4.4",
87
- "eslint-plugin-boundaries": "^5.3.1",
88
- "eslint-plugin-import-x": "^4.16.1",
87
+ "eslint-plugin-boundaries": "^6.0.1",
88
+ "eslint-plugin-import-x": "^4.16.2",
89
89
  "eslint-plugin-jasmine": "^4.2.2",
90
- "eslint-plugin-jest": "^29.12.1",
91
- "eslint-plugin-jsdoc": "^62.4.1",
92
- "eslint-plugin-perfectionist": "^5.4.0",
90
+ "eslint-plugin-jest": "^29.15.1",
91
+ "eslint-plugin-jsdoc": "^62.8.1",
92
+ "eslint-plugin-perfectionist": "^5.7.0",
93
93
  "eslint-plugin-prettier": "^5.5.5",
94
- "eslint-plugin-rxjs-x": "^0.8.4",
95
- "eslint-plugin-unicorn": "^62.0.0",
96
- "globals": "^17.2.0"
94
+ "eslint-plugin-rxjs-x": "^1.0.1",
95
+ "eslint-plugin-unicorn": "^64.0.0",
96
+ "globals": "^17.4.0"
97
97
  },
98
98
  "devDependencies": {
99
- "@commitlint/cli": "^20.4.1",
100
- "@commitlint/config-conventional": "^20.4.1",
101
- "@commitlint/cz-commitlint": "^20.4.1",
102
- "@eslint-community/eslint-plugin-eslint-comments": "^4.6.0",
103
- "@eslint/js": "^9.39.2",
99
+ "@codeperfect/eslint-plugin": "^1.0.0",
100
+ "@commitlint/cli": "^20.5.0",
101
+ "@commitlint/config-conventional": "^20.5.0",
102
+ "@commitlint/cz-commitlint": "^20.5.0",
103
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
104
+ "@eslint/js": "^10.0.1",
104
105
  "@semantic-release/commit-analyzer": "^13.0.1",
105
106
  "@semantic-release/github": "^12.0.6",
106
107
  "@semantic-release/npm": "^13.1.5",
107
108
  "@semantic-release/release-notes-generator": "^14.1.0",
108
- "@stylistic/eslint-plugin": "^5.7.1",
109
+ "@stylistic/eslint-plugin": "^5.10.0",
109
110
  "@types/lodash-es": "^4.17.12",
110
- "@types/node": "^25.2.1",
111
- "@vitest/coverage-v8": "^4.0.18",
112
- "@vitest/eslint-plugin": "^1.6.6",
111
+ "@types/node": "^25.5.0",
112
+ "@vitest/coverage-v8": "^4.1.2",
113
+ "@vitest/eslint-plugin": "^1.6.13",
113
114
  "chalk": "^5.6.2",
114
- "conventional-changelog-conventionalcommits": "^9.1.0",
115
- "eslint": "^9.39.2",
115
+ "conventional-changelog-conventionalcommits": "^9.3.1",
116
+ "eslint": "^10.1.0",
116
117
  "eslint-config-prettier": "^10.1.8",
117
118
  "eslint-import-resolver-typescript": "^4.4.4",
118
- "eslint-plugin-boundaries": "^5.4.0",
119
- "eslint-plugin-import-x": "^4.16.1",
120
- "eslint-plugin-jsdoc": "^62.5.3",
121
- "eslint-plugin-perfectionist": "^5.5.0",
122
- "eslint-plugin-playwright": "^2.5.1",
119
+ "eslint-plugin-boundaries": "^6.0.1",
120
+ "eslint-plugin-import-x": "^4.16.2",
121
+ "eslint-plugin-jsdoc": "^62.8.1",
122
+ "eslint-plugin-perfectionist": "^5.7.0",
123
+ "eslint-plugin-playwright": "^2.10.1",
123
124
  "eslint-plugin-prettier": "^5.5.5",
124
- "eslint-plugin-unicorn": "^62.0.0",
125
- "globals": "^17.3.0",
125
+ "eslint-plugin-unicorn": "^64.0.0",
126
+ "globals": "^17.4.0",
126
127
  "husky": "^9.1.7",
127
128
  "jiti": "^2.6.1",
128
- "lint-staged": "^16.2.7",
129
+ "lint-staged": "^16.4.0",
129
130
  "lodash-es": "^4.17.23",
130
- "rimraf": "^6.1.2",
131
+ "rimraf": "^6.1.3",
131
132
  "semantic-release": "^25.0.3",
132
- "typedoc": "^0.28.17",
133
- "typedoc-plugin-markdown": "^4.10.0",
133
+ "typedoc": "^0.28.18",
134
+ "typedoc-plugin-markdown": "^4.11.0",
134
135
  "typescript": "^5.9.3",
135
- "vitest": "^4.0.18"
136
+ "vitest": "^4.1.2"
136
137
  },
137
138
  "engines": {
138
139
  "node": ">=24.0.0"
@@ -1,56 +0,0 @@
1
- import type { Linter } from "eslint";
2
- import type { getJsdocProcessorPlugin as getJsdocProcessorPluginType } from "eslint-plugin-jsdoc";
3
- import type { parser as parserType, configs as typeScriptConfigsType, plugin as typeScriptPluginType } from "typescript-eslint";
4
- /** Options for building TypeScript example configs. */
5
- interface BuildTypeScriptExampleConfigOptions {
6
- /** Rule overrides that disable typed-only checks for snippets. */
7
- disableTypeCheckedRules: Linter.RulesRecord;
8
- /** Upstream processor factory when the plugin exports it. */
9
- getJsdocProcessorPlugin: JsdocProcessorPluginFactory | undefined;
10
- /** Parser used for host files and snippet files. */
11
- parser: Parser;
12
- /** TypeScript ESLint plugin used by the virtual snippet configs. */
13
- typeScriptPlugin: TypeScriptPlugin;
14
- }
15
- /** Function signature for the JSDoc processor factory. */
16
- type JsdocProcessorPluginFactory = typeof getJsdocProcessorPluginType;
17
- /** Parser accepted by the JSDoc example processor. */
18
- type Parser = typeof parserType;
19
- /** TypeScript ESLint config map. */
20
- type TypeScriptConfigs = typeof typeScriptConfigsType;
21
- /** TypeScript ESLint plugin instance used for snippet-only rule configs. */
22
- type TypeScriptPlugin = typeof typeScriptPluginType;
23
- /**
24
- * Build TypeScript-aware processor configs for JSDoc examples and default expressions.
25
- * @param options Config input for the TypeScript snippet support.
26
- * @param options.disableTypeCheckedRules Rule overrides that disable typed-only checks.
27
- * @param options.getJsdocProcessorPlugin Upstream processor factory when present.
28
- * @param options.parser Parser used for host files and snippets.
29
- * @param options.typeScriptPlugin TypeScript ESLint plugin instance.
30
- * @returns The processor and virtual-file configs.
31
- * @example
32
- * console.log(buildTypeScriptExampleConfigs({ disableTypeCheckedRules: {}, getJsdocProcessorPlugin: void 0, parser: {} as Parser, typeScriptPlugin: {} as TypeScriptPlugin }).length);
33
- */
34
- declare function buildTypeScriptExampleConfigs({ disableTypeCheckedRules, getJsdocProcessorPlugin, parser, typeScriptPlugin, }: BuildTypeScriptExampleConfigOptions): Linter.Config[];
35
- /**
36
- * Resolve the TypeScript rule overrides that disable typed-only linting for snippets.
37
- * @param typeScriptConfigs The exported TypeScript ESLint config map.
38
- * @returns The disable-type-checked rule overrides.
39
- * @example
40
- * console.log(resolveDisableTypeCheckedRules({ disableTypeChecked: { rules: { example: "off" } } } as TypeScriptConfigs).example);
41
- */
42
- declare function resolveDisableTypeCheckedRules(typeScriptConfigs: TypeScriptConfigs): Linter.RulesRecord;
43
- /**
44
- * Resolve the optional processor factory from the JSDoc plugin module.
45
- * @param jsdocModule The loaded JSDoc plugin module.
46
- * @returns The processor factory when the module exports it.
47
- * @example
48
- * console.log(resolveJsdocProcessorPlugin({}) === void 0);
49
- */
50
- declare function resolveJsdocProcessorPlugin(jsdocModule: Readonly<{
51
- /** Optional exported JSDoc processor factory. */
52
- getJsdocProcessorPlugin?: JsdocProcessorPluginFactory;
53
- }>): JsdocProcessorPluginFactory | undefined;
54
- export { buildTypeScriptExampleConfigs, resolveDisableTypeCheckedRules, resolveJsdocProcessorPlugin, };
55
- export type { Parser, TypeScriptConfigs, TypeScriptPlugin };
56
- //# sourceMappingURL=jsdoc-examples.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsdoc-examples.d.ts","sourceRoot":"","sources":["../../src/docs/jsdoc-examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EACV,MAAM,IAAI,UAAU,EACpB,OAAO,IAAI,qBAAqB,EAChC,MAAM,IAAI,oBAAoB,EAC/B,MAAM,mBAAmB,CAAC;AAI3B,uDAAuD;AACvD,UAAU,mCAAmC;IAC3C,kEAAkE;IAClE,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC;IAE5C,6DAA6D;IAC7D,uBAAuB,EAAE,2BAA2B,GAAG,SAAS,CAAC;IAEjE,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED,0DAA0D;AAC1D,KAAK,2BAA2B,GAAG,OAAO,2BAA2B,CAAC;AAEtE,sDAAsD;AACtD,KAAK,MAAM,GAAG,OAAO,UAAU,CAAC;AAEhC,oCAAoC;AACpC,KAAK,iBAAiB,GAAG,OAAO,qBAAqB,CAAC;AAEtD,4EAA4E;AAC5E,KAAK,gBAAgB,GAAG,OAAO,oBAAoB,CAAC;AAkFpD;;;;;;;;;;GAUG;AACH,iBAAS,6BAA6B,CAAC,EACrC,uBAAuB,EACvB,uBAAuB,EACvB,MAAM,EACN,gBAAgB,GACjB,EAAE,mCAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,CA4BvD;AAgFD;;;;;;GAMG;AACH,iBAAS,8BAA8B,CACrC,iBAAiB,EAAE,iBAAiB,GACnC,MAAM,CAAC,WAAW,CAGpB;AAED;;;;;;GAMG;AACH,iBAAS,2BAA2B,CAClC,WAAW,EAAE,QAAQ,CAAC;IACpB,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,2BAA2B,CAAC;CACvD,CAAC,GACD,2BAA2B,GAAG,SAAS,CAIzC;AAED,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,CAAC;AACF,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,186 +0,0 @@
1
- import { createWrappedJsdocProcessorPlugin } from "./jsdoc-processor.js";
2
- /** TypeScript source files that should run through the JSDoc snippet processor. */
3
- const typeScriptSourceFiles = ["**/*.cts", "**/*.mts", "**/*.ts", "**/*.tsx"];
4
- /** Virtual example files emitted by the upstream JSDoc processor. */
5
- const typeScriptExampleFiles = ["**/*.md/*.js"];
6
- /** Virtual files emitted for JSDoc default-expression checks. */
7
- const typeScriptDefaultExpressionFiles = [
8
- "**/*.jsdoc-defaults",
9
- "**/*.jsdoc-params",
10
- "**/*.jsdoc-properties",
11
- ];
12
- /**
13
- * Build relaxed rules for extracted default-expression snippets.
14
- * @returns The snippet rule overrides.
15
- * @example
16
- * console.log(buildDefaultExpressionSnippetRules());
17
- */
18
- function buildDefaultExpressionSnippetRules() {
19
- return {
20
- ...buildExampleSnippetRules(),
21
- "@stylistic/quotes": ["error", "double"],
22
- "@stylistic/semi": ["error", "never"],
23
- "@typescript-eslint/no-unused-expressions": "off",
24
- "chai-friendly/no-unused-expressions": "off",
25
- "no-empty-function": "off",
26
- "no-new": "off",
27
- "no-unused-expressions": "off",
28
- strict: "off",
29
- };
30
- }
31
- /**
32
- * Build relaxed rules for extracted example snippets.
33
- * @returns The snippet rule overrides.
34
- * @example
35
- * console.log(buildExampleSnippetRules());
36
- */
37
- function buildExampleSnippetRules() {
38
- return {
39
- "@stylistic/eol-last": "off",
40
- "@stylistic/no-multiple-empty-lines": "off",
41
- "@stylistic/padded-blocks": "off",
42
- "@typescript-eslint/no-unused-expressions": "off",
43
- "@typescript-eslint/no-unused-vars": "off",
44
- "chai-friendly/no-unused-expressions": "off",
45
- "import/no-unresolved": "off",
46
- "import/unambiguous": "off",
47
- "jsdoc/require-file-overview": "off",
48
- "jsdoc/require-jsdoc": "off",
49
- "n/no-missing-import": "off",
50
- "n/no-missing-require": "off",
51
- "no-console": "off",
52
- "no-undef": "off",
53
- "no-unused-expressions": "off",
54
- "no-unused-vars": "off",
55
- "node/no-missing-import": "off",
56
- "node/no-missing-require": "off",
57
- };
58
- }
59
- /**
60
- * Build TypeScript-aware processor configs for JSDoc examples and default expressions.
61
- * @param options Config input for the TypeScript snippet support.
62
- * @param options.disableTypeCheckedRules Rule overrides that disable typed-only checks.
63
- * @param options.getJsdocProcessorPlugin Upstream processor factory when present.
64
- * @param options.parser Parser used for host files and snippets.
65
- * @param options.typeScriptPlugin TypeScript ESLint plugin instance.
66
- * @returns The processor and virtual-file configs.
67
- * @example
68
- * console.log(buildTypeScriptExampleConfigs({ disableTypeCheckedRules: {}, getJsdocProcessorPlugin: void 0, parser: {} as Parser, typeScriptPlugin: {} as TypeScriptPlugin }).length);
69
- */
70
- function buildTypeScriptExampleConfigs({ disableTypeCheckedRules, getJsdocProcessorPlugin, parser, typeScriptPlugin, }) {
71
- if (getJsdocProcessorPlugin === void 0) {
72
- return [];
73
- }
74
- return [
75
- buildTypeScriptProcessorConfig(getJsdocProcessorPlugin, parser),
76
- buildTypeScriptSnippetRuleConfig({
77
- files: typeScriptExampleFiles,
78
- name: "jsdoc/typescript-examples/rules",
79
- parser,
80
- rules: {
81
- ...disableTypeCheckedRules,
82
- ...buildExampleSnippetRules(),
83
- },
84
- typeScriptPlugin,
85
- }),
86
- buildTypeScriptSnippetRuleConfig({
87
- files: typeScriptDefaultExpressionFiles,
88
- name: "jsdoc/typescript-default-expressions/rules",
89
- parser,
90
- rules: {
91
- ...disableTypeCheckedRules,
92
- ...buildDefaultExpressionSnippetRules(),
93
- },
94
- typeScriptPlugin,
95
- }),
96
- ];
97
- }
98
- /**
99
- * Build the processor config for TypeScript source files.
100
- * @param getJsdocProcessorPlugin Upstream JSDoc processor factory.
101
- * @param parser Parser used for host TypeScript files.
102
- * @returns The processor-backed ESLint config entry.
103
- * @example
104
- * console.log(buildTypeScriptProcessorConfig(((_config) => ({ processors: { examples: {} } })) as JsdocProcessorPluginFactory, {} as Parser).processor);
105
- */
106
- function buildTypeScriptProcessorConfig(getJsdocProcessorPlugin, parser) {
107
- return {
108
- files: typeScriptSourceFiles,
109
- name: "jsdoc/typescript-examples-and-default-expressions/processor",
110
- plugins: {
111
- examples: createWrappedJsdocProcessorPlugin({
112
- checkDefaults: true,
113
- checkParams: true,
114
- checkProperties: true,
115
- getJsdocProcessorPlugin,
116
- parser,
117
- sourceType: "module",
118
- }),
119
- },
120
- processor: "examples/examples",
121
- };
122
- }
123
- /**
124
- * Build language options for extracted TypeScript snippets.
125
- * @param parser Parser used for snippet files.
126
- * @returns The language options for virtual snippet files.
127
- * @example
128
- * console.log(buildTypeScriptSnippetLanguageOptions({} as Parser).sourceType);
129
- */
130
- function buildTypeScriptSnippetLanguageOptions(parser) {
131
- return {
132
- parser,
133
- parserOptions: {
134
- projectService: false,
135
- },
136
- sourceType: "module",
137
- };
138
- }
139
- /**
140
- * Build a TypeScript snippet rule config for virtual files.
141
- * @param options Config input for the snippet rule block.
142
- * @param options.files Virtual file globs targeted by the config.
143
- * @param options.name Config name shown in ESLint diagnostics.
144
- * @param options.parser Parser used for extracted snippet content.
145
- * @param options.rules Rule overrides applied to the virtual snippet files.
146
- * @param options.typeScriptPlugin TypeScript ESLint plugin instance.
147
- * @returns The ESLint config for the virtual snippet files.
148
- * @example
149
- * console.log(buildTypeScriptSnippetRuleConfig({ files: ["virtual-example-file"], name: "example", parser: {} as Parser, rules: {}, typeScriptPlugin: {} as TypeScriptPlugin }).name);
150
- */
151
- function buildTypeScriptSnippetRuleConfig({ files, name, parser, rules, typeScriptPlugin, }) {
152
- return {
153
- files,
154
- languageOptions: buildTypeScriptSnippetLanguageOptions(parser),
155
- name,
156
- plugins: {
157
- "@typescript-eslint": typeScriptPlugin,
158
- },
159
- rules,
160
- };
161
- }
162
- /**
163
- * Resolve the TypeScript rule overrides that disable typed-only linting for snippets.
164
- * @param typeScriptConfigs The exported TypeScript ESLint config map.
165
- * @returns The disable-type-checked rule overrides.
166
- * @example
167
- * console.log(resolveDisableTypeCheckedRules({ disableTypeChecked: { rules: { example: "off" } } } as TypeScriptConfigs).example);
168
- */
169
- function resolveDisableTypeCheckedRules(typeScriptConfigs) {
170
- return (typeScriptConfigs.disableTypeChecked.rules ??
171
- {});
172
- }
173
- /**
174
- * Resolve the optional processor factory from the JSDoc plugin module.
175
- * @param jsdocModule The loaded JSDoc plugin module.
176
- * @returns The processor factory when the module exports it.
177
- * @example
178
- * console.log(resolveJsdocProcessorPlugin({}) === void 0);
179
- */
180
- function resolveJsdocProcessorPlugin(jsdocModule) {
181
- return "getJsdocProcessorPlugin" in jsdocModule
182
- ? jsdocModule.getJsdocProcessorPlugin
183
- : void 0;
184
- }
185
- export { buildTypeScriptExampleConfigs, resolveDisableTypeCheckedRules, resolveJsdocProcessorPlugin, };
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNkb2MtZXhhbXBsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9jcy9qc2RvYy1leGFtcGxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQStDekUsbUZBQW1GO0FBQ25GLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUU5RSxxRUFBcUU7QUFDckUsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRWhELGlFQUFpRTtBQUNqRSxNQUFNLGdDQUFnQyxHQUFHO0lBQ3ZDLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsdUJBQXVCO0NBQ3hCLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILFNBQVMsa0NBQWtDO0lBQ3pDLE9BQU87UUFDTCxHQUFHLHdCQUF3QixFQUFFO1FBQzdCLG1CQUFtQixFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQztRQUN4QyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDckMsMENBQTBDLEVBQUUsS0FBSztRQUNqRCxxQ0FBcUMsRUFBRSxLQUFLO1FBQzVDLG1CQUFtQixFQUFFLEtBQUs7UUFDMUIsUUFBUSxFQUFFLEtBQUs7UUFDZix1QkFBdUIsRUFBRSxLQUFLO1FBQzlCLE1BQU0sRUFBRSxLQUFLO0tBQ2QsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsd0JBQXdCO0lBQy9CLE9BQU87UUFDTCxxQkFBcUIsRUFBRSxLQUFLO1FBQzVCLG9DQUFvQyxFQUFFLEtBQUs7UUFDM0MsMEJBQTBCLEVBQUUsS0FBSztRQUNqQywwQ0FBMEMsRUFBRSxLQUFLO1FBQ2pELG1DQUFtQyxFQUFFLEtBQUs7UUFDMUMscUNBQXFDLEVBQUUsS0FBSztRQUM1QyxzQkFBc0IsRUFBRSxLQUFLO1FBQzdCLG9CQUFvQixFQUFFLEtBQUs7UUFDM0IsNkJBQTZCLEVBQUUsS0FBSztRQUNwQyxxQkFBcUIsRUFBRSxLQUFLO1FBQzVCLHFCQUFxQixFQUFFLEtBQUs7UUFDNUIsc0JBQXNCLEVBQUUsS0FBSztRQUM3QixZQUFZLEVBQUUsS0FBSztRQUNuQixVQUFVLEVBQUUsS0FBSztRQUNqQix1QkFBdUIsRUFBRSxLQUFLO1FBQzlCLGdCQUFnQixFQUFFLEtBQUs7UUFDdkIsd0JBQXdCLEVBQUUsS0FBSztRQUMvQix5QkFBeUIsRUFBRSxLQUFLO0tBQ2pDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQVMsNkJBQTZCLENBQUMsRUFDckMsdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixNQUFNLEVBQ04sZ0JBQWdCLEdBQ29CO0lBQ3BDLElBQUksdUJBQXVCLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPO1FBQ0wsOEJBQThCLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDO1FBQy9ELGdDQUFnQyxDQUFDO1lBQy9CLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsSUFBSSxFQUFFLGlDQUFpQztZQUN2QyxNQUFNO1lBQ04sS0FBSyxFQUFFO2dCQUNMLEdBQUcsdUJBQXVCO2dCQUMxQixHQUFHLHdCQUF3QixFQUFFO2FBQzlCO1lBQ0QsZ0JBQWdCO1NBQ2pCLENBQUM7UUFDRixnQ0FBZ0MsQ0FBQztZQUMvQixLQUFLLEVBQUUsZ0NBQWdDO1lBQ3ZDLElBQUksRUFBRSw0Q0FBNEM7WUFDbEQsTUFBTTtZQUNOLEtBQUssRUFBRTtnQkFDTCxHQUFHLHVCQUF1QjtnQkFDMUIsR0FBRyxrQ0FBa0MsRUFBRTthQUN4QztZQUNELGdCQUFnQjtTQUNqQixDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBUyw4QkFBOEIsQ0FDckMsdUJBQW9ELEVBQ3BELE1BQWM7SUFFZCxPQUFPO1FBQ0wsS0FBSyxFQUFFLHFCQUFxQjtRQUM1QixJQUFJLEVBQUUsNkRBQTZEO1FBQ25FLE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxpQ0FBaUMsQ0FBQztnQkFDMUMsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixlQUFlLEVBQUUsSUFBSTtnQkFDckIsdUJBQXVCO2dCQUN2QixNQUFNO2dCQUNOLFVBQVUsRUFBRSxRQUFRO2FBQ3JCLENBQUM7U0FDSDtRQUNELFNBQVMsRUFBRSxtQkFBbUI7S0FDL0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLHFDQUFxQyxDQUM1QyxNQUFjO0lBRWQsT0FBTztRQUNMLE1BQU07UUFDTixhQUFhLEVBQUU7WUFDYixjQUFjLEVBQUUsS0FBSztTQUN0QjtRQUNELFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFTLGdDQUFnQyxDQUFDLEVBQ3hDLEtBQUssRUFDTCxJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxnQkFBZ0IsR0FDbUI7SUFDbkMsT0FBTztRQUNMLEtBQUs7UUFDTCxlQUFlLEVBQUUscUNBQXFDLENBQUMsTUFBTSxDQUFDO1FBQzlELElBQUk7UUFDSixPQUFPLEVBQUU7WUFDUCxvQkFBb0IsRUFBRSxnQkFBZ0I7U0FDdkM7UUFDRCxLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLDhCQUE4QixDQUNyQyxpQkFBb0M7SUFFcEMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLEtBQUs7UUFDaEQsRUFBRSxDQUF1QixDQUFDO0FBQzlCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFTLDJCQUEyQixDQUNsQyxXQUdFO0lBRUYsT0FBTyx5QkFBeUIsSUFBSSxXQUFXO1FBQzdDLENBQUMsQ0FBQyxXQUFXLENBQUMsdUJBQXVCO1FBQ3JDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNiLENBQUM7QUFFRCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QiwyQkFBMkIsR0FDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgeyBnZXRKc2RvY1Byb2Nlc3NvclBsdWdpbiBhcyBnZXRKc2RvY1Byb2Nlc3NvclBsdWdpblR5cGUgfSBmcm9tIFwiZXNsaW50LXBsdWdpbi1qc2RvY1wiO1xuaW1wb3J0IHR5cGUge1xuICBwYXJzZXIgYXMgcGFyc2VyVHlwZSxcbiAgY29uZmlncyBhcyB0eXBlU2NyaXB0Q29uZmlnc1R5cGUsXG4gIHBsdWdpbiBhcyB0eXBlU2NyaXB0UGx1Z2luVHlwZSxcbn0gZnJvbSBcInR5cGVzY3JpcHQtZXNsaW50XCI7XG5cbmltcG9ydCB7IGNyZWF0ZVdyYXBwZWRKc2RvY1Byb2Nlc3NvclBsdWdpbiB9IGZyb20gXCIuL2pzZG9jLXByb2Nlc3Nvci5qc1wiO1xuXG4vKiogT3B0aW9ucyBmb3IgYnVpbGRpbmcgVHlwZVNjcmlwdCBleGFtcGxlIGNvbmZpZ3MuICovXG5pbnRlcmZhY2UgQnVpbGRUeXBlU2NyaXB0RXhhbXBsZUNvbmZpZ09wdGlvbnMge1xuICAvKiogUnVsZSBvdmVycmlkZXMgdGhhdCBkaXNhYmxlIHR5cGVkLW9ubHkgY2hlY2tzIGZvciBzbmlwcGV0cy4gKi9cbiAgZGlzYWJsZVR5cGVDaGVja2VkUnVsZXM6IExpbnRlci5SdWxlc1JlY29yZDtcblxuICAvKiogVXBzdHJlYW0gcHJvY2Vzc29yIGZhY3Rvcnkgd2hlbiB0aGUgcGx1Z2luIGV4cG9ydHMgaXQuICovXG4gIGdldEpzZG9jUHJvY2Vzc29yUGx1Z2luOiBKc2RvY1Byb2Nlc3NvclBsdWdpbkZhY3RvcnkgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIFBhcnNlciB1c2VkIGZvciBob3N0IGZpbGVzIGFuZCBzbmlwcGV0IGZpbGVzLiAqL1xuICBwYXJzZXI6IFBhcnNlcjtcblxuICAvKiogVHlwZVNjcmlwdCBFU0xpbnQgcGx1Z2luIHVzZWQgYnkgdGhlIHZpcnR1YWwgc25pcHBldCBjb25maWdzLiAqL1xuICB0eXBlU2NyaXB0UGx1Z2luOiBUeXBlU2NyaXB0UGx1Z2luO1xufVxuXG4vKiogRnVuY3Rpb24gc2lnbmF0dXJlIGZvciB0aGUgSlNEb2MgcHJvY2Vzc29yIGZhY3RvcnkuICovXG50eXBlIEpzZG9jUHJvY2Vzc29yUGx1Z2luRmFjdG9yeSA9IHR5cGVvZiBnZXRKc2RvY1Byb2Nlc3NvclBsdWdpblR5cGU7XG5cbi8qKiBQYXJzZXIgYWNjZXB0ZWQgYnkgdGhlIEpTRG9jIGV4YW1wbGUgcHJvY2Vzc29yLiAqL1xudHlwZSBQYXJzZXIgPSB0eXBlb2YgcGFyc2VyVHlwZTtcblxuLyoqIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZyBtYXAuICovXG50eXBlIFR5cGVTY3JpcHRDb25maWdzID0gdHlwZW9mIHR5cGVTY3JpcHRDb25maWdzVHlwZTtcblxuLyoqIFR5cGVTY3JpcHQgRVNMaW50IHBsdWdpbiBpbnN0YW5jZSB1c2VkIGZvciBzbmlwcGV0LW9ubHkgcnVsZSBjb25maWdzLiAqL1xudHlwZSBUeXBlU2NyaXB0UGx1Z2luID0gdHlwZW9mIHR5cGVTY3JpcHRQbHVnaW5UeXBlO1xuXG4vKiogT3B0aW9ucyBmb3IgYSBUeXBlU2NyaXB0IHZpcnR1YWwgc25pcHBldCBydWxlIGNvbmZpZy4gKi9cbmludGVyZmFjZSBUeXBlU2NyaXB0U25pcHBldFJ1bGVDb25maWdPcHRpb25zIHtcbiAgLyoqIFZpcnR1YWwgZmlsZSBnbG9icyB0YXJnZXRlZCBieSB0aGUgY29uZmlnLiAqL1xuICBmaWxlczogc3RyaW5nW107XG5cbiAgLyoqIENvbmZpZyBuYW1lIHNob3duIGluIEVTTGludCBkaWFnbm9zdGljcy4gKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBQYXJzZXIgdXNlZCBmb3IgdGhlIGV4dHJhY3RlZCBzbmlwcGV0IGNvbnRlbnQuICovXG4gIHBhcnNlcjogUGFyc2VyO1xuXG4gIC8qKiBSdWxlIG92ZXJyaWRlcyBhcHBsaWVkIHRvIHRoZSBleHRyYWN0ZWQgc25pcHBldCBmaWxlcy4gKi9cbiAgcnVsZXM6IExpbnRlci5SdWxlc1JlY29yZDtcblxuICAvKiogVHlwZVNjcmlwdCBFU0xpbnQgcGx1Z2luIGluc3RhbmNlLiAqL1xuICB0eXBlU2NyaXB0UGx1Z2luOiBUeXBlU2NyaXB0UGx1Z2luO1xufVxuXG4vKiogVHlwZVNjcmlwdCBzb3VyY2UgZmlsZXMgdGhhdCBzaG91bGQgcnVuIHRocm91Z2ggdGhlIEpTRG9jIHNuaXBwZXQgcHJvY2Vzc29yLiAqL1xuY29uc3QgdHlwZVNjcmlwdFNvdXJjZUZpbGVzID0gW1wiKiovKi5jdHNcIiwgXCIqKi8qLm10c1wiLCBcIioqLyoudHNcIiwgXCIqKi8qLnRzeFwiXTtcblxuLyoqIFZpcnR1YWwgZXhhbXBsZSBmaWxlcyBlbWl0dGVkIGJ5IHRoZSB1cHN0cmVhbSBKU0RvYyBwcm9jZXNzb3IuICovXG5jb25zdCB0eXBlU2NyaXB0RXhhbXBsZUZpbGVzID0gW1wiKiovKi5tZC8qLmpzXCJdO1xuXG4vKiogVmlydHVhbCBmaWxlcyBlbWl0dGVkIGZvciBKU0RvYyBkZWZhdWx0LWV4cHJlc3Npb24gY2hlY2tzLiAqL1xuY29uc3QgdHlwZVNjcmlwdERlZmF1bHRFeHByZXNzaW9uRmlsZXMgPSBbXG4gIFwiKiovKi5qc2RvYy1kZWZhdWx0c1wiLFxuICBcIioqLyouanNkb2MtcGFyYW1zXCIsXG4gIFwiKiovKi5qc2RvYy1wcm9wZXJ0aWVzXCIsXG5dO1xuXG4vKipcbiAqIEJ1aWxkIHJlbGF4ZWQgcnVsZXMgZm9yIGV4dHJhY3RlZCBkZWZhdWx0LWV4cHJlc3Npb24gc25pcHBldHMuXG4gKiBAcmV0dXJucyBUaGUgc25pcHBldCBydWxlIG92ZXJyaWRlcy5cbiAqIEBleGFtcGxlXG4gKiBjb25zb2xlLmxvZyhidWlsZERlZmF1bHRFeHByZXNzaW9uU25pcHBldFJ1bGVzKCkpO1xuICovXG5mdW5jdGlvbiBidWlsZERlZmF1bHRFeHByZXNzaW9uU25pcHBldFJ1bGVzKCk6IExpbnRlci5SdWxlc1JlY29yZCB7XG4gIHJldHVybiB7XG4gICAgLi4uYnVpbGRFeGFtcGxlU25pcHBldFJ1bGVzKCksXG4gICAgXCJAc3R5bGlzdGljL3F1b3Rlc1wiOiBbXCJlcnJvclwiLCBcImRvdWJsZVwiXSxcbiAgICBcIkBzdHlsaXN0aWMvc2VtaVwiOiBbXCJlcnJvclwiLCBcIm5ldmVyXCJdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1wiOiBcIm9mZlwiLFxuICAgIFwiY2hhaS1mcmllbmRseS9uby11bnVzZWQtZXhwcmVzc2lvbnNcIjogXCJvZmZcIixcbiAgICBcIm5vLWVtcHR5LWZ1bmN0aW9uXCI6IFwib2ZmXCIsXG4gICAgXCJuby1uZXdcIjogXCJvZmZcIixcbiAgICBcIm5vLXVudXNlZC1leHByZXNzaW9uc1wiOiBcIm9mZlwiLFxuICAgIHN0cmljdDogXCJvZmZcIixcbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZCByZWxheGVkIHJ1bGVzIGZvciBleHRyYWN0ZWQgZXhhbXBsZSBzbmlwcGV0cy5cbiAqIEByZXR1cm5zIFRoZSBzbmlwcGV0IHJ1bGUgb3ZlcnJpZGVzLlxuICogQGV4YW1wbGVcbiAqIGNvbnNvbGUubG9nKGJ1aWxkRXhhbXBsZVNuaXBwZXRSdWxlcygpKTtcbiAqL1xuZnVuY3Rpb24gYnVpbGRFeGFtcGxlU25pcHBldFJ1bGVzKCk6IExpbnRlci5SdWxlc1JlY29yZCB7XG4gIHJldHVybiB7XG4gICAgXCJAc3R5bGlzdGljL2VvbC1sYXN0XCI6IFwib2ZmXCIsXG4gICAgXCJAc3R5bGlzdGljL25vLW11bHRpcGxlLWVtcHR5LWxpbmVzXCI6IFwib2ZmXCIsXG4gICAgXCJAc3R5bGlzdGljL3BhZGRlZC1ibG9ja3NcIjogXCJvZmZcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcIjogXCJvZmZcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1wiOiBcIm9mZlwiLFxuICAgIFwiY2hhaS1mcmllbmRseS9uby11bnVzZWQtZXhwcmVzc2lvbnNcIjogXCJvZmZcIixcbiAgICBcImltcG9ydC9uby11bnJlc29sdmVkXCI6IFwib2ZmXCIsXG4gICAgXCJpbXBvcnQvdW5hbWJpZ3VvdXNcIjogXCJvZmZcIixcbiAgICBcImpzZG9jL3JlcXVpcmUtZmlsZS1vdmVydmlld1wiOiBcIm9mZlwiLFxuICAgIFwianNkb2MvcmVxdWlyZS1qc2RvY1wiOiBcIm9mZlwiLFxuICAgIFwibi9uby1taXNzaW5nLWltcG9ydFwiOiBcIm9mZlwiLFxuICAgIFwibi9uby1taXNzaW5nLXJlcXVpcmVcIjogXCJvZmZcIixcbiAgICBcIm5vLWNvbnNvbGVcIjogXCJvZmZcIixcbiAgICBcIm5vLXVuZGVmXCI6IFwib2ZmXCIsXG4gICAgXCJuby11bnVzZWQtZXhwcmVzc2lvbnNcIjogXCJvZmZcIixcbiAgICBcIm5vLXVudXNlZC12YXJzXCI6IFwib2ZmXCIsXG4gICAgXCJub2RlL25vLW1pc3NpbmctaW1wb3J0XCI6IFwib2ZmXCIsXG4gICAgXCJub2RlL25vLW1pc3NpbmctcmVxdWlyZVwiOiBcIm9mZlwiLFxuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkIFR5cGVTY3JpcHQtYXdhcmUgcHJvY2Vzc29yIGNvbmZpZ3MgZm9yIEpTRG9jIGV4YW1wbGVzIGFuZCBkZWZhdWx0IGV4cHJlc3Npb25zLlxuICogQHBhcmFtIG9wdGlvbnMgQ29uZmlnIGlucHV0IGZvciB0aGUgVHlwZVNjcmlwdCBzbmlwcGV0IHN1cHBvcnQuXG4gKiBAcGFyYW0gb3B0aW9ucy5kaXNhYmxlVHlwZUNoZWNrZWRSdWxlcyBSdWxlIG92ZXJyaWRlcyB0aGF0IGRpc2FibGUgdHlwZWQtb25seSBjaGVja3MuXG4gKiBAcGFyYW0gb3B0aW9ucy5nZXRKc2RvY1Byb2Nlc3NvclBsdWdpbiBVcHN0cmVhbSBwcm9jZXNzb3IgZmFjdG9yeSB3aGVuIHByZXNlbnQuXG4gKiBAcGFyYW0gb3B0aW9ucy5wYXJzZXIgUGFyc2VyIHVzZWQgZm9yIGhvc3QgZmlsZXMgYW5kIHNuaXBwZXRzLlxuICogQHBhcmFtIG9wdGlvbnMudHlwZVNjcmlwdFBsdWdpbiBUeXBlU2NyaXB0IEVTTGludCBwbHVnaW4gaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgcHJvY2Vzc29yIGFuZCB2aXJ0dWFsLWZpbGUgY29uZmlncy5cbiAqIEBleGFtcGxlXG4gKiBjb25zb2xlLmxvZyhidWlsZFR5cGVTY3JpcHRFeGFtcGxlQ29uZmlncyh7IGRpc2FibGVUeXBlQ2hlY2tlZFJ1bGVzOiB7fSwgZ2V0SnNkb2NQcm9jZXNzb3JQbHVnaW46IHZvaWQgMCwgcGFyc2VyOiB7fSBhcyBQYXJzZXIsIHR5cGVTY3JpcHRQbHVnaW46IHt9IGFzIFR5cGVTY3JpcHRQbHVnaW4gfSkubGVuZ3RoKTtcbiAqL1xuZnVuY3Rpb24gYnVpbGRUeXBlU2NyaXB0RXhhbXBsZUNvbmZpZ3Moe1xuICBkaXNhYmxlVHlwZUNoZWNrZWRSdWxlcyxcbiAgZ2V0SnNkb2NQcm9jZXNzb3JQbHVnaW4sXG4gIHBhcnNlcixcbiAgdHlwZVNjcmlwdFBsdWdpbixcbn06IEJ1aWxkVHlwZVNjcmlwdEV4YW1wbGVDb25maWdPcHRpb25zKTogTGludGVyLkNvbmZpZ1tdIHtcbiAgaWYgKGdldEpzZG9jUHJvY2Vzc29yUGx1Z2luID09PSB2b2lkIDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICByZXR1cm4gW1xuICAgIGJ1aWxkVHlwZVNjcmlwdFByb2Nlc3NvckNvbmZpZyhnZXRKc2RvY1Byb2Nlc3NvclBsdWdpbiwgcGFyc2VyKSxcbiAgICBidWlsZFR5cGVTY3JpcHRTbmlwcGV0UnVsZUNvbmZpZyh7XG4gICAgICBmaWxlczogdHlwZVNjcmlwdEV4YW1wbGVGaWxlcyxcbiAgICAgIG5hbWU6IFwianNkb2MvdHlwZXNjcmlwdC1leGFtcGxlcy9ydWxlc1wiLFxuICAgICAgcGFyc2VyLFxuICAgICAgcnVsZXM6IHtcbiAgICAgICAgLi4uZGlzYWJsZVR5cGVDaGVja2VkUnVsZXMsXG4gICAgICAgIC4uLmJ1aWxkRXhhbXBsZVNuaXBwZXRSdWxlcygpLFxuICAgICAgfSxcbiAgICAgIHR5cGVTY3JpcHRQbHVnaW4sXG4gICAgfSksXG4gICAgYnVpbGRUeXBlU2NyaXB0U25pcHBldFJ1bGVDb25maWcoe1xuICAgICAgZmlsZXM6IHR5cGVTY3JpcHREZWZhdWx0RXhwcmVzc2lvbkZpbGVzLFxuICAgICAgbmFtZTogXCJqc2RvYy90eXBlc2NyaXB0LWRlZmF1bHQtZXhwcmVzc2lvbnMvcnVsZXNcIixcbiAgICAgIHBhcnNlcixcbiAgICAgIHJ1bGVzOiB7XG4gICAgICAgIC4uLmRpc2FibGVUeXBlQ2hlY2tlZFJ1bGVzLFxuICAgICAgICAuLi5idWlsZERlZmF1bHRFeHByZXNzaW9uU25pcHBldFJ1bGVzKCksXG4gICAgICB9LFxuICAgICAgdHlwZVNjcmlwdFBsdWdpbixcbiAgICB9KSxcbiAgXTtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgcHJvY2Vzc29yIGNvbmZpZyBmb3IgVHlwZVNjcmlwdCBzb3VyY2UgZmlsZXMuXG4gKiBAcGFyYW0gZ2V0SnNkb2NQcm9jZXNzb3JQbHVnaW4gVXBzdHJlYW0gSlNEb2MgcHJvY2Vzc29yIGZhY3RvcnkuXG4gKiBAcGFyYW0gcGFyc2VyIFBhcnNlciB1c2VkIGZvciBob3N0IFR5cGVTY3JpcHQgZmlsZXMuXG4gKiBAcmV0dXJucyBUaGUgcHJvY2Vzc29yLWJhY2tlZCBFU0xpbnQgY29uZmlnIGVudHJ5LlxuICogQGV4YW1wbGVcbiAqIGNvbnNvbGUubG9nKGJ1aWxkVHlwZVNjcmlwdFByb2Nlc3NvckNvbmZpZygoKF9jb25maWcpID0+ICh7IHByb2Nlc3NvcnM6IHsgZXhhbXBsZXM6IHt9IH0gfSkpIGFzIEpzZG9jUHJvY2Vzc29yUGx1Z2luRmFjdG9yeSwge30gYXMgUGFyc2VyKS5wcm9jZXNzb3IpO1xuICovXG5mdW5jdGlvbiBidWlsZFR5cGVTY3JpcHRQcm9jZXNzb3JDb25maWcoXG4gIGdldEpzZG9jUHJvY2Vzc29yUGx1Z2luOiBKc2RvY1Byb2Nlc3NvclBsdWdpbkZhY3RvcnksXG4gIHBhcnNlcjogUGFyc2VyLFxuKTogTGludGVyLkNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgZmlsZXM6IHR5cGVTY3JpcHRTb3VyY2VGaWxlcyxcbiAgICBuYW1lOiBcImpzZG9jL3R5cGVzY3JpcHQtZXhhbXBsZXMtYW5kLWRlZmF1bHQtZXhwcmVzc2lvbnMvcHJvY2Vzc29yXCIsXG4gICAgcGx1Z2luczoge1xuICAgICAgZXhhbXBsZXM6IGNyZWF0ZVdyYXBwZWRKc2RvY1Byb2Nlc3NvclBsdWdpbih7XG4gICAgICAgIGNoZWNrRGVmYXVsdHM6IHRydWUsXG4gICAgICAgIGNoZWNrUGFyYW1zOiB0cnVlLFxuICAgICAgICBjaGVja1Byb3BlcnRpZXM6IHRydWUsXG4gICAgICAgIGdldEpzZG9jUHJvY2Vzc29yUGx1Z2luLFxuICAgICAgICBwYXJzZXIsXG4gICAgICAgIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsXG4gICAgICB9KSxcbiAgICB9LFxuICAgIHByb2Nlc3NvcjogXCJleGFtcGxlcy9leGFtcGxlc1wiLFxuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkIGxhbmd1YWdlIG9wdGlvbnMgZm9yIGV4dHJhY3RlZCBUeXBlU2NyaXB0IHNuaXBwZXRzLlxuICogQHBhcmFtIHBhcnNlciBQYXJzZXIgdXNlZCBmb3Igc25pcHBldCBmaWxlcy5cbiAqIEByZXR1cm5zIFRoZSBsYW5ndWFnZSBvcHRpb25zIGZvciB2aXJ0dWFsIHNuaXBwZXQgZmlsZXMuXG4gKiBAZXhhbXBsZVxuICogY29uc29sZS5sb2coYnVpbGRUeXBlU2NyaXB0U25pcHBldExhbmd1YWdlT3B0aW9ucyh7fSBhcyBQYXJzZXIpLnNvdXJjZVR5cGUpO1xuICovXG5mdW5jdGlvbiBidWlsZFR5cGVTY3JpcHRTbmlwcGV0TGFuZ3VhZ2VPcHRpb25zKFxuICBwYXJzZXI6IFBhcnNlcixcbik6IE5vbk51bGxhYmxlPExpbnRlci5Db25maWdbXCJsYW5ndWFnZU9wdGlvbnNcIl0+IHtcbiAgcmV0dXJuIHtcbiAgICBwYXJzZXIsXG4gICAgcGFyc2VyT3B0aW9uczoge1xuICAgICAgcHJvamVjdFNlcnZpY2U6IGZhbHNlLFxuICAgIH0sXG4gICAgc291cmNlVHlwZTogXCJtb2R1bGVcIixcbiAgfTtcbn1cblxuLyoqXG4gKiBCdWlsZCBhIFR5cGVTY3JpcHQgc25pcHBldCBydWxlIGNvbmZpZyBmb3IgdmlydHVhbCBmaWxlcy5cbiAqIEBwYXJhbSBvcHRpb25zIENvbmZpZyBpbnB1dCBmb3IgdGhlIHNuaXBwZXQgcnVsZSBibG9jay5cbiAqIEBwYXJhbSBvcHRpb25zLmZpbGVzIFZpcnR1YWwgZmlsZSBnbG9icyB0YXJnZXRlZCBieSB0aGUgY29uZmlnLlxuICogQHBhcmFtIG9wdGlvbnMubmFtZSBDb25maWcgbmFtZSBzaG93biBpbiBFU0xpbnQgZGlhZ25vc3RpY3MuXG4gKiBAcGFyYW0gb3B0aW9ucy5wYXJzZXIgUGFyc2VyIHVzZWQgZm9yIGV4dHJhY3RlZCBzbmlwcGV0IGNvbnRlbnQuXG4gKiBAcGFyYW0gb3B0aW9ucy5ydWxlcyBSdWxlIG92ZXJyaWRlcyBhcHBsaWVkIHRvIHRoZSB2aXJ0dWFsIHNuaXBwZXQgZmlsZXMuXG4gKiBAcGFyYW0gb3B0aW9ucy50eXBlU2NyaXB0UGx1Z2luIFR5cGVTY3JpcHQgRVNMaW50IHBsdWdpbiBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBFU0xpbnQgY29uZmlnIGZvciB0aGUgdmlydHVhbCBzbmlwcGV0IGZpbGVzLlxuICogQGV4YW1wbGVcbiAqIGNvbnNvbGUubG9nKGJ1aWxkVHlwZVNjcmlwdFNuaXBwZXRSdWxlQ29uZmlnKHsgZmlsZXM6IFtcInZpcnR1YWwtZXhhbXBsZS1maWxlXCJdLCBuYW1lOiBcImV4YW1wbGVcIiwgcGFyc2VyOiB7fSBhcyBQYXJzZXIsIHJ1bGVzOiB7fSwgdHlwZVNjcmlwdFBsdWdpbjoge30gYXMgVHlwZVNjcmlwdFBsdWdpbiB9KS5uYW1lKTtcbiAqL1xuZnVuY3Rpb24gYnVpbGRUeXBlU2NyaXB0U25pcHBldFJ1bGVDb25maWcoe1xuICBmaWxlcyxcbiAgbmFtZSxcbiAgcGFyc2VyLFxuICBydWxlcyxcbiAgdHlwZVNjcmlwdFBsdWdpbixcbn06IFR5cGVTY3JpcHRTbmlwcGV0UnVsZUNvbmZpZ09wdGlvbnMpOiBMaW50ZXIuQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBmaWxlcyxcbiAgICBsYW5ndWFnZU9wdGlvbnM6IGJ1aWxkVHlwZVNjcmlwdFNuaXBwZXRMYW5ndWFnZU9wdGlvbnMocGFyc2VyKSxcbiAgICBuYW1lLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50XCI6IHR5cGVTY3JpcHRQbHVnaW4sXG4gICAgfSxcbiAgICBydWxlcyxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBUeXBlU2NyaXB0IHJ1bGUgb3ZlcnJpZGVzIHRoYXQgZGlzYWJsZSB0eXBlZC1vbmx5IGxpbnRpbmcgZm9yIHNuaXBwZXRzLlxuICogQHBhcmFtIHR5cGVTY3JpcHRDb25maWdzIFRoZSBleHBvcnRlZCBUeXBlU2NyaXB0IEVTTGludCBjb25maWcgbWFwLlxuICogQHJldHVybnMgVGhlIGRpc2FibGUtdHlwZS1jaGVja2VkIHJ1bGUgb3ZlcnJpZGVzLlxuICogQGV4YW1wbGVcbiAqIGNvbnNvbGUubG9nKHJlc29sdmVEaXNhYmxlVHlwZUNoZWNrZWRSdWxlcyh7IGRpc2FibGVUeXBlQ2hlY2tlZDogeyBydWxlczogeyBleGFtcGxlOiBcIm9mZlwiIH0gfSB9IGFzIFR5cGVTY3JpcHRDb25maWdzKS5leGFtcGxlKTtcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZURpc2FibGVUeXBlQ2hlY2tlZFJ1bGVzKFxuICB0eXBlU2NyaXB0Q29uZmlnczogVHlwZVNjcmlwdENvbmZpZ3MsXG4pOiBMaW50ZXIuUnVsZXNSZWNvcmQge1xuICByZXR1cm4gKHR5cGVTY3JpcHRDb25maWdzLmRpc2FibGVUeXBlQ2hlY2tlZC5ydWxlcyA/P1xuICAgIHt9KSBhcyBMaW50ZXIuUnVsZXNSZWNvcmQ7XG59XG5cbi8qKlxuICogUmVzb2x2ZSB0aGUgb3B0aW9uYWwgcHJvY2Vzc29yIGZhY3RvcnkgZnJvbSB0aGUgSlNEb2MgcGx1Z2luIG1vZHVsZS5cbiAqIEBwYXJhbSBqc2RvY01vZHVsZSBUaGUgbG9hZGVkIEpTRG9jIHBsdWdpbiBtb2R1bGUuXG4gKiBAcmV0dXJucyBUaGUgcHJvY2Vzc29yIGZhY3Rvcnkgd2hlbiB0aGUgbW9kdWxlIGV4cG9ydHMgaXQuXG4gKiBAZXhhbXBsZVxuICogY29uc29sZS5sb2cocmVzb2x2ZUpzZG9jUHJvY2Vzc29yUGx1Z2luKHt9KSA9PT0gdm9pZCAwKTtcbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZUpzZG9jUHJvY2Vzc29yUGx1Z2luKFxuICBqc2RvY01vZHVsZTogUmVhZG9ubHk8e1xuICAgIC8qKiBPcHRpb25hbCBleHBvcnRlZCBKU0RvYyBwcm9jZXNzb3IgZmFjdG9yeS4gKi9cbiAgICBnZXRKc2RvY1Byb2Nlc3NvclBsdWdpbj86IEpzZG9jUHJvY2Vzc29yUGx1Z2luRmFjdG9yeTtcbiAgfT4sXG4pOiBKc2RvY1Byb2Nlc3NvclBsdWdpbkZhY3RvcnkgfCB1bmRlZmluZWQge1xuICByZXR1cm4gXCJnZXRKc2RvY1Byb2Nlc3NvclBsdWdpblwiIGluIGpzZG9jTW9kdWxlXG4gICAgPyBqc2RvY01vZHVsZS5nZXRKc2RvY1Byb2Nlc3NvclBsdWdpblxuICAgIDogdm9pZCAwO1xufVxuXG5leHBvcnQge1xuICBidWlsZFR5cGVTY3JpcHRFeGFtcGxlQ29uZmlncyxcbiAgcmVzb2x2ZURpc2FibGVUeXBlQ2hlY2tlZFJ1bGVzLFxuICByZXNvbHZlSnNkb2NQcm9jZXNzb3JQbHVnaW4sXG59O1xuZXhwb3J0IHR5cGUgeyBQYXJzZXIsIFR5cGVTY3JpcHRDb25maWdzLCBUeXBlU2NyaXB0UGx1Z2luIH07XG4iXX0=