From f2d9ae833f12ecd2826bcc6ebcb2263c354e4c4b Mon Sep 17 00:00:00 2001 From: Shinigami Date: Sun, 19 Dec 2021 12:35:25 +0100 Subject: [PATCH] chore: prefer type imports (#5835) --- .eslintrc.cjs | 6 +++++- packages/plugin-vue-jsx/index.d.ts | 6 +++--- packages/plugin-vue/src/compiler.ts | 2 +- packages/plugin-vue/src/handleHotUpdate.ts | 6 +++--- packages/plugin-vue/src/index.ts | 6 +++--- packages/plugin-vue/src/main.ts | 9 +++++---- packages/plugin-vue/src/script.ts | 4 ++-- packages/plugin-vue/src/style.ts | 6 +++--- packages/plugin-vue/src/template.ts | 6 +++--- packages/plugin-vue/src/utils/descriptorCache.ts | 4 ++-- packages/plugin-vue/src/utils/error.ts | 4 ++-- scripts/jestPerTestSetup.ts | 9 ++++----- 12 files changed, 36 insertions(+), 32 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 578e0041..48a0bd77 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -89,7 +89,11 @@ module.exports = defineConfig({ '@typescript-eslint/no-inferrable-types': 'off', '@typescript-eslint/no-non-null-assertion': 'off', // maybe we should turn this on in a new PR '@typescript-eslint/no-unused-vars': 'off', // maybe we should turn this on in a new PR - '@typescript-eslint/no-var-requires': 'off' + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/consistent-type-imports': [ + 'error', + { prefer: 'type-imports' } + ] }, overrides: [ { diff --git a/packages/plugin-vue-jsx/index.d.ts b/packages/plugin-vue-jsx/index.d.ts index 2cac80ba..a702c09b 100644 --- a/packages/plugin-vue-jsx/index.d.ts +++ b/packages/plugin-vue-jsx/index.d.ts @@ -1,6 +1,6 @@ -import { Plugin } from 'vite' -import { VueJSXPluginOptions } from '@vue/babel-plugin-jsx' -import { FilterPattern } from '@rollup/pluginutils' +import type { Plugin } from 'vite' +import type { VueJSXPluginOptions } from '@vue/babel-plugin-jsx' +import type { FilterPattern } from '@rollup/pluginutils' declare interface FilterOptions { include?: FilterPattern diff --git a/packages/plugin-vue/src/compiler.ts b/packages/plugin-vue/src/compiler.ts index 59350659..0fb4eef7 100644 --- a/packages/plugin-vue/src/compiler.ts +++ b/packages/plugin-vue/src/compiler.ts @@ -5,7 +5,7 @@ declare module 'vue/compiler-sfc' { } } -import * as _compiler from 'vue/compiler-sfc' +import type * as _compiler from 'vue/compiler-sfc' export function resolveCompiler(root: string): typeof _compiler { // resolve from project root first, then fallback to peer dep (if any) diff --git a/packages/plugin-vue/src/handleHotUpdate.ts b/packages/plugin-vue/src/handleHotUpdate.ts index d93e647a..2bce3950 100644 --- a/packages/plugin-vue/src/handleHotUpdate.ts +++ b/packages/plugin-vue/src/handleHotUpdate.ts @@ -1,13 +1,13 @@ import _debug from 'debug' -import { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc' +import type { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc' import { createDescriptor, getDescriptor, setPrevDescriptor } from './utils/descriptorCache' import { getResolvedScript, setResolvedScript } from './script' -import { ModuleNode, HmrContext } from 'vite' -import { ResolvedOptions } from '.' +import type { ModuleNode, HmrContext } from 'vite' +import type { ResolvedOptions } from '.' const debug = _debug('vite:hmr') diff --git a/packages/plugin-vue/src/index.ts b/packages/plugin-vue/src/index.ts index 51ac0572..f12dbd5b 100644 --- a/packages/plugin-vue/src/index.ts +++ b/packages/plugin-vue/src/index.ts @@ -1,13 +1,13 @@ import fs from 'fs' -import { Plugin, ViteDevServer } from 'vite' +import type { Plugin, ViteDevServer } from 'vite' import { createFilter } from '@rollup/pluginutils' -import { +import type { SFCBlock, SFCScriptCompileOptions, SFCStyleCompileOptions, SFCTemplateCompileOptions } from 'vue/compiler-sfc' -import * as _compiler from 'vue/compiler-sfc' +import type * as _compiler from 'vue/compiler-sfc' import { resolveCompiler } from './compiler' import { parseVueRequest } from './utils/query' import { getDescriptor, getSrcDescriptor } from './utils/descriptorCache' diff --git a/packages/plugin-vue/src/main.ts b/packages/plugin-vue/src/main.ts index 11dad79c..29c5cffa 100644 --- a/packages/plugin-vue/src/main.ts +++ b/packages/plugin-vue/src/main.ts @@ -1,18 +1,19 @@ import qs from 'querystring' import path from 'path' -import { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc' -import { ResolvedOptions } from '.' +import type { SFCBlock, SFCDescriptor } from 'vue/compiler-sfc' +import type { ResolvedOptions } from '.' import { createDescriptor, getPrevDescriptor, setSrcDescriptor } from './utils/descriptorCache' -import { PluginContext, SourceMap, TransformPluginContext } from 'rollup' +import type { PluginContext, SourceMap, TransformPluginContext } from 'rollup' import { normalizePath } from '@rollup/pluginutils' import { resolveScript, isUseInlineTemplate } from './script' import { transformTemplateInMain } from './template' import { isOnlyTemplateChanged, isEqualBlock } from './handleHotUpdate' -import { RawSourceMap, SourceMapConsumer, SourceMapGenerator } from 'source-map' +import type { RawSourceMap } from 'source-map' +import { SourceMapConsumer, SourceMapGenerator } from 'source-map' import { createRollupError } from './utils/error' import { transformWithEsbuild } from 'vite' import { EXPORT_HELPER_ID } from './helper' diff --git a/packages/plugin-vue/src/script.ts b/packages/plugin-vue/src/script.ts index 241eca21..93610dcf 100644 --- a/packages/plugin-vue/src/script.ts +++ b/packages/plugin-vue/src/script.ts @@ -1,5 +1,5 @@ -import { SFCDescriptor, SFCScriptBlock } from 'vue/compiler-sfc' -import { ResolvedOptions } from '.' +import type { SFCDescriptor, SFCScriptBlock } from 'vue/compiler-sfc' +import type { ResolvedOptions } from '.' import { resolveTemplateCompilerOptions } from './template' // ssr and non ssr builds would output different script content diff --git a/packages/plugin-vue/src/style.ts b/packages/plugin-vue/src/style.ts index c27e1659..ad9d9814 100644 --- a/packages/plugin-vue/src/style.ts +++ b/packages/plugin-vue/src/style.ts @@ -1,6 +1,6 @@ -import { SFCDescriptor } from 'vue/compiler-sfc' -import { TransformPluginContext } from 'rollup' -import { ResolvedOptions } from '.' +import type { SFCDescriptor } from 'vue/compiler-sfc' +import type { TransformPluginContext } from 'rollup' +import type { ResolvedOptions } from '.' // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types export async function transformStyle( diff --git a/packages/plugin-vue/src/template.ts b/packages/plugin-vue/src/template.ts index 9ee386b1..72e95889 100644 --- a/packages/plugin-vue/src/template.ts +++ b/packages/plugin-vue/src/template.ts @@ -1,13 +1,13 @@ import path from 'path' import slash from 'slash' -import { +import type { SFCDescriptor, SFCTemplateCompileOptions, SFCTemplateCompileResults, CompilerOptions } from 'vue/compiler-sfc' -import { PluginContext, TransformPluginContext } from 'rollup' -import { ResolvedOptions } from '.' +import type { PluginContext, TransformPluginContext } from 'rollup' +import type { ResolvedOptions } from '.' import { getResolvedScript } from './script' import { createRollupError } from './utils/error' diff --git a/packages/plugin-vue/src/utils/descriptorCache.ts b/packages/plugin-vue/src/utils/descriptorCache.ts index 990f679d..c0b77e72 100644 --- a/packages/plugin-vue/src/utils/descriptorCache.ts +++ b/packages/plugin-vue/src/utils/descriptorCache.ts @@ -2,8 +2,8 @@ import fs from 'fs' import path from 'path' import slash from 'slash' import hash from 'hash-sum' -import { CompilerError, SFCDescriptor } from 'vue/compiler-sfc' -import { ResolvedOptions, VueQuery } from '..' +import type { CompilerError, SFCDescriptor } from 'vue/compiler-sfc' +import type { ResolvedOptions, VueQuery } from '..' // compiler-sfc should be exported so it can be re-used export interface SFCParseResult { diff --git a/packages/plugin-vue/src/utils/error.ts b/packages/plugin-vue/src/utils/error.ts index 1f3e48d7..50999910 100644 --- a/packages/plugin-vue/src/utils/error.ts +++ b/packages/plugin-vue/src/utils/error.ts @@ -1,5 +1,5 @@ -import { CompilerError } from 'vue/compiler-sfc' -import { RollupError } from 'rollup' +import type { CompilerError } from 'vue/compiler-sfc' +import type { RollupError } from 'rollup' export function createRollupError( id: string, diff --git a/scripts/jestPerTestSetup.ts b/scripts/jestPerTestSetup.ts index d0863c59..cf4f96e8 100644 --- a/scripts/jestPerTestSetup.ts +++ b/scripts/jestPerTestSetup.ts @@ -2,18 +2,17 @@ import fs from 'fs-extra' import * as http from 'http' import { resolve, dirname } from 'path' import sirv from 'sirv' -import { - createServer, - build, +import type { ViteDevServer, UserConfig, PluginOption, ResolvedConfig, Logger } from 'vite' -import { Page } from 'playwright-chromium' +import { createServer, build } from 'vite' +import type { Page } from 'playwright-chromium' // eslint-disable-next-line node/no-extraneous-import -import { RollupError, RollupWatcher, RollupWatcherEvent } from 'rollup' +import type { RollupError, RollupWatcher, RollupWatcherEvent } from 'rollup' const isBuildTest = !!process.env.VITE_TEST_BUILD