@aryaemami59/eslint-config 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -30,34 +30,84 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
+ config: () => import_typescript_eslint.config,
34
+ configs: () => import_typescript_eslint.configs,
33
35
  createESLintConfig: () => createESLintConfig,
36
+ disabledRules: () => disabledRules,
34
37
  flatESLintConfig: () => flatESLintConfig,
35
38
  globalIgnores: () => globalIgnores,
36
39
  globals: () => globals,
37
- rulesToDisable: () => rulesToDisable,
40
+ js: () => import_js.default,
41
+ parser: () => import_typescript_eslint.parser,
42
+ plugin: () => import_typescript_eslint.plugin,
43
+ prettierConfig: () => import_flat.default,
38
44
  vitestGlobals: () => vitestGlobals
39
45
  });
40
46
  module.exports = __toCommonJS(src_exports);
47
+
48
+ // src/disabledRules.ts
49
+ var disabledRules = {
50
+ "no-undef": [0, { typeof: false }],
51
+ "@typescript-eslint/no-unused-vars": [
52
+ 0,
53
+ {
54
+ args: "all",
55
+ argsIgnorePattern: "^_",
56
+ caughtErrors: "all",
57
+ caughtErrorsIgnorePattern: "^_",
58
+ destructuredArrayIgnorePattern: "^_",
59
+ varsIgnorePattern: "^_",
60
+ ignoreRestSiblings: true
61
+ }
62
+ ],
63
+ "@typescript-eslint/ban-ts-comment": [
64
+ 0,
65
+ {
66
+ "ts-expect-error": "allow-with-description",
67
+ "ts-ignore": true,
68
+ "ts-nocheck": true,
69
+ "ts-check": false,
70
+ minimumDescriptionLength: 3
71
+ }
72
+ ]
73
+ };
74
+
75
+ // src/external.ts
41
76
  var import_js = __toESM(require("@eslint/js"), 1);
42
- var import_eslint_config_prettier = __toESM(require("eslint-config-prettier"), 1);
43
- var import_globals = __toESM(require("globals"), 1);
77
+ var import_flat = __toESM(require("eslint-config-prettier/flat"), 1);
44
78
  var import_typescript_eslint = require("typescript-eslint");
45
- var { browser, node, nodeBuiltin } = import_globals.default;
79
+
80
+ // src/packageName.ts
81
+ var packageName = "@aryaemami59/eslint-config";
82
+
83
+ // src/globalIgnores.ts
46
84
  var globalIgnores = {
47
- name: "@aryaemami59/global-ignores",
85
+ name: `${packageName}/global-ignores`,
48
86
  ignores: [
49
87
  "**/dist/",
50
- "**/.yalc/",
51
88
  "**/build/",
52
89
  "**/lib/",
90
+ "**/coverage/",
91
+ "**/__snapshots__/",
53
92
  "**/temp/",
93
+ "**/.temp/",
94
+ "**/.tmp/",
95
+ "**/.yalc/",
54
96
  "**/.yarn/",
55
- "**/coverage/"
97
+ "**/.docusaurus/",
98
+ "**/.next/",
99
+ "**/.expo/",
100
+ "**/*.snap"
56
101
  ]
57
102
  };
103
+
104
+ // src/globals.ts
105
+ var import_globals = __toESM(require("globals"), 1);
106
+ var { browser, node, nodeBuiltin, vitest } = import_globals.default;
58
107
  var vitestGlobals = {
59
108
  suite: "writable",
60
109
  test: "writable",
110
+ chai: "writable",
61
111
  describe: "writable",
62
112
  it: "writable",
63
113
  expectTypeOf: "writable",
@@ -74,64 +124,44 @@ var vitestGlobals = {
74
124
  onTestFinished: "writable"
75
125
  };
76
126
  var globals = /* @__PURE__ */ Object.assign(
77
- vitestGlobals,
78
- browser,
79
- node,
80
- nodeBuiltin
127
+ {
128
+ ...browser,
129
+ ...node,
130
+ ...nodeBuiltin
131
+ },
132
+ {
133
+ ...vitest,
134
+ ...vitestGlobals
135
+ }
81
136
  );
82
- var rulesToDisable = {
83
- "no-undef": [0],
84
- "@typescript-eslint/no-unused-vars": [
85
- 0,
86
- {
87
- vars: "all",
88
- args: "after-used",
89
- caughtErrors: "all",
90
- ignoreRestSiblings: false,
91
- reportUsedIgnorePattern: false
92
- }
93
- ],
94
- "@typescript-eslint/ban-ts-comment": [
95
- 0,
96
- [
97
- {
98
- "ts-expect-error": "allow-with-description",
99
- "ts-ignore": true,
100
- "ts-nocheck": true,
101
- "ts-check": false,
102
- minimumDescriptionLength: 3
103
- }
104
- ]
105
- ]
106
- };
137
+
138
+ // src/shareableConfigs.ts
107
139
  var flatESLintConfig = /* @__PURE__ */ (0, import_typescript_eslint.config)(
108
140
  // `ignores` must be first.
109
141
  // config with just `ignores` is the replacement for `.eslintignore`
110
142
  globalIgnores,
111
- { name: "@aryaemami59/javascript", ...import_js.default.configs.recommended },
112
- ...import_typescript_eslint.configs.recommended,
113
- ...import_typescript_eslint.configs.stylistic,
114
- { name: "@aryaemami59/prettier-config", ...import_eslint_config_prettier.default },
115
143
  {
116
- name: "@aryaemami59/main",
144
+ name: `${import_js.default.meta.name}/recommended`,
145
+ ...import_js.default.configs.recommended
146
+ },
147
+ import_typescript_eslint.configs.recommended,
148
+ import_typescript_eslint.configs.stylistic,
149
+ {
150
+ name: `${packageName}/defaults/overrides`,
117
151
  languageOptions: {
118
152
  globals,
119
- parser: import_typescript_eslint.parser,
120
153
  parserOptions: {
121
- projectService: {
122
- allowDefaultProject: [".*.js", ".*.mjs", ".*.cjs"],
123
- defaultProject: "./tsconfig.json"
124
- },
125
- ecmaVersion: "latest"
154
+ ecmaVersion: "latest",
155
+ projectService: true
126
156
  }
127
157
  },
128
158
  rules: {
129
159
  "@typescript-eslint/consistent-type-imports": [
130
160
  2,
131
161
  {
132
- prefer: "type-imports",
162
+ disallowTypeAnnotations: true,
133
163
  fixStyle: "separate-type-imports",
134
- disallowTypeAnnotations: true
164
+ prefer: "type-imports"
135
165
  }
136
166
  ],
137
167
  "@typescript-eslint/consistent-type-exports": [
@@ -140,11 +170,17 @@ var flatESLintConfig = /* @__PURE__ */ (0, import_typescript_eslint.config)(
140
170
  ],
141
171
  "@typescript-eslint/no-explicit-any": [
142
172
  2,
143
- { fixToUnknown: false, ignoreRestArgs: false }
173
+ {
174
+ fixToUnknown: false,
175
+ ignoreRestArgs: false
176
+ }
144
177
  ],
145
178
  "@typescript-eslint/no-empty-object-type": [
146
179
  2,
147
- { allowInterfaces: "never", allowObjectTypes: "never" }
180
+ {
181
+ allowInterfaces: "never",
182
+ allowObjectTypes: "never"
183
+ }
148
184
  ],
149
185
  "@typescript-eslint/no-restricted-types": [
150
186
  2,
@@ -170,87 +206,140 @@ var flatESLintConfig = /* @__PURE__ */ (0, import_typescript_eslint.config)(
170
206
  ],
171
207
  "@typescript-eslint/no-namespace": [
172
208
  2,
173
- { allowDeclarations: false, allowDefinitionFiles: true }
209
+ {
210
+ allowDeclarations: false,
211
+ allowDefinitionFiles: true
212
+ }
174
213
  ],
175
214
  "@typescript-eslint/consistent-type-definitions": [2, "type"],
176
215
  "sort-imports": [
177
216
  2,
178
217
  {
218
+ allowSeparatedGroups: true,
179
219
  ignoreCase: false,
180
220
  ignoreDeclarationSort: true,
181
221
  ignoreMemberSort: false,
182
- memberSyntaxSortOrder: ["none", "all", "multiple", "single"],
183
- allowSeparatedGroups: true
222
+ memberSyntaxSortOrder: ["none", "all", "multiple", "single"]
184
223
  }
185
224
  ],
186
- "@typescript-eslint/unified-signatures": [2],
187
- "@typescript-eslint/dot-notation": [
225
+ "@typescript-eslint/unified-signatures": [
188
226
  2,
189
227
  {
190
- // Related issue: https://github.com/typescript-eslint/typescript-eslint/issues/10338
191
- // Base ESLint default options
192
- allowKeywords: true,
193
- allowPattern: "",
194
- // TypeScript ESLint default options
195
- allowPrivateClassPropertyAccess: false,
196
- allowProtectedClassPropertyAccess: false,
197
- allowIndexSignaturePropertyAccess: false
228
+ ignoreDifferentlyNamedParameters: false,
229
+ ignoreOverloadsWithDifferentJSDoc: false
198
230
  }
199
231
  ],
200
232
  "@typescript-eslint/no-unnecessary-type-parameters": [2],
201
- "@typescript-eslint/no-invalid-void-type": [2],
202
- "@typescript-eslint/no-confusing-void-expression": [2],
203
- "@typescript-eslint/no-duplicate-type-constituents": [2],
233
+ "@typescript-eslint/no-invalid-void-type": [
234
+ 2,
235
+ {
236
+ allowAsThisParameter: false,
237
+ allowInGenericTypeArguments: true
238
+ }
239
+ ],
240
+ "@typescript-eslint/no-confusing-void-expression": [
241
+ 2,
242
+ {
243
+ ignoreArrowShorthand: false,
244
+ ignoreVoidOperator: false,
245
+ ignoreVoidReturningFunctions: false
246
+ }
247
+ ],
248
+ "@typescript-eslint/no-duplicate-type-constituents": [
249
+ 2,
250
+ {
251
+ ignoreIntersections: false,
252
+ ignoreUnions: false
253
+ }
254
+ ],
204
255
  "@typescript-eslint/require-await": [2],
205
256
  "@typescript-eslint/no-redundant-type-constituents": [2],
206
257
  "@typescript-eslint/no-unnecessary-type-arguments": [2],
207
- "@typescript-eslint/no-unnecessary-type-assertion": [2],
208
- "@typescript-eslint/prefer-nullish-coalescing": [2],
209
- "@typescript-eslint/no-inferrable-types": [2],
210
- "@typescript-eslint/no-empty-function": [
258
+ "@typescript-eslint/no-unnecessary-type-assertion": [
259
+ 2,
260
+ { typesToIgnore: [] }
261
+ ],
262
+ "@typescript-eslint/prefer-nullish-coalescing": [
263
+ 2,
264
+ {
265
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false,
266
+ ignoreBooleanCoercion: false,
267
+ ignoreConditionalTests: true,
268
+ ignoreIfStatements: false,
269
+ ignoreMixedLogicalExpressions: false,
270
+ ignorePrimitives: {
271
+ bigint: false,
272
+ boolean: false,
273
+ number: false,
274
+ string: false
275
+ },
276
+ ignoreTernaryTests: false
277
+ }
278
+ ],
279
+ "@typescript-eslint/no-inferrable-types": [
211
280
  2,
212
281
  {
213
- // Related issue: https://github.com/typescript-eslint/typescript-eslint/issues/10338
214
- // Base ESLint default options
215
- allow: []
282
+ ignoreParameters: false,
283
+ ignoreProperties: false
216
284
  }
217
285
  ],
218
- "@typescript-eslint/no-unused-expressions": [
286
+ "@typescript-eslint/no-require-imports": [
219
287
  2,
220
288
  {
221
- // Related issue: https://github.com/typescript-eslint/typescript-eslint/issues/10338
222
- // Base ESLint default options
223
- allowShortCircuit: false,
224
- allowTernary: false,
225
- allowTaggedTemplates: false,
226
- enforceForJSX: false
289
+ allow: [],
290
+ allowAsImport: true
227
291
  }
228
292
  ],
229
- "object-shorthand": [2],
230
- ...rulesToDisable
293
+ "object-shorthand": [
294
+ 2,
295
+ "always",
296
+ {
297
+ avoidExplicitReturnArrows: true,
298
+ avoidQuotes: true,
299
+ ignoreConstructors: true,
300
+ methodsIgnorePattern: ""
301
+ }
302
+ ],
303
+ ...disabledRules
231
304
  },
232
- linterOptions: { reportUnusedDisableDirectives: 2 }
305
+ linterOptions: {
306
+ reportUnusedDisableDirectives: 2
307
+ }
233
308
  },
234
309
  {
235
- name: "@aryaemami59/commonjs",
236
- files: ["**/*.c[jt]s"],
237
- languageOptions: { sourceType: "commonjs" },
310
+ name: `${packageName}/commonjs-files`,
311
+ files: ["**/*.cjs"],
312
+ languageOptions: {
313
+ sourceType: "commonjs"
314
+ },
238
315
  rules: {
239
316
  "@typescript-eslint/no-require-imports": [
240
317
  0,
241
- [{ allow: [], allowAsImport: false }]
318
+ {
319
+ allow: [],
320
+ allowAsImport: false
321
+ }
242
322
  ]
243
323
  }
244
- }
324
+ },
325
+ import_flat.default
245
326
  );
327
+
328
+ // src/utils.ts
246
329
  var createESLintConfig = (additionalOverrides = []) => /* @__PURE__ */ (0, import_typescript_eslint.config)(...flatESLintConfig, ...additionalOverrides);
247
330
  // Annotate the CommonJS export names for ESM import in node:
248
331
  0 && (module.exports = {
332
+ config,
333
+ configs,
249
334
  createESLintConfig,
335
+ disabledRules,
250
336
  flatESLintConfig,
251
337
  globalIgnores,
252
338
  globals,
253
- rulesToDisable,
339
+ js,
340
+ parser,
341
+ plugin,
342
+ prettierConfig,
254
343
  vitestGlobals
255
344
  });
256
345
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import js from '@eslint/js'\nimport type { TSESLint } from '@typescript-eslint/utils'\nimport type { Linter } from 'eslint'\nimport prettierConfig from 'eslint-config-prettier'\nimport globalIdentifiers from 'globals'\nimport type { ConfigWithExtends } from 'typescript-eslint'\nimport { config, configs, parser } from 'typescript-eslint'\n\nconst { browser, node, nodeBuiltin } = globalIdentifiers\n\n/**\n * An object representing\n * {@link https://eslint.org/docs/latest/use/configure/ignore#ignoring-files | **global ignore patterns**}\n * for ESLint configuration.\n *\n * @since 0.0.3\n * @public\n */\nexport const globalIgnores = {\n name: '@aryaemami59/global-ignores',\n ignores: [\n '**/dist/',\n '**/.yalc/',\n '**/build/',\n '**/lib/',\n '**/temp/',\n '**/.yarn/',\n '**/coverage/',\n ],\n} as const satisfies Linter.Config\n\n/**\n * An object representing the\n * {@link https://vitest.dev/config/#globals | globals} provided by\n * {@link https://vitest.dev | **Vitest**} for use in testing.\n *\n * @since 0.0.3\n * @public\n */\nexport const vitestGlobals = {\n suite: 'writable',\n test: 'writable',\n describe: 'writable',\n it: 'writable',\n expectTypeOf: 'writable',\n assertType: 'writable',\n expect: 'writable',\n assert: 'writable',\n vitest: 'writable',\n vi: 'writable',\n beforeAll: 'writable',\n afterAll: 'writable',\n beforeEach: 'writable',\n afterEach: 'writable',\n onTestFailed: 'writable',\n onTestFinished: 'writable',\n} as const satisfies Linter.Globals\n\n/**\n * An object that specifies which global\n * variables are available during linting.\n *\n * @since 0.0.3\n * @public\n */\nexport const globals: typeof vitestGlobals &\n typeof browser &\n typeof node &\n typeof nodeBuiltin = /* @__PURE__ */ Object.assign(\n vitestGlobals,\n browser,\n node,\n nodeBuiltin,\n) satisfies Linter.Globals\n\n/**\n * An object comprised of ESLint rules to disable.\n * These rules are disabled in {@linkcode flatESLintConfig}.\n *\n * @since 0.0.3\n * @public\n */\nexport const rulesToDisable = {\n 'no-undef': [0],\n '@typescript-eslint/no-unused-vars': [\n 0,\n {\n vars: 'all',\n args: 'after-used',\n caughtErrors: 'all',\n ignoreRestSiblings: false,\n reportUsedIgnorePattern: false,\n },\n ],\n '@typescript-eslint/ban-ts-comment': [\n 0,\n [\n {\n 'ts-expect-error': 'allow-with-description',\n 'ts-ignore': true,\n 'ts-nocheck': true,\n 'ts-check': false,\n minimumDescriptionLength: 3,\n },\n ],\n ],\n} as const satisfies Linter.RulesRecord\n\n/**\n * Flat ESLint configuration tailored for projects using TypeScript.\n *\n * @example\n * <caption>#### __ECMAScript Modules (ESM) usage inside a file like `eslint.config.mts` or `eslint.config.mjs`__</caption>\n *\n * ```ts\n * import { flatESLintConfig } from '@aryaemami59/eslint-config'\n *\n * export default flatESLintConfig\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` or `eslint.config.cjs` (using `require`)__</caption>\n *\n * ```ts\n * const { flatESLintConfig } = require('@aryaemami59/eslint-config')\n *\n * module.exports = flatESLintConfig\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cjs` or `eslint.config.cts` (using dynamic import)__</caption>\n *\n * ```ts\n * module.exports = (async () =>\n * (await import('@aryaemami59/eslint-config')).flatESLintConfig)()\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` (using import and export assignment)__</caption>\n *\n * ```ts\n * import eslintConfigModule = require('@aryaemami59/eslint-config')\n * import flatESLintConfig = eslintConfigModule.flatESLintConfig\n *\n * export = flatESLintConfig\n * ```\n *\n * @since 0.0.3\n * @public\n */\nexport const flatESLintConfig: TSESLint.FlatConfig.Config[] =\n /* @__PURE__ */ config(\n // `ignores` must be first.\n // config with just `ignores` is the replacement for `.eslintignore`\n globalIgnores,\n { name: '@aryaemami59/javascript', ...js.configs.recommended },\n ...configs.recommended,\n ...configs.stylistic,\n { name: '@aryaemami59/prettier-config', ...prettierConfig },\n {\n name: '@aryaemami59/main',\n languageOptions: {\n globals,\n parser,\n parserOptions: {\n projectService: {\n allowDefaultProject: ['.*.js', '.*.mjs', '.*.cjs'],\n defaultProject: './tsconfig.json',\n },\n ecmaVersion: 'latest',\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-imports': [\n 2,\n {\n prefer: 'type-imports',\n fixStyle: 'separate-type-imports',\n disallowTypeAnnotations: true,\n },\n ],\n '@typescript-eslint/consistent-type-exports': [\n 2,\n { fixMixedExportsWithInlineTypeSpecifier: false },\n ],\n '@typescript-eslint/no-explicit-any': [\n 2,\n { fixToUnknown: false, ignoreRestArgs: false },\n ],\n '@typescript-eslint/no-empty-object-type': [\n 2,\n { allowInterfaces: 'never', allowObjectTypes: 'never' },\n ],\n '@typescript-eslint/no-restricted-types': [\n 2,\n {\n types: {\n '{}': {\n message: `\n- If you want to represent an empty object, use \\`type EmptyObject = Record<string, never>\\`.\n- If you want to represent an object literal, use either \\`type AnyObject = Record<string, any>\\` or \\`object\\`.\n- If you want to represent any non-nullish value, use \\`type AnyNonNullishValue = NonNullable<unknown>\\`.`,\n suggest: [\n 'AnyNonNullishValue',\n 'EmptyObject',\n 'AnyObject',\n 'object',\n 'Record<string, never>',\n 'Record<string, any>',\n 'NonNullable<unknown>',\n ],\n },\n },\n },\n ],\n '@typescript-eslint/no-namespace': [\n 2,\n { allowDeclarations: false, allowDefinitionFiles: true },\n ],\n '@typescript-eslint/consistent-type-definitions': [2, 'type'],\n 'sort-imports': [\n 2,\n {\n ignoreCase: false,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],\n allowSeparatedGroups: true,\n },\n ],\n '@typescript-eslint/unified-signatures': [2],\n '@typescript-eslint/dot-notation': [\n 2,\n {\n // Related issue: https://github.com/typescript-eslint/typescript-eslint/issues/10338\n // Base ESLint default options\n allowKeywords: true,\n allowPattern: '',\n // TypeScript ESLint default options\n allowPrivateClassPropertyAccess: false,\n allowProtectedClassPropertyAccess: false,\n allowIndexSignaturePropertyAccess: false,\n },\n ],\n '@typescript-eslint/no-unnecessary-type-parameters': [2],\n '@typescript-eslint/no-invalid-void-type': [2],\n '@typescript-eslint/no-confusing-void-expression': [2],\n '@typescript-eslint/no-duplicate-type-constituents': [2],\n '@typescript-eslint/require-await': [2],\n '@typescript-eslint/no-redundant-type-constituents': [2],\n '@typescript-eslint/no-unnecessary-type-arguments': [2],\n '@typescript-eslint/no-unnecessary-type-assertion': [2],\n '@typescript-eslint/prefer-nullish-coalescing': [2],\n '@typescript-eslint/no-inferrable-types': [2],\n '@typescript-eslint/no-empty-function': [\n 2,\n {\n // Related issue: https://github.com/typescript-eslint/typescript-eslint/issues/10338\n // Base ESLint default options\n allow: [],\n },\n ],\n '@typescript-eslint/no-unused-expressions': [\n 2,\n {\n // Related issue: https://github.com/typescript-eslint/typescript-eslint/issues/10338\n // Base ESLint default options\n allowShortCircuit: false,\n allowTernary: false,\n allowTaggedTemplates: false,\n enforceForJSX: false,\n },\n ],\n 'object-shorthand': [2],\n ...rulesToDisable,\n },\n linterOptions: { reportUnusedDisableDirectives: 2 },\n },\n {\n name: '@aryaemami59/commonjs',\n files: ['**/*.c[jt]s'],\n languageOptions: { sourceType: 'commonjs' },\n rules: {\n '@typescript-eslint/no-require-imports': [\n 0,\n [{ allow: [], allowAsImport: false }],\n ],\n },\n },\n )\n\n/**\n * A function that returns {@linkcode flatESLintConfig}\n * along with optional additional overrides.\n * It's made mainly to provide intellisense and eliminate\n * the need for manual type annotations using JSDoc comments.\n *\n * @param additionalOverrides - **Optional** additional overrides to apply to the configuration.\n * @returns An augmented version of the default {@linkcode flatESLintConfig}, incorporating any provided overrides.\n *\n * @example\n * <caption>#### __ECMAScript Modules (ESM) usage inside a file like `eslint.config.mts` or `eslint.config.mjs`__</caption>\n *\n * ```ts\n * import { createESLintConfig } from '@aryaemami59/eslint-config'\n *\n * export default createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ])\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` or `eslint.config.cjs` (using `require`)__</caption>\n *\n * ```ts\n * const { createESLintConfig } = require('@aryaemami59/eslint-config')\n *\n * module.exports = createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ])\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` or `eslint.config.cjs` (using dynamic import)__</caption>\n *\n * ```ts\n * module.exports = (async () =>\n * (await import('@aryaemami59/eslint-config')).createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ]))()\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` (using import and export assignment)__</caption>\n *\n * ```ts\n * import eslintConfigModule = require('@aryaemami59/eslint-config')\n * import createESLintConfig = eslintConfigModule.createESLintConfig\n *\n * export = createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ])\n * ```\n *\n * @since 0.0.3\n * @public\n */\nexport const createESLintConfig = (\n additionalOverrides: ConfigWithExtends[] = [],\n): TSESLint.FlatConfig.Config[] =>\n /* @__PURE__ */ config(...flatESLintConfig, ...additionalOverrides)\n"],"mappings":"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","names":["globalIdentifiers","js","prettierConfig"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/disabledRules.ts","../src/external.ts","../src/packageName.ts","../src/globalIgnores.ts","../src/globals.ts","../src/shareableConfigs.ts","../src/utils.ts"],"sourcesContent":["export { disabledRules } from './disabledRules.js'\nexport {\n config,\n configs,\n js,\n parser,\n plugin,\n prettierConfig,\n} from './external.js'\nexport type {\n Config,\n ConfigArray,\n ConfigWithExtends,\n InfiniteDepthConfigWithExtends,\n} from './external.js'\nexport { globalIgnores } from './globalIgnores.js'\nexport { globals, vitestGlobals } from './globals.js'\nexport { flatESLintConfig } from './shareableConfigs.js'\nexport { createESLintConfig } from './utils.js'\n","import type { Linter } from 'eslint'\n\n/**\n * An object comprised of ESLint rules to disable.\n * These rules are disabled in {@linkcode flatESLintConfig}.\n *\n * @since 0.0.3\n * @public\n */\nexport const disabledRules = {\n 'no-undef': [0, { typeof: false }],\n '@typescript-eslint/no-unused-vars': [\n 0,\n {\n args: 'all',\n argsIgnorePattern: '^_',\n caughtErrors: 'all',\n caughtErrorsIgnorePattern: '^_',\n destructuredArrayIgnorePattern: '^_',\n varsIgnorePattern: '^_',\n ignoreRestSiblings: true,\n },\n ],\n '@typescript-eslint/ban-ts-comment': [\n 0,\n {\n 'ts-expect-error': 'allow-with-description',\n 'ts-ignore': true,\n 'ts-nocheck': true,\n 'ts-check': false,\n minimumDescriptionLength: 3,\n },\n ],\n} as const satisfies Linter.RulesRecord satisfies Record<\n keyof Linter.RulesRecord,\n [Extract<Linter.Severity, 0>, ...(readonly unknown[])]\n>\n","import js from '@eslint/js'\nimport prettierConfig from 'eslint-config-prettier/flat'\nexport { config, configs, parser, plugin } from 'typescript-eslint'\nexport type {\n Config,\n ConfigArray,\n ConfigWithExtends,\n InfiniteDepthConfigWithExtends,\n} from 'typescript-eslint'\nexport { js, prettierConfig }\n","/**\n * This is used because if we import the package name from the\n * `package.json` file, it will be bundled into the final output,\n * which is not desired.\n *\n * @since 0.0.5\n * @internal\n */\nexport const packageName = '@aryaemami59/eslint-config'\n","import type { TSESLint } from '@typescript-eslint/utils'\nimport type { Linter } from 'eslint'\nimport { packageName } from './packageName.js'\n\n/**\n * An object representing\n * {@link https://eslint.org/docs/latest/use/configure/ignore#ignoring-files | **global ignore patterns**}\n * for ESLint configuration.\n *\n * @since 0.0.3\n * @public\n */\nexport const globalIgnores = {\n name: `${packageName}/global-ignores`,\n ignores: [\n '**/dist/',\n '**/build/',\n '**/lib/',\n '**/coverage/',\n '**/__snapshots__/',\n '**/temp/',\n '**/.temp/',\n '**/.tmp/',\n '**/.yalc/',\n '**/.yarn/',\n '**/.docusaurus/',\n '**/.next/',\n '**/.expo/',\n '**/*.snap',\n ],\n} as const satisfies TSESLint.FlatConfig.Config satisfies Linter.Config\n","import type { Linter } from 'eslint'\nimport globalIdentifiers from 'globals'\n\nconst { browser, node, nodeBuiltin, vitest } = globalIdentifiers\n\n/**\n * An object representing the\n * {@link https://vitest.dev/config/#globals | globals} provided by\n * {@link https://vitest.dev | **Vitest**} for use in testing.\n *\n * @since 0.0.3\n * @public\n */\nexport const vitestGlobals = {\n suite: 'writable',\n test: 'writable',\n chai: 'writable',\n describe: 'writable',\n it: 'writable',\n expectTypeOf: 'writable',\n assertType: 'writable',\n expect: 'writable',\n assert: 'writable',\n vitest: 'writable',\n vi: 'writable',\n beforeAll: 'writable',\n afterAll: 'writable',\n beforeEach: 'writable',\n afterEach: 'writable',\n onTestFailed: 'writable',\n onTestFinished: 'writable',\n} as const satisfies Linter.Globals satisfies Record<\n keyof typeof vitest,\n Extract<Linter.GlobalConf, 'writable'>\n>\n\n/**\n * An object that specifies which global\n * variables are available during linting.\n *\n * @since 0.0.3\n * @public\n */\nexport const globals =\n /* @__PURE__ */\n Object.assign(\n {\n ...browser,\n ...node,\n ...nodeBuiltin,\n } as const satisfies Linter.Globals,\n\n {\n ...vitest,\n ...vitestGlobals,\n } as const satisfies Linter.Globals,\n ) satisfies Linter.Globals\n","import type { TSESLint } from '@typescript-eslint/utils'\nimport type { Linter } from 'eslint'\nimport { disabledRules } from './disabledRules.js'\nimport { config, configs, js, prettierConfig } from './external.js'\nimport { globalIgnores } from './globalIgnores.js'\nimport { globals } from './globals.js'\nimport { packageName } from './packageName.js'\n\n/**\n * Flat ESLint configuration tailored for projects using TypeScript.\n *\n * @example\n * <caption>#### __ECMAScript Modules (ESM) usage inside a file like `eslint.config.mts` or `eslint.config.mjs`__</caption>\n *\n * ```ts\n * import { flatESLintConfig } from '@aryaemami59/eslint-config'\n *\n * export default flatESLintConfig\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` or `eslint.config.cjs` (using `require`)__</caption>\n *\n * ```ts\n * const { flatESLintConfig } = require('@aryaemami59/eslint-config')\n *\n * module.exports = flatESLintConfig\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cjs` or `eslint.config.cts` (using dynamic import)__</caption>\n *\n * ```ts\n * module.exports = (async () =>\n * (await import('@aryaemami59/eslint-config')).flatESLintConfig)()\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` (using import and export assignment)__</caption>\n *\n * ```ts\n * import eslintConfigModule = require('@aryaemami59/eslint-config')\n * import flatESLintConfig = eslintConfigModule.flatESLintConfig\n *\n * export = flatESLintConfig\n * ```\n *\n * @since 0.0.3\n * @public\n */\nexport const flatESLintConfig: TSESLint.FlatConfig.Config[] =\n /* @__PURE__ */ config(\n // `ignores` must be first.\n // config with just `ignores` is the replacement for `.eslintignore`\n globalIgnores,\n\n {\n name: `${js.meta.name}/recommended`,\n ...js.configs.recommended,\n } as const satisfies TSESLint.FlatConfig.Config satisfies Linter.Config,\n\n configs.recommended,\n configs.stylistic,\n\n {\n name: `${packageName}/defaults/overrides`,\n languageOptions: {\n globals,\n parserOptions: {\n ecmaVersion: 'latest',\n projectService: true,\n },\n },\n rules: {\n '@typescript-eslint/consistent-type-imports': [\n 2,\n {\n disallowTypeAnnotations: true,\n fixStyle: 'separate-type-imports',\n prefer: 'type-imports',\n },\n ],\n '@typescript-eslint/consistent-type-exports': [\n 2,\n { fixMixedExportsWithInlineTypeSpecifier: false },\n ],\n '@typescript-eslint/no-explicit-any': [\n 2,\n {\n fixToUnknown: false,\n ignoreRestArgs: false,\n },\n ],\n '@typescript-eslint/no-empty-object-type': [\n 2,\n {\n allowInterfaces: 'never',\n allowObjectTypes: 'never',\n },\n ],\n '@typescript-eslint/no-restricted-types': [\n 2,\n {\n types: {\n '{}': {\n message: `\n- If you want to represent an empty object, use \\`type EmptyObject = Record<string, never>\\`.\n- If you want to represent an object literal, use either \\`type AnyObject = Record<string, any>\\` or \\`object\\`.\n- If you want to represent any non-nullish value, use \\`type AnyNonNullishValue = NonNullable<unknown>\\`.`,\n suggest: [\n 'AnyNonNullishValue',\n 'EmptyObject',\n 'AnyObject',\n 'object',\n 'Record<string, never>',\n 'Record<string, any>',\n 'NonNullable<unknown>',\n ],\n },\n },\n },\n ],\n '@typescript-eslint/no-namespace': [\n 2,\n {\n allowDeclarations: false,\n allowDefinitionFiles: true,\n },\n ],\n '@typescript-eslint/consistent-type-definitions': [2, 'type'],\n 'sort-imports': [\n 2,\n {\n allowSeparatedGroups: true,\n ignoreCase: false,\n ignoreDeclarationSort: true,\n ignoreMemberSort: false,\n memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'],\n },\n ],\n '@typescript-eslint/unified-signatures': [\n 2,\n {\n ignoreDifferentlyNamedParameters: false,\n ignoreOverloadsWithDifferentJSDoc: false,\n },\n ],\n '@typescript-eslint/no-unnecessary-type-parameters': [2],\n '@typescript-eslint/no-invalid-void-type': [\n 2,\n {\n allowAsThisParameter: false,\n allowInGenericTypeArguments: true,\n },\n ],\n '@typescript-eslint/no-confusing-void-expression': [\n 2,\n {\n ignoreArrowShorthand: false,\n ignoreVoidOperator: false,\n ignoreVoidReturningFunctions: false,\n },\n ],\n '@typescript-eslint/no-duplicate-type-constituents': [\n 2,\n {\n ignoreIntersections: false,\n ignoreUnions: false,\n },\n ],\n '@typescript-eslint/require-await': [2],\n '@typescript-eslint/no-redundant-type-constituents': [2],\n '@typescript-eslint/no-unnecessary-type-arguments': [2],\n '@typescript-eslint/no-unnecessary-type-assertion': [\n 2,\n { typesToIgnore: [] },\n ],\n '@typescript-eslint/prefer-nullish-coalescing': [\n 2,\n {\n allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing: false,\n ignoreBooleanCoercion: false,\n ignoreConditionalTests: true,\n ignoreIfStatements: false,\n ignoreMixedLogicalExpressions: false,\n ignorePrimitives: {\n bigint: false,\n boolean: false,\n number: false,\n string: false,\n },\n ignoreTernaryTests: false,\n },\n ],\n '@typescript-eslint/no-inferrable-types': [\n 2,\n {\n ignoreParameters: false,\n ignoreProperties: false,\n },\n ],\n '@typescript-eslint/no-require-imports': [\n 2,\n {\n allow: [],\n allowAsImport: true,\n },\n ],\n 'object-shorthand': [\n 2,\n 'always',\n {\n avoidExplicitReturnArrows: true,\n avoidQuotes: true,\n ignoreConstructors: true,\n methodsIgnorePattern: '',\n },\n ],\n\n ...disabledRules,\n },\n\n linterOptions: {\n reportUnusedDisableDirectives: 2,\n },\n } as const satisfies TSESLint.FlatConfig.Config satisfies Linter.Config,\n\n {\n name: `${packageName}/commonjs-files`,\n files: ['**/*.cjs'],\n languageOptions: {\n sourceType: 'commonjs',\n },\n rules: {\n '@typescript-eslint/no-require-imports': [\n 0,\n {\n allow: [],\n allowAsImport: false,\n },\n ],\n },\n } as const satisfies TSESLint.FlatConfig.Config satisfies Linter.Config,\n\n prettierConfig,\n )\n","import type { TSESLint } from '@typescript-eslint/utils'\nimport type { ConfigWithExtends } from './external.js'\nimport { config } from './external.js'\nimport { flatESLintConfig } from './shareableConfigs.js'\n\n/**\n * A function that returns {@linkcode flatESLintConfig}\n * along with optional additional overrides.\n * It's made mainly to provide intellisense and eliminate\n * the need for manual type annotations using JSDoc comments.\n *\n * @param [additionalOverrides] - **Optional** additional overrides to apply to the configuration.\n * @returns An augmented version of the default {@linkcode flatESLintConfig}, incorporating any provided overrides.\n *\n * @example\n * <caption>#### __ECMAScript Modules (ESM) usage inside a file like `eslint.config.mts` or `eslint.config.mjs`__</caption>\n *\n * ```ts\n * import { createESLintConfig } from '@aryaemami59/eslint-config'\n *\n * export default createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ])\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` or `eslint.config.cjs` (using `require`)__</caption>\n *\n * ```ts\n * const { createESLintConfig } = require('@aryaemami59/eslint-config')\n *\n * module.exports = createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ])\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` or `eslint.config.cjs` (using dynamic import)__</caption>\n *\n * ```ts\n * module.exports = (async () =>\n * (await import('@aryaemami59/eslint-config')).createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ]))()\n * ```\n *\n * @example\n * <caption>#### __CommonJS (CJS) usage inside a file like `eslint.config.cts` (using import and export assignment)__</caption>\n *\n * ```ts\n * import eslintConfigModule = require('@aryaemami59/eslint-config')\n * import createESLintConfig = eslintConfigModule.createESLintConfig\n *\n * export = createESLintConfig([\n * {\n * rules: {\n * 'no-console': [0],\n * },\n * },\n * {\n * // ...Other additional overrides\n * },\n * ])\n * ```\n *\n * @since 0.0.3\n * @public\n */\nexport const createESLintConfig = (\n additionalOverrides: ConfigWithExtends[] = [],\n): TSESLint.FlatConfig.Config[] =>\n /* @__PURE__ */ config(...flatESLintConfig, ...additionalOverrides)\n"],"mappings":"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","names":["js","prettierConfig","globalIdentifiers","js","prettierConfig"]}