This repository provides a Vite plugin that allows you to set dependencies as external during development. This is essential when using import maps, ensuring that dependencies are not bundled, but are instead managed and loaded externally.
MIT License
A simplified plugin for Vite that allows you to exclude specific dependencies from the Vite bundle during development.
The following errors/warnings are supressed:
To install the plugin, use npm:
npm i vite-plugin-externalize-dependencies --save-dev
After installing the plugin, import it, and add it to Vite configuration:
import { defineConfig } from "vite";
import externalize from "vite-plugin-externalize-dependencies";
export default defineConfig({
plugins: [
externalize({
externals: [
"react", // Externalize "react", and all of its subexports (react/*), such as react/jsx-runtime
/^external-.*/, // Externalize all modules starting with "external-"
(moduleName) => moduleName.includes("external"), // Externalize all modules containing "external",
],
}),
],
});
Modules can be externalized by name (exact match), by regex, or by a custom function (returning true to externalize the module). The plugin will automatically externalize all subexports of a module, such as react/jsx-runtime.
The plugin is intended to be consumed by Vite.
Contributions are welcome! If you wish to contribute, you can use the following npm commands to help facilitate your development process:
Use them as follows:
npm run dev
npm run build
npm run test
Please feel free to open a pull request with your changes or improvements.
This plugin is designed to work during development. For production, users should manually configure build.rollupOptions.external in Vite.
If you encounter any problems or have any issues, please open a new issue in the GitHub repository.
This project is licensed under the MIT License.