webfuscator 1.2.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/analysis/constant.d.ts.map +1 -1
- package/dist/analysis/constant.js +10 -27
- package/dist/analysis/constant.js.map +1 -1
- package/dist/analysis/inlineability.d.ts.map +1 -1
- package/dist/analysis/inlineability.js +5 -13
- package/dist/analysis/inlineability.js.map +1 -1
- package/dist/analysis/purity.d.ts +3 -3
- package/dist/analysis/purity.d.ts.map +1 -1
- package/dist/analysis/purity.js +28 -75
- package/dist/analysis/purity.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/obfuscator.d.ts +2 -1
- package/dist/obfuscator.d.ts.map +1 -1
- package/dist/obfuscator.js +47 -12
- package/dist/obfuscator.js.map +1 -1
- package/dist/options.d.ts +17 -4
- package/dist/options.d.ts.map +1 -1
- package/dist/preparation/expand-destructuring.d.ts +2 -3
- package/dist/preparation/expand-destructuring.d.ts.map +1 -1
- package/dist/preparation/expand-destructuring.js +2 -8
- package/dist/preparation/expand-destructuring.js.map +1 -1
- package/dist/transforms/arguments-to-parameters.d.ts +5 -4
- package/dist/transforms/arguments-to-parameters.d.ts.map +1 -1
- package/dist/transforms/arguments-to-parameters.js +5 -4
- package/dist/transforms/arguments-to-parameters.js.map +1 -1
- package/dist/transforms/arrow-to-function.d.ts +4 -3
- package/dist/transforms/arrow-to-function.d.ts.map +1 -1
- package/dist/transforms/arrow-to-function.js +6 -10
- package/dist/transforms/arrow-to-function.js.map +1 -1
- package/dist/transforms/collapse-single-use-temps.d.ts +2 -1
- package/dist/transforms/collapse-single-use-temps.d.ts.map +1 -1
- package/dist/transforms/collapse-single-use-temps.js +12 -20
- package/dist/transforms/collapse-single-use-temps.js.map +1 -1
- package/dist/transforms/conceal-strings.d.ts +56 -0
- package/dist/transforms/conceal-strings.d.ts.map +1 -0
- package/dist/transforms/conceal-strings.js +356 -0
- package/dist/transforms/conceal-strings.js.map +1 -0
- package/dist/transforms/const-let-to-var.d.ts +4 -3
- package/dist/transforms/const-let-to-var.d.ts.map +1 -1
- package/dist/transforms/const-let-to-var.js +8 -67
- package/dist/transforms/const-let-to-var.js.map +1 -1
- package/dist/transforms/const-to-let.d.ts +1 -3
- package/dist/transforms/const-to-let.d.ts.map +1 -1
- package/dist/transforms/const-to-let.js +1 -8
- package/dist/transforms/const-to-let.js.map +1 -1
- package/dist/transforms/drop-console.d.ts.map +1 -1
- package/dist/transforms/drop-console.js +3 -5
- package/dist/transforms/drop-console.js.map +1 -1
- package/dist/transforms/expand-binary-assignment.d.ts.map +1 -1
- package/dist/transforms/expand-binary-assignment.js +0 -5
- package/dist/transforms/expand-binary-assignment.js.map +1 -1
- package/dist/transforms/expand-logical-assignment.d.ts.map +1 -1
- package/dist/transforms/expand-logical-assignment.js +0 -5
- package/dist/transforms/expand-logical-assignment.js.map +1 -1
- package/dist/transforms/extract-object-properties.js +5 -12
- package/dist/transforms/extract-object-properties.js.map +1 -1
- package/dist/transforms/fold-builtin-methods.d.ts.map +1 -1
- package/dist/transforms/fold-builtin-methods.js +44 -14
- package/dist/transforms/fold-builtin-methods.js.map +1 -1
- package/dist/transforms/fold-constants.js +5 -2
- package/dist/transforms/fold-constants.js.map +1 -1
- package/dist/transforms/function-declaration-to-expression.d.ts +5 -6
- package/dist/transforms/function-declaration-to-expression.d.ts.map +1 -1
- package/dist/transforms/function-declaration-to-expression.js +5 -6
- package/dist/transforms/function-declaration-to-expression.js.map +1 -1
- package/dist/transforms/hoist-variables.d.ts +29 -0
- package/dist/transforms/hoist-variables.d.ts.map +1 -0
- package/dist/transforms/hoist-variables.js +215 -0
- package/dist/transforms/hoist-variables.js.map +1 -0
- package/dist/transforms/inline-functions.js +11 -40
- package/dist/transforms/inline-functions.js.map +1 -1
- package/dist/transforms/logical-to-ternary.d.ts +1 -1
- package/dist/transforms/logical-to-ternary.js +5 -9
- package/dist/transforms/logical-to-ternary.js.map +1 -1
- package/dist/transforms/mangle-properties.d.ts +2 -5
- package/dist/transforms/mangle-properties.d.ts.map +1 -1
- package/dist/transforms/mangle-properties.js +9 -9
- package/dist/transforms/mangle-properties.js.map +1 -1
- package/dist/transforms/merge-variable-declarations.d.ts +17 -0
- package/dist/transforms/merge-variable-declarations.d.ts.map +1 -0
- package/dist/transforms/merge-variable-declarations.js +68 -0
- package/dist/transforms/merge-variable-declarations.js.map +1 -0
- package/dist/transforms/nullish-coalescing-to-ternary.d.ts +4 -5
- package/dist/transforms/nullish-coalescing-to-ternary.d.ts.map +1 -1
- package/dist/transforms/nullish-coalescing-to-ternary.js +7 -12
- package/dist/transforms/nullish-coalescing-to-ternary.js.map +1 -1
- package/dist/transforms/numbers-to-strings.d.ts.map +1 -1
- package/dist/transforms/numbers-to-strings.js +1 -8
- package/dist/transforms/numbers-to-strings.js.map +1 -1
- package/dist/transforms/object-method-to-property.d.ts +1 -1
- package/dist/transforms/object-method-to-property.js +1 -1
- package/dist/transforms/optional-chaining-to-ternary.d.ts +4 -3
- package/dist/transforms/optional-chaining-to-ternary.d.ts.map +1 -1
- package/dist/transforms/optional-chaining-to-ternary.js +9 -9
- package/dist/transforms/optional-chaining-to-ternary.js.map +1 -1
- package/dist/transforms/pack-declarations-into-parameters.d.ts.map +1 -1
- package/dist/transforms/pack-declarations-into-parameters.js +5 -21
- package/dist/transforms/pack-declarations-into-parameters.js.map +1 -1
- package/dist/transforms/pack.d.ts +4 -13
- package/dist/transforms/pack.d.ts.map +1 -1
- package/dist/transforms/pack.js +9 -29
- package/dist/transforms/pack.js.map +1 -1
- package/dist/transforms/remove-anonymous-function-names.d.ts +2 -4
- package/dist/transforms/remove-anonymous-function-names.d.ts.map +1 -1
- package/dist/transforms/remove-anonymous-function-names.js +2 -40
- package/dist/transforms/remove-anonymous-function-names.js.map +1 -1
- package/dist/transforms/remove-unreachable-code.js +2 -21
- package/dist/transforms/remove-unreachable-code.js.map +1 -1
- package/dist/transforms/remove-unused-code.d.ts.map +1 -1
- package/dist/transforms/remove-unused-code.js +12 -49
- package/dist/transforms/remove-unused-code.js.map +1 -1
- package/dist/transforms/rename-identifiers.d.ts +3 -3
- package/dist/transforms/rename-identifiers.d.ts.map +1 -1
- package/dist/transforms/rename-identifiers.js +31 -35
- package/dist/transforms/rename-identifiers.js.map +1 -1
- package/dist/transforms/reorder-function-declarations.d.ts +24 -0
- package/dist/transforms/reorder-function-declarations.d.ts.map +1 -0
- package/dist/transforms/reorder-function-declarations.js +62 -0
- package/dist/transforms/reorder-function-declarations.js.map +1 -0
- package/dist/transforms/specials-to-strings.d.ts.map +1 -1
- package/dist/transforms/specials-to-strings.js +2 -3
- package/dist/transforms/specials-to-strings.js.map +1 -1
- package/dist/transforms/switch-to-if.js +5 -15
- package/dist/transforms/switch-to-if.js.map +1 -1
- package/dist/transforms/ternary-to-if.d.ts.map +1 -1
- package/dist/transforms/ternary-to-if.js +5 -9
- package/dist/transforms/ternary-to-if.js.map +1 -1
- package/dist/transforms/update-to-assignment.d.ts.map +1 -1
- package/dist/transforms/update-to-assignment.js +6 -23
- package/dist/transforms/update-to-assignment.js.map +1 -1
- package/dist/transforms/yodify-conditions.d.ts +3 -4
- package/dist/transforms/yodify-conditions.d.ts.map +1 -1
- package/dist/transforms/yodify-conditions.js +3 -4
- package/dist/transforms/yodify-conditions.js.map +1 -1
- package/dist/utils/ast.d.ts +1 -3
- package/dist/utils/ast.d.ts.map +1 -1
- package/dist/utils/ast.js +4 -60
- package/dist/utils/ast.js.map +1 -1
- package/dist/utils/evaluation-order.js +1 -1
- package/dist/utils/evaluation-order.js.map +1 -1
- package/dist/utils/literal.d.ts.map +1 -1
- package/dist/utils/literal.js +74 -2
- package/dist/utils/literal.js.map +1 -1
- package/dist/utils/logical-lowering.d.ts.map +1 -1
- package/dist/utils/logical-lowering.js +7 -9
- package/dist/utils/logical-lowering.js.map +1 -1
- package/dist/utils/nullish.d.ts +4 -0
- package/dist/utils/nullish.d.ts.map +1 -0
- package/dist/utils/nullish.js +8 -0
- package/dist/utils/nullish.js.map +1 -0
- package/dist/utils/paths.d.ts +0 -2
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +0 -28
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/statement-lists.d.ts +9 -0
- package/dist/utils/statement-lists.d.ts.map +1 -0
- package/dist/utils/statement-lists.js +27 -0
- package/dist/utils/statement-lists.js.map +1 -0
- package/package.json +6 -2
- package/src/analysis/constant.ts +12 -33
- package/src/analysis/inlineability.ts +5 -13
- package/src/analysis/purity.ts +29 -92
- package/src/index.ts +1 -0
- package/src/obfuscator.ts +51 -14
- package/src/options.ts +21 -3
- package/src/preparation/expand-destructuring.ts +2 -10
- package/src/transforms/arguments-to-parameters.ts +5 -4
- package/src/transforms/arrow-to-function.ts +6 -10
- package/src/transforms/collapse-single-use-temps.ts +12 -23
- package/src/transforms/conceal-strings.ts +525 -0
- package/src/transforms/const-let-to-var.ts +9 -72
- package/src/transforms/const-to-let.ts +1 -8
- package/src/transforms/drop-console.ts +3 -5
- package/src/transforms/expand-binary-assignment.ts +0 -5
- package/src/transforms/expand-logical-assignment.ts +0 -5
- package/src/transforms/extract-object-properties.ts +5 -14
- package/src/transforms/fold-builtin-methods.ts +63 -17
- package/src/transforms/fold-constants.ts +5 -2
- package/src/transforms/function-declaration-to-expression.ts +5 -6
- package/src/transforms/hoist-variables.ts +262 -0
- package/src/transforms/inline-functions.ts +16 -47
- package/src/transforms/logical-to-ternary.ts +5 -10
- package/src/transforms/mangle-properties.ts +9 -12
- package/src/transforms/merge-variable-declarations.ts +91 -0
- package/src/transforms/nullish-coalescing-to-ternary.ts +7 -13
- package/src/transforms/numbers-to-strings.ts +2 -12
- package/src/transforms/object-method-to-property.ts +1 -1
- package/src/transforms/optional-chaining-to-ternary.ts +9 -9
- package/src/transforms/pack-declarations-into-parameters.ts +11 -21
- package/src/transforms/pack.ts +9 -30
- package/src/transforms/remove-anonymous-function-names.ts +3 -46
- package/src/transforms/remove-unreachable-code.ts +2 -22
- package/src/transforms/remove-unused-code.ts +14 -74
- package/src/transforms/rename-identifiers.ts +44 -35
- package/src/transforms/reorder-function-declarations.ts +78 -0
- package/src/transforms/specials-to-strings.ts +2 -3
- package/src/transforms/switch-to-if.ts +5 -22
- package/src/transforms/ternary-to-if.ts +5 -9
- package/src/transforms/update-to-assignment.ts +6 -24
- package/src/transforms/yodify-conditions.ts +3 -4
- package/src/utils/ast.ts +4 -69
- package/src/utils/evaluation-order.ts +1 -1
- package/src/utils/literal.ts +91 -2
- package/src/utils/logical-lowering.ts +7 -11
- package/src/utils/nullish.ts +23 -0
- package/src/utils/paths.ts +0 -32
- package/src/utils/statement-lists.ts +45 -0
package/dist/obfuscator.js
CHANGED
|
@@ -10,6 +10,7 @@ import { wrapSingleStatements } from './preparation/wrap-single-statements.js';
|
|
|
10
10
|
import { argumentsToParameters } from './transforms/arguments-to-parameters.js';
|
|
11
11
|
import { arrowToFunction } from './transforms/arrow-to-function.js';
|
|
12
12
|
import { collapseSingleUseTemps } from './transforms/collapse-single-use-temps.js';
|
|
13
|
+
import { concealStrings } from './transforms/conceal-strings.js';
|
|
13
14
|
import { constLetToVar } from './transforms/const-let-to-var.js';
|
|
14
15
|
import { constToLet } from './transforms/const-to-let.js';
|
|
15
16
|
import { doWhileToWhile } from './transforms/do-while-to-while.js';
|
|
@@ -22,9 +23,11 @@ import { foldBuiltinMethods } from './transforms/fold-builtin-methods.js';
|
|
|
22
23
|
import { foldConstants } from './transforms/fold-constants.js';
|
|
23
24
|
import { forToWhile } from './transforms/for-to-while.js';
|
|
24
25
|
import { functionDeclarationToExpression } from './transforms/function-declaration-to-expression.js';
|
|
26
|
+
import { hoistVariables } from './transforms/hoist-variables.js';
|
|
25
27
|
import { inlineFunctions } from './transforms/inline-functions.js';
|
|
26
28
|
import { logicalToTernary } from './transforms/logical-to-ternary.js';
|
|
27
29
|
import { mangleProperties } from './transforms/mangle-properties.js';
|
|
30
|
+
import { mergeVariableDeclarations } from './transforms/merge-variable-declarations.js';
|
|
28
31
|
import { nullishCoalescingToTernary } from './transforms/nullish-coalescing-to-ternary.js';
|
|
29
32
|
import { numbersToStrings } from './transforms/numbers-to-strings.js';
|
|
30
33
|
import { objectMethodToProperty } from './transforms/object-method-to-property.js';
|
|
@@ -35,13 +38,13 @@ import { removeAnonymousFunctionNames } from './transforms/remove-anonymous-func
|
|
|
35
38
|
import { removeUnreachableCode } from './transforms/remove-unreachable-code.js';
|
|
36
39
|
import { removeUnusedCode } from './transforms/remove-unused-code.js';
|
|
37
40
|
import { renameIdentifiers } from './transforms/rename-identifiers.js';
|
|
41
|
+
import { reorderFunctionDeclarations } from './transforms/reorder-function-declarations.js';
|
|
38
42
|
import { specialsToStrings } from './transforms/specials-to-strings.js';
|
|
39
43
|
import { switchToIf } from './transforms/switch-to-if.js';
|
|
40
44
|
import { ternaryToIf } from './transforms/ternary-to-if.js';
|
|
41
45
|
import { updateToAssignment } from './transforms/update-to-assignment.js';
|
|
42
46
|
import { yodifyConditions } from './transforms/yodify-conditions.js';
|
|
43
47
|
const parserOptions = { sourceType: 'unambiguous' };
|
|
44
|
-
const PRESERVED_COMMENT_RE = /^!|@(?:license|preserve)\b|^#\s*source(?:Mapping)?URL=/iu;
|
|
45
48
|
const DEFAULT_STRING_GENERATOR_MODE = 'mangled';
|
|
46
49
|
const DEFAULT_SEED = 0;
|
|
47
50
|
// Real inputs settle in a handful of iterations. Hitting this cap signals an
|
|
@@ -60,11 +63,10 @@ const PREPARATION = [
|
|
|
60
63
|
['stringifyObjectKeys', asBoolean(stringifyObjectKeys)],
|
|
61
64
|
['dotToBracket', asBoolean(dotToBracket)],
|
|
62
65
|
];
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
// `ObjectMethod` makes extraction refuse the whole literal.
|
|
66
|
+
// `constLetToVar` must precede the fixed point because folds need function-scoped
|
|
67
|
+
// bindings. `argumentsToParameters` must precede parameter renaming.
|
|
68
|
+
// `objectMethodToProperty` must precede extraction because one `ObjectMethod`
|
|
69
|
+
// blocks the whole object literal.
|
|
68
70
|
const PRE_LOOP = [
|
|
69
71
|
['dropDebugger', dropDebugger],
|
|
70
72
|
['dropConsole', dropConsole],
|
|
@@ -105,20 +107,41 @@ const LOWERING = [
|
|
|
105
107
|
['logicalToTernary', logicalToTernary],
|
|
106
108
|
['ternaryToIf', ternaryToIf],
|
|
107
109
|
];
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
+
// `packDeclarationsIntoParameters` must precede declaration motion and merging.
|
|
111
|
+
// `reorderFunctionDeclarations` follows `functionDeclarationToExpression`, so it
|
|
112
|
+
// moves only declarations still needed for hoisting. `hoistVariables` must run
|
|
113
|
+
// before `mergeVariableDeclarations`. `numbersToStrings` follows the fixed point,
|
|
114
|
+
// yodification, and `specialsToStrings` because they need or create numbers.
|
|
110
115
|
const POST_PROCESS = [
|
|
111
116
|
['packDeclarationsIntoParameters', packDeclarationsIntoParameters],
|
|
117
|
+
['reorderFunctionDeclarations', reorderFunctionDeclarations],
|
|
118
|
+
['hoistVariables', hoistVariables],
|
|
119
|
+
['mergeVariableDeclarations', mergeVariableDeclarations],
|
|
112
120
|
['yodifyConditions', yodifyConditions],
|
|
113
121
|
['specialsToStrings', specialsToStrings],
|
|
114
122
|
['numbersToStrings', numbersToStrings],
|
|
115
123
|
];
|
|
124
|
+
// Conceal strings after every string-producing pass, but before renaming so the
|
|
125
|
+
// generated vault bindings use the caller's name generator.
|
|
126
|
+
const PROTECTION = [['concealStrings', concealStrings]];
|
|
116
127
|
// Renaming runs last because later transforms depend on recognizable bindings.
|
|
117
128
|
const RENAME = [['renameIdentifiers', renameIdentifiers]];
|
|
118
129
|
// Packing serializes the finished program to a string and rebuilds it through
|
|
119
130
|
// the Function constructor. It must see final names and shapes, so it runs after
|
|
120
131
|
// every other rewrite, including renaming.
|
|
121
132
|
const PACK = [['pack', pack]];
|
|
133
|
+
// Tests derive their all-transforms setup from this list. The phase tables remain
|
|
134
|
+
// the only source of pipeline order.
|
|
135
|
+
export const CONFIGURABLE_TRANSFORM_NAMES = [
|
|
136
|
+
...BEFORE_PREPARATION,
|
|
137
|
+
...PRE_LOOP,
|
|
138
|
+
...FIXED_POINT,
|
|
139
|
+
...LOWERING,
|
|
140
|
+
...POST_PROCESS,
|
|
141
|
+
...PROTECTION,
|
|
142
|
+
...RENAME,
|
|
143
|
+
...PACK,
|
|
144
|
+
].map(([name]) => name);
|
|
122
145
|
/** Parses, transforms, and prints JavaScript without mutating external state. */
|
|
123
146
|
export function obfuscate(code, options = {}) {
|
|
124
147
|
const log = options.verbose ? makeLogger() : null;
|
|
@@ -155,6 +178,12 @@ export function obfuscate(code, options = {}) {
|
|
|
155
178
|
}
|
|
156
179
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)));
|
|
157
180
|
}
|
|
181
|
+
for (const [name, fn] of PROTECTION) {
|
|
182
|
+
if (!isEnabled(name, options)) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)));
|
|
186
|
+
}
|
|
158
187
|
for (const [name, fn] of RENAME) {
|
|
159
188
|
if (!isEnabled(name, options)) {
|
|
160
189
|
continue;
|
|
@@ -167,7 +196,12 @@ export function obfuscate(code, options = {}) {
|
|
|
167
196
|
}
|
|
168
197
|
run(log, name, () => fn(ast, ctxFor(name, options, baseCtx)));
|
|
169
198
|
}
|
|
170
|
-
return run(log, 'generate', () => generate(ast, {
|
|
199
|
+
return run(log, 'generate', () => generate(ast, {
|
|
200
|
+
comments: false,
|
|
201
|
+
minified: options.minify ?? false,
|
|
202
|
+
// `comments: false` still allows @license and @preserve.
|
|
203
|
+
shouldPrintComment: () => false,
|
|
204
|
+
}).code);
|
|
171
205
|
}
|
|
172
206
|
function isEnabled(name, options) {
|
|
173
207
|
const entry = options.transforms?.[name];
|
|
@@ -175,6 +209,10 @@ function isEnabled(name, options) {
|
|
|
175
209
|
}
|
|
176
210
|
// Boolean entries inherit the base. An override replaces its string mode.
|
|
177
211
|
function ctxFor(name, options, base) {
|
|
212
|
+
if (name === 'concealStrings') {
|
|
213
|
+
const entry = options.transforms?.concealStrings;
|
|
214
|
+
return entry && typeof entry === 'object' ? { ...base, concealStrings: entry } : base;
|
|
215
|
+
}
|
|
178
216
|
const entry = options.transforms?.[name];
|
|
179
217
|
let context = base;
|
|
180
218
|
if (entry && typeof entry === 'object' && entry.stringGeneratorMode !== undefined) {
|
|
@@ -211,9 +249,6 @@ function asBoolean(fn) {
|
|
|
211
249
|
return false;
|
|
212
250
|
};
|
|
213
251
|
}
|
|
214
|
-
function shouldPrintComment(value) {
|
|
215
|
-
return PRESERVED_COMMENT_RE.test(value);
|
|
216
|
-
}
|
|
217
252
|
function run(log, name, fn) {
|
|
218
253
|
return log ? log(name, fn) : fn();
|
|
219
254
|
}
|
package/dist/obfuscator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"obfuscator.js","sourceRoot":"","sources":["../src/obfuscator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"obfuscator.js","sourceRoot":"","sources":["../src/obfuscator.ts"],"names":[],"mappings":"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"}
|
package/dist/options.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { StringGeneratorModeOption } from './utils/string-generator.js';
|
|
|
3
3
|
* Exported transform entry points. Preparation passes are always enabled and
|
|
4
4
|
* do not appear here.
|
|
5
5
|
*/
|
|
6
|
-
export type TransformName = 'dropConsole' | 'dropDebugger' | 'constToLet' | 'constLetToVar' | 'argumentsToParameters' | 'objectMethodToProperty' | 'foldConstants' | 'foldBuiltinMethods' | 'extractObjectProperties' | 'inlineFunctions' | 'removeUnreachableCode' | 'removeUnusedCode' | 'removeAnonymousFunctionNames' | 'collapseSingleUseTemps' | 'arrowToFunction' | 'functionDeclarationToExpression' | 'switchToIf' | 'forToWhile' | 'doWhileToWhile' | 'updateToAssignment' | 'expandBinaryAssignment' | 'expandLogicalAssignment' | 'optionalChainingToTernary' | 'nullishCoalescingToTernary' | 'logicalToTernary' | 'ternaryToIf' | 'packDeclarationsIntoParameters' | 'yodifyConditions' | 'specialsToStrings' | 'numbersToStrings' | 'mangleProperties' | 'renameIdentifiers' | 'pack';
|
|
6
|
+
export type TransformName = 'dropConsole' | 'dropDebugger' | 'constToLet' | 'constLetToVar' | 'argumentsToParameters' | 'objectMethodToProperty' | 'foldConstants' | 'foldBuiltinMethods' | 'extractObjectProperties' | 'inlineFunctions' | 'removeUnreachableCode' | 'removeUnusedCode' | 'removeAnonymousFunctionNames' | 'collapseSingleUseTemps' | 'arrowToFunction' | 'functionDeclarationToExpression' | 'reorderFunctionDeclarations' | 'hoistVariables' | 'mergeVariableDeclarations' | 'switchToIf' | 'forToWhile' | 'doWhileToWhile' | 'updateToAssignment' | 'expandBinaryAssignment' | 'expandLogicalAssignment' | 'optionalChainingToTernary' | 'nullishCoalescingToTernary' | 'logicalToTernary' | 'ternaryToIf' | 'packDeclarationsIntoParameters' | 'yodifyConditions' | 'specialsToStrings' | 'numbersToStrings' | 'concealStrings' | 'mangleProperties' | 'renameIdentifiers' | 'pack';
|
|
7
7
|
type TransformEntry = boolean | {
|
|
8
8
|
stringGeneratorMode?: StringGeneratorModeOption;
|
|
9
9
|
};
|
|
@@ -25,8 +25,8 @@ export interface ManglePropertiesOptions {
|
|
|
25
25
|
/** Custom property-name generator. It takes precedence over `stringGeneratorMode`. */
|
|
26
26
|
nameGenerator?: PropertyNameGenerator;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
28
|
+
* Mangle only names with an exact standalone `/*@__MANGLE_PROP__*\/` or
|
|
29
|
+
* `/*#__MANGLE_PROP__*\/` annotation. Default `false`.
|
|
30
30
|
*/
|
|
31
31
|
onlyAnnotated?: boolean;
|
|
32
32
|
/** Only names already present in `cache` may be mangled. Default `false`. */
|
|
@@ -57,8 +57,20 @@ export interface PackOptions {
|
|
|
57
57
|
/** Override the default string-generator mode for the names pack creates. */
|
|
58
58
|
stringGeneratorMode?: StringGeneratorModeOption;
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
/** Options for the string vault generated by `concealStrings`. */
|
|
61
|
+
export interface ConcealStringsOptions {
|
|
62
|
+
/** Cache each decoded string in its vault. Default `true`. */
|
|
63
|
+
cache?: boolean;
|
|
64
|
+
/** Choose how much of the UTF-16 range pads each pool. Default `'regional'`. */
|
|
65
|
+
cover?: 'full' | 'regional' | 'used';
|
|
66
|
+
/** Reuse one vault entry for equal strings. Default `true`. */
|
|
67
|
+
deduplicate?: boolean;
|
|
68
|
+
/** Use one program vault or a separate vault per function. Default `'program'`. */
|
|
69
|
+
scope?: 'function' | 'program';
|
|
70
|
+
}
|
|
71
|
+
type SimpleTransform = Exclude<TransformName, 'concealStrings' | 'mangleProperties' | 'pack' | 'renameIdentifiers' | 'specialsToStrings'>;
|
|
61
72
|
type TransformsMap = Partial<Record<SimpleTransform, boolean>> & {
|
|
73
|
+
concealStrings?: boolean | ConcealStringsOptions;
|
|
62
74
|
mangleProperties?: boolean | ManglePropertiesOptions;
|
|
63
75
|
pack?: boolean | PackOptions;
|
|
64
76
|
renameIdentifiers?: TransformEntry;
|
|
@@ -84,6 +96,7 @@ export interface ObfuscatorOptions {
|
|
|
84
96
|
seed?: number;
|
|
85
97
|
}
|
|
86
98
|
export interface TransformContext {
|
|
99
|
+
concealStrings?: ConcealStringsOptions;
|
|
87
100
|
mangleProperties?: ManglePropertiesOptions;
|
|
88
101
|
pack?: PackOptions;
|
|
89
102
|
seed: number;
|
package/dist/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAEzE;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,aAAa,GACb,cAAc,GACd,YAAY,GACZ,eAAe,GACf,uBAAuB,GACvB,wBAAwB,GACxB,eAAe,GACf,oBAAoB,GACpB,yBAAyB,GACzB,iBAAiB,GACjB,uBAAuB,GACvB,kBAAkB,GAClB,8BAA8B,GAC9B,wBAAwB,GACxB,iBAAiB,GACjB,iCAAiC,GACjC,YAAY,GACZ,YAAY,GACZ,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,yBAAyB,GACzB,2BAA2B,GAC3B,4BAA4B,GAC5B,kBAAkB,GAClB,aAAa,GACb,gCAAgC,GAChC,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,MAAM,CAAA;AAGV,KAAK,cAAc,GAAG,OAAO,GAAG;IAAE,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;CAAE,CAAA;AAEnF,2DAA2D;AAC3D,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;AAE7D,0EAA0E;AAC1E,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAC/B,sFAAsF;IACtF,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC5B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;IAC/C,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAA;IACzC,6EAA6E;IAC7E,mBAAmB,CAAC,EAAE,yBAAyB,CAAA;CAChD;AAED,KAAK,eAAe,GAAG,OAAO,CAC5B,aAAa,EACb,kBAAkB,GAAG,MAAM,GAAG,mBAAmB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,8 @@ import type { File } from '@babel/types';
|
|
|
7
7
|
* The source, computed keys, and getters keep their original evaluation counts.
|
|
8
8
|
* Defaults compare against `void 0` because `undefined` can be shadowed.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* computed key, matching ObjectBindingPattern evaluation order.
|
|
10
|
+
* The `RequireObjectCoercible` guard runs before computed keys to preserve
|
|
11
|
+
* ObjectBindingPattern evaluation order.
|
|
13
12
|
*
|
|
14
13
|
* @example
|
|
15
14
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand-destructuring.d.ts","sourceRoot":"","sources":["../../src/preparation/expand-destructuring.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"expand-destructuring.d.ts","sourceRoot":"","sources":["../../src/preparation/expand-destructuring.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAEnD"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import traverse from '@babel/traverse';
|
|
2
2
|
import * as t from '@babel/types';
|
|
3
|
-
import { enclosingScopeHasDirectEval, isInsideWith } from '../utils/ast.js';
|
|
4
3
|
/**
|
|
5
4
|
* Rewrites object destructuring declarations as individual property reads.
|
|
6
5
|
* Array patterns stay intact because indexed reads cannot reproduce the iterator
|
|
@@ -9,9 +8,8 @@ import { enclosingScopeHasDirectEval, isInsideWith } from '../utils/ast.js';
|
|
|
9
8
|
* The source, computed keys, and getters keep their original evaluation counts.
|
|
10
9
|
* Defaults compare against `void 0` because `undefined` can be shadowed.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* computed key, matching ObjectBindingPattern evaluation order.
|
|
11
|
+
* The `RequireObjectCoercible` guard runs before computed keys to preserve
|
|
12
|
+
* ObjectBindingPattern evaluation order.
|
|
15
13
|
*
|
|
16
14
|
* @example
|
|
17
15
|
* // ◀️ before
|
|
@@ -32,10 +30,6 @@ const visitor = {
|
|
|
32
30
|
if (typeof path.listKey !== 'string') {
|
|
33
31
|
return;
|
|
34
32
|
}
|
|
35
|
-
// Babel cannot prove a generated name hidden from `with` or direct `eval`.
|
|
36
|
-
if (isInsideWith(path) || enclosingScopeHasDirectEval(path)) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
33
|
const kind = path.node.kind;
|
|
40
34
|
const replacement = [];
|
|
41
35
|
let changed = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand-destructuring.js","sourceRoot":"","sources":["../../src/preparation/expand-destructuring.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"expand-destructuring.js","sourceRoot":"","sources":["../../src/preparation/expand-destructuring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
2
|
/**
|
|
3
|
-
* Replaces `arguments[i]` reads with
|
|
4
|
-
* with simple parameter lists.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* Replaces numeric `arguments[i]` reads with the corresponding parameter in
|
|
4
|
+
* sloppy functions with simple parameter lists. It leaves a read unchanged when
|
|
5
|
+
* that index is written or its parameter is reassigned. Reassigning, deleting,
|
|
6
|
+
* or passing around `arguments` disables the rewrite. Missing parameters are
|
|
7
|
+
* never added because that would change `fn.length`.
|
|
7
8
|
*
|
|
8
9
|
* @example
|
|
9
10
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments-to-parameters.d.ts","sourceRoot":"","sources":["../../src/transforms/arguments-to-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC
|
|
1
|
+
{"version":3,"file":"arguments-to-parameters.d.ts","sourceRoot":"","sources":["../../src/transforms/arguments-to-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAOxC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAExD"}
|
|
@@ -3,10 +3,11 @@ import { hasDuplicateParamNames } from '../utils/ast.js';
|
|
|
3
3
|
import { traverseForChanges } from '../utils/change-tracking.js';
|
|
4
4
|
import { isInStrictContext } from '../utils/paths.js';
|
|
5
5
|
/**
|
|
6
|
-
* Replaces `arguments[i]` reads with
|
|
7
|
-
* with simple parameter lists.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Replaces numeric `arguments[i]` reads with the corresponding parameter in
|
|
7
|
+
* sloppy functions with simple parameter lists. It leaves a read unchanged when
|
|
8
|
+
* that index is written or its parameter is reassigned. Reassigning, deleting,
|
|
9
|
+
* or passing around `arguments` disables the rewrite. Missing parameters are
|
|
10
|
+
* never added because that would change `fn.length`.
|
|
10
11
|
*
|
|
11
12
|
* @example
|
|
12
13
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arguments-to-parameters.js","sourceRoot":"","sources":["../../src/transforms/arguments-to-parameters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD
|
|
1
|
+
{"version":3,"file":"arguments-to-parameters.js","sourceRoot":"","sources":["../../src/transforms/arguments-to-parameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* that
|
|
5
|
-
*
|
|
3
|
+
* Converts arrows with Babel's capture-aware `arrowFunctionToExpression`.
|
|
4
|
+
* Arrows that use `super` stay unchanged. An arrow also stays unchanged unless
|
|
5
|
+
* every use is an immediate call or a discarded expression, because a normal
|
|
6
|
+
* function can be constructed with `new` and has a `prototype`.
|
|
6
7
|
*
|
|
7
8
|
* @example
|
|
8
9
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-to-function.d.ts","sourceRoot":"","sources":["../../src/transforms/arrow-to-function.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"arrow-to-function.d.ts","sourceRoot":"","sources":["../../src/transforms/arrow-to-function.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAKxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAElD"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as t from '@babel/types';
|
|
2
|
-
import { enclosingScopeHasDirectEval, isInsideWith } from '../utils/ast.js';
|
|
3
2
|
import { traverseForChanges } from '../utils/change-tracking.js';
|
|
4
3
|
/**
|
|
5
|
-
*
|
|
6
|
-
* that
|
|
7
|
-
*
|
|
4
|
+
* Converts arrows with Babel's capture-aware `arrowFunctionToExpression`.
|
|
5
|
+
* Arrows that use `super` stay unchanged. An arrow also stays unchanged unless
|
|
6
|
+
* every use is an immediate call or a discarded expression, because a normal
|
|
7
|
+
* function can be constructed with `new` and has a `prototype`.
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
10
|
* // ◀️ before
|
|
@@ -58,11 +58,7 @@ const visitor = {
|
|
|
58
58
|
!valueStaysInView(path) ||
|
|
59
59
|
arrowReferencesSuper(path) ||
|
|
60
60
|
inUnsafeCaptureContext(path) ||
|
|
61
|
-
usesReassignedArguments(path)
|
|
62
|
-
// `with` can shadow capture aliases, and direct eval can inspect the changed
|
|
63
|
-
// runtime meaning of `this` or `arguments`.
|
|
64
|
-
isInsideWith(path) ||
|
|
65
|
-
enclosingScopeHasDirectEval(path)) {
|
|
61
|
+
usesReassignedArguments(path)) {
|
|
66
62
|
return;
|
|
67
63
|
}
|
|
68
64
|
path.arrowFunctionToExpression({
|
|
@@ -129,7 +125,7 @@ function valueStaysInView(valuePath) {
|
|
|
129
125
|
return false;
|
|
130
126
|
}
|
|
131
127
|
const binding = valuePath.scope.getBinding(parent.node.id.name);
|
|
132
|
-
if (!binding || !binding.constant) {
|
|
128
|
+
if (!binding || (binding.kind !== 'const' && !binding.constant)) {
|
|
133
129
|
return false;
|
|
134
130
|
}
|
|
135
131
|
return binding.referencePaths.every((ref) => ref.parentPath != null && isImmediateCallee(ref, ref.parentPath));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow-to-function.js","sourceRoot":"","sources":["../../src/transforms/arrow-to-function.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"arrow-to-function.js","sourceRoot":"","sources":["../../src/transforms/arrow-to-function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { File } from '@babel/types';
|
|
2
2
|
/**
|
|
3
3
|
* Drops single-use temporaries through substitution, direct branch writes, or
|
|
4
|
-
* constant replacement.
|
|
4
|
+
* constant replacement. It repeats these rewrites so one removal can expose
|
|
5
|
+
* another.
|
|
5
6
|
*
|
|
6
7
|
* @example
|
|
7
8
|
* // ◀️ before
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse-single-use-temps.d.ts","sourceRoot":"","sources":["../../src/transforms/collapse-single-use-temps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"collapse-single-use-temps.d.ts","sourceRoot":"","sources":["../../src/transforms/collapse-single-use-temps.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAaxC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAiDzD"}
|
|
@@ -3,13 +3,13 @@ import * as t from '@babel/types';
|
|
|
3
3
|
import { evaluateConstant } from '../analysis/constant.js';
|
|
4
4
|
import { declarationReaches, initializerReaches, readCrossesFunctionBoundary, } from '../analysis/document-order.js';
|
|
5
5
|
import { isPure } from '../analysis/purity.js';
|
|
6
|
-
import { isInsideWith } from '../utils/ast.js';
|
|
7
6
|
import { reorderableToStatement } from '../utils/evaluation-order.js';
|
|
8
7
|
import { valueToLiteral } from '../utils/literal.js';
|
|
9
8
|
import { isCalleeOrTagOf } from '../utils/paths.js';
|
|
10
9
|
/**
|
|
11
10
|
* Drops single-use temporaries through substitution, direct branch writes, or
|
|
12
|
-
* constant replacement.
|
|
11
|
+
* constant replacement. It repeats these rewrites so one removal can expose
|
|
12
|
+
* another.
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* // ◀️ before
|
|
@@ -79,17 +79,8 @@ function resolveSingleUseBinding(path) {
|
|
|
79
79
|
if (binding.references === 0) {
|
|
80
80
|
return null;
|
|
81
81
|
}
|
|
82
|
-
// `with` can redirect the temporary or its consumer outside Babel's scope table.
|
|
83
|
-
if (bindingTouchesWith(binding)) {
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
82
|
return binding;
|
|
87
83
|
}
|
|
88
|
-
function bindingTouchesWith(binding) {
|
|
89
|
-
return (isInsideWith(binding.path) ||
|
|
90
|
-
binding.referencePaths.some((ref) => isInsideWith(ref)) ||
|
|
91
|
-
binding.constantViolations.some((violation) => isInsideWith(violation)));
|
|
92
|
-
}
|
|
93
84
|
function findProgramScope(ast) {
|
|
94
85
|
let result;
|
|
95
86
|
traverse(ast, {
|
|
@@ -119,7 +110,7 @@ function trySubstituteSingleUse(binding, declaratorPath) {
|
|
|
119
110
|
let writeRhs;
|
|
120
111
|
let removeWriteStmt;
|
|
121
112
|
if (init) {
|
|
122
|
-
if (binding.constantViolations.length > 0) {
|
|
113
|
+
if (binding.kind !== 'const' && binding.constantViolations.length > 0) {
|
|
123
114
|
return false;
|
|
124
115
|
}
|
|
125
116
|
writeStmt = declStmt;
|
|
@@ -277,8 +268,9 @@ function tryRenameWritesToReader(binding, declaratorPath) {
|
|
|
277
268
|
if (violation.scope.getBinding(yIdent.name) !== yBinding) {
|
|
278
269
|
return false;
|
|
279
270
|
}
|
|
280
|
-
//
|
|
281
|
-
|
|
271
|
+
// A later `var` initializer can overwrite a redirected write. Writes before
|
|
272
|
+
// lexical initialization are intentionally ignored.
|
|
273
|
+
if (yBinding.kind === 'var' && !declarationReaches(yBinding.path, violation)) {
|
|
282
274
|
return false;
|
|
283
275
|
}
|
|
284
276
|
}
|
|
@@ -542,7 +534,7 @@ function spanStatementIsInert(path, tempBinding) {
|
|
|
542
534
|
}
|
|
543
535
|
if (t.isIfStatement(node)) {
|
|
544
536
|
const test = path.get('test');
|
|
545
|
-
if (!isPure(test.node, test.scope
|
|
537
|
+
if (!isPure(test.node, test.scope)) {
|
|
546
538
|
return false;
|
|
547
539
|
}
|
|
548
540
|
if (!spanStatementIsInert(path.get('consequent'), tempBinding)) {
|
|
@@ -555,9 +547,9 @@ function spanStatementIsInert(path, tempBinding) {
|
|
|
555
547
|
const expr = path.get('expression');
|
|
556
548
|
if (isTempWrite(expr.node, tempBinding)) {
|
|
557
549
|
const rhs = expr.get('right');
|
|
558
|
-
return isPure(rhs.node, rhs.scope
|
|
550
|
+
return isPure(rhs.node, rhs.scope);
|
|
559
551
|
}
|
|
560
|
-
return isPure(expr.node, expr.scope
|
|
552
|
+
return isPure(expr.node, expr.scope);
|
|
561
553
|
}
|
|
562
554
|
return false;
|
|
563
555
|
}
|
|
@@ -593,7 +585,7 @@ function tryPropagateConstant(binding, declaratorPath) {
|
|
|
593
585
|
let evalScope;
|
|
594
586
|
let writeSourcePath;
|
|
595
587
|
if (init) {
|
|
596
|
-
if (binding.constantViolations.length > 0) {
|
|
588
|
+
if (binding.kind !== 'const' && binding.constantViolations.length > 0) {
|
|
597
589
|
return false;
|
|
598
590
|
}
|
|
599
591
|
if (!isUnconditionallyExecuted(declStmt, declaratorPath.scope)) {
|
|
@@ -742,10 +734,10 @@ function isStatementMovementSafe(path) {
|
|
|
742
734
|
if (t.isEmptyStatement(node)) {
|
|
743
735
|
return true;
|
|
744
736
|
}
|
|
745
|
-
//
|
|
737
|
+
// Only inert expression statements are safe to cross.
|
|
746
738
|
if (t.isExpressionStatement(node)) {
|
|
747
739
|
const expr = path.get('expression');
|
|
748
|
-
return isPure(expr.node, expr.scope
|
|
740
|
+
return isPure(expr.node, expr.scope);
|
|
749
741
|
}
|
|
750
742
|
return false;
|
|
751
743
|
}
|