Skip to content

Commit cbdf1d0

Browse files
committed
0.7.2 version update
1 parent e26dc59 commit cbdf1d0

File tree

9 files changed

+60
-32
lines changed

9 files changed

+60
-32
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.idea
22
node_modules
33
npm-debug.log
4-
*.js.map
4+
*.js.map
5+
test/output

index.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
"use strict";
2-
var JavaScriptObfuscator = require('javascript-obfuscator'), multimatch = require('multimatch'), RawSource = require('webpack-core/lib/RawSource'), SourceMapSource = require("webpack-core/lib/SourceMapSource"), transferSourceMap = require("multi-stage-sourcemap").transfer;
2+
var JavaScriptObfuscator = require('javascript-obfuscator'), RawSource = require("webpack-sources").RawSource, SourceMapSource = require("webpack-sources").SourceMapSource, multimatch = require('multimatch'), transferSourceMap = require("multi-stage-sourcemap").transfer;
33
var WebpackObfuscator = (function () {
44
function WebpackObfuscator(options, excludes) {
55
this.options = {};
6-
this.PLUGIN_NAME = 'webpack-obfuscator';
76
this.options = options || {};
87
this.excludes = typeof excludes === 'string' ? [excludes] : excludes || [];
98
}
@@ -21,7 +20,7 @@ var WebpackObfuscator = (function () {
2120
files.push(file);
2221
});
2322
files.forEach(function (file) {
24-
if (_this.shouldExclude(file, _this.excludes)) {
23+
if (!/\.js($|\?)/i.test(file) || _this.shouldExclude(file, _this.excludes)) {
2524
return;
2625
}
2726
var asset = compilation.assets[file], input, inputSourceMap;

index.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
"use strict";
22

33
let JavaScriptObfuscator: any = require('javascript-obfuscator'),
4+
RawSource: any = require("webpack-sources").RawSource,
5+
SourceMapSource: any = require("webpack-sources").SourceMapSource,
46
multimatch: any = require('multimatch'),
5-
RawSource: any = require('webpack-core/lib/RawSource'),
6-
SourceMapSource: any = require("webpack-core/lib/SourceMapSource"),
77
transferSourceMap = require("multi-stage-sourcemap").transfer;
88

99
class WebpackObfuscator {
1010
public options: any = {};
1111
public excludes: string[];
1212

13-
private PLUGIN_NAME: string = 'webpack-obfuscator';
14-
1513
/**
1614
* @param options
1715
* @param excludes
@@ -40,7 +38,7 @@ class WebpackObfuscator {
4038
});
4139

4240
files.forEach((file) => {
43-
if (this.shouldExclude(file, this.excludes)) {
41+
if (!/\.js($|\?)/i.test(file) || this.shouldExclude(file, this.excludes)) {
4442
return;
4543
}
4644

package.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,22 @@
1616
"dependencies": {
1717
"javascript-obfuscator": "^0.7.2",
1818
"multi-stage-sourcemap": "^0.2.1",
19-
"multimatch": "^2.1.0",
20-
"webpack-core": "^0.6.8"
19+
"multimatch": "^2.1.0"
2120
},
2221
"devDependencies": {
2322
"@types/javascript-obfuscator": "0.0.1",
2423
"@types/node": "^6.0.32",
2524
"typescript": "^2.0.0",
2625
"typings": "^0.8.1",
27-
"webpack": "^2.1.0-beta.20"
26+
"webpack": "^2.1.0-beta.25"
2827
},
2928
"repository": {
3029
"type": "git",
3130
"url": "git+https://github.com/sanex3339/webpack-obfuscator.git"
3231
},
3332
"scripts": {
33+
"build": "npm run tsc",
34+
"watch": "npm run tsc:w",
3435
"tsc": "tsc",
3536
"tsc:w": "tsc -w",
3637
"typings": "node_modules/.bin/typings install",

readme.md

+32-3
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ Install the package with NPM and add it to your devDependencies:
1111
### Usage:
1212

1313
```javascript
14-
var WebpackObfuscator = require('webpack-obfuscator');
14+
var JavaScriptObfuscator = require('webpack-obfuscator');
1515

1616
// ...
1717

1818
// webpack plugins array
1919
plugins: [
20-
new WebpackObfuscator({
20+
new JavaScriptObfuscator ({
2121
rotateUnicodeArray: true
2222
}, ['excluded_bundle_name.js'])
2323
],
@@ -33,7 +33,36 @@ Options for [javascript-obfuscator](https://github.com/sanex3339/javascript-obfu
3333
### excludes
3434
Type: `Array` or `String` Default: `[]`
3535

36-
Examples: `['excluded_bundle_name.js', '**_bundle_name.js']` or `'excluded_bundle_name.js'`
36+
Bundle name is output file name after webpack compilation. With multiple webpack entries you can set bundle name in `output` object with aliases `[name]` or `[id]`.
37+
38+
Syntax for excludes array is syntax for [multimatch](https://github.com/sindresorhus/multimatch) package. You can see examples on package page.
39+
40+
Few syntax examples: `['excluded_bundle_name.js', '**_bundle_name.js'] or 'excluded_bundle_name.js'`
41+
42+
43+
Example:
44+
```
45+
// webpack.config.js
46+
'use strict';
47+
48+
const JavaScriptObfuscator = require('webpack-obfuscator');
49+
50+
module.exports = {
51+
entry: {
52+
'abc': './test/input/index.js',
53+
'cde': './test/input/index1.js'
54+
},
55+
output: {
56+
path: 'dist',
57+
filename: '[name].js' // output: abc.js, cde.js
58+
},
59+
plugins: [
60+
new JavaScriptObfuscator({
61+
rotateUnicodeArray: true
62+
}, ['abc.js'])
63+
]
64+
};
65+
```
3766

3867
Can be used to bypass obfuscation of some files.
3968

test/config/webpack.config.js

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
'use strict';
22

3+
const webpack = require('webpack');
34
const JavaScriptObfuscator = require('../../index');
45

56
module.exports = {
67
entry: {
7-
'index': './test/input/index.js'
8+
'index': './test/input/index.js',
9+
'index1': './test/input/index1.js'
810
},
911
devtool: 'source-map',
1012
target: 'web',
1113
resolve: {
12-
extensions: ['', '.js']
14+
extensions: ['.js']
1315
},
1416
plugins: [
1517
new JavaScriptObfuscator({
1618
disableConsoleOutput: false
17-
})
19+
}, ['index1*'])
1820
],
1921
output: {
2022
path: 'test/output',
21-
filename: 'output.js'
23+
filename: '[name].js'
2224
}
2325
};

test/input/index1.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
(function () {
2+
var test = 1;
3+
4+
function abc (cde) {
5+
console.log(cde);
6+
}
7+
8+
abc('a');
9+
10+
console.log(test);
11+
})();

test/output/index.html

-11
This file was deleted.

test/output/output.js

-2
This file was deleted.

0 commit comments

Comments
 (0)