diff --git a/eslint-remote-tester.config.ts b/eslint-remote-tester.config.ts index a22f38c0..d9a4f0a9 100644 --- a/eslint-remote-tester.config.ts +++ b/eslint-remote-tester.config.ts @@ -1,8 +1,7 @@ import tsparser from '@typescript-eslint/parser'; import type { Config } from 'eslint-remote-tester'; -// @ts-expect-error - eslint-plugin is not typed yet -import eslintPlugin from './lib/index.js'; +import eslintPlugin from './lib/index.ts'; export default { /** Repositories to scan */ diff --git a/eslint.config.ts b/eslint.config.ts index 8a7fb34e..7f7b02b8 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -7,7 +7,7 @@ import markdown from 'eslint-plugin-markdown'; import pluginN from 'eslint-plugin-n'; import tseslint from 'typescript-eslint'; -import eslintPlugin from './lib/index.js'; +import eslintPlugin from './lib/index.ts'; const dirname = path.dirname(fileURLToPath(import.meta.url)); const compat = new FlatCompat({ diff --git a/lib/index.ts b/lib/index.ts index 89ea9f0c..4d99210f 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -6,38 +6,38 @@ import { createRequire } from 'node:module'; import type { ESLint, Linter, Rule } from 'eslint'; -import consistentOutput from './rules/consistent-output.js'; -import fixerReturn from './rules/fixer-return.js'; -import metaPropertyOrdering from './rules/meta-property-ordering.js'; -import noDeprecatedContextMethods from './rules/no-deprecated-context-methods.js'; -import noDeprecatedReportApi from './rules/no-deprecated-report-api.js'; -import noIdenticalTests from './rules/no-identical-tests.js'; -import noMetaReplacedBy from './rules/no-meta-replaced-by.js'; -import noMetaSchemaDefault from './rules/no-meta-schema-default.js'; -import noMissingMessageIds from './rules/no-missing-message-ids.js'; -import noMissingPlaceholders from './rules/no-missing-placeholders.js'; -import noOnlyTests from './rules/no-only-tests.js'; -import noPropertyInNode from './rules/no-property-in-node.js'; -import noUnusedMessageIds from './rules/no-unused-message-ids.js'; -import noUnusedPlaceholders from './rules/no-unused-placeholders.js'; -import noUselessTokenRange from './rules/no-useless-token-range.js'; -import preferMessageIds from './rules/prefer-message-ids.js'; -import preferObjectRule from './rules/prefer-object-rule.js'; -import preferOutputNull from './rules/prefer-output-null.js'; -import preferPlaceholders from './rules/prefer-placeholders.js'; -import preferReplaceText from './rules/prefer-replace-text.js'; -import reportMessageFormat from './rules/report-message-format.js'; -import requireMetaDefaultOptions from './rules/require-meta-default-options.js'; -import requireMetaDocsDescription from './rules/require-meta-docs-description.js'; -import requireMetaDocsRecommended from './rules/require-meta-docs-recommended.js'; -import requireMetaDocsUrl from './rules/require-meta-docs-url.js'; -import requireMetaFixable from './rules/require-meta-fixable.js'; -import requireMetaHasSuggestions from './rules/require-meta-has-suggestions.js'; -import requireMetaSchemaDescription from './rules/require-meta-schema-description.js'; -import requireMetaSchema from './rules/require-meta-schema.js'; -import requireMetaType from './rules/require-meta-type.js'; -import testCasePropertyOrdering from './rules/test-case-property-ordering.js'; -import testCaseShorthandStrings from './rules/test-case-shorthand-strings.js'; +import consistentOutput from './rules/consistent-output.ts'; +import fixerReturn from './rules/fixer-return.ts'; +import metaPropertyOrdering from './rules/meta-property-ordering.ts'; +import noDeprecatedContextMethods from './rules/no-deprecated-context-methods.ts'; +import noDeprecatedReportApi from './rules/no-deprecated-report-api.ts'; +import noIdenticalTests from './rules/no-identical-tests.ts'; +import noMetaReplacedBy from './rules/no-meta-replaced-by.ts'; +import noMetaSchemaDefault from './rules/no-meta-schema-default.ts'; +import noMissingMessageIds from './rules/no-missing-message-ids.ts'; +import noMissingPlaceholders from './rules/no-missing-placeholders.ts'; +import noOnlyTests from './rules/no-only-tests.ts'; +import noPropertyInNode from './rules/no-property-in-node.ts'; +import noUnusedMessageIds from './rules/no-unused-message-ids.ts'; +import noUnusedPlaceholders from './rules/no-unused-placeholders.ts'; +import noUselessTokenRange from './rules/no-useless-token-range.ts'; +import preferMessageIds from './rules/prefer-message-ids.ts'; +import preferObjectRule from './rules/prefer-object-rule.ts'; +import preferOutputNull from './rules/prefer-output-null.ts'; +import preferPlaceholders from './rules/prefer-placeholders.ts'; +import preferReplaceText from './rules/prefer-replace-text.ts'; +import reportMessageFormat from './rules/report-message-format.ts'; +import requireMetaDefaultOptions from './rules/require-meta-default-options.ts'; +import requireMetaDocsDescription from './rules/require-meta-docs-description.ts'; +import requireMetaDocsRecommended from './rules/require-meta-docs-recommended.ts'; +import requireMetaDocsUrl from './rules/require-meta-docs-url.ts'; +import requireMetaFixable from './rules/require-meta-fixable.ts'; +import requireMetaHasSuggestions from './rules/require-meta-has-suggestions.ts'; +import requireMetaSchemaDescription from './rules/require-meta-schema-description.ts'; +import requireMetaSchema from './rules/require-meta-schema.ts'; +import requireMetaType from './rules/require-meta-type.ts'; +import testCasePropertyOrdering from './rules/test-case-property-ordering.ts'; +import testCaseShorthandStrings from './rules/test-case-shorthand-strings.ts'; const require = createRequire(import.meta.url); diff --git a/lib/rules/consistent-output.ts b/lib/rules/consistent-output.ts index 6495fec3..82e0fcf3 100644 --- a/lib/rules/consistent-output.ts +++ b/lib/rules/consistent-output.ts @@ -4,7 +4,7 @@ */ import type { Rule } from 'eslint'; -import { getKeyName, getTestInfo } from '../utils.js'; +import { getKeyName, getTestInfo } from '../utils.ts'; const keyNameMapper = (property: Parameters[0]) => getKeyName(property); diff --git a/lib/rules/fixer-return.ts b/lib/rules/fixer-return.ts index 97aedf04..6b71abda 100644 --- a/lib/rules/fixer-return.ts +++ b/lib/rules/fixer-return.ts @@ -17,8 +17,8 @@ import { getContextIdentifiers, isAutoFixerFunction, isSuggestionFixerFunction, -} from '../utils.js'; -import type { FunctionInfo } from '../types.js'; +} from '../utils.ts'; +import type { FunctionInfo } from '../types.ts'; const DEFAULT_FUNC_INFO: FunctionInfo = { upper: null, diff --git a/lib/rules/meta-property-ordering.ts b/lib/rules/meta-property-ordering.ts index 88125d70..c4ad2019 100644 --- a/lib/rules/meta-property-ordering.ts +++ b/lib/rules/meta-property-ordering.ts @@ -3,7 +3,7 @@ */ import type { Rule } from 'eslint'; -import { getKeyName, getRuleInfo } from '../utils.js'; +import { getKeyName, getRuleInfo } from '../utils.ts'; const defaultOrder = [ 'type', diff --git a/lib/rules/no-deprecated-context-methods.ts b/lib/rules/no-deprecated-context-methods.ts index bd2a126f..91d82bf1 100644 --- a/lib/rules/no-deprecated-context-methods.ts +++ b/lib/rules/no-deprecated-context-methods.ts @@ -5,7 +5,7 @@ import type { Rule } from 'eslint'; import type { Identifier, MemberExpression } from 'estree'; -import { getContextIdentifiers } from '../utils.js'; +import { getContextIdentifiers } from '../utils.ts'; const DEPRECATED_PASSTHROUGHS = { getSource: 'getText', diff --git a/lib/rules/no-deprecated-report-api.ts b/lib/rules/no-deprecated-report-api.ts index 91a3b622..3c4bb955 100644 --- a/lib/rules/no-deprecated-report-api.ts +++ b/lib/rules/no-deprecated-report-api.ts @@ -5,7 +5,7 @@ import type { Rule } from 'eslint'; import type { Node } from 'estree'; -import { getContextIdentifiers, getReportInfo } from '../utils.js'; +import { getContextIdentifiers, getReportInfo } from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-identical-tests.ts b/lib/rules/no-identical-tests.ts index d60b5a48..8454877c 100644 --- a/lib/rules/no-identical-tests.ts +++ b/lib/rules/no-identical-tests.ts @@ -5,7 +5,7 @@ import type { Rule } from 'eslint'; import type { Expression, SpreadElement } from 'estree'; -import { getTestInfo } from '../utils.js'; +import { getTestInfo } from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-meta-replaced-by.ts b/lib/rules/no-meta-replaced-by.ts index c126a225..8bf3000a 100644 --- a/lib/rules/no-meta-replaced-by.ts +++ b/lib/rules/no-meta-replaced-by.ts @@ -3,7 +3,7 @@ */ import type { Rule } from 'eslint'; -import { evaluateObjectProperties, getKeyName, getRuleInfo } from '../utils.js'; +import { evaluateObjectProperties, getKeyName, getRuleInfo } from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-meta-schema-default.ts b/lib/rules/no-meta-schema-default.ts index db9905d8..4bd8273f 100644 --- a/lib/rules/no-meta-schema-default.ts +++ b/lib/rules/no-meta-schema-default.ts @@ -6,7 +6,7 @@ import { getMetaSchemaNode, getMetaSchemaNodeProperty, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-missing-message-ids.ts b/lib/rules/no-missing-message-ids.ts index 74c594cb..6e84808a 100644 --- a/lib/rules/no-missing-message-ids.ts +++ b/lib/rules/no-missing-message-ids.ts @@ -9,7 +9,7 @@ import { getMessagesNode, getReportInfo, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-missing-placeholders.ts b/lib/rules/no-missing-placeholders.ts index d6047320..b0b0b872 100644 --- a/lib/rules/no-missing-placeholders.ts +++ b/lib/rules/no-missing-placeholders.ts @@ -14,7 +14,7 @@ import { getMessagesNode, getReportInfo, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-only-tests.ts b/lib/rules/no-only-tests.ts index 2a59cc3d..0ad0dbc3 100644 --- a/lib/rules/no-only-tests.ts +++ b/lib/rules/no-only-tests.ts @@ -5,7 +5,7 @@ import { } from '@eslint-community/eslint-utils'; import type { Rule } from 'eslint'; -import { getTestInfo } from '../utils.js'; +import { getTestInfo } from '../utils.ts'; const rule: Rule.RuleModule = { meta: { diff --git a/lib/rules/no-unused-message-ids.ts b/lib/rules/no-unused-message-ids.ts index 601daa3b..8f8b2eb0 100644 --- a/lib/rules/no-unused-message-ids.ts +++ b/lib/rules/no-unused-message-ids.ts @@ -10,7 +10,7 @@ import { getReportInfo, getRuleInfo, isVariableFromParameter, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-unused-placeholders.ts b/lib/rules/no-unused-placeholders.ts index cee772c7..cb12058a 100644 --- a/lib/rules/no-unused-placeholders.ts +++ b/lib/rules/no-unused-placeholders.ts @@ -14,7 +14,7 @@ import { getMessagesNode, getReportInfo, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/no-useless-token-range.ts b/lib/rules/no-useless-token-range.ts index a17e516b..e41c6716 100644 --- a/lib/rules/no-useless-token-range.ts +++ b/lib/rules/no-useless-token-range.ts @@ -5,7 +5,7 @@ import type { Rule } from 'eslint'; import type { Expression, MemberExpression, SpreadElement } from 'estree'; -import { getKeyName, getSourceCodeIdentifiers } from '../utils.js'; +import { getKeyName, getSourceCodeIdentifiers } from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/prefer-message-ids.ts b/lib/rules/prefer-message-ids.ts index 1d1ccedb..1ef3b88d 100644 --- a/lib/rules/prefer-message-ids.ts +++ b/lib/rules/prefer-message-ids.ts @@ -8,7 +8,7 @@ import { getKeyName, getReportInfo, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/prefer-object-rule.ts b/lib/rules/prefer-object-rule.ts index d07d7cf2..f904a6c6 100644 --- a/lib/rules/prefer-object-rule.ts +++ b/lib/rules/prefer-object-rule.ts @@ -3,7 +3,7 @@ */ import type { Rule } from 'eslint'; -import { getRuleInfo } from '../utils.js'; +import { getRuleInfo } from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/prefer-output-null.ts b/lib/rules/prefer-output-null.ts index 1b2cc8f6..57e50e2f 100644 --- a/lib/rules/prefer-output-null.ts +++ b/lib/rules/prefer-output-null.ts @@ -6,7 +6,7 @@ import type { Rule } from 'eslint'; import type { Property } from 'estree'; -import { getTestInfo } from '../utils.js'; +import { getTestInfo } from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/prefer-placeholders.ts b/lib/rules/prefer-placeholders.ts index d8a9d217..e2026787 100644 --- a/lib/rules/prefer-placeholders.ts +++ b/lib/rules/prefer-placeholders.ts @@ -11,7 +11,7 @@ import { collectReportViolationAndSuggestionData, getContextIdentifiers, getReportInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/prefer-replace-text.ts b/lib/rules/prefer-replace-text.ts index 1a96d65e..1b2ac928 100644 --- a/lib/rules/prefer-replace-text.ts +++ b/lib/rules/prefer-replace-text.ts @@ -5,12 +5,12 @@ import type { Rule } from 'eslint'; import type { Identifier, Node } from 'estree'; -import type { FunctionInfo } from '../types.js'; +import type { FunctionInfo } from '../types.ts'; import { getContextIdentifiers, isAutoFixerFunction, isSuggestionFixerFunction, -} from '../utils.js'; +} from '../utils.ts'; const DEFAULT_FUNC_INFO: FunctionInfo = { upper: null, diff --git a/lib/rules/report-message-format.ts b/lib/rules/report-message-format.ts index 4ba7506d..9ac571b6 100644 --- a/lib/rules/report-message-format.ts +++ b/lib/rules/report-message-format.ts @@ -11,7 +11,7 @@ import { getKeyName, getReportInfo, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/require-meta-default-options.ts b/lib/rules/require-meta-default-options.ts index ac836c4a..608c5742 100644 --- a/lib/rules/require-meta-default-options.ts +++ b/lib/rules/require-meta-default-options.ts @@ -6,7 +6,7 @@ import { getMetaSchemaNode, getMetaSchemaNodeProperty, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; const rule: Rule.RuleModule = { meta: { diff --git a/lib/rules/require-meta-docs-description.ts b/lib/rules/require-meta-docs-description.ts index dd0af4eb..d2b9c6aa 100644 --- a/lib/rules/require-meta-docs-description.ts +++ b/lib/rules/require-meta-docs-description.ts @@ -1,7 +1,7 @@ import { getStaticValue } from '@eslint-community/eslint-utils'; import type { Rule } from 'eslint'; -import { getMetaDocsProperty, getRuleInfo } from '../utils.js'; +import { getMetaDocsProperty, getRuleInfo } from '../utils.ts'; const DEFAULT_PATTERN = new RegExp('^(enforce|require|disallow)'); diff --git a/lib/rules/require-meta-docs-recommended.ts b/lib/rules/require-meta-docs-recommended.ts index ae3f7d8e..f37bd0e9 100644 --- a/lib/rules/require-meta-docs-recommended.ts +++ b/lib/rules/require-meta-docs-recommended.ts @@ -6,7 +6,7 @@ import { getMetaDocsProperty, getRuleInfo, isUndefinedIdentifier, -} from '../utils.js'; +} from '../utils.ts'; function insertRecommendedProperty( fixer: Rule.RuleFixer, diff --git a/lib/rules/require-meta-docs-url.ts b/lib/rules/require-meta-docs-url.ts index 4a94764e..699aca64 100644 --- a/lib/rules/require-meta-docs-url.ts +++ b/lib/rules/require-meta-docs-url.ts @@ -11,7 +11,7 @@ import { getRuleInfo, insertProperty, isUndefinedIdentifier, -} from '../utils.js'; +} from '../utils.ts'; // ----------------------------------------------------------------------------- // Rule Definition diff --git a/lib/rules/require-meta-fixable.ts b/lib/rules/require-meta-fixable.ts index d3d23bf7..785c3694 100644 --- a/lib/rules/require-meta-fixable.ts +++ b/lib/rules/require-meta-fixable.ts @@ -11,7 +11,7 @@ import { getContextIdentifiers, getKeyName, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/require-meta-has-suggestions.ts b/lib/rules/require-meta-has-suggestions.ts index c031bfcd..610d6418 100644 --- a/lib/rules/require-meta-has-suggestions.ts +++ b/lib/rules/require-meta-has-suggestions.ts @@ -8,7 +8,7 @@ import { getKeyName, getRuleInfo, isUndefinedIdentifier, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/require-meta-schema-description.ts b/lib/rules/require-meta-schema-description.ts index 2ffb8eea..80d36676 100644 --- a/lib/rules/require-meta-schema-description.ts +++ b/lib/rules/require-meta-schema-description.ts @@ -6,7 +6,7 @@ import { getMetaSchemaNode, getMetaSchemaNodeProperty, getRuleInfo, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/require-meta-schema.ts b/lib/rules/require-meta-schema.ts index 909fdd58..ab1a5526 100644 --- a/lib/rules/require-meta-schema.ts +++ b/lib/rules/require-meta-schema.ts @@ -8,7 +8,7 @@ import { getRuleInfo, insertProperty, isUndefinedIdentifier, -} from '../utils.js'; +} from '../utils.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/rules/require-meta-type.ts b/lib/rules/require-meta-type.ts index 7001936b..400d0297 100644 --- a/lib/rules/require-meta-type.ts +++ b/lib/rules/require-meta-type.ts @@ -5,7 +5,7 @@ import { getStaticValue } from '@eslint-community/eslint-utils'; import type { Rule } from 'eslint'; -import { evaluateObjectProperties, getKeyName, getRuleInfo } from '../utils.js'; +import { evaluateObjectProperties, getKeyName, getRuleInfo } from '../utils.ts'; const VALID_TYPES = new Set(['problem', 'suggestion', 'layout']); diff --git a/lib/rules/test-case-property-ordering.ts b/lib/rules/test-case-property-ordering.ts index 50eee786..0d9be79c 100644 --- a/lib/rules/test-case-property-ordering.ts +++ b/lib/rules/test-case-property-ordering.ts @@ -4,7 +4,7 @@ */ import type { Rule } from 'eslint'; -import { getKeyName, getTestInfo } from '../utils.js'; +import { getKeyName, getTestInfo } from '../utils.ts'; const defaultOrder = [ 'filename', diff --git a/lib/rules/test-case-shorthand-strings.ts b/lib/rules/test-case-shorthand-strings.ts index f88db02e..e2ea0414 100644 --- a/lib/rules/test-case-shorthand-strings.ts +++ b/lib/rules/test-case-shorthand-strings.ts @@ -4,8 +4,8 @@ */ import type { Rule } from 'eslint'; -import { getKeyName, getTestInfo } from '../utils.js'; -import type { TestInfo } from '../types.js'; +import { getKeyName, getTestInfo } from '../utils.ts'; +import type { TestInfo } from '../types.ts'; // ------------------------------------------------------------------------------ // Rule Definition diff --git a/lib/utils.ts b/lib/utils.ts index a4ad085d..5d901f3c 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -31,7 +31,7 @@ import type { RuleInfo, TestInfo, ViolationAndSuppressionData, -} from './types.js'; +} from './types.ts'; const functionTypes = new Set([ 'FunctionExpression', diff --git a/package.json b/package.json index 5aa5ee6f..73185c4e 100644 --- a/package.json +++ b/package.json @@ -11,14 +11,14 @@ }, "license": "MIT", "scripts": { - "build": "tsup", + "build": "tsdown", "format": "prettier --write .", "format:check": "prettier --check .", "lint": "npm-run-all --continue-on-error --aggregate-output --parallel lint:*", "lint:docs": "markdownlint \"**/*.md\"", "lint:eslint-docs": "npm-run-all -s build \"update:eslint-docs -- --check\"", - "lint:js": "eslint --cache --ignore-pattern \"**/*.md\"", - "lint:js-docs": "eslint --no-inline-config \"**/*.md\"", + "lint:js": "eslint --cache --ignore-pattern \"**/*.md\" --flag unstable_native_nodejs_ts_config", + "lint:js-docs": "eslint --no-inline-config \"**/*.md\" --flag unstable_native_nodejs_ts_config", "lint:package-json": "npmPkgJsonLint .", "release": "release-it", "test": "vitest run --coverage", @@ -83,7 +83,7 @@ "npm-run-all2": "^7.0.1", "prettier": "^3.6.2", "release-it": "^17.2.0", - "tsup": "^8.5.0", + "tsdown": "^0.13.3", "typescript": "^5.9.2", "typescript-eslint": "^8.39.0", "vitest": "^3.2.4" diff --git a/tests/lib/index.ts b/tests/lib/index.ts index 0eeda49d..ea1bd3d2 100644 --- a/tests/lib/index.ts +++ b/tests/lib/index.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; -import plugin from '../../lib/index.js'; +import plugin from '../../lib/index.ts'; describe('exported plugin', () => { describe('has a meta.docs.url property on each rule', () => { diff --git a/tests/lib/rule-setup.ts b/tests/lib/rule-setup.ts index 9006b490..8531dcfb 100644 --- a/tests/lib/rule-setup.ts +++ b/tests/lib/rule-setup.ts @@ -3,7 +3,7 @@ import path from 'node:path'; import { assert, describe, it } from 'vitest'; -import plugin from '../../lib/index.js'; +import plugin from '../../lib/index.ts'; const RULE_NAMES = Object.keys(plugin.rules) as Array< keyof typeof plugin.rules diff --git a/tests/lib/rules/consistent-output.ts b/tests/lib/rules/consistent-output.ts index e63d62f7..8daa2a4b 100644 --- a/tests/lib/rules/consistent-output.ts +++ b/tests/lib/rules/consistent-output.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/consistent-output.js'; +import rule from '../../../lib/rules/consistent-output.ts'; import { RuleTester } from 'eslint'; const ERROR = { messageId: 'missingOutput', type: 'ObjectExpression' }; diff --git a/tests/lib/rules/fixer-return.ts b/tests/lib/rules/fixer-return.ts index bff61ee3..b2bd56d9 100644 --- a/tests/lib/rules/fixer-return.ts +++ b/tests/lib/rules/fixer-return.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/fixer-return.js'; +import rule from '../../../lib/rules/fixer-return.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/meta-property-ordering.ts b/tests/lib/rules/meta-property-ordering.ts index 632dfe59..e2cfd024 100644 --- a/tests/lib/rules/meta-property-ordering.ts +++ b/tests/lib/rules/meta-property-ordering.ts @@ -6,7 +6,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/meta-property-ordering.js'; +import rule from '../../../lib/rules/meta-property-ordering.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-deprecated-context-methods.ts b/tests/lib/rules/no-deprecated-context-methods.ts index 14eaaccc..0bb87056 100644 --- a/tests/lib/rules/no-deprecated-context-methods.ts +++ b/tests/lib/rules/no-deprecated-context-methods.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-deprecated-context-methods.js'; +import rule from '../../../lib/rules/no-deprecated-context-methods.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-deprecated-report-api.ts b/tests/lib/rules/no-deprecated-report-api.ts index 636b2c11..419e8235 100644 --- a/tests/lib/rules/no-deprecated-report-api.ts +++ b/tests/lib/rules/no-deprecated-report-api.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-deprecated-report-api.js'; +import rule from '../../../lib/rules/no-deprecated-report-api.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-identical-tests.ts b/tests/lib/rules/no-identical-tests.ts index 169d9140..1197b973 100644 --- a/tests/lib/rules/no-identical-tests.ts +++ b/tests/lib/rules/no-identical-tests.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-identical-tests.js'; +import rule from '../../../lib/rules/no-identical-tests.ts'; import { RuleTester } from 'eslint'; const ERROR_OBJECT_TEST = { messageId: 'identical', type: 'ObjectExpression' }; diff --git a/tests/lib/rules/no-meta-replaced-by.ts b/tests/lib/rules/no-meta-replaced-by.ts index f27fa93d..c3225de5 100644 --- a/tests/lib/rules/no-meta-replaced-by.ts +++ b/tests/lib/rules/no-meta-replaced-by.ts @@ -6,7 +6,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-meta-replaced-by.js'; +import rule from '../../../lib/rules/no-meta-replaced-by.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-meta-schema-default.ts b/tests/lib/rules/no-meta-schema-default.ts index 07dd50d1..26863096 100644 --- a/tests/lib/rules/no-meta-schema-default.ts +++ b/tests/lib/rules/no-meta-schema-default.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-meta-schema-default.js'; +import rule from '../../../lib/rules/no-meta-schema-default.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-missing-message-ids.ts b/tests/lib/rules/no-missing-message-ids.ts index aa0045a0..e46014cf 100644 --- a/tests/lib/rules/no-missing-message-ids.ts +++ b/tests/lib/rules/no-missing-message-ids.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-missing-message-ids.js'; +import rule from '../../../lib/rules/no-missing-message-ids.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-missing-placeholders.ts b/tests/lib/rules/no-missing-placeholders.ts index f725590e..e7290a65 100644 --- a/tests/lib/rules/no-missing-placeholders.ts +++ b/tests/lib/rules/no-missing-placeholders.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-missing-placeholders.js'; +import rule from '../../../lib/rules/no-missing-placeholders.ts'; import { RuleTester } from 'eslint'; /** diff --git a/tests/lib/rules/no-only-tests.ts b/tests/lib/rules/no-only-tests.ts index b7f52125..8c091f8f 100644 --- a/tests/lib/rules/no-only-tests.ts +++ b/tests/lib/rules/no-only-tests.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-only-tests.js'; +import rule from '../../../lib/rules/no-only-tests.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-property-in-node.ts b/tests/lib/rules/no-property-in-node.ts index c21e1cb1..57106ee1 100644 --- a/tests/lib/rules/no-property-in-node.ts +++ b/tests/lib/rules/no-property-in-node.ts @@ -1,7 +1,7 @@ import { RuleTester } from 'eslint'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; -import rule from '../../../lib/rules/no-property-in-node.js'; +import rule from '../../../lib/rules/no-property-in-node.ts'; import parser from '@typescript-eslint/parser'; const dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/tests/lib/rules/no-unused-message-ids.ts b/tests/lib/rules/no-unused-message-ids.ts index 244651e1..ff69b435 100644 --- a/tests/lib/rules/no-unused-message-ids.ts +++ b/tests/lib/rules/no-unused-message-ids.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-unused-message-ids.js'; +import rule from '../../../lib/rules/no-unused-message-ids.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/no-unused-placeholders.ts b/tests/lib/rules/no-unused-placeholders.ts index 9f16166b..11ae3b98 100644 --- a/tests/lib/rules/no-unused-placeholders.ts +++ b/tests/lib/rules/no-unused-placeholders.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-unused-placeholders.js'; +import rule from '../../../lib/rules/no-unused-placeholders.ts'; import { RuleTester } from 'eslint'; /** diff --git a/tests/lib/rules/no-useless-token-range.ts b/tests/lib/rules/no-useless-token-range.ts index 72499c80..1ce88722 100644 --- a/tests/lib/rules/no-useless-token-range.ts +++ b/tests/lib/rules/no-useless-token-range.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/no-useless-token-range.js'; +import rule from '../../../lib/rules/no-useless-token-range.ts'; import { RuleTester } from 'eslint'; /** diff --git a/tests/lib/rules/prefer-message-ids.ts b/tests/lib/rules/prefer-message-ids.ts index 9a45cb28..aebd16d4 100644 --- a/tests/lib/rules/prefer-message-ids.ts +++ b/tests/lib/rules/prefer-message-ids.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/prefer-message-ids.js'; +import rule from '../../../lib/rules/prefer-message-ids.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/prefer-object-rule.ts b/tests/lib/rules/prefer-object-rule.ts index 4c25013c..4eda2ba8 100644 --- a/tests/lib/rules/prefer-object-rule.ts +++ b/tests/lib/rules/prefer-object-rule.ts @@ -6,7 +6,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/prefer-object-rule.js'; +import rule from '../../../lib/rules/prefer-object-rule.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/prefer-output-null.ts b/tests/lib/rules/prefer-output-null.ts index 082e41c4..afdfa649 100644 --- a/tests/lib/rules/prefer-output-null.ts +++ b/tests/lib/rules/prefer-output-null.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/prefer-output-null.js'; +import rule from '../../../lib/rules/prefer-output-null.ts'; import { RuleTester } from 'eslint'; const ERROR = { messageId: 'useOutputNull', type: 'Property' }; diff --git a/tests/lib/rules/prefer-placeholders.ts b/tests/lib/rules/prefer-placeholders.ts index 4b2f6447..f2051f09 100644 --- a/tests/lib/rules/prefer-placeholders.ts +++ b/tests/lib/rules/prefer-placeholders.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/prefer-placeholders.js'; +import rule from '../../../lib/rules/prefer-placeholders.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/prefer-replace-text.ts b/tests/lib/rules/prefer-replace-text.ts index 06117252..e3d8b7eb 100644 --- a/tests/lib/rules/prefer-replace-text.ts +++ b/tests/lib/rules/prefer-replace-text.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/prefer-replace-text.js'; +import rule from '../../../lib/rules/prefer-replace-text.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/report-message-format.ts b/tests/lib/rules/report-message-format.ts index dd7f9e61..37331322 100644 --- a/tests/lib/rules/report-message-format.ts +++ b/tests/lib/rules/report-message-format.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/report-message-format.js'; +import rule from '../../../lib/rules/report-message-format.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/require-meta-default-options.ts b/tests/lib/rules/require-meta-default-options.ts index d6ceb410..81c3de98 100644 --- a/tests/lib/rules/require-meta-default-options.ts +++ b/tests/lib/rules/require-meta-default-options.ts @@ -1,4 +1,4 @@ -import rule from '../../../lib/rules/require-meta-default-options.js'; +import rule from '../../../lib/rules/require-meta-default-options.ts'; import { RuleTester } from 'eslint'; import parser from '@typescript-eslint/parser'; diff --git a/tests/lib/rules/require-meta-docs-description.ts b/tests/lib/rules/require-meta-docs-description.ts index 28d49910..10f37b3e 100644 --- a/tests/lib/rules/require-meta-docs-description.ts +++ b/tests/lib/rules/require-meta-docs-description.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/require-meta-docs-description.js'; +import rule from '../../../lib/rules/require-meta-docs-description.ts'; import { RuleTester } from 'eslint'; import parser from '@typescript-eslint/parser'; diff --git a/tests/lib/rules/require-meta-docs-recommended.ts b/tests/lib/rules/require-meta-docs-recommended.ts index 60a9d72a..8d709e58 100644 --- a/tests/lib/rules/require-meta-docs-recommended.ts +++ b/tests/lib/rules/require-meta-docs-recommended.ts @@ -1,4 +1,4 @@ -import rule from '../../../lib/rules/require-meta-docs-recommended.js'; +import rule from '../../../lib/rules/require-meta-docs-recommended.ts'; import { RuleTester } from 'eslint'; import parser from '@typescript-eslint/parser'; diff --git a/tests/lib/rules/require-meta-docs-url.ts b/tests/lib/rules/require-meta-docs-url.ts index 50895f05..e4e9b31c 100644 --- a/tests/lib/rules/require-meta-docs-url.ts +++ b/tests/lib/rules/require-meta-docs-url.ts @@ -9,7 +9,7 @@ // ----------------------------------------------------------------------------- import { RuleTester } from 'eslint'; -import rule from '../../../lib/rules/require-meta-docs-url.js'; +import rule from '../../../lib/rules/require-meta-docs-url.ts'; // ----------------------------------------------------------------------------- // Tests diff --git a/tests/lib/rules/require-meta-fixable.ts b/tests/lib/rules/require-meta-fixable.ts index 3bde53c7..f0210ec2 100644 --- a/tests/lib/rules/require-meta-fixable.ts +++ b/tests/lib/rules/require-meta-fixable.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/require-meta-fixable.js'; +import rule from '../../../lib/rules/require-meta-fixable.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/require-meta-has-suggestions.ts b/tests/lib/rules/require-meta-has-suggestions.ts index 8bb7eb84..cf669e5a 100644 --- a/tests/lib/rules/require-meta-has-suggestions.ts +++ b/tests/lib/rules/require-meta-has-suggestions.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/require-meta-has-suggestions.js'; +import rule from '../../../lib/rules/require-meta-has-suggestions.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/require-meta-schema-description.ts b/tests/lib/rules/require-meta-schema-description.ts index fa0b414f..a9428da7 100644 --- a/tests/lib/rules/require-meta-schema-description.ts +++ b/tests/lib/rules/require-meta-schema-description.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/require-meta-schema-description.js'; +import rule from '../../../lib/rules/require-meta-schema-description.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/require-meta-schema.ts b/tests/lib/rules/require-meta-schema.ts index 5c6c6af0..6bc9b900 100644 --- a/tests/lib/rules/require-meta-schema.ts +++ b/tests/lib/rules/require-meta-schema.ts @@ -2,7 +2,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/require-meta-schema.js'; +import rule from '../../../lib/rules/require-meta-schema.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/require-meta-type.ts b/tests/lib/rules/require-meta-type.ts index 645bf7ec..b3f48a35 100644 --- a/tests/lib/rules/require-meta-type.ts +++ b/tests/lib/rules/require-meta-type.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/require-meta-type.js'; +import rule from '../../../lib/rules/require-meta-type.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/test-case-property-ordering.ts b/tests/lib/rules/test-case-property-ordering.ts index 05fb8554..e3dae7b3 100644 --- a/tests/lib/rules/test-case-property-ordering.ts +++ b/tests/lib/rules/test-case-property-ordering.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/test-case-property-ordering.js'; +import rule from '../../../lib/rules/test-case-property-ordering.ts'; import { RuleTester } from 'eslint'; // ------------------------------------------------------------------------------ diff --git a/tests/lib/rules/test-case-shorthand-strings.ts b/tests/lib/rules/test-case-shorthand-strings.ts index 0b989397..729f72e8 100644 --- a/tests/lib/rules/test-case-shorthand-strings.ts +++ b/tests/lib/rules/test-case-shorthand-strings.ts @@ -7,7 +7,7 @@ // Requirements // ------------------------------------------------------------------------------ -import rule from '../../../lib/rules/test-case-shorthand-strings.js'; +import rule from '../../../lib/rules/test-case-shorthand-strings.ts'; import { RuleTester } from 'eslint'; /** diff --git a/tests/lib/utils.ts b/tests/lib/utils.ts index 46c86f22..8e180210 100644 --- a/tests/lib/utils.ts +++ b/tests/lib/utils.ts @@ -7,7 +7,7 @@ import * as estraverse from 'estraverse'; import lodash from 'lodash'; import { assert, describe, it } from 'vitest'; -import * as utils from '../../lib/utils.js'; +import * as utils from '../../lib/utils.ts'; import type { ArrayExpression, ArrowFunctionExpression, @@ -29,7 +29,7 @@ import type { VariableDeclaration, } from 'estree'; import type { Rule, Scope } from 'eslint'; -import type { RuleInfo } from '../../lib/types.js'; +import type { RuleInfo } from '../../lib/types.ts'; type MockRuleInfo = { create: { diff --git a/tsconfig.json b/tsconfig.json index 1411ce1d..3a7aa70f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,7 @@ "verbatimModuleSyntax": true, "erasableSyntaxOnly": true, "forceConsistentCasingInFileNames": true, + "rewriteRelativeImportExtensions": true, "paths": { "eslint-plugin-eslint-plugin": ["./lib/index.ts"] }, diff --git a/tsup.config.ts b/tsdown.config.ts similarity index 51% rename from tsup.config.ts rename to tsdown.config.ts index 3542a8da..512d1243 100644 --- a/tsup.config.ts +++ b/tsdown.config.ts @@ -1,10 +1,8 @@ -import { defineConfig } from 'tsup'; +import { defineConfig } from 'tsdown'; export default defineConfig({ - bundle: false, - clean: true, + unbundle: true, dts: true, entry: ['lib/**/*.ts'], - format: ['esm'], outDir: 'dist', });