vite-remove-console
v1.0.4
Published
Removes specified `console` methods (e.g., `log`, `info`, `warn`, `error`)
Maintainers
Readme
:wrench: Vite Remove Console Plugin
vite-remove-console is a Vite plugin designed to help you clean up console statements (e.g., console.log, console.warn) from your code during the build process. It ensures that your production build is free from unnecessary console statements, improving both security and performance.
Features
- Removes specified
consolemethods (e.g.,log,info,warn,error) during the build phase. - Targets only non-
node_modulesfiles to preserve library functionality. - Easy to configure with custom log levels.
- Uses
@hw-rust/remove-console-core, a Rust-based WebAssembly (WASM) package, for efficient console string removal.
Installation
To install the plugin, run:
npm install -D vite-remove-consoleor
yarn add -D vite-remove-consoleor
pnpm add -D vite-remove-consoleUsage
To use the plugin, import it and add it to your Vite configuration file (vite.config.ts or vite.config.js):
Example Configuration
import { defineConfig } from "vite";
import removeConsole from "vite-remove-console";
export default defineConfig({
plugins: [
removeConsole(), // Default remove target is only "log".
],
});export default defineConfig({
plugins: [
removeConsole({
removeLevels: ["log", "info", "warn", "error"], // Specify the console methods to remove.
}),
],
});Options
| Option | Type | Default | Description |
| -------------- | ------------- | ------- | ------------------------------------------------------------------------- |
| removeLevels | LogLevels[] | [log] | Array of console levels to remove (e.g., log, info, warn, error). |
How It Works
- The plugin scans the source code during the Vite build process.
- It utilizes
@hw-rust/remove-console-core, a Rust-based WebAssembly package, to efficiently match and remove specifiedconsolestatements from non-node_modulesfiles. - The resulting production build is free of the targeted
consolestatements.
Example
Given the following code in your development environment:
console.log("Debug message");
console.error("Error message");With the configuration removeLevels: ['log'], the resulting production build will look like:
console.error("Error message");License
This plugin is licensed under the MIT License.
Contributing
Contributions are welcome! If you have suggestions or find issues, feel free to open an issue or submit a pull request on the GitHub repository.
Author
- [email protected]
- https://www.linkedin.com/in/insoo-park-437496138/
