https://github.com/peterroe/terser-loader
Remove console.log in code
https://github.com/peterroe/terser-loader
loader webpack
Last synced: 11 months ago
JSON representation
Remove console.log in code
- Host: GitHub
- URL: https://github.com/peterroe/terser-loader
- Owner: peterroe
- Created: 2022-02-06T16:48:49.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T02:50:30.000Z (over 2 years ago)
- Last Synced: 2023-12-15T03:56:03.387Z (over 2 years ago)
- Topics: loader, webpack
- Language: JavaScript
- Homepage:
- Size: 7.81 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## What is it ?
A example of loader of [`webpack`](https://webpack.js.org/), and it's used to remove `console.log()` in code
## Core Code
```js
const parser = require('@babel/parser')
const traverse = require('@babel/traverse').default
const generator = require('@babel/generator').default
const types = require('@babel/types')
module.exports = function loader(source) {
const { loaders, resource, request, version, webpack } = this;
const ast = parser.parse(source, { sourceType: 'module' })
traverse(ast, {
CallExpression(path) {
if (
types.isMemberExpression(path.node.callee) &&
types.isIdentifier(path.node.callee.object, { name: "console" })
)
path.remove()
}
})
const output = generator(ast, {}, source)
return output.code;
}
```