mathjs 10.4.1 → 10.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2761) hide show
  1. package/HISTORY.md +17 -0
  2. package/docs/datatypes/units.md +2 -2
  3. package/docs/reference/functions/format.md +3 -0
  4. package/examples/node_modules/.bin/acorn +12 -0
  5. package/examples/node_modules/.bin/acorn.cmd +17 -0
  6. package/examples/node_modules/.bin/acorn.ps1 +28 -0
  7. package/examples/node_modules/.bin/browserslist +12 -0
  8. package/examples/node_modules/.bin/browserslist.cmd +17 -0
  9. package/examples/node_modules/.bin/browserslist.ps1 +28 -0
  10. package/examples/node_modules/.bin/envinfo +2 -5
  11. package/examples/node_modules/.bin/envinfo.cmd +6 -6
  12. package/examples/node_modules/.bin/envinfo.ps1 +12 -2
  13. package/examples/node_modules/.bin/import-local-fixture +2 -5
  14. package/examples/node_modules/.bin/import-local-fixture.cmd +6 -6
  15. package/examples/node_modules/.bin/import-local-fixture.ps1 +12 -2
  16. package/examples/node_modules/.bin/node-which +2 -5
  17. package/examples/node_modules/.bin/node-which.cmd +6 -6
  18. package/examples/node_modules/.bin/node-which.ps1 +12 -2
  19. package/examples/node_modules/.bin/resolve +12 -0
  20. package/examples/node_modules/.bin/resolve.cmd +17 -0
  21. package/examples/node_modules/.bin/resolve.ps1 +28 -0
  22. package/examples/node_modules/.bin/terser +12 -0
  23. package/examples/node_modules/.bin/terser.cmd +17 -0
  24. package/examples/node_modules/.bin/terser.ps1 +28 -0
  25. package/examples/node_modules/.bin/webpack +12 -0
  26. package/examples/node_modules/.bin/webpack-cli +2 -5
  27. package/examples/node_modules/.bin/webpack-cli.cmd +6 -6
  28. package/examples/node_modules/.bin/webpack-cli.ps1 +12 -2
  29. package/examples/node_modules/.bin/webpack.cmd +17 -0
  30. package/examples/node_modules/.bin/webpack.ps1 +28 -0
  31. package/examples/node_modules/.package-lock.json +1407 -0
  32. package/examples/node_modules/@discoveryjs/json-ext/README.md +2 -1
  33. package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.js +147 -164
  34. package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.min.js +1 -1
  35. package/examples/node_modules/@discoveryjs/json-ext/dist/version.js +1 -0
  36. package/examples/node_modules/@discoveryjs/json-ext/index.d.ts +31 -0
  37. package/examples/node_modules/@discoveryjs/json-ext/package.json +53 -90
  38. package/examples/node_modules/@discoveryjs/json-ext/src/index.js +1 -1
  39. package/examples/node_modules/@discoveryjs/json-ext/src/parse-chunked.js +89 -44
  40. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-info.js +11 -4
  41. package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream.js +17 -3
  42. package/examples/node_modules/@discoveryjs/json-ext/src/utils.js +6 -5
  43. package/examples/node_modules/@discoveryjs/json-ext/src/version.js +1 -0
  44. package/examples/node_modules/@types/eslint/LICENSE +21 -0
  45. package/examples/node_modules/@types/eslint/README.md +16 -0
  46. package/examples/node_modules/@types/eslint/helpers.d.ts +3 -0
  47. package/examples/node_modules/@types/eslint/index.d.ts +953 -0
  48. package/examples/node_modules/@types/eslint/package.json +65 -0
  49. package/examples/node_modules/@types/eslint/rules/best-practices.d.ts +931 -0
  50. package/examples/node_modules/@types/eslint/rules/deprecated.d.ts +267 -0
  51. package/examples/node_modules/@types/eslint/rules/ecmascript-6.d.ts +502 -0
  52. package/examples/node_modules/@types/eslint/rules/index.d.ts +21 -0
  53. package/examples/node_modules/@types/eslint/rules/node-commonjs.d.ts +133 -0
  54. package/examples/node_modules/@types/eslint/rules/possible-errors.d.ts +484 -0
  55. package/examples/node_modules/@types/eslint/rules/strict-mode.d.ts +11 -0
  56. package/examples/node_modules/@types/eslint/rules/stylistic-issues.d.ts +1893 -0
  57. package/examples/node_modules/@types/eslint/rules/variables.d.ts +187 -0
  58. package/examples/node_modules/@types/eslint/use-at-your-own-risk.d.ts +8 -0
  59. package/examples/node_modules/@types/eslint-scope/LICENSE +21 -0
  60. package/examples/node_modules/@types/eslint-scope/README.md +84 -0
  61. package/examples/node_modules/@types/eslint-scope/index.d.ts +64 -0
  62. package/examples/node_modules/@types/eslint-scope/package.json +28 -0
  63. package/examples/node_modules/@types/estree/LICENSE +21 -0
  64. package/examples/node_modules/@types/estree/README.md +16 -0
  65. package/examples/node_modules/@types/estree/flow.d.ts +174 -0
  66. package/examples/node_modules/@types/estree/index.d.ts +595 -0
  67. package/examples/node_modules/@types/estree/package.json +25 -0
  68. package/examples/node_modules/@types/json-schema/LICENSE +21 -0
  69. package/examples/node_modules/@types/json-schema/README.md +16 -0
  70. package/examples/node_modules/@types/json-schema/index.d.ts +758 -0
  71. package/examples/node_modules/@types/json-schema/package.json +40 -0
  72. package/examples/node_modules/@types/node/LICENSE +21 -0
  73. package/examples/node_modules/@types/node/README.md +16 -0
  74. package/examples/node_modules/@types/node/assert/strict.d.ts +8 -0
  75. package/examples/node_modules/@types/node/assert.d.ts +912 -0
  76. package/examples/node_modules/@types/node/async_hooks.d.ts +501 -0
  77. package/examples/node_modules/@types/node/buffer.d.ts +2232 -0
  78. package/examples/node_modules/@types/node/child_process.d.ts +1366 -0
  79. package/examples/node_modules/@types/node/cluster.d.ts +414 -0
  80. package/examples/node_modules/@types/node/console.d.ts +412 -0
  81. package/examples/node_modules/@types/node/constants.d.ts +18 -0
  82. package/examples/node_modules/@types/node/crypto.d.ts +3307 -0
  83. package/examples/node_modules/@types/node/dgram.d.ts +545 -0
  84. package/examples/node_modules/@types/node/diagnostics_channel.d.ts +134 -0
  85. package/examples/node_modules/@types/node/dns/promises.d.ts +370 -0
  86. package/examples/node_modules/@types/node/dns.d.ts +659 -0
  87. package/examples/node_modules/@types/node/domain.d.ts +169 -0
  88. package/examples/node_modules/@types/node/events.d.ts +651 -0
  89. package/examples/node_modules/@types/node/fs/promises.d.ts +1091 -0
  90. package/examples/node_modules/@types/node/fs.d.ts +3869 -0
  91. package/examples/node_modules/@types/node/globals.d.ts +284 -0
  92. package/examples/node_modules/@types/node/globals.global.d.ts +1 -0
  93. package/examples/node_modules/@types/node/http.d.ts +1396 -0
  94. package/examples/node_modules/@types/node/http2.d.ts +2100 -0
  95. package/examples/node_modules/@types/node/https.d.ts +391 -0
  96. package/examples/node_modules/@types/node/index.d.ts +129 -0
  97. package/examples/node_modules/@types/node/inspector.d.ts +2744 -0
  98. package/examples/node_modules/@types/node/module.d.ts +114 -0
  99. package/examples/node_modules/@types/node/net.d.ts +784 -0
  100. package/examples/node_modules/@types/node/os.d.ts +455 -0
  101. package/examples/node_modules/@types/node/package.json +220 -0
  102. package/examples/node_modules/@types/node/path.d.ts +180 -0
  103. package/examples/node_modules/@types/node/perf_hooks.d.ts +557 -0
  104. package/examples/node_modules/@types/node/process.d.ts +1481 -0
  105. package/examples/node_modules/@types/node/punycode.d.ts +117 -0
  106. package/examples/node_modules/@types/node/querystring.d.ts +131 -0
  107. package/examples/node_modules/@types/node/readline.d.ts +650 -0
  108. package/examples/node_modules/@types/node/repl.d.ts +424 -0
  109. package/examples/node_modules/@types/node/stream/consumers.d.ts +24 -0
  110. package/examples/node_modules/@types/node/stream/promises.d.ts +42 -0
  111. package/examples/node_modules/@types/node/stream/web.d.ts +330 -0
  112. package/examples/node_modules/@types/node/stream.d.ts +1249 -0
  113. package/examples/node_modules/@types/node/string_decoder.d.ts +67 -0
  114. package/examples/node_modules/@types/node/timers/promises.d.ts +68 -0
  115. package/examples/node_modules/@types/node/timers.d.ts +94 -0
  116. package/examples/node_modules/@types/node/tls.d.ts +1020 -0
  117. package/examples/node_modules/@types/node/trace_events.d.ts +161 -0
  118. package/examples/node_modules/@types/node/tty.d.ts +204 -0
  119. package/examples/node_modules/@types/node/url.d.ts +891 -0
  120. package/examples/node_modules/@types/node/util.d.ts +1594 -0
  121. package/examples/node_modules/@types/node/v8.d.ts +378 -0
  122. package/examples/node_modules/@types/node/vm.d.ts +507 -0
  123. package/examples/node_modules/@types/node/wasi.d.ts +158 -0
  124. package/examples/node_modules/@types/node/worker_threads.d.ts +649 -0
  125. package/examples/node_modules/@types/node/zlib.d.ts +517 -0
  126. package/examples/node_modules/@webassemblyjs/ast/LICENSE +21 -0
  127. package/examples/node_modules/@webassemblyjs/ast/README.md +167 -0
  128. package/examples/node_modules/@webassemblyjs/ast/esm/clone.js +3 -0
  129. package/examples/node_modules/@webassemblyjs/ast/esm/definitions.js +668 -0
  130. package/examples/node_modules/@webassemblyjs/ast/esm/index.js +7 -0
  131. package/examples/node_modules/@webassemblyjs/ast/esm/node-helpers.js +84 -0
  132. package/examples/node_modules/@webassemblyjs/ast/esm/node-path.js +137 -0
  133. package/examples/node_modules/@webassemblyjs/ast/esm/nodes.js +925 -0
  134. package/examples/node_modules/@webassemblyjs/ast/esm/signatures.js +199 -0
  135. package/examples/node_modules/@webassemblyjs/ast/esm/transform/ast-module-to-module-context/index.js +378 -0
  136. package/examples/node_modules/@webassemblyjs/ast/esm/transform/denormalize-type-references/index.js +76 -0
  137. package/examples/node_modules/@webassemblyjs/ast/esm/transform/wast-identifier-to-index/index.js +216 -0
  138. package/examples/node_modules/@webassemblyjs/ast/esm/traverse.js +96 -0
  139. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-all-lock/pnpm-lock.yaml → @webassemblyjs/ast/esm/types/basic.js} +0 -0
  140. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-all-lock/yarn.lock → @webassemblyjs/ast/esm/types/nodes.js} +0 -0
  141. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-npm-and-pnpm/pnpm-lock.yaml → @webassemblyjs/ast/esm/types/traverse.js} +0 -0
  142. package/examples/node_modules/@webassemblyjs/ast/esm/utils.js +265 -0
  143. package/examples/node_modules/@webassemblyjs/ast/lib/clone.js +10 -0
  144. package/examples/node_modules/@webassemblyjs/ast/lib/definitions.js +668 -0
  145. package/examples/node_modules/@webassemblyjs/ast/lib/index.js +127 -0
  146. package/examples/node_modules/@webassemblyjs/ast/lib/node-helpers.js +107 -0
  147. package/examples/node_modules/@webassemblyjs/ast/lib/node-path.js +144 -0
  148. package/examples/node_modules/@webassemblyjs/ast/lib/nodes.js +1144 -0
  149. package/examples/node_modules/@webassemblyjs/ast/lib/signatures.js +207 -0
  150. package/examples/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js +389 -0
  151. package/examples/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js +83 -0
  152. package/examples/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js +225 -0
  153. package/examples/node_modules/@webassemblyjs/ast/lib/traverse.js +105 -0
  154. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-npm-and-yarn/yarn.lock → @webassemblyjs/ast/lib/types/basic.js} +0 -0
  155. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-pnpm-lock/pnpm-lock.yaml → @webassemblyjs/ast/lib/types/nodes.js} +0 -0
  156. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-yarn-and-pnpm/pnpm-lock.yaml → @webassemblyjs/ast/lib/types/traverse.js} +0 -0
  157. package/examples/node_modules/@webassemblyjs/ast/lib/utils.js +306 -0
  158. package/examples/node_modules/@webassemblyjs/ast/package.json +32 -0
  159. package/examples/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js +219 -0
  160. package/examples/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js +47 -0
  161. package/examples/node_modules/@webassemblyjs/ast/scripts/util.js +38 -0
  162. package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE +21 -0
  163. package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/README.md +34 -0
  164. package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/esm/index.js +42 -0
  165. package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js +49 -0
  166. package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/package.json +24 -0
  167. package/examples/node_modules/@webassemblyjs/helper-api-error/LICENSE +21 -0
  168. package/examples/node_modules/@webassemblyjs/helper-api-error/esm/index.js +47 -0
  169. package/examples/node_modules/@webassemblyjs/helper-api-error/lib/index.js +62 -0
  170. package/examples/node_modules/@webassemblyjs/helper-api-error/package.json +18 -0
  171. package/examples/node_modules/@webassemblyjs/helper-buffer/LICENSE +21 -0
  172. package/examples/node_modules/@webassemblyjs/helper-buffer/esm/compare.js +65 -0
  173. package/examples/node_modules/@webassemblyjs/helper-buffer/esm/index.js +67 -0
  174. package/examples/node_modules/@webassemblyjs/helper-buffer/lib/compare.js +73 -0
  175. package/examples/node_modules/@webassemblyjs/helper-buffer/lib/index.js +78 -0
  176. package/examples/node_modules/@webassemblyjs/helper-buffer/package.json +24 -0
  177. package/examples/node_modules/@webassemblyjs/helper-numbers/LICENSE +21 -0
  178. package/examples/node_modules/@webassemblyjs/helper-numbers/esm/index.js +91 -0
  179. package/examples/node_modules/@webassemblyjs/helper-numbers/lib/index.js +116 -0
  180. package/examples/node_modules/@webassemblyjs/helper-numbers/package.json +25 -0
  181. package/examples/node_modules/@webassemblyjs/helper-numbers/src/index.js +105 -0
  182. package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/LICENSE +21 -0
  183. package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/esm/index.js +391 -0
  184. package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/esm/section.js +31 -0
  185. package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js +406 -0
  186. package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js +38 -0
  187. package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json +20 -0
  188. package/examples/node_modules/@webassemblyjs/helper-wasm-section/LICENSE +21 -0
  189. package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/create.js +107 -0
  190. package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/index.js +3 -0
  191. package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/remove.js +36 -0
  192. package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/resize.js +78 -0
  193. package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js +121 -0
  194. package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js +35 -0
  195. package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js +45 -0
  196. package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js +90 -0
  197. package/examples/node_modules/@webassemblyjs/helper-wasm-section/package.json +29 -0
  198. package/examples/node_modules/@webassemblyjs/ieee754/LICENSE +21 -0
  199. package/examples/node_modules/@webassemblyjs/ieee754/esm/index.js +33 -0
  200. package/examples/node_modules/@webassemblyjs/ieee754/lib/index.js +52 -0
  201. package/examples/node_modules/@webassemblyjs/ieee754/package.json +23 -0
  202. package/examples/node_modules/@webassemblyjs/ieee754/src/index.js +47 -0
  203. package/examples/node_modules/@webassemblyjs/leb128/LICENSE.txt +194 -0
  204. package/examples/node_modules/@webassemblyjs/leb128/esm/bits.js +145 -0
  205. package/examples/node_modules/@webassemblyjs/leb128/esm/bufs.js +218 -0
  206. package/examples/node_modules/@webassemblyjs/leb128/esm/index.js +34 -0
  207. package/examples/node_modules/@webassemblyjs/leb128/esm/leb.js +316 -0
  208. package/examples/node_modules/@webassemblyjs/leb128/lib/bits.js +156 -0
  209. package/examples/node_modules/@webassemblyjs/leb128/lib/bufs.js +236 -0
  210. package/examples/node_modules/@webassemblyjs/leb128/lib/index.js +59 -0
  211. package/examples/node_modules/@webassemblyjs/leb128/lib/leb.js +332 -0
  212. package/examples/node_modules/@webassemblyjs/leb128/package.json +23 -0
  213. package/examples/node_modules/@webassemblyjs/utf8/LICENSE +21 -0
  214. package/examples/node_modules/@webassemblyjs/utf8/esm/decoder.js +95 -0
  215. package/examples/node_modules/@webassemblyjs/utf8/esm/encoder.js +46 -0
  216. package/examples/node_modules/@webassemblyjs/utf8/esm/index.js +2 -0
  217. package/examples/node_modules/@webassemblyjs/utf8/lib/decoder.js +102 -0
  218. package/examples/node_modules/@webassemblyjs/utf8/lib/encoder.js +53 -0
  219. package/examples/node_modules/@webassemblyjs/utf8/lib/index.js +21 -0
  220. package/examples/node_modules/@webassemblyjs/utf8/package.json +20 -0
  221. package/examples/node_modules/@webassemblyjs/utf8/src/decoder.js +86 -0
  222. package/examples/node_modules/@webassemblyjs/utf8/src/encoder.js +44 -0
  223. package/examples/node_modules/@webassemblyjs/utf8/src/index.js +4 -0
  224. package/examples/node_modules/@webassemblyjs/utf8/test/index.js +13 -0
  225. package/examples/node_modules/@webassemblyjs/wasm-edit/LICENSE +21 -0
  226. package/examples/node_modules/@webassemblyjs/wasm-edit/README.md +86 -0
  227. package/examples/node_modules/@webassemblyjs/wasm-edit/esm/apply.js +299 -0
  228. package/examples/node_modules/@webassemblyjs/wasm-edit/esm/index.js +114 -0
  229. package/examples/node_modules/@webassemblyjs/wasm-edit/lib/apply.js +311 -0
  230. package/examples/node_modules/@webassemblyjs/wasm-edit/lib/index.js +133 -0
  231. package/examples/node_modules/@webassemblyjs/wasm-edit/package.json +33 -0
  232. package/examples/node_modules/@webassemblyjs/wasm-gen/LICENSE +21 -0
  233. package/examples/node_modules/@webassemblyjs/wasm-gen/esm/encoder/index.js +301 -0
  234. package/examples/node_modules/@webassemblyjs/wasm-gen/esm/index.js +51 -0
  235. package/examples/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js +357 -0
  236. package/examples/node_modules/@webassemblyjs/wasm-gen/lib/index.js +64 -0
  237. package/examples/node_modules/@webassemblyjs/wasm-gen/package.json +27 -0
  238. package/examples/node_modules/@webassemblyjs/wasm-opt/LICENSE +21 -0
  239. package/examples/node_modules/@webassemblyjs/wasm-opt/esm/index.js +41 -0
  240. package/examples/node_modules/@webassemblyjs/wasm-opt/esm/leb128.js +47 -0
  241. package/examples/node_modules/@webassemblyjs/wasm-opt/lib/index.js +50 -0
  242. package/examples/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js +56 -0
  243. package/examples/node_modules/@webassemblyjs/wasm-opt/package.json +26 -0
  244. package/examples/node_modules/@webassemblyjs/wasm-parser/LICENSE +21 -0
  245. package/examples/node_modules/@webassemblyjs/wasm-parser/README.md +28 -0
  246. package/examples/node_modules/@webassemblyjs/wasm-parser/esm/decoder.js +1776 -0
  247. package/examples/node_modules/@webassemblyjs/wasm-parser/esm/index.js +247 -0
  248. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-yarn-and-pnpm/yarn.lock → @webassemblyjs/wasm-parser/esm/types/decoder.js} +0 -0
  249. package/examples/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js +1792 -0
  250. package/examples/node_modules/@webassemblyjs/wasm-parser/lib/index.js +257 -0
  251. package/examples/node_modules/{webpack-cli/lib/utils/__tests__/test-yarn-lock/yarn.lock → @webassemblyjs/wasm-parser/lib/types/decoder.js} +0 -0
  252. package/examples/node_modules/@webassemblyjs/wasm-parser/package.json +44 -0
  253. package/examples/node_modules/@webassemblyjs/wast-printer/LICENSE +21 -0
  254. package/examples/node_modules/@webassemblyjs/wast-printer/README.md +17 -0
  255. package/examples/node_modules/@webassemblyjs/wast-printer/esm/index.js +904 -0
  256. package/examples/node_modules/@webassemblyjs/wast-printer/lib/index.js +915 -0
  257. package/examples/node_modules/@webassemblyjs/wast-printer/package.json +36 -0
  258. package/examples/node_modules/@webpack-cli/configtest/README.md +27 -0
  259. package/examples/node_modules/@webpack-cli/configtest/lib/index.js +18 -25
  260. package/examples/node_modules/@webpack-cli/configtest/package.json +14 -36
  261. package/examples/node_modules/@webpack-cli/info/README.md +6 -5
  262. package/examples/node_modules/@webpack-cli/info/lib/index.js +57 -38
  263. package/examples/node_modules/@webpack-cli/info/package.json +19 -37
  264. package/examples/node_modules/@webpack-cli/serve/README.md +4 -0
  265. package/examples/node_modules/@webpack-cli/serve/lib/index.js +214 -41
  266. package/examples/node_modules/@webpack-cli/serve/lib/types.d.ts +62 -19
  267. package/examples/node_modules/@webpack-cli/serve/lib/types.js +21 -2
  268. package/examples/node_modules/@webpack-cli/serve/package.json +15 -36
  269. package/examples/node_modules/@xtuc/ieee754/LICENSE +28 -0
  270. package/examples/node_modules/@xtuc/ieee754/README.md +51 -0
  271. package/examples/node_modules/@xtuc/ieee754/dist/.gitkeep +0 -0
  272. package/examples/node_modules/@xtuc/ieee754/dist/index.cjs.js +96 -0
  273. package/examples/node_modules/@xtuc/ieee754/index.js +84 -0
  274. package/examples/node_modules/@xtuc/ieee754/package.json +42 -0
  275. package/examples/node_modules/@xtuc/long/LICENSE +202 -0
  276. package/examples/node_modules/@xtuc/long/README.md +257 -0
  277. package/examples/node_modules/@xtuc/long/dist/long.js +2 -0
  278. package/examples/node_modules/@xtuc/long/dist/long.js.map +1 -0
  279. package/examples/node_modules/@xtuc/long/index.d.ts +429 -0
  280. package/examples/node_modules/@xtuc/long/index.js +1 -0
  281. package/examples/node_modules/@xtuc/long/package.json +36 -0
  282. package/examples/node_modules/@xtuc/long/src/long.js +1405 -0
  283. package/examples/node_modules/acorn/CHANGELOG.md +788 -0
  284. package/examples/node_modules/acorn/LICENSE +21 -0
  285. package/examples/node_modules/acorn/README.md +280 -0
  286. package/examples/node_modules/acorn/bin/acorn +4 -0
  287. package/examples/node_modules/acorn/dist/acorn.d.ts +214 -0
  288. package/examples/node_modules/acorn/dist/acorn.js +5619 -0
  289. package/examples/node_modules/acorn/dist/acorn.mjs +5588 -0
  290. package/examples/node_modules/acorn/dist/acorn.mjs.d.ts +2 -0
  291. package/examples/node_modules/acorn/dist/bin.js +91 -0
  292. package/examples/node_modules/acorn/package.json +46 -0
  293. package/examples/node_modules/acorn-import-assertions/README.md +15 -0
  294. package/examples/node_modules/acorn-import-assertions/lib/index.js +287 -0
  295. package/examples/node_modules/acorn-import-assertions/lib/index.mjs +242 -0
  296. package/examples/node_modules/acorn-import-assertions/package.json +49 -0
  297. package/examples/node_modules/acorn-import-assertions/src/index.js +242 -0
  298. package/examples/node_modules/ajv/.tonic_example.js +20 -0
  299. package/examples/node_modules/ajv/LICENSE +22 -0
  300. package/examples/node_modules/ajv/README.md +1497 -0
  301. package/examples/node_modules/ajv/dist/ajv.bundle.js +7189 -0
  302. package/examples/node_modules/ajv/dist/ajv.min.js +3 -0
  303. package/examples/node_modules/ajv/dist/ajv.min.js.map +1 -0
  304. package/examples/node_modules/ajv/lib/ajv.d.ts +397 -0
  305. package/examples/node_modules/ajv/lib/ajv.js +506 -0
  306. package/examples/node_modules/ajv/lib/cache.js +26 -0
  307. package/examples/node_modules/ajv/lib/compile/async.js +90 -0
  308. package/examples/node_modules/ajv/lib/compile/equal.js +5 -0
  309. package/examples/node_modules/ajv/lib/compile/error_classes.js +34 -0
  310. package/examples/node_modules/ajv/lib/compile/formats.js +142 -0
  311. package/examples/node_modules/ajv/lib/compile/index.js +387 -0
  312. package/examples/node_modules/ajv/lib/compile/resolve.js +270 -0
  313. package/examples/node_modules/ajv/lib/compile/rules.js +66 -0
  314. package/examples/node_modules/ajv/lib/compile/schema_obj.js +9 -0
  315. package/examples/node_modules/ajv/lib/compile/ucs2length.js +20 -0
  316. package/examples/node_modules/ajv/lib/compile/util.js +239 -0
  317. package/examples/node_modules/ajv/lib/data.js +49 -0
  318. package/examples/node_modules/ajv/lib/definition_schema.js +37 -0
  319. package/examples/node_modules/ajv/lib/dot/_limit.jst +113 -0
  320. package/examples/node_modules/ajv/lib/dot/_limitItems.jst +12 -0
  321. package/examples/node_modules/ajv/lib/dot/_limitLength.jst +12 -0
  322. package/examples/node_modules/ajv/lib/dot/_limitProperties.jst +12 -0
  323. package/examples/node_modules/ajv/lib/dot/allOf.jst +32 -0
  324. package/examples/node_modules/ajv/lib/dot/anyOf.jst +46 -0
  325. package/examples/node_modules/ajv/lib/dot/coerce.def +51 -0
  326. package/examples/node_modules/ajv/lib/dot/comment.jst +9 -0
  327. package/examples/node_modules/ajv/lib/dot/const.jst +11 -0
  328. package/examples/node_modules/ajv/lib/dot/contains.jst +55 -0
  329. package/examples/node_modules/ajv/lib/dot/custom.jst +191 -0
  330. package/examples/node_modules/ajv/lib/dot/defaults.def +47 -0
  331. package/examples/node_modules/ajv/lib/dot/definitions.def +203 -0
  332. package/examples/node_modules/ajv/lib/dot/dependencies.jst +79 -0
  333. package/examples/node_modules/ajv/lib/dot/enum.jst +30 -0
  334. package/examples/node_modules/ajv/lib/dot/errors.def +194 -0
  335. package/examples/node_modules/ajv/lib/dot/format.jst +106 -0
  336. package/examples/node_modules/ajv/lib/dot/if.jst +73 -0
  337. package/examples/node_modules/ajv/lib/dot/items.jst +98 -0
  338. package/examples/node_modules/ajv/lib/dot/missing.def +39 -0
  339. package/examples/node_modules/ajv/lib/dot/multipleOf.jst +22 -0
  340. package/examples/node_modules/ajv/lib/dot/not.jst +43 -0
  341. package/examples/node_modules/ajv/lib/dot/oneOf.jst +54 -0
  342. package/examples/node_modules/ajv/lib/dot/pattern.jst +14 -0
  343. package/examples/node_modules/ajv/lib/dot/properties.jst +245 -0
  344. package/examples/node_modules/ajv/lib/dot/propertyNames.jst +52 -0
  345. package/examples/node_modules/ajv/lib/dot/ref.jst +85 -0
  346. package/examples/node_modules/ajv/lib/dot/required.jst +108 -0
  347. package/examples/node_modules/ajv/lib/dot/uniqueItems.jst +62 -0
  348. package/examples/node_modules/ajv/lib/dot/validate.jst +276 -0
  349. package/examples/node_modules/ajv/lib/dotjs/README.md +3 -0
  350. package/examples/node_modules/ajv/lib/dotjs/_limit.js +163 -0
  351. package/examples/node_modules/ajv/lib/dotjs/_limitItems.js +80 -0
  352. package/examples/node_modules/ajv/lib/dotjs/_limitLength.js +85 -0
  353. package/examples/node_modules/ajv/lib/dotjs/_limitProperties.js +80 -0
  354. package/examples/node_modules/ajv/lib/dotjs/allOf.js +42 -0
  355. package/examples/node_modules/ajv/lib/dotjs/anyOf.js +73 -0
  356. package/examples/node_modules/ajv/lib/dotjs/comment.js +14 -0
  357. package/examples/node_modules/ajv/lib/dotjs/const.js +56 -0
  358. package/examples/node_modules/ajv/lib/dotjs/contains.js +81 -0
  359. package/examples/node_modules/ajv/lib/dotjs/custom.js +228 -0
  360. package/examples/node_modules/ajv/lib/dotjs/dependencies.js +168 -0
  361. package/examples/node_modules/ajv/lib/dotjs/enum.js +66 -0
  362. package/examples/node_modules/ajv/lib/dotjs/format.js +150 -0
  363. package/examples/node_modules/ajv/lib/dotjs/if.js +103 -0
  364. package/examples/node_modules/ajv/lib/dotjs/index.js +33 -0
  365. package/examples/node_modules/ajv/lib/dotjs/items.js +140 -0
  366. package/examples/node_modules/ajv/lib/dotjs/multipleOf.js +80 -0
  367. package/examples/node_modules/ajv/lib/dotjs/not.js +84 -0
  368. package/examples/node_modules/ajv/lib/dotjs/oneOf.js +73 -0
  369. package/examples/node_modules/ajv/lib/dotjs/pattern.js +75 -0
  370. package/examples/node_modules/ajv/lib/dotjs/properties.js +335 -0
  371. package/examples/node_modules/ajv/lib/dotjs/propertyNames.js +81 -0
  372. package/examples/node_modules/ajv/lib/dotjs/ref.js +124 -0
  373. package/examples/node_modules/ajv/lib/dotjs/required.js +270 -0
  374. package/examples/node_modules/ajv/lib/dotjs/uniqueItems.js +86 -0
  375. package/examples/node_modules/ajv/lib/dotjs/validate.js +482 -0
  376. package/examples/node_modules/ajv/lib/keyword.js +146 -0
  377. package/examples/node_modules/ajv/lib/refs/data.json +17 -0
  378. package/examples/node_modules/ajv/lib/refs/json-schema-draft-04.json +149 -0
  379. package/examples/node_modules/ajv/lib/refs/json-schema-draft-06.json +154 -0
  380. package/examples/node_modules/ajv/lib/refs/json-schema-draft-07.json +168 -0
  381. package/examples/node_modules/ajv/lib/refs/json-schema-secure.json +94 -0
  382. package/examples/node_modules/ajv/package.json +106 -0
  383. package/examples/node_modules/ajv/scripts/.eslintrc.yml +3 -0
  384. package/examples/node_modules/ajv/scripts/bundle.js +61 -0
  385. package/examples/node_modules/ajv/scripts/compile-dots.js +73 -0
  386. package/examples/node_modules/ajv/scripts/info +10 -0
  387. package/examples/node_modules/ajv/scripts/prepare-tests +12 -0
  388. package/examples/node_modules/ajv/scripts/publish-built-version +32 -0
  389. package/examples/node_modules/ajv/scripts/travis-gh-pages +23 -0
  390. package/examples/node_modules/ajv-keywords/LICENSE +21 -0
  391. package/examples/node_modules/ajv-keywords/README.md +836 -0
  392. package/examples/node_modules/ajv-keywords/ajv-keywords.d.ts +7 -0
  393. package/examples/node_modules/ajv-keywords/index.js +35 -0
  394. package/examples/node_modules/ajv-keywords/keywords/_formatLimit.js +101 -0
  395. package/examples/node_modules/ajv-keywords/keywords/_util.js +15 -0
  396. package/examples/node_modules/ajv-keywords/keywords/allRequired.js +18 -0
  397. package/examples/node_modules/ajv-keywords/keywords/anyRequired.js +24 -0
  398. package/examples/node_modules/ajv-keywords/keywords/deepProperties.js +54 -0
  399. package/examples/node_modules/ajv-keywords/keywords/deepRequired.js +57 -0
  400. package/examples/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst +116 -0
  401. package/examples/node_modules/ajv-keywords/keywords/dot/patternRequired.jst +33 -0
  402. package/examples/node_modules/ajv-keywords/keywords/dot/switch.jst +71 -0
  403. package/examples/node_modules/ajv-keywords/keywords/dotjs/README.md +3 -0
  404. package/examples/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js +178 -0
  405. package/examples/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js +58 -0
  406. package/examples/node_modules/ajv-keywords/keywords/dotjs/switch.js +129 -0
  407. package/examples/node_modules/ajv-keywords/keywords/dynamicDefaults.js +72 -0
  408. package/examples/node_modules/ajv-keywords/keywords/formatMaximum.js +3 -0
  409. package/examples/node_modules/ajv-keywords/keywords/formatMinimum.js +3 -0
  410. package/examples/node_modules/ajv-keywords/keywords/index.js +22 -0
  411. package/examples/node_modules/ajv-keywords/keywords/instanceof.js +58 -0
  412. package/examples/node_modules/ajv-keywords/keywords/oneRequired.js +24 -0
  413. package/examples/node_modules/ajv-keywords/keywords/patternRequired.js +21 -0
  414. package/examples/node_modules/ajv-keywords/keywords/prohibited.js +24 -0
  415. package/examples/node_modules/ajv-keywords/keywords/range.js +36 -0
  416. package/examples/node_modules/ajv-keywords/keywords/regexp.js +36 -0
  417. package/examples/node_modules/ajv-keywords/keywords/select.js +79 -0
  418. package/examples/node_modules/ajv-keywords/keywords/switch.js +38 -0
  419. package/examples/node_modules/ajv-keywords/keywords/transform.js +80 -0
  420. package/examples/node_modules/ajv-keywords/keywords/typeof.js +32 -0
  421. package/examples/node_modules/ajv-keywords/keywords/uniqueItemProperties.js +59 -0
  422. package/examples/node_modules/ajv-keywords/package.json +53 -0
  423. package/examples/node_modules/browserslist/LICENSE +20 -0
  424. package/examples/node_modules/browserslist/README.md +66 -0
  425. package/examples/node_modules/browserslist/browser.js +50 -0
  426. package/examples/node_modules/browserslist/cli.js +152 -0
  427. package/examples/node_modules/browserslist/error.d.ts +7 -0
  428. package/examples/node_modules/browserslist/error.js +12 -0
  429. package/examples/node_modules/browserslist/index.d.ts +178 -0
  430. package/examples/node_modules/browserslist/index.js +1235 -0
  431. package/examples/node_modules/browserslist/node.js +393 -0
  432. package/examples/node_modules/browserslist/package.json +41 -0
  433. package/examples/node_modules/browserslist/update-db.js +317 -0
  434. package/examples/node_modules/buffer-from/LICENSE +21 -0
  435. package/examples/node_modules/buffer-from/index.js +72 -0
  436. package/examples/node_modules/buffer-from/package.json +19 -0
  437. package/examples/node_modules/buffer-from/readme.md +69 -0
  438. package/examples/node_modules/caniuse-lite/LICENSE +395 -0
  439. package/examples/node_modules/caniuse-lite/README.md +92 -0
  440. package/examples/node_modules/caniuse-lite/data/agents.js +1 -0
  441. package/examples/node_modules/caniuse-lite/data/browserVersions.js +1 -0
  442. package/examples/node_modules/caniuse-lite/data/browsers.js +1 -0
  443. package/examples/node_modules/caniuse-lite/data/features/aac.js +1 -0
  444. package/examples/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -0
  445. package/examples/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -0
  446. package/examples/node_modules/caniuse-lite/data/features/accelerometer.js +1 -0
  447. package/examples/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -0
  448. package/examples/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -0
  449. package/examples/node_modules/caniuse-lite/data/features/ambient-light.js +1 -0
  450. package/examples/node_modules/caniuse-lite/data/features/apng.js +1 -0
  451. package/examples/node_modules/caniuse-lite/data/features/array-find-index.js +1 -0
  452. package/examples/node_modules/caniuse-lite/data/features/array-find.js +1 -0
  453. package/examples/node_modules/caniuse-lite/data/features/array-flat.js +1 -0
  454. package/examples/node_modules/caniuse-lite/data/features/array-includes.js +1 -0
  455. package/examples/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -0
  456. package/examples/node_modules/caniuse-lite/data/features/asmjs.js +1 -0
  457. package/examples/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -0
  458. package/examples/node_modules/caniuse-lite/data/features/async-functions.js +1 -0
  459. package/examples/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -0
  460. package/examples/node_modules/caniuse-lite/data/features/audio-api.js +1 -0
  461. package/examples/node_modules/caniuse-lite/data/features/audio.js +1 -0
  462. package/examples/node_modules/caniuse-lite/data/features/audiotracks.js +1 -0
  463. package/examples/node_modules/caniuse-lite/data/features/autofocus.js +1 -0
  464. package/examples/node_modules/caniuse-lite/data/features/auxclick.js +1 -0
  465. package/examples/node_modules/caniuse-lite/data/features/av1.js +1 -0
  466. package/examples/node_modules/caniuse-lite/data/features/avif.js +1 -0
  467. package/examples/node_modules/caniuse-lite/data/features/background-attachment.js +1 -0
  468. package/examples/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -0
  469. package/examples/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -0
  470. package/examples/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -0
  471. package/examples/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -0
  472. package/examples/node_modules/caniuse-lite/data/features/background-sync.js +1 -0
  473. package/examples/node_modules/caniuse-lite/data/features/battery-status.js +1 -0
  474. package/examples/node_modules/caniuse-lite/data/features/beacon.js +1 -0
  475. package/examples/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -0
  476. package/examples/node_modules/caniuse-lite/data/features/bigint.js +1 -0
  477. package/examples/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -0
  478. package/examples/node_modules/caniuse-lite/data/features/bloburls.js +1 -0
  479. package/examples/node_modules/caniuse-lite/data/features/border-image.js +1 -0
  480. package/examples/node_modules/caniuse-lite/data/features/border-radius.js +1 -0
  481. package/examples/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -0
  482. package/examples/node_modules/caniuse-lite/data/features/brotli.js +1 -0
  483. package/examples/node_modules/caniuse-lite/data/features/calc.js +1 -0
  484. package/examples/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -0
  485. package/examples/node_modules/caniuse-lite/data/features/canvas-text.js +1 -0
  486. package/examples/node_modules/caniuse-lite/data/features/canvas.js +1 -0
  487. package/examples/node_modules/caniuse-lite/data/features/ch-unit.js +1 -0
  488. package/examples/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -0
  489. package/examples/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -0
  490. package/examples/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -0
  491. package/examples/node_modules/caniuse-lite/data/features/classlist.js +1 -0
  492. package/examples/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -0
  493. package/examples/node_modules/caniuse-lite/data/features/clipboard.js +1 -0
  494. package/examples/node_modules/caniuse-lite/data/features/colr-v1.js +1 -0
  495. package/examples/node_modules/caniuse-lite/data/features/colr.js +1 -0
  496. package/examples/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -0
  497. package/examples/node_modules/caniuse-lite/data/features/console-basic.js +1 -0
  498. package/examples/node_modules/caniuse-lite/data/features/console-time.js +1 -0
  499. package/examples/node_modules/caniuse-lite/data/features/const.js +1 -0
  500. package/examples/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -0
  501. package/examples/node_modules/caniuse-lite/data/features/contenteditable.js +1 -0
  502. package/examples/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -0
  503. package/examples/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -0
  504. package/examples/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -0
  505. package/examples/node_modules/caniuse-lite/data/features/cors.js +1 -0
  506. package/examples/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -0
  507. package/examples/node_modules/caniuse-lite/data/features/credential-management.js +1 -0
  508. package/examples/node_modules/caniuse-lite/data/features/cryptography.js +1 -0
  509. package/examples/node_modules/caniuse-lite/data/features/css-all.js +1 -0
  510. package/examples/node_modules/caniuse-lite/data/features/css-animation.js +1 -0
  511. package/examples/node_modules/caniuse-lite/data/features/css-any-link.js +1 -0
  512. package/examples/node_modules/caniuse-lite/data/features/css-appearance.js +1 -0
  513. package/examples/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -0
  514. package/examples/node_modules/caniuse-lite/data/features/css-autofill.js +1 -0
  515. package/examples/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -0
  516. package/examples/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -0
  517. package/examples/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -0
  518. package/examples/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -0
  519. package/examples/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -0
  520. package/examples/node_modules/caniuse-lite/data/features/css-canvas.js +1 -0
  521. package/examples/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -0
  522. package/examples/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -0
  523. package/examples/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -0
  524. package/examples/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -0
  525. package/examples/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -0
  526. package/examples/node_modules/caniuse-lite/data/features/css-color-function.js +1 -0
  527. package/examples/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -0
  528. package/examples/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -0
  529. package/examples/node_modules/caniuse-lite/data/features/css-containment.js +1 -0
  530. package/examples/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -0
  531. package/examples/node_modules/caniuse-lite/data/features/css-counters.js +1 -0
  532. package/examples/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -0
  533. package/examples/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -0
  534. package/examples/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -0
  535. package/examples/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -0
  536. package/examples/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -0
  537. package/examples/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -0
  538. package/examples/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -0
  539. package/examples/node_modules/caniuse-lite/data/features/css-element-function.js +1 -0
  540. package/examples/node_modules/caniuse-lite/data/features/css-env-function.js +1 -0
  541. package/examples/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -0
  542. package/examples/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -0
  543. package/examples/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -0
  544. package/examples/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -0
  545. package/examples/node_modules/caniuse-lite/data/features/css-filters.js +1 -0
  546. package/examples/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -0
  547. package/examples/node_modules/caniuse-lite/data/features/css-first-line.js +1 -0
  548. package/examples/node_modules/caniuse-lite/data/features/css-fixed.js +1 -0
  549. package/examples/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -0
  550. package/examples/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -0
  551. package/examples/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -0
  552. package/examples/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -0
  553. package/examples/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -0
  554. package/examples/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -0
  555. package/examples/node_modules/caniuse-lite/data/features/css-gradients.js +1 -0
  556. package/examples/node_modules/caniuse-lite/data/features/css-grid.js +1 -0
  557. package/examples/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -0
  558. package/examples/node_modules/caniuse-lite/data/features/css-has.js +1 -0
  559. package/examples/node_modules/caniuse-lite/data/features/css-hyphenate.js +1 -0
  560. package/examples/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -0
  561. package/examples/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -0
  562. package/examples/node_modules/caniuse-lite/data/features/css-image-set.js +1 -0
  563. package/examples/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -0
  564. package/examples/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -0
  565. package/examples/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -0
  566. package/examples/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -0
  567. package/examples/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -0
  568. package/examples/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -0
  569. package/examples/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -0
  570. package/examples/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -0
  571. package/examples/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -0
  572. package/examples/node_modules/caniuse-lite/data/features/css-masks.js +1 -0
  573. package/examples/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -0
  574. package/examples/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -0
  575. package/examples/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -0
  576. package/examples/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -0
  577. package/examples/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -0
  578. package/examples/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -0
  579. package/examples/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -0
  580. package/examples/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -0
  581. package/examples/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -0
  582. package/examples/node_modules/caniuse-lite/data/features/css-nesting.js +1 -0
  583. package/examples/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -0
  584. package/examples/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -0
  585. package/examples/node_modules/caniuse-lite/data/features/css-opacity.js +1 -0
  586. package/examples/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -0
  587. package/examples/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -0
  588. package/examples/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -0
  589. package/examples/node_modules/caniuse-lite/data/features/css-overflow.js +1 -0
  590. package/examples/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -0
  591. package/examples/node_modules/caniuse-lite/data/features/css-page-break.js +1 -0
  592. package/examples/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -0
  593. package/examples/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -0
  594. package/examples/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -0
  595. package/examples/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -0
  596. package/examples/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -0
  597. package/examples/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -0
  598. package/examples/node_modules/caniuse-lite/data/features/css-reflections.js +1 -0
  599. package/examples/node_modules/caniuse-lite/data/features/css-regions.js +1 -0
  600. package/examples/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -0
  601. package/examples/node_modules/caniuse-lite/data/features/css-resize.js +1 -0
  602. package/examples/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -0
  603. package/examples/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -0
  604. package/examples/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -0
  605. package/examples/node_modules/caniuse-lite/data/features/css-scroll-timeline.js +1 -0
  606. package/examples/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -0
  607. package/examples/node_modules/caniuse-lite/data/features/css-sel2.js +1 -0
  608. package/examples/node_modules/caniuse-lite/data/features/css-sel3.js +1 -0
  609. package/examples/node_modules/caniuse-lite/data/features/css-selection.js +1 -0
  610. package/examples/node_modules/caniuse-lite/data/features/css-shapes.js +1 -0
  611. package/examples/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -0
  612. package/examples/node_modules/caniuse-lite/data/features/css-sticky.js +1 -0
  613. package/examples/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -0
  614. package/examples/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -0
  615. package/examples/node_modules/caniuse-lite/data/features/css-table.js +1 -0
  616. package/examples/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -0
  617. package/examples/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -0
  618. package/examples/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -0
  619. package/examples/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -0
  620. package/examples/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -0
  621. package/examples/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -0
  622. package/examples/node_modules/caniuse-lite/data/features/css-touch-action-2.js +1 -0
  623. package/examples/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -0
  624. package/examples/node_modules/caniuse-lite/data/features/css-transitions.js +1 -0
  625. package/examples/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -0
  626. package/examples/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -0
  627. package/examples/node_modules/caniuse-lite/data/features/css-variables.js +1 -0
  628. package/examples/node_modules/caniuse-lite/data/features/css-when-else.js +1 -0
  629. package/examples/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -0
  630. package/examples/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -0
  631. package/examples/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -0
  632. package/examples/node_modules/caniuse-lite/data/features/css-zoom.js +1 -0
  633. package/examples/node_modules/caniuse-lite/data/features/css3-attr.js +1 -0
  634. package/examples/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -0
  635. package/examples/node_modules/caniuse-lite/data/features/css3-colors.js +1 -0
  636. package/examples/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -0
  637. package/examples/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -0
  638. package/examples/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -0
  639. package/examples/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -0
  640. package/examples/node_modules/caniuse-lite/data/features/currentcolor.js +1 -0
  641. package/examples/node_modules/caniuse-lite/data/features/custom-elements.js +1 -0
  642. package/examples/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -0
  643. package/examples/node_modules/caniuse-lite/data/features/customevent.js +1 -0
  644. package/examples/node_modules/caniuse-lite/data/features/datalist.js +1 -0
  645. package/examples/node_modules/caniuse-lite/data/features/dataset.js +1 -0
  646. package/examples/node_modules/caniuse-lite/data/features/datauri.js +1 -0
  647. package/examples/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -0
  648. package/examples/node_modules/caniuse-lite/data/features/decorators.js +1 -0
  649. package/examples/node_modules/caniuse-lite/data/features/details.js +1 -0
  650. package/examples/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -0
  651. package/examples/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -0
  652. package/examples/node_modules/caniuse-lite/data/features/dialog.js +1 -0
  653. package/examples/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -0
  654. package/examples/node_modules/caniuse-lite/data/features/dnssec.js +1 -0
  655. package/examples/node_modules/caniuse-lite/data/features/do-not-track.js +1 -0
  656. package/examples/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -0
  657. package/examples/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -0
  658. package/examples/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -0
  659. package/examples/node_modules/caniuse-lite/data/features/document-policy.js +1 -0
  660. package/examples/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -0
  661. package/examples/node_modules/caniuse-lite/data/features/documenthead.js +1 -0
  662. package/examples/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -0
  663. package/examples/node_modules/caniuse-lite/data/features/dom-range.js +1 -0
  664. package/examples/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -0
  665. package/examples/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js +1 -0
  666. package/examples/node_modules/caniuse-lite/data/features/dommatrix.js +1 -0
  667. package/examples/node_modules/caniuse-lite/data/features/download.js +1 -0
  668. package/examples/node_modules/caniuse-lite/data/features/dragndrop.js +1 -0
  669. package/examples/node_modules/caniuse-lite/data/features/element-closest.js +1 -0
  670. package/examples/node_modules/caniuse-lite/data/features/element-from-point.js +1 -0
  671. package/examples/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -0
  672. package/examples/node_modules/caniuse-lite/data/features/eme.js +1 -0
  673. package/examples/node_modules/caniuse-lite/data/features/eot.js +1 -0
  674. package/examples/node_modules/caniuse-lite/data/features/es5.js +1 -0
  675. package/examples/node_modules/caniuse-lite/data/features/es6-class.js +1 -0
  676. package/examples/node_modules/caniuse-lite/data/features/es6-generators.js +1 -0
  677. package/examples/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -0
  678. package/examples/node_modules/caniuse-lite/data/features/es6-module.js +1 -0
  679. package/examples/node_modules/caniuse-lite/data/features/es6-number.js +1 -0
  680. package/examples/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -0
  681. package/examples/node_modules/caniuse-lite/data/features/es6.js +1 -0
  682. package/examples/node_modules/caniuse-lite/data/features/eventsource.js +1 -0
  683. package/examples/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -0
  684. package/examples/node_modules/caniuse-lite/data/features/feature-policy.js +1 -0
  685. package/examples/node_modules/caniuse-lite/data/features/fetch.js +1 -0
  686. package/examples/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -0
  687. package/examples/node_modules/caniuse-lite/data/features/fileapi.js +1 -0
  688. package/examples/node_modules/caniuse-lite/data/features/filereader.js +1 -0
  689. package/examples/node_modules/caniuse-lite/data/features/filereadersync.js +1 -0
  690. package/examples/node_modules/caniuse-lite/data/features/filesystem.js +1 -0
  691. package/examples/node_modules/caniuse-lite/data/features/flac.js +1 -0
  692. package/examples/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -0
  693. package/examples/node_modules/caniuse-lite/data/features/flexbox.js +1 -0
  694. package/examples/node_modules/caniuse-lite/data/features/flow-root.js +1 -0
  695. package/examples/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -0
  696. package/examples/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js +1 -0
  697. package/examples/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -0
  698. package/examples/node_modules/caniuse-lite/data/features/font-feature.js +1 -0
  699. package/examples/node_modules/caniuse-lite/data/features/font-kerning.js +1 -0
  700. package/examples/node_modules/caniuse-lite/data/features/font-loading.js +1 -0
  701. package/examples/node_modules/caniuse-lite/data/features/font-metrics-overrides.js +1 -0
  702. package/examples/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -0
  703. package/examples/node_modules/caniuse-lite/data/features/font-smooth.js +1 -0
  704. package/examples/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -0
  705. package/examples/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -0
  706. package/examples/node_modules/caniuse-lite/data/features/font-variant-east-asian.js +1 -0
  707. package/examples/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -0
  708. package/examples/node_modules/caniuse-lite/data/features/fontface.js +1 -0
  709. package/examples/node_modules/caniuse-lite/data/features/form-attribute.js +1 -0
  710. package/examples/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -0
  711. package/examples/node_modules/caniuse-lite/data/features/form-validation.js +1 -0
  712. package/examples/node_modules/caniuse-lite/data/features/forms.js +1 -0
  713. package/examples/node_modules/caniuse-lite/data/features/fullscreen.js +1 -0
  714. package/examples/node_modules/caniuse-lite/data/features/gamepad.js +1 -0
  715. package/examples/node_modules/caniuse-lite/data/features/geolocation.js +1 -0
  716. package/examples/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -0
  717. package/examples/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -0
  718. package/examples/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -0
  719. package/examples/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -0
  720. package/examples/node_modules/caniuse-lite/data/features/gyroscope.js +1 -0
  721. package/examples/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -0
  722. package/examples/node_modules/caniuse-lite/data/features/hashchange.js +1 -0
  723. package/examples/node_modules/caniuse-lite/data/features/heif.js +1 -0
  724. package/examples/node_modules/caniuse-lite/data/features/hevc.js +1 -0
  725. package/examples/node_modules/caniuse-lite/data/features/hidden.js +1 -0
  726. package/examples/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -0
  727. package/examples/node_modules/caniuse-lite/data/features/history.js +1 -0
  728. package/examples/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -0
  729. package/examples/node_modules/caniuse-lite/data/features/html5semantic.js +1 -0
  730. package/examples/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -0
  731. package/examples/node_modules/caniuse-lite/data/features/http2.js +1 -0
  732. package/examples/node_modules/caniuse-lite/data/features/http3.js +1 -0
  733. package/examples/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -0
  734. package/examples/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -0
  735. package/examples/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -0
  736. package/examples/node_modules/caniuse-lite/data/features/imagecapture.js +1 -0
  737. package/examples/node_modules/caniuse-lite/data/features/ime.js +1 -0
  738. package/examples/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -0
  739. package/examples/node_modules/caniuse-lite/data/features/import-maps.js +1 -0
  740. package/examples/node_modules/caniuse-lite/data/features/imports.js +1 -0
  741. package/examples/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -0
  742. package/examples/node_modules/caniuse-lite/data/features/indexeddb.js +1 -0
  743. package/examples/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -0
  744. package/examples/node_modules/caniuse-lite/data/features/inline-block.js +1 -0
  745. package/examples/node_modules/caniuse-lite/data/features/innertext.js +1 -0
  746. package/examples/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -0
  747. package/examples/node_modules/caniuse-lite/data/features/input-color.js +1 -0
  748. package/examples/node_modules/caniuse-lite/data/features/input-datetime.js +1 -0
  749. package/examples/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -0
  750. package/examples/node_modules/caniuse-lite/data/features/input-event.js +1 -0
  751. package/examples/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -0
  752. package/examples/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -0
  753. package/examples/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -0
  754. package/examples/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -0
  755. package/examples/node_modules/caniuse-lite/data/features/input-minlength.js +1 -0
  756. package/examples/node_modules/caniuse-lite/data/features/input-number.js +1 -0
  757. package/examples/node_modules/caniuse-lite/data/features/input-pattern.js +1 -0
  758. package/examples/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -0
  759. package/examples/node_modules/caniuse-lite/data/features/input-range.js +1 -0
  760. package/examples/node_modules/caniuse-lite/data/features/input-search.js +1 -0
  761. package/examples/node_modules/caniuse-lite/data/features/input-selection.js +1 -0
  762. package/examples/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -0
  763. package/examples/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -0
  764. package/examples/node_modules/caniuse-lite/data/features/internationalization.js +1 -0
  765. package/examples/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -0
  766. package/examples/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -0
  767. package/examples/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -0
  768. package/examples/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -0
  769. package/examples/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -0
  770. package/examples/node_modules/caniuse-lite/data/features/jpegxl.js +1 -0
  771. package/examples/node_modules/caniuse-lite/data/features/jpegxr.js +1 -0
  772. package/examples/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -0
  773. package/examples/node_modules/caniuse-lite/data/features/json.js +1 -0
  774. package/examples/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -0
  775. package/examples/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -0
  776. package/examples/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -0
  777. package/examples/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -0
  778. package/examples/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -0
  779. package/examples/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -0
  780. package/examples/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -0
  781. package/examples/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -0
  782. package/examples/node_modules/caniuse-lite/data/features/lazyload.js +1 -0
  783. package/examples/node_modules/caniuse-lite/data/features/let.js +1 -0
  784. package/examples/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -0
  785. package/examples/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -0
  786. package/examples/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -0
  787. package/examples/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -0
  788. package/examples/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -0
  789. package/examples/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -0
  790. package/examples/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -0
  791. package/examples/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -0
  792. package/examples/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -0
  793. package/examples/node_modules/caniuse-lite/data/features/localecompare.js +1 -0
  794. package/examples/node_modules/caniuse-lite/data/features/magnetometer.js +1 -0
  795. package/examples/node_modules/caniuse-lite/data/features/matchesselector.js +1 -0
  796. package/examples/node_modules/caniuse-lite/data/features/matchmedia.js +1 -0
  797. package/examples/node_modules/caniuse-lite/data/features/mathml.js +1 -0
  798. package/examples/node_modules/caniuse-lite/data/features/maxlength.js +1 -0
  799. package/examples/node_modules/caniuse-lite/data/features/media-attribute.js +1 -0
  800. package/examples/node_modules/caniuse-lite/data/features/media-fragments.js +1 -0
  801. package/examples/node_modules/caniuse-lite/data/features/media-session-api.js +1 -0
  802. package/examples/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -0
  803. package/examples/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -0
  804. package/examples/node_modules/caniuse-lite/data/features/mediasource.js +1 -0
  805. package/examples/node_modules/caniuse-lite/data/features/menu.js +1 -0
  806. package/examples/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -0
  807. package/examples/node_modules/caniuse-lite/data/features/meter.js +1 -0
  808. package/examples/node_modules/caniuse-lite/data/features/midi.js +1 -0
  809. package/examples/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -0
  810. package/examples/node_modules/caniuse-lite/data/features/mp3.js +1 -0
  811. package/examples/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -0
  812. package/examples/node_modules/caniuse-lite/data/features/mpeg4.js +1 -0
  813. package/examples/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -0
  814. package/examples/node_modules/caniuse-lite/data/features/multicolumn.js +1 -0
  815. package/examples/node_modules/caniuse-lite/data/features/mutation-events.js +1 -0
  816. package/examples/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -0
  817. package/examples/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -0
  818. package/examples/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -0
  819. package/examples/node_modules/caniuse-lite/data/features/nav-timing.js +1 -0
  820. package/examples/node_modules/caniuse-lite/data/features/navigator-language.js +1 -0
  821. package/examples/node_modules/caniuse-lite/data/features/netinfo.js +1 -0
  822. package/examples/node_modules/caniuse-lite/data/features/notifications.js +1 -0
  823. package/examples/node_modules/caniuse-lite/data/features/object-entries.js +1 -0
  824. package/examples/node_modules/caniuse-lite/data/features/object-fit.js +1 -0
  825. package/examples/node_modules/caniuse-lite/data/features/object-observe.js +1 -0
  826. package/examples/node_modules/caniuse-lite/data/features/object-values.js +1 -0
  827. package/examples/node_modules/caniuse-lite/data/features/objectrtc.js +1 -0
  828. package/examples/node_modules/caniuse-lite/data/features/offline-apps.js +1 -0
  829. package/examples/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -0
  830. package/examples/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -0
  831. package/examples/node_modules/caniuse-lite/data/features/ogv.js +1 -0
  832. package/examples/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -0
  833. package/examples/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -0
  834. package/examples/node_modules/caniuse-lite/data/features/online-status.js +1 -0
  835. package/examples/node_modules/caniuse-lite/data/features/opus.js +1 -0
  836. package/examples/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -0
  837. package/examples/node_modules/caniuse-lite/data/features/outline.js +1 -0
  838. package/examples/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -0
  839. package/examples/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -0
  840. package/examples/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -0
  841. package/examples/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -0
  842. package/examples/node_modules/caniuse-lite/data/features/passwordrules.js +1 -0
  843. package/examples/node_modules/caniuse-lite/data/features/path2d.js +1 -0
  844. package/examples/node_modules/caniuse-lite/data/features/payment-request.js +1 -0
  845. package/examples/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -0
  846. package/examples/node_modules/caniuse-lite/data/features/permissions-api.js +1 -0
  847. package/examples/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -0
  848. package/examples/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -0
  849. package/examples/node_modules/caniuse-lite/data/features/picture.js +1 -0
  850. package/examples/node_modules/caniuse-lite/data/features/ping.js +1 -0
  851. package/examples/node_modules/caniuse-lite/data/features/png-alpha.js +1 -0
  852. package/examples/node_modules/caniuse-lite/data/features/pointer-events.js +1 -0
  853. package/examples/node_modules/caniuse-lite/data/features/pointer.js +1 -0
  854. package/examples/node_modules/caniuse-lite/data/features/pointerlock.js +1 -0
  855. package/examples/node_modules/caniuse-lite/data/features/portals.js +1 -0
  856. package/examples/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -0
  857. package/examples/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -0
  858. package/examples/node_modules/caniuse-lite/data/features/private-class-fields.js +1 -0
  859. package/examples/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js +1 -0
  860. package/examples/node_modules/caniuse-lite/data/features/progress.js +1 -0
  861. package/examples/node_modules/caniuse-lite/data/features/promise-finally.js +1 -0
  862. package/examples/node_modules/caniuse-lite/data/features/promises.js +1 -0
  863. package/examples/node_modules/caniuse-lite/data/features/proximity.js +1 -0
  864. package/examples/node_modules/caniuse-lite/data/features/proxy.js +1 -0
  865. package/examples/node_modules/caniuse-lite/data/features/public-class-fields.js +1 -0
  866. package/examples/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -0
  867. package/examples/node_modules/caniuse-lite/data/features/push-api.js +1 -0
  868. package/examples/node_modules/caniuse-lite/data/features/queryselector.js +1 -0
  869. package/examples/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -0
  870. package/examples/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -0
  871. package/examples/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -0
  872. package/examples/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -0
  873. package/examples/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -0
  874. package/examples/node_modules/caniuse-lite/data/features/rellist.js +1 -0
  875. package/examples/node_modules/caniuse-lite/data/features/rem.js +1 -0
  876. package/examples/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -0
  877. package/examples/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -0
  878. package/examples/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -0
  879. package/examples/node_modules/caniuse-lite/data/features/resource-timing.js +1 -0
  880. package/examples/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -0
  881. package/examples/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -0
  882. package/examples/node_modules/caniuse-lite/data/features/ruby.js +1 -0
  883. package/examples/node_modules/caniuse-lite/data/features/run-in.js +1 -0
  884. package/examples/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -0
  885. package/examples/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -0
  886. package/examples/node_modules/caniuse-lite/data/features/script-async.js +1 -0
  887. package/examples/node_modules/caniuse-lite/data/features/script-defer.js +1 -0
  888. package/examples/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -0
  889. package/examples/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -0
  890. package/examples/node_modules/caniuse-lite/data/features/sdch.js +1 -0
  891. package/examples/node_modules/caniuse-lite/data/features/selection-api.js +1 -0
  892. package/examples/node_modules/caniuse-lite/data/features/server-timing.js +1 -0
  893. package/examples/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -0
  894. package/examples/node_modules/caniuse-lite/data/features/setimmediate.js +1 -0
  895. package/examples/node_modules/caniuse-lite/data/features/sha-2.js +1 -0
  896. package/examples/node_modules/caniuse-lite/data/features/shadowdom.js +1 -0
  897. package/examples/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -0
  898. package/examples/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -0
  899. package/examples/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -0
  900. package/examples/node_modules/caniuse-lite/data/features/sni.js +1 -0
  901. package/examples/node_modules/caniuse-lite/data/features/spdy.js +1 -0
  902. package/examples/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -0
  903. package/examples/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -0
  904. package/examples/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -0
  905. package/examples/node_modules/caniuse-lite/data/features/sql-storage.js +1 -0
  906. package/examples/node_modules/caniuse-lite/data/features/srcset.js +1 -0
  907. package/examples/node_modules/caniuse-lite/data/features/stream.js +1 -0
  908. package/examples/node_modules/caniuse-lite/data/features/streams.js +1 -0
  909. package/examples/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -0
  910. package/examples/node_modules/caniuse-lite/data/features/style-scoped.js +1 -0
  911. package/examples/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -0
  912. package/examples/node_modules/caniuse-lite/data/features/svg-css.js +1 -0
  913. package/examples/node_modules/caniuse-lite/data/features/svg-filters.js +1 -0
  914. package/examples/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -0
  915. package/examples/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -0
  916. package/examples/node_modules/caniuse-lite/data/features/svg-html.js +1 -0
  917. package/examples/node_modules/caniuse-lite/data/features/svg-html5.js +1 -0
  918. package/examples/node_modules/caniuse-lite/data/features/svg-img.js +1 -0
  919. package/examples/node_modules/caniuse-lite/data/features/svg-smil.js +1 -0
  920. package/examples/node_modules/caniuse-lite/data/features/svg.js +1 -0
  921. package/examples/node_modules/caniuse-lite/data/features/sxg.js +1 -0
  922. package/examples/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -0
  923. package/examples/node_modules/caniuse-lite/data/features/template-literals.js +1 -0
  924. package/examples/node_modules/caniuse-lite/data/features/template.js +1 -0
  925. package/examples/node_modules/caniuse-lite/data/features/temporal.js +1 -0
  926. package/examples/node_modules/caniuse-lite/data/features/testfeat.js +1 -0
  927. package/examples/node_modules/caniuse-lite/data/features/text-decoration.js +1 -0
  928. package/examples/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -0
  929. package/examples/node_modules/caniuse-lite/data/features/text-overflow.js +1 -0
  930. package/examples/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -0
  931. package/examples/node_modules/caniuse-lite/data/features/text-stroke.js +1 -0
  932. package/examples/node_modules/caniuse-lite/data/features/text-underline-offset.js +1 -0
  933. package/examples/node_modules/caniuse-lite/data/features/textcontent.js +1 -0
  934. package/examples/node_modules/caniuse-lite/data/features/textencoder.js +1 -0
  935. package/examples/node_modules/caniuse-lite/data/features/tls1-1.js +1 -0
  936. package/examples/node_modules/caniuse-lite/data/features/tls1-2.js +1 -0
  937. package/examples/node_modules/caniuse-lite/data/features/tls1-3.js +1 -0
  938. package/examples/node_modules/caniuse-lite/data/features/token-binding.js +1 -0
  939. package/examples/node_modules/caniuse-lite/data/features/touch.js +1 -0
  940. package/examples/node_modules/caniuse-lite/data/features/transforms2d.js +1 -0
  941. package/examples/node_modules/caniuse-lite/data/features/transforms3d.js +1 -0
  942. package/examples/node_modules/caniuse-lite/data/features/trusted-types.js +1 -0
  943. package/examples/node_modules/caniuse-lite/data/features/ttf.js +1 -0
  944. package/examples/node_modules/caniuse-lite/data/features/typedarrays.js +1 -0
  945. package/examples/node_modules/caniuse-lite/data/features/u2f.js +1 -0
  946. package/examples/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -0
  947. package/examples/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -0
  948. package/examples/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -0
  949. package/examples/node_modules/caniuse-lite/data/features/url.js +1 -0
  950. package/examples/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -0
  951. package/examples/node_modules/caniuse-lite/data/features/use-strict.js +1 -0
  952. package/examples/node_modules/caniuse-lite/data/features/user-select-none.js +1 -0
  953. package/examples/node_modules/caniuse-lite/data/features/user-timing.js +1 -0
  954. package/examples/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -0
  955. package/examples/node_modules/caniuse-lite/data/features/vector-effect.js +1 -0
  956. package/examples/node_modules/caniuse-lite/data/features/vibration.js +1 -0
  957. package/examples/node_modules/caniuse-lite/data/features/video.js +1 -0
  958. package/examples/node_modules/caniuse-lite/data/features/videotracks.js +1 -0
  959. package/examples/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -0
  960. package/examples/node_modules/caniuse-lite/data/features/viewport-units.js +1 -0
  961. package/examples/node_modules/caniuse-lite/data/features/wai-aria.js +1 -0
  962. package/examples/node_modules/caniuse-lite/data/features/wake-lock.js +1 -0
  963. package/examples/node_modules/caniuse-lite/data/features/wasm.js +1 -0
  964. package/examples/node_modules/caniuse-lite/data/features/wav.js +1 -0
  965. package/examples/node_modules/caniuse-lite/data/features/wbr-element.js +1 -0
  966. package/examples/node_modules/caniuse-lite/data/features/web-animation.js +1 -0
  967. package/examples/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -0
  968. package/examples/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -0
  969. package/examples/node_modules/caniuse-lite/data/features/web-serial.js +1 -0
  970. package/examples/node_modules/caniuse-lite/data/features/web-share.js +1 -0
  971. package/examples/node_modules/caniuse-lite/data/features/webauthn.js +1 -0
  972. package/examples/node_modules/caniuse-lite/data/features/webgl.js +1 -0
  973. package/examples/node_modules/caniuse-lite/data/features/webgl2.js +1 -0
  974. package/examples/node_modules/caniuse-lite/data/features/webgpu.js +1 -0
  975. package/examples/node_modules/caniuse-lite/data/features/webhid.js +1 -0
  976. package/examples/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -0
  977. package/examples/node_modules/caniuse-lite/data/features/webm.js +1 -0
  978. package/examples/node_modules/caniuse-lite/data/features/webnfc.js +1 -0
  979. package/examples/node_modules/caniuse-lite/data/features/webp.js +1 -0
  980. package/examples/node_modules/caniuse-lite/data/features/websockets.js +1 -0
  981. package/examples/node_modules/caniuse-lite/data/features/webusb.js +1 -0
  982. package/examples/node_modules/caniuse-lite/data/features/webvr.js +1 -0
  983. package/examples/node_modules/caniuse-lite/data/features/webvtt.js +1 -0
  984. package/examples/node_modules/caniuse-lite/data/features/webworkers.js +1 -0
  985. package/examples/node_modules/caniuse-lite/data/features/webxr.js +1 -0
  986. package/examples/node_modules/caniuse-lite/data/features/will-change.js +1 -0
  987. package/examples/node_modules/caniuse-lite/data/features/woff.js +1 -0
  988. package/examples/node_modules/caniuse-lite/data/features/woff2.js +1 -0
  989. package/examples/node_modules/caniuse-lite/data/features/word-break.js +1 -0
  990. package/examples/node_modules/caniuse-lite/data/features/wordwrap.js +1 -0
  991. package/examples/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -0
  992. package/examples/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -0
  993. package/examples/node_modules/caniuse-lite/data/features/xhr2.js +1 -0
  994. package/examples/node_modules/caniuse-lite/data/features/xhtml.js +1 -0
  995. package/examples/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -0
  996. package/examples/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -0
  997. package/examples/node_modules/caniuse-lite/data/features.js +1 -0
  998. package/examples/node_modules/caniuse-lite/data/regions/AD.js +1 -0
  999. package/examples/node_modules/caniuse-lite/data/regions/AE.js +1 -0
  1000. package/examples/node_modules/caniuse-lite/data/regions/AF.js +1 -0
  1001. package/examples/node_modules/caniuse-lite/data/regions/AG.js +1 -0
  1002. package/examples/node_modules/caniuse-lite/data/regions/AI.js +1 -0
  1003. package/examples/node_modules/caniuse-lite/data/regions/AL.js +1 -0
  1004. package/examples/node_modules/caniuse-lite/data/regions/AM.js +1 -0
  1005. package/examples/node_modules/caniuse-lite/data/regions/AO.js +1 -0
  1006. package/examples/node_modules/caniuse-lite/data/regions/AR.js +1 -0
  1007. package/examples/node_modules/caniuse-lite/data/regions/AS.js +1 -0
  1008. package/examples/node_modules/caniuse-lite/data/regions/AT.js +1 -0
  1009. package/examples/node_modules/caniuse-lite/data/regions/AU.js +1 -0
  1010. package/examples/node_modules/caniuse-lite/data/regions/AW.js +1 -0
  1011. package/examples/node_modules/caniuse-lite/data/regions/AX.js +1 -0
  1012. package/examples/node_modules/caniuse-lite/data/regions/AZ.js +1 -0
  1013. package/examples/node_modules/caniuse-lite/data/regions/BA.js +1 -0
  1014. package/examples/node_modules/caniuse-lite/data/regions/BB.js +1 -0
  1015. package/examples/node_modules/caniuse-lite/data/regions/BD.js +1 -0
  1016. package/examples/node_modules/caniuse-lite/data/regions/BE.js +1 -0
  1017. package/examples/node_modules/caniuse-lite/data/regions/BF.js +1 -0
  1018. package/examples/node_modules/caniuse-lite/data/regions/BG.js +1 -0
  1019. package/examples/node_modules/caniuse-lite/data/regions/BH.js +1 -0
  1020. package/examples/node_modules/caniuse-lite/data/regions/BI.js +1 -0
  1021. package/examples/node_modules/caniuse-lite/data/regions/BJ.js +1 -0
  1022. package/examples/node_modules/caniuse-lite/data/regions/BM.js +1 -0
  1023. package/examples/node_modules/caniuse-lite/data/regions/BN.js +1 -0
  1024. package/examples/node_modules/caniuse-lite/data/regions/BO.js +1 -0
  1025. package/examples/node_modules/caniuse-lite/data/regions/BR.js +1 -0
  1026. package/examples/node_modules/caniuse-lite/data/regions/BS.js +1 -0
  1027. package/examples/node_modules/caniuse-lite/data/regions/BT.js +1 -0
  1028. package/examples/node_modules/caniuse-lite/data/regions/BW.js +1 -0
  1029. package/examples/node_modules/caniuse-lite/data/regions/BY.js +1 -0
  1030. package/examples/node_modules/caniuse-lite/data/regions/BZ.js +1 -0
  1031. package/examples/node_modules/caniuse-lite/data/regions/CA.js +1 -0
  1032. package/examples/node_modules/caniuse-lite/data/regions/CD.js +1 -0
  1033. package/examples/node_modules/caniuse-lite/data/regions/CF.js +1 -0
  1034. package/examples/node_modules/caniuse-lite/data/regions/CG.js +1 -0
  1035. package/examples/node_modules/caniuse-lite/data/regions/CH.js +1 -0
  1036. package/examples/node_modules/caniuse-lite/data/regions/CI.js +1 -0
  1037. package/examples/node_modules/caniuse-lite/data/regions/CK.js +1 -0
  1038. package/examples/node_modules/caniuse-lite/data/regions/CL.js +1 -0
  1039. package/examples/node_modules/caniuse-lite/data/regions/CM.js +1 -0
  1040. package/examples/node_modules/caniuse-lite/data/regions/CN.js +1 -0
  1041. package/examples/node_modules/caniuse-lite/data/regions/CO.js +1 -0
  1042. package/examples/node_modules/caniuse-lite/data/regions/CR.js +1 -0
  1043. package/examples/node_modules/caniuse-lite/data/regions/CU.js +1 -0
  1044. package/examples/node_modules/caniuse-lite/data/regions/CV.js +1 -0
  1045. package/examples/node_modules/caniuse-lite/data/regions/CX.js +1 -0
  1046. package/examples/node_modules/caniuse-lite/data/regions/CY.js +1 -0
  1047. package/examples/node_modules/caniuse-lite/data/regions/CZ.js +1 -0
  1048. package/examples/node_modules/caniuse-lite/data/regions/DE.js +1 -0
  1049. package/examples/node_modules/caniuse-lite/data/regions/DJ.js +1 -0
  1050. package/examples/node_modules/caniuse-lite/data/regions/DK.js +1 -0
  1051. package/examples/node_modules/caniuse-lite/data/regions/DM.js +1 -0
  1052. package/examples/node_modules/caniuse-lite/data/regions/DO.js +1 -0
  1053. package/examples/node_modules/caniuse-lite/data/regions/DZ.js +1 -0
  1054. package/examples/node_modules/caniuse-lite/data/regions/EC.js +1 -0
  1055. package/examples/node_modules/caniuse-lite/data/regions/EE.js +1 -0
  1056. package/examples/node_modules/caniuse-lite/data/regions/EG.js +1 -0
  1057. package/examples/node_modules/caniuse-lite/data/regions/ER.js +1 -0
  1058. package/examples/node_modules/caniuse-lite/data/regions/ES.js +1 -0
  1059. package/examples/node_modules/caniuse-lite/data/regions/ET.js +1 -0
  1060. package/examples/node_modules/caniuse-lite/data/regions/FI.js +1 -0
  1061. package/examples/node_modules/caniuse-lite/data/regions/FJ.js +1 -0
  1062. package/examples/node_modules/caniuse-lite/data/regions/FK.js +1 -0
  1063. package/examples/node_modules/caniuse-lite/data/regions/FM.js +1 -0
  1064. package/examples/node_modules/caniuse-lite/data/regions/FO.js +1 -0
  1065. package/examples/node_modules/caniuse-lite/data/regions/FR.js +1 -0
  1066. package/examples/node_modules/caniuse-lite/data/regions/GA.js +1 -0
  1067. package/examples/node_modules/caniuse-lite/data/regions/GB.js +1 -0
  1068. package/examples/node_modules/caniuse-lite/data/regions/GD.js +1 -0
  1069. package/examples/node_modules/caniuse-lite/data/regions/GE.js +1 -0
  1070. package/examples/node_modules/caniuse-lite/data/regions/GF.js +1 -0
  1071. package/examples/node_modules/caniuse-lite/data/regions/GG.js +1 -0
  1072. package/examples/node_modules/caniuse-lite/data/regions/GH.js +1 -0
  1073. package/examples/node_modules/caniuse-lite/data/regions/GI.js +1 -0
  1074. package/examples/node_modules/caniuse-lite/data/regions/GL.js +1 -0
  1075. package/examples/node_modules/caniuse-lite/data/regions/GM.js +1 -0
  1076. package/examples/node_modules/caniuse-lite/data/regions/GN.js +1 -0
  1077. package/examples/node_modules/caniuse-lite/data/regions/GP.js +1 -0
  1078. package/examples/node_modules/caniuse-lite/data/regions/GQ.js +1 -0
  1079. package/examples/node_modules/caniuse-lite/data/regions/GR.js +1 -0
  1080. package/examples/node_modules/caniuse-lite/data/regions/GT.js +1 -0
  1081. package/examples/node_modules/caniuse-lite/data/regions/GU.js +1 -0
  1082. package/examples/node_modules/caniuse-lite/data/regions/GW.js +1 -0
  1083. package/examples/node_modules/caniuse-lite/data/regions/GY.js +1 -0
  1084. package/examples/node_modules/caniuse-lite/data/regions/HK.js +1 -0
  1085. package/examples/node_modules/caniuse-lite/data/regions/HN.js +1 -0
  1086. package/examples/node_modules/caniuse-lite/data/regions/HR.js +1 -0
  1087. package/examples/node_modules/caniuse-lite/data/regions/HT.js +1 -0
  1088. package/examples/node_modules/caniuse-lite/data/regions/HU.js +1 -0
  1089. package/examples/node_modules/caniuse-lite/data/regions/ID.js +1 -0
  1090. package/examples/node_modules/caniuse-lite/data/regions/IE.js +1 -0
  1091. package/examples/node_modules/caniuse-lite/data/regions/IL.js +1 -0
  1092. package/examples/node_modules/caniuse-lite/data/regions/IM.js +1 -0
  1093. package/examples/node_modules/caniuse-lite/data/regions/IN.js +1 -0
  1094. package/examples/node_modules/caniuse-lite/data/regions/IQ.js +1 -0
  1095. package/examples/node_modules/caniuse-lite/data/regions/IR.js +1 -0
  1096. package/examples/node_modules/caniuse-lite/data/regions/IS.js +1 -0
  1097. package/examples/node_modules/caniuse-lite/data/regions/IT.js +1 -0
  1098. package/examples/node_modules/caniuse-lite/data/regions/JE.js +1 -0
  1099. package/examples/node_modules/caniuse-lite/data/regions/JM.js +1 -0
  1100. package/examples/node_modules/caniuse-lite/data/regions/JO.js +1 -0
  1101. package/examples/node_modules/caniuse-lite/data/regions/JP.js +1 -0
  1102. package/examples/node_modules/caniuse-lite/data/regions/KE.js +1 -0
  1103. package/examples/node_modules/caniuse-lite/data/regions/KG.js +1 -0
  1104. package/examples/node_modules/caniuse-lite/data/regions/KH.js +1 -0
  1105. package/examples/node_modules/caniuse-lite/data/regions/KI.js +1 -0
  1106. package/examples/node_modules/caniuse-lite/data/regions/KM.js +1 -0
  1107. package/examples/node_modules/caniuse-lite/data/regions/KN.js +1 -0
  1108. package/examples/node_modules/caniuse-lite/data/regions/KP.js +1 -0
  1109. package/examples/node_modules/caniuse-lite/data/regions/KR.js +1 -0
  1110. package/examples/node_modules/caniuse-lite/data/regions/KW.js +1 -0
  1111. package/examples/node_modules/caniuse-lite/data/regions/KY.js +1 -0
  1112. package/examples/node_modules/caniuse-lite/data/regions/KZ.js +1 -0
  1113. package/examples/node_modules/caniuse-lite/data/regions/LA.js +1 -0
  1114. package/examples/node_modules/caniuse-lite/data/regions/LB.js +1 -0
  1115. package/examples/node_modules/caniuse-lite/data/regions/LC.js +1 -0
  1116. package/examples/node_modules/caniuse-lite/data/regions/LI.js +1 -0
  1117. package/examples/node_modules/caniuse-lite/data/regions/LK.js +1 -0
  1118. package/examples/node_modules/caniuse-lite/data/regions/LR.js +1 -0
  1119. package/examples/node_modules/caniuse-lite/data/regions/LS.js +1 -0
  1120. package/examples/node_modules/caniuse-lite/data/regions/LT.js +1 -0
  1121. package/examples/node_modules/caniuse-lite/data/regions/LU.js +1 -0
  1122. package/examples/node_modules/caniuse-lite/data/regions/LV.js +1 -0
  1123. package/examples/node_modules/caniuse-lite/data/regions/LY.js +1 -0
  1124. package/examples/node_modules/caniuse-lite/data/regions/MA.js +1 -0
  1125. package/examples/node_modules/caniuse-lite/data/regions/MC.js +1 -0
  1126. package/examples/node_modules/caniuse-lite/data/regions/MD.js +1 -0
  1127. package/examples/node_modules/caniuse-lite/data/regions/ME.js +1 -0
  1128. package/examples/node_modules/caniuse-lite/data/regions/MG.js +1 -0
  1129. package/examples/node_modules/caniuse-lite/data/regions/MH.js +1 -0
  1130. package/examples/node_modules/caniuse-lite/data/regions/MK.js +1 -0
  1131. package/examples/node_modules/caniuse-lite/data/regions/ML.js +1 -0
  1132. package/examples/node_modules/caniuse-lite/data/regions/MM.js +1 -0
  1133. package/examples/node_modules/caniuse-lite/data/regions/MN.js +1 -0
  1134. package/examples/node_modules/caniuse-lite/data/regions/MO.js +1 -0
  1135. package/examples/node_modules/caniuse-lite/data/regions/MP.js +1 -0
  1136. package/examples/node_modules/caniuse-lite/data/regions/MQ.js +1 -0
  1137. package/examples/node_modules/caniuse-lite/data/regions/MR.js +1 -0
  1138. package/examples/node_modules/caniuse-lite/data/regions/MS.js +1 -0
  1139. package/examples/node_modules/caniuse-lite/data/regions/MT.js +1 -0
  1140. package/examples/node_modules/caniuse-lite/data/regions/MU.js +1 -0
  1141. package/examples/node_modules/caniuse-lite/data/regions/MV.js +1 -0
  1142. package/examples/node_modules/caniuse-lite/data/regions/MW.js +1 -0
  1143. package/examples/node_modules/caniuse-lite/data/regions/MX.js +1 -0
  1144. package/examples/node_modules/caniuse-lite/data/regions/MY.js +1 -0
  1145. package/examples/node_modules/caniuse-lite/data/regions/MZ.js +1 -0
  1146. package/examples/node_modules/caniuse-lite/data/regions/NA.js +1 -0
  1147. package/examples/node_modules/caniuse-lite/data/regions/NC.js +1 -0
  1148. package/examples/node_modules/caniuse-lite/data/regions/NE.js +1 -0
  1149. package/examples/node_modules/caniuse-lite/data/regions/NF.js +1 -0
  1150. package/examples/node_modules/caniuse-lite/data/regions/NG.js +1 -0
  1151. package/examples/node_modules/caniuse-lite/data/regions/NI.js +1 -0
  1152. package/examples/node_modules/caniuse-lite/data/regions/NL.js +1 -0
  1153. package/examples/node_modules/caniuse-lite/data/regions/NO.js +1 -0
  1154. package/examples/node_modules/caniuse-lite/data/regions/NP.js +1 -0
  1155. package/examples/node_modules/caniuse-lite/data/regions/NR.js +1 -0
  1156. package/examples/node_modules/caniuse-lite/data/regions/NU.js +1 -0
  1157. package/examples/node_modules/caniuse-lite/data/regions/NZ.js +1 -0
  1158. package/examples/node_modules/caniuse-lite/data/regions/OM.js +1 -0
  1159. package/examples/node_modules/caniuse-lite/data/regions/PA.js +1 -0
  1160. package/examples/node_modules/caniuse-lite/data/regions/PE.js +1 -0
  1161. package/examples/node_modules/caniuse-lite/data/regions/PF.js +1 -0
  1162. package/examples/node_modules/caniuse-lite/data/regions/PG.js +1 -0
  1163. package/examples/node_modules/caniuse-lite/data/regions/PH.js +1 -0
  1164. package/examples/node_modules/caniuse-lite/data/regions/PK.js +1 -0
  1165. package/examples/node_modules/caniuse-lite/data/regions/PL.js +1 -0
  1166. package/examples/node_modules/caniuse-lite/data/regions/PM.js +1 -0
  1167. package/examples/node_modules/caniuse-lite/data/regions/PN.js +1 -0
  1168. package/examples/node_modules/caniuse-lite/data/regions/PR.js +1 -0
  1169. package/examples/node_modules/caniuse-lite/data/regions/PS.js +1 -0
  1170. package/examples/node_modules/caniuse-lite/data/regions/PT.js +1 -0
  1171. package/examples/node_modules/caniuse-lite/data/regions/PW.js +1 -0
  1172. package/examples/node_modules/caniuse-lite/data/regions/PY.js +1 -0
  1173. package/examples/node_modules/caniuse-lite/data/regions/QA.js +1 -0
  1174. package/examples/node_modules/caniuse-lite/data/regions/RE.js +1 -0
  1175. package/examples/node_modules/caniuse-lite/data/regions/RO.js +1 -0
  1176. package/examples/node_modules/caniuse-lite/data/regions/RS.js +1 -0
  1177. package/examples/node_modules/caniuse-lite/data/regions/RU.js +1 -0
  1178. package/examples/node_modules/caniuse-lite/data/regions/RW.js +1 -0
  1179. package/examples/node_modules/caniuse-lite/data/regions/SA.js +1 -0
  1180. package/examples/node_modules/caniuse-lite/data/regions/SB.js +1 -0
  1181. package/examples/node_modules/caniuse-lite/data/regions/SC.js +1 -0
  1182. package/examples/node_modules/caniuse-lite/data/regions/SD.js +1 -0
  1183. package/examples/node_modules/caniuse-lite/data/regions/SE.js +1 -0
  1184. package/examples/node_modules/caniuse-lite/data/regions/SG.js +1 -0
  1185. package/examples/node_modules/caniuse-lite/data/regions/SH.js +1 -0
  1186. package/examples/node_modules/caniuse-lite/data/regions/SI.js +1 -0
  1187. package/examples/node_modules/caniuse-lite/data/regions/SK.js +1 -0
  1188. package/examples/node_modules/caniuse-lite/data/regions/SL.js +1 -0
  1189. package/examples/node_modules/caniuse-lite/data/regions/SM.js +1 -0
  1190. package/examples/node_modules/caniuse-lite/data/regions/SN.js +1 -0
  1191. package/examples/node_modules/caniuse-lite/data/regions/SO.js +1 -0
  1192. package/examples/node_modules/caniuse-lite/data/regions/SR.js +1 -0
  1193. package/examples/node_modules/caniuse-lite/data/regions/ST.js +1 -0
  1194. package/examples/node_modules/caniuse-lite/data/regions/SV.js +1 -0
  1195. package/examples/node_modules/caniuse-lite/data/regions/SY.js +1 -0
  1196. package/examples/node_modules/caniuse-lite/data/regions/SZ.js +1 -0
  1197. package/examples/node_modules/caniuse-lite/data/regions/TC.js +1 -0
  1198. package/examples/node_modules/caniuse-lite/data/regions/TD.js +1 -0
  1199. package/examples/node_modules/caniuse-lite/data/regions/TG.js +1 -0
  1200. package/examples/node_modules/caniuse-lite/data/regions/TH.js +1 -0
  1201. package/examples/node_modules/caniuse-lite/data/regions/TJ.js +1 -0
  1202. package/examples/node_modules/caniuse-lite/data/regions/TK.js +1 -0
  1203. package/examples/node_modules/caniuse-lite/data/regions/TL.js +1 -0
  1204. package/examples/node_modules/caniuse-lite/data/regions/TM.js +1 -0
  1205. package/examples/node_modules/caniuse-lite/data/regions/TN.js +1 -0
  1206. package/examples/node_modules/caniuse-lite/data/regions/TO.js +1 -0
  1207. package/examples/node_modules/caniuse-lite/data/regions/TR.js +1 -0
  1208. package/examples/node_modules/caniuse-lite/data/regions/TT.js +1 -0
  1209. package/examples/node_modules/caniuse-lite/data/regions/TV.js +1 -0
  1210. package/examples/node_modules/caniuse-lite/data/regions/TW.js +1 -0
  1211. package/examples/node_modules/caniuse-lite/data/regions/TZ.js +1 -0
  1212. package/examples/node_modules/caniuse-lite/data/regions/UA.js +1 -0
  1213. package/examples/node_modules/caniuse-lite/data/regions/UG.js +1 -0
  1214. package/examples/node_modules/caniuse-lite/data/regions/US.js +1 -0
  1215. package/examples/node_modules/caniuse-lite/data/regions/UY.js +1 -0
  1216. package/examples/node_modules/caniuse-lite/data/regions/UZ.js +1 -0
  1217. package/examples/node_modules/caniuse-lite/data/regions/VA.js +1 -0
  1218. package/examples/node_modules/caniuse-lite/data/regions/VC.js +1 -0
  1219. package/examples/node_modules/caniuse-lite/data/regions/VE.js +1 -0
  1220. package/examples/node_modules/caniuse-lite/data/regions/VG.js +1 -0
  1221. package/examples/node_modules/caniuse-lite/data/regions/VI.js +1 -0
  1222. package/examples/node_modules/caniuse-lite/data/regions/VN.js +1 -0
  1223. package/examples/node_modules/caniuse-lite/data/regions/VU.js +1 -0
  1224. package/examples/node_modules/caniuse-lite/data/regions/WF.js +1 -0
  1225. package/examples/node_modules/caniuse-lite/data/regions/WS.js +1 -0
  1226. package/examples/node_modules/caniuse-lite/data/regions/YE.js +1 -0
  1227. package/examples/node_modules/caniuse-lite/data/regions/YT.js +1 -0
  1228. package/examples/node_modules/caniuse-lite/data/regions/ZA.js +1 -0
  1229. package/examples/node_modules/caniuse-lite/data/regions/ZM.js +1 -0
  1230. package/examples/node_modules/caniuse-lite/data/regions/ZW.js +1 -0
  1231. package/examples/node_modules/caniuse-lite/data/regions/alt-af.js +1 -0
  1232. package/examples/node_modules/caniuse-lite/data/regions/alt-an.js +1 -0
  1233. package/examples/node_modules/caniuse-lite/data/regions/alt-as.js +1 -0
  1234. package/examples/node_modules/caniuse-lite/data/regions/alt-eu.js +1 -0
  1235. package/examples/node_modules/caniuse-lite/data/regions/alt-na.js +1 -0
  1236. package/examples/node_modules/caniuse-lite/data/regions/alt-oc.js +1 -0
  1237. package/examples/node_modules/caniuse-lite/data/regions/alt-sa.js +1 -0
  1238. package/examples/node_modules/caniuse-lite/data/regions/alt-ww.js +1 -0
  1239. package/examples/node_modules/caniuse-lite/dist/lib/statuses.js +9 -0
  1240. package/examples/node_modules/caniuse-lite/dist/lib/supported.js +9 -0
  1241. package/examples/node_modules/caniuse-lite/dist/unpacker/agents.js +47 -0
  1242. package/examples/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +1 -0
  1243. package/examples/node_modules/caniuse-lite/dist/unpacker/browsers.js +1 -0
  1244. package/examples/node_modules/caniuse-lite/dist/unpacker/feature.js +48 -0
  1245. package/examples/node_modules/caniuse-lite/dist/unpacker/features.js +6 -0
  1246. package/examples/node_modules/caniuse-lite/dist/unpacker/index.js +4 -0
  1247. package/examples/node_modules/caniuse-lite/dist/unpacker/region.js +22 -0
  1248. package/examples/node_modules/caniuse-lite/package.json +34 -0
  1249. package/examples/node_modules/chrome-trace-event/CHANGES.md +26 -0
  1250. package/examples/node_modules/chrome-trace-event/LICENSE.txt +23 -0
  1251. package/examples/node_modules/chrome-trace-event/README.md +31 -0
  1252. package/examples/node_modules/chrome-trace-event/dist/trace-event.d.ts +52 -0
  1253. package/examples/node_modules/chrome-trace-event/dist/trace-event.js +170 -0
  1254. package/examples/node_modules/chrome-trace-event/dist/trace-event.js.map +1 -0
  1255. package/examples/node_modules/chrome-trace-event/package.json +38 -0
  1256. package/examples/node_modules/clone-deep/package.json +17 -48
  1257. package/examples/node_modules/colorette/README.md +54 -22
  1258. package/examples/node_modules/colorette/index.cjs +213 -71
  1259. package/examples/node_modules/colorette/index.d.ts +91 -47
  1260. package/examples/node_modules/colorette/index.js +142 -68
  1261. package/examples/node_modules/colorette/package.json +17 -51
  1262. package/examples/node_modules/commander/CHANGELOG.md +339 -360
  1263. package/examples/node_modules/commander/Readme.md +254 -743
  1264. package/examples/node_modules/commander/index.js +1003 -1996
  1265. package/examples/node_modules/commander/package.json +24 -86
  1266. package/examples/node_modules/commander/typings/index.d.ts +153 -470
  1267. package/examples/node_modules/cross-spawn/package.json +40 -71
  1268. package/examples/node_modules/electron-to-chromium/CHANGELOG.md +14 -0
  1269. package/examples/node_modules/electron-to-chromium/LICENSE +5 -0
  1270. package/examples/node_modules/electron-to-chromium/README.md +186 -0
  1271. package/examples/node_modules/electron-to-chromium/chromium-versions.js +45 -0
  1272. package/examples/node_modules/electron-to-chromium/chromium-versions.json +1 -0
  1273. package/examples/node_modules/electron-to-chromium/full-chromium-versions.js +1833 -0
  1274. package/examples/node_modules/electron-to-chromium/full-chromium-versions.json +1 -0
  1275. package/examples/node_modules/electron-to-chromium/full-versions.js +1335 -0
  1276. package/examples/node_modules/electron-to-chromium/full-versions.json +1 -0
  1277. package/examples/node_modules/electron-to-chromium/index.js +36 -0
  1278. package/examples/node_modules/electron-to-chromium/package.json +42 -0
  1279. package/examples/node_modules/electron-to-chromium/versions.js +89 -0
  1280. package/examples/node_modules/electron-to-chromium/versions.json +1 -0
  1281. package/examples/node_modules/enhanced-resolve/LICENSE +20 -0
  1282. package/examples/node_modules/enhanced-resolve/README.md +167 -0
  1283. package/examples/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +96 -0
  1284. package/examples/node_modules/enhanced-resolve/lib/AliasPlugin.js +120 -0
  1285. package/examples/node_modules/enhanced-resolve/lib/AppendPlugin.js +47 -0
  1286. package/examples/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js +477 -0
  1287. package/examples/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js +45 -0
  1288. package/examples/node_modules/enhanced-resolve/lib/ConditionalPlugin.js +59 -0
  1289. package/examples/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js +96 -0
  1290. package/examples/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js +170 -0
  1291. package/examples/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js +63 -0
  1292. package/examples/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js +149 -0
  1293. package/examples/node_modules/enhanced-resolve/lib/FileExistsPlugin.js +58 -0
  1294. package/examples/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js +171 -0
  1295. package/examples/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js +64 -0
  1296. package/examples/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js +41 -0
  1297. package/examples/node_modules/enhanced-resolve/lib/LogInfoPlugin.js +50 -0
  1298. package/examples/node_modules/enhanced-resolve/lib/MainFieldPlugin.js +81 -0
  1299. package/examples/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js +9 -0
  1300. package/examples/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js +80 -0
  1301. package/examples/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js +47 -0
  1302. package/examples/node_modules/enhanced-resolve/lib/NextPlugin.js +33 -0
  1303. package/examples/node_modules/enhanced-resolve/lib/ParsePlugin.js +74 -0
  1304. package/examples/node_modules/enhanced-resolve/lib/PnpPlugin.js +103 -0
  1305. package/examples/node_modules/enhanced-resolve/lib/Resolver.js +500 -0
  1306. package/examples/node_modules/enhanced-resolve/lib/ResolverFactory.js +661 -0
  1307. package/examples/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js +65 -0
  1308. package/examples/node_modules/enhanced-resolve/lib/ResultPlugin.js +42 -0
  1309. package/examples/node_modules/enhanced-resolve/lib/RootsPlugin.js +62 -0
  1310. package/examples/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js +80 -0
  1311. package/examples/node_modules/enhanced-resolve/lib/SymlinkPlugin.js +88 -0
  1312. package/examples/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js +95 -0
  1313. package/examples/node_modules/enhanced-resolve/lib/TryNextPlugin.js +41 -0
  1314. package/examples/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js +99 -0
  1315. package/examples/node_modules/enhanced-resolve/lib/UseFilePlugin.js +49 -0
  1316. package/examples/node_modules/enhanced-resolve/lib/createInnerContext.js +37 -0
  1317. package/examples/node_modules/enhanced-resolve/lib/forEachBail.js +25 -0
  1318. package/examples/node_modules/enhanced-resolve/lib/getInnerRequest.js +27 -0
  1319. package/examples/node_modules/enhanced-resolve/lib/getPaths.js +37 -0
  1320. package/examples/node_modules/enhanced-resolve/lib/index.js +131 -0
  1321. package/examples/node_modules/enhanced-resolve/lib/util/entrypoints.js +667 -0
  1322. package/examples/node_modules/enhanced-resolve/lib/util/identifier.js +26 -0
  1323. package/examples/node_modules/enhanced-resolve/lib/util/path.js +221 -0
  1324. package/examples/node_modules/enhanced-resolve/lib/util/process-browser.js +16 -0
  1325. package/examples/node_modules/enhanced-resolve/package.json +70 -0
  1326. package/examples/node_modules/enhanced-resolve/types.d.ts +506 -0
  1327. package/examples/node_modules/envinfo/dist/cli.js +1 -1
  1328. package/examples/node_modules/envinfo/dist/envinfo.js +1 -1
  1329. package/examples/node_modules/envinfo/package.json +55 -89
  1330. package/examples/node_modules/es-module-lexer/LICENSE +10 -0
  1331. package/examples/node_modules/es-module-lexer/README.md +251 -0
  1332. package/examples/node_modules/es-module-lexer/dist/lexer.asm.js +1 -0
  1333. package/examples/node_modules/es-module-lexer/dist/lexer.cjs +1 -0
  1334. package/examples/node_modules/es-module-lexer/dist/lexer.js +2 -0
  1335. package/examples/node_modules/es-module-lexer/lexer.js +899 -0
  1336. package/examples/node_modules/es-module-lexer/package.json +53 -0
  1337. package/examples/node_modules/es-module-lexer/types/lexer.d.ts +86 -0
  1338. package/examples/node_modules/escalade/dist/index.js +22 -0
  1339. package/examples/node_modules/escalade/dist/index.mjs +22 -0
  1340. package/examples/node_modules/escalade/index.d.ts +3 -0
  1341. package/examples/node_modules/escalade/license +9 -0
  1342. package/examples/node_modules/escalade/package.json +61 -0
  1343. package/examples/node_modules/escalade/readme.md +211 -0
  1344. package/examples/node_modules/escalade/sync/index.d.ts +2 -0
  1345. package/examples/node_modules/escalade/sync/index.js +18 -0
  1346. package/examples/node_modules/escalade/sync/index.mjs +18 -0
  1347. package/examples/node_modules/eslint-scope/CHANGELOG.md +70 -0
  1348. package/examples/node_modules/eslint-scope/LICENSE +22 -0
  1349. package/examples/node_modules/eslint-scope/README.md +54 -0
  1350. package/examples/node_modules/eslint-scope/lib/definition.js +86 -0
  1351. package/examples/node_modules/eslint-scope/lib/index.js +165 -0
  1352. package/examples/node_modules/eslint-scope/lib/pattern-visitor.js +152 -0
  1353. package/examples/node_modules/eslint-scope/lib/reference.js +167 -0
  1354. package/examples/node_modules/eslint-scope/lib/referencer.js +629 -0
  1355. package/examples/node_modules/eslint-scope/lib/scope-manager.js +247 -0
  1356. package/examples/node_modules/eslint-scope/lib/scope.js +748 -0
  1357. package/examples/node_modules/eslint-scope/lib/variable.js +88 -0
  1358. package/examples/node_modules/eslint-scope/package.json +48 -0
  1359. package/examples/node_modules/esrecurse/.babelrc +3 -0
  1360. package/examples/node_modules/esrecurse/README.md +171 -0
  1361. package/examples/node_modules/esrecurse/esrecurse.js +117 -0
  1362. package/examples/node_modules/esrecurse/gulpfile.babel.js +92 -0
  1363. package/examples/node_modules/esrecurse/node_modules/estraverse/.jshintrc +16 -0
  1364. package/examples/node_modules/esrecurse/node_modules/estraverse/LICENSE.BSD +19 -0
  1365. package/examples/node_modules/esrecurse/node_modules/estraverse/README.md +153 -0
  1366. package/examples/node_modules/esrecurse/node_modules/estraverse/estraverse.js +805 -0
  1367. package/examples/node_modules/esrecurse/node_modules/estraverse/gulpfile.js +70 -0
  1368. package/examples/node_modules/esrecurse/node_modules/estraverse/package.json +40 -0
  1369. package/examples/node_modules/esrecurse/package.json +52 -0
  1370. package/examples/node_modules/estraverse/.jshintrc +16 -0
  1371. package/examples/node_modules/estraverse/LICENSE.BSD +19 -0
  1372. package/examples/node_modules/estraverse/README.md +153 -0
  1373. package/examples/node_modules/estraverse/estraverse.js +782 -0
  1374. package/examples/node_modules/estraverse/gulpfile.js +70 -0
  1375. package/examples/node_modules/estraverse/package.json +40 -0
  1376. package/examples/node_modules/events/.airtap.yml +15 -0
  1377. package/examples/node_modules/events/.github/FUNDING.yml +12 -0
  1378. package/examples/node_modules/events/.travis.yml +18 -0
  1379. package/examples/node_modules/events/History.md +118 -0
  1380. package/examples/node_modules/events/LICENSE +22 -0
  1381. package/examples/node_modules/events/Readme.md +50 -0
  1382. package/examples/node_modules/events/events.js +497 -0
  1383. package/examples/node_modules/events/package.json +37 -0
  1384. package/examples/node_modules/events/security.md +10 -0
  1385. package/examples/node_modules/events/tests/add-listeners.js +111 -0
  1386. package/examples/node_modules/events/tests/check-listener-leaks.js +101 -0
  1387. package/examples/node_modules/events/tests/common.js +104 -0
  1388. package/examples/node_modules/events/tests/errors.js +13 -0
  1389. package/examples/node_modules/events/tests/events-list.js +28 -0
  1390. package/examples/node_modules/events/tests/events-once.js +234 -0
  1391. package/examples/node_modules/events/tests/index.js +64 -0
  1392. package/examples/node_modules/events/tests/legacy-compat.js +16 -0
  1393. package/examples/node_modules/events/tests/listener-count.js +37 -0
  1394. package/examples/node_modules/events/tests/listeners-side-effects.js +56 -0
  1395. package/examples/node_modules/events/tests/listeners.js +168 -0
  1396. package/examples/node_modules/events/tests/max-listeners.js +47 -0
  1397. package/examples/node_modules/events/tests/method-names.js +35 -0
  1398. package/examples/node_modules/events/tests/modify-in-emit.js +90 -0
  1399. package/examples/node_modules/events/tests/num-args.js +60 -0
  1400. package/examples/node_modules/events/tests/once.js +83 -0
  1401. package/examples/node_modules/events/tests/prepend.js +31 -0
  1402. package/examples/node_modules/events/tests/remove-all-listeners.js +133 -0
  1403. package/examples/node_modules/events/tests/remove-listeners.js +212 -0
  1404. package/examples/node_modules/events/tests/set-max-listeners-side-effects.js +31 -0
  1405. package/examples/node_modules/events/tests/special-event-names.js +45 -0
  1406. package/examples/node_modules/events/tests/subclass.js +66 -0
  1407. package/examples/node_modules/events/tests/symbols.js +25 -0
  1408. package/examples/node_modules/execa/index.d.ts +12 -2
  1409. package/examples/node_modules/execa/index.js +14 -4
  1410. package/examples/node_modules/execa/lib/command.js +25 -5
  1411. package/examples/node_modules/execa/lib/error.js +2 -0
  1412. package/examples/node_modules/execa/lib/kill.js +7 -4
  1413. package/examples/node_modules/execa/lib/stream.js +1 -1
  1414. package/examples/node_modules/execa/package.json +72 -100
  1415. package/examples/node_modules/execa/readme.md +16 -3
  1416. package/examples/node_modules/fast-deep-equal/LICENSE +21 -0
  1417. package/examples/node_modules/fast-deep-equal/README.md +96 -0
  1418. package/examples/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
  1419. package/examples/node_modules/fast-deep-equal/es6/index.js +72 -0
  1420. package/examples/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
  1421. package/examples/node_modules/fast-deep-equal/es6/react.js +79 -0
  1422. package/examples/node_modules/fast-deep-equal/index.d.ts +4 -0
  1423. package/examples/node_modules/fast-deep-equal/index.js +46 -0
  1424. package/examples/node_modules/fast-deep-equal/package.json +61 -0
  1425. package/examples/node_modules/fast-deep-equal/react.d.ts +2 -0
  1426. package/examples/node_modules/fast-deep-equal/react.js +53 -0
  1427. package/examples/node_modules/fast-json-stable-stringify/.eslintrc.yml +26 -0
  1428. package/examples/node_modules/fast-json-stable-stringify/.github/FUNDING.yml +1 -0
  1429. package/examples/node_modules/fast-json-stable-stringify/.travis.yml +8 -0
  1430. package/examples/node_modules/fast-json-stable-stringify/LICENSE +21 -0
  1431. package/examples/node_modules/fast-json-stable-stringify/README.md +131 -0
  1432. package/examples/node_modules/fast-json-stable-stringify/benchmark/index.js +31 -0
  1433. package/examples/node_modules/fast-json-stable-stringify/benchmark/test.json +137 -0
  1434. package/examples/node_modules/fast-json-stable-stringify/example/key_cmp.js +7 -0
  1435. package/examples/node_modules/fast-json-stable-stringify/example/nested.js +3 -0
  1436. package/examples/node_modules/fast-json-stable-stringify/example/str.js +3 -0
  1437. package/examples/node_modules/fast-json-stable-stringify/example/value_cmp.js +7 -0
  1438. package/examples/node_modules/fast-json-stable-stringify/index.d.ts +4 -0
  1439. package/examples/node_modules/fast-json-stable-stringify/index.js +59 -0
  1440. package/examples/node_modules/fast-json-stable-stringify/package.json +52 -0
  1441. package/examples/node_modules/fast-json-stable-stringify/test/cmp.js +13 -0
  1442. package/examples/node_modules/fast-json-stable-stringify/test/nested.js +44 -0
  1443. package/examples/node_modules/fast-json-stable-stringify/test/str.js +46 -0
  1444. package/examples/node_modules/fast-json-stable-stringify/test/to-json.js +22 -0
  1445. package/examples/node_modules/fastest-levenshtein/package.json +33 -60
  1446. package/examples/node_modules/find-up/package.json +51 -83
  1447. package/examples/node_modules/function-bind/package.json +23 -54
  1448. package/examples/node_modules/get-stream/index.d.ts +1 -1
  1449. package/examples/node_modules/get-stream/package.json +45 -77
  1450. package/examples/node_modules/get-stream/readme.md +1 -1
  1451. package/examples/node_modules/glob-to-regexp/.travis.yml +4 -0
  1452. package/examples/node_modules/glob-to-regexp/README.md +75 -0
  1453. package/examples/node_modules/glob-to-regexp/index.js +130 -0
  1454. package/examples/node_modules/glob-to-regexp/package.json +23 -0
  1455. package/examples/node_modules/glob-to-regexp/test.js +235 -0
  1456. package/examples/node_modules/graceful-fs/LICENSE +15 -0
  1457. package/examples/node_modules/graceful-fs/README.md +143 -0
  1458. package/examples/node_modules/graceful-fs/clone.js +23 -0
  1459. package/examples/node_modules/graceful-fs/graceful-fs.js +429 -0
  1460. package/examples/node_modules/graceful-fs/legacy-streams.js +118 -0
  1461. package/examples/node_modules/graceful-fs/package.json +50 -0
  1462. package/examples/node_modules/graceful-fs/polyfills.js +348 -0
  1463. package/examples/node_modules/has/package.json +21 -46
  1464. package/examples/node_modules/has-flag/index.d.ts +39 -0
  1465. package/examples/node_modules/has-flag/index.js +8 -0
  1466. package/examples/node_modules/has-flag/license +9 -0
  1467. package/examples/node_modules/has-flag/package.json +46 -0
  1468. package/examples/node_modules/has-flag/readme.md +89 -0
  1469. package/examples/node_modules/human-signals/package.json +27 -59
  1470. package/examples/node_modules/import-local/index.js +9 -4
  1471. package/examples/node_modules/import-local/package.json +50 -81
  1472. package/examples/node_modules/import-local/readme.md +7 -8
  1473. package/examples/node_modules/interpret/package.json +24 -67
  1474. package/examples/node_modules/is-core-module/.eslintrc +0 -1
  1475. package/examples/node_modules/is-core-module/.nycrc +0 -4
  1476. package/examples/node_modules/is-core-module/CHANGELOG.md +69 -0
  1477. package/examples/node_modules/is-core-module/README.md +6 -3
  1478. package/examples/node_modules/is-core-module/core.json +85 -16
  1479. package/examples/node_modules/is-core-module/index.js +1 -1
  1480. package/examples/node_modules/is-core-module/package.json +67 -92
  1481. package/examples/node_modules/is-core-module/test/index.js +47 -0
  1482. package/examples/node_modules/is-plain-object/package.json +26 -68
  1483. package/examples/node_modules/is-stream/index.d.ts +0 -1
  1484. package/examples/node_modules/is-stream/index.js +1 -2
  1485. package/examples/node_modules/is-stream/license +1 -1
  1486. package/examples/node_modules/is-stream/package.json +40 -71
  1487. package/examples/node_modules/is-stream/readme.md +12 -9
  1488. package/examples/node_modules/isexe/package.json +16 -45
  1489. package/examples/node_modules/isobject/package.json +24 -69
  1490. package/examples/node_modules/jest-worker/LICENSE +21 -0
  1491. package/examples/node_modules/jest-worker/README.md +247 -0
  1492. package/examples/node_modules/jest-worker/build/Farm.d.ts +29 -0
  1493. package/examples/node_modules/jest-worker/build/Farm.js +206 -0
  1494. package/examples/node_modules/jest-worker/build/FifoQueue.d.ts +18 -0
  1495. package/examples/node_modules/jest-worker/build/FifoQueue.js +171 -0
  1496. package/examples/node_modules/jest-worker/build/PriorityQueue.d.ts +41 -0
  1497. package/examples/node_modules/jest-worker/build/PriorityQueue.js +188 -0
  1498. package/examples/node_modules/jest-worker/build/WorkerPool.d.ts +13 -0
  1499. package/examples/node_modules/jest-worker/build/WorkerPool.js +49 -0
  1500. package/examples/node_modules/jest-worker/build/base/BaseWorkerPool.d.ts +21 -0
  1501. package/examples/node_modules/jest-worker/build/base/BaseWorkerPool.js +201 -0
  1502. package/examples/node_modules/jest-worker/build/index.d.ts +49 -0
  1503. package/examples/node_modules/jest-worker/build/index.js +223 -0
  1504. package/examples/node_modules/jest-worker/build/types.d.ts +143 -0
  1505. package/examples/node_modules/jest-worker/build/types.js +39 -0
  1506. package/examples/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts +51 -0
  1507. package/examples/node_modules/jest-worker/build/workers/ChildProcessWorker.js +333 -0
  1508. package/examples/node_modules/jest-worker/build/workers/NodeThreadsWorker.d.ts +34 -0
  1509. package/examples/node_modules/jest-worker/build/workers/NodeThreadsWorker.js +344 -0
  1510. package/examples/node_modules/jest-worker/build/workers/messageParent.d.ts +8 -0
  1511. package/examples/node_modules/jest-worker/build/workers/messageParent.js +38 -0
  1512. package/examples/node_modules/jest-worker/build/workers/processChild.d.ts +7 -0
  1513. package/examples/node_modules/jest-worker/build/workers/processChild.js +148 -0
  1514. package/examples/node_modules/jest-worker/build/workers/threadChild.d.ts +7 -0
  1515. package/examples/node_modules/jest-worker/build/workers/threadChild.js +159 -0
  1516. package/examples/node_modules/jest-worker/package.json +38 -0
  1517. package/examples/node_modules/json-parse-better-errors/CHANGELOG.md +46 -0
  1518. package/examples/node_modules/json-parse-better-errors/LICENSE.md +7 -0
  1519. package/examples/node_modules/json-parse-better-errors/README.md +46 -0
  1520. package/examples/node_modules/json-parse-better-errors/index.js +38 -0
  1521. package/examples/node_modules/json-parse-better-errors/package.json +45 -0
  1522. package/examples/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
  1523. package/examples/node_modules/json-schema-traverse/.travis.yml +8 -0
  1524. package/examples/node_modules/json-schema-traverse/LICENSE +21 -0
  1525. package/examples/node_modules/json-schema-traverse/README.md +83 -0
  1526. package/examples/node_modules/json-schema-traverse/index.js +89 -0
  1527. package/examples/node_modules/json-schema-traverse/package.json +43 -0
  1528. package/examples/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
  1529. package/examples/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
  1530. package/examples/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
  1531. package/examples/node_modules/kind-of/package.json +27 -83
  1532. package/examples/node_modules/loader-runner/LICENSE +21 -0
  1533. package/examples/node_modules/loader-runner/README.md +53 -0
  1534. package/examples/node_modules/loader-runner/lib/LoaderLoadingError.js +11 -0
  1535. package/examples/node_modules/loader-runner/lib/LoaderRunner.js +415 -0
  1536. package/examples/node_modules/loader-runner/lib/loadLoader.js +54 -0
  1537. package/examples/node_modules/loader-runner/package.json +45 -0
  1538. package/examples/node_modules/locate-path/package.json +43 -75
  1539. package/examples/node_modules/merge-stream/package.json +10 -45
  1540. package/examples/node_modules/mime-db/HISTORY.md +507 -0
  1541. package/examples/node_modules/mime-db/LICENSE +23 -0
  1542. package/examples/node_modules/mime-db/README.md +100 -0
  1543. package/examples/node_modules/mime-db/db.json +8519 -0
  1544. package/examples/node_modules/mime-db/index.js +12 -0
  1545. package/examples/node_modules/mime-db/package.json +60 -0
  1546. package/examples/node_modules/mime-types/HISTORY.md +397 -0
  1547. package/examples/node_modules/mime-types/LICENSE +23 -0
  1548. package/examples/node_modules/mime-types/README.md +113 -0
  1549. package/examples/node_modules/mime-types/index.js +188 -0
  1550. package/examples/node_modules/mime-types/package.json +44 -0
  1551. package/examples/node_modules/mimic-fn/package.json +40 -72
  1552. package/examples/node_modules/neo-async/LICENSE +22 -0
  1553. package/examples/node_modules/neo-async/README.md +273 -0
  1554. package/examples/node_modules/neo-async/all.js +3 -0
  1555. package/examples/node_modules/neo-async/allLimit.js +3 -0
  1556. package/examples/node_modules/neo-async/allSeries.js +3 -0
  1557. package/examples/node_modules/neo-async/angelFall.js +3 -0
  1558. package/examples/node_modules/neo-async/any.js +3 -0
  1559. package/examples/node_modules/neo-async/anyLimit.js +3 -0
  1560. package/examples/node_modules/neo-async/anySeries.js +3 -0
  1561. package/examples/node_modules/neo-async/apply.js +3 -0
  1562. package/examples/node_modules/neo-async/applyEach.js +3 -0
  1563. package/examples/node_modules/neo-async/applyEachSeries.js +3 -0
  1564. package/examples/node_modules/neo-async/async.js +9184 -0
  1565. package/examples/node_modules/neo-async/async.min.js +80 -0
  1566. package/examples/node_modules/neo-async/asyncify.js +3 -0
  1567. package/examples/node_modules/neo-async/auto.js +3 -0
  1568. package/examples/node_modules/neo-async/autoInject.js +3 -0
  1569. package/examples/node_modules/neo-async/cargo.js +3 -0
  1570. package/examples/node_modules/neo-async/compose.js +3 -0
  1571. package/examples/node_modules/neo-async/concat.js +3 -0
  1572. package/examples/node_modules/neo-async/concatLimit.js +3 -0
  1573. package/examples/node_modules/neo-async/concatSeries.js +3 -0
  1574. package/examples/node_modules/neo-async/constant.js +3 -0
  1575. package/examples/node_modules/neo-async/createLogger.js +3 -0
  1576. package/examples/node_modules/neo-async/detect.js +3 -0
  1577. package/examples/node_modules/neo-async/detectLimit.js +3 -0
  1578. package/examples/node_modules/neo-async/detectSeries.js +3 -0
  1579. package/examples/node_modules/neo-async/dir.js +3 -0
  1580. package/examples/node_modules/neo-async/doDuring.js +3 -0
  1581. package/examples/node_modules/neo-async/doUntil.js +3 -0
  1582. package/examples/node_modules/neo-async/doWhilst.js +3 -0
  1583. package/examples/node_modules/neo-async/during.js +3 -0
  1584. package/examples/node_modules/neo-async/each.js +3 -0
  1585. package/examples/node_modules/neo-async/eachLimit.js +3 -0
  1586. package/examples/node_modules/neo-async/eachOf.js +3 -0
  1587. package/examples/node_modules/neo-async/eachOfLimit.js +3 -0
  1588. package/examples/node_modules/neo-async/eachOfSeries.js +3 -0
  1589. package/examples/node_modules/neo-async/eachSeries.js +3 -0
  1590. package/examples/node_modules/neo-async/ensureAsync.js +3 -0
  1591. package/examples/node_modules/neo-async/every.js +3 -0
  1592. package/examples/node_modules/neo-async/everyLimit.js +3 -0
  1593. package/examples/node_modules/neo-async/everySeries.js +3 -0
  1594. package/examples/node_modules/neo-async/fast.js +3 -0
  1595. package/examples/node_modules/neo-async/filter.js +3 -0
  1596. package/examples/node_modules/neo-async/filterLimit.js +3 -0
  1597. package/examples/node_modules/neo-async/filterSeries.js +3 -0
  1598. package/examples/node_modules/neo-async/find.js +3 -0
  1599. package/examples/node_modules/neo-async/findLimit.js +3 -0
  1600. package/examples/node_modules/neo-async/findSeries.js +3 -0
  1601. package/examples/node_modules/neo-async/foldl.js +3 -0
  1602. package/examples/node_modules/neo-async/foldr.js +3 -0
  1603. package/examples/node_modules/neo-async/forEach.js +3 -0
  1604. package/examples/node_modules/neo-async/forEachLimit.js +3 -0
  1605. package/examples/node_modules/neo-async/forEachOf.js +3 -0
  1606. package/examples/node_modules/neo-async/forEachOfLimit.js +3 -0
  1607. package/examples/node_modules/neo-async/forEachOfSeries.js +3 -0
  1608. package/examples/node_modules/neo-async/forEachSeries.js +3 -0
  1609. package/examples/node_modules/neo-async/forever.js +3 -0
  1610. package/examples/node_modules/neo-async/groupBy.js +3 -0
  1611. package/examples/node_modules/neo-async/groupByLimit.js +3 -0
  1612. package/examples/node_modules/neo-async/groupBySeries.js +3 -0
  1613. package/examples/node_modules/neo-async/inject.js +3 -0
  1614. package/examples/node_modules/neo-async/iterator.js +3 -0
  1615. package/examples/node_modules/neo-async/log.js +3 -0
  1616. package/examples/node_modules/neo-async/map.js +3 -0
  1617. package/examples/node_modules/neo-async/mapLimit.js +3 -0
  1618. package/examples/node_modules/neo-async/mapSeries.js +3 -0
  1619. package/examples/node_modules/neo-async/mapValues.js +3 -0
  1620. package/examples/node_modules/neo-async/mapValuesLimit.js +3 -0
  1621. package/examples/node_modules/neo-async/mapValuesSeries.js +3 -0
  1622. package/examples/node_modules/neo-async/memoize.js +3 -0
  1623. package/examples/node_modules/neo-async/nextTick.js +3 -0
  1624. package/examples/node_modules/neo-async/omit.js +3 -0
  1625. package/examples/node_modules/neo-async/omitLimit.js +3 -0
  1626. package/examples/node_modules/neo-async/omitSeries.js +3 -0
  1627. package/examples/node_modules/neo-async/package.json +57 -0
  1628. package/examples/node_modules/neo-async/parallel.js +3 -0
  1629. package/examples/node_modules/neo-async/parallelLimit.js +3 -0
  1630. package/examples/node_modules/neo-async/pick.js +3 -0
  1631. package/examples/node_modules/neo-async/pickLimit.js +3 -0
  1632. package/examples/node_modules/neo-async/pickSeries.js +3 -0
  1633. package/examples/node_modules/neo-async/priorityQueue.js +3 -0
  1634. package/examples/node_modules/neo-async/queue.js +3 -0
  1635. package/examples/node_modules/neo-async/race.js +3 -0
  1636. package/examples/node_modules/neo-async/reduce.js +3 -0
  1637. package/examples/node_modules/neo-async/reduceRight.js +3 -0
  1638. package/examples/node_modules/neo-async/reflect.js +3 -0
  1639. package/examples/node_modules/neo-async/reflectAll.js +3 -0
  1640. package/examples/node_modules/neo-async/reject.js +3 -0
  1641. package/examples/node_modules/neo-async/rejectLimit.js +3 -0
  1642. package/examples/node_modules/neo-async/rejectSeries.js +3 -0
  1643. package/examples/node_modules/neo-async/retry.js +3 -0
  1644. package/examples/node_modules/neo-async/retryable.js +3 -0
  1645. package/examples/node_modules/neo-async/safe.js +3 -0
  1646. package/examples/node_modules/neo-async/select.js +3 -0
  1647. package/examples/node_modules/neo-async/selectLimit.js +3 -0
  1648. package/examples/node_modules/neo-async/selectSeries.js +3 -0
  1649. package/examples/node_modules/neo-async/seq.js +3 -0
  1650. package/examples/node_modules/neo-async/series.js +3 -0
  1651. package/examples/node_modules/neo-async/setImmediate.js +3 -0
  1652. package/examples/node_modules/neo-async/some.js +3 -0
  1653. package/examples/node_modules/neo-async/someLimit.js +3 -0
  1654. package/examples/node_modules/neo-async/someSeries.js +3 -0
  1655. package/examples/node_modules/neo-async/sortBy.js +3 -0
  1656. package/examples/node_modules/neo-async/sortByLimit.js +3 -0
  1657. package/examples/node_modules/neo-async/sortBySeries.js +3 -0
  1658. package/examples/node_modules/neo-async/timeout.js +3 -0
  1659. package/examples/node_modules/neo-async/times.js +3 -0
  1660. package/examples/node_modules/neo-async/timesLimit.js +3 -0
  1661. package/examples/node_modules/neo-async/timesSeries.js +3 -0
  1662. package/examples/node_modules/neo-async/transform.js +3 -0
  1663. package/examples/node_modules/neo-async/transformLimit.js +3 -0
  1664. package/examples/node_modules/neo-async/transformSeries.js +3 -0
  1665. package/examples/node_modules/neo-async/tryEach.js +3 -0
  1666. package/examples/node_modules/neo-async/unmemoize.js +3 -0
  1667. package/examples/node_modules/neo-async/until.js +3 -0
  1668. package/examples/node_modules/neo-async/waterfall.js +3 -0
  1669. package/examples/node_modules/neo-async/whilst.js +3 -0
  1670. package/examples/node_modules/neo-async/wrapSync.js +3 -0
  1671. package/examples/node_modules/node-releases/LICENSE +21 -0
  1672. package/examples/node_modules/node-releases/README.md +31 -0
  1673. package/examples/node_modules/node-releases/data/processed/envs.json +1 -0
  1674. package/examples/node_modules/node-releases/data/release-schedule/release-schedule.json +1 -0
  1675. package/examples/node_modules/node-releases/package.json +18 -0
  1676. package/examples/node_modules/npm-run-path/package.json +42 -74
  1677. package/examples/node_modules/onetime/package.json +41 -73
  1678. package/examples/node_modules/p-limit/package.json +50 -82
  1679. package/examples/node_modules/p-locate/package.json +51 -83
  1680. package/examples/node_modules/p-try/package.json +40 -72
  1681. package/examples/node_modules/path-exists/package.json +37 -69
  1682. package/examples/node_modules/path-key/package.json +37 -70
  1683. package/examples/node_modules/path-parse/index.js +17 -35
  1684. package/examples/node_modules/path-parse/package.json +13 -41
  1685. package/examples/node_modules/picocolors/LICENSE +15 -0
  1686. package/examples/node_modules/picocolors/README.md +21 -0
  1687. package/examples/node_modules/picocolors/package.json +25 -0
  1688. package/examples/node_modules/picocolors/picocolors.browser.js +4 -0
  1689. package/examples/node_modules/picocolors/picocolors.d.ts +5 -0
  1690. package/examples/node_modules/picocolors/picocolors.js +58 -0
  1691. package/examples/node_modules/picocolors/types.ts +30 -0
  1692. package/examples/node_modules/pkg-dir/package.json +54 -86
  1693. package/examples/node_modules/punycode/LICENSE-MIT.txt +20 -0
  1694. package/examples/node_modules/punycode/README.md +122 -0
  1695. package/examples/node_modules/punycode/package.json +58 -0
  1696. package/examples/node_modules/punycode/punycode.es6.js +441 -0
  1697. package/examples/node_modules/punycode/punycode.js +440 -0
  1698. package/examples/node_modules/randombytes/.travis.yml +15 -0
  1699. package/examples/node_modules/randombytes/.zuul.yml +1 -0
  1700. package/examples/node_modules/randombytes/LICENSE +21 -0
  1701. package/examples/node_modules/randombytes/README.md +14 -0
  1702. package/examples/node_modules/randombytes/browser.js +50 -0
  1703. package/examples/node_modules/randombytes/index.js +1 -0
  1704. package/examples/node_modules/randombytes/package.json +36 -0
  1705. package/examples/node_modules/randombytes/test.js +81 -0
  1706. package/examples/node_modules/rechoir/README.md +9 -0
  1707. package/examples/node_modules/rechoir/lib/extension.js +35 -10
  1708. package/examples/node_modules/rechoir/package.json +24 -67
  1709. package/examples/node_modules/resolve/.eslintrc +34 -8
  1710. package/examples/node_modules/resolve/.github/FUNDING.yml +12 -0
  1711. package/examples/node_modules/resolve/appveyor.yml +4 -2
  1712. package/examples/node_modules/resolve/async.js +3 -0
  1713. package/examples/node_modules/resolve/bin/resolve +50 -0
  1714. package/examples/node_modules/resolve/lib/async.js +10 -1
  1715. package/examples/node_modules/resolve/lib/core.js +1 -2
  1716. package/examples/node_modules/resolve/lib/core.json +85 -16
  1717. package/examples/node_modules/resolve/lib/homedir.js +24 -0
  1718. package/examples/node_modules/resolve/lib/node-modules-paths.js +1 -1
  1719. package/examples/node_modules/resolve/lib/sync.js +14 -5
  1720. package/examples/node_modules/resolve/package.json +60 -78
  1721. package/examples/node_modules/resolve/readme.markdown +35 -13
  1722. package/examples/node_modules/resolve/sync.js +3 -0
  1723. package/examples/node_modules/resolve/test/home_paths.js +127 -0
  1724. package/examples/node_modules/resolve/test/home_paths_sync.js +114 -0
  1725. package/examples/node_modules/resolve/test/mock_sync.js +2 -4
  1726. package/examples/node_modules/resolve/test/node_path.js +1 -1
  1727. package/examples/node_modules/resolve/test/resolver/invalid_main/package.json +1 -1
  1728. package/examples/node_modules/resolve/test/resolver/malformed_package_json/index.js +0 -0
  1729. package/examples/node_modules/resolve/test/resolver/malformed_package_json/package.json +1 -0
  1730. package/examples/node_modules/resolve/test/resolver.js +99 -3
  1731. package/examples/node_modules/resolve/test/resolver_sync.js +310 -23
  1732. package/examples/node_modules/resolve-cwd/package.json +41 -73
  1733. package/examples/node_modules/resolve-from/package.json +34 -66
  1734. package/examples/node_modules/safe-buffer/LICENSE +21 -0
  1735. package/examples/node_modules/safe-buffer/README.md +584 -0
  1736. package/examples/node_modules/safe-buffer/index.d.ts +187 -0
  1737. package/examples/node_modules/safe-buffer/index.js +65 -0
  1738. package/examples/node_modules/safe-buffer/package.json +51 -0
  1739. package/examples/node_modules/schema-utils/LICENSE +20 -0
  1740. package/examples/node_modules/schema-utils/README.md +290 -0
  1741. package/examples/node_modules/schema-utils/declarations/ValidationError.d.ts +74 -0
  1742. package/examples/node_modules/schema-utils/declarations/index.d.ts +3 -0
  1743. package/examples/node_modules/schema-utils/declarations/keywords/absolutePath.d.ts +10 -0
  1744. package/examples/node_modules/schema-utils/declarations/util/Range.d.ts +79 -0
  1745. package/examples/node_modules/schema-utils/declarations/util/hints.d.ts +3 -0
  1746. package/examples/node_modules/schema-utils/declarations/validate.d.ts +37 -0
  1747. package/examples/node_modules/schema-utils/dist/ValidationError.js +1271 -0
  1748. package/examples/node_modules/schema-utils/dist/index.js +11 -0
  1749. package/examples/node_modules/schema-utils/dist/keywords/absolutePath.js +93 -0
  1750. package/examples/node_modules/schema-utils/dist/util/Range.js +163 -0
  1751. package/examples/node_modules/schema-utils/dist/util/hints.js +105 -0
  1752. package/examples/node_modules/schema-utils/dist/validate.js +163 -0
  1753. package/examples/node_modules/schema-utils/package.json +78 -0
  1754. package/examples/node_modules/serialize-javascript/LICENSE +27 -0
  1755. package/examples/node_modules/serialize-javascript/README.md +142 -0
  1756. package/examples/node_modules/serialize-javascript/index.js +268 -0
  1757. package/examples/node_modules/serialize-javascript/package.json +36 -0
  1758. package/examples/node_modules/shallow-clone/package.json +20 -57
  1759. package/examples/node_modules/shebang-command/package.json +32 -64
  1760. package/examples/node_modules/shebang-regex/package.json +33 -65
  1761. package/examples/node_modules/signal-exit/README.md +1 -1
  1762. package/examples/node_modules/signal-exit/index.js +169 -130
  1763. package/examples/node_modules/signal-exit/package.json +24 -52
  1764. package/examples/node_modules/source-map/CHANGELOG.md +301 -0
  1765. package/examples/node_modules/source-map/LICENSE +28 -0
  1766. package/examples/node_modules/source-map/README.md +742 -0
  1767. package/examples/node_modules/source-map/dist/source-map.debug.js +3234 -0
  1768. package/examples/node_modules/source-map/dist/source-map.js +3233 -0
  1769. package/examples/node_modules/source-map/dist/source-map.min.js +2 -0
  1770. package/examples/node_modules/source-map/dist/source-map.min.js.map +1 -0
  1771. package/examples/node_modules/source-map/lib/array-set.js +121 -0
  1772. package/examples/node_modules/source-map/lib/base64-vlq.js +140 -0
  1773. package/examples/node_modules/source-map/lib/base64.js +67 -0
  1774. package/examples/node_modules/source-map/lib/binary-search.js +111 -0
  1775. package/examples/node_modules/source-map/lib/mapping-list.js +79 -0
  1776. package/examples/node_modules/source-map/lib/quick-sort.js +114 -0
  1777. package/examples/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  1778. package/examples/node_modules/source-map/lib/source-map-generator.js +425 -0
  1779. package/examples/node_modules/source-map/lib/source-node.js +413 -0
  1780. package/examples/node_modules/source-map/lib/util.js +488 -0
  1781. package/examples/node_modules/source-map/package.json +73 -0
  1782. package/examples/node_modules/source-map/source-map.d.ts +98 -0
  1783. package/examples/node_modules/source-map/source-map.js +8 -0
  1784. package/examples/node_modules/source-map-support/LICENSE.md +21 -0
  1785. package/examples/node_modules/source-map-support/README.md +284 -0
  1786. package/examples/node_modules/source-map-support/browser-source-map-support.js +114 -0
  1787. package/examples/node_modules/source-map-support/package.json +31 -0
  1788. package/examples/node_modules/source-map-support/register-hook-require.js +1 -0
  1789. package/examples/node_modules/source-map-support/register.js +1 -0
  1790. package/examples/node_modules/source-map-support/source-map-support.js +625 -0
  1791. package/examples/node_modules/strip-final-newline/package.json +38 -70
  1792. package/examples/node_modules/supports-color/browser.js +24 -0
  1793. package/examples/node_modules/supports-color/index.js +152 -0
  1794. package/examples/node_modules/supports-color/license +9 -0
  1795. package/examples/node_modules/supports-color/package.json +58 -0
  1796. package/examples/node_modules/supports-color/readme.md +77 -0
  1797. package/examples/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
  1798. package/examples/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
  1799. package/examples/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
  1800. package/examples/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
  1801. package/examples/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
  1802. package/examples/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
  1803. package/examples/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
  1804. package/examples/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
  1805. package/examples/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
  1806. package/examples/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
  1807. package/examples/node_modules/tapable/LICENSE +21 -0
  1808. package/examples/node_modules/tapable/README.md +296 -0
  1809. package/examples/node_modules/tapable/lib/AsyncParallelBailHook.js +85 -0
  1810. package/examples/node_modules/tapable/lib/AsyncParallelHook.js +37 -0
  1811. package/examples/node_modules/tapable/lib/AsyncSeriesBailHook.js +42 -0
  1812. package/examples/node_modules/tapable/lib/AsyncSeriesHook.js +37 -0
  1813. package/examples/node_modules/tapable/lib/AsyncSeriesLoopHook.js +37 -0
  1814. package/examples/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js +47 -0
  1815. package/examples/node_modules/tapable/lib/Hook.js +175 -0
  1816. package/examples/node_modules/tapable/lib/HookCodeFactory.js +468 -0
  1817. package/examples/node_modules/tapable/lib/HookMap.js +61 -0
  1818. package/examples/node_modules/tapable/lib/MultiHook.js +54 -0
  1819. package/examples/node_modules/tapable/lib/SyncBailHook.js +51 -0
  1820. package/examples/node_modules/tapable/lib/SyncHook.js +46 -0
  1821. package/examples/node_modules/tapable/lib/SyncLoopHook.js +46 -0
  1822. package/examples/node_modules/tapable/lib/SyncWaterfallHook.js +57 -0
  1823. package/examples/node_modules/tapable/lib/index.js +19 -0
  1824. package/examples/node_modules/tapable/lib/util-browser.js +16 -0
  1825. package/examples/node_modules/tapable/package.json +44 -0
  1826. package/examples/node_modules/tapable/tapable.d.ts +116 -0
  1827. package/examples/node_modules/terser/CHANGELOG.md +480 -0
  1828. package/examples/node_modules/terser/LICENSE +29 -0
  1829. package/examples/node_modules/terser/PATRONS.md +15 -0
  1830. package/examples/node_modules/terser/README.md +1374 -0
  1831. package/examples/node_modules/terser/bin/package.json +10 -0
  1832. package/examples/node_modules/terser/bin/terser +21 -0
  1833. package/examples/node_modules/terser/bin/uglifyjs +10 -0
  1834. package/examples/node_modules/terser/dist/.gitkeep +0 -0
  1835. package/examples/node_modules/terser/dist/bundle.min.js +28332 -0
  1836. package/examples/node_modules/terser/dist/package.json +10 -0
  1837. package/examples/node_modules/terser/lib/ast.js +1858 -0
  1838. package/examples/node_modules/terser/lib/cli.js +479 -0
  1839. package/examples/node_modules/terser/lib/compress/common.js +296 -0
  1840. package/examples/node_modules/terser/lib/compress/compressor-flags.js +63 -0
  1841. package/examples/node_modules/terser/lib/compress/drop-side-effect-free.js +350 -0
  1842. package/examples/node_modules/terser/lib/compress/evaluate.js +461 -0
  1843. package/examples/node_modules/terser/lib/compress/index.js +4667 -0
  1844. package/examples/node_modules/terser/lib/compress/inference.js +948 -0
  1845. package/examples/node_modules/terser/lib/compress/native-objects.js +184 -0
  1846. package/examples/node_modules/terser/lib/compress/reduce-vars.js +675 -0
  1847. package/examples/node_modules/terser/lib/compress/tighten-body.js +1461 -0
  1848. package/examples/node_modules/terser/lib/equivalent-to.js +313 -0
  1849. package/examples/node_modules/terser/lib/minify.js +335 -0
  1850. package/examples/node_modules/terser/lib/mozilla-ast.js +1376 -0
  1851. package/examples/node_modules/terser/lib/output.js +2347 -0
  1852. package/examples/node_modules/terser/lib/parse.js +3362 -0
  1853. package/examples/node_modules/terser/lib/propmangle.js +376 -0
  1854. package/examples/node_modules/terser/lib/scope.js +1042 -0
  1855. package/examples/node_modules/terser/lib/size.js +490 -0
  1856. package/examples/node_modules/terser/lib/sourcemap.js +114 -0
  1857. package/examples/node_modules/terser/lib/transform.js +318 -0
  1858. package/examples/node_modules/terser/lib/utils/first_in_statement.js +50 -0
  1859. package/examples/node_modules/terser/lib/utils/index.js +302 -0
  1860. package/examples/node_modules/terser/main.js +27 -0
  1861. package/examples/node_modules/terser/node_modules/source-map/CHANGELOG.md +344 -0
  1862. package/examples/node_modules/terser/node_modules/source-map/LICENSE +28 -0
  1863. package/examples/node_modules/terser/node_modules/source-map/README.md +822 -0
  1864. package/examples/node_modules/terser/node_modules/source-map/dist/source-map.js +3351 -0
  1865. package/examples/node_modules/terser/node_modules/source-map/lib/array-set.js +100 -0
  1866. package/examples/node_modules/terser/node_modules/source-map/lib/base64-vlq.js +111 -0
  1867. package/examples/node_modules/terser/node_modules/source-map/lib/base64.js +18 -0
  1868. package/examples/node_modules/terser/node_modules/source-map/lib/binary-search.js +107 -0
  1869. package/examples/node_modules/terser/node_modules/source-map/lib/mapping-list.js +80 -0
  1870. package/examples/node_modules/terser/node_modules/source-map/lib/mappings.wasm +0 -0
  1871. package/examples/node_modules/terser/node_modules/source-map/lib/read-wasm.js +40 -0
  1872. package/examples/node_modules/terser/node_modules/source-map/lib/source-map-consumer.js +1254 -0
  1873. package/examples/node_modules/terser/node_modules/source-map/lib/source-map-generator.js +413 -0
  1874. package/examples/node_modules/terser/node_modules/source-map/lib/source-node.js +404 -0
  1875. package/examples/node_modules/terser/node_modules/source-map/lib/util.js +546 -0
  1876. package/examples/node_modules/terser/node_modules/source-map/lib/wasm.js +107 -0
  1877. package/examples/node_modules/terser/node_modules/source-map/package.json +90 -0
  1878. package/examples/node_modules/terser/node_modules/source-map/source-map.d.ts +369 -0
  1879. package/examples/node_modules/terser/node_modules/source-map/source-map.js +8 -0
  1880. package/examples/node_modules/terser/package.json +152 -0
  1881. package/examples/node_modules/terser/tools/domprops.js +7771 -0
  1882. package/examples/node_modules/terser/tools/exit.cjs +7 -0
  1883. package/examples/node_modules/terser/tools/props.html +55 -0
  1884. package/examples/node_modules/terser/tools/terser.d.ts +207 -0
  1885. package/examples/node_modules/terser-webpack-plugin/LICENSE +20 -0
  1886. package/examples/node_modules/terser-webpack-plugin/README.md +742 -0
  1887. package/examples/node_modules/terser-webpack-plugin/dist/index.js +798 -0
  1888. package/examples/node_modules/terser-webpack-plugin/dist/minify.js +50 -0
  1889. package/examples/node_modules/terser-webpack-plugin/dist/options.json +164 -0
  1890. package/examples/node_modules/terser-webpack-plugin/dist/utils.js +687 -0
  1891. package/examples/node_modules/terser-webpack-plugin/package.json +114 -0
  1892. package/examples/node_modules/terser-webpack-plugin/types/index.d.ts +329 -0
  1893. package/examples/node_modules/terser-webpack-plugin/types/minify.d.ts +17 -0
  1894. package/examples/node_modules/terser-webpack-plugin/types/utils.d.ts +100 -0
  1895. package/examples/node_modules/uri-js/LICENSE +11 -0
  1896. package/examples/node_modules/uri-js/README.md +203 -0
  1897. package/examples/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
  1898. package/examples/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
  1899. package/examples/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
  1900. package/examples/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
  1901. package/examples/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
  1902. package/examples/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
  1903. package/examples/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
  1904. package/examples/node_modules/uri-js/dist/esnext/index.js +17 -0
  1905. package/examples/node_modules/uri-js/dist/esnext/index.js.map +1 -0
  1906. package/examples/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
  1907. package/examples/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
  1908. package/examples/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
  1909. package/examples/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
  1910. package/examples/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
  1911. package/examples/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
  1912. package/examples/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
  1913. package/examples/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
  1914. package/examples/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
  1915. package/examples/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
  1916. package/examples/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
  1917. package/examples/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
  1918. package/examples/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
  1919. package/examples/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
  1920. package/examples/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
  1921. package/examples/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
  1922. package/examples/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
  1923. package/examples/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
  1924. package/examples/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
  1925. package/examples/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
  1926. package/examples/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
  1927. package/examples/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
  1928. package/examples/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
  1929. package/examples/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
  1930. package/examples/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
  1931. package/examples/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
  1932. package/examples/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
  1933. package/examples/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
  1934. package/examples/node_modules/uri-js/dist/esnext/uri.js +480 -0
  1935. package/examples/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
  1936. package/examples/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
  1937. package/examples/node_modules/uri-js/dist/esnext/util.js +36 -0
  1938. package/examples/node_modules/uri-js/dist/esnext/util.js.map +1 -0
  1939. package/examples/node_modules/uri-js/package.json +77 -0
  1940. package/examples/node_modules/uri-js/yarn.lock +2558 -0
  1941. package/examples/node_modules/watchpack/LICENSE +20 -0
  1942. package/examples/node_modules/watchpack/README.md +149 -0
  1943. package/examples/node_modules/watchpack/lib/DirectoryWatcher.js +785 -0
  1944. package/examples/node_modules/watchpack/lib/LinkResolver.js +107 -0
  1945. package/examples/node_modules/watchpack/lib/getWatcherManager.js +52 -0
  1946. package/examples/node_modules/watchpack/lib/reducePlan.js +138 -0
  1947. package/examples/node_modules/watchpack/lib/watchEventSource.js +335 -0
  1948. package/examples/node_modules/watchpack/lib/watchpack.js +383 -0
  1949. package/examples/node_modules/watchpack/package.json +49 -0
  1950. package/examples/node_modules/webpack/LICENSE +20 -0
  1951. package/examples/node_modules/webpack/README.md +711 -0
  1952. package/examples/node_modules/webpack/SECURITY.md +9 -0
  1953. package/examples/node_modules/webpack/bin/webpack.js +163 -0
  1954. package/examples/node_modules/webpack/hot/dev-server.js +61 -0
  1955. package/examples/node_modules/webpack/hot/emitter.js +2 -0
  1956. package/examples/node_modules/webpack/hot/lazy-compilation-node.js +40 -0
  1957. package/examples/node_modules/webpack/hot/lazy-compilation-web.js +74 -0
  1958. package/examples/node_modules/webpack/hot/log-apply-result.js +44 -0
  1959. package/examples/node_modules/webpack/hot/log.js +59 -0
  1960. package/examples/node_modules/webpack/hot/only-dev-server.js +102 -0
  1961. package/examples/node_modules/webpack/hot/poll.js +37 -0
  1962. package/examples/node_modules/webpack/hot/signal.js +62 -0
  1963. package/examples/node_modules/webpack/lib/APIPlugin.js +253 -0
  1964. package/examples/node_modules/webpack/lib/AbstractMethodError.js +49 -0
  1965. package/examples/node_modules/webpack/lib/AsyncDependenciesBlock.js +106 -0
  1966. package/examples/node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js +31 -0
  1967. package/examples/node_modules/webpack/lib/AutomaticPrefetchPlugin.js +65 -0
  1968. package/examples/node_modules/webpack/lib/BannerPlugin.js +123 -0
  1969. package/examples/node_modules/webpack/lib/Cache.js +161 -0
  1970. package/examples/node_modules/webpack/lib/CacheFacade.js +345 -0
  1971. package/examples/node_modules/webpack/lib/CaseSensitiveModulesWarning.js +71 -0
  1972. package/examples/node_modules/webpack/lib/Chunk.js +820 -0
  1973. package/examples/node_modules/webpack/lib/ChunkGraph.js +1727 -0
  1974. package/examples/node_modules/webpack/lib/ChunkGroup.js +584 -0
  1975. package/examples/node_modules/webpack/lib/ChunkRenderError.js +31 -0
  1976. package/examples/node_modules/webpack/lib/ChunkTemplate.js +138 -0
  1977. package/examples/node_modules/webpack/lib/CleanPlugin.js +420 -0
  1978. package/examples/node_modules/webpack/lib/CodeGenerationError.js +29 -0
  1979. package/examples/node_modules/webpack/lib/CodeGenerationResults.js +155 -0
  1980. package/examples/node_modules/webpack/lib/CommentCompilationWarning.js +33 -0
  1981. package/examples/node_modules/webpack/lib/CompatibilityPlugin.js +152 -0
  1982. package/examples/node_modules/webpack/lib/Compilation.js +5292 -0
  1983. package/examples/node_modules/webpack/lib/Compiler.js +1217 -0
  1984. package/examples/node_modules/webpack/lib/ConcatenationScope.js +159 -0
  1985. package/examples/node_modules/webpack/lib/ConcurrentCompilationError.js +18 -0
  1986. package/examples/node_modules/webpack/lib/ConditionalInitFragment.js +112 -0
  1987. package/examples/node_modules/webpack/lib/ConstPlugin.js +497 -0
  1988. package/examples/node_modules/webpack/lib/ContextExclusionPlugin.js +32 -0
  1989. package/examples/node_modules/webpack/lib/ContextModule.js +1147 -0
  1990. package/examples/node_modules/webpack/lib/ContextModuleFactory.js +437 -0
  1991. package/examples/node_modules/webpack/lib/ContextReplacementPlugin.js +157 -0
  1992. package/examples/node_modules/webpack/lib/DefinePlugin.js +601 -0
  1993. package/examples/node_modules/webpack/lib/DelegatedModule.js +239 -0
  1994. package/examples/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js +91 -0
  1995. package/examples/node_modules/webpack/lib/DelegatedPlugin.js +43 -0
  1996. package/examples/node_modules/webpack/lib/DependenciesBlock.js +107 -0
  1997. package/examples/node_modules/webpack/lib/Dependency.js +348 -0
  1998. package/examples/node_modules/webpack/lib/DependencyTemplate.js +57 -0
  1999. package/examples/node_modules/webpack/lib/DependencyTemplates.js +67 -0
  2000. package/examples/node_modules/webpack/lib/DllEntryPlugin.js +55 -0
  2001. package/examples/node_modules/webpack/lib/DllModule.js +157 -0
  2002. package/examples/node_modules/webpack/lib/DllModuleFactory.js +37 -0
  2003. package/examples/node_modules/webpack/lib/DllPlugin.js +68 -0
  2004. package/examples/node_modules/webpack/lib/DllReferencePlugin.js +162 -0
  2005. package/examples/node_modules/webpack/lib/DynamicEntryPlugin.js +79 -0
  2006. package/examples/node_modules/webpack/lib/EntryOptionPlugin.js +93 -0
  2007. package/examples/node_modules/webpack/lib/EntryPlugin.js +67 -0
  2008. package/examples/node_modules/webpack/lib/Entrypoint.js +101 -0
  2009. package/examples/node_modules/webpack/lib/EnvironmentPlugin.js +63 -0
  2010. package/examples/node_modules/webpack/lib/ErrorHelpers.js +61 -0
  2011. package/examples/node_modules/webpack/lib/EvalDevToolModulePlugin.js +117 -0
  2012. package/examples/node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js +206 -0
  2013. package/examples/node_modules/webpack/lib/ExportsInfo.js +1523 -0
  2014. package/examples/node_modules/webpack/lib/ExportsInfoApiPlugin.js +71 -0
  2015. package/examples/node_modules/webpack/lib/ExternalModule.js +758 -0
  2016. package/examples/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js +254 -0
  2017. package/examples/node_modules/webpack/lib/ExternalsPlugin.js +37 -0
  2018. package/examples/node_modules/webpack/lib/FileSystemInfo.js +3559 -0
  2019. package/examples/node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js +55 -0
  2020. package/examples/node_modules/webpack/lib/FlagDependencyExportsPlugin.js +417 -0
  2021. package/examples/node_modules/webpack/lib/FlagDependencyUsagePlugin.js +347 -0
  2022. package/examples/node_modules/webpack/lib/FlagEntryExportAsUsedPlugin.js +53 -0
  2023. package/examples/node_modules/webpack/lib/Generator.js +149 -0
  2024. package/examples/node_modules/webpack/lib/GraphHelpers.js +37 -0
  2025. package/examples/node_modules/webpack/lib/HarmonyLinkingError.js +16 -0
  2026. package/examples/node_modules/webpack/lib/HookWebpackError.js +93 -0
  2027. package/examples/node_modules/webpack/lib/HotModuleReplacementPlugin.js +778 -0
  2028. package/examples/node_modules/webpack/lib/HotUpdateChunk.js +19 -0
  2029. package/examples/node_modules/webpack/lib/IgnoreErrorModuleFactory.js +39 -0
  2030. package/examples/node_modules/webpack/lib/IgnorePlugin.js +83 -0
  2031. package/examples/node_modules/webpack/lib/IgnoreWarningsPlugin.js +39 -0
  2032. package/examples/node_modules/webpack/lib/InitFragment.js +161 -0
  2033. package/examples/node_modules/webpack/lib/InvalidDependenciesModuleWarning.js +44 -0
  2034. package/examples/node_modules/webpack/lib/JavascriptMetaInfoPlugin.js +68 -0
  2035. package/examples/node_modules/webpack/lib/LibManifestPlugin.js +115 -0
  2036. package/examples/node_modules/webpack/lib/LibraryTemplatePlugin.js +48 -0
  2037. package/examples/node_modules/webpack/lib/LoaderOptionsPlugin.js +71 -0
  2038. package/examples/node_modules/webpack/lib/LoaderTargetPlugin.js +37 -0
  2039. package/examples/node_modules/webpack/lib/MainTemplate.js +329 -0
  2040. package/examples/node_modules/webpack/lib/Module.js +1091 -0
  2041. package/examples/node_modules/webpack/lib/ModuleBuildError.js +77 -0
  2042. package/examples/node_modules/webpack/lib/ModuleDependencyError.js +40 -0
  2043. package/examples/node_modules/webpack/lib/ModuleDependencyWarning.js +45 -0
  2044. package/examples/node_modules/webpack/lib/ModuleError.js +61 -0
  2045. package/examples/node_modules/webpack/lib/ModuleFactory.js +50 -0
  2046. package/examples/node_modules/webpack/lib/ModuleFilenameHelpers.js +277 -0
  2047. package/examples/node_modules/webpack/lib/ModuleGraph.js +856 -0
  2048. package/examples/node_modules/webpack/lib/ModuleGraphConnection.js +191 -0
  2049. package/examples/node_modules/webpack/lib/ModuleHashingError.js +29 -0
  2050. package/examples/node_modules/webpack/lib/ModuleInfoHeaderPlugin.js +255 -0
  2051. package/examples/node_modules/webpack/lib/ModuleNotFoundError.js +86 -0
  2052. package/examples/node_modules/webpack/lib/ModuleParseError.js +109 -0
  2053. package/examples/node_modules/webpack/lib/ModuleProfile.js +107 -0
  2054. package/examples/node_modules/webpack/lib/ModuleRestoreError.js +42 -0
  2055. package/examples/node_modules/webpack/lib/ModuleStoreError.js +42 -0
  2056. package/examples/node_modules/webpack/lib/ModuleTemplate.js +142 -0
  2057. package/examples/node_modules/webpack/lib/ModuleWarning.js +61 -0
  2058. package/examples/node_modules/webpack/lib/MultiCompiler.js +582 -0
  2059. package/examples/node_modules/webpack/lib/MultiStats.js +166 -0
  2060. package/examples/node_modules/webpack/lib/MultiWatching.js +77 -0
  2061. package/examples/node_modules/webpack/lib/NoEmitOnErrorsPlugin.js +28 -0
  2062. package/examples/node_modules/webpack/lib/NoModeWarning.js +22 -0
  2063. package/examples/node_modules/webpack/lib/NodeStuffInWebError.js +34 -0
  2064. package/examples/node_modules/webpack/lib/NodeStuffPlugin.js +186 -0
  2065. package/examples/node_modules/webpack/lib/NormalModule.js +1411 -0
  2066. package/examples/node_modules/webpack/lib/NormalModuleFactory.js +1118 -0
  2067. package/examples/node_modules/webpack/lib/NormalModuleReplacementPlugin.js +71 -0
  2068. package/examples/node_modules/webpack/lib/NullFactory.js +23 -0
  2069. package/examples/node_modules/webpack/lib/OptimizationStages.js +10 -0
  2070. package/examples/node_modules/webpack/lib/OptionsApply.js +11 -0
  2071. package/examples/node_modules/webpack/lib/Parser.js +38 -0
  2072. package/examples/node_modules/webpack/lib/PrefetchPlugin.js +50 -0
  2073. package/examples/node_modules/webpack/lib/ProgressPlugin.js +613 -0
  2074. package/examples/node_modules/webpack/lib/ProvidePlugin.js +101 -0
  2075. package/examples/node_modules/webpack/lib/RawModule.js +152 -0
  2076. package/examples/node_modules/webpack/lib/RecordIdsPlugin.js +238 -0
  2077. package/examples/node_modules/webpack/lib/RequestShortener.js +34 -0
  2078. package/examples/node_modules/webpack/lib/RequireJsStuffPlugin.js +77 -0
  2079. package/examples/node_modules/webpack/lib/ResolverFactory.js +151 -0
  2080. package/examples/node_modules/webpack/lib/RuntimeGlobals.js +381 -0
  2081. package/examples/node_modules/webpack/lib/RuntimeModule.js +213 -0
  2082. package/examples/node_modules/webpack/lib/RuntimePlugin.js +444 -0
  2083. package/examples/node_modules/webpack/lib/RuntimeTemplate.js +1041 -0
  2084. package/examples/node_modules/webpack/lib/SelfModuleFactory.js +21 -0
  2085. package/examples/node_modules/webpack/lib/SingleEntryPlugin.js +8 -0
  2086. package/examples/node_modules/webpack/lib/SizeFormatHelpers.js +27 -0
  2087. package/examples/node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js +57 -0
  2088. package/examples/node_modules/webpack/lib/SourceMapDevToolPlugin.js +560 -0
  2089. package/examples/node_modules/webpack/lib/Stats.js +84 -0
  2090. package/examples/node_modules/webpack/lib/Template.js +419 -0
  2091. package/examples/node_modules/webpack/lib/TemplatedPathPlugin.js +346 -0
  2092. package/examples/node_modules/webpack/lib/UnhandledSchemeError.js +33 -0
  2093. package/examples/node_modules/webpack/lib/UnsupportedFeatureWarning.js +32 -0
  2094. package/examples/node_modules/webpack/lib/UseStrictPlugin.js +56 -0
  2095. package/examples/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js +53 -0
  2096. package/examples/node_modules/webpack/lib/WarnDeprecatedOptionPlugin.js +54 -0
  2097. package/examples/node_modules/webpack/lib/WarnNoModeSetPlugin.js +25 -0
  2098. package/examples/node_modules/webpack/lib/WatchIgnorePlugin.js +132 -0
  2099. package/examples/node_modules/webpack/lib/Watching.js +479 -0
  2100. package/examples/node_modules/webpack/lib/WebpackError.js +61 -0
  2101. package/examples/node_modules/webpack/lib/WebpackIsIncludedPlugin.js +85 -0
  2102. package/examples/node_modules/webpack/lib/WebpackOptionsApply.js +700 -0
  2103. package/examples/node_modules/webpack/lib/WebpackOptionsDefaulter.js +19 -0
  2104. package/examples/node_modules/webpack/lib/asset/AssetGenerator.js +464 -0
  2105. package/examples/node_modules/webpack/lib/asset/AssetModulesPlugin.js +223 -0
  2106. package/examples/node_modules/webpack/lib/asset/AssetParser.js +56 -0
  2107. package/examples/node_modules/webpack/lib/asset/AssetSourceGenerator.js +71 -0
  2108. package/examples/node_modules/webpack/lib/asset/AssetSourceParser.js +31 -0
  2109. package/examples/node_modules/webpack/lib/asset/RawDataUrlModule.js +148 -0
  2110. package/examples/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js +69 -0
  2111. package/examples/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js +55 -0
  2112. package/examples/node_modules/webpack/lib/buildChunkGraph.js +1401 -0
  2113. package/examples/node_modules/webpack/lib/cache/AddBuildDependenciesPlugin.js +33 -0
  2114. package/examples/node_modules/webpack/lib/cache/AddManagedPathsPlugin.js +35 -0
  2115. package/examples/node_modules/webpack/lib/cache/IdleFileCachePlugin.js +227 -0
  2116. package/examples/node_modules/webpack/lib/cache/MemoryCachePlugin.js +57 -0
  2117. package/examples/node_modules/webpack/lib/cache/MemoryWithGcCachePlugin.js +129 -0
  2118. package/examples/node_modules/webpack/lib/cache/PackFileCacheStrategy.js +1426 -0
  2119. package/examples/node_modules/webpack/lib/cache/ResolverCachePlugin.js +354 -0
  2120. package/examples/node_modules/webpack/lib/cache/getLazyHashedEtag.js +81 -0
  2121. package/examples/node_modules/webpack/lib/cache/mergeEtags.js +74 -0
  2122. package/examples/node_modules/webpack/lib/cli.js +655 -0
  2123. package/examples/node_modules/webpack/lib/config/browserslistTargetHandler.js +333 -0
  2124. package/examples/node_modules/webpack/lib/config/defaults.js +1309 -0
  2125. package/examples/node_modules/webpack/lib/config/normalization.js +529 -0
  2126. package/examples/node_modules/webpack/lib/config/target.js +348 -0
  2127. package/examples/node_modules/webpack/lib/container/ContainerEntryDependency.js +47 -0
  2128. package/examples/node_modules/webpack/lib/container/ContainerEntryModule.js +283 -0
  2129. package/examples/node_modules/webpack/lib/container/ContainerEntryModuleFactory.js +27 -0
  2130. package/examples/node_modules/webpack/lib/container/ContainerExposedDependency.js +52 -0
  2131. package/examples/node_modules/webpack/lib/container/ContainerPlugin.js +105 -0
  2132. package/examples/node_modules/webpack/lib/container/ContainerReferencePlugin.js +142 -0
  2133. package/examples/node_modules/webpack/lib/container/FallbackDependency.js +51 -0
  2134. package/examples/node_modules/webpack/lib/container/FallbackItemDependency.js +30 -0
  2135. package/examples/node_modules/webpack/lib/container/FallbackModule.js +173 -0
  2136. package/examples/node_modules/webpack/lib/container/FallbackModuleFactory.js +27 -0
  2137. package/examples/node_modules/webpack/lib/container/ModuleFederationPlugin.js +92 -0
  2138. package/examples/node_modules/webpack/lib/container/RemoteModule.js +171 -0
  2139. package/examples/node_modules/webpack/lib/container/RemoteRuntimeModule.js +128 -0
  2140. package/examples/node_modules/webpack/lib/container/RemoteToExternalDependency.js +30 -0
  2141. package/examples/node_modules/webpack/lib/container/options.js +91 -0
  2142. package/examples/node_modules/webpack/lib/css/CssExportsGenerator.js +139 -0
  2143. package/examples/node_modules/webpack/lib/css/CssGenerator.js +109 -0
  2144. package/examples/node_modules/webpack/lib/css/CssLoadingRuntimeModule.js +440 -0
  2145. package/examples/node_modules/webpack/lib/css/CssModulesPlugin.js +462 -0
  2146. package/examples/node_modules/webpack/lib/css/CssParser.js +618 -0
  2147. package/examples/node_modules/webpack/lib/css/walkCssTokens.js +659 -0
  2148. package/examples/node_modules/webpack/lib/debug/ProfilingPlugin.js +454 -0
  2149. package/examples/node_modules/webpack/lib/dependencies/AMDDefineDependency.js +221 -0
  2150. package/examples/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js +354 -0
  2151. package/examples/node_modules/webpack/lib/dependencies/AMDPlugin.js +216 -0
  2152. package/examples/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js +99 -0
  2153. package/examples/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js +53 -0
  2154. package/examples/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js +22 -0
  2155. package/examples/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +279 -0
  2156. package/examples/node_modules/webpack/lib/dependencies/AMDRequireDependency.js +174 -0
  2157. package/examples/node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js +35 -0
  2158. package/examples/node_modules/webpack/lib/dependencies/AMDRuntimeModules.js +48 -0
  2159. package/examples/node_modules/webpack/lib/dependencies/CachedConstDependency.js +106 -0
  2160. package/examples/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js +49 -0
  2161. package/examples/node_modules/webpack/lib/dependencies/CommonJsExportRequireDependency.js +374 -0
  2162. package/examples/node_modules/webpack/lib/dependencies/CommonJsExportsDependency.js +160 -0
  2163. package/examples/node_modules/webpack/lib/dependencies/CommonJsExportsParserPlugin.js +336 -0
  2164. package/examples/node_modules/webpack/lib/dependencies/CommonJsFullRequireDependency.js +136 -0
  2165. package/examples/node_modules/webpack/lib/dependencies/CommonJsImportsParserPlugin.js +388 -0
  2166. package/examples/node_modules/webpack/lib/dependencies/CommonJsPlugin.js +280 -0
  2167. package/examples/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js +55 -0
  2168. package/examples/node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js +34 -0
  2169. package/examples/node_modules/webpack/lib/dependencies/CommonJsSelfReferenceDependency.js +141 -0
  2170. package/examples/node_modules/webpack/lib/dependencies/ConstDependency.js +108 -0
  2171. package/examples/node_modules/webpack/lib/dependencies/ContextDependency.js +147 -0
  2172. package/examples/node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js +232 -0
  2173. package/examples/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js +61 -0
  2174. package/examples/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +59 -0
  2175. package/examples/node_modules/webpack/lib/dependencies/ContextElementDependency.js +77 -0
  2176. package/examples/node_modules/webpack/lib/dependencies/CreateScriptUrlDependency.js +66 -0
  2177. package/examples/node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js +25 -0
  2178. package/examples/node_modules/webpack/lib/dependencies/CssExportDependency.js +85 -0
  2179. package/examples/node_modules/webpack/lib/dependencies/CssImportDependency.js +75 -0
  2180. package/examples/node_modules/webpack/lib/dependencies/CssLocalIdentifierDependency.js +119 -0
  2181. package/examples/node_modules/webpack/lib/dependencies/CssSelfLocalIdentifierDependency.js +101 -0
  2182. package/examples/node_modules/webpack/lib/dependencies/CssUrlDependency.js +132 -0
  2183. package/examples/node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js +30 -0
  2184. package/examples/node_modules/webpack/lib/dependencies/DllEntryDependency.js +47 -0
  2185. package/examples/node_modules/webpack/lib/dependencies/DynamicExports.js +69 -0
  2186. package/examples/node_modules/webpack/lib/dependencies/EntryDependency.js +30 -0
  2187. package/examples/node_modules/webpack/lib/dependencies/ExportsInfoDependency.js +143 -0
  2188. package/examples/node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js +134 -0
  2189. package/examples/node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js +37 -0
  2190. package/examples/node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js +91 -0
  2191. package/examples/node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js +97 -0
  2192. package/examples/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js +185 -0
  2193. package/examples/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js +190 -0
  2194. package/examples/node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js +65 -0
  2195. package/examples/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +1271 -0
  2196. package/examples/node_modules/webpack/lib/dependencies/HarmonyExportInitFragment.js +168 -0
  2197. package/examples/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js +111 -0
  2198. package/examples/node_modules/webpack/lib/dependencies/HarmonyExports.js +40 -0
  2199. package/examples/node_modules/webpack/lib/dependencies/HarmonyImportDependency.js +359 -0
  2200. package/examples/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js +256 -0
  2201. package/examples/node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js +80 -0
  2202. package/examples/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js +331 -0
  2203. package/examples/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js +121 -0
  2204. package/examples/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +27 -0
  2205. package/examples/node_modules/webpack/lib/dependencies/ImportContextDependency.js +52 -0
  2206. package/examples/node_modules/webpack/lib/dependencies/ImportDependency.js +101 -0
  2207. package/examples/node_modules/webpack/lib/dependencies/ImportEagerDependency.js +69 -0
  2208. package/examples/node_modules/webpack/lib/dependencies/ImportMetaContextDependency.js +35 -0
  2209. package/examples/node_modules/webpack/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +252 -0
  2210. package/examples/node_modules/webpack/lib/dependencies/ImportMetaContextPlugin.js +59 -0
  2211. package/examples/node_modules/webpack/lib/dependencies/ImportMetaHotAcceptDependency.js +35 -0
  2212. package/examples/node_modules/webpack/lib/dependencies/ImportMetaHotDeclineDependency.js +36 -0
  2213. package/examples/node_modules/webpack/lib/dependencies/ImportMetaPlugin.js +203 -0
  2214. package/examples/node_modules/webpack/lib/dependencies/ImportParserPlugin.js +267 -0
  2215. package/examples/node_modules/webpack/lib/dependencies/ImportPlugin.js +82 -0
  2216. package/examples/node_modules/webpack/lib/dependencies/ImportWeakDependency.js +67 -0
  2217. package/examples/node_modules/webpack/lib/dependencies/JsonExportsDependency.js +103 -0
  2218. package/examples/node_modules/webpack/lib/dependencies/LoaderDependency.js +27 -0
  2219. package/examples/node_modules/webpack/lib/dependencies/LoaderImportDependency.js +28 -0
  2220. package/examples/node_modules/webpack/lib/dependencies/LoaderPlugin.js +261 -0
  2221. package/examples/node_modules/webpack/lib/dependencies/LocalModule.js +44 -0
  2222. package/examples/node_modules/webpack/lib/dependencies/LocalModuleDependency.js +69 -0
  2223. package/examples/node_modules/webpack/lib/dependencies/LocalModulesHelpers.js +50 -0
  2224. package/examples/node_modules/webpack/lib/dependencies/ModuleDecoratorDependency.js +129 -0
  2225. package/examples/node_modules/webpack/lib/dependencies/ModuleDependency.js +81 -0
  2226. package/examples/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js +34 -0
  2227. package/examples/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +38 -0
  2228. package/examples/node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js +35 -0
  2229. package/examples/node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js +36 -0
  2230. package/examples/node_modules/webpack/lib/dependencies/NullDependency.js +40 -0
  2231. package/examples/node_modules/webpack/lib/dependencies/PrefetchDependency.js +24 -0
  2232. package/examples/node_modules/webpack/lib/dependencies/ProvidedDependency.js +122 -0
  2233. package/examples/node_modules/webpack/lib/dependencies/PureExpressionDependency.js +128 -0
  2234. package/examples/node_modules/webpack/lib/dependencies/RequireContextDependency.js +31 -0
  2235. package/examples/node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js +58 -0
  2236. package/examples/node_modules/webpack/lib/dependencies/RequireContextPlugin.js +150 -0
  2237. package/examples/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js +22 -0
  2238. package/examples/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +121 -0
  2239. package/examples/node_modules/webpack/lib/dependencies/RequireEnsureDependency.js +101 -0
  2240. package/examples/node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js +33 -0
  2241. package/examples/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js +66 -0
  2242. package/examples/node_modules/webpack/lib/dependencies/RequireHeaderDependency.js +57 -0
  2243. package/examples/node_modules/webpack/lib/dependencies/RequireIncludeDependency.js +74 -0
  2244. package/examples/node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js +77 -0
  2245. package/examples/node_modules/webpack/lib/dependencies/RequireIncludePlugin.js +42 -0
  2246. package/examples/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js +50 -0
  2247. package/examples/node_modules/webpack/lib/dependencies/RequireResolveDependency.js +51 -0
  2248. package/examples/node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js +63 -0
  2249. package/examples/node_modules/webpack/lib/dependencies/RuntimeRequirementsDependency.js +77 -0
  2250. package/examples/node_modules/webpack/lib/dependencies/StaticExportsDependency.js +66 -0
  2251. package/examples/node_modules/webpack/lib/dependencies/SystemPlugin.js +140 -0
  2252. package/examples/node_modules/webpack/lib/dependencies/SystemRuntimeModule.js +35 -0
  2253. package/examples/node_modules/webpack/lib/dependencies/URLDependency.js +158 -0
  2254. package/examples/node_modules/webpack/lib/dependencies/URLPlugin.js +114 -0
  2255. package/examples/node_modules/webpack/lib/dependencies/UnsupportedDependency.js +69 -0
  2256. package/examples/node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js +79 -0
  2257. package/examples/node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js +100 -0
  2258. package/examples/node_modules/webpack/lib/dependencies/WebpackIsIncludedDependency.js +80 -0
  2259. package/examples/node_modules/webpack/lib/dependencies/WorkerDependency.js +89 -0
  2260. package/examples/node_modules/webpack/lib/dependencies/WorkerPlugin.js +416 -0
  2261. package/examples/node_modules/webpack/lib/dependencies/getFunctionExpression.js +55 -0
  2262. package/examples/node_modules/webpack/lib/dependencies/processExportInfo.js +65 -0
  2263. package/examples/node_modules/webpack/lib/electron/ElectronTargetPlugin.js +68 -0
  2264. package/examples/node_modules/webpack/lib/errors/BuildCycleError.js +27 -0
  2265. package/examples/node_modules/webpack/lib/esm/ExportWebpackRequireRuntimeModule.js +29 -0
  2266. package/examples/node_modules/webpack/lib/esm/ModuleChunkFormatPlugin.js +202 -0
  2267. package/examples/node_modules/webpack/lib/esm/ModuleChunkLoadingPlugin.js +76 -0
  2268. package/examples/node_modules/webpack/lib/esm/ModuleChunkLoadingRuntimeModule.js +242 -0
  2269. package/examples/node_modules/webpack/lib/formatLocation.js +68 -0
  2270. package/examples/node_modules/webpack/lib/hmr/HotModuleReplacement.runtime.js +394 -0
  2271. package/examples/node_modules/webpack/lib/hmr/HotModuleReplacementRuntimeModule.js +42 -0
  2272. package/examples/node_modules/webpack/lib/hmr/JavascriptHotModuleReplacement.runtime.js +462 -0
  2273. package/examples/node_modules/webpack/lib/hmr/LazyCompilationPlugin.js +418 -0
  2274. package/examples/node_modules/webpack/lib/hmr/lazyCompilationBackend.js +143 -0
  2275. package/examples/node_modules/webpack/lib/ids/ChunkModuleIdRangePlugin.js +80 -0
  2276. package/examples/node_modules/webpack/lib/ids/DeterministicChunkIdsPlugin.js +70 -0
  2277. package/examples/node_modules/webpack/lib/ids/DeterministicModuleIdsPlugin.js +93 -0
  2278. package/examples/node_modules/webpack/lib/ids/HashedModuleIdsPlugin.js +77 -0
  2279. package/examples/node_modules/webpack/lib/ids/IdHelpers.js +477 -0
  2280. package/examples/node_modules/webpack/lib/ids/NamedChunkIdsPlugin.js +81 -0
  2281. package/examples/node_modules/webpack/lib/ids/NamedModuleIdsPlugin.js +58 -0
  2282. package/examples/node_modules/webpack/lib/ids/NaturalChunkIdsPlugin.js +33 -0
  2283. package/examples/node_modules/webpack/lib/ids/NaturalModuleIdsPlugin.js +39 -0
  2284. package/examples/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js +80 -0
  2285. package/examples/node_modules/webpack/lib/ids/OccurrenceModuleIdsPlugin.js +159 -0
  2286. package/examples/node_modules/webpack/lib/ids/SyncModuleIdsPlugin.js +140 -0
  2287. package/examples/node_modules/webpack/lib/index.js +579 -0
  2288. package/examples/node_modules/webpack/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +154 -0
  2289. package/examples/node_modules/webpack/lib/javascript/BasicEvaluatedExpression.js +480 -0
  2290. package/examples/node_modules/webpack/lib/javascript/ChunkHelpers.js +33 -0
  2291. package/examples/node_modules/webpack/lib/javascript/CommonJsChunkFormatPlugin.js +172 -0
  2292. package/examples/node_modules/webpack/lib/javascript/EnableChunkLoadingPlugin.js +118 -0
  2293. package/examples/node_modules/webpack/lib/javascript/JavascriptGenerator.js +225 -0
  2294. package/examples/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js +1370 -0
  2295. package/examples/node_modules/webpack/lib/javascript/JavascriptParser.js +3776 -0
  2296. package/examples/node_modules/webpack/lib/javascript/JavascriptParserHelpers.js +107 -0
  2297. package/examples/node_modules/webpack/lib/javascript/StartupHelpers.js +132 -0
  2298. package/examples/node_modules/webpack/lib/json/JsonData.js +41 -0
  2299. package/examples/node_modules/webpack/lib/json/JsonGenerator.js +191 -0
  2300. package/examples/node_modules/webpack/lib/json/JsonModulesPlugin.js +50 -0
  2301. package/examples/node_modules/webpack/lib/json/JsonParser.js +57 -0
  2302. package/examples/node_modules/webpack/lib/library/AbstractLibraryPlugin.js +297 -0
  2303. package/examples/node_modules/webpack/lib/library/AmdLibraryPlugin.js +162 -0
  2304. package/examples/node_modules/webpack/lib/library/AssignLibraryPlugin.js +375 -0
  2305. package/examples/node_modules/webpack/lib/library/EnableLibraryPlugin.js +248 -0
  2306. package/examples/node_modules/webpack/lib/library/ExportPropertyLibraryPlugin.js +113 -0
  2307. package/examples/node_modules/webpack/lib/library/JsonpLibraryPlugin.js +88 -0
  2308. package/examples/node_modules/webpack/lib/library/ModuleLibraryPlugin.js +104 -0
  2309. package/examples/node_modules/webpack/lib/library/SystemLibraryPlugin.js +233 -0
  2310. package/examples/node_modules/webpack/lib/library/UmdLibraryPlugin.js +324 -0
  2311. package/examples/node_modules/webpack/lib/logging/Logger.js +163 -0
  2312. package/examples/node_modules/webpack/lib/logging/createConsoleLogger.js +228 -0
  2313. package/examples/node_modules/webpack/lib/logging/runtime.js +46 -0
  2314. package/examples/node_modules/webpack/lib/logging/truncateArgs.js +82 -0
  2315. package/examples/node_modules/webpack/lib/node/CommonJsChunkLoadingPlugin.js +105 -0
  2316. package/examples/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js +60 -0
  2317. package/examples/node_modules/webpack/lib/node/NodeSourcePlugin.js +19 -0
  2318. package/examples/node_modules/webpack/lib/node/NodeTargetPlugin.js +81 -0
  2319. package/examples/node_modules/webpack/lib/node/NodeTemplatePlugin.js +33 -0
  2320. package/examples/node_modules/webpack/lib/node/NodeWatchFileSystem.js +194 -0
  2321. package/examples/node_modules/webpack/lib/node/ReadFileChunkLoadingRuntimeModule.js +291 -0
  2322. package/examples/node_modules/webpack/lib/node/ReadFileCompileAsyncWasmPlugin.js +107 -0
  2323. package/examples/node_modules/webpack/lib/node/ReadFileCompileWasmPlugin.js +93 -0
  2324. package/examples/node_modules/webpack/lib/node/RequireChunkLoadingRuntimeModule.js +238 -0
  2325. package/examples/node_modules/webpack/lib/node/nodeConsole.js +143 -0
  2326. package/examples/node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js +92 -0
  2327. package/examples/node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js +329 -0
  2328. package/examples/node_modules/webpack/lib/optimize/ConcatenatedModule.js +1879 -0
  2329. package/examples/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js +85 -0
  2330. package/examples/node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js +118 -0
  2331. package/examples/node_modules/webpack/lib/optimize/InnerGraph.js +346 -0
  2332. package/examples/node_modules/webpack/lib/optimize/InnerGraphPlugin.js +368 -0
  2333. package/examples/node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js +256 -0
  2334. package/examples/node_modules/webpack/lib/optimize/MangleExportsPlugin.js +177 -0
  2335. package/examples/node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js +115 -0
  2336. package/examples/node_modules/webpack/lib/optimize/MinChunkSizePlugin.js +113 -0
  2337. package/examples/node_modules/webpack/lib/optimize/MinMaxSizeWarning.js +30 -0
  2338. package/examples/node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js +866 -0
  2339. package/examples/node_modules/webpack/lib/optimize/RealContentHashPlugin.js +408 -0
  2340. package/examples/node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js +57 -0
  2341. package/examples/node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js +121 -0
  2342. package/examples/node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js +44 -0
  2343. package/examples/node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js +337 -0
  2344. package/examples/node_modules/webpack/lib/optimize/SplitChunksPlugin.js +1723 -0
  2345. package/examples/node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js +32 -0
  2346. package/examples/node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js +35 -0
  2347. package/examples/node_modules/webpack/lib/performance/NoAsyncChunksWarning.js +20 -0
  2348. package/examples/node_modules/webpack/lib/performance/SizeLimitsPlugin.js +165 -0
  2349. package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +44 -0
  2350. package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchPreloadPlugin.js +95 -0
  2351. package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +52 -0
  2352. package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +49 -0
  2353. package/examples/node_modules/webpack/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +43 -0
  2354. package/examples/node_modules/webpack/lib/rules/BasicEffectRulePlugin.js +39 -0
  2355. package/examples/node_modules/webpack/lib/rules/BasicMatcherRulePlugin.js +47 -0
  2356. package/examples/node_modules/webpack/lib/rules/ObjectMatcherRulePlugin.js +47 -0
  2357. package/examples/node_modules/webpack/lib/rules/RuleSetCompiler.js +379 -0
  2358. package/examples/node_modules/webpack/lib/rules/UseEffectRulePlugin.js +194 -0
  2359. package/examples/node_modules/webpack/lib/runtime/AsyncModuleRuntimeModule.js +156 -0
  2360. package/examples/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js +69 -0
  2361. package/examples/node_modules/webpack/lib/runtime/ChunkNameRuntimeModule.js +27 -0
  2362. package/examples/node_modules/webpack/lib/runtime/CompatGetDefaultExportRuntimeModule.js +37 -0
  2363. package/examples/node_modules/webpack/lib/runtime/CompatRuntimeModule.js +78 -0
  2364. package/examples/node_modules/webpack/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +66 -0
  2365. package/examples/node_modules/webpack/lib/runtime/CreateScriptRuntimeModule.js +36 -0
  2366. package/examples/node_modules/webpack/lib/runtime/CreateScriptUrlRuntimeModule.js +36 -0
  2367. package/examples/node_modules/webpack/lib/runtime/DefinePropertyGettersRuntimeModule.js +39 -0
  2368. package/examples/node_modules/webpack/lib/runtime/EnsureChunkRuntimeModule.js +54 -0
  2369. package/examples/node_modules/webpack/lib/runtime/GetChunkFilenameRuntimeModule.js +282 -0
  2370. package/examples/node_modules/webpack/lib/runtime/GetFullHashRuntimeModule.js +29 -0
  2371. package/examples/node_modules/webpack/lib/runtime/GetMainFilenameRuntimeModule.js +44 -0
  2372. package/examples/node_modules/webpack/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +76 -0
  2373. package/examples/node_modules/webpack/lib/runtime/GlobalRuntimeModule.js +47 -0
  2374. package/examples/node_modules/webpack/lib/runtime/HasOwnPropertyRuntimeModule.js +32 -0
  2375. package/examples/node_modules/webpack/lib/runtime/HelperRuntimeModule.js +18 -0
  2376. package/examples/node_modules/webpack/lib/runtime/LoadScriptRuntimeModule.js +158 -0
  2377. package/examples/node_modules/webpack/lib/runtime/MakeNamespaceObjectRuntimeModule.js +36 -0
  2378. package/examples/node_modules/webpack/lib/runtime/OnChunksLoadedRuntimeModule.js +76 -0
  2379. package/examples/node_modules/webpack/lib/runtime/PublicPathRuntimeModule.js +30 -0
  2380. package/examples/node_modules/webpack/lib/runtime/RelativeUrlRuntimeModule.js +41 -0
  2381. package/examples/node_modules/webpack/lib/runtime/RuntimeIdRuntimeModule.js +28 -0
  2382. package/examples/node_modules/webpack/lib/runtime/StartupChunkDependenciesPlugin.js +74 -0
  2383. package/examples/node_modules/webpack/lib/runtime/StartupChunkDependenciesRuntimeModule.js +67 -0
  2384. package/examples/node_modules/webpack/lib/runtime/StartupEntrypointRuntimeModule.js +50 -0
  2385. package/examples/node_modules/webpack/lib/runtime/SystemContextRuntimeModule.js +25 -0
  2386. package/examples/node_modules/webpack/lib/schemes/DataUriPlugin.js +56 -0
  2387. package/examples/node_modules/webpack/lib/schemes/FileUriPlugin.js +49 -0
  2388. package/examples/node_modules/webpack/lib/schemes/HttpUriPlugin.js +1118 -0
  2389. package/examples/node_modules/webpack/lib/serialization/ArraySerializer.js +22 -0
  2390. package/examples/node_modules/webpack/lib/serialization/BinaryMiddleware.js +950 -0
  2391. package/examples/node_modules/webpack/lib/serialization/DateObjectSerializer.js +16 -0
  2392. package/examples/node_modules/webpack/lib/serialization/ErrorObjectSerializer.js +27 -0
  2393. package/examples/node_modules/webpack/lib/serialization/FileMiddleware.js +665 -0
  2394. package/examples/node_modules/webpack/lib/serialization/MapObjectSerializer.js +31 -0
  2395. package/examples/node_modules/webpack/lib/serialization/NullPrototypeObjectSerializer.js +33 -0
  2396. package/examples/node_modules/webpack/lib/serialization/ObjectMiddleware.js +734 -0
  2397. package/examples/node_modules/webpack/lib/serialization/PlainObjectSerializer.js +80 -0
  2398. package/examples/node_modules/webpack/lib/serialization/RegExpObjectSerializer.js +17 -0
  2399. package/examples/node_modules/webpack/lib/serialization/Serializer.js +46 -0
  2400. package/examples/node_modules/webpack/lib/serialization/SerializerMiddleware.js +153 -0
  2401. package/examples/node_modules/webpack/lib/serialization/SetObjectSerializer.js +24 -0
  2402. package/examples/node_modules/webpack/lib/serialization/SingleItemMiddleware.js +34 -0
  2403. package/examples/node_modules/webpack/lib/serialization/types.js +13 -0
  2404. package/examples/node_modules/webpack/lib/sharing/ConsumeSharedFallbackDependency.js +30 -0
  2405. package/examples/node_modules/webpack/lib/sharing/ConsumeSharedModule.js +251 -0
  2406. package/examples/node_modules/webpack/lib/sharing/ConsumeSharedPlugin.js +319 -0
  2407. package/examples/node_modules/webpack/lib/sharing/ConsumeSharedRuntimeModule.js +360 -0
  2408. package/examples/node_modules/webpack/lib/sharing/ProvideForSharedDependency.js +34 -0
  2409. package/examples/node_modules/webpack/lib/sharing/ProvideSharedDependency.js +63 -0
  2410. package/examples/node_modules/webpack/lib/sharing/ProvideSharedModule.js +184 -0
  2411. package/examples/node_modules/webpack/lib/sharing/ProvideSharedModuleFactory.js +35 -0
  2412. package/examples/node_modules/webpack/lib/sharing/ProvideSharedPlugin.js +237 -0
  2413. package/examples/node_modules/webpack/lib/sharing/SharePlugin.js +92 -0
  2414. package/examples/node_modules/webpack/lib/sharing/ShareRuntimeModule.js +141 -0
  2415. package/examples/node_modules/webpack/lib/sharing/resolveMatchedConfigs.js +91 -0
  2416. package/examples/node_modules/webpack/lib/sharing/utils.js +90 -0
  2417. package/examples/node_modules/webpack/lib/stats/DefaultStatsFactoryPlugin.js +2398 -0
  2418. package/examples/node_modules/webpack/lib/stats/DefaultStatsPresetPlugin.js +326 -0
  2419. package/examples/node_modules/webpack/lib/stats/DefaultStatsPrinterPlugin.js +1380 -0
  2420. package/examples/node_modules/webpack/lib/stats/StatsFactory.js +292 -0
  2421. package/examples/node_modules/webpack/lib/stats/StatsPrinter.js +249 -0
  2422. package/examples/node_modules/webpack/lib/util/ArrayHelpers.js +44 -0
  2423. package/examples/node_modules/webpack/lib/util/ArrayQueue.js +111 -0
  2424. package/examples/node_modules/webpack/lib/util/AsyncQueue.js +373 -0
  2425. package/examples/node_modules/webpack/lib/util/Hash.js +35 -0
  2426. package/examples/node_modules/webpack/lib/util/IterableHelpers.js +46 -0
  2427. package/examples/node_modules/webpack/lib/util/LazyBucketSortedSet.js +236 -0
  2428. package/examples/node_modules/webpack/lib/util/LazySet.js +208 -0
  2429. package/examples/node_modules/webpack/lib/util/MapHelpers.js +22 -0
  2430. package/examples/node_modules/webpack/lib/util/ParallelismFactorCalculator.js +59 -0
  2431. package/examples/node_modules/webpack/lib/util/Queue.js +51 -0
  2432. package/examples/node_modules/webpack/lib/util/Semaphore.js +54 -0
  2433. package/examples/node_modules/webpack/lib/util/SetHelpers.js +94 -0
  2434. package/examples/node_modules/webpack/lib/util/SortableSet.js +160 -0
  2435. package/examples/node_modules/webpack/lib/util/StackedCacheMap.js +110 -0
  2436. package/examples/node_modules/webpack/lib/util/StackedMap.js +166 -0
  2437. package/examples/node_modules/webpack/lib/util/StringXor.js +55 -0
  2438. package/examples/node_modules/webpack/lib/util/TupleQueue.js +61 -0
  2439. package/examples/node_modules/webpack/lib/util/TupleSet.js +150 -0
  2440. package/examples/node_modules/webpack/lib/util/URLAbsoluteSpecifier.js +87 -0
  2441. package/examples/node_modules/webpack/lib/util/WeakTupleMap.js +171 -0
  2442. package/examples/node_modules/webpack/lib/util/binarySearchBounds.js +86 -0
  2443. package/examples/node_modules/webpack/lib/util/cleverMerge.js +568 -0
  2444. package/examples/node_modules/webpack/lib/util/comparators.js +459 -0
  2445. package/examples/node_modules/webpack/lib/util/compileBooleanMatcher.js +206 -0
  2446. package/examples/node_modules/webpack/lib/util/create-schema-validation.js +28 -0
  2447. package/examples/node_modules/webpack/lib/util/createHash.js +171 -0
  2448. package/examples/node_modules/webpack/lib/util/deprecation.js +264 -0
  2449. package/examples/node_modules/webpack/lib/util/deterministicGrouping.js +508 -0
  2450. package/examples/node_modules/webpack/lib/util/extractUrlAndGlobal.js +18 -0
  2451. package/examples/node_modules/webpack/lib/util/findGraphRoots.js +229 -0
  2452. package/examples/node_modules/webpack/lib/util/fs.js +337 -0
  2453. package/examples/node_modules/webpack/lib/util/hash/BatchedHash.js +68 -0
  2454. package/examples/node_modules/webpack/lib/util/hash/md4.js +20 -0
  2455. package/examples/node_modules/webpack/lib/util/hash/wasm-hash.js +163 -0
  2456. package/examples/node_modules/webpack/lib/util/hash/xxhash64.js +20 -0
  2457. package/examples/node_modules/webpack/lib/util/identifier.js +377 -0
  2458. package/examples/node_modules/webpack/lib/util/internalSerializables.js +211 -0
  2459. package/examples/node_modules/webpack/lib/util/makeSerializable.js +30 -0
  2460. package/examples/node_modules/webpack/lib/util/memoize.js +32 -0
  2461. package/examples/node_modules/webpack/lib/util/nonNumericOnlyHash.js +22 -0
  2462. package/examples/node_modules/webpack/lib/util/numberHash.js +45 -0
  2463. package/examples/node_modules/webpack/lib/util/objectToMap.js +15 -0
  2464. package/examples/node_modules/webpack/lib/util/processAsyncTree.js +62 -0
  2465. package/examples/node_modules/webpack/lib/util/propertyAccess.js +78 -0
  2466. package/examples/node_modules/webpack/lib/util/registerExternalSerializer.js +337 -0
  2467. package/examples/node_modules/webpack/lib/util/runtime.js +623 -0
  2468. package/examples/node_modules/webpack/lib/util/semver.js +484 -0
  2469. package/examples/node_modules/webpack/lib/util/serialization.js +128 -0
  2470. package/examples/node_modules/webpack/lib/util/smartGrouping.js +206 -0
  2471. package/examples/node_modules/webpack/lib/util/source.js +61 -0
  2472. package/examples/node_modules/webpack/lib/validateSchema.js +175 -0
  2473. package/examples/node_modules/webpack/lib/wasm/EnableWasmLoadingPlugin.js +118 -0
  2474. package/examples/node_modules/webpack/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +78 -0
  2475. package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js +53 -0
  2476. package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +194 -0
  2477. package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +198 -0
  2478. package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js +75 -0
  2479. package/examples/node_modules/webpack/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +16 -0
  2480. package/examples/node_modules/webpack/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +372 -0
  2481. package/examples/node_modules/webpack/lib/wasm-sync/WasmFinalizeExportsPlugin.js +82 -0
  2482. package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyGenerator.js +501 -0
  2483. package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyInInitialChunkError.js +106 -0
  2484. package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +216 -0
  2485. package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js +142 -0
  2486. package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyParser.js +192 -0
  2487. package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyUtils.js +65 -0
  2488. package/examples/node_modules/webpack/lib/web/FetchCompileAsyncWasmPlugin.js +62 -0
  2489. package/examples/node_modules/webpack/lib/web/FetchCompileWasmPlugin.js +71 -0
  2490. package/examples/node_modules/webpack/lib/web/JsonpChunkLoadingPlugin.js +91 -0
  2491. package/examples/node_modules/webpack/lib/web/JsonpChunkLoadingRuntimeModule.js +450 -0
  2492. package/examples/node_modules/webpack/lib/web/JsonpTemplatePlugin.js +38 -0
  2493. package/examples/node_modules/webpack/lib/webpack.js +171 -0
  2494. package/examples/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingPlugin.js +94 -0
  2495. package/examples/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +238 -0
  2496. package/examples/node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js +25 -0
  2497. package/examples/node_modules/webpack/module.d.ts +215 -0
  2498. package/examples/node_modules/webpack/package.json +242 -0
  2499. package/examples/node_modules/webpack/schemas/WebpackOptions.check.d.ts +7 -0
  2500. package/examples/node_modules/webpack/schemas/WebpackOptions.check.js +6 -0
  2501. package/examples/node_modules/webpack/schemas/WebpackOptions.json +5321 -0
  2502. package/examples/node_modules/webpack/schemas/_container.json +155 -0
  2503. package/examples/node_modules/webpack/schemas/_sharing.json +118 -0
  2504. package/examples/node_modules/webpack/schemas/plugins/BannerPlugin.check.d.ts +7 -0
  2505. package/examples/node_modules/webpack/schemas/plugins/BannerPlugin.check.js +6 -0
  2506. package/examples/node_modules/webpack/schemas/plugins/BannerPlugin.json +103 -0
  2507. package/examples/node_modules/webpack/schemas/plugins/DllPlugin.check.d.ts +7 -0
  2508. package/examples/node_modules/webpack/schemas/plugins/DllPlugin.check.js +6 -0
  2509. package/examples/node_modules/webpack/schemas/plugins/DllPlugin.json +36 -0
  2510. package/examples/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.d.ts +7 -0
  2511. package/examples/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.js +6 -0
  2512. package/examples/node_modules/webpack/schemas/plugins/DllReferencePlugin.json +206 -0
  2513. package/examples/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.d.ts +7 -0
  2514. package/examples/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.js +6 -0
  2515. package/examples/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json +44 -0
  2516. package/examples/node_modules/webpack/schemas/plugins/IgnorePlugin.check.d.ts +7 -0
  2517. package/examples/node_modules/webpack/schemas/plugins/IgnorePlugin.check.js +6 -0
  2518. package/examples/node_modules/webpack/schemas/plugins/IgnorePlugin.json +34 -0
  2519. package/examples/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.d.ts +7 -0
  2520. package/examples/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.js +6 -0
  2521. package/examples/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.json +12 -0
  2522. package/examples/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.d.ts +7 -0
  2523. package/examples/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.js +6 -0
  2524. package/examples/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json +27 -0
  2525. package/examples/node_modules/webpack/schemas/plugins/ProgressPlugin.check.d.ts +7 -0
  2526. package/examples/node_modules/webpack/schemas/plugins/ProgressPlugin.check.js +6 -0
  2527. package/examples/node_modules/webpack/schemas/plugins/ProgressPlugin.json +65 -0
  2528. package/examples/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +7 -0
  2529. package/examples/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.js +6 -0
  2530. package/examples/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json +143 -0
  2531. package/examples/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.d.ts +7 -0
  2532. package/examples/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.js +6 -0
  2533. package/examples/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json +25 -0
  2534. package/examples/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +7 -0
  2535. package/examples/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.js +6 -0
  2536. package/examples/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.json +3 -0
  2537. package/examples/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +7 -0
  2538. package/examples/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +6 -0
  2539. package/examples/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.json +3 -0
  2540. package/examples/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.d.ts +7 -0
  2541. package/examples/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.js +6 -0
  2542. package/examples/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.json +3 -0
  2543. package/examples/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +7 -0
  2544. package/examples/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +6 -0
  2545. package/examples/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.json +3 -0
  2546. package/examples/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.d.ts +7 -0
  2547. package/examples/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.js +6 -0
  2548. package/examples/node_modules/webpack/schemas/plugins/container/ContainerPlugin.json +286 -0
  2549. package/examples/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +7 -0
  2550. package/examples/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.js +6 -0
  2551. package/examples/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.json +128 -0
  2552. package/examples/node_modules/webpack/schemas/plugins/container/ExternalsType.check.d.ts +7 -0
  2553. package/examples/node_modules/webpack/schemas/plugins/container/ExternalsType.check.js +6 -0
  2554. package/examples/node_modules/webpack/schemas/plugins/container/ExternalsType.json +3 -0
  2555. package/examples/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +7 -0
  2556. package/examples/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.js +6 -0
  2557. package/examples/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.json +513 -0
  2558. package/examples/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.d.ts +7 -0
  2559. package/examples/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.js +6 -0
  2560. package/examples/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.json +3 -0
  2561. package/examples/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.d.ts +7 -0
  2562. package/examples/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.js +6 -0
  2563. package/examples/node_modules/webpack/schemas/plugins/css/CssParserOptions.json +3 -0
  2564. package/examples/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.d.ts +7 -0
  2565. package/examples/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.js +6 -0
  2566. package/examples/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json +12 -0
  2567. package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +7 -0
  2568. package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +6 -0
  2569. package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.json +11 -0
  2570. package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +7 -0
  2571. package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +6 -0
  2572. package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.json +11 -0
  2573. package/examples/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +7 -0
  2574. package/examples/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +6 -0
  2575. package/examples/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json +23 -0
  2576. package/examples/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +7 -0
  2577. package/examples/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +6 -0
  2578. package/examples/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json +21 -0
  2579. package/examples/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +7 -0
  2580. package/examples/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.js +6 -0
  2581. package/examples/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json +20 -0
  2582. package/examples/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +7 -0
  2583. package/examples/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.js +6 -0
  2584. package/examples/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.json +74 -0
  2585. package/examples/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +7 -0
  2586. package/examples/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +6 -0
  2587. package/examples/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json +120 -0
  2588. package/examples/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +7 -0
  2589. package/examples/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js +6 -0
  2590. package/examples/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.json +94 -0
  2591. package/examples/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.d.ts +7 -0
  2592. package/examples/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.js +6 -0
  2593. package/examples/node_modules/webpack/schemas/plugins/sharing/SharePlugin.json +133 -0
  2594. package/examples/node_modules/webpack/types.d.ts +13072 -0
  2595. package/examples/node_modules/webpack-cli/README.md +45 -14
  2596. package/examples/node_modules/webpack-cli/bin/cli.js +9 -32
  2597. package/examples/node_modules/webpack-cli/lib/bootstrap.js +12 -15
  2598. package/examples/node_modules/webpack-cli/lib/index.js +3 -3
  2599. package/examples/node_modules/webpack-cli/lib/plugins/CLIPlugin.js +101 -68
  2600. package/examples/node_modules/webpack-cli/lib/utils/dynamic-import-loader.js +7 -7
  2601. package/examples/node_modules/webpack-cli/lib/webpack-cli.js +2093 -1553
  2602. package/examples/node_modules/webpack-cli/node_modules/commander/CHANGELOG.md +440 -0
  2603. package/examples/node_modules/webpack-cli/node_modules/commander/LICENSE +22 -0
  2604. package/examples/node_modules/webpack-cli/node_modules/commander/Readme.md +917 -0
  2605. package/examples/node_modules/{commander → webpack-cli/node_modules/commander}/esm.mjs +0 -0
  2606. package/examples/node_modules/webpack-cli/node_modules/commander/index.js +2217 -0
  2607. package/examples/node_modules/{commander → webpack-cli/node_modules/commander}/package-support.json +0 -0
  2608. package/examples/node_modules/webpack-cli/node_modules/commander/package.json +68 -0
  2609. package/examples/node_modules/webpack-cli/node_modules/commander/typings/index.d.ts +627 -0
  2610. package/examples/node_modules/webpack-cli/package.json +30 -63
  2611. package/examples/node_modules/webpack-merge/CHANGELOG.md +5 -0
  2612. package/examples/node_modules/webpack-merge/README.md +3 -3
  2613. package/examples/node_modules/webpack-merge/dist/index.d.ts +4 -4
  2614. package/examples/node_modules/webpack-merge/dist/index.js +8 -7
  2615. package/examples/node_modules/webpack-merge/dist/index.js.map +1 -1
  2616. package/examples/node_modules/webpack-merge/dist/join-arrays.js +7 -6
  2617. package/examples/node_modules/webpack-merge/dist/join-arrays.js.map +1 -1
  2618. package/examples/node_modules/webpack-merge/dist/types.d.ts +1 -0
  2619. package/examples/node_modules/webpack-merge/dist/unique.js +5 -4
  2620. package/examples/node_modules/webpack-merge/dist/unique.js.map +1 -1
  2621. package/examples/node_modules/webpack-merge/dist/utils.d.ts +1 -1
  2622. package/examples/node_modules/webpack-merge/package.json +37 -65
  2623. package/examples/node_modules/webpack-sources/LICENSE +21 -0
  2624. package/examples/node_modules/webpack-sources/README.md +228 -0
  2625. package/examples/node_modules/webpack-sources/lib/CachedSource.js +274 -0
  2626. package/examples/node_modules/webpack-sources/lib/CompatSource.js +66 -0
  2627. package/examples/node_modules/webpack-sources/lib/ConcatSource.js +319 -0
  2628. package/examples/node_modules/webpack-sources/lib/OriginalSource.js +135 -0
  2629. package/examples/node_modules/webpack-sources/lib/PrefixSource.js +114 -0
  2630. package/examples/node_modules/webpack-sources/lib/RawSource.js +81 -0
  2631. package/examples/node_modules/webpack-sources/lib/ReplaceSource.js +467 -0
  2632. package/examples/node_modules/webpack-sources/lib/SizeOnlySource.js +42 -0
  2633. package/examples/node_modules/webpack-sources/lib/Source.js +38 -0
  2634. package/examples/node_modules/webpack-sources/lib/SourceMapSource.js +247 -0
  2635. package/examples/node_modules/webpack-sources/lib/helpers/createMappingsSerializer.js +206 -0
  2636. package/examples/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js +129 -0
  2637. package/examples/node_modules/webpack-sources/lib/helpers/getGeneratedSourceInfo.js +33 -0
  2638. package/examples/node_modules/webpack-sources/lib/helpers/getName.js +14 -0
  2639. package/examples/node_modules/webpack-sources/lib/helpers/getSource.js +17 -0
  2640. package/examples/node_modules/webpack-sources/lib/helpers/readMappings.js +116 -0
  2641. package/examples/node_modules/webpack-sources/lib/helpers/splitIntoLines.js +21 -0
  2642. package/examples/node_modules/webpack-sources/lib/helpers/splitIntoPotentialTokens.js +41 -0
  2643. package/examples/node_modules/webpack-sources/lib/helpers/streamAndGetSourceAndMap.js +102 -0
  2644. package/examples/node_modules/webpack-sources/lib/helpers/streamChunks.js +36 -0
  2645. package/examples/node_modules/webpack-sources/lib/helpers/streamChunksOfCombinedSourceMap.js +329 -0
  2646. package/examples/node_modules/webpack-sources/lib/helpers/streamChunksOfRawSource.js +34 -0
  2647. package/examples/node_modules/webpack-sources/lib/helpers/streamChunksOfSourceMap.js +412 -0
  2648. package/examples/node_modules/webpack-sources/lib/index.js +30 -0
  2649. package/examples/node_modules/webpack-sources/package.json +58 -0
  2650. package/examples/node_modules/which/package.json +22 -55
  2651. package/examples/node_modules/wildcard/package.json +22 -51
  2652. package/lib/browser/math.js +6 -6
  2653. package/lib/browser/math.js.map +1 -1
  2654. package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  2655. package/lib/cjs/expression/node/FunctionNode.js +30 -8
  2656. package/lib/cjs/function/arithmetic/sign.js +4 -0
  2657. package/lib/cjs/function/string/format.js +3 -0
  2658. package/lib/cjs/header.js +2 -2
  2659. package/lib/cjs/type/unit/Unit.js +67 -79
  2660. package/lib/cjs/utils/string.js +17 -4
  2661. package/lib/cjs/version.js +1 -1
  2662. package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
  2663. package/lib/esm/expression/node/FunctionNode.js +29 -9
  2664. package/lib/esm/function/arithmetic/sign.js +4 -0
  2665. package/lib/esm/function/string/format.js +3 -0
  2666. package/lib/esm/type/unit/Unit.js +67 -79
  2667. package/lib/esm/utils/string.js +18 -4
  2668. package/lib/esm/version.js +1 -1
  2669. package/package.json +2 -2
  2670. package/examples/node_modules/@discoveryjs/json-ext/CHANGELOG.md +0 -42
  2671. package/examples/node_modules/@webpack-cli/configtest/CHANGELOG.md +0 -18
  2672. package/examples/node_modules/@webpack-cli/configtest/LICENSE +0 -20
  2673. package/examples/node_modules/@webpack-cli/info/CHANGELOG.md +0 -61
  2674. package/examples/node_modules/@webpack-cli/info/LICENSE +0 -20
  2675. package/examples/node_modules/@webpack-cli/serve/CHANGELOG.md +0 -93
  2676. package/examples/node_modules/@webpack-cli/serve/LICENSE +0 -20
  2677. package/examples/node_modules/@webpack-cli/serve/lib/startDevServer.d.ts +0 -12
  2678. package/examples/node_modules/@webpack-cli/serve/lib/startDevServer.js +0 -113
  2679. package/examples/node_modules/ansi-colors/LICENSE +0 -21
  2680. package/examples/node_modules/ansi-colors/README.md +0 -315
  2681. package/examples/node_modules/ansi-colors/index.js +0 -177
  2682. package/examples/node_modules/ansi-colors/package.json +0 -152
  2683. package/examples/node_modules/ansi-colors/symbols.js +0 -70
  2684. package/examples/node_modules/ansi-colors/types/index.d.ts +0 -161
  2685. package/examples/node_modules/enquirer/CHANGELOG.md +0 -135
  2686. package/examples/node_modules/enquirer/LICENSE +0 -21
  2687. package/examples/node_modules/enquirer/README.md +0 -1752
  2688. package/examples/node_modules/enquirer/index.d.ts +0 -151
  2689. package/examples/node_modules/enquirer/index.js +0 -250
  2690. package/examples/node_modules/enquirer/lib/ansi.js +0 -116
  2691. package/examples/node_modules/enquirer/lib/combos.js +0 -75
  2692. package/examples/node_modules/enquirer/lib/completer.js +0 -52
  2693. package/examples/node_modules/enquirer/lib/interpolate.js +0 -266
  2694. package/examples/node_modules/enquirer/lib/keypress.js +0 -243
  2695. package/examples/node_modules/enquirer/lib/placeholder.js +0 -63
  2696. package/examples/node_modules/enquirer/lib/prompt.js +0 -485
  2697. package/examples/node_modules/enquirer/lib/prompts/autocomplete.js +0 -113
  2698. package/examples/node_modules/enquirer/lib/prompts/basicauth.js +0 -41
  2699. package/examples/node_modules/enquirer/lib/prompts/confirm.js +0 -13
  2700. package/examples/node_modules/enquirer/lib/prompts/editable.js +0 -136
  2701. package/examples/node_modules/enquirer/lib/prompts/form.js +0 -196
  2702. package/examples/node_modules/enquirer/lib/prompts/index.js +0 -28
  2703. package/examples/node_modules/enquirer/lib/prompts/input.js +0 -55
  2704. package/examples/node_modules/enquirer/lib/prompts/invisible.js +0 -11
  2705. package/examples/node_modules/enquirer/lib/prompts/list.js +0 -36
  2706. package/examples/node_modules/enquirer/lib/prompts/multiselect.js +0 -11
  2707. package/examples/node_modules/enquirer/lib/prompts/numeral.js +0 -1
  2708. package/examples/node_modules/enquirer/lib/prompts/password.js +0 -18
  2709. package/examples/node_modules/enquirer/lib/prompts/quiz.js +0 -37
  2710. package/examples/node_modules/enquirer/lib/prompts/scale.js +0 -237
  2711. package/examples/node_modules/enquirer/lib/prompts/select.js +0 -139
  2712. package/examples/node_modules/enquirer/lib/prompts/snippet.js +0 -185
  2713. package/examples/node_modules/enquirer/lib/prompts/sort.js +0 -37
  2714. package/examples/node_modules/enquirer/lib/prompts/survey.js +0 -163
  2715. package/examples/node_modules/enquirer/lib/prompts/text.js +0 -1
  2716. package/examples/node_modules/enquirer/lib/prompts/toggle.js +0 -109
  2717. package/examples/node_modules/enquirer/lib/render.js +0 -33
  2718. package/examples/node_modules/enquirer/lib/roles.js +0 -46
  2719. package/examples/node_modules/enquirer/lib/state.js +0 -69
  2720. package/examples/node_modules/enquirer/lib/styles.js +0 -144
  2721. package/examples/node_modules/enquirer/lib/symbols.js +0 -66
  2722. package/examples/node_modules/enquirer/lib/theme.js +0 -11
  2723. package/examples/node_modules/enquirer/lib/timer.js +0 -38
  2724. package/examples/node_modules/enquirer/lib/types/array.js +0 -658
  2725. package/examples/node_modules/enquirer/lib/types/auth.js +0 -29
  2726. package/examples/node_modules/enquirer/lib/types/boolean.js +0 -88
  2727. package/examples/node_modules/enquirer/lib/types/index.js +0 -7
  2728. package/examples/node_modules/enquirer/lib/types/number.js +0 -86
  2729. package/examples/node_modules/enquirer/lib/types/string.js +0 -185
  2730. package/examples/node_modules/enquirer/lib/utils.js +0 -268
  2731. package/examples/node_modules/enquirer/package.json +0 -148
  2732. package/examples/node_modules/is-core-module/.eslintignore +0 -1
  2733. package/examples/node_modules/is-core-module/.github/FUNDING.yml +0 -12
  2734. package/examples/node_modules/is-core-module/.github/workflows/node-4+.yml +0 -54
  2735. package/examples/node_modules/is-core-module/.github/workflows/node-iojs.yml +0 -58
  2736. package/examples/node_modules/is-core-module/.github/workflows/node-pretest.yml +0 -26
  2737. package/examples/node_modules/is-core-module/.github/workflows/node-zero.yml +0 -58
  2738. package/examples/node_modules/is-core-module/.github/workflows/rebase.yml +0 -15
  2739. package/examples/node_modules/is-core-module/.github/workflows/require-allow-edits.yml +0 -14
  2740. package/examples/node_modules/path-parse/.travis.yml +0 -9
  2741. package/examples/node_modules/path-parse/test.js +0 -77
  2742. package/examples/node_modules/resolve/.eslintignore +0 -1
  2743. package/examples/node_modules/resolve/test/.eslintrc +0 -5
  2744. package/examples/node_modules/signal-exit/CHANGELOG.md +0 -35
  2745. package/examples/node_modules/v8-compile-cache/CHANGELOG.md +0 -53
  2746. package/examples/node_modules/v8-compile-cache/LICENSE +0 -21
  2747. package/examples/node_modules/v8-compile-cache/README.md +0 -55
  2748. package/examples/node_modules/v8-compile-cache/package.json +0 -66
  2749. package/examples/node_modules/v8-compile-cache/v8-compile-cache.js +0 -371
  2750. package/examples/node_modules/webpack-cli/CHANGELOG.md +0 -501
  2751. package/examples/node_modules/webpack-cli/LICENSE +0 -20
  2752. package/examples/node_modules/webpack-cli/lib/utils/__tests__/get-package-manager.test.js +0 -108
  2753. package/examples/node_modules/webpack-cli/lib/utils/__tests__/prompt-installation.test.js +0 -118
  2754. package/examples/node_modules/webpack-cli/lib/utils/capitalize-first-letter.js +0 -9
  2755. package/examples/node_modules/webpack-cli/lib/utils/get-package-manager.js +0 -65
  2756. package/examples/node_modules/webpack-cli/lib/utils/index.js +0 -49
  2757. package/examples/node_modules/webpack-cli/lib/utils/logger.js +0 -11
  2758. package/examples/node_modules/webpack-cli/lib/utils/package-exists.js +0 -9
  2759. package/examples/node_modules/webpack-cli/lib/utils/prompt-installation.js +0 -58
  2760. package/examples/node_modules/webpack-cli/lib/utils/run-command.js +0 -13
  2761. package/examples/node_modules/webpack-cli/lib/utils/to-kebab-case.js +0 -5
@@ -0,0 +1,4667 @@
1
+ /***********************************************************************
2
+
3
+ A JavaScript tokenizer / parser / beautifier / compressor.
4
+ https://github.com/mishoo/UglifyJS2
5
+
6
+ -------------------------------- (C) ---------------------------------
7
+
8
+ Author: Mihai Bazon
9
+ <mihai.bazon@gmail.com>
10
+ http://mihai.bazon.net/blog
11
+
12
+ Distributed under the BSD license:
13
+
14
+ Copyright 2012 (c) Mihai Bazon <mihai.bazon@gmail.com>
15
+
16
+ Redistribution and use in source and binary forms, with or without
17
+ modification, are permitted provided that the following conditions
18
+ are met:
19
+
20
+ * Redistributions of source code must retain the above
21
+ copyright notice, this list of conditions and the following
22
+ disclaimer.
23
+
24
+ * Redistributions in binary form must reproduce the above
25
+ copyright notice, this list of conditions and the following
26
+ disclaimer in the documentation and/or other materials
27
+ provided with the distribution.
28
+
29
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “AS IS” AND ANY
30
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
31
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
33
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
34
+ OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
35
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
36
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
37
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
38
+ TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
39
+ THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
40
+ SUCH DAMAGE.
41
+
42
+ ***********************************************************************/
43
+
44
+ import {
45
+ AST_Accessor,
46
+ AST_Array,
47
+ AST_Arrow,
48
+ AST_Assign,
49
+ AST_BigInt,
50
+ AST_Binary,
51
+ AST_Block,
52
+ AST_BlockStatement,
53
+ AST_Boolean,
54
+ AST_Break,
55
+ AST_Call,
56
+ AST_Catch,
57
+ AST_Chain,
58
+ AST_Class,
59
+ AST_ClassExpression,
60
+ AST_ClassProperty,
61
+ AST_ConciseMethod,
62
+ AST_Conditional,
63
+ AST_Const,
64
+ AST_Constant,
65
+ AST_Debugger,
66
+ AST_Default,
67
+ AST_DefaultAssign,
68
+ AST_DefClass,
69
+ AST_Definitions,
70
+ AST_Defun,
71
+ AST_Destructuring,
72
+ AST_Directive,
73
+ AST_Do,
74
+ AST_Dot,
75
+ AST_DWLoop,
76
+ AST_EmptyStatement,
77
+ AST_Exit,
78
+ AST_Expansion,
79
+ AST_Export,
80
+ AST_False,
81
+ AST_For,
82
+ AST_ForIn,
83
+ AST_Function,
84
+ AST_Hole,
85
+ AST_If,
86
+ AST_Import,
87
+ AST_Infinity,
88
+ AST_IterationStatement,
89
+ AST_LabeledStatement,
90
+ AST_Lambda,
91
+ AST_Let,
92
+ AST_NaN,
93
+ AST_New,
94
+ AST_Node,
95
+ AST_Null,
96
+ AST_Number,
97
+ AST_Object,
98
+ AST_ObjectKeyVal,
99
+ AST_ObjectProperty,
100
+ AST_PrefixedTemplateString,
101
+ AST_PropAccess,
102
+ AST_RegExp,
103
+ AST_Return,
104
+ AST_Scope,
105
+ AST_Sequence,
106
+ AST_SimpleStatement,
107
+ AST_Statement,
108
+ AST_String,
109
+ AST_Sub,
110
+ AST_Switch,
111
+ AST_SwitchBranch,
112
+ AST_Symbol,
113
+ AST_SymbolBlockDeclaration,
114
+ AST_SymbolCatch,
115
+ AST_SymbolClassProperty,
116
+ AST_SymbolDeclaration,
117
+ AST_SymbolDefun,
118
+ AST_SymbolExport,
119
+ AST_SymbolFunarg,
120
+ AST_SymbolLambda,
121
+ AST_SymbolLet,
122
+ AST_SymbolMethod,
123
+ AST_SymbolRef,
124
+ AST_SymbolVar,
125
+ AST_TemplateString,
126
+ AST_This,
127
+ AST_Toplevel,
128
+ AST_True,
129
+ AST_Try,
130
+ AST_Unary,
131
+ AST_UnaryPostfix,
132
+ AST_UnaryPrefix,
133
+ AST_Undefined,
134
+ AST_Var,
135
+ AST_VarDef,
136
+ AST_While,
137
+ AST_With,
138
+ AST_Yield,
139
+
140
+ TreeTransformer,
141
+ TreeWalker,
142
+ walk,
143
+ walk_abort,
144
+ walk_parent,
145
+
146
+ _INLINE,
147
+ _NOINLINE,
148
+ _PURE
149
+ } from "../ast.js";
150
+ import {
151
+ defaults,
152
+ HOP,
153
+ keep_name,
154
+ make_node,
155
+ makePredicate,
156
+ map_add,
157
+ MAP,
158
+ member,
159
+ remove,
160
+ return_false,
161
+ return_true,
162
+ regexp_source_fix,
163
+ has_annotation
164
+ } from "../utils/index.js";
165
+ import { first_in_statement } from "../utils/first_in_statement.js";
166
+ import { equivalent_to } from "../equivalent-to.js";
167
+ import {
168
+ is_basic_identifier_string,
169
+ JS_Parse_Error,
170
+ parse,
171
+ PRECEDENCE,
172
+ } from "../parse.js";
173
+ import { OutputStream } from "../output.js";
174
+ import {
175
+ base54,
176
+ SymbolDef,
177
+ } from "../scope.js";
178
+ import "../size.js";
179
+
180
+ import "./evaluate.js";
181
+ import "./drop-side-effect-free.js";
182
+ import "./reduce-vars.js";
183
+ import {
184
+ is_undeclared_ref,
185
+ lazy_op,
186
+ is_nullish,
187
+ is_undefined,
188
+ is_lhs,
189
+ aborts,
190
+ } from "./inference.js";
191
+ import {
192
+ SQUEEZED,
193
+ OPTIMIZED,
194
+ INLINED,
195
+ CLEAR_BETWEEN_PASSES,
196
+ TOP,
197
+ WRITE_ONLY,
198
+ UNDEFINED,
199
+ UNUSED,
200
+ TRUTHY,
201
+ FALSY,
202
+
203
+ has_flag,
204
+ set_flag,
205
+ clear_flag,
206
+ } from "./compressor-flags.js";
207
+ import {
208
+ make_sequence,
209
+ best_of,
210
+ best_of_expression,
211
+ make_node_from_constant,
212
+ merge_sequence,
213
+ get_simple_key,
214
+ has_break_or_continue,
215
+ maintain_this_binding,
216
+ identifier_atom,
217
+ is_identifier_atom,
218
+ is_func_expr,
219
+ is_ref_of,
220
+ can_be_evicted_from_block,
221
+ as_statement_array,
222
+ is_iife_call,
223
+ is_recursive_ref
224
+ } from "./common.js";
225
+ import { tighten_body, trim_unreachable_code } from "./tighten-body.js";
226
+
227
+ class Compressor extends TreeWalker {
228
+ constructor(options, { false_by_default = false, mangle_options = false }) {
229
+ super();
230
+ if (options.defaults !== undefined && !options.defaults) false_by_default = true;
231
+ this.options = defaults(options, {
232
+ arguments : false,
233
+ arrows : !false_by_default,
234
+ booleans : !false_by_default,
235
+ booleans_as_integers : false,
236
+ collapse_vars : !false_by_default,
237
+ comparisons : !false_by_default,
238
+ computed_props: !false_by_default,
239
+ conditionals : !false_by_default,
240
+ dead_code : !false_by_default,
241
+ defaults : true,
242
+ directives : !false_by_default,
243
+ drop_console : false,
244
+ drop_debugger : !false_by_default,
245
+ ecma : 5,
246
+ evaluate : !false_by_default,
247
+ expression : false,
248
+ global_defs : false,
249
+ hoist_funs : false,
250
+ hoist_props : !false_by_default,
251
+ hoist_vars : false,
252
+ ie8 : false,
253
+ if_return : !false_by_default,
254
+ inline : !false_by_default,
255
+ join_vars : !false_by_default,
256
+ keep_classnames: false,
257
+ keep_fargs : true,
258
+ keep_fnames : false,
259
+ keep_infinity : false,
260
+ loops : !false_by_default,
261
+ module : false,
262
+ negate_iife : !false_by_default,
263
+ passes : 1,
264
+ properties : !false_by_default,
265
+ pure_getters : !false_by_default && "strict",
266
+ pure_funcs : null,
267
+ reduce_funcs : !false_by_default,
268
+ reduce_vars : !false_by_default,
269
+ sequences : !false_by_default,
270
+ side_effects : !false_by_default,
271
+ switches : !false_by_default,
272
+ top_retain : null,
273
+ toplevel : !!(options && options["top_retain"]),
274
+ typeofs : !false_by_default,
275
+ unsafe : false,
276
+ unsafe_arrows : false,
277
+ unsafe_comps : false,
278
+ unsafe_Function: false,
279
+ unsafe_math : false,
280
+ unsafe_symbols: false,
281
+ unsafe_methods: false,
282
+ unsafe_proto : false,
283
+ unsafe_regexp : false,
284
+ unsafe_undefined: false,
285
+ unused : !false_by_default,
286
+ warnings : false // legacy
287
+ }, true);
288
+ var global_defs = this.options["global_defs"];
289
+ if (typeof global_defs == "object") for (var key in global_defs) {
290
+ if (key[0] === "@" && HOP(global_defs, key)) {
291
+ global_defs[key.slice(1)] = parse(global_defs[key], {
292
+ expression: true
293
+ });
294
+ }
295
+ }
296
+ if (this.options["inline"] === true) this.options["inline"] = 3;
297
+ var pure_funcs = this.options["pure_funcs"];
298
+ if (typeof pure_funcs == "function") {
299
+ this.pure_funcs = pure_funcs;
300
+ } else {
301
+ this.pure_funcs = pure_funcs ? function(node) {
302
+ return !pure_funcs.includes(node.expression.print_to_string());
303
+ } : return_true;
304
+ }
305
+ var top_retain = this.options["top_retain"];
306
+ if (top_retain instanceof RegExp) {
307
+ this.top_retain = function(def) {
308
+ return top_retain.test(def.name);
309
+ };
310
+ } else if (typeof top_retain == "function") {
311
+ this.top_retain = top_retain;
312
+ } else if (top_retain) {
313
+ if (typeof top_retain == "string") {
314
+ top_retain = top_retain.split(/,/);
315
+ }
316
+ this.top_retain = function(def) {
317
+ return top_retain.includes(def.name);
318
+ };
319
+ }
320
+ if (this.options["module"]) {
321
+ this.directives["use strict"] = true;
322
+ this.options["toplevel"] = true;
323
+ }
324
+ var toplevel = this.options["toplevel"];
325
+ this.toplevel = typeof toplevel == "string" ? {
326
+ funcs: /funcs/.test(toplevel),
327
+ vars: /vars/.test(toplevel)
328
+ } : {
329
+ funcs: toplevel,
330
+ vars: toplevel
331
+ };
332
+ var sequences = this.options["sequences"];
333
+ this.sequences_limit = sequences == 1 ? 800 : sequences | 0;
334
+ this.evaluated_regexps = new Map();
335
+ this._toplevel = undefined;
336
+ this.mangle_options = mangle_options;
337
+ }
338
+
339
+ option(key) {
340
+ return this.options[key];
341
+ }
342
+
343
+ exposed(def) {
344
+ if (def.export) return true;
345
+ if (def.global) for (var i = 0, len = def.orig.length; i < len; i++)
346
+ if (!this.toplevel[def.orig[i] instanceof AST_SymbolDefun ? "funcs" : "vars"])
347
+ return true;
348
+ return false;
349
+ }
350
+
351
+ in_boolean_context() {
352
+ if (!this.option("booleans")) return false;
353
+ var self = this.self();
354
+ for (var i = 0, p; p = this.parent(i); i++) {
355
+ if (p instanceof AST_SimpleStatement
356
+ || p instanceof AST_Conditional && p.condition === self
357
+ || p instanceof AST_DWLoop && p.condition === self
358
+ || p instanceof AST_For && p.condition === self
359
+ || p instanceof AST_If && p.condition === self
360
+ || p instanceof AST_UnaryPrefix && p.operator == "!" && p.expression === self) {
361
+ return true;
362
+ }
363
+ if (
364
+ p instanceof AST_Binary
365
+ && (
366
+ p.operator == "&&"
367
+ || p.operator == "||"
368
+ || p.operator == "??"
369
+ )
370
+ || p instanceof AST_Conditional
371
+ || p.tail_node() === self
372
+ ) {
373
+ self = p;
374
+ } else {
375
+ return false;
376
+ }
377
+ }
378
+ }
379
+
380
+ get_toplevel() {
381
+ return this._toplevel;
382
+ }
383
+
384
+ compress(toplevel) {
385
+ toplevel = toplevel.resolve_defines(this);
386
+ this._toplevel = toplevel;
387
+ if (this.option("expression")) {
388
+ this._toplevel.process_expression(true);
389
+ }
390
+ var passes = +this.options.passes || 1;
391
+ var min_count = 1 / 0;
392
+ var stopping = false;
393
+ var nth_identifier = this.mangle_options && this.mangle_options.nth_identifier || base54;
394
+ var mangle = { ie8: this.option("ie8"), nth_identifier: nth_identifier };
395
+ for (var pass = 0; pass < passes; pass++) {
396
+ this._toplevel.figure_out_scope(mangle);
397
+ if (pass === 0 && this.option("drop_console")) {
398
+ // must be run before reduce_vars and compress pass
399
+ this._toplevel = this._toplevel.drop_console();
400
+ }
401
+ if (pass > 0 || this.option("reduce_vars")) {
402
+ this._toplevel.reset_opt_flags(this);
403
+ }
404
+ this._toplevel = this._toplevel.transform(this);
405
+ if (passes > 1) {
406
+ let count = 0;
407
+ walk(this._toplevel, () => { count++; });
408
+ if (count < min_count) {
409
+ min_count = count;
410
+ stopping = false;
411
+ } else if (stopping) {
412
+ break;
413
+ } else {
414
+ stopping = true;
415
+ }
416
+ }
417
+ }
418
+ if (this.option("expression")) {
419
+ this._toplevel.process_expression(false);
420
+ }
421
+ toplevel = this._toplevel;
422
+ this._toplevel = undefined;
423
+ return toplevel;
424
+ }
425
+
426
+ before(node, descend) {
427
+ if (has_flag(node, SQUEEZED)) return node;
428
+ var was_scope = false;
429
+ if (node instanceof AST_Scope) {
430
+ node = node.hoist_properties(this);
431
+ node = node.hoist_declarations(this);
432
+ was_scope = true;
433
+ }
434
+ // Before https://github.com/mishoo/UglifyJS2/pull/1602 AST_Node.optimize()
435
+ // would call AST_Node.transform() if a different instance of AST_Node is
436
+ // produced after def_optimize().
437
+ // This corrupts TreeWalker.stack, which cause AST look-ups to malfunction.
438
+ // Migrate and defer all children's AST_Node.transform() to below, which
439
+ // will now happen after this parent AST_Node has been properly substituted
440
+ // thus gives a consistent AST snapshot.
441
+ descend(node, this);
442
+ // Existing code relies on how AST_Node.optimize() worked, and omitting the
443
+ // following replacement call would result in degraded efficiency of both
444
+ // output and performance.
445
+ descend(node, this);
446
+ var opt = node.optimize(this);
447
+ if (was_scope && opt instanceof AST_Scope) {
448
+ opt.drop_unused(this);
449
+ descend(opt, this);
450
+ }
451
+ if (opt === node) set_flag(opt, SQUEEZED);
452
+ return opt;
453
+ }
454
+ }
455
+
456
+ function def_optimize(node, optimizer) {
457
+ node.DEFMETHOD("optimize", function(compressor) {
458
+ var self = this;
459
+ if (has_flag(self, OPTIMIZED)) return self;
460
+ if (compressor.has_directive("use asm")) return self;
461
+ var opt = optimizer(self, compressor);
462
+ set_flag(opt, OPTIMIZED);
463
+ return opt;
464
+ });
465
+ }
466
+
467
+ def_optimize(AST_Node, function(self) {
468
+ return self;
469
+ });
470
+
471
+ AST_Toplevel.DEFMETHOD("drop_console", function() {
472
+ return this.transform(new TreeTransformer(function(self) {
473
+ if (self.TYPE == "Call") {
474
+ var exp = self.expression;
475
+ if (exp instanceof AST_PropAccess) {
476
+ var name = exp.expression;
477
+ while (name.expression) {
478
+ name = name.expression;
479
+ }
480
+ if (is_undeclared_ref(name) && name.name == "console") {
481
+ return make_node(AST_Undefined, self);
482
+ }
483
+ }
484
+ }
485
+ }));
486
+ });
487
+
488
+ AST_Node.DEFMETHOD("equivalent_to", function(node) {
489
+ return equivalent_to(this, node);
490
+ });
491
+
492
+ AST_Scope.DEFMETHOD("process_expression", function(insert, compressor) {
493
+ var self = this;
494
+ var tt = new TreeTransformer(function(node) {
495
+ if (insert && node instanceof AST_SimpleStatement) {
496
+ return make_node(AST_Return, node, {
497
+ value: node.body
498
+ });
499
+ }
500
+ if (!insert && node instanceof AST_Return) {
501
+ if (compressor) {
502
+ var value = node.value && node.value.drop_side_effect_free(compressor, true);
503
+ return value
504
+ ? make_node(AST_SimpleStatement, node, { body: value })
505
+ : make_node(AST_EmptyStatement, node);
506
+ }
507
+ return make_node(AST_SimpleStatement, node, {
508
+ body: node.value || make_node(AST_UnaryPrefix, node, {
509
+ operator: "void",
510
+ expression: make_node(AST_Number, node, {
511
+ value: 0
512
+ })
513
+ })
514
+ });
515
+ }
516
+ if (node instanceof AST_Class || node instanceof AST_Lambda && node !== self) {
517
+ return node;
518
+ }
519
+ if (node instanceof AST_Block) {
520
+ var index = node.body.length - 1;
521
+ if (index >= 0) {
522
+ node.body[index] = node.body[index].transform(tt);
523
+ }
524
+ } else if (node instanceof AST_If) {
525
+ node.body = node.body.transform(tt);
526
+ if (node.alternative) {
527
+ node.alternative = node.alternative.transform(tt);
528
+ }
529
+ } else if (node instanceof AST_With) {
530
+ node.body = node.body.transform(tt);
531
+ }
532
+ return node;
533
+ });
534
+ self.transform(tt);
535
+ });
536
+
537
+ AST_Toplevel.DEFMETHOD("reset_opt_flags", function(compressor) {
538
+ const self = this;
539
+ const reduce_vars = compressor.option("reduce_vars");
540
+
541
+ const preparation = new TreeWalker(function(node, descend) {
542
+ clear_flag(node, CLEAR_BETWEEN_PASSES);
543
+ if (reduce_vars) {
544
+ if (compressor.top_retain
545
+ && node instanceof AST_Defun // Only functions are retained
546
+ && preparation.parent() === self
547
+ ) {
548
+ set_flag(node, TOP);
549
+ }
550
+ return node.reduce_vars(preparation, descend, compressor);
551
+ }
552
+ });
553
+ // Stack of look-up tables to keep track of whether a `SymbolDef` has been
554
+ // properly assigned before use:
555
+ // - `push()` & `pop()` when visiting conditional branches
556
+ preparation.safe_ids = Object.create(null);
557
+ preparation.in_loop = null;
558
+ preparation.loop_ids = new Map();
559
+ preparation.defs_to_safe_ids = new Map();
560
+ self.walk(preparation);
561
+ });
562
+
563
+ AST_Symbol.DEFMETHOD("fixed_value", function() {
564
+ var fixed = this.thedef.fixed;
565
+ if (!fixed || fixed instanceof AST_Node) return fixed;
566
+ return fixed();
567
+ });
568
+
569
+ AST_SymbolRef.DEFMETHOD("is_immutable", function() {
570
+ var orig = this.definition().orig;
571
+ return orig.length == 1 && orig[0] instanceof AST_SymbolLambda;
572
+ });
573
+
574
+ function find_scope(tw) {
575
+ for (let i = 0;;i++) {
576
+ const p = tw.parent(i);
577
+ if (p instanceof AST_Toplevel) return p;
578
+ if (p instanceof AST_Lambda) return p;
579
+ if (p.block_scope) return p.block_scope;
580
+ }
581
+ }
582
+
583
+ function find_variable(compressor, name) {
584
+ var scope, i = 0;
585
+ while (scope = compressor.parent(i++)) {
586
+ if (scope instanceof AST_Scope) break;
587
+ if (scope instanceof AST_Catch && scope.argname) {
588
+ scope = scope.argname.definition().scope;
589
+ break;
590
+ }
591
+ }
592
+ return scope.find_variable(name);
593
+ }
594
+
595
+ function is_empty(thing) {
596
+ if (thing === null) return true;
597
+ if (thing instanceof AST_EmptyStatement) return true;
598
+ if (thing instanceof AST_BlockStatement) return thing.body.length == 0;
599
+ return false;
600
+ }
601
+
602
+ var global_names = makePredicate("Array Boolean clearInterval clearTimeout console Date decodeURI decodeURIComponent encodeURI encodeURIComponent Error escape eval EvalError Function isFinite isNaN JSON Math Number parseFloat parseInt RangeError ReferenceError RegExp Object setInterval setTimeout String SyntaxError TypeError unescape URIError");
603
+ AST_SymbolRef.DEFMETHOD("is_declared", function(compressor) {
604
+ return !this.definition().undeclared
605
+ || compressor.option("unsafe") && global_names.has(this.name);
606
+ });
607
+
608
+ /* -----[ optimizers ]----- */
609
+
610
+ var directives = new Set(["use asm", "use strict"]);
611
+ def_optimize(AST_Directive, function(self, compressor) {
612
+ if (compressor.option("directives")
613
+ && (!directives.has(self.value) || compressor.has_directive(self.value) !== self)) {
614
+ return make_node(AST_EmptyStatement, self);
615
+ }
616
+ return self;
617
+ });
618
+
619
+ def_optimize(AST_Debugger, function(self, compressor) {
620
+ if (compressor.option("drop_debugger"))
621
+ return make_node(AST_EmptyStatement, self);
622
+ return self;
623
+ });
624
+
625
+ def_optimize(AST_LabeledStatement, function(self, compressor) {
626
+ if (self.body instanceof AST_Break
627
+ && compressor.loopcontrol_target(self.body) === self.body) {
628
+ return make_node(AST_EmptyStatement, self);
629
+ }
630
+ return self.label.references.length == 0 ? self.body : self;
631
+ });
632
+
633
+ def_optimize(AST_Block, function(self, compressor) {
634
+ tighten_body(self.body, compressor);
635
+ return self;
636
+ });
637
+
638
+ function can_be_extracted_from_if_block(node) {
639
+ return !(
640
+ node instanceof AST_Const
641
+ || node instanceof AST_Let
642
+ || node instanceof AST_Class
643
+ );
644
+ }
645
+
646
+ def_optimize(AST_BlockStatement, function(self, compressor) {
647
+ tighten_body(self.body, compressor);
648
+ switch (self.body.length) {
649
+ case 1:
650
+ if (!compressor.has_directive("use strict")
651
+ && compressor.parent() instanceof AST_If
652
+ && can_be_extracted_from_if_block(self.body[0])
653
+ || can_be_evicted_from_block(self.body[0])) {
654
+ return self.body[0];
655
+ }
656
+ break;
657
+ case 0: return make_node(AST_EmptyStatement, self);
658
+ }
659
+ return self;
660
+ });
661
+
662
+ function opt_AST_Lambda(self, compressor) {
663
+ tighten_body(self.body, compressor);
664
+ if (compressor.option("side_effects")
665
+ && self.body.length == 1
666
+ && self.body[0] === compressor.has_directive("use strict")) {
667
+ self.body.length = 0;
668
+ }
669
+ return self;
670
+ }
671
+ def_optimize(AST_Lambda, opt_AST_Lambda);
672
+
673
+ const r_keep_assign = /keep_assign/;
674
+ AST_Scope.DEFMETHOD("drop_unused", function(compressor) {
675
+ if (!compressor.option("unused")) return;
676
+ if (compressor.has_directive("use asm")) return;
677
+ var self = this;
678
+ if (self.pinned()) return;
679
+ var drop_funcs = !(self instanceof AST_Toplevel) || compressor.toplevel.funcs;
680
+ var drop_vars = !(self instanceof AST_Toplevel) || compressor.toplevel.vars;
681
+ const assign_as_unused = r_keep_assign.test(compressor.option("unused")) ? return_false : function(node) {
682
+ if (node instanceof AST_Assign
683
+ && !node.logical
684
+ && (has_flag(node, WRITE_ONLY) || node.operator == "=")
685
+ ) {
686
+ return node.left;
687
+ }
688
+ if (node instanceof AST_Unary && has_flag(node, WRITE_ONLY)) {
689
+ return node.expression;
690
+ }
691
+ };
692
+ var in_use_ids = new Map();
693
+ var fixed_ids = new Map();
694
+ if (self instanceof AST_Toplevel && compressor.top_retain) {
695
+ self.variables.forEach(function(def) {
696
+ if (compressor.top_retain(def) && !in_use_ids.has(def.id)) {
697
+ in_use_ids.set(def.id, def);
698
+ }
699
+ });
700
+ }
701
+ var var_defs_by_id = new Map();
702
+ var initializations = new Map();
703
+ // pass 1: find out which symbols are directly used in
704
+ // this scope (not in nested scopes).
705
+ var scope = this;
706
+ var tw = new TreeWalker(function(node, descend) {
707
+ if (node instanceof AST_Lambda && node.uses_arguments && !tw.has_directive("use strict")) {
708
+ node.argnames.forEach(function(argname) {
709
+ if (!(argname instanceof AST_SymbolDeclaration)) return;
710
+ var def = argname.definition();
711
+ if (!in_use_ids.has(def.id)) {
712
+ in_use_ids.set(def.id, def);
713
+ }
714
+ });
715
+ }
716
+ if (node === self) return;
717
+ if (node instanceof AST_Defun || node instanceof AST_DefClass) {
718
+ var node_def = node.name.definition();
719
+ const in_export = tw.parent() instanceof AST_Export;
720
+ if (in_export || !drop_funcs && scope === self) {
721
+ if (node_def.global && !in_use_ids.has(node_def.id)) {
722
+ in_use_ids.set(node_def.id, node_def);
723
+ }
724
+ }
725
+ if (node instanceof AST_DefClass) {
726
+ if (
727
+ node.extends
728
+ && (node.extends.has_side_effects(compressor)
729
+ || node.extends.may_throw(compressor))
730
+ ) {
731
+ node.extends.walk(tw);
732
+ }
733
+ for (const prop of node.properties) {
734
+ if (
735
+ prop.has_side_effects(compressor) ||
736
+ prop.may_throw(compressor)
737
+ ) {
738
+ prop.walk(tw);
739
+ }
740
+ }
741
+ }
742
+ map_add(initializations, node_def.id, node);
743
+ return true; // don't go in nested scopes
744
+ }
745
+ if (node instanceof AST_SymbolFunarg && scope === self) {
746
+ map_add(var_defs_by_id, node.definition().id, node);
747
+ }
748
+ if (node instanceof AST_Definitions && scope === self) {
749
+ const in_export = tw.parent() instanceof AST_Export;
750
+ node.definitions.forEach(function(def) {
751
+ if (def.name instanceof AST_SymbolVar) {
752
+ map_add(var_defs_by_id, def.name.definition().id, def);
753
+ }
754
+ if (in_export || !drop_vars) {
755
+ walk(def.name, node => {
756
+ if (node instanceof AST_SymbolDeclaration) {
757
+ const def = node.definition();
758
+ if (
759
+ (in_export || def.global)
760
+ && !in_use_ids.has(def.id)
761
+ ) {
762
+ in_use_ids.set(def.id, def);
763
+ }
764
+ }
765
+ });
766
+ }
767
+ if (def.value) {
768
+ if (def.name instanceof AST_Destructuring) {
769
+ def.walk(tw);
770
+ } else {
771
+ var node_def = def.name.definition();
772
+ map_add(initializations, node_def.id, def.value);
773
+ if (!node_def.chained && def.name.fixed_value() === def.value) {
774
+ fixed_ids.set(node_def.id, def);
775
+ }
776
+ }
777
+ if (def.value.has_side_effects(compressor)) {
778
+ def.value.walk(tw);
779
+ }
780
+ }
781
+ });
782
+ return true;
783
+ }
784
+ return scan_ref_scoped(node, descend);
785
+ });
786
+ self.walk(tw);
787
+ // pass 2: for every used symbol we need to walk its
788
+ // initialization code to figure out if it uses other
789
+ // symbols (that may not be in_use).
790
+ tw = new TreeWalker(scan_ref_scoped);
791
+ in_use_ids.forEach(function (def) {
792
+ var init = initializations.get(def.id);
793
+ if (init) init.forEach(function(init) {
794
+ init.walk(tw);
795
+ });
796
+ });
797
+ // pass 3: we should drop declarations not in_use
798
+ var tt = new TreeTransformer(
799
+ function before(node, descend, in_list) {
800
+ var parent = tt.parent();
801
+ if (drop_vars) {
802
+ const sym = assign_as_unused(node);
803
+ if (sym instanceof AST_SymbolRef) {
804
+ var def = sym.definition();
805
+ var in_use = in_use_ids.has(def.id);
806
+ if (node instanceof AST_Assign) {
807
+ if (!in_use || fixed_ids.has(def.id) && fixed_ids.get(def.id) !== node) {
808
+ return maintain_this_binding(parent, node, node.right.transform(tt));
809
+ }
810
+ } else if (!in_use) return in_list ? MAP.skip : make_node(AST_Number, node, {
811
+ value: 0
812
+ });
813
+ }
814
+ }
815
+ if (scope !== self) return;
816
+ var def;
817
+ if (node.name
818
+ && (node instanceof AST_ClassExpression
819
+ && !keep_name(compressor.option("keep_classnames"), (def = node.name.definition()).name)
820
+ || node instanceof AST_Function
821
+ && !keep_name(compressor.option("keep_fnames"), (def = node.name.definition()).name))) {
822
+ // any declarations with same name will overshadow
823
+ // name of this anonymous function and can therefore
824
+ // never be used anywhere
825
+ if (!in_use_ids.has(def.id) || def.orig.length > 1) node.name = null;
826
+ }
827
+ if (node instanceof AST_Lambda && !(node instanceof AST_Accessor)) {
828
+ var trim = !compressor.option("keep_fargs");
829
+ for (var a = node.argnames, i = a.length; --i >= 0;) {
830
+ var sym = a[i];
831
+ if (sym instanceof AST_Expansion) {
832
+ sym = sym.expression;
833
+ }
834
+ if (sym instanceof AST_DefaultAssign) {
835
+ sym = sym.left;
836
+ }
837
+ // Do not drop destructuring arguments.
838
+ // They constitute a type assertion, so dropping
839
+ // them would stop that TypeError which would happen
840
+ // if someone called it with an incorrectly formatted
841
+ // parameter.
842
+ if (!(sym instanceof AST_Destructuring) && !in_use_ids.has(sym.definition().id)) {
843
+ set_flag(sym, UNUSED);
844
+ if (trim) {
845
+ a.pop();
846
+ }
847
+ } else {
848
+ trim = false;
849
+ }
850
+ }
851
+ }
852
+ if ((node instanceof AST_Defun || node instanceof AST_DefClass) && node !== self) {
853
+ const def = node.name.definition();
854
+ let keep = def.global && !drop_funcs || in_use_ids.has(def.id);
855
+ if (!keep) {
856
+ def.eliminated++;
857
+ if (node instanceof AST_DefClass) {
858
+ // Classes might have extends with side effects
859
+ const side_effects = node.drop_side_effect_free(compressor);
860
+ if (side_effects) {
861
+ return make_node(AST_SimpleStatement, node, {
862
+ body: side_effects
863
+ });
864
+ }
865
+ }
866
+ return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
867
+ }
868
+ }
869
+ if (node instanceof AST_Definitions && !(parent instanceof AST_ForIn && parent.init === node)) {
870
+ var drop_block = !(parent instanceof AST_Toplevel) && !(node instanceof AST_Var);
871
+ // place uninitialized names at the start
872
+ var body = [], head = [], tail = [];
873
+ // for unused names whose initialization has
874
+ // side effects, we can cascade the init. code
875
+ // into the next one, or next statement.
876
+ var side_effects = [];
877
+ node.definitions.forEach(function(def) {
878
+ if (def.value) def.value = def.value.transform(tt);
879
+ var is_destructure = def.name instanceof AST_Destructuring;
880
+ var sym = is_destructure
881
+ ? new SymbolDef(null, { name: "<destructure>" }) /* fake SymbolDef */
882
+ : def.name.definition();
883
+ if (drop_block && sym.global) return tail.push(def);
884
+ if (!(drop_vars || drop_block)
885
+ || is_destructure
886
+ && (def.name.names.length
887
+ || def.name.is_array
888
+ || compressor.option("pure_getters") != true)
889
+ || in_use_ids.has(sym.id)
890
+ ) {
891
+ if (def.value && fixed_ids.has(sym.id) && fixed_ids.get(sym.id) !== def) {
892
+ def.value = def.value.drop_side_effect_free(compressor);
893
+ }
894
+ if (def.name instanceof AST_SymbolVar) {
895
+ var var_defs = var_defs_by_id.get(sym.id);
896
+ if (var_defs.length > 1 && (!def.value || sym.orig.indexOf(def.name) > sym.eliminated)) {
897
+ if (def.value) {
898
+ var ref = make_node(AST_SymbolRef, def.name, def.name);
899
+ sym.references.push(ref);
900
+ var assign = make_node(AST_Assign, def, {
901
+ operator: "=",
902
+ logical: false,
903
+ left: ref,
904
+ right: def.value
905
+ });
906
+ if (fixed_ids.get(sym.id) === def) {
907
+ fixed_ids.set(sym.id, assign);
908
+ }
909
+ side_effects.push(assign.transform(tt));
910
+ }
911
+ remove(var_defs, def);
912
+ sym.eliminated++;
913
+ return;
914
+ }
915
+ }
916
+ if (def.value) {
917
+ if (side_effects.length > 0) {
918
+ if (tail.length > 0) {
919
+ side_effects.push(def.value);
920
+ def.value = make_sequence(def.value, side_effects);
921
+ } else {
922
+ body.push(make_node(AST_SimpleStatement, node, {
923
+ body: make_sequence(node, side_effects)
924
+ }));
925
+ }
926
+ side_effects = [];
927
+ }
928
+ tail.push(def);
929
+ } else {
930
+ head.push(def);
931
+ }
932
+ } else if (sym.orig[0] instanceof AST_SymbolCatch) {
933
+ var value = def.value && def.value.drop_side_effect_free(compressor);
934
+ if (value) side_effects.push(value);
935
+ def.value = null;
936
+ head.push(def);
937
+ } else {
938
+ var value = def.value && def.value.drop_side_effect_free(compressor);
939
+ if (value) {
940
+ side_effects.push(value);
941
+ }
942
+ sym.eliminated++;
943
+ }
944
+ });
945
+ if (head.length > 0 || tail.length > 0) {
946
+ node.definitions = head.concat(tail);
947
+ body.push(node);
948
+ }
949
+ if (side_effects.length > 0) {
950
+ body.push(make_node(AST_SimpleStatement, node, {
951
+ body: make_sequence(node, side_effects)
952
+ }));
953
+ }
954
+ switch (body.length) {
955
+ case 0:
956
+ return in_list ? MAP.skip : make_node(AST_EmptyStatement, node);
957
+ case 1:
958
+ return body[0];
959
+ default:
960
+ return in_list ? MAP.splice(body) : make_node(AST_BlockStatement, node, {
961
+ body: body
962
+ });
963
+ }
964
+ }
965
+ // certain combination of unused name + side effect leads to:
966
+ // https://github.com/mishoo/UglifyJS2/issues/44
967
+ // https://github.com/mishoo/UglifyJS2/issues/1830
968
+ // https://github.com/mishoo/UglifyJS2/issues/1838
969
+ // that's an invalid AST.
970
+ // We fix it at this stage by moving the `var` outside the `for`.
971
+ if (node instanceof AST_For) {
972
+ descend(node, this);
973
+ var block;
974
+ if (node.init instanceof AST_BlockStatement) {
975
+ block = node.init;
976
+ node.init = block.body.pop();
977
+ block.body.push(node);
978
+ }
979
+ if (node.init instanceof AST_SimpleStatement) {
980
+ node.init = node.init.body;
981
+ } else if (is_empty(node.init)) {
982
+ node.init = null;
983
+ }
984
+ return !block ? node : in_list ? MAP.splice(block.body) : block;
985
+ }
986
+ if (node instanceof AST_LabeledStatement
987
+ && node.body instanceof AST_For
988
+ ) {
989
+ descend(node, this);
990
+ if (node.body instanceof AST_BlockStatement) {
991
+ var block = node.body;
992
+ node.body = block.body.pop();
993
+ block.body.push(node);
994
+ return in_list ? MAP.splice(block.body) : block;
995
+ }
996
+ return node;
997
+ }
998
+ if (node instanceof AST_BlockStatement) {
999
+ descend(node, this);
1000
+ if (in_list && node.body.every(can_be_evicted_from_block)) {
1001
+ return MAP.splice(node.body);
1002
+ }
1003
+ return node;
1004
+ }
1005
+ if (node instanceof AST_Scope) {
1006
+ const save_scope = scope;
1007
+ scope = node;
1008
+ descend(node, this);
1009
+ scope = save_scope;
1010
+ return node;
1011
+ }
1012
+ }
1013
+ );
1014
+
1015
+ self.transform(tt);
1016
+
1017
+ function scan_ref_scoped(node, descend) {
1018
+ var node_def;
1019
+ const sym = assign_as_unused(node);
1020
+ if (sym instanceof AST_SymbolRef
1021
+ && !is_ref_of(node.left, AST_SymbolBlockDeclaration)
1022
+ && self.variables.get(sym.name) === (node_def = sym.definition())
1023
+ ) {
1024
+ if (node instanceof AST_Assign) {
1025
+ node.right.walk(tw);
1026
+ if (!node_def.chained && node.left.fixed_value() === node.right) {
1027
+ fixed_ids.set(node_def.id, node);
1028
+ }
1029
+ }
1030
+ return true;
1031
+ }
1032
+ if (node instanceof AST_SymbolRef) {
1033
+ node_def = node.definition();
1034
+ if (!in_use_ids.has(node_def.id)) {
1035
+ in_use_ids.set(node_def.id, node_def);
1036
+ if (node_def.orig[0] instanceof AST_SymbolCatch) {
1037
+ const redef = node_def.scope.is_block_scope()
1038
+ && node_def.scope.get_defun_scope().variables.get(node_def.name);
1039
+ if (redef) in_use_ids.set(redef.id, redef);
1040
+ }
1041
+ }
1042
+ return true;
1043
+ }
1044
+ if (node instanceof AST_Scope) {
1045
+ var save_scope = scope;
1046
+ scope = node;
1047
+ descend();
1048
+ scope = save_scope;
1049
+ return true;
1050
+ }
1051
+ }
1052
+ });
1053
+
1054
+ AST_Scope.DEFMETHOD("hoist_declarations", function(compressor) {
1055
+ var self = this;
1056
+ if (compressor.has_directive("use asm")) return self;
1057
+ // Hoisting makes no sense in an arrow func
1058
+ if (!Array.isArray(self.body)) return self;
1059
+
1060
+ var hoist_funs = compressor.option("hoist_funs");
1061
+ var hoist_vars = compressor.option("hoist_vars");
1062
+
1063
+ if (hoist_funs || hoist_vars) {
1064
+ var dirs = [];
1065
+ var hoisted = [];
1066
+ var vars = new Map(), vars_found = 0, var_decl = 0;
1067
+ // let's count var_decl first, we seem to waste a lot of
1068
+ // space if we hoist `var` when there's only one.
1069
+ walk(self, node => {
1070
+ if (node instanceof AST_Scope && node !== self)
1071
+ return true;
1072
+ if (node instanceof AST_Var) {
1073
+ ++var_decl;
1074
+ return true;
1075
+ }
1076
+ });
1077
+ hoist_vars = hoist_vars && var_decl > 1;
1078
+ var tt = new TreeTransformer(
1079
+ function before(node) {
1080
+ if (node !== self) {
1081
+ if (node instanceof AST_Directive) {
1082
+ dirs.push(node);
1083
+ return make_node(AST_EmptyStatement, node);
1084
+ }
1085
+ if (hoist_funs && node instanceof AST_Defun
1086
+ && !(tt.parent() instanceof AST_Export)
1087
+ && tt.parent() === self) {
1088
+ hoisted.push(node);
1089
+ return make_node(AST_EmptyStatement, node);
1090
+ }
1091
+ if (
1092
+ hoist_vars
1093
+ && node instanceof AST_Var
1094
+ && !node.definitions.some(def => def.name instanceof AST_Destructuring)
1095
+ ) {
1096
+ node.definitions.forEach(function(def) {
1097
+ vars.set(def.name.name, def);
1098
+ ++vars_found;
1099
+ });
1100
+ var seq = node.to_assignments(compressor);
1101
+ var p = tt.parent();
1102
+ if (p instanceof AST_ForIn && p.init === node) {
1103
+ if (seq == null) {
1104
+ var def = node.definitions[0].name;
1105
+ return make_node(AST_SymbolRef, def, def);
1106
+ }
1107
+ return seq;
1108
+ }
1109
+ if (p instanceof AST_For && p.init === node) {
1110
+ return seq;
1111
+ }
1112
+ if (!seq) return make_node(AST_EmptyStatement, node);
1113
+ return make_node(AST_SimpleStatement, node, {
1114
+ body: seq
1115
+ });
1116
+ }
1117
+ if (node instanceof AST_Scope)
1118
+ return node; // to avoid descending in nested scopes
1119
+ }
1120
+ }
1121
+ );
1122
+ self = self.transform(tt);
1123
+ if (vars_found > 0) {
1124
+ // collect only vars which don't show up in self's arguments list
1125
+ var defs = [];
1126
+ const is_lambda = self instanceof AST_Lambda;
1127
+ const args_as_names = is_lambda ? self.args_as_names() : null;
1128
+ vars.forEach((def, name) => {
1129
+ if (is_lambda && args_as_names.some((x) => x.name === def.name.name)) {
1130
+ vars.delete(name);
1131
+ } else {
1132
+ def = def.clone();
1133
+ def.value = null;
1134
+ defs.push(def);
1135
+ vars.set(name, def);
1136
+ }
1137
+ });
1138
+ if (defs.length > 0) {
1139
+ // try to merge in assignments
1140
+ for (var i = 0; i < self.body.length;) {
1141
+ if (self.body[i] instanceof AST_SimpleStatement) {
1142
+ var expr = self.body[i].body, sym, assign;
1143
+ if (expr instanceof AST_Assign
1144
+ && expr.operator == "="
1145
+ && (sym = expr.left) instanceof AST_Symbol
1146
+ && vars.has(sym.name)
1147
+ ) {
1148
+ var def = vars.get(sym.name);
1149
+ if (def.value) break;
1150
+ def.value = expr.right;
1151
+ remove(defs, def);
1152
+ defs.push(def);
1153
+ self.body.splice(i, 1);
1154
+ continue;
1155
+ }
1156
+ if (expr instanceof AST_Sequence
1157
+ && (assign = expr.expressions[0]) instanceof AST_Assign
1158
+ && assign.operator == "="
1159
+ && (sym = assign.left) instanceof AST_Symbol
1160
+ && vars.has(sym.name)
1161
+ ) {
1162
+ var def = vars.get(sym.name);
1163
+ if (def.value) break;
1164
+ def.value = assign.right;
1165
+ remove(defs, def);
1166
+ defs.push(def);
1167
+ self.body[i].body = make_sequence(expr, expr.expressions.slice(1));
1168
+ continue;
1169
+ }
1170
+ }
1171
+ if (self.body[i] instanceof AST_EmptyStatement) {
1172
+ self.body.splice(i, 1);
1173
+ continue;
1174
+ }
1175
+ if (self.body[i] instanceof AST_BlockStatement) {
1176
+ self.body.splice(i, 1, ...self.body[i].body);
1177
+ continue;
1178
+ }
1179
+ break;
1180
+ }
1181
+ defs = make_node(AST_Var, self, {
1182
+ definitions: defs
1183
+ });
1184
+ hoisted.push(defs);
1185
+ }
1186
+ }
1187
+ self.body = dirs.concat(hoisted, self.body);
1188
+ }
1189
+ return self;
1190
+ });
1191
+
1192
+ AST_Scope.DEFMETHOD("hoist_properties", function(compressor) {
1193
+ var self = this;
1194
+ if (!compressor.option("hoist_props") || compressor.has_directive("use asm")) return self;
1195
+ var top_retain = self instanceof AST_Toplevel && compressor.top_retain || return_false;
1196
+ var defs_by_id = new Map();
1197
+ var hoister = new TreeTransformer(function(node, descend) {
1198
+ if (node instanceof AST_Definitions
1199
+ && hoister.parent() instanceof AST_Export) return node;
1200
+ if (node instanceof AST_VarDef) {
1201
+ const sym = node.name;
1202
+ let def;
1203
+ let value;
1204
+ if (sym.scope === self
1205
+ && (def = sym.definition()).escaped != 1
1206
+ && !def.assignments
1207
+ && !def.direct_access
1208
+ && !def.single_use
1209
+ && !compressor.exposed(def)
1210
+ && !top_retain(def)
1211
+ && (value = sym.fixed_value()) === node.value
1212
+ && value instanceof AST_Object
1213
+ && !value.properties.some(prop =>
1214
+ prop instanceof AST_Expansion || prop.computed_key()
1215
+ )
1216
+ ) {
1217
+ descend(node, this);
1218
+ const defs = new Map();
1219
+ const assignments = [];
1220
+ value.properties.forEach(({ key, value }) => {
1221
+ const scope = find_scope(hoister);
1222
+ const symbol = self.create_symbol(sym.CTOR, {
1223
+ source: sym,
1224
+ scope,
1225
+ conflict_scopes: new Set([
1226
+ scope,
1227
+ ...sym.definition().references.map(ref => ref.scope)
1228
+ ]),
1229
+ tentative_name: sym.name + "_" + key
1230
+ });
1231
+
1232
+ defs.set(String(key), symbol.definition());
1233
+
1234
+ assignments.push(make_node(AST_VarDef, node, {
1235
+ name: symbol,
1236
+ value
1237
+ }));
1238
+ });
1239
+ defs_by_id.set(def.id, defs);
1240
+ return MAP.splice(assignments);
1241
+ }
1242
+ } else if (node instanceof AST_PropAccess
1243
+ && node.expression instanceof AST_SymbolRef
1244
+ ) {
1245
+ const defs = defs_by_id.get(node.expression.definition().id);
1246
+ if (defs) {
1247
+ const def = defs.get(String(get_simple_key(node.property)));
1248
+ const sym = make_node(AST_SymbolRef, node, {
1249
+ name: def.name,
1250
+ scope: node.expression.scope,
1251
+ thedef: def
1252
+ });
1253
+ sym.reference({});
1254
+ return sym;
1255
+ }
1256
+ }
1257
+ });
1258
+ return self.transform(hoister);
1259
+ });
1260
+
1261
+ def_optimize(AST_SimpleStatement, function(self, compressor) {
1262
+ if (compressor.option("side_effects")) {
1263
+ var body = self.body;
1264
+ var node = body.drop_side_effect_free(compressor, true);
1265
+ if (!node) {
1266
+ return make_node(AST_EmptyStatement, self);
1267
+ }
1268
+ if (node !== body) {
1269
+ return make_node(AST_SimpleStatement, self, { body: node });
1270
+ }
1271
+ }
1272
+ return self;
1273
+ });
1274
+
1275
+ def_optimize(AST_While, function(self, compressor) {
1276
+ return compressor.option("loops") ? make_node(AST_For, self, self).optimize(compressor) : self;
1277
+ });
1278
+
1279
+ def_optimize(AST_Do, function(self, compressor) {
1280
+ if (!compressor.option("loops")) return self;
1281
+ var cond = self.condition.tail_node().evaluate(compressor);
1282
+ if (!(cond instanceof AST_Node)) {
1283
+ if (cond) return make_node(AST_For, self, {
1284
+ body: make_node(AST_BlockStatement, self.body, {
1285
+ body: [
1286
+ self.body,
1287
+ make_node(AST_SimpleStatement, self.condition, {
1288
+ body: self.condition
1289
+ })
1290
+ ]
1291
+ })
1292
+ }).optimize(compressor);
1293
+ if (!has_break_or_continue(self, compressor.parent())) {
1294
+ return make_node(AST_BlockStatement, self.body, {
1295
+ body: [
1296
+ self.body,
1297
+ make_node(AST_SimpleStatement, self.condition, {
1298
+ body: self.condition
1299
+ })
1300
+ ]
1301
+ }).optimize(compressor);
1302
+ }
1303
+ }
1304
+ return self;
1305
+ });
1306
+
1307
+ function if_break_in_loop(self, compressor) {
1308
+ var first = self.body instanceof AST_BlockStatement ? self.body.body[0] : self.body;
1309
+ if (compressor.option("dead_code") && is_break(first)) {
1310
+ var body = [];
1311
+ if (self.init instanceof AST_Statement) {
1312
+ body.push(self.init);
1313
+ } else if (self.init) {
1314
+ body.push(make_node(AST_SimpleStatement, self.init, {
1315
+ body: self.init
1316
+ }));
1317
+ }
1318
+ if (self.condition) {
1319
+ body.push(make_node(AST_SimpleStatement, self.condition, {
1320
+ body: self.condition
1321
+ }));
1322
+ }
1323
+ trim_unreachable_code(compressor, self.body, body);
1324
+ return make_node(AST_BlockStatement, self, {
1325
+ body: body
1326
+ });
1327
+ }
1328
+ if (first instanceof AST_If) {
1329
+ if (is_break(first.body)) {
1330
+ if (self.condition) {
1331
+ self.condition = make_node(AST_Binary, self.condition, {
1332
+ left: self.condition,
1333
+ operator: "&&",
1334
+ right: first.condition.negate(compressor),
1335
+ });
1336
+ } else {
1337
+ self.condition = first.condition.negate(compressor);
1338
+ }
1339
+ drop_it(first.alternative);
1340
+ } else if (is_break(first.alternative)) {
1341
+ if (self.condition) {
1342
+ self.condition = make_node(AST_Binary, self.condition, {
1343
+ left: self.condition,
1344
+ operator: "&&",
1345
+ right: first.condition,
1346
+ });
1347
+ } else {
1348
+ self.condition = first.condition;
1349
+ }
1350
+ drop_it(first.body);
1351
+ }
1352
+ }
1353
+ return self;
1354
+
1355
+ function is_break(node) {
1356
+ return node instanceof AST_Break
1357
+ && compressor.loopcontrol_target(node) === compressor.self();
1358
+ }
1359
+
1360
+ function drop_it(rest) {
1361
+ rest = as_statement_array(rest);
1362
+ if (self.body instanceof AST_BlockStatement) {
1363
+ self.body = self.body.clone();
1364
+ self.body.body = rest.concat(self.body.body.slice(1));
1365
+ self.body = self.body.transform(compressor);
1366
+ } else {
1367
+ self.body = make_node(AST_BlockStatement, self.body, {
1368
+ body: rest
1369
+ }).transform(compressor);
1370
+ }
1371
+ self = if_break_in_loop(self, compressor);
1372
+ }
1373
+ }
1374
+
1375
+ def_optimize(AST_For, function(self, compressor) {
1376
+ if (!compressor.option("loops")) return self;
1377
+ if (compressor.option("side_effects") && self.init) {
1378
+ self.init = self.init.drop_side_effect_free(compressor);
1379
+ }
1380
+ if (self.condition) {
1381
+ var cond = self.condition.evaluate(compressor);
1382
+ if (!(cond instanceof AST_Node)) {
1383
+ if (cond) self.condition = null;
1384
+ else if (!compressor.option("dead_code")) {
1385
+ var orig = self.condition;
1386
+ self.condition = make_node_from_constant(cond, self.condition);
1387
+ self.condition = best_of_expression(self.condition.transform(compressor), orig);
1388
+ }
1389
+ }
1390
+ if (compressor.option("dead_code")) {
1391
+ if (cond instanceof AST_Node) cond = self.condition.tail_node().evaluate(compressor);
1392
+ if (!cond) {
1393
+ var body = [];
1394
+ trim_unreachable_code(compressor, self.body, body);
1395
+ if (self.init instanceof AST_Statement) {
1396
+ body.push(self.init);
1397
+ } else if (self.init) {
1398
+ body.push(make_node(AST_SimpleStatement, self.init, {
1399
+ body: self.init
1400
+ }));
1401
+ }
1402
+ body.push(make_node(AST_SimpleStatement, self.condition, {
1403
+ body: self.condition
1404
+ }));
1405
+ return make_node(AST_BlockStatement, self, { body: body }).optimize(compressor);
1406
+ }
1407
+ }
1408
+ }
1409
+ return if_break_in_loop(self, compressor);
1410
+ });
1411
+
1412
+ def_optimize(AST_If, function(self, compressor) {
1413
+ if (is_empty(self.alternative)) self.alternative = null;
1414
+
1415
+ if (!compressor.option("conditionals")) return self;
1416
+ // if condition can be statically determined, drop
1417
+ // one of the blocks. note, statically determined implies
1418
+ // “has no side effects”; also it doesn't work for cases like
1419
+ // `x && true`, though it probably should.
1420
+ var cond = self.condition.evaluate(compressor);
1421
+ if (!compressor.option("dead_code") && !(cond instanceof AST_Node)) {
1422
+ var orig = self.condition;
1423
+ self.condition = make_node_from_constant(cond, orig);
1424
+ self.condition = best_of_expression(self.condition.transform(compressor), orig);
1425
+ }
1426
+ if (compressor.option("dead_code")) {
1427
+ if (cond instanceof AST_Node) cond = self.condition.tail_node().evaluate(compressor);
1428
+ if (!cond) {
1429
+ var body = [];
1430
+ trim_unreachable_code(compressor, self.body, body);
1431
+ body.push(make_node(AST_SimpleStatement, self.condition, {
1432
+ body: self.condition
1433
+ }));
1434
+ if (self.alternative) body.push(self.alternative);
1435
+ return make_node(AST_BlockStatement, self, { body: body }).optimize(compressor);
1436
+ } else if (!(cond instanceof AST_Node)) {
1437
+ var body = [];
1438
+ body.push(make_node(AST_SimpleStatement, self.condition, {
1439
+ body: self.condition
1440
+ }));
1441
+ body.push(self.body);
1442
+ if (self.alternative) {
1443
+ trim_unreachable_code(compressor, self.alternative, body);
1444
+ }
1445
+ return make_node(AST_BlockStatement, self, { body: body }).optimize(compressor);
1446
+ }
1447
+ }
1448
+ var negated = self.condition.negate(compressor);
1449
+ var self_condition_length = self.condition.size();
1450
+ var negated_length = negated.size();
1451
+ var negated_is_best = negated_length < self_condition_length;
1452
+ if (self.alternative && negated_is_best) {
1453
+ negated_is_best = false; // because we already do the switch here.
1454
+ // no need to swap values of self_condition_length and negated_length
1455
+ // here because they are only used in an equality comparison later on.
1456
+ self.condition = negated;
1457
+ var tmp = self.body;
1458
+ self.body = self.alternative || make_node(AST_EmptyStatement, self);
1459
+ self.alternative = tmp;
1460
+ }
1461
+ if (is_empty(self.body) && is_empty(self.alternative)) {
1462
+ return make_node(AST_SimpleStatement, self.condition, {
1463
+ body: self.condition.clone()
1464
+ }).optimize(compressor);
1465
+ }
1466
+ if (self.body instanceof AST_SimpleStatement
1467
+ && self.alternative instanceof AST_SimpleStatement) {
1468
+ return make_node(AST_SimpleStatement, self, {
1469
+ body: make_node(AST_Conditional, self, {
1470
+ condition : self.condition,
1471
+ consequent : self.body.body,
1472
+ alternative : self.alternative.body
1473
+ })
1474
+ }).optimize(compressor);
1475
+ }
1476
+ if (is_empty(self.alternative) && self.body instanceof AST_SimpleStatement) {
1477
+ if (self_condition_length === negated_length && !negated_is_best
1478
+ && self.condition instanceof AST_Binary && self.condition.operator == "||") {
1479
+ // although the code length of self.condition and negated are the same,
1480
+ // negated does not require additional surrounding parentheses.
1481
+ // see https://github.com/mishoo/UglifyJS2/issues/979
1482
+ negated_is_best = true;
1483
+ }
1484
+ if (negated_is_best) return make_node(AST_SimpleStatement, self, {
1485
+ body: make_node(AST_Binary, self, {
1486
+ operator : "||",
1487
+ left : negated,
1488
+ right : self.body.body
1489
+ })
1490
+ }).optimize(compressor);
1491
+ return make_node(AST_SimpleStatement, self, {
1492
+ body: make_node(AST_Binary, self, {
1493
+ operator : "&&",
1494
+ left : self.condition,
1495
+ right : self.body.body
1496
+ })
1497
+ }).optimize(compressor);
1498
+ }
1499
+ if (self.body instanceof AST_EmptyStatement
1500
+ && self.alternative instanceof AST_SimpleStatement) {
1501
+ return make_node(AST_SimpleStatement, self, {
1502
+ body: make_node(AST_Binary, self, {
1503
+ operator : "||",
1504
+ left : self.condition,
1505
+ right : self.alternative.body
1506
+ })
1507
+ }).optimize(compressor);
1508
+ }
1509
+ if (self.body instanceof AST_Exit
1510
+ && self.alternative instanceof AST_Exit
1511
+ && self.body.TYPE == self.alternative.TYPE) {
1512
+ return make_node(self.body.CTOR, self, {
1513
+ value: make_node(AST_Conditional, self, {
1514
+ condition : self.condition,
1515
+ consequent : self.body.value || make_node(AST_Undefined, self.body),
1516
+ alternative : self.alternative.value || make_node(AST_Undefined, self.alternative)
1517
+ }).transform(compressor)
1518
+ }).optimize(compressor);
1519
+ }
1520
+ if (self.body instanceof AST_If
1521
+ && !self.body.alternative
1522
+ && !self.alternative) {
1523
+ self = make_node(AST_If, self, {
1524
+ condition: make_node(AST_Binary, self.condition, {
1525
+ operator: "&&",
1526
+ left: self.condition,
1527
+ right: self.body.condition
1528
+ }),
1529
+ body: self.body.body,
1530
+ alternative: null
1531
+ });
1532
+ }
1533
+ if (aborts(self.body)) {
1534
+ if (self.alternative) {
1535
+ var alt = self.alternative;
1536
+ self.alternative = null;
1537
+ return make_node(AST_BlockStatement, self, {
1538
+ body: [ self, alt ]
1539
+ }).optimize(compressor);
1540
+ }
1541
+ }
1542
+ if (aborts(self.alternative)) {
1543
+ var body = self.body;
1544
+ self.body = self.alternative;
1545
+ self.condition = negated_is_best ? negated : self.condition.negate(compressor);
1546
+ self.alternative = null;
1547
+ return make_node(AST_BlockStatement, self, {
1548
+ body: [ self, body ]
1549
+ }).optimize(compressor);
1550
+ }
1551
+ return self;
1552
+ });
1553
+
1554
+ def_optimize(AST_Switch, function(self, compressor) {
1555
+ if (!compressor.option("switches")) return self;
1556
+ var branch;
1557
+ var value = self.expression.evaluate(compressor);
1558
+ if (!(value instanceof AST_Node)) {
1559
+ var orig = self.expression;
1560
+ self.expression = make_node_from_constant(value, orig);
1561
+ self.expression = best_of_expression(self.expression.transform(compressor), orig);
1562
+ }
1563
+ if (!compressor.option("dead_code")) return self;
1564
+ if (value instanceof AST_Node) {
1565
+ value = self.expression.tail_node().evaluate(compressor);
1566
+ }
1567
+ var decl = [];
1568
+ var body = [];
1569
+ var default_branch;
1570
+ var exact_match;
1571
+ for (var i = 0, len = self.body.length; i < len && !exact_match; i++) {
1572
+ branch = self.body[i];
1573
+ if (branch instanceof AST_Default) {
1574
+ if (!default_branch) {
1575
+ default_branch = branch;
1576
+ } else {
1577
+ eliminate_branch(branch, body[body.length - 1]);
1578
+ }
1579
+ } else if (!(value instanceof AST_Node)) {
1580
+ var exp = branch.expression.evaluate(compressor);
1581
+ if (!(exp instanceof AST_Node) && exp !== value) {
1582
+ eliminate_branch(branch, body[body.length - 1]);
1583
+ continue;
1584
+ }
1585
+ if (exp instanceof AST_Node) exp = branch.expression.tail_node().evaluate(compressor);
1586
+ if (exp === value) {
1587
+ exact_match = branch;
1588
+ if (default_branch) {
1589
+ var default_index = body.indexOf(default_branch);
1590
+ body.splice(default_index, 1);
1591
+ eliminate_branch(default_branch, body[default_index - 1]);
1592
+ default_branch = null;
1593
+ }
1594
+ }
1595
+ }
1596
+ body.push(branch);
1597
+ }
1598
+ while (i < len) eliminate_branch(self.body[i++], body[body.length - 1]);
1599
+ self.body = body;
1600
+
1601
+ let default_or_exact = default_branch || exact_match;
1602
+ default_branch = null;
1603
+ exact_match = null;
1604
+
1605
+ // group equivalent branches so they will be located next to each other,
1606
+ // that way the next micro-optimization will merge them.
1607
+ // ** bail micro-optimization if not a simple switch case with breaks
1608
+ if (body.every((branch, i) =>
1609
+ (branch === default_or_exact || branch.expression instanceof AST_Constant)
1610
+ && (branch.body.length === 0 || aborts(branch) || body.length - 1 === i))
1611
+ ) {
1612
+ for (let i = 0; i < body.length; i++) {
1613
+ const branch = body[i];
1614
+ for (let j = i + 1; j < body.length; j++) {
1615
+ const next = body[j];
1616
+ if (next.body.length === 0) continue;
1617
+ const last_branch = j === (body.length - 1);
1618
+ const equivalentBranch = branches_equivalent(next, branch, false);
1619
+ if (equivalentBranch || (last_branch && branches_equivalent(next, branch, true))) {
1620
+ if (!equivalentBranch && last_branch) {
1621
+ next.body.push(make_node(AST_Break));
1622
+ }
1623
+
1624
+ // let's find previous siblings with inert fallthrough...
1625
+ let x = j - 1;
1626
+ let fallthroughDepth = 0;
1627
+ while (x > i) {
1628
+ if (is_inert_body(body[x--])) {
1629
+ fallthroughDepth++;
1630
+ } else {
1631
+ break;
1632
+ }
1633
+ }
1634
+
1635
+ const plucked = body.splice(j - fallthroughDepth, 1 + fallthroughDepth);
1636
+ body.splice(i + 1, 0, ...plucked);
1637
+ i += plucked.length;
1638
+ }
1639
+ }
1640
+ }
1641
+ }
1642
+
1643
+ // merge equivalent branches in a row
1644
+ for (let i = 0; i < body.length; i++) {
1645
+ let branch = body[i];
1646
+ if (branch.body.length === 0) continue;
1647
+ if (!aborts(branch)) continue;
1648
+
1649
+ for (let j = i + 1; j < body.length; i++, j++) {
1650
+ let next = body[j];
1651
+ if (next.body.length === 0) continue;
1652
+ if (
1653
+ branches_equivalent(next, branch, false)
1654
+ || (j === body.length - 1 && branches_equivalent(next, branch, true))
1655
+ ) {
1656
+ branch.body = [];
1657
+ branch = next;
1658
+ continue;
1659
+ }
1660
+ break;
1661
+ }
1662
+ }
1663
+
1664
+ // Prune any empty branches at the end of the switch statement.
1665
+ {
1666
+ let i = body.length - 1;
1667
+ for (; i >= 0; i--) {
1668
+ let bbody = body[i].body;
1669
+ if (is_break(bbody[bbody.length - 1], compressor)) bbody.pop();
1670
+ if (!is_inert_body(body[i])) break;
1671
+ }
1672
+ // i now points to the index of a branch that contains a body. By incrementing, it's
1673
+ // pointing to the first branch that's empty.
1674
+ i++;
1675
+ if (!default_or_exact || body.indexOf(default_or_exact) >= i) {
1676
+ // The default behavior is to do nothing. We can take advantage of that to
1677
+ // remove all case expressions that are side-effect free that also do
1678
+ // nothing, since they'll default to doing nothing. But we can't remove any
1679
+ // case expressions before one that would side-effect, since they may cause
1680
+ // the side-effect to be skipped.
1681
+ for (let j = body.length - 1; j >= i; j--) {
1682
+ let branch = body[j];
1683
+ if (branch === default_or_exact) {
1684
+ default_or_exact = null;
1685
+ body.pop();
1686
+ } else if (!branch.expression.has_side_effects(compressor)) {
1687
+ body.pop();
1688
+ } else {
1689
+ break;
1690
+ }
1691
+ }
1692
+ }
1693
+ }
1694
+
1695
+
1696
+ // Prune side-effect free branches that fall into default.
1697
+ DEFAULT: if (default_or_exact) {
1698
+ let default_index = body.indexOf(default_or_exact);
1699
+ let default_body_index = default_index;
1700
+ for (; default_body_index < body.length - 1; default_body_index++) {
1701
+ if (!is_inert_body(body[default_body_index])) break;
1702
+ }
1703
+ if (default_body_index < body.length - 1) {
1704
+ break DEFAULT;
1705
+ }
1706
+
1707
+ let side_effect_index = body.length - 1;
1708
+ for (; side_effect_index >= 0; side_effect_index--) {
1709
+ let branch = body[side_effect_index];
1710
+ if (branch === default_or_exact) continue;
1711
+ if (branch.expression.has_side_effects(compressor)) break;
1712
+ }
1713
+ // If the default behavior comes after any side-effect case expressions,
1714
+ // then we can fold all side-effect free cases into the default branch.
1715
+ // If the side-effect case is after the default, then any side-effect
1716
+ // free cases could prevent the side-effect from occurring.
1717
+ if (default_body_index > side_effect_index) {
1718
+ let prev_body_index = default_index - 1;
1719
+ for (; prev_body_index >= 0; prev_body_index--) {
1720
+ if (!is_inert_body(body[prev_body_index])) break;
1721
+ }
1722
+ let before = Math.max(side_effect_index, prev_body_index) + 1;
1723
+ let after = default_index;
1724
+ if (side_effect_index > default_index) {
1725
+ // If the default falls into the same body as a side-effect
1726
+ // case, then we need preserve that case and only prune the
1727
+ // cases after it.
1728
+ after = side_effect_index;
1729
+ body[side_effect_index].body = body[default_body_index].body;
1730
+ } else {
1731
+ // The default will be the last branch.
1732
+ default_or_exact.body = body[default_body_index].body;
1733
+ }
1734
+
1735
+ // Prune everything after the default (or last side-effect case)
1736
+ // until the next case with a body.
1737
+ body.splice(after + 1, default_body_index - after);
1738
+ // Prune everything before the default that falls into it.
1739
+ body.splice(before, default_index - before);
1740
+ }
1741
+ }
1742
+
1743
+ // See if we can remove the switch entirely if all cases (the default) fall into the same case body.
1744
+ DEFAULT: if (default_or_exact) {
1745
+ let i = body.findIndex(branch => !is_inert_body(branch));
1746
+ let caseBody;
1747
+ // `i` is equal to one of the following:
1748
+ // - `-1`, there is no body in the switch statement.
1749
+ // - `body.length - 1`, all cases fall into the same body.
1750
+ // - anything else, there are multiple bodies in the switch.
1751
+ if (i === body.length - 1) {
1752
+ // All cases fall into the case body.
1753
+ let branch = body[i];
1754
+ if (has_nested_break(self)) break DEFAULT;
1755
+
1756
+ // This is the last case body, and we've already pruned any breaks, so it's
1757
+ // safe to hoist.
1758
+ caseBody = make_node(AST_BlockStatement, branch, {
1759
+ body: branch.body
1760
+ });
1761
+ branch.body = [];
1762
+ } else if (i !== -1) {
1763
+ // If there are multiple bodies, then we cannot optimize anything.
1764
+ break DEFAULT;
1765
+ }
1766
+
1767
+ let sideEffect = body.find(branch => {
1768
+ return (
1769
+ branch !== default_or_exact
1770
+ && branch.expression.has_side_effects(compressor)
1771
+ );
1772
+ });
1773
+ // If no cases cause a side-effect, we can eliminate the switch entirely.
1774
+ if (!sideEffect) {
1775
+ return make_node(AST_BlockStatement, self, {
1776
+ body: decl.concat(
1777
+ statement(self.expression),
1778
+ default_or_exact.expression ? statement(default_or_exact.expression) : [],
1779
+ caseBody || []
1780
+ )
1781
+ }).optimize(compressor);
1782
+ }
1783
+
1784
+ // If we're this far, either there was no body or all cases fell into the same body.
1785
+ // If there was no body, then we don't need a default branch (because the default is
1786
+ // do nothing). If there was a body, we'll extract it to after the switch, so the
1787
+ // switch's new default is to do nothing and we can still prune it.
1788
+ const default_index = body.indexOf(default_or_exact);
1789
+ body.splice(default_index, 1);
1790
+ default_or_exact = null;
1791
+
1792
+ if (caseBody) {
1793
+ // Recurse into switch statement one more time so that we can append the case body
1794
+ // outside of the switch. This recursion will only happen once since we've pruned
1795
+ // the default case.
1796
+ return make_node(AST_BlockStatement, self, {
1797
+ body: decl.concat(self, caseBody)
1798
+ }).optimize(compressor);
1799
+ }
1800
+ // If we fall here, there is a default branch somewhere, there are no case bodies,
1801
+ // and there's a side-effect somewhere. Just let the below paths take care of it.
1802
+ }
1803
+
1804
+ if (body.length > 0) {
1805
+ body[0].body = decl.concat(body[0].body);
1806
+ }
1807
+
1808
+ if (body.length == 0) {
1809
+ return make_node(AST_BlockStatement, self, {
1810
+ body: decl.concat(statement(self.expression))
1811
+ }).optimize(compressor);
1812
+ }
1813
+ if (body.length == 1 && !has_nested_break(self)) {
1814
+ // This is the last case body, and we've already pruned any breaks, so it's
1815
+ // safe to hoist.
1816
+ let branch = body[0];
1817
+ return make_node(AST_If, self, {
1818
+ condition: make_node(AST_Binary, self, {
1819
+ operator: "===",
1820
+ left: self.expression,
1821
+ right: branch.expression,
1822
+ }),
1823
+ body: make_node(AST_BlockStatement, branch, {
1824
+ body: branch.body
1825
+ }),
1826
+ alternative: null
1827
+ }).optimize(compressor);
1828
+ }
1829
+ if (body.length === 2 && default_or_exact && !has_nested_break(self)) {
1830
+ let branch = body[0] === default_or_exact ? body[1] : body[0];
1831
+ let exact_exp = default_or_exact.expression && statement(default_or_exact.expression);
1832
+ if (aborts(body[0])) {
1833
+ // Only the first branch body could have a break (at the last statement)
1834
+ let first = body[0];
1835
+ if (is_break(first.body[first.body.length - 1], compressor)) {
1836
+ first.body.pop();
1837
+ }
1838
+ return make_node(AST_If, self, {
1839
+ condition: make_node(AST_Binary, self, {
1840
+ operator: "===",
1841
+ left: self.expression,
1842
+ right: branch.expression,
1843
+ }),
1844
+ body: make_node(AST_BlockStatement, branch, {
1845
+ body: branch.body
1846
+ }),
1847
+ alternative: make_node(AST_BlockStatement, default_or_exact, {
1848
+ body: [].concat(
1849
+ exact_exp || [],
1850
+ default_or_exact.body
1851
+ )
1852
+ })
1853
+ }).optimize(compressor);
1854
+ }
1855
+ let operator = "===";
1856
+ let consequent = make_node(AST_BlockStatement, branch, {
1857
+ body: branch.body,
1858
+ });
1859
+ let always = make_node(AST_BlockStatement, default_or_exact, {
1860
+ body: [].concat(
1861
+ exact_exp || [],
1862
+ default_or_exact.body
1863
+ )
1864
+ });
1865
+ if (body[0] === default_or_exact) {
1866
+ operator = "!==";
1867
+ let tmp = always;
1868
+ always = consequent;
1869
+ consequent = tmp;
1870
+ }
1871
+ return make_node(AST_BlockStatement, self, {
1872
+ body: [
1873
+ make_node(AST_If, self, {
1874
+ condition: make_node(AST_Binary, self, {
1875
+ operator: operator,
1876
+ left: self.expression,
1877
+ right: branch.expression,
1878
+ }),
1879
+ body: consequent,
1880
+ alternative: null
1881
+ })
1882
+ ].concat(always)
1883
+ }).optimize(compressor);
1884
+ }
1885
+ return self;
1886
+
1887
+ function eliminate_branch(branch, prev) {
1888
+ if (prev && !aborts(prev)) {
1889
+ prev.body = prev.body.concat(branch.body);
1890
+ } else {
1891
+ trim_unreachable_code(compressor, branch, decl);
1892
+ }
1893
+ }
1894
+ function branches_equivalent(branch, prev, insertBreak) {
1895
+ let bbody = branch.body;
1896
+ let pbody = prev.body;
1897
+ if (insertBreak) {
1898
+ bbody = bbody.concat(make_node(AST_Break));
1899
+ }
1900
+ if (bbody.length !== pbody.length) return false;
1901
+ let bblock = make_node(AST_BlockStatement, branch, { body: bbody });
1902
+ let pblock = make_node(AST_BlockStatement, prev, { body: pbody });
1903
+ return bblock.equivalent_to(pblock);
1904
+ }
1905
+ function statement(expression) {
1906
+ return make_node(AST_SimpleStatement, expression, {
1907
+ body: expression
1908
+ });
1909
+ }
1910
+ function has_nested_break(root) {
1911
+ let has_break = false;
1912
+ let tw = new TreeWalker(node => {
1913
+ if (has_break) return true;
1914
+ if (node instanceof AST_Lambda) return true;
1915
+ if (node instanceof AST_SimpleStatement) return true;
1916
+ if (!is_break(node, tw)) return;
1917
+ let parent = tw.parent();
1918
+ if (
1919
+ parent instanceof AST_SwitchBranch
1920
+ && parent.body[parent.body.length - 1] === node
1921
+ ) {
1922
+ return;
1923
+ }
1924
+ has_break = true;
1925
+ });
1926
+ root.walk(tw);
1927
+ return has_break;
1928
+ }
1929
+ function is_break(node, stack) {
1930
+ return node instanceof AST_Break
1931
+ && stack.loopcontrol_target(node) === self;
1932
+ }
1933
+ function is_inert_body(branch) {
1934
+ return !aborts(branch) && !make_node(AST_BlockStatement, branch, {
1935
+ body: branch.body
1936
+ }).has_side_effects(compressor);
1937
+ }
1938
+ });
1939
+
1940
+ def_optimize(AST_Try, function(self, compressor) {
1941
+ tighten_body(self.body, compressor);
1942
+ if (self.bcatch && self.bfinally && self.bfinally.body.every(is_empty)) self.bfinally = null;
1943
+ if (compressor.option("dead_code") && self.body.every(is_empty)) {
1944
+ var body = [];
1945
+ if (self.bcatch) {
1946
+ trim_unreachable_code(compressor, self.bcatch, body);
1947
+ }
1948
+ if (self.bfinally) body.push(...self.bfinally.body);
1949
+ return make_node(AST_BlockStatement, self, {
1950
+ body: body
1951
+ }).optimize(compressor);
1952
+ }
1953
+ return self;
1954
+ });
1955
+
1956
+ AST_Definitions.DEFMETHOD("remove_initializers", function() {
1957
+ var decls = [];
1958
+ this.definitions.forEach(function(def) {
1959
+ if (def.name instanceof AST_SymbolDeclaration) {
1960
+ def.value = null;
1961
+ decls.push(def);
1962
+ } else {
1963
+ walk(def.name, node => {
1964
+ if (node instanceof AST_SymbolDeclaration) {
1965
+ decls.push(make_node(AST_VarDef, def, {
1966
+ name: node,
1967
+ value: null
1968
+ }));
1969
+ }
1970
+ });
1971
+ }
1972
+ });
1973
+ this.definitions = decls;
1974
+ });
1975
+
1976
+ AST_Definitions.DEFMETHOD("to_assignments", function(compressor) {
1977
+ var reduce_vars = compressor.option("reduce_vars");
1978
+ var assignments = [];
1979
+
1980
+ for (const def of this.definitions) {
1981
+ if (def.value) {
1982
+ var name = make_node(AST_SymbolRef, def.name, def.name);
1983
+ assignments.push(make_node(AST_Assign, def, {
1984
+ operator : "=",
1985
+ logical: false,
1986
+ left : name,
1987
+ right : def.value
1988
+ }));
1989
+ if (reduce_vars) name.definition().fixed = false;
1990
+ } else if (def.value) {
1991
+ // Because it's a destructuring, do not turn into an assignment.
1992
+ var varDef = make_node(AST_VarDef, def, {
1993
+ name: def.name,
1994
+ value: def.value
1995
+ });
1996
+ var var_ = make_node(AST_Var, def, {
1997
+ definitions: [ varDef ]
1998
+ });
1999
+ assignments.push(var_);
2000
+ }
2001
+ const thedef = def.name.definition();
2002
+ thedef.eliminated++;
2003
+ thedef.replaced--;
2004
+ }
2005
+
2006
+ if (assignments.length == 0) return null;
2007
+ return make_sequence(this, assignments);
2008
+ });
2009
+
2010
+ def_optimize(AST_Definitions, function(self) {
2011
+ if (self.definitions.length == 0)
2012
+ return make_node(AST_EmptyStatement, self);
2013
+ return self;
2014
+ });
2015
+
2016
+ def_optimize(AST_VarDef, function(self, compressor) {
2017
+ if (
2018
+ self.name instanceof AST_SymbolLet
2019
+ && self.value != null
2020
+ && is_undefined(self.value, compressor)
2021
+ ) {
2022
+ self.value = null;
2023
+ }
2024
+ return self;
2025
+ });
2026
+
2027
+ def_optimize(AST_Import, function(self) {
2028
+ return self;
2029
+ });
2030
+
2031
+ // TODO this only works with AST_Defun, shouldn't it work for other ways of defining functions?
2032
+ function retain_top_func(fn, compressor) {
2033
+ return compressor.top_retain
2034
+ && fn instanceof AST_Defun
2035
+ && has_flag(fn, TOP)
2036
+ && fn.name
2037
+ && compressor.top_retain(fn.name);
2038
+ }
2039
+
2040
+ def_optimize(AST_Call, function(self, compressor) {
2041
+ var exp = self.expression;
2042
+ var fn = exp;
2043
+ inline_array_like_spread(self.args);
2044
+ var simple_args = self.args.every((arg) =>
2045
+ !(arg instanceof AST_Expansion)
2046
+ );
2047
+
2048
+ if (compressor.option("reduce_vars")
2049
+ && fn instanceof AST_SymbolRef
2050
+ && !has_annotation(self, _NOINLINE)
2051
+ ) {
2052
+ const fixed = fn.fixed_value();
2053
+ if (!retain_top_func(fixed, compressor)) {
2054
+ fn = fixed;
2055
+ }
2056
+ }
2057
+
2058
+ var is_func = fn instanceof AST_Lambda;
2059
+
2060
+ if (is_func && fn.pinned()) return self;
2061
+
2062
+ if (compressor.option("unused")
2063
+ && simple_args
2064
+ && is_func
2065
+ && !fn.uses_arguments) {
2066
+ var pos = 0, last = 0;
2067
+ for (var i = 0, len = self.args.length; i < len; i++) {
2068
+ if (fn.argnames[i] instanceof AST_Expansion) {
2069
+ if (has_flag(fn.argnames[i].expression, UNUSED)) while (i < len) {
2070
+ var node = self.args[i++].drop_side_effect_free(compressor);
2071
+ if (node) {
2072
+ self.args[pos++] = node;
2073
+ }
2074
+ } else while (i < len) {
2075
+ self.args[pos++] = self.args[i++];
2076
+ }
2077
+ last = pos;
2078
+ break;
2079
+ }
2080
+ var trim = i >= fn.argnames.length;
2081
+ if (trim || has_flag(fn.argnames[i], UNUSED)) {
2082
+ var node = self.args[i].drop_side_effect_free(compressor);
2083
+ if (node) {
2084
+ self.args[pos++] = node;
2085
+ } else if (!trim) {
2086
+ self.args[pos++] = make_node(AST_Number, self.args[i], {
2087
+ value: 0
2088
+ });
2089
+ continue;
2090
+ }
2091
+ } else {
2092
+ self.args[pos++] = self.args[i];
2093
+ }
2094
+ last = pos;
2095
+ }
2096
+ self.args.length = last;
2097
+ }
2098
+
2099
+ if (compressor.option("unsafe")) {
2100
+ if (exp instanceof AST_Dot && exp.start.value === "Array" && exp.property === "from" && self.args.length === 1) {
2101
+ const [argument] = self.args;
2102
+ if (argument instanceof AST_Array) {
2103
+ return make_node(AST_Array, argument, {
2104
+ elements: argument.elements
2105
+ }).optimize(compressor);
2106
+ }
2107
+ }
2108
+ if (is_undeclared_ref(exp)) switch (exp.name) {
2109
+ case "Array":
2110
+ if (self.args.length != 1) {
2111
+ return make_node(AST_Array, self, {
2112
+ elements: self.args
2113
+ }).optimize(compressor);
2114
+ } else if (self.args[0] instanceof AST_Number && self.args[0].value <= 11) {
2115
+ const elements = [];
2116
+ for (let i = 0; i < self.args[0].value; i++) elements.push(new AST_Hole);
2117
+ return new AST_Array({ elements });
2118
+ }
2119
+ break;
2120
+ case "Object":
2121
+ if (self.args.length == 0) {
2122
+ return make_node(AST_Object, self, {
2123
+ properties: []
2124
+ });
2125
+ }
2126
+ break;
2127
+ case "String":
2128
+ if (self.args.length == 0) return make_node(AST_String, self, {
2129
+ value: ""
2130
+ });
2131
+ if (self.args.length <= 1) return make_node(AST_Binary, self, {
2132
+ left: self.args[0],
2133
+ operator: "+",
2134
+ right: make_node(AST_String, self, { value: "" })
2135
+ }).optimize(compressor);
2136
+ break;
2137
+ case "Number":
2138
+ if (self.args.length == 0) return make_node(AST_Number, self, {
2139
+ value: 0
2140
+ });
2141
+ if (self.args.length == 1 && compressor.option("unsafe_math")) {
2142
+ return make_node(AST_UnaryPrefix, self, {
2143
+ expression: self.args[0],
2144
+ operator: "+"
2145
+ }).optimize(compressor);
2146
+ }
2147
+ break;
2148
+ case "Symbol":
2149
+ if (self.args.length == 1 && self.args[0] instanceof AST_String && compressor.option("unsafe_symbols"))
2150
+ self.args.length = 0;
2151
+ break;
2152
+ case "Boolean":
2153
+ if (self.args.length == 0) return make_node(AST_False, self);
2154
+ if (self.args.length == 1) return make_node(AST_UnaryPrefix, self, {
2155
+ expression: make_node(AST_UnaryPrefix, self, {
2156
+ expression: self.args[0],
2157
+ operator: "!"
2158
+ }),
2159
+ operator: "!"
2160
+ }).optimize(compressor);
2161
+ break;
2162
+ case "RegExp":
2163
+ var params = [];
2164
+ if (self.args.length >= 1
2165
+ && self.args.length <= 2
2166
+ && self.args.every((arg) => {
2167
+ var value = arg.evaluate(compressor);
2168
+ params.push(value);
2169
+ return arg !== value;
2170
+ })
2171
+ ) {
2172
+ let [ source, flags ] = params;
2173
+ source = regexp_source_fix(new RegExp(source).source);
2174
+ const rx = make_node(AST_RegExp, self, {
2175
+ value: { source, flags }
2176
+ });
2177
+ if (rx._eval(compressor) !== rx) {
2178
+ return rx;
2179
+ }
2180
+ }
2181
+ break;
2182
+ } else if (exp instanceof AST_Dot) switch(exp.property) {
2183
+ case "toString":
2184
+ if (self.args.length == 0 && !exp.expression.may_throw_on_access(compressor)) {
2185
+ return make_node(AST_Binary, self, {
2186
+ left: make_node(AST_String, self, { value: "" }),
2187
+ operator: "+",
2188
+ right: exp.expression
2189
+ }).optimize(compressor);
2190
+ }
2191
+ break;
2192
+ case "join":
2193
+ if (exp.expression instanceof AST_Array) EXIT: {
2194
+ var separator;
2195
+ if (self.args.length > 0) {
2196
+ separator = self.args[0].evaluate(compressor);
2197
+ if (separator === self.args[0]) break EXIT; // not a constant
2198
+ }
2199
+ var elements = [];
2200
+ var consts = [];
2201
+ for (var i = 0, len = exp.expression.elements.length; i < len; i++) {
2202
+ var el = exp.expression.elements[i];
2203
+ if (el instanceof AST_Expansion) break EXIT;
2204
+ var value = el.evaluate(compressor);
2205
+ if (value !== el) {
2206
+ consts.push(value);
2207
+ } else {
2208
+ if (consts.length > 0) {
2209
+ elements.push(make_node(AST_String, self, {
2210
+ value: consts.join(separator)
2211
+ }));
2212
+ consts.length = 0;
2213
+ }
2214
+ elements.push(el);
2215
+ }
2216
+ }
2217
+ if (consts.length > 0) {
2218
+ elements.push(make_node(AST_String, self, {
2219
+ value: consts.join(separator)
2220
+ }));
2221
+ }
2222
+ if (elements.length == 0) return make_node(AST_String, self, { value: "" });
2223
+ if (elements.length == 1) {
2224
+ if (elements[0].is_string(compressor)) {
2225
+ return elements[0];
2226
+ }
2227
+ return make_node(AST_Binary, elements[0], {
2228
+ operator : "+",
2229
+ left : make_node(AST_String, self, { value: "" }),
2230
+ right : elements[0]
2231
+ });
2232
+ }
2233
+ if (separator == "") {
2234
+ var first;
2235
+ if (elements[0].is_string(compressor)
2236
+ || elements[1].is_string(compressor)) {
2237
+ first = elements.shift();
2238
+ } else {
2239
+ first = make_node(AST_String, self, { value: "" });
2240
+ }
2241
+ return elements.reduce(function(prev, el) {
2242
+ return make_node(AST_Binary, el, {
2243
+ operator : "+",
2244
+ left : prev,
2245
+ right : el
2246
+ });
2247
+ }, first).optimize(compressor);
2248
+ }
2249
+ // need this awkward cloning to not affect original element
2250
+ // best_of will decide which one to get through.
2251
+ var node = self.clone();
2252
+ node.expression = node.expression.clone();
2253
+ node.expression.expression = node.expression.expression.clone();
2254
+ node.expression.expression.elements = elements;
2255
+ return best_of(compressor, self, node);
2256
+ }
2257
+ break;
2258
+ case "charAt":
2259
+ if (exp.expression.is_string(compressor)) {
2260
+ var arg = self.args[0];
2261
+ var index = arg ? arg.evaluate(compressor) : 0;
2262
+ if (index !== arg) {
2263
+ return make_node(AST_Sub, exp, {
2264
+ expression: exp.expression,
2265
+ property: make_node_from_constant(index | 0, arg || exp)
2266
+ }).optimize(compressor);
2267
+ }
2268
+ }
2269
+ break;
2270
+ case "apply":
2271
+ if (self.args.length == 2 && self.args[1] instanceof AST_Array) {
2272
+ var args = self.args[1].elements.slice();
2273
+ args.unshift(self.args[0]);
2274
+ return make_node(AST_Call, self, {
2275
+ expression: make_node(AST_Dot, exp, {
2276
+ expression: exp.expression,
2277
+ optional: false,
2278
+ property: "call"
2279
+ }),
2280
+ args: args
2281
+ }).optimize(compressor);
2282
+ }
2283
+ break;
2284
+ case "call":
2285
+ var func = exp.expression;
2286
+ if (func instanceof AST_SymbolRef) {
2287
+ func = func.fixed_value();
2288
+ }
2289
+ if (func instanceof AST_Lambda && !func.contains_this()) {
2290
+ return (self.args.length ? make_sequence(this, [
2291
+ self.args[0],
2292
+ make_node(AST_Call, self, {
2293
+ expression: exp.expression,
2294
+ args: self.args.slice(1)
2295
+ })
2296
+ ]) : make_node(AST_Call, self, {
2297
+ expression: exp.expression,
2298
+ args: []
2299
+ })).optimize(compressor);
2300
+ }
2301
+ break;
2302
+ }
2303
+ }
2304
+
2305
+ if (compressor.option("unsafe_Function")
2306
+ && is_undeclared_ref(exp)
2307
+ && exp.name == "Function") {
2308
+ // new Function() => function(){}
2309
+ if (self.args.length == 0) return make_node(AST_Function, self, {
2310
+ argnames: [],
2311
+ body: []
2312
+ }).optimize(compressor);
2313
+ var nth_identifier = compressor.mangle_options && compressor.mangle_options.nth_identifier || base54;
2314
+ if (self.args.every((x) => x instanceof AST_String)) {
2315
+ // quite a corner-case, but we can handle it:
2316
+ // https://github.com/mishoo/UglifyJS2/issues/203
2317
+ // if the code argument is a constant, then we can minify it.
2318
+ try {
2319
+ var code = "n(function(" + self.args.slice(0, -1).map(function(arg) {
2320
+ return arg.value;
2321
+ }).join(",") + "){" + self.args[self.args.length - 1].value + "})";
2322
+ var ast = parse(code);
2323
+ var mangle = { ie8: compressor.option("ie8"), nth_identifier: nth_identifier };
2324
+ ast.figure_out_scope(mangle);
2325
+ var comp = new Compressor(compressor.options, {
2326
+ mangle_options: compressor.mangle_options
2327
+ });
2328
+ ast = ast.transform(comp);
2329
+ ast.figure_out_scope(mangle);
2330
+ ast.compute_char_frequency(mangle);
2331
+ ast.mangle_names(mangle);
2332
+ var fun;
2333
+ walk(ast, node => {
2334
+ if (is_func_expr(node)) {
2335
+ fun = node;
2336
+ return walk_abort;
2337
+ }
2338
+ });
2339
+ var code = OutputStream();
2340
+ AST_BlockStatement.prototype._codegen.call(fun, fun, code);
2341
+ self.args = [
2342
+ make_node(AST_String, self, {
2343
+ value: fun.argnames.map(function(arg) {
2344
+ return arg.print_to_string();
2345
+ }).join(",")
2346
+ }),
2347
+ make_node(AST_String, self.args[self.args.length - 1], {
2348
+ value: code.get().replace(/^{|}$/g, "")
2349
+ })
2350
+ ];
2351
+ return self;
2352
+ } catch (ex) {
2353
+ if (!(ex instanceof JS_Parse_Error)) {
2354
+ throw ex;
2355
+ }
2356
+
2357
+ // Otherwise, it crashes at runtime. Or maybe it's nonstandard syntax.
2358
+ }
2359
+ }
2360
+ }
2361
+
2362
+ var stat = is_func && fn.body[0];
2363
+ var is_regular_func = is_func && !fn.is_generator && !fn.async;
2364
+ var can_inline = is_regular_func && compressor.option("inline") && !self.is_callee_pure(compressor);
2365
+ if (can_inline && stat instanceof AST_Return) {
2366
+ let returned = stat.value;
2367
+ if (!returned || returned.is_constant_expression()) {
2368
+ if (returned) {
2369
+ returned = returned.clone(true);
2370
+ } else {
2371
+ returned = make_node(AST_Undefined, self);
2372
+ }
2373
+ const args = self.args.concat(returned);
2374
+ return make_sequence(self, args).optimize(compressor);
2375
+ }
2376
+
2377
+ // optimize identity function
2378
+ if (
2379
+ fn.argnames.length === 1
2380
+ && (fn.argnames[0] instanceof AST_SymbolFunarg)
2381
+ && self.args.length < 2
2382
+ && returned instanceof AST_SymbolRef
2383
+ && returned.name === fn.argnames[0].name
2384
+ ) {
2385
+ const replacement =
2386
+ (self.args[0] || make_node(AST_Undefined)).optimize(compressor);
2387
+
2388
+ let parent;
2389
+ if (
2390
+ replacement instanceof AST_PropAccess
2391
+ && (parent = compressor.parent()) instanceof AST_Call
2392
+ && parent.expression === self
2393
+ ) {
2394
+ // identity function was being used to remove `this`, like in
2395
+ //
2396
+ // id(bag.no_this)(...)
2397
+ //
2398
+ // Replace with a larger but more effish (0, bag.no_this) wrapper.
2399
+
2400
+ return make_sequence(self, [
2401
+ make_node(AST_Number, self, { value: 0 }),
2402
+ replacement
2403
+ ]);
2404
+ }
2405
+ // replace call with first argument or undefined if none passed
2406
+ return replacement;
2407
+ }
2408
+ }
2409
+
2410
+ if (can_inline) {
2411
+ var scope, in_loop, level = -1;
2412
+ let def;
2413
+ let returned_value;
2414
+ let nearest_scope;
2415
+ if (simple_args
2416
+ && !fn.uses_arguments
2417
+ && !(compressor.parent() instanceof AST_Class)
2418
+ && !(fn.name && fn instanceof AST_Function)
2419
+ && (returned_value = can_flatten_body(stat))
2420
+ && (exp === fn
2421
+ || has_annotation(self, _INLINE)
2422
+ || compressor.option("unused")
2423
+ && (def = exp.definition()).references.length == 1
2424
+ && !is_recursive_ref(compressor, def)
2425
+ && fn.is_constant_expression(exp.scope))
2426
+ && !has_annotation(self, _PURE | _NOINLINE)
2427
+ && !fn.contains_this()
2428
+ && can_inject_symbols()
2429
+ && (nearest_scope = find_scope(compressor))
2430
+ && !scope_encloses_variables_in_this_scope(nearest_scope, fn)
2431
+ && !(function in_default_assign() {
2432
+ // Due to the fact function parameters have their own scope
2433
+ // which can't use `var something` in the function body within,
2434
+ // we simply don't inline into DefaultAssign.
2435
+ let i = 0;
2436
+ let p;
2437
+ while ((p = compressor.parent(i++))) {
2438
+ if (p instanceof AST_DefaultAssign) return true;
2439
+ if (p instanceof AST_Block) break;
2440
+ }
2441
+ return false;
2442
+ })()
2443
+ && !(scope instanceof AST_Class)
2444
+ ) {
2445
+ set_flag(fn, SQUEEZED);
2446
+ nearest_scope.add_child_scope(fn);
2447
+ return make_sequence(self, flatten_fn(returned_value)).optimize(compressor);
2448
+ }
2449
+ }
2450
+
2451
+ if (can_inline && has_annotation(self, _INLINE)) {
2452
+ set_flag(fn, SQUEEZED);
2453
+ fn = make_node(fn.CTOR === AST_Defun ? AST_Function : fn.CTOR, fn, fn);
2454
+ fn = fn.clone(true);
2455
+ fn.figure_out_scope({}, {
2456
+ parent_scope: find_scope(compressor),
2457
+ toplevel: compressor.get_toplevel()
2458
+ });
2459
+
2460
+ return make_node(AST_Call, self, {
2461
+ expression: fn,
2462
+ args: self.args,
2463
+ }).optimize(compressor);
2464
+ }
2465
+
2466
+ const can_drop_this_call = is_regular_func && compressor.option("side_effects") && fn.body.every(is_empty);
2467
+ if (can_drop_this_call) {
2468
+ var args = self.args.concat(make_node(AST_Undefined, self));
2469
+ return make_sequence(self, args).optimize(compressor);
2470
+ }
2471
+
2472
+ if (compressor.option("negate_iife")
2473
+ && compressor.parent() instanceof AST_SimpleStatement
2474
+ && is_iife_call(self)) {
2475
+ return self.negate(compressor, true);
2476
+ }
2477
+
2478
+ var ev = self.evaluate(compressor);
2479
+ if (ev !== self) {
2480
+ ev = make_node_from_constant(ev, self).optimize(compressor);
2481
+ return best_of(compressor, ev, self);
2482
+ }
2483
+
2484
+ return self;
2485
+
2486
+ function return_value(stat) {
2487
+ if (!stat) return make_node(AST_Undefined, self);
2488
+ if (stat instanceof AST_Return) {
2489
+ if (!stat.value) return make_node(AST_Undefined, self);
2490
+ return stat.value.clone(true);
2491
+ }
2492
+ if (stat instanceof AST_SimpleStatement) {
2493
+ return make_node(AST_UnaryPrefix, stat, {
2494
+ operator: "void",
2495
+ expression: stat.body.clone(true)
2496
+ });
2497
+ }
2498
+ }
2499
+
2500
+ function can_flatten_body(stat) {
2501
+ var body = fn.body;
2502
+ var len = body.length;
2503
+ if (compressor.option("inline") < 3) {
2504
+ return len == 1 && return_value(stat);
2505
+ }
2506
+ stat = null;
2507
+ for (var i = 0; i < len; i++) {
2508
+ var line = body[i];
2509
+ if (line instanceof AST_Var) {
2510
+ if (stat && !line.definitions.every((var_def) =>
2511
+ !var_def.value
2512
+ )) {
2513
+ return false;
2514
+ }
2515
+ } else if (stat) {
2516
+ return false;
2517
+ } else if (!(line instanceof AST_EmptyStatement)) {
2518
+ stat = line;
2519
+ }
2520
+ }
2521
+ return return_value(stat);
2522
+ }
2523
+
2524
+ function can_inject_args(block_scoped, safe_to_inject) {
2525
+ for (var i = 0, len = fn.argnames.length; i < len; i++) {
2526
+ var arg = fn.argnames[i];
2527
+ if (arg instanceof AST_DefaultAssign) {
2528
+ if (has_flag(arg.left, UNUSED)) continue;
2529
+ return false;
2530
+ }
2531
+ if (arg instanceof AST_Destructuring) return false;
2532
+ if (arg instanceof AST_Expansion) {
2533
+ if (has_flag(arg.expression, UNUSED)) continue;
2534
+ return false;
2535
+ }
2536
+ if (has_flag(arg, UNUSED)) continue;
2537
+ if (!safe_to_inject
2538
+ || block_scoped.has(arg.name)
2539
+ || identifier_atom.has(arg.name)
2540
+ || scope.conflicting_def(arg.name)) {
2541
+ return false;
2542
+ }
2543
+ if (in_loop) in_loop.push(arg.definition());
2544
+ }
2545
+ return true;
2546
+ }
2547
+
2548
+ function can_inject_vars(block_scoped, safe_to_inject) {
2549
+ var len = fn.body.length;
2550
+ for (var i = 0; i < len; i++) {
2551
+ var stat = fn.body[i];
2552
+ if (!(stat instanceof AST_Var)) continue;
2553
+ if (!safe_to_inject) return false;
2554
+ for (var j = stat.definitions.length; --j >= 0;) {
2555
+ var name = stat.definitions[j].name;
2556
+ if (name instanceof AST_Destructuring
2557
+ || block_scoped.has(name.name)
2558
+ || identifier_atom.has(name.name)
2559
+ || scope.conflicting_def(name.name)) {
2560
+ return false;
2561
+ }
2562
+ if (in_loop) in_loop.push(name.definition());
2563
+ }
2564
+ }
2565
+ return true;
2566
+ }
2567
+
2568
+ function can_inject_symbols() {
2569
+ var block_scoped = new Set();
2570
+ do {
2571
+ scope = compressor.parent(++level);
2572
+ if (scope.is_block_scope() && scope.block_scope) {
2573
+ // TODO this is sometimes undefined during compression.
2574
+ // But it should always have a value!
2575
+ scope.block_scope.variables.forEach(function (variable) {
2576
+ block_scoped.add(variable.name);
2577
+ });
2578
+ }
2579
+ if (scope instanceof AST_Catch) {
2580
+ // TODO can we delete? AST_Catch is a block scope.
2581
+ if (scope.argname) {
2582
+ block_scoped.add(scope.argname.name);
2583
+ }
2584
+ } else if (scope instanceof AST_IterationStatement) {
2585
+ in_loop = [];
2586
+ } else if (scope instanceof AST_SymbolRef) {
2587
+ if (scope.fixed_value() instanceof AST_Scope) return false;
2588
+ }
2589
+ } while (!(scope instanceof AST_Scope));
2590
+
2591
+ var safe_to_inject = !(scope instanceof AST_Toplevel) || compressor.toplevel.vars;
2592
+ var inline = compressor.option("inline");
2593
+ if (!can_inject_vars(block_scoped, inline >= 3 && safe_to_inject)) return false;
2594
+ if (!can_inject_args(block_scoped, inline >= 2 && safe_to_inject)) return false;
2595
+ return !in_loop || in_loop.length == 0 || !is_reachable(fn, in_loop);
2596
+ }
2597
+
2598
+ function append_var(decls, expressions, name, value) {
2599
+ var def = name.definition();
2600
+
2601
+ // Name already exists, only when a function argument had the same name
2602
+ const already_appended = scope.variables.has(name.name);
2603
+ if (!already_appended) {
2604
+ scope.variables.set(name.name, def);
2605
+ scope.enclosed.push(def);
2606
+ decls.push(make_node(AST_VarDef, name, {
2607
+ name: name,
2608
+ value: null
2609
+ }));
2610
+ }
2611
+
2612
+ var sym = make_node(AST_SymbolRef, name, name);
2613
+ def.references.push(sym);
2614
+ if (value) expressions.push(make_node(AST_Assign, self, {
2615
+ operator: "=",
2616
+ logical: false,
2617
+ left: sym,
2618
+ right: value.clone()
2619
+ }));
2620
+ }
2621
+
2622
+ function flatten_args(decls, expressions) {
2623
+ var len = fn.argnames.length;
2624
+ for (var i = self.args.length; --i >= len;) {
2625
+ expressions.push(self.args[i]);
2626
+ }
2627
+ for (i = len; --i >= 0;) {
2628
+ var name = fn.argnames[i];
2629
+ var value = self.args[i];
2630
+ if (has_flag(name, UNUSED) || !name.name || scope.conflicting_def(name.name)) {
2631
+ if (value) expressions.push(value);
2632
+ } else {
2633
+ var symbol = make_node(AST_SymbolVar, name, name);
2634
+ name.definition().orig.push(symbol);
2635
+ if (!value && in_loop) value = make_node(AST_Undefined, self);
2636
+ append_var(decls, expressions, symbol, value);
2637
+ }
2638
+ }
2639
+ decls.reverse();
2640
+ expressions.reverse();
2641
+ }
2642
+
2643
+ function flatten_vars(decls, expressions) {
2644
+ var pos = expressions.length;
2645
+ for (var i = 0, lines = fn.body.length; i < lines; i++) {
2646
+ var stat = fn.body[i];
2647
+ if (!(stat instanceof AST_Var)) continue;
2648
+ for (var j = 0, defs = stat.definitions.length; j < defs; j++) {
2649
+ var var_def = stat.definitions[j];
2650
+ var name = var_def.name;
2651
+ append_var(decls, expressions, name, var_def.value);
2652
+ if (in_loop && fn.argnames.every((argname) =>
2653
+ argname.name != name.name
2654
+ )) {
2655
+ var def = fn.variables.get(name.name);
2656
+ var sym = make_node(AST_SymbolRef, name, name);
2657
+ def.references.push(sym);
2658
+ expressions.splice(pos++, 0, make_node(AST_Assign, var_def, {
2659
+ operator: "=",
2660
+ logical: false,
2661
+ left: sym,
2662
+ right: make_node(AST_Undefined, name)
2663
+ }));
2664
+ }
2665
+ }
2666
+ }
2667
+ }
2668
+
2669
+ function flatten_fn(returned_value) {
2670
+ var decls = [];
2671
+ var expressions = [];
2672
+ flatten_args(decls, expressions);
2673
+ flatten_vars(decls, expressions);
2674
+ expressions.push(returned_value);
2675
+
2676
+ if (decls.length) {
2677
+ const i = scope.body.indexOf(compressor.parent(level - 1)) + 1;
2678
+ scope.body.splice(i, 0, make_node(AST_Var, fn, {
2679
+ definitions: decls
2680
+ }));
2681
+ }
2682
+
2683
+ return expressions.map(exp => exp.clone(true));
2684
+ }
2685
+ });
2686
+
2687
+ def_optimize(AST_New, function(self, compressor) {
2688
+ if (
2689
+ compressor.option("unsafe") &&
2690
+ is_undeclared_ref(self.expression) &&
2691
+ ["Object", "RegExp", "Function", "Error", "Array"].includes(self.expression.name)
2692
+ ) return make_node(AST_Call, self, self).transform(compressor);
2693
+ return self;
2694
+ });
2695
+
2696
+ def_optimize(AST_Sequence, function(self, compressor) {
2697
+ if (!compressor.option("side_effects")) return self;
2698
+ var expressions = [];
2699
+ filter_for_side_effects();
2700
+ var end = expressions.length - 1;
2701
+ trim_right_for_undefined();
2702
+ if (end == 0) {
2703
+ self = maintain_this_binding(compressor.parent(), compressor.self(), expressions[0]);
2704
+ if (!(self instanceof AST_Sequence)) self = self.optimize(compressor);
2705
+ return self;
2706
+ }
2707
+ self.expressions = expressions;
2708
+ return self;
2709
+
2710
+ function filter_for_side_effects() {
2711
+ var first = first_in_statement(compressor);
2712
+ var last = self.expressions.length - 1;
2713
+ self.expressions.forEach(function(expr, index) {
2714
+ if (index < last) expr = expr.drop_side_effect_free(compressor, first);
2715
+ if (expr) {
2716
+ merge_sequence(expressions, expr);
2717
+ first = false;
2718
+ }
2719
+ });
2720
+ }
2721
+
2722
+ function trim_right_for_undefined() {
2723
+ while (end > 0 && is_undefined(expressions[end], compressor)) end--;
2724
+ if (end < expressions.length - 1) {
2725
+ expressions[end] = make_node(AST_UnaryPrefix, self, {
2726
+ operator : "void",
2727
+ expression : expressions[end]
2728
+ });
2729
+ expressions.length = end + 1;
2730
+ }
2731
+ }
2732
+ });
2733
+
2734
+ AST_Unary.DEFMETHOD("lift_sequences", function(compressor) {
2735
+ if (compressor.option("sequences")) {
2736
+ if (this.expression instanceof AST_Sequence) {
2737
+ var x = this.expression.expressions.slice();
2738
+ var e = this.clone();
2739
+ e.expression = x.pop();
2740
+ x.push(e);
2741
+ return make_sequence(this, x).optimize(compressor);
2742
+ }
2743
+ }
2744
+ return this;
2745
+ });
2746
+
2747
+ def_optimize(AST_UnaryPostfix, function(self, compressor) {
2748
+ return self.lift_sequences(compressor);
2749
+ });
2750
+
2751
+ def_optimize(AST_UnaryPrefix, function(self, compressor) {
2752
+ var e = self.expression;
2753
+ if (
2754
+ self.operator == "delete" &&
2755
+ !(
2756
+ e instanceof AST_SymbolRef ||
2757
+ e instanceof AST_PropAccess ||
2758
+ e instanceof AST_Chain ||
2759
+ is_identifier_atom(e)
2760
+ )
2761
+ ) {
2762
+ return make_sequence(self, [e, make_node(AST_True, self)]).optimize(compressor);
2763
+ }
2764
+ var seq = self.lift_sequences(compressor);
2765
+ if (seq !== self) {
2766
+ return seq;
2767
+ }
2768
+ if (compressor.option("side_effects") && self.operator == "void") {
2769
+ e = e.drop_side_effect_free(compressor);
2770
+ if (e) {
2771
+ self.expression = e;
2772
+ return self;
2773
+ } else {
2774
+ return make_node(AST_Undefined, self).optimize(compressor);
2775
+ }
2776
+ }
2777
+ if (compressor.in_boolean_context()) {
2778
+ switch (self.operator) {
2779
+ case "!":
2780
+ if (e instanceof AST_UnaryPrefix && e.operator == "!") {
2781
+ // !!foo ==> foo, if we're in boolean context
2782
+ return e.expression;
2783
+ }
2784
+ if (e instanceof AST_Binary) {
2785
+ self = best_of(compressor, self, e.negate(compressor, first_in_statement(compressor)));
2786
+ }
2787
+ break;
2788
+ case "typeof":
2789
+ // typeof always returns a non-empty string, thus it's
2790
+ // always true in booleans
2791
+ // And we don't need to check if it's undeclared, because in typeof, that's OK
2792
+ return (e instanceof AST_SymbolRef ? make_node(AST_True, self) : make_sequence(self, [
2793
+ e,
2794
+ make_node(AST_True, self)
2795
+ ])).optimize(compressor);
2796
+ }
2797
+ }
2798
+ if (self.operator == "-" && e instanceof AST_Infinity) {
2799
+ e = e.transform(compressor);
2800
+ }
2801
+ if (e instanceof AST_Binary
2802
+ && (self.operator == "+" || self.operator == "-")
2803
+ && (e.operator == "*" || e.operator == "/" || e.operator == "%")) {
2804
+ return make_node(AST_Binary, self, {
2805
+ operator: e.operator,
2806
+ left: make_node(AST_UnaryPrefix, e.left, {
2807
+ operator: self.operator,
2808
+ expression: e.left
2809
+ }),
2810
+ right: e.right
2811
+ });
2812
+ }
2813
+ // avoids infinite recursion of numerals
2814
+ if (self.operator != "-"
2815
+ || !(e instanceof AST_Number || e instanceof AST_Infinity || e instanceof AST_BigInt)) {
2816
+ var ev = self.evaluate(compressor);
2817
+ if (ev !== self) {
2818
+ ev = make_node_from_constant(ev, self).optimize(compressor);
2819
+ return best_of(compressor, ev, self);
2820
+ }
2821
+ }
2822
+ return self;
2823
+ });
2824
+
2825
+ AST_Binary.DEFMETHOD("lift_sequences", function(compressor) {
2826
+ if (compressor.option("sequences")) {
2827
+ if (this.left instanceof AST_Sequence) {
2828
+ var x = this.left.expressions.slice();
2829
+ var e = this.clone();
2830
+ e.left = x.pop();
2831
+ x.push(e);
2832
+ return make_sequence(this, x).optimize(compressor);
2833
+ }
2834
+ if (this.right instanceof AST_Sequence && !this.left.has_side_effects(compressor)) {
2835
+ var assign = this.operator == "=" && this.left instanceof AST_SymbolRef;
2836
+ var x = this.right.expressions;
2837
+ var last = x.length - 1;
2838
+ for (var i = 0; i < last; i++) {
2839
+ if (!assign && x[i].has_side_effects(compressor)) break;
2840
+ }
2841
+ if (i == last) {
2842
+ x = x.slice();
2843
+ var e = this.clone();
2844
+ e.right = x.pop();
2845
+ x.push(e);
2846
+ return make_sequence(this, x).optimize(compressor);
2847
+ } else if (i > 0) {
2848
+ var e = this.clone();
2849
+ e.right = make_sequence(this.right, x.slice(i));
2850
+ x = x.slice(0, i);
2851
+ x.push(e);
2852
+ return make_sequence(this, x).optimize(compressor);
2853
+ }
2854
+ }
2855
+ }
2856
+ return this;
2857
+ });
2858
+
2859
+ var commutativeOperators = makePredicate("== === != !== * & | ^");
2860
+ function is_object(node) {
2861
+ return node instanceof AST_Array
2862
+ || node instanceof AST_Lambda
2863
+ || node instanceof AST_Object
2864
+ || node instanceof AST_Class;
2865
+ }
2866
+
2867
+ def_optimize(AST_Binary, function(self, compressor) {
2868
+ function reversible() {
2869
+ return self.left.is_constant()
2870
+ || self.right.is_constant()
2871
+ || !self.left.has_side_effects(compressor)
2872
+ && !self.right.has_side_effects(compressor);
2873
+ }
2874
+ function reverse(op) {
2875
+ if (reversible()) {
2876
+ if (op) self.operator = op;
2877
+ var tmp = self.left;
2878
+ self.left = self.right;
2879
+ self.right = tmp;
2880
+ }
2881
+ }
2882
+ if (commutativeOperators.has(self.operator)) {
2883
+ if (self.right.is_constant()
2884
+ && !self.left.is_constant()) {
2885
+ // if right is a constant, whatever side effects the
2886
+ // left side might have could not influence the
2887
+ // result. hence, force switch.
2888
+
2889
+ if (!(self.left instanceof AST_Binary
2890
+ && PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) {
2891
+ reverse();
2892
+ }
2893
+ }
2894
+ }
2895
+ self = self.lift_sequences(compressor);
2896
+ if (compressor.option("comparisons")) switch (self.operator) {
2897
+ case "===":
2898
+ case "!==":
2899
+ var is_strict_comparison = true;
2900
+ if ((self.left.is_string(compressor) && self.right.is_string(compressor)) ||
2901
+ (self.left.is_number(compressor) && self.right.is_number(compressor)) ||
2902
+ (self.left.is_boolean() && self.right.is_boolean()) ||
2903
+ self.left.equivalent_to(self.right)) {
2904
+ self.operator = self.operator.substr(0, 2);
2905
+ }
2906
+ // XXX: intentionally falling down to the next case
2907
+ case "==":
2908
+ case "!=":
2909
+ // void 0 == x => null == x
2910
+ if (!is_strict_comparison && is_undefined(self.left, compressor)) {
2911
+ self.left = make_node(AST_Null, self.left);
2912
+ } else if (compressor.option("typeofs")
2913
+ // "undefined" == typeof x => undefined === x
2914
+ && self.left instanceof AST_String
2915
+ && self.left.value == "undefined"
2916
+ && self.right instanceof AST_UnaryPrefix
2917
+ && self.right.operator == "typeof") {
2918
+ var expr = self.right.expression;
2919
+ if (expr instanceof AST_SymbolRef ? expr.is_declared(compressor)
2920
+ : !(expr instanceof AST_PropAccess && compressor.option("ie8"))) {
2921
+ self.right = expr;
2922
+ self.left = make_node(AST_Undefined, self.left).optimize(compressor);
2923
+ if (self.operator.length == 2) self.operator += "=";
2924
+ }
2925
+ } else if (self.left instanceof AST_SymbolRef
2926
+ // obj !== obj => false
2927
+ && self.right instanceof AST_SymbolRef
2928
+ && self.left.definition() === self.right.definition()
2929
+ && is_object(self.left.fixed_value())) {
2930
+ return make_node(self.operator[0] == "=" ? AST_True : AST_False, self);
2931
+ }
2932
+ break;
2933
+ case "&&":
2934
+ case "||":
2935
+ var lhs = self.left;
2936
+ if (lhs.operator == self.operator) {
2937
+ lhs = lhs.right;
2938
+ }
2939
+ if (lhs instanceof AST_Binary
2940
+ && lhs.operator == (self.operator == "&&" ? "!==" : "===")
2941
+ && self.right instanceof AST_Binary
2942
+ && lhs.operator == self.right.operator
2943
+ && (is_undefined(lhs.left, compressor) && self.right.left instanceof AST_Null
2944
+ || lhs.left instanceof AST_Null && is_undefined(self.right.left, compressor))
2945
+ && !lhs.right.has_side_effects(compressor)
2946
+ && lhs.right.equivalent_to(self.right.right)) {
2947
+ var combined = make_node(AST_Binary, self, {
2948
+ operator: lhs.operator.slice(0, -1),
2949
+ left: make_node(AST_Null, self),
2950
+ right: lhs.right
2951
+ });
2952
+ if (lhs !== self.left) {
2953
+ combined = make_node(AST_Binary, self, {
2954
+ operator: self.operator,
2955
+ left: self.left.left,
2956
+ right: combined
2957
+ });
2958
+ }
2959
+ return combined;
2960
+ }
2961
+ break;
2962
+ }
2963
+ if (self.operator == "+" && compressor.in_boolean_context()) {
2964
+ var ll = self.left.evaluate(compressor);
2965
+ var rr = self.right.evaluate(compressor);
2966
+ if (ll && typeof ll == "string") {
2967
+ return make_sequence(self, [
2968
+ self.right,
2969
+ make_node(AST_True, self)
2970
+ ]).optimize(compressor);
2971
+ }
2972
+ if (rr && typeof rr == "string") {
2973
+ return make_sequence(self, [
2974
+ self.left,
2975
+ make_node(AST_True, self)
2976
+ ]).optimize(compressor);
2977
+ }
2978
+ }
2979
+ if (compressor.option("comparisons") && self.is_boolean()) {
2980
+ if (!(compressor.parent() instanceof AST_Binary)
2981
+ || compressor.parent() instanceof AST_Assign) {
2982
+ var negated = make_node(AST_UnaryPrefix, self, {
2983
+ operator: "!",
2984
+ expression: self.negate(compressor, first_in_statement(compressor))
2985
+ });
2986
+ self = best_of(compressor, self, negated);
2987
+ }
2988
+ if (compressor.option("unsafe_comps")) {
2989
+ switch (self.operator) {
2990
+ case "<": reverse(">"); break;
2991
+ case "<=": reverse(">="); break;
2992
+ }
2993
+ }
2994
+ }
2995
+ if (self.operator == "+") {
2996
+ if (self.right instanceof AST_String
2997
+ && self.right.getValue() == ""
2998
+ && self.left.is_string(compressor)) {
2999
+ return self.left;
3000
+ }
3001
+ if (self.left instanceof AST_String
3002
+ && self.left.getValue() == ""
3003
+ && self.right.is_string(compressor)) {
3004
+ return self.right;
3005
+ }
3006
+ if (self.left instanceof AST_Binary
3007
+ && self.left.operator == "+"
3008
+ && self.left.left instanceof AST_String
3009
+ && self.left.left.getValue() == ""
3010
+ && self.right.is_string(compressor)) {
3011
+ self.left = self.left.right;
3012
+ return self;
3013
+ }
3014
+ }
3015
+ if (compressor.option("evaluate")) {
3016
+ switch (self.operator) {
3017
+ case "&&":
3018
+ var ll = has_flag(self.left, TRUTHY)
3019
+ ? true
3020
+ : has_flag(self.left, FALSY)
3021
+ ? false
3022
+ : self.left.evaluate(compressor);
3023
+ if (!ll) {
3024
+ return maintain_this_binding(compressor.parent(), compressor.self(), self.left).optimize(compressor);
3025
+ } else if (!(ll instanceof AST_Node)) {
3026
+ return make_sequence(self, [ self.left, self.right ]).optimize(compressor);
3027
+ }
3028
+ var rr = self.right.evaluate(compressor);
3029
+ if (!rr) {
3030
+ if (compressor.in_boolean_context()) {
3031
+ return make_sequence(self, [
3032
+ self.left,
3033
+ make_node(AST_False, self)
3034
+ ]).optimize(compressor);
3035
+ } else {
3036
+ set_flag(self, FALSY);
3037
+ }
3038
+ } else if (!(rr instanceof AST_Node)) {
3039
+ var parent = compressor.parent();
3040
+ if (parent.operator == "&&" && parent.left === compressor.self() || compressor.in_boolean_context()) {
3041
+ return self.left.optimize(compressor);
3042
+ }
3043
+ }
3044
+ // x || false && y ---> x ? y : false
3045
+ if (self.left.operator == "||") {
3046
+ var lr = self.left.right.evaluate(compressor);
3047
+ if (!lr) return make_node(AST_Conditional, self, {
3048
+ condition: self.left.left,
3049
+ consequent: self.right,
3050
+ alternative: self.left.right
3051
+ }).optimize(compressor);
3052
+ }
3053
+ break;
3054
+ case "||":
3055
+ var ll = has_flag(self.left, TRUTHY)
3056
+ ? true
3057
+ : has_flag(self.left, FALSY)
3058
+ ? false
3059
+ : self.left.evaluate(compressor);
3060
+ if (!ll) {
3061
+ return make_sequence(self, [ self.left, self.right ]).optimize(compressor);
3062
+ } else if (!(ll instanceof AST_Node)) {
3063
+ return maintain_this_binding(compressor.parent(), compressor.self(), self.left).optimize(compressor);
3064
+ }
3065
+ var rr = self.right.evaluate(compressor);
3066
+ if (!rr) {
3067
+ var parent = compressor.parent();
3068
+ if (parent.operator == "||" && parent.left === compressor.self() || compressor.in_boolean_context()) {
3069
+ return self.left.optimize(compressor);
3070
+ }
3071
+ } else if (!(rr instanceof AST_Node)) {
3072
+ if (compressor.in_boolean_context()) {
3073
+ return make_sequence(self, [
3074
+ self.left,
3075
+ make_node(AST_True, self)
3076
+ ]).optimize(compressor);
3077
+ } else {
3078
+ set_flag(self, TRUTHY);
3079
+ }
3080
+ }
3081
+ if (self.left.operator == "&&") {
3082
+ var lr = self.left.right.evaluate(compressor);
3083
+ if (lr && !(lr instanceof AST_Node)) return make_node(AST_Conditional, self, {
3084
+ condition: self.left.left,
3085
+ consequent: self.left.right,
3086
+ alternative: self.right
3087
+ }).optimize(compressor);
3088
+ }
3089
+ break;
3090
+ case "??":
3091
+ if (is_nullish(self.left, compressor)) {
3092
+ return self.right;
3093
+ }
3094
+
3095
+ var ll = self.left.evaluate(compressor);
3096
+ if (!(ll instanceof AST_Node)) {
3097
+ // if we know the value for sure we can simply compute right away.
3098
+ return ll == null ? self.right : self.left;
3099
+ }
3100
+
3101
+ if (compressor.in_boolean_context()) {
3102
+ const rr = self.right.evaluate(compressor);
3103
+ if (!(rr instanceof AST_Node) && !rr) {
3104
+ return self.left;
3105
+ }
3106
+ }
3107
+ }
3108
+ var associative = true;
3109
+ switch (self.operator) {
3110
+ case "+":
3111
+ // (x + "foo") + "bar" => x + "foobar"
3112
+ if (self.right instanceof AST_Constant
3113
+ && self.left instanceof AST_Binary
3114
+ && self.left.operator == "+"
3115
+ && self.left.is_string(compressor)) {
3116
+ var binary = make_node(AST_Binary, self, {
3117
+ operator: "+",
3118
+ left: self.left.right,
3119
+ right: self.right,
3120
+ });
3121
+ var r = binary.optimize(compressor);
3122
+ if (binary !== r) {
3123
+ self = make_node(AST_Binary, self, {
3124
+ operator: "+",
3125
+ left: self.left.left,
3126
+ right: r
3127
+ });
3128
+ }
3129
+ }
3130
+ // (x + "foo") + ("bar" + y) => (x + "foobar") + y
3131
+ if (self.left instanceof AST_Binary
3132
+ && self.left.operator == "+"
3133
+ && self.left.is_string(compressor)
3134
+ && self.right instanceof AST_Binary
3135
+ && self.right.operator == "+"
3136
+ && self.right.is_string(compressor)) {
3137
+ var binary = make_node(AST_Binary, self, {
3138
+ operator: "+",
3139
+ left: self.left.right,
3140
+ right: self.right.left,
3141
+ });
3142
+ var m = binary.optimize(compressor);
3143
+ if (binary !== m) {
3144
+ self = make_node(AST_Binary, self, {
3145
+ operator: "+",
3146
+ left: make_node(AST_Binary, self.left, {
3147
+ operator: "+",
3148
+ left: self.left.left,
3149
+ right: m
3150
+ }),
3151
+ right: self.right.right
3152
+ });
3153
+ }
3154
+ }
3155
+ // a + -b => a - b
3156
+ if (self.right instanceof AST_UnaryPrefix
3157
+ && self.right.operator == "-"
3158
+ && self.left.is_number(compressor)) {
3159
+ self = make_node(AST_Binary, self, {
3160
+ operator: "-",
3161
+ left: self.left,
3162
+ right: self.right.expression
3163
+ });
3164
+ break;
3165
+ }
3166
+ // -a + b => b - a
3167
+ if (self.left instanceof AST_UnaryPrefix
3168
+ && self.left.operator == "-"
3169
+ && reversible()
3170
+ && self.right.is_number(compressor)) {
3171
+ self = make_node(AST_Binary, self, {
3172
+ operator: "-",
3173
+ left: self.right,
3174
+ right: self.left.expression
3175
+ });
3176
+ break;
3177
+ }
3178
+ // `foo${bar}baz` + 1 => `foo${bar}baz1`
3179
+ if (self.left instanceof AST_TemplateString) {
3180
+ var l = self.left;
3181
+ var r = self.right.evaluate(compressor);
3182
+ if (r != self.right) {
3183
+ l.segments[l.segments.length - 1].value += String(r);
3184
+ return l;
3185
+ }
3186
+ }
3187
+ // 1 + `foo${bar}baz` => `1foo${bar}baz`
3188
+ if (self.right instanceof AST_TemplateString) {
3189
+ var r = self.right;
3190
+ var l = self.left.evaluate(compressor);
3191
+ if (l != self.left) {
3192
+ r.segments[0].value = String(l) + r.segments[0].value;
3193
+ return r;
3194
+ }
3195
+ }
3196
+ // `1${bar}2` + `foo${bar}baz` => `1${bar}2foo${bar}baz`
3197
+ if (self.left instanceof AST_TemplateString
3198
+ && self.right instanceof AST_TemplateString) {
3199
+ var l = self.left;
3200
+ var segments = l.segments;
3201
+ var r = self.right;
3202
+ segments[segments.length - 1].value += r.segments[0].value;
3203
+ for (var i = 1; i < r.segments.length; i++) {
3204
+ segments.push(r.segments[i]);
3205
+ }
3206
+ return l;
3207
+ }
3208
+ case "*":
3209
+ associative = compressor.option("unsafe_math");
3210
+ case "&":
3211
+ case "|":
3212
+ case "^":
3213
+ // a + +b => +b + a
3214
+ if (self.left.is_number(compressor)
3215
+ && self.right.is_number(compressor)
3216
+ && reversible()
3217
+ && !(self.left instanceof AST_Binary
3218
+ && self.left.operator != self.operator
3219
+ && PRECEDENCE[self.left.operator] >= PRECEDENCE[self.operator])) {
3220
+ var reversed = make_node(AST_Binary, self, {
3221
+ operator: self.operator,
3222
+ left: self.right,
3223
+ right: self.left
3224
+ });
3225
+ if (self.right instanceof AST_Constant
3226
+ && !(self.left instanceof AST_Constant)) {
3227
+ self = best_of(compressor, reversed, self);
3228
+ } else {
3229
+ self = best_of(compressor, self, reversed);
3230
+ }
3231
+ }
3232
+ if (associative && self.is_number(compressor)) {
3233
+ // a + (b + c) => (a + b) + c
3234
+ if (self.right instanceof AST_Binary
3235
+ && self.right.operator == self.operator) {
3236
+ self = make_node(AST_Binary, self, {
3237
+ operator: self.operator,
3238
+ left: make_node(AST_Binary, self.left, {
3239
+ operator: self.operator,
3240
+ left: self.left,
3241
+ right: self.right.left,
3242
+ start: self.left.start,
3243
+ end: self.right.left.end
3244
+ }),
3245
+ right: self.right.right
3246
+ });
3247
+ }
3248
+ // (n + 2) + 3 => 5 + n
3249
+ // (2 * n) * 3 => 6 + n
3250
+ if (self.right instanceof AST_Constant
3251
+ && self.left instanceof AST_Binary
3252
+ && self.left.operator == self.operator) {
3253
+ if (self.left.left instanceof AST_Constant) {
3254
+ self = make_node(AST_Binary, self, {
3255
+ operator: self.operator,
3256
+ left: make_node(AST_Binary, self.left, {
3257
+ operator: self.operator,
3258
+ left: self.left.left,
3259
+ right: self.right,
3260
+ start: self.left.left.start,
3261
+ end: self.right.end
3262
+ }),
3263
+ right: self.left.right
3264
+ });
3265
+ } else if (self.left.right instanceof AST_Constant) {
3266
+ self = make_node(AST_Binary, self, {
3267
+ operator: self.operator,
3268
+ left: make_node(AST_Binary, self.left, {
3269
+ operator: self.operator,
3270
+ left: self.left.right,
3271
+ right: self.right,
3272
+ start: self.left.right.start,
3273
+ end: self.right.end
3274
+ }),
3275
+ right: self.left.left
3276
+ });
3277
+ }
3278
+ }
3279
+ // (a | 1) | (2 | d) => (3 | a) | b
3280
+ if (self.left instanceof AST_Binary
3281
+ && self.left.operator == self.operator
3282
+ && self.left.right instanceof AST_Constant
3283
+ && self.right instanceof AST_Binary
3284
+ && self.right.operator == self.operator
3285
+ && self.right.left instanceof AST_Constant) {
3286
+ self = make_node(AST_Binary, self, {
3287
+ operator: self.operator,
3288
+ left: make_node(AST_Binary, self.left, {
3289
+ operator: self.operator,
3290
+ left: make_node(AST_Binary, self.left.left, {
3291
+ operator: self.operator,
3292
+ left: self.left.right,
3293
+ right: self.right.left,
3294
+ start: self.left.right.start,
3295
+ end: self.right.left.end
3296
+ }),
3297
+ right: self.left.left
3298
+ }),
3299
+ right: self.right.right
3300
+ });
3301
+ }
3302
+ }
3303
+ }
3304
+ }
3305
+ // x && (y && z) ==> x && y && z
3306
+ // x || (y || z) ==> x || y || z
3307
+ // x + ("y" + z) ==> x + "y" + z
3308
+ // "x" + (y + "z")==> "x" + y + "z"
3309
+ if (self.right instanceof AST_Binary
3310
+ && self.right.operator == self.operator
3311
+ && (lazy_op.has(self.operator)
3312
+ || (self.operator == "+"
3313
+ && (self.right.left.is_string(compressor)
3314
+ || (self.left.is_string(compressor)
3315
+ && self.right.right.is_string(compressor)))))
3316
+ ) {
3317
+ self.left = make_node(AST_Binary, self.left, {
3318
+ operator : self.operator,
3319
+ left : self.left.transform(compressor),
3320
+ right : self.right.left.transform(compressor)
3321
+ });
3322
+ self.right = self.right.right.transform(compressor);
3323
+ return self.transform(compressor);
3324
+ }
3325
+ var ev = self.evaluate(compressor);
3326
+ if (ev !== self) {
3327
+ ev = make_node_from_constant(ev, self).optimize(compressor);
3328
+ return best_of(compressor, ev, self);
3329
+ }
3330
+ return self;
3331
+ });
3332
+
3333
+ def_optimize(AST_SymbolExport, function(self) {
3334
+ return self;
3335
+ });
3336
+
3337
+ function within_array_or_object_literal(compressor) {
3338
+ var node, level = 0;
3339
+ while (node = compressor.parent(level++)) {
3340
+ if (node instanceof AST_Statement) return false;
3341
+ if (node instanceof AST_Array
3342
+ || node instanceof AST_ObjectKeyVal
3343
+ || node instanceof AST_Object) {
3344
+ return true;
3345
+ }
3346
+ }
3347
+ return false;
3348
+ }
3349
+
3350
+ def_optimize(AST_SymbolRef, function(self, compressor) {
3351
+ if (
3352
+ !compressor.option("ie8")
3353
+ && is_undeclared_ref(self)
3354
+ && !compressor.find_parent(AST_With)
3355
+ ) {
3356
+ switch (self.name) {
3357
+ case "undefined":
3358
+ return make_node(AST_Undefined, self).optimize(compressor);
3359
+ case "NaN":
3360
+ return make_node(AST_NaN, self).optimize(compressor);
3361
+ case "Infinity":
3362
+ return make_node(AST_Infinity, self).optimize(compressor);
3363
+ }
3364
+ }
3365
+
3366
+ const parent = compressor.parent();
3367
+ if (compressor.option("reduce_vars") && is_lhs(self, parent) !== self) {
3368
+ const def = self.definition();
3369
+ const nearest_scope = find_scope(compressor);
3370
+ if (compressor.top_retain && def.global && compressor.top_retain(def)) {
3371
+ def.fixed = false;
3372
+ def.single_use = false;
3373
+ return self;
3374
+ }
3375
+
3376
+ let fixed = self.fixed_value();
3377
+ let single_use = def.single_use
3378
+ && !(parent instanceof AST_Call
3379
+ && (parent.is_callee_pure(compressor))
3380
+ || has_annotation(parent, _NOINLINE))
3381
+ && !(parent instanceof AST_Export
3382
+ && fixed instanceof AST_Lambda
3383
+ && fixed.name);
3384
+
3385
+ if (single_use && fixed instanceof AST_Node) {
3386
+ single_use =
3387
+ !fixed.has_side_effects(compressor)
3388
+ && !fixed.may_throw(compressor);
3389
+ }
3390
+
3391
+ if (single_use && (fixed instanceof AST_Lambda || fixed instanceof AST_Class)) {
3392
+ if (retain_top_func(fixed, compressor)) {
3393
+ single_use = false;
3394
+ } else if (def.scope !== self.scope
3395
+ && (def.escaped == 1
3396
+ || has_flag(fixed, INLINED)
3397
+ || within_array_or_object_literal(compressor)
3398
+ || !compressor.option("reduce_funcs"))) {
3399
+ single_use = false;
3400
+ } else if (is_recursive_ref(compressor, def)) {
3401
+ single_use = false;
3402
+ } else if (def.scope !== self.scope || def.orig[0] instanceof AST_SymbolFunarg) {
3403
+ single_use = fixed.is_constant_expression(self.scope);
3404
+ if (single_use == "f") {
3405
+ var scope = self.scope;
3406
+ do {
3407
+ if (scope instanceof AST_Defun || is_func_expr(scope)) {
3408
+ set_flag(scope, INLINED);
3409
+ }
3410
+ } while (scope = scope.parent_scope);
3411
+ }
3412
+ }
3413
+ }
3414
+
3415
+ if (single_use && fixed instanceof AST_Lambda) {
3416
+ single_use =
3417
+ def.scope === self.scope
3418
+ && !scope_encloses_variables_in_this_scope(nearest_scope, fixed)
3419
+ || parent instanceof AST_Call
3420
+ && parent.expression === self
3421
+ && !scope_encloses_variables_in_this_scope(nearest_scope, fixed)
3422
+ && !(fixed.name && fixed.name.definition().recursive_refs > 0);
3423
+ }
3424
+
3425
+ if (single_use && fixed) {
3426
+ if (fixed instanceof AST_DefClass) {
3427
+ set_flag(fixed, SQUEEZED);
3428
+ fixed = make_node(AST_ClassExpression, fixed, fixed);
3429
+ }
3430
+ if (fixed instanceof AST_Defun) {
3431
+ set_flag(fixed, SQUEEZED);
3432
+ fixed = make_node(AST_Function, fixed, fixed);
3433
+ }
3434
+ if (def.recursive_refs > 0 && fixed.name instanceof AST_SymbolDefun) {
3435
+ const defun_def = fixed.name.definition();
3436
+ let lambda_def = fixed.variables.get(fixed.name.name);
3437
+ let name = lambda_def && lambda_def.orig[0];
3438
+ if (!(name instanceof AST_SymbolLambda)) {
3439
+ name = make_node(AST_SymbolLambda, fixed.name, fixed.name);
3440
+ name.scope = fixed;
3441
+ fixed.name = name;
3442
+ lambda_def = fixed.def_function(name);
3443
+ }
3444
+ walk(fixed, node => {
3445
+ if (node instanceof AST_SymbolRef && node.definition() === defun_def) {
3446
+ node.thedef = lambda_def;
3447
+ lambda_def.references.push(node);
3448
+ }
3449
+ });
3450
+ }
3451
+ if (
3452
+ (fixed instanceof AST_Lambda || fixed instanceof AST_Class)
3453
+ && fixed.parent_scope !== nearest_scope
3454
+ ) {
3455
+ fixed = fixed.clone(true, compressor.get_toplevel());
3456
+
3457
+ nearest_scope.add_child_scope(fixed);
3458
+ }
3459
+ return fixed.optimize(compressor);
3460
+ }
3461
+
3462
+ // multiple uses
3463
+ if (fixed) {
3464
+ let replace;
3465
+
3466
+ if (fixed instanceof AST_This) {
3467
+ if (!(def.orig[0] instanceof AST_SymbolFunarg)
3468
+ && def.references.every((ref) =>
3469
+ def.scope === ref.scope
3470
+ )) {
3471
+ replace = fixed;
3472
+ }
3473
+ } else {
3474
+ var ev = fixed.evaluate(compressor);
3475
+ if (
3476
+ ev !== fixed
3477
+ && (compressor.option("unsafe_regexp") || !(ev instanceof RegExp))
3478
+ ) {
3479
+ replace = make_node_from_constant(ev, fixed);
3480
+ }
3481
+ }
3482
+
3483
+ if (replace) {
3484
+ const name_length = self.size(compressor);
3485
+ const replace_size = replace.size(compressor);
3486
+
3487
+ let overhead = 0;
3488
+ if (compressor.option("unused") && !compressor.exposed(def)) {
3489
+ overhead =
3490
+ (name_length + 2 + replace_size) /
3491
+ (def.references.length - def.assignments);
3492
+ }
3493
+
3494
+ if (replace_size <= name_length + overhead) {
3495
+ return replace;
3496
+ }
3497
+ }
3498
+ }
3499
+ }
3500
+
3501
+ return self;
3502
+ });
3503
+
3504
+ function scope_encloses_variables_in_this_scope(scope, pulled_scope) {
3505
+ for (const enclosed of pulled_scope.enclosed) {
3506
+ if (pulled_scope.variables.has(enclosed.name)) {
3507
+ continue;
3508
+ }
3509
+ const looked_up = scope.find_variable(enclosed.name);
3510
+ if (looked_up) {
3511
+ if (looked_up === enclosed) continue;
3512
+ return true;
3513
+ }
3514
+ }
3515
+ return false;
3516
+ }
3517
+
3518
+ function is_atomic(lhs, self) {
3519
+ return lhs instanceof AST_SymbolRef || lhs.TYPE === self.TYPE;
3520
+ }
3521
+
3522
+ def_optimize(AST_Undefined, function(self, compressor) {
3523
+ if (compressor.option("unsafe_undefined")) {
3524
+ var undef = find_variable(compressor, "undefined");
3525
+ if (undef) {
3526
+ var ref = make_node(AST_SymbolRef, self, {
3527
+ name : "undefined",
3528
+ scope : undef.scope,
3529
+ thedef : undef
3530
+ });
3531
+ set_flag(ref, UNDEFINED);
3532
+ return ref;
3533
+ }
3534
+ }
3535
+ var lhs = is_lhs(compressor.self(), compressor.parent());
3536
+ if (lhs && is_atomic(lhs, self)) return self;
3537
+ return make_node(AST_UnaryPrefix, self, {
3538
+ operator: "void",
3539
+ expression: make_node(AST_Number, self, {
3540
+ value: 0
3541
+ })
3542
+ });
3543
+ });
3544
+
3545
+ def_optimize(AST_Infinity, function(self, compressor) {
3546
+ var lhs = is_lhs(compressor.self(), compressor.parent());
3547
+ if (lhs && is_atomic(lhs, self)) return self;
3548
+ if (
3549
+ compressor.option("keep_infinity")
3550
+ && !(lhs && !is_atomic(lhs, self))
3551
+ && !find_variable(compressor, "Infinity")
3552
+ ) {
3553
+ return self;
3554
+ }
3555
+ return make_node(AST_Binary, self, {
3556
+ operator: "/",
3557
+ left: make_node(AST_Number, self, {
3558
+ value: 1
3559
+ }),
3560
+ right: make_node(AST_Number, self, {
3561
+ value: 0
3562
+ })
3563
+ });
3564
+ });
3565
+
3566
+ def_optimize(AST_NaN, function(self, compressor) {
3567
+ var lhs = is_lhs(compressor.self(), compressor.parent());
3568
+ if (lhs && !is_atomic(lhs, self)
3569
+ || find_variable(compressor, "NaN")) {
3570
+ return make_node(AST_Binary, self, {
3571
+ operator: "/",
3572
+ left: make_node(AST_Number, self, {
3573
+ value: 0
3574
+ }),
3575
+ right: make_node(AST_Number, self, {
3576
+ value: 0
3577
+ })
3578
+ });
3579
+ }
3580
+ return self;
3581
+ });
3582
+
3583
+ function is_reachable(self, defs) {
3584
+ const find_ref = node => {
3585
+ if (node instanceof AST_SymbolRef && member(node.definition(), defs)) {
3586
+ return walk_abort;
3587
+ }
3588
+ };
3589
+
3590
+ return walk_parent(self, (node, info) => {
3591
+ if (node instanceof AST_Scope && node !== self) {
3592
+ var parent = info.parent();
3593
+
3594
+ if (
3595
+ parent instanceof AST_Call
3596
+ && parent.expression === node
3597
+ // Async/Generators aren't guaranteed to sync evaluate all of
3598
+ // their body steps, so it's possible they close over the variable.
3599
+ && !(node.async || node.is_generator)
3600
+ ) {
3601
+ return;
3602
+ }
3603
+
3604
+ if (walk(node, find_ref)) return walk_abort;
3605
+
3606
+ return true;
3607
+ }
3608
+ });
3609
+ }
3610
+
3611
+ const ASSIGN_OPS = makePredicate("+ - / * % >> << >>> | ^ &");
3612
+ const ASSIGN_OPS_COMMUTATIVE = makePredicate("* | ^ &");
3613
+ def_optimize(AST_Assign, function(self, compressor) {
3614
+ if (self.logical) {
3615
+ return self.lift_sequences(compressor);
3616
+ }
3617
+
3618
+ var def;
3619
+ if (compressor.option("dead_code")
3620
+ && self.left instanceof AST_SymbolRef
3621
+ && (def = self.left.definition()).scope === compressor.find_parent(AST_Lambda)) {
3622
+ var level = 0, node, parent = self;
3623
+ do {
3624
+ node = parent;
3625
+ parent = compressor.parent(level++);
3626
+ if (parent instanceof AST_Exit) {
3627
+ if (in_try(level, parent)) break;
3628
+ if (is_reachable(def.scope, [ def ])) break;
3629
+ if (self.operator == "=") return self.right;
3630
+ def.fixed = false;
3631
+ return make_node(AST_Binary, self, {
3632
+ operator: self.operator.slice(0, -1),
3633
+ left: self.left,
3634
+ right: self.right
3635
+ }).optimize(compressor);
3636
+ }
3637
+ } while (parent instanceof AST_Binary && parent.right === node
3638
+ || parent instanceof AST_Sequence && parent.tail_node() === node);
3639
+ }
3640
+ self = self.lift_sequences(compressor);
3641
+ if (self.operator == "=" && self.left instanceof AST_SymbolRef && self.right instanceof AST_Binary) {
3642
+ // x = expr1 OP expr2
3643
+ if (self.right.left instanceof AST_SymbolRef
3644
+ && self.right.left.name == self.left.name
3645
+ && ASSIGN_OPS.has(self.right.operator)) {
3646
+ // x = x - 2 ---> x -= 2
3647
+ self.operator = self.right.operator + "=";
3648
+ self.right = self.right.right;
3649
+ } else if (self.right.right instanceof AST_SymbolRef
3650
+ && self.right.right.name == self.left.name
3651
+ && ASSIGN_OPS_COMMUTATIVE.has(self.right.operator)
3652
+ && !self.right.left.has_side_effects(compressor)) {
3653
+ // x = 2 & x ---> x &= 2
3654
+ self.operator = self.right.operator + "=";
3655
+ self.right = self.right.left;
3656
+ }
3657
+ }
3658
+ return self;
3659
+
3660
+ function in_try(level, node) {
3661
+ var right = self.right;
3662
+ self.right = make_node(AST_Null, right);
3663
+ var may_throw = node.may_throw(compressor);
3664
+ self.right = right;
3665
+ var scope = self.left.definition().scope;
3666
+ var parent;
3667
+ while ((parent = compressor.parent(level++)) !== scope) {
3668
+ if (parent instanceof AST_Try) {
3669
+ if (parent.bfinally) return true;
3670
+ if (may_throw && parent.bcatch) return true;
3671
+ }
3672
+ }
3673
+ }
3674
+ });
3675
+
3676
+ def_optimize(AST_DefaultAssign, function(self, compressor) {
3677
+ if (!compressor.option("evaluate")) {
3678
+ return self;
3679
+ }
3680
+ var evaluateRight = self.right.evaluate(compressor);
3681
+
3682
+ // `[x = undefined] = foo` ---> `[x] = foo`
3683
+ if (evaluateRight === undefined) {
3684
+ self = self.left;
3685
+ } else if (evaluateRight !== self.right) {
3686
+ evaluateRight = make_node_from_constant(evaluateRight, self.right);
3687
+ self.right = best_of_expression(evaluateRight, self.right);
3688
+ }
3689
+
3690
+ return self;
3691
+ });
3692
+
3693
+ function is_nullish_check(check, check_subject, compressor) {
3694
+ if (check_subject.may_throw(compressor)) return false;
3695
+
3696
+ let nullish_side;
3697
+
3698
+ // foo == null
3699
+ if (
3700
+ check instanceof AST_Binary
3701
+ && check.operator === "=="
3702
+ // which side is nullish?
3703
+ && (
3704
+ (nullish_side = is_nullish(check.left, compressor) && check.left)
3705
+ || (nullish_side = is_nullish(check.right, compressor) && check.right)
3706
+ )
3707
+ // is the other side the same as the check_subject
3708
+ && (
3709
+ nullish_side === check.left
3710
+ ? check.right
3711
+ : check.left
3712
+ ).equivalent_to(check_subject)
3713
+ ) {
3714
+ return true;
3715
+ }
3716
+
3717
+ // foo === null || foo === undefined
3718
+ if (check instanceof AST_Binary && check.operator === "||") {
3719
+ let null_cmp;
3720
+ let undefined_cmp;
3721
+
3722
+ const find_comparison = cmp => {
3723
+ if (!(
3724
+ cmp instanceof AST_Binary
3725
+ && (cmp.operator === "===" || cmp.operator === "==")
3726
+ )) {
3727
+ return false;
3728
+ }
3729
+
3730
+ let found = 0;
3731
+ let defined_side;
3732
+
3733
+ if (cmp.left instanceof AST_Null) {
3734
+ found++;
3735
+ null_cmp = cmp;
3736
+ defined_side = cmp.right;
3737
+ }
3738
+ if (cmp.right instanceof AST_Null) {
3739
+ found++;
3740
+ null_cmp = cmp;
3741
+ defined_side = cmp.left;
3742
+ }
3743
+ if (is_undefined(cmp.left, compressor)) {
3744
+ found++;
3745
+ undefined_cmp = cmp;
3746
+ defined_side = cmp.right;
3747
+ }
3748
+ if (is_undefined(cmp.right, compressor)) {
3749
+ found++;
3750
+ undefined_cmp = cmp;
3751
+ defined_side = cmp.left;
3752
+ }
3753
+
3754
+ if (found !== 1) {
3755
+ return false;
3756
+ }
3757
+
3758
+ if (!defined_side.equivalent_to(check_subject)) {
3759
+ return false;
3760
+ }
3761
+
3762
+ return true;
3763
+ };
3764
+
3765
+ if (!find_comparison(check.left)) return false;
3766
+ if (!find_comparison(check.right)) return false;
3767
+
3768
+ if (null_cmp && undefined_cmp && null_cmp !== undefined_cmp) {
3769
+ return true;
3770
+ }
3771
+ }
3772
+
3773
+ return false;
3774
+ }
3775
+
3776
+ def_optimize(AST_Conditional, function(self, compressor) {
3777
+ if (!compressor.option("conditionals")) return self;
3778
+ // This looks like lift_sequences(), should probably be under "sequences"
3779
+ if (self.condition instanceof AST_Sequence) {
3780
+ var expressions = self.condition.expressions.slice();
3781
+ self.condition = expressions.pop();
3782
+ expressions.push(self);
3783
+ return make_sequence(self, expressions);
3784
+ }
3785
+ var cond = self.condition.evaluate(compressor);
3786
+ if (cond !== self.condition) {
3787
+ if (cond) {
3788
+ return maintain_this_binding(compressor.parent(), compressor.self(), self.consequent);
3789
+ } else {
3790
+ return maintain_this_binding(compressor.parent(), compressor.self(), self.alternative);
3791
+ }
3792
+ }
3793
+ var negated = cond.negate(compressor, first_in_statement(compressor));
3794
+ if (best_of(compressor, cond, negated) === negated) {
3795
+ self = make_node(AST_Conditional, self, {
3796
+ condition: negated,
3797
+ consequent: self.alternative,
3798
+ alternative: self.consequent
3799
+ });
3800
+ }
3801
+ var condition = self.condition;
3802
+ var consequent = self.consequent;
3803
+ var alternative = self.alternative;
3804
+ // x?x:y --> x||y
3805
+ if (condition instanceof AST_SymbolRef
3806
+ && consequent instanceof AST_SymbolRef
3807
+ && condition.definition() === consequent.definition()) {
3808
+ return make_node(AST_Binary, self, {
3809
+ operator: "||",
3810
+ left: condition,
3811
+ right: alternative
3812
+ });
3813
+ }
3814
+ // if (foo) exp = something; else exp = something_else;
3815
+ // |
3816
+ // v
3817
+ // exp = foo ? something : something_else;
3818
+ if (
3819
+ consequent instanceof AST_Assign
3820
+ && alternative instanceof AST_Assign
3821
+ && consequent.operator === alternative.operator
3822
+ && consequent.logical === alternative.logical
3823
+ && consequent.left.equivalent_to(alternative.left)
3824
+ && (!self.condition.has_side_effects(compressor)
3825
+ || consequent.operator == "="
3826
+ && !consequent.left.has_side_effects(compressor))
3827
+ ) {
3828
+ return make_node(AST_Assign, self, {
3829
+ operator: consequent.operator,
3830
+ left: consequent.left,
3831
+ logical: consequent.logical,
3832
+ right: make_node(AST_Conditional, self, {
3833
+ condition: self.condition,
3834
+ consequent: consequent.right,
3835
+ alternative: alternative.right
3836
+ })
3837
+ });
3838
+ }
3839
+ // x ? y(a) : y(b) --> y(x ? a : b)
3840
+ var arg_index;
3841
+ if (consequent instanceof AST_Call
3842
+ && alternative.TYPE === consequent.TYPE
3843
+ && consequent.args.length > 0
3844
+ && consequent.args.length == alternative.args.length
3845
+ && consequent.expression.equivalent_to(alternative.expression)
3846
+ && !self.condition.has_side_effects(compressor)
3847
+ && !consequent.expression.has_side_effects(compressor)
3848
+ && typeof (arg_index = single_arg_diff()) == "number") {
3849
+ var node = consequent.clone();
3850
+ node.args[arg_index] = make_node(AST_Conditional, self, {
3851
+ condition: self.condition,
3852
+ consequent: consequent.args[arg_index],
3853
+ alternative: alternative.args[arg_index]
3854
+ });
3855
+ return node;
3856
+ }
3857
+ // a ? b : c ? b : d --> (a || c) ? b : d
3858
+ if (alternative instanceof AST_Conditional
3859
+ && consequent.equivalent_to(alternative.consequent)) {
3860
+ return make_node(AST_Conditional, self, {
3861
+ condition: make_node(AST_Binary, self, {
3862
+ operator: "||",
3863
+ left: condition,
3864
+ right: alternative.condition
3865
+ }),
3866
+ consequent: consequent,
3867
+ alternative: alternative.alternative
3868
+ }).optimize(compressor);
3869
+ }
3870
+
3871
+ // a == null ? b : a -> a ?? b
3872
+ if (
3873
+ compressor.option("ecma") >= 2020 &&
3874
+ is_nullish_check(condition, alternative, compressor)
3875
+ ) {
3876
+ return make_node(AST_Binary, self, {
3877
+ operator: "??",
3878
+ left: alternative,
3879
+ right: consequent
3880
+ }).optimize(compressor);
3881
+ }
3882
+
3883
+ // a ? b : (c, b) --> (a || c), b
3884
+ if (alternative instanceof AST_Sequence
3885
+ && consequent.equivalent_to(alternative.expressions[alternative.expressions.length - 1])) {
3886
+ return make_sequence(self, [
3887
+ make_node(AST_Binary, self, {
3888
+ operator: "||",
3889
+ left: condition,
3890
+ right: make_sequence(self, alternative.expressions.slice(0, -1))
3891
+ }),
3892
+ consequent
3893
+ ]).optimize(compressor);
3894
+ }
3895
+ // a ? b : (c && b) --> (a || c) && b
3896
+ if (alternative instanceof AST_Binary
3897
+ && alternative.operator == "&&"
3898
+ && consequent.equivalent_to(alternative.right)) {
3899
+ return make_node(AST_Binary, self, {
3900
+ operator: "&&",
3901
+ left: make_node(AST_Binary, self, {
3902
+ operator: "||",
3903
+ left: condition,
3904
+ right: alternative.left
3905
+ }),
3906
+ right: consequent
3907
+ }).optimize(compressor);
3908
+ }
3909
+ // x?y?z:a:a --> x&&y?z:a
3910
+ if (consequent instanceof AST_Conditional
3911
+ && consequent.alternative.equivalent_to(alternative)) {
3912
+ return make_node(AST_Conditional, self, {
3913
+ condition: make_node(AST_Binary, self, {
3914
+ left: self.condition,
3915
+ operator: "&&",
3916
+ right: consequent.condition
3917
+ }),
3918
+ consequent: consequent.consequent,
3919
+ alternative: alternative
3920
+ });
3921
+ }
3922
+ // x ? y : y --> x, y
3923
+ if (consequent.equivalent_to(alternative)) {
3924
+ return make_sequence(self, [
3925
+ self.condition,
3926
+ consequent
3927
+ ]).optimize(compressor);
3928
+ }
3929
+ // x ? y || z : z --> x && y || z
3930
+ if (consequent instanceof AST_Binary
3931
+ && consequent.operator == "||"
3932
+ && consequent.right.equivalent_to(alternative)) {
3933
+ return make_node(AST_Binary, self, {
3934
+ operator: "||",
3935
+ left: make_node(AST_Binary, self, {
3936
+ operator: "&&",
3937
+ left: self.condition,
3938
+ right: consequent.left
3939
+ }),
3940
+ right: alternative
3941
+ }).optimize(compressor);
3942
+ }
3943
+
3944
+ const in_bool = compressor.in_boolean_context();
3945
+ if (is_true(self.consequent)) {
3946
+ if (is_false(self.alternative)) {
3947
+ // c ? true : false ---> !!c
3948
+ return booleanize(self.condition);
3949
+ }
3950
+ // c ? true : x ---> !!c || x
3951
+ return make_node(AST_Binary, self, {
3952
+ operator: "||",
3953
+ left: booleanize(self.condition),
3954
+ right: self.alternative
3955
+ });
3956
+ }
3957
+ if (is_false(self.consequent)) {
3958
+ if (is_true(self.alternative)) {
3959
+ // c ? false : true ---> !c
3960
+ return booleanize(self.condition.negate(compressor));
3961
+ }
3962
+ // c ? false : x ---> !c && x
3963
+ return make_node(AST_Binary, self, {
3964
+ operator: "&&",
3965
+ left: booleanize(self.condition.negate(compressor)),
3966
+ right: self.alternative
3967
+ });
3968
+ }
3969
+ if (is_true(self.alternative)) {
3970
+ // c ? x : true ---> !c || x
3971
+ return make_node(AST_Binary, self, {
3972
+ operator: "||",
3973
+ left: booleanize(self.condition.negate(compressor)),
3974
+ right: self.consequent
3975
+ });
3976
+ }
3977
+ if (is_false(self.alternative)) {
3978
+ // c ? x : false ---> !!c && x
3979
+ return make_node(AST_Binary, self, {
3980
+ operator: "&&",
3981
+ left: booleanize(self.condition),
3982
+ right: self.consequent
3983
+ });
3984
+ }
3985
+
3986
+ return self;
3987
+
3988
+ function booleanize(node) {
3989
+ if (node.is_boolean()) return node;
3990
+ // !!expression
3991
+ return make_node(AST_UnaryPrefix, node, {
3992
+ operator: "!",
3993
+ expression: node.negate(compressor)
3994
+ });
3995
+ }
3996
+
3997
+ // AST_True or !0
3998
+ function is_true(node) {
3999
+ return node instanceof AST_True
4000
+ || in_bool
4001
+ && node instanceof AST_Constant
4002
+ && node.getValue()
4003
+ || (node instanceof AST_UnaryPrefix
4004
+ && node.operator == "!"
4005
+ && node.expression instanceof AST_Constant
4006
+ && !node.expression.getValue());
4007
+ }
4008
+ // AST_False or !1
4009
+ function is_false(node) {
4010
+ return node instanceof AST_False
4011
+ || in_bool
4012
+ && node instanceof AST_Constant
4013
+ && !node.getValue()
4014
+ || (node instanceof AST_UnaryPrefix
4015
+ && node.operator == "!"
4016
+ && node.expression instanceof AST_Constant
4017
+ && node.expression.getValue());
4018
+ }
4019
+
4020
+ function single_arg_diff() {
4021
+ var a = consequent.args;
4022
+ var b = alternative.args;
4023
+ for (var i = 0, len = a.length; i < len; i++) {
4024
+ if (a[i] instanceof AST_Expansion) return;
4025
+ if (!a[i].equivalent_to(b[i])) {
4026
+ if (b[i] instanceof AST_Expansion) return;
4027
+ for (var j = i + 1; j < len; j++) {
4028
+ if (a[j] instanceof AST_Expansion) return;
4029
+ if (!a[j].equivalent_to(b[j])) return;
4030
+ }
4031
+ return i;
4032
+ }
4033
+ }
4034
+ }
4035
+ });
4036
+
4037
+ def_optimize(AST_Boolean, function(self, compressor) {
4038
+ if (compressor.in_boolean_context()) return make_node(AST_Number, self, {
4039
+ value: +self.value
4040
+ });
4041
+ var p = compressor.parent();
4042
+ if (compressor.option("booleans_as_integers")) {
4043
+ if (p instanceof AST_Binary && (p.operator == "===" || p.operator == "!==")) {
4044
+ p.operator = p.operator.replace(/=$/, "");
4045
+ }
4046
+ return make_node(AST_Number, self, {
4047
+ value: +self.value
4048
+ });
4049
+ }
4050
+ if (compressor.option("booleans")) {
4051
+ if (p instanceof AST_Binary && (p.operator == "=="
4052
+ || p.operator == "!=")) {
4053
+ return make_node(AST_Number, self, {
4054
+ value: +self.value
4055
+ });
4056
+ }
4057
+ return make_node(AST_UnaryPrefix, self, {
4058
+ operator: "!",
4059
+ expression: make_node(AST_Number, self, {
4060
+ value: 1 - self.value
4061
+ })
4062
+ });
4063
+ }
4064
+ return self;
4065
+ });
4066
+
4067
+ function safe_to_flatten(value, compressor) {
4068
+ if (value instanceof AST_SymbolRef) {
4069
+ value = value.fixed_value();
4070
+ }
4071
+ if (!value) return false;
4072
+ if (!(value instanceof AST_Lambda || value instanceof AST_Class)) return true;
4073
+ if (!(value instanceof AST_Lambda && value.contains_this())) return true;
4074
+ return compressor.parent() instanceof AST_New;
4075
+ }
4076
+
4077
+ AST_PropAccess.DEFMETHOD("flatten_object", function(key, compressor) {
4078
+ if (!compressor.option("properties")) return;
4079
+ if (key === "__proto__") return;
4080
+
4081
+ var arrows = compressor.option("unsafe_arrows") && compressor.option("ecma") >= 2015;
4082
+ var expr = this.expression;
4083
+ if (expr instanceof AST_Object) {
4084
+ var props = expr.properties;
4085
+
4086
+ for (var i = props.length; --i >= 0;) {
4087
+ var prop = props[i];
4088
+
4089
+ if ("" + (prop instanceof AST_ConciseMethod ? prop.key.name : prop.key) == key) {
4090
+ const all_props_flattenable = props.every((p) =>
4091
+ (p instanceof AST_ObjectKeyVal
4092
+ || arrows && p instanceof AST_ConciseMethod && !p.is_generator
4093
+ )
4094
+ && !p.computed_key()
4095
+ );
4096
+
4097
+ if (!all_props_flattenable) return;
4098
+ if (!safe_to_flatten(prop.value, compressor)) return;
4099
+
4100
+ return make_node(AST_Sub, this, {
4101
+ expression: make_node(AST_Array, expr, {
4102
+ elements: props.map(function(prop) {
4103
+ var v = prop.value;
4104
+ if (v instanceof AST_Accessor) {
4105
+ v = make_node(AST_Function, v, v);
4106
+ }
4107
+
4108
+ var k = prop.key;
4109
+ if (k instanceof AST_Node && !(k instanceof AST_SymbolMethod)) {
4110
+ return make_sequence(prop, [ k, v ]);
4111
+ }
4112
+
4113
+ return v;
4114
+ })
4115
+ }),
4116
+ property: make_node(AST_Number, this, {
4117
+ value: i
4118
+ })
4119
+ });
4120
+ }
4121
+ }
4122
+ }
4123
+ });
4124
+
4125
+ def_optimize(AST_Sub, function(self, compressor) {
4126
+ var expr = self.expression;
4127
+ var prop = self.property;
4128
+ if (compressor.option("properties")) {
4129
+ var key = prop.evaluate(compressor);
4130
+ if (key !== prop) {
4131
+ if (typeof key == "string") {
4132
+ if (key == "undefined") {
4133
+ key = undefined;
4134
+ } else {
4135
+ var value = parseFloat(key);
4136
+ if (value.toString() == key) {
4137
+ key = value;
4138
+ }
4139
+ }
4140
+ }
4141
+ prop = self.property = best_of_expression(prop, make_node_from_constant(key, prop).transform(compressor));
4142
+ var property = "" + key;
4143
+ if (is_basic_identifier_string(property)
4144
+ && property.length <= prop.size() + 1) {
4145
+ return make_node(AST_Dot, self, {
4146
+ expression: expr,
4147
+ optional: self.optional,
4148
+ property: property,
4149
+ quote: prop.quote,
4150
+ }).optimize(compressor);
4151
+ }
4152
+ }
4153
+ }
4154
+ var fn;
4155
+ OPT_ARGUMENTS: if (compressor.option("arguments")
4156
+ && expr instanceof AST_SymbolRef
4157
+ && expr.name == "arguments"
4158
+ && expr.definition().orig.length == 1
4159
+ && (fn = expr.scope) instanceof AST_Lambda
4160
+ && fn.uses_arguments
4161
+ && !(fn instanceof AST_Arrow)
4162
+ && prop instanceof AST_Number) {
4163
+ var index = prop.getValue();
4164
+ var params = new Set();
4165
+ var argnames = fn.argnames;
4166
+ for (var n = 0; n < argnames.length; n++) {
4167
+ if (!(argnames[n] instanceof AST_SymbolFunarg)) {
4168
+ break OPT_ARGUMENTS; // destructuring parameter - bail
4169
+ }
4170
+ var param = argnames[n].name;
4171
+ if (params.has(param)) {
4172
+ break OPT_ARGUMENTS; // duplicate parameter - bail
4173
+ }
4174
+ params.add(param);
4175
+ }
4176
+ var argname = fn.argnames[index];
4177
+ if (argname && compressor.has_directive("use strict")) {
4178
+ var def = argname.definition();
4179
+ if (!compressor.option("reduce_vars") || def.assignments || def.orig.length > 1) {
4180
+ argname = null;
4181
+ }
4182
+ } else if (!argname && !compressor.option("keep_fargs") && index < fn.argnames.length + 5) {
4183
+ while (index >= fn.argnames.length) {
4184
+ argname = fn.create_symbol(AST_SymbolFunarg, {
4185
+ source: fn,
4186
+ scope: fn,
4187
+ tentative_name: "argument_" + fn.argnames.length,
4188
+ });
4189
+ fn.argnames.push(argname);
4190
+ }
4191
+ }
4192
+ if (argname) {
4193
+ var sym = make_node(AST_SymbolRef, self, argname);
4194
+ sym.reference({});
4195
+ clear_flag(argname, UNUSED);
4196
+ return sym;
4197
+ }
4198
+ }
4199
+ if (is_lhs(self, compressor.parent())) return self;
4200
+ if (key !== prop) {
4201
+ var sub = self.flatten_object(property, compressor);
4202
+ if (sub) {
4203
+ expr = self.expression = sub.expression;
4204
+ prop = self.property = sub.property;
4205
+ }
4206
+ }
4207
+ if (compressor.option("properties") && compressor.option("side_effects")
4208
+ && prop instanceof AST_Number && expr instanceof AST_Array) {
4209
+ var index = prop.getValue();
4210
+ var elements = expr.elements;
4211
+ var retValue = elements[index];
4212
+ FLATTEN: if (safe_to_flatten(retValue, compressor)) {
4213
+ var flatten = true;
4214
+ var values = [];
4215
+ for (var i = elements.length; --i > index;) {
4216
+ var value = elements[i].drop_side_effect_free(compressor);
4217
+ if (value) {
4218
+ values.unshift(value);
4219
+ if (flatten && value.has_side_effects(compressor)) flatten = false;
4220
+ }
4221
+ }
4222
+ if (retValue instanceof AST_Expansion) break FLATTEN;
4223
+ retValue = retValue instanceof AST_Hole ? make_node(AST_Undefined, retValue) : retValue;
4224
+ if (!flatten) values.unshift(retValue);
4225
+ while (--i >= 0) {
4226
+ var value = elements[i];
4227
+ if (value instanceof AST_Expansion) break FLATTEN;
4228
+ value = value.drop_side_effect_free(compressor);
4229
+ if (value) values.unshift(value);
4230
+ else index--;
4231
+ }
4232
+ if (flatten) {
4233
+ values.push(retValue);
4234
+ return make_sequence(self, values).optimize(compressor);
4235
+ } else return make_node(AST_Sub, self, {
4236
+ expression: make_node(AST_Array, expr, {
4237
+ elements: values
4238
+ }),
4239
+ property: make_node(AST_Number, prop, {
4240
+ value: index
4241
+ })
4242
+ });
4243
+ }
4244
+ }
4245
+ var ev = self.evaluate(compressor);
4246
+ if (ev !== self) {
4247
+ ev = make_node_from_constant(ev, self).optimize(compressor);
4248
+ return best_of(compressor, ev, self);
4249
+ }
4250
+ return self;
4251
+ });
4252
+
4253
+ def_optimize(AST_Chain, function (self, compressor) {
4254
+ if (is_nullish(self.expression, compressor)) {
4255
+ let parent = compressor.parent();
4256
+ // It's valid to delete a nullish optional chain, but if we optimized
4257
+ // this to `delete undefined` then it would appear to be a syntax error
4258
+ // when we try to optimize the delete. Thankfully, `delete 0` is fine.
4259
+ if (parent instanceof AST_UnaryPrefix && parent.operator === "delete") {
4260
+ return make_node_from_constant(0, self);
4261
+ }
4262
+ return make_node(AST_Undefined, self);
4263
+ }
4264
+ return self;
4265
+ });
4266
+
4267
+ AST_Lambda.DEFMETHOD("contains_this", function() {
4268
+ return walk(this, node => {
4269
+ if (node instanceof AST_This) return walk_abort;
4270
+ if (
4271
+ node !== this
4272
+ && node instanceof AST_Scope
4273
+ && !(node instanceof AST_Arrow)
4274
+ ) {
4275
+ return true;
4276
+ }
4277
+ });
4278
+ });
4279
+
4280
+ def_optimize(AST_Dot, function(self, compressor) {
4281
+ const parent = compressor.parent();
4282
+ if (is_lhs(self, parent)) return self;
4283
+ if (compressor.option("unsafe_proto")
4284
+ && self.expression instanceof AST_Dot
4285
+ && self.expression.property == "prototype") {
4286
+ var exp = self.expression.expression;
4287
+ if (is_undeclared_ref(exp)) switch (exp.name) {
4288
+ case "Array":
4289
+ self.expression = make_node(AST_Array, self.expression, {
4290
+ elements: []
4291
+ });
4292
+ break;
4293
+ case "Function":
4294
+ self.expression = make_node(AST_Function, self.expression, {
4295
+ argnames: [],
4296
+ body: []
4297
+ });
4298
+ break;
4299
+ case "Number":
4300
+ self.expression = make_node(AST_Number, self.expression, {
4301
+ value: 0
4302
+ });
4303
+ break;
4304
+ case "Object":
4305
+ self.expression = make_node(AST_Object, self.expression, {
4306
+ properties: []
4307
+ });
4308
+ break;
4309
+ case "RegExp":
4310
+ self.expression = make_node(AST_RegExp, self.expression, {
4311
+ value: { source: "t", flags: "" }
4312
+ });
4313
+ break;
4314
+ case "String":
4315
+ self.expression = make_node(AST_String, self.expression, {
4316
+ value: ""
4317
+ });
4318
+ break;
4319
+ }
4320
+ }
4321
+ if (!(parent instanceof AST_Call) || !has_annotation(parent, _NOINLINE)) {
4322
+ const sub = self.flatten_object(self.property, compressor);
4323
+ if (sub) return sub.optimize(compressor);
4324
+ }
4325
+ let ev = self.evaluate(compressor);
4326
+ if (ev !== self) {
4327
+ ev = make_node_from_constant(ev, self).optimize(compressor);
4328
+ return best_of(compressor, ev, self);
4329
+ }
4330
+ return self;
4331
+ });
4332
+
4333
+ function literals_in_boolean_context(self, compressor) {
4334
+ if (compressor.in_boolean_context()) {
4335
+ return best_of(compressor, self, make_sequence(self, [
4336
+ self,
4337
+ make_node(AST_True, self)
4338
+ ]).optimize(compressor));
4339
+ }
4340
+ return self;
4341
+ }
4342
+
4343
+ function inline_array_like_spread(elements) {
4344
+ for (var i = 0; i < elements.length; i++) {
4345
+ var el = elements[i];
4346
+ if (el instanceof AST_Expansion) {
4347
+ var expr = el.expression;
4348
+ if (
4349
+ expr instanceof AST_Array
4350
+ && !expr.elements.some(elm => elm instanceof AST_Hole)
4351
+ ) {
4352
+ elements.splice(i, 1, ...expr.elements);
4353
+ // Step back one, as the element at i is now new.
4354
+ i--;
4355
+ }
4356
+ // In array-like spread, spreading a non-iterable value is TypeError.
4357
+ // We therefore can’t optimize anything else, unlike with object spread.
4358
+ }
4359
+ }
4360
+ }
4361
+
4362
+ def_optimize(AST_Array, function(self, compressor) {
4363
+ var optimized = literals_in_boolean_context(self, compressor);
4364
+ if (optimized !== self) {
4365
+ return optimized;
4366
+ }
4367
+ inline_array_like_spread(self.elements);
4368
+ return self;
4369
+ });
4370
+
4371
+ function inline_object_prop_spread(props, compressor) {
4372
+ for (var i = 0; i < props.length; i++) {
4373
+ var prop = props[i];
4374
+ if (prop instanceof AST_Expansion) {
4375
+ const expr = prop.expression;
4376
+ if (
4377
+ expr instanceof AST_Object
4378
+ && expr.properties.every(prop => prop instanceof AST_ObjectKeyVal)
4379
+ ) {
4380
+ props.splice(i, 1, ...expr.properties);
4381
+ // Step back one, as the property at i is now new.
4382
+ i--;
4383
+ } else if (expr instanceof AST_Constant
4384
+ && !(expr instanceof AST_String)) {
4385
+ // Unlike array-like spread, in object spread, spreading a
4386
+ // non-iterable value silently does nothing; it is thus safe
4387
+ // to remove. AST_String is the only iterable AST_Constant.
4388
+ props.splice(i, 1);
4389
+ i--;
4390
+ } else if (is_nullish(expr, compressor)) {
4391
+ // Likewise, null and undefined can be silently removed.
4392
+ props.splice(i, 1);
4393
+ i--;
4394
+ }
4395
+ }
4396
+ }
4397
+ }
4398
+
4399
+ def_optimize(AST_Object, function(self, compressor) {
4400
+ var optimized = literals_in_boolean_context(self, compressor);
4401
+ if (optimized !== self) {
4402
+ return optimized;
4403
+ }
4404
+ inline_object_prop_spread(self.properties, compressor);
4405
+ return self;
4406
+ });
4407
+
4408
+ def_optimize(AST_RegExp, literals_in_boolean_context);
4409
+
4410
+ def_optimize(AST_Return, function(self, compressor) {
4411
+ if (self.value && is_undefined(self.value, compressor)) {
4412
+ self.value = null;
4413
+ }
4414
+ return self;
4415
+ });
4416
+
4417
+ def_optimize(AST_Arrow, opt_AST_Lambda);
4418
+
4419
+ def_optimize(AST_Function, function(self, compressor) {
4420
+ self = opt_AST_Lambda(self, compressor);
4421
+ if (compressor.option("unsafe_arrows")
4422
+ && compressor.option("ecma") >= 2015
4423
+ && !self.name
4424
+ && !self.is_generator
4425
+ && !self.uses_arguments
4426
+ && !self.pinned()) {
4427
+ const uses_this = walk(self, node => {
4428
+ if (node instanceof AST_This) return walk_abort;
4429
+ });
4430
+ if (!uses_this) return make_node(AST_Arrow, self, self).optimize(compressor);
4431
+ }
4432
+ return self;
4433
+ });
4434
+
4435
+ def_optimize(AST_Class, function(self) {
4436
+ // HACK to avoid compress failure.
4437
+ // AST_Class is not really an AST_Scope/AST_Block as it lacks a body.
4438
+ return self;
4439
+ });
4440
+
4441
+ def_optimize(AST_Yield, function(self, compressor) {
4442
+ if (self.expression && !self.is_star && is_undefined(self.expression, compressor)) {
4443
+ self.expression = null;
4444
+ }
4445
+ return self;
4446
+ });
4447
+
4448
+ def_optimize(AST_TemplateString, function(self, compressor) {
4449
+ if (
4450
+ !compressor.option("evaluate")
4451
+ || compressor.parent() instanceof AST_PrefixedTemplateString
4452
+ ) {
4453
+ return self;
4454
+ }
4455
+
4456
+ var segments = [];
4457
+ for (var i = 0; i < self.segments.length; i++) {
4458
+ var segment = self.segments[i];
4459
+ if (segment instanceof AST_Node) {
4460
+ var result = segment.evaluate(compressor);
4461
+ // Evaluate to constant value
4462
+ // Constant value shorter than ${segment}
4463
+ if (result !== segment && (result + "").length <= segment.size() + "${}".length) {
4464
+ // There should always be a previous and next segment if segment is a node
4465
+ segments[segments.length - 1].value = segments[segments.length - 1].value + result + self.segments[++i].value;
4466
+ continue;
4467
+ }
4468
+ // `before ${`innerBefore ${any} innerAfter`} after` => `before innerBefore ${any} innerAfter after`
4469
+ // TODO:
4470
+ // `before ${'test' + foo} after` => `before innerBefore ${any} innerAfter after`
4471
+ // `before ${foo + 'test} after` => `before innerBefore ${any} innerAfter after`
4472
+ if (segment instanceof AST_TemplateString) {
4473
+ var inners = segment.segments;
4474
+ segments[segments.length - 1].value += inners[0].value;
4475
+ for (var j = 1; j < inners.length; j++) {
4476
+ segment = inners[j];
4477
+ segments.push(segment);
4478
+ }
4479
+ continue;
4480
+ }
4481
+ }
4482
+ segments.push(segment);
4483
+ }
4484
+ self.segments = segments;
4485
+
4486
+ // `foo` => "foo"
4487
+ if (segments.length == 1) {
4488
+ return make_node(AST_String, self, segments[0]);
4489
+ }
4490
+
4491
+ if (
4492
+ segments.length === 3
4493
+ && segments[1] instanceof AST_Node
4494
+ && (
4495
+ segments[1].is_string(compressor)
4496
+ || segments[1].is_number(compressor)
4497
+ || is_nullish(segments[1], compressor)
4498
+ || compressor.option("unsafe")
4499
+ )
4500
+ ) {
4501
+ // `foo${bar}` => "foo" + bar
4502
+ if (segments[2].value === "") {
4503
+ return make_node(AST_Binary, self, {
4504
+ operator: "+",
4505
+ left: make_node(AST_String, self, {
4506
+ value: segments[0].value,
4507
+ }),
4508
+ right: segments[1],
4509
+ });
4510
+ }
4511
+ // `${bar}baz` => bar + "baz"
4512
+ if (segments[0].value === "") {
4513
+ return make_node(AST_Binary, self, {
4514
+ operator: "+",
4515
+ left: segments[1],
4516
+ right: make_node(AST_String, self, {
4517
+ value: segments[2].value,
4518
+ }),
4519
+ });
4520
+ }
4521
+ }
4522
+ return self;
4523
+ });
4524
+
4525
+ def_optimize(AST_PrefixedTemplateString, function(self) {
4526
+ return self;
4527
+ });
4528
+
4529
+ // ["p"]:1 ---> p:1
4530
+ // [42]:1 ---> 42:1
4531
+ function lift_key(self, compressor) {
4532
+ if (!compressor.option("computed_props")) return self;
4533
+ // save a comparison in the typical case
4534
+ if (!(self.key instanceof AST_Constant)) return self;
4535
+ // allow certain acceptable props as not all AST_Constants are true constants
4536
+ if (self.key instanceof AST_String || self.key instanceof AST_Number) {
4537
+ if (self.key.value === "__proto__") return self;
4538
+ if (self.key.value == "constructor"
4539
+ && compressor.parent() instanceof AST_Class) return self;
4540
+ if (self instanceof AST_ObjectKeyVal) {
4541
+ self.quote = self.key.quote;
4542
+ self.key = self.key.value;
4543
+ } else if (self instanceof AST_ClassProperty) {
4544
+ self.quote = self.key.quote;
4545
+ self.key = make_node(AST_SymbolClassProperty, self.key, {
4546
+ name: self.key.value
4547
+ });
4548
+ } else {
4549
+ self.quote = self.key.quote;
4550
+ self.key = make_node(AST_SymbolMethod, self.key, {
4551
+ name: self.key.value
4552
+ });
4553
+ }
4554
+ }
4555
+ return self;
4556
+ }
4557
+
4558
+ def_optimize(AST_ObjectProperty, lift_key);
4559
+
4560
+ def_optimize(AST_ConciseMethod, function(self, compressor) {
4561
+ lift_key(self, compressor);
4562
+ // p(){return x;} ---> p:()=>x
4563
+ if (compressor.option("arrows")
4564
+ && compressor.parent() instanceof AST_Object
4565
+ && !self.is_generator
4566
+ && !self.value.uses_arguments
4567
+ && !self.value.pinned()
4568
+ && self.value.body.length == 1
4569
+ && self.value.body[0] instanceof AST_Return
4570
+ && self.value.body[0].value
4571
+ && !self.value.contains_this()) {
4572
+ var arrow = make_node(AST_Arrow, self.value, self.value);
4573
+ arrow.async = self.async;
4574
+ arrow.is_generator = self.is_generator;
4575
+ return make_node(AST_ObjectKeyVal, self, {
4576
+ key: self.key instanceof AST_SymbolMethod ? self.key.name : self.key,
4577
+ value: arrow,
4578
+ quote: self.quote,
4579
+ });
4580
+ }
4581
+ return self;
4582
+ });
4583
+
4584
+ def_optimize(AST_ObjectKeyVal, function(self, compressor) {
4585
+ lift_key(self, compressor);
4586
+ // p:function(){} ---> p(){}
4587
+ // p:function*(){} ---> *p(){}
4588
+ // p:async function(){} ---> async p(){}
4589
+ // p:()=>{} ---> p(){}
4590
+ // p:async()=>{} ---> async p(){}
4591
+ var unsafe_methods = compressor.option("unsafe_methods");
4592
+ if (unsafe_methods
4593
+ && compressor.option("ecma") >= 2015
4594
+ && (!(unsafe_methods instanceof RegExp) || unsafe_methods.test(self.key + ""))) {
4595
+ var key = self.key;
4596
+ var value = self.value;
4597
+ var is_arrow_with_block = value instanceof AST_Arrow
4598
+ && Array.isArray(value.body)
4599
+ && !value.contains_this();
4600
+ if ((is_arrow_with_block || value instanceof AST_Function) && !value.name) {
4601
+ return make_node(AST_ConciseMethod, self, {
4602
+ async: value.async,
4603
+ is_generator: value.is_generator,
4604
+ key: key instanceof AST_Node ? key : make_node(AST_SymbolMethod, self, {
4605
+ name: key,
4606
+ }),
4607
+ value: make_node(AST_Accessor, value, value),
4608
+ quote: self.quote,
4609
+ });
4610
+ }
4611
+ }
4612
+ return self;
4613
+ });
4614
+
4615
+ def_optimize(AST_Destructuring, function(self, compressor) {
4616
+ if (compressor.option("pure_getters") == true
4617
+ && compressor.option("unused")
4618
+ && !self.is_array
4619
+ && Array.isArray(self.names)
4620
+ && !is_destructuring_export_decl(compressor)
4621
+ && !(self.names[self.names.length - 1] instanceof AST_Expansion)) {
4622
+ var keep = [];
4623
+ for (var i = 0; i < self.names.length; i++) {
4624
+ var elem = self.names[i];
4625
+ if (!(elem instanceof AST_ObjectKeyVal
4626
+ && typeof elem.key == "string"
4627
+ && elem.value instanceof AST_SymbolDeclaration
4628
+ && !should_retain(compressor, elem.value.definition()))) {
4629
+ keep.push(elem);
4630
+ }
4631
+ }
4632
+ if (keep.length != self.names.length) {
4633
+ self.names = keep;
4634
+ }
4635
+ }
4636
+ return self;
4637
+
4638
+ function is_destructuring_export_decl(compressor) {
4639
+ var ancestors = [/^VarDef$/, /^(Const|Let|Var)$/, /^Export$/];
4640
+ for (var a = 0, p = 0, len = ancestors.length; a < len; p++) {
4641
+ var parent = compressor.parent(p);
4642
+ if (!parent) return false;
4643
+ if (a === 0 && parent.TYPE == "Destructuring") continue;
4644
+ if (!ancestors[a].test(parent.TYPE)) {
4645
+ return false;
4646
+ }
4647
+ a++;
4648
+ }
4649
+ return true;
4650
+ }
4651
+
4652
+ function should_retain(compressor, def) {
4653
+ if (def.references.length) return true;
4654
+ if (!def.global) return false;
4655
+ if (compressor.toplevel.vars) {
4656
+ if (compressor.top_retain) {
4657
+ return compressor.top_retain(def);
4658
+ }
4659
+ return false;
4660
+ }
4661
+ return true;
4662
+ }
4663
+ });
4664
+
4665
+ export {
4666
+ Compressor,
4667
+ };