@boehringer-ingelheim/eslint-config 9.5.0-typescript-migration.2 → 9.5.0-typescript-migration.4

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 (101) hide show
  1. package/dist/configs/base.d.ts +3 -0
  2. package/dist/configs/base.d.ts.map +1 -0
  3. package/dist/configs/base.js +127 -0
  4. package/dist/configs/base.js.map +1 -0
  5. package/dist/configs/experimental-naming-convention.d.ts +3 -0
  6. package/dist/configs/experimental-naming-convention.d.ts.map +1 -0
  7. package/dist/configs/experimental-naming-convention.js +70 -0
  8. package/dist/configs/experimental-naming-convention.js.map +1 -0
  9. package/dist/configs/local.d.ts +3 -0
  10. package/dist/configs/local.d.ts.map +1 -0
  11. package/dist/configs/local.js +16 -0
  12. package/dist/configs/local.js.map +1 -0
  13. package/dist/configs/nextjs.d.ts +3 -0
  14. package/dist/configs/nextjs.d.ts.map +1 -0
  15. package/dist/configs/nextjs.js +124 -0
  16. package/dist/configs/nextjs.js.map +1 -0
  17. package/dist/configs/playwright.d.ts +3 -0
  18. package/dist/configs/playwright.d.ts.map +1 -0
  19. package/dist/configs/playwright.js +28 -0
  20. package/dist/configs/playwright.js.map +1 -0
  21. package/dist/configs/prettier-disable.d.ts +3 -0
  22. package/dist/configs/prettier-disable.d.ts.map +1 -0
  23. package/dist/configs/prettier-disable.js +12 -0
  24. package/dist/configs/prettier-disable.js.map +1 -0
  25. package/dist/configs/react.d.ts +3 -0
  26. package/dist/configs/react.d.ts.map +1 -0
  27. package/dist/configs/react.js +107 -0
  28. package/dist/configs/react.js.map +1 -0
  29. package/dist/configs/strict.d.ts +3 -0
  30. package/dist/configs/strict.d.ts.map +1 -0
  31. package/dist/configs/strict.js +26 -0
  32. package/dist/configs/strict.js.map +1 -0
  33. package/dist/lib/eslint-plugin-perfectionist.d.ts +30 -0
  34. package/dist/lib/eslint-plugin-perfectionist.d.ts.map +1 -0
  35. package/dist/lib/eslint-plugin-perfectionist.js +81 -0
  36. package/dist/lib/eslint-plugin-perfectionist.js.map +1 -0
  37. package/dist/lib/{include-ignore-file.d.cts → include-ignore-file.d.ts} +2 -7
  38. package/dist/lib/include-ignore-file.d.ts.map +1 -0
  39. package/dist/lib/include-ignore-file.js +26 -0
  40. package/dist/lib/include-ignore-file.js.map +1 -0
  41. package/dist/lib/nextjs.utils.d.ts +11 -0
  42. package/dist/lib/nextjs.utils.d.ts.map +1 -0
  43. package/dist/lib/nextjs.utils.js +24 -0
  44. package/dist/lib/nextjs.utils.js.map +1 -0
  45. package/dist/main.d.ts +26 -0
  46. package/dist/main.d.ts.map +1 -0
  47. package/dist/main.js +29 -0
  48. package/dist/main.js.map +1 -0
  49. package/package.json +16 -15
  50. package/dist/_virtual/_rolldown/runtime.cjs +0 -23
  51. package/dist/configs/base.cjs +0 -84
  52. package/dist/configs/base.mjs +0 -80
  53. package/dist/configs/base.mjs.map +0 -1
  54. package/dist/configs/experimental-naming-convention.cjs +0 -69
  55. package/dist/configs/experimental-naming-convention.mjs +0 -71
  56. package/dist/configs/experimental-naming-convention.mjs.map +0 -1
  57. package/dist/configs/local.cjs +0 -13
  58. package/dist/configs/local.mjs +0 -13
  59. package/dist/configs/local.mjs.map +0 -1
  60. package/dist/configs/nextjs.cjs +0 -58
  61. package/dist/configs/nextjs.mjs +0 -58
  62. package/dist/configs/nextjs.mjs.map +0 -1
  63. package/dist/configs/playwright.cjs +0 -29
  64. package/dist/configs/playwright.mjs +0 -29
  65. package/dist/configs/playwright.mjs.map +0 -1
  66. package/dist/configs/prettier-disable.cjs +0 -14
  67. package/dist/configs/prettier-disable.mjs +0 -14
  68. package/dist/configs/prettier-disable.mjs.map +0 -1
  69. package/dist/configs/react.cjs +0 -76
  70. package/dist/configs/react.mjs +0 -72
  71. package/dist/configs/react.mjs.map +0 -1
  72. package/dist/configs/strict.cjs +0 -19
  73. package/dist/configs/strict.mjs +0 -19
  74. package/dist/configs/strict.mjs.map +0 -1
  75. package/dist/lib/eslint-plugin-perfectionist.cjs +0 -83
  76. package/dist/lib/eslint-plugin-perfectionist.mjs +0 -82
  77. package/dist/lib/eslint-plugin-perfectionist.mjs.map +0 -1
  78. package/dist/lib/include-ignore-file.cjs +0 -21
  79. package/dist/lib/include-ignore-file.d.cts.map +0 -1
  80. package/dist/lib/include-ignore-file.d.mts +0 -15
  81. package/dist/lib/include-ignore-file.d.mts.map +0 -1
  82. package/dist/lib/include-ignore-file.mjs +0 -21
  83. package/dist/lib/include-ignore-file.mjs.map +0 -1
  84. package/dist/lib/nextjs.utils.cjs +0 -23
  85. package/dist/lib/nextjs.utils.mjs +0 -25
  86. package/dist/lib/nextjs.utils.mjs.map +0 -1
  87. package/dist/main.cjs +0 -32
  88. package/dist/main.d.cts +0 -31
  89. package/dist/main.d.cts.map +0 -1
  90. package/dist/main.d.mts +0 -31
  91. package/dist/main.d.mts.map +0 -1
  92. package/dist/main.mjs +0 -28
  93. package/dist/main.mjs.map +0 -1
  94. package/dist/node_modules/@eslint/core/dist/esm/types.d.cts +0 -1103
  95. package/dist/node_modules/@eslint/core/dist/esm/types.d.cts.map +0 -1
  96. package/dist/node_modules/@eslint/core/dist/esm/types.d.mts +0 -1103
  97. package/dist/node_modules/@eslint/core/dist/esm/types.d.mts.map +0 -1
  98. package/dist/node_modules/@types/json-schema/index.d.cts +0 -201
  99. package/dist/node_modules/@types/json-schema/index.d.cts.map +0 -1
  100. package/dist/node_modules/@types/json-schema/index.d.mts +0 -201
  101. package/dist/node_modules/@types/json-schema/index.d.mts.map +0 -1
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":";AAaA,wBAkIE"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const js_1 = require("@eslint/js");
4
+ const eslint_plugin_import_1 = require("eslint-plugin-import");
5
+ const eslint_plugin_perfectionist_1 = require("eslint-plugin-perfectionist");
6
+ const eslint_plugin_sonarjs_1 = require("eslint-plugin-sonarjs");
7
+ const config_1 = require("eslint/config");
8
+ const typescript_eslint_1 = require("typescript-eslint");
9
+ const eslint_plugin_perfectionist_js_1 = require("../lib/eslint-plugin-perfectionist.js");
10
+ exports.default = (0, config_1.defineConfig)(js_1.default.configs.recommended, typescript_eslint_1.default.configs.recommendedTypeChecked, typescript_eslint_1.default.configs.stylisticTypeChecked, eslint_plugin_import_1.default.flatConfigs.recommended, eslint_plugin_import_1.default.flatConfigs.typescript, eslint_plugin_perfectionist_1.default.configs['recommended-natural'], eslint_plugin_sonarjs_1.default.configs.recommended, {
11
+ languageOptions: {
12
+ parserOptions: {
13
+ // find the tsconfig.json nearest each source file
14
+ projectService: true,
15
+ },
16
+ },
17
+ linterOptions: {
18
+ reportUnusedDisableDirectives: 'error',
19
+ },
20
+ rules: {
21
+ // @typescript-eslint: https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules
22
+ '@typescript-eslint/adjacent-overload-signatures': 'off', // disabled due to conflict with eslint-plugin-perfectionist
23
+ '@typescript-eslint/no-floating-promises': ['error', { ignoreVoid: true }],
24
+ '@typescript-eslint/no-misused-promises': [
25
+ 'error',
26
+ {
27
+ checksVoidReturn: false,
28
+ },
29
+ ],
30
+ '@typescript-eslint/no-unused-vars': [
31
+ 'error',
32
+ {
33
+ argsIgnorePattern: '^_',
34
+ caughtErrorsIgnorePattern: '^_',
35
+ varsIgnorePattern: '^_',
36
+ },
37
+ ],
38
+ '@typescript-eslint/sort-type-constituents': 'off', // disabled due to conflict with eslint-plugin-perfectionist
39
+ // eslint: https://github.com/eslint/eslint/tree/main/lib/rules
40
+ '@typescript-eslint/dot-notation': ['error', { allowPattern: '^[a-z]+(_[a-z]+)+$' }],
41
+ 'arrow-body-style': ['error', 'as-needed'],
42
+ camelcase: 'warn',
43
+ curly: 'error',
44
+ 'default-case': 'error',
45
+ eqeqeq: 'error',
46
+ 'logical-assignment-operators': ['error', 'never'],
47
+ 'no-console': ['warn', { allow: ['warn', 'error'] }],
48
+ 'no-else-return': ['error', { allowElseIf: false }],
49
+ 'no-lonely-if': 'error',
50
+ 'no-negated-condition': 'error',
51
+ 'no-nested-ternary': 'error',
52
+ 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }],
53
+ 'no-unneeded-ternary': 'error',
54
+ 'no-useless-concat': 'error',
55
+ 'operator-assignment': ['error', 'never'],
56
+ 'prefer-template': 'error',
57
+ 'sort-imports': 'off', // disabled due to conflict with eslint-plugin-perfectionist
58
+ 'sort-keys': 'off', // disabled due to conflict with eslint-plugin-perfectionist
59
+ // eslint-plugin-import: https://github.com/import-js/eslint-plugin-import/tree/main/docs/rules
60
+ 'import/no-cycle': 'error',
61
+ /**
62
+ * The rule is disabled for now as it is not compatible with flat-configs, without adding an artifical `.eslintrc` file.
63
+ *
64
+ * @see: https://github.com/import-js/eslint-plugin-import/issues/3079#issuecomment-2557191925
65
+ * @todo Enable rule, as soon as fix is available: https://github.com/Boehringer-Ingelheim/eslint-config/blob/9f028ed43bb5db11082a2982f249ddfe7eaf5c13/configs/base.js#L77
66
+ */
67
+ 'import/no-unused-modules': 'off',
68
+ 'import/order': 'off', // disabled due to conflict with eslint-plugin-perfectionist
69
+ 'import/prefer-default-export': 'off',
70
+ // Deactivated as TypeScript provides the same checks as part of standard type checking: https://typescript-eslint.io/linting/troubleshooting/performance-troubleshooting
71
+ 'import/default': 'off',
72
+ 'import/named': 'off',
73
+ 'import/namespace': 'off',
74
+ 'import/no-named-as-default-member': 'off',
75
+ 'import/no-unresolved': 'off',
76
+ // eslint-plugin-perfectionist: https://github.com/azat-io/eslint-plugin-perfectionist
77
+ 'perfectionist/sort-classes': [
78
+ 'error',
79
+ {
80
+ groups: eslint_plugin_perfectionist_js_1.SORT_CLASSES_GROUPS,
81
+ },
82
+ ],
83
+ 'perfectionist/sort-imports': [
84
+ 'error',
85
+ {
86
+ groups: eslint_plugin_perfectionist_js_1.SORT_IMPORTS_GROUPS,
87
+ newlinesBetween: 0, // No newlines are allowed between groups
88
+ },
89
+ ],
90
+ 'perfectionist/sort-intersection-types': [
91
+ 'error',
92
+ {
93
+ groups: eslint_plugin_perfectionist_js_1.SORT_INTERSECTION_TYPES_GROUPS,
94
+ },
95
+ ],
96
+ 'perfectionist/sort-named-imports': [
97
+ 'error',
98
+ {
99
+ ignoreAlias: true,
100
+ },
101
+ ],
102
+ 'perfectionist/sort-objects': [
103
+ 'error',
104
+ {
105
+ partitionByComment: true,
106
+ },
107
+ ],
108
+ },
109
+ settings: {
110
+ 'import/resolver': {
111
+ typescript: true,
112
+ },
113
+ perfectionist: {
114
+ ...eslint_plugin_perfectionist_js_1.PERFECTIONIST_SETTINGS,
115
+ },
116
+ },
117
+ }, {
118
+ files: [
119
+ '**/*.d.ts', // TypeScript declaration files
120
+ '**/*.{spec,test}.{js,cjs,mjs,jsx,ts,cts,mts,tsx}', // Usually test files
121
+ './*.{js,cjs,mjs,ts,cts,mts}', // Mostly configuration files on root level
122
+ ],
123
+ rules: {
124
+ 'import/no-unused-modules': 'off',
125
+ },
126
+ });
127
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/configs/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=experimental-naming-convention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental-naming-convention.d.ts","sourceRoot":"","sources":["../../src/configs/experimental-naming-convention.ts"],"names":[],"mappings":";AAEA,wBAiEG"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("eslint/config");
4
+ exports.default = (0, config_1.defineConfig)({
5
+ rules: {
6
+ '@typescript-eslint/naming-convention': [
7
+ 'error',
8
+ {
9
+ // Enforce that interface names do not start with an 'I'
10
+ custom: {
11
+ match: false,
12
+ regex: '^I[A-Z]',
13
+ },
14
+ format: ['StrictPascalCase'],
15
+ leadingUnderscore: 'forbid',
16
+ selector: 'interface',
17
+ trailingUnderscore: 'forbid',
18
+ },
19
+ {
20
+ // Enforce that type alias names do not start with an 'T'
21
+ custom: {
22
+ match: false,
23
+ regex: '^T[A-Z]',
24
+ },
25
+ format: ['StrictPascalCase'],
26
+ leadingUnderscore: 'forbid',
27
+ selector: 'typeAlias',
28
+ trailingUnderscore: 'forbid',
29
+ },
30
+ {
31
+ // Enforce that all top-level variables are in UPPER_CASE
32
+ format: ['UPPER_CASE'],
33
+ leadingUnderscore: 'forbid',
34
+ modifiers: ['global'],
35
+ selector: 'variable',
36
+ trailingUnderscore: 'forbid',
37
+ types: ['boolean', 'number', 'string'],
38
+ },
39
+ {
40
+ // Enforce that all top-level array variables are in UPPER_CASE and are suffixed with a 'S' to indicate plural form
41
+ format: ['UPPER_CASE'],
42
+ leadingUnderscore: 'forbid',
43
+ modifiers: ['global'],
44
+ selector: 'variable',
45
+ suffix: ['S'],
46
+ trailingUnderscore: 'forbid',
47
+ types: ['array'],
48
+ },
49
+ {
50
+ // Enforce that array variables are suffixed with a 's' to indicate plural form
51
+ format: ['strictCamelCase'],
52
+ leadingUnderscore: 'forbid',
53
+ selector: 'variable',
54
+ suffix: ['s'],
55
+ trailingUnderscore: 'forbid',
56
+ types: ['array'],
57
+ },
58
+ {
59
+ // Enforce that boolean variables are prefixed with an allowed verb
60
+ format: ['StrictPascalCase'],
61
+ leadingUnderscore: 'forbid',
62
+ prefix: ['is', 'has', 'should', 'can'],
63
+ selector: 'variable',
64
+ trailingUnderscore: 'forbid',
65
+ types: ['boolean'],
66
+ },
67
+ ],
68
+ },
69
+ });
70
+ //# sourceMappingURL=experimental-naming-convention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experimental-naming-convention.js","sourceRoot":"","sources":["../../src/configs/experimental-naming-convention.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAE7C,kBAAe,IAAA,qBAAY,EAAC;IAC1B,KAAK,EAAE;QACL,sCAAsC,EAAE;YACtC,OAAO;YACP;gBACE,wDAAwD;gBACxD,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,SAAS;iBACjB;gBACD,MAAM,EAAE,CAAC,kBAAkB,CAAC;gBAC5B,iBAAiB,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,WAAW;gBACrB,kBAAkB,EAAE,QAAQ;aAC7B;YACD;gBACE,yDAAyD;gBACzD,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,SAAS;iBACjB;gBACD,MAAM,EAAE,CAAC,kBAAkB,CAAC;gBAC5B,iBAAiB,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,WAAW;gBACrB,kBAAkB,EAAE,QAAQ;aAC7B;YACD;gBACE,yDAAyD;gBACzD,MAAM,EAAE,CAAC,YAAY,CAAC;gBACtB,iBAAiB,EAAE,QAAQ;gBAC3B,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,QAAQ,EAAE,UAAU;gBACpB,kBAAkB,EAAE,QAAQ;gBAC5B,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;aACvC;YACD;gBACE,mHAAmH;gBACnH,MAAM,EAAE,CAAC,YAAY,CAAC;gBACtB,iBAAiB,EAAE,QAAQ;gBAC3B,SAAS,EAAE,CAAC,QAAQ,CAAC;gBACrB,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,kBAAkB,EAAE,QAAQ;gBAC5B,KAAK,EAAE,CAAC,OAAO,CAAC;aACjB;YACD;gBACE,+EAA+E;gBAC/E,MAAM,EAAE,CAAC,iBAAiB,CAAC;gBAC3B,iBAAiB,EAAE,QAAQ;gBAC3B,QAAQ,EAAE,UAAU;gBACpB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,kBAAkB,EAAE,QAAQ;gBAC5B,KAAK,EAAE,CAAC,OAAO,CAAC;aACjB;YACD;gBACE,mEAAmE;gBACnE,MAAM,EAAE,CAAC,kBAAkB,CAAC;gBAC5B,iBAAiB,EAAE,QAAQ;gBAC3B,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;gBACtC,QAAQ,EAAE,UAAU;gBACpB,kBAAkB,EAAE,QAAQ;gBAC5B,KAAK,EAAE,CAAC,SAAS,CAAC;aACnB;SACF;KACF;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/configs/local.ts"],"names":[],"mappings":";AAGA,wBAYE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("eslint/config");
4
+ const is_ci_1 = require("is-ci");
5
+ exports.default = (0, config_1.defineConfig)(is_ci_1.default
6
+ ? {}
7
+ : {
8
+ rules: {
9
+ // Only activate in CI, as suggested here: https://typescript-eslint.io/linting/troubleshooting/performance-troubleshooting#eslint-plugin-import
10
+ 'import/no-cycle': 'off',
11
+ 'import/no-deprecated': 'off',
12
+ 'import/no-named-as-default': 'off',
13
+ 'import/no-unused-modules': 'off',
14
+ },
15
+ });
16
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/configs/local.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAC7C,iCAAyB;AAEzB,kBAAe,IAAA,qBAAY,EACzB,eAAI;IACF,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC;QACE,KAAK,EAAE;YACL,gJAAgJ;YAChJ,iBAAiB,EAAE,KAAK;YACxB,sBAAsB,EAAE,KAAK;YAC7B,4BAA4B,EAAE,KAAK;YACnC,0BAA0B,EAAE,KAAK;SAClC;KACF,CACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=nextjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../../src/configs/nextjs.ts"],"names":[],"mappings":";AAKA,wBAkIE"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const eslint_plugin_next_1 = require("@next/eslint-plugin-next");
4
+ const config_1 = require("eslint/config");
5
+ const nextjs_utils_js_1 = require("../lib/nextjs.utils.js");
6
+ const react_js_1 = require("./react.js");
7
+ exports.default = (0, config_1.defineConfig)(...react_js_1.default, {
8
+ plugins: {
9
+ '@next/next': eslint_plugin_next_1.default,
10
+ },
11
+ rules: {
12
+ ...eslint_plugin_next_1.default.configs.recommended.rules,
13
+ ...eslint_plugin_next_1.default.configs['core-web-vitals'].rules,
14
+ },
15
+ }, {
16
+ files: [`{app,src/app}/**/{${nextjs_utils_js_1.NEXTJS_ROUTING_FILES.join(',')}}.{ts,tsx}`],
17
+ rules: {
18
+ 'import/no-unused-modules': ['off'],
19
+ // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh
20
+ 'react-refresh/only-export-components': [
21
+ 'warn',
22
+ {
23
+ allowExportNames: [
24
+ /**
25
+ * Next.js allows exporting the following options in pages, layouts and route handlers
26
+ *
27
+ * @see https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config
28
+ */
29
+ 'dynamic',
30
+ 'dynamicParams',
31
+ 'fetchCache',
32
+ 'maxDuration',
33
+ 'preferredRegion',
34
+ 'revalidate',
35
+ 'runtime',
36
+ /**
37
+ * Next.js allows exporting the following metadata options in layouts and pages
38
+ *
39
+ * @link https://nextjs.org/docs/app/api-reference/functions/generate-metadata
40
+ */
41
+ 'generateMetadata',
42
+ 'metadata',
43
+ /**
44
+ * Next.js allows exporting the following static params functions in pages
45
+ *
46
+ * @link https://nextjs.org/docs/app/api-reference/functions/generate-static-params
47
+ */
48
+ 'generateStaticParams',
49
+ /**
50
+ * Next.js allows exporting the following viewport options in layouts and pages
51
+ *
52
+ * @link https://nextjs.org/docs/app/api-reference/functions/generate-viewport
53
+ */
54
+ 'generateViewport',
55
+ 'viewport',
56
+ ],
57
+ },
58
+ ],
59
+ },
60
+ }, {
61
+ files: [`{instrumentation,src/instrumentation}.{ts,tsx}`],
62
+ rules: {
63
+ 'import/no-unused-modules': ['off'],
64
+ // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh
65
+ 'react-refresh/only-export-components': [
66
+ 'warn',
67
+ {
68
+ allowExportNames: [
69
+ /**
70
+ * Next.js allows exporting the following exports in instrumentation files
71
+ *
72
+ * @link https://nextjs.org/docs/app/guides/instrumentation#convention
73
+ */
74
+ 'register',
75
+ ],
76
+ },
77
+ ],
78
+ },
79
+ }, {
80
+ /**
81
+ * Next.js 'middleware' files are beeing deprecated in favor of the new proxy files with v16+
82
+ *
83
+ * @link https://nextjs.org/blog/next-16#proxyts-formerly-middlewarets
84
+ */
85
+ files: [`{middleware,src/middleware}.{ts,tsx}`],
86
+ rules: {
87
+ 'import/no-unused-modules': ['off'],
88
+ // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh
89
+ 'react-refresh/only-export-components': [
90
+ 'warn',
91
+ {
92
+ allowExportNames: [
93
+ /**
94
+ * Next.js allows exporting the following config options in middleware
95
+ *
96
+ * @link https://nextjs.org/docs/app/api-reference/file-conventions/middleware#config-object-optional
97
+ */
98
+ 'config',
99
+ ],
100
+ },
101
+ ],
102
+ },
103
+ }, {
104
+ files: [`{proxy,src/proxy}.{ts,tsx}`],
105
+ rules: {
106
+ 'import/no-unused-modules': ['off'],
107
+ // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh
108
+ 'react-refresh/only-export-components': [
109
+ 'warn',
110
+ {
111
+ allowExportNames: [
112
+ /**
113
+ * Next.js allows exporting the following exports in proxy files
114
+ *
115
+ * @link https://nextjs.org/docs/app/api-reference/file-conventions/proxy#config-object-optional
116
+ */
117
+ 'config',
118
+ 'proxy',
119
+ ],
120
+ },
121
+ ],
122
+ },
123
+ });
124
+ //# sourceMappingURL=nextjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nextjs.js","sourceRoot":"","sources":["../../src/configs/nextjs.ts"],"names":[],"mappings":";;AAAA,iEAAkD;AAClD,0CAA6C;AAC7C,4DAA8D;AAC9D,yCAA+B;AAE/B,kBAAe,IAAA,qBAAY,EACzB,GAAG,kBAAK,EACR;IACE,OAAO,EAAE;QACP,YAAY,EAAE,4BAAU;KACzB;IACD,KAAK,EAAE;QACL,GAAG,4BAAU,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;QACvC,GAAG,4BAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK;KAC/C;CACF,EACD;IACE,KAAK,EAAE,CAAC,qBAAqB,sCAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;IACxE,KAAK,EAAE;QACL,0BAA0B,EAAE,CAAC,KAAK,CAAC;QAEnC,0FAA0F;QAC1F,sCAAsC,EAAE;YACtC,MAAM;YACN;gBACE,gBAAgB,EAAE;oBAChB;;;;uBAIG;oBACH,SAAS;oBACT,eAAe;oBACf,YAAY;oBACZ,aAAa;oBACb,iBAAiB;oBACjB,YAAY;oBACZ,SAAS;oBAET;;;;uBAIG;oBACH,kBAAkB;oBAClB,UAAU;oBAEV;;;;uBAIG;oBACH,sBAAsB;oBAEtB;;;;uBAIG;oBACH,kBAAkB;oBAClB,UAAU;iBACX;aACF;SACF;KACF;CACF,EACD;IACE,KAAK,EAAE,CAAC,gDAAgD,CAAC;IACzD,KAAK,EAAE;QACL,0BAA0B,EAAE,CAAC,KAAK,CAAC;QAEnC,0FAA0F;QAC1F,sCAAsC,EAAE;YACtC,MAAM;YACN;gBACE,gBAAgB,EAAE;oBAChB;;;;uBAIG;oBACH,UAAU;iBACX;aACF;SACF;KACF;CACF,EACD;IACE;;;;OAIG;IACH,KAAK,EAAE,CAAC,sCAAsC,CAAC;IAC/C,KAAK,EAAE;QACL,0BAA0B,EAAE,CAAC,KAAK,CAAC;QAEnC,0FAA0F;QAC1F,sCAAsC,EAAE;YACtC,MAAM;YACN;gBACE,gBAAgB,EAAE;oBAChB;;;;uBAIG;oBACH,QAAQ;iBACT;aACF;SACF;KACF;CACF,EACD;IACE,KAAK,EAAE,CAAC,4BAA4B,CAAC;IACrC,KAAK,EAAE;QACL,0BAA0B,EAAE,CAAC,KAAK,CAAC;QAEnC,0FAA0F;QAC1F,sCAAsC,EAAE;YACtC,MAAM;YACN;gBACE,gBAAgB,EAAE;oBAChB;;;;uBAIG;oBACH,QAAQ;oBACR,OAAO;iBACR;aACF;SACF;KACF;CACF,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=playwright.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../../src/configs/playwright.ts"],"names":[],"mappings":";AAWA,wBAsBG"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const eslint_plugin_playwright_1 = require("eslint-plugin-playwright");
4
+ const config_1 = require("eslint/config");
5
+ const playwrightPlugin = eslint_plugin_playwright_1.default;
6
+ exports.default = (0, config_1.defineConfig)({
7
+ ...playwrightPlugin.configs['flat/recommended'],
8
+ rules: {
9
+ /**
10
+ * At the moment, `eslint-plugin-playwright` does not fully support component testing with type information.
11
+ * https://github.com/playwright-community/eslint-plugin-playwright/issues/298
12
+ *
13
+ * The `mount` function is flagged as an error by the `@typescript-eslint/unbound-method` rule.
14
+ * But it is okay to use `mount` in this context for test files.
15
+ * https://typescript-eslint.io/rules/unbound-method/#when-not-to-use-it
16
+ *
17
+ * Hint: `eslint-plugin-jest` has already a customized version of this rule.
18
+ * https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md
19
+ */
20
+ '@typescript-eslint/unbound-method': 'off',
21
+ // eslint-plugin-playwright: https://github.com/playwright-community/eslint-plugin-playwright
22
+ ...playwrightPlugin.configs['flat/recommended'].rules,
23
+ 'playwright/prefer-to-be': 'error',
24
+ 'playwright/prefer-to-have-length': 'error',
25
+ 'playwright/require-top-level-describe': 'error',
26
+ },
27
+ });
28
+ //# sourceMappingURL=playwright.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../../src/configs/playwright.ts"],"names":[],"mappings":";;AAAA,uEAAkD;AAClD,0CAA6C;AAE7C,MAAM,gBAAgB,GAAG,kCAMxB,CAAC;AAEF,kBAAe,IAAA,qBAAY,EAAC;IAC1B,GAAG,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC/C,KAAK,EAAE;QACL;;;;;;;;;;WAUG;QACH,mCAAmC,EAAE,KAAK;QAE1C,6FAA6F;QAC7F,GAAG,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,KAAK;QACrD,yBAAyB,EAAE,OAAO;QAClC,kCAAkC,EAAE,OAAO;QAC3C,uCAAuC,EAAE,OAAO;KACjD;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=prettier-disable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettier-disable.d.ts","sourceRoot":"","sources":["../../src/configs/prettier-disable.ts"],"names":[],"mappings":";AAGA,wBAMG"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const eslint_config_prettier_1 = require("eslint-config-prettier");
4
+ const config_1 = require("eslint/config");
5
+ exports.default = (0, config_1.defineConfig)({
6
+ ...eslint_config_prettier_1.default,
7
+ rules: {
8
+ ...eslint_config_prettier_1.default.rules,
9
+ curly: 'error',
10
+ },
11
+ });
12
+ //# sourceMappingURL=prettier-disable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettier-disable.js","sourceRoot":"","sources":["../../src/configs/prettier-disable.ts"],"names":[],"mappings":";;AAAA,mEAA8C;AAC9C,0CAA6C;AAE7C,kBAAe,IAAA,qBAAY,EAAC;IAC1B,GAAG,gCAAQ;IACX,KAAK,EAAE;QACL,GAAG,gCAAQ,CAAC,KAAK;QACjB,KAAK,EAAE,OAAO;KACf;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/configs/react.ts"],"names":[],"mappings":";AAyBA,wBAqGE"}
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const eslint_plugin_jsx_a11y_1 = require("eslint-plugin-jsx-a11y");
4
+ const eslint_plugin_react_1 = require("eslint-plugin-react");
5
+ const eslint_plugin_react_hooks_1 = require("eslint-plugin-react-hooks");
6
+ const eslint_plugin_react_refresh_1 = require("eslint-plugin-react-refresh");
7
+ const config_1 = require("eslint/config");
8
+ const globals_1 = require("globals");
9
+ const eslint_plugin_perfectionist_js_1 = require("../lib/eslint-plugin-perfectionist.js");
10
+ const base_js_1 = require("./base.js");
11
+ const reactRecommendedConfig = eslint_plugin_react_1.default.configs.flat['recommended'];
12
+ if (!reactRecommendedConfig) {
13
+ throw new Error('Expected to find the "flat/recommended" configuration in the eslint-plugin-react plugin, but it was not found.');
14
+ }
15
+ const reactJsxRuntimeConfig = eslint_plugin_react_1.default.configs.flat['jsx-runtime'];
16
+ if (!reactJsxRuntimeConfig) {
17
+ throw new Error('Expected to find the "flat/jsx-runtime" configuration in the eslint-plugin-react plugin, but it was not found.');
18
+ }
19
+ exports.default = (0, config_1.defineConfig)(...base_js_1.default, eslint_plugin_jsx_a11y_1.default.flatConfigs.recommended, reactRecommendedConfig, reactJsxRuntimeConfig, eslint_plugin_react_refresh_1.default.configs.recommended, {
20
+ languageOptions: {
21
+ globals: {
22
+ ...globals_1.default.browser,
23
+ },
24
+ parserOptions: {
25
+ ecmaFeatures: {
26
+ jsx: true,
27
+ },
28
+ },
29
+ },
30
+ plugins: {
31
+ // @ts-expect-error -- This is configured as per documentation of eslint-plugin-react, see: https://github.com/facebook/react/blob/b91823e21434ac665450e67ddc6f816710255938/packages/eslint-plugin-react-hooks/README.md#flat-config-eslintconfigjsts-1
32
+ 'react-hooks': eslint_plugin_react_hooks_1.default,
33
+ },
34
+ rules: {
35
+ // @typescript-eslint: https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules
36
+ '@typescript-eslint/consistent-type-definitions': ['error', 'type'],
37
+ '@typescript-eslint/no-restricted-types': [
38
+ 'error',
39
+ {
40
+ types: {
41
+ 'React.FC': {
42
+ message: 'Please use object type destructure declaration, see: https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components',
43
+ },
44
+ 'React.FunctionalComponent': {
45
+ message: 'Please use object type destructure declaration, see: https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/function_components',
46
+ },
47
+ },
48
+ },
49
+ ],
50
+ // eslint-plugin-react: https://github.com/jsx-eslint/eslint-plugin-react/tree/master/lib/rules
51
+ 'react/jsx-pascal-case': 'error',
52
+ 'react/jsx-sort-props': 'off', // disabled due to conflict with eslint-plugin-perfectionist
53
+ 'react/sort-default-props': 'error',
54
+ // eslint-plugin-react-hooks: https://github.com/facebook/react/blob/main/packages/eslint-plugin-react-hooks/README.md
55
+ 'react-hooks/exhaustive-deps': 'error',
56
+ 'react-hooks/rules-of-hooks': 'error',
57
+ // eslint-plugin-perfectionist: https://github.com/azat-io/eslint-plugin-perfectionist
58
+ 'perfectionist/sort-imports': [
59
+ 'error',
60
+ {
61
+ customGroups: [
62
+ {
63
+ elementNamePattern: ['^react$'],
64
+ groupName: 'react',
65
+ },
66
+ ],
67
+ groups: ['react', ...eslint_plugin_perfectionist_js_1.SORT_IMPORTS_GROUPS],
68
+ newlinesBetween: 0, // No newlines are allowed between groups
69
+ },
70
+ ],
71
+ 'perfectionist/sort-jsx-props': [
72
+ 'error',
73
+ {
74
+ customGroups: [
75
+ {
76
+ elementNamePattern: '^on.+',
77
+ groupName: 'callback',
78
+ },
79
+ {
80
+ elementNamePattern: ['children', 'dangerouslySetInnerHTML', 'key', 'ref'], // Reserved props from: https://github.com/jsx-eslint/eslint-plugin-react/blob/master/lib/rules/jsx-sort-props.js#L41-L46
81
+ groupName: 'reservedProps',
82
+ },
83
+ ],
84
+ groups: ['reservedProps', 'unknown', 'callback'],
85
+ },
86
+ ],
87
+ // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh
88
+ 'react-refresh/only-export-components': 'warn',
89
+ // Forbid enum declaration
90
+ 'no-restricted-syntax': [
91
+ 'error',
92
+ {
93
+ message: "Don't declare enums",
94
+ selector: 'TSEnumDeclaration',
95
+ },
96
+ ],
97
+ },
98
+ settings: {
99
+ perfectionist: {
100
+ ...eslint_plugin_perfectionist_js_1.PERFECTIONIST_SETTINGS,
101
+ },
102
+ react: {
103
+ version: 'detect',
104
+ },
105
+ },
106
+ });
107
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/configs/react.ts"],"names":[],"mappings":";;AAAA,mEAA6C;AAC7C,6DAAwC;AACxC,yEAAmD;AACnD,6EAAuD;AACvD,0CAA6C;AAC7C,qCAA8B;AAC9B,0FAAoG;AACpG,uCAA6B;AAE7B,MAAM,sBAAsB,GAAG,6BAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAEjE,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC5B,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,6BAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAEhE,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC3B,MAAM,IAAI,KAAK,CACb,gHAAgH,CACjH,CAAC;AACJ,CAAC;AAED,kBAAe,IAAA,qBAAY,EACzB,GAAG,iBAAI,EACP,gCAAO,CAAC,WAAW,CAAC,WAAW,EAC/B,sBAAsB,EACtB,qBAAqB,EACrB,qCAAY,CAAC,OAAO,CAAC,WAAW,EAChC;IACE,eAAe,EAAE;QACf,OAAO,EAAE;YACP,GAAG,iBAAO,CAAC,OAAO;SACnB;QACD,aAAa,EAAE;YACb,YAAY,EAAE;gBACZ,GAAG,EAAE,IAAI;aACV;SACF;KACF;IACD,OAAO,EAAE;QACP,uPAAuP;QACvP,aAAa,EAAE,mCAAU;KAC1B;IACD,KAAK,EAAE;QACL,yHAAyH;QACzH,gDAAgD,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QACnE,wCAAwC,EAAE;YACxC,OAAO;YACP;gBACE,KAAK,EAAE;oBACL,UAAU,EAAE;wBACV,OAAO,EACL,qJAAqJ;qBACxJ;oBACD,2BAA2B,EAAE;wBAC3B,OAAO,EACL,qJAAqJ;qBACxJ;iBACF;aACF;SACF;QAED,+FAA+F;QAC/F,uBAAuB,EAAE,OAAO;QAChC,sBAAsB,EAAE,KAAK,EAAE,4DAA4D;QAC3F,0BAA0B,EAAE,OAAO;QAEnC,sHAAsH;QACtH,6BAA6B,EAAE,OAAO;QACtC,4BAA4B,EAAE,OAAO;QAErC,sFAAsF;QACtF,4BAA4B,EAAE;YAC5B,OAAO;YACP;gBACE,YAAY,EAAE;oBACZ;wBACE,kBAAkB,EAAE,CAAC,SAAS,CAAC;wBAC/B,SAAS,EAAE,OAAO;qBACnB;iBACF;gBACD,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,oDAAmB,CAAC;gBACzC,eAAe,EAAE,CAAC,EAAE,yCAAyC;aAC9D;SACF;QACD,8BAA8B,EAAE;YAC9B,OAAO;YACP;gBACE,YAAY,EAAE;oBACZ;wBACE,kBAAkB,EAAE,OAAO;wBAC3B,SAAS,EAAE,UAAU;qBACtB;oBACD;wBACE,kBAAkB,EAAE,CAAC,UAAU,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,yHAAyH;wBACpM,SAAS,EAAE,eAAe;qBAC3B;iBACF;gBACD,MAAM,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC;aACjD;SACF;QAED,0FAA0F;QAC1F,sCAAsC,EAAE,MAAM;QAE9C,0BAA0B;QAC1B,sBAAsB,EAAE;YACtB,OAAO;YACP;gBACE,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,mBAAmB;aAC9B;SACF;KACF;IACD,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,GAAG,uDAAsB;SAC1B;QACD,KAAK,EAAE;YACL,OAAO,EAAE,QAAQ;SAClB;KACF;CACF,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@eslint/config-helpers").Config[];
2
+ export default _default;
3
+ //# sourceMappingURL=strict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":";AAkBA,wBAgBG"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config_1 = require("eslint/config");
4
+ const typescript_eslint_1 = require("typescript-eslint");
5
+ const base_js_1 = require("./base.js");
6
+ const strictTemplateExpressionsRule = typescript_eslint_1.default.plugin.rules['restrict-template-expressions'];
7
+ if (!strictTemplateExpressionsRule) {
8
+ throw new Error('Expected to find the "restrict-template-expressions" rule in the typescript-eslint plugin, but it was not found.');
9
+ }
10
+ exports.default = (0, config_1.defineConfig)(...base_js_1.default, typescript_eslint_1.default.configs.strictTypeChecked, {
11
+ rules: {
12
+ // @typescript-eslint: https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules
13
+ '@typescript-eslint/consistent-type-imports': 'error',
14
+ '@typescript-eslint/no-import-type-side-effects': 'error',
15
+ '@typescript-eslint/restrict-template-expressions': [
16
+ 'error',
17
+ {
18
+ ...strictTemplateExpressionsRule.meta.docs.recommended.strict[0],
19
+ allowNumber: true,
20
+ },
21
+ ],
22
+ // eslint-plugin-import: https://github.com/import-js/eslint-plugin-import/tree/main/docs/rules
23
+ 'import/consistent-type-specifier-style': ['error', 'prefer-top-level'],
24
+ },
25
+ });
26
+ //# sourceMappingURL=strict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../../src/configs/strict.ts"],"names":[],"mappings":";;AAAA,0CAA6C;AAC7C,yDAAyC;AACzC,uCAA6B;AAM7B,MAAM,6BAA6B,GAAI,2BAAQ,CAAC,MAAoC,CAAC,KAAK,CACxF,+BAA+B,CAChC,CAAC;AAEF,IAAI,CAAC,6BAA6B,EAAE,CAAC;IACnC,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;AACJ,CAAC;AAED,kBAAe,IAAA,qBAAY,EAAC,GAAG,iBAAI,EAAE,2BAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE;IACvE,KAAK,EAAE;QACL,yHAAyH;QACzH,4CAA4C,EAAE,OAAO;QACrD,gDAAgD,EAAE,OAAO;QACzD,kDAAkD,EAAE;YAClD,OAAO;YACP;gBACE,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChE,WAAW,EAAE,IAAI;aAClB;SACF;QAED,+FAA+F;QAC/F,wCAAwC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC;KACxE;CACF,CAAC,CAAC"}