Skip to content

peterroe/terser-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What is it ?

A example of loader of webpack, and it's used to remove console.log() in code

Core Code

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;
}

About

Remove console.log in code

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages