@ls-stack/eslint-cfg 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -11,6 +11,7 @@ var ERROR = 2;
11
11
  var ERROR_IN_CI = isCI ? ERROR : WARN;
12
12
  var ERROR_IN_CI_ONLY = isCI ? ERROR : 0;
13
13
  var errorOnExpiringTodos = process.env.EXPIRING_TODOS === "true" || !isCI;
14
+ var getNoTypeGuardsMessage = (secondaryInstruction) => `Check if the type guard can be inferred by typescript, in most cases it can, e.g. ".find((nullable) => nullable !== null)". ${secondaryInstruction} . As last resort move the type guard to *.typeGuards.(ts|tsx) or *.type-guards.(ts|tsx) files.`;
14
15
  var cfgFlags = {
15
16
  OFF,
16
17
  WARN,
@@ -159,17 +160,23 @@ function lsStackEslintCfg({
159
160
  ]
160
161
  }
161
162
  ],
163
+ "@ls-stack/use-top-level-regex": ERROR,
164
+ "@ls-stack/use-types-directly-above-usage": [ERROR],
165
+ "@ls-stack/template-indent": [ERROR_IN_CI, { tags: ["dedent"] }],
166
+ "@ls-stack/no-reexport": ERROR,
162
167
  "@ls-stack/no-type-guards": [
163
- ERROR,
168
+ ERROR_IN_CI,
164
169
  {
165
170
  alternativeMsgs: {
166
- inArrayFilter: "Use filterWithNarrowing instead",
167
- inArrayFind: "Use findWithNarrowing instead"
171
+ inArrayFind: getNoTypeGuardsMessage(
172
+ "If not, use findAndMap from @ls-stack/utils/arrayUtils."
173
+ ),
174
+ inArrayFilter: getNoTypeGuardsMessage(
175
+ "If not, use filterAndMap from @ls-stack/utils/arrayUtils."
176
+ )
168
177
  }
169
178
  }
170
179
  ],
171
- "@ls-stack/use-top-level-regex": ERROR,
172
- "@ls-stack/use-types-directly-above-usage": [ERROR],
173
180
  /* vitest */
174
181
  "vitest/expect-expect": ERROR_IN_CI,
175
182
  "vitest/no-identical-title": ERROR_IN_CI,
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.ts"],"sourcesContent":["import eslint from '@eslint/js';\nimport { extendedLintPlugin } from '@ls-stack/extended-lint';\nimport { TSESLint } from '@typescript-eslint/utils';\nimport eslintUnicornPlugin from 'eslint-plugin-unicorn';\nimport vitest from 'eslint-plugin-vitest';\nimport tseslint, { ConfigWithExtends } from 'typescript-eslint';\n\nconst isCI = process.env.CI === 'true';\n\nconst OFF = 0;\nconst WARN = 1;\nconst ERROR = 2;\nconst ERROR_IN_CI = isCI ? ERROR : WARN;\nconst ERROR_IN_CI_ONLY = isCI ? ERROR : 0;\nconst errorOnExpiringTodos = process.env.EXPIRING_TODOS === 'true' || !isCI;\n\nexport const cfgFlags: {\n OFF: 0;\n WARN: 1;\n ERROR: 2;\n ERROR_IN_CI: 0 | 1 | 2;\n ERROR_IN_CI_ONLY: 0 | 1 | 2;\n IS_CI: boolean;\n} = {\n OFF,\n WARN,\n ERROR,\n ERROR_IN_CI,\n ERROR_IN_CI_ONLY,\n IS_CI: isCI,\n};\n\n/**\n * Plugins:\n *\n * Use @ls-stack/{rule} to change ls-stack rules.\n * Use unicorn/{rule} to change unicorn rules.\n *\n * Env vars:\n * CI: if true, will be more strict.\n * EXPIRING_TODOS: if true, will not allow expiring todos.\n */\nexport function lsStackEslintCfg({\n extends: extendsConfig = [],\n rules,\n tsconfigRootDir,\n ignore = [],\n allowDefaultExport = ['eslint.config.{js,cjs,mjs,ts}'],\n}: {\n extends?: ConfigWithExtends['extends'];\n rules?: ConfigWithExtends['rules'];\n tsconfigRootDir: string;\n ignore?: string[];\n allowDefaultExport?: string[];\n}): TSESLint.FlatConfig.ConfigArray {\n return tseslint.config(\n eslint.configs.recommended,\n ...tseslint.configs.recommendedTypeChecked,\n {\n linterOptions: {\n reportUnusedDisableDirectives: true,\n },\n languageOptions: {\n parserOptions: {\n project: './tsconfig.json',\n tsconfigRootDir,\n },\n globals: { process: true },\n },\n },\n {\n plugins: {\n '@ls-stack': extendedLintPlugin,\n unicorn: eslintUnicornPlugin,\n vitest,\n },\n\n rules: {\n 'no-warning-comments': [ERROR_IN_CI, { terms: ['FIX:'] }],\n 'no-constant-binary-expression': ERROR_IN_CI,\n 'object-shorthand': ERROR_IN_CI,\n 'no-useless-rename': ERROR_IN_CI,\n 'no-param-reassign': ERROR_IN_CI,\n 'prefer-template': ERROR_IN_CI,\n 'prefer-const': [ERROR_IN_CI, { destructuring: 'all' }],\n\n 'no-prototype-builtins': OFF,\n 'no-inner-declarations': OFF,\n 'no-undef': OFF,\n 'no-console': [ERROR_IN_CI, { allow: ['warn', 'error', 'info'] }],\n 'no-restricted-imports': [\n ERROR_IN_CI,\n {\n patterns: [\n {\n group: ['*.test'],\n message: 'Do not import test files',\n },\n ],\n },\n ],\n 'no-restricted-syntax': [\n ERROR_IN_CI_ONLY,\n {\n selector: 'CallExpression[callee.property.name=\"only\"]',\n message: 'No test.only',\n },\n {\n selector: 'CallExpression[callee.property.name=\"todo\"]',\n message: 'No test.todo',\n },\n ],\n 'no-implicit-coercion': [\n ERROR_IN_CI,\n { disallowTemplateShorthand: true, allow: ['!!'] },\n ],\n\n /* typescript */\n '@typescript-eslint/no-unnecessary-condition': ERROR_IN_CI,\n '@typescript-eslint/no-non-null-assertion': ERROR_IN_CI,\n '@typescript-eslint/consistent-type-assertions': [\n ERROR,\n {\n assertionStyle: 'never',\n },\n ],\n '@typescript-eslint/naming-convention': [\n 'error',\n {\n selector: 'typeLike',\n format: ['PascalCase'],\n },\n ],\n '@typescript-eslint/only-throw-error': ERROR_IN_CI,\n '@typescript-eslint/no-unused-expressions': ERROR_IN_CI,\n '@typescript-eslint/no-unused-vars': [\n ERROR_IN_CI,\n {\n argsIgnorePattern: '_$',\n ignoreRestSiblings: true,\n varsIgnorePattern: '_$',\n },\n ],\n '@typescript-eslint/no-shadow': [\n ERROR_IN_CI,\n { ignoreOnInitialization: true, allow: ['expect'] },\n ],\n '@typescript-eslint/no-unsafe-assignment': OFF,\n\n 'unicorn/expiring-todo-comments': [\n ERROR_IN_CI,\n {\n terms: [\n 'FIX',\n // 'TODO',\n 'palinter-ignore-unused-next-line',\n 'palinter-ignore-not-have-direct-circular-deps',\n 'palinter-ignore-not-have-circular-deps',\n 'palinter-ignore-not-have-unused-exports',\n ],\n ignore: [/^ HACK:/],\n allowWarningComments: false,\n ...(!errorOnExpiringTodos && { date: '2000-01-01' }),\n },\n ],\n 'unicorn/require-array-join-separator': ERROR_IN_CI,\n 'unicorn/no-empty-file': ERROR_IN_CI,\n 'unicorn/no-array-reduce': [\n ERROR_IN_CI,\n { allowSimpleOperations: true },\n ],\n 'unicorn/no-array-for-each': ERROR_IN_CI,\n\n /* extended-lint */\n '@ls-stack/no-unused-type-props-in-args': ERROR,\n '@ls-stack/improved-no-unnecessary-condition': ERROR,\n '@ls-stack/no-optional-root-props': ERROR_IN_CI,\n '@ls-stack/prefer-single-line-if': [\n WARN,\n { maxLineLength: 80, maxNonSimpleConditionLength: 40 },\n ],\n '@ls-stack/prefer-named-functions': [WARN, { ignoreRegex: 'Fn$' }],\n '@ls-stack/require-description': [ERROR, { ignore: ['eslint'] }],\n '@ls-stack/no-default-export': ERROR,\n '@ls-stack/no-unnecessary-casting': [\n ERROR_IN_CI,\n {\n additionalCastFunctions: [\n { name: 'castToString', expectedType: 'string' },\n { name: 'castToNumber', expectedType: 'number' },\n ],\n },\n ],\n '@ls-stack/no-type-guards': [\n ERROR,\n {\n alternativeMsgs: {\n inArrayFilter: 'Use filterWithNarrowing instead',\n inArrayFind: 'Use findWithNarrowing instead',\n },\n },\n ],\n '@ls-stack/use-top-level-regex': ERROR,\n '@ls-stack/use-types-directly-above-usage': [ERROR],\n\n /* vitest */\n 'vitest/expect-expect': ERROR_IN_CI,\n 'vitest/no-identical-title': ERROR_IN_CI,\n\n ...rules,\n },\n },\n {\n files: ['*.test.ts', '*.spec.ts'],\n ...vitest.configs.recommended,\n },\n {\n files: allowDefaultExport,\n rules: {\n '@ls-stack/no-default-export': OFF,\n },\n },\n ...extendsConfig,\n {\n ignores: ignore,\n },\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/main.ts"],"sourcesContent":["import eslint from '@eslint/js';\nimport { extendedLintPlugin } from '@ls-stack/extended-lint';\nimport { TSESLint } from '@typescript-eslint/utils';\nimport eslintUnicornPlugin from 'eslint-plugin-unicorn';\nimport vitest from 'eslint-plugin-vitest';\nimport tseslint, { ConfigWithExtends } from 'typescript-eslint';\n\nconst isCI = process.env.CI === 'true';\n\nconst OFF = 0;\nconst WARN = 1;\nconst ERROR = 2;\nconst ERROR_IN_CI = isCI ? ERROR : WARN;\nconst ERROR_IN_CI_ONLY = isCI ? ERROR : 0;\nconst errorOnExpiringTodos = process.env.EXPIRING_TODOS === 'true' || !isCI;\n\nconst getNoTypeGuardsMessage = (secondaryInstruction: string) =>\n `Check if the type guard can be inferred by typescript, in most cases it can, e.g. \".find((nullable) => nullable !== null)\". ${secondaryInstruction} . As last resort move the type guard to *.typeGuards.(ts|tsx) or *.type-guards.(ts|tsx) files.`;\n\nexport const cfgFlags: {\n OFF: 0;\n WARN: 1;\n ERROR: 2;\n ERROR_IN_CI: 0 | 1 | 2;\n ERROR_IN_CI_ONLY: 0 | 1 | 2;\n IS_CI: boolean;\n} = {\n OFF,\n WARN,\n ERROR,\n ERROR_IN_CI,\n ERROR_IN_CI_ONLY,\n IS_CI: isCI,\n};\n\n/**\n * Plugins:\n *\n * Use @ls-stack/{rule} to change ls-stack rules.\n * Use unicorn/{rule} to change unicorn rules.\n *\n * Env vars:\n * CI: if true, will be more strict.\n * EXPIRING_TODOS: if true, will not allow expiring todos.\n */\nexport function lsStackEslintCfg({\n extends: extendsConfig = [],\n rules,\n tsconfigRootDir,\n ignore = [],\n allowDefaultExport = ['eslint.config.{js,cjs,mjs,ts}'],\n}: {\n extends?: ConfigWithExtends['extends'];\n rules?: ConfigWithExtends['rules'];\n tsconfigRootDir: string;\n ignore?: string[];\n allowDefaultExport?: string[];\n}): TSESLint.FlatConfig.ConfigArray {\n return tseslint.config(\n eslint.configs.recommended,\n ...tseslint.configs.recommendedTypeChecked,\n {\n linterOptions: {\n reportUnusedDisableDirectives: true,\n },\n languageOptions: {\n parserOptions: {\n project: './tsconfig.json',\n tsconfigRootDir,\n },\n globals: { process: true },\n },\n },\n {\n plugins: {\n '@ls-stack': extendedLintPlugin,\n unicorn: eslintUnicornPlugin,\n vitest,\n },\n\n rules: {\n 'no-warning-comments': [ERROR_IN_CI, { terms: ['FIX:'] }],\n 'no-constant-binary-expression': ERROR_IN_CI,\n 'object-shorthand': ERROR_IN_CI,\n 'no-useless-rename': ERROR_IN_CI,\n 'no-param-reassign': ERROR_IN_CI,\n 'prefer-template': ERROR_IN_CI,\n 'prefer-const': [ERROR_IN_CI, { destructuring: 'all' }],\n\n 'no-prototype-builtins': OFF,\n 'no-inner-declarations': OFF,\n 'no-undef': OFF,\n 'no-console': [ERROR_IN_CI, { allow: ['warn', 'error', 'info'] }],\n 'no-restricted-imports': [\n ERROR_IN_CI,\n {\n patterns: [\n {\n group: ['*.test'],\n message: 'Do not import test files',\n },\n ],\n },\n ],\n 'no-restricted-syntax': [\n ERROR_IN_CI_ONLY,\n {\n selector: 'CallExpression[callee.property.name=\"only\"]',\n message: 'No test.only',\n },\n {\n selector: 'CallExpression[callee.property.name=\"todo\"]',\n message: 'No test.todo',\n },\n ],\n 'no-implicit-coercion': [\n ERROR_IN_CI,\n { disallowTemplateShorthand: true, allow: ['!!'] },\n ],\n\n /* typescript */\n '@typescript-eslint/no-unnecessary-condition': ERROR_IN_CI,\n '@typescript-eslint/no-non-null-assertion': ERROR_IN_CI,\n '@typescript-eslint/consistent-type-assertions': [\n ERROR,\n {\n assertionStyle: 'never',\n },\n ],\n '@typescript-eslint/naming-convention': [\n 'error',\n {\n selector: 'typeLike',\n format: ['PascalCase'],\n },\n ],\n '@typescript-eslint/only-throw-error': ERROR_IN_CI,\n '@typescript-eslint/no-unused-expressions': ERROR_IN_CI,\n '@typescript-eslint/no-unused-vars': [\n ERROR_IN_CI,\n {\n argsIgnorePattern: '_$',\n ignoreRestSiblings: true,\n varsIgnorePattern: '_$',\n },\n ],\n '@typescript-eslint/no-shadow': [\n ERROR_IN_CI,\n { ignoreOnInitialization: true, allow: ['expect'] },\n ],\n '@typescript-eslint/no-unsafe-assignment': OFF,\n\n 'unicorn/expiring-todo-comments': [\n ERROR_IN_CI,\n {\n terms: [\n 'FIX',\n // 'TODO',\n 'palinter-ignore-unused-next-line',\n 'palinter-ignore-not-have-direct-circular-deps',\n 'palinter-ignore-not-have-circular-deps',\n 'palinter-ignore-not-have-unused-exports',\n ],\n ignore: [/^ HACK:/],\n allowWarningComments: false,\n ...(!errorOnExpiringTodos && { date: '2000-01-01' }),\n },\n ],\n 'unicorn/require-array-join-separator': ERROR_IN_CI,\n 'unicorn/no-empty-file': ERROR_IN_CI,\n 'unicorn/no-array-reduce': [\n ERROR_IN_CI,\n { allowSimpleOperations: true },\n ],\n 'unicorn/no-array-for-each': ERROR_IN_CI,\n\n /* extended-lint */\n '@ls-stack/no-unused-type-props-in-args': ERROR,\n '@ls-stack/improved-no-unnecessary-condition': ERROR,\n '@ls-stack/no-optional-root-props': ERROR_IN_CI,\n '@ls-stack/prefer-single-line-if': [\n WARN,\n { maxLineLength: 80, maxNonSimpleConditionLength: 40 },\n ],\n '@ls-stack/prefer-named-functions': [WARN, { ignoreRegex: 'Fn$' }],\n '@ls-stack/require-description': [ERROR, { ignore: ['eslint'] }],\n '@ls-stack/no-default-export': ERROR,\n '@ls-stack/no-unnecessary-casting': [\n ERROR_IN_CI,\n {\n additionalCastFunctions: [\n { name: 'castToString', expectedType: 'string' },\n { name: 'castToNumber', expectedType: 'number' },\n ],\n },\n ],\n '@ls-stack/use-top-level-regex': ERROR,\n '@ls-stack/use-types-directly-above-usage': [ERROR],\n '@ls-stack/template-indent': [ERROR_IN_CI, { tags: ['dedent'] }],\n '@ls-stack/no-reexport': ERROR,\n '@ls-stack/no-type-guards': [\n ERROR_IN_CI,\n {\n alternativeMsgs: {\n inArrayFind: getNoTypeGuardsMessage(\n 'If not, use findAndMap from @ls-stack/utils/arrayUtils.',\n ),\n inArrayFilter: getNoTypeGuardsMessage(\n 'If not, use filterAndMap from @ls-stack/utils/arrayUtils.',\n ),\n },\n },\n ],\n\n /* vitest */\n 'vitest/expect-expect': ERROR_IN_CI,\n 'vitest/no-identical-title': ERROR_IN_CI,\n\n ...rules,\n },\n },\n {\n files: ['*.test.ts', '*.spec.ts'],\n ...vitest.configs.recommended,\n },\n {\n files: allowDefaultExport,\n rules: {\n '@ls-stack/no-default-export': OFF,\n },\n },\n ...extendsConfig,\n {\n ignores: ignore,\n },\n );\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ls-stack/eslint-cfg",
3
3
  "description": "Eslint cfg preset of @ls-stack packages",
4
- "version": "0.2.0",
4
+ "version": "0.3.0",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist"