esbuild plugin for extracting unused module
file list
npm install -D esbuild-plugin-prunable
import fs from 'fs';
import { build } from 'esbuild';
import extractPrunableFiles from 'esbuild-plugin-prunable';
build({
...options,
plugins: [
extractPrunableFiles('./src', (prunableFiles) => {
// print unused file list in console
console.log(prunableFiles);
// write unused file list in any file
fs.writeFileSync('prunableFiles.json', JSON.stringify(prunableFiles));
/* ex) remove prunable files, ...etc */
})
],
});
const extractPrunableFiles: (rootPath: string, callback: (prunableFiles: string[]) => void, options?: {
excludeExp?: RegExp;
tsconfigFileName?: string;
}) => {
name: string;
setup(build: PluginBuild): void;
};
-
excludeExp
: RegExp for excluding in prunableFiles -
tsconfigFileName
: TypeScript config file name, If you are using a TypeScript config file name other than tsconfig.json, you need that option. (default: 'tsconfig.json')