knip
Version:
Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects
35 lines (34 loc) • 1.08 kB
JavaScript
import { toDependency } from "../../util/input.js";
import { hasDependency } from "../../util/plugin.js";
import { resolveConfig } from "../vitest/index.js";
import { getIndexHtmlEntries, getReactBabelPlugins } from "./helpers.js";
import { createImportMetaGlobVisitor } from "./visitors/importMetaGlob.js";
const title = 'Vite';
const enablers = ['vite', 'vitest'];
const isEnabled = ({ dependencies }) => hasDependency(dependencies, enablers);
export const config = ['vite.config.{js,mjs,ts,cjs,mts,cts}'];
const resolveFromAST = program => {
const babelPlugins = getReactBabelPlugins(program);
return babelPlugins.map(plugin => toDependency(plugin));
};
const registerVisitors = ({ ctx, registerVisitor }) => {
registerVisitor(createImportMetaGlobVisitor(ctx));
};
const resolve = async (options) => {
return getIndexHtmlEntries(options.cwd);
};
const args = {
config: true,
};
const plugin = {
title,
enablers,
isEnabled,
config,
resolveConfig,
resolveFromAST,
resolve,
registerVisitors,
args,
};
export default plugin;