├── .editorconfig ├── .eslintrc.cjs ├── .github ├── CODEOWNERS ├── FUNDING.yml ├── renovate.json5 └── workflows │ ├── ci.yml │ └── publish.yml ├── .gitignore ├── .prettierignore ├── .prettierrc.cjs ├── LICENSE ├── README.md ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── scripts ├── clean.ts └── generate-plugin-dts.ts ├── tsconfig.json └── types ├── deprecation ├── README.md ├── index.d.ts ├── package.json ├── rules │ └── deprecation.d.ts └── types.d.ts ├── import ├── README.md ├── index.d.ts ├── package.json ├── rules │ ├── consistent-type-specifier-style.d.ts │ ├── default.d.ts │ ├── dynamic-import-chunkname.d.ts │ ├── export.d.ts │ ├── exports-last.d.ts │ ├── extensions.d.ts │ ├── first.d.ts │ ├── group-exports.d.ts │ ├── imports-first.d.ts │ ├── max-dependencies.d.ts │ ├── named.d.ts │ ├── namespace.d.ts │ ├── newline-after-import.d.ts │ ├── no-absolute-path.d.ts │ ├── no-amd.d.ts │ ├── no-anonymous-default-export.d.ts │ ├── no-commonjs.d.ts │ ├── no-cycle.d.ts │ ├── no-default-export.d.ts │ ├── no-deprecated.d.ts │ ├── no-duplicates.d.ts │ ├── no-dynamic-require.d.ts │ ├── no-empty-named-blocks.d.ts │ ├── no-extraneous-dependencies.d.ts │ ├── no-import-module-exports.d.ts │ ├── no-internal-modules.d.ts │ ├── no-mutable-exports.d.ts │ ├── no-named-as-default-member.d.ts │ ├── no-named-as-default.d.ts │ ├── no-named-default.d.ts │ ├── no-named-export.d.ts │ ├── no-namespace.d.ts │ ├── no-nodejs-modules.d.ts │ ├── no-relative-packages.d.ts │ ├── no-relative-parent-imports.d.ts │ ├── no-restricted-paths.d.ts │ ├── no-self-import.d.ts │ ├── no-unassigned-import.d.ts │ ├── no-unresolved.d.ts │ ├── no-unused-modules.d.ts │ ├── no-useless-path-segments.d.ts │ ├── no-webpack-loader-syntax.d.ts │ ├── order.d.ts │ ├── prefer-default-export.d.ts │ └── unambiguous.d.ts ├── settings.d.ts └── types.d.ts ├── jsdoc ├── README.md ├── index.d.ts ├── package.json ├── rules │ ├── check-access.d.ts │ ├── check-alignment.d.ts │ ├── check-examples.d.ts │ ├── check-indentation.d.ts │ ├── check-line-alignment.d.ts │ ├── check-param-names.d.ts │ ├── check-property-names.d.ts │ ├── check-syntax.d.ts │ ├── check-tag-names.d.ts │ ├── check-types.d.ts │ ├── check-values.d.ts │ ├── empty-tags.d.ts │ ├── implements-on-classes.d.ts │ ├── imports-as-dependencies.d.ts │ ├── informative-docs.d.ts │ ├── match-description.d.ts │ ├── match-name.d.ts │ ├── multiline-blocks.d.ts │ ├── no-bad-blocks.d.ts │ ├── no-blank-block-descriptions.d.ts │ ├── no-blank-blocks.d.ts │ ├── no-defaults.d.ts │ ├── no-missing-syntax.d.ts │ ├── no-multi-asterisks.d.ts │ ├── no-restricted-syntax.d.ts │ ├── no-types.d.ts │ ├── no-undefined-types.d.ts │ ├── require-asterisk-prefix.d.ts │ ├── require-description-complete-sentence.d.ts │ ├── require-description.d.ts │ ├── require-example.d.ts │ ├── require-file-overview.d.ts │ ├── require-hyphen-before-param-description.d.ts │ ├── require-jsdoc.d.ts │ ├── require-param-description.d.ts │ ├── require-param-name.d.ts │ ├── require-param-type.d.ts │ ├── require-param.d.ts │ ├── require-property-description.d.ts │ ├── require-property-name.d.ts │ ├── require-property-type.d.ts │ ├── require-property.d.ts │ ├── require-returns-check.d.ts │ ├── require-returns-description.d.ts │ ├── require-returns-type.d.ts │ ├── require-returns.d.ts │ ├── require-throws.d.ts │ ├── require-yields-check.d.ts │ ├── require-yields.d.ts │ ├── sort-tags.d.ts │ ├── tag-lines.d.ts │ ├── text-escaping.d.ts │ └── valid-types.d.ts ├── settings.d.ts └── types.d.ts ├── prettier ├── README.md ├── index.d.ts ├── package.json ├── rules │ └── prettier.d.ts └── types.d.ts ├── typescript-eslint ├── README.md ├── index.d.ts ├── package.json ├── parser-options.d.ts ├── parsers.d.ts ├── rules │ ├── adjacent-overload-signatures.d.ts │ ├── array-type.d.ts │ ├── await-thenable.d.ts │ ├── ban-ts-comment.d.ts │ ├── ban-tslint-comment.d.ts │ ├── ban-types.d.ts │ ├── block-spacing.d.ts │ ├── brace-style.d.ts │ ├── class-literal-property-style.d.ts │ ├── class-methods-use-this.d.ts │ ├── comma-dangle.d.ts │ ├── comma-spacing.d.ts │ ├── consistent-generic-constructors.d.ts │ ├── consistent-indexed-object-style.d.ts │ ├── consistent-return.d.ts │ ├── consistent-type-assertions.d.ts │ ├── consistent-type-definitions.d.ts │ ├── consistent-type-exports.d.ts │ ├── consistent-type-imports.d.ts │ ├── default-param-last.d.ts │ ├── dot-notation.d.ts │ ├── explicit-function-return-type.d.ts │ ├── explicit-member-accessibility.d.ts │ ├── explicit-module-boundary-types.d.ts │ ├── func-call-spacing.d.ts │ ├── indent.d.ts │ ├── init-declarations.d.ts │ ├── key-spacing.d.ts │ ├── keyword-spacing.d.ts │ ├── lines-around-comment.d.ts │ ├── lines-between-class-members.d.ts │ ├── max-params.d.ts │ ├── member-delimiter-style.d.ts │ ├── member-ordering.d.ts │ ├── method-signature-style.d.ts │ ├── naming-convention.d.ts │ ├── no-array-constructor.d.ts │ ├── no-array-delete.d.ts │ ├── no-base-to-string.d.ts │ ├── no-confusing-non-null-assertion.d.ts │ ├── no-confusing-void-expression.d.ts │ ├── no-dupe-class-members.d.ts │ ├── no-duplicate-enum-values.d.ts │ ├── no-duplicate-type-constituents.d.ts │ ├── no-dynamic-delete.d.ts │ ├── no-empty-function.d.ts │ ├── no-empty-interface.d.ts │ ├── no-explicit-any.d.ts │ ├── no-extra-non-null-assertion.d.ts │ ├── no-extra-parens.d.ts │ ├── no-extra-semi.d.ts │ ├── no-extraneous-class.d.ts │ ├── no-floating-promises.d.ts │ ├── no-for-in-array.d.ts │ ├── no-implied-eval.d.ts │ ├── no-import-type-side-effects.d.ts │ ├── no-inferrable-types.d.ts │ ├── no-invalid-this.d.ts │ ├── no-invalid-void-type.d.ts │ ├── no-loop-func.d.ts │ ├── no-loss-of-precision.d.ts │ ├── no-magic-numbers.d.ts │ ├── no-meaningless-void-operator.d.ts │ ├── no-misused-new.d.ts │ ├── no-misused-promises.d.ts │ ├── no-mixed-enums.d.ts │ ├── no-namespace.d.ts │ ├── no-non-null-asserted-nullish-coalescing.d.ts │ ├── no-non-null-asserted-optional-chain.d.ts │ ├── no-non-null-assertion.d.ts │ ├── no-redeclare.d.ts │ ├── no-redundant-type-constituents.d.ts │ ├── no-require-imports.d.ts │ ├── no-restricted-imports.d.ts │ ├── no-shadow.d.ts │ ├── no-this-alias.d.ts │ ├── no-throw-literal.d.ts │ ├── no-type-alias.d.ts │ ├── no-unnecessary-boolean-literal-compare.d.ts │ ├── no-unnecessary-condition.d.ts │ ├── no-unnecessary-qualifier.d.ts │ ├── no-unnecessary-type-arguments.d.ts │ ├── no-unnecessary-type-assertion.d.ts │ ├── no-unnecessary-type-constraint.d.ts │ ├── no-unsafe-argument.d.ts │ ├── no-unsafe-assignment.d.ts │ ├── no-unsafe-call.d.ts │ ├── no-unsafe-declaration-merging.d.ts │ ├── no-unsafe-enum-comparison.d.ts │ ├── no-unsafe-member-access.d.ts │ ├── no-unsafe-return.d.ts │ ├── no-unsafe-unary-minus.d.ts │ ├── no-unused-expressions.d.ts │ ├── no-unused-vars.d.ts │ ├── no-use-before-define.d.ts │ ├── no-useless-constructor.d.ts │ ├── no-useless-empty-export.d.ts │ ├── no-useless-template-literals.d.ts │ ├── no-var-requires.d.ts │ ├── non-nullable-type-assertion-style.d.ts │ ├── object-curly-spacing.d.ts │ ├── only-throw-error.d.ts │ ├── padding-line-between-statements.d.ts │ ├── parameter-properties.d.ts │ ├── prefer-as-const.d.ts │ ├── prefer-destructuring.d.ts │ ├── prefer-enum-initializers.d.ts │ ├── prefer-find.d.ts │ ├── prefer-for-of.d.ts │ ├── prefer-function-type.d.ts │ ├── prefer-includes.d.ts │ ├── prefer-literal-enum-member.d.ts │ ├── prefer-namespace-keyword.d.ts │ ├── prefer-nullish-coalescing.d.ts │ ├── prefer-optional-chain.d.ts │ ├── prefer-promise-reject-errors.d.ts │ ├── prefer-readonly-parameter-types.d.ts │ ├── prefer-readonly.d.ts │ ├── prefer-reduce-type-parameter.d.ts │ ├── prefer-regexp-exec.d.ts │ ├── prefer-return-this-type.d.ts │ ├── prefer-string-starts-ends-with.d.ts │ ├── prefer-ts-expect-error.d.ts │ ├── promise-function-async.d.ts │ ├── quotes.d.ts │ ├── require-array-sort-compare.d.ts │ ├── require-await.d.ts │ ├── restrict-plus-operands.d.ts │ ├── restrict-template-expressions.d.ts │ ├── return-await.d.ts │ ├── semi.d.ts │ ├── sort-type-constituents.d.ts │ ├── space-before-blocks.d.ts │ ├── space-before-function-paren.d.ts │ ├── space-infix-ops.d.ts │ ├── strict-boolean-expressions.d.ts │ ├── switch-exhaustiveness-check.d.ts │ ├── triple-slash-reference.d.ts │ ├── type-annotation-spacing.d.ts │ ├── typedef.d.ts │ ├── unbound-method.d.ts │ ├── unified-signatures.d.ts │ └── use-unknown-in-catch-callback-variable.d.ts └── types.d.ts └── unicorn ├── README.md ├── index.d.ts ├── package.json ├── rules ├── better-regex.d.ts ├── catch-error-name.d.ts ├── consistent-destructuring.d.ts ├── consistent-function-scoping.d.ts ├── custom-error-definition.d.ts ├── empty-brace-spaces.d.ts ├── error-message.d.ts ├── escape-case.d.ts ├── expiring-todo-comments.d.ts ├── explicit-length-check.d.ts ├── filename-case.d.ts ├── import-index.d.ts ├── import-style.d.ts ├── new-for-builtins.d.ts ├── no-abusive-eslint-disable.d.ts ├── no-anonymous-default-export.d.ts ├── no-array-callback-reference.d.ts ├── no-array-for-each.d.ts ├── no-array-instanceof.d.ts ├── no-array-method-this-argument.d.ts ├── no-array-push-push.d.ts ├── no-array-reduce.d.ts ├── no-await-expression-member.d.ts ├── no-await-in-promise-methods.d.ts ├── no-console-spaces.d.ts ├── no-document-cookie.d.ts ├── no-empty-file.d.ts ├── no-fn-reference-in-iterator.d.ts ├── no-for-loop.d.ts ├── no-hex-escape.d.ts ├── no-instanceof-array.d.ts ├── no-invalid-remove-event-listener.d.ts ├── no-keyword-prefix.d.ts ├── no-lonely-if.d.ts ├── no-negated-condition.d.ts ├── no-nested-ternary.d.ts ├── no-new-array.d.ts ├── no-new-buffer.d.ts ├── no-null.d.ts ├── no-object-as-default-parameter.d.ts ├── no-process-exit.d.ts ├── no-reduce.d.ts ├── no-single-promise-in-promise-methods.d.ts ├── no-static-only-class.d.ts ├── no-thenable.d.ts ├── no-this-assignment.d.ts ├── no-typeof-undefined.d.ts ├── no-unnecessary-await.d.ts ├── no-unnecessary-polyfills.d.ts ├── no-unreadable-array-destructuring.d.ts ├── no-unreadable-iife.d.ts ├── no-unsafe-regex.d.ts ├── no-unused-properties.d.ts ├── no-useless-fallback-in-spread.d.ts ├── no-useless-length-check.d.ts ├── no-useless-promise-resolve-reject.d.ts ├── no-useless-spread.d.ts ├── no-useless-switch-case.d.ts ├── no-useless-undefined.d.ts ├── no-zero-fractions.d.ts ├── number-literal-case.d.ts ├── numeric-separators-style.d.ts ├── prefer-add-event-listener.d.ts ├── prefer-array-find.d.ts ├── prefer-array-flat-map.d.ts ├── prefer-array-flat.d.ts ├── prefer-array-index-of.d.ts ├── prefer-array-some.d.ts ├── prefer-at.d.ts ├── prefer-blob-reading-methods.d.ts ├── prefer-code-point.d.ts ├── prefer-dataset.d.ts ├── prefer-date-now.d.ts ├── prefer-default-parameters.d.ts ├── prefer-dom-node-append.d.ts ├── prefer-dom-node-dataset.d.ts ├── prefer-dom-node-remove.d.ts ├── prefer-dom-node-text-content.d.ts ├── prefer-event-key.d.ts ├── prefer-event-target.d.ts ├── prefer-exponentiation-operator.d.ts ├── prefer-export-from.d.ts ├── prefer-flat-map.d.ts ├── prefer-includes.d.ts ├── prefer-json-parse-buffer.d.ts ├── prefer-keyboard-event-key.d.ts ├── prefer-logical-operator-over-ternary.d.ts ├── prefer-math-trunc.d.ts ├── prefer-modern-dom-apis.d.ts ├── prefer-modern-math-apis.d.ts ├── prefer-module.d.ts ├── prefer-native-coercion-functions.d.ts ├── prefer-negative-index.d.ts ├── prefer-node-append.d.ts ├── prefer-node-protocol.d.ts ├── prefer-node-remove.d.ts ├── prefer-number-properties.d.ts ├── prefer-object-from-entries.d.ts ├── prefer-object-has-own.d.ts ├── prefer-optional-catch-binding.d.ts ├── prefer-prototype-methods.d.ts ├── prefer-query-selector.d.ts ├── prefer-reflect-apply.d.ts ├── prefer-regexp-test.d.ts ├── prefer-replace-all.d.ts ├── prefer-set-has.d.ts ├── prefer-set-size.d.ts ├── prefer-spread.d.ts ├── prefer-starts-ends-with.d.ts ├── prefer-string-replace-all.d.ts ├── prefer-string-slice.d.ts ├── prefer-string-starts-ends-with.d.ts ├── prefer-string-trim-start-end.d.ts ├── prefer-switch.d.ts ├── prefer-ternary.d.ts ├── prefer-text-content.d.ts ├── prefer-top-level-await.d.ts ├── prefer-trim-start-end.d.ts ├── prefer-type-error.d.ts ├── prevent-abbreviations.d.ts ├── regex-shorthand.d.ts ├── relative-url-style.d.ts ├── require-array-join-separator.d.ts ├── require-number-to-fixed-digits-argument.d.ts ├── require-post-message-target-origin.d.ts ├── string-content.d.ts ├── switch-case-braces.d.ts ├── template-indent.d.ts ├── text-encoding-identifier-case.d.ts └── throw-new-error.d.ts └── types.d.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | const { defineConfig } = require('eslint-define-config'); 3 | const { readGitignoreFiles } = require('eslint-gitignore'); 4 | 5 | /// 6 | /// 7 | /// 8 | 9 | module.exports = defineConfig({ 10 | ignorePatterns: [ 11 | ...readGitignoreFiles(), 12 | '.eslintrc.cjs', // Skip self linting 13 | ], 14 | root: true, 15 | env: { 16 | browser: true, 17 | node: true, 18 | }, 19 | reportUnusedDisableDirectives: true, 20 | extends: [ 21 | 'eslint:recommended', 22 | 'plugin:@typescript-eslint/recommended', 23 | 'plugin:@typescript-eslint/recommended-type-checked', 24 | 'plugin:prettier/recommended', 25 | 'plugin:unicorn/recommended', 26 | ], 27 | parser: '@typescript-eslint/parser', 28 | parserOptions: { 29 | project: ['./tsconfig.json'], 30 | sourceType: 'module', 31 | warnOnUnsupportedTypeScriptVersion: false, 32 | }, 33 | plugins: ['@typescript-eslint', 'prettier'], 34 | rules: { 35 | eqeqeq: ['error', 'always', { null: 'ignore' }], 36 | 'no-else-return': 'error', 37 | 'prefer-template': 'error', 38 | 39 | 'unicorn/import-style': [ 40 | 'error', 41 | { 42 | styles: { 43 | 'node:path': { 44 | named: true, 45 | }, 46 | }, 47 | }, 48 | ], 49 | 'unicorn/no-nested-ternary': 'off', 50 | 'unicorn/no-null': 'off', 51 | 'unicorn/number-literal-case': 'off', 52 | 53 | '@typescript-eslint/array-type': [ 54 | 'error', 55 | { default: 'array-simple', readonly: 'generic' }, 56 | ], 57 | '@typescript-eslint/consistent-type-imports': 'error', 58 | '@typescript-eslint/explicit-module-boundary-types': 'error', 59 | '@typescript-eslint/naming-convention': [ 60 | 'error', 61 | { 62 | format: ['PascalCase'], 63 | selector: ['class', 'interface', 'typeAlias', 'enumMember'], 64 | leadingUnderscore: 'forbid', 65 | trailingUnderscore: 'forbid', 66 | }, 67 | { 68 | format: ['PascalCase'], 69 | selector: ['typeParameter'], 70 | prefix: ['T'], 71 | leadingUnderscore: 'forbid', 72 | trailingUnderscore: 'forbid', 73 | }, 74 | ], 75 | '@typescript-eslint/no-inferrable-types': [ 76 | 'error', 77 | { ignoreParameters: true }, 78 | ], 79 | '@typescript-eslint/no-unsafe-argument': 'error', 80 | '@typescript-eslint/no-unsafe-assignment': 'off', 81 | '@typescript-eslint/no-unsafe-call': 'off', 82 | '@typescript-eslint/no-unsafe-member-access': 'off', 83 | '@typescript-eslint/no-unsafe-return': 'error', 84 | '@typescript-eslint/padding-line-between-statements': [ 85 | 'error', 86 | { blankLine: 'always', prev: 'block-like', next: '*' }, 87 | ], 88 | '@typescript-eslint/prefer-regexp-exec': 'error', 89 | '@typescript-eslint/restrict-template-expressions': [ 90 | 'error', 91 | { allowNumber: true, allowBoolean: true }, 92 | ], 93 | '@typescript-eslint/unbound-method': 'off', 94 | }, 95 | overrides: [ 96 | { 97 | files: ['types/**/*.d.ts'], 98 | rules: { 99 | 'unicorn/prevent-abbreviations': 'off', 100 | }, 101 | }, 102 | ], 103 | }); 104 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Owner 2 | * @Shinigami92 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: [Shinigami92] 2 | custom: ['https://www.paypal.com/donate?hosted_button_id=L7GY729FBKTZY'] 3 | -------------------------------------------------------------------------------- /.github/renovate.json5: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:best-practices", 5 | "schedule:earlyMondays", 6 | "group:allNonMajor", 7 | ":prHourlyLimitNone" 8 | ], 9 | "labels": ["dependencies"], 10 | "lockFileMaintenance": { 11 | "enabled": true 12 | }, 13 | "reviewersFromCodeOwners": true, 14 | "rangeStrategy": "bump", 15 | "packageRules": [ 16 | { 17 | "groupName": "devDependencies", 18 | "matchDepTypes": ["devDependencies"], 19 | "rangeStrategy": "bump" 20 | }, 21 | { 22 | "groupName": "dependencies", 23 | "matchDepTypes": ["dependencies"], 24 | "rangeStrategy": "replace" 25 | }, 26 | { 27 | "groupName": "peerDependencies", 28 | "matchDepTypes": ["peerDependencies"], 29 | "rangeStrategy": "widen" 30 | }, 31 | { 32 | "groupName": "engines", 33 | "matchDepTypes": ["engines"], 34 | "rangeStrategy": "replace" 35 | }, 36 | { 37 | "groupName": "eslint", 38 | "matchPackagePrefixes": [ 39 | "@eslint-types/", 40 | "@typescript-eslint/", 41 | "eslint" 42 | ] 43 | }, 44 | { 45 | "groupName": "vitest", 46 | "matchPackagePrefixes": ["@vitest/", "vitest"] 47 | }, 48 | { 49 | "groupName": "prettier", 50 | "matchPackageNames": ["prettier"] 51 | }, 52 | { 53 | "groupName": "typescript", 54 | "matchPackageNames": ["typescript"] 55 | } 56 | ], 57 | "vulnerabilityAlerts": { 58 | "labels": ["security"], 59 | "assigneesFromCodeOwners": true 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | 9 | jobs: 10 | lint: 11 | runs-on: ubuntu-latest 12 | name: 'Lint: node-20, ubuntu-latest' 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 16 | 17 | - name: Install pnpm 18 | uses: pnpm/action-setup@v2 19 | 20 | - name: Set node version to 20 21 | uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 22 | with: 23 | node-version: 20 24 | cache: 'pnpm' 25 | 26 | - name: Prepare 27 | run: pnpm install --frozen-lockfile 28 | 29 | - name: Check formatting 30 | run: pnpm prettier --check . 31 | 32 | - name: Lint 33 | run: pnpm run lint 34 | 35 | - name: Check types 36 | run: pnpm run ts-check 37 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish 2 | 3 | on: 4 | workflow_dispatch: 5 | 6 | jobs: 7 | release: 8 | if: github.ref == 'refs/heads/main' 9 | runs-on: ubuntu-latest 10 | name: Release 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 14 | 15 | - name: Install pnpm 16 | uses: pnpm/action-setup@v3 17 | 18 | - name: Set node version to 20 19 | uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 20 | with: 21 | node-version: 20 22 | cache: 'pnpm' 23 | 24 | - name: Prepare 25 | run: pnpm install --frozen-lockfile 26 | 27 | - name: Set publishing config 28 | run: pnpm config set '//registry.npmjs.org/:_authToken' "${NODE_AUTH_TOKEN}" 29 | env: 30 | NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} 31 | 32 | - name: Publish 33 | run: pnpm --recursive publish --access public --tag latest 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | .pnpm-store/ 44 | 45 | # TypeScript v1 declaration files 46 | typings/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Microbundle cache 58 | .rpt2_cache/ 59 | .rts2_cache_cjs/ 60 | .rts2_cache_es/ 61 | .rts2_cache_umd/ 62 | 63 | # Optional REPL history 64 | .node_repl_history 65 | 66 | # Output of 'npm pack' 67 | *.tgz 68 | 69 | # Yarn Integrity file 70 | .yarn-integrity 71 | 72 | # dotenv environment variables file 73 | .env 74 | .env.test 75 | 76 | # parcel-bundler cache (https://parceljs.org/) 77 | .cache 78 | 79 | # Next.js build output 80 | .next 81 | 82 | # Nuxt.js build / generate output 83 | .nuxt 84 | dist 85 | 86 | # Gatsby files 87 | .cache/ 88 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 89 | # https://nextjs.org/blog/next-9-1#public-directory-support 90 | # public 91 | 92 | # yarn no zero-install 93 | .yarn/* 94 | !.yarn/patches 95 | !.yarn/releases 96 | !.yarn/plugins 97 | !.yarn/sdks 98 | !.yarn/versions 99 | .pnp.* 100 | 101 | # vuepress build output 102 | .vuepress/dist 103 | 104 | # Serverless directories 105 | .serverless/ 106 | 107 | # FuseBox cache 108 | .fusebox/ 109 | 110 | # DynamoDB Local files 111 | .dynamodb/ 112 | 113 | # TernJS port file 114 | .tern-port 115 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .pnpm-store 2 | dist 3 | pnpm-lock.yaml 4 | -------------------------------------------------------------------------------- /.prettierrc.cjs: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | 3 | /** 4 | * @type {import('prettier').Options} 5 | */ 6 | module.exports = { 7 | plugins: ['prettier-plugin-organize-imports'], 8 | singleQuote: true, 9 | trailingComma: 'all', 10 | overrides: [ 11 | { 12 | files: '*.json5', 13 | options: { 14 | parser: 'json5', 15 | quoteProps: 'preserve', 16 | singleQuote: false, 17 | trailingComma: 'none', 18 | }, 19 | }, 20 | { 21 | files: '*.md', 22 | options: { 23 | organizeImportsSkipDestructiveCodeActions: true, 24 | }, 25 | }, 26 | ], 27 | }; 28 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023-2024 Christopher Quadflieg 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | Build Status 4 | 5 | 6 | License: MIT 7 | 8 | 9 | Code Style: Prettier 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/\* 17 | 18 | This repository is a monorepo that contains types for [eslint-define-config](https://github.com/eslint-types/eslint-define-config). 19 | 20 | [All supported packages](https://npmjs.com/~eslint-types/) 21 | 22 | You can install them e.g. via `npm install @eslint-types/import` which will contain types for the `eslint-plugin-import` plugin. 23 | Then you can use them in your `.eslintrc.cjs` config like this: 24 | 25 | ```js 26 | // @ts-check 27 | const { defineConfig } = require('eslint-define-config'); 28 | 29 | /// 30 | 31 | module.exports = defineConfig({ 32 | // ... 33 | }); 34 | ``` 35 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "define-config-plugin-types", 3 | "version": "1.0.0", 4 | "description": "Provides several plugin types for eslint-define-config", 5 | "private": true, 6 | "scripts": { 7 | "clean": "tsx scripts/clean.ts", 8 | "generate:plugin-dts": "tsx scripts/generate-plugin-dts.ts", 9 | "format": "prettier --cache --write .", 10 | "lint:fix": "eslint --cache --cache-strategy content --report-unused-disable-directives --fix .", 11 | "lint": "eslint --cache --cache-strategy content --report-unused-disable-directives .", 12 | "ts-check": "tsc", 13 | "preflight": "pnpm install && run-s generate:plugin-dts format lint:fix ts-check" 14 | }, 15 | "type": "module", 16 | "license": "MIT", 17 | "devDependencies": { 18 | "@eslint-types/prettier": "workspace:~", 19 | "@eslint-types/typescript-eslint": "workspace:~", 20 | "@eslint-types/unicorn": "workspace:~", 21 | "@types/eslint": "~8.56.7", 22 | "@types/json-schema": "~7.0.15", 23 | "@types/node": "~20.12.4", 24 | "@typescript-eslint/eslint-plugin": "~7.5.0", 25 | "@typescript-eslint/parser": "~7.5.0", 26 | "change-case": "~5.4.4", 27 | "eslint": "~8.57.0", 28 | "eslint-config-prettier": "~9.1.0", 29 | "eslint-define-config": "2.1.0", 30 | "eslint-gitignore": "~0.1.0", 31 | "eslint-plugin-prettier": "~5.1.3", 32 | "eslint-plugin-unicorn": "~52.0.0", 33 | "json-schema": "~0.4.0", 34 | "json-schema-to-typescript": "~13.1.2", 35 | "npm-run-all2": "~6.1.2", 36 | "package-json-type": "~1.0.3", 37 | "prettier": "~3.2.5", 38 | "prettier-plugin-organize-imports": "~3.2.4", 39 | "rimraf": "~5.0.5", 40 | "tsx": "~4.7.2", 41 | "typescript": "~5.4.4" 42 | }, 43 | "packageManager": "pnpm@8.15.6", 44 | "engines": { 45 | "node": ">=18.0.0", 46 | "npm": ">=9.0.0", 47 | "pnpm": ">=8.6.0" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - types/* 3 | -------------------------------------------------------------------------------- /scripts/clean.ts: -------------------------------------------------------------------------------- 1 | import { rimrafSync } from 'rimraf'; 2 | 3 | rimrafSync( 4 | [ 5 | '**/.eslintcache', 6 | '**/pnpm-lock.yaml', 7 | // node_modules needs to be deleted last 8 | '**/node_modules', 9 | ], 10 | { 11 | glob: true, 12 | }, 13 | ); 14 | -------------------------------------------------------------------------------- /scripts/generate-plugin-dts.ts: -------------------------------------------------------------------------------- 1 | import { pascalCase } from 'change-case'; 2 | import type { ESLint, Rule } from 'eslint'; 3 | import type { JSONSchema4 } from 'json-schema'; 4 | import { compile } from 'json-schema-to-typescript'; 5 | import { mkdir, readdir, stat, writeFile } from 'node:fs/promises'; 6 | import { join } from 'node:path'; 7 | import { URL, fileURLToPath } from 'node:url'; 8 | import type { IPackageJson } from 'package-json-type'; 9 | 10 | const __dirname: string = fileURLToPath(new URL('.', import.meta.url)); 11 | 12 | const workspaceRootDirectory = join(__dirname, '..', 'types'); 13 | 14 | const workspaces = await readdir(workspaceRootDirectory, { 15 | recursive: false, 16 | }); 17 | 18 | for (const workspace of workspaces) { 19 | const workspaceDirectory = join(workspaceRootDirectory, workspace); 20 | 21 | const packageJson: IPackageJson | false = await import( 22 | join(workspaceDirectory, 'package.json') 23 | ).catch(() => false); 24 | 25 | if (!packageJson) { 26 | console.warn(`No package.json found for ${workspace}`); 27 | continue; 28 | } 29 | 30 | const dep = Object.keys(packageJson.devDependencies ?? {}).find((dep) => 31 | dep.includes(workspace), 32 | ); 33 | 34 | if (!dep) { 35 | console.warn(`No matching dependency found for ${workspace}`); 36 | continue; 37 | } 38 | 39 | const pluginName = workspace; 40 | let pluginPrefix: string = pluginName; 41 | if (dep.startsWith('@')) { 42 | pluginPrefix = dep.split('/')[0]!; 43 | } else if (dep.startsWith('eslint-plugin-')) { 44 | pluginPrefix = dep.replace('eslint-plugin-', ''); 45 | } 46 | 47 | const pluginDirectory = join(workspaceDirectory, 'node_modules', dep); 48 | const pluginPackageJson: IPackageJson = await import( 49 | join(pluginDirectory, 'package.json') 50 | ); 51 | const pluginEntry: string = 52 | pluginPackageJson.main ?? 53 | pluginPackageJson.exports?.['.']?.default ?? 54 | 'index.js'; 55 | 56 | const importedPluginModule: 57 | | (ESLint.Plugin & { __esModule: true }) 58 | | { __esModule: undefined; default: ESLint.Plugin } 59 | | false = await import(join(pluginDirectory, pluginEntry)).catch( 60 | () => false, 61 | ); 62 | 63 | if (!importedPluginModule) { 64 | console.warn(`No entry found for ${pluginName}`); 65 | continue; 66 | } 67 | 68 | const pluginModule = importedPluginModule.__esModule 69 | ? importedPluginModule 70 | : importedPluginModule.default; 71 | 72 | const pluginConfigs = Object.keys(pluginModule.configs ?? {}); 73 | 74 | const pluginRules = pluginModule.rules; 75 | await mkdir(join(workspaceDirectory, 'rules'), { recursive: true }); 76 | 77 | const ruleOptionImports: string[] = []; 78 | const ruleDeclarations: string[] = []; 79 | 80 | for (const [ruleName, ruleDefinition] of Object.entries(pluginRules ?? {})) { 81 | // TODO @Shinigami92 2023-10-18: make this more TS safe 82 | const meta = (ruleDefinition as Rule.RuleModule).meta!; 83 | 84 | let schemas = (meta.schema as JSONSchema4[]) ?? []; 85 | if (!Array.isArray(schemas)) { 86 | schemas = [schemas]; 87 | } 88 | 89 | const options = await Promise.all( 90 | schemas.map(async (schema, index) => { 91 | schema = JSON.parse( 92 | JSON.stringify(schema).replaceAll('#/items/0/$defs/', '#/$defs/'), 93 | ); 94 | 95 | return await compile(schema, `Schema${index}`, { 96 | bannerComment: '', 97 | }); 98 | }), 99 | ); 100 | 101 | const optionTypes = options.map((_, index) => `Schema${index}?`); 102 | const ruleOptionTypeValue = Array.isArray(meta.schema) 103 | ? `[${optionTypes.join(', ')}]` 104 | : meta.schema 105 | ? 'Schema0' 106 | : '[]'; 107 | 108 | await writeFile( 109 | join(workspaceDirectory, 'rules', `${ruleName}.d.ts`), 110 | `${options.join('\n')} 111 | export type ${pascalCase(ruleName)}RuleOptions = ${ruleOptionTypeValue}; 112 | `, 113 | { 114 | encoding: 'utf8', 115 | flag: 'w', 116 | }, 117 | ); 118 | 119 | ruleOptionImports.push( 120 | `import type { ${pascalCase( 121 | ruleName, 122 | )}RuleOptions } from "./rules/${ruleName}"`, 123 | ); 124 | 125 | const documentation: Rule.RuleMetaData['docs'] = meta.docs ?? {}; 126 | 127 | ruleDeclarations.push(` /** 128 | * ${documentation.description} 129 | * 130 | * @see [${ruleName}](${documentation.url}) 131 | */ 132 | "${pluginPrefix}/${ruleName}": ${pascalCase(ruleName)}RuleOptions;`); 133 | } 134 | 135 | const hasPluginParsers = await stat(join(workspaceDirectory, 'parsers.d.ts')) 136 | .then(() => true) 137 | .catch(() => false); 138 | 139 | const hasPluginParserOptions = await stat( 140 | join(workspaceDirectory, 'parser-options.d.ts'), 141 | ) 142 | .then(() => true) 143 | .catch(() => false); 144 | 145 | const hasPluginSettings = await stat( 146 | join(workspaceDirectory, 'settings.d.ts'), 147 | ) 148 | .then(() => true) 149 | .catch(() => false); 150 | 151 | await writeFile( 152 | join(workspaceDirectory, 'types.d.ts'), 153 | `${ruleOptionImports.join('\n')} 154 | ${hasPluginParsers ? `export type { Parsers } from "./parsers";` : ''}${ 155 | hasPluginParserOptions 156 | ? `export type { ParserOptions } from "./parser-options";` 157 | : '' 158 | }${hasPluginSettings ? `export type { Settings } from "./settings";` : ''} 159 | 160 | export interface Extends { 161 | ${pluginConfigs 162 | .map((config) => `"plugin:${pluginPrefix}/${config}": void;`) 163 | .join('\n')} 164 | } 165 | 166 | export interface Plugins { 167 | "${pluginPrefix}": void; 168 | } 169 | 170 | export interface RuleOptions { 171 | ${ruleDeclarations.join('\n')} 172 | } 173 | `, 174 | { 175 | encoding: 'utf8', 176 | flag: 'w', 177 | }, 178 | ); 179 | 180 | const imports = [ 181 | 'Extends', 182 | 'Plugins', 183 | 'RuleOptions', 184 | hasPluginParsers ? 'Parsers' : '', 185 | hasPluginParserOptions ? 'ParserOptions' : '', 186 | hasPluginSettings ? 'Settings' : '', 187 | ].filter(Boolean); 188 | 189 | await writeFile( 190 | join(workspaceDirectory, 'index.d.ts'), 191 | `import type { ${imports.join(', ')} } from "./types"; 192 | 193 | declare module 'eslint-define-config' { 194 | ${imports 195 | .map( 196 | (importName) => 197 | ` export interface Custom${importName} extends ${importName} {}`, 198 | ) 199 | .join('\n')} 200 | } 201 | `, 202 | { 203 | encoding: 'utf8', 204 | flag: 'w', 205 | }, 206 | ); 207 | } 208 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "module": "ESNext", 5 | "moduleResolution": "Bundler", 6 | "strict": true, 7 | "noEmit": true, 8 | "noImplicitOverride": true, 9 | "noUncheckedIndexedAccess": true, 10 | "allowSyntheticDefaultImports": true, 11 | "esModuleInterop": true 12 | }, 13 | "exclude": ["node_modules", "dist"] 14 | } 15 | -------------------------------------------------------------------------------- /types/deprecation/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | NPM package 4 | 5 | 6 | Downloads 7 | 8 | 9 | License: MIT 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/deprecation 17 | 18 | ## Install 19 | 20 | ```sh 21 | npm install -D @eslint-types/deprecation 22 | ``` 23 | 24 | ## Usage 25 | 26 | ```js 27 | // @ts-check 28 | const { defineConfig } = require('eslint-define-config'); 29 | 30 | /// 31 | 32 | module.exports = defineConfig({ 33 | // ... 34 | }); 35 | ``` 36 | -------------------------------------------------------------------------------- /types/deprecation/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Extends, Plugins, RuleOptions } from './types'; 2 | 3 | declare module 'eslint-define-config' { 4 | export interface CustomExtends extends Extends {} 5 | export interface CustomPlugins extends Plugins {} 6 | export interface CustomRuleOptions extends RuleOptions {} 7 | } 8 | -------------------------------------------------------------------------------- /types/deprecation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eslint-types/deprecation", 3 | "version": "2.0.0-1", 4 | "description": "TypeScript definitions for eslint-define-config", 5 | "homepage": "https://github.com/eslint-types/define-config-plugin-types/tree/main/types/deprecation", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Christopher Quadflieg", 10 | "url": "https://github.com/Shinigami92", 11 | "githubUsername": "Shinigami92" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/eslint-types/define-config-plugin-types.git", 19 | "directory": "types/deprecation" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "eslint-plugin-deprecation": "2.0.0" 25 | }, 26 | "exports": { 27 | ".": { 28 | "types": "./index.d.ts" 29 | }, 30 | "./types": { 31 | "types": "./types.d.ts" 32 | }, 33 | "./package.json": "./package.json" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /types/deprecation/rules/deprecation.d.ts: -------------------------------------------------------------------------------- 1 | export type DeprecationRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/deprecation/types.d.ts: -------------------------------------------------------------------------------- 1 | import type { DeprecationRuleOptions } from './rules/deprecation'; 2 | 3 | export interface Extends { 4 | 'plugin:deprecation/recommended': void; 5 | } 6 | 7 | export interface Plugins { 8 | deprecation: void; 9 | } 10 | 11 | export interface RuleOptions { 12 | /** 13 | * Do not use deprecated APIs. 14 | * 15 | * @see [deprecation](https://github.com/gund/eslint-plugin-deprecation) 16 | */ 17 | 'deprecation/deprecation': DeprecationRuleOptions; 18 | } 19 | -------------------------------------------------------------------------------- /types/import/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | NPM package 4 | 5 | 6 | Downloads 7 | 8 | 9 | License: MIT 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/import 17 | 18 | ## Install 19 | 20 | ```sh 21 | npm install -D @eslint-types/import 22 | ``` 23 | 24 | ## Usage 25 | 26 | ```js 27 | // @ts-check 28 | const { defineConfig } = require('eslint-define-config'); 29 | 30 | /// 31 | 32 | module.exports = defineConfig({ 33 | // ... 34 | }); 35 | ``` 36 | -------------------------------------------------------------------------------- /types/import/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Extends, Plugins, RuleOptions, Settings } from './types'; 2 | 3 | declare module 'eslint-define-config' { 4 | export interface CustomExtends extends Extends {} 5 | export interface CustomPlugins extends Plugins {} 6 | export interface CustomRuleOptions extends RuleOptions {} 7 | export interface CustomSettings extends Settings {} 8 | } 9 | -------------------------------------------------------------------------------- /types/import/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eslint-types/import", 3 | "version": "2.29.1", 4 | "description": "TypeScript definitions for eslint-define-config", 5 | "homepage": "https://github.com/eslint-types/define-config-plugin-types/tree/main/types/import", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Christopher Quadflieg", 10 | "url": "https://github.com/Shinigami92", 11 | "githubUsername": "Shinigami92" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/eslint-types/define-config-plugin-types.git", 19 | "directory": "types/import" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "eslint-plugin-import": "2.29.1" 25 | }, 26 | "exports": { 27 | ".": { 28 | "types": "./index.d.ts" 29 | }, 30 | "./types": { 31 | "types": "./types.d.ts" 32 | }, 33 | "./package.json": "./package.json" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /types/import/rules/consistent-type-specifier-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'prefer-inline' | 'prefer-top-level'; 2 | 3 | export type ConsistentTypeSpecifierStyleRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/import/rules/default.d.ts: -------------------------------------------------------------------------------- 1 | export type DefaultRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/dynamic-import-chunkname.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | importFunctions?: string[]; 3 | webpackChunknameFormat?: string; 4 | [k: string]: unknown; 5 | } 6 | 7 | export type DynamicImportChunknameRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/import/rules/export.d.ts: -------------------------------------------------------------------------------- 1 | export type ExportRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/exports-last.d.ts: -------------------------------------------------------------------------------- 1 | export type ExportsLastRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/extensions.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | ['always' | 'ignorePackages' | 'never'] 4 | | [ 5 | 'always' | 'ignorePackages' | 'never', 6 | { 7 | pattern?: { 8 | /** 9 | * This interface was referenced by `undefined`'s JSON-Schema definition 10 | * via the `patternProperty` ".*". 11 | */ 12 | [k: string]: 'always' | 'ignorePackages' | 'never'; 13 | }; 14 | ignorePackages?: boolean; 15 | [k: string]: unknown; 16 | }, 17 | ] 18 | | [ 19 | { 20 | pattern?: { 21 | /** 22 | * This interface was referenced by `undefined`'s JSON-Schema definition 23 | * via the `patternProperty` ".*". 24 | */ 25 | [k: string]: 'always' | 'ignorePackages' | 'never'; 26 | }; 27 | ignorePackages?: boolean; 28 | [k: string]: unknown; 29 | }, 30 | ] 31 | | [ 32 | { 33 | /** 34 | * This interface was referenced by `undefined`'s JSON-Schema definition 35 | * via the `patternProperty` ".*". 36 | */ 37 | [k: string]: 'always' | 'ignorePackages' | 'never'; 38 | }, 39 | ] 40 | | [ 41 | 'always' | 'ignorePackages' | 'never', 42 | { 43 | /** 44 | * This interface was referenced by `undefined`'s JSON-Schema definition 45 | * via the `patternProperty` ".*". 46 | */ 47 | [k: string]: 'always' | 'ignorePackages' | 'never'; 48 | }, 49 | ]; 50 | 51 | export type ExtensionsRuleOptions = Schema0; 52 | -------------------------------------------------------------------------------- /types/import/rules/first.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'absolute-first' | 'disable-absolute-first'; 2 | 3 | export type FirstRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/import/rules/group-exports.d.ts: -------------------------------------------------------------------------------- 1 | export type GroupExportsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/imports-first.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'absolute-first' | 'disable-absolute-first'; 2 | 3 | export type ImportsFirstRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/import/rules/max-dependencies.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | max?: number; 3 | ignoreTypeImports?: boolean; 4 | } 5 | 6 | export type MaxDependenciesRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/import/rules/named.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | } 4 | 5 | export type NamedRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/import/rules/namespace.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * If `false`, will report computed (and thus, un-lintable) references to namespace members. 4 | */ 5 | allowComputed?: boolean; 6 | } 7 | 8 | export type NamespaceRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/import/rules/newline-after-import.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | count?: number; 3 | exactCount?: boolean; 4 | considerComments?: boolean; 5 | } 6 | 7 | export type NewlineAfterImportRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/import/rules/no-absolute-path.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | amd?: boolean; 4 | esmodule?: boolean; 5 | /** 6 | * @minItems 1 7 | */ 8 | ignore?: [string, ...string[]]; 9 | } 10 | 11 | export type NoAbsolutePathRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/import/rules/no-amd.d.ts: -------------------------------------------------------------------------------- 1 | export type NoAmdRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-anonymous-default-export.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * If `false`, will report default export of an array 4 | */ 5 | allowArray?: boolean; 6 | /** 7 | * If `false`, will report default export of an arrow function 8 | */ 9 | allowArrowFunction?: boolean; 10 | /** 11 | * If `false`, will report default export of a function call 12 | */ 13 | allowCallExpression?: boolean; 14 | /** 15 | * If `false`, will report default export of an anonymous class 16 | */ 17 | allowAnonymousClass?: boolean; 18 | /** 19 | * If `false`, will report default export of an anonymous function 20 | */ 21 | allowAnonymousFunction?: boolean; 22 | /** 23 | * If `false`, will report default export of a literal 24 | */ 25 | allowLiteral?: boolean; 26 | /** 27 | * If `false`, will report default export of an object expression 28 | */ 29 | allowObject?: boolean; 30 | /** 31 | * If `false`, will report default export of a class instantiation 32 | */ 33 | allowNew?: boolean; 34 | } 35 | 36 | export type NoAnonymousDefaultExportRuleOptions = [Schema0?]; 37 | -------------------------------------------------------------------------------- /types/import/rules/no-commonjs.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | ['allow-primitive-modules'] 4 | | [ 5 | { 6 | allowPrimitiveModules?: boolean; 7 | allowRequire?: boolean; 8 | allowConditionalRequire?: boolean; 9 | }, 10 | ]; 11 | 12 | export type NoCommonjsRuleOptions = Schema0; 13 | -------------------------------------------------------------------------------- /types/import/rules/no-cycle.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | amd?: boolean; 4 | esmodule?: boolean; 5 | /** 6 | * @minItems 1 7 | */ 8 | ignore?: [string, ...string[]]; 9 | maxDepth?: number | '∞'; 10 | /** 11 | * ignore external modules 12 | */ 13 | ignoreExternal?: boolean; 14 | /** 15 | * Allow cyclic dependency if there is at least one dynamic import in the chain 16 | */ 17 | allowUnsafeDynamicCyclicDependency?: boolean; 18 | } 19 | 20 | export type NoCycleRuleOptions = [Schema0?]; 21 | -------------------------------------------------------------------------------- /types/import/rules/no-default-export.d.ts: -------------------------------------------------------------------------------- 1 | export type NoDefaultExportRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-deprecated.d.ts: -------------------------------------------------------------------------------- 1 | export type NoDeprecatedRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-duplicates.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | considerQueryString?: boolean; 3 | 'prefer-inline'?: boolean; 4 | } 5 | 6 | export type NoDuplicatesRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/import/rules/no-dynamic-require.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | esmodule?: boolean; 3 | } 4 | 5 | export type NoDynamicRequireRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/import/rules/no-empty-named-blocks.d.ts: -------------------------------------------------------------------------------- 1 | export type NoEmptyNamedBlocksRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-extraneous-dependencies.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | devDependencies?: boolean | unknown[]; 3 | optionalDependencies?: boolean | unknown[]; 4 | peerDependencies?: boolean | unknown[]; 5 | bundledDependencies?: boolean | unknown[]; 6 | packageDir?: string | unknown[]; 7 | includeInternal?: boolean; 8 | includeTypes?: boolean; 9 | } 10 | 11 | export type NoExtraneousDependenciesRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/import/rules/no-import-module-exports.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | exceptions?: unknown[]; 3 | } 4 | 5 | export type NoImportModuleExportsRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/import/rules/no-internal-modules.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | { 3 | allow?: string[]; 4 | } 5 | | { 6 | forbid?: string[]; 7 | }; 8 | 9 | export type NoInternalModulesRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/import/rules/no-mutable-exports.d.ts: -------------------------------------------------------------------------------- 1 | export type NoMutableExportsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-named-as-default-member.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNamedAsDefaultMemberRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-named-as-default.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNamedAsDefaultRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-named-default.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNamedDefaultRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-named-export.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNamedExportRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-namespace.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignore?: string[]; 3 | [k: string]: unknown; 4 | } 5 | 6 | export type NoNamespaceRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/import/rules/no-nodejs-modules.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allow?: string[]; 3 | } 4 | 5 | export type NoNodejsModulesRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/import/rules/no-relative-packages.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | amd?: boolean; 4 | esmodule?: boolean; 5 | /** 6 | * @minItems 1 7 | */ 8 | ignore?: [string, ...string[]]; 9 | } 10 | 11 | export type NoRelativePackagesRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/import/rules/no-relative-parent-imports.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | amd?: boolean; 4 | esmodule?: boolean; 5 | /** 6 | * @minItems 1 7 | */ 8 | ignore?: [string, ...string[]]; 9 | } 10 | 11 | export type NoRelativeParentImportsRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/import/rules/no-restricted-paths.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * @minItems 1 4 | */ 5 | zones?: [ 6 | { 7 | target?: string | string[]; 8 | from?: string | string[]; 9 | except?: string[]; 10 | message?: string; 11 | }, 12 | ...Array<{ 13 | target?: string | string[]; 14 | from?: string | string[]; 15 | except?: string[]; 16 | message?: string; 17 | }>, 18 | ]; 19 | basePath?: string; 20 | } 21 | 22 | export type NoRestrictedPathsRuleOptions = [Schema0?]; 23 | -------------------------------------------------------------------------------- /types/import/rules/no-self-import.d.ts: -------------------------------------------------------------------------------- 1 | export type NoSelfImportRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/no-unassigned-import.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | devDependencies?: boolean | unknown[]; 3 | optionalDependencies?: boolean | unknown[]; 4 | peerDependencies?: boolean | unknown[]; 5 | allow?: string[]; 6 | } 7 | 8 | export type NoUnassignedImportRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/import/rules/no-unresolved.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | amd?: boolean; 4 | esmodule?: boolean; 5 | /** 6 | * @minItems 1 7 | */ 8 | ignore?: [string, ...string[]]; 9 | caseSensitive?: boolean; 10 | caseSensitiveStrict?: boolean; 11 | } 12 | 13 | export type NoUnresolvedRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/import/rules/no-unused-modules.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = ( 2 | | { 3 | unusedExports: true; 4 | src?: { 5 | [k: string]: unknown; 6 | }; 7 | [k: string]: unknown; 8 | } 9 | | { 10 | missingExports: true; 11 | [k: string]: unknown; 12 | } 13 | ) & { 14 | /** 15 | * files/paths to be analyzed (only for unused exports) 16 | */ 17 | src?: string[]; 18 | /** 19 | * files/paths for which unused exports will not be reported (e.g module entry points) 20 | */ 21 | ignoreExports?: string[]; 22 | /** 23 | * report modules without any exports 24 | */ 25 | missingExports?: boolean; 26 | /** 27 | * report exports without any usage 28 | */ 29 | unusedExports?: boolean; 30 | [k: string]: unknown; 31 | }; 32 | 33 | export type NoUnusedModulesRuleOptions = [Schema0?]; 34 | -------------------------------------------------------------------------------- /types/import/rules/no-useless-path-segments.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | commonjs?: boolean; 3 | noUselessIndex?: boolean; 4 | } 5 | 6 | export type NoUselessPathSegmentsRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/import/rules/no-webpack-loader-syntax.d.ts: -------------------------------------------------------------------------------- 1 | export type NoWebpackLoaderSyntaxRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/rules/order.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | groups?: unknown[]; 3 | pathGroupsExcludedImportTypes?: unknown[]; 4 | distinctGroup?: boolean; 5 | pathGroups?: Array<{ 6 | pattern: string; 7 | patternOptions?: { 8 | [k: string]: unknown; 9 | }; 10 | group: 11 | | 'builtin' 12 | | 'external' 13 | | 'internal' 14 | | 'unknown' 15 | | 'parent' 16 | | 'sibling' 17 | | 'index' 18 | | 'object' 19 | | 'type'; 20 | position?: 'after' | 'before'; 21 | }>; 22 | 'newlines-between'?: 23 | | 'ignore' 24 | | 'always' 25 | | 'always-and-inside-groups' 26 | | 'never'; 27 | alphabetize?: { 28 | caseInsensitive?: boolean; 29 | order?: 'ignore' | 'asc' | 'desc'; 30 | orderImportKind?: 'ignore' | 'asc' | 'desc'; 31 | }; 32 | warnOnUnassignedImports?: boolean; 33 | } 34 | 35 | export type OrderRuleOptions = [Schema0?]; 36 | -------------------------------------------------------------------------------- /types/import/rules/prefer-default-export.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | target?: 'single' | 'any'; 3 | } 4 | 5 | export type PreferDefaultExportRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/import/rules/unambiguous.d.ts: -------------------------------------------------------------------------------- 1 | export type UnambiguousRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/import/settings.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Import settings. 3 | */ 4 | export interface ImportSettings { 5 | /** 6 | * A list of file extensions that will be parsed as modules and inspected for `export`s. 7 | * 8 | * @see [import/extensions](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importextensions) 9 | */ 10 | 'import/extensions'?: string[]; 11 | 12 | /** 13 | * If you require more granular extension definitions. 14 | * 15 | * @see [import/resolver](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importresolver) 16 | */ 17 | 'import/resolver'?: string | Record; 18 | 19 | /** 20 | * A list of regex strings that, if matched by a path, will not report the matching module if no `exports` are found. 21 | * 22 | * @see [import/ignore](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importignore) 23 | */ 24 | 'import/ignore'?: string[]; 25 | 26 | /** 27 | * An array of additional modules to consider as "core" modules--modules that should be considered resolved but have no path on the filesystem. 28 | * 29 | * @see [import/core-modules](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importcore-modules) 30 | */ 31 | 'import/core-modules'?: string[]; 32 | 33 | /** 34 | * An array of folders. Resolved modules only from those folders will be considered as "external". 35 | * 36 | * @default ["node_modules"] 37 | * 38 | * @see [import/external-module-folders](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importexternal-module-folders) 39 | */ 40 | 'import/external-module-folders'?: string[]; 41 | 42 | /** 43 | * A map from parsers to file extension arrays. 44 | * 45 | * @see [import/parsers](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importparsers) 46 | */ 47 | 'import/parsers'?: Partial>; 48 | 49 | /** 50 | * Settings for cache behavior. 51 | * 52 | * @see [import/cache](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importcache) 53 | */ 54 | 'import/cache'?: { lifetime?: number } & Record; 55 | 56 | /** 57 | * A regex for packages should be treated as internal. 58 | * 59 | * Useful when you are utilizing a monorepo setup or developing a set of packages that depend on each other. 60 | * 61 | * @see [import/internal-regex](https://github.com/benmosher/eslint-plugin-import/blob/master/README.md#importinternal-regex) 62 | */ 63 | 'import/internal-regex'?: string; 64 | } 65 | 66 | export type { ImportSettings as Settings }; 67 | -------------------------------------------------------------------------------- /types/jsdoc/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | NPM package 4 | 5 | 6 | Downloads 7 | 8 | 9 | License: MIT 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/jsdoc 17 | 18 | ## Install 19 | 20 | ```sh 21 | npm install -D @eslint-types/jsdoc 22 | ``` 23 | 24 | ## Usage 25 | 26 | ```js 27 | // @ts-check 28 | const { defineConfig } = require('eslint-define-config'); 29 | 30 | /// 31 | 32 | module.exports = defineConfig({ 33 | // ... 34 | }); 35 | ``` 36 | -------------------------------------------------------------------------------- /types/jsdoc/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Extends, Plugins, RuleOptions, Settings } from './types'; 2 | 3 | declare module 'eslint-define-config' { 4 | export interface CustomExtends extends Extends {} 5 | export interface CustomPlugins extends Plugins {} 6 | export interface CustomRuleOptions extends RuleOptions {} 7 | export interface CustomSettings extends Settings {} 8 | } 9 | -------------------------------------------------------------------------------- /types/jsdoc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eslint-types/jsdoc", 3 | "version": "48.2.2", 4 | "description": "TypeScript definitions for eslint-define-config", 5 | "homepage": "https://github.com/eslint-types/define-config-plugin-types/tree/main/types/jsdoc", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Christopher Quadflieg", 10 | "url": "https://github.com/Shinigami92", 11 | "githubUsername": "Shinigami92" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/eslint-types/define-config-plugin-types.git", 19 | "directory": "types/jsdoc" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "eslint-plugin-jsdoc": "48.2.2" 25 | }, 26 | "exports": { 27 | ".": { 28 | "types": "./index.d.ts" 29 | }, 30 | "./types": { 31 | "types": "./types.d.ts" 32 | }, 33 | "./package.json": "./package.json" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-access.d.ts: -------------------------------------------------------------------------------- 1 | export type CheckAccessRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-alignment.d.ts: -------------------------------------------------------------------------------- 1 | export type CheckAlignmentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-examples.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowInlineConfig?: boolean; 3 | baseConfig?: { 4 | [k: string]: unknown; 5 | }; 6 | captionRequired?: boolean; 7 | checkDefaults?: boolean; 8 | checkEslintrc?: boolean; 9 | checkParams?: boolean; 10 | checkProperties?: boolean; 11 | configFile?: string; 12 | exampleCodeRegex?: string; 13 | matchingFileName?: string; 14 | matchingFileNameDefaults?: string; 15 | matchingFileNameParams?: string; 16 | matchingFileNameProperties?: string; 17 | noDefaultExampleRules?: boolean; 18 | paddedIndent?: number; 19 | rejectExampleCodeRegex?: string; 20 | reportUnusedDisableDirectives?: boolean; 21 | } 22 | 23 | export type CheckExamplesRuleOptions = [Schema0?]; 24 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-indentation.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | excludeTags?: string[]; 3 | } 4 | 5 | export type CheckIndentationRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-line-alignment.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'never' | 'any'; 2 | 3 | export interface Schema1 { 4 | customSpacings?: { 5 | postDelimiter?: number; 6 | postHyphen?: number; 7 | postName?: number; 8 | postTag?: number; 9 | postType?: number; 10 | }; 11 | preserveMainDescriptionPostDelimiter?: boolean; 12 | tags?: string[]; 13 | wrapIndent?: string; 14 | disableWrapIndent?: boolean; 15 | } 16 | 17 | export type CheckLineAlignmentRuleOptions = [Schema0?, Schema1?]; 18 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-param-names.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowExtraTrailingParamDocs?: boolean; 3 | checkDestructured?: boolean; 4 | checkRestProperty?: boolean; 5 | checkTypesPattern?: string; 6 | disableExtraPropertyReporting?: boolean; 7 | disableMissingParamChecks?: boolean; 8 | enableFixer?: boolean; 9 | useDefaultObjectProperties?: boolean; 10 | } 11 | 12 | export type CheckParamNamesRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-property-names.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | enableFixer?: boolean; 3 | } 4 | 5 | export type CheckPropertyNamesRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-syntax.d.ts: -------------------------------------------------------------------------------- 1 | export type CheckSyntaxRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-tag-names.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | definedTags?: string[]; 3 | enableFixer?: boolean; 4 | jsxTags?: boolean; 5 | typed?: boolean; 6 | } 7 | 8 | export type CheckTagNamesRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | exemptTagContexts?: Array<{ 3 | tag?: string; 4 | types?: boolean | string[]; 5 | }>; 6 | noDefaults?: boolean; 7 | unifyParentAndChildTypeChecks?: boolean; 8 | } 9 | 10 | export type CheckTypesRuleOptions = [Schema0?]; 11 | -------------------------------------------------------------------------------- /types/jsdoc/rules/check-values.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowedAuthors?: string[]; 3 | allowedLicenses?: string[] | boolean; 4 | licensePattern?: string; 5 | numericOnlyVariation?: boolean; 6 | } 7 | 8 | export type CheckValuesRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/jsdoc/rules/empty-tags.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | tags?: string[]; 3 | } 4 | 5 | export type EmptyTagsRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/jsdoc/rules/implements-on-classes.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | } 10 | 11 | export type ImplementsOnClassesRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/jsdoc/rules/imports-as-dependencies.d.ts: -------------------------------------------------------------------------------- 1 | export type ImportsAsDependenciesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/informative-docs.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | aliases?: { 3 | /** 4 | * This interface was referenced by `undefined`'s JSON-Schema definition 5 | * via the `patternProperty` ".*". 6 | */ 7 | [k: string]: string[]; 8 | }; 9 | excludedTags?: string[]; 10 | uselessWords?: string[]; 11 | } 12 | 13 | export type InformativeDocsRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/jsdoc/rules/match-description.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | mainDescription?: 10 | | string 11 | | boolean 12 | | { 13 | match?: string | boolean; 14 | message?: string; 15 | }; 16 | matchDescription?: string; 17 | message?: string; 18 | nonemptyTags?: boolean; 19 | tags?: { 20 | /** 21 | * This interface was referenced by `undefined`'s JSON-Schema definition 22 | * via the `patternProperty` ".*". 23 | */ 24 | [k: string]: 25 | | string 26 | | true 27 | | { 28 | match?: string | true; 29 | message?: string; 30 | }; 31 | }; 32 | } 33 | 34 | export type MatchDescriptionRuleOptions = [Schema0?]; 35 | -------------------------------------------------------------------------------- /types/jsdoc/rules/match-name.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | match: Array<{ 3 | allowName?: string; 4 | comment?: string; 5 | context?: string; 6 | disallowName?: string; 7 | message?: string; 8 | tags?: string[]; 9 | [k: string]: unknown; 10 | }>; 11 | } 12 | 13 | export type MatchNameRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/jsdoc/rules/multiline-blocks.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowMultipleTags?: boolean; 3 | minimumLengthForMultiline?: number; 4 | multilineTags?: '*' | string[]; 5 | noFinalLineText?: boolean; 6 | noMultilineBlocks?: boolean; 7 | noSingleLineBlocks?: boolean; 8 | noZeroLineText?: boolean; 9 | singleLineTags?: string[]; 10 | } 11 | 12 | export type MultilineBlocksRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-bad-blocks.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignore?: string[]; 3 | preventAllMultiAsteriskBlocks?: boolean; 4 | } 5 | 6 | export type NoBadBlocksRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-blank-block-descriptions.d.ts: -------------------------------------------------------------------------------- 1 | export type NoBlankBlockDescriptionsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-blank-blocks.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | enableFixer?: boolean; 3 | } 4 | 5 | export type NoBlankBlocksRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-defaults.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | noOptionalParamNames?: boolean; 10 | } 11 | 12 | export type NoDefaultsRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-missing-syntax.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | message?: string; 8 | minimum?: number; 9 | } 10 | >; 11 | } 12 | 13 | export type NoMissingSyntaxRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-multi-asterisks.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowWhitespace?: boolean; 3 | preventAtEnd?: boolean; 4 | preventAtMiddleLines?: boolean; 5 | } 6 | 7 | export type NoMultiAsterisksRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-restricted-syntax.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | message?: string; 8 | } 9 | >; 10 | } 11 | 12 | export type NoRestrictedSyntaxRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | } 10 | 11 | export type NoTypesRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/jsdoc/rules/no-undefined-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | definedTypes?: string[]; 3 | disableReporting?: boolean; 4 | markVariablesAsUsed?: boolean; 5 | } 6 | 7 | export type NoUndefinedTypesRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-asterisk-prefix.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'never' | 'any'; 2 | 3 | export interface Schema1 { 4 | tags?: { 5 | always?: string[]; 6 | any?: string[]; 7 | never?: string[]; 8 | [k: string]: unknown; 9 | }; 10 | } 11 | 12 | export type RequireAsteriskPrefixRuleOptions = [Schema0?, Schema1?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-description-complete-sentence.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | abbreviations?: string[]; 3 | newlineBeforeCapsAssumesBadSentenceEnd?: boolean; 4 | tags?: string[]; 5 | } 6 | 7 | export type RequireDescriptionCompleteSentenceRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-description.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkConstructors?: boolean; 3 | checkGetters?: boolean; 4 | checkSetters?: boolean; 5 | contexts?: Array< 6 | | string 7 | | { 8 | comment?: string; 9 | context?: string; 10 | } 11 | >; 12 | descriptionStyle?: 'body' | 'tag' | 'any'; 13 | exemptedBy?: string[]; 14 | } 15 | 16 | export type RequireDescriptionRuleOptions = [Schema0?]; 17 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-example.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkConstructors?: boolean; 3 | checkGetters?: boolean; 4 | checkSetters?: boolean; 5 | contexts?: Array< 6 | | string 7 | | { 8 | comment?: string; 9 | context?: string; 10 | } 11 | >; 12 | enableFixer?: boolean; 13 | exemptedBy?: string[]; 14 | exemptNoArguments?: boolean; 15 | } 16 | 17 | export type RequireExampleRuleOptions = [Schema0?]; 18 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-file-overview.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | tags?: { 3 | /** 4 | * This interface was referenced by `undefined`'s JSON-Schema definition 5 | * via the `patternProperty` ".*". 6 | */ 7 | [k: string]: { 8 | initialCommentsOnly?: boolean; 9 | mustExist?: boolean; 10 | preventDuplicates?: boolean; 11 | }; 12 | }; 13 | } 14 | 15 | export type RequireFileOverviewRuleOptions = [Schema0?]; 16 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-hyphen-before-param-description.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'never'; 2 | 3 | export interface Schema1 { 4 | tags?: 5 | | { 6 | /** 7 | * This interface was referenced by `undefined`'s JSON-Schema definition 8 | * via the `patternProperty` ".*". 9 | */ 10 | [k: string]: 'always' | 'never'; 11 | } 12 | | 'any'; 13 | } 14 | 15 | export type RequireHyphenBeforeParamDescriptionRuleOptions = [ 16 | Schema0?, 17 | Schema1?, 18 | ]; 19 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-jsdoc.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkConstructors?: boolean; 3 | checkGetters?: boolean | 'no-setter'; 4 | checkSetters?: boolean | 'no-getter'; 5 | contexts?: Array< 6 | | string 7 | | { 8 | context?: string; 9 | inlineCommentBlock?: boolean; 10 | minLineCount?: number; 11 | } 12 | >; 13 | enableFixer?: boolean; 14 | exemptEmptyConstructors?: boolean; 15 | exemptEmptyFunctions?: boolean; 16 | fixerMessage?: string; 17 | minLineCount?: number; 18 | publicOnly?: 19 | | boolean 20 | | { 21 | ancestorsOnly?: boolean; 22 | cjs?: boolean; 23 | esm?: boolean; 24 | window?: boolean; 25 | }; 26 | require?: { 27 | ArrowFunctionExpression?: boolean; 28 | ClassDeclaration?: boolean; 29 | ClassExpression?: boolean; 30 | FunctionDeclaration?: boolean; 31 | FunctionExpression?: boolean; 32 | MethodDefinition?: boolean; 33 | }; 34 | } 35 | 36 | export type RequireJsdocRuleOptions = [Schema0?]; 37 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-param-description.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | defaultDestructuredRootDescription?: string; 10 | setDefaultDestructuredRootDescription?: boolean; 11 | } 12 | 13 | export type RequireParamDescriptionRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-param-name.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | } 10 | 11 | export type RequireParamNameRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-param-type.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | defaultDestructuredRootType?: string; 10 | setDefaultDestructuredRootType?: boolean; 11 | } 12 | 13 | export type RequireParamTypeRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-param.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | autoIncrementBase?: number; 3 | checkConstructors?: boolean; 4 | checkDestructured?: boolean; 5 | checkDestructuredRoots?: boolean; 6 | checkGetters?: boolean; 7 | checkRestProperty?: boolean; 8 | checkSetters?: boolean; 9 | checkTypesPattern?: string; 10 | contexts?: Array< 11 | | string 12 | | { 13 | comment?: string; 14 | context?: string; 15 | } 16 | >; 17 | enableFixer?: boolean; 18 | enableRestElementFixer?: boolean; 19 | enableRootFixer?: boolean; 20 | exemptedBy?: string[]; 21 | unnamedRootBase?: string[]; 22 | useDefaultObjectProperties?: boolean; 23 | } 24 | 25 | export type RequireParamRuleOptions = [Schema0?]; 26 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-property-description.d.ts: -------------------------------------------------------------------------------- 1 | export type RequirePropertyDescriptionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-property-name.d.ts: -------------------------------------------------------------------------------- 1 | export type RequirePropertyNameRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-property-type.d.ts: -------------------------------------------------------------------------------- 1 | export type RequirePropertyTypeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-property.d.ts: -------------------------------------------------------------------------------- 1 | export type RequirePropertyRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-returns-check.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | exemptAsync?: boolean; 3 | exemptGenerators?: boolean; 4 | reportMissingReturnForUndefinedTypes?: boolean; 5 | } 6 | 7 | export type RequireReturnsCheckRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-returns-description.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | } 10 | 11 | export type RequireReturnsDescriptionRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-returns-type.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | } 10 | 11 | export type RequireReturnsTypeRuleOptions = [Schema0?]; 12 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-returns.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkConstructors?: boolean; 3 | checkGetters?: boolean; 4 | contexts?: Array< 5 | | string 6 | | { 7 | comment?: string; 8 | context?: string; 9 | forceRequireReturn?: boolean; 10 | } 11 | >; 12 | enableFixer?: boolean; 13 | exemptedBy?: string[]; 14 | forceRequireReturn?: boolean; 15 | forceReturnsWithAsync?: boolean; 16 | publicOnly?: 17 | | boolean 18 | | { 19 | ancestorsOnly?: boolean; 20 | cjs?: boolean; 21 | esm?: boolean; 22 | window?: boolean; 23 | }; 24 | } 25 | 26 | export type RequireReturnsRuleOptions = [Schema0?]; 27 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-throws.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | exemptedBy?: string[]; 10 | } 11 | 12 | export type RequireThrowsRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-yields-check.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkGeneratorsOnly?: boolean; 3 | contexts?: Array< 4 | | string 5 | | { 6 | comment?: string; 7 | context?: string; 8 | } 9 | >; 10 | exemptedBy?: string[]; 11 | next?: boolean; 12 | } 13 | 14 | export type RequireYieldsCheckRuleOptions = [Schema0?]; 15 | -------------------------------------------------------------------------------- /types/jsdoc/rules/require-yields.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | contexts?: Array< 3 | | string 4 | | { 5 | comment?: string; 6 | context?: string; 7 | } 8 | >; 9 | exemptedBy?: string[]; 10 | forceRequireNext?: boolean; 11 | forceRequireYields?: boolean; 12 | next?: boolean; 13 | nextWithGeneratorTag?: boolean; 14 | withGeneratorTag?: boolean; 15 | } 16 | 17 | export type RequireYieldsRuleOptions = [Schema0?]; 18 | -------------------------------------------------------------------------------- /types/jsdoc/rules/sort-tags.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | alphabetizeExtras?: boolean; 3 | linesBetween?: number; 4 | reportIntraTagGroupSpacing?: boolean; 5 | reportTagGroupSpacing?: boolean; 6 | tagSequence?: Array<{ 7 | tags?: string[]; 8 | [k: string]: unknown; 9 | }>; 10 | } 11 | 12 | export type SortTagsRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/jsdoc/rules/tag-lines.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'any' | 'never'; 2 | 3 | export interface Schema1 { 4 | applyToEndTag?: boolean; 5 | count?: number; 6 | endLines?: number | null; 7 | startLines?: number | null; 8 | tags?: { 9 | /** 10 | * This interface was referenced by `undefined`'s JSON-Schema definition 11 | * via the `patternProperty` ".*". 12 | */ 13 | [k: string]: { 14 | count?: number; 15 | lines?: 'always' | 'never' | 'any'; 16 | }; 17 | }; 18 | } 19 | 20 | export type TagLinesRuleOptions = [Schema0?, Schema1?]; 21 | -------------------------------------------------------------------------------- /types/jsdoc/rules/text-escaping.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | escapeHTML?: boolean; 3 | escapeMarkdown?: boolean; 4 | } 5 | 6 | export type TextEscapingRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/jsdoc/rules/valid-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowEmptyNamepaths?: boolean; 3 | } 4 | 5 | export type ValidTypesRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/jsdoc/settings.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * JSDoc settings. 3 | */ 4 | export interface JSDocSetting extends Partial> { 5 | /** 6 | * Disables all rules for the comment block on which a `@private` tag (or `@access private`) occurs. 7 | * 8 | * Defaults to `false`. 9 | * 10 | * Note: This has no effect with the rule `check-access` (whose purpose is to check access modifiers) or `empty-tags` (which checks `@private` itself). 11 | * 12 | * @see [mode](https://github.com/gajus/eslint-plugin-jsdoc#allow-tags-private-or-internal-to-disable-rules-for-that-comment-block) 13 | */ 14 | ignorePrivate?: boolean; 15 | 16 | /** 17 | * Disables all rules for the comment block on which a `@internal` tag occurs. 18 | * 19 | * Defaults to `false`. 20 | * 21 | * Note: This has no effect with the rule `empty-tags` (which checks `@internal` itself). 22 | * 23 | * @see [mode](https://github.com/gajus/eslint-plugin-jsdoc#allow-tags-private-or-internal-to-disable-rules-for-that-comment-block) 24 | */ 25 | ignoreInternal?: boolean; 26 | 27 | /** 28 | * Set to `typescript`, `closure`, or `jsdoc` (the default unless the `@typescript-eslint` parser is in use in which case `typescript` will be the default). 29 | * 30 | * @see [mode](https://github.com/gajus/eslint-plugin-jsdoc#mode) 31 | */ 32 | mode?: 'typescript' | 'closure' | 'jsdoc'; 33 | 34 | /** 35 | * Configure a preferred alias name for a JSDoc tag. 36 | * 37 | * @see [Alias Preference](https://github.com/gajus/eslint-plugin-jsdoc#alias-preference) 38 | */ 39 | tagNamePreference?: Record< 40 | string, 41 | string | { message: string; replacement?: string } | false 42 | >; 43 | overrideReplacesDocs?: boolean; 44 | augmentsExtendsReplacesDocs?: boolean; 45 | implementsReplacesDocs?: boolean; 46 | preferredTypes?: unknown; 47 | } 48 | 49 | /** 50 | * JSDoc settings. 51 | */ 52 | export interface Settings { 53 | /** 54 | * JSDoc settings. 55 | * 56 | * @see [JSDoc settings](https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-settings) 57 | */ 58 | jsdoc?: JSDocSetting; 59 | } 60 | -------------------------------------------------------------------------------- /types/prettier/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | NPM package 4 | 5 | 6 | Downloads 7 | 8 | 9 | License: MIT 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/prettier 17 | 18 | ## Install 19 | 20 | ```sh 21 | npm install -D @eslint-types/prettier 22 | ``` 23 | 24 | ## Usage 25 | 26 | ```js 27 | // @ts-check 28 | const { defineConfig } = require('eslint-define-config'); 29 | 30 | /// 31 | 32 | module.exports = defineConfig({ 33 | // ... 34 | }); 35 | ``` 36 | -------------------------------------------------------------------------------- /types/prettier/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Extends, Plugins, RuleOptions } from './types'; 2 | 3 | declare module 'eslint-define-config' { 4 | export interface CustomExtends extends Extends {} 5 | export interface CustomPlugins extends Plugins {} 6 | export interface CustomRuleOptions extends RuleOptions {} 7 | } 8 | -------------------------------------------------------------------------------- /types/prettier/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eslint-types/prettier", 3 | "version": "5.1.3", 4 | "description": "TypeScript definitions for eslint-define-config", 5 | "homepage": "https://github.com/eslint-types/define-config-plugin-types/tree/main/types/prettier", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Christopher Quadflieg", 10 | "url": "https://github.com/Shinigami92", 11 | "githubUsername": "Shinigami92" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/eslint-types/define-config-plugin-types.git", 19 | "directory": "types/prettier" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "eslint-plugin-prettier": "5.1.3" 25 | }, 26 | "exports": { 27 | ".": { 28 | "types": "./index.d.ts" 29 | }, 30 | "./types": { 31 | "types": "./types.d.ts" 32 | }, 33 | "./package.json": "./package.json" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /types/prettier/rules/prettier.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | [k: string]: unknown; 3 | } 4 | 5 | export interface Schema1 { 6 | usePrettierrc?: boolean; 7 | fileInfoOptions?: { 8 | [k: string]: unknown; 9 | }; 10 | [k: string]: unknown; 11 | } 12 | 13 | export type PrettierRuleOptions = [Schema0?, Schema1?]; 14 | -------------------------------------------------------------------------------- /types/prettier/types.d.ts: -------------------------------------------------------------------------------- 1 | import type { PrettierRuleOptions } from './rules/prettier'; 2 | 3 | export interface Extends { 4 | 'plugin:prettier/recommended': void; 5 | } 6 | 7 | export interface Plugins { 8 | prettier: void; 9 | } 10 | 11 | export interface RuleOptions { 12 | /** 13 | * undefined 14 | * 15 | * @see [prettier](https://github.com/prettier/eslint-plugin-prettier#options) 16 | */ 17 | 'prettier/prettier': PrettierRuleOptions; 18 | } 19 | -------------------------------------------------------------------------------- /types/typescript-eslint/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | NPM package 4 | 5 | 6 | Downloads 7 | 8 | 9 | License: MIT 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/typescript-eslint 17 | 18 | ## Install 19 | 20 | ```sh 21 | npm install -D @eslint-types/typescript-eslint 22 | ``` 23 | 24 | ## Usage 25 | 26 | ```js 27 | // @ts-check 28 | const { defineConfig } = require('eslint-define-config'); 29 | 30 | /// 31 | 32 | module.exports = defineConfig({ 33 | // ... 34 | }); 35 | ``` 36 | -------------------------------------------------------------------------------- /types/typescript-eslint/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { 2 | Extends, 3 | ParserOptions, 4 | Parsers, 5 | Plugins, 6 | RuleOptions, 7 | } from './types'; 8 | 9 | declare module 'eslint-define-config' { 10 | export interface CustomExtends extends Extends {} 11 | export interface CustomPlugins extends Plugins {} 12 | export interface CustomRuleOptions extends RuleOptions {} 13 | export interface CustomParsers extends Parsers {} 14 | export interface CustomParserOptions extends ParserOptions {} 15 | } 16 | -------------------------------------------------------------------------------- /types/typescript-eslint/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eslint-types/typescript-eslint", 3 | "version": "7.5.0", 4 | "description": "TypeScript definitions for eslint-define-config", 5 | "homepage": "https://github.com/eslint-types/define-config-plugin-types/tree/main/types/typescript-eslint", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Christopher Quadflieg", 10 | "url": "https://github.com/Shinigami92", 11 | "githubUsername": "Shinigami92" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/eslint-types/define-config-plugin-types.git", 19 | "directory": "types/typescript-eslint" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "@typescript-eslint/eslint-plugin": "7.5.0" 25 | }, 26 | "exports": { 27 | ".": { 28 | "types": "./index.d.ts" 29 | }, 30 | "./types": { 31 | "types": "./types.d.ts" 32 | }, 33 | "./package.json": "./package.json" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /types/typescript-eslint/parser-options.d.ts: -------------------------------------------------------------------------------- 1 | export interface ParserOptions { 2 | /** 3 | * The identifier that's used for JSX Elements creation (after transpilation). 4 | * If you're using a library other than React (like `preact`), then you should change this value. 5 | * If you are using the [new JSX transform](https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) you can set this to `null`. 6 | * 7 | * This should not be a member expression - just the root identifier (i.e. use `"React"` instead of `"React.createElement"`). 8 | * 9 | * If you provide `parserOptions.project`, you do not need to set this, as it will automatically detected from the compiler. 10 | * 11 | * @default 'React' 12 | * 13 | * @see [jsxPragma](https://typescript-eslint.io/architecture/parser#jsxpragma) 14 | */ 15 | jsxPragma?: string; 16 | 17 | /** 18 | * The identifier that's used for JSX fragment elements (after transpilation). 19 | * If `null`, assumes transpilation will always use a member of the configured `jsxPragma`. 20 | * This should not be a member expression - just the root identifier (i.e. use `"h"` instead of `"h.Fragment"`). 21 | * 22 | * If you provide `parserOptions.project`, you do not need to set this, as it will automatically detected from the compiler. 23 | * 24 | * @default null 25 | * 26 | * @see [jsxFragmentName](https://typescript-eslint.io/architecture/parser#jsxfragmentname) 27 | */ 28 | jsxFragmentName?: string | null; 29 | 30 | /** 31 | * For valid options, see the [TypeScript compiler options](https://www.typescriptlang.org/tsconfig#lib). 32 | * 33 | * Specifies the TypeScript `libs` that are available. 34 | * This is used by the scope analyser to ensure there are global variables declared for the types exposed by TypeScript. 35 | * 36 | * If you provide `parserOptions.project`, you do not need to set this, as it will automatically detected from the compiler. 37 | * 38 | * @default ['es2018'] 39 | * 40 | * @see [lib](https://typescript-eslint.io/architecture/parser/#lib) 41 | */ 42 | lib?: string[]; 43 | 44 | comment?: boolean; 45 | 46 | errorOnTypeScriptSyntacticAndSemanticIssues?: boolean; 47 | 48 | errorOnUnknownASTType?: boolean; 49 | 50 | /** 51 | * This option allows you to provide one or more additional file extensions which should be considered in the TypeScript Program compilation. 52 | * 53 | * The default extensions are `.ts`, `.tsx`, `.js`, and `.jsx`. Add extensions starting with `.`, followed by the file extension. 54 | * E.g. for a `.vue` file use `"extraFileExtensions: [".vue"]`. 55 | * 56 | * @see [extraFileExtensions](https://typescript-eslint.io/architecture/parser/#extrafileextensions) 57 | */ 58 | extraFileExtensions?: string[]; 59 | 60 | filePath?: string; 61 | 62 | loc?: boolean; 63 | 64 | /** 65 | * Parser. 66 | * 67 | * @see [Working with Custom Parsers](https://eslint.org/docs/developer-guide/working-with-custom-parsers) 68 | * @see [Specifying Parser](https://eslint.org/docs/user-guide/configuring/plugins#specifying-parser) 69 | */ 70 | parser?: string; 71 | 72 | /** 73 | * This option allows you to provide a path to your project's `tsconfig.json`. 74 | * **This setting is required if you want to use rules which require type information.** 75 | * Relative paths are interpreted relative to the current working directory if `tsconfigRootDir` is not set. 76 | * If you intend on running ESLint from directories other than the project root, you should consider using `tsconfigRootDir`. 77 | * 78 | * @default undefined 79 | * 80 | * @see [project](https://typescript-eslint.io/architecture/parser/#project) 81 | */ 82 | project?: string | string[] | true | null; 83 | 84 | /** 85 | * This option allows you to ignore folders from being included in your provided list of `project`s. 86 | * This is useful if you have configured glob patterns, but want to make sure you ignore certain folders. 87 | * 88 | * It accepts an array of globs to exclude from the `project` globs. 89 | * 90 | * For example, by default it will ensure that a glob like `./**‎/tsconfig.json` will not match any `tsconfigs` within your `node_modules` folder (some npm packages do not exclude their source files from their published packages). 91 | * 92 | * @default ['**‎/node_modules/**'] 93 | * 94 | * @see [projectFolderIgnoreList](https://typescript-eslint.io/architecture/parser/#projectfolderignorelist) 95 | */ 96 | projectFolderIgnoreList?: Array; 97 | 98 | range?: boolean; 99 | 100 | tokens?: boolean; 101 | 102 | /** 103 | * This option allows you to provide the root directory for relative tsconfig paths specified in the `project` option above. 104 | * 105 | * @see [tsconfigRootDir](https://typescript-eslint.io/architecture/parser/#tsconfigrootdir) 106 | */ 107 | tsconfigRootDir?: string; 108 | 109 | useJSXTextNode?: boolean; 110 | 111 | /** 112 | * This option allows you to toggle the warning that the parser will give you if you use a version of TypeScript which is not explicitly supported. 113 | * 114 | * @default true 115 | * 116 | * @see [warnOnUnsupportedTypeScriptVersion](https://typescript-eslint.io/architecture/parser/#warnonunsupportedtypescriptversion) 117 | */ 118 | warnOnUnsupportedTypeScriptVersion?: boolean; 119 | 120 | /** 121 | * This option allow you to tell parser to act as if `emitDecoratorMetadata: true` is set in `tsconfig.json`, but without [type-aware linting](https://typescript-eslint.io/linting/typed-linting). 122 | * In other words, you don't have to specify `parserOptions.project` in this case, making the linting process faster. 123 | * 124 | * @default undefined 125 | * 126 | * @see [emitDecoratorMetadata](https://typescript-eslint.io/architecture/parser/#emitdecoratormetadata) 127 | */ 128 | emitDecoratorMetadata?: boolean; 129 | } 130 | -------------------------------------------------------------------------------- /types/typescript-eslint/parsers.d.ts: -------------------------------------------------------------------------------- 1 | export interface Parsers { 2 | '@typescript-eslint/parser': void; 3 | } 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/adjacent-overload-signatures.d.ts: -------------------------------------------------------------------------------- 1 | export type AdjacentOverloadSignaturesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/array-type.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * The array type expected for mutable cases. 4 | */ 5 | default?: 'array' | 'generic' | 'array-simple'; 6 | /** 7 | * The array type expected for readonly cases. If omitted, the value for `default` will be used. 8 | */ 9 | readonly?: 'array' | 'generic' | 'array-simple'; 10 | } 11 | 12 | export type ArrayTypeRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/await-thenable.d.ts: -------------------------------------------------------------------------------- 1 | export type AwaitThenableRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/ban-ts-comment.d.ts: -------------------------------------------------------------------------------- 1 | export type DirectiveConfigSchema = 2 | | boolean 3 | | 'allow-with-description' 4 | | { 5 | descriptionFormat?: string; 6 | }; 7 | 8 | export interface Schema0 { 9 | 'ts-expect-error'?: DirectiveConfigSchema; 10 | 'ts-ignore'?: DirectiveConfigSchema; 11 | 'ts-nocheck'?: DirectiveConfigSchema; 12 | 'ts-check'?: DirectiveConfigSchema; 13 | minimumDescriptionLength?: number; 14 | } 15 | 16 | export type BanTsCommentRuleOptions = [Schema0?]; 17 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/ban-tslint-comment.d.ts: -------------------------------------------------------------------------------- 1 | export type BanTslintCommentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/ban-types.d.ts: -------------------------------------------------------------------------------- 1 | export type BanConfig = 2 | | null 3 | | false 4 | | true 5 | | string 6 | | { 7 | /** 8 | * Custom error message 9 | */ 10 | message?: string; 11 | /** 12 | * Type to autofix replace with. Note that autofixers can be applied automatically - so you need to be careful with this option. 13 | */ 14 | fixWith?: string; 15 | /** 16 | * Types to suggest replacing with. 17 | */ 18 | suggest?: string[]; 19 | }; 20 | 21 | export interface Schema0 { 22 | types?: { 23 | [k: string]: BanConfig; 24 | }; 25 | extendDefaults?: boolean; 26 | } 27 | 28 | export type BanTypesRuleOptions = [Schema0?]; 29 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/block-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'never'; 2 | 3 | export type BlockSpacingRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/brace-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = '1tbs' | 'stroustrup' | 'allman'; 2 | 3 | export interface Schema1 { 4 | allowSingleLine?: boolean; 5 | } 6 | 7 | export type BraceStyleRuleOptions = [Schema0?, Schema1?]; 8 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/class-literal-property-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'fields' | 'getters'; 2 | 3 | export type ClassLiteralPropertyStyleRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/class-methods-use-this.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Allows specified method names to be ignored with this rule 4 | */ 5 | exceptMethods?: string[]; 6 | /** 7 | * Enforces that functions used as instance field initializers utilize `this` 8 | */ 9 | enforceForClassFields?: boolean; 10 | /** 11 | * Ignore members marked with the `override` modifier 12 | */ 13 | ignoreOverrideMethods?: boolean; 14 | /** 15 | * Ignore classes that specifically implement some interface 16 | */ 17 | ignoreClassesThatImplementAnInterface?: boolean | 'public-fields'; 18 | } 19 | 20 | export type ClassMethodsUseThisRuleOptions = [Schema0?]; 21 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/comma-dangle.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | [ 4 | | Value 5 | | { 6 | arrays?: ValueWithIgnore; 7 | objects?: ValueWithIgnore; 8 | imports?: ValueWithIgnore; 9 | exports?: ValueWithIgnore; 10 | functions?: ValueWithIgnore; 11 | enums?: ValueWithIgnore; 12 | generics?: ValueWithIgnore; 13 | tuples?: ValueWithIgnore; 14 | }, 15 | ]; 16 | export type Value = 'always-multiline' | 'always' | 'never' | 'only-multiline'; 17 | export type ValueWithIgnore = 18 | | 'always-multiline' 19 | | 'always' 20 | | 'never' 21 | | 'only-multiline' 22 | | 'ignore'; 23 | 24 | export type CommaDangleRuleOptions = Schema0; 25 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/comma-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | before?: boolean; 3 | after?: boolean; 4 | } 5 | 6 | export type CommaSpacingRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-generic-constructors.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'type-annotation' | 'constructor'; 2 | 3 | export type ConsistentGenericConstructorsRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-indexed-object-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'record' | 'index-signature'; 2 | 3 | export type ConsistentIndexedObjectStyleRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-return.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | treatUndefinedAsUnspecified?: boolean; 3 | } 4 | 5 | export type ConsistentReturnRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-type-assertions.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | { 3 | assertionStyle: 'never'; 4 | } 5 | | { 6 | assertionStyle: 'as' | 'angle-bracket'; 7 | objectLiteralTypeAssertions?: 'allow' | 'allow-as-parameter' | 'never'; 8 | }; 9 | 10 | export type ConsistentTypeAssertionsRuleOptions = [Schema0?]; 11 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-type-definitions.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'interface' | 'type'; 2 | 3 | export type ConsistentTypeDefinitionsRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-type-exports.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | fixMixedExportsWithInlineTypeSpecifier?: boolean; 3 | } 4 | 5 | export type ConsistentTypeExportsRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/consistent-type-imports.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | disallowTypeAnnotations?: boolean; 3 | fixStyle?: 'separate-type-imports' | 'inline-type-imports'; 4 | prefer?: 'type-imports' | 'no-type-imports'; 5 | } 6 | 7 | export type ConsistentTypeImportsRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/default-param-last.d.ts: -------------------------------------------------------------------------------- 1 | export type DefaultParamLastRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/dot-notation.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowKeywords?: boolean; 3 | allowPattern?: string; 4 | allowPrivateClassPropertyAccess?: boolean; 5 | allowProtectedClassPropertyAccess?: boolean; 6 | allowIndexSignaturePropertyAccess?: boolean; 7 | } 8 | 9 | export type DotNotationRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/explicit-function-return-type.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow arrow functions that start with the `void` keyword. 4 | */ 5 | allowConciseArrowFunctionExpressionsStartingWithVoid?: boolean; 6 | /** 7 | * Whether to ignore function expressions (functions which are not part of a declaration). 8 | */ 9 | allowExpressions?: boolean; 10 | /** 11 | * Whether to ignore functions immediately returning another function expression. 12 | */ 13 | allowHigherOrderFunctions?: boolean; 14 | /** 15 | * Whether to ignore type annotations on the variable of function expressions. 16 | */ 17 | allowTypedFunctionExpressions?: boolean; 18 | /** 19 | * Whether to ignore arrow functions immediately returning a `as const` value. 20 | */ 21 | allowDirectConstAssertionInArrowFunctions?: boolean; 22 | /** 23 | * Whether to ignore functions that don't have generic type parameters. 24 | */ 25 | allowFunctionsWithoutTypeParameters?: boolean; 26 | /** 27 | * An array of function/method names that will not have their arguments or return values checked. 28 | */ 29 | allowedNames?: string[]; 30 | /** 31 | * Whether to ignore immediately invoked function expressions (IIFEs). 32 | */ 33 | allowIIFEs?: boolean; 34 | } 35 | 36 | export type ExplicitFunctionReturnTypeRuleOptions = [Schema0?]; 37 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/explicit-member-accessibility.d.ts: -------------------------------------------------------------------------------- 1 | export type AccessibilityLevel = 'explicit' | 'no-public' | 'off'; 2 | 3 | export interface Schema0 { 4 | accessibility?: AccessibilityLevel; 5 | overrides?: { 6 | accessors?: AccessibilityLevel; 7 | constructors?: AccessibilityLevel; 8 | methods?: AccessibilityLevel; 9 | properties?: AccessibilityLevel; 10 | parameterProperties?: AccessibilityLevel; 11 | }; 12 | ignoredMethodNames?: string[]; 13 | } 14 | 15 | export type ExplicitMemberAccessibilityRuleOptions = [Schema0?]; 16 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/explicit-module-boundary-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to ignore arguments that are explicitly typed as `any`. 4 | */ 5 | allowArgumentsExplicitlyTypedAsAny?: boolean; 6 | /** 7 | * Whether to ignore return type annotations on body-less arrow functions that return an `as const` type assertion. 8 | * You must still type the parameters of the function. 9 | */ 10 | allowDirectConstAssertionInArrowFunctions?: boolean; 11 | /** 12 | * An array of function/method names that will not have their arguments or return values checked. 13 | */ 14 | allowedNames?: string[]; 15 | /** 16 | * Whether to ignore return type annotations on functions immediately returning another function expression. 17 | * You must still type the parameters of the function. 18 | */ 19 | allowHigherOrderFunctions?: boolean; 20 | /** 21 | * Whether to ignore type annotations on the variable of a function expression. 22 | */ 23 | allowTypedFunctionExpressions?: boolean; 24 | } 25 | 26 | export type ExplicitModuleBoundaryTypesRuleOptions = [Schema0?]; 27 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/func-call-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | ['never'] 4 | | ['always'] 5 | | [ 6 | 'always', 7 | { 8 | allowNewlines?: boolean; 9 | }, 10 | ]; 11 | 12 | export type FuncCallSpacingRuleOptions = Schema0; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/indent.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'tab' | number; 2 | 3 | export interface Schema1 { 4 | SwitchCase?: number; 5 | VariableDeclarator?: 6 | | (number | ('first' | 'off')) 7 | | { 8 | var?: number | ('first' | 'off'); 9 | let?: number | ('first' | 'off'); 10 | const?: number | ('first' | 'off'); 11 | }; 12 | outerIIFEBody?: number | 'off'; 13 | MemberExpression?: number | 'off'; 14 | FunctionDeclaration?: { 15 | parameters?: number | ('first' | 'off'); 16 | body?: number; 17 | }; 18 | FunctionExpression?: { 19 | parameters?: number | ('first' | 'off'); 20 | body?: number; 21 | }; 22 | StaticBlock?: { 23 | body?: number; 24 | }; 25 | CallExpression?: { 26 | arguments?: number | ('first' | 'off'); 27 | }; 28 | ArrayExpression?: number | ('first' | 'off'); 29 | ObjectExpression?: number | ('first' | 'off'); 30 | ImportDeclaration?: number | ('first' | 'off'); 31 | flatTernaryExpressions?: boolean; 32 | offsetTernaryExpressions?: boolean; 33 | ignoredNodes?: string[]; 34 | ignoreComments?: boolean; 35 | } 36 | 37 | export type IndentRuleOptions = [Schema0?, Schema1?]; 38 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/init-declarations.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | ['always'] 4 | | ['never'] 5 | | [ 6 | 'never', 7 | { 8 | ignoreForLoopInit?: boolean; 9 | }, 10 | ]; 11 | 12 | export type InitDeclarationsRuleOptions = Schema0; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/key-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | { 3 | align?: 4 | | ('colon' | 'value') 5 | | { 6 | mode?: 'strict' | 'minimum'; 7 | on?: 'colon' | 'value'; 8 | beforeColon?: boolean; 9 | afterColon?: boolean; 10 | }; 11 | mode?: 'strict' | 'minimum'; 12 | beforeColon?: boolean; 13 | afterColon?: boolean; 14 | } 15 | | { 16 | singleLine?: { 17 | mode?: 'strict' | 'minimum'; 18 | beforeColon?: boolean; 19 | afterColon?: boolean; 20 | }; 21 | multiLine?: { 22 | align?: 23 | | ('colon' | 'value') 24 | | { 25 | mode?: 'strict' | 'minimum'; 26 | on?: 'colon' | 'value'; 27 | beforeColon?: boolean; 28 | afterColon?: boolean; 29 | }; 30 | mode?: 'strict' | 'minimum'; 31 | beforeColon?: boolean; 32 | afterColon?: boolean; 33 | }; 34 | } 35 | | { 36 | singleLine?: { 37 | mode?: 'strict' | 'minimum'; 38 | beforeColon?: boolean; 39 | afterColon?: boolean; 40 | }; 41 | multiLine?: { 42 | mode?: 'strict' | 'minimum'; 43 | beforeColon?: boolean; 44 | afterColon?: boolean; 45 | }; 46 | align?: { 47 | mode?: 'strict' | 'minimum'; 48 | on?: 'colon' | 'value'; 49 | beforeColon?: boolean; 50 | afterColon?: boolean; 51 | }; 52 | }; 53 | 54 | export type KeySpacingRuleOptions = [Schema0?]; 55 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/keyword-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | before?: boolean; 3 | after?: boolean; 4 | overrides?: { 5 | abstract?: { 6 | before?: boolean; 7 | after?: boolean; 8 | }; 9 | as?: { 10 | before?: boolean; 11 | after?: boolean; 12 | }; 13 | async?: { 14 | before?: boolean; 15 | after?: boolean; 16 | }; 17 | await?: { 18 | before?: boolean; 19 | after?: boolean; 20 | }; 21 | boolean?: { 22 | before?: boolean; 23 | after?: boolean; 24 | }; 25 | break?: { 26 | before?: boolean; 27 | after?: boolean; 28 | }; 29 | byte?: { 30 | before?: boolean; 31 | after?: boolean; 32 | }; 33 | case?: { 34 | before?: boolean; 35 | after?: boolean; 36 | }; 37 | catch?: { 38 | before?: boolean; 39 | after?: boolean; 40 | }; 41 | char?: { 42 | before?: boolean; 43 | after?: boolean; 44 | }; 45 | class?: { 46 | before?: boolean; 47 | after?: boolean; 48 | }; 49 | const?: { 50 | before?: boolean; 51 | after?: boolean; 52 | }; 53 | continue?: { 54 | before?: boolean; 55 | after?: boolean; 56 | }; 57 | debugger?: { 58 | before?: boolean; 59 | after?: boolean; 60 | }; 61 | default?: { 62 | before?: boolean; 63 | after?: boolean; 64 | }; 65 | delete?: { 66 | before?: boolean; 67 | after?: boolean; 68 | }; 69 | do?: { 70 | before?: boolean; 71 | after?: boolean; 72 | }; 73 | double?: { 74 | before?: boolean; 75 | after?: boolean; 76 | }; 77 | else?: { 78 | before?: boolean; 79 | after?: boolean; 80 | }; 81 | enum?: { 82 | before?: boolean; 83 | after?: boolean; 84 | }; 85 | export?: { 86 | before?: boolean; 87 | after?: boolean; 88 | }; 89 | extends?: { 90 | before?: boolean; 91 | after?: boolean; 92 | }; 93 | false?: { 94 | before?: boolean; 95 | after?: boolean; 96 | }; 97 | final?: { 98 | before?: boolean; 99 | after?: boolean; 100 | }; 101 | finally?: { 102 | before?: boolean; 103 | after?: boolean; 104 | }; 105 | float?: { 106 | before?: boolean; 107 | after?: boolean; 108 | }; 109 | for?: { 110 | before?: boolean; 111 | after?: boolean; 112 | }; 113 | from?: { 114 | before?: boolean; 115 | after?: boolean; 116 | }; 117 | function?: { 118 | before?: boolean; 119 | after?: boolean; 120 | }; 121 | get?: { 122 | before?: boolean; 123 | after?: boolean; 124 | }; 125 | goto?: { 126 | before?: boolean; 127 | after?: boolean; 128 | }; 129 | if?: { 130 | before?: boolean; 131 | after?: boolean; 132 | }; 133 | implements?: { 134 | before?: boolean; 135 | after?: boolean; 136 | }; 137 | import?: { 138 | before?: boolean; 139 | after?: boolean; 140 | }; 141 | in?: { 142 | before?: boolean; 143 | after?: boolean; 144 | }; 145 | instanceof?: { 146 | before?: boolean; 147 | after?: boolean; 148 | }; 149 | int?: { 150 | before?: boolean; 151 | after?: boolean; 152 | }; 153 | interface?: { 154 | before?: boolean; 155 | after?: boolean; 156 | }; 157 | let?: { 158 | before?: boolean; 159 | after?: boolean; 160 | }; 161 | long?: { 162 | before?: boolean; 163 | after?: boolean; 164 | }; 165 | native?: { 166 | before?: boolean; 167 | after?: boolean; 168 | }; 169 | new?: { 170 | before?: boolean; 171 | after?: boolean; 172 | }; 173 | null?: { 174 | before?: boolean; 175 | after?: boolean; 176 | }; 177 | of?: { 178 | before?: boolean; 179 | after?: boolean; 180 | }; 181 | package?: { 182 | before?: boolean; 183 | after?: boolean; 184 | }; 185 | private?: { 186 | before?: boolean; 187 | after?: boolean; 188 | }; 189 | protected?: { 190 | before?: boolean; 191 | after?: boolean; 192 | }; 193 | public?: { 194 | before?: boolean; 195 | after?: boolean; 196 | }; 197 | return?: { 198 | before?: boolean; 199 | after?: boolean; 200 | }; 201 | set?: { 202 | before?: boolean; 203 | after?: boolean; 204 | }; 205 | short?: { 206 | before?: boolean; 207 | after?: boolean; 208 | }; 209 | static?: { 210 | before?: boolean; 211 | after?: boolean; 212 | }; 213 | super?: { 214 | before?: boolean; 215 | after?: boolean; 216 | }; 217 | switch?: { 218 | before?: boolean; 219 | after?: boolean; 220 | }; 221 | synchronized?: { 222 | before?: boolean; 223 | after?: boolean; 224 | }; 225 | this?: { 226 | before?: boolean; 227 | after?: boolean; 228 | }; 229 | throw?: { 230 | before?: boolean; 231 | after?: boolean; 232 | }; 233 | throws?: { 234 | before?: boolean; 235 | after?: boolean; 236 | }; 237 | transient?: { 238 | before?: boolean; 239 | after?: boolean; 240 | }; 241 | true?: { 242 | before?: boolean; 243 | after?: boolean; 244 | }; 245 | try?: { 246 | before?: boolean; 247 | after?: boolean; 248 | }; 249 | typeof?: { 250 | before?: boolean; 251 | after?: boolean; 252 | }; 253 | var?: { 254 | before?: boolean; 255 | after?: boolean; 256 | }; 257 | void?: { 258 | before?: boolean; 259 | after?: boolean; 260 | }; 261 | volatile?: { 262 | before?: boolean; 263 | after?: boolean; 264 | }; 265 | while?: { 266 | before?: boolean; 267 | after?: boolean; 268 | }; 269 | with?: { 270 | before?: boolean; 271 | after?: boolean; 272 | }; 273 | yield?: { 274 | before?: boolean; 275 | after?: boolean; 276 | }; 277 | type?: { 278 | before?: boolean; 279 | after?: boolean; 280 | }; 281 | }; 282 | } 283 | 284 | export type KeywordSpacingRuleOptions = [Schema0?]; 285 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/lines-around-comment.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | beforeBlockComment?: boolean; 3 | afterBlockComment?: boolean; 4 | beforeLineComment?: boolean; 5 | afterLineComment?: boolean; 6 | allowBlockStart?: boolean; 7 | allowBlockEnd?: boolean; 8 | allowClassStart?: boolean; 9 | allowClassEnd?: boolean; 10 | allowObjectStart?: boolean; 11 | allowObjectEnd?: boolean; 12 | allowArrayStart?: boolean; 13 | allowArrayEnd?: boolean; 14 | allowInterfaceStart?: boolean; 15 | allowInterfaceEnd?: boolean; 16 | allowTypeStart?: boolean; 17 | allowTypeEnd?: boolean; 18 | allowEnumStart?: boolean; 19 | allowEnumEnd?: boolean; 20 | allowModuleStart?: boolean; 21 | allowModuleEnd?: boolean; 22 | ignorePattern?: string; 23 | applyDefaultIgnorePatterns?: boolean; 24 | } 25 | 26 | export type LinesAroundCommentRuleOptions = [Schema0?]; 27 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/lines-between-class-members.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | { 3 | /** 4 | * @minItems 1 5 | */ 6 | enforce: [ 7 | { 8 | blankLine: 'always' | 'never'; 9 | prev: 'method' | 'field' | '*'; 10 | next: 'method' | 'field' | '*'; 11 | }, 12 | ...Array<{ 13 | blankLine: 'always' | 'never'; 14 | prev: 'method' | 'field' | '*'; 15 | next: 'method' | 'field' | '*'; 16 | }>, 17 | ]; 18 | } 19 | | ('always' | 'never'); 20 | 21 | export interface Schema1 { 22 | exceptAfterSingleLine?: boolean; 23 | exceptAfterOverload?: boolean; 24 | } 25 | 26 | export type LinesBetweenClassMembersRuleOptions = [Schema0?, Schema1?]; 27 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/max-params.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | maximum?: number; 3 | max?: number; 4 | countVoidThis?: boolean; 5 | } 6 | 7 | export type MaxParamsRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/member-delimiter-style.d.ts: -------------------------------------------------------------------------------- 1 | export type MultiLineOption = 'none' | 'semi' | 'comma'; 2 | export type SingleLineOption = 'semi' | 'comma'; 3 | 4 | export interface Schema0 { 5 | multiline?: { 6 | delimiter?: MultiLineOption; 7 | requireLast?: boolean; 8 | }; 9 | singleline?: { 10 | delimiter?: SingleLineOption; 11 | requireLast?: boolean; 12 | }; 13 | overrides?: { 14 | interface?: DelimiterConfig; 15 | typeLiteral?: DelimiterConfig; 16 | }; 17 | multilineDetection?: 'brackets' | 'last-member'; 18 | } 19 | export interface DelimiterConfig { 20 | multiline?: { 21 | delimiter?: MultiLineOption; 22 | requireLast?: boolean; 23 | }; 24 | singleline?: { 25 | delimiter?: SingleLineOption; 26 | requireLast?: boolean; 27 | }; 28 | } 29 | 30 | export type MemberDelimiterStyleRuleOptions = [Schema0?]; 31 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/member-ordering.d.ts: -------------------------------------------------------------------------------- 1 | export type BaseConfig = 2 | | 'never' 3 | | Array 4 | | { 5 | memberTypes?: Array | 'never'; 6 | order?: OrderOptions; 7 | optionalityOrder?: OptionalityOrderOptions; 8 | }; 9 | export type AllItems = 10 | | 'readonly-signature' 11 | | 'signature' 12 | | 'readonly-field' 13 | | 'public-readonly-field' 14 | | 'public-decorated-readonly-field' 15 | | 'decorated-readonly-field' 16 | | 'static-readonly-field' 17 | | 'public-static-readonly-field' 18 | | 'instance-readonly-field' 19 | | 'public-instance-readonly-field' 20 | | 'abstract-readonly-field' 21 | | 'public-abstract-readonly-field' 22 | | 'protected-readonly-field' 23 | | 'protected-decorated-readonly-field' 24 | | 'protected-static-readonly-field' 25 | | 'protected-instance-readonly-field' 26 | | 'protected-abstract-readonly-field' 27 | | 'private-readonly-field' 28 | | 'private-decorated-readonly-field' 29 | | 'private-static-readonly-field' 30 | | 'private-instance-readonly-field' 31 | | '#private-readonly-field' 32 | | '#private-static-readonly-field' 33 | | '#private-instance-readonly-field' 34 | | 'field' 35 | | 'public-field' 36 | | 'public-decorated-field' 37 | | 'decorated-field' 38 | | 'static-field' 39 | | 'public-static-field' 40 | | 'instance-field' 41 | | 'public-instance-field' 42 | | 'abstract-field' 43 | | 'public-abstract-field' 44 | | 'protected-field' 45 | | 'protected-decorated-field' 46 | | 'protected-static-field' 47 | | 'protected-instance-field' 48 | | 'protected-abstract-field' 49 | | 'private-field' 50 | | 'private-decorated-field' 51 | | 'private-static-field' 52 | | 'private-instance-field' 53 | | '#private-field' 54 | | '#private-static-field' 55 | | '#private-instance-field' 56 | | 'method' 57 | | 'public-method' 58 | | 'public-decorated-method' 59 | | 'decorated-method' 60 | | 'static-method' 61 | | 'public-static-method' 62 | | 'instance-method' 63 | | 'public-instance-method' 64 | | 'abstract-method' 65 | | 'public-abstract-method' 66 | | 'protected-method' 67 | | 'protected-decorated-method' 68 | | 'protected-static-method' 69 | | 'protected-instance-method' 70 | | 'protected-abstract-method' 71 | | 'private-method' 72 | | 'private-decorated-method' 73 | | 'private-static-method' 74 | | 'private-instance-method' 75 | | '#private-method' 76 | | '#private-static-method' 77 | | '#private-instance-method' 78 | | 'call-signature' 79 | | 'constructor' 80 | | 'public-constructor' 81 | | 'protected-constructor' 82 | | 'private-constructor' 83 | | 'accessor' 84 | | 'public-accessor' 85 | | 'public-decorated-accessor' 86 | | 'decorated-accessor' 87 | | 'static-accessor' 88 | | 'public-static-accessor' 89 | | 'instance-accessor' 90 | | 'public-instance-accessor' 91 | | 'abstract-accessor' 92 | | 'public-abstract-accessor' 93 | | 'protected-accessor' 94 | | 'protected-decorated-accessor' 95 | | 'protected-static-accessor' 96 | | 'protected-instance-accessor' 97 | | 'protected-abstract-accessor' 98 | | 'private-accessor' 99 | | 'private-decorated-accessor' 100 | | 'private-static-accessor' 101 | | 'private-instance-accessor' 102 | | '#private-accessor' 103 | | '#private-static-accessor' 104 | | '#private-instance-accessor' 105 | | 'get' 106 | | 'public-get' 107 | | 'public-decorated-get' 108 | | 'decorated-get' 109 | | 'static-get' 110 | | 'public-static-get' 111 | | 'instance-get' 112 | | 'public-instance-get' 113 | | 'abstract-get' 114 | | 'public-abstract-get' 115 | | 'protected-get' 116 | | 'protected-decorated-get' 117 | | 'protected-static-get' 118 | | 'protected-instance-get' 119 | | 'protected-abstract-get' 120 | | 'private-get' 121 | | 'private-decorated-get' 122 | | 'private-static-get' 123 | | 'private-instance-get' 124 | | '#private-get' 125 | | '#private-static-get' 126 | | '#private-instance-get' 127 | | 'set' 128 | | 'public-set' 129 | | 'public-decorated-set' 130 | | 'decorated-set' 131 | | 'static-set' 132 | | 'public-static-set' 133 | | 'instance-set' 134 | | 'public-instance-set' 135 | | 'abstract-set' 136 | | 'public-abstract-set' 137 | | 'protected-set' 138 | | 'protected-decorated-set' 139 | | 'protected-static-set' 140 | | 'protected-instance-set' 141 | | 'protected-abstract-set' 142 | | 'private-set' 143 | | 'private-decorated-set' 144 | | 'private-static-set' 145 | | 'private-instance-set' 146 | | '#private-set' 147 | | '#private-static-set' 148 | | '#private-instance-set' 149 | | 'static-initialization' 150 | | 'static-static-initialization' 151 | | 'public-static-static-initialization' 152 | | 'instance-static-initialization' 153 | | 'public-instance-static-initialization' 154 | | 'abstract-static-initialization' 155 | | 'public-abstract-static-initialization' 156 | | 'protected-static-static-initialization' 157 | | 'protected-instance-static-initialization' 158 | | 'protected-abstract-static-initialization' 159 | | 'private-static-static-initialization' 160 | | 'private-instance-static-initialization' 161 | | '#private-static-static-initialization' 162 | | '#private-instance-static-initialization'; 163 | export type OrderOptions = 164 | | 'alphabetically' 165 | | 'alphabetically-case-insensitive' 166 | | 'as-written' 167 | | 'natural' 168 | | 'natural-case-insensitive'; 169 | export type OptionalityOrderOptions = 'optional-first' | 'required-first'; 170 | export type TypesConfig = 171 | | 'never' 172 | | Array 173 | | { 174 | memberTypes?: Array | 'never'; 175 | order?: OrderOptions; 176 | optionalityOrder?: OptionalityOrderOptions; 177 | }; 178 | export type TypeItems = 179 | | 'readonly-signature' 180 | | 'signature' 181 | | 'readonly-field' 182 | | 'field' 183 | | 'method' 184 | | 'constructor'; 185 | 186 | export interface Schema0 { 187 | default?: BaseConfig; 188 | classes?: BaseConfig; 189 | classExpressions?: BaseConfig; 190 | interfaces?: TypesConfig; 191 | typeLiterals?: TypesConfig; 192 | } 193 | 194 | export type MemberOrderingRuleOptions = [Schema0?]; 195 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/method-signature-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'property' | 'method'; 2 | 3 | export type MethodSignatureStyleRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-array-constructor.d.ts: -------------------------------------------------------------------------------- 1 | export type NoArrayConstructorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-array-delete.d.ts: -------------------------------------------------------------------------------- 1 | export type NoArrayDeleteRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-base-to-string.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignoredTypeNames?: string[]; 3 | } 4 | 5 | export type NoBaseToStringRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-confusing-non-null-assertion.d.ts: -------------------------------------------------------------------------------- 1 | export type NoConfusingNonNullAssertionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-confusing-void-expression.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignoreArrowShorthand?: boolean; 3 | ignoreVoidOperator?: boolean; 4 | } 5 | 6 | export type NoConfusingVoidExpressionRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-dupe-class-members.d.ts: -------------------------------------------------------------------------------- 1 | export type NoDupeClassMembersRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-duplicate-enum-values.d.ts: -------------------------------------------------------------------------------- 1 | export type NoDuplicateEnumValuesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-duplicate-type-constituents.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignoreIntersections?: boolean; 3 | ignoreUnions?: boolean; 4 | } 5 | 6 | export type NoDuplicateTypeConstituentsRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-dynamic-delete.d.ts: -------------------------------------------------------------------------------- 1 | export type NoDynamicDeleteRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-empty-function.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allow?: Array< 3 | | 'functions' 4 | | 'arrowFunctions' 5 | | 'generatorFunctions' 6 | | 'methods' 7 | | 'generatorMethods' 8 | | 'getters' 9 | | 'setters' 10 | | 'constructors' 11 | | 'private-constructors' 12 | | 'protected-constructors' 13 | | 'asyncFunctions' 14 | | 'asyncMethods' 15 | | 'decoratedFunctions' 16 | | 'overrideMethods' 17 | >; 18 | } 19 | 20 | export type NoEmptyFunctionRuleOptions = [Schema0?]; 21 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-empty-interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowSingleExtends?: boolean; 3 | } 4 | 5 | export type NoEmptyInterfaceRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-explicit-any.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to enable auto-fixing in which the `any` type is converted to the `unknown` type. 4 | */ 5 | fixToUnknown?: boolean; 6 | /** 7 | * Whether to ignore rest parameter arrays. 8 | */ 9 | ignoreRestArgs?: boolean; 10 | } 11 | 12 | export type NoExplicitAnyRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-extra-non-null-assertion.d.ts: -------------------------------------------------------------------------------- 1 | export type NoExtraNonNullAssertionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-extra-parens.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | ['functions'] 4 | | ['all'] 5 | | [ 6 | 'all', 7 | { 8 | conditionalAssign?: boolean; 9 | ternaryOperandBinaryExpressions?: boolean; 10 | nestedBinaryExpressions?: boolean; 11 | returnAssign?: boolean; 12 | ignoreJSX?: 'none' | 'all' | 'single-line' | 'multi-line'; 13 | enforceForArrowConditionals?: boolean; 14 | enforceForSequenceExpressions?: boolean; 15 | enforceForNewInMemberExpressions?: boolean; 16 | enforceForFunctionPrototypeMethods?: boolean; 17 | allowParensAfterCommentPattern?: string; 18 | }, 19 | ]; 20 | 21 | export type NoExtraParensRuleOptions = Schema0; 22 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-extra-semi.d.ts: -------------------------------------------------------------------------------- 1 | export type NoExtraSemiRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-extraneous-class.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow extraneous classes that contain only a constructor. 4 | */ 5 | allowConstructorOnly?: boolean; 6 | /** 7 | * Whether to allow extraneous classes that have no body (i.e. are empty). 8 | */ 9 | allowEmpty?: boolean; 10 | /** 11 | * Whether to allow extraneous classes that only contain static members. 12 | */ 13 | allowStaticOnly?: boolean; 14 | /** 15 | * Whether to allow extraneous classes that include a decorator. 16 | */ 17 | allowWithDecorator?: boolean; 18 | } 19 | 20 | export type NoExtraneousClassRuleOptions = [Schema0?]; 21 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-floating-promises.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to ignore `void` expressions. 4 | */ 5 | ignoreVoid?: boolean; 6 | /** 7 | * Whether to ignore async IIFEs (Immediately Invoked Function Expressions). 8 | */ 9 | ignoreIIFE?: boolean; 10 | } 11 | 12 | export type NoFloatingPromisesRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-for-in-array.d.ts: -------------------------------------------------------------------------------- 1 | export type NoForInArrayRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-implied-eval.d.ts: -------------------------------------------------------------------------------- 1 | export type NoImpliedEvalRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-import-type-side-effects.d.ts: -------------------------------------------------------------------------------- 1 | export type NoImportTypeSideEffectsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-inferrable-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignoreParameters?: boolean; 3 | ignoreProperties?: boolean; 4 | } 5 | 6 | export type NoInferrableTypesRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-invalid-this.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | capIsConstructor?: boolean; 3 | } 4 | 5 | export type NoInvalidThisRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-invalid-void-type.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowInGenericTypeArguments?: boolean | [string, ...string[]]; 3 | allowAsThisParameter?: boolean; 4 | } 5 | 6 | export type NoInvalidVoidTypeRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-loop-func.d.ts: -------------------------------------------------------------------------------- 1 | export type NoLoopFuncRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-loss-of-precision.d.ts: -------------------------------------------------------------------------------- 1 | export type NoLossOfPrecisionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-magic-numbers.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | detectObjects?: boolean; 3 | enforceConst?: boolean; 4 | ignore?: Array; 5 | ignoreArrayIndexes?: boolean; 6 | ignoreDefaultValues?: boolean; 7 | ignoreClassFieldInitialValues?: boolean; 8 | ignoreNumericLiteralTypes?: boolean; 9 | ignoreEnums?: boolean; 10 | ignoreReadonlyClassProperties?: boolean; 11 | ignoreTypeIndexes?: boolean; 12 | } 13 | 14 | export type NoMagicNumbersRuleOptions = [Schema0?]; 15 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-meaningless-void-operator.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkNever?: boolean; 3 | } 4 | 5 | export type NoMeaninglessVoidOperatorRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-misused-new.d.ts: -------------------------------------------------------------------------------- 1 | export type NoMisusedNewRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-misused-promises.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checksConditionals?: boolean; 3 | checksVoidReturn?: 4 | | boolean 5 | | { 6 | arguments?: boolean; 7 | attributes?: boolean; 8 | properties?: boolean; 9 | returns?: boolean; 10 | variables?: boolean; 11 | }; 12 | checksSpreads?: boolean; 13 | } 14 | 15 | export type NoMisusedPromisesRuleOptions = [Schema0?]; 16 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-mixed-enums.d.ts: -------------------------------------------------------------------------------- 1 | export type NoMixedEnumsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-namespace.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow `declare` with custom TypeScript namespaces. 4 | */ 5 | allowDeclarations?: boolean; 6 | /** 7 | * Whether to allow `declare` with custom TypeScript namespaces inside definition files. 8 | */ 9 | allowDefinitionFiles?: boolean; 10 | } 11 | 12 | export type NoNamespaceRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-non-null-asserted-nullish-coalescing.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNonNullAssertedNullishCoalescingRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-non-null-asserted-optional-chain.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNonNullAssertedOptionalChainRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-non-null-assertion.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNonNullAssertionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-redeclare.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | builtinGlobals?: boolean; 3 | ignoreDeclarationMerge?: boolean; 4 | } 5 | 6 | export type NoRedeclareRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-redundant-type-constituents.d.ts: -------------------------------------------------------------------------------- 1 | export type NoRedundantTypeConstituentsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-require-imports.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Patterns of import paths to allow requiring from. 4 | */ 5 | allow?: string[]; 6 | } 7 | 8 | export type NoRequireImportsRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-restricted-imports.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | Array< 3 | | string 4 | | { 5 | name: string; 6 | message?: string; 7 | importNames?: string[]; 8 | /** 9 | * Disallow value imports, but allow type-only imports. 10 | */ 11 | allowTypeImports?: boolean; 12 | } 13 | > 14 | | [] 15 | | [ 16 | { 17 | paths?: Array< 18 | | string 19 | | { 20 | name: string; 21 | message?: string; 22 | importNames?: string[]; 23 | /** 24 | * Disallow value imports, but allow type-only imports. 25 | */ 26 | allowTypeImports?: boolean; 27 | } 28 | >; 29 | patterns?: 30 | | string[] 31 | | Array<{ 32 | /** 33 | * @minItems 1 34 | */ 35 | importNames?: [string, ...string[]]; 36 | /** 37 | * @minItems 1 38 | */ 39 | group: [string, ...string[]]; 40 | importNamePattern?: string; 41 | message?: string; 42 | caseSensitive?: boolean; 43 | /** 44 | * Disallow value imports, but allow type-only imports. 45 | */ 46 | allowTypeImports?: boolean; 47 | }>; 48 | }, 49 | ]; 50 | 51 | export type NoRestrictedImportsRuleOptions = Schema0; 52 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-shadow.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | builtinGlobals?: boolean; 3 | hoist?: 'all' | 'functions' | 'never'; 4 | allow?: string[]; 5 | ignoreOnInitialization?: boolean; 6 | ignoreTypeValueShadow?: boolean; 7 | ignoreFunctionTypeParameterNameValueShadow?: boolean; 8 | } 9 | 10 | export type NoShadowRuleOptions = [Schema0?]; 11 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-this-alias.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to ignore destructurings, such as `const { props, state } = this`. 4 | */ 5 | allowDestructuring?: boolean; 6 | /** 7 | * Names to ignore, such as ["self"] for `const self = this;`. 8 | */ 9 | allowedNames?: string[]; 10 | } 11 | 12 | export type NoThisAliasRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-throw-literal.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowThrowingAny?: boolean; 3 | allowThrowingUnknown?: boolean; 4 | } 5 | 6 | export type NoThrowLiteralRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-type-alias.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow direct one-to-one type aliases. 4 | */ 5 | allowAliases?: 6 | | 'always' 7 | | 'never' 8 | | 'in-unions' 9 | | 'in-intersections' 10 | | 'in-unions-and-intersections'; 11 | /** 12 | * Whether to allow type aliases for callbacks. 13 | */ 14 | allowCallbacks?: 'always' | 'never'; 15 | /** 16 | * Whether to allow type aliases for conditional types. 17 | */ 18 | allowConditionalTypes?: 'always' | 'never'; 19 | /** 20 | * Whether to allow type aliases with constructors. 21 | */ 22 | allowConstructors?: 'always' | 'never'; 23 | /** 24 | * Whether to allow type aliases with object literal types. 25 | */ 26 | allowLiterals?: 27 | | 'always' 28 | | 'never' 29 | | 'in-unions' 30 | | 'in-intersections' 31 | | 'in-unions-and-intersections'; 32 | /** 33 | * Whether to allow type aliases with mapped types. 34 | */ 35 | allowMappedTypes?: 36 | | 'always' 37 | | 'never' 38 | | 'in-unions' 39 | | 'in-intersections' 40 | | 'in-unions-and-intersections'; 41 | /** 42 | * Whether to allow type aliases with tuple types. 43 | */ 44 | allowTupleTypes?: 45 | | 'always' 46 | | 'never' 47 | | 'in-unions' 48 | | 'in-intersections' 49 | | 'in-unions-and-intersections'; 50 | /** 51 | * Whether to allow type aliases with generic types. 52 | */ 53 | allowGenerics?: 'always' | 'never'; 54 | } 55 | 56 | export type NoTypeAliasRuleOptions = [Schema0?]; 57 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unnecessary-boolean-literal-compare.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow comparisons between nullable boolean variables and `true`. 4 | */ 5 | allowComparingNullableBooleansToTrue?: boolean; 6 | /** 7 | * Whether to allow comparisons between nullable boolean variables and `false`. 8 | */ 9 | allowComparingNullableBooleansToFalse?: boolean; 10 | } 11 | 12 | export type NoUnnecessaryBooleanLiteralCompareRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unnecessary-condition.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to ignore constant loop conditions, such as `while (true)`. 4 | */ 5 | allowConstantLoopConditions?: boolean; 6 | /** 7 | * Whether to not error when running with a tsconfig that has strictNullChecks turned. 8 | */ 9 | allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean; 10 | } 11 | 12 | export type NoUnnecessaryConditionRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unnecessary-qualifier.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnnecessaryQualifierRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unnecessary-type-arguments.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnnecessaryTypeArgumentsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unnecessary-type-assertion.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * A list of type names to ignore. 4 | */ 5 | typesToIgnore?: string[]; 6 | } 7 | 8 | export type NoUnnecessaryTypeAssertionRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unnecessary-type-constraint.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnnecessaryTypeConstraintRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-argument.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeArgumentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-assignment.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeAssignmentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-call.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeCallRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-declaration-merging.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeDeclarationMergingRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-enum-comparison.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeEnumComparisonRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-member-access.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeMemberAccessRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-return.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeReturnRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unsafe-unary-minus.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeUnaryMinusRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unused-expressions.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowShortCircuit?: boolean; 3 | allowTernary?: boolean; 4 | allowTaggedTemplates?: boolean; 5 | enforceForJSX?: boolean; 6 | } 7 | 8 | export type NoUnusedExpressionsRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-unused-vars.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | ('all' | 'local') 3 | | { 4 | vars?: 'all' | 'local'; 5 | varsIgnorePattern?: string; 6 | args?: 'all' | 'after-used' | 'none'; 7 | ignoreRestSiblings?: boolean; 8 | argsIgnorePattern?: string; 9 | caughtErrors?: 'all' | 'none'; 10 | caughtErrorsIgnorePattern?: string; 11 | destructuredArrayIgnorePattern?: string; 12 | }; 13 | 14 | export type NoUnusedVarsRuleOptions = [Schema0?]; 15 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-use-before-define.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | 'nofunc' 3 | | { 4 | functions?: boolean; 5 | classes?: boolean; 6 | enums?: boolean; 7 | variables?: boolean; 8 | typedefs?: boolean; 9 | ignoreTypeReferences?: boolean; 10 | allowNamedExports?: boolean; 11 | }; 12 | 13 | export type NoUseBeforeDefineRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-useless-constructor.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessConstructorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-useless-empty-export.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessEmptyExportRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-useless-template-literals.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessTemplateLiteralsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/no-var-requires.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Patterns of import paths to allow requiring from. 4 | */ 5 | allow?: string[]; 6 | } 7 | 8 | export type NoVarRequiresRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/non-nullable-type-assertion-style.d.ts: -------------------------------------------------------------------------------- 1 | export type NonNullableTypeAssertionStyleRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/object-curly-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'never'; 2 | 3 | export interface Schema1 { 4 | arraysInObjects?: boolean; 5 | objectsInObjects?: boolean; 6 | } 7 | 8 | export type ObjectCurlySpacingRuleOptions = [Schema0?, Schema1?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/only-throw-error.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowThrowingAny?: boolean; 3 | allowThrowingUnknown?: boolean; 4 | } 5 | 6 | export type OnlyThrowErrorRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/padding-line-between-statements.d.ts: -------------------------------------------------------------------------------- 1 | export type PaddingType = 'any' | 'never' | 'always'; 2 | export type StatementType = 3 | | ( 4 | | '*' 5 | | 'block-like' 6 | | 'exports' 7 | | 'require' 8 | | 'directive' 9 | | 'expression' 10 | | 'iife' 11 | | 'multiline-block-like' 12 | | 'multiline-expression' 13 | | 'multiline-const' 14 | | 'multiline-let' 15 | | 'multiline-var' 16 | | 'singleline-const' 17 | | 'singleline-let' 18 | | 'singleline-var' 19 | | 'block' 20 | | 'empty' 21 | | 'function' 22 | | 'break' 23 | | 'case' 24 | | 'class' 25 | | 'const' 26 | | 'continue' 27 | | 'debugger' 28 | | 'default' 29 | | 'do' 30 | | 'export' 31 | | 'for' 32 | | 'if' 33 | | 'import' 34 | | 'let' 35 | | 'return' 36 | | 'switch' 37 | | 'throw' 38 | | 'try' 39 | | 'var' 40 | | 'while' 41 | | 'with' 42 | | 'interface' 43 | | 'type' 44 | ) 45 | | [ 46 | ( 47 | | '*' 48 | | 'block-like' 49 | | 'exports' 50 | | 'require' 51 | | 'directive' 52 | | 'expression' 53 | | 'iife' 54 | | 'multiline-block-like' 55 | | 'multiline-expression' 56 | | 'multiline-const' 57 | | 'multiline-let' 58 | | 'multiline-var' 59 | | 'singleline-const' 60 | | 'singleline-let' 61 | | 'singleline-var' 62 | | 'block' 63 | | 'empty' 64 | | 'function' 65 | | 'break' 66 | | 'case' 67 | | 'class' 68 | | 'const' 69 | | 'continue' 70 | | 'debugger' 71 | | 'default' 72 | | 'do' 73 | | 'export' 74 | | 'for' 75 | | 'if' 76 | | 'import' 77 | | 'let' 78 | | 'return' 79 | | 'switch' 80 | | 'throw' 81 | | 'try' 82 | | 'var' 83 | | 'while' 84 | | 'with' 85 | | 'interface' 86 | | 'type' 87 | ), 88 | ...Array< 89 | | '*' 90 | | 'block-like' 91 | | 'exports' 92 | | 'require' 93 | | 'directive' 94 | | 'expression' 95 | | 'iife' 96 | | 'multiline-block-like' 97 | | 'multiline-expression' 98 | | 'multiline-const' 99 | | 'multiline-let' 100 | | 'multiline-var' 101 | | 'singleline-const' 102 | | 'singleline-let' 103 | | 'singleline-var' 104 | | 'block' 105 | | 'empty' 106 | | 'function' 107 | | 'break' 108 | | 'case' 109 | | 'class' 110 | | 'const' 111 | | 'continue' 112 | | 'debugger' 113 | | 'default' 114 | | 'do' 115 | | 'export' 116 | | 'for' 117 | | 'if' 118 | | 'import' 119 | | 'let' 120 | | 'return' 121 | | 'switch' 122 | | 'throw' 123 | | 'try' 124 | | 'var' 125 | | 'while' 126 | | 'with' 127 | | 'interface' 128 | | 'type' 129 | >, 130 | ]; 131 | export type Schema0 = Array<{ 132 | blankLine: PaddingType; 133 | prev: StatementType; 134 | next: StatementType; 135 | }>; 136 | 137 | export type PaddingLineBetweenStatementsRuleOptions = Schema0; 138 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/parameter-properties.d.ts: -------------------------------------------------------------------------------- 1 | export type Modifier = 2 | | 'readonly' 3 | | 'private' 4 | | 'protected' 5 | | 'public' 6 | | 'private readonly' 7 | | 'protected readonly' 8 | | 'public readonly'; 9 | 10 | export interface Schema0 { 11 | allow?: Modifier[]; 12 | prefer?: 'class-property' | 'parameter-property'; 13 | } 14 | 15 | export type ParameterPropertiesRuleOptions = [Schema0?]; 16 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-as-const.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferAsConstRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-destructuring.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | { 3 | VariableDeclarator?: { 4 | array?: boolean; 5 | object?: boolean; 6 | }; 7 | AssignmentExpression?: { 8 | array?: boolean; 9 | object?: boolean; 10 | }; 11 | } 12 | | { 13 | array?: boolean; 14 | object?: boolean; 15 | }; 16 | 17 | export interface Schema1 { 18 | enforceForRenamedProperties?: boolean; 19 | enforceForDeclarationWithTypeAnnotation?: boolean; 20 | [k: string]: unknown; 21 | } 22 | 23 | export type PreferDestructuringRuleOptions = [Schema0?, Schema1?]; 24 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-enum-initializers.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferEnumInitializersRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-find.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferFindRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-for-of.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferForOfRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-function-type.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferFunctionTypeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-includes.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferIncludesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-literal-enum-member.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowBitwiseExpressions?: boolean; 3 | } 4 | 5 | export type PreferLiteralEnumMemberRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-namespace-keyword.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferNamespaceKeywordRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-nullish-coalescing.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean; 3 | ignoreConditionalTests?: boolean; 4 | ignoreMixedLogicalExpressions?: boolean; 5 | ignorePrimitives?: 6 | | { 7 | bigint?: boolean; 8 | boolean?: boolean; 9 | number?: boolean; 10 | string?: boolean; 11 | [k: string]: unknown; 12 | } 13 | | true; 14 | ignoreTernaryTests?: boolean; 15 | } 16 | 17 | export type PreferNullishCoalescingRuleOptions = [Schema0?]; 18 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-optional-chain.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Check operands that are typed as `any` when inspecting "loose boolean" operands. 4 | */ 5 | checkAny?: boolean; 6 | /** 7 | * Check operands that are typed as `unknown` when inspecting "loose boolean" operands. 8 | */ 9 | checkUnknown?: boolean; 10 | /** 11 | * Check operands that are typed as `string` when inspecting "loose boolean" operands. 12 | */ 13 | checkString?: boolean; 14 | /** 15 | * Check operands that are typed as `number` when inspecting "loose boolean" operands. 16 | */ 17 | checkNumber?: boolean; 18 | /** 19 | * Check operands that are typed as `boolean` when inspecting "loose boolean" operands. 20 | */ 21 | checkBoolean?: boolean; 22 | /** 23 | * Check operands that are typed as `bigint` when inspecting "loose boolean" operands. 24 | */ 25 | checkBigInt?: boolean; 26 | /** 27 | * Skip operands that are not typed with `null` and/or `undefined` when inspecting "loose boolean" operands. 28 | */ 29 | requireNullish?: boolean; 30 | /** 31 | * Allow autofixers that will change the return type of the expression. This option is considered unsafe as it may break the build. 32 | */ 33 | allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing?: boolean; 34 | } 35 | 36 | export type PreferOptionalChainRuleOptions = [Schema0?]; 37 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-promise-reject-errors.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowEmptyReject?: boolean; 3 | } 4 | 5 | export type PreferPromiseRejectErrorsRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-readonly-parameter-types.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allow?: Array< 3 | | string 4 | | { 5 | from: 'file'; 6 | name: string | [string, ...string[]]; 7 | path?: string; 8 | } 9 | | { 10 | from: 'lib'; 11 | name: string | [string, ...string[]]; 12 | } 13 | | { 14 | from: 'package'; 15 | name: string | [string, ...string[]]; 16 | package: string; 17 | } 18 | >; 19 | checkParameterProperties?: boolean; 20 | ignoreInferredTypes?: boolean; 21 | treatMethodsAsReadonly?: boolean; 22 | } 23 | 24 | export type PreferReadonlyParameterTypesRuleOptions = [Schema0?]; 25 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-readonly.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | onlyInlineLambdas?: boolean; 3 | } 4 | 5 | export type PreferReadonlyRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-reduce-type-parameter.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferReduceTypeParameterRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-regexp-exec.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferRegexpExecRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-return-this-type.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferReturnThisTypeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-string-starts-ends-with.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow equality checks against the first or last element of a string. 4 | */ 5 | allowSingleElementEquality?: 'always' | 'never'; 6 | } 7 | 8 | export type PreferStringStartsEndsWithRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/prefer-ts-expect-error.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferTsExpectErrorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/promise-function-async.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to consider `any` and `unknown` to be Promises. 4 | */ 5 | allowAny?: boolean; 6 | /** 7 | * Any extra names of classes or interfaces to be considered Promises. 8 | */ 9 | allowedPromiseNames?: string[]; 10 | checkArrowFunctions?: boolean; 11 | checkFunctionDeclarations?: boolean; 12 | checkFunctionExpressions?: boolean; 13 | checkMethodDeclarations?: boolean; 14 | } 15 | 16 | export type PromiseFunctionAsyncRuleOptions = [Schema0?]; 17 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/quotes.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'single' | 'double' | 'backtick'; 2 | 3 | export type Schema1 = 4 | | 'avoid-escape' 5 | | { 6 | avoidEscape?: boolean; 7 | allowTemplateLiterals?: boolean; 8 | }; 9 | 10 | export type QuotesRuleOptions = [Schema0?, Schema1?]; 11 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/require-array-sort-compare.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to ignore arrays in which all elements are strings. 4 | */ 5 | ignoreStringArrays?: boolean; 6 | } 7 | 8 | export type RequireArraySortCompareRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/require-await.d.ts: -------------------------------------------------------------------------------- 1 | export type RequireAwaitRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/restrict-plus-operands.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow `any` typed values. 4 | */ 5 | allowAny?: boolean; 6 | /** 7 | * Whether to allow `boolean` typed values. 8 | */ 9 | allowBoolean?: boolean; 10 | /** 11 | * Whether to allow potentially `null` or `undefined` typed values. 12 | */ 13 | allowNullish?: boolean; 14 | /** 15 | * Whether to allow `bigint`/`number` typed values and `string` typed values to be added together. 16 | */ 17 | allowNumberAndString?: boolean; 18 | /** 19 | * Whether to allow `regexp` typed values. 20 | */ 21 | allowRegExp?: boolean; 22 | /** 23 | * Whether to skip compound assignments such as `+=`. 24 | */ 25 | skipCompoundAssignments?: boolean; 26 | } 27 | 28 | export type RestrictPlusOperandsRuleOptions = [Schema0?]; 29 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/restrict-template-expressions.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to allow `any` typed values in template expressions. 4 | */ 5 | allowAny?: boolean; 6 | /** 7 | * Whether to allow `array` typed values in template expressions. 8 | */ 9 | allowArray?: boolean; 10 | /** 11 | * Whether to allow `boolean` typed values in template expressions. 12 | */ 13 | allowBoolean?: boolean; 14 | /** 15 | * Whether to allow `nullish` typed values in template expressions. 16 | */ 17 | allowNullish?: boolean; 18 | /** 19 | * Whether to allow `number` typed values in template expressions. 20 | */ 21 | allowNumber?: boolean; 22 | /** 23 | * Whether to allow `regexp` typed values in template expressions. 24 | */ 25 | allowRegExp?: boolean; 26 | /** 27 | * Whether to allow `never` typed values in template expressions. 28 | */ 29 | allowNever?: boolean; 30 | } 31 | 32 | export type RestrictTemplateExpressionsRuleOptions = [Schema0?]; 33 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/return-await.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'in-try-catch' | 'always' | 'never'; 2 | 3 | export type ReturnAwaitRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/semi.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | ['never'] 4 | | [ 5 | 'never', 6 | { 7 | beforeStatementContinuationChars?: 'always' | 'any' | 'never'; 8 | }, 9 | ] 10 | | ['always'] 11 | | [ 12 | 'always', 13 | { 14 | omitLastInOneLineBlock?: boolean; 15 | omitLastInOneLineClassBody?: boolean; 16 | }, 17 | ]; 18 | 19 | export type SemiRuleOptions = Schema0; 20 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/sort-type-constituents.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to check intersection types. 4 | */ 5 | checkIntersections?: boolean; 6 | /** 7 | * Whether to check union types. 8 | */ 9 | checkUnions?: boolean; 10 | /** 11 | * Ordering of the groups. 12 | */ 13 | groupOrder?: Array< 14 | | 'conditional' 15 | | 'function' 16 | | 'import' 17 | | 'intersection' 18 | | 'keyword' 19 | | 'nullish' 20 | | 'literal' 21 | | 'named' 22 | | 'object' 23 | | 'operator' 24 | | 'tuple' 25 | | 'union' 26 | >; 27 | } 28 | 29 | export type SortTypeConstituentsRuleOptions = [Schema0?]; 30 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/space-before-blocks.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | ('always' | 'never') 3 | | { 4 | keywords?: 'always' | 'never' | 'off'; 5 | functions?: 'always' | 'never' | 'off'; 6 | classes?: 'always' | 'never' | 'off'; 7 | }; 8 | 9 | export type SpaceBeforeBlocksRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/space-before-function-paren.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | ('always' | 'never') 3 | | { 4 | anonymous?: 'always' | 'never' | 'ignore'; 5 | named?: 'always' | 'never' | 'ignore'; 6 | asyncArrow?: 'always' | 'never' | 'ignore'; 7 | }; 8 | 9 | export type SpaceBeforeFunctionParenRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/space-infix-ops.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | int32Hint?: boolean; 3 | } 4 | 5 | export type SpaceInfixOpsRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/strict-boolean-expressions.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowString?: boolean; 3 | allowNumber?: boolean; 4 | allowNullableObject?: boolean; 5 | allowNullableBoolean?: boolean; 6 | allowNullableString?: boolean; 7 | allowNullableNumber?: boolean; 8 | allowNullableEnum?: boolean; 9 | allowAny?: boolean; 10 | allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean; 11 | } 12 | 13 | export type StrictBooleanExpressionsRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/switch-exhaustiveness-check.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * If 'true', allow 'default' cases on switch statements with exhaustive cases. 4 | */ 5 | allowDefaultCaseForExhaustiveSwitch?: boolean; 6 | /** 7 | * If 'true', require a 'default' clause for switches on non-union types. 8 | */ 9 | requireDefaultForNonUnion?: boolean; 10 | } 11 | 12 | export type SwitchExhaustivenessCheckRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/triple-slash-reference.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | lib?: 'always' | 'never'; 3 | path?: 'always' | 'never'; 4 | types?: 'always' | 'never' | 'prefer-import'; 5 | } 6 | 7 | export type TripleSlashReferenceRuleOptions = [Schema0?]; 8 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/type-annotation-spacing.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | before?: boolean; 3 | after?: boolean; 4 | overrides?: { 5 | colon?: SpacingConfig; 6 | arrow?: SpacingConfig; 7 | variable?: SpacingConfig; 8 | parameter?: SpacingConfig; 9 | property?: SpacingConfig; 10 | returnType?: SpacingConfig; 11 | }; 12 | } 13 | export interface SpacingConfig { 14 | before?: boolean; 15 | after?: boolean; 16 | } 17 | 18 | export type TypeAnnotationSpacingRuleOptions = [Schema0?]; 19 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/typedef.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | arrayDestructuring?: boolean; 3 | arrowParameter?: boolean; 4 | memberVariableDeclaration?: boolean; 5 | objectDestructuring?: boolean; 6 | parameter?: boolean; 7 | propertyDeclaration?: boolean; 8 | variableDeclaration?: boolean; 9 | variableDeclarationIgnoreFunction?: boolean; 10 | } 11 | 12 | export type TypedefRuleOptions = [Schema0?]; 13 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/unbound-method.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether to skip checking whether `static` methods are correctly bound. 4 | */ 5 | ignoreStatic?: boolean; 6 | } 7 | 8 | export type UnboundMethodRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/unified-signatures.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * Whether two parameters with different names at the same index should be considered different even if their types are the same. 4 | */ 5 | ignoreDifferentlyNamedParameters?: boolean; 6 | } 7 | 8 | export type UnifiedSignaturesRuleOptions = [Schema0?]; 9 | -------------------------------------------------------------------------------- /types/typescript-eslint/rules/use-unknown-in-catch-callback-variable.d.ts: -------------------------------------------------------------------------------- 1 | export type UseUnknownInCatchCallbackVariableRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | NPM package 4 | 5 | 6 | Downloads 7 | 8 | 9 | License: MIT 10 | 11 | 12 | Donate: PayPal 13 | 14 |

15 | 16 | # @eslint-types/unicorn 17 | 18 | ## Install 19 | 20 | ```sh 21 | npm install -D @eslint-types/unicorn 22 | ``` 23 | 24 | ## Usage 25 | 26 | ```js 27 | // @ts-check 28 | const { defineConfig } = require('eslint-define-config'); 29 | 30 | /// 31 | 32 | module.exports = defineConfig({ 33 | // ... 34 | }); 35 | ``` 36 | -------------------------------------------------------------------------------- /types/unicorn/index.d.ts: -------------------------------------------------------------------------------- 1 | import type { Extends, Plugins, RuleOptions } from './types'; 2 | 3 | declare module 'eslint-define-config' { 4 | export interface CustomExtends extends Extends {} 5 | export interface CustomPlugins extends Plugins {} 6 | export interface CustomRuleOptions extends RuleOptions {} 7 | } 8 | -------------------------------------------------------------------------------- /types/unicorn/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@eslint-types/unicorn", 3 | "version": "52.0.0", 4 | "description": "TypeScript definitions for eslint-define-config", 5 | "homepage": "https://github.com/eslint-types/define-config-plugin-types/tree/main/types/unicorn", 6 | "license": "MIT", 7 | "contributors": [ 8 | { 9 | "name": "Christopher Quadflieg", 10 | "url": "https://github.com/Shinigami92", 11 | "githubUsername": "Shinigami92" 12 | } 13 | ], 14 | "main": "", 15 | "types": "index.d.ts", 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/eslint-types/define-config-plugin-types.git", 19 | "directory": "types/unicorn" 20 | }, 21 | "scripts": {}, 22 | "dependencies": {}, 23 | "devDependencies": { 24 | "eslint-plugin-unicorn": "52.0.0" 25 | }, 26 | "exports": { 27 | ".": { 28 | "types": "./index.d.ts" 29 | }, 30 | "./types": { 31 | "types": "./types.d.ts" 32 | }, 33 | "./package.json": "./package.json" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /types/unicorn/rules/better-regex.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | sortCharacterClasses?: boolean; 3 | } 4 | 5 | export type BetterRegexRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/catch-error-name.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | name?: string; 3 | ignore?: unknown[]; 4 | } 5 | 6 | export type CatchErrorNameRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/unicorn/rules/consistent-destructuring.d.ts: -------------------------------------------------------------------------------- 1 | export type ConsistentDestructuringRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/consistent-function-scoping.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkArrowFunctions?: boolean; 3 | } 4 | 5 | export type ConsistentFunctionScopingRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/custom-error-definition.d.ts: -------------------------------------------------------------------------------- 1 | export type CustomErrorDefinitionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/empty-brace-spaces.d.ts: -------------------------------------------------------------------------------- 1 | export type EmptyBraceSpacesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/error-message.d.ts: -------------------------------------------------------------------------------- 1 | export type ErrorMessageRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/escape-case.d.ts: -------------------------------------------------------------------------------- 1 | export type EscapeCaseRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/expiring-todo-comments.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | terms?: string[]; 3 | ignore?: unknown[]; 4 | ignoreDatesOnPullRequests?: boolean; 5 | allowWarningComments?: boolean; 6 | date?: string; 7 | } 8 | 9 | export type ExpiringTodoCommentsRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/unicorn/rules/explicit-length-check.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | 'non-zero'?: 'greater-than' | 'not-equal'; 3 | } 4 | 5 | export type ExplicitLengthCheckRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/filename-case.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | { 3 | case?: 'camelCase' | 'snakeCase' | 'kebabCase' | 'pascalCase'; 4 | ignore?: unknown[]; 5 | multipleFileExtensions?: boolean; 6 | } 7 | | { 8 | cases?: { 9 | camelCase?: boolean; 10 | snakeCase?: boolean; 11 | kebabCase?: boolean; 12 | pascalCase?: boolean; 13 | }; 14 | ignore?: unknown[]; 15 | multipleFileExtensions?: boolean; 16 | }; 17 | 18 | export type FilenameCaseRuleOptions = [Schema0?]; 19 | -------------------------------------------------------------------------------- /types/unicorn/rules/import-index.d.ts: -------------------------------------------------------------------------------- 1 | export type ImportIndexRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/import-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | [ 4 | { 5 | checkImport?: boolean; 6 | checkDynamicImport?: boolean; 7 | checkExportFrom?: boolean; 8 | checkRequire?: boolean; 9 | extendDefaultStyles?: boolean; 10 | styles?: ModuleStyles; 11 | }, 12 | ]; 13 | export type Styles = false | BooleanObject; 14 | 15 | export interface ModuleStyles { 16 | [k: string]: Styles; 17 | } 18 | export interface BooleanObject { 19 | [k: string]: boolean; 20 | } 21 | 22 | export type ImportStyleRuleOptions = Schema0; 23 | -------------------------------------------------------------------------------- /types/unicorn/rules/new-for-builtins.d.ts: -------------------------------------------------------------------------------- 1 | export type NewForBuiltinsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-abusive-eslint-disable.d.ts: -------------------------------------------------------------------------------- 1 | export type NoAbusiveEslintDisableRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-anonymous-default-export.d.ts: -------------------------------------------------------------------------------- 1 | export type NoAnonymousDefaultExportRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-array-callback-reference.d.ts: -------------------------------------------------------------------------------- 1 | export type NoArrayCallbackReferenceRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-array-for-each.d.ts: -------------------------------------------------------------------------------- 1 | export type NoArrayForEachRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-array-instanceof.d.ts: -------------------------------------------------------------------------------- 1 | export type NoArrayInstanceofRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-array-method-this-argument.d.ts: -------------------------------------------------------------------------------- 1 | export type NoArrayMethodThisArgumentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-array-push-push.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignore?: unknown[]; 3 | } 4 | 5 | export type NoArrayPushPushRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-array-reduce.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | allowSimpleOperations?: boolean; 3 | } 4 | 5 | export type NoArrayReduceRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-await-expression-member.d.ts: -------------------------------------------------------------------------------- 1 | export type NoAwaitExpressionMemberRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-await-in-promise-methods.d.ts: -------------------------------------------------------------------------------- 1 | export type NoAwaitInPromiseMethodsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-console-spaces.d.ts: -------------------------------------------------------------------------------- 1 | export type NoConsoleSpacesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-document-cookie.d.ts: -------------------------------------------------------------------------------- 1 | export type NoDocumentCookieRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-empty-file.d.ts: -------------------------------------------------------------------------------- 1 | export type NoEmptyFileRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-fn-reference-in-iterator.d.ts: -------------------------------------------------------------------------------- 1 | export type NoFnReferenceInIteratorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-for-loop.d.ts: -------------------------------------------------------------------------------- 1 | export type NoForLoopRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-hex-escape.d.ts: -------------------------------------------------------------------------------- 1 | export type NoHexEscapeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-instanceof-array.d.ts: -------------------------------------------------------------------------------- 1 | export type NoInstanceofArrayRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-invalid-remove-event-listener.d.ts: -------------------------------------------------------------------------------- 1 | export type NoInvalidRemoveEventListenerRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-keyword-prefix.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | /** 3 | * @minItems 0 4 | */ 5 | disallowedPrefixes?: [] | [string]; 6 | checkProperties?: boolean; 7 | onlyCamelCase?: boolean; 8 | } 9 | 10 | export type NoKeywordPrefixRuleOptions = [Schema0?]; 11 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-lonely-if.d.ts: -------------------------------------------------------------------------------- 1 | export type NoLonelyIfRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-negated-condition.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNegatedConditionRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-nested-ternary.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNestedTernaryRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-new-array.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNewArrayRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-new-buffer.d.ts: -------------------------------------------------------------------------------- 1 | export type NoNewBufferRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-null.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkStrictEquality?: boolean; 3 | } 4 | 5 | export type NoNullRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-object-as-default-parameter.d.ts: -------------------------------------------------------------------------------- 1 | export type NoObjectAsDefaultParameterRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-process-exit.d.ts: -------------------------------------------------------------------------------- 1 | export type NoProcessExitRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-reduce.d.ts: -------------------------------------------------------------------------------- 1 | export type NoReduceRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-single-promise-in-promise-methods.d.ts: -------------------------------------------------------------------------------- 1 | export type NoSinglePromiseInPromiseMethodsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-static-only-class.d.ts: -------------------------------------------------------------------------------- 1 | export type NoStaticOnlyClassRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-thenable.d.ts: -------------------------------------------------------------------------------- 1 | export type NoThenableRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-this-assignment.d.ts: -------------------------------------------------------------------------------- 1 | export type NoThisAssignmentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-typeof-undefined.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkGlobalVariables?: boolean; 3 | } 4 | 5 | export type NoTypeofUndefinedRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-unnecessary-await.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnnecessaryAwaitRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-unnecessary-polyfills.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | targets: 3 | | string 4 | | unknown[] 5 | | { 6 | [k: string]: unknown; 7 | }; 8 | } 9 | 10 | export type NoUnnecessaryPolyfillsRuleOptions = [Schema0?]; 11 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-unreadable-array-destructuring.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnreadableArrayDestructuringRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-unreadable-iife.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnreadableIifeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-unsafe-regex.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnsafeRegexRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-unused-properties.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUnusedPropertiesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-useless-fallback-in-spread.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessFallbackInSpreadRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-useless-length-check.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessLengthCheckRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-useless-promise-resolve-reject.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessPromiseResolveRejectRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-useless-spread.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessSpreadRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-useless-switch-case.d.ts: -------------------------------------------------------------------------------- 1 | export type NoUselessSwitchCaseRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-useless-undefined.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkArguments?: boolean; 3 | checkArrowFunctionBody?: boolean; 4 | } 5 | 6 | export type NoUselessUndefinedRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/unicorn/rules/no-zero-fractions.d.ts: -------------------------------------------------------------------------------- 1 | export type NoZeroFractionsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/number-literal-case.d.ts: -------------------------------------------------------------------------------- 1 | export type NumberLiteralCaseRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/numeric-separators-style.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | binary?: { 3 | onlyIfContainsSeparator?: boolean; 4 | minimumDigits?: number; 5 | groupLength?: number; 6 | }; 7 | octal?: { 8 | onlyIfContainsSeparator?: boolean; 9 | minimumDigits?: number; 10 | groupLength?: number; 11 | }; 12 | hexadecimal?: { 13 | onlyIfContainsSeparator?: boolean; 14 | minimumDigits?: number; 15 | groupLength?: number; 16 | }; 17 | number?: { 18 | onlyIfContainsSeparator?: boolean; 19 | minimumDigits?: number; 20 | groupLength?: number; 21 | }; 22 | onlyIfContainsSeparator?: boolean; 23 | } 24 | 25 | export type NumericSeparatorsStyleRuleOptions = [Schema0?]; 26 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-add-event-listener.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | excludedPackages?: string[]; 3 | } 4 | 5 | export type PreferAddEventListenerRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-array-find.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkFromLast?: boolean; 3 | } 4 | 5 | export type PreferArrayFindRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-array-flat-map.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferArrayFlatMapRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-array-flat.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | functions?: unknown[]; 3 | } 4 | 5 | export type PreferArrayFlatRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-array-index-of.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferArrayIndexOfRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-array-some.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferArraySomeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-at.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | getLastElementFunctions?: unknown[]; 3 | checkAllIndexAccess?: boolean; 4 | } 5 | 6 | export type PreferAtRuleOptions = [Schema0?]; 7 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-blob-reading-methods.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferBlobReadingMethodsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-code-point.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferCodePointRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-dataset.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDatasetRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-date-now.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDateNowRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-default-parameters.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDefaultParametersRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-dom-node-append.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDomNodeAppendRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-dom-node-dataset.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDomNodeDatasetRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-dom-node-remove.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDomNodeRemoveRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-dom-node-text-content.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferDomNodeTextContentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-event-key.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferEventKeyRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-event-target.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferEventTargetRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-exponentiation-operator.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferExponentiationOperatorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-export-from.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | ignoreUsedVariables?: boolean; 3 | } 4 | 5 | export type PreferExportFromRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-flat-map.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferFlatMapRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-includes.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferIncludesRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-json-parse-buffer.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferJsonParseBufferRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-keyboard-event-key.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferKeyboardEventKeyRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-logical-operator-over-ternary.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferLogicalOperatorOverTernaryRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-math-trunc.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferMathTruncRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-modern-dom-apis.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferModernDomApisRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-modern-math-apis.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferModernMathApisRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-module.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferModuleRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-native-coercion-functions.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferNativeCoercionFunctionsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-negative-index.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferNegativeIndexRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-node-append.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferNodeAppendRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-node-protocol.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferNodeProtocolRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-node-remove.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferNodeRemoveRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-number-properties.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | checkInfinity?: boolean; 3 | } 4 | 5 | export type PreferNumberPropertiesRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-object-from-entries.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | functions?: unknown[]; 3 | } 4 | 5 | export type PreferObjectFromEntriesRuleOptions = [Schema0?]; 6 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-object-has-own.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferObjectHasOwnRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-optional-catch-binding.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferOptionalCatchBindingRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-prototype-methods.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferPrototypeMethodsRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-query-selector.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferQuerySelectorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-reflect-apply.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferReflectApplyRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-regexp-test.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferRegexpTestRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-replace-all.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferReplaceAllRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-set-has.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferSetHasRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-set-size.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferSetSizeRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-spread.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferSpreadRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-starts-ends-with.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferStartsEndsWithRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-string-replace-all.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferStringReplaceAllRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-string-slice.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferStringSliceRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-string-starts-ends-with.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferStringStartsEndsWithRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-string-trim-start-end.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferStringTrimStartEndRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-switch.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | minimumCases?: number; 3 | emptyDefaultCase?: 4 | | 'no-default-comment' 5 | | 'do-nothing-comment' 6 | | 'no-default-case'; 7 | } 8 | 9 | export type PreferSwitchRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-ternary.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'only-single-line'; 2 | 3 | export type PreferTernaryRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-text-content.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferTextContentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-top-level-await.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferTopLevelAwaitRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-trim-start-end.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferTrimStartEndRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prefer-type-error.d.ts: -------------------------------------------------------------------------------- 1 | export type PreferTypeErrorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/prevent-abbreviations.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 2 | | [] 3 | | [ 4 | { 5 | checkProperties?: boolean; 6 | checkVariables?: boolean; 7 | checkDefaultAndNamespaceImports?: boolean | string; 8 | checkShorthandImports?: boolean | string; 9 | checkShorthandProperties?: boolean; 10 | checkFilenames?: boolean; 11 | extendDefaultReplacements?: boolean; 12 | replacements?: Abbreviations; 13 | extendDefaultAllowList?: boolean; 14 | allowList?: BooleanObject; 15 | ignore?: unknown[]; 16 | }, 17 | ]; 18 | export type Replacements = false | BooleanObject; 19 | 20 | export interface Abbreviations { 21 | [k: string]: Replacements; 22 | } 23 | export interface BooleanObject { 24 | [k: string]: boolean; 25 | } 26 | 27 | export type PreventAbbreviationsRuleOptions = Schema0; 28 | -------------------------------------------------------------------------------- /types/unicorn/rules/regex-shorthand.d.ts: -------------------------------------------------------------------------------- 1 | export type RegexShorthandRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/relative-url-style.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'never' | 'always'; 2 | 3 | export type RelativeUrlStyleRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/unicorn/rules/require-array-join-separator.d.ts: -------------------------------------------------------------------------------- 1 | export type RequireArrayJoinSeparatorRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/require-number-to-fixed-digits-argument.d.ts: -------------------------------------------------------------------------------- 1 | export type RequireNumberToFixedDigitsArgumentRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/require-post-message-target-origin.d.ts: -------------------------------------------------------------------------------- 1 | export type RequirePostMessageTargetOriginRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/string-content.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | patterns?: { 3 | [k: string]: 4 | | string 5 | | { 6 | suggest: string; 7 | fix?: boolean; 8 | message?: string; 9 | }; 10 | }; 11 | } 12 | 13 | export type StringContentRuleOptions = [Schema0?]; 14 | -------------------------------------------------------------------------------- /types/unicorn/rules/switch-case-braces.d.ts: -------------------------------------------------------------------------------- 1 | export type Schema0 = 'always' | 'avoid'; 2 | 3 | export type SwitchCaseBracesRuleOptions = [Schema0?]; 4 | -------------------------------------------------------------------------------- /types/unicorn/rules/template-indent.d.ts: -------------------------------------------------------------------------------- 1 | export interface Schema0 { 2 | indent?: string | number; 3 | tags?: string[]; 4 | functions?: string[]; 5 | selectors?: string[]; 6 | comments?: string[]; 7 | } 8 | 9 | export type TemplateIndentRuleOptions = [Schema0?]; 10 | -------------------------------------------------------------------------------- /types/unicorn/rules/text-encoding-identifier-case.d.ts: -------------------------------------------------------------------------------- 1 | export type TextEncodingIdentifierCaseRuleOptions = []; 2 | -------------------------------------------------------------------------------- /types/unicorn/rules/throw-new-error.d.ts: -------------------------------------------------------------------------------- 1 | export type ThrowNewErrorRuleOptions = []; 2 | --------------------------------------------------------------------------------