javascript-obfuscator / webpack-obfuscator

javascript-obfuscator plugin for Webpack
https://github.com/javascript-obfuscator/javascript-obfuscator
BSD 2-Clause "Simplified" License
853 stars 84 forks source link

Using with app created by Vue CLI fails to build #124

Open artfc opened 2 years ago

artfc commented 2 years ago

When I try to use webpack-obfuscator with a project created by Vue CLI, it throws an exception TypeError: Cannot read property 'tap' of undefined.

Steps to reproduce: 1) Create an app using Vue CLI as described at https://cli.vuejs.org/

vue create my-project
# OR
vue ui

(select vue3+babel preset)

2) Install webpack-obfuscator npm i --save-dev webpack-obfuscator javascript-obfuscator 3) Add vue.config.js to the project root

//vue.config.js
const WebpackObfuscator = require('webpack-obfuscator');

module.exports = {
    configureWebpack: {
        plugins: [
            new WebpackObfuscator({
                rotateStringArray: true
            })
        ]
    }
}

4) Try to build the project vue-cli-service build

These steps produce the following error:


✔  Building for production...
 ERROR  TypeError: Cannot read property 'tap' of undefined
TypeError: Cannot read property 'tap' of undefined
    at C:\Users\user\Desktop\test\test\node_modules\webpack-obfuscator\dist\plugin\index.js:25:45
    at SyncHook.eval (eval at create (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:23:1)
    at SyncHook.lazyCompileHook (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\Hook.js:154:20)
    at Compiler.newCompilation (C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:631:26)
    at C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:667:29
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\Hook.js:154:20)
    at Compiler.compile (C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:662:28)
    at C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:321:11
    at Compiler.readRecords (C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:529:11)
    at C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:318:10
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at AsyncSeriesHook.lazyCompileHook (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\Hook.js:154:20)
    at C:\Users\user\Desktop\test\test\node_modules\webpack\lib\Compiler.js:315:19
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:15:1)
    at AsyncSeriesHook.lazyCompileHook (C:\Users\user\Desktop\test\test\node_modules\tapable\lib\Hook.js:154:20)
weiyan-zzh commented 2 years ago

遇到相同的的问题请问解决了吗

uncle-light commented 2 years ago

遇到相同的的问题请问解决了吗

我也遇到了这个问题

SmellyTrotter commented 2 years ago

遇到相同的的问题请问解决了吗

我也遇到了这个问题

me too

SmellyTrotter commented 2 years ago

版本号使用:js-ob:2.5.0 webpack-ob:2.6.0(webpack@4)

ben-Run commented 2 years ago

@SmellyTrotter 需要配置loader 吗?我的打包之后发布上去,跑不起来

advissor commented 2 years ago

Solved by installing the following version :

npm install --save-dev javascript-obfuscator@2.5.0 webpack-obfuscator@2.6.0

Solution for : Cannot read property 'tap' of undefined