A rollup plugin used to drop
(window.)console.*
(e.g. console.log). It only processes expression. If you use console.log as a variable property or the text content of a DOM node, it will be ignored.
# pnpm
pnpm add -D rollup-plugin-drop-console
# yarn
yarn add -D rollup-plugin-drop-console
# npm
npm i -D rollup-plugin-drop-console
// rollup.config.mjs
import dropConsole from 'rollup-plugin-drop-console'
export default {
input: ['entry.js'],
output: {
dir: 'dist',
format: 'es'
},
plugins: [
dropConsole({
functions: ['log', 'info']
})
]
};
We hope to remove log and info function and keep error function form our code. The above code transforms
console.log('test')
window.console.info('info')
console.error('error')
into
console.error('error')
If want to use this plugin in vite, The configuration is the same. But recommended for build mode
, you maybe need use console to debug when serve mode
.
// vite.config.js
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import dropConsole from 'rollup-plugin-drop-console'
export default defineConfig(({ command }) => {
const isBuildCommand = command === 'build'
const plugins = [
vue()
]
if (isBuildCommand) {
plugins.push(
dropConsole({
functions: ['log', 'info']
})
)
}
return {
plugins,
}
})
Option | Type | Default | Description |
---|---|---|---|
include |
string | RegExp | (string | RegExp)[] | undefined |
/\.(js|ts|jsx|tsx)$/ |
files to process |
exclude |
string | RegExp | (string | RegExp)[] | undefined |
/node_modules/ |
files to ignore |
sourcemap |
boolean | undefined |
true |
whether to generate sourcemap |
functions |
ConsoleFunction[] | undefined |
['log'] |
console functions to remove |
Note: If functions is set
[]
, no any functions will be transformed.
type ConsoleFunction =
| 'log'
| 'error'
| 'warn'
| 'table'
| 'time'
| 'timeEnd'
| 'timeLog'
| 'timeStamp'
| 'trace'
| 'table'
| 'info'
| 'profile'
| 'profileEnd'
| 'assert'
| 'clear'
| 'context'
| 'count'
| 'countReset'
| 'createTask'
| 'debug'
| 'dir'
| 'dirxml'
| 'group'
| 'groupEnd'
| 'groupCollapsed'
interface RollupPluginDropConsoleOptions {
include?: string | RegExp | (string | RegExp)[];
exclude?: string | RegExp | (string | RegExp)[];
sourcemap?: boolean;
functions?: ConsoleFunction[];
}
If you encounter problems or have good ideas and suggestions, please report here.