Strip
console,alert, anddebuggerstatements from JavaScript code
Useful for making sure you didn't leave any logging in production code.
npm install @babel/core strip-debugimport {transformSync} from '@babel/core';
import stripDebug from 'strip-debug';
transformSync('function foo(){console.log("foo");alert("foo");debugger;}', {
plugins: [stripDebug]
}).code;
//=> 'function foo() { void 0;void 0; }'To prevent any side-effects, console.*/alert* is replaced with void 0 instead of being stripped.
If you shadow the console global with your own local variable, it will still be removed.
You can ignore specific statements from being stripped by using special comments:
// strip-debug-ignore-next
console.log('This will NOT be stripped');
console.log('This will be stripped'); // strip-debug-ignoreBoth comment styles work:
// strip-debug-ignore-next- Ignores the next line// strip-debug-ignore- Ignores the current line (inline comment)/* strip-debug-ignore-next */- Block comment style also works
- strip-debug-cli - API for this package