8000 Dependencies update #3: updated threads version · sec-js/javascript-obfuscator@84b1ed7 · GitHub
[go: up one dir, main page]

Skip to content

Commit 84b1ed7

Browse files
author
sanex3339
committed
Dependencies update #3: updated threads version
1 parent 3d1e17f commit 84b1ed7

File tree

6 files changed

+76
-57
lines changed

6 files changed

+76
-57
lines changed

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
},
2222
"types": "index.d.ts",
2323
"dependencies": {
24-
"@nuxtjs/opencollective": "^0.2.2",
24+
"@nuxtjs/opencollective": "0.2.2",
2525
"chalk": "3.0.0",
2626
"chance": "1.1.4",
2727
"class-validator": "0.11.0",
2828
"commander": "4.0.1",
2929
"escodegen-wallaby": "1.6.27",
30-
"espree": "^6.1.2",
30+
"espree": "6.1.2",
3131
"estraverse": "4.3.0",
3232
"eventemitter3": "4.0.0",
3333
"inversify": "5.0.1",
@@ -59,12 +59,12 @@
5959
"chai": "4.2.0",
6060
"coveralls": "3.0.9",
6161
"mocha": "6.2.2",
62-
"nyc": "^15.0.0",
62+
"nyc": "15.0.0",
6363
"pjson": "1.0.9",
6464
"pre-commit": "1.2.2",
6565
"rimraf": "3.0.0",
6666
"sinon": "7.5.0",
67-
"threads": "0.12.0",
67+
"threads": "1.0.0",
6868
"ts-node": "6.1.0",
6969
"tslint": "5.20.1",
7070
"tslint-eslint-rules": "5.4.0",

src/declarations/threads.d.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

test/declarations/index.d.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22
/// <reference path="../../src/declarations/escodegen-wallaby.d.ts" />
33
/// <reference path="../../src/declarations/espree.d.ts" />
44
/// <reference path="../../src/declarations/ESTree.d.ts" />
5-
/// <reference path="../../src/declarations/js-string-escape.d.ts" />
6-
/// <reference path="../../src/declarations/threads.d.ts" />
5+
/// <reference path="../../src/declarations/js-string-escape.d.ts" />

test/functional-tests/templates/debug-protection-nodes/DebugProtectionFunctionCallTemplate.spec.ts

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { assert } from 'chai';
2-
import { spawn } from 'threads';
2+
import { spawn, Thread, Worker } from 'threads/dist';
33

44
import { readFileAsString } from '../../../helpers/readFileAsString';
55

@@ -10,26 +10,26 @@ import { ObfuscationTarget } from '../../../../src/enums/ObfuscationTarget';
1010

1111
import { JavaScriptObfuscator } from '../../../../src/JavaScriptObfuscatorFacade';
1212

13-
function spawnThread(inputCallback: Function, threadCallback: Function, timeoutCallback: Function): void {
14-
const thread = spawn<string, number>((input: string, postMessage: Function) => {
15-
postMessage(eval(input));
16-
});
13+
14+
15+
async function spawnThread(obfuscatedCode: string, threadCallback: Function, timeoutCallback: Function): Promise<void> {
16+
const evaluationWorker = await spawn(new Worker('./workers/evaluation-worker'));
1717

1818
const timeout = setTimeout(() => {
19-
thread.kill();
19+
Thread.terminate(evaluationWorker);
2020
timeoutCallback();
2121
}, 1500);
2222

23-
thread
24-
.send(inputCallback())
25-
.on('message', (response: number) => {
26-
clearTimeout(timeout);
27-
thread.kill();
28-
threadCallback(response);
29-
});
23+
const result: string = await evaluationWorker.evaluate(obfuscatedCode);
24+
25+
clearTimeout(timeout);
26+
Thread.terminate(evaluationWorker);
27+
threadCallback(result);
3028
}
3129

32-
describe('DebugProtectionFunctionCallTemplate', () => {
30+
describe('DebugProtectionFunctionCallTemplate', function () {
31+
this.timeout(5000);
32+
3333
describe('Variant #1: correctly obfuscate code with `HexadecimalIdentifierNamesGenerator``', () => {
3434
const expectedEvaluationResult: number = 1;
3535

@@ -49,7 +49,7 @@ describe('DebugProtectionFunctionCallTemplate', () => {
4949
).getObfuscatedCode();
5050

5151
spawnThread(
52-
() => obfuscatedCode,
52+
obfuscatedCode,
5353
(response: number) => {
5454
evaluationResult = response;
5555
done();
@@ -84,7 +84,7 @@ describe('DebugProtectionFunctionCallTemplate', () => {
8484
).getObfuscatedCode();
8585

8686
spawnThread(
87-
() => obfuscatedCode,
87+
obfuscatedCode,
8888
(response: number) => {
8989
evaluationResult = response;
9090
done();
@@ -120,7 +120,7 @@ describe('DebugProtectionFunctionCallTemplate', () => {
120120
).getObfuscatedCode();
121121

122122
spawnThread(
123-
() => obfuscatedCode,
123+
obfuscatedCode,
124124
(response: number) => {
125125
evaluationResult = response;
126126
done();
@@ -155,7 +155,7 @@ describe('DebugProtectionFunctionCallTemplate', () => {
155155
).getObfuscatedCode();
156156

157157
spawnThread(
158-
() => obfuscatedCode,
158+
obfuscatedCode,
159159
(response: number) => {
160160
evaluationResult = response;
161161
done();
@@ -190,7 +190,7 @@ describe('DebugProtectionFunctionCallTemplate', () => {
190190
obfuscatedCode = obfuscatedCode.replace(/\+\+ *_0x([a-f0-9]){4,6}/, '');
191191

192192
spawnThread(
193-
() => obfuscatedCode,
193+
obfuscatedCode,
194194
(response: number) => {
195195
evaluationResult = response;
196196
done();
@@ -224,7 +224,7 @@ describe('DebugProtectionFunctionCallTemplate', () => {
224224
).getObfuscatedCode();
225225

226226
spawnThread(
227-
() => obfuscatedCode,
227+
obfuscatedCode,
228228
(response: number) => {
229229
evaluationResult = response;
230230
done();
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const expose = require('threads/worker').expose;
2+
3+
expose({
4+
evaluate: (obfuscatedCode) => {
5+
return eval(obfuscatedCode);
6+
}
7+
});

yarn.lock

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -890,6 +890,11 @@ caller-id@^0.1.0:
890890
dependencies:
891891
stack-trace "~0.0.7"
892892

893+
callsites@^3.1.0:
894+
version "3.1.0"
895+
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
896+
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
897+
893898
camelcase@^5.0.0, camelcase@^5.3.1:
894899
version "5.3.1"
895900
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -1531,6 +1536,11 @@ eslint-visitor-keys@^1.1.0:
15311536
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
15321537
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
15331538

1539+
esm@^3.2.25:
1540+
version "3.2.25"
1541+
resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10"
1542+
integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==
1543+
15341544
espree@^6.1.2:
15351545
version "6.1.2"
15361546
resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d"
@@ -1580,11 +1590,6 @@ eventemitter3@4.0.0:
15801590
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb"
15811591
integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==
15821592

1583-
eventemitter3@^2.0.2:
1584-
version "2.0.3"
1585-
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-2.0.3.tgz#b5e1079b59fb5e1ba2771c0a993be060a58c99ba"
1586-
integrity sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=
1587-
15881593
events@^3.0.0:
15891594
version "3.0.0"
15901595
resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88"
@@ -2282,6 +2287,13 @@ is-number@^4.0.0:
22822287
version "4.0.0"
22832288
resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
22842289

2290+
is-observable@^1.1.0:
2291+
version "1.1.0"
2292+
resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
2293+
integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
2294+
dependencies:
2295+
symbol-observable "^1.1.0"
2296+
22852297
is-odd@^2.0.0:
22862298
version "2.0.0"
22872299
resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24"
@@ -2895,11 +2907,6 @@ nanomatch@^1.2.9:
28952907
snapdragon "^0.8.1"
28962908
to-regex "^3.0.1"
28972909

2898-
native-promise-only@^0.8.1:
2899-
version "0.8.1"
2900-
resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11"
2901-
integrity sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=
2902-
29032910
needle@^2.2.0:
29042911
version "2.2.1"
29052912
resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
@@ -3125,6 +3132,11 @@ object.pick@^1.3.0:
31253132
dependencies:
31263133
isobject "^3.0.1"
31273134

3135+
observable-fns@^0.5.0:
3136+
version "0.5.0"
3137+
resolved "https://registry.yarnpkg.com/observable-fns/-/observable-fns-0.5.0.tgz#9b71bb3e1a6ac9840b3922b67de0092773230177"
3138+
integrity sha512-BWmxvFppAKRWWTYns+yW3RaoXLTkSVF1cnLNe06opO4/C4VVfZgRkwSEBLOAA6bcTNM1zDDRz2T+l52cPNuaZQ==
3139+
31283140
once@^1.3.0, once@^1.3.1, once@^1.4.0:
31293141
version "1.4.0"
31303142
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -4042,6 +4054,11 @@ supports-color@^7.1.0:
40424054
dependencies:
40434055
has-flag "^4.0.0"
40444056

4057+
symbol-observable@^1.1.0:
4058+
version "1.2.0"
4059+
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
4060+
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
4061+
40454062
tapable@^1.0.0:
40464063
version "1.0.0"
40474064
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2"
@@ -4096,13 +4113,17 @@ test-exclude@^6.0.0:
40964113
glob "^7.1.4"
40974114
minimatch "^3.0.4"
40984115

4099-
threads@0.12.0:
4100-
version "0.12.0"
4101-
resolved "https://registry.yarnpkg.com/threads/-/threads-0.12.0.tgz#d8ae23d929fcb8274a585b7bc333324fdfacef67"
4102-
integrity sha512-4B7hd61lDsVW1Z/+FAVX7D9QbiQYUbtGMHVkkwWT/nKPKas8u4FEc+Rg8E8h2erhNTQGNqNJ0TsholmhpKNPRg==
4116+
threads@1.0.0:
4117+
version "1.0.0"
4118+
resolved "https://registry.yarnpkg.com/threads/-/threads-1.0.0.tgz#d4ae092673f566cc650f25aca8bccd749bafbffd"
4119+
integrity sha512-E4qjYS3Za59Y+SVu4GNrnFwL4HbpimY9Co+In0PW5hSljIRo3z8b8ZmRy5V2f6J1fK6GsoVFSR61lzqmPnfKwQ==
41034120
dependencies:
4104-
eventemitter3 "^2.0.2"
4105-
native-promise-only "^0.8.1"
4121+
callsites "^3.1.0"
4122+
debug "^4.1.1"
4123+
is-observable "^1.1.0"
4124+
observable-fns "^0.5.0"
4125+
optionalDependencies:
4126+
tiny-worker ">= 2"
41064127

41074128
through2@^2.0.0:
41084129
version "2.0.3"
@@ -4117,6 +4138,13 @@ timers-browserify@^2.0.4:
41174138
dependencies:
41184139
setimmediate "^1.0.4"
41194140

4141+
"tiny-worker@>= 2":
4142+
version "2.3.0"
4143+
resolved "https://registry.yarnpkg.com/tiny-worker/-/tiny-worker-2.3.0.tgz#715ae34304c757a9af573ae9a8e3967177e6011e"
4144+
integrity sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==
4145+
dependencies:
4146+
esm "^3.2.25"
4147+
41204148
to-arraybuffer@^1.0.0:
41214149
version "1.0.1"
41224150
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"

0 commit comments

Comments
 (0)
0