A configurable Vite plugin to help externalize your dependencies (including subpaths).
Install the package as a dev dependency.
# npm
npm install --save-dev vite-plugin-externalize-deps
# pnpm
pnpm install --save-dev vite-plugin-externalize-deps
# yarn
yarn add --dev vite-plugin-externalize-deps
Add the plugin to your vite.config.ts
file.
import { defineConfig } from 'vite'
import { externalizeDeps } from 'vite-plugin-externalize-deps'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
externalizeDeps(),
],
})
Pass an object to externalizeDeps
to override the default configuration.
// These are the default values.
externalizeDeps({
deps: true,
devDeps: false,
except: [],
nodeBuiltins: true,
optionalDeps: true,
peerDeps: true,
useFile: join(process.cwd(), 'package.json'),
})
To include specific dependencies in your bundle, you can add exceptions with the except
option.
externalizeDeps({
except: [
// Match exact values with strings.
'@some/obscure/dependency',
// Or match patterns with regular expressions.
/^@some\/obscure(?:\/.+)?$/,
],
})