diff --git a/eslint.config.ts b/eslint.config.ts index 90302c12b..7ac85a25d 100644 --- a/eslint.config.ts +++ b/eslint.config.ts @@ -1,19 +1,48 @@ -import type { Linter } from "eslint"; - -import comments from "@eslint-community/eslint-plugin-eslint-comments/configs"; import eslint from "@eslint/js"; import markdown from "@eslint/markdown"; +import comments from "@eslint-community/eslint-plugin-eslint-comments/configs"; import vitest from "@vitest/eslint-plugin"; +import type { Linter } from "eslint"; +import { defineConfig, globalIgnores } from "eslint/config"; import jsdoc from "eslint-plugin-jsdoc"; import jsonc from "eslint-plugin-jsonc"; import n from "eslint-plugin-n"; import packageJson from "eslint-plugin-package-json"; import perfectionist from "eslint-plugin-perfectionist"; +import { Alphabet } from "eslint-plugin-perfectionist/alphabet"; import * as regexp from "eslint-plugin-regexp"; import yml from "eslint-plugin-yml"; -import { defineConfig, globalIgnores } from "eslint/config"; import tseslint from "typescript-eslint"; +const importAlphabet = Alphabet.generateRecommendedAlphabet() + .sortByNaturalSort() + .placeCharacterBefore({ characterAfter: "-", characterBefore: "/" }) + .placeCharacterBefore({ characterAfter: "/", characterBefore: "." }) + .getCharacters(); + +// https://typescript-eslint.io/troubleshooting/typed-linting/performance#importextensions-enforcing-extensions-are-not-used +function banJsImportExtension() { + const message = `Unexpected use of .js file extension (.js) in import; please use .ts`; + const literalAttributeMatcher = `Literal[value=/\\.js$/]`; + return [ + { + message, + // import foo from 'bar.js'; + selector: `ImportDeclaration > ${literalAttributeMatcher}.source`, + }, + { + message, + // export { foo } from 'bar.js'; + selector: `ExportNamedDeclaration > ${literalAttributeMatcher}.source`, + }, + { + message, + // type Foo = typeof import('bar.js'); + selector: `TSImportType > TSLiteralType > ${literalAttributeMatcher}`, + }, + ]; +} + export default defineConfig( globalIgnores([ "**/*.snap", @@ -47,6 +76,7 @@ export default defineConfig( }, }, rules: { + "@typescript-eslint/no-import-type-side-effects": "error", "@typescript-eslint/no-unnecessary-condition": [ "error", { allowConstantLoopConditions: true }, @@ -73,6 +103,24 @@ export default defineConfig( // https://github.com/eslint-community/eslint-plugin-n/issues/472 "n/no-unpublished-bin": "off", + + "no-restricted-syntax": ["error", ...banJsImportExtension()], + + "perfectionist/sort-imports": [ + "error", + { + alphabet: importAlphabet, + groups: [ + "side-effect", + ["builtin", "external"], + ["parent", "sibling", "index", "subpath"], + "unknown", + ], + + partitionByNewLine: false, + type: "custom", + }, + ], }, settings: { n: { diff --git a/package.json b/package.json index b0995e908..bde73467b 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "type": "module", "scripts": { "build": "tsdown", - "flint": "node packages/flint/bin/index.js", + "flint": "node --conditions='@flint.fyi/source' packages/flint/bin/index.js", "lint": "eslint . --max-warnings 0", "lint:knip": "knip", "lint:packages": "pnpm dedupe --check", diff --git a/packages/cli/src/formatting/runPrettier.ts b/packages/cli/src/formatting/runPrettier.ts index 6e3ff4ec2..3557e8cb6 100644 --- a/packages/cli/src/formatting/runPrettier.ts +++ b/packages/cli/src/formatting/runPrettier.ts @@ -1,4 +1,4 @@ -import { +import type { FormattingResults, LintResultsMaybeWithChanges, } from "@flint.fyi/core"; diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index eab3183f3..f25e516fa 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -1 +1 @@ -export { runCli } from "./runCli.js"; +export { runCli } from "./runCli.ts"; diff --git a/packages/cli/src/options.ts b/packages/cli/src/options.ts index 6baabbee3..ce20c7827 100644 --- a/packages/cli/src/options.ts +++ b/packages/cli/src/options.ts @@ -1,4 +1,4 @@ -import { parseArgs, ParseArgsOptionsConfig } from "node:util"; +import type { parseArgs, ParseArgsOptionsConfig } from "node:util"; export const options = { "cache-ignore": { diff --git a/packages/cli/src/presenters/briefPresenterFactory.ts b/packages/cli/src/presenters/briefPresenterFactory.ts index 9d270bf67..41f3fe8d6 100644 --- a/packages/cli/src/presenters/briefPresenterFactory.ts +++ b/packages/cli/src/presenters/briefPresenterFactory.ts @@ -3,10 +3,10 @@ import { makeAbsolute } from "@flint.fyi/utils"; import { styleText } from "node:util"; import { textTable } from "text-table-fast"; -import { presentHeader } from "./shared/header.js"; -import { presentDiagnostics } from "./shared/presentDiagnostics.js"; -import { presentSummary } from "./shared/summary.js"; -import { PresenterFactory } from "./types.js"; +import { presentHeader } from "./shared/header.ts"; +import { presentDiagnostics } from "./shared/presentDiagnostics.ts"; +import { presentSummary } from "./shared/summary.ts"; +import type { PresenterFactory } from "./types.ts"; export const briefPresenterFactory: PresenterFactory = { about: { diff --git a/packages/cli/src/presenters/detailed/constants.ts b/packages/cli/src/presenters/detailed/constants.ts index b2fab109a..3458a79ad 100644 --- a/packages/cli/src/presenters/detailed/constants.ts +++ b/packages/cli/src/presenters/detailed/constants.ts @@ -2,17 +2,17 @@ import chalk from "chalk"; export const indenter = chalk.gray("│ "); -export enum ColorCodes { - codeLineNumbers = "#bbb", - codeWarningUnderline = "#fcc", - defaultSuggestionColor = "#bbccdd", - filePath = "#ff4949", - filePathPrefix = "#ff7777", - primaryMessage = "#eeaa77", - reportAboutId = "#ff9999", - ruleBracket = "#ccaaaa", - ruleUrl = "#aaccaa", - secondaryMessage = "#ccbbaa", - suggestionMessage = "#99aacc", - suggestionTextHighlight = "#bbeeff", -} +export const ColorCodes = { + codeLineNumbers: "#bbb", + codeWarningUnderline: "#fcc", + defaultSuggestionColor: "#bbccdd", + filePath: "#ff4949", + filePathPrefix: "#ff7777", + primaryMessage: "#eeaa77", + reportAboutId: "#ff9999", + ruleBracket: "#ccaaaa", + ruleUrl: "#aaccaa", + secondaryMessage: "#ccbbaa", + suggestionMessage: "#99aacc", + suggestionTextHighlight: "#bbeeff", +} as const; diff --git a/packages/cli/src/presenters/detailed/createDetailedReport.ts b/packages/cli/src/presenters/detailed/createDetailedReport.ts index 34d789807..92166ffd4 100644 --- a/packages/cli/src/presenters/detailed/createDetailedReport.ts +++ b/packages/cli/src/presenters/detailed/createDetailedReport.ts @@ -1,10 +1,10 @@ -import { FileReport } from "@flint.fyi/core"; +import type { FileReport } from "@flint.fyi/core"; import chalk from "chalk"; -import { ColorCodes, indenter } from "./constants.js"; -import { formatCode } from "./formatCode.js"; -import { formatSuggestion } from "./formatSuggestion.js"; -import { wrapIfNeeded } from "./wrapIfNeeded.js"; +import { ColorCodes, indenter } from "./constants.ts"; +import { formatCode } from "./formatCode.ts"; +import { formatSuggestion } from "./formatSuggestion.ts"; +import { wrapIfNeeded } from "./wrapIfNeeded.ts"; export async function* createDetailedReport( report: FileReport, diff --git a/packages/cli/src/presenters/detailed/detailedPresenterFactory.ts b/packages/cli/src/presenters/detailed/detailedPresenterFactory.ts index 91776c161..a9c723584 100644 --- a/packages/cli/src/presenters/detailed/detailedPresenterFactory.ts +++ b/packages/cli/src/presenters/detailed/detailedPresenterFactory.ts @@ -1,13 +1,13 @@ import { hasFix } from "@flint.fyi/core"; import chalk from "chalk"; -import { presentHeader } from "../shared/header.js"; -import { presentDiagnostics } from "../shared/presentDiagnostics.js"; -import { presentSummary } from "../shared/summary.js"; -import { PresenterFactory } from "../types.js"; -import { ColorCodes, indenter } from "./constants.js"; -import { createDetailedReport } from "./createDetailedReport.js"; -import { wrapIfNeeded } from "./wrapIfNeeded.js"; +import { presentHeader } from "../shared/header.ts"; +import { presentDiagnostics } from "../shared/presentDiagnostics.ts"; +import { presentSummary } from "../shared/summary.ts"; +import type { PresenterFactory } from "../types.ts"; +import { ColorCodes, indenter } from "./constants.ts"; +import { createDetailedReport } from "./createDetailedReport.ts"; +import { wrapIfNeeded } from "./wrapIfNeeded.ts"; export const detailedPresenterFactory: PresenterFactory = { about: { diff --git a/packages/cli/src/presenters/detailed/formatCode.ts b/packages/cli/src/presenters/detailed/formatCode.ts index f689b2fc5..45990d4e3 100644 --- a/packages/cli/src/presenters/detailed/formatCode.ts +++ b/packages/cli/src/presenters/detailed/formatCode.ts @@ -1,9 +1,9 @@ -import { FileReport } from "@flint.fyi/core"; +import type { FileReport } from "@flint.fyi/core"; import * as shikiCli from "@shikijs/cli"; import chalk from "chalk"; import { styleText } from "node:util"; -import { ColorCodes, indenter } from "./constants.js"; +import { ColorCodes, indenter } from "./constants.ts"; // TODO: make reactive const leftWidth = 7; diff --git a/packages/cli/src/presenters/detailed/formatSuggestion.ts b/packages/cli/src/presenters/detailed/formatSuggestion.ts index 37de7405b..9c0a3beba 100644 --- a/packages/cli/src/presenters/detailed/formatSuggestion.ts +++ b/packages/cli/src/presenters/detailed/formatSuggestion.ts @@ -1,6 +1,6 @@ import chalk from "chalk"; -import { ColorCodes } from "./constants.js"; +import { ColorCodes } from "./constants.ts"; export function formatSuggestion(suggestion: string) { return [ diff --git a/packages/cli/src/presenters/detailed/wrapIfNeeded.ts b/packages/cli/src/presenters/detailed/wrapIfNeeded.ts index f7d55c935..ca5017248 100644 --- a/packages/cli/src/presenters/detailed/wrapIfNeeded.ts +++ b/packages/cli/src/presenters/detailed/wrapIfNeeded.ts @@ -1,7 +1,7 @@ -import { ChalkInstance } from "chalk"; +import type { ChalkInstance } from "chalk"; import wrapAnsi from "wrap-ansi"; -import { indenter } from "./constants.js"; +import { indenter } from "./constants.ts"; export function wrapIfNeeded( lineFormat: ChalkInstance, diff --git a/packages/cli/src/presenters/getPresenterFactory.ts b/packages/cli/src/presenters/getPresenterFactory.ts index 6547b145c..117460ee6 100644 --- a/packages/cli/src/presenters/getPresenterFactory.ts +++ b/packages/cli/src/presenters/getPresenterFactory.ts @@ -1,7 +1,7 @@ -import { OptionsValues } from "../options.js"; -import { briefPresenterFactory } from "./briefPresenterFactory.js"; -import { detailedPresenterFactory } from "./detailed/detailedPresenterFactory.js"; -import { PresenterFactory } from "./types.js"; +import type { OptionsValues } from "../options.ts"; +import { briefPresenterFactory } from "./briefPresenterFactory.ts"; +import { detailedPresenterFactory } from "./detailed/detailedPresenterFactory.ts"; +import type { PresenterFactory } from "./types.ts"; export function getPresenterFactory( values: Pick, diff --git a/packages/cli/src/presenters/shared/header.ts b/packages/cli/src/presenters/shared/header.ts index f52aaf676..f0b3557e1 100644 --- a/packages/cli/src/presenters/shared/header.ts +++ b/packages/cli/src/presenters/shared/header.ts @@ -2,7 +2,7 @@ import { cacheFilePath } from "@flint.fyi/core"; import chalk from "chalk"; import fs from "node:fs"; -import { PresenterInitializeContext } from "../types.js"; +import type { PresenterInitializeContext } from "../types.ts"; export function* presentHeader({ configFileName, diff --git a/packages/cli/src/presenters/shared/presentDiagnostics.ts b/packages/cli/src/presenters/shared/presentDiagnostics.ts index 9c1dfcc19..940f47f69 100644 --- a/packages/cli/src/presenters/shared/presentDiagnostics.ts +++ b/packages/cli/src/presenters/shared/presentDiagnostics.ts @@ -1,7 +1,7 @@ -import { FileResults } from "@flint.fyi/core"; +import type { FileResults } from "@flint.fyi/core"; import { styleText } from "node:util"; -import { pluralize } from "../pluralize.js"; +import { pluralize } from "../pluralize.ts"; export function* presentDiagnostics(filesResults: Map) { const diagnostics = Array.from(filesResults.values()).flatMap( diff --git a/packages/cli/src/presenters/shared/summary.ts b/packages/cli/src/presenters/shared/summary.ts index 788c5aa73..790b0b53a 100644 --- a/packages/cli/src/presenters/shared/summary.ts +++ b/packages/cli/src/presenters/shared/summary.ts @@ -1,7 +1,7 @@ import { styleText } from "node:util"; -import { pluralize } from "../pluralize.js"; -import { PresenterSummarizeContext } from "../types.js"; +import { pluralize } from "../pluralize.ts"; +import type { PresenterSummarizeContext } from "../types.ts"; export interface SummaryCounts { all: number; diff --git a/packages/cli/src/renderers/createRendererFactory.ts b/packages/cli/src/renderers/createRendererFactory.ts index 9549ad96a..66e3461cd 100644 --- a/packages/cli/src/renderers/createRendererFactory.ts +++ b/packages/cli/src/renderers/createRendererFactory.ts @@ -1,7 +1,7 @@ -import { OptionsValues } from "../options.js"; -import { getPresenterFactory } from "../presenters/getPresenterFactory.js"; -import { interactiveRendererFactory } from "./interactive/interactiveRendererFactory.js"; -import { singleRendererFactory } from "./singleRendererFactory.js"; +import type { OptionsValues } from "../options.ts"; +import { getPresenterFactory } from "../presenters/getPresenterFactory.ts"; +import { interactiveRendererFactory } from "./interactive/interactiveRendererFactory.ts"; +import { singleRendererFactory } from "./singleRendererFactory.ts"; export function createRendererFactory( configFileName: string, diff --git a/packages/cli/src/renderers/interactive/interactiveRendererFactory.ts b/packages/cli/src/renderers/interactive/interactiveRendererFactory.ts index e0382ed7c..e21427310 100644 --- a/packages/cli/src/renderers/interactive/interactiveRendererFactory.ts +++ b/packages/cli/src/renderers/interactive/interactiveRendererFactory.ts @@ -1,14 +1,14 @@ import cliCursor from "cli-cursor"; import readline from "node:readline"; -import { RendererContext, RendererFactory } from "../types.js"; -import { createListeners } from "./createListeners.js"; -import { createState } from "./createState.js"; -import { printAllClear } from "./printAllClear.js"; -import { printControls } from "./printControls.js"; -import { printFile } from "./printFile.js"; -import { printHeader } from "./printHeader.js"; -import { printSummary } from "./printSummary.js"; +import type { RendererContext, RendererFactory } from "../types.ts"; +import { createListeners } from "./createListeners.ts"; +import { createState } from "./createState.ts"; +import { printAllClear } from "./printAllClear.ts"; +import { printControls } from "./printControls.ts"; +import { printFile } from "./printFile.ts"; +import { printHeader } from "./printHeader.ts"; +import { printSummary } from "./printSummary.ts"; export const interactiveRendererFactory: RendererFactory = { about: { diff --git a/packages/cli/src/renderers/interactive/printFile.ts b/packages/cli/src/renderers/interactive/printFile.ts index 92bdfee85..f9572f5f3 100644 --- a/packages/cli/src/renderers/interactive/printFile.ts +++ b/packages/cli/src/renderers/interactive/printFile.ts @@ -1,7 +1,7 @@ -import { FileReport } from "@flint.fyi/core"; +import type { FileReport } from "@flint.fyi/core"; import * as fs from "node:fs"; -import { Presenter } from "../../presenters/types.js"; +import type { Presenter } from "../../presenters/types.ts"; export async function printFile( filePath: string, diff --git a/packages/cli/src/renderers/interactive/printSummary.ts b/packages/cli/src/renderers/interactive/printSummary.ts index d2a3778d3..b80d1a29b 100644 --- a/packages/cli/src/renderers/interactive/printSummary.ts +++ b/packages/cli/src/renderers/interactive/printSummary.ts @@ -1,7 +1,7 @@ -import { FileResults, hasFix } from "@flint.fyi/core"; +import { type FileResults, hasFix } from "@flint.fyi/core"; import { styleText } from "node:util"; -import { pluralize } from "../../presenters/pluralize.js"; +import { pluralize } from "../../presenters/pluralize.ts"; export function printSummary(filesWithReportResults: [string, FileResults][]) { const counts = { diff --git a/packages/cli/src/renderers/singleRendererFactory.ts b/packages/cli/src/renderers/singleRendererFactory.ts index 8164e783a..ca01ca00d 100644 --- a/packages/cli/src/renderers/singleRendererFactory.ts +++ b/packages/cli/src/renderers/singleRendererFactory.ts @@ -1,6 +1,6 @@ import * as fs from "node:fs/promises"; -import { RendererFactory } from "./types.js"; +import type { RendererFactory } from "./types.ts"; export const singleRendererFactory: RendererFactory = { about: { diff --git a/packages/cli/src/renderers/types.ts b/packages/cli/src/renderers/types.ts index f94593008..898767554 100644 --- a/packages/cli/src/renderers/types.ts +++ b/packages/cli/src/renderers/types.ts @@ -1,6 +1,6 @@ -import { FormattingResults, LintResults } from "@flint.fyi/core"; +import type { FormattingResults, LintResults } from "@flint.fyi/core"; -import { Presenter } from "../presenters/types.js"; +import type { Presenter } from "../presenters/types.ts"; export interface Renderer { announce(): void; diff --git a/packages/cli/src/runCli.ts b/packages/cli/src/runCli.ts index aaed2e4b7..6a8710da8 100644 --- a/packages/cli/src/runCli.ts +++ b/packages/cli/src/runCli.ts @@ -1,11 +1,11 @@ import { parseArgs } from "node:util"; import packageData from "../package.json" with { type: "json" }; -import { findConfigFileName } from "./findConfigFileName.js"; -import { options } from "./options.js"; -import { createRendererFactory } from "./renderers/createRendererFactory.js"; -import { runCliOnce } from "./runCliOnce.js"; -import { runCliWatch } from "./runCliWatch.js"; +import { findConfigFileName } from "./findConfigFileName.ts"; +import { options } from "./options.ts"; +import { createRendererFactory } from "./renderers/createRendererFactory.ts"; +import { runCliOnce } from "./runCliOnce.ts"; +import { runCliWatch } from "./runCliWatch.ts"; export async function runCli(args: string[]) { const { values } = parseArgs({ diff --git a/packages/cli/src/runCliOnce.ts b/packages/cli/src/runCliOnce.ts index 51e0f4f16..8e8ff6886 100644 --- a/packages/cli/src/runCliOnce.ts +++ b/packages/cli/src/runCliOnce.ts @@ -3,9 +3,9 @@ import { debugForFile } from "debug-for-file"; import path from "node:path"; import { pathToFileURL } from "node:url"; -import { runPrettier } from "./formatting/runPrettier.js"; -import { OptionsValues } from "./options.js"; -import { Renderer } from "./renderers/types.js"; +import { runPrettier } from "./formatting/runPrettier.ts"; +import type { OptionsValues } from "./options.ts"; +import type { Renderer } from "./renderers/types.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/cli/src/runCliWatch.ts b/packages/cli/src/runCliWatch.ts index 2b7c43f9c..0fc07aa41 100644 --- a/packages/cli/src/runCliWatch.ts +++ b/packages/cli/src/runCliWatch.ts @@ -2,9 +2,9 @@ import debounce from "debounce"; import { debugForFile } from "debug-for-file"; import * as fs from "node:fs"; -import { OptionsValues } from "./options.js"; -import { Renderer } from "./renderers/types.js"; -import { runCliOnce } from "./runCliOnce.js"; +import type { OptionsValues } from "./options.ts"; +import type { Renderer } from "./renderers/types.ts"; +import { runCliOnce } from "./runCliOnce.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/cache/readFromCache.ts b/packages/core/src/cache/readFromCache.ts index 4f92f9a84..d4db1b7e7 100644 --- a/packages/core/src/cache/readFromCache.ts +++ b/packages/core/src/cache/readFromCache.ts @@ -1,10 +1,10 @@ import { CachedFactory } from "cached-factory"; import { debugForFile } from "debug-for-file"; -import { readFileSafeAsJson } from "../running/readFileSafeAsJson.js"; -import { CacheStorage } from "../types/cache.js"; -import { cacheFilePath } from "./constants.js"; -import { getFileTouchTime } from "./getFileTouchTime.js"; +import { readFileSafeAsJson } from "../running/readFileSafeAsJson.ts"; +import type { CacheStorage } from "../types/cache.ts"; +import { cacheFilePath } from "./constants.ts"; +import { getFileTouchTime } from "./getFileTouchTime.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/cache/writeToCache.ts b/packages/core/src/cache/writeToCache.ts index e48dc8336..b3b6b7747 100644 --- a/packages/core/src/cache/writeToCache.ts +++ b/packages/core/src/cache/writeToCache.ts @@ -2,10 +2,10 @@ import { CachedFactory } from "cached-factory"; import * as fs from "node:fs/promises"; import omitEmpty from "omit-empty"; -import { CacheStorage } from "../types/cache.js"; -import { LintResults } from "../types/linting.js"; -import { cacheFileDirectory, cacheFilePath } from "./constants.js"; -import { getFileTouchTime } from "./getFileTouchTime.js"; +import type { CacheStorage } from "../types/cache.ts"; +import type { LintResults } from "../types/linting.ts"; +import { cacheFileDirectory, cacheFilePath } from "./constants.ts"; +import { getFileTouchTime } from "./getFileTouchTime.ts"; export async function writeToCache( configFileName: string, diff --git a/packages/core/src/changing/applyChangeToText.ts b/packages/core/src/changing/applyChangeToText.ts index cacda0681..90ebb3f60 100644 --- a/packages/core/src/changing/applyChangeToText.ts +++ b/packages/core/src/changing/applyChangeToText.ts @@ -1,4 +1,4 @@ -import { FileChange } from "../types/changes.js"; +import type { FileChange } from "../types/changes.ts"; export function applyFileChangeToText(change: FileChange, text: string) { return ( diff --git a/packages/core/src/changing/applyChangesToFile.ts b/packages/core/src/changing/applyChangesToFile.ts index 027e8b462..4e5430e9a 100644 --- a/packages/core/src/changing/applyChangesToFile.ts +++ b/packages/core/src/changing/applyChangesToFile.ts @@ -1,8 +1,8 @@ import { debugForFile } from "debug-for-file"; import * as fs from "node:fs/promises"; -import { FileChange } from "../types/changes.js"; -import { applyChangesToText } from "./applyChangesToText.js"; +import type { FileChange } from "../types/changes.ts"; +import { applyChangesToText } from "./applyChangesToText.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/changing/applyChangesToFiles.ts b/packages/core/src/changing/applyChangesToFiles.ts index 01673b290..338917ff8 100644 --- a/packages/core/src/changing/applyChangesToFiles.ts +++ b/packages/core/src/changing/applyChangesToFiles.ts @@ -1,8 +1,8 @@ import { debugForFile } from "debug-for-file"; -import { FileResults } from "../types/linting.js"; -import { applyChangesToFile } from "./applyChangesToFile.js"; -import { resolveChangesByFile } from "./resolveChangesByFile.js"; +import type { FileResults } from "../types/linting.ts"; +import { applyChangesToFile } from "./applyChangesToFile.ts"; +import { resolveChangesByFile } from "./resolveChangesByFile.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/changing/applyChangesToText.ts b/packages/core/src/changing/applyChangesToText.ts index 37014b47e..0bf1ef8cc 100644 --- a/packages/core/src/changing/applyChangesToText.ts +++ b/packages/core/src/changing/applyChangesToText.ts @@ -1,6 +1,6 @@ -import { FileChange } from "../types/changes.js"; -import { applyFileChangeToText } from "./applyChangeToText.js"; -import { orderChangesLastToFirstWithoutOverlaps } from "./ordering.js"; +import type { FileChange } from "../types/changes.ts"; +import { applyFileChangeToText } from "./applyChangeToText.ts"; +import { orderChangesLastToFirstWithoutOverlaps } from "./ordering.ts"; export function applyChangesToText(changes: FileChange[], text: string) { const changesOrdered = orderChangesLastToFirstWithoutOverlaps(changes); diff --git a/packages/core/src/changing/createReportSuggestionKey.ts b/packages/core/src/changing/createReportSuggestionKey.ts index b7b338b57..b2e4db4d3 100644 --- a/packages/core/src/changing/createReportSuggestionKey.ts +++ b/packages/core/src/changing/createReportSuggestionKey.ts @@ -1,5 +1,5 @@ -import { Suggestion } from "../types/changes.js"; -import { FileReport } from "../types/reports.js"; +import type { Suggestion } from "../types/changes.ts"; +import type { FileReport } from "../types/reports.ts"; export function createReportSuggestionKey( report: FileReport, diff --git a/packages/core/src/changing/ordering.ts b/packages/core/src/changing/ordering.ts index aa1de1cdf..ea2d3093d 100644 --- a/packages/core/src/changing/ordering.ts +++ b/packages/core/src/changing/ordering.ts @@ -1,4 +1,4 @@ -import { FileChange } from "../types/changes.js"; +import type { FileChange } from "../types/changes.ts"; export const orderChangesLastToFirstWithoutOverlaps = ( changes: FileChange[], diff --git a/packages/core/src/changing/resolveChange.ts b/packages/core/src/changing/resolveChange.ts index 41f7daf54..9bbb07718 100644 --- a/packages/core/src/changing/resolveChange.ts +++ b/packages/core/src/changing/resolveChange.ts @@ -1,7 +1,7 @@ import * as fs from "node:fs/promises"; -import { Change, ResolvedChange } from "../types/changes.js"; -import { isSuggestionForFiles } from "../utils/predicates.js"; +import type { Change, ResolvedChange } from "../types/changes.ts"; +import { isSuggestionForFiles } from "../utils/predicates.ts"; export async function resolveChange( change: Change, diff --git a/packages/core/src/changing/resolveChangesByFile.ts b/packages/core/src/changing/resolveChangesByFile.ts index 2b04f1ef7..40637ec86 100644 --- a/packages/core/src/changing/resolveChangesByFile.ts +++ b/packages/core/src/changing/resolveChangesByFile.ts @@ -1,11 +1,11 @@ import { CachedFactory } from "cached-factory"; -import { FileChange } from "../types/changes.js"; -import { FileResults } from "../types/linting.js"; -import { FileReport } from "../types/reports.js"; -import { flatten } from "../utils/arrays.js"; -import { createReportSuggestionKey } from "./createReportSuggestionKey.js"; -import { resolveChange } from "./resolveChange.js"; +import type { FileChange } from "../types/changes.ts"; +import type { FileResults } from "../types/linting.ts"; +import type { FileReport } from "../types/reports.ts"; +import { flatten } from "../utils/arrays.ts"; +import { createReportSuggestionKey } from "./createReportSuggestionKey.ts"; +import { resolveChange } from "./resolveChange.ts"; export async function resolveChangesByFile( filesResults: Map, diff --git a/packages/core/src/configs/defineConfig.ts b/packages/core/src/configs/defineConfig.ts index cd2a6a6ac..a2b9ab9de 100644 --- a/packages/core/src/configs/defineConfig.ts +++ b/packages/core/src/configs/defineConfig.ts @@ -1,4 +1,4 @@ -import { Config, ConfigDefinition } from "../types/configs.js"; +import type { Config, ConfigDefinition } from "../types/configs.ts"; /** * Defines a new linter configuration for a Flint config file. diff --git a/packages/core/src/configs/isConfig.ts b/packages/core/src/configs/isConfig.ts index 4c5c04e14..29e3482e5 100644 --- a/packages/core/src/configs/isConfig.ts +++ b/packages/core/src/configs/isConfig.ts @@ -1,4 +1,4 @@ -import { Config } from "../types/configs.js"; +import type { Config } from "../types/configs.ts"; export function isConfig(value: unknown): value is Config { return ( diff --git a/packages/core/src/directives/DirectivesCollector.test.ts b/packages/core/src/directives/DirectivesCollector.test.ts index 3e5806564..69e65cf10 100644 --- a/packages/core/src/directives/DirectivesCollector.test.ts +++ b/packages/core/src/directives/DirectivesCollector.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it } from "vitest"; -import { NormalizedReportRangeObject } from "../types/reports.js"; -import { DirectivesCollector } from "./DirectivesCollector.js"; -import { directiveReports } from "./reports/directiveReports.js"; +import type { NormalizedReportRangeObject } from "../types/reports.ts"; +import { DirectivesCollector } from "./DirectivesCollector.ts"; +import { directiveReports } from "./reports/directiveReports.ts"; function createRange(forPosition: number) { return { diff --git a/packages/core/src/directives/DirectivesCollector.ts b/packages/core/src/directives/DirectivesCollector.ts index 29eb0f2c4..18d4b1be3 100644 --- a/packages/core/src/directives/DirectivesCollector.ts +++ b/packages/core/src/directives/DirectivesCollector.ts @@ -1,7 +1,10 @@ -import { CommentDirective } from "../types/directives.js"; -import { FileReport, NormalizedReportRangeObject } from "../types/reports.js"; -import { isCommentDirectiveType } from "./predicates.js"; -import { directiveReports } from "./reports/directiveReports.js"; +import type { CommentDirective } from "../types/directives.ts"; +import type { + FileReport, + NormalizedReportRangeObject, +} from "../types/reports.ts"; +import { isCommentDirectiveType } from "./predicates.ts"; +import { directiveReports } from "./reports/directiveReports.ts"; export class DirectivesCollector { #directives: CommentDirective[] = []; diff --git a/packages/core/src/directives/DirectivesFilterer.test.ts b/packages/core/src/directives/DirectivesFilterer.test.ts index bad1dcfc6..d6d5c5b04 100644 --- a/packages/core/src/directives/DirectivesFilterer.test.ts +++ b/packages/core/src/directives/DirectivesFilterer.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from "vitest"; -import { FileReport } from "../types/reports.js"; -import { DirectivesFilterer } from "./DirectivesFilterer.js"; +import type { FileReport } from "../types/reports.ts"; +import { DirectivesFilterer } from "./DirectivesFilterer.ts"; function createReport(forLine: number, id: string) { return { diff --git a/packages/core/src/directives/DirectivesFilterer.ts b/packages/core/src/directives/DirectivesFilterer.ts index cb8c7466c..8fecf4d5e 100644 --- a/packages/core/src/directives/DirectivesFilterer.ts +++ b/packages/core/src/directives/DirectivesFilterer.ts @@ -1,13 +1,13 @@ -import { +import type { CommentDirective, CommentDirectiveWithinFile, -} from "../types/directives.js"; -import { FileReport } from "../types/reports.js"; -import { computeDirectiveRanges } from "./computeDirectiveRanges.js"; -import { createSelectionMatcher } from "./createSelectionMatcher.js"; -import { isCommentDirectiveWithinFile } from "./predicates.js"; -import { selectionMatchesDirectiveRanges } from "./selectionMatchesDirectiveRanges.js"; -import { selectionMatchesReport } from "./selectionMatchesReport.js"; +} from "../types/directives.ts"; +import type { FileReport } from "../types/reports.ts"; +import { computeDirectiveRanges } from "./computeDirectiveRanges.ts"; +import { createSelectionMatcher } from "./createSelectionMatcher.ts"; +import { isCommentDirectiveWithinFile } from "./predicates.ts"; +import { selectionMatchesDirectiveRanges } from "./selectionMatchesDirectiveRanges.ts"; +import { selectionMatchesReport } from "./selectionMatchesReport.ts"; export class DirectivesFilterer { #directivesForRanges: CommentDirectiveWithinFile[] = []; diff --git a/packages/core/src/directives/computeDirectiveRanges.test.ts b/packages/core/src/directives/computeDirectiveRanges.test.ts index e19c02236..3e58675a1 100644 --- a/packages/core/src/directives/computeDirectiveRanges.test.ts +++ b/packages/core/src/directives/computeDirectiveRanges.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { computeDirectiveRanges } from "./computeDirectiveRanges.js"; +import { computeDirectiveRanges } from "./computeDirectiveRanges.ts"; function createDirectiveRange(forLine: number) { return { diff --git a/packages/core/src/directives/computeDirectiveRanges.ts b/packages/core/src/directives/computeDirectiveRanges.ts index f78804d51..a93768373 100644 --- a/packages/core/src/directives/computeDirectiveRanges.ts +++ b/packages/core/src/directives/computeDirectiveRanges.ts @@ -1,5 +1,5 @@ -import { CommentDirectiveWithinFile } from "../types/directives.js"; -import { createSelectionMatcher } from "./createSelectionMatcher.js"; +import type { CommentDirectiveWithinFile } from "../types/directives.ts"; +import { createSelectionMatcher } from "./createSelectionMatcher.ts"; export interface RangedSelection { lines: RangedSelectionLines; diff --git a/packages/core/src/directives/predicates.ts b/packages/core/src/directives/predicates.ts index 2cbb6cb1d..1a1ad23ed 100644 --- a/packages/core/src/directives/predicates.ts +++ b/packages/core/src/directives/predicates.ts @@ -1,7 +1,7 @@ -import { +import type { CommentDirective, CommentDirectiveWithinFile, -} from "../types/directives.js"; +} from "../types/directives.ts"; export function isCommentDirectiveType(type: string) { return ( diff --git a/packages/core/src/directives/reports/createCommentDirectiveAlreadyDisabled.ts b/packages/core/src/directives/reports/createCommentDirectiveAlreadyDisabled.ts index 1e4823aa8..312fe0e12 100644 --- a/packages/core/src/directives/reports/createCommentDirectiveAlreadyDisabled.ts +++ b/packages/core/src/directives/reports/createCommentDirectiveAlreadyDisabled.ts @@ -1,4 +1,4 @@ -import { CommentDirective } from "../../types/directives.js"; +import type { CommentDirective } from "../../types/directives.ts"; export function createCommentDirectiveAlreadyDisabled( directive: CommentDirective, diff --git a/packages/core/src/directives/reports/createCommentDirectiveFileAfterContent.ts b/packages/core/src/directives/reports/createCommentDirectiveFileAfterContent.ts index 443f52890..05b2e930d 100644 --- a/packages/core/src/directives/reports/createCommentDirectiveFileAfterContent.ts +++ b/packages/core/src/directives/reports/createCommentDirectiveFileAfterContent.ts @@ -1,4 +1,4 @@ -import { NormalizedReportRangeObject } from "../../types/reports.js"; +import type { NormalizedReportRangeObject } from "../../types/reports.ts"; export function createCommentDirectiveFileAfterContent( range: NormalizedReportRangeObject, diff --git a/packages/core/src/directives/reports/createCommentDirectiveNoSelection.ts b/packages/core/src/directives/reports/createCommentDirectiveNoSelection.ts index 012585c84..f75f32ed1 100644 --- a/packages/core/src/directives/reports/createCommentDirectiveNoSelection.ts +++ b/packages/core/src/directives/reports/createCommentDirectiveNoSelection.ts @@ -1,4 +1,4 @@ -import { NormalizedReportRangeObject } from "../../types/reports.js"; +import type { NormalizedReportRangeObject } from "../../types/reports.ts"; export function createCommentDirectiveNoSelection( type: string, diff --git a/packages/core/src/directives/reports/createCommentDirectiveNotPreviouslyDisabled.ts b/packages/core/src/directives/reports/createCommentDirectiveNotPreviouslyDisabled.ts index f9e2404dc..7ff48d6bd 100644 --- a/packages/core/src/directives/reports/createCommentDirectiveNotPreviouslyDisabled.ts +++ b/packages/core/src/directives/reports/createCommentDirectiveNotPreviouslyDisabled.ts @@ -1,4 +1,4 @@ -import { NormalizedReportRangeObject } from "../../types/reports.js"; +import type { NormalizedReportRangeObject } from "../../types/reports.ts"; export function createCommentDirectiveNotPreviouslyDisabled( range: NormalizedReportRangeObject, diff --git a/packages/core/src/directives/reports/createCommentDirectiveUnknown.ts b/packages/core/src/directives/reports/createCommentDirectiveUnknown.ts index 8d284cc18..aa14ba43d 100644 --- a/packages/core/src/directives/reports/createCommentDirectiveUnknown.ts +++ b/packages/core/src/directives/reports/createCommentDirectiveUnknown.ts @@ -1,4 +1,4 @@ -import { NormalizedReportRangeObject } from "../../types/reports.js"; +import type { NormalizedReportRangeObject } from "../../types/reports.ts"; export function createCommentDirectiveUnknown( type: string, diff --git a/packages/core/src/directives/reports/directiveReports.ts b/packages/core/src/directives/reports/directiveReports.ts index 7620a31c5..6e509b1ea 100644 --- a/packages/core/src/directives/reports/directiveReports.ts +++ b/packages/core/src/directives/reports/directiveReports.ts @@ -1,8 +1,8 @@ -import { createCommentDirectiveAlreadyDisabled } from "./createCommentDirectiveAlreadyDisabled.js"; -import { createCommentDirectiveFileAfterContent } from "./createCommentDirectiveFileAfterContent.js"; -import { createCommentDirectiveNoSelection } from "./createCommentDirectiveNoSelection.js"; -import { createCommentDirectiveNotPreviouslyDisabled } from "./createCommentDirectiveNotPreviouslyDisabled.js"; -import { createCommentDirectiveUnknown } from "./createCommentDirectiveUnknown.js"; +import { createCommentDirectiveAlreadyDisabled } from "./createCommentDirectiveAlreadyDisabled.ts"; +import { createCommentDirectiveFileAfterContent } from "./createCommentDirectiveFileAfterContent.ts"; +import { createCommentDirectiveNoSelection } from "./createCommentDirectiveNoSelection.ts"; +import { createCommentDirectiveNotPreviouslyDisabled } from "./createCommentDirectiveNotPreviouslyDisabled.ts"; +import { createCommentDirectiveUnknown } from "./createCommentDirectiveUnknown.ts"; export const directiveReports = { createAlreadyDisabled: createCommentDirectiveAlreadyDisabled, diff --git a/packages/core/src/directives/selectionMatchesDirectiveRanges.ts b/packages/core/src/directives/selectionMatchesDirectiveRanges.ts index 895057564..98d321db6 100644 --- a/packages/core/src/directives/selectionMatchesDirectiveRanges.ts +++ b/packages/core/src/directives/selectionMatchesDirectiveRanges.ts @@ -1,6 +1,6 @@ -import { FileReport } from "../types/reports.js"; -import { RangedSelection } from "./computeDirectiveRanges.js"; -import { selectionMatchesReport } from "./selectionMatchesReport.js"; +import type { FileReport } from "../types/reports.ts"; +import type { RangedSelection } from "./computeDirectiveRanges.ts"; +import { selectionMatchesReport } from "./selectionMatchesReport.ts"; export function selectionMatchesDirectiveRanges( directiveRanges: RangedSelection[], diff --git a/packages/core/src/directives/selectionMatchesReport.ts b/packages/core/src/directives/selectionMatchesReport.ts index b480b0e67..21c04ed87 100644 --- a/packages/core/src/directives/selectionMatchesReport.ts +++ b/packages/core/src/directives/selectionMatchesReport.ts @@ -1,4 +1,4 @@ -import { FileReport } from "../types/reports.js"; +import type { FileReport } from "../types/reports.ts"; // TODO: There's got to be a better way. // Maybe an existing common one like minimatch? diff --git a/packages/core/src/globs/all.ts b/packages/core/src/globs/all.ts index 85ecd5883..f25d52347 100644 --- a/packages/core/src/globs/all.ts +++ b/packages/core/src/globs/all.ts @@ -1,6 +1,6 @@ -import { FilesComputer, FilesGlobObject } from "../types/files.js"; -import { flatten } from "../utils/arrays.js"; -import { collectFilesValues } from "./collectFilesValues.js"; +import type { FilesComputer, FilesGlobObject } from "../types/files.ts"; +import { flatten } from "../utils/arrays.ts"; +import { collectFilesValues } from "./collectFilesValues.ts"; export const all: FilesComputer = (config): FilesGlobObject => { const exclude = new Set(); diff --git a/packages/core/src/globs/collectFilesValues.ts b/packages/core/src/globs/collectFilesValues.ts index 666854ce7..2b7fbff00 100644 --- a/packages/core/src/globs/collectFilesValues.ts +++ b/packages/core/src/globs/collectFilesValues.ts @@ -1,5 +1,5 @@ -import { FilesValue } from "../types/files.js"; -import { flatten } from "../utils/arrays.js"; +import type { FilesValue } from "../types/files.ts"; +import { flatten } from "../utils/arrays.ts"; export function collectFilesValues( filesValues: FilesValue[], diff --git a/packages/core/src/globs/index.ts b/packages/core/src/globs/index.ts index 932bcb3c6..8d8fb05a9 100644 --- a/packages/core/src/globs/index.ts +++ b/packages/core/src/globs/index.ts @@ -1,3 +1,3 @@ -import { all } from "./all.js"; +import { all } from "./all.ts"; export const globs = { all }; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 59de33b69..8e3508629 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,30 +1,30 @@ -export * from "./cache/constants.js"; -export { writeToCache } from "./cache/writeToCache.js"; -export { applyChangesToText } from "./changing/applyChangesToText.js"; -export { defineConfig } from "./configs/defineConfig.js"; -export { isConfig } from "./configs/isConfig.js"; -export { DirectivesCollector } from "./directives/DirectivesCollector.js"; -export { directiveReports } from "./directives/reports/directiveReports.js"; -export { globs } from "./globs/index.js"; -export { createLanguage } from "./languages/createLanguage.js"; -export { createPlugin } from "./plugins/createPlugin.js"; -export { formatReportPrimary } from "./reporting/formatReportPrimary.js"; -export { lintFixing } from "./running/lintFixing.js"; -export { lintOnce } from "./running/lintOnce.js"; -export * from "./types/about.js"; -export * from "./types/cache.js"; -export * from "./types/changes.js"; -export * from "./types/configs.js"; -export * from "./types/directives.js"; -export * from "./types/formatting.js"; -export * from "./types/languages.js"; -export * from "./types/linting.js"; -export * from "./types/modes.js"; -export * from "./types/plugins.js"; -export * from "./types/ranges.js"; -export * from "./types/reports.js"; -export * from "./types/rules.js"; -export * from "./types/shapes.js"; -export { binarySearch } from "./utils/arrays.js"; -export * from "./utils/getColumnAndLineOfPosition.js"; -export * from "./utils/predicates.js"; +export * from "./cache/constants.ts"; +export { writeToCache } from "./cache/writeToCache.ts"; +export { applyChangesToText } from "./changing/applyChangesToText.ts"; +export { defineConfig } from "./configs/defineConfig.ts"; +export { isConfig } from "./configs/isConfig.ts"; +export { DirectivesCollector } from "./directives/DirectivesCollector.ts"; +export { directiveReports } from "./directives/reports/directiveReports.ts"; +export { globs } from "./globs/index.ts"; +export { createLanguage } from "./languages/createLanguage.ts"; +export { createPlugin } from "./plugins/createPlugin.ts"; +export { formatReportPrimary } from "./reporting/formatReportPrimary.ts"; +export { lintFixing } from "./running/lintFixing.ts"; +export { lintOnce } from "./running/lintOnce.ts"; +export * from "./types/about.ts"; +export * from "./types/cache.ts"; +export * from "./types/changes.ts"; +export * from "./types/configs.ts"; +export * from "./types/directives.ts"; +export * from "./types/formatting.ts"; +export * from "./types/languages.ts"; +export * from "./types/linting.ts"; +export * from "./types/modes.ts"; +export * from "./types/plugins.ts"; +export * from "./types/ranges.ts"; +export * from "./types/reports.ts"; +export * from "./types/rules.ts"; +export * from "./types/shapes.ts"; +export { binarySearch } from "./utils/arrays.ts"; +export * from "./utils/getColumnAndLineOfPosition.ts"; +export * from "./utils/predicates.ts"; diff --git a/packages/core/src/languages/createLanguage.ts b/packages/core/src/languages/createLanguage.ts index fdeffb113..ff5a1fa0c 100644 --- a/packages/core/src/languages/createLanguage.ts +++ b/packages/core/src/languages/createLanguage.ts @@ -1,12 +1,12 @@ import { debugForFile } from "debug-for-file"; -import { +import type { CreateRule, Language, LanguageDefinition, -} from "../types/languages.js"; -import { AnyRuleDefinition } from "../types/rules.js"; -import { makeDisposable } from "./makeDisposable.js"; +} from "../types/languages.ts"; +import type { AnyRuleDefinition } from "../types/rules.ts"; +import { makeDisposable } from "./makeDisposable.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/plugins/createPlugin.test-d.ts b/packages/core/src/plugins/createPlugin.test-d.ts index 7de04466c..4351c6d05 100644 --- a/packages/core/src/plugins/createPlugin.test-d.ts +++ b/packages/core/src/plugins/createPlugin.test-d.ts @@ -1,7 +1,7 @@ import { assertType, describe, expectTypeOf, it } from "vitest"; -import { FilesValue } from "../types/files.js"; -import { createPlugin } from "./createPlugin.js"; +import type { FilesValue } from "../types/files.ts"; +import { createPlugin } from "./createPlugin.ts"; describe("createPlugin", () => { it("should type files as undefined w/o files property", () => { diff --git a/packages/core/src/plugins/createPlugin.test.ts b/packages/core/src/plugins/createPlugin.test.ts index cf640869f..8eca52d63 100644 --- a/packages/core/src/plugins/createPlugin.test.ts +++ b/packages/core/src/plugins/createPlugin.test.ts @@ -1,8 +1,8 @@ import { describe, expect, it, vi } from "vitest"; import z from "zod"; -import { createLanguage } from "../languages/createLanguage.js"; -import { createPlugin } from "./createPlugin.js"; +import { createLanguage } from "../languages/createLanguage.ts"; +import { createPlugin } from "./createPlugin.ts"; const stubLanguage = createLanguage({ about: { name: "Stub" }, diff --git a/packages/core/src/plugins/createPlugin.ts b/packages/core/src/plugins/createPlugin.ts index d64cb8351..1a019ec96 100644 --- a/packages/core/src/plugins/createPlugin.ts +++ b/packages/core/src/plugins/createPlugin.ts @@ -1,6 +1,6 @@ -import { FilesValues } from "../types/files.js"; -import { Plugin, PluginPresets } from "../types/plugins.js"; -import { Rule, RuleAbout } from "../types/rules.js"; +import type { FilesValues } from "../types/files.ts"; +import type { Plugin, PluginPresets } from "../types/plugins.ts"; +import type { Rule, RuleAbout } from "../types/rules.ts"; export type CreatePluginOptions< About extends RuleAbout, diff --git a/packages/core/src/reporting/formatReportPrimary.ts b/packages/core/src/reporting/formatReportPrimary.ts index 07f9673aa..41b348e3e 100644 --- a/packages/core/src/reporting/formatReportPrimary.ts +++ b/packages/core/src/reporting/formatReportPrimary.ts @@ -1,4 +1,4 @@ -import { NormalizedReport } from "../types/reports.js"; +import type { NormalizedReport } from "../types/reports.ts"; /** * Interpolates any report data into its primary message. diff --git a/packages/core/src/running/computeRulesWithOptions.ts b/packages/core/src/running/computeRulesWithOptions.ts index 64a1f6aa6..426470b7f 100644 --- a/packages/core/src/running/computeRulesWithOptions.ts +++ b/packages/core/src/running/computeRulesWithOptions.ts @@ -1,5 +1,5 @@ -import { AnyRule } from "../types/rules.js"; -import { ConfigUseDefinitionWithFiles } from "./computeUseDefinitions.js"; +import type { AnyRule } from "../types/rules.ts"; +import type { ConfigUseDefinitionWithFiles } from "./computeUseDefinitions.ts"; // TODO: This is very slow and the whole thing should be refactored 🙌. // The separate lintFile function recomputes rule options repeatedly. diff --git a/packages/core/src/running/computeUseDefinitions.ts b/packages/core/src/running/computeUseDefinitions.ts index ea39e5cfa..beb7677a9 100644 --- a/packages/core/src/running/computeUseDefinitions.ts +++ b/packages/core/src/running/computeUseDefinitions.ts @@ -3,14 +3,14 @@ import { debugForFile } from "debug-for-file"; import * as fs from "node:fs/promises"; import path from "node:path"; -import { +import type { ConfigRuleDefinition, ConfigUseDefinition, ProcessedConfigDefinition, -} from "../types/configs.js"; -import { flatten } from "../utils/arrays.js"; -import { readGitignore } from "./readGitignore.js"; -import { resolveUseFilesGlobs } from "./resolveUseFilesGlobs.js"; +} from "../types/configs.ts"; +import { flatten } from "../utils/arrays.ts"; +import { readGitignore } from "./readGitignore.ts"; +import { resolveUseFilesGlobs } from "./resolveUseFilesGlobs.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/running/lintFile.ts b/packages/core/src/running/lintFile.ts index 9841e7d41..556e5fb44 100644 --- a/packages/core/src/running/lintFile.ts +++ b/packages/core/src/running/lintFile.ts @@ -2,15 +2,15 @@ import { makeAbsolute } from "@flint.fyi/utils"; import { CachedFactory } from "cached-factory"; import { debugForFile } from "debug-for-file"; -import { DirectivesFilterer } from "../directives/DirectivesFilterer.js"; -import { +import { DirectivesFilterer } from "../directives/DirectivesFilterer.ts"; +import type { AnyLanguage, LanguageFileDiagnostic, LanguageFileFactory, -} from "../types/languages.js"; -import { FileReport } from "../types/reports.js"; -import { computeRulesWithOptions } from "./computeRulesWithOptions.js"; -import { ConfigUseDefinitionWithFiles } from "./computeUseDefinitions.js"; +} from "../types/languages.ts"; +import type { FileReport } from "../types/reports.ts"; +import { computeRulesWithOptions } from "./computeRulesWithOptions.ts"; +import type { ConfigUseDefinitionWithFiles } from "./computeUseDefinitions.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/running/lintFixing.ts b/packages/core/src/running/lintFixing.ts index 5fa86d945..2df5649d2 100644 --- a/packages/core/src/running/lintFixing.ts +++ b/packages/core/src/running/lintFixing.ts @@ -1,9 +1,9 @@ import { debugForFile } from "debug-for-file"; -import { applyChangesToFiles } from "../changing/applyChangesToFiles.js"; -import { ProcessedConfigDefinition } from "../types/configs.js"; -import { LintResultsWithChanges } from "../types/linting.js"; -import { lintOnce } from "./lintOnce.js"; +import { applyChangesToFiles } from "../changing/applyChangesToFiles.ts"; +import type { ProcessedConfigDefinition } from "../types/configs.ts"; +import type { LintResultsWithChanges } from "../types/linting.ts"; +import { lintOnce } from "./lintOnce.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/running/lintOnce.ts b/packages/core/src/running/lintOnce.ts index feba168a2..636011a26 100644 --- a/packages/core/src/running/lintOnce.ts +++ b/packages/core/src/running/lintOnce.ts @@ -1,14 +1,14 @@ import { CachedFactory } from "cached-factory"; import { debugForFile } from "debug-for-file"; -import { readFromCache } from "../cache/readFromCache.js"; -import { writeToCache } from "../cache/writeToCache.js"; -import { ProcessedConfigDefinition } from "../types/configs.js"; -import { AnyLanguage } from "../types/languages.js"; -import { FileResults, LintResults } from "../types/linting.js"; -import { computeUseDefinitions } from "./computeUseDefinitions.js"; -import { lintFile } from "./lintFile.js"; -import { readGitignore } from "./readGitignore.js"; +import { readFromCache } from "../cache/readFromCache.ts"; +import { writeToCache } from "../cache/writeToCache.ts"; +import type { ProcessedConfigDefinition } from "../types/configs.ts"; +import type { AnyLanguage } from "../types/languages.ts"; +import type { FileResults, LintResults } from "../types/linting.ts"; +import { computeUseDefinitions } from "./computeUseDefinitions.ts"; +import { lintFile } from "./lintFile.ts"; +import { readGitignore } from "./readGitignore.ts"; const log = debugForFile(import.meta.filename); diff --git a/packages/core/src/running/readFileSafeAsJson.ts b/packages/core/src/running/readFileSafeAsJson.ts index 6510624a2..8afdb3ce9 100644 --- a/packages/core/src/running/readFileSafeAsJson.ts +++ b/packages/core/src/running/readFileSafeAsJson.ts @@ -1,6 +1,6 @@ import { parseJsonSafe } from "@flint.fyi/utils"; -import { readFileSafe } from "./readFileSafe.js"; +import { readFileSafe } from "./readFileSafe.ts"; export async function readFileSafeAsJson(filePath: string) { return parseJsonSafe(await readFileSafe(filePath)); diff --git a/packages/core/src/running/readGitignore.test.ts b/packages/core/src/running/readGitignore.test.ts index caa16d98a..a110a8f2f 100644 --- a/packages/core/src/running/readGitignore.test.ts +++ b/packages/core/src/running/readGitignore.test.ts @@ -1,10 +1,10 @@ import { describe, expect, it, vi } from "vitest"; -import { readGitignore } from "./readGitignore.js"; +import { readGitignore } from "./readGitignore.ts"; const mockReadFileSafe = vi.fn(); -vi.mock("./readFileSafe.js", () => ({ +vi.mock("./readFileSafe.ts", () => ({ get readFileSafe() { return mockReadFileSafe; }, diff --git a/packages/core/src/running/readGitignore.ts b/packages/core/src/running/readGitignore.ts index cb315437a..eef16da4b 100644 --- a/packages/core/src/running/readGitignore.ts +++ b/packages/core/src/running/readGitignore.ts @@ -1,4 +1,4 @@ -import { readFileSafe } from "./readFileSafe.js"; +import { readFileSafe } from "./readFileSafe.ts"; export async function readGitignore() { return ((await readFileSafe(".gitignore")) ?? "") diff --git a/packages/core/src/running/resolveUseFilesGlobs.ts b/packages/core/src/running/resolveUseFilesGlobs.ts index c11d41578..8a61dfbf2 100644 --- a/packages/core/src/running/resolveUseFilesGlobs.ts +++ b/packages/core/src/running/resolveUseFilesGlobs.ts @@ -1,8 +1,8 @@ -import { collectFilesValues } from "../globs/collectFilesValues.js"; -import { AnyLevelDeep } from "../types/arrays.js"; -import { ProcessedConfigDefinition } from "../types/configs.js"; -import { FilesGlobObjectProcessed, FilesValue } from "../types/files.js"; -import { flatten } from "../utils/arrays.js"; +import { collectFilesValues } from "../globs/collectFilesValues.ts"; +import type { AnyLevelDeep } from "../types/arrays.ts"; +import type { ProcessedConfigDefinition } from "../types/configs.ts"; +import type { FilesGlobObjectProcessed, FilesValue } from "../types/files.ts"; +import { flatten } from "../utils/arrays.ts"; export function resolveUseFilesGlobs( files: AnyLevelDeep | undefined, diff --git a/packages/core/src/types/cache.ts b/packages/core/src/types/cache.ts index 1ce5f1c05..da117c6a6 100644 --- a/packages/core/src/types/cache.ts +++ b/packages/core/src/types/cache.ts @@ -1,5 +1,5 @@ -import { LanguageFileDiagnostic } from "./languages.js"; -import { FileReport } from "./reports.js"; +import type { LanguageFileDiagnostic } from "./languages.ts"; +import type { FileReport } from "./reports.ts"; export interface CacheStorage { configs: Record; diff --git a/packages/core/src/types/changes.ts b/packages/core/src/types/changes.ts index 0f97d8a3d..0b7085fce 100644 --- a/packages/core/src/types/changes.ts +++ b/packages/core/src/types/changes.ts @@ -1,4 +1,4 @@ -import { CharacterReportRange } from "./ranges.js"; +import type { CharacterReportRange } from "./ranges.ts"; export type Change = Fix | Suggestion; diff --git a/packages/core/src/types/configs.ts b/packages/core/src/types/configs.ts index d665fbd4f..2bc83e580 100644 --- a/packages/core/src/types/configs.ts +++ b/packages/core/src/types/configs.ts @@ -1,6 +1,6 @@ -import { AnyLevelDeep } from "./arrays.js"; -import { FilesValue } from "./files.js"; -import { AnyRule } from "./rules.js"; +import type { AnyLevelDeep } from "./arrays.ts"; +import type { FilesValue } from "./files.ts"; +import type { AnyRule } from "./rules.ts"; export interface Config { definition: ConfigDefinition; diff --git a/packages/core/src/types/context.ts b/packages/core/src/types/context.ts index 5e63f3a1f..e0aa25460 100644 --- a/packages/core/src/types/context.ts +++ b/packages/core/src/types/context.ts @@ -1,4 +1,4 @@ -import { RuleReport } from "./reports.js"; +import type { RuleReport } from "./reports.ts"; export interface RuleContext { report: RuleReporter; diff --git a/packages/core/src/types/directives.ts b/packages/core/src/types/directives.ts index 8b0706486..6f418d916 100644 --- a/packages/core/src/types/directives.ts +++ b/packages/core/src/types/directives.ts @@ -1,4 +1,4 @@ -import { NormalizedReportRangeObject } from "./reports.js"; +import type { NormalizedReportRangeObject } from "./reports.ts"; export interface CommentDirective { range: NormalizedReportRangeObject; diff --git a/packages/core/src/types/files.ts b/packages/core/src/types/files.ts index 59e6b6753..15c85c78b 100644 --- a/packages/core/src/types/files.ts +++ b/packages/core/src/types/files.ts @@ -1,5 +1,5 @@ -import { AnyLevelDeep } from "./arrays.js"; -import { ProcessedConfigDefinition } from "./configs.js"; +import type { AnyLevelDeep } from "./arrays.ts"; +import type { ProcessedConfigDefinition } from "./configs.ts"; export type FilesComputer = ( config: ProcessedConfigDefinition, diff --git a/packages/core/src/types/languages.ts b/packages/core/src/types/languages.ts index 031101287..2028a90e6 100644 --- a/packages/core/src/types/languages.ts +++ b/packages/core/src/types/languages.ts @@ -1,15 +1,15 @@ import type { PromiseOrSync } from "@flint.fyi/utils"; -import { CommentDirective } from "./directives.js"; -import { FileReport, NormalizedReport } from "./reports.js"; -import { +import type { CommentDirective } from "./directives.ts"; +import type { FileReport, NormalizedReport } from "./reports.ts"; +import type { AnyRule, AnyRuleDefinition, Rule, RuleAbout, RuleDefinition, -} from "./rules.js"; -import { AnyOptionalSchema, InferredObject } from "./shapes.js"; +} from "./rules.ts"; +import type { AnyOptionalSchema, InferredObject } from "./shapes.ts"; export type AnyLanguage = Language; diff --git a/packages/core/src/types/linting.ts b/packages/core/src/types/linting.ts index 1242d7b87..e3f63e10c 100644 --- a/packages/core/src/types/linting.ts +++ b/packages/core/src/types/linting.ts @@ -1,6 +1,6 @@ -import { FileCacheStorage } from "./cache.js"; -import { LanguageFileDiagnostic } from "./languages.js"; -import { FileReport } from "./reports.js"; +import type { FileCacheStorage } from "./cache.ts"; +import type { LanguageFileDiagnostic } from "./languages.ts"; +import type { FileReport } from "./reports.ts"; export interface FileResults { dependencies: Set; diff --git a/packages/core/src/types/plugins.ts b/packages/core/src/types/plugins.ts index 5bd8dc868..199e886bc 100644 --- a/packages/core/src/types/plugins.ts +++ b/packages/core/src/types/plugins.ts @@ -1,6 +1,6 @@ -import { FilesValue } from "./files.js"; -import { AnyRule, Rule, RuleAbout } from "./rules.js"; -import { AnyOptionalSchema, InferredObject } from "./shapes.js"; +import type { FilesValue } from "./files.ts"; +import type { AnyRule, Rule, RuleAbout } from "./rules.ts"; +import type { AnyOptionalSchema, InferredObject } from "./shapes.ts"; export interface Plugin< About extends RuleAbout, diff --git a/packages/core/src/types/reports.ts b/packages/core/src/types/reports.ts index 11b6b0c1f..86d624fd0 100644 --- a/packages/core/src/types/reports.ts +++ b/packages/core/src/types/reports.ts @@ -1,6 +1,6 @@ -import { BaseAbout } from "./about.js"; -import { Fix, Suggestion } from "./changes.js"; -import { CharacterReportRange, ColumnAndLine } from "./ranges.js"; +import type { BaseAbout } from "./about.ts"; +import type { Fix, Suggestion } from "./changes.ts"; +import type { CharacterReportRange, ColumnAndLine } from "./ranges.ts"; export interface FileReport extends NormalizedReport { /** diff --git a/packages/core/src/types/rules.test-d.ts b/packages/core/src/types/rules.test-d.ts index 9487c86ec..5d8b48126 100644 --- a/packages/core/src/types/rules.test-d.ts +++ b/packages/core/src/types/rules.test-d.ts @@ -1,8 +1,8 @@ import { describe, expectTypeOf, it } from "vitest"; -import { z } from "zod"; +import type { z } from "zod"; -import { AnyRule, AnyRuleDefinition, Rule } from "./rules.js"; -import { AnyOptionalSchema, InferredObject } from "./shapes.js"; +import type { AnyRule, AnyRuleDefinition, Rule } from "./rules.ts"; +import type { AnyOptionalSchema, InferredObject } from "./shapes.ts"; describe("Rule", () => { it("should be assignable to AnyRule", () => { diff --git a/packages/core/src/types/rules.ts b/packages/core/src/types/rules.ts index 282c7327e..d36ecb281 100644 --- a/packages/core/src/types/rules.ts +++ b/packages/core/src/types/rules.ts @@ -1,10 +1,10 @@ import type { PromiseOrSync } from "@flint.fyi/utils"; -import { BaseAbout } from "./about.js"; -import { RuleContext } from "./context.js"; -import { Language } from "./languages.js"; -import { ReportMessageData } from "./reports.js"; -import { AnyOptionalSchema, InferredObject } from "./shapes.js"; +import type { BaseAbout } from "./about.ts"; +import type { RuleContext } from "./context.ts"; +import type { Language } from "./languages.ts"; +import type { ReportMessageData } from "./reports.ts"; +import type { AnyOptionalSchema, InferredObject } from "./shapes.ts"; /* eslint-disable @typescript-eslint/no-explicit-any */ export type AnyRule< diff --git a/packages/core/src/types/shapes.ts b/packages/core/src/types/shapes.ts index 298466d6d..3e12e2dff 100644 --- a/packages/core/src/types/shapes.ts +++ b/packages/core/src/types/shapes.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import type { z } from "zod"; /** * Any object containing Zod schemas that are optional. diff --git a/packages/core/src/utils/arrays.test-d.ts b/packages/core/src/utils/arrays.test-d.ts index 37bc181de..10216ea47 100644 --- a/packages/core/src/utils/arrays.test-d.ts +++ b/packages/core/src/utils/arrays.test-d.ts @@ -1,6 +1,6 @@ import { describe, expectTypeOf, it } from "vitest"; -import { binarySearch } from "./arrays.js"; +import { binarySearch } from "./arrays.ts"; describe("binarySearch", () => { it("returns nullish without explicit no-fallback", () => { diff --git a/packages/core/src/utils/arrays.test.ts b/packages/core/src/utils/arrays.test.ts index 6d81efc22..22f5a66da 100644 --- a/packages/core/src/utils/arrays.test.ts +++ b/packages/core/src/utils/arrays.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { binarySearch, flatten } from "./arrays.js"; +import { binarySearch, flatten } from "./arrays.ts"; describe("flatten", () => { it("works with plain arrays", () => { diff --git a/packages/core/src/utils/arrays.ts b/packages/core/src/utils/arrays.ts index 7ee5e4b91..4df923869 100644 --- a/packages/core/src/utils/arrays.ts +++ b/packages/core/src/utils/arrays.ts @@ -1,4 +1,4 @@ -import { AnyLevelDeep } from "../types/arrays.js"; +import type { AnyLevelDeep } from "../types/arrays.ts"; export function flatten(values: AnyLevelDeep): T[] { if (!Array.isArray(values)) { diff --git a/packages/core/src/utils/getColumnAndLineOfPosition.test.ts b/packages/core/src/utils/getColumnAndLineOfPosition.test.ts index c5a56337d..834e2fce2 100644 --- a/packages/core/src/utils/getColumnAndLineOfPosition.test.ts +++ b/packages/core/src/utils/getColumnAndLineOfPosition.test.ts @@ -3,7 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import { getColumnAndLineOfPosition, getPositionOfColumnAndLine, -} from "./getColumnAndLineOfPosition.js"; +} from "./getColumnAndLineOfPosition.ts"; describe("getColumnAndLineOfPosition", () => { test("negative position", () => { diff --git a/packages/core/src/utils/getColumnAndLineOfPosition.ts b/packages/core/src/utils/getColumnAndLineOfPosition.ts index e119a8a6d..58932432c 100644 --- a/packages/core/src/utils/getColumnAndLineOfPosition.ts +++ b/packages/core/src/utils/getColumnAndLineOfPosition.ts @@ -1,5 +1,8 @@ -import { ColumnAndLine, ColumnAndLineWithoutRaw } from "../types/ranges.js"; -import { binarySearch } from "./arrays.js"; +import type { + ColumnAndLine, + ColumnAndLineWithoutRaw, +} from "../types/ranges.ts"; +import { binarySearch } from "./arrays.ts"; /** Subset of ts.SourceFileLike */ export interface HasGetLineAndCharacterOfPosition { diff --git a/packages/core/src/utils/predicates.ts b/packages/core/src/utils/predicates.ts index 8ba3d3915..ce28e770e 100644 --- a/packages/core/src/utils/predicates.ts +++ b/packages/core/src/utils/predicates.ts @@ -1,5 +1,5 @@ -import { Change, SuggestionForFiles } from "../types/changes.js"; -import { FileReport, FileReportWithFix } from "../types/reports.js"; +import type { Change, SuggestionForFiles } from "../types/changes.ts"; +import type { FileReport, FileReportWithFix } from "../types/reports.ts"; export function hasFix(report: FileReport): report is FileReportWithFix { return report.fix != null; diff --git a/packages/json/src/createJsonFile.ts b/packages/json/src/createJsonFile.ts index e8c510cf2..515f2c2a8 100644 --- a/packages/json/src/createJsonFile.ts +++ b/packages/json/src/createJsonFile.ts @@ -1,11 +1,11 @@ -import { +import type { LanguageFileDefinition, NormalizedReport, RuleReport, } from "@flint.fyi/core"; import * as ts from "typescript"; -import { normalizeRange } from "./normalizeRange.js"; +import { normalizeRange } from "./normalizeRange.ts"; // TODO: Eventually, it might make sense to use a native speed JSON parser. // The standard TypeScript language will likely use that itself. diff --git a/packages/json/src/index.ts b/packages/json/src/index.ts index a7a05065c..b3a2dacf6 100644 --- a/packages/json/src/index.ts +++ b/packages/json/src/index.ts @@ -1,2 +1,2 @@ -export { jsonLanguage } from "./language.js"; -export { json } from "./plugin.js"; +export { jsonLanguage } from "./language.ts"; +export { json } from "./plugin.ts"; diff --git a/packages/json/src/language.ts b/packages/json/src/language.ts index 6b0284a0c..047733ff1 100644 --- a/packages/json/src/language.ts +++ b/packages/json/src/language.ts @@ -1,9 +1,9 @@ import { createLanguage } from "@flint.fyi/core"; import fsSync from "node:fs"; -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { createTypeScriptJsonFile } from "./createJsonFile.js"; -import { TSNodesByName } from "./nodes.js"; +import { createTypeScriptJsonFile } from "./createJsonFile.ts"; +import type { TSNodesByName } from "./nodes.ts"; export interface JsonServices { sourceFile: ts.JsonSourceFile; diff --git a/packages/json/src/normalizeRange.ts b/packages/json/src/normalizeRange.ts index 5ea134c00..8de51da17 100644 --- a/packages/json/src/normalizeRange.ts +++ b/packages/json/src/normalizeRange.ts @@ -1,10 +1,9 @@ -import type * as ts from "typescript"; - import { - CharacterReportRange, + type CharacterReportRange, getColumnAndLineOfPosition, - NormalizedReportRangeObject, + type NormalizedReportRangeObject, } from "@flint.fyi/core"; +import type * as ts from "typescript"; // TODO: This duplicates the packages/ts normalizeRange... // Should there be a Flint tsutils / ts-api-utils equivalent? diff --git a/packages/json/src/plugin.ts b/packages/json/src/plugin.ts index 3b57a890a..fe0eb5185 100644 --- a/packages/json/src/plugin.ts +++ b/packages/json/src/plugin.ts @@ -1,8 +1,8 @@ import { createPlugin } from "@flint.fyi/core"; -import keyDuplicates from "./rules/keyDuplicates.js"; -import keyNormalization from "./rules/keyNormalization.js"; -import valueSafety from "./rules/valueSafety.js"; +import keyDuplicates from "./rules/keyDuplicates.ts"; +import keyNormalization from "./rules/keyNormalization.ts"; +import valueSafety from "./rules/valueSafety.ts"; export const json = createPlugin({ files: { diff --git a/packages/json/src/rules/keyDuplicates.test.ts b/packages/json/src/rules/keyDuplicates.test.ts index 1467f0a69..cb764c72d 100644 --- a/packages/json/src/rules/keyDuplicates.test.ts +++ b/packages/json/src/rules/keyDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./keyDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./keyDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/json/src/rules/keyDuplicates.ts b/packages/json/src/rules/keyDuplicates.ts index 008fd2bb1..c8933fc09 100644 --- a/packages/json/src/rules/keyDuplicates.ts +++ b/packages/json/src/rules/keyDuplicates.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; import z from "zod"; -import { jsonLanguage } from "../language.js"; +import { jsonLanguage } from "../language.ts"; export default jsonLanguage.createRule({ about: { diff --git a/packages/json/src/rules/keyNormalization.test.ts b/packages/json/src/rules/keyNormalization.test.ts index b117fb40d..fa6f58674 100644 --- a/packages/json/src/rules/keyNormalization.test.ts +++ b/packages/json/src/rules/keyNormalization.test.ts @@ -1,5 +1,5 @@ -import rule from "./keyNormalization.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./keyNormalization.ts"; +import { ruleTester } from "./ruleTester.ts"; // cspell:ignore café cafè naïve piñata résumé diff --git a/packages/json/src/rules/keyNormalization.ts b/packages/json/src/rules/keyNormalization.ts index 24ba81784..1f3d2ec09 100644 --- a/packages/json/src/rules/keyNormalization.ts +++ b/packages/json/src/rules/keyNormalization.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; import z from "zod"; -import { jsonLanguage } from "../language.js"; +import { jsonLanguage } from "../language.ts"; export default jsonLanguage.createRule({ about: { diff --git a/packages/json/src/rules/valueSafety.test.ts b/packages/json/src/rules/valueSafety.test.ts index c1736ac3a..f65aa34fa 100644 --- a/packages/json/src/rules/valueSafety.test.ts +++ b/packages/json/src/rules/valueSafety.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./valueSafety.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./valueSafety.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/json/src/rules/valueSafety.ts b/packages/json/src/rules/valueSafety.ts index 1ca7a9b9a..807a80175 100644 --- a/packages/json/src/rules/valueSafety.ts +++ b/packages/json/src/rules/valueSafety.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { jsonLanguage } from "../language.js"; +import { jsonLanguage } from "../language.ts"; const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER; const MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER; diff --git a/packages/md/src/createMarkdownFile.ts b/packages/md/src/createMarkdownFile.ts index 1af531d5d..5501f2de9 100644 --- a/packages/md/src/createMarkdownFile.ts +++ b/packages/md/src/createMarkdownFile.ts @@ -1,8 +1,8 @@ import { getColumnAndLineOfPosition, - LanguageFileDefinition, - NormalizedReport, - RuleReport, + type LanguageFileDefinition, + type NormalizedReport, + type RuleReport, } from "@flint.fyi/core"; import remarkParse from "remark-parse"; import { unified } from "unified"; diff --git a/packages/md/src/directives/parseDirectivesFromMarkdownFile.ts b/packages/md/src/directives/parseDirectivesFromMarkdownFile.ts index 5ba045dbc..e065ee85f 100644 --- a/packages/md/src/directives/parseDirectivesFromMarkdownFile.ts +++ b/packages/md/src/directives/parseDirectivesFromMarkdownFile.ts @@ -1,5 +1,5 @@ import { DirectivesCollector } from "@flint.fyi/core"; -import { Root } from "mdast"; +import type { Root } from "mdast"; import { visit } from "unist-util-visit"; export function parseDirectivesFromMarkdownFile( diff --git a/packages/md/src/index.ts b/packages/md/src/index.ts index 4380f8b4b..562996af0 100644 --- a/packages/md/src/index.ts +++ b/packages/md/src/index.ts @@ -1,2 +1,2 @@ -export { markdownLanguage } from "./language.js"; -export { md } from "./plugin.js"; +export { markdownLanguage } from "./language.ts"; +export { md } from "./plugin.ts"; diff --git a/packages/md/src/language.ts b/packages/md/src/language.ts index cee52cc71..511ad262a 100644 --- a/packages/md/src/language.ts +++ b/packages/md/src/language.ts @@ -1,11 +1,10 @@ -import type * as mdast from "mdast"; - import { createLanguage } from "@flint.fyi/core"; +import type * as mdast from "mdast"; import fsSync from "node:fs"; -import { createMarkdownFile } from "./createMarkdownFile.js"; -import { MarkdownNodesByName, WithPosition } from "./nodes.js"; -import { prepareMarkdownFile } from "./prepareMarkdownFile.js"; +import { createMarkdownFile } from "./createMarkdownFile.ts"; +import type { MarkdownNodesByName, WithPosition } from "./nodes.ts"; +import { prepareMarkdownFile } from "./prepareMarkdownFile.ts"; export interface MarkdownServices { root: WithPosition; diff --git a/packages/md/src/nodes.ts b/packages/md/src/nodes.ts index e224494b1..aaaac75e2 100644 --- a/packages/md/src/nodes.ts +++ b/packages/md/src/nodes.ts @@ -1,6 +1,5 @@ import type * as mdast from "mdast"; - -import { Point, Position } from "unist"; +import type { Point, Position } from "unist"; export interface MarkdownNodesByName extends RootContentMapWithChildren { root: WithPosition; diff --git a/packages/md/src/plugin.ts b/packages/md/src/plugin.ts index b317a29b5..fad939140 100644 --- a/packages/md/src/plugin.ts +++ b/packages/md/src/plugin.ts @@ -1,18 +1,18 @@ import { createPlugin } from "@flint.fyi/core"; -import bareUrls from "./rules/bareUrls.js"; -import definitionContents from "./rules/definitionContents.js"; -import definitionDuplicates from "./rules/definitionDuplicates.js"; -import definitionUses from "./rules/definitionUses.js"; -import fencedCodeLanguages from "./rules/fencedCodeLanguages.js"; -import headingIncrements from "./rules/headingIncrements.js"; -import headingRootDuplicates from "./rules/headingRootDuplicates.js"; -import imageAltTexts from "./rules/imageAltTexts.js"; -import imageContents from "./rules/imageContents.js"; -import labelReferences from "./rules/labelReferences.js"; -import labelReferenceValidity from "./rules/labelReferenceValidity.js"; -import linkContents from "./rules/linkContents.js"; -import mediaSyntaxReversals from "./rules/mediaSyntaxReversals.js"; +import bareUrls from "./rules/bareUrls.ts"; +import definitionContents from "./rules/definitionContents.ts"; +import definitionDuplicates from "./rules/definitionDuplicates.ts"; +import definitionUses from "./rules/definitionUses.ts"; +import fencedCodeLanguages from "./rules/fencedCodeLanguages.ts"; +import headingIncrements from "./rules/headingIncrements.ts"; +import headingRootDuplicates from "./rules/headingRootDuplicates.ts"; +import imageAltTexts from "./rules/imageAltTexts.ts"; +import imageContents from "./rules/imageContents.ts"; +import labelReferences from "./rules/labelReferences.ts"; +import labelReferenceValidity from "./rules/labelReferenceValidity.ts"; +import linkContents from "./rules/linkContents.ts"; +import mediaSyntaxReversals from "./rules/mediaSyntaxReversals.ts"; export const md = createPlugin({ files: { diff --git a/packages/md/src/prepareMarkdownFile.ts b/packages/md/src/prepareMarkdownFile.ts index 02ac0684b..3fd6d062e 100644 --- a/packages/md/src/prepareMarkdownFile.ts +++ b/packages/md/src/prepareMarkdownFile.ts @@ -1,7 +1,7 @@ -import { LanguageFileDefinition } from "@flint.fyi/core"; -import { Root } from "mdast"; +import type { LanguageFileDefinition } from "@flint.fyi/core"; +import type { Root } from "mdast"; -import { parseDirectivesFromMarkdownFile } from "./directives/parseDirectivesFromMarkdownFile.js"; +import { parseDirectivesFromMarkdownFile } from "./directives/parseDirectivesFromMarkdownFile.ts"; export function prepareMarkdownFile( languageFile: LanguageFileDefinition, diff --git a/packages/md/src/rules/bareUrls.test.ts b/packages/md/src/rules/bareUrls.test.ts index cfe3021de..60986c28b 100644 --- a/packages/md/src/rules/bareUrls.test.ts +++ b/packages/md/src/rules/bareUrls.test.ts @@ -1,5 +1,5 @@ -import rule from "./bareUrls.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./bareUrls.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/bareUrls.ts b/packages/md/src/rules/bareUrls.ts index 8ca809e2b..928881eea 100644 --- a/packages/md/src/rules/bareUrls.ts +++ b/packages/md/src/rules/bareUrls.ts @@ -1,7 +1,7 @@ -import { Link } from "mdast"; +import type { Link } from "mdast"; -import { markdownLanguage } from "../language.js"; -import { WithPosition } from "../nodes.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; const urlTester = /(?:https?:\/\/|mailto:)\S+|[\w.+-]+@[\w.-]+\.\w+/gi; diff --git a/packages/md/src/rules/definitionContents.test.ts b/packages/md/src/rules/definitionContents.test.ts index 3ecca3567..4ab00c98b 100644 --- a/packages/md/src/rules/definitionContents.test.ts +++ b/packages/md/src/rules/definitionContents.test.ts @@ -1,5 +1,5 @@ -import rule from "./definitionContents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./definitionContents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/definitionContents.ts b/packages/md/src/rules/definitionContents.ts index bfcb2dfce..f01ef332f 100644 --- a/packages/md/src/rules/definitionContents.ts +++ b/packages/md/src/rules/definitionContents.ts @@ -1,4 +1,4 @@ -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/definitionDuplicates.test.ts b/packages/md/src/rules/definitionDuplicates.test.ts index 623fe11a9..147b67256 100644 --- a/packages/md/src/rules/definitionDuplicates.test.ts +++ b/packages/md/src/rules/definitionDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./definitionDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./definitionDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/definitionDuplicates.ts b/packages/md/src/rules/definitionDuplicates.ts index fc0dc5071..f6f77d3d0 100644 --- a/packages/md/src/rules/definitionDuplicates.ts +++ b/packages/md/src/rules/definitionDuplicates.ts @@ -1,4 +1,4 @@ -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/definitionUses.test.ts b/packages/md/src/rules/definitionUses.test.ts index 88d1b3fd7..d27a27c28 100644 --- a/packages/md/src/rules/definitionUses.test.ts +++ b/packages/md/src/rules/definitionUses.test.ts @@ -1,5 +1,5 @@ -import rule from "./definitionUses.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./definitionUses.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/definitionUses.ts b/packages/md/src/rules/definitionUses.ts index 98eb44544..5c67bb00b 100644 --- a/packages/md/src/rules/definitionUses.ts +++ b/packages/md/src/rules/definitionUses.ts @@ -1,8 +1,7 @@ import type { Definition, ImageReference, Node, Root } from "mdast"; -import type { WithPosition } from "../nodes.js"; - -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/fencedCodeLanguages.test.ts b/packages/md/src/rules/fencedCodeLanguages.test.ts index 4236b3c06..44d85d36e 100644 --- a/packages/md/src/rules/fencedCodeLanguages.test.ts +++ b/packages/md/src/rules/fencedCodeLanguages.test.ts @@ -1,5 +1,5 @@ -import rule from "./fencedCodeLanguages.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./fencedCodeLanguages.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/fencedCodeLanguages.ts b/packages/md/src/rules/fencedCodeLanguages.ts index 738d09fb5..aba6405e8 100644 --- a/packages/md/src/rules/fencedCodeLanguages.ts +++ b/packages/md/src/rules/fencedCodeLanguages.ts @@ -1,8 +1,7 @@ import type { Code, Node, Root } from "mdast"; -import type { WithPosition } from "../nodes.js"; - -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/headingIncrements.test.ts b/packages/md/src/rules/headingIncrements.test.ts index 24f0e52e8..40d6c4780 100644 --- a/packages/md/src/rules/headingIncrements.test.ts +++ b/packages/md/src/rules/headingIncrements.test.ts @@ -1,5 +1,5 @@ -import rule from "./headingIncrements.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./headingIncrements.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/headingIncrements.ts b/packages/md/src/rules/headingIncrements.ts index 40f1e2372..35552246d 100644 --- a/packages/md/src/rules/headingIncrements.ts +++ b/packages/md/src/rules/headingIncrements.ts @@ -1,4 +1,4 @@ -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/headingRootDuplicates.test.ts b/packages/md/src/rules/headingRootDuplicates.test.ts index ccf056122..a15a5632c 100644 --- a/packages/md/src/rules/headingRootDuplicates.test.ts +++ b/packages/md/src/rules/headingRootDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./headingRootDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./headingRootDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/headingRootDuplicates.ts b/packages/md/src/rules/headingRootDuplicates.ts index 88c34588d..8288bd583 100644 --- a/packages/md/src/rules/headingRootDuplicates.ts +++ b/packages/md/src/rules/headingRootDuplicates.ts @@ -1,8 +1,7 @@ import type { Heading, Html, Node, Root } from "mdast"; -import type { WithPosition } from "../nodes.js"; - -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/imageAltTexts.test.ts b/packages/md/src/rules/imageAltTexts.test.ts index 24b8befbe..862945dc3 100644 --- a/packages/md/src/rules/imageAltTexts.test.ts +++ b/packages/md/src/rules/imageAltTexts.test.ts @@ -1,5 +1,5 @@ -import rule from "./imageAltTexts.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./imageAltTexts.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/imageAltTexts.ts b/packages/md/src/rules/imageAltTexts.ts index f97a42578..0d65221f9 100644 --- a/packages/md/src/rules/imageAltTexts.ts +++ b/packages/md/src/rules/imageAltTexts.ts @@ -1,7 +1,7 @@ -import { Image, ImageReference } from "mdast"; +import type { Image, ImageReference } from "mdast"; -import { markdownLanguage } from "../language.js"; -import { WithPosition } from "../nodes.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/imageContents.test.ts b/packages/md/src/rules/imageContents.test.ts index 2758fdf7f..973b60840 100644 --- a/packages/md/src/rules/imageContents.test.ts +++ b/packages/md/src/rules/imageContents.test.ts @@ -1,5 +1,5 @@ -import rule from "./imageContents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./imageContents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/imageContents.ts b/packages/md/src/rules/imageContents.ts index a404c7648..b6ec45fa1 100644 --- a/packages/md/src/rules/imageContents.ts +++ b/packages/md/src/rules/imageContents.ts @@ -1,4 +1,4 @@ -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/labelReferenceValidity.test.ts b/packages/md/src/rules/labelReferenceValidity.test.ts index e5b2daccb..4ce831315 100644 --- a/packages/md/src/rules/labelReferenceValidity.test.ts +++ b/packages/md/src/rules/labelReferenceValidity.test.ts @@ -1,5 +1,5 @@ -import rule from "./labelReferenceValidity.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./labelReferenceValidity.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/labelReferenceValidity.ts b/packages/md/src/rules/labelReferenceValidity.ts index 2438b411d..52d20d294 100644 --- a/packages/md/src/rules/labelReferenceValidity.ts +++ b/packages/md/src/rules/labelReferenceValidity.ts @@ -1,8 +1,7 @@ import type { Node, Root, Text } from "mdast"; -import type { WithPosition } from "../nodes.js"; - -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; const invalidPattern = /\[[^\]]+\]\[\s+\]/g; diff --git a/packages/md/src/rules/labelReferences.test.ts b/packages/md/src/rules/labelReferences.test.ts index 9cb5b1728..09cf89437 100644 --- a/packages/md/src/rules/labelReferences.test.ts +++ b/packages/md/src/rules/labelReferences.test.ts @@ -1,5 +1,5 @@ -import rule from "./labelReferences.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./labelReferences.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/labelReferences.ts b/packages/md/src/rules/labelReferences.ts index 09121998d..eb5308b01 100644 --- a/packages/md/src/rules/labelReferences.ts +++ b/packages/md/src/rules/labelReferences.ts @@ -1,8 +1,7 @@ import type { Definition, Node, Root, Text } from "mdast"; -import type { WithPosition } from "../nodes.js"; - -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; // Pattern to match label references: ![text][label], [text][label], [label][], or [label] // Includes optional ! for images diff --git a/packages/md/src/rules/linkContents.test.ts b/packages/md/src/rules/linkContents.test.ts index ee75cc0d2..337fa1af0 100644 --- a/packages/md/src/rules/linkContents.test.ts +++ b/packages/md/src/rules/linkContents.test.ts @@ -1,5 +1,5 @@ -import rule from "./linkContents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./linkContents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/linkContents.ts b/packages/md/src/rules/linkContents.ts index 7d32ef035..c48dc09dd 100644 --- a/packages/md/src/rules/linkContents.ts +++ b/packages/md/src/rules/linkContents.ts @@ -1,4 +1,4 @@ -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/md/src/rules/mediaSyntaxReversals.test.ts b/packages/md/src/rules/mediaSyntaxReversals.test.ts index 6d301c123..5b903bdbd 100644 --- a/packages/md/src/rules/mediaSyntaxReversals.test.ts +++ b/packages/md/src/rules/mediaSyntaxReversals.test.ts @@ -1,5 +1,5 @@ -import rule from "./mediaSyntaxReversals.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./mediaSyntaxReversals.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/md/src/rules/mediaSyntaxReversals.ts b/packages/md/src/rules/mediaSyntaxReversals.ts index 83498b9a9..25f08d923 100644 --- a/packages/md/src/rules/mediaSyntaxReversals.ts +++ b/packages/md/src/rules/mediaSyntaxReversals.ts @@ -1,8 +1,7 @@ import type { Text } from "mdast"; -import type { WithPosition } from "../nodes.js"; - -import { markdownLanguage } from "../language.js"; +import { markdownLanguage } from "../language.ts"; +import type { WithPosition } from "../nodes.ts"; export default markdownLanguage.createRule({ about: { diff --git a/packages/plugin-astro/src/index.ts b/packages/plugin-astro/src/index.ts index 55576fb97..5cf6f6e04 100644 --- a/packages/plugin-astro/src/index.ts +++ b/packages/plugin-astro/src/index.ts @@ -1 +1 @@ -export * from "./astro.js"; +export * from "./astro.ts"; diff --git a/packages/plugin-browser/src/browser.ts b/packages/plugin-browser/src/browser.ts index c22d4b97d..0ec188c6f 100644 --- a/packages/plugin-browser/src/browser.ts +++ b/packages/plugin-browser/src/browser.ts @@ -1,20 +1,20 @@ import { createPlugin } from "@flint.fyi/core"; -import alerts from "./rules/alerts.js"; -import classListToggles from "./rules/classListToggles.js"; -import documentCookies from "./rules/documentCookies.js"; -import eventListenerSubscriptions from "./rules/eventListenerSubscriptions.js"; -import implicitGlobals from "./rules/implicitGlobals.js"; -import keyboardEventKeys from "./rules/keyboardEventKeys.js"; -import nodeAppendMethods from "./rules/nodeAppendMethods.js"; -import nodeDatasetAttributes from "./rules/nodeDatasetAttributes.js"; -import nodeModificationMethods from "./rules/nodeModificationMethods.js"; -import nodeQueryMethods from "./rules/nodeQueryMethods.js"; -import nodeRemoveMethods from "./rules/nodeRemoveMethods.js"; -import nodeTextContents from "./rules/nodeTextContents.js"; -import removeEventListenerExpressions from "./rules/removeEventListenerExpressions.js"; -import scriptUrls from "./rules/scriptUrls.js"; -import windowMessagingTargetOrigin from "./rules/windowMessagingTargetOrigin.js"; +import alerts from "./rules/alerts.ts"; +import classListToggles from "./rules/classListToggles.ts"; +import documentCookies from "./rules/documentCookies.ts"; +import eventListenerSubscriptions from "./rules/eventListenerSubscriptions.ts"; +import implicitGlobals from "./rules/implicitGlobals.ts"; +import keyboardEventKeys from "./rules/keyboardEventKeys.ts"; +import nodeAppendMethods from "./rules/nodeAppendMethods.ts"; +import nodeDatasetAttributes from "./rules/nodeDatasetAttributes.ts"; +import nodeModificationMethods from "./rules/nodeModificationMethods.ts"; +import nodeQueryMethods from "./rules/nodeQueryMethods.ts"; +import nodeRemoveMethods from "./rules/nodeRemoveMethods.ts"; +import nodeTextContents from "./rules/nodeTextContents.ts"; +import removeEventListenerExpressions from "./rules/removeEventListenerExpressions.ts"; +import scriptUrls from "./rules/scriptUrls.ts"; +import windowMessagingTargetOrigin from "./rules/windowMessagingTargetOrigin.ts"; export const browser = createPlugin({ name: "Browser", diff --git a/packages/plugin-browser/src/index.ts b/packages/plugin-browser/src/index.ts index fb539520d..e455ffb03 100644 --- a/packages/plugin-browser/src/index.ts +++ b/packages/plugin-browser/src/index.ts @@ -1 +1 @@ -export * from "./browser.js"; +export * from "./browser.ts"; diff --git a/packages/plugin-browser/src/rules/alerts.test.ts b/packages/plugin-browser/src/rules/alerts.test.ts index 090e062d2..eec3ce6a4 100644 --- a/packages/plugin-browser/src/rules/alerts.test.ts +++ b/packages/plugin-browser/src/rules/alerts.test.ts @@ -1,5 +1,5 @@ -import rule from "./alerts.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./alerts.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/classListToggles.test.ts b/packages/plugin-browser/src/rules/classListToggles.test.ts index 3a380bef6..811c07edc 100644 --- a/packages/plugin-browser/src/rules/classListToggles.test.ts +++ b/packages/plugin-browser/src/rules/classListToggles.test.ts @@ -1,5 +1,5 @@ -import rule from "./classListToggles.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./classListToggles.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/documentCookies.test.ts b/packages/plugin-browser/src/rules/documentCookies.test.ts index 8cc5c8d7c..66de2cdff 100644 --- a/packages/plugin-browser/src/rules/documentCookies.test.ts +++ b/packages/plugin-browser/src/rules/documentCookies.test.ts @@ -1,5 +1,5 @@ -import rule from "./documentCookies.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./documentCookies.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/eventListenerSubscriptions.test.ts b/packages/plugin-browser/src/rules/eventListenerSubscriptions.test.ts index af3c48ec4..7712143b2 100644 --- a/packages/plugin-browser/src/rules/eventListenerSubscriptions.test.ts +++ b/packages/plugin-browser/src/rules/eventListenerSubscriptions.test.ts @@ -1,5 +1,5 @@ -import rule from "./eventListenerSubscriptions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./eventListenerSubscriptions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/implicitGlobals.test.ts b/packages/plugin-browser/src/rules/implicitGlobals.test.ts index 3dec60b4a..c22642249 100644 --- a/packages/plugin-browser/src/rules/implicitGlobals.test.ts +++ b/packages/plugin-browser/src/rules/implicitGlobals.test.ts @@ -1,5 +1,5 @@ -import rule from "./implicitGlobals.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./implicitGlobals.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/keyboardEventKeys.test.ts b/packages/plugin-browser/src/rules/keyboardEventKeys.test.ts index 96dc331f8..23cc15d69 100644 --- a/packages/plugin-browser/src/rules/keyboardEventKeys.test.ts +++ b/packages/plugin-browser/src/rules/keyboardEventKeys.test.ts @@ -1,5 +1,5 @@ -import rule from "./keyboardEventKeys.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./keyboardEventKeys.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/nodeAppendMethods.test.ts b/packages/plugin-browser/src/rules/nodeAppendMethods.test.ts index ffb1ce5b4..45631cd3b 100644 --- a/packages/plugin-browser/src/rules/nodeAppendMethods.test.ts +++ b/packages/plugin-browser/src/rules/nodeAppendMethods.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeAppendMethods.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeAppendMethods.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/nodeDatasetAttributes.test.ts b/packages/plugin-browser/src/rules/nodeDatasetAttributes.test.ts index 74bfbfb88..69ec94120 100644 --- a/packages/plugin-browser/src/rules/nodeDatasetAttributes.test.ts +++ b/packages/plugin-browser/src/rules/nodeDatasetAttributes.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeDatasetAttributes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeDatasetAttributes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/nodeModificationMethods.test.ts b/packages/plugin-browser/src/rules/nodeModificationMethods.test.ts index b3618092a..ff17c0db9 100644 --- a/packages/plugin-browser/src/rules/nodeModificationMethods.test.ts +++ b/packages/plugin-browser/src/rules/nodeModificationMethods.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeModificationMethods.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeModificationMethods.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/nodeQueryMethods.test.ts b/packages/plugin-browser/src/rules/nodeQueryMethods.test.ts index 2a25c9c59..b2bfd2db1 100644 --- a/packages/plugin-browser/src/rules/nodeQueryMethods.test.ts +++ b/packages/plugin-browser/src/rules/nodeQueryMethods.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeQueryMethods.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeQueryMethods.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/nodeRemoveMethods.test.ts b/packages/plugin-browser/src/rules/nodeRemoveMethods.test.ts index c43557254..50e99df2a 100644 --- a/packages/plugin-browser/src/rules/nodeRemoveMethods.test.ts +++ b/packages/plugin-browser/src/rules/nodeRemoveMethods.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeRemoveMethods.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeRemoveMethods.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/nodeTextContents.test.ts b/packages/plugin-browser/src/rules/nodeTextContents.test.ts index a15977f0f..786ef3213 100644 --- a/packages/plugin-browser/src/rules/nodeTextContents.test.ts +++ b/packages/plugin-browser/src/rules/nodeTextContents.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeTextContents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeTextContents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/removeEventListenerExpressions.test.ts b/packages/plugin-browser/src/rules/removeEventListenerExpressions.test.ts index ea8e3e9e5..5d8d9a34f 100644 --- a/packages/plugin-browser/src/rules/removeEventListenerExpressions.test.ts +++ b/packages/plugin-browser/src/rules/removeEventListenerExpressions.test.ts @@ -1,5 +1,5 @@ -import rule from "./removeEventListenerExpressions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./removeEventListenerExpressions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/scriptUrls.test.ts b/packages/plugin-browser/src/rules/scriptUrls.test.ts index 86849277e..d8efb38b2 100644 --- a/packages/plugin-browser/src/rules/scriptUrls.test.ts +++ b/packages/plugin-browser/src/rules/scriptUrls.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./scriptUrls.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./scriptUrls.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-browser/src/rules/windowMessagingTargetOrigin.test.ts b/packages/plugin-browser/src/rules/windowMessagingTargetOrigin.test.ts index f281e0941..29240f003 100644 --- a/packages/plugin-browser/src/rules/windowMessagingTargetOrigin.test.ts +++ b/packages/plugin-browser/src/rules/windowMessagingTargetOrigin.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./windowMessagingTargetOrigin.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./windowMessagingTargetOrigin.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-flint/src/flint.ts b/packages/plugin-flint/src/flint.ts index 2fc29a4d4..1b0e12038 100644 --- a/packages/plugin-flint/src/flint.ts +++ b/packages/plugin-flint/src/flint.ts @@ -1,7 +1,7 @@ import { createPlugin } from "@flint.fyi/core"; -import invalidCodeLines from "./rules/invalidCodeLines.js"; -import testCaseDuplicates from "./rules/testCaseDuplicates.js"; +import invalidCodeLines from "./rules/invalidCodeLines.ts"; +import testCaseDuplicates from "./rules/testCaseDuplicates.ts"; export const flint = createPlugin({ name: "Flint", diff --git a/packages/plugin-flint/src/getRuleTesterDescribedCases.ts b/packages/plugin-flint/src/getRuleTesterDescribedCases.ts index 785cb3ea7..366f2dd46 100644 --- a/packages/plugin-flint/src/getRuleTesterDescribedCases.ts +++ b/packages/plugin-flint/src/getRuleTesterDescribedCases.ts @@ -1,8 +1,8 @@ import { isTruthy } from "@flint.fyi/utils"; import * as ts from "typescript"; -import { findProperty } from "./findProperty.js"; -import { parseTestCase, parseTestCaseInvalid } from "./parseTestCases.js"; +import { findProperty } from "./findProperty.ts"; +import { parseTestCase, parseTestCaseInvalid } from "./parseTestCases.ts"; export function getRuleTesterDescribedCases(node: ts.CallExpression) { if ( diff --git a/packages/plugin-flint/src/index.ts b/packages/plugin-flint/src/index.ts index 5004e16b6..d5a25bc13 100644 --- a/packages/plugin-flint/src/index.ts +++ b/packages/plugin-flint/src/index.ts @@ -1 +1 @@ -export * from "./flint.js"; +export * from "./flint.ts"; diff --git a/packages/plugin-flint/src/parseTestCases.ts b/packages/plugin-flint/src/parseTestCases.ts index b0987773b..6eb46fe30 100644 --- a/packages/plugin-flint/src/parseTestCases.ts +++ b/packages/plugin-flint/src/parseTestCases.ts @@ -1,9 +1,8 @@ import * as ts from "typescript"; -import type { ParsedTestCase, ParsedTestCaseInvalid } from "./types.js"; - -import { findProperty } from "./findProperty.js"; -import { tsAstToLiteral } from "./tsAstToLiteral.js"; +import { findProperty } from "./findProperty.ts"; +import { tsAstToLiteral } from "./tsAstToLiteral.ts"; +import type { ParsedTestCase, ParsedTestCaseInvalid } from "./types.ts"; export function parseTestCase(node: ts.Expression): ParsedTestCase | undefined { if (ts.isStringLiteralLike(node)) { diff --git a/packages/plugin-flint/src/rules/invalidCodeLines.test.ts b/packages/plugin-flint/src/rules/invalidCodeLines.test.ts index 874903ff5..84574a77a 100644 --- a/packages/plugin-flint/src/rules/invalidCodeLines.test.ts +++ b/packages/plugin-flint/src/rules/invalidCodeLines.test.ts @@ -1,5 +1,5 @@ -import rule from "./invalidCodeLines.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./invalidCodeLines.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-flint/src/rules/invalidCodeLines.ts b/packages/plugin-flint/src/rules/invalidCodeLines.ts index a438ef66f..4c2ecf456 100644 --- a/packages/plugin-flint/src/rules/invalidCodeLines.ts +++ b/packages/plugin-flint/src/rules/invalidCodeLines.ts @@ -1,9 +1,8 @@ import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/ts"; import * as ts from "typescript"; -import type { ParsedTestCaseInvalid } from "../types.js"; - -import { getRuleTesterDescribedCases } from "../getRuleTesterDescribedCases.js"; +import { getRuleTesterDescribedCases } from "../getRuleTesterDescribedCases.ts"; +import type { ParsedTestCaseInvalid } from "../types.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/plugin-flint/src/rules/testCaseDuplicates.test.ts b/packages/plugin-flint/src/rules/testCaseDuplicates.test.ts index 4b3b99baa..ac069c858 100644 --- a/packages/plugin-flint/src/rules/testCaseDuplicates.test.ts +++ b/packages/plugin-flint/src/rules/testCaseDuplicates.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./testCaseDuplicates.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./testCaseDuplicates.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-flint/src/rules/testCaseDuplicates.ts b/packages/plugin-flint/src/rules/testCaseDuplicates.ts index 0bf95941e..bc1df16f0 100644 --- a/packages/plugin-flint/src/rules/testCaseDuplicates.ts +++ b/packages/plugin-flint/src/rules/testCaseDuplicates.ts @@ -1,9 +1,8 @@ import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/ts"; -import * as ts from "typescript"; +import type * as ts from "typescript"; -import type { ParsedTestCase } from "../types.js"; - -import { getRuleTesterDescribedCases } from "../getRuleTesterDescribedCases.js"; +import { getRuleTesterDescribedCases } from "../getRuleTesterDescribedCases.ts"; +import type { ParsedTestCase } from "../types.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/plugin-flint/src/types.ts b/packages/plugin-flint/src/types.ts index e3878c8b9..0937bdd69 100644 --- a/packages/plugin-flint/src/types.ts +++ b/packages/plugin-flint/src/types.ts @@ -1,6 +1,5 @@ import type { InvalidTestCase, TestCase } from "@flint.fyi/rule-tester"; - -import * as ts from "typescript"; +import type * as ts from "typescript"; export interface ParsedTestCase extends TestCase { nodes: ParsedTestCaseNodes; diff --git a/packages/plugin-jsx/src/index.ts b/packages/plugin-jsx/src/index.ts index 29681a43e..3f0ddc203 100644 --- a/packages/plugin-jsx/src/index.ts +++ b/packages/plugin-jsx/src/index.ts @@ -1 +1 @@ -export * from "./jsx.js"; +export * from "./jsx.ts"; diff --git a/packages/plugin-jsx/src/jsx.ts b/packages/plugin-jsx/src/jsx.ts index 9daa0b6e0..b07131123 100644 --- a/packages/plugin-jsx/src/jsx.ts +++ b/packages/plugin-jsx/src/jsx.ts @@ -1,49 +1,49 @@ import { createPlugin } from "@flint.fyi/core"; -import accessKeys from "./rules/accessKeys.js"; -import altTexts from "./rules/altTexts.js"; -import anchorAmbiguousText from "./rules/anchorAmbiguousText.js"; -import anchorContent from "./rules/anchorContent.js"; -import anchorValidity from "./rules/anchorValidity.js"; -import ariaActiveDescendantTabIndex from "./rules/ariaActiveDescendantTabIndex.js"; -import ariaHiddenFocusables from "./rules/ariaHiddenFocusables.js"; -import ariaProps from "./rules/ariaProps.js"; -import ariaPropTypes from "./rules/ariaPropTypes.js"; -import ariaRoleValidity from "./rules/ariaRoleValidity.js"; -import ariaUnsupportedElements from "./rules/ariaUnsupportedElements.js"; -import autocomplete from "./rules/autocomplete.js"; -import autoFocusProps from "./rules/autoFocusProps.js"; -import booleanValues from "./rules/booleanValues.js"; -import bracedStatements from "./rules/bracedStatements.js"; -import buttonTypes from "./rules/buttonTypes.js"; -import childrenProps from "./rules/childrenProps.js"; -import clickEventKeyEvents from "./rules/clickEventKeyEvents.js"; -import commentTextNodes from "./rules/commentTextNodes.js"; -import distractingElements from "./rules/distractingElements.js"; -import elementChildrenValidity from "./rules/elementChildrenValidity.js"; -import headingContents from "./rules/headingContents.js"; -import htmlLangs from "./rules/htmlLangs.js"; -import iframeTitles from "./rules/iframeTitles.js"; -import interactiveElementRoles from "./rules/interactiveElementRoles.js"; -import interactiveElementsFocusable from "./rules/interactiveElementsFocusable.js"; -import labelAssociatedControls from "./rules/labelAssociatedControls.js"; -import langValidity from "./rules/langValidity.js"; -import mediaCaptions from "./rules/mediaCaptions.js"; -import mouseEventKeyEvents from "./rules/mouseEventKeyEvents.js"; -import nonInteractiveElementInteractions from "./rules/nonInteractiveElementInteractions.js"; -import nonInteractiveElementRoles from "./rules/nonInteractiveElementRoles.js"; -import nonInteractiveElementTabIndexes from "./rules/nonInteractiveElementTabIndexes.js"; -import propDuplicates from "./rules/propDuplicates.js"; -import roleRedundancies from "./rules/roleRedundancies.js"; -import roleRequiredAriaProps from "./rules/roleRequiredAriaProps.js"; -import roleSupportedAriaProps from "./rules/roleSupportedAriaProps.js"; -import roleTags from "./rules/roleTags.js"; -import scopeProps from "./rules/scopeProps.js"; -import staticElementInteractions from "./rules/staticElementInteractions.js"; -import svgTitles from "./rules/svgTitles.js"; -import tabIndexPositiveValues from "./rules/tabIndexPositiveValues.js"; -import unescapedEntities from "./rules/unescapedEntities.js"; -import unnecessaryFragments from "./rules/unnecessaryFragments.js"; +import accessKeys from "./rules/accessKeys.ts"; +import altTexts from "./rules/altTexts.ts"; +import anchorAmbiguousText from "./rules/anchorAmbiguousText.ts"; +import anchorContent from "./rules/anchorContent.ts"; +import anchorValidity from "./rules/anchorValidity.ts"; +import ariaActiveDescendantTabIndex from "./rules/ariaActiveDescendantTabIndex.ts"; +import ariaHiddenFocusables from "./rules/ariaHiddenFocusables.ts"; +import ariaProps from "./rules/ariaProps.ts"; +import ariaPropTypes from "./rules/ariaPropTypes.ts"; +import ariaRoleValidity from "./rules/ariaRoleValidity.ts"; +import ariaUnsupportedElements from "./rules/ariaUnsupportedElements.ts"; +import autocomplete from "./rules/autocomplete.ts"; +import autoFocusProps from "./rules/autoFocusProps.ts"; +import booleanValues from "./rules/booleanValues.ts"; +import bracedStatements from "./rules/bracedStatements.ts"; +import buttonTypes from "./rules/buttonTypes.ts"; +import childrenProps from "./rules/childrenProps.ts"; +import clickEventKeyEvents from "./rules/clickEventKeyEvents.ts"; +import commentTextNodes from "./rules/commentTextNodes.ts"; +import distractingElements from "./rules/distractingElements.ts"; +import elementChildrenValidity from "./rules/elementChildrenValidity.ts"; +import headingContents from "./rules/headingContents.ts"; +import htmlLangs from "./rules/htmlLangs.ts"; +import iframeTitles from "./rules/iframeTitles.ts"; +import interactiveElementRoles from "./rules/interactiveElementRoles.ts"; +import interactiveElementsFocusable from "./rules/interactiveElementsFocusable.ts"; +import labelAssociatedControls from "./rules/labelAssociatedControls.ts"; +import langValidity from "./rules/langValidity.ts"; +import mediaCaptions from "./rules/mediaCaptions.ts"; +import mouseEventKeyEvents from "./rules/mouseEventKeyEvents.ts"; +import nonInteractiveElementInteractions from "./rules/nonInteractiveElementInteractions.ts"; +import nonInteractiveElementRoles from "./rules/nonInteractiveElementRoles.ts"; +import nonInteractiveElementTabIndexes from "./rules/nonInteractiveElementTabIndexes.ts"; +import propDuplicates from "./rules/propDuplicates.ts"; +import roleRedundancies from "./rules/roleRedundancies.ts"; +import roleRequiredAriaProps from "./rules/roleRequiredAriaProps.ts"; +import roleSupportedAriaProps from "./rules/roleSupportedAriaProps.ts"; +import roleTags from "./rules/roleTags.ts"; +import scopeProps from "./rules/scopeProps.ts"; +import staticElementInteractions from "./rules/staticElementInteractions.ts"; +import svgTitles from "./rules/svgTitles.ts"; +import tabIndexPositiveValues from "./rules/tabIndexPositiveValues.ts"; +import unescapedEntities from "./rules/unescapedEntities.ts"; +import unnecessaryFragments from "./rules/unnecessaryFragments.ts"; export const jsx = createPlugin({ name: "JSX", diff --git a/packages/plugin-jsx/src/rules/accessKeys.test.ts b/packages/plugin-jsx/src/rules/accessKeys.test.ts index 474305347..bb48daeb7 100644 --- a/packages/plugin-jsx/src/rules/accessKeys.test.ts +++ b/packages/plugin-jsx/src/rules/accessKeys.test.ts @@ -1,5 +1,5 @@ -import rule from "./accessKeys.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./accessKeys.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/altTexts.test.ts b/packages/plugin-jsx/src/rules/altTexts.test.ts index 9bc15af09..13934e977 100644 --- a/packages/plugin-jsx/src/rules/altTexts.test.ts +++ b/packages/plugin-jsx/src/rules/altTexts.test.ts @@ -1,5 +1,5 @@ -import rule from "./altTexts.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./altTexts.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/altTexts.ts b/packages/plugin-jsx/src/rules/altTexts.ts index 27bdf82e9..9b20897e0 100644 --- a/packages/plugin-jsx/src/rules/altTexts.ts +++ b/packages/plugin-jsx/src/rules/altTexts.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/anchorAmbiguousText.test.ts b/packages/plugin-jsx/src/rules/anchorAmbiguousText.test.ts index 3396151f5..9a973f299 100644 --- a/packages/plugin-jsx/src/rules/anchorAmbiguousText.test.ts +++ b/packages/plugin-jsx/src/rules/anchorAmbiguousText.test.ts @@ -1,5 +1,5 @@ -import rule from "./anchorAmbiguousText.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./anchorAmbiguousText.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/anchorContent.test.ts b/packages/plugin-jsx/src/rules/anchorContent.test.ts index 9ef81d66e..e5d3ed01b 100644 --- a/packages/plugin-jsx/src/rules/anchorContent.test.ts +++ b/packages/plugin-jsx/src/rules/anchorContent.test.ts @@ -1,5 +1,5 @@ -import rule from "./anchorContent.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./anchorContent.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/anchorValidity.test.ts b/packages/plugin-jsx/src/rules/anchorValidity.test.ts index b83190a07..1e32b6b80 100644 --- a/packages/plugin-jsx/src/rules/anchorValidity.test.ts +++ b/packages/plugin-jsx/src/rules/anchorValidity.test.ts @@ -1,5 +1,5 @@ -import rule from "./anchorValidity.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./anchorValidity.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/anchorValidity.ts b/packages/plugin-jsx/src/rules/anchorValidity.ts index 83886881a..32fd88f40 100644 --- a/packages/plugin-jsx/src/rules/anchorValidity.ts +++ b/packages/plugin-jsx/src/rules/anchorValidity.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.test.ts b/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.test.ts index 4e6d4b0ec..d71577133 100644 --- a/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.test.ts +++ b/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.test.ts @@ -1,5 +1,5 @@ -import rule from "./ariaActiveDescendantTabIndex.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./ariaActiveDescendantTabIndex.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.ts b/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.ts index 0d7a875f7..a7a342d0b 100644 --- a/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.ts +++ b/packages/plugin-jsx/src/rules/ariaActiveDescendantTabIndex.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/ariaHiddenFocusables.test.ts b/packages/plugin-jsx/src/rules/ariaHiddenFocusables.test.ts index e534a0417..59d40fd79 100644 --- a/packages/plugin-jsx/src/rules/ariaHiddenFocusables.test.ts +++ b/packages/plugin-jsx/src/rules/ariaHiddenFocusables.test.ts @@ -1,5 +1,5 @@ -import rule from "./ariaHiddenFocusables.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./ariaHiddenFocusables.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/ariaHiddenFocusables.ts b/packages/plugin-jsx/src/rules/ariaHiddenFocusables.ts index 84554124d..3469ffa88 100644 --- a/packages/plugin-jsx/src/rules/ariaHiddenFocusables.ts +++ b/packages/plugin-jsx/src/rules/ariaHiddenFocusables.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/ariaPropTypes.test.ts b/packages/plugin-jsx/src/rules/ariaPropTypes.test.ts index 720bb18a7..3a714a755 100644 --- a/packages/plugin-jsx/src/rules/ariaPropTypes.test.ts +++ b/packages/plugin-jsx/src/rules/ariaPropTypes.test.ts @@ -1,5 +1,5 @@ -import rule from "./ariaPropTypes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./ariaPropTypes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/ariaPropTypes.ts b/packages/plugin-jsx/src/rules/ariaPropTypes.ts index 04c50fa71..10e11730c 100644 --- a/packages/plugin-jsx/src/rules/ariaPropTypes.ts +++ b/packages/plugin-jsx/src/rules/ariaPropTypes.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/ariaProps.test.ts b/packages/plugin-jsx/src/rules/ariaProps.test.ts index fb826ffae..9bd2a0d91 100644 --- a/packages/plugin-jsx/src/rules/ariaProps.test.ts +++ b/packages/plugin-jsx/src/rules/ariaProps.test.ts @@ -1,5 +1,5 @@ -import rule from "./ariaProps.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./ariaProps.ts"; +import { ruleTester } from "./ruleTester.ts"; // cspell:disable -- Testing misspellings of ARIA attributes ruleTester.describe(rule, { diff --git a/packages/plugin-jsx/src/rules/ariaProps.ts b/packages/plugin-jsx/src/rules/ariaProps.ts index 610573c7f..f4b7573e7 100644 --- a/packages/plugin-jsx/src/rules/ariaProps.ts +++ b/packages/plugin-jsx/src/rules/ariaProps.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/ariaRoleValidity.test.ts b/packages/plugin-jsx/src/rules/ariaRoleValidity.test.ts index a56d96f69..7cbed7ac6 100644 --- a/packages/plugin-jsx/src/rules/ariaRoleValidity.test.ts +++ b/packages/plugin-jsx/src/rules/ariaRoleValidity.test.ts @@ -1,5 +1,5 @@ -import rule from "./ariaRoleValidity.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./ariaRoleValidity.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/ariaRoleValidity.ts b/packages/plugin-jsx/src/rules/ariaRoleValidity.ts index 0f2d5855d..fbcb32c0d 100644 --- a/packages/plugin-jsx/src/rules/ariaRoleValidity.ts +++ b/packages/plugin-jsx/src/rules/ariaRoleValidity.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/ariaUnsupportedElements.test.ts b/packages/plugin-jsx/src/rules/ariaUnsupportedElements.test.ts index badaf3a35..d3822a450 100644 --- a/packages/plugin-jsx/src/rules/ariaUnsupportedElements.test.ts +++ b/packages/plugin-jsx/src/rules/ariaUnsupportedElements.test.ts @@ -1,5 +1,5 @@ -import rule from "./ariaUnsupportedElements.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./ariaUnsupportedElements.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/ariaUnsupportedElements.ts b/packages/plugin-jsx/src/rules/ariaUnsupportedElements.ts index 6d6d76b8f..6c3823820 100644 --- a/packages/plugin-jsx/src/rules/ariaUnsupportedElements.ts +++ b/packages/plugin-jsx/src/rules/ariaUnsupportedElements.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/autoFocusProps.test.ts b/packages/plugin-jsx/src/rules/autoFocusProps.test.ts index 6ef67ffa4..24e542d50 100644 --- a/packages/plugin-jsx/src/rules/autoFocusProps.test.ts +++ b/packages/plugin-jsx/src/rules/autoFocusProps.test.ts @@ -1,5 +1,5 @@ -import rule from "./autoFocusProps.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./autoFocusProps.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/autoFocusProps.ts b/packages/plugin-jsx/src/rules/autoFocusProps.ts index 3edfd337a..030f95705 100644 --- a/packages/plugin-jsx/src/rules/autoFocusProps.ts +++ b/packages/plugin-jsx/src/rules/autoFocusProps.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/autocomplete.test.ts b/packages/plugin-jsx/src/rules/autocomplete.test.ts index cde1e3a87..167bd1367 100644 --- a/packages/plugin-jsx/src/rules/autocomplete.test.ts +++ b/packages/plugin-jsx/src/rules/autocomplete.test.ts @@ -1,5 +1,5 @@ -import rule from "./autocomplete.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./autocomplete.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/autocomplete.ts b/packages/plugin-jsx/src/rules/autocomplete.ts index 6982b4e22..fadea39f0 100644 --- a/packages/plugin-jsx/src/rules/autocomplete.ts +++ b/packages/plugin-jsx/src/rules/autocomplete.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/booleanValues.test.ts b/packages/plugin-jsx/src/rules/booleanValues.test.ts index 98324fa5a..bf686526a 100644 --- a/packages/plugin-jsx/src/rules/booleanValues.test.ts +++ b/packages/plugin-jsx/src/rules/booleanValues.test.ts @@ -1,5 +1,5 @@ -import rule from "./booleanValues.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./booleanValues.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/booleanValues.ts b/packages/plugin-jsx/src/rules/booleanValues.ts index 6f3679e27..e049192e2 100644 --- a/packages/plugin-jsx/src/rules/booleanValues.ts +++ b/packages/plugin-jsx/src/rules/booleanValues.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/bracedStatements.test.ts b/packages/plugin-jsx/src/rules/bracedStatements.test.ts index b42f8562b..061e4af60 100644 --- a/packages/plugin-jsx/src/rules/bracedStatements.test.ts +++ b/packages/plugin-jsx/src/rules/bracedStatements.test.ts @@ -1,5 +1,5 @@ -import rule from "./bracedStatements.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./bracedStatements.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/buttonTypes.test.ts b/packages/plugin-jsx/src/rules/buttonTypes.test.ts index 7977eb3e4..047e59bd6 100644 --- a/packages/plugin-jsx/src/rules/buttonTypes.test.ts +++ b/packages/plugin-jsx/src/rules/buttonTypes.test.ts @@ -1,5 +1,5 @@ -import rule from "./buttonTypes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./buttonTypes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/buttonTypes.ts b/packages/plugin-jsx/src/rules/buttonTypes.ts index 17f35f7ed..857b90170 100644 --- a/packages/plugin-jsx/src/rules/buttonTypes.ts +++ b/packages/plugin-jsx/src/rules/buttonTypes.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/childrenProps.test.ts b/packages/plugin-jsx/src/rules/childrenProps.test.ts index 173a83e69..60ea6d6a9 100644 --- a/packages/plugin-jsx/src/rules/childrenProps.test.ts +++ b/packages/plugin-jsx/src/rules/childrenProps.test.ts @@ -1,5 +1,5 @@ -import rule from "./childrenProps.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./childrenProps.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/childrenProps.ts b/packages/plugin-jsx/src/rules/childrenProps.ts index 72e1dc64e..e47fd6517 100644 --- a/packages/plugin-jsx/src/rules/childrenProps.ts +++ b/packages/plugin-jsx/src/rules/childrenProps.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/clickEventKeyEvents.test.ts b/packages/plugin-jsx/src/rules/clickEventKeyEvents.test.ts index 3cc20f5ec..3b7693e1e 100644 --- a/packages/plugin-jsx/src/rules/clickEventKeyEvents.test.ts +++ b/packages/plugin-jsx/src/rules/clickEventKeyEvents.test.ts @@ -1,5 +1,5 @@ -import rule from "./clickEventKeyEvents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./clickEventKeyEvents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/clickEventKeyEvents.ts b/packages/plugin-jsx/src/rules/clickEventKeyEvents.ts index 23254fb92..5f4da76d8 100644 --- a/packages/plugin-jsx/src/rules/clickEventKeyEvents.ts +++ b/packages/plugin-jsx/src/rules/clickEventKeyEvents.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/commentTextNodes.test.ts b/packages/plugin-jsx/src/rules/commentTextNodes.test.ts index eb137c748..07a86a458 100644 --- a/packages/plugin-jsx/src/rules/commentTextNodes.test.ts +++ b/packages/plugin-jsx/src/rules/commentTextNodes.test.ts @@ -1,5 +1,5 @@ -import rule from "./commentTextNodes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./commentTextNodes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/commentTextNodes.ts b/packages/plugin-jsx/src/rules/commentTextNodes.ts index b7418e4ea..6697a0bd9 100644 --- a/packages/plugin-jsx/src/rules/commentTextNodes.ts +++ b/packages/plugin-jsx/src/rules/commentTextNodes.ts @@ -1,5 +1,5 @@ import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/ts"; -import * as ts from "typescript"; +import type * as ts from "typescript"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/plugin-jsx/src/rules/distractingElements.test.ts b/packages/plugin-jsx/src/rules/distractingElements.test.ts index 0ae5cd372..244c4e32a 100644 --- a/packages/plugin-jsx/src/rules/distractingElements.test.ts +++ b/packages/plugin-jsx/src/rules/distractingElements.test.ts @@ -1,5 +1,5 @@ -import rule from "./distractingElements.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./distractingElements.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/distractingElements.ts b/packages/plugin-jsx/src/rules/distractingElements.ts index 3ecab4923..0842c286f 100644 --- a/packages/plugin-jsx/src/rules/distractingElements.ts +++ b/packages/plugin-jsx/src/rules/distractingElements.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/elementChildrenValidity.test.ts b/packages/plugin-jsx/src/rules/elementChildrenValidity.test.ts index b12eb52db..1b4d8138c 100644 --- a/packages/plugin-jsx/src/rules/elementChildrenValidity.test.ts +++ b/packages/plugin-jsx/src/rules/elementChildrenValidity.test.ts @@ -1,5 +1,5 @@ -import rule from "./elementChildrenValidity.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./elementChildrenValidity.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/elementChildrenValidity.ts b/packages/plugin-jsx/src/rules/elementChildrenValidity.ts index ab2ee682a..8da3f567a 100644 --- a/packages/plugin-jsx/src/rules/elementChildrenValidity.ts +++ b/packages/plugin-jsx/src/rules/elementChildrenValidity.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/headingContents.test.ts b/packages/plugin-jsx/src/rules/headingContents.test.ts index 58a853dea..5cbefcc48 100644 --- a/packages/plugin-jsx/src/rules/headingContents.test.ts +++ b/packages/plugin-jsx/src/rules/headingContents.test.ts @@ -1,5 +1,5 @@ -import rule from "./headingContents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./headingContents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/headingContents.ts b/packages/plugin-jsx/src/rules/headingContents.ts index 7331b217d..083fed455 100644 --- a/packages/plugin-jsx/src/rules/headingContents.ts +++ b/packages/plugin-jsx/src/rules/headingContents.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/htmlLangs.test.ts b/packages/plugin-jsx/src/rules/htmlLangs.test.ts index 467d114ac..a2285ce2a 100644 --- a/packages/plugin-jsx/src/rules/htmlLangs.test.ts +++ b/packages/plugin-jsx/src/rules/htmlLangs.test.ts @@ -1,5 +1,5 @@ -import rule from "./htmlLangs.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./htmlLangs.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/iframeTitles.test.ts b/packages/plugin-jsx/src/rules/iframeTitles.test.ts index ca0c3ad4d..ae4997482 100644 --- a/packages/plugin-jsx/src/rules/iframeTitles.test.ts +++ b/packages/plugin-jsx/src/rules/iframeTitles.test.ts @@ -1,5 +1,5 @@ -import rule from "./iframeTitles.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./iframeTitles.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/iframeTitles.ts b/packages/plugin-jsx/src/rules/iframeTitles.ts index 2dfdae0e8..c1b017473 100644 --- a/packages/plugin-jsx/src/rules/iframeTitles.ts +++ b/packages/plugin-jsx/src/rules/iframeTitles.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/interactiveElementRoles.test.ts b/packages/plugin-jsx/src/rules/interactiveElementRoles.test.ts index d630435fa..b83d39c99 100644 --- a/packages/plugin-jsx/src/rules/interactiveElementRoles.test.ts +++ b/packages/plugin-jsx/src/rules/interactiveElementRoles.test.ts @@ -1,5 +1,5 @@ -import rule from "./interactiveElementRoles.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./interactiveElementRoles.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/interactiveElementRoles.ts b/packages/plugin-jsx/src/rules/interactiveElementRoles.ts index b701d6506..287852c53 100644 --- a/packages/plugin-jsx/src/rules/interactiveElementRoles.ts +++ b/packages/plugin-jsx/src/rules/interactiveElementRoles.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/interactiveElementsFocusable.test.ts b/packages/plugin-jsx/src/rules/interactiveElementsFocusable.test.ts index cfc363c1e..8908998bd 100644 --- a/packages/plugin-jsx/src/rules/interactiveElementsFocusable.test.ts +++ b/packages/plugin-jsx/src/rules/interactiveElementsFocusable.test.ts @@ -1,5 +1,5 @@ -import rule from "./interactiveElementsFocusable.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./interactiveElementsFocusable.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/interactiveElementsFocusable.ts b/packages/plugin-jsx/src/rules/interactiveElementsFocusable.ts index 3c498a832..1d25f0f5a 100644 --- a/packages/plugin-jsx/src/rules/interactiveElementsFocusable.ts +++ b/packages/plugin-jsx/src/rules/interactiveElementsFocusable.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/labelAssociatedControls.test.ts b/packages/plugin-jsx/src/rules/labelAssociatedControls.test.ts index d87463fd3..626176be0 100644 --- a/packages/plugin-jsx/src/rules/labelAssociatedControls.test.ts +++ b/packages/plugin-jsx/src/rules/labelAssociatedControls.test.ts @@ -1,5 +1,5 @@ -import rule from "./labelAssociatedControls.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./labelAssociatedControls.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/labelAssociatedControls.ts b/packages/plugin-jsx/src/rules/labelAssociatedControls.ts index 2690e9703..6321e7a16 100644 --- a/packages/plugin-jsx/src/rules/labelAssociatedControls.ts +++ b/packages/plugin-jsx/src/rules/labelAssociatedControls.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/langValidity.test.ts b/packages/plugin-jsx/src/rules/langValidity.test.ts index 79ef6384c..e8bbf597f 100644 --- a/packages/plugin-jsx/src/rules/langValidity.test.ts +++ b/packages/plugin-jsx/src/rules/langValidity.test.ts @@ -1,5 +1,5 @@ -import rule from "./langValidity.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./langValidity.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/langValidity.ts b/packages/plugin-jsx/src/rules/langValidity.ts index e6a6d02a3..f2c3d1812 100644 --- a/packages/plugin-jsx/src/rules/langValidity.ts +++ b/packages/plugin-jsx/src/rules/langValidity.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import languageTags from "language-tags"; diff --git a/packages/plugin-jsx/src/rules/mediaCaptions.test.ts b/packages/plugin-jsx/src/rules/mediaCaptions.test.ts index 8ddb3473d..be61b1f0b 100644 --- a/packages/plugin-jsx/src/rules/mediaCaptions.test.ts +++ b/packages/plugin-jsx/src/rules/mediaCaptions.test.ts @@ -1,5 +1,5 @@ -import rule from "./mediaCaptions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./mediaCaptions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/mediaCaptions.ts b/packages/plugin-jsx/src/rules/mediaCaptions.ts index 138e777c3..a3dfd180d 100644 --- a/packages/plugin-jsx/src/rules/mediaCaptions.ts +++ b/packages/plugin-jsx/src/rules/mediaCaptions.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/mouseEventKeyEvents.test.ts b/packages/plugin-jsx/src/rules/mouseEventKeyEvents.test.ts index 51f189bce..04b2c1cf2 100644 --- a/packages/plugin-jsx/src/rules/mouseEventKeyEvents.test.ts +++ b/packages/plugin-jsx/src/rules/mouseEventKeyEvents.test.ts @@ -1,5 +1,5 @@ -import rule from "./mouseEventKeyEvents.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./mouseEventKeyEvents.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/mouseEventKeyEvents.ts b/packages/plugin-jsx/src/rules/mouseEventKeyEvents.ts index 1cbfcc3e0..3a2467949 100644 --- a/packages/plugin-jsx/src/rules/mouseEventKeyEvents.ts +++ b/packages/plugin-jsx/src/rules/mouseEventKeyEvents.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.test.ts b/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.test.ts index bde2a16b7..44fb6e0b6 100644 --- a/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.test.ts +++ b/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.test.ts @@ -1,5 +1,5 @@ -import rule from "./nonInteractiveElementInteractions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nonInteractiveElementInteractions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.ts b/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.ts index d11965eaf..b21252464 100644 --- a/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.ts +++ b/packages/plugin-jsx/src/rules/nonInteractiveElementInteractions.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.test.ts b/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.test.ts index 2b75707d0..e6bc57ba1 100644 --- a/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.test.ts +++ b/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.test.ts @@ -1,5 +1,5 @@ -import rule from "./nonInteractiveElementRoles.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nonInteractiveElementRoles.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.ts b/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.ts index 422540648..b4c05ba70 100644 --- a/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.ts +++ b/packages/plugin-jsx/src/rules/nonInteractiveElementRoles.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.test.ts b/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.test.ts index 7ecc2ea42..de48e148b 100644 --- a/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.test.ts +++ b/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.test.ts @@ -1,5 +1,5 @@ -import rule from "./nonInteractiveElementTabIndexes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nonInteractiveElementTabIndexes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.ts b/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.ts index 5f8a6cdfd..ad659c404 100644 --- a/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.ts +++ b/packages/plugin-jsx/src/rules/nonInteractiveElementTabIndexes.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/propDuplicates.test.ts b/packages/plugin-jsx/src/rules/propDuplicates.test.ts index 69afb5bc5..8f8a3a8b2 100644 --- a/packages/plugin-jsx/src/rules/propDuplicates.test.ts +++ b/packages/plugin-jsx/src/rules/propDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./propDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./propDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/propDuplicates.ts b/packages/plugin-jsx/src/rules/propDuplicates.ts index adf0798ea..0cba701b8 100644 --- a/packages/plugin-jsx/src/rules/propDuplicates.ts +++ b/packages/plugin-jsx/src/rules/propDuplicates.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/roleRedundancies.test.ts b/packages/plugin-jsx/src/rules/roleRedundancies.test.ts index 5e3dd0abc..743dcae6f 100644 --- a/packages/plugin-jsx/src/rules/roleRedundancies.test.ts +++ b/packages/plugin-jsx/src/rules/roleRedundancies.test.ts @@ -1,5 +1,5 @@ -import rule from "./roleRedundancies.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./roleRedundancies.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/roleRedundancies.ts b/packages/plugin-jsx/src/rules/roleRedundancies.ts index 07eac8d7a..881f5a4b1 100644 --- a/packages/plugin-jsx/src/rules/roleRedundancies.ts +++ b/packages/plugin-jsx/src/rules/roleRedundancies.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/roleRequiredAriaProps.test.ts b/packages/plugin-jsx/src/rules/roleRequiredAriaProps.test.ts index 17c0b2fd1..97725b26a 100644 --- a/packages/plugin-jsx/src/rules/roleRequiredAriaProps.test.ts +++ b/packages/plugin-jsx/src/rules/roleRequiredAriaProps.test.ts @@ -1,5 +1,5 @@ -import rule from "./roleRequiredAriaProps.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./roleRequiredAriaProps.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/roleRequiredAriaProps.ts b/packages/plugin-jsx/src/rules/roleRequiredAriaProps.ts index 67d540019..ca0a9cda2 100644 --- a/packages/plugin-jsx/src/rules/roleRequiredAriaProps.ts +++ b/packages/plugin-jsx/src/rules/roleRequiredAriaProps.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/roleSupportedAriaProps.test.ts b/packages/plugin-jsx/src/rules/roleSupportedAriaProps.test.ts index 7cc097781..2d83006b6 100644 --- a/packages/plugin-jsx/src/rules/roleSupportedAriaProps.test.ts +++ b/packages/plugin-jsx/src/rules/roleSupportedAriaProps.test.ts @@ -1,5 +1,5 @@ -import rule from "./roleSupportedAriaProps.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./roleSupportedAriaProps.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/roleSupportedAriaProps.ts b/packages/plugin-jsx/src/rules/roleSupportedAriaProps.ts index 6596a48bf..eadc57f80 100644 --- a/packages/plugin-jsx/src/rules/roleSupportedAriaProps.ts +++ b/packages/plugin-jsx/src/rules/roleSupportedAriaProps.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/roleTags.test.ts b/packages/plugin-jsx/src/rules/roleTags.test.ts index 793f78455..deb09667c 100644 --- a/packages/plugin-jsx/src/rules/roleTags.test.ts +++ b/packages/plugin-jsx/src/rules/roleTags.test.ts @@ -1,5 +1,5 @@ -import rule from "./roleTags.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./roleTags.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/roleTags.ts b/packages/plugin-jsx/src/rules/roleTags.ts index f8370813e..3c78dafd2 100644 --- a/packages/plugin-jsx/src/rules/roleTags.ts +++ b/packages/plugin-jsx/src/rules/roleTags.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/scopeProps.test.ts b/packages/plugin-jsx/src/rules/scopeProps.test.ts index 358e338c3..fd3c89946 100644 --- a/packages/plugin-jsx/src/rules/scopeProps.test.ts +++ b/packages/plugin-jsx/src/rules/scopeProps.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./scopeProps.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./scopeProps.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/scopeProps.ts b/packages/plugin-jsx/src/rules/scopeProps.ts index 60b73878c..975fdb572 100644 --- a/packages/plugin-jsx/src/rules/scopeProps.ts +++ b/packages/plugin-jsx/src/rules/scopeProps.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/staticElementInteractions.test.ts b/packages/plugin-jsx/src/rules/staticElementInteractions.test.ts index 09e5a29b1..e336da468 100644 --- a/packages/plugin-jsx/src/rules/staticElementInteractions.test.ts +++ b/packages/plugin-jsx/src/rules/staticElementInteractions.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./staticElementInteractions.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./staticElementInteractions.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/staticElementInteractions.ts b/packages/plugin-jsx/src/rules/staticElementInteractions.ts index 798937453..de6029579 100644 --- a/packages/plugin-jsx/src/rules/staticElementInteractions.ts +++ b/packages/plugin-jsx/src/rules/staticElementInteractions.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/svgTitles.test.ts b/packages/plugin-jsx/src/rules/svgTitles.test.ts index 5123052f5..000dad71c 100644 --- a/packages/plugin-jsx/src/rules/svgTitles.test.ts +++ b/packages/plugin-jsx/src/rules/svgTitles.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./svgTitles.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./svgTitles.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/svgTitles.ts b/packages/plugin-jsx/src/rules/svgTitles.ts index 8babd1dc3..5c7f0c7a8 100644 --- a/packages/plugin-jsx/src/rules/svgTitles.ts +++ b/packages/plugin-jsx/src/rules/svgTitles.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-jsx/src/rules/tabIndexPositiveValues.test.ts b/packages/plugin-jsx/src/rules/tabIndexPositiveValues.test.ts index 8bf433577..ec57c3336 100644 --- a/packages/plugin-jsx/src/rules/tabIndexPositiveValues.test.ts +++ b/packages/plugin-jsx/src/rules/tabIndexPositiveValues.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./tabIndexPositiveValues.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./tabIndexPositiveValues.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/unescapedEntities.test.ts b/packages/plugin-jsx/src/rules/unescapedEntities.test.ts index 265005016..1e2c8c0cd 100644 --- a/packages/plugin-jsx/src/rules/unescapedEntities.test.ts +++ b/packages/plugin-jsx/src/rules/unescapedEntities.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unescapedEntities.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unescapedEntities.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/unescapedEntities.ts b/packages/plugin-jsx/src/rules/unescapedEntities.ts index 36eb5e444..92ec45a60 100644 --- a/packages/plugin-jsx/src/rules/unescapedEntities.ts +++ b/packages/plugin-jsx/src/rules/unescapedEntities.ts @@ -1,5 +1,5 @@ import { typescriptLanguage } from "@flint.fyi/ts"; -import * as ts from "typescript"; +import type * as ts from "typescript"; const problematicEntities = [ { entity: '"', toBrace: '{"\\""}', toHTML: """ }, diff --git a/packages/plugin-jsx/src/rules/unnecessaryFragments.test.ts b/packages/plugin-jsx/src/rules/unnecessaryFragments.test.ts index daa493d98..6bce56f21 100644 --- a/packages/plugin-jsx/src/rules/unnecessaryFragments.test.ts +++ b/packages/plugin-jsx/src/rules/unnecessaryFragments.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unnecessaryFragments.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unnecessaryFragments.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-jsx/src/rules/unnecessaryFragments.ts b/packages/plugin-jsx/src/rules/unnecessaryFragments.ts index 0884f66c6..37f12cf75 100644 --- a/packages/plugin-jsx/src/rules/unnecessaryFragments.ts +++ b/packages/plugin-jsx/src/rules/unnecessaryFragments.ts @@ -1,4 +1,4 @@ -import { CharacterReportRange } from "@flint.fyi/core"; +import type { CharacterReportRange } from "@flint.fyi/core"; import { typescriptLanguage } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-next/src/index.ts b/packages/plugin-next/src/index.ts index c14ce9f21..b147460cd 100644 --- a/packages/plugin-next/src/index.ts +++ b/packages/plugin-next/src/index.ts @@ -1 +1 @@ -export * from "./next.js"; +export * from "./next.ts"; diff --git a/packages/plugin-node/src/index.ts b/packages/plugin-node/src/index.ts index 4fd3b5bb9..9b928f31c 100644 --- a/packages/plugin-node/src/index.ts +++ b/packages/plugin-node/src/index.ts @@ -1 +1 @@ -export * from "./node.js"; +export * from "./node.ts"; diff --git a/packages/plugin-node/src/node.ts b/packages/plugin-node/src/node.ts index 18ba6c785..596dfdd14 100644 --- a/packages/plugin-node/src/node.ts +++ b/packages/plugin-node/src/node.ts @@ -1,16 +1,16 @@ import { createPlugin } from "@flint.fyi/core"; -import assertStrict from "./rules/assertStrict.js"; -import assertStyles from "./rules/assertStyles.js"; -import blobReadingMethods from "./rules/blobReadingMethods.js"; -import bufferAllocators from "./rules/bufferAllocators.js"; -import consoleSpaces from "./rules/consoleSpaces.js"; -import eventClasses from "./rules/eventClasses.js"; -import exportsAssignments from "./rules/exportsAssignments.js"; -import filePathsFromImportMeta from "./rules/filePathsFromImportMeta.js"; -import fileReadJSONBuffers from "./rules/fileReadJSONBuffers.js"; -import nodeProtocols from "./rules/nodeProtocols.js"; -import processExits from "./rules/processExits.js"; +import assertStrict from "./rules/assertStrict.ts"; +import assertStyles from "./rules/assertStyles.ts"; +import blobReadingMethods from "./rules/blobReadingMethods.ts"; +import bufferAllocators from "./rules/bufferAllocators.ts"; +import consoleSpaces from "./rules/consoleSpaces.ts"; +import eventClasses from "./rules/eventClasses.ts"; +import exportsAssignments from "./rules/exportsAssignments.ts"; +import filePathsFromImportMeta from "./rules/filePathsFromImportMeta.ts"; +import fileReadJSONBuffers from "./rules/fileReadJSONBuffers.ts"; +import nodeProtocols from "./rules/nodeProtocols.ts"; +import processExits from "./rules/processExits.ts"; export const node = createPlugin({ name: "Node.js", diff --git a/packages/plugin-node/src/rules/assertStrict.test.ts b/packages/plugin-node/src/rules/assertStrict.test.ts index f8e7e5636..a470078bb 100644 --- a/packages/plugin-node/src/rules/assertStrict.test.ts +++ b/packages/plugin-node/src/rules/assertStrict.test.ts @@ -1,5 +1,5 @@ -import rule from "./assertStrict.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./assertStrict.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/assertStyles.test.ts b/packages/plugin-node/src/rules/assertStyles.test.ts index 8255c00a3..478d9d46a 100644 --- a/packages/plugin-node/src/rules/assertStyles.test.ts +++ b/packages/plugin-node/src/rules/assertStyles.test.ts @@ -1,5 +1,5 @@ -import rule from "./assertStyles.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./assertStyles.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/blobReadingMethods.test.ts b/packages/plugin-node/src/rules/blobReadingMethods.test.ts index 25efab6fb..57006e522 100644 --- a/packages/plugin-node/src/rules/blobReadingMethods.test.ts +++ b/packages/plugin-node/src/rules/blobReadingMethods.test.ts @@ -1,5 +1,5 @@ -import rule from "./blobReadingMethods.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./blobReadingMethods.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/bufferAllocators.test.ts b/packages/plugin-node/src/rules/bufferAllocators.test.ts index 1210604a0..761f8ac1d 100644 --- a/packages/plugin-node/src/rules/bufferAllocators.test.ts +++ b/packages/plugin-node/src/rules/bufferAllocators.test.ts @@ -1,5 +1,5 @@ -import rule from "./bufferAllocators.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./bufferAllocators.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/consoleSpaces.test.ts b/packages/plugin-node/src/rules/consoleSpaces.test.ts index 4faf82b20..471d1eb89 100644 --- a/packages/plugin-node/src/rules/consoleSpaces.test.ts +++ b/packages/plugin-node/src/rules/consoleSpaces.test.ts @@ -1,5 +1,5 @@ -import rule from "./consoleSpaces.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./consoleSpaces.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/consoleSpaces.ts b/packages/plugin-node/src/rules/consoleSpaces.ts index 7abadbfba..7f29e63f0 100644 --- a/packages/plugin-node/src/rules/consoleSpaces.ts +++ b/packages/plugin-node/src/rules/consoleSpaces.ts @@ -1,7 +1,7 @@ import { typescriptLanguage } from "@flint.fyi/ts"; import * as ts from "typescript"; -import { isDeclaredInNodeTypes } from "./utils/isDeclaredInNodeTypes.js"; +import { isDeclaredInNodeTypes } from "./utils/isDeclaredInNodeTypes.ts"; const consoleMethods = new Set([ "assert", diff --git a/packages/plugin-node/src/rules/eventClasses.test.ts b/packages/plugin-node/src/rules/eventClasses.test.ts index 5a3ca08be..76e390147 100644 --- a/packages/plugin-node/src/rules/eventClasses.test.ts +++ b/packages/plugin-node/src/rules/eventClasses.test.ts @@ -1,5 +1,5 @@ -import rule from "./eventClasses.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./eventClasses.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/eventClasses.ts b/packages/plugin-node/src/rules/eventClasses.ts index 48e9a85f7..21c662501 100644 --- a/packages/plugin-node/src/rules/eventClasses.ts +++ b/packages/plugin-node/src/rules/eventClasses.ts @@ -1,6 +1,6 @@ import { getTSNodeRange, - TypeScriptFileServices, + type TypeScriptFileServices, typescriptLanguage, } from "@flint.fyi/ts"; import * as ts from "typescript"; diff --git a/packages/plugin-node/src/rules/exportsAssignments.test.ts b/packages/plugin-node/src/rules/exportsAssignments.test.ts index 7d65b71d2..470e1510f 100644 --- a/packages/plugin-node/src/rules/exportsAssignments.test.ts +++ b/packages/plugin-node/src/rules/exportsAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./exportsAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./exportsAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/filePathsFromImportMeta.test.ts b/packages/plugin-node/src/rules/filePathsFromImportMeta.test.ts index 61695ab1c..81846ecac 100644 --- a/packages/plugin-node/src/rules/filePathsFromImportMeta.test.ts +++ b/packages/plugin-node/src/rules/filePathsFromImportMeta.test.ts @@ -1,5 +1,5 @@ -import rule from "./filePathsFromImportMeta.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./filePathsFromImportMeta.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/fileReadJSONBuffers.test.ts b/packages/plugin-node/src/rules/fileReadJSONBuffers.test.ts index 3ecc45dbf..b2b4cb3ba 100644 --- a/packages/plugin-node/src/rules/fileReadJSONBuffers.test.ts +++ b/packages/plugin-node/src/rules/fileReadJSONBuffers.test.ts @@ -1,5 +1,5 @@ -import rule from "./fileReadJSONBuffers.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./fileReadJSONBuffers.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/nodeProtocols.test.ts b/packages/plugin-node/src/rules/nodeProtocols.test.ts index d85e4c47e..0909e164c 100644 --- a/packages/plugin-node/src/rules/nodeProtocols.test.ts +++ b/packages/plugin-node/src/rules/nodeProtocols.test.ts @@ -1,5 +1,5 @@ -import rule from "./nodeProtocols.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nodeProtocols.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/nodeProtocols.ts b/packages/plugin-node/src/rules/nodeProtocols.ts index c7d201867..bee4860ce 100644 --- a/packages/plugin-node/src/rules/nodeProtocols.ts +++ b/packages/plugin-node/src/rules/nodeProtocols.ts @@ -1,7 +1,7 @@ import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/ts"; import * as ts from "typescript"; -import { isDeclaredInNodeTypes } from "./utils/isDeclaredInNodeTypes.js"; +import { isDeclaredInNodeTypes } from "./utils/isDeclaredInNodeTypes.ts"; const nodeBuiltinModules = new Set([ "assert", diff --git a/packages/plugin-node/src/rules/processExits.test.ts b/packages/plugin-node/src/rules/processExits.test.ts index 0c50e0bf5..6cb498e28 100644 --- a/packages/plugin-node/src/rules/processExits.test.ts +++ b/packages/plugin-node/src/rules/processExits.test.ts @@ -1,5 +1,5 @@ -import rule from "./processExits.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./processExits.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-node/src/rules/processExits.ts b/packages/plugin-node/src/rules/processExits.ts index f1f131d39..1827cc553 100644 --- a/packages/plugin-node/src/rules/processExits.ts +++ b/packages/plugin-node/src/rules/processExits.ts @@ -1,7 +1,7 @@ import { getTSNodeRange, typescriptLanguage } from "@flint.fyi/ts"; import * as ts from "typescript"; -import { isDeclaredInNodeTypes } from "./utils/isDeclaredInNodeTypes.js"; +import { isDeclaredInNodeTypes } from "./utils/isDeclaredInNodeTypes.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/plugin-nuxt/src/index.ts b/packages/plugin-nuxt/src/index.ts index 90ba456c1..6eac442ad 100644 --- a/packages/plugin-nuxt/src/index.ts +++ b/packages/plugin-nuxt/src/index.ts @@ -1 +1 @@ -export * from "./nuxt.js"; +export * from "./nuxt.ts"; diff --git a/packages/plugin-performance/src/index.ts b/packages/plugin-performance/src/index.ts index fb829c774..c5f91ebc7 100644 --- a/packages/plugin-performance/src/index.ts +++ b/packages/plugin-performance/src/index.ts @@ -1 +1 @@ -export * from "./performance.js"; +export * from "./performance.ts"; diff --git a/packages/plugin-performance/src/performance.ts b/packages/plugin-performance/src/performance.ts index 3a8c0216d..f3966893b 100644 --- a/packages/plugin-performance/src/performance.ts +++ b/packages/plugin-performance/src/performance.ts @@ -1,10 +1,10 @@ import { createPlugin } from "@flint.fyi/core"; -import deletes from "./rules/deletes.js"; -import importedNamespaceDynamicAccesses from "./rules/importedNamespaceDynamicAccesses.js"; -import loopAwaits from "./rules/loopAwaits.js"; -import loopFunctions from "./rules/loopFunctions.js"; -import spreadAccumulators from "./rules/spreadAccumulators.js"; +import deletes from "./rules/deletes.ts"; +import importedNamespaceDynamicAccesses from "./rules/importedNamespaceDynamicAccesses.ts"; +import loopAwaits from "./rules/loopAwaits.ts"; +import loopFunctions from "./rules/loopFunctions.ts"; +import spreadAccumulators from "./rules/spreadAccumulators.ts"; export const performance = createPlugin({ name: "Performance", diff --git a/packages/plugin-performance/src/rules/deletes.test.ts b/packages/plugin-performance/src/rules/deletes.test.ts index 4cb646a58..24f89da13 100644 --- a/packages/plugin-performance/src/rules/deletes.test.ts +++ b/packages/plugin-performance/src/rules/deletes.test.ts @@ -1,5 +1,5 @@ -import rule from "./deletes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./deletes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-performance/src/rules/importedNamespaceDynamicAccesses.test.ts b/packages/plugin-performance/src/rules/importedNamespaceDynamicAccesses.test.ts index 9d7f979a2..cad1c3e29 100644 --- a/packages/plugin-performance/src/rules/importedNamespaceDynamicAccesses.test.ts +++ b/packages/plugin-performance/src/rules/importedNamespaceDynamicAccesses.test.ts @@ -1,5 +1,5 @@ -import rule from "./importedNamespaceDynamicAccesses.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./importedNamespaceDynamicAccesses.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-performance/src/rules/loopAwaits.test.ts b/packages/plugin-performance/src/rules/loopAwaits.test.ts index 6d70b8ce8..9c8958ab9 100644 --- a/packages/plugin-performance/src/rules/loopAwaits.test.ts +++ b/packages/plugin-performance/src/rules/loopAwaits.test.ts @@ -1,5 +1,5 @@ -import rule from "./loopAwaits.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./loopAwaits.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-performance/src/rules/loopAwaits.ts b/packages/plugin-performance/src/rules/loopAwaits.ts index 840f35e96..92d60f39c 100644 --- a/packages/plugin-performance/src/rules/loopAwaits.ts +++ b/packages/plugin-performance/src/rules/loopAwaits.ts @@ -1,4 +1,4 @@ -import { TypeScriptFileServices, typescriptLanguage } from "@flint.fyi/ts"; +import { type TypeScriptFileServices, typescriptLanguage } from "@flint.fyi/ts"; import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; diff --git a/packages/plugin-performance/src/rules/loopFunctions.test.ts b/packages/plugin-performance/src/rules/loopFunctions.test.ts index 2fc3f5d10..134abd1a9 100644 --- a/packages/plugin-performance/src/rules/loopFunctions.test.ts +++ b/packages/plugin-performance/src/rules/loopFunctions.test.ts @@ -1,5 +1,5 @@ -import rule from "./loopFunctions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./loopFunctions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-performance/src/rules/loopFunctions.ts b/packages/plugin-performance/src/rules/loopFunctions.ts index aef3e599f..d7e4cc61a 100644 --- a/packages/plugin-performance/src/rules/loopFunctions.ts +++ b/packages/plugin-performance/src/rules/loopFunctions.ts @@ -1,4 +1,4 @@ -import { TypeScriptFileServices, typescriptLanguage } from "@flint.fyi/ts"; +import { type TypeScriptFileServices, typescriptLanguage } from "@flint.fyi/ts"; import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; diff --git a/packages/plugin-performance/src/rules/spreadAccumulators.test.ts b/packages/plugin-performance/src/rules/spreadAccumulators.test.ts index cd9614689..45ea2f2e5 100644 --- a/packages/plugin-performance/src/rules/spreadAccumulators.test.ts +++ b/packages/plugin-performance/src/rules/spreadAccumulators.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./spreadAccumulators.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./spreadAccumulators.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-performance/src/rules/spreadAccumulators.ts b/packages/plugin-performance/src/rules/spreadAccumulators.ts index bc6544e92..ac7826fcc 100644 --- a/packages/plugin-performance/src/rules/spreadAccumulators.ts +++ b/packages/plugin-performance/src/rules/spreadAccumulators.ts @@ -1,4 +1,4 @@ -import { TypeScriptFileServices, typescriptLanguage } from "@flint.fyi/ts"; +import { type TypeScriptFileServices, typescriptLanguage } from "@flint.fyi/ts"; import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; diff --git a/packages/plugin-react/src/index.ts b/packages/plugin-react/src/index.ts index ccf847469..fbc298aba 100644 --- a/packages/plugin-react/src/index.ts +++ b/packages/plugin-react/src/index.ts @@ -1 +1 @@ -export * from "./react.js"; +export * from "./react.ts"; diff --git a/packages/plugin-solid/src/index.ts b/packages/plugin-solid/src/index.ts index a9588f14d..96600ef38 100644 --- a/packages/plugin-solid/src/index.ts +++ b/packages/plugin-solid/src/index.ts @@ -1 +1 @@ -export * from "./solid.js"; +export * from "./solid.ts"; diff --git a/packages/plugin-spelling/src/index.ts b/packages/plugin-spelling/src/index.ts index f85ddee71..71592d570 100644 --- a/packages/plugin-spelling/src/index.ts +++ b/packages/plugin-spelling/src/index.ts @@ -1 +1 @@ -export * from "./spelling.js"; +export * from "./spelling.ts"; diff --git a/packages/plugin-spelling/src/rules/createDocumentValidator.ts b/packages/plugin-spelling/src/rules/createDocumentValidator.ts index 6496d7c6b..2ba606995 100644 --- a/packages/plugin-spelling/src/rules/createDocumentValidator.ts +++ b/packages/plugin-spelling/src/rules/createDocumentValidator.ts @@ -2,7 +2,7 @@ import { toFileDirURL, toFileURL } from "@cspell/url"; import { checkFilenameMatchesGlob, createTextDocument, - CSpellSettings, + type CSpellSettings, DocumentValidator, } from "cspell-lib"; import path from "node:path"; diff --git a/packages/plugin-spelling/src/rules/cspell.test.ts b/packages/plugin-spelling/src/rules/cspell.test.ts index 7033496ae..67acd0645 100644 --- a/packages/plugin-spelling/src/rules/cspell.test.ts +++ b/packages/plugin-spelling/src/rules/cspell.test.ts @@ -1,6 +1,6 @@ /* cspell:disable */ -import rule from "./cspell.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./cspell.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/plugin-spelling/src/rules/cspell.ts b/packages/plugin-spelling/src/rules/cspell.ts index 602307bb0..fcc0e02ca 100644 --- a/packages/plugin-spelling/src/rules/cspell.ts +++ b/packages/plugin-spelling/src/rules/cspell.ts @@ -1,8 +1,8 @@ import { textLanguage } from "@flint.fyi/text"; import { parseJsonSafe } from "@flint.fyi/utils"; -import { DocumentValidator } from "cspell-lib"; +import type { DocumentValidator } from "cspell-lib"; -import { createDocumentValidator } from "./createDocumentValidator.js"; +import { createDocumentValidator } from "./createDocumentValidator.ts"; interface CSpellConfigLike { words?: string[]; diff --git a/packages/plugin-spelling/src/spelling.ts b/packages/plugin-spelling/src/spelling.ts index 48366c23b..cbc63e11d 100644 --- a/packages/plugin-spelling/src/spelling.ts +++ b/packages/plugin-spelling/src/spelling.ts @@ -1,6 +1,6 @@ import { createPlugin } from "@flint.fyi/core"; -import cspell from "./rules/cspell.js"; +import cspell from "./rules/cspell.ts"; export const spelling = createPlugin({ name: "Spelling", diff --git a/packages/rule-tester/src/RuleTester.ts b/packages/rule-tester/src/RuleTester.ts index d6e03eff0..71b6fea87 100644 --- a/packages/rule-tester/src/RuleTester.ts +++ b/packages/rule-tester/src/RuleTester.ts @@ -1,4 +1,4 @@ -import { +import type { AnyLanguage, AnyOptionalSchema, AnyRule, @@ -9,11 +9,11 @@ import { import { CachedFactory } from "cached-factory"; import assert from "node:assert/strict"; -import { createReportSnapshot } from "./createReportSnapshot.js"; -import { normalizeTestCase } from "./normalizeTestCase.js"; -import { resolveReportedSuggestions } from "./resolveReportedSuggestions.js"; -import { runTestCaseRule } from "./runTestCaseRule.js"; -import { InvalidTestCase, TestCase, ValidTestCase } from "./types.js"; +import { createReportSnapshot } from "./createReportSnapshot.ts"; +import { normalizeTestCase } from "./normalizeTestCase.ts"; +import { resolveReportedSuggestions } from "./resolveReportedSuggestions.ts"; +import { runTestCaseRule } from "./runTestCaseRule.ts"; +import type { InvalidTestCase, TestCase, ValidTestCase } from "./types.ts"; export interface RuleTesterOptions { defaults?: { diff --git a/packages/rule-tester/src/createReportSnapshot.ts b/packages/rule-tester/src/createReportSnapshot.ts index eebc44c74..1a3ff2cd0 100644 --- a/packages/rule-tester/src/createReportSnapshot.ts +++ b/packages/rule-tester/src/createReportSnapshot.ts @@ -1,4 +1,4 @@ -import { formatReportPrimary, NormalizedReport } from "@flint.fyi/core"; +import { formatReportPrimary, type NormalizedReport } from "@flint.fyi/core"; export function createReportSnapshot( sourceText: string, diff --git a/packages/rule-tester/src/index.ts b/packages/rule-tester/src/index.ts index 619891ce8..3f089a8e1 100644 --- a/packages/rule-tester/src/index.ts +++ b/packages/rule-tester/src/index.ts @@ -1,2 +1,2 @@ -export { RuleTester } from "./RuleTester.js"; -export type * from "./types.js"; +export { RuleTester } from "./RuleTester.ts"; +export type * from "./types.ts"; diff --git a/packages/rule-tester/src/normalizeTestCase.ts b/packages/rule-tester/src/normalizeTestCase.ts index 911371aae..a3e5c7eff 100644 --- a/packages/rule-tester/src/normalizeTestCase.ts +++ b/packages/rule-tester/src/normalizeTestCase.ts @@ -1,4 +1,4 @@ -import { TestCase } from "./types.js"; +import type { TestCase } from "./types.ts"; export interface TestCaseNormalized extends TestCase { fileName: string; diff --git a/packages/rule-tester/src/predicates.ts b/packages/rule-tester/src/predicates.ts index 98a4b0a59..fa34466a1 100644 --- a/packages/rule-tester/src/predicates.ts +++ b/packages/rule-tester/src/predicates.ts @@ -1,4 +1,4 @@ -import { TestSuggestion, TestSuggestionForFiles } from "./types.js"; +import type { TestSuggestion, TestSuggestionForFiles } from "./types.ts"; export function isTestSuggestionForFiles( suggestion: TestSuggestion, diff --git a/packages/rule-tester/src/resolveReportedSuggestions.test.ts b/packages/rule-tester/src/resolveReportedSuggestions.test.ts index 277579557..dbf39bed9 100644 --- a/packages/rule-tester/src/resolveReportedSuggestions.test.ts +++ b/packages/rule-tester/src/resolveReportedSuggestions.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { resolveReportedSuggestions } from "./resolveReportedSuggestions.js"; +import { resolveReportedSuggestions } from "./resolveReportedSuggestions.ts"; const mockReport = { message: { primary: "", secondary: [], suggestions: [] }, diff --git a/packages/rule-tester/src/resolveReportedSuggestions.ts b/packages/rule-tester/src/resolveReportedSuggestions.ts index 6331835da..a8e4af362 100644 --- a/packages/rule-tester/src/resolveReportedSuggestions.ts +++ b/packages/rule-tester/src/resolveReportedSuggestions.ts @@ -1,14 +1,14 @@ import { applyChangesToText, isSuggestionForFiles, - NormalizedReport, + type NormalizedReport, type SuggestionForFiles, } from "@flint.fyi/core"; import { isTruthy } from "@flint.fyi/utils"; -import { TestCaseNormalized } from "./normalizeTestCase.js"; -import { isTestSuggestionForFiles } from "./predicates.js"; -import { InvalidTestCase, TestSuggestionFileCase } from "./types.js"; +import type { TestCaseNormalized } from "./normalizeTestCase.ts"; +import { isTestSuggestionForFiles } from "./predicates.ts"; +import type { InvalidTestCase, TestSuggestionFileCase } from "./types.ts"; export function resolveReportedSuggestions( reports: NormalizedReport[], diff --git a/packages/rule-tester/src/runTestCaseRule.ts b/packages/rule-tester/src/runTestCaseRule.ts index 10305f1e7..e9ce6e415 100644 --- a/packages/rule-tester/src/runTestCaseRule.ts +++ b/packages/rule-tester/src/runTestCaseRule.ts @@ -1,17 +1,16 @@ -import type { PromiseOrSync } from "@flint.fyi/utils"; - -import { +import type { AnyLanguage, AnyOptionalSchema, AnyRule, InferredObject, LanguageFileFactory, - type NormalizedReport, + NormalizedReport, RuleAbout, } from "@flint.fyi/core"; -import { CachedFactory } from "cached-factory"; +import type { PromiseOrSync } from "@flint.fyi/utils"; +import type { CachedFactory } from "cached-factory"; -import { TestCaseNormalized } from "./normalizeTestCase.js"; +import type { TestCaseNormalized } from "./normalizeTestCase.ts"; export interface TestCaseRuleConfiguration< OptionsSchema extends AnyOptionalSchema | undefined, diff --git a/packages/site/src/content/docs/blog/what-flint-does-differently.mdx b/packages/site/src/content/docs/blog/what-flint-does-differently.mdx index 6840a2a4a..cf7546ecb 100644 --- a/packages/site/src/content/docs/blog/what-flint-does-differently.mdx +++ b/packages/site/src/content/docs/blog/what-flint-does-differently.mdx @@ -599,8 +599,8 @@ Flint will provide: Here's an example of Flint's `RuleTester` in practice: ```ts title="forInArrays.test.ts" -import rule from "./forInArrays.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./forInArrays.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/site/tsconfig.json b/packages/site/tsconfig.json index 35a03da55..05b6fea33 100644 --- a/packages/site/tsconfig.json +++ b/packages/site/tsconfig.json @@ -1,6 +1,5 @@ { "compilerOptions": { - "allowImportingTsExtensions": false, "baseUrl": ".", "composite": true, "jsx": "react-jsx", @@ -10,7 +9,8 @@ "~/*": ["src/*"] }, "target": "esnext", - "customConditions": ["@flint.fyi/source"] + "customConditions": ["@flint.fyi/source"], + "emitDeclarationOnly": true }, "extends": "astro/tsconfigs/strict", "include": [".astro/types.d.ts", "*.config.*", "src"], diff --git a/packages/text/src/createTextFile.ts b/packages/text/src/createTextFile.ts index 37efad486..e7c5c1632 100644 --- a/packages/text/src/createTextFile.ts +++ b/packages/text/src/createTextFile.ts @@ -1,4 +1,4 @@ -import { +import type { LanguageFileDefinition, NormalizedReport, RuleReport, diff --git a/packages/text/src/index.ts b/packages/text/src/index.ts index 9e0028c63..a2878d3ba 100644 --- a/packages/text/src/index.ts +++ b/packages/text/src/index.ts @@ -1,2 +1,2 @@ -export { textLanguage } from "./language.js"; -export type * from "./types.js"; +export { textLanguage } from "./language.ts"; +export type * from "./types.ts"; diff --git a/packages/text/src/language.ts b/packages/text/src/language.ts index 222cf488b..c0d188b42 100644 --- a/packages/text/src/language.ts +++ b/packages/text/src/language.ts @@ -1,8 +1,8 @@ import { createLanguage } from "@flint.fyi/core"; import fsSync from "node:fs"; -import { createTextFile } from "./createTextFile.js"; -import { TextNodes, TextServices } from "./types.js"; +import { createTextFile } from "./createTextFile.ts"; +import type { TextNodes, TextServices } from "./types.ts"; export const textLanguage = createLanguage({ about: { diff --git a/packages/ts-patch/src/index.ts b/packages/ts-patch/src/index.ts index b4a88e6fb..0d726e2be 100644 --- a/packages/ts-patch/src/index.ts +++ b/packages/ts-patch/src/index.ts @@ -1,4 +1,4 @@ export { setTSExtraSupportedExtensions, setTSProgramCreationProxy, -} from "./proxy-program.js"; +} from "./proxy-program.ts"; diff --git a/packages/ts-patch/src/install-patch-hooks.ts b/packages/ts-patch/src/install-patch-hooks.ts index 4fb6e6207..7b4ae0509 100644 --- a/packages/ts-patch/src/install-patch-hooks.ts +++ b/packages/ts-patch/src/install-patch-hooks.ts @@ -1,6 +1,6 @@ import { registerHooks } from "node:module"; -import { transformTscContent } from "./shared.js"; +import { transformTscContent } from "./shared.ts"; const typescriptUrl = import.meta.resolve("typescript"); diff --git a/packages/ts-patch/src/install-patch.ts b/packages/ts-patch/src/install-patch.ts index 2952eb46f..1921a449c 100644 --- a/packages/ts-patch/src/install-patch.ts +++ b/packages/ts-patch/src/install-patch.ts @@ -1,7 +1,7 @@ import fs from "node:fs"; import { createRequire } from "node:module"; -import { transformTscContent } from "./shared.js"; +import { transformTscContent } from "./shared.ts"; const require = createRequire(import.meta.url); const typescriptPath = require.resolve("typescript"); diff --git a/packages/ts/src/convertTypeScriptDiagnosticToLanguageFileDiagnostic.ts b/packages/ts/src/convertTypeScriptDiagnosticToLanguageFileDiagnostic.ts index 11765f88b..6109bd415 100644 --- a/packages/ts/src/convertTypeScriptDiagnosticToLanguageFileDiagnostic.ts +++ b/packages/ts/src/convertTypeScriptDiagnosticToLanguageFileDiagnostic.ts @@ -8,8 +8,8 @@ import { getColumnAndLineOfPosition, getPositionOfColumnAndLine, - LanguageFileDiagnostic, - SourceFileWithLineMapAndFileName, + type LanguageFileDiagnostic, + type SourceFileWithLineMapAndFileName, } from "@flint.fyi/core"; import ts, { flattenDiagnosticMessageText } from "typescript"; diff --git a/packages/ts/src/createTypeScriptFileFromProgram.ts b/packages/ts/src/createTypeScriptFileFromProgram.ts index d7301145a..667524795 100644 --- a/packages/ts/src/createTypeScriptFileFromProgram.ts +++ b/packages/ts/src/createTypeScriptFileFromProgram.ts @@ -1,4 +1,4 @@ -import { +import type { LanguageFileCacheImpacts, LanguageFileDefinition, NormalizedReport, @@ -6,10 +6,10 @@ import { } from "@flint.fyi/core"; import * as ts from "typescript"; -import { collectReferencedFilePaths } from "./collectReferencedFilePaths.js"; -import { convertTypeScriptDiagnosticToLanguageFileDiagnostic } from "./convertTypeScriptDiagnosticToLanguageFileDiagnostic.js"; -import { getFirstEnumValues } from "./getFirstEnumValues.js"; -import { normalizeRange } from "./normalizeRange.js"; +import { collectReferencedFilePaths } from "./collectReferencedFilePaths.ts"; +import { convertTypeScriptDiagnosticToLanguageFileDiagnostic } from "./convertTypeScriptDiagnosticToLanguageFileDiagnostic.ts"; +import { getFirstEnumValues } from "./getFirstEnumValues.ts"; +import { normalizeRange } from "./normalizeRange.ts"; export const NodeSyntaxKinds = getFirstEnumValues(ts.SyntaxKind); diff --git a/packages/ts/src/createTypeScriptFileFromProjectService.ts b/packages/ts/src/createTypeScriptFileFromProjectService.ts index 940cf4ac6..e9e1f4aec 100644 --- a/packages/ts/src/createTypeScriptFileFromProjectService.ts +++ b/packages/ts/src/createTypeScriptFileFromProjectService.ts @@ -1,4 +1,4 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; export function createTypeScriptFileFromProjectService( filePathAbsolute: string, diff --git a/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.test.ts b/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.test.ts index c8ffdb9bc..e07ad566d 100644 --- a/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.test.ts +++ b/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.test.ts @@ -1,7 +1,7 @@ import ts from "typescript"; import { describe, expect, it } from "vitest"; -import { parseDirectivesFromTypeScriptFile } from "./parseDirectivesFromTypeScriptFile.js"; +import { parseDirectivesFromTypeScriptFile } from "./parseDirectivesFromTypeScriptFile.ts"; describe(parseDirectivesFromTypeScriptFile, () => { it("returns empty arrays when there are no directives", () => { diff --git a/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.ts b/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.ts index 454b71e40..4bc8c6a5b 100644 --- a/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.ts +++ b/packages/ts/src/directives/parseDirectivesFromTypeScriptFile.ts @@ -1,11 +1,11 @@ import { DirectivesCollector, - NormalizedReportRangeObject, + type NormalizedReportRangeObject, } from "@flint.fyi/core"; import * as tsutils from "ts-api-utils"; -import ts from "typescript"; +import type ts from "typescript"; -import { normalizeRange } from "../normalizeRange.js"; +import { normalizeRange } from "../normalizeRange.ts"; export interface ExtractedDirective { range: NormalizedReportRangeObject; diff --git a/packages/ts/src/getFirstEnumValues.test.ts b/packages/ts/src/getFirstEnumValues.test.ts index 3b695015e..3ce7b1d64 100644 --- a/packages/ts/src/getFirstEnumValues.test.ts +++ b/packages/ts/src/getFirstEnumValues.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "vitest"; -import { getFirstEnumValues } from "./getFirstEnumValues.js"; +import { getFirstEnumValues } from "./getFirstEnumValues.ts"; describe("getFirstEnumValues", () => { it("returns an empty object when given an empty enum", () => { diff --git a/packages/ts/src/getTSNodeRange.ts b/packages/ts/src/getTSNodeRange.ts index 86a8939f6..394e72dda 100644 --- a/packages/ts/src/getTSNodeRange.ts +++ b/packages/ts/src/getTSNodeRange.ts @@ -1,7 +1,6 @@ +import type { CharacterReportRange } from "@flint.fyi/core"; import type * as ts from "typescript"; -import { CharacterReportRange } from "@flint.fyi/core"; - export function getTSNodeRange( node: ts.Node, sourceFile: ts.SourceFile, diff --git a/packages/ts/src/index.ts b/packages/ts/src/index.ts index 2f5ab1912..fef70aef4 100644 --- a/packages/ts/src/index.ts +++ b/packages/ts/src/index.ts @@ -1,22 +1,22 @@ -export { convertTypeScriptDiagnosticToLanguageFileDiagnostic } from "./convertTypeScriptDiagnosticToLanguageFileDiagnostic.js"; +export { convertTypeScriptDiagnosticToLanguageFileDiagnostic } from "./convertTypeScriptDiagnosticToLanguageFileDiagnostic.ts"; export { collectTypeScriptFileCacheImpacts, NodeSyntaxKinds, -} from "./createTypeScriptFileFromProgram.js"; +} from "./createTypeScriptFileFromProgram.ts"; export { extractDirectivesFromTypeScriptFile, type ExtractedDirective, -} from "./directives/parseDirectivesFromTypeScriptFile.js"; -export { getTSNodeRange } from "./getTSNodeRange.js"; -export * from "./language.js"; -export type { TSNodesByName } from "./nodes.js"; -export { ts } from "./plugin.js"; +} from "./directives/parseDirectivesFromTypeScriptFile.ts"; +export { getTSNodeRange } from "./getTSNodeRange.ts"; +export * from "./language.ts"; +export type { TSNodesByName } from "./nodes.ts"; +export { ts } from "./plugin.ts"; export { prepareTypeScriptBasedLanguage, type TypeScriptBasedLanguageFile, type TypeScriptBasedLanguageFileFactoryDefinition, -} from "./prepareTypeScriptBasedLanguage.js"; -export { getDeclarationsIfGlobal } from "./utils/getDeclarationsIfGlobal.js"; -export { isGlobalDeclaration } from "./utils/isGlobalDeclaration.js"; -export { isGlobalDeclarationOfName } from "./utils/isGlobalDeclarationOfName.js"; -export { isGlobalVariable } from "./utils/isGlobalVariable.js"; +} from "./prepareTypeScriptBasedLanguage.ts"; +export { getDeclarationsIfGlobal } from "./utils/getDeclarationsIfGlobal.ts"; +export { isGlobalDeclaration } from "./utils/isGlobalDeclaration.ts"; +export { isGlobalDeclarationOfName } from "./utils/isGlobalDeclarationOfName.ts"; +export { isGlobalVariable } from "./utils/isGlobalVariable.ts"; diff --git a/packages/ts/src/language.ts b/packages/ts/src/language.ts index c753aa2fa..7c7d93a67 100644 --- a/packages/ts/src/language.ts +++ b/packages/ts/src/language.ts @@ -1,9 +1,9 @@ import { createLanguage } from "@flint.fyi/core"; -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { TSNodesByName } from "./nodes.js"; -import { prepareTypeScriptBasedLanguage } from "./prepareTypeScriptBasedLanguage.js"; -import { prepareTypeScriptFile } from "./prepareTypeScriptFile.js"; +import type { TSNodesByName } from "./nodes.ts"; +import { prepareTypeScriptBasedLanguage } from "./prepareTypeScriptBasedLanguage.ts"; +import { prepareTypeScriptFile } from "./prepareTypeScriptFile.ts"; export interface TypeScriptFileServices { program: ts.Program; diff --git a/packages/ts/src/normalizeRange.ts b/packages/ts/src/normalizeRange.ts index 676441703..5c8cdc0f1 100644 --- a/packages/ts/src/normalizeRange.ts +++ b/packages/ts/src/normalizeRange.ts @@ -1,10 +1,9 @@ -import type * as ts from "typescript"; - import { - CharacterReportRange, + type CharacterReportRange, getColumnAndLineOfPosition, - NormalizedReportRangeObject, + type NormalizedReportRangeObject, } from "@flint.fyi/core"; +import type * as ts from "typescript"; export function normalizeRange( original: CharacterReportRange, diff --git a/packages/ts/src/plugin.ts b/packages/ts/src/plugin.ts index 16a4b16eb..0e5ade770 100644 --- a/packages/ts/src/plugin.ts +++ b/packages/ts/src/plugin.ts @@ -1,62 +1,62 @@ import { createPlugin } from "@flint.fyi/core"; -import anyReturns from "./rules/anyReturns.js"; -import asyncPromiseExecutors from "./rules/asyncPromiseExecutors.js"; -import caseDeclarations from "./rules/caseDeclarations.js"; -import caseDuplicates from "./rules/caseDuplicates.js"; -import chainedAssignments from "./rules/chainedAssignments.js"; -import classAssignments from "./rules/classAssignments.js"; -import consecutiveNonNullAssertions from "./rules/consecutiveNonNullAssertions.js"; -import constantAssignments from "./rules/constantAssignments.js"; -import constructorReturns from "./rules/constructorReturns.js"; -import debuggerStatements from "./rules/debuggerStatements.js"; -import defaultCaseLast from "./rules/defaultCaseLast.js"; -import duplicateArguments from "./rules/duplicateArguments.js"; -import elseIfDuplicates from "./rules/elseIfDuplicates.js"; -import emptyBlocks from "./rules/emptyBlocks.js"; -import emptyDestructures from "./rules/emptyDestructures.js"; -import emptyStaticBlocks from "./rules/emptyStaticBlocks.js"; -import exceptionAssignments from "./rules/exceptionAssignments.js"; -import finallyStatementSafety from "./rules/finallyStatementSafety.js"; -import forDirections from "./rules/forDirections.js"; -import forInArrays from "./rules/forInArrays.js"; -import functionAssignments from "./rules/functionAssignments.js"; -import functionCurryingRedundancy from "./rules/functionCurryingRedundancy.js"; -import functionNewCalls from "./rules/functionNewCalls.js"; -import generatorFunctionYields from "./rules/generatorFunctionYields.js"; -import globalAssignments from "./rules/globalAssignments.js"; -import globalObjectCalls from "./rules/globalObjectCalls.js"; -import namespaceDeclarations from "./rules/namespaceDeclarations.js"; -import negativeZeroComparisons from "./rules/negativeZeroComparisons.js"; -import newExpressions from "./rules/newExpressions.js"; -import newNativeNonConstructors from "./rules/newNativeNonConstructors.js"; -import nonOctalDecimalEscapes from "./rules/nonOctalDecimalEscapes.js"; -import numericLiteralParsing from "./rules/numericLiteralParsing.js"; -import objectCalls from "./rules/objectCalls.js"; -import objectHasOwns from "./rules/objectHasOwns.js"; -import objectKeyDuplicates from "./rules/objectKeyDuplicates.js"; -import objectProto from "./rules/objectProto.js"; -import objectPrototypeBuiltIns from "./rules/objectPrototypeBuiltIns.js"; -import octalEscapes from "./rules/octalEscapes.js"; -import octalNumbers from "./rules/octalNumbers.js"; -import returnAssignments from "./rules/returnAssignments.js"; -import selfAssignments from "./rules/selfAssignments.js"; -import selfComparisons from "./rules/selfComparisons.js"; -import sequences from "./rules/sequences.js"; -import shadowedRestrictedNames from "./rules/shadowedRestrictedNames.js"; -import sparseArrays from "./rules/sparseArrays.js"; -import symbolDescriptions from "./rules/symbolDescriptions.js"; -import typeofComparisons from "./rules/typeofComparisons.js"; -import unassignedVariables from "./rules/unassignedVariables.js"; -import undefinedVariables from "./rules/undefinedVariables.js"; -import unicodeBOMs from "./rules/unicodeBOMs.js"; -import unnecessaryBlocks from "./rules/unnecessaryBlocks.js"; -import unnecessaryCatches from "./rules/unnecessaryCatches.js"; -import unnecessaryConcatenation from "./rules/unnecessaryConcatenation.js"; -import unsafeNegations from "./rules/unsafeNegations.js"; -import variableDeletions from "./rules/variableDeletions.js"; -import voidOperator from "./rules/voidOperator.js"; -import withStatements from "./rules/withStatements.js"; +import anyReturns from "./rules/anyReturns.ts"; +import asyncPromiseExecutors from "./rules/asyncPromiseExecutors.ts"; +import caseDeclarations from "./rules/caseDeclarations.ts"; +import caseDuplicates from "./rules/caseDuplicates.ts"; +import chainedAssignments from "./rules/chainedAssignments.ts"; +import classAssignments from "./rules/classAssignments.ts"; +import consecutiveNonNullAssertions from "./rules/consecutiveNonNullAssertions.ts"; +import constantAssignments from "./rules/constantAssignments.ts"; +import constructorReturns from "./rules/constructorReturns.ts"; +import debuggerStatements from "./rules/debuggerStatements.ts"; +import defaultCaseLast from "./rules/defaultCaseLast.ts"; +import duplicateArguments from "./rules/duplicateArguments.ts"; +import elseIfDuplicates from "./rules/elseIfDuplicates.ts"; +import emptyBlocks from "./rules/emptyBlocks.ts"; +import emptyDestructures from "./rules/emptyDestructures.ts"; +import emptyStaticBlocks from "./rules/emptyStaticBlocks.ts"; +import exceptionAssignments from "./rules/exceptionAssignments.ts"; +import finallyStatementSafety from "./rules/finallyStatementSafety.ts"; +import forDirections from "./rules/forDirections.ts"; +import forInArrays from "./rules/forInArrays.ts"; +import functionAssignments from "./rules/functionAssignments.ts"; +import functionCurryingRedundancy from "./rules/functionCurryingRedundancy.ts"; +import functionNewCalls from "./rules/functionNewCalls.ts"; +import generatorFunctionYields from "./rules/generatorFunctionYields.ts"; +import globalAssignments from "./rules/globalAssignments.ts"; +import globalObjectCalls from "./rules/globalObjectCalls.ts"; +import namespaceDeclarations from "./rules/namespaceDeclarations.ts"; +import negativeZeroComparisons from "./rules/negativeZeroComparisons.ts"; +import newExpressions from "./rules/newExpressions.ts"; +import newNativeNonConstructors from "./rules/newNativeNonConstructors.ts"; +import nonOctalDecimalEscapes from "./rules/nonOctalDecimalEscapes.ts"; +import numericLiteralParsing from "./rules/numericLiteralParsing.ts"; +import objectCalls from "./rules/objectCalls.ts"; +import objectHasOwns from "./rules/objectHasOwns.ts"; +import objectKeyDuplicates from "./rules/objectKeyDuplicates.ts"; +import objectProto from "./rules/objectProto.ts"; +import objectPrototypeBuiltIns from "./rules/objectPrototypeBuiltIns.ts"; +import octalEscapes from "./rules/octalEscapes.ts"; +import octalNumbers from "./rules/octalNumbers.ts"; +import returnAssignments from "./rules/returnAssignments.ts"; +import selfAssignments from "./rules/selfAssignments.ts"; +import selfComparisons from "./rules/selfComparisons.ts"; +import sequences from "./rules/sequences.ts"; +import shadowedRestrictedNames from "./rules/shadowedRestrictedNames.ts"; +import sparseArrays from "./rules/sparseArrays.ts"; +import symbolDescriptions from "./rules/symbolDescriptions.ts"; +import typeofComparisons from "./rules/typeofComparisons.ts"; +import unassignedVariables from "./rules/unassignedVariables.ts"; +import undefinedVariables from "./rules/undefinedVariables.ts"; +import unicodeBOMs from "./rules/unicodeBOMs.ts"; +import unnecessaryBlocks from "./rules/unnecessaryBlocks.ts"; +import unnecessaryCatches from "./rules/unnecessaryCatches.ts"; +import unnecessaryConcatenation from "./rules/unnecessaryConcatenation.ts"; +import unsafeNegations from "./rules/unsafeNegations.ts"; +import variableDeletions from "./rules/variableDeletions.ts"; +import voidOperator from "./rules/voidOperator.ts"; +import withStatements from "./rules/withStatements.ts"; export const ts = createPlugin({ files: { diff --git a/packages/ts/src/prepareTypeScriptBasedLanguage.ts b/packages/ts/src/prepareTypeScriptBasedLanguage.ts index 60885691a..21e977361 100644 --- a/packages/ts/src/prepareTypeScriptBasedLanguage.ts +++ b/packages/ts/src/prepareTypeScriptBasedLanguage.ts @@ -1,14 +1,14 @@ -import { createProjectService } from "@typescript-eslint/project-service"; import { createFSBackedSystem, createVirtualTypeScriptEnvironment, } from "@typescript/vfs"; +import { createProjectService } from "@typescript-eslint/project-service"; import { CachedFactory } from "cached-factory"; import { debugForFile } from "debug-for-file"; import path from "node:path"; import * as ts from "typescript"; -import { createTypeScriptFileFromProjectService } from "./createTypeScriptFileFromProjectService.js"; +import { createTypeScriptFileFromProjectService } from "./createTypeScriptFileFromProjectService.ts"; const projectRoot = path.join(import.meta.dirname, "../.."); const log = debugForFile(import.meta.filename); diff --git a/packages/ts/src/prepareTypeScriptFile.ts b/packages/ts/src/prepareTypeScriptFile.ts index e2a294ad9..1bee4e029 100644 --- a/packages/ts/src/prepareTypeScriptFile.ts +++ b/packages/ts/src/prepareTypeScriptFile.ts @@ -1,6 +1,6 @@ -import { createTypeScriptFileFromProgram } from "./createTypeScriptFileFromProgram.js"; -import { parseDirectivesFromTypeScriptFile } from "./directives/parseDirectivesFromTypeScriptFile.js"; -import { TypeScriptBasedLanguageFile } from "./prepareTypeScriptBasedLanguage.js"; +import { createTypeScriptFileFromProgram } from "./createTypeScriptFileFromProgram.ts"; +import { parseDirectivesFromTypeScriptFile } from "./directives/parseDirectivesFromTypeScriptFile.ts"; +import type { TypeScriptBasedLanguageFile } from "./prepareTypeScriptBasedLanguage.ts"; export function prepareTypeScriptFile(file: TypeScriptBasedLanguageFile) { const { program, sourceFile, [Symbol.dispose]: onDispose } = file; diff --git a/packages/ts/src/rules/anyReturns.test.ts b/packages/ts/src/rules/anyReturns.test.ts index a88218853..09bd7d8f5 100644 --- a/packages/ts/src/rules/anyReturns.test.ts +++ b/packages/ts/src/rules/anyReturns.test.ts @@ -1,5 +1,5 @@ -import rule from "./anyReturns.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./anyReturns.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/anyReturns.ts b/packages/ts/src/rules/anyReturns.ts index 69846bf94..81e0bef1f 100644 --- a/packages/ts/src/rules/anyReturns.ts +++ b/packages/ts/src/rules/anyReturns.ts @@ -1,11 +1,11 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { AnyType, discriminateAnyType } from "./utils/discriminateAnyType.js"; -import { getConstrainedTypeAtLocation } from "./utils/getConstrainedType.js"; -import { getThisExpression } from "./utils/getThisExpression.js"; -import { isUnsafeAssignment } from "./utils/isUnsafeAssignment.js"; +import { typescriptLanguage } from "../language.ts"; +import { AnyType, discriminateAnyType } from "./utils/discriminateAnyType.ts"; +import { getConstrainedTypeAtLocation } from "./utils/getConstrainedType.ts"; +import { getThisExpression } from "./utils/getThisExpression.ts"; +import { isUnsafeAssignment } from "./utils/isUnsafeAssignment.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/asyncPromiseExecutors.test.ts b/packages/ts/src/rules/asyncPromiseExecutors.test.ts index 29b47406b..23790ddec 100644 --- a/packages/ts/src/rules/asyncPromiseExecutors.test.ts +++ b/packages/ts/src/rules/asyncPromiseExecutors.test.ts @@ -1,5 +1,5 @@ -import rule from "./asyncPromiseExecutors.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./asyncPromiseExecutors.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/asyncPromiseExecutors.ts b/packages/ts/src/rules/asyncPromiseExecutors.ts index 93913701e..40b6900db 100644 --- a/packages/ts/src/rules/asyncPromiseExecutors.ts +++ b/packages/ts/src/rules/asyncPromiseExecutors.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.js"; +import { typescriptLanguage } from "../language.ts"; +import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/caseDeclarations.test.ts b/packages/ts/src/rules/caseDeclarations.test.ts index 383f42854..8ecb9e22b 100644 --- a/packages/ts/src/rules/caseDeclarations.test.ts +++ b/packages/ts/src/rules/caseDeclarations.test.ts @@ -1,5 +1,5 @@ -import rule from "./caseDeclarations.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./caseDeclarations.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/caseDeclarations.ts b/packages/ts/src/rules/caseDeclarations.ts index 2b06c0f13..79fa0eb8b 100644 --- a/packages/ts/src/rules/caseDeclarations.ts +++ b/packages/ts/src/rules/caseDeclarations.ts @@ -1,8 +1,11 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/caseDuplicates.test.ts b/packages/ts/src/rules/caseDuplicates.test.ts index 9f83e9cda..1efd16fb7 100644 --- a/packages/ts/src/rules/caseDuplicates.test.ts +++ b/packages/ts/src/rules/caseDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./caseDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./caseDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/caseDuplicates.ts b/packages/ts/src/rules/caseDuplicates.ts index 80bf50faa..c7c3e40ef 100644 --- a/packages/ts/src/rules/caseDuplicates.ts +++ b/packages/ts/src/rules/caseDuplicates.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { hasSameTokens } from "../utils/hasSameTokens.js"; +import { typescriptLanguage } from "../language.ts"; +import { hasSameTokens } from "../utils/hasSameTokens.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/chainedAssignments.test.ts b/packages/ts/src/rules/chainedAssignments.test.ts index 04ec19143..aa567d0ec 100644 --- a/packages/ts/src/rules/chainedAssignments.test.ts +++ b/packages/ts/src/rules/chainedAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./chainedAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./chainedAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/chainedAssignments.ts b/packages/ts/src/rules/chainedAssignments.ts index f6cd8cbad..faa94c9a2 100644 --- a/packages/ts/src/rules/chainedAssignments.ts +++ b/packages/ts/src/rules/chainedAssignments.ts @@ -1,10 +1,10 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { unwrapParenthesizedExpression } from "../utils/unwrapParenthesizedExpression.js"; -import { unwrapParenthesizedExpressionsParent } from "../utils/unwrapParentParenthesizedExpressions.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { unwrapParenthesizedExpression } from "../utils/unwrapParenthesizedExpression.ts"; +import { unwrapParenthesizedExpressionsParent } from "../utils/unwrapParentParenthesizedExpressions.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/classAssignments.test.ts b/packages/ts/src/rules/classAssignments.test.ts index adac84caf..95b1a77e0 100644 --- a/packages/ts/src/rules/classAssignments.test.ts +++ b/packages/ts/src/rules/classAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./classAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./classAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/classAssignments.ts b/packages/ts/src/rules/classAssignments.ts index 10536694f..b2423c007 100644 --- a/packages/ts/src/rules/classAssignments.ts +++ b/packages/ts/src/rules/classAssignments.ts @@ -1,5 +1,5 @@ -import { typescriptLanguage } from "../language.js"; -import { getModifyingReferences } from "../utils/getModifyingReferences.js"; +import { typescriptLanguage } from "../language.ts"; +import { getModifyingReferences } from "../utils/getModifyingReferences.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/consecutiveNonNullAssertions.test.ts b/packages/ts/src/rules/consecutiveNonNullAssertions.test.ts index f4b9bc3f6..7c016b277 100644 --- a/packages/ts/src/rules/consecutiveNonNullAssertions.test.ts +++ b/packages/ts/src/rules/consecutiveNonNullAssertions.test.ts @@ -1,5 +1,5 @@ -import rule from "./consecutiveNonNullAssertions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./consecutiveNonNullAssertions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/consecutiveNonNullAssertions.ts b/packages/ts/src/rules/consecutiveNonNullAssertions.ts index 9d3ad5f16..706bd54fe 100644 --- a/packages/ts/src/rules/consecutiveNonNullAssertions.ts +++ b/packages/ts/src/rules/consecutiveNonNullAssertions.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/constantAssignments.test.ts b/packages/ts/src/rules/constantAssignments.test.ts index 09458ffd5..ff8c21ecb 100644 --- a/packages/ts/src/rules/constantAssignments.test.ts +++ b/packages/ts/src/rules/constantAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./constantAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./constantAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/constantAssignments.ts b/packages/ts/src/rules/constantAssignments.ts index 5be658aed..8e35a8eba 100644 --- a/packages/ts/src/rules/constantAssignments.ts +++ b/packages/ts/src/rules/constantAssignments.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { getModifyingReferences } from "../utils/getModifyingReferences.js"; +import { typescriptLanguage } from "../language.ts"; +import { getModifyingReferences } from "../utils/getModifyingReferences.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/constructorReturns.test.ts b/packages/ts/src/rules/constructorReturns.test.ts index accade649..8bd192431 100644 --- a/packages/ts/src/rules/constructorReturns.test.ts +++ b/packages/ts/src/rules/constructorReturns.test.ts @@ -1,5 +1,5 @@ -import rule from "./constructorReturns.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./constructorReturns.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/constructorReturns.ts b/packages/ts/src/rules/constructorReturns.ts index 8b0867621..0c9e159b3 100644 --- a/packages/ts/src/rules/constructorReturns.ts +++ b/packages/ts/src/rules/constructorReturns.ts @@ -1,7 +1,7 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/debuggerStatements.test.ts b/packages/ts/src/rules/debuggerStatements.test.ts index 24ec5a27e..d66c71b3b 100644 --- a/packages/ts/src/rules/debuggerStatements.test.ts +++ b/packages/ts/src/rules/debuggerStatements.test.ts @@ -1,5 +1,5 @@ -import rule from "./debuggerStatements.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./debuggerStatements.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/debuggerStatements.ts b/packages/ts/src/rules/debuggerStatements.ts index 6a670995f..943b81e1d 100644 --- a/packages/ts/src/rules/debuggerStatements.ts +++ b/packages/ts/src/rules/debuggerStatements.ts @@ -1,4 +1,4 @@ -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/defaultCaseLast.test.ts b/packages/ts/src/rules/defaultCaseLast.test.ts index caeebbaba..04bce7811 100644 --- a/packages/ts/src/rules/defaultCaseLast.test.ts +++ b/packages/ts/src/rules/defaultCaseLast.test.ts @@ -1,5 +1,5 @@ -import rule from "./defaultCaseLast.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./defaultCaseLast.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/defaultCaseLast.ts b/packages/ts/src/rules/defaultCaseLast.ts index 5ecde1fcf..36affb4c3 100644 --- a/packages/ts/src/rules/defaultCaseLast.ts +++ b/packages/ts/src/rules/defaultCaseLast.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/duplicateArguments.test.ts b/packages/ts/src/rules/duplicateArguments.test.ts index edaacfc3a..80744cc9b 100644 --- a/packages/ts/src/rules/duplicateArguments.test.ts +++ b/packages/ts/src/rules/duplicateArguments.test.ts @@ -1,5 +1,5 @@ -import rule from "./duplicateArguments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./duplicateArguments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/duplicateArguments.ts b/packages/ts/src/rules/duplicateArguments.ts index 672f04de5..a89800e34 100644 --- a/packages/ts/src/rules/duplicateArguments.ts +++ b/packages/ts/src/rules/duplicateArguments.ts @@ -1,7 +1,10 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/elseIfDuplicates.test.ts b/packages/ts/src/rules/elseIfDuplicates.test.ts index 40308d17a..28ebec3bc 100644 --- a/packages/ts/src/rules/elseIfDuplicates.test.ts +++ b/packages/ts/src/rules/elseIfDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./elseIfDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./elseIfDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/elseIfDuplicates.ts b/packages/ts/src/rules/elseIfDuplicates.ts index a84aa93bf..467dcdf35 100644 --- a/packages/ts/src/rules/elseIfDuplicates.ts +++ b/packages/ts/src/rules/elseIfDuplicates.ts @@ -1,8 +1,8 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { hasSameTokens } from "../utils/hasSameTokens.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { hasSameTokens } from "../utils/hasSameTokens.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/emptyBlocks.test.ts b/packages/ts/src/rules/emptyBlocks.test.ts index 7434fc3c1..6bd980e8b 100644 --- a/packages/ts/src/rules/emptyBlocks.test.ts +++ b/packages/ts/src/rules/emptyBlocks.test.ts @@ -1,5 +1,5 @@ -import rule from "./emptyBlocks.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./emptyBlocks.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/emptyBlocks.ts b/packages/ts/src/rules/emptyBlocks.ts index a79f3aa20..5ab8f7a60 100644 --- a/packages/ts/src/rules/emptyBlocks.ts +++ b/packages/ts/src/rules/emptyBlocks.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; const allowedParents = new Set([ ts.SyntaxKind.ArrowFunction, diff --git a/packages/ts/src/rules/emptyDestructures.test.ts b/packages/ts/src/rules/emptyDestructures.test.ts index fa28bfef3..6323cf332 100644 --- a/packages/ts/src/rules/emptyDestructures.test.ts +++ b/packages/ts/src/rules/emptyDestructures.test.ts @@ -1,5 +1,5 @@ -import rule from "./emptyDestructures.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./emptyDestructures.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/emptyDestructures.ts b/packages/ts/src/rules/emptyDestructures.ts index db27d8d46..2c52aa0a2 100644 --- a/packages/ts/src/rules/emptyDestructures.ts +++ b/packages/ts/src/rules/emptyDestructures.ts @@ -1,6 +1,9 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/emptyStaticBlocks.test.ts b/packages/ts/src/rules/emptyStaticBlocks.test.ts index 5290fddbf..d9614ba77 100644 --- a/packages/ts/src/rules/emptyStaticBlocks.test.ts +++ b/packages/ts/src/rules/emptyStaticBlocks.test.ts @@ -1,5 +1,5 @@ -import rule from "./emptyStaticBlocks.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./emptyStaticBlocks.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ @@ -63,22 +63,22 @@ class Example { code: ` class Multiple { static property = 1; - + static { } - + method() {} } `, snapshot: ` class Multiple { static property = 1; - + static { ~~~~~~~~ Empty static blocks serve no purpose and should be removed for cleaner code. } - + method() {} } `, @@ -88,9 +88,9 @@ class Multiple { updated: ` class Multiple { static property = 1; + - - + method() {} } `, @@ -103,7 +103,7 @@ class MultipleBlocks { static { console.log("first"); } - + static { } } @@ -113,7 +113,7 @@ class MultipleBlocks { static { console.log("first"); } - + static { ~~~~~~~~ Empty static blocks serve no purpose and should be removed for cleaner code. @@ -128,7 +128,7 @@ class MultipleBlocks { static { console.log("first"); } - + } `, @@ -158,7 +158,7 @@ class Multiple { static { console.log("first"); } - + static { console.log("second"); } diff --git a/packages/ts/src/rules/emptyStaticBlocks.ts b/packages/ts/src/rules/emptyStaticBlocks.ts index 7d7cac666..7a80ca3de 100644 --- a/packages/ts/src/rules/emptyStaticBlocks.ts +++ b/packages/ts/src/rules/emptyStaticBlocks.ts @@ -1,4 +1,4 @@ -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/exceptionAssignments.test.ts b/packages/ts/src/rules/exceptionAssignments.test.ts index 1b21ae70e..7d9a5d4e8 100644 --- a/packages/ts/src/rules/exceptionAssignments.test.ts +++ b/packages/ts/src/rules/exceptionAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./exceptionAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./exceptionAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/exceptionAssignments.ts b/packages/ts/src/rules/exceptionAssignments.ts index 085c2d814..74ef7c944 100644 --- a/packages/ts/src/rules/exceptionAssignments.ts +++ b/packages/ts/src/rules/exceptionAssignments.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { getModifyingReferences } from "../utils/getModifyingReferences.js"; +import { typescriptLanguage } from "../language.ts"; +import { getModifyingReferences } from "../utils/getModifyingReferences.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/finallyStatementSafety.test.ts b/packages/ts/src/rules/finallyStatementSafety.test.ts index 24e18c1e8..0b729a9d9 100644 --- a/packages/ts/src/rules/finallyStatementSafety.test.ts +++ b/packages/ts/src/rules/finallyStatementSafety.test.ts @@ -1,5 +1,5 @@ -import rule from "./finallyStatementSafety.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./finallyStatementSafety.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/finallyStatementSafety.ts b/packages/ts/src/rules/finallyStatementSafety.ts index 0d175dfa0..babf6b954 100644 --- a/packages/ts/src/rules/finallyStatementSafety.ts +++ b/packages/ts/src/rules/finallyStatementSafety.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/forDirections.test.ts b/packages/ts/src/rules/forDirections.test.ts index 6932f356c..d4f45dd25 100644 --- a/packages/ts/src/rules/forDirections.test.ts +++ b/packages/ts/src/rules/forDirections.test.ts @@ -1,5 +1,5 @@ -import rule from "./forDirections.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./forDirections.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/forDirections.ts b/packages/ts/src/rules/forDirections.ts index 23858a862..1fd542971 100644 --- a/packages/ts/src/rules/forDirections.ts +++ b/packages/ts/src/rules/forDirections.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; function getConditionDirection( condition: ts.Expression, diff --git a/packages/ts/src/rules/forInArrays.test.ts b/packages/ts/src/rules/forInArrays.test.ts index 491919a08..e86fa5a75 100644 --- a/packages/ts/src/rules/forInArrays.test.ts +++ b/packages/ts/src/rules/forInArrays.test.ts @@ -1,5 +1,5 @@ -import rule from "./forInArrays.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./forInArrays.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/forInArrays.ts b/packages/ts/src/rules/forInArrays.ts index e804b4653..92a20d641 100644 --- a/packages/ts/src/rules/forInArrays.ts +++ b/packages/ts/src/rules/forInArrays.ts @@ -1,9 +1,9 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { getConstrainedTypeAtLocation } from "./utils/getConstrainedType.js"; -import { isTypeRecursive } from "./utils/isTypeRecursive.js"; +import { typescriptLanguage } from "../language.ts"; +import { getConstrainedTypeAtLocation } from "./utils/getConstrainedType.ts"; +import { isTypeRecursive } from "./utils/isTypeRecursive.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/functionAssignments.test.ts b/packages/ts/src/rules/functionAssignments.test.ts index 815165805..3d05f401b 100644 --- a/packages/ts/src/rules/functionAssignments.test.ts +++ b/packages/ts/src/rules/functionAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./functionAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./functionAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/functionAssignments.ts b/packages/ts/src/rules/functionAssignments.ts index fbe7bc170..a5e4552ca 100644 --- a/packages/ts/src/rules/functionAssignments.ts +++ b/packages/ts/src/rules/functionAssignments.ts @@ -1,5 +1,5 @@ -import { typescriptLanguage } from "../language.js"; -import { getModifyingReferences } from "../utils/getModifyingReferences.js"; +import { typescriptLanguage } from "../language.ts"; +import { getModifyingReferences } from "../utils/getModifyingReferences.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/functionCurryingRedundancy.test.ts b/packages/ts/src/rules/functionCurryingRedundancy.test.ts index 675d915e1..4b3fd06d8 100644 --- a/packages/ts/src/rules/functionCurryingRedundancy.test.ts +++ b/packages/ts/src/rules/functionCurryingRedundancy.test.ts @@ -1,5 +1,5 @@ -import rule from "./functionCurryingRedundancy.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./functionCurryingRedundancy.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/functionCurryingRedundancy.ts b/packages/ts/src/rules/functionCurryingRedundancy.ts index 93c6a7ad5..76ed9592b 100644 --- a/packages/ts/src/rules/functionCurryingRedundancy.ts +++ b/packages/ts/src/rules/functionCurryingRedundancy.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { isFunction } from "../utils/isFunction.js"; +import { typescriptLanguage } from "../language.ts"; +import { isFunction } from "../utils/isFunction.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/functionNewCalls.test.ts b/packages/ts/src/rules/functionNewCalls.test.ts index 712131d78..859984455 100644 --- a/packages/ts/src/rules/functionNewCalls.test.ts +++ b/packages/ts/src/rules/functionNewCalls.test.ts @@ -1,5 +1,5 @@ -import rule from "./functionNewCalls.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./functionNewCalls.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/functionNewCalls.ts b/packages/ts/src/rules/functionNewCalls.ts index 627dd1786..fa45971f1 100644 --- a/packages/ts/src/rules/functionNewCalls.ts +++ b/packages/ts/src/rules/functionNewCalls.ts @@ -1,9 +1,12 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; -import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.js"; -import { isGlobalDeclarationOfName } from "../utils/isGlobalDeclarationOfName.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; +import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.ts"; +import { isGlobalDeclarationOfName } from "../utils/isGlobalDeclarationOfName.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/generatorFunctionYields.test.ts b/packages/ts/src/rules/generatorFunctionYields.test.ts index 76463f0ab..72eb48f19 100644 --- a/packages/ts/src/rules/generatorFunctionYields.test.ts +++ b/packages/ts/src/rules/generatorFunctionYields.test.ts @@ -1,5 +1,5 @@ -import rule from "./generatorFunctionYields.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./generatorFunctionYields.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/generatorFunctionYields.ts b/packages/ts/src/rules/generatorFunctionYields.ts index 7cf9c1651..a2c032962 100644 --- a/packages/ts/src/rules/generatorFunctionYields.ts +++ b/packages/ts/src/rules/generatorFunctionYields.ts @@ -1,7 +1,10 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/globalAssignments.test.ts b/packages/ts/src/rules/globalAssignments.test.ts index 967d00c15..cf526ed62 100644 --- a/packages/ts/src/rules/globalAssignments.test.ts +++ b/packages/ts/src/rules/globalAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./globalAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./globalAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/globalAssignments.ts b/packages/ts/src/rules/globalAssignments.ts index 8d02a903a..2d403d54f 100644 --- a/packages/ts/src/rules/globalAssignments.ts +++ b/packages/ts/src/rules/globalAssignments.ts @@ -1,9 +1,9 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { isGlobalVariable } from "../utils/isGlobalVariable.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { isGlobalVariable } from "../utils/isGlobalVariable.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/globalObjectCalls.test.ts b/packages/ts/src/rules/globalObjectCalls.test.ts index e185f98a6..87d8c33b2 100644 --- a/packages/ts/src/rules/globalObjectCalls.test.ts +++ b/packages/ts/src/rules/globalObjectCalls.test.ts @@ -1,5 +1,5 @@ -import rule from "./globalObjectCalls.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./globalObjectCalls.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/globalObjectCalls.ts b/packages/ts/src/rules/globalObjectCalls.ts index 427e8ece3..51cedce66 100644 --- a/packages/ts/src/rules/globalObjectCalls.ts +++ b/packages/ts/src/rules/globalObjectCalls.ts @@ -1,7 +1,10 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; const globalObjects = new Set(["Atomics", "JSON", "Math", "Reflect"]); diff --git a/packages/ts/src/rules/namespaceDeclarations.test.ts b/packages/ts/src/rules/namespaceDeclarations.test.ts index 5c06ed850..cb48b461c 100644 --- a/packages/ts/src/rules/namespaceDeclarations.test.ts +++ b/packages/ts/src/rules/namespaceDeclarations.test.ts @@ -1,5 +1,5 @@ -import rule from "./namespaceDeclarations.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./namespaceDeclarations.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/namespaceDeclarations.ts b/packages/ts/src/rules/namespaceDeclarations.ts index 67e91589d..6082093ba 100644 --- a/packages/ts/src/rules/namespaceDeclarations.ts +++ b/packages/ts/src/rules/namespaceDeclarations.ts @@ -2,8 +2,8 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; import { z } from "zod"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/negativeZeroComparisons.test.ts b/packages/ts/src/rules/negativeZeroComparisons.test.ts index a6a041633..9d27741e5 100644 --- a/packages/ts/src/rules/negativeZeroComparisons.test.ts +++ b/packages/ts/src/rules/negativeZeroComparisons.test.ts @@ -1,5 +1,5 @@ -import rule from "./negativeZeroComparisons.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./negativeZeroComparisons.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/negativeZeroComparisons.ts b/packages/ts/src/rules/negativeZeroComparisons.ts index 2b769eece..0eff4ff12 100644 --- a/packages/ts/src/rules/negativeZeroComparisons.ts +++ b/packages/ts/src/rules/negativeZeroComparisons.ts @@ -1,11 +1,11 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; import { isComparisonOperator, isEqualityOperator, isNegatedEqualityOperator, -} from "./utils/operators.js"; +} from "./utils/operators.ts"; function isNegativeZero(node: ts.Node): boolean { return ( diff --git a/packages/ts/src/rules/newExpressions.test.ts b/packages/ts/src/rules/newExpressions.test.ts index 68754a1a2..e77b871e1 100644 --- a/packages/ts/src/rules/newExpressions.test.ts +++ b/packages/ts/src/rules/newExpressions.test.ts @@ -1,5 +1,5 @@ -import rule from "./newExpressions.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./newExpressions.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/newExpressions.ts b/packages/ts/src/rules/newExpressions.ts index aca741e1c..25597e33a 100644 --- a/packages/ts/src/rules/newExpressions.ts +++ b/packages/ts/src/rules/newExpressions.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/newNativeNonConstructors.test.ts b/packages/ts/src/rules/newNativeNonConstructors.test.ts index 5195ed4c4..fe3f4d6cb 100644 --- a/packages/ts/src/rules/newNativeNonConstructors.test.ts +++ b/packages/ts/src/rules/newNativeNonConstructors.test.ts @@ -1,5 +1,5 @@ -import rule from "./newNativeNonConstructors.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./newNativeNonConstructors.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/newNativeNonConstructors.ts b/packages/ts/src/rules/newNativeNonConstructors.ts index 5351cc771..2e8829bb2 100644 --- a/packages/ts/src/rules/newNativeNonConstructors.ts +++ b/packages/ts/src/rules/newNativeNonConstructors.ts @@ -1,8 +1,8 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/nonOctalDecimalEscapes.test.ts b/packages/ts/src/rules/nonOctalDecimalEscapes.test.ts index 101936cae..918858796 100644 --- a/packages/ts/src/rules/nonOctalDecimalEscapes.test.ts +++ b/packages/ts/src/rules/nonOctalDecimalEscapes.test.ts @@ -1,5 +1,5 @@ -import rule from "./nonOctalDecimalEscapes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./nonOctalDecimalEscapes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/nonOctalDecimalEscapes.ts b/packages/ts/src/rules/nonOctalDecimalEscapes.ts index 3373037f6..b944ade1c 100644 --- a/packages/ts/src/rules/nonOctalDecimalEscapes.ts +++ b/packages/ts/src/rules/nonOctalDecimalEscapes.ts @@ -1,6 +1,9 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { TypeScriptFileServices, typescriptLanguage } from "../language.js"; +import { + type TypeScriptFileServices, + typescriptLanguage, +} from "../language.ts"; const nonOctalDecimalEscapePattern = /\\[89]/g; diff --git a/packages/ts/src/rules/numericLiteralParsing.test.ts b/packages/ts/src/rules/numericLiteralParsing.test.ts index 9b4ac96c2..fc4b59f96 100644 --- a/packages/ts/src/rules/numericLiteralParsing.test.ts +++ b/packages/ts/src/rules/numericLiteralParsing.test.ts @@ -1,5 +1,5 @@ -import rule from "./numericLiteralParsing.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./numericLiteralParsing.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/numericLiteralParsing.ts b/packages/ts/src/rules/numericLiteralParsing.ts index 84a38ca72..963066c82 100644 --- a/packages/ts/src/rules/numericLiteralParsing.ts +++ b/packages/ts/src/rules/numericLiteralParsing.ts @@ -1,8 +1,8 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { isGlobalDeclaration } from "../utils/isGlobalDeclaration.ts"; function convertToLiteral(value: string, radix: number): string { const parsed = Number.parseInt(value, radix); diff --git a/packages/ts/src/rules/objectCalls.test.ts b/packages/ts/src/rules/objectCalls.test.ts index 612c90ffc..e75966390 100644 --- a/packages/ts/src/rules/objectCalls.test.ts +++ b/packages/ts/src/rules/objectCalls.test.ts @@ -1,5 +1,5 @@ -import rule from "./objectCalls.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./objectCalls.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/objectCalls.ts b/packages/ts/src/rules/objectCalls.ts index 3e3095b0b..737f48be3 100644 --- a/packages/ts/src/rules/objectCalls.ts +++ b/packages/ts/src/rules/objectCalls.ts @@ -1,8 +1,8 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { isGlobalDeclarationOfName } from "../utils/isGlobalDeclarationOfName.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { isGlobalDeclarationOfName } from "../utils/isGlobalDeclarationOfName.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/objectHasOwns.test.ts b/packages/ts/src/rules/objectHasOwns.test.ts index e5f40e771..85494f6ed 100644 --- a/packages/ts/src/rules/objectHasOwns.test.ts +++ b/packages/ts/src/rules/objectHasOwns.test.ts @@ -1,5 +1,5 @@ -import rule from "./objectHasOwns.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./objectHasOwns.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/objectHasOwns.ts b/packages/ts/src/rules/objectHasOwns.ts index 6c31644f8..5a15149f4 100644 --- a/packages/ts/src/rules/objectHasOwns.ts +++ b/packages/ts/src/rules/objectHasOwns.ts @@ -1,8 +1,8 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { isGlobalDeclarationOfName } from "../utils/isGlobalDeclarationOfName.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { isGlobalDeclarationOfName } from "../utils/isGlobalDeclarationOfName.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/objectKeyDuplicates.test.ts b/packages/ts/src/rules/objectKeyDuplicates.test.ts index 47fb3a7de..53bf60ac9 100644 --- a/packages/ts/src/rules/objectKeyDuplicates.test.ts +++ b/packages/ts/src/rules/objectKeyDuplicates.test.ts @@ -1,5 +1,5 @@ -import rule from "./objectKeyDuplicates.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./objectKeyDuplicates.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/objectKeyDuplicates.ts b/packages/ts/src/rules/objectKeyDuplicates.ts index e931cce14..2201cb9fc 100644 --- a/packages/ts/src/rules/objectKeyDuplicates.ts +++ b/packages/ts/src/rules/objectKeyDuplicates.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/objectProto.test.ts b/packages/ts/src/rules/objectProto.test.ts index 7d38be9fe..def66978a 100644 --- a/packages/ts/src/rules/objectProto.test.ts +++ b/packages/ts/src/rules/objectProto.test.ts @@ -1,5 +1,5 @@ -import rule from "./objectProto.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./objectProto.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/objectProto.ts b/packages/ts/src/rules/objectProto.ts index 67926963f..5099cc4b7 100644 --- a/packages/ts/src/rules/objectProto.ts +++ b/packages/ts/src/rules/objectProto.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/objectPrototypeBuiltIns.test.ts b/packages/ts/src/rules/objectPrototypeBuiltIns.test.ts index ae4b2b721..8017f657a 100644 --- a/packages/ts/src/rules/objectPrototypeBuiltIns.test.ts +++ b/packages/ts/src/rules/objectPrototypeBuiltIns.test.ts @@ -1,5 +1,5 @@ -import rule from "./objectPrototypeBuiltIns.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./objectPrototypeBuiltIns.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/objectPrototypeBuiltIns.ts b/packages/ts/src/rules/objectPrototypeBuiltIns.ts index e14a01266..7f1c90970 100644 --- a/packages/ts/src/rules/objectPrototypeBuiltIns.ts +++ b/packages/ts/src/rules/objectPrototypeBuiltIns.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; const prototypeMethods = new Set([ "hasOwnProperty", diff --git a/packages/ts/src/rules/octalEscapes.test.ts b/packages/ts/src/rules/octalEscapes.test.ts index b280dd189..16d2236ee 100644 --- a/packages/ts/src/rules/octalEscapes.test.ts +++ b/packages/ts/src/rules/octalEscapes.test.ts @@ -1,5 +1,5 @@ -import rule from "./octalEscapes.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./octalEscapes.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/octalEscapes.ts b/packages/ts/src/rules/octalEscapes.ts index 71a2d2be5..5a0937dbd 100644 --- a/packages/ts/src/rules/octalEscapes.ts +++ b/packages/ts/src/rules/octalEscapes.ts @@ -1,6 +1,6 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; /** * Finds the position and length of an octal escape sequence in a string. diff --git a/packages/ts/src/rules/octalNumbers.test.ts b/packages/ts/src/rules/octalNumbers.test.ts index 428b1b4f4..9e4b34c80 100644 --- a/packages/ts/src/rules/octalNumbers.test.ts +++ b/packages/ts/src/rules/octalNumbers.test.ts @@ -1,5 +1,5 @@ -import rule from "./octalNumbers.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./octalNumbers.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/octalNumbers.ts b/packages/ts/src/rules/octalNumbers.ts index fdcba14b3..4efa95bc2 100644 --- a/packages/ts/src/rules/octalNumbers.ts +++ b/packages/ts/src/rules/octalNumbers.ts @@ -1,4 +1,4 @@ -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/returnAssignments.test.ts b/packages/ts/src/rules/returnAssignments.test.ts index 7015f053c..c0f3e70e9 100644 --- a/packages/ts/src/rules/returnAssignments.test.ts +++ b/packages/ts/src/rules/returnAssignments.test.ts @@ -1,5 +1,5 @@ -import rule from "./returnAssignments.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./returnAssignments.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/returnAssignments.ts b/packages/ts/src/rules/returnAssignments.ts index abb62ab88..68f7d0ddf 100644 --- a/packages/ts/src/rules/returnAssignments.ts +++ b/packages/ts/src/rules/returnAssignments.ts @@ -1,9 +1,9 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { unwrapParenthesizedExpression } from "../utils/unwrapParenthesizedExpression.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { unwrapParenthesizedExpression } from "../utils/unwrapParenthesizedExpression.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/selfAssignments.test.ts b/packages/ts/src/rules/selfAssignments.test.ts index e2b17d267..aaa4057d8 100644 --- a/packages/ts/src/rules/selfAssignments.test.ts +++ b/packages/ts/src/rules/selfAssignments.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./selfAssignments.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./selfAssignments.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/selfAssignments.ts b/packages/ts/src/rules/selfAssignments.ts index 0dba04014..61ca50c51 100644 --- a/packages/ts/src/rules/selfAssignments.ts +++ b/packages/ts/src/rules/selfAssignments.ts @@ -1,8 +1,8 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; -import { hasSameTokens } from "../utils/hasSameTokens.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; +import { hasSameTokens } from "../utils/hasSameTokens.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/selfComparisons.test.ts b/packages/ts/src/rules/selfComparisons.test.ts index f1ac809bc..81a2aa7d9 100644 --- a/packages/ts/src/rules/selfComparisons.test.ts +++ b/packages/ts/src/rules/selfComparisons.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./selfComparisons.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./selfComparisons.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/selfComparisons.ts b/packages/ts/src/rules/selfComparisons.ts index be6283a57..d5722db2c 100644 --- a/packages/ts/src/rules/selfComparisons.ts +++ b/packages/ts/src/rules/selfComparisons.ts @@ -1,6 +1,6 @@ -import { typescriptLanguage } from "../language.js"; -import { hasSameTokens } from "../utils/hasSameTokens.js"; -import { isComparisonOperator } from "./utils/operators.js"; +import { typescriptLanguage } from "../language.ts"; +import { hasSameTokens } from "../utils/hasSameTokens.ts"; +import { isComparisonOperator } from "./utils/operators.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/sequences.test.ts b/packages/ts/src/rules/sequences.test.ts index 24b852e00..541850e16 100644 --- a/packages/ts/src/rules/sequences.test.ts +++ b/packages/ts/src/rules/sequences.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./sequences.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./sequences.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/sequences.ts b/packages/ts/src/rules/sequences.ts index 23e7bc9b6..671a2179f 100644 --- a/packages/ts/src/rules/sequences.ts +++ b/packages/ts/src/rules/sequences.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/shadowedRestrictedNames.test.ts b/packages/ts/src/rules/shadowedRestrictedNames.test.ts index 6ed27ab5f..cc177c160 100644 --- a/packages/ts/src/rules/shadowedRestrictedNames.test.ts +++ b/packages/ts/src/rules/shadowedRestrictedNames.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./shadowedRestrictedNames.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./shadowedRestrictedNames.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/shadowedRestrictedNames.ts b/packages/ts/src/rules/shadowedRestrictedNames.ts index 61d6750df..fdc4819bf 100644 --- a/packages/ts/src/rules/shadowedRestrictedNames.ts +++ b/packages/ts/src/rules/shadowedRestrictedNames.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; const restrictedNames = new Set([ "arguments", diff --git a/packages/ts/src/rules/sparseArrays.test.ts b/packages/ts/src/rules/sparseArrays.test.ts index 2cc704fbb..9335e4c40 100644 --- a/packages/ts/src/rules/sparseArrays.test.ts +++ b/packages/ts/src/rules/sparseArrays.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./sparseArrays.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./sparseArrays.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/sparseArrays.ts b/packages/ts/src/rules/sparseArrays.ts index ce59726a8..91176ff86 100644 --- a/packages/ts/src/rules/sparseArrays.ts +++ b/packages/ts/src/rules/sparseArrays.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/symbolDescriptions.test.ts b/packages/ts/src/rules/symbolDescriptions.test.ts index d9290f449..350ec82d8 100644 --- a/packages/ts/src/rules/symbolDescriptions.test.ts +++ b/packages/ts/src/rules/symbolDescriptions.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./symbolDescriptions.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./symbolDescriptions.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/symbolDescriptions.ts b/packages/ts/src/rules/symbolDescriptions.ts index 64ce152f0..58392bd84 100644 --- a/packages/ts/src/rules/symbolDescriptions.ts +++ b/packages/ts/src/rules/symbolDescriptions.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/typeofComparisons.test.ts b/packages/ts/src/rules/typeofComparisons.test.ts index 79b26546c..00a587e47 100644 --- a/packages/ts/src/rules/typeofComparisons.test.ts +++ b/packages/ts/src/rules/typeofComparisons.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./typeofComparisons.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./typeofComparisons.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/typeofComparisons.ts b/packages/ts/src/rules/typeofComparisons.ts index b7a66c94c..5275b12a7 100644 --- a/packages/ts/src/rules/typeofComparisons.ts +++ b/packages/ts/src/rules/typeofComparisons.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; const validTypeofValues = new Set([ "bigint", diff --git a/packages/ts/src/rules/unassignedVariables.test.ts b/packages/ts/src/rules/unassignedVariables.test.ts index 83fac4751..05afa7b58 100644 --- a/packages/ts/src/rules/unassignedVariables.test.ts +++ b/packages/ts/src/rules/unassignedVariables.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unassignedVariables.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unassignedVariables.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/unassignedVariables.ts b/packages/ts/src/rules/unassignedVariables.ts index 1f9583160..d07be68f4 100644 --- a/packages/ts/src/rules/unassignedVariables.ts +++ b/packages/ts/src/rules/unassignedVariables.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { getModifyingReferences } from "../utils/getModifyingReferences.js"; +import { typescriptLanguage } from "../language.ts"; +import { getModifyingReferences } from "../utils/getModifyingReferences.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/undefinedVariables.test.ts b/packages/ts/src/rules/undefinedVariables.test.ts index b447caeba..e5bfcedd2 100644 --- a/packages/ts/src/rules/undefinedVariables.test.ts +++ b/packages/ts/src/rules/undefinedVariables.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./undefinedVariables.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./undefinedVariables.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/undefinedVariables.ts b/packages/ts/src/rules/undefinedVariables.ts index 4851ccfe4..3224cd40c 100644 --- a/packages/ts/src/rules/undefinedVariables.ts +++ b/packages/ts/src/rules/undefinedVariables.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/unicodeBOMs.test.ts b/packages/ts/src/rules/unicodeBOMs.test.ts index 211df3cc9..0d7ab6398 100644 --- a/packages/ts/src/rules/unicodeBOMs.test.ts +++ b/packages/ts/src/rules/unicodeBOMs.test.ts @@ -1,6 +1,6 @@ // flint-disable-file invalidCodeLines -- This rule checks the first character of code files. -import { ruleTester } from "./ruleTester.js"; -import rule from "./unicodeBOMs.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unicodeBOMs.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/unicodeBOMs.ts b/packages/ts/src/rules/unicodeBOMs.ts index d13c8c386..617c53e7a 100644 --- a/packages/ts/src/rules/unicodeBOMs.ts +++ b/packages/ts/src/rules/unicodeBOMs.ts @@ -1,4 +1,4 @@ -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/unnecessaryBlocks.test.ts b/packages/ts/src/rules/unnecessaryBlocks.test.ts index 8181705dc..3032c48e8 100644 --- a/packages/ts/src/rules/unnecessaryBlocks.test.ts +++ b/packages/ts/src/rules/unnecessaryBlocks.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unnecessaryBlocks.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unnecessaryBlocks.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/unnecessaryBlocks.ts b/packages/ts/src/rules/unnecessaryBlocks.ts index 6afefa38f..3f55107bc 100644 --- a/packages/ts/src/rules/unnecessaryBlocks.ts +++ b/packages/ts/src/rules/unnecessaryBlocks.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/unnecessaryCatches.test.ts b/packages/ts/src/rules/unnecessaryCatches.test.ts index 87be3a43c..632ff886b 100644 --- a/packages/ts/src/rules/unnecessaryCatches.test.ts +++ b/packages/ts/src/rules/unnecessaryCatches.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unnecessaryCatches.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unnecessaryCatches.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/unnecessaryCatches.ts b/packages/ts/src/rules/unnecessaryCatches.ts index 9701d0310..cf11a9d18 100644 --- a/packages/ts/src/rules/unnecessaryCatches.ts +++ b/packages/ts/src/rules/unnecessaryCatches.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/unnecessaryConcatenation.test.ts b/packages/ts/src/rules/unnecessaryConcatenation.test.ts index 8c2b3fa68..f9251e10f 100644 --- a/packages/ts/src/rules/unnecessaryConcatenation.test.ts +++ b/packages/ts/src/rules/unnecessaryConcatenation.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unnecessaryConcatenation.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unnecessaryConcatenation.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/unnecessaryConcatenation.ts b/packages/ts/src/rules/unnecessaryConcatenation.ts index a747621ca..c1477b23f 100644 --- a/packages/ts/src/rules/unnecessaryConcatenation.ts +++ b/packages/ts/src/rules/unnecessaryConcatenation.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { getTSNodeRange } from "../getTSNodeRange.js"; -import { typescriptLanguage } from "../language.js"; +import { getTSNodeRange } from "../getTSNodeRange.ts"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/unsafeNegations.test.ts b/packages/ts/src/rules/unsafeNegations.test.ts index c3a9dc28e..ecc9e0882 100644 --- a/packages/ts/src/rules/unsafeNegations.test.ts +++ b/packages/ts/src/rules/unsafeNegations.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./unsafeNegations.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./unsafeNegations.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/unsafeNegations.ts b/packages/ts/src/rules/unsafeNegations.ts index fceabd420..aa3ac5474 100644 --- a/packages/ts/src/rules/unsafeNegations.ts +++ b/packages/ts/src/rules/unsafeNegations.ts @@ -1,7 +1,7 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; -import { unwrapParenthesizedExpression } from "../utils/unwrapParenthesizedExpression.js"; +import { typescriptLanguage } from "../language.ts"; +import { unwrapParenthesizedExpression } from "../utils/unwrapParenthesizedExpression.ts"; const operatorStrings = new Map([ [ts.SyntaxKind.InKeyword, "in"], diff --git a/packages/ts/src/rules/utils/discriminateAnyType.ts b/packages/ts/src/rules/utils/discriminateAnyType.ts index 827e98a6e..53f3a6c59 100644 --- a/packages/ts/src/rules/utils/discriminateAnyType.ts +++ b/packages/ts/src/rules/utils/discriminateAnyType.ts @@ -1,12 +1,13 @@ import * as tsutils from "ts-api-utils"; import * as ts from "typescript"; -export enum AnyType { - Any, - PromiseAny, - AnyArray, - Safe, -} +export const AnyType = { + Any: "Any", + AnyArray: "AnyArray", + PromiseAny: "PromiseAny", + Safe: "Safe", +} as const; +export type AnyType = (typeof AnyType)[keyof typeof AnyType]; /** * @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise<any>`, diff --git a/packages/ts/src/rules/utils/getConstrainedType.ts b/packages/ts/src/rules/utils/getConstrainedType.ts index 84a00cf5d..745cf5e79 100644 --- a/packages/ts/src/rules/utils/getConstrainedType.ts +++ b/packages/ts/src/rules/utils/getConstrainedType.ts @@ -1,4 +1,4 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; export function getConstrainedTypeAtLocation( node: ts.Node, diff --git a/packages/ts/src/rules/utils/isTypeRecursive.ts b/packages/ts/src/rules/utils/isTypeRecursive.ts index 6b1731006..32729364e 100644 --- a/packages/ts/src/rules/utils/isTypeRecursive.ts +++ b/packages/ts/src/rules/utils/isTypeRecursive.ts @@ -1,4 +1,4 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; export function isTypeRecursive( type: ts.Type, diff --git a/packages/ts/src/rules/variableDeletions.test.ts b/packages/ts/src/rules/variableDeletions.test.ts index 830d1e620..31605c7f8 100644 --- a/packages/ts/src/rules/variableDeletions.test.ts +++ b/packages/ts/src/rules/variableDeletions.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./variableDeletions.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./variableDeletions.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/variableDeletions.ts b/packages/ts/src/rules/variableDeletions.ts index 397c5cfd5..44dc12d48 100644 --- a/packages/ts/src/rules/variableDeletions.ts +++ b/packages/ts/src/rules/variableDeletions.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/voidOperator.test.ts b/packages/ts/src/rules/voidOperator.test.ts index 6e50b4f32..db20aae5e 100644 --- a/packages/ts/src/rules/voidOperator.test.ts +++ b/packages/ts/src/rules/voidOperator.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./voidOperator.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./voidOperator.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/voidOperator.ts b/packages/ts/src/rules/voidOperator.ts index 274b36bfe..99f432389 100644 --- a/packages/ts/src/rules/voidOperator.ts +++ b/packages/ts/src/rules/voidOperator.ts @@ -1,4 +1,4 @@ -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; export default typescriptLanguage.createRule({ about: { diff --git a/packages/ts/src/rules/withStatements.test.ts b/packages/ts/src/rules/withStatements.test.ts index f85d9c6ed..da6ee700d 100644 --- a/packages/ts/src/rules/withStatements.test.ts +++ b/packages/ts/src/rules/withStatements.test.ts @@ -1,5 +1,5 @@ -import { ruleTester } from "./ruleTester.js"; -import rule from "./withStatements.js"; +import { ruleTester } from "./ruleTester.ts"; +import rule from "./withStatements.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/ts/src/rules/withStatements.ts b/packages/ts/src/rules/withStatements.ts index c25e23a63..8b9aacffb 100644 --- a/packages/ts/src/rules/withStatements.ts +++ b/packages/ts/src/rules/withStatements.ts @@ -1,4 +1,4 @@ -import { typescriptLanguage } from "../language.js"; +import { typescriptLanguage } from "../language.ts"; const withKeyword = "with"; diff --git a/packages/ts/src/utils/declarationIncludesGlobal.ts b/packages/ts/src/utils/declarationIncludesGlobal.ts index dee27c743..d54cce74f 100644 --- a/packages/ts/src/utils/declarationIncludesGlobal.ts +++ b/packages/ts/src/utils/declarationIncludesGlobal.ts @@ -1,4 +1,4 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; export function declarationIncludesGlobal(declaration: ts.Declaration) { const sourceFile = declaration.getSourceFile(); diff --git a/packages/ts/src/utils/declarationsIncludeGlobal.ts b/packages/ts/src/utils/declarationsIncludeGlobal.ts index 509588898..a823e97b8 100644 --- a/packages/ts/src/utils/declarationsIncludeGlobal.ts +++ b/packages/ts/src/utils/declarationsIncludeGlobal.ts @@ -1,6 +1,6 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { declarationIncludesGlobal } from "./declarationIncludesGlobal.js"; +import { declarationIncludesGlobal } from "./declarationIncludesGlobal.ts"; export function declarationsIncludeGlobal(declarations: ts.Declaration[]) { return declarations.some(declarationIncludesGlobal); diff --git a/packages/ts/src/utils/getDeclarationsIfGlobal.ts b/packages/ts/src/utils/getDeclarationsIfGlobal.ts index dc7406258..5cc97a10c 100644 --- a/packages/ts/src/utils/getDeclarationsIfGlobal.ts +++ b/packages/ts/src/utils/getDeclarationsIfGlobal.ts @@ -1,6 +1,6 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { declarationsIncludeGlobal } from "./declarationsIncludeGlobal.js"; +import { declarationsIncludeGlobal } from "./declarationsIncludeGlobal.ts"; export function getDeclarationsIfGlobal( node: ts.Expression, diff --git a/packages/ts/src/utils/isFunction.ts b/packages/ts/src/utils/isFunction.ts index 1322e751f..19ad68ffa 100644 --- a/packages/ts/src/utils/isFunction.ts +++ b/packages/ts/src/utils/isFunction.ts @@ -1,4 +1,4 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; export function isFunction(node: ts.Expression, typeChecker: ts.TypeChecker) { const objectType = typeChecker.getTypeAtLocation(node); diff --git a/packages/ts/src/utils/isGlobalDeclaration.ts b/packages/ts/src/utils/isGlobalDeclaration.ts index 3268b4f56..652e146e0 100644 --- a/packages/ts/src/utils/isGlobalDeclaration.ts +++ b/packages/ts/src/utils/isGlobalDeclaration.ts @@ -1,6 +1,6 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { getDeclarationsIfGlobal } from "./getDeclarationsIfGlobal.js"; +import { getDeclarationsIfGlobal } from "./getDeclarationsIfGlobal.ts"; export function isGlobalDeclaration( node: ts.Expression, diff --git a/packages/ts/src/utils/isGlobalDeclarationOfName.ts b/packages/ts/src/utils/isGlobalDeclarationOfName.ts index d2503f322..42a20f5c6 100644 --- a/packages/ts/src/utils/isGlobalDeclarationOfName.ts +++ b/packages/ts/src/utils/isGlobalDeclarationOfName.ts @@ -1,6 +1,6 @@ import * as ts from "typescript"; -import { declarationIncludesGlobal } from "./declarationIncludesGlobal.js"; +import { declarationIncludesGlobal } from "./declarationIncludesGlobal.ts"; /** * TODO: Use a scope analyzer (#400). diff --git a/packages/ts/src/utils/isGlobalVariable.ts b/packages/ts/src/utils/isGlobalVariable.ts index ccee02e7b..c0ed3ba6d 100644 --- a/packages/ts/src/utils/isGlobalVariable.ts +++ b/packages/ts/src/utils/isGlobalVariable.ts @@ -1,6 +1,6 @@ -import * as ts from "typescript"; +import type * as ts from "typescript"; -import { declarationsIncludeGlobal } from "./declarationsIncludeGlobal.js"; +import { declarationsIncludeGlobal } from "./declarationsIncludeGlobal.ts"; /** * Checks if a node is a reference to a global variable (e.g., Object, undefined, NaN). diff --git a/packages/ts/tsconfig.test.json b/packages/ts/tsconfig.test.json index 3b5325cc8..74ca957c3 100644 --- a/packages/ts/tsconfig.test.json +++ b/packages/ts/tsconfig.test.json @@ -3,7 +3,8 @@ "tsBuildInfoFile": "node_modules/.cache/tsbuild/info.test.json", "rootDir": "src/", "outDir": "node_modules/.cache/tsbuild/test", - "types": ["node"] + "types": ["node"], + "erasableSyntaxOnly": false }, "extends": "../../tsconfig.base.json", "include": ["src/**/*.test.ts", "src/rules/ruleTester.ts"], diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index ba734165b..4680a41c2 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,4 +1,4 @@ -export * from "./isTruthy.js"; -export * from "./makeAbsolute.js"; -export * from "./parseJsonSafe.js"; -export * from "./promises.js"; +export * from "./isTruthy.ts"; +export * from "./makeAbsolute.ts"; +export * from "./parseJsonSafe.ts"; +export * from "./promises.ts"; diff --git a/packages/yaml/src/createYamlFile.ts b/packages/yaml/src/createYamlFile.ts index b2b72dc69..cd862d798 100644 --- a/packages/yaml/src/createYamlFile.ts +++ b/packages/yaml/src/createYamlFile.ts @@ -1,8 +1,8 @@ import { getColumnAndLineOfPosition, - LanguageFileDefinition, - NormalizedReport, - RuleReport, + type LanguageFileDefinition, + type NormalizedReport, + type RuleReport, } from "@flint.fyi/core"; import { visit } from "unist-util-visit"; import * as yamlParser from "yaml-unist-parser"; diff --git a/packages/yaml/src/directives/parseDirectivesFromYamlFile.ts b/packages/yaml/src/directives/parseDirectivesFromYamlFile.ts index c99c3fd8e..bf3940e3c 100644 --- a/packages/yaml/src/directives/parseDirectivesFromYamlFile.ts +++ b/packages/yaml/src/directives/parseDirectivesFromYamlFile.ts @@ -1,5 +1,5 @@ import { DirectivesCollector } from "@flint.fyi/core"; -import * as yamlParser from "yaml-unist-parser"; +import type * as yamlParser from "yaml-unist-parser"; export function parseDirectivesFromYamlFile( root: yamlParser.Root, diff --git a/packages/yaml/src/index.ts b/packages/yaml/src/index.ts index d1d29baeb..d12ed6eea 100644 --- a/packages/yaml/src/index.ts +++ b/packages/yaml/src/index.ts @@ -1,2 +1,2 @@ -export { yamlLanguage } from "./language.js"; -export { yaml } from "./plugin.js"; +export { yamlLanguage } from "./language.ts"; +export { yaml } from "./plugin.ts"; diff --git a/packages/yaml/src/language.ts b/packages/yaml/src/language.ts index 59289d139..093dde5ac 100644 --- a/packages/yaml/src/language.ts +++ b/packages/yaml/src/language.ts @@ -1,11 +1,10 @@ -import type * as yamlParser from "yaml-unist-parser"; - import { createLanguage } from "@flint.fyi/core"; import fsSync from "node:fs"; +import type * as yamlParser from "yaml-unist-parser"; -import { createYamlFile } from "./createYamlFile.js"; -import { YamlNodesByName } from "./nodes.js"; -import { prepareYamlFile } from "./prepareYamlFile.js"; +import { createYamlFile } from "./createYamlFile.ts"; +import type { YamlNodesByName } from "./nodes.ts"; +import { prepareYamlFile } from "./prepareYamlFile.ts"; export interface YamlServices { root: yamlParser.Root; diff --git a/packages/yaml/src/plugin.ts b/packages/yaml/src/plugin.ts index e2b07829c..0b5ddff10 100644 --- a/packages/yaml/src/plugin.ts +++ b/packages/yaml/src/plugin.ts @@ -1,6 +1,6 @@ import { createPlugin } from "@flint.fyi/core"; -import emptyMappingKeys from "./rules/emptyMappingKeys.js"; +import emptyMappingKeys from "./rules/emptyMappingKeys.ts"; export const yaml = createPlugin({ files: { diff --git a/packages/yaml/src/prepareYamlFile.ts b/packages/yaml/src/prepareYamlFile.ts index c30a63d8f..2b263ae5e 100644 --- a/packages/yaml/src/prepareYamlFile.ts +++ b/packages/yaml/src/prepareYamlFile.ts @@ -1,7 +1,7 @@ -import { LanguageFileDefinition } from "@flint.fyi/core"; -import * as yamlParser from "yaml-unist-parser"; +import type { LanguageFileDefinition } from "@flint.fyi/core"; +import type * as yamlParser from "yaml-unist-parser"; -import { parseDirectivesFromYamlFile } from "./directives/parseDirectivesFromYamlFile.js"; +import { parseDirectivesFromYamlFile } from "./directives/parseDirectivesFromYamlFile.ts"; export function prepareYamlFile( languageFile: LanguageFileDefinition, diff --git a/packages/yaml/src/rules/emptyMappingKeys.test.ts b/packages/yaml/src/rules/emptyMappingKeys.test.ts index 1be5dd70c..fb45cfa7d 100644 --- a/packages/yaml/src/rules/emptyMappingKeys.test.ts +++ b/packages/yaml/src/rules/emptyMappingKeys.test.ts @@ -1,5 +1,5 @@ -import rule from "./emptyMappingKeys.js"; -import { ruleTester } from "./ruleTester.js"; +import rule from "./emptyMappingKeys.ts"; +import { ruleTester } from "./ruleTester.ts"; ruleTester.describe(rule, { invalid: [ diff --git a/packages/yaml/src/rules/emptyMappingKeys.ts b/packages/yaml/src/rules/emptyMappingKeys.ts index f839707de..00faa4780 100644 --- a/packages/yaml/src/rules/emptyMappingKeys.ts +++ b/packages/yaml/src/rules/emptyMappingKeys.ts @@ -1,4 +1,4 @@ -import { yamlLanguage } from "../language.js"; +import { yamlLanguage } from "../language.ts"; export default yamlLanguage.createRule({ about: { diff --git a/tsconfig.base.json b/tsconfig.base.json index a42f17f6b..aa29cf151 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,13 +1,13 @@ { "compilerOptions": { + "allowImportingTsExtensions": true, "allowJs": true, "checkJs": true, "composite": true, "declaration": true, "declarationMap": true, "emitDeclarationOnly": true, - "esModuleInterop": true, - "isolatedModules": true, + "erasableSyntaxOnly": true, "lib": ["ESNext"], "module": "NodeNext", "moduleDetection": "force", @@ -17,6 +17,7 @@ "sourceMap": true, "strict": true, "target": "ESNext", - "types": [] + "types": [], + "verbatimModuleSyntax": true } }