2
2
var __importDefault = ( this && this . __importDefault ) || function ( mod ) {
3
3
return ( mod && mod . __esModule ) ? mod : { "default" : mod } ;
4
4
} ;
5
- var javascript_obfuscator_1 = require ( "javascript-obfuscator" ) ;
6
- var webpack_sources_1 = require ( "webpack-sources" ) ;
7
- var multimatch_1 = __importDefault ( require ( "multimatch" ) ) ;
8
- var transferSourceMap = require ( "multi-stage-sourcemap" ) . transfer ;
9
- var WebpackObfuscator = ( function ( ) {
10
- function WebpackObfuscator ( options , excludes ) {
5
+ const javascript_obfuscator_1 = __importDefault ( require ( "javascript-obfuscator" ) ) ;
6
+ const webpack_sources_1 = require ( "webpack-sources" ) ;
7
+ const multimatch_1 = __importDefault ( require ( "multimatch" ) ) ;
8
+ const transferSourceMap = require ( "multi-stage-sourcemap" ) . transfer ;
9
+ class WebpackObfuscator {
10
+ constructor ( options , excludes ) {
11
11
this . options = options ;
12
12
this . excludes = [ ] ;
13
- this . options = options ;
14
13
this . excludes = this . excludes . concat ( excludes || [ ] ) ;
15
14
}
16
- WebpackObfuscator . prototype . apply = function ( compiler ) {
17
- var _this = this ;
18
- var isDevServer = process . argv . find ( function ( v ) { return v . includes ( 'webpack-dev-server' ) ; } ) ;
15
+ apply ( compiler ) {
16
+ const isDevServer = process . argv . find ( v => v . includes ( 'webpack-dev-server' ) ) ;
19
17
if ( isDevServer ) {
20
18
console . info ( 'JavascriptObfuscator is disabled on webpack-dev-server as the reloading scripts ' , 'and the obfuscator can interfere with each other and break the build' ) ;
21
19
return ;
22
20
}
23
- var pluginName = this . constructor . name ;
24
- compiler . hooks . emit . tap ( pluginName , function ( compilation ) {
25
- for ( var fileName in compilation . assets ) {
26
- if ( fileName . toLowerCase ( ) . endsWith ( '.js' ) || _this . shouldExclude ( fileName ) ) {
21
+ const pluginName = this . constructor . name ;
22
+ compiler . hooks . emit . tap ( pluginName , ( compilation ) => {
23
+ for ( const fileName in compilation . assets ) {
24
+ if ( ! fileName . toLowerCase ( ) . endsWith ( '.js' ) || this . shouldExclude ( fileName ) ) {
27
25
return ;
28
26
}
29
- var asset = compilation . assets [ fileName ] ;
30
- var _a = _this . extractSourceAndSourceMap ( asset ) , inputSource = _a . inputSource , inputSourceMap = _a . inputSourceMap ;
31
- var _b = _this . obfuscate ( inputSource ) , obfuscatedSource = _b . obfuscatedSource , obfuscationSourceMap = _b . obfuscationSourceMap ;
32
- if ( _this . options . sourceMap && inputSourceMap ) {
33
- var transferredSourceMap = transferSourceMap ( {
27
+ const asset = compilation . assets [ fileName ] ;
28
+ const { inputSource, inputSourceMap } = this . extractSourceAndSourceMap ( asset ) ;
29
+ const { obfuscatedSource, obfuscationSourceMap } = this . obfuscate ( inputSource ) ;
30
+ if ( this . options . sourceMap && inputSourceMap ) {
31
+ const transferredSourceMap = transferSourceMap ( {
34
32
fromSourceMap : obfuscationSourceMap ,
35
33
toSourceMap : inputSource
36
34
} ) ;
@@ -41,29 +39,29 @@ var WebpackObfuscator = (function () {
41
39
}
42
40
}
43
41
} ) ;
44
- } ;
45
- WebpackObfuscator . prototype . shouldExclude = function ( filePath ) {
42
+ }
43
+ shouldExclude ( filePath ) {
46
44
return multimatch_1 . default ( filePath , this . excludes ) . length > 0 ;
47
- } ;
48
- WebpackObfuscator . prototype . extractSourceAndSourceMap = function ( asset ) {
45
+ }
46
+ extractSourceAndSourceMap ( asset ) {
49
47
if ( asset . sourceAndMap ) {
50
- var _a = asset . sourceAndMap ( ) , inputSource = _a . inputSource , inputSourceMap = _a . inputSourceMap ;
51
- return { inputSource : inputSource , inputSourceMap : inputSourceMap } ;
48
+ const { source , map } = asset . sourceAndMap ( ) ;
49
+ return { inputSource : source , inputSourceMap : map } ;
52
50
}
53
51
else {
54
52
return {
55
53
inputSource : asset . source ( ) ,
56
54
inputSourceMap : asset . map ( )
57
55
} ;
58
56
}
59
- } ;
60
- WebpackObfuscator . prototype . obfuscate = function ( javascript ) {
61
- var obfuscationResult = javascript_obfuscator_1 . JavaScriptObfuscator . obfuscate ( javascript , this . options ) ;
57
+ }
58
+ obfuscate ( javascript ) {
59
+ console . log ( 'js' , javascript ) ;
60
+ const obfuscationResult = javascript_obfuscator_1 . default . obfuscate ( javascript , this . options ) ;
62
61
return {
63
- obfuscatedSource : obfuscationResult . toString ( ) ,
62
+ obfuscatedSource : obfuscationResult . getObfuscatedCode ( ) ,
64
63
obfuscationSourceMap : obfuscationResult . getSourceMap ( )
65
64
} ;
66
- } ;
67
- return WebpackObfuscator ;
68
- } ( ) ) ;
65
+ }
66
+ }
69
67
module . exports = WebpackObfuscator ;
0 commit comments