webfuscator 1.3.0 → 1.3.2

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.
Files changed (180) hide show
  1. package/DISCLOSURE +9 -0
  2. package/README.md +67 -0
  3. package/dist/analysis/constant.d.ts.map +1 -1
  4. package/dist/analysis/constant.js +10 -26
  5. package/dist/analysis/constant.js.map +1 -1
  6. package/dist/analysis/inlineability.d.ts.map +1 -1
  7. package/dist/analysis/inlineability.js +4 -12
  8. package/dist/analysis/inlineability.js.map +1 -1
  9. package/dist/analysis/purity.d.ts +3 -3
  10. package/dist/analysis/purity.d.ts.map +1 -1
  11. package/dist/analysis/purity.js +28 -75
  12. package/dist/analysis/purity.js.map +1 -1
  13. package/dist/preparation/expand-destructuring.d.ts +2 -3
  14. package/dist/preparation/expand-destructuring.d.ts.map +1 -1
  15. package/dist/preparation/expand-destructuring.js +2 -8
  16. package/dist/preparation/expand-destructuring.js.map +1 -1
  17. package/dist/transforms/arguments-to-parameters.d.ts +5 -4
  18. package/dist/transforms/arguments-to-parameters.d.ts.map +1 -1
  19. package/dist/transforms/arguments-to-parameters.js +5 -4
  20. package/dist/transforms/arguments-to-parameters.js.map +1 -1
  21. package/dist/transforms/arrow-to-function.d.ts +4 -3
  22. package/dist/transforms/arrow-to-function.d.ts.map +1 -1
  23. package/dist/transforms/arrow-to-function.js +6 -8
  24. package/dist/transforms/arrow-to-function.js.map +1 -1
  25. package/dist/transforms/collapse-single-use-temps.d.ts +2 -1
  26. package/dist/transforms/collapse-single-use-temps.d.ts.map +1 -1
  27. package/dist/transforms/collapse-single-use-temps.js +12 -20
  28. package/dist/transforms/collapse-single-use-temps.js.map +1 -1
  29. package/dist/transforms/conceal-strings.d.ts +1 -2
  30. package/dist/transforms/conceal-strings.d.ts.map +1 -1
  31. package/dist/transforms/conceal-strings.js +2 -7
  32. package/dist/transforms/conceal-strings.js.map +1 -1
  33. package/dist/transforms/const-let-to-var.d.ts +4 -3
  34. package/dist/transforms/const-let-to-var.d.ts.map +1 -1
  35. package/dist/transforms/const-let-to-var.js +8 -94
  36. package/dist/transforms/const-let-to-var.js.map +1 -1
  37. package/dist/transforms/const-to-let.d.ts +1 -2
  38. package/dist/transforms/const-to-let.d.ts.map +1 -1
  39. package/dist/transforms/const-to-let.js +1 -6
  40. package/dist/transforms/const-to-let.js.map +1 -1
  41. package/dist/transforms/drop-console.d.ts.map +1 -1
  42. package/dist/transforms/drop-console.js +3 -5
  43. package/dist/transforms/drop-console.js.map +1 -1
  44. package/dist/transforms/expand-binary-assignment.d.ts.map +1 -1
  45. package/dist/transforms/expand-binary-assignment.js +0 -5
  46. package/dist/transforms/expand-binary-assignment.js.map +1 -1
  47. package/dist/transforms/expand-logical-assignment.d.ts.map +1 -1
  48. package/dist/transforms/expand-logical-assignment.js +0 -5
  49. package/dist/transforms/expand-logical-assignment.js.map +1 -1
  50. package/dist/transforms/extract-object-properties.js +5 -12
  51. package/dist/transforms/extract-object-properties.js.map +1 -1
  52. package/dist/transforms/fold-builtin-methods.js +3 -11
  53. package/dist/transforms/fold-builtin-methods.js.map +1 -1
  54. package/dist/transforms/fold-constants.js +2 -2
  55. package/dist/transforms/fold-constants.js.map +1 -1
  56. package/dist/transforms/function-declaration-to-expression.d.ts +5 -6
  57. package/dist/transforms/function-declaration-to-expression.d.ts.map +1 -1
  58. package/dist/transforms/function-declaration-to-expression.js +5 -6
  59. package/dist/transforms/function-declaration-to-expression.js.map +1 -1
  60. package/dist/transforms/hoist-variables.d.ts +1 -2
  61. package/dist/transforms/hoist-variables.d.ts.map +1 -1
  62. package/dist/transforms/hoist-variables.js +2 -11
  63. package/dist/transforms/hoist-variables.js.map +1 -1
  64. package/dist/transforms/inline-functions.js +11 -39
  65. package/dist/transforms/inline-functions.js.map +1 -1
  66. package/dist/transforms/logical-to-ternary.d.ts +1 -1
  67. package/dist/transforms/logical-to-ternary.js +5 -9
  68. package/dist/transforms/logical-to-ternary.js.map +1 -1
  69. package/dist/transforms/mangle-properties.d.ts +2 -5
  70. package/dist/transforms/mangle-properties.d.ts.map +1 -1
  71. package/dist/transforms/mangle-properties.js +2 -5
  72. package/dist/transforms/mangle-properties.js.map +1 -1
  73. package/dist/transforms/nullish-coalescing-to-ternary.d.ts +4 -5
  74. package/dist/transforms/nullish-coalescing-to-ternary.d.ts.map +1 -1
  75. package/dist/transforms/nullish-coalescing-to-ternary.js +7 -12
  76. package/dist/transforms/nullish-coalescing-to-ternary.js.map +1 -1
  77. package/dist/transforms/object-method-to-property.d.ts +1 -1
  78. package/dist/transforms/object-method-to-property.js +1 -1
  79. package/dist/transforms/optional-chaining-to-ternary.d.ts +4 -3
  80. package/dist/transforms/optional-chaining-to-ternary.d.ts.map +1 -1
  81. package/dist/transforms/optional-chaining-to-ternary.js +9 -9
  82. package/dist/transforms/optional-chaining-to-ternary.js.map +1 -1
  83. package/dist/transforms/pack-declarations-into-parameters.d.ts.map +1 -1
  84. package/dist/transforms/pack-declarations-into-parameters.js +4 -16
  85. package/dist/transforms/pack-declarations-into-parameters.js.map +1 -1
  86. package/dist/transforms/pack.d.ts +4 -11
  87. package/dist/transforms/pack.d.ts.map +1 -1
  88. package/dist/transforms/pack.js +4 -17
  89. package/dist/transforms/pack.js.map +1 -1
  90. package/dist/transforms/remove-anonymous-function-names.d.ts +2 -4
  91. package/dist/transforms/remove-anonymous-function-names.d.ts.map +1 -1
  92. package/dist/transforms/remove-anonymous-function-names.js +2 -40
  93. package/dist/transforms/remove-anonymous-function-names.js.map +1 -1
  94. package/dist/transforms/remove-unreachable-code.js +2 -21
  95. package/dist/transforms/remove-unreachable-code.js.map +1 -1
  96. package/dist/transforms/remove-unused-code.d.ts.map +1 -1
  97. package/dist/transforms/remove-unused-code.js +5 -10
  98. package/dist/transforms/remove-unused-code.js.map +1 -1
  99. package/dist/transforms/rename-identifiers.d.ts +3 -3
  100. package/dist/transforms/rename-identifiers.d.ts.map +1 -1
  101. package/dist/transforms/rename-identifiers.js +4 -20
  102. package/dist/transforms/rename-identifiers.js.map +1 -1
  103. package/dist/transforms/reorder-function-declarations.d.ts +1 -2
  104. package/dist/transforms/reorder-function-declarations.d.ts.map +1 -1
  105. package/dist/transforms/reorder-function-declarations.js +2 -4
  106. package/dist/transforms/reorder-function-declarations.js.map +1 -1
  107. package/dist/transforms/specials-to-strings.d.ts.map +1 -1
  108. package/dist/transforms/specials-to-strings.js +2 -4
  109. package/dist/transforms/specials-to-strings.js.map +1 -1
  110. package/dist/transforms/switch-to-if.js +5 -15
  111. package/dist/transforms/switch-to-if.js.map +1 -1
  112. package/dist/transforms/ternary-to-if.d.ts.map +1 -1
  113. package/dist/transforms/ternary-to-if.js +5 -9
  114. package/dist/transforms/ternary-to-if.js.map +1 -1
  115. package/dist/transforms/update-to-assignment.d.ts.map +1 -1
  116. package/dist/transforms/update-to-assignment.js +6 -8
  117. package/dist/transforms/update-to-assignment.js.map +1 -1
  118. package/dist/transforms/yodify-conditions.d.ts +3 -4
  119. package/dist/transforms/yodify-conditions.d.ts.map +1 -1
  120. package/dist/transforms/yodify-conditions.js +3 -4
  121. package/dist/transforms/yodify-conditions.js.map +1 -1
  122. package/dist/utils/ast.d.ts +0 -1
  123. package/dist/utils/ast.d.ts.map +1 -1
  124. package/dist/utils/ast.js +0 -26
  125. package/dist/utils/ast.js.map +1 -1
  126. package/dist/utils/evaluation-order.js +1 -1
  127. package/dist/utils/evaluation-order.js.map +1 -1
  128. package/dist/utils/logical-lowering.d.ts.map +1 -1
  129. package/dist/utils/logical-lowering.js +7 -9
  130. package/dist/utils/logical-lowering.js.map +1 -1
  131. package/dist/utils/nullish.d.ts +4 -0
  132. package/dist/utils/nullish.d.ts.map +1 -0
  133. package/dist/utils/nullish.js +8 -0
  134. package/dist/utils/nullish.js.map +1 -0
  135. package/dist/utils/paths.d.ts +0 -2
  136. package/dist/utils/paths.d.ts.map +1 -1
  137. package/dist/utils/paths.js +0 -28
  138. package/dist/utils/paths.js.map +1 -1
  139. package/package.json +3 -13
  140. package/src/analysis/constant.ts +12 -30
  141. package/src/analysis/inlineability.ts +4 -12
  142. package/src/analysis/purity.ts +29 -92
  143. package/src/preparation/expand-destructuring.ts +2 -10
  144. package/src/transforms/arguments-to-parameters.ts +5 -4
  145. package/src/transforms/arrow-to-function.ts +6 -8
  146. package/src/transforms/collapse-single-use-temps.ts +12 -23
  147. package/src/transforms/conceal-strings.ts +3 -8
  148. package/src/transforms/const-let-to-var.ts +9 -100
  149. package/src/transforms/const-to-let.ts +1 -6
  150. package/src/transforms/drop-console.ts +3 -5
  151. package/src/transforms/expand-binary-assignment.ts +0 -5
  152. package/src/transforms/expand-logical-assignment.ts +0 -5
  153. package/src/transforms/extract-object-properties.ts +5 -14
  154. package/src/transforms/fold-builtin-methods.ts +3 -12
  155. package/src/transforms/fold-constants.ts +2 -2
  156. package/src/transforms/function-declaration-to-expression.ts +5 -6
  157. package/src/transforms/hoist-variables.ts +2 -12
  158. package/src/transforms/inline-functions.ts +16 -46
  159. package/src/transforms/logical-to-ternary.ts +5 -10
  160. package/src/transforms/mangle-properties.ts +2 -5
  161. package/src/transforms/nullish-coalescing-to-ternary.ts +7 -13
  162. package/src/transforms/object-method-to-property.ts +1 -1
  163. package/src/transforms/optional-chaining-to-ternary.ts +9 -9
  164. package/src/transforms/pack-declarations-into-parameters.ts +10 -16
  165. package/src/transforms/pack.ts +4 -17
  166. package/src/transforms/remove-anonymous-function-names.ts +3 -46
  167. package/src/transforms/remove-unreachable-code.ts +2 -22
  168. package/src/transforms/remove-unused-code.ts +5 -10
  169. package/src/transforms/rename-identifiers.ts +4 -20
  170. package/src/transforms/reorder-function-declarations.ts +2 -4
  171. package/src/transforms/specials-to-strings.ts +2 -4
  172. package/src/transforms/switch-to-if.ts +5 -22
  173. package/src/transforms/ternary-to-if.ts +5 -9
  174. package/src/transforms/update-to-assignment.ts +6 -8
  175. package/src/transforms/yodify-conditions.ts +3 -4
  176. package/src/utils/ast.ts +0 -29
  177. package/src/utils/evaluation-order.ts +1 -1
  178. package/src/utils/logical-lowering.ts +7 -11
  179. package/src/utils/nullish.ts +23 -0
  180. package/src/utils/paths.ts +0 -32
package/DISCLOSURE ADDED
@@ -0,0 +1,9 @@
1
+ webfuscator transforms and obfuscates JavaScript source code. Its features
2
+ include identifier and property-name mangling, constant folding, dead-code
3
+ removal, and control-flow and literal rewrites.
4
+
5
+ These capabilities can make JavaScript harder to inspect and may have both
6
+ legitimate and harmful uses. The intended use is transforming software that
7
+ the user owns or is authorized to modify. This package is not intended to
8
+ create, conceal, distribute, or operate malware, or to interfere with systems
9
+ without authorization.
package/README.md ADDED
@@ -0,0 +1,67 @@
1
+ `webfuscator` is a Babel-based JavaScript obfuscator. It parses a JavaScript source string, applies configurable transforms, and returns JavaScript source.
2
+
3
+ [Read the documentation](https://docs.webfuscator.dev) for the quickstart, configuration guides, API details, and a reference page for every transform. To try it without installing anything, open the [playground](https://playground.webfuscator.dev) and obfuscate a file in your browser.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install --save-dev webfuscator
9
+ ```
10
+
11
+ The package is ESM-only, includes TypeScript declarations, and requires Node.js `^22.18.0 || >=24.11.0`.
12
+
13
+ ## Usage
14
+
15
+ ```js
16
+ import { obfuscate } from 'webfuscator'
17
+
18
+ const source = `export default function square(value) {
19
+ return value * value
20
+ }`
21
+
22
+ const output = obfuscate(source, {
23
+ minify: true,
24
+ seed: 0,
25
+ transforms: {
26
+ renameIdentifiers: true,
27
+ },
28
+ })
29
+ ```
30
+
31
+ `obfuscate(code, options?)` is synchronous. It does not execute the input or write files.
32
+
33
+ Configurable transforms are disabled by default; preparation passes always run.
34
+
35
+ ## Documentation
36
+
37
+ - [Playground](https://playground.webfuscator.dev)
38
+ - [Quickstart](https://docs.webfuscator.dev/getting-started/quickstart)
39
+ - [JavaScript API](https://docs.webfuscator.dev/reference/api)
40
+ - [Configure transforms](https://docs.webfuscator.dev/guides/configure-transforms)
41
+ - [Obfuscator options](https://docs.webfuscator.dev/reference/options)
42
+ - [Property mangling](https://docs.webfuscator.dev/reference/property-mangling-options)
43
+ - [String generator modes](https://docs.webfuscator.dev/reference/string-generator-modes)
44
+ - [Report a bug](https://docs.webfuscator.dev/troubleshooting/report-a-bug)
45
+
46
+ ## Development
47
+
48
+ Every task runs from the repository root.
49
+
50
+ ```sh
51
+ pnpm install
52
+ pnpm dev # playground at localhost:5173
53
+ pnpm docs:dev # documentation site
54
+ pnpm test # the full suite
55
+ pnpm check # typecheck, lint, format, knip, generated docs, tests
56
+ pnpm docs:check # links, snippets, redirects, accessibility
57
+ ```
58
+
59
+ [AGENTS.md](https://github.com/esoware/webfuscator/blob/main/AGENTS.md) lists the rest and explains which workspace owns what. Read it before changing transforms or analysis code.
60
+
61
+ ## Responsible use
62
+
63
+ Use `webfuscator` only on software you own or are authorized to modify. Read [DISCLOSURE](https://github.com/esoware/webfuscator/blob/main/DISCLOSURE) for the project's dual-use policy.
64
+
65
+ ## License
66
+
67
+ [MIT](https://github.com/esoware/webfuscator/blob/main/LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../src/analysis/constant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAUjC,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAQ3E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAuCD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,KAAK,CAAC,EAAE,KAAK,EACb,aAAa,CAAC,EAAE,QAAQ,GACvB,UAAU,CAEZ"}
1
+ {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../src/analysis/constant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAKjC,MAAM,MAAM,UAAU,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,CAAA;AAQ3E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAuCD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,KAAK,CAAC,EAAE,KAAK,EACb,aAAa,CAAC,EAAE,QAAQ,GACvB,UAAU,CAEZ"}
@@ -1,6 +1,5 @@
1
1
  import * as t from '@babel/types';
2
- import { isInsideWith } from '../utils/ast.js';
3
- import { declarationReaches, initializerReaches, readCrossesFunctionBoundary, } from './document-order.js';
2
+ import { initializerReaches, readCrossesFunctionBoundary } from './document-order.js';
4
3
  import { isSideEffectFree } from './purity.js';
5
4
  const UNKNOWN = { known: false };
6
5
  // Regexp, function, and class values are known only to be truthy. Identity,
@@ -47,9 +46,7 @@ function run(node, env) {
47
46
  function evaluateUnary(node, env) {
48
47
  const unary = node;
49
48
  if (unary.operator === 'void') {
50
- return isSideEffectFree(unary.argument, env.scope, env.referencePath)
51
- ? { known: true, value: undefined }
52
- : UNKNOWN;
49
+ return isSideEffectFree(unary.argument, env.scope) ? { known: true, value: undefined } : UNKNOWN;
53
50
  }
54
51
  if (unary.operator === 'delete' || unary.operator === 'throw') {
55
52
  return UNKNOWN;
@@ -108,10 +105,6 @@ function evaluateIdentifier(node, env) {
108
105
  if (!env.scope) {
109
106
  return UNKNOWN;
110
107
  }
111
- // Babel's scope table cannot account for properties supplied by `with`.
112
- if (env.referencePath && isInsideWith(env.referencePath)) {
113
- return UNKNOWN;
114
- }
115
108
  const binding = env.scope.getBinding(identifier.name);
116
109
  // Only an unbound `undefined` names the immutable global property.
117
110
  if (identifier.name === 'undefined') {
@@ -124,16 +117,7 @@ function evaluateIdentifier(node, env) {
124
117
  return binding.constant ? { known: true, value: OPAQUE_TRUTHY } : UNKNOWN;
125
118
  }
126
119
  if (t.isClassDeclaration(binding.path.node)) {
127
- if (!binding.constant) {
128
- return UNKNOWN;
129
- }
130
- // A nested function can read the class before its declaration runs.
131
- if (readCrossesFunctionBoundary(binding, env.referencePath)) {
132
- return UNKNOWN;
133
- }
134
- return declarationReaches(binding.path, env.referencePath)
135
- ? { known: true, value: OPAQUE_TRUTHY }
136
- : UNKNOWN;
120
+ return binding.constant ? { known: true, value: OPAQUE_TRUTHY } : UNKNOWN;
137
121
  }
138
122
  if (binding.kind === 'var' || binding.kind === 'let' || binding.kind === 'const') {
139
123
  const declarator = binding.path.node;
@@ -143,16 +127,16 @@ function evaluateIdentifier(node, env) {
143
127
  if (!t.isIdentifier(declarator.id) || declarator.id.name !== identifier.name) {
144
128
  return UNKNOWN;
145
129
  }
146
- // A nested function can read the binding before its initializer runs.
147
- if (readCrossesFunctionBoundary(binding, env.referencePath)) {
148
- return UNKNOWN;
149
- }
150
- // A preceding `var` initializer may still sit on an untaken branch.
151
- if (!initializerReaches(binding.path, env.referencePath)) {
130
+ // A nested function can run before a `var` initializer, and a conditional
131
+ // initializer may not run at all.
132
+ if (binding.kind === 'var' &&
133
+ (readCrossesFunctionBoundary(binding, env.referencePath) ||
134
+ !initializerReaches(binding.path, env.referencePath))) {
152
135
  return UNKNOWN;
153
136
  }
154
137
  // Babel counts a looped `var` initializer as its own constant violation.
155
- if (!binding.constant &&
138
+ if (binding.kind !== 'const' &&
139
+ !binding.constant &&
156
140
  !(binding.constantViolations.length === 1 &&
157
141
  binding.constantViolations[0].node === declarator)) {
158
142
  return UNKNOWN;
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/analysis/constant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/analysis/constant.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"inlineability.d.ts","sourceRoot":"","sources":["../../src/analysis/inlineability.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAIxC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAA;IAClB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,EAAE,QAAQ,CAAA;CAC1B;AAMD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAuE5E"}
1
+ {"version":3,"file":"inlineability.d.ts","sourceRoot":"","sources":["../../src/analysis/inlineability.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAA;AACjE,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAIxC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAA;IAClB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,eAAe,EAAE,QAAQ,CAAA;CAC1B;AAMD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAmE5E"}
@@ -1,6 +1,6 @@
1
1
  import traverse from '@babel/traverse';
2
2
  import * as t from '@babel/types';
3
- import { hasAnnexBFunctionAlias, referencesOrWritesVariable } from '../utils/paths.js';
3
+ import { referencesOrWritesVariable } from '../utils/paths.js';
4
4
  // Inlining splices a deep clone of the callee body, so any call that clone
5
5
  // contains expands again. Expansion stops only when the graph below is acyclic,
6
6
  // so this pass drops every candidate on a cycle before the inliner reaches a
@@ -16,10 +16,6 @@ export function analyzeInlineability(ast) {
16
16
  if (!path.node.id) {
17
17
  return;
18
18
  }
19
- // Babel misses the sloppy Annex B `var` alias of a block-level function.
20
- if (hasAnnexBFunctionAlias(path)) {
21
- return;
22
- }
23
19
  const binding = path.scope.getBinding(path.node.id.name);
24
20
  if (!binding) {
25
21
  return;
@@ -99,9 +95,9 @@ function checkCandidate(name, binding, fnNode, fnPath, declarationPath) {
99
95
  if (!t.isBlockStatement(fnNode.body)) {
100
96
  return null;
101
97
  }
102
- // Writes live in `constantViolations`, not `referencePaths`. Any write can
103
- // make a call resolve to a different function.
104
- if (binding.constantViolations.length > 0) {
98
+ // Writes to mutable bindings live in `constantViolations`, not
99
+ // `referencePaths`, and can make a call resolve to a different function.
100
+ if (binding.kind !== 'const' && binding.constantViolations.length > 0) {
105
101
  return null;
106
102
  }
107
103
  // Splicing loses a named function expression's inner binding.
@@ -215,10 +211,6 @@ const analyzeBodyVisitor = {
215
211
  path.stop();
216
212
  }
217
213
  },
218
- WithStatement(path, state) {
219
- state.unsafe = true;
220
- path.stop();
221
- },
222
214
  Identifier(path, state) {
223
215
  const name = path.node.name;
224
216
  if (state.innerFnDepth === 0 && name === 'arguments') {
@@ -1 +1 @@
1
- {"version":3,"file":"inlineability.js","sourceRoot":"","sources":["../../src/analysis/inlineability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inlineability.js","sourceRoot":"","sources":["../../src/analysis/inlineability.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AAEtC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAGjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAW3D,2EAA2E;AAC3E,gFAAgF;AAChF,6EAA6E;AAC7E,aAAa;AACb,MAAM,UAAU,oBAAoB,CAAC,GAAS;IAC5C,MAAM,aAAa,GAAsB,EAAE,CAAA;IAE3C,uEAAuE;IACvE,QAAQ,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,IAAI;YACV,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACpB,CAAC;QACD,mBAAmB,CAAC,IAAI;YACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAM;YACR,CAAC;YAED,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YACnF,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,kBAAkB,CAAC,IAAI;YACrB,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClC,OAAM;YACR,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;YAC3B,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAM;YACR,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAA;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAM;YACR,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAmC,CAAA;YACnE,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACtF,IAAI,SAAS,EAAE,CAAC;gBACd,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAA2B,CAAA;IAC1D,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAA;IAClD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChE,yEAAyE;QACzE,qDAAqD;QACrD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YAC1D,SAAQ;QACV,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,gFAAgF;AAChF,+DAA+D;AAC/D,SAAS,mBAAmB,CAC1B,eAA6C;IAE7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAA;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAA;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;QAChD,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACxC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,eAAe,EAAE,CAAC;QAChD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACnD,KAAK,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBACjE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;gBAC/E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,KAAK,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,OAAgB,EAChB,MAAkB,EAClB,MAAgB,EAChB,eAAyB;IAEzB,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,+DAA+D;IAC/D,yEAAyE;IACzE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,8DAA8D;IAC9D,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,yEAAyE;IACzE,IAAI,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,MAAM,GAAsB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5D,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAC1C,CAAA;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,MAA8B,CAAC,CAAA;IAC5D,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,IAAI;QACJ,MAAM;QACN,MAAM,EAAE,MAA8B;QACtC,OAAO;QACP,MAAM,EAAE,MAAkB;QAC1B,eAAe;KAChB,CAAA;AACH,CAAC;AAED,SAAS,+BAA+B,CAAC,IAAsB;IAC7D,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QAC5B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,4EAA4E;QAC5E,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,KAAK,GAAG,IAAI,CAAA;YACd,CAAC;YACD,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAA;QAC5B,CAAC;QACD,IACE,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;YACtD,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC1D,CAAC;YACD,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAChD,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAA;QAC7B,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAOD,SAAS,WAAW,CAAC,MAA4B;IAC/C,MAAM,KAAK,GAAqB;QAC9B,UAAU,EAAE,MAAM,CAAC,KAAK;QACxB,YAAY,EAAE,CAAC;QACf,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,KAAK;KACtB,CAAA;IACD,uEAAuE;IACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAa,CAAA;IAC/C,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;IAE5C,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAA;AACvE,CAAC;AASD,MAAM,kBAAkB,GAA8B;IACpD,QAAQ,EAAE;QACR,KAAK,CAAC,IAAI,EAAE,KAAK;YACf,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,IAAI,CAAC,IAAI,EAAE,CAAA;gBACX,OAAM;YACR,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;gBACtC,KAAK,CAAC,YAAY,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,KAAK;YACd,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC;gBACtC,KAAK,CAAC,YAAY,EAAE,CAAA;YACtB,CAAC;QACH,CAAC;KACF;IACD,cAAc,CAAC,IAAI,EAAE,KAAK;QACxB,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,EAAE,KAAK;QACf,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IACD,YAAY,CAAC,IAAI,EAAE,KAAK;QACtB,IACE,KAAK,CAAC,YAAY,KAAK,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EACpC,CAAC;YACD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,IAAI,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,KAAK;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QAC3B,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACrD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,IAAI,EAAE,CAAA;YACX,OAAM;QACR,CAAC;QACD,6EAA6E;QAC7E,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,OAAM;QACR,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC3C,IAAI,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC3D,KAAK,CAAC,cAAc,GAAG,IAAI,CAAA;gBAC3B,IAAI,CAAC,IAAI,EAAE,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AAED,SAAS,SAAS,CAAC,KAAe,EAAE,KAA+B;IACjE,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,MAAM,GAAe,EAAE,CAAA;IAE7B,SAAS,aAAa,CAAC,MAAc;QACnC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC1B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC3B,KAAK,EAAE,CAAA;QACP,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAEnB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,aAAa,CAAC,SAAS,CAAC,CAAA;gBACxB,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,CAAA;YACjF,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,GAAa,EAAE,CAAA;YACxB,IAAI,MAAc,CAAA;YAClB,GAAG,CAAC;gBACF,MAAM,GAAG,KAAK,CAAC,GAAG,EAAG,CAAA;gBACrB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACtB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClB,CAAC,QAAQ,MAAM,KAAK,MAAM,EAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,aAAa,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { NodePath, Scope } from '@babel/traverse';
1
+ import type { Scope } from '@babel/traverse';
2
2
  import * as t from '@babel/types';
3
- export declare function isPure(node: t.Node, scope?: Scope, referencePath?: NodePath): boolean;
4
- export declare function isSideEffectFree(node: t.Node, scope?: Scope, referencePath?: NodePath): boolean;
3
+ export declare function isPure(node: t.Node, scope?: Scope): boolean;
4
+ export declare function isSideEffectFree(node: t.Node, scope?: Scope): boolean;
5
5
  //# sourceMappingURL=purity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"purity.d.ts","sourceRoot":"","sources":["../../src/analysis/purity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,QAAQ,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAajC,wBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CA+DrF;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CA+I/F"}
1
+ {"version":3,"file":"purity.d.ts","sourceRoot":"","sources":["../../src/analysis/purity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,CAAC,MAAM,cAAc,CAAA;AAMjC,wBAAgB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CA6D3D;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAyIrE"}
@@ -1,11 +1,8 @@
1
1
  import * as t from '@babel/types';
2
- import { isInsideWith } from '../utils/ast.js';
3
2
  import { isPrimitiveLiteral } from '../utils/literal.js';
4
- import { declarationReaches, initializerReaches, readCrossesFunctionBoundary, } from './document-order.js';
5
3
  // Purity also requires deterministic repetition and no throw. Identifier reads
6
- // need scope and reference paths to prove resolution, initialization, and the
7
- // absence of `with` interception.
8
- export function isPure(node, scope, referencePath) {
4
+ // need scope to prove resolution.
5
+ export function isPure(node, scope) {
9
6
  if (t.isNumericLiteral(node) ||
10
7
  t.isStringLiteral(node) ||
11
8
  t.isBooleanLiteral(node) ||
@@ -16,7 +13,7 @@ export function isPure(node, scope, referencePath) {
16
13
  return true;
17
14
  }
18
15
  if (t.isIdentifier(node)) {
19
- return identifierReadIsSafe(node, scope, referencePath);
16
+ return identifierReadIsSafe(node, scope);
20
17
  }
21
18
  if (t.isTemplateLiteral(node)) {
22
19
  // ToString can call object code or throw on Symbol.
@@ -30,7 +27,7 @@ export function isPure(node, scope, referencePath) {
30
27
  if (t.isUnaryExpression(node)) {
31
28
  // Numeric unary operators invoke ToPrimitive. `delete` and `throw` act.
32
29
  if (node.operator === '!' || node.operator === 'typeof' || node.operator === 'void') {
33
- return isPure(node.argument, scope, referencePath);
30
+ return isPure(node.argument, scope);
34
31
  }
35
32
  return false;
36
33
  }
@@ -38,7 +35,7 @@ export function isPure(node, scope, referencePath) {
38
35
  if (!t.isExpression(node.left)) {
39
36
  return false;
40
37
  }
41
- if (!isPure(node.left, scope, referencePath) || !isPure(node.right, scope, referencePath)) {
38
+ if (!isPure(node.left, scope) || !isPure(node.right, scope)) {
42
39
  return false;
43
40
  }
44
41
  // Only strict equality avoids coercion. Other operators need safe literals.
@@ -48,16 +45,14 @@ export function isPure(node, scope, referencePath) {
48
45
  return coercesWithoutEffect(node.left, node.right, node.operator);
49
46
  }
50
47
  if (t.isLogicalExpression(node)) {
51
- return isPure(node.left, scope, referencePath) && isPure(node.right, scope, referencePath);
48
+ return isPure(node.left, scope) && isPure(node.right, scope);
52
49
  }
53
50
  if (t.isConditionalExpression(node)) {
54
- return (isPure(node.test, scope, referencePath) &&
55
- isPure(node.consequent, scope, referencePath) &&
56
- isPure(node.alternate, scope, referencePath));
51
+ return (isPure(node.test, scope) && isPure(node.consequent, scope) && isPure(node.alternate, scope));
57
52
  }
58
53
  if (t.isSequenceExpression(node)) {
59
54
  for (const expr of node.expressions) {
60
- if (!isPure(expr, scope, referencePath)) {
55
+ if (!isPure(expr, scope)) {
61
56
  return false;
62
57
  }
63
58
  }
@@ -65,8 +60,9 @@ export function isPure(node, scope, referencePath) {
65
60
  }
66
61
  return false;
67
62
  }
68
- // A droppable identifier read must resolve after binding initialization.
69
- export function isSideEffectFree(node, scope, referencePath) {
63
+ // A droppable identifier read must resolve to a local binding or immutable
64
+ // global `undefined`.
65
+ export function isSideEffectFree(node, scope) {
70
66
  if (t.isNumericLiteral(node) ||
71
67
  t.isStringLiteral(node) ||
72
68
  t.isBooleanLiteral(node) ||
@@ -85,7 +81,7 @@ export function isSideEffectFree(node, scope, referencePath) {
85
81
  return true;
86
82
  }
87
83
  if (t.isIdentifier(node)) {
88
- return identifierReadIsSafe(node, scope, referencePath);
84
+ return identifierReadIsSafe(node, scope);
89
85
  }
90
86
  if (t.isFunctionExpression(node) || t.isArrowFunctionExpression(node)) {
91
87
  return true;
@@ -93,7 +89,7 @@ export function isSideEffectFree(node, scope, referencePath) {
93
89
  if (t.isClassExpression(node)) {
94
90
  // `extends` and computed keys run during class definition.
95
91
  if (node.superClass) {
96
- if (!isSideEffectFree(node.superClass, scope, referencePath)) {
92
+ if (!isSideEffectFree(node.superClass, scope)) {
97
93
  return false;
98
94
  }
99
95
  // ClassDefinitionEvaluation accepts only `null` or a constructor.
@@ -112,7 +108,7 @@ export function isSideEffectFree(node, scope, referencePath) {
112
108
  if ('computed' in member &&
113
109
  member.computed &&
114
110
  'key' in member &&
115
- !isSideEffectFree(member.key, scope, referencePath)) {
111
+ !isSideEffectFree(member.key, scope)) {
116
112
  return false;
117
113
  }
118
114
  }
@@ -126,7 +122,7 @@ export function isSideEffectFree(node, scope, referencePath) {
126
122
  if (t.isSpreadElement(element)) {
127
123
  return false;
128
124
  }
129
- if (!isSideEffectFree(element, scope, referencePath)) {
125
+ if (!isSideEffectFree(element, scope)) {
130
126
  return false;
131
127
  }
132
128
  }
@@ -138,7 +134,7 @@ export function isSideEffectFree(node, scope, referencePath) {
138
134
  return false;
139
135
  }
140
136
  if (t.isObjectMethod(prop)) {
141
- if (prop.computed && !isSideEffectFree(prop.key, scope, referencePath)) {
137
+ if (prop.computed && !isSideEffectFree(prop.key, scope)) {
142
138
  return false;
143
139
  }
144
140
  continue;
@@ -146,13 +142,13 @@ export function isSideEffectFree(node, scope, referencePath) {
146
142
  if (!t.isObjectProperty(prop)) {
147
143
  return false;
148
144
  }
149
- if (prop.computed && !isSideEffectFree(prop.key, scope, referencePath)) {
145
+ if (prop.computed && !isSideEffectFree(prop.key, scope)) {
150
146
  return false;
151
147
  }
152
148
  if (!t.isExpression(prop.value)) {
153
149
  return false;
154
150
  }
155
- if (!isSideEffectFree(prop.value, scope, referencePath)) {
151
+ if (!isSideEffectFree(prop.value, scope)) {
156
152
  return false;
157
153
  }
158
154
  }
@@ -163,7 +159,7 @@ export function isSideEffectFree(node, scope, referencePath) {
163
159
  return false;
164
160
  }
165
161
  if (node.operator === '!' || node.operator === 'typeof' || node.operator === 'void') {
166
- return isSideEffectFree(node.argument, scope, referencePath);
162
+ return isSideEffectFree(node.argument, scope);
167
163
  }
168
164
  return false;
169
165
  }
@@ -171,8 +167,7 @@ export function isSideEffectFree(node, scope, referencePath) {
171
167
  if (!t.isExpression(node.left)) {
172
168
  return false;
173
169
  }
174
- if (!isSideEffectFree(node.left, scope, referencePath) ||
175
- !isSideEffectFree(node.right, scope, referencePath)) {
170
+ if (!isSideEffectFree(node.left, scope) || !isSideEffectFree(node.right, scope)) {
176
171
  return false;
177
172
  }
178
173
  // Coercing operators need compatible literals that cannot throw.
@@ -182,17 +177,16 @@ export function isSideEffectFree(node, scope, referencePath) {
182
177
  return coercesWithoutEffect(node.left, node.right, node.operator);
183
178
  }
184
179
  if (t.isLogicalExpression(node)) {
185
- return (isSideEffectFree(node.left, scope, referencePath) &&
186
- isSideEffectFree(node.right, scope, referencePath));
180
+ return isSideEffectFree(node.left, scope) && isSideEffectFree(node.right, scope);
187
181
  }
188
182
  if (t.isConditionalExpression(node)) {
189
- return (isSideEffectFree(node.test, scope, referencePath) &&
190
- isSideEffectFree(node.consequent, scope, referencePath) &&
191
- isSideEffectFree(node.alternate, scope, referencePath));
183
+ return (isSideEffectFree(node.test, scope) &&
184
+ isSideEffectFree(node.consequent, scope) &&
185
+ isSideEffectFree(node.alternate, scope));
192
186
  }
193
187
  if (t.isSequenceExpression(node)) {
194
188
  for (const expr of node.expressions) {
195
- if (!isSideEffectFree(expr, scope, referencePath)) {
189
+ if (!isSideEffectFree(expr, scope)) {
196
190
  return false;
197
191
  }
198
192
  }
@@ -200,39 +194,13 @@ export function isSideEffectFree(node, scope, referencePath) {
200
194
  }
201
195
  return false;
202
196
  }
203
- // A safe read needs a resolved, initialized binding outside `with`. Unbound
204
- // `undefined` is safe because the global property is immutable.
205
- function identifierReadIsSafe(node, scope, referencePath) {
206
- // A `with` property can shadow any name, including `undefined`.
207
- if (referencePath && isInsideWith(referencePath)) {
208
- return false;
209
- }
197
+ // Unbound `undefined` is safe because the global property is immutable.
198
+ function identifierReadIsSafe(node, scope) {
210
199
  const isUndefinedName = node.name === 'undefined';
211
200
  if (!scope) {
212
201
  return isUndefinedName;
213
202
  }
214
- const binding = scope.getBinding(node.name);
215
- if (!binding) {
216
- return isUndefinedName;
217
- }
218
- if (t.isFunctionDeclaration(binding.path.node) || binding.kind === 'module') {
219
- return true;
220
- }
221
- if (binding.kind === 'param') {
222
- // Earlier parameter defaults can read later parameters in TDZ.
223
- if (!referencePath || !readIsInOwnParamList(binding, referencePath)) {
224
- return true;
225
- }
226
- return declarationReaches(binding.path, referencePath);
227
- }
228
- // Lexical reads need an unconditionally reached declaration in the same call.
229
- if (isLexicalBinding(binding)) {
230
- if (referencePath && readCrossesFunctionBoundary(binding, referencePath)) {
231
- return false;
232
- }
233
- return initializerReaches(binding.path, referencePath);
234
- }
235
- return declarationReaches(binding.path, referencePath);
203
+ return scope.getBinding(node.name) !== undefined || isUndefinedName;
236
204
  }
237
205
  // Only `null` and plain function expressions are known-valid superclass values.
238
206
  function isConstructableSuperClass(node) {
@@ -263,19 +231,4 @@ function coercesWithoutEffect(left, right, operator) {
263
231
  }
264
232
  return leftKind !== 'bigint' || !THROWING_BIGINT_OPERATORS.has(operator);
265
233
  }
266
- function isLexicalBinding(binding) {
267
- return (binding.kind === 'let' || binding.kind === 'const' || t.isClassDeclaration(binding.path.node));
268
- }
269
- function readIsInOwnParamList(binding, referencePath) {
270
- const owner = binding.scope.block;
271
- let current = referencePath;
272
- while (current) {
273
- const parent = current.parentPath;
274
- if (parent && parent.node === owner && current.listKey === 'params') {
275
- return true;
276
- }
277
- current = parent;
278
- }
279
- return false;
280
- }
281
234
  //# sourceMappingURL=purity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"purity.js","sourceRoot":"","sources":["../../src/analysis/purity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purity.js","sourceRoot":"","sources":["../../src/analysis/purity.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
- * Patterns inside `with` stay untouched because an object property can capture
11
- * a generated temporary. The `RequireObjectCoercible` guard runs before computed
12
- * keys to preserve 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;AASxC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAEnD"}
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"}