diff --git a/eslint.config.js b/eslint.config.js index c7045d6c..854037f5 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -96,6 +96,11 @@ file that was distributed with this source code.`, // In TypeScript files, types live in the signature, not in JSDoc. 'jsdoc/require-param': 'off', 'jsdoc/require-returns': 'off', + // tsc owns module resolution for `.ts` files (strict, build fails on + // a missing import). eslint-plugin-n is not TS-aware: from a `.ts` + // file it rewrites `.js` -> `.ts` and cannot resolve imports of + // not-yet-migrated `.js` modules. `.js` files keep the rule. + 'n/no-missing-import': 'off', }, }, { diff --git a/lib/EncoreProxy.js b/lib/EncoreProxy.js index c11f8250..2de1f339 100644 --- a/lib/EncoreProxy.js +++ b/lib/EncoreProxy.js @@ -10,7 +10,7 @@ import levenshtein from 'fastest-levenshtein'; import pc from 'picocolors'; -import prettyError from './utils/pretty-error.js'; +import prettyError from './utils/pretty-error.ts'; // Public methods that were removed. We show an explicit migration message instead of relying on // the generic "did you mean" suggestion below, whose closest Levenshtein match would be misleading. diff --git a/lib/config-generator.js b/lib/config-generator.js index 553a7e40..35a47112 100644 --- a/lib/config-generator.js +++ b/lib/config-generator.js @@ -43,9 +43,9 @@ import notifierPluginUtil from './plugins/notifier.js'; import PluginPriorities from './plugins/plugin-priorities.js'; import variableProviderPluginUtil from './plugins/variable-provider.js'; import vuePluginUtil from './plugins/vue.js'; -import applyOptionsCallback from './utils/apply-options-callback.js'; -import copyEntryTmpName from './utils/copyEntryTmpName.js'; -import getVueVersion from './utils/get-vue-version.js'; +import applyOptionsCallback from './utils/apply-options-callback.ts'; +import copyEntryTmpName from './utils/copyEntryTmpName.ts'; +import getVueVersion from './utils/get-vue-version.ts'; import stringEscaper from './utils/string-escaper.ts'; class ConfigGenerator { diff --git a/lib/config/parse-runtime.js b/lib/config/parse-runtime.js index 33d3cfb3..d3b77ad2 100644 --- a/lib/config/parse-runtime.js +++ b/lib/config/parse-runtime.js @@ -9,7 +9,7 @@ import path from 'path'; -import packageUp from '../utils/package-up.js'; +import packageUp from '../utils/package-up.ts'; import RuntimeConfig from './RuntimeConfig.js'; /** diff --git a/lib/friendly-errors/transformers/missing-loader.js b/lib/friendly-errors/transformers/missing-loader.js index 2b0e5df3..afff0045 100644 --- a/lib/friendly-errors/transformers/missing-loader.js +++ b/lib/friendly-errors/transformers/missing-loader.js @@ -7,7 +7,7 @@ * file that was distributed with this source code. */ -import getVueVersion from '../../utils/get-vue-version.js'; +import getVueVersion from '../../utils/get-vue-version.ts'; const TYPE = 'loader-not-enabled'; diff --git a/lib/loaders/babel.js b/lib/loaders/babel.js index 34df4368..2044f16e 100644 --- a/lib/loaders/babel.js +++ b/lib/loaders/babel.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; export default { /** diff --git a/lib/loaders/css-extract.js b/lib/loaders/css-extract.js index b26282cd..52b48085 100644 --- a/lib/loaders/css-extract.js +++ b/lib/loaders/css-extract.js @@ -15,7 +15,7 @@ import { fileURLToPath } from 'url'; import MiniCssExtractPlugin from 'mini-css-extract-plugin'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; export default { /** diff --git a/lib/loaders/css.js b/lib/loaders/css.js index b146c4e8..0723d1d2 100644 --- a/lib/loaders/css.js +++ b/lib/loaders/css.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; export default { /** diff --git a/lib/loaders/handlebars.js b/lib/loaders/handlebars.js index 3ea12d9e..264f439e 100644 --- a/lib/loaders/handlebars.js +++ b/lib/loaders/handlebars.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; export default { /** diff --git a/lib/loaders/less.js b/lib/loaders/less.js index 16216fe8..3f7bc129 100644 --- a/lib/loaders/less.js +++ b/lib/loaders/less.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import cssLoader from './css.js'; export default { diff --git a/lib/loaders/sass.js b/lib/loaders/sass.js index 516a6cbc..8c24fbd9 100644 --- a/lib/loaders/sass.js +++ b/lib/loaders/sass.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import cssLoader from './css.js'; export default { diff --git a/lib/loaders/stylus.js b/lib/loaders/stylus.js index 3dc143be..a908c84f 100644 --- a/lib/loaders/stylus.js +++ b/lib/loaders/stylus.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import cssLoader from './css.js'; export default { diff --git a/lib/loaders/typescript.js b/lib/loaders/typescript.js index 95a3014a..a27048fa 100644 --- a/lib/loaders/typescript.js +++ b/lib/loaders/typescript.js @@ -14,7 +14,7 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import babelLoader from './babel.js'; export default { diff --git a/lib/loaders/vue.js b/lib/loaders/vue.js index 9b811a23..aaf1cdc4 100644 --- a/lib/loaders/vue.js +++ b/lib/loaders/vue.js @@ -14,8 +14,8 @@ import { fileURLToPath } from 'url'; import loaderFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; -import getVueVersion from '../utils/get-vue-version.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; +import getVueVersion from '../utils/get-vue-version.ts'; export default { /** diff --git a/lib/plugins/css-minimizer.js b/lib/plugins/css-minimizer.js index 92068b7e..3a0f5313 100644 --- a/lib/plugins/css-minimizer.js +++ b/lib/plugins/css-minimizer.js @@ -13,8 +13,8 @@ import MinimizerPlugin from 'minimizer-webpack-plugin'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; -import { checkCssMinifierPackages } from '../utils/minifier-check.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; +import { checkCssMinifierPackages } from '../utils/minifier-check.ts'; /** * @param {WebpackConfig} webpackConfig diff --git a/lib/plugins/define.js b/lib/plugins/define.js index da5998c4..bae4f5a5 100644 --- a/lib/plugins/define.js +++ b/lib/plugins/define.js @@ -13,7 +13,7 @@ import webpack from 'webpack'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import PluginPriorities from './plugin-priorities.js'; /** diff --git a/lib/plugins/delete-unused-entries.js b/lib/plugins/delete-unused-entries.js index 79287400..c0a02e60 100644 --- a/lib/plugins/delete-unused-entries.js +++ b/lib/plugins/delete-unused-entries.js @@ -11,7 +11,7 @@ * @import WebpackConfig from '../WebpackConfig.js' */ -import copyEntryTmpName from '../utils/copyEntryTmpName.js'; +import copyEntryTmpName from '../utils/copyEntryTmpName.ts'; import DeleteUnusedEntriesJSPlugin from '../webpack/delete-unused-entries-js-plugin.js'; import PluginPriorities from './plugin-priorities.js'; diff --git a/lib/plugins/forked-ts-types.js b/lib/plugins/forked-ts-types.js index b8574f25..ad4e7c4f 100644 --- a/lib/plugins/forked-ts-types.js +++ b/lib/plugins/forked-ts-types.js @@ -13,7 +13,7 @@ import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import PluginPriorities from './plugin-priorities.js'; /** diff --git a/lib/plugins/friendly-errors.js b/lib/plugins/friendly-errors.js index 2a6057d5..967ac5d1 100644 --- a/lib/plugins/friendly-errors.js +++ b/lib/plugins/friendly-errors.js @@ -19,7 +19,7 @@ import missingPostCssConfigFormatter from '../friendly-errors/formatters/missing import missingCssFileTransformer from '../friendly-errors/transformers/missing-css-file.js'; import missingLoaderTransformerFactory from '../friendly-errors/transformers/missing-loader.js'; import missingPostCssConfigTransformer from '../friendly-errors/transformers/missing-postcss-config.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; /** * @param {WebpackConfig} webpackConfig diff --git a/lib/plugins/js-minimizer.js b/lib/plugins/js-minimizer.js index 99184ae9..15ccd842 100644 --- a/lib/plugins/js-minimizer.js +++ b/lib/plugins/js-minimizer.js @@ -13,8 +13,8 @@ import MinimizerPlugin from 'minimizer-webpack-plugin'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; -import { checkJsMinifierPackages } from '../utils/minifier-check.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; +import { checkJsMinifierPackages } from '../utils/minifier-check.ts'; /** * @param {WebpackConfig} webpackConfig diff --git a/lib/plugins/manifest.js b/lib/plugins/manifest.js index 94ab2df7..d86fc1f6 100644 --- a/lib/plugins/manifest.js +++ b/lib/plugins/manifest.js @@ -13,9 +13,9 @@ import { WebpackManifestPlugin } from 'webpack-manifest-plugin'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; -import copyEntryTmpName from '../utils/copyEntryTmpName.js'; -import manifestKeyPrefixHelper from '../utils/manifest-key-prefix-helper.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; +import copyEntryTmpName from '../utils/copyEntryTmpName.ts'; +import manifestKeyPrefixHelper from '../utils/manifest-key-prefix-helper.ts'; import PluginPriorities from './plugin-priorities.js'; /** diff --git a/lib/plugins/mini-css-extract.js b/lib/plugins/mini-css-extract.js index 2fb84864..bf0bbecb 100644 --- a/lib/plugins/mini-css-extract.js +++ b/lib/plugins/mini-css-extract.js @@ -13,7 +13,7 @@ import MiniCssExtractPlugin from 'mini-css-extract-plugin'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import PluginPriorities from './plugin-priorities.js'; /** diff --git a/lib/plugins/notifier.js b/lib/plugins/notifier.js index 885d440f..abd9ed3f 100644 --- a/lib/plugins/notifier.js +++ b/lib/plugins/notifier.js @@ -12,7 +12,7 @@ */ import pluginFeatures from '../features.js'; -import applyOptionsCallback from '../utils/apply-options-callback.js'; +import applyOptionsCallback from '../utils/apply-options-callback.ts'; import PluginPriorities from './plugin-priorities.js'; /** diff --git a/lib/utils/apply-options-callback.js b/lib/utils/apply-options-callback.ts similarity index 53% rename from lib/utils/apply-options-callback.js rename to lib/utils/apply-options-callback.ts index ac28bc97..befbba7e 100644 --- a/lib/utils/apply-options-callback.js +++ b/lib/utils/apply-options-callback.ts @@ -7,19 +7,17 @@ * file that was distributed with this source code. */ -/** - * @typedef {function(this: T, T, ...*): T|void} OptionsCallback - * @template {object} T - */ +export type OptionsCallback = ( + this: T, + options: T, + ...extraArgs: any[] +) => T | void; -/** - * @template {object} T - * @param {OptionsCallback} optionsCallback - * @param {T} options - * @param {...*} extraArgs Forwarded to the callback after `options` - * @returns {T} - */ -export default function (optionsCallback, options, ...extraArgs) { +export default function ( + optionsCallback: OptionsCallback, + options: T, + ...extraArgs: any[] +): T { const result = optionsCallback.call(options, options, ...extraArgs); if (typeof result === 'object') { diff --git a/lib/utils/copyEntryTmpName.js b/lib/utils/copyEntryTmpName.ts similarity index 100% rename from lib/utils/copyEntryTmpName.js rename to lib/utils/copyEntryTmpName.ts diff --git a/lib/utils/get-vue-version.js b/lib/utils/get-vue-version.ts similarity index 87% rename from lib/utils/get-vue-version.js rename to lib/utils/get-vue-version.ts index f0c56a47..4deb4bd2 100644 --- a/lib/utils/get-vue-version.js +++ b/lib/utils/get-vue-version.ts @@ -7,20 +7,13 @@ * file that was distributed with this source code. */ -/** - * @import WebpackConfig from '../WebpackConfig.js' - */ - import semver from 'semver'; import logger from '../logger.js'; import packageHelper from '../package-helper.js'; +import type WebpackConfig from '../WebpackConfig.js'; -/** - * @param {WebpackConfig} webpackConfig - * @returns {number|string|null} - */ -export default function (webpackConfig) { +export default function (webpackConfig: WebpackConfig): number | string | null { if (webpackConfig.vueOptions.version !== null) { return webpackConfig.vueOptions.version; } diff --git a/lib/utils/manifest-key-prefix-helper.js b/lib/utils/manifest-key-prefix-helper.ts similarity index 81% rename from lib/utils/manifest-key-prefix-helper.js rename to lib/utils/manifest-key-prefix-helper.ts index aeb173bb..e638cc28 100644 --- a/lib/utils/manifest-key-prefix-helper.js +++ b/lib/utils/manifest-key-prefix-helper.ts @@ -7,17 +7,12 @@ * file that was distributed with this source code. */ -/** - * @import WebpackConfig from '../WebpackConfig.js' - */ +import type WebpackConfig from '../WebpackConfig.js'; /** * Helper for determining the manifest.json key prefix. - * - * @param {WebpackConfig} webpackConfig - * @returns {string} */ -export default function (webpackConfig) { +export default function (webpackConfig: WebpackConfig): string { let manifestPrefix = webpackConfig.manifestKeyPrefix; if (null === manifestPrefix) { if (null === webpackConfig.publicPath) { diff --git a/lib/utils/minifier-check.js b/lib/utils/minifier-check.ts similarity index 87% rename from lib/utils/minifier-check.js rename to lib/utils/minifier-check.ts index 1a73ea0b..f2f90687 100644 --- a/lib/utils/minifier-check.js +++ b/lib/utils/minifier-check.ts @@ -11,13 +11,13 @@ import MinimizerPlugin from 'minimizer-webpack-plugin'; import Features from '../features.js'; -const JS_MINIFIER_FEATURES = new Map([ +const JS_MINIFIER_FEATURES = new Map([ [MinimizerPlugin.esbuildMinify, 'minify-js-esbuild'], [MinimizerPlugin.swcMinify, 'minify-js-swc'], [MinimizerPlugin.uglifyJsMinify, 'minify-js-uglify'], ]); -const CSS_MINIFIER_FEATURES = new Map([ +const CSS_MINIFIER_FEATURES = new Map([ [MinimizerPlugin.lightningCssMinify, 'minify-css-lightningcss'], [MinimizerPlugin.cssnanoMinify, 'minify-css-cssnano'], [MinimizerPlugin.cssoMinify, 'minify-css-csso'], @@ -26,10 +26,7 @@ const CSS_MINIFIER_FEATURES = new Map([ [MinimizerPlugin.swcMinifyCss, 'minify-css-swc'], ]); -/** - * @param {Function} minifyFn - */ -export function checkJsMinifierPackages(minifyFn) { +export function checkJsMinifierPackages(minifyFn: Function): void { const feature = JS_MINIFIER_FEATURES.get(minifyFn); if (!feature) { // terserMinify (bundled) or a custom function: nothing to install @@ -39,10 +36,7 @@ export function checkJsMinifierPackages(minifyFn) { Features.ensurePackagesExistAndAreCorrectVersion(feature); } -/** - * @param {Function|undefined} minifyFn - */ -export function checkCssMinifierPackages(minifyFn) { +export function checkCssMinifierPackages(minifyFn: Function | undefined): void { if (!minifyFn) { throw new Error( 'CSS minification is enabled but no CSS minifier is configured. ' + diff --git a/lib/utils/package-up.js b/lib/utils/package-up.ts similarity index 64% rename from lib/utils/package-up.js rename to lib/utils/package-up.ts index 92a27a26..39a830b2 100644 --- a/lib/utils/package-up.js +++ b/lib/utils/package-up.ts @@ -14,31 +14,25 @@ import { fileURLToPath } from 'url'; /** * Inlined version of the package "package-up" (ESM only). * - * @param {object} options - * @param {string} options.cwd The directory to start searching from. - * @returns {string|undefined} The path to the nearest package.json file or undefined if not found. + * Returns the path to the nearest package.json file, or undefined if not found. */ -export default function ({ cwd }) { +export default function ({ cwd }: { cwd: string }): string | undefined { return findUpSync('package.json', { cwd }); } -/** - * @param {string|URL} urlOrPath - * @returns {string} - */ -function toPath(urlOrPath) { +function toPath(urlOrPath: string | URL): string { return urlOrPath instanceof URL ? fileURLToPath(urlOrPath) : urlOrPath; } /** * Inlined and simplified version of the package "find-up-simple" (ESM only). * - * @param {string} name The name of the file to find - * @param {object} options - * @param {string=} options.cwd The directory to start searching from. - * @returns {string|undefined} The path to the file found or undefined if not found. + * Returns the path to the file found, or undefined if not found. */ -function findUpSync(name, { cwd = process.cwd() } = {}) { +function findUpSync( + name: string, + { cwd = process.cwd() }: { cwd?: string } = {} +): string | undefined { let directory = path.resolve(toPath(cwd) || ''); const { root } = path.parse(directory); diff --git a/lib/utils/pretty-error.js b/lib/utils/pretty-error.ts similarity index 66% rename from lib/utils/pretty-error.js rename to lib/utils/pretty-error.ts index db0d0b5a..ec11d9a6 100644 --- a/lib/utils/pretty-error.js +++ b/lib/utils/pretty-error.ts @@ -15,18 +15,14 @@ const PrettyError = require('pretty-error'); /** * Render a pretty version of the given error. * - * Supported options: - * - {Function} skipTrace - * An optional callback that defines whether - * or not each line of the eventual stacktrace - * should be kept. First argument is the content - * of the line, second argument is the line number. - * - * @param {*} error - * @param {object} options - * @returns {void} + * The optional `skipTrace` callback defines whether or not each line of the + * eventual stacktrace should be kept. First argument is the content of the + * line, second argument is the line number. */ -export default function (error, options = {}) { +export default function ( + error: unknown, + options: { skipTrace?: (line: string, lineNumber: number) => boolean } = {} +): void { const pe = new PrettyError(); // Use the default terminal's color diff --git a/lib/webpack/entry-points-plugin.js b/lib/webpack/entry-points-plugin.js index 130da5c3..163443d2 100644 --- a/lib/webpack/entry-points-plugin.js +++ b/lib/webpack/entry-points-plugin.js @@ -11,7 +11,7 @@ import crypto from 'crypto'; import fs from 'fs'; import path from 'path'; -import copyEntryTmpName from '../utils/copyEntryTmpName.js'; +import copyEntryTmpName from '../utils/copyEntryTmpName.ts'; /** * Return the file extension from a filename, without the leading dot and without the query string (if any). diff --git a/package.json b/package.json index 45e2358d..469350a1 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "@symfony/stimulus-bridge": "^3.0.0 || ^4.0.0", "@tsconfig/node22": "^22.0.5", "@types/node": "^22.18.0", + "@types/semver": "^7.7.1", "@vue/babel-plugin-jsx": "^3.0.0", "@vue/compiler-sfc": "^3.2.14", "autoprefixer": "^10.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffc05200..55230ea7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,6 +90,9 @@ importers: '@types/node': specifier: ^22.18.0 version: 22.20.0 + '@types/semver': + specifier: ^7.7.1 + version: 7.7.1 '@vue/babel-plugin-jsx': specifier: ^3.0.0 version: 3.0.0(@babel/core@8.0.1) @@ -1671,6 +1674,9 @@ packages: '@types/retry@0.12.2': resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + '@types/semver@7.7.1': + resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==} + '@types/send@0.17.6': resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} @@ -6438,6 +6444,8 @@ snapshots: '@types/retry@0.12.2': {} + '@types/semver@7.7.1': {} + '@types/send@0.17.6': dependencies: '@types/mime': 1.3.5 diff --git a/test/functional.js b/test/functional.js index e29b16e9..39e5fc52 100644 --- a/test/functional.js +++ b/test/functional.js @@ -17,7 +17,7 @@ import semver from 'semver'; import { afterAll, beforeAll, chai, describe, expect, it } from 'vitest'; import packageHelper from '../lib/package-helper.js'; -import getVueVersion from '../lib/utils/get-vue-version.js'; +import getVueVersion from '../lib/utils/get-vue-version.ts'; import { assertWarning } from './helpers/logger-assert.js'; import * as testSetup from './helpers/setup.js'; diff --git a/test/plugins/css-minimizer.js b/test/plugins/css-minimizer.js index 8486b695..d795f160 100644 --- a/test/plugins/css-minimizer.js +++ b/test/plugins/css-minimizer.js @@ -17,7 +17,7 @@ const { checkCssMinifierPackages } = vi.hoisted(() => ({ checkCssMinifierPackages: vi.fn(), })); -vi.mock('../../lib/utils/minifier-check.js', () => ({ +vi.mock('../../lib/utils/minifier-check.ts', () => ({ checkJsMinifierPackages: vi.fn(), checkCssMinifierPackages, })); diff --git a/test/plugins/js-minimizer.js b/test/plugins/js-minimizer.js index 3132429c..bf6a1b07 100644 --- a/test/plugins/js-minimizer.js +++ b/test/plugins/js-minimizer.js @@ -17,7 +17,7 @@ const { checkJsMinifierPackages } = vi.hoisted(() => ({ checkJsMinifierPackages: vi.fn(), })); -vi.mock('../../lib/utils/minifier-check.js', () => ({ +vi.mock('../../lib/utils/minifier-check.ts', () => ({ checkJsMinifierPackages, checkCssMinifierPackages: vi.fn(), })); diff --git a/test/utils/apply-options-callback.js b/test/utils/apply-options-callback.js index e52cd06c..cd6501d2 100644 --- a/test/utils/apply-options-callback.js +++ b/test/utils/apply-options-callback.js @@ -9,7 +9,7 @@ import { describe, it, expect } from 'vitest'; -import applyOptionsCallback from '../../lib/utils/apply-options-callback.js'; +import applyOptionsCallback from '../../lib/utils/apply-options-callback.ts'; describe('utils/apply-options-callback', function () { it('mutates and returns the options object', function () { diff --git a/test/utils/get-vue-version.js b/test/utils/get-vue-version.js index 0a76b5b8..f322bab7 100644 --- a/test/utils/get-vue-version.js +++ b/test/utils/get-vue-version.js @@ -11,7 +11,7 @@ import { vi, describe, it, expect } from 'vitest'; import RuntimeConfig from '../../lib/config/RuntimeConfig.js'; import packageHelper from '../../lib/package-helper.js'; -import getVueVersion from '../../lib/utils/get-vue-version.js'; +import getVueVersion from '../../lib/utils/get-vue-version.ts'; import WebpackConfig from '../../lib/WebpackConfig.js'; const createWebpackConfig = function () { diff --git a/test/utils/minifier-check.js b/test/utils/minifier-check.js index 925edf07..99f2fcab 100644 --- a/test/utils/minifier-check.js +++ b/test/utils/minifier-check.js @@ -19,7 +19,7 @@ vi.mock('../../lib/features.js', () => ({ })); const { checkJsMinifierPackages, checkCssMinifierPackages } = - await import('../../lib/utils/minifier-check.js'); + await import('../../lib/utils/minifier-check.ts'); describe('utils/minifier-check', function () { beforeEach(() => ensurePackagesExistAndAreCorrectVersion.mockReset()); diff --git a/test/utils/package-up.js b/test/utils/package-up.js index 367f0976..b2db048b 100644 --- a/test/utils/package-up.js +++ b/test/utils/package-up.js @@ -11,7 +11,7 @@ import { resolve as resolvePath } from 'path'; import { describe, it, expect } from 'vitest'; -import packageUp from '../../lib/utils/package-up.js'; +import packageUp from '../../lib/utils/package-up.ts'; describe('package-up', function () { it.each([