Skip to content

Strip console, alert, and debugger statements from JavaScript code

License

Notifications You must be signed in to change notification settings

sindresorhus/strip-debug

strip-debug

Strip console, alert, and debugger statements from JavaScript code

Useful for making sure you didn't leave any logging in production code.

Usage

npm install @babel/core strip-debug

Usage

import {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.

Ignoring specific lines

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-ignore

Both 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

Related

About

Strip console, alert, and debugger statements from JavaScript code

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 7