mathjs 10.5.1 → 10.6.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CONTRIBUTING.md +14 -10
- package/HISTORY.md +34 -1
- package/README.md +13 -1
- package/lib/browser/math.js +5 -5
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +16 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +66 -64
- package/lib/cjs/entry/pureFunctionsAny.generated.js +189 -171
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +6 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +15 -0
- package/lib/cjs/factoriesAny.js +16 -0
- package/lib/cjs/function/algebra/derivative.js +1 -1
- package/lib/cjs/function/matrix/fft.js +128 -0
- package/lib/cjs/function/matrix/ifft.js +49 -0
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +24 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny.generated.js +2 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +63 -61
- package/lib/esm/entry/pureFunctionsAny.generated.js +161 -145
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +4 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
- package/lib/esm/factoriesAny.js +2 -0
- package/lib/esm/function/algebra/derivative.js +1 -1
- package/lib/esm/function/matrix/fft.js +104 -0
- package/lib/esm/function/matrix/ifft.js +38 -0
- package/lib/esm/version.js +1 -1
- package/package.json +31 -33
- package/types/index.d.ts +995 -270
- package/types/index.ts +694 -6
- package/docs/command_line_interface.md +0 -87
- package/docs/core/chaining.md +0 -41
- package/docs/core/configuration.md +0 -144
- package/docs/core/extension.md +0 -263
- package/docs/core/index.md +0 -21
- package/docs/core/serialization.md +0 -50
- package/docs/custom_bundling.md +0 -116
- package/docs/datatypes/bignumbers.md +0 -102
- package/docs/datatypes/complex_numbers.md +0 -168
- package/docs/datatypes/fractions.md +0 -75
- package/docs/datatypes/index.md +0 -67
- package/docs/datatypes/matrices.md +0 -375
- package/docs/datatypes/numbers.md +0 -106
- package/docs/datatypes/units.md +0 -444
- package/docs/expressions/algebra.md +0 -110
- package/docs/expressions/customization.md +0 -379
- package/docs/expressions/expression_trees.md +0 -700
- package/docs/expressions/html_classes.md +0 -38
- package/docs/expressions/index.md +0 -21
- package/docs/expressions/parsing.md +0 -224
- package/docs/expressions/security.md +0 -89
- package/docs/expressions/syntax.md +0 -706
- package/docs/getting_started.md +0 -124
- package/docs/index.md +0 -39
- package/docs/reference/classes/densematrix.md +0 -247
- package/docs/reference/classes/fibonacciheap.md +0 -70
- package/docs/reference/classes/matrixindex.md +0 -133
- package/docs/reference/classes/matrixrange.md +0 -158
- package/docs/reference/classes/resultset.md +0 -47
- package/docs/reference/classes/sparsematrix.md +0 -245
- package/docs/reference/classes/unit.md +0 -242
- package/docs/reference/classes.md +0 -86
- package/docs/reference/constants.md +0 -29
- package/docs/reference/functions/abs.md +0 -46
- package/docs/reference/functions/acos.md +0 -49
- package/docs/reference/functions/acosh.md +0 -47
- package/docs/reference/functions/acot.md +0 -48
- package/docs/reference/functions/acoth.md +0 -46
- package/docs/reference/functions/acsc.md +0 -49
- package/docs/reference/functions/acsch.md +0 -46
- package/docs/reference/functions/add.md +0 -59
- package/docs/reference/functions/and.md +0 -53
- package/docs/reference/functions/apply.md +0 -56
- package/docs/reference/functions/arg.md +0 -53
- package/docs/reference/functions/asec.md +0 -49
- package/docs/reference/functions/asech.md +0 -46
- package/docs/reference/functions/asin.md +0 -49
- package/docs/reference/functions/asinh.md +0 -46
- package/docs/reference/functions/atan.md +0 -49
- package/docs/reference/functions/atan2.md +0 -56
- package/docs/reference/functions/atanh.md +0 -46
- package/docs/reference/functions/bellNumbers.md +0 -45
- package/docs/reference/functions/bignumber.md +0 -47
- package/docs/reference/functions/bin.md +0 -45
- package/docs/reference/functions/bitAnd.md +0 -51
- package/docs/reference/functions/bitNot.md +0 -51
- package/docs/reference/functions/bitOr.md +0 -52
- package/docs/reference/functions/bitXor.md +0 -51
- package/docs/reference/functions/boolean.md +0 -50
- package/docs/reference/functions/catalan.md +0 -45
- package/docs/reference/functions/cbrt.md +0 -60
- package/docs/reference/functions/ceil.md +0 -63
- package/docs/reference/functions/chain.md +0 -54
- package/docs/reference/functions/clone.md +0 -43
- package/docs/reference/functions/column.md +0 -45
- package/docs/reference/functions/combinations.md +0 -49
- package/docs/reference/functions/combinationsWithRep.md +0 -49
- package/docs/reference/functions/compare.md +0 -67
- package/docs/reference/functions/compareNatural.md +0 -92
- package/docs/reference/functions/compareText.md +0 -54
- package/docs/reference/functions/compile.md +0 -56
- package/docs/reference/functions/complex.md +0 -17
- package/docs/reference/functions/composition.md +0 -46
- package/docs/reference/functions/concat.md +0 -56
- package/docs/reference/functions/config.md +0 -44
- package/docs/reference/functions/conj.md +0 -50
- package/docs/reference/functions/cos.md +0 -51
- package/docs/reference/functions/cosh.md +0 -46
- package/docs/reference/functions/cot.md +0 -47
- package/docs/reference/functions/coth.md +0 -49
- package/docs/reference/functions/count.md +0 -45
- package/docs/reference/functions/createUnit.md +0 -52
- package/docs/reference/functions/cross.md +0 -58
- package/docs/reference/functions/csc.md +0 -47
- package/docs/reference/functions/csch.md +0 -49
- package/docs/reference/functions/ctranspose.md +0 -50
- package/docs/reference/functions/cube.md +0 -51
- package/docs/reference/functions/cumsum.md +0 -57
- package/docs/reference/functions/deepEqual.md +0 -53
- package/docs/reference/functions/derivative.md +0 -61
- package/docs/reference/functions/det.md +0 -49
- package/docs/reference/functions/diag.md +0 -61
- package/docs/reference/functions/diff.md +0 -70
- package/docs/reference/functions/distance.md +0 -80
- package/docs/reference/functions/divide.md +0 -55
- package/docs/reference/functions/dot.md +0 -48
- package/docs/reference/functions/dotDivide.md +0 -52
- package/docs/reference/functions/dotMultiply.md +0 -52
- package/docs/reference/functions/dotPow.md +0 -49
- package/docs/reference/functions/eigs.md +0 -54
- package/docs/reference/functions/equal.md +0 -75
- package/docs/reference/functions/equalText.md +0 -53
- package/docs/reference/functions/erf.md +0 -49
- package/docs/reference/functions/evaluate.md +0 -56
- package/docs/reference/functions/exp.md +0 -54
- package/docs/reference/functions/expm.md +0 -49
- package/docs/reference/functions/expm1.md +0 -54
- package/docs/reference/functions/factorial.md +0 -49
- package/docs/reference/functions/filter.md +0 -50
- package/docs/reference/functions/fix.md +0 -62
- package/docs/reference/functions/flatten.md +0 -46
- package/docs/reference/functions/floor.md +0 -66
- package/docs/reference/functions/forEach.md +0 -41
- package/docs/reference/functions/format.md +0 -127
- package/docs/reference/functions/fraction.md +0 -45
- package/docs/reference/functions/gamma.md +0 -49
- package/docs/reference/functions/gcd.md +0 -50
- package/docs/reference/functions/getMatrixDataType.md +0 -59
- package/docs/reference/functions/hasNumericValue.md +0 -55
- package/docs/reference/functions/help.md +0 -42
- package/docs/reference/functions/hex.md +0 -45
- package/docs/reference/functions/hypot.md +0 -51
- package/docs/reference/functions/identity.md +0 -57
- package/docs/reference/functions/im.md +0 -53
- package/docs/reference/functions/import.md +0 -68
- package/docs/reference/functions/index.md +0 -55
- package/docs/reference/functions/intersect.md +0 -50
- package/docs/reference/functions/inv.md +0 -45
- package/docs/reference/functions/invmod.md +0 -47
- package/docs/reference/functions/isInteger.md +0 -55
- package/docs/reference/functions/isNaN.md +0 -56
- package/docs/reference/functions/isNegative.md +0 -55
- package/docs/reference/functions/isNumeric.md +0 -55
- package/docs/reference/functions/isPositive.md +0 -57
- package/docs/reference/functions/isPrime.md +0 -54
- package/docs/reference/functions/isZero.md +0 -59
- package/docs/reference/functions/kldivergence.md +0 -41
- package/docs/reference/functions/kron.md +0 -53
- package/docs/reference/functions/larger.md +0 -60
- package/docs/reference/functions/largerEq.md +0 -56
- package/docs/reference/functions/lcm.md +0 -54
- package/docs/reference/functions/leafCount.md +0 -52
- package/docs/reference/functions/leftShift.md +0 -52
- package/docs/reference/functions/lgamma.md +0 -46
- package/docs/reference/functions/log.md +0 -57
- package/docs/reference/functions/log10.md +0 -50
- package/docs/reference/functions/log1p.md +0 -54
- package/docs/reference/functions/log2.md +0 -50
- package/docs/reference/functions/lsolve.md +0 -51
- package/docs/reference/functions/lsolveAll.md +0 -51
- package/docs/reference/functions/lup.md +0 -52
- package/docs/reference/functions/lusolve.md +0 -59
- package/docs/reference/functions/mad.md +0 -50
- package/docs/reference/functions/map.md +0 -65
- package/docs/reference/functions/matrix.md +0 -56
- package/docs/reference/functions/matrixFromColumns.md +0 -49
- package/docs/reference/functions/matrixFromFunction.md +0 -54
- package/docs/reference/functions/matrixFromRows.md +0 -49
- package/docs/reference/functions/max.md +0 -61
- package/docs/reference/functions/mean.md +0 -57
- package/docs/reference/functions/median.md +0 -57
- package/docs/reference/functions/min.md +0 -61
- package/docs/reference/functions/mod.md +0 -59
- package/docs/reference/functions/mode.md +0 -50
- package/docs/reference/functions/multinomial.md +0 -46
- package/docs/reference/functions/multiply.md +0 -60
- package/docs/reference/functions/norm.md +0 -59
- package/docs/reference/functions/not.md +0 -50
- package/docs/reference/functions/nthRoot.md +0 -53
- package/docs/reference/functions/nthRoots.md +0 -58
- package/docs/reference/functions/number.md +0 -49
- package/docs/reference/functions/numeric.md +0 -52
- package/docs/reference/functions/oct.md +0 -45
- package/docs/reference/functions/ones.md +0 -59
- package/docs/reference/functions/or.md +0 -53
- package/docs/reference/functions/parse.md +0 -56
- package/docs/reference/functions/parser.md +0 -70
- package/docs/reference/functions/partitionSelect.md +0 -53
- package/docs/reference/functions/permutations.md +0 -51
- package/docs/reference/functions/pickRandom.md +0 -59
- package/docs/reference/functions/pinv.md +0 -44
- package/docs/reference/functions/pow.md +0 -65
- package/docs/reference/functions/print.md +0 -64
- package/docs/reference/functions/prod.md +0 -55
- package/docs/reference/functions/qr.md +0 -65
- package/docs/reference/functions/quantileSeq.md +0 -62
- package/docs/reference/functions/random.md +0 -54
- package/docs/reference/functions/randomInt.md +0 -53
- package/docs/reference/functions/range.md +0 -70
- package/docs/reference/functions/rationalize.md +0 -68
- package/docs/reference/functions/re.md +0 -53
- package/docs/reference/functions/reshape.md +0 -60
- package/docs/reference/functions/resize.md +0 -51
- package/docs/reference/functions/resolve.md +0 -46
- package/docs/reference/functions/rightArithShift.md +0 -52
- package/docs/reference/functions/rightLogShift.md +0 -52
- package/docs/reference/functions/rotate.md +0 -53
- package/docs/reference/functions/rotationMatrix.md +0 -57
- package/docs/reference/functions/round.md +0 -61
- package/docs/reference/functions/row.md +0 -45
- package/docs/reference/functions/sec.md +0 -47
- package/docs/reference/functions/sech.md +0 -49
- package/docs/reference/functions/setCartesian.md +0 -49
- package/docs/reference/functions/setDifference.md +0 -47
- package/docs/reference/functions/setDistinct.md +0 -43
- package/docs/reference/functions/setIntersect.md +0 -46
- package/docs/reference/functions/setIsSubset.md +0 -47
- package/docs/reference/functions/setMultiplicity.md +0 -46
- package/docs/reference/functions/setPowerset.md +0 -43
- package/docs/reference/functions/setSize.md +0 -47
- package/docs/reference/functions/setSymDifference.md +0 -47
- package/docs/reference/functions/setUnion.md +0 -46
- package/docs/reference/functions/sign.md +0 -52
- package/docs/reference/functions/simplify.md +0 -130
- package/docs/reference/functions/simplifyConstant.md +0 -52
- package/docs/reference/functions/simplifyCore.md +0 -50
- package/docs/reference/functions/sin.md +0 -51
- package/docs/reference/functions/sinh.md +0 -46
- package/docs/reference/functions/size.md +0 -50
- package/docs/reference/functions/slu.md +0 -57
- package/docs/reference/functions/smaller.md +0 -60
- package/docs/reference/functions/smallerEq.md +0 -56
- package/docs/reference/functions/sort.md +0 -56
- package/docs/reference/functions/sparse.md +0 -51
- package/docs/reference/functions/splitUnit.md +0 -37
- package/docs/reference/functions/sqrt.md +0 -50
- package/docs/reference/functions/sqrtm.md +0 -46
- package/docs/reference/functions/square.md +0 -51
- package/docs/reference/functions/squeeze.md +0 -53
- package/docs/reference/functions/std.md +0 -76
- package/docs/reference/functions/stirlingS2.md +0 -52
- package/docs/reference/functions/string.md +0 -49
- package/docs/reference/functions/subset.md +0 -65
- package/docs/reference/functions/subtract.md +0 -54
- package/docs/reference/functions/sum.md +0 -54
- package/docs/reference/functions/symbolicEqual.md +0 -62
- package/docs/reference/functions/tan.md +0 -49
- package/docs/reference/functions/tanh.md +0 -50
- package/docs/reference/functions/to.md +0 -47
- package/docs/reference/functions/trace.md +0 -50
- package/docs/reference/functions/transpose.md +0 -49
- package/docs/reference/functions/typeOf.md +0 -81
- package/docs/reference/functions/typed.md +0 -56
- package/docs/reference/functions/unaryMinus.md +0 -49
- package/docs/reference/functions/unaryPlus.md +0 -48
- package/docs/reference/functions/unequal.md +0 -74
- package/docs/reference/functions/unit.md +0 -48
- package/docs/reference/functions/usolve.md +0 -51
- package/docs/reference/functions/usolveAll.md +0 -51
- package/docs/reference/functions/variance.md +0 -78
- package/docs/reference/functions/xgcd.md +0 -47
- package/docs/reference/functions/xor.md +0 -53
- package/docs/reference/functions/zeros.md +0 -57
- package/docs/reference/functions.md +0 -297
- package/docs/reference/index.md +0 -5
- package/examples/advanced/convert_fraction_to_bignumber.js +0 -59
- package/examples/advanced/custom_argument_parsing.js +0 -98
- package/examples/advanced/custom_datatype.js +0 -56
- package/examples/advanced/custom_evaluate_using_factories.js +0 -19
- package/examples/advanced/custom_evaluate_using_import.js +0 -18
- package/examples/advanced/custom_loading.js +0 -33
- package/examples/advanced/custom_relational_functions.js +0 -62
- package/examples/advanced/custom_scope_objects.js +0 -115
- package/examples/advanced/expression_trees.js +0 -55
- package/examples/advanced/function_transform.js +0 -50
- package/examples/advanced/more_secure_eval.js +0 -36
- package/examples/advanced/use_bigint.js +0 -43
- package/examples/advanced/web_server/math_worker.js +0 -24
- package/examples/advanced/web_server/server.js +0 -80
- package/examples/algebra.js +0 -34
- package/examples/basic_usage.js +0 -49
- package/examples/bignumbers.js +0 -52
- package/examples/browser/angle_configuration.html +0 -134
- package/examples/browser/basic_usage.html +0 -39
- package/examples/browser/currency_conversion.html +0 -125
- package/examples/browser/custom_separators.html +0 -81
- package/examples/browser/plot.html +0 -78
- package/examples/browser/pretty_printing_with_mathjax.html +0 -122
- package/examples/browser/printing_html.html +0 -170
- package/examples/browser/requirejs_loading.html +0 -20
- package/examples/browser/rocket_trajectory_optimization.html +0 -301
- package/examples/browser/webworkers/webworkers.html +0 -80
- package/examples/browser/webworkers/worker.js +0 -28
- package/examples/chaining.js +0 -56
- package/examples/complex_numbers.js +0 -67
- package/examples/expressions.js +0 -188
- package/examples/fractions.js +0 -74
- package/examples/import.js +0 -95
- package/examples/matrices.js +0 -101
- package/examples/node_modules/.bin/acorn +0 -12
- package/examples/node_modules/.bin/acorn.cmd +0 -17
- package/examples/node_modules/.bin/acorn.ps1 +0 -28
- package/examples/node_modules/.bin/browserslist +0 -12
- package/examples/node_modules/.bin/browserslist.cmd +0 -17
- package/examples/node_modules/.bin/browserslist.ps1 +0 -28
- package/examples/node_modules/.bin/envinfo +0 -12
- package/examples/node_modules/.bin/envinfo.cmd +0 -17
- package/examples/node_modules/.bin/envinfo.ps1 +0 -28
- package/examples/node_modules/.bin/import-local-fixture +0 -12
- package/examples/node_modules/.bin/import-local-fixture.cmd +0 -17
- package/examples/node_modules/.bin/import-local-fixture.ps1 +0 -28
- package/examples/node_modules/.bin/node-which +0 -12
- package/examples/node_modules/.bin/node-which.cmd +0 -17
- package/examples/node_modules/.bin/node-which.ps1 +0 -28
- package/examples/node_modules/.bin/resolve +0 -12
- package/examples/node_modules/.bin/resolve.cmd +0 -17
- package/examples/node_modules/.bin/resolve.ps1 +0 -28
- package/examples/node_modules/.bin/terser +0 -12
- package/examples/node_modules/.bin/terser.cmd +0 -17
- package/examples/node_modules/.bin/terser.ps1 +0 -28
- package/examples/node_modules/.bin/webpack +0 -12
- package/examples/node_modules/.bin/webpack-cli +0 -12
- package/examples/node_modules/.bin/webpack-cli.cmd +0 -17
- package/examples/node_modules/.bin/webpack-cli.ps1 +0 -28
- package/examples/node_modules/.bin/webpack.cmd +0 -17
- package/examples/node_modules/.bin/webpack.ps1 +0 -28
- package/examples/node_modules/.package-lock.json +0 -1407
- package/examples/node_modules/@discoveryjs/json-ext/LICENSE +0 -21
- package/examples/node_modules/@discoveryjs/json-ext/README.md +0 -256
- package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.js +0 -791
- package/examples/node_modules/@discoveryjs/json-ext/dist/json-ext.min.js +0 -1
- package/examples/node_modules/@discoveryjs/json-ext/dist/version.js +0 -1
- package/examples/node_modules/@discoveryjs/json-ext/index.d.ts +0 -31
- package/examples/node_modules/@discoveryjs/json-ext/package.json +0 -56
- package/examples/node_modules/@discoveryjs/json-ext/src/index.js +0 -6
- package/examples/node_modules/@discoveryjs/json-ext/src/parse-chunked.js +0 -384
- package/examples/node_modules/@discoveryjs/json-ext/src/stringify-info.js +0 -231
- package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream-browser.js +0 -3
- package/examples/node_modules/@discoveryjs/json-ext/src/stringify-stream.js +0 -408
- package/examples/node_modules/@discoveryjs/json-ext/src/text-decoder-browser.js +0 -1
- package/examples/node_modules/@discoveryjs/json-ext/src/text-decoder.js +0 -1
- package/examples/node_modules/@discoveryjs/json-ext/src/utils.js +0 -149
- package/examples/node_modules/@discoveryjs/json-ext/src/version.js +0 -1
- package/examples/node_modules/@types/eslint/LICENSE +0 -21
- package/examples/node_modules/@types/eslint/README.md +0 -16
- package/examples/node_modules/@types/eslint/helpers.d.ts +0 -3
- package/examples/node_modules/@types/eslint/index.d.ts +0 -953
- package/examples/node_modules/@types/eslint/package.json +0 -65
- package/examples/node_modules/@types/eslint/rules/best-practices.d.ts +0 -931
- package/examples/node_modules/@types/eslint/rules/deprecated.d.ts +0 -267
- package/examples/node_modules/@types/eslint/rules/ecmascript-6.d.ts +0 -502
- package/examples/node_modules/@types/eslint/rules/index.d.ts +0 -21
- package/examples/node_modules/@types/eslint/rules/node-commonjs.d.ts +0 -133
- package/examples/node_modules/@types/eslint/rules/possible-errors.d.ts +0 -484
- package/examples/node_modules/@types/eslint/rules/strict-mode.d.ts +0 -11
- package/examples/node_modules/@types/eslint/rules/stylistic-issues.d.ts +0 -1893
- package/examples/node_modules/@types/eslint/rules/variables.d.ts +0 -187
- package/examples/node_modules/@types/eslint/use-at-your-own-risk.d.ts +0 -8
- package/examples/node_modules/@types/eslint-scope/LICENSE +0 -21
- package/examples/node_modules/@types/eslint-scope/README.md +0 -84
- package/examples/node_modules/@types/eslint-scope/index.d.ts +0 -64
- package/examples/node_modules/@types/eslint-scope/package.json +0 -28
- package/examples/node_modules/@types/estree/LICENSE +0 -21
- package/examples/node_modules/@types/estree/README.md +0 -16
- package/examples/node_modules/@types/estree/flow.d.ts +0 -174
- package/examples/node_modules/@types/estree/index.d.ts +0 -595
- package/examples/node_modules/@types/estree/package.json +0 -25
- package/examples/node_modules/@types/json-schema/LICENSE +0 -21
- package/examples/node_modules/@types/json-schema/README.md +0 -16
- package/examples/node_modules/@types/json-schema/index.d.ts +0 -758
- package/examples/node_modules/@types/json-schema/package.json +0 -40
- package/examples/node_modules/@types/node/LICENSE +0 -21
- package/examples/node_modules/@types/node/README.md +0 -16
- package/examples/node_modules/@types/node/assert/strict.d.ts +0 -8
- package/examples/node_modules/@types/node/assert.d.ts +0 -912
- package/examples/node_modules/@types/node/async_hooks.d.ts +0 -501
- package/examples/node_modules/@types/node/buffer.d.ts +0 -2232
- package/examples/node_modules/@types/node/child_process.d.ts +0 -1366
- package/examples/node_modules/@types/node/cluster.d.ts +0 -414
- package/examples/node_modules/@types/node/console.d.ts +0 -412
- package/examples/node_modules/@types/node/constants.d.ts +0 -18
- package/examples/node_modules/@types/node/crypto.d.ts +0 -3307
- package/examples/node_modules/@types/node/dgram.d.ts +0 -545
- package/examples/node_modules/@types/node/diagnostics_channel.d.ts +0 -134
- package/examples/node_modules/@types/node/dns/promises.d.ts +0 -370
- package/examples/node_modules/@types/node/dns.d.ts +0 -659
- package/examples/node_modules/@types/node/domain.d.ts +0 -169
- package/examples/node_modules/@types/node/events.d.ts +0 -651
- package/examples/node_modules/@types/node/fs/promises.d.ts +0 -1091
- package/examples/node_modules/@types/node/fs.d.ts +0 -3869
- package/examples/node_modules/@types/node/globals.d.ts +0 -284
- package/examples/node_modules/@types/node/globals.global.d.ts +0 -1
- package/examples/node_modules/@types/node/http.d.ts +0 -1396
- package/examples/node_modules/@types/node/http2.d.ts +0 -2100
- package/examples/node_modules/@types/node/https.d.ts +0 -391
- package/examples/node_modules/@types/node/index.d.ts +0 -129
- package/examples/node_modules/@types/node/inspector.d.ts +0 -2744
- package/examples/node_modules/@types/node/module.d.ts +0 -114
- package/examples/node_modules/@types/node/net.d.ts +0 -784
- package/examples/node_modules/@types/node/os.d.ts +0 -455
- package/examples/node_modules/@types/node/package.json +0 -220
- package/examples/node_modules/@types/node/path.d.ts +0 -180
- package/examples/node_modules/@types/node/perf_hooks.d.ts +0 -557
- package/examples/node_modules/@types/node/process.d.ts +0 -1481
- package/examples/node_modules/@types/node/punycode.d.ts +0 -117
- package/examples/node_modules/@types/node/querystring.d.ts +0 -131
- package/examples/node_modules/@types/node/readline.d.ts +0 -650
- package/examples/node_modules/@types/node/repl.d.ts +0 -424
- package/examples/node_modules/@types/node/stream/consumers.d.ts +0 -24
- package/examples/node_modules/@types/node/stream/promises.d.ts +0 -42
- package/examples/node_modules/@types/node/stream/web.d.ts +0 -330
- package/examples/node_modules/@types/node/stream.d.ts +0 -1249
- package/examples/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/examples/node_modules/@types/node/timers/promises.d.ts +0 -68
- package/examples/node_modules/@types/node/timers.d.ts +0 -94
- package/examples/node_modules/@types/node/tls.d.ts +0 -1020
- package/examples/node_modules/@types/node/trace_events.d.ts +0 -161
- package/examples/node_modules/@types/node/tty.d.ts +0 -204
- package/examples/node_modules/@types/node/url.d.ts +0 -891
- package/examples/node_modules/@types/node/util.d.ts +0 -1594
- package/examples/node_modules/@types/node/v8.d.ts +0 -378
- package/examples/node_modules/@types/node/vm.d.ts +0 -507
- package/examples/node_modules/@types/node/wasi.d.ts +0 -158
- package/examples/node_modules/@types/node/worker_threads.d.ts +0 -649
- package/examples/node_modules/@types/node/zlib.d.ts +0 -517
- package/examples/node_modules/@webassemblyjs/ast/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/ast/README.md +0 -167
- package/examples/node_modules/@webassemblyjs/ast/esm/clone.js +0 -3
- package/examples/node_modules/@webassemblyjs/ast/esm/definitions.js +0 -668
- package/examples/node_modules/@webassemblyjs/ast/esm/index.js +0 -7
- package/examples/node_modules/@webassemblyjs/ast/esm/node-helpers.js +0 -84
- package/examples/node_modules/@webassemblyjs/ast/esm/node-path.js +0 -137
- package/examples/node_modules/@webassemblyjs/ast/esm/nodes.js +0 -925
- package/examples/node_modules/@webassemblyjs/ast/esm/signatures.js +0 -199
- package/examples/node_modules/@webassemblyjs/ast/esm/transform/ast-module-to-module-context/index.js +0 -378
- package/examples/node_modules/@webassemblyjs/ast/esm/transform/denormalize-type-references/index.js +0 -76
- package/examples/node_modules/@webassemblyjs/ast/esm/transform/wast-identifier-to-index/index.js +0 -216
- package/examples/node_modules/@webassemblyjs/ast/esm/traverse.js +0 -96
- package/examples/node_modules/@webassemblyjs/ast/esm/types/basic.js +0 -0
- package/examples/node_modules/@webassemblyjs/ast/esm/types/nodes.js +0 -0
- package/examples/node_modules/@webassemblyjs/ast/esm/types/traverse.js +0 -0
- package/examples/node_modules/@webassemblyjs/ast/esm/utils.js +0 -265
- package/examples/node_modules/@webassemblyjs/ast/lib/clone.js +0 -10
- package/examples/node_modules/@webassemblyjs/ast/lib/definitions.js +0 -668
- package/examples/node_modules/@webassemblyjs/ast/lib/index.js +0 -127
- package/examples/node_modules/@webassemblyjs/ast/lib/node-helpers.js +0 -107
- package/examples/node_modules/@webassemblyjs/ast/lib/node-path.js +0 -144
- package/examples/node_modules/@webassemblyjs/ast/lib/nodes.js +0 -1144
- package/examples/node_modules/@webassemblyjs/ast/lib/signatures.js +0 -207
- package/examples/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js +0 -389
- package/examples/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js +0 -83
- package/examples/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js +0 -225
- package/examples/node_modules/@webassemblyjs/ast/lib/traverse.js +0 -105
- package/examples/node_modules/@webassemblyjs/ast/lib/types/basic.js +0 -0
- package/examples/node_modules/@webassemblyjs/ast/lib/types/nodes.js +0 -0
- package/examples/node_modules/@webassemblyjs/ast/lib/types/traverse.js +0 -0
- package/examples/node_modules/@webassemblyjs/ast/lib/utils.js +0 -306
- package/examples/node_modules/@webassemblyjs/ast/package.json +0 -32
- package/examples/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js +0 -219
- package/examples/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js +0 -47
- package/examples/node_modules/@webassemblyjs/ast/scripts/util.js +0 -38
- package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/README.md +0 -34
- package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/esm/index.js +0 -42
- package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js +0 -49
- package/examples/node_modules/@webassemblyjs/floating-point-hex-parser/package.json +0 -24
- package/examples/node_modules/@webassemblyjs/helper-api-error/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/helper-api-error/esm/index.js +0 -47
- package/examples/node_modules/@webassemblyjs/helper-api-error/lib/index.js +0 -62
- package/examples/node_modules/@webassemblyjs/helper-api-error/package.json +0 -18
- package/examples/node_modules/@webassemblyjs/helper-buffer/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/helper-buffer/esm/compare.js +0 -65
- package/examples/node_modules/@webassemblyjs/helper-buffer/esm/index.js +0 -67
- package/examples/node_modules/@webassemblyjs/helper-buffer/lib/compare.js +0 -73
- package/examples/node_modules/@webassemblyjs/helper-buffer/lib/index.js +0 -78
- package/examples/node_modules/@webassemblyjs/helper-buffer/package.json +0 -24
- package/examples/node_modules/@webassemblyjs/helper-numbers/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/helper-numbers/esm/index.js +0 -91
- package/examples/node_modules/@webassemblyjs/helper-numbers/lib/index.js +0 -116
- package/examples/node_modules/@webassemblyjs/helper-numbers/package.json +0 -25
- package/examples/node_modules/@webassemblyjs/helper-numbers/src/index.js +0 -105
- package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/esm/index.js +0 -391
- package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/esm/section.js +0 -31
- package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js +0 -406
- package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js +0 -38
- package/examples/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json +0 -20
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/create.js +0 -107
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/index.js +0 -3
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/remove.js +0 -36
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/esm/resize.js +0 -78
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js +0 -121
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js +0 -35
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js +0 -45
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js +0 -90
- package/examples/node_modules/@webassemblyjs/helper-wasm-section/package.json +0 -29
- package/examples/node_modules/@webassemblyjs/ieee754/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/ieee754/esm/index.js +0 -33
- package/examples/node_modules/@webassemblyjs/ieee754/lib/index.js +0 -52
- package/examples/node_modules/@webassemblyjs/ieee754/package.json +0 -23
- package/examples/node_modules/@webassemblyjs/ieee754/src/index.js +0 -47
- package/examples/node_modules/@webassemblyjs/leb128/LICENSE.txt +0 -194
- package/examples/node_modules/@webassemblyjs/leb128/esm/bits.js +0 -145
- package/examples/node_modules/@webassemblyjs/leb128/esm/bufs.js +0 -218
- package/examples/node_modules/@webassemblyjs/leb128/esm/index.js +0 -34
- package/examples/node_modules/@webassemblyjs/leb128/esm/leb.js +0 -316
- package/examples/node_modules/@webassemblyjs/leb128/lib/bits.js +0 -156
- package/examples/node_modules/@webassemblyjs/leb128/lib/bufs.js +0 -236
- package/examples/node_modules/@webassemblyjs/leb128/lib/index.js +0 -59
- package/examples/node_modules/@webassemblyjs/leb128/lib/leb.js +0 -332
- package/examples/node_modules/@webassemblyjs/leb128/package.json +0 -23
- package/examples/node_modules/@webassemblyjs/utf8/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/utf8/esm/decoder.js +0 -95
- package/examples/node_modules/@webassemblyjs/utf8/esm/encoder.js +0 -46
- package/examples/node_modules/@webassemblyjs/utf8/esm/index.js +0 -2
- package/examples/node_modules/@webassemblyjs/utf8/lib/decoder.js +0 -102
- package/examples/node_modules/@webassemblyjs/utf8/lib/encoder.js +0 -53
- package/examples/node_modules/@webassemblyjs/utf8/lib/index.js +0 -21
- package/examples/node_modules/@webassemblyjs/utf8/package.json +0 -20
- package/examples/node_modules/@webassemblyjs/utf8/src/decoder.js +0 -86
- package/examples/node_modules/@webassemblyjs/utf8/src/encoder.js +0 -44
- package/examples/node_modules/@webassemblyjs/utf8/src/index.js +0 -4
- package/examples/node_modules/@webassemblyjs/utf8/test/index.js +0 -13
- package/examples/node_modules/@webassemblyjs/wasm-edit/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/wasm-edit/README.md +0 -86
- package/examples/node_modules/@webassemblyjs/wasm-edit/esm/apply.js +0 -299
- package/examples/node_modules/@webassemblyjs/wasm-edit/esm/index.js +0 -114
- package/examples/node_modules/@webassemblyjs/wasm-edit/lib/apply.js +0 -311
- package/examples/node_modules/@webassemblyjs/wasm-edit/lib/index.js +0 -133
- package/examples/node_modules/@webassemblyjs/wasm-edit/package.json +0 -33
- package/examples/node_modules/@webassemblyjs/wasm-gen/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/wasm-gen/esm/encoder/index.js +0 -301
- package/examples/node_modules/@webassemblyjs/wasm-gen/esm/index.js +0 -51
- package/examples/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js +0 -357
- package/examples/node_modules/@webassemblyjs/wasm-gen/lib/index.js +0 -64
- package/examples/node_modules/@webassemblyjs/wasm-gen/package.json +0 -27
- package/examples/node_modules/@webassemblyjs/wasm-opt/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/wasm-opt/esm/index.js +0 -41
- package/examples/node_modules/@webassemblyjs/wasm-opt/esm/leb128.js +0 -47
- package/examples/node_modules/@webassemblyjs/wasm-opt/lib/index.js +0 -50
- package/examples/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js +0 -56
- package/examples/node_modules/@webassemblyjs/wasm-opt/package.json +0 -26
- package/examples/node_modules/@webassemblyjs/wasm-parser/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/wasm-parser/README.md +0 -28
- package/examples/node_modules/@webassemblyjs/wasm-parser/esm/decoder.js +0 -1776
- package/examples/node_modules/@webassemblyjs/wasm-parser/esm/index.js +0 -247
- package/examples/node_modules/@webassemblyjs/wasm-parser/esm/types/decoder.js +0 -0
- package/examples/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js +0 -1792
- package/examples/node_modules/@webassemblyjs/wasm-parser/lib/index.js +0 -257
- package/examples/node_modules/@webassemblyjs/wasm-parser/lib/types/decoder.js +0 -0
- package/examples/node_modules/@webassemblyjs/wasm-parser/package.json +0 -44
- package/examples/node_modules/@webassemblyjs/wast-printer/LICENSE +0 -21
- package/examples/node_modules/@webassemblyjs/wast-printer/README.md +0 -17
- package/examples/node_modules/@webassemblyjs/wast-printer/esm/index.js +0 -904
- package/examples/node_modules/@webassemblyjs/wast-printer/lib/index.js +0 -915
- package/examples/node_modules/@webassemblyjs/wast-printer/package.json +0 -36
- package/examples/node_modules/@webpack-cli/configtest/README.md +0 -27
- package/examples/node_modules/@webpack-cli/configtest/lib/index.d.ts +0 -4
- package/examples/node_modules/@webpack-cli/configtest/lib/index.js +0 -55
- package/examples/node_modules/@webpack-cli/configtest/package.json +0 -23
- package/examples/node_modules/@webpack-cli/info/README.md +0 -50
- package/examples/node_modules/@webpack-cli/info/lib/index.d.ts +0 -4
- package/examples/node_modules/@webpack-cli/info/lib/index.js +0 -85
- package/examples/node_modules/@webpack-cli/info/package.json +0 -29
- package/examples/node_modules/@webpack-cli/serve/README.md +0 -30
- package/examples/node_modules/@webpack-cli/serve/lib/index.d.ts +0 -4
- package/examples/node_modules/@webpack-cli/serve/lib/index.js +0 -280
- package/examples/node_modules/@webpack-cli/serve/lib/types.d.ts +0 -91
- package/examples/node_modules/@webpack-cli/serve/lib/types.js +0 -31
- package/examples/node_modules/@webpack-cli/serve/package.json +0 -29
- package/examples/node_modules/@xtuc/ieee754/LICENSE +0 -28
- package/examples/node_modules/@xtuc/ieee754/README.md +0 -51
- package/examples/node_modules/@xtuc/ieee754/dist/.gitkeep +0 -0
- package/examples/node_modules/@xtuc/ieee754/dist/index.cjs.js +0 -96
- package/examples/node_modules/@xtuc/ieee754/index.js +0 -84
- package/examples/node_modules/@xtuc/ieee754/package.json +0 -42
- package/examples/node_modules/@xtuc/long/LICENSE +0 -202
- package/examples/node_modules/@xtuc/long/README.md +0 -257
- package/examples/node_modules/@xtuc/long/dist/long.js +0 -2
- package/examples/node_modules/@xtuc/long/dist/long.js.map +0 -1
- package/examples/node_modules/@xtuc/long/index.d.ts +0 -429
- package/examples/node_modules/@xtuc/long/index.js +0 -1
- package/examples/node_modules/@xtuc/long/package.json +0 -36
- package/examples/node_modules/@xtuc/long/src/long.js +0 -1405
- package/examples/node_modules/acorn/CHANGELOG.md +0 -788
- package/examples/node_modules/acorn/LICENSE +0 -21
- package/examples/node_modules/acorn/README.md +0 -280
- package/examples/node_modules/acorn/bin/acorn +0 -4
- package/examples/node_modules/acorn/dist/acorn.d.ts +0 -214
- package/examples/node_modules/acorn/dist/acorn.js +0 -5619
- package/examples/node_modules/acorn/dist/acorn.mjs +0 -5588
- package/examples/node_modules/acorn/dist/acorn.mjs.d.ts +0 -2
- package/examples/node_modules/acorn/dist/bin.js +0 -91
- package/examples/node_modules/acorn/package.json +0 -46
- package/examples/node_modules/acorn-import-assertions/README.md +0 -15
- package/examples/node_modules/acorn-import-assertions/lib/index.js +0 -287
- package/examples/node_modules/acorn-import-assertions/lib/index.mjs +0 -242
- package/examples/node_modules/acorn-import-assertions/package.json +0 -49
- package/examples/node_modules/acorn-import-assertions/src/index.js +0 -242
- package/examples/node_modules/ajv/.tonic_example.js +0 -20
- package/examples/node_modules/ajv/LICENSE +0 -22
- package/examples/node_modules/ajv/README.md +0 -1497
- package/examples/node_modules/ajv/dist/ajv.bundle.js +0 -7189
- package/examples/node_modules/ajv/dist/ajv.min.js +0 -3
- package/examples/node_modules/ajv/dist/ajv.min.js.map +0 -1
- package/examples/node_modules/ajv/lib/ajv.d.ts +0 -397
- package/examples/node_modules/ajv/lib/ajv.js +0 -506
- package/examples/node_modules/ajv/lib/cache.js +0 -26
- package/examples/node_modules/ajv/lib/compile/async.js +0 -90
- package/examples/node_modules/ajv/lib/compile/equal.js +0 -5
- package/examples/node_modules/ajv/lib/compile/error_classes.js +0 -34
- package/examples/node_modules/ajv/lib/compile/formats.js +0 -142
- package/examples/node_modules/ajv/lib/compile/index.js +0 -387
- package/examples/node_modules/ajv/lib/compile/resolve.js +0 -270
- package/examples/node_modules/ajv/lib/compile/rules.js +0 -66
- package/examples/node_modules/ajv/lib/compile/schema_obj.js +0 -9
- package/examples/node_modules/ajv/lib/compile/ucs2length.js +0 -20
- package/examples/node_modules/ajv/lib/compile/util.js +0 -239
- package/examples/node_modules/ajv/lib/data.js +0 -49
- package/examples/node_modules/ajv/lib/definition_schema.js +0 -37
- package/examples/node_modules/ajv/lib/dot/_limit.jst +0 -113
- package/examples/node_modules/ajv/lib/dot/_limitItems.jst +0 -12
- package/examples/node_modules/ajv/lib/dot/_limitLength.jst +0 -12
- package/examples/node_modules/ajv/lib/dot/_limitProperties.jst +0 -12
- package/examples/node_modules/ajv/lib/dot/allOf.jst +0 -32
- package/examples/node_modules/ajv/lib/dot/anyOf.jst +0 -46
- package/examples/node_modules/ajv/lib/dot/coerce.def +0 -51
- package/examples/node_modules/ajv/lib/dot/comment.jst +0 -9
- package/examples/node_modules/ajv/lib/dot/const.jst +0 -11
- package/examples/node_modules/ajv/lib/dot/contains.jst +0 -55
- package/examples/node_modules/ajv/lib/dot/custom.jst +0 -191
- package/examples/node_modules/ajv/lib/dot/defaults.def +0 -47
- package/examples/node_modules/ajv/lib/dot/definitions.def +0 -203
- package/examples/node_modules/ajv/lib/dot/dependencies.jst +0 -79
- package/examples/node_modules/ajv/lib/dot/enum.jst +0 -30
- package/examples/node_modules/ajv/lib/dot/errors.def +0 -194
- package/examples/node_modules/ajv/lib/dot/format.jst +0 -106
- package/examples/node_modules/ajv/lib/dot/if.jst +0 -73
- package/examples/node_modules/ajv/lib/dot/items.jst +0 -98
- package/examples/node_modules/ajv/lib/dot/missing.def +0 -39
- package/examples/node_modules/ajv/lib/dot/multipleOf.jst +0 -22
- package/examples/node_modules/ajv/lib/dot/not.jst +0 -43
- package/examples/node_modules/ajv/lib/dot/oneOf.jst +0 -54
- package/examples/node_modules/ajv/lib/dot/pattern.jst +0 -14
- package/examples/node_modules/ajv/lib/dot/properties.jst +0 -245
- package/examples/node_modules/ajv/lib/dot/propertyNames.jst +0 -52
- package/examples/node_modules/ajv/lib/dot/ref.jst +0 -85
- package/examples/node_modules/ajv/lib/dot/required.jst +0 -108
- package/examples/node_modules/ajv/lib/dot/uniqueItems.jst +0 -62
- package/examples/node_modules/ajv/lib/dot/validate.jst +0 -276
- package/examples/node_modules/ajv/lib/dotjs/README.md +0 -3
- package/examples/node_modules/ajv/lib/dotjs/_limit.js +0 -163
- package/examples/node_modules/ajv/lib/dotjs/_limitItems.js +0 -80
- package/examples/node_modules/ajv/lib/dotjs/_limitLength.js +0 -85
- package/examples/node_modules/ajv/lib/dotjs/_limitProperties.js +0 -80
- package/examples/node_modules/ajv/lib/dotjs/allOf.js +0 -42
- package/examples/node_modules/ajv/lib/dotjs/anyOf.js +0 -73
- package/examples/node_modules/ajv/lib/dotjs/comment.js +0 -14
- package/examples/node_modules/ajv/lib/dotjs/const.js +0 -56
- package/examples/node_modules/ajv/lib/dotjs/contains.js +0 -81
- package/examples/node_modules/ajv/lib/dotjs/custom.js +0 -228
- package/examples/node_modules/ajv/lib/dotjs/dependencies.js +0 -168
- package/examples/node_modules/ajv/lib/dotjs/enum.js +0 -66
- package/examples/node_modules/ajv/lib/dotjs/format.js +0 -150
- package/examples/node_modules/ajv/lib/dotjs/if.js +0 -103
- package/examples/node_modules/ajv/lib/dotjs/index.js +0 -33
- package/examples/node_modules/ajv/lib/dotjs/items.js +0 -140
- package/examples/node_modules/ajv/lib/dotjs/multipleOf.js +0 -80
- package/examples/node_modules/ajv/lib/dotjs/not.js +0 -84
- package/examples/node_modules/ajv/lib/dotjs/oneOf.js +0 -73
- package/examples/node_modules/ajv/lib/dotjs/pattern.js +0 -75
- package/examples/node_modules/ajv/lib/dotjs/properties.js +0 -335
- package/examples/node_modules/ajv/lib/dotjs/propertyNames.js +0 -81
- package/examples/node_modules/ajv/lib/dotjs/ref.js +0 -124
- package/examples/node_modules/ajv/lib/dotjs/required.js +0 -270
- package/examples/node_modules/ajv/lib/dotjs/uniqueItems.js +0 -86
- package/examples/node_modules/ajv/lib/dotjs/validate.js +0 -482
- package/examples/node_modules/ajv/lib/keyword.js +0 -146
- package/examples/node_modules/ajv/lib/refs/data.json +0 -17
- package/examples/node_modules/ajv/lib/refs/json-schema-draft-04.json +0 -149
- package/examples/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -154
- package/examples/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -168
- package/examples/node_modules/ajv/lib/refs/json-schema-secure.json +0 -94
- package/examples/node_modules/ajv/package.json +0 -106
- package/examples/node_modules/ajv/scripts/.eslintrc.yml +0 -3
- package/examples/node_modules/ajv/scripts/bundle.js +0 -61
- package/examples/node_modules/ajv/scripts/compile-dots.js +0 -73
- package/examples/node_modules/ajv/scripts/info +0 -10
- package/examples/node_modules/ajv/scripts/prepare-tests +0 -12
- package/examples/node_modules/ajv/scripts/publish-built-version +0 -32
- package/examples/node_modules/ajv/scripts/travis-gh-pages +0 -23
- package/examples/node_modules/ajv-keywords/LICENSE +0 -21
- package/examples/node_modules/ajv-keywords/README.md +0 -836
- package/examples/node_modules/ajv-keywords/ajv-keywords.d.ts +0 -7
- package/examples/node_modules/ajv-keywords/index.js +0 -35
- package/examples/node_modules/ajv-keywords/keywords/_formatLimit.js +0 -101
- package/examples/node_modules/ajv-keywords/keywords/_util.js +0 -15
- package/examples/node_modules/ajv-keywords/keywords/allRequired.js +0 -18
- package/examples/node_modules/ajv-keywords/keywords/anyRequired.js +0 -24
- package/examples/node_modules/ajv-keywords/keywords/deepProperties.js +0 -54
- package/examples/node_modules/ajv-keywords/keywords/deepRequired.js +0 -57
- package/examples/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst +0 -116
- package/examples/node_modules/ajv-keywords/keywords/dot/patternRequired.jst +0 -33
- package/examples/node_modules/ajv-keywords/keywords/dot/switch.jst +0 -71
- package/examples/node_modules/ajv-keywords/keywords/dotjs/README.md +0 -3
- package/examples/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js +0 -178
- package/examples/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js +0 -58
- package/examples/node_modules/ajv-keywords/keywords/dotjs/switch.js +0 -129
- package/examples/node_modules/ajv-keywords/keywords/dynamicDefaults.js +0 -72
- package/examples/node_modules/ajv-keywords/keywords/formatMaximum.js +0 -3
- package/examples/node_modules/ajv-keywords/keywords/formatMinimum.js +0 -3
- package/examples/node_modules/ajv-keywords/keywords/index.js +0 -22
- package/examples/node_modules/ajv-keywords/keywords/instanceof.js +0 -58
- package/examples/node_modules/ajv-keywords/keywords/oneRequired.js +0 -24
- package/examples/node_modules/ajv-keywords/keywords/patternRequired.js +0 -21
- package/examples/node_modules/ajv-keywords/keywords/prohibited.js +0 -24
- package/examples/node_modules/ajv-keywords/keywords/range.js +0 -36
- package/examples/node_modules/ajv-keywords/keywords/regexp.js +0 -36
- package/examples/node_modules/ajv-keywords/keywords/select.js +0 -79
- package/examples/node_modules/ajv-keywords/keywords/switch.js +0 -38
- package/examples/node_modules/ajv-keywords/keywords/transform.js +0 -80
- package/examples/node_modules/ajv-keywords/keywords/typeof.js +0 -32
- package/examples/node_modules/ajv-keywords/keywords/uniqueItemProperties.js +0 -59
- package/examples/node_modules/ajv-keywords/package.json +0 -53
- package/examples/node_modules/browserslist/LICENSE +0 -20
- package/examples/node_modules/browserslist/README.md +0 -66
- package/examples/node_modules/browserslist/browser.js +0 -50
- package/examples/node_modules/browserslist/cli.js +0 -152
- package/examples/node_modules/browserslist/error.d.ts +0 -7
- package/examples/node_modules/browserslist/error.js +0 -12
- package/examples/node_modules/browserslist/index.d.ts +0 -178
- package/examples/node_modules/browserslist/index.js +0 -1235
- package/examples/node_modules/browserslist/node.js +0 -393
- package/examples/node_modules/browserslist/package.json +0 -41
- package/examples/node_modules/browserslist/update-db.js +0 -317
- package/examples/node_modules/buffer-from/LICENSE +0 -21
- package/examples/node_modules/buffer-from/index.js +0 -72
- package/examples/node_modules/buffer-from/package.json +0 -19
- package/examples/node_modules/buffer-from/readme.md +0 -69
- package/examples/node_modules/caniuse-lite/LICENSE +0 -395
- package/examples/node_modules/caniuse-lite/README.md +0 -92
- package/examples/node_modules/caniuse-lite/data/agents.js +0 -1
- package/examples/node_modules/caniuse-lite/data/browserVersions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/browsers.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/aac.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/abortcontroller.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ac3-ec3.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/accelerometer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/addeventlistener.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ambient-light.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/apng.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/array-find-index.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/array-find.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/array-flat.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/array-includes.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/arrow-functions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/asmjs.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/async-clipboard.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/async-functions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/atob-btoa.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/audio-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/audio.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/audiotracks.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/autofocus.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/auxclick.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/av1.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/avif.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/background-attachment.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/background-clip-text.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/background-img-opts.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/background-position-x-y.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/background-sync.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/battery-status.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/beacon.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/beforeafterprint.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/bigint.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/blobbuilder.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/bloburls.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/border-image.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/border-radius.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/broadcastchannel.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/brotli.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/calc.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/canvas-blending.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/canvas-text.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/canvas.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ch-unit.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/channel-messaging.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/childnode-remove.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/classlist.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/clipboard.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/colr-v1.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/colr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/comparedocumentposition.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/console-basic.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/console-time.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/const.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/constraint-validation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/contenteditable.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/cookie-store-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/cors.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/createimagebitmap.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/credential-management.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/cryptography.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-all.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-animation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-any-link.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-appearance.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-at-counter-style.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-autofill.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-background-offsets.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-boxshadow.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-canvas.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-caret-color.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-cascade-layers.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-case-insensitive.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-clip-path.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-color-adjust.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-color-function.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-conic-gradients.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-container-queries.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-containment.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-content-visibility.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-counters.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-crisp-edges.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-cross-fade.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-default-pseudo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-display-contents.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-element-function.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-env-function.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-exclusions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-featurequeries.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-file-selector-button.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-filter-function.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-filters.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-first-letter.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-first-line.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-fixed.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-focus-visible.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-focus-within.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-font-palette.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-font-stretch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-gencontent.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-gradients.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-grid.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-has.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-hyphenate.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-hyphens.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-image-orientation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-image-set.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-initial-letter.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-initial-value.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-lch-lab.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-letter-spacing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-line-clamp.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-logical-props.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-masks.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-math-functions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-media-interaction.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-media-resolution.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-media-scripting.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-mediaqueries.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-mixblendmode.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-motion-paths.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-namespaces.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-nesting.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-not-sel-list.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-nth-child-of.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-opacity.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-overflow.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-page-break.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-paged-media.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-paint-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-placeholder.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-read-only-write.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-reflections.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-regions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-resize.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-revert-value.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-scroll-timeline.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-scrollbar.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-sel2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-sel3.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-selection.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-shapes.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-snappoints.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-sticky.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-subgrid.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-supports-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-table.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-text-align-last.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-text-indent.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-text-justify.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-text-orientation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-text-spacing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-textshadow.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-touch-action-2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-touch-action.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-transitions.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-unset-value.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-variables.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-when-else.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-widows-orphans.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-width-stretch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-writing-mode.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css-zoom.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-attr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-boxsizing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-colors.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-cursors.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/css3-tabsize.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/currentcolor.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/custom-elements.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/custom-elementsv1.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/customevent.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/datalist.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dataset.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/datauri.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/decorators.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/details.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/deviceorientation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/devicepixelratio.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dialog.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dispatchevent.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dnssec.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/do-not-track.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/document-currentscript.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/document-execcommand.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/document-policy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/document-scrollingelement.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/documenthead.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dom-range.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/domcontentloaded.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/domfocusin-domfocusout-events.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dommatrix.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/download.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/dragndrop.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/element-closest.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/element-from-point.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/element-scroll-methods.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/eme.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/eot.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es5.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6-class.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6-generators.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6-module.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6-number.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6-string-includes.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/es6.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/eventsource.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/extended-system-fonts.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/feature-policy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/fetch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/fieldset-disabled.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/fileapi.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/filereader.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/filereadersync.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/filesystem.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/flac.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/flexbox-gap.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/flexbox.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/flow-root.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/focusoptions-preventscroll.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-family-system-ui.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-feature.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-kerning.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-loading.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-metrics-overrides.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-size-adjust.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-smooth.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-unicode-range.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-variant-alternates.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-variant-east-asian.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/font-variant-numeric.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/fontface.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/form-attribute.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/form-submit-attributes.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/form-validation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/forms.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/fullscreen.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/gamepad.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/geolocation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/getboundingclientrect.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/getcomputedstyle.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/getrandomvalues.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/gyroscope.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/hashchange.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/heif.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/hevc.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/hidden.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/high-resolution-time.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/history.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/html-media-capture.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/html5semantic.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/http-live-streaming.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/http2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/http3.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/iframe-sandbox.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/iframe-seamless.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/imagecapture.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ime.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/import-maps.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/imports.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/indexeddb.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/indexeddb2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/inline-block.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/innertext.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-color.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-datetime.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-email-tel-url.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-event.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-file-accept.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-file-directory.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-file-multiple.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-inputmode.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-minlength.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-number.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-pattern.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-placeholder.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-range.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-search.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/input-selection.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/insert-adjacent.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/internationalization.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/intersectionobserver.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/intl-pluralrules.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/intrinsic-width.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/jpeg2000.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/jpegxl.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/jpegxr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/json.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/keyboardevent-code.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/keyboardevent-key.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/keyboardevent-location.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/keyboardevent-which.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/lazyload.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/let.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-icon-png.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-icon-svg.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-rel-preload.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/link-rel-prerender.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/localecompare.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/magnetometer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/matchesselector.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/matchmedia.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mathml.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/maxlength.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/media-attribute.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/media-fragments.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/media-session-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mediarecorder.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mediasource.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/menu.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/meta-theme-color.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/meter.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/midi.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/minmaxwh.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mp3.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mpeg-dash.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mpeg4.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/multibackgrounds.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/multicolumn.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mutation-events.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/mutationobserver.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/namevalue-storage.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/native-filesystem-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/nav-timing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/navigator-language.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/netinfo.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/notifications.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/object-entries.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/object-fit.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/object-observe.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/object-values.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/objectrtc.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/offline-apps.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/offscreencanvas.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ogg-vorbis.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ogv.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ol-reversed.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/once-event-listener.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/online-status.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/opus.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/orientation-sensor.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/outline.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/pad-start-end.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/page-transition-events.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/pagevisibility.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/passive-event-listener.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/passwordrules.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/path2d.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/payment-request.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/pdf-viewer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/permissions-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/permissions-policy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/picture-in-picture.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/picture.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ping.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/png-alpha.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/pointer-events.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/pointer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/pointerlock.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/portals.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/private-class-fields.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/private-methods-and-accessors.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/progress.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/promise-finally.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/promises.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/proximity.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/proxy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/public-class-fields.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/publickeypinning.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/push-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/queryselector.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/readonly-attr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/referrer-policy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/rel-noopener.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/rel-noreferrer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/rellist.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/rem.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/requestanimationframe.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/requestidlecallback.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/resizeobserver.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/resource-timing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/rest-parameters.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ruby.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/run-in.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/screen-orientation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/script-async.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/script-defer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/scrollintoview.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sdch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/selection-api.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/server-timing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/serviceworkers.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/setimmediate.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sha-2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/shadowdom.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/shadowdomv1.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sharedworkers.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sni.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/spdy.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/speech-recognition.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/speech-synthesis.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sql-storage.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/srcset.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/stream.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/streams.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/style-scoped.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/subresource-integrity.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-css.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-filters.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-fonts.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-fragment.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-html.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-html5.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-img.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg-smil.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/svg.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/sxg.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/tabindex-attr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/template-literals.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/template.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/temporal.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/testfeat.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/text-decoration.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/text-emphasis.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/text-overflow.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/text-size-adjust.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/text-stroke.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/text-underline-offset.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/textcontent.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/textencoder.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/tls1-1.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/tls1-2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/tls1-3.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/token-binding.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/touch.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/transforms2d.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/transforms3d.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/trusted-types.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/ttf.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/typedarrays.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/u2f.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/unhandledrejection.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/url.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/urlsearchparams.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/use-strict.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/user-select-none.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/user-timing.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/variable-fonts.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/vector-effect.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/vibration.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/video.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/videotracks.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/viewport-units.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/wai-aria.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/wake-lock.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/wasm.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/wav.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/wbr-element.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/web-animation.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/web-app-manifest.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/web-bluetooth.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/web-serial.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/web-share.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webauthn.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webgl.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webgl2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webgpu.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webhid.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webkit-user-drag.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webm.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webnfc.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webp.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/websockets.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webusb.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webvr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webvtt.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webworkers.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/webxr.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/will-change.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/woff.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/woff2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/word-break.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/wordwrap.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/x-doc-messaging.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/x-frame-options.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/xhr2.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/xhtml.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/xhtmlsmil.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features/xml-serializer.js +0 -1
- package/examples/node_modules/caniuse-lite/data/features.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AX.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/AZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BB.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BJ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/BZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CV.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CX.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/CZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/DE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/DJ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/DK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/DM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/DO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/DZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/EC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/EE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/EG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ER.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ES.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ET.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/FI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/FJ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/FK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/FM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/FO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/FR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GB.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GP.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GQ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/GY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/HK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/HN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/HR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/HT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/HU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ID.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IQ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/IT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/JE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/JM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/JO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/JP.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KP.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/KZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LB.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LV.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/LY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ME.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ML.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MP.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MQ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MV.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MX.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/MZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NP.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/NZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/OM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/PY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/QA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/RE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/RO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/RS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/RU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/RW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SB.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ST.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SV.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/SZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TD.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TH.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TJ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TK.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TL.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TO.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TR.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TV.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/TZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/UA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/UG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/US.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/UY.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/UZ.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VC.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VG.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VI.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VN.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/VU.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/WF.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/WS.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/YE.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/YT.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ZA.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ZM.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/ZW.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-af.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-an.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-as.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-eu.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-na.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-oc.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-sa.js +0 -1
- package/examples/node_modules/caniuse-lite/data/regions/alt-ww.js +0 -1
- package/examples/node_modules/caniuse-lite/dist/lib/statuses.js +0 -9
- package/examples/node_modules/caniuse-lite/dist/lib/supported.js +0 -9
- package/examples/node_modules/caniuse-lite/dist/unpacker/agents.js +0 -47
- package/examples/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +0 -1
- package/examples/node_modules/caniuse-lite/dist/unpacker/browsers.js +0 -1
- package/examples/node_modules/caniuse-lite/dist/unpacker/feature.js +0 -48
- package/examples/node_modules/caniuse-lite/dist/unpacker/features.js +0 -6
- package/examples/node_modules/caniuse-lite/dist/unpacker/index.js +0 -4
- package/examples/node_modules/caniuse-lite/dist/unpacker/region.js +0 -22
- package/examples/node_modules/caniuse-lite/package.json +0 -34
- package/examples/node_modules/chrome-trace-event/CHANGES.md +0 -26
- package/examples/node_modules/chrome-trace-event/LICENSE.txt +0 -23
- package/examples/node_modules/chrome-trace-event/README.md +0 -31
- package/examples/node_modules/chrome-trace-event/dist/trace-event.d.ts +0 -52
- package/examples/node_modules/chrome-trace-event/dist/trace-event.js +0 -170
- package/examples/node_modules/chrome-trace-event/dist/trace-event.js.map +0 -1
- package/examples/node_modules/chrome-trace-event/package.json +0 -38
- package/examples/node_modules/clone-deep/LICENSE +0 -21
- package/examples/node_modules/clone-deep/README.md +0 -106
- package/examples/node_modules/clone-deep/index.js +0 -49
- package/examples/node_modules/clone-deep/package.json +0 -81
- package/examples/node_modules/colorette/LICENSE.md +0 -7
- package/examples/node_modules/colorette/README.md +0 -134
- package/examples/node_modules/colorette/index.cjs +0 -215
- package/examples/node_modules/colorette/index.d.ts +0 -93
- package/examples/node_modules/colorette/index.js +0 -147
- package/examples/node_modules/colorette/package.json +0 -39
- package/examples/node_modules/commander/CHANGELOG.md +0 -419
- package/examples/node_modules/commander/LICENSE +0 -22
- package/examples/node_modules/commander/Readme.md +0 -428
- package/examples/node_modules/commander/index.js +0 -1224
- package/examples/node_modules/commander/package.json +0 -38
- package/examples/node_modules/commander/typings/index.d.ts +0 -310
- package/examples/node_modules/cross-spawn/CHANGELOG.md +0 -130
- package/examples/node_modules/cross-spawn/LICENSE +0 -21
- package/examples/node_modules/cross-spawn/README.md +0 -96
- package/examples/node_modules/cross-spawn/index.js +0 -39
- package/examples/node_modules/cross-spawn/lib/enoent.js +0 -59
- package/examples/node_modules/cross-spawn/lib/parse.js +0 -91
- package/examples/node_modules/cross-spawn/lib/util/escape.js +0 -45
- package/examples/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
- package/examples/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
- package/examples/node_modules/cross-spawn/package.json +0 -73
- package/examples/node_modules/electron-to-chromium/CHANGELOG.md +0 -14
- package/examples/node_modules/electron-to-chromium/LICENSE +0 -5
- package/examples/node_modules/electron-to-chromium/README.md +0 -186
- package/examples/node_modules/electron-to-chromium/chromium-versions.js +0 -45
- package/examples/node_modules/electron-to-chromium/chromium-versions.json +0 -1
- package/examples/node_modules/electron-to-chromium/full-chromium-versions.js +0 -1833
- package/examples/node_modules/electron-to-chromium/full-chromium-versions.json +0 -1
- package/examples/node_modules/electron-to-chromium/full-versions.js +0 -1335
- package/examples/node_modules/electron-to-chromium/full-versions.json +0 -1
- package/examples/node_modules/electron-to-chromium/index.js +0 -36
- package/examples/node_modules/electron-to-chromium/package.json +0 -42
- package/examples/node_modules/electron-to-chromium/versions.js +0 -89
- package/examples/node_modules/electron-to-chromium/versions.json +0 -1
- package/examples/node_modules/enhanced-resolve/LICENSE +0 -20
- package/examples/node_modules/enhanced-resolve/README.md +0 -167
- package/examples/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +0 -96
- package/examples/node_modules/enhanced-resolve/lib/AliasPlugin.js +0 -120
- package/examples/node_modules/enhanced-resolve/lib/AppendPlugin.js +0 -47
- package/examples/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js +0 -477
- package/examples/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js +0 -45
- package/examples/node_modules/enhanced-resolve/lib/ConditionalPlugin.js +0 -59
- package/examples/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js +0 -96
- package/examples/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js +0 -170
- package/examples/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js +0 -63
- package/examples/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js +0 -149
- package/examples/node_modules/enhanced-resolve/lib/FileExistsPlugin.js +0 -58
- package/examples/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js +0 -171
- package/examples/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js +0 -64
- package/examples/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js +0 -41
- package/examples/node_modules/enhanced-resolve/lib/LogInfoPlugin.js +0 -50
- package/examples/node_modules/enhanced-resolve/lib/MainFieldPlugin.js +0 -81
- package/examples/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js +0 -9
- package/examples/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js +0 -80
- package/examples/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js +0 -47
- package/examples/node_modules/enhanced-resolve/lib/NextPlugin.js +0 -33
- package/examples/node_modules/enhanced-resolve/lib/ParsePlugin.js +0 -74
- package/examples/node_modules/enhanced-resolve/lib/PnpPlugin.js +0 -103
- package/examples/node_modules/enhanced-resolve/lib/Resolver.js +0 -500
- package/examples/node_modules/enhanced-resolve/lib/ResolverFactory.js +0 -661
- package/examples/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js +0 -65
- package/examples/node_modules/enhanced-resolve/lib/ResultPlugin.js +0 -42
- package/examples/node_modules/enhanced-resolve/lib/RootsPlugin.js +0 -62
- package/examples/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js +0 -80
- package/examples/node_modules/enhanced-resolve/lib/SymlinkPlugin.js +0 -88
- package/examples/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js +0 -95
- package/examples/node_modules/enhanced-resolve/lib/TryNextPlugin.js +0 -41
- package/examples/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js +0 -99
- package/examples/node_modules/enhanced-resolve/lib/UseFilePlugin.js +0 -49
- package/examples/node_modules/enhanced-resolve/lib/createInnerContext.js +0 -37
- package/examples/node_modules/enhanced-resolve/lib/forEachBail.js +0 -25
- package/examples/node_modules/enhanced-resolve/lib/getInnerRequest.js +0 -27
- package/examples/node_modules/enhanced-resolve/lib/getPaths.js +0 -37
- package/examples/node_modules/enhanced-resolve/lib/index.js +0 -131
- package/examples/node_modules/enhanced-resolve/lib/util/entrypoints.js +0 -667
- package/examples/node_modules/enhanced-resolve/lib/util/identifier.js +0 -26
- package/examples/node_modules/enhanced-resolve/lib/util/path.js +0 -221
- package/examples/node_modules/enhanced-resolve/lib/util/process-browser.js +0 -16
- package/examples/node_modules/enhanced-resolve/package.json +0 -70
- package/examples/node_modules/enhanced-resolve/types.d.ts +0 -506
- package/examples/node_modules/envinfo/LICENSE +0 -21
- package/examples/node_modules/envinfo/README.md +0 -285
- package/examples/node_modules/envinfo/dist/cli.js +0 -2
- package/examples/node_modules/envinfo/dist/envinfo.js +0 -1
- package/examples/node_modules/envinfo/package.json +0 -96
- package/examples/node_modules/es-module-lexer/LICENSE +0 -10
- package/examples/node_modules/es-module-lexer/README.md +0 -251
- package/examples/node_modules/es-module-lexer/dist/lexer.asm.js +0 -1
- package/examples/node_modules/es-module-lexer/dist/lexer.cjs +0 -1
- package/examples/node_modules/es-module-lexer/dist/lexer.js +0 -2
- package/examples/node_modules/es-module-lexer/lexer.js +0 -899
- package/examples/node_modules/es-module-lexer/package.json +0 -53
- package/examples/node_modules/es-module-lexer/types/lexer.d.ts +0 -86
- package/examples/node_modules/escalade/dist/index.js +0 -22
- package/examples/node_modules/escalade/dist/index.mjs +0 -22
- package/examples/node_modules/escalade/index.d.ts +0 -3
- package/examples/node_modules/escalade/license +0 -9
- package/examples/node_modules/escalade/package.json +0 -61
- package/examples/node_modules/escalade/readme.md +0 -211
- package/examples/node_modules/escalade/sync/index.d.ts +0 -2
- package/examples/node_modules/escalade/sync/index.js +0 -18
- package/examples/node_modules/escalade/sync/index.mjs +0 -18
- package/examples/node_modules/eslint-scope/CHANGELOG.md +0 -70
- package/examples/node_modules/eslint-scope/LICENSE +0 -22
- package/examples/node_modules/eslint-scope/README.md +0 -54
- package/examples/node_modules/eslint-scope/lib/definition.js +0 -86
- package/examples/node_modules/eslint-scope/lib/index.js +0 -165
- package/examples/node_modules/eslint-scope/lib/pattern-visitor.js +0 -152
- package/examples/node_modules/eslint-scope/lib/reference.js +0 -167
- package/examples/node_modules/eslint-scope/lib/referencer.js +0 -629
- package/examples/node_modules/eslint-scope/lib/scope-manager.js +0 -247
- package/examples/node_modules/eslint-scope/lib/scope.js +0 -748
- package/examples/node_modules/eslint-scope/lib/variable.js +0 -88
- package/examples/node_modules/eslint-scope/package.json +0 -48
- package/examples/node_modules/esrecurse/.babelrc +0 -3
- package/examples/node_modules/esrecurse/README.md +0 -171
- package/examples/node_modules/esrecurse/esrecurse.js +0 -117
- package/examples/node_modules/esrecurse/gulpfile.babel.js +0 -92
- package/examples/node_modules/esrecurse/node_modules/estraverse/.jshintrc +0 -16
- package/examples/node_modules/esrecurse/node_modules/estraverse/LICENSE.BSD +0 -19
- package/examples/node_modules/esrecurse/node_modules/estraverse/README.md +0 -153
- package/examples/node_modules/esrecurse/node_modules/estraverse/estraverse.js +0 -805
- package/examples/node_modules/esrecurse/node_modules/estraverse/gulpfile.js +0 -70
- package/examples/node_modules/esrecurse/node_modules/estraverse/package.json +0 -40
- package/examples/node_modules/esrecurse/package.json +0 -52
- package/examples/node_modules/estraverse/.jshintrc +0 -16
- package/examples/node_modules/estraverse/LICENSE.BSD +0 -19
- package/examples/node_modules/estraverse/README.md +0 -153
- package/examples/node_modules/estraverse/estraverse.js +0 -782
- package/examples/node_modules/estraverse/gulpfile.js +0 -70
- package/examples/node_modules/estraverse/package.json +0 -40
- package/examples/node_modules/events/.airtap.yml +0 -15
- package/examples/node_modules/events/.github/FUNDING.yml +0 -12
- package/examples/node_modules/events/.travis.yml +0 -18
- package/examples/node_modules/events/History.md +0 -118
- package/examples/node_modules/events/LICENSE +0 -22
- package/examples/node_modules/events/Readme.md +0 -50
- package/examples/node_modules/events/events.js +0 -497
- package/examples/node_modules/events/package.json +0 -37
- package/examples/node_modules/events/security.md +0 -10
- package/examples/node_modules/events/tests/add-listeners.js +0 -111
- package/examples/node_modules/events/tests/check-listener-leaks.js +0 -101
- package/examples/node_modules/events/tests/common.js +0 -104
- package/examples/node_modules/events/tests/errors.js +0 -13
- package/examples/node_modules/events/tests/events-list.js +0 -28
- package/examples/node_modules/events/tests/events-once.js +0 -234
- package/examples/node_modules/events/tests/index.js +0 -64
- package/examples/node_modules/events/tests/legacy-compat.js +0 -16
- package/examples/node_modules/events/tests/listener-count.js +0 -37
- package/examples/node_modules/events/tests/listeners-side-effects.js +0 -56
- package/examples/node_modules/events/tests/listeners.js +0 -168
- package/examples/node_modules/events/tests/max-listeners.js +0 -47
- package/examples/node_modules/events/tests/method-names.js +0 -35
- package/examples/node_modules/events/tests/modify-in-emit.js +0 -90
- package/examples/node_modules/events/tests/num-args.js +0 -60
- package/examples/node_modules/events/tests/once.js +0 -83
- package/examples/node_modules/events/tests/prepend.js +0 -31
- package/examples/node_modules/events/tests/remove-all-listeners.js +0 -133
- package/examples/node_modules/events/tests/remove-listeners.js +0 -212
- package/examples/node_modules/events/tests/set-max-listeners-side-effects.js +0 -31
- package/examples/node_modules/events/tests/special-event-names.js +0 -45
- package/examples/node_modules/events/tests/subclass.js +0 -66
- package/examples/node_modules/events/tests/symbols.js +0 -25
- package/examples/node_modules/execa/index.d.ts +0 -564
- package/examples/node_modules/execa/index.js +0 -268
- package/examples/node_modules/execa/lib/command.js +0 -52
- package/examples/node_modules/execa/lib/error.js +0 -88
- package/examples/node_modules/execa/lib/kill.js +0 -115
- package/examples/node_modules/execa/lib/promise.js +0 -46
- package/examples/node_modules/execa/lib/stdio.js +0 -52
- package/examples/node_modules/execa/lib/stream.js +0 -97
- package/examples/node_modules/execa/license +0 -9
- package/examples/node_modules/execa/package.json +0 -74
- package/examples/node_modules/execa/readme.md +0 -663
- package/examples/node_modules/fast-deep-equal/LICENSE +0 -21
- package/examples/node_modules/fast-deep-equal/README.md +0 -96
- package/examples/node_modules/fast-deep-equal/es6/index.d.ts +0 -2
- package/examples/node_modules/fast-deep-equal/es6/index.js +0 -72
- package/examples/node_modules/fast-deep-equal/es6/react.d.ts +0 -2
- package/examples/node_modules/fast-deep-equal/es6/react.js +0 -79
- package/examples/node_modules/fast-deep-equal/index.d.ts +0 -4
- package/examples/node_modules/fast-deep-equal/index.js +0 -46
- package/examples/node_modules/fast-deep-equal/package.json +0 -61
- package/examples/node_modules/fast-deep-equal/react.d.ts +0 -2
- package/examples/node_modules/fast-deep-equal/react.js +0 -53
- package/examples/node_modules/fast-json-stable-stringify/.eslintrc.yml +0 -26
- package/examples/node_modules/fast-json-stable-stringify/.github/FUNDING.yml +0 -1
- package/examples/node_modules/fast-json-stable-stringify/.travis.yml +0 -8
- package/examples/node_modules/fast-json-stable-stringify/LICENSE +0 -21
- package/examples/node_modules/fast-json-stable-stringify/README.md +0 -131
- package/examples/node_modules/fast-json-stable-stringify/benchmark/index.js +0 -31
- package/examples/node_modules/fast-json-stable-stringify/benchmark/test.json +0 -137
- package/examples/node_modules/fast-json-stable-stringify/example/key_cmp.js +0 -7
- package/examples/node_modules/fast-json-stable-stringify/example/nested.js +0 -3
- package/examples/node_modules/fast-json-stable-stringify/example/str.js +0 -3
- package/examples/node_modules/fast-json-stable-stringify/example/value_cmp.js +0 -7
- package/examples/node_modules/fast-json-stable-stringify/index.d.ts +0 -4
- package/examples/node_modules/fast-json-stable-stringify/index.js +0 -59
- package/examples/node_modules/fast-json-stable-stringify/package.json +0 -52
- package/examples/node_modules/fast-json-stable-stringify/test/cmp.js +0 -13
- package/examples/node_modules/fast-json-stable-stringify/test/nested.js +0 -44
- package/examples/node_modules/fast-json-stable-stringify/test/str.js +0 -46
- package/examples/node_modules/fast-json-stable-stringify/test/to-json.js +0 -22
- package/examples/node_modules/fastest-levenshtein/.eslintrc.js +0 -27
- package/examples/node_modules/fastest-levenshtein/.prettierrc +0 -4
- package/examples/node_modules/fastest-levenshtein/.travis.yml +0 -17
- package/examples/node_modules/fastest-levenshtein/LICENSE.md +0 -21
- package/examples/node_modules/fastest-levenshtein/README.md +0 -55
- package/examples/node_modules/fastest-levenshtein/index.d.ts +0 -2
- package/examples/node_modules/fastest-levenshtein/index.js +0 -147
- package/examples/node_modules/fastest-levenshtein/package.json +0 -63
- package/examples/node_modules/fastest-levenshtein/test.js +0 -64
- package/examples/node_modules/find-up/index.d.ts +0 -137
- package/examples/node_modules/find-up/index.js +0 -89
- package/examples/node_modules/find-up/license +0 -9
- package/examples/node_modules/find-up/package.json +0 -53
- package/examples/node_modules/find-up/readme.md +0 -156
- package/examples/node_modules/function-bind/.editorconfig +0 -20
- package/examples/node_modules/function-bind/.eslintrc +0 -15
- package/examples/node_modules/function-bind/.jscs.json +0 -176
- package/examples/node_modules/function-bind/.travis.yml +0 -168
- package/examples/node_modules/function-bind/LICENSE +0 -20
- package/examples/node_modules/function-bind/README.md +0 -48
- package/examples/node_modules/function-bind/implementation.js +0 -52
- package/examples/node_modules/function-bind/index.js +0 -5
- package/examples/node_modules/function-bind/package.json +0 -63
- package/examples/node_modules/function-bind/test/.eslintrc +0 -9
- package/examples/node_modules/function-bind/test/index.js +0 -252
- package/examples/node_modules/get-stream/buffer-stream.js +0 -52
- package/examples/node_modules/get-stream/index.d.ts +0 -105
- package/examples/node_modules/get-stream/index.js +0 -61
- package/examples/node_modules/get-stream/license +0 -9
- package/examples/node_modules/get-stream/package.json +0 -47
- package/examples/node_modules/get-stream/readme.md +0 -124
- package/examples/node_modules/glob-to-regexp/.travis.yml +0 -4
- package/examples/node_modules/glob-to-regexp/README.md +0 -75
- package/examples/node_modules/glob-to-regexp/index.js +0 -130
- package/examples/node_modules/glob-to-regexp/package.json +0 -23
- package/examples/node_modules/glob-to-regexp/test.js +0 -235
- package/examples/node_modules/graceful-fs/LICENSE +0 -15
- package/examples/node_modules/graceful-fs/README.md +0 -143
- package/examples/node_modules/graceful-fs/clone.js +0 -23
- package/examples/node_modules/graceful-fs/graceful-fs.js +0 -429
- package/examples/node_modules/graceful-fs/legacy-streams.js +0 -118
- package/examples/node_modules/graceful-fs/package.json +0 -50
- package/examples/node_modules/graceful-fs/polyfills.js +0 -348
- package/examples/node_modules/has/LICENSE-MIT +0 -22
- package/examples/node_modules/has/README.md +0 -18
- package/examples/node_modules/has/package.json +0 -48
- package/examples/node_modules/has/src/index.js +0 -5
- package/examples/node_modules/has/test/index.js +0 -10
- package/examples/node_modules/has-flag/index.d.ts +0 -39
- package/examples/node_modules/has-flag/index.js +0 -8
- package/examples/node_modules/has-flag/license +0 -9
- package/examples/node_modules/has-flag/package.json +0 -46
- package/examples/node_modules/has-flag/readme.md +0 -89
- package/examples/node_modules/human-signals/CHANGELOG.md +0 -11
- package/examples/node_modules/human-signals/LICENSE +0 -201
- package/examples/node_modules/human-signals/README.md +0 -165
- package/examples/node_modules/human-signals/build/src/core.js +0 -273
- package/examples/node_modules/human-signals/build/src/core.js.map +0 -1
- package/examples/node_modules/human-signals/build/src/main.d.ts +0 -52
- package/examples/node_modules/human-signals/build/src/main.js +0 -71
- package/examples/node_modules/human-signals/build/src/main.js.map +0 -1
- package/examples/node_modules/human-signals/build/src/realtime.js +0 -19
- package/examples/node_modules/human-signals/build/src/realtime.js.map +0 -1
- package/examples/node_modules/human-signals/build/src/signals.js +0 -35
- package/examples/node_modules/human-signals/build/src/signals.js.map +0 -1
- package/examples/node_modules/human-signals/package.json +0 -64
- package/examples/node_modules/import-local/fixtures/cli.js +0 -7
- package/examples/node_modules/import-local/index.js +0 -24
- package/examples/node_modules/import-local/license +0 -9
- package/examples/node_modules/import-local/package.json +0 -52
- package/examples/node_modules/import-local/readme.md +0 -37
- package/examples/node_modules/interpret/CHANGELOG +0 -115
- package/examples/node_modules/interpret/LICENSE +0 -22
- package/examples/node_modules/interpret/README.md +0 -229
- package/examples/node_modules/interpret/index.js +0 -211
- package/examples/node_modules/interpret/mjs-stub.js +0 -1
- package/examples/node_modules/interpret/package.json +0 -75
- package/examples/node_modules/is-core-module/.eslintrc +0 -17
- package/examples/node_modules/is-core-module/.nycrc +0 -9
- package/examples/node_modules/is-core-module/CHANGELOG.md +0 -127
- package/examples/node_modules/is-core-module/LICENSE +0 -20
- package/examples/node_modules/is-core-module/README.md +0 -40
- package/examples/node_modules/is-core-module/core.json +0 -152
- package/examples/node_modules/is-core-module/index.js +0 -69
- package/examples/node_modules/is-core-module/package.json +0 -69
- package/examples/node_modules/is-core-module/test/index.js +0 -130
- package/examples/node_modules/is-plain-object/LICENSE +0 -21
- package/examples/node_modules/is-plain-object/README.md +0 -104
- package/examples/node_modules/is-plain-object/index.d.ts +0 -5
- package/examples/node_modules/is-plain-object/index.js +0 -37
- package/examples/node_modules/is-plain-object/package.json +0 -79
- package/examples/node_modules/is-stream/index.d.ts +0 -79
- package/examples/node_modules/is-stream/index.js +0 -28
- package/examples/node_modules/is-stream/license +0 -9
- package/examples/node_modules/is-stream/package.json +0 -42
- package/examples/node_modules/is-stream/readme.md +0 -60
- package/examples/node_modules/isexe/LICENSE +0 -15
- package/examples/node_modules/isexe/README.md +0 -51
- package/examples/node_modules/isexe/index.js +0 -57
- package/examples/node_modules/isexe/mode.js +0 -41
- package/examples/node_modules/isexe/package.json +0 -31
- package/examples/node_modules/isexe/test/basic.js +0 -221
- package/examples/node_modules/isexe/windows.js +0 -42
- package/examples/node_modules/isobject/LICENSE +0 -21
- package/examples/node_modules/isobject/README.md +0 -122
- package/examples/node_modules/isobject/index.d.ts +0 -5
- package/examples/node_modules/isobject/index.js +0 -12
- package/examples/node_modules/isobject/package.json +0 -74
- package/examples/node_modules/jest-worker/LICENSE +0 -21
- package/examples/node_modules/jest-worker/README.md +0 -247
- package/examples/node_modules/jest-worker/build/Farm.d.ts +0 -29
- package/examples/node_modules/jest-worker/build/Farm.js +0 -206
- package/examples/node_modules/jest-worker/build/FifoQueue.d.ts +0 -18
- package/examples/node_modules/jest-worker/build/FifoQueue.js +0 -171
- package/examples/node_modules/jest-worker/build/PriorityQueue.d.ts +0 -41
- package/examples/node_modules/jest-worker/build/PriorityQueue.js +0 -188
- package/examples/node_modules/jest-worker/build/WorkerPool.d.ts +0 -13
- package/examples/node_modules/jest-worker/build/WorkerPool.js +0 -49
- package/examples/node_modules/jest-worker/build/base/BaseWorkerPool.d.ts +0 -21
- package/examples/node_modules/jest-worker/build/base/BaseWorkerPool.js +0 -201
- package/examples/node_modules/jest-worker/build/index.d.ts +0 -49
- package/examples/node_modules/jest-worker/build/index.js +0 -223
- package/examples/node_modules/jest-worker/build/types.d.ts +0 -143
- package/examples/node_modules/jest-worker/build/types.js +0 -39
- package/examples/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts +0 -51
- package/examples/node_modules/jest-worker/build/workers/ChildProcessWorker.js +0 -333
- package/examples/node_modules/jest-worker/build/workers/NodeThreadsWorker.d.ts +0 -34
- package/examples/node_modules/jest-worker/build/workers/NodeThreadsWorker.js +0 -344
- package/examples/node_modules/jest-worker/build/workers/messageParent.d.ts +0 -8
- package/examples/node_modules/jest-worker/build/workers/messageParent.js +0 -38
- package/examples/node_modules/jest-worker/build/workers/processChild.d.ts +0 -7
- package/examples/node_modules/jest-worker/build/workers/processChild.js +0 -148
- package/examples/node_modules/jest-worker/build/workers/threadChild.d.ts +0 -7
- package/examples/node_modules/jest-worker/build/workers/threadChild.js +0 -159
- package/examples/node_modules/jest-worker/package.json +0 -38
- package/examples/node_modules/json-parse-better-errors/CHANGELOG.md +0 -46
- package/examples/node_modules/json-parse-better-errors/LICENSE.md +0 -7
- package/examples/node_modules/json-parse-better-errors/README.md +0 -46
- package/examples/node_modules/json-parse-better-errors/index.js +0 -38
- package/examples/node_modules/json-parse-better-errors/package.json +0 -45
- package/examples/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
- package/examples/node_modules/json-schema-traverse/.travis.yml +0 -8
- package/examples/node_modules/json-schema-traverse/LICENSE +0 -21
- package/examples/node_modules/json-schema-traverse/README.md +0 -83
- package/examples/node_modules/json-schema-traverse/index.js +0 -89
- package/examples/node_modules/json-schema-traverse/package.json +0 -43
- package/examples/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
- package/examples/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
- package/examples/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
- package/examples/node_modules/kind-of/CHANGELOG.md +0 -160
- package/examples/node_modules/kind-of/LICENSE +0 -21
- package/examples/node_modules/kind-of/README.md +0 -367
- package/examples/node_modules/kind-of/index.js +0 -129
- package/examples/node_modules/kind-of/package.json +0 -88
- package/examples/node_modules/loader-runner/LICENSE +0 -21
- package/examples/node_modules/loader-runner/README.md +0 -53
- package/examples/node_modules/loader-runner/lib/LoaderLoadingError.js +0 -11
- package/examples/node_modules/loader-runner/lib/LoaderRunner.js +0 -415
- package/examples/node_modules/loader-runner/lib/loadLoader.js +0 -54
- package/examples/node_modules/loader-runner/package.json +0 -45
- package/examples/node_modules/locate-path/index.d.ts +0 -83
- package/examples/node_modules/locate-path/index.js +0 -65
- package/examples/node_modules/locate-path/license +0 -9
- package/examples/node_modules/locate-path/package.json +0 -45
- package/examples/node_modules/locate-path/readme.md +0 -122
- package/examples/node_modules/merge-stream/LICENSE +0 -21
- package/examples/node_modules/merge-stream/README.md +0 -78
- package/examples/node_modules/merge-stream/index.js +0 -41
- package/examples/node_modules/merge-stream/package.json +0 -19
- package/examples/node_modules/mime-db/HISTORY.md +0 -507
- package/examples/node_modules/mime-db/LICENSE +0 -23
- package/examples/node_modules/mime-db/README.md +0 -100
- package/examples/node_modules/mime-db/db.json +0 -8519
- package/examples/node_modules/mime-db/index.js +0 -12
- package/examples/node_modules/mime-db/package.json +0 -60
- package/examples/node_modules/mime-types/HISTORY.md +0 -397
- package/examples/node_modules/mime-types/LICENSE +0 -23
- package/examples/node_modules/mime-types/README.md +0 -113
- package/examples/node_modules/mime-types/index.js +0 -188
- package/examples/node_modules/mime-types/package.json +0 -44
- package/examples/node_modules/mimic-fn/index.d.ts +0 -54
- package/examples/node_modules/mimic-fn/index.js +0 -13
- package/examples/node_modules/mimic-fn/license +0 -9
- package/examples/node_modules/mimic-fn/package.json +0 -42
- package/examples/node_modules/mimic-fn/readme.md +0 -69
- package/examples/node_modules/neo-async/LICENSE +0 -22
- package/examples/node_modules/neo-async/README.md +0 -273
- package/examples/node_modules/neo-async/all.js +0 -3
- package/examples/node_modules/neo-async/allLimit.js +0 -3
- package/examples/node_modules/neo-async/allSeries.js +0 -3
- package/examples/node_modules/neo-async/angelFall.js +0 -3
- package/examples/node_modules/neo-async/any.js +0 -3
- package/examples/node_modules/neo-async/anyLimit.js +0 -3
- package/examples/node_modules/neo-async/anySeries.js +0 -3
- package/examples/node_modules/neo-async/apply.js +0 -3
- package/examples/node_modules/neo-async/applyEach.js +0 -3
- package/examples/node_modules/neo-async/applyEachSeries.js +0 -3
- package/examples/node_modules/neo-async/async.js +0 -9184
- package/examples/node_modules/neo-async/async.min.js +0 -80
- package/examples/node_modules/neo-async/asyncify.js +0 -3
- package/examples/node_modules/neo-async/auto.js +0 -3
- package/examples/node_modules/neo-async/autoInject.js +0 -3
- package/examples/node_modules/neo-async/cargo.js +0 -3
- package/examples/node_modules/neo-async/compose.js +0 -3
- package/examples/node_modules/neo-async/concat.js +0 -3
- package/examples/node_modules/neo-async/concatLimit.js +0 -3
- package/examples/node_modules/neo-async/concatSeries.js +0 -3
- package/examples/node_modules/neo-async/constant.js +0 -3
- package/examples/node_modules/neo-async/createLogger.js +0 -3
- package/examples/node_modules/neo-async/detect.js +0 -3
- package/examples/node_modules/neo-async/detectLimit.js +0 -3
- package/examples/node_modules/neo-async/detectSeries.js +0 -3
- package/examples/node_modules/neo-async/dir.js +0 -3
- package/examples/node_modules/neo-async/doDuring.js +0 -3
- package/examples/node_modules/neo-async/doUntil.js +0 -3
- package/examples/node_modules/neo-async/doWhilst.js +0 -3
- package/examples/node_modules/neo-async/during.js +0 -3
- package/examples/node_modules/neo-async/each.js +0 -3
- package/examples/node_modules/neo-async/eachLimit.js +0 -3
- package/examples/node_modules/neo-async/eachOf.js +0 -3
- package/examples/node_modules/neo-async/eachOfLimit.js +0 -3
- package/examples/node_modules/neo-async/eachOfSeries.js +0 -3
- package/examples/node_modules/neo-async/eachSeries.js +0 -3
- package/examples/node_modules/neo-async/ensureAsync.js +0 -3
- package/examples/node_modules/neo-async/every.js +0 -3
- package/examples/node_modules/neo-async/everyLimit.js +0 -3
- package/examples/node_modules/neo-async/everySeries.js +0 -3
- package/examples/node_modules/neo-async/fast.js +0 -3
- package/examples/node_modules/neo-async/filter.js +0 -3
- package/examples/node_modules/neo-async/filterLimit.js +0 -3
- package/examples/node_modules/neo-async/filterSeries.js +0 -3
- package/examples/node_modules/neo-async/find.js +0 -3
- package/examples/node_modules/neo-async/findLimit.js +0 -3
- package/examples/node_modules/neo-async/findSeries.js +0 -3
- package/examples/node_modules/neo-async/foldl.js +0 -3
- package/examples/node_modules/neo-async/foldr.js +0 -3
- package/examples/node_modules/neo-async/forEach.js +0 -3
- package/examples/node_modules/neo-async/forEachLimit.js +0 -3
- package/examples/node_modules/neo-async/forEachOf.js +0 -3
- package/examples/node_modules/neo-async/forEachOfLimit.js +0 -3
- package/examples/node_modules/neo-async/forEachOfSeries.js +0 -3
- package/examples/node_modules/neo-async/forEachSeries.js +0 -3
- package/examples/node_modules/neo-async/forever.js +0 -3
- package/examples/node_modules/neo-async/groupBy.js +0 -3
- package/examples/node_modules/neo-async/groupByLimit.js +0 -3
- package/examples/node_modules/neo-async/groupBySeries.js +0 -3
- package/examples/node_modules/neo-async/inject.js +0 -3
- package/examples/node_modules/neo-async/iterator.js +0 -3
- package/examples/node_modules/neo-async/log.js +0 -3
- package/examples/node_modules/neo-async/map.js +0 -3
- package/examples/node_modules/neo-async/mapLimit.js +0 -3
- package/examples/node_modules/neo-async/mapSeries.js +0 -3
- package/examples/node_modules/neo-async/mapValues.js +0 -3
- package/examples/node_modules/neo-async/mapValuesLimit.js +0 -3
- package/examples/node_modules/neo-async/mapValuesSeries.js +0 -3
- package/examples/node_modules/neo-async/memoize.js +0 -3
- package/examples/node_modules/neo-async/nextTick.js +0 -3
- package/examples/node_modules/neo-async/omit.js +0 -3
- package/examples/node_modules/neo-async/omitLimit.js +0 -3
- package/examples/node_modules/neo-async/omitSeries.js +0 -3
- package/examples/node_modules/neo-async/package.json +0 -57
- package/examples/node_modules/neo-async/parallel.js +0 -3
- package/examples/node_modules/neo-async/parallelLimit.js +0 -3
- package/examples/node_modules/neo-async/pick.js +0 -3
- package/examples/node_modules/neo-async/pickLimit.js +0 -3
- package/examples/node_modules/neo-async/pickSeries.js +0 -3
- package/examples/node_modules/neo-async/priorityQueue.js +0 -3
- package/examples/node_modules/neo-async/queue.js +0 -3
- package/examples/node_modules/neo-async/race.js +0 -3
- package/examples/node_modules/neo-async/reduce.js +0 -3
- package/examples/node_modules/neo-async/reduceRight.js +0 -3
- package/examples/node_modules/neo-async/reflect.js +0 -3
- package/examples/node_modules/neo-async/reflectAll.js +0 -3
- package/examples/node_modules/neo-async/reject.js +0 -3
- package/examples/node_modules/neo-async/rejectLimit.js +0 -3
- package/examples/node_modules/neo-async/rejectSeries.js +0 -3
- package/examples/node_modules/neo-async/retry.js +0 -3
- package/examples/node_modules/neo-async/retryable.js +0 -3
- package/examples/node_modules/neo-async/safe.js +0 -3
- package/examples/node_modules/neo-async/select.js +0 -3
- package/examples/node_modules/neo-async/selectLimit.js +0 -3
- package/examples/node_modules/neo-async/selectSeries.js +0 -3
- package/examples/node_modules/neo-async/seq.js +0 -3
- package/examples/node_modules/neo-async/series.js +0 -3
- package/examples/node_modules/neo-async/setImmediate.js +0 -3
- package/examples/node_modules/neo-async/some.js +0 -3
- package/examples/node_modules/neo-async/someLimit.js +0 -3
- package/examples/node_modules/neo-async/someSeries.js +0 -3
- package/examples/node_modules/neo-async/sortBy.js +0 -3
- package/examples/node_modules/neo-async/sortByLimit.js +0 -3
- package/examples/node_modules/neo-async/sortBySeries.js +0 -3
- package/examples/node_modules/neo-async/timeout.js +0 -3
- package/examples/node_modules/neo-async/times.js +0 -3
- package/examples/node_modules/neo-async/timesLimit.js +0 -3
- package/examples/node_modules/neo-async/timesSeries.js +0 -3
- package/examples/node_modules/neo-async/transform.js +0 -3
- package/examples/node_modules/neo-async/transformLimit.js +0 -3
- package/examples/node_modules/neo-async/transformSeries.js +0 -3
- package/examples/node_modules/neo-async/tryEach.js +0 -3
- package/examples/node_modules/neo-async/unmemoize.js +0 -3
- package/examples/node_modules/neo-async/until.js +0 -3
- package/examples/node_modules/neo-async/waterfall.js +0 -3
- package/examples/node_modules/neo-async/whilst.js +0 -3
- package/examples/node_modules/neo-async/wrapSync.js +0 -3
- package/examples/node_modules/node-releases/LICENSE +0 -21
- package/examples/node_modules/node-releases/README.md +0 -31
- package/examples/node_modules/node-releases/data/processed/envs.json +0 -1
- package/examples/node_modules/node-releases/data/release-schedule/release-schedule.json +0 -1
- package/examples/node_modules/node-releases/package.json +0 -18
- package/examples/node_modules/npm-run-path/index.d.ts +0 -89
- package/examples/node_modules/npm-run-path/index.js +0 -47
- package/examples/node_modules/npm-run-path/license +0 -9
- package/examples/node_modules/npm-run-path/package.json +0 -44
- package/examples/node_modules/npm-run-path/readme.md +0 -115
- package/examples/node_modules/onetime/index.d.ts +0 -64
- package/examples/node_modules/onetime/index.js +0 -44
- package/examples/node_modules/onetime/license +0 -9
- package/examples/node_modules/onetime/package.json +0 -43
- package/examples/node_modules/onetime/readme.md +0 -94
- package/examples/node_modules/p-limit/index.d.ts +0 -38
- package/examples/node_modules/p-limit/index.js +0 -57
- package/examples/node_modules/p-limit/license +0 -9
- package/examples/node_modules/p-limit/package.json +0 -52
- package/examples/node_modules/p-limit/readme.md +0 -101
- package/examples/node_modules/p-locate/index.d.ts +0 -64
- package/examples/node_modules/p-locate/index.js +0 -52
- package/examples/node_modules/p-locate/license +0 -9
- package/examples/node_modules/p-locate/package.json +0 -53
- package/examples/node_modules/p-locate/readme.md +0 -90
- package/examples/node_modules/p-try/index.d.ts +0 -39
- package/examples/node_modules/p-try/index.js +0 -9
- package/examples/node_modules/p-try/license +0 -9
- package/examples/node_modules/p-try/package.json +0 -42
- package/examples/node_modules/p-try/readme.md +0 -58
- package/examples/node_modules/path-exists/index.d.ts +0 -28
- package/examples/node_modules/path-exists/index.js +0 -23
- package/examples/node_modules/path-exists/license +0 -9
- package/examples/node_modules/path-exists/package.json +0 -39
- package/examples/node_modules/path-exists/readme.md +0 -52
- package/examples/node_modules/path-key/index.d.ts +0 -40
- package/examples/node_modules/path-key/index.js +0 -16
- package/examples/node_modules/path-key/license +0 -9
- package/examples/node_modules/path-key/package.json +0 -39
- package/examples/node_modules/path-key/readme.md +0 -61
- package/examples/node_modules/path-parse/LICENSE +0 -21
- package/examples/node_modules/path-parse/README.md +0 -42
- package/examples/node_modules/path-parse/index.js +0 -75
- package/examples/node_modules/path-parse/package.json +0 -33
- package/examples/node_modules/picocolors/LICENSE +0 -15
- package/examples/node_modules/picocolors/README.md +0 -21
- package/examples/node_modules/picocolors/package.json +0 -25
- package/examples/node_modules/picocolors/picocolors.browser.js +0 -4
- package/examples/node_modules/picocolors/picocolors.d.ts +0 -5
- package/examples/node_modules/picocolors/picocolors.js +0 -58
- package/examples/node_modules/picocolors/types.ts +0 -30
- package/examples/node_modules/pkg-dir/index.d.ts +0 -44
- package/examples/node_modules/pkg-dir/index.js +0 -17
- package/examples/node_modules/pkg-dir/license +0 -9
- package/examples/node_modules/pkg-dir/package.json +0 -56
- package/examples/node_modules/pkg-dir/readme.md +0 -66
- package/examples/node_modules/punycode/LICENSE-MIT.txt +0 -20
- package/examples/node_modules/punycode/README.md +0 -122
- package/examples/node_modules/punycode/package.json +0 -58
- package/examples/node_modules/punycode/punycode.es6.js +0 -441
- package/examples/node_modules/punycode/punycode.js +0 -440
- package/examples/node_modules/randombytes/.travis.yml +0 -15
- package/examples/node_modules/randombytes/.zuul.yml +0 -1
- package/examples/node_modules/randombytes/LICENSE +0 -21
- package/examples/node_modules/randombytes/README.md +0 -14
- package/examples/node_modules/randombytes/browser.js +0 -50
- package/examples/node_modules/randombytes/index.js +0 -1
- package/examples/node_modules/randombytes/package.json +0 -36
- package/examples/node_modules/randombytes/test.js +0 -81
- package/examples/node_modules/rechoir/LICENSE +0 -24
- package/examples/node_modules/rechoir/README.md +0 -83
- package/examples/node_modules/rechoir/index.js +0 -67
- package/examples/node_modules/rechoir/lib/extension.js +0 -44
- package/examples/node_modules/rechoir/lib/normalize.js +0 -13
- package/examples/node_modules/rechoir/lib/register.js +0 -15
- package/examples/node_modules/rechoir/package.json +0 -46
- package/examples/node_modules/resolve/.editorconfig +0 -37
- package/examples/node_modules/resolve/.eslintrc +0 -65
- package/examples/node_modules/resolve/.github/FUNDING.yml +0 -12
- package/examples/node_modules/resolve/LICENSE +0 -21
- package/examples/node_modules/resolve/SECURITY.md +0 -3
- package/examples/node_modules/resolve/appveyor.yml +0 -76
- package/examples/node_modules/resolve/async.js +0 -3
- package/examples/node_modules/resolve/bin/resolve +0 -50
- package/examples/node_modules/resolve/example/async.js +0 -5
- package/examples/node_modules/resolve/example/sync.js +0 -3
- package/examples/node_modules/resolve/index.js +0 -6
- package/examples/node_modules/resolve/lib/async.js +0 -329
- package/examples/node_modules/resolve/lib/caller.js +0 -8
- package/examples/node_modules/resolve/lib/core.js +0 -52
- package/examples/node_modules/resolve/lib/core.json +0 -152
- package/examples/node_modules/resolve/lib/homedir.js +0 -24
- package/examples/node_modules/resolve/lib/is-core.js +0 -5
- package/examples/node_modules/resolve/lib/node-modules-paths.js +0 -42
- package/examples/node_modules/resolve/lib/normalize-options.js +0 -10
- package/examples/node_modules/resolve/lib/sync.js +0 -208
- package/examples/node_modules/resolve/package.json +0 -62
- package/examples/node_modules/resolve/readme.markdown +0 -301
- package/examples/node_modules/resolve/sync.js +0 -3
- package/examples/node_modules/resolve/test/core.js +0 -81
- package/examples/node_modules/resolve/test/dotdot/abc/index.js +0 -2
- package/examples/node_modules/resolve/test/dotdot/index.js +0 -1
- package/examples/node_modules/resolve/test/dotdot.js +0 -29
- package/examples/node_modules/resolve/test/faulty_basedir.js +0 -29
- package/examples/node_modules/resolve/test/filter.js +0 -34
- package/examples/node_modules/resolve/test/filter_sync.js +0 -33
- package/examples/node_modules/resolve/test/home_paths.js +0 -127
- package/examples/node_modules/resolve/test/home_paths_sync.js +0 -114
- package/examples/node_modules/resolve/test/mock.js +0 -315
- package/examples/node_modules/resolve/test/mock_sync.js +0 -214
- package/examples/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +0 -1
- package/examples/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +0 -1
- package/examples/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +0 -1
- package/examples/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +0 -3
- package/examples/node_modules/resolve/test/module_dir.js +0 -56
- package/examples/node_modules/resolve/test/node-modules-paths.js +0 -143
- package/examples/node_modules/resolve/test/node_path/x/aaa/index.js +0 -1
- package/examples/node_modules/resolve/test/node_path/x/ccc/index.js +0 -1
- package/examples/node_modules/resolve/test/node_path/y/bbb/index.js +0 -1
- package/examples/node_modules/resolve/test/node_path/y/ccc/index.js +0 -1
- package/examples/node_modules/resolve/test/node_path.js +0 -70
- package/examples/node_modules/resolve/test/nonstring.js +0 -9
- package/examples/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
- package/examples/node_modules/resolve/test/pathfilter.js +0 -75
- package/examples/node_modules/resolve/test/precedence/aaa/index.js +0 -1
- package/examples/node_modules/resolve/test/precedence/aaa/main.js +0 -1
- package/examples/node_modules/resolve/test/precedence/aaa.js +0 -1
- package/examples/node_modules/resolve/test/precedence/bbb/main.js +0 -1
- package/examples/node_modules/resolve/test/precedence/bbb.js +0 -1
- package/examples/node_modules/resolve/test/precedence.js +0 -23
- package/examples/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- package/examples/node_modules/resolve/test/resolver/baz/package.json +0 -4
- package/examples/node_modules/resolve/test/resolver/baz/quux.js +0 -1
- package/examples/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
- package/examples/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
- package/examples/node_modules/resolve/test/resolver/browser_field/package.json +0 -5
- package/examples/node_modules/resolve/test/resolver/cup.coffee +0 -1
- package/examples/node_modules/resolve/test/resolver/dot_main/index.js +0 -1
- package/examples/node_modules/resolve/test/resolver/dot_main/package.json +0 -3
- package/examples/node_modules/resolve/test/resolver/dot_slash_main/index.js +0 -1
- package/examples/node_modules/resolve/test/resolver/dot_slash_main/package.json +0 -3
- package/examples/node_modules/resolve/test/resolver/foo.js +0 -1
- package/examples/node_modules/resolve/test/resolver/incorrect_main/index.js +0 -2
- package/examples/node_modules/resolve/test/resolver/incorrect_main/package.json +0 -3
- package/examples/node_modules/resolve/test/resolver/invalid_main/package.json +0 -7
- package/examples/node_modules/resolve/test/resolver/malformed_package_json/index.js +0 -0
- package/examples/node_modules/resolve/test/resolver/malformed_package_json/package.json +0 -1
- package/examples/node_modules/resolve/test/resolver/mug.coffee +0 -0
- package/examples/node_modules/resolve/test/resolver/mug.js +0 -0
- package/examples/node_modules/resolve/test/resolver/multirepo/lerna.json +0 -6
- package/examples/node_modules/resolve/test/resolver/multirepo/package.json +0 -20
- package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +0 -35
- package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +0 -14
- package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
- package/examples/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +0 -14
- package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +0 -26
- package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +0 -15
- package/examples/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +0 -12
- package/examples/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- package/examples/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- package/examples/node_modules/resolve/test/resolver/quux/foo/index.js +0 -1
- package/examples/node_modules/resolve/test/resolver/same_names/foo/index.js +0 -1
- package/examples/node_modules/resolve/test/resolver/same_names/foo.js +0 -1
- package/examples/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
- package/examples/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
- package/examples/node_modules/resolve/test/resolver/symlinked/package/bar.js +0 -1
- package/examples/node_modules/resolve/test/resolver/symlinked/package/package.json +0 -3
- package/examples/node_modules/resolve/test/resolver/without_basedir/main.js +0 -5
- package/examples/node_modules/resolve/test/resolver.js +0 -546
- package/examples/node_modules/resolve/test/resolver_sync.js +0 -645
- package/examples/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
- package/examples/node_modules/resolve/test/shadowed_core.js +0 -54
- package/examples/node_modules/resolve/test/subdirs.js +0 -13
- package/examples/node_modules/resolve/test/symlinks.js +0 -176
- package/examples/node_modules/resolve-cwd/index.d.ts +0 -48
- package/examples/node_modules/resolve-cwd/index.js +0 -5
- package/examples/node_modules/resolve-cwd/license +0 -9
- package/examples/node_modules/resolve-cwd/package.json +0 -43
- package/examples/node_modules/resolve-cwd/readme.md +0 -58
- package/examples/node_modules/resolve-from/index.d.ts +0 -31
- package/examples/node_modules/resolve-from/index.js +0 -47
- package/examples/node_modules/resolve-from/license +0 -9
- package/examples/node_modules/resolve-from/package.json +0 -36
- package/examples/node_modules/resolve-from/readme.md +0 -72
- package/examples/node_modules/safe-buffer/LICENSE +0 -21
- package/examples/node_modules/safe-buffer/README.md +0 -584
- package/examples/node_modules/safe-buffer/index.d.ts +0 -187
- package/examples/node_modules/safe-buffer/index.js +0 -65
- package/examples/node_modules/safe-buffer/package.json +0 -51
- package/examples/node_modules/schema-utils/LICENSE +0 -20
- package/examples/node_modules/schema-utils/README.md +0 -290
- package/examples/node_modules/schema-utils/declarations/ValidationError.d.ts +0 -74
- package/examples/node_modules/schema-utils/declarations/index.d.ts +0 -3
- package/examples/node_modules/schema-utils/declarations/keywords/absolutePath.d.ts +0 -10
- package/examples/node_modules/schema-utils/declarations/util/Range.d.ts +0 -79
- package/examples/node_modules/schema-utils/declarations/util/hints.d.ts +0 -3
- package/examples/node_modules/schema-utils/declarations/validate.d.ts +0 -37
- package/examples/node_modules/schema-utils/dist/ValidationError.js +0 -1271
- package/examples/node_modules/schema-utils/dist/index.js +0 -11
- package/examples/node_modules/schema-utils/dist/keywords/absolutePath.js +0 -93
- package/examples/node_modules/schema-utils/dist/util/Range.js +0 -163
- package/examples/node_modules/schema-utils/dist/util/hints.js +0 -105
- package/examples/node_modules/schema-utils/dist/validate.js +0 -163
- package/examples/node_modules/schema-utils/package.json +0 -78
- package/examples/node_modules/serialize-javascript/LICENSE +0 -27
- package/examples/node_modules/serialize-javascript/README.md +0 -142
- package/examples/node_modules/serialize-javascript/index.js +0 -268
- package/examples/node_modules/serialize-javascript/package.json +0 -36
- package/examples/node_modules/shallow-clone/LICENSE +0 -21
- package/examples/node_modules/shallow-clone/README.md +0 -153
- package/examples/node_modules/shallow-clone/index.js +0 -83
- package/examples/node_modules/shallow-clone/package.json +0 -64
- package/examples/node_modules/shebang-command/index.js +0 -19
- package/examples/node_modules/shebang-command/license +0 -9
- package/examples/node_modules/shebang-command/package.json +0 -34
- package/examples/node_modules/shebang-command/readme.md +0 -34
- package/examples/node_modules/shebang-regex/index.d.ts +0 -22
- package/examples/node_modules/shebang-regex/index.js +0 -2
- package/examples/node_modules/shebang-regex/license +0 -9
- package/examples/node_modules/shebang-regex/package.json +0 -35
- package/examples/node_modules/shebang-regex/readme.md +0 -33
- package/examples/node_modules/signal-exit/LICENSE.txt +0 -16
- package/examples/node_modules/signal-exit/README.md +0 -39
- package/examples/node_modules/signal-exit/index.js +0 -202
- package/examples/node_modules/signal-exit/package.json +0 -38
- package/examples/node_modules/signal-exit/signals.js +0 -53
- package/examples/node_modules/source-map/CHANGELOG.md +0 -301
- package/examples/node_modules/source-map/LICENSE +0 -28
- package/examples/node_modules/source-map/README.md +0 -742
- package/examples/node_modules/source-map/dist/source-map.debug.js +0 -3234
- package/examples/node_modules/source-map/dist/source-map.js +0 -3233
- package/examples/node_modules/source-map/dist/source-map.min.js +0 -2
- package/examples/node_modules/source-map/dist/source-map.min.js.map +0 -1
- package/examples/node_modules/source-map/lib/array-set.js +0 -121
- package/examples/node_modules/source-map/lib/base64-vlq.js +0 -140
- package/examples/node_modules/source-map/lib/base64.js +0 -67
- package/examples/node_modules/source-map/lib/binary-search.js +0 -111
- package/examples/node_modules/source-map/lib/mapping-list.js +0 -79
- package/examples/node_modules/source-map/lib/quick-sort.js +0 -114
- package/examples/node_modules/source-map/lib/source-map-consumer.js +0 -1145
- package/examples/node_modules/source-map/lib/source-map-generator.js +0 -425
- package/examples/node_modules/source-map/lib/source-node.js +0 -413
- package/examples/node_modules/source-map/lib/util.js +0 -488
- package/examples/node_modules/source-map/package.json +0 -73
- package/examples/node_modules/source-map/source-map.d.ts +0 -98
- package/examples/node_modules/source-map/source-map.js +0 -8
- package/examples/node_modules/source-map-support/LICENSE.md +0 -21
- package/examples/node_modules/source-map-support/README.md +0 -284
- package/examples/node_modules/source-map-support/browser-source-map-support.js +0 -114
- package/examples/node_modules/source-map-support/package.json +0 -31
- package/examples/node_modules/source-map-support/register-hook-require.js +0 -1
- package/examples/node_modules/source-map-support/register.js +0 -1
- package/examples/node_modules/source-map-support/source-map-support.js +0 -625
- package/examples/node_modules/strip-final-newline/index.js +0 -16
- package/examples/node_modules/strip-final-newline/license +0 -9
- package/examples/node_modules/strip-final-newline/package.json +0 -40
- package/examples/node_modules/strip-final-newline/readme.md +0 -30
- package/examples/node_modules/supports-color/browser.js +0 -24
- package/examples/node_modules/supports-color/index.js +0 -152
- package/examples/node_modules/supports-color/license +0 -9
- package/examples/node_modules/supports-color/package.json +0 -58
- package/examples/node_modules/supports-color/readme.md +0 -77
- package/examples/node_modules/supports-preserve-symlinks-flag/.eslintrc +0 -14
- package/examples/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +0 -12
- package/examples/node_modules/supports-preserve-symlinks-flag/.nycrc +0 -9
- package/examples/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +0 -22
- package/examples/node_modules/supports-preserve-symlinks-flag/LICENSE +0 -21
- package/examples/node_modules/supports-preserve-symlinks-flag/README.md +0 -42
- package/examples/node_modules/supports-preserve-symlinks-flag/browser.js +0 -3
- package/examples/node_modules/supports-preserve-symlinks-flag/index.js +0 -9
- package/examples/node_modules/supports-preserve-symlinks-flag/package.json +0 -70
- package/examples/node_modules/supports-preserve-symlinks-flag/test/index.js +0 -29
- package/examples/node_modules/tapable/LICENSE +0 -21
- package/examples/node_modules/tapable/README.md +0 -296
- package/examples/node_modules/tapable/lib/AsyncParallelBailHook.js +0 -85
- package/examples/node_modules/tapable/lib/AsyncParallelHook.js +0 -37
- package/examples/node_modules/tapable/lib/AsyncSeriesBailHook.js +0 -42
- package/examples/node_modules/tapable/lib/AsyncSeriesHook.js +0 -37
- package/examples/node_modules/tapable/lib/AsyncSeriesLoopHook.js +0 -37
- package/examples/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js +0 -47
- package/examples/node_modules/tapable/lib/Hook.js +0 -175
- package/examples/node_modules/tapable/lib/HookCodeFactory.js +0 -468
- package/examples/node_modules/tapable/lib/HookMap.js +0 -61
- package/examples/node_modules/tapable/lib/MultiHook.js +0 -54
- package/examples/node_modules/tapable/lib/SyncBailHook.js +0 -51
- package/examples/node_modules/tapable/lib/SyncHook.js +0 -46
- package/examples/node_modules/tapable/lib/SyncLoopHook.js +0 -46
- package/examples/node_modules/tapable/lib/SyncWaterfallHook.js +0 -57
- package/examples/node_modules/tapable/lib/index.js +0 -19
- package/examples/node_modules/tapable/lib/util-browser.js +0 -16
- package/examples/node_modules/tapable/package.json +0 -44
- package/examples/node_modules/tapable/tapable.d.ts +0 -116
- package/examples/node_modules/terser/CHANGELOG.md +0 -480
- package/examples/node_modules/terser/LICENSE +0 -29
- package/examples/node_modules/terser/PATRONS.md +0 -15
- package/examples/node_modules/terser/README.md +0 -1374
- package/examples/node_modules/terser/bin/package.json +0 -10
- package/examples/node_modules/terser/bin/terser +0 -21
- package/examples/node_modules/terser/bin/uglifyjs +0 -10
- package/examples/node_modules/terser/dist/.gitkeep +0 -0
- package/examples/node_modules/terser/dist/bundle.min.js +0 -28332
- package/examples/node_modules/terser/dist/package.json +0 -10
- package/examples/node_modules/terser/lib/ast.js +0 -1858
- package/examples/node_modules/terser/lib/cli.js +0 -479
- package/examples/node_modules/terser/lib/compress/common.js +0 -296
- package/examples/node_modules/terser/lib/compress/compressor-flags.js +0 -63
- package/examples/node_modules/terser/lib/compress/drop-side-effect-free.js +0 -350
- package/examples/node_modules/terser/lib/compress/evaluate.js +0 -461
- package/examples/node_modules/terser/lib/compress/index.js +0 -4667
- package/examples/node_modules/terser/lib/compress/inference.js +0 -948
- package/examples/node_modules/terser/lib/compress/native-objects.js +0 -184
- package/examples/node_modules/terser/lib/compress/reduce-vars.js +0 -675
- package/examples/node_modules/terser/lib/compress/tighten-body.js +0 -1461
- package/examples/node_modules/terser/lib/equivalent-to.js +0 -313
- package/examples/node_modules/terser/lib/minify.js +0 -335
- package/examples/node_modules/terser/lib/mozilla-ast.js +0 -1376
- package/examples/node_modules/terser/lib/output.js +0 -2347
- package/examples/node_modules/terser/lib/parse.js +0 -3362
- package/examples/node_modules/terser/lib/propmangle.js +0 -376
- package/examples/node_modules/terser/lib/scope.js +0 -1042
- package/examples/node_modules/terser/lib/size.js +0 -490
- package/examples/node_modules/terser/lib/sourcemap.js +0 -114
- package/examples/node_modules/terser/lib/transform.js +0 -318
- package/examples/node_modules/terser/lib/utils/first_in_statement.js +0 -50
- package/examples/node_modules/terser/lib/utils/index.js +0 -302
- package/examples/node_modules/terser/main.js +0 -27
- package/examples/node_modules/terser/node_modules/source-map/CHANGELOG.md +0 -344
- package/examples/node_modules/terser/node_modules/source-map/LICENSE +0 -28
- package/examples/node_modules/terser/node_modules/source-map/README.md +0 -822
- package/examples/node_modules/terser/node_modules/source-map/dist/source-map.js +0 -3351
- package/examples/node_modules/terser/node_modules/source-map/lib/array-set.js +0 -100
- package/examples/node_modules/terser/node_modules/source-map/lib/base64-vlq.js +0 -111
- package/examples/node_modules/terser/node_modules/source-map/lib/base64.js +0 -18
- package/examples/node_modules/terser/node_modules/source-map/lib/binary-search.js +0 -107
- package/examples/node_modules/terser/node_modules/source-map/lib/mapping-list.js +0 -80
- package/examples/node_modules/terser/node_modules/source-map/lib/mappings.wasm +0 -0
- package/examples/node_modules/terser/node_modules/source-map/lib/read-wasm.js +0 -40
- package/examples/node_modules/terser/node_modules/source-map/lib/source-map-consumer.js +0 -1254
- package/examples/node_modules/terser/node_modules/source-map/lib/source-map-generator.js +0 -413
- package/examples/node_modules/terser/node_modules/source-map/lib/source-node.js +0 -404
- package/examples/node_modules/terser/node_modules/source-map/lib/util.js +0 -546
- package/examples/node_modules/terser/node_modules/source-map/lib/wasm.js +0 -107
- package/examples/node_modules/terser/node_modules/source-map/package.json +0 -90
- package/examples/node_modules/terser/node_modules/source-map/source-map.d.ts +0 -369
- package/examples/node_modules/terser/node_modules/source-map/source-map.js +0 -8
- package/examples/node_modules/terser/package.json +0 -152
- package/examples/node_modules/terser/tools/domprops.js +0 -7771
- package/examples/node_modules/terser/tools/exit.cjs +0 -7
- package/examples/node_modules/terser/tools/props.html +0 -55
- package/examples/node_modules/terser/tools/terser.d.ts +0 -207
- package/examples/node_modules/terser-webpack-plugin/LICENSE +0 -20
- package/examples/node_modules/terser-webpack-plugin/README.md +0 -742
- package/examples/node_modules/terser-webpack-plugin/dist/index.js +0 -798
- package/examples/node_modules/terser-webpack-plugin/dist/minify.js +0 -50
- package/examples/node_modules/terser-webpack-plugin/dist/options.json +0 -164
- package/examples/node_modules/terser-webpack-plugin/dist/utils.js +0 -687
- package/examples/node_modules/terser-webpack-plugin/package.json +0 -114
- package/examples/node_modules/terser-webpack-plugin/types/index.d.ts +0 -329
- package/examples/node_modules/terser-webpack-plugin/types/minify.d.ts +0 -17
- package/examples/node_modules/terser-webpack-plugin/types/utils.d.ts +0 -100
- package/examples/node_modules/uri-js/LICENSE +0 -11
- package/examples/node_modules/uri-js/README.md +0 -203
- package/examples/node_modules/uri-js/dist/es5/uri.all.d.ts +0 -59
- package/examples/node_modules/uri-js/dist/es5/uri.all.js +0 -1443
- package/examples/node_modules/uri-js/dist/es5/uri.all.js.map +0 -1
- package/examples/node_modules/uri-js/dist/es5/uri.all.min.d.ts +0 -59
- package/examples/node_modules/uri-js/dist/es5/uri.all.min.js +0 -3
- package/examples/node_modules/uri-js/dist/es5/uri.all.min.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/index.d.ts +0 -1
- package/examples/node_modules/uri-js/dist/esnext/index.js +0 -17
- package/examples/node_modules/uri-js/dist/esnext/index.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +0 -3
- package/examples/node_modules/uri-js/dist/esnext/regexps-iri.js +0 -3
- package/examples/node_modules/uri-js/dist/esnext/regexps-iri.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +0 -4
- package/examples/node_modules/uri-js/dist/esnext/regexps-uri.js +0 -42
- package/examples/node_modules/uri-js/dist/esnext/regexps-uri.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/http.d.ts +0 -3
- package/examples/node_modules/uri-js/dist/esnext/schemes/http.js +0 -28
- package/examples/node_modules/uri-js/dist/esnext/schemes/http.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/https.d.ts +0 -3
- package/examples/node_modules/uri-js/dist/esnext/schemes/https.js +0 -9
- package/examples/node_modules/uri-js/dist/esnext/schemes/https.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +0 -12
- package/examples/node_modules/uri-js/dist/esnext/schemes/mailto.js +0 -148
- package/examples/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +0 -7
- package/examples/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +0 -23
- package/examples/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +0 -10
- package/examples/node_modules/uri-js/dist/esnext/schemes/urn.js +0 -49
- package/examples/node_modules/uri-js/dist/esnext/schemes/urn.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +0 -7
- package/examples/node_modules/uri-js/dist/esnext/schemes/ws.js +0 -41
- package/examples/node_modules/uri-js/dist/esnext/schemes/ws.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +0 -3
- package/examples/node_modules/uri-js/dist/esnext/schemes/wss.js +0 -9
- package/examples/node_modules/uri-js/dist/esnext/schemes/wss.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/uri.d.ts +0 -59
- package/examples/node_modules/uri-js/dist/esnext/uri.js +0 -480
- package/examples/node_modules/uri-js/dist/esnext/uri.js.map +0 -1
- package/examples/node_modules/uri-js/dist/esnext/util.d.ts +0 -6
- package/examples/node_modules/uri-js/dist/esnext/util.js +0 -36
- package/examples/node_modules/uri-js/dist/esnext/util.js.map +0 -1
- package/examples/node_modules/uri-js/package.json +0 -77
- package/examples/node_modules/uri-js/yarn.lock +0 -2558
- package/examples/node_modules/watchpack/LICENSE +0 -20
- package/examples/node_modules/watchpack/README.md +0 -149
- package/examples/node_modules/watchpack/lib/DirectoryWatcher.js +0 -785
- package/examples/node_modules/watchpack/lib/LinkResolver.js +0 -107
- package/examples/node_modules/watchpack/lib/getWatcherManager.js +0 -52
- package/examples/node_modules/watchpack/lib/reducePlan.js +0 -138
- package/examples/node_modules/watchpack/lib/watchEventSource.js +0 -335
- package/examples/node_modules/watchpack/lib/watchpack.js +0 -383
- package/examples/node_modules/watchpack/package.json +0 -49
- package/examples/node_modules/webpack/LICENSE +0 -20
- package/examples/node_modules/webpack/README.md +0 -711
- package/examples/node_modules/webpack/SECURITY.md +0 -9
- package/examples/node_modules/webpack/bin/webpack.js +0 -163
- package/examples/node_modules/webpack/hot/dev-server.js +0 -61
- package/examples/node_modules/webpack/hot/emitter.js +0 -2
- package/examples/node_modules/webpack/hot/lazy-compilation-node.js +0 -40
- package/examples/node_modules/webpack/hot/lazy-compilation-web.js +0 -74
- package/examples/node_modules/webpack/hot/log-apply-result.js +0 -44
- package/examples/node_modules/webpack/hot/log.js +0 -59
- package/examples/node_modules/webpack/hot/only-dev-server.js +0 -102
- package/examples/node_modules/webpack/hot/poll.js +0 -37
- package/examples/node_modules/webpack/hot/signal.js +0 -62
- package/examples/node_modules/webpack/lib/APIPlugin.js +0 -253
- package/examples/node_modules/webpack/lib/AbstractMethodError.js +0 -49
- package/examples/node_modules/webpack/lib/AsyncDependenciesBlock.js +0 -106
- package/examples/node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js +0 -31
- package/examples/node_modules/webpack/lib/AutomaticPrefetchPlugin.js +0 -65
- package/examples/node_modules/webpack/lib/BannerPlugin.js +0 -123
- package/examples/node_modules/webpack/lib/Cache.js +0 -161
- package/examples/node_modules/webpack/lib/CacheFacade.js +0 -345
- package/examples/node_modules/webpack/lib/CaseSensitiveModulesWarning.js +0 -71
- package/examples/node_modules/webpack/lib/Chunk.js +0 -820
- package/examples/node_modules/webpack/lib/ChunkGraph.js +0 -1727
- package/examples/node_modules/webpack/lib/ChunkGroup.js +0 -584
- package/examples/node_modules/webpack/lib/ChunkRenderError.js +0 -31
- package/examples/node_modules/webpack/lib/ChunkTemplate.js +0 -138
- package/examples/node_modules/webpack/lib/CleanPlugin.js +0 -420
- package/examples/node_modules/webpack/lib/CodeGenerationError.js +0 -29
- package/examples/node_modules/webpack/lib/CodeGenerationResults.js +0 -155
- package/examples/node_modules/webpack/lib/CommentCompilationWarning.js +0 -33
- package/examples/node_modules/webpack/lib/CompatibilityPlugin.js +0 -152
- package/examples/node_modules/webpack/lib/Compilation.js +0 -5292
- package/examples/node_modules/webpack/lib/Compiler.js +0 -1217
- package/examples/node_modules/webpack/lib/ConcatenationScope.js +0 -159
- package/examples/node_modules/webpack/lib/ConcurrentCompilationError.js +0 -18
- package/examples/node_modules/webpack/lib/ConditionalInitFragment.js +0 -112
- package/examples/node_modules/webpack/lib/ConstPlugin.js +0 -497
- package/examples/node_modules/webpack/lib/ContextExclusionPlugin.js +0 -32
- package/examples/node_modules/webpack/lib/ContextModule.js +0 -1147
- package/examples/node_modules/webpack/lib/ContextModuleFactory.js +0 -437
- package/examples/node_modules/webpack/lib/ContextReplacementPlugin.js +0 -157
- package/examples/node_modules/webpack/lib/DefinePlugin.js +0 -601
- package/examples/node_modules/webpack/lib/DelegatedModule.js +0 -239
- package/examples/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js +0 -91
- package/examples/node_modules/webpack/lib/DelegatedPlugin.js +0 -43
- package/examples/node_modules/webpack/lib/DependenciesBlock.js +0 -107
- package/examples/node_modules/webpack/lib/Dependency.js +0 -348
- package/examples/node_modules/webpack/lib/DependencyTemplate.js +0 -57
- package/examples/node_modules/webpack/lib/DependencyTemplates.js +0 -67
- package/examples/node_modules/webpack/lib/DllEntryPlugin.js +0 -55
- package/examples/node_modules/webpack/lib/DllModule.js +0 -157
- package/examples/node_modules/webpack/lib/DllModuleFactory.js +0 -37
- package/examples/node_modules/webpack/lib/DllPlugin.js +0 -68
- package/examples/node_modules/webpack/lib/DllReferencePlugin.js +0 -162
- package/examples/node_modules/webpack/lib/DynamicEntryPlugin.js +0 -79
- package/examples/node_modules/webpack/lib/EntryOptionPlugin.js +0 -93
- package/examples/node_modules/webpack/lib/EntryPlugin.js +0 -67
- package/examples/node_modules/webpack/lib/Entrypoint.js +0 -101
- package/examples/node_modules/webpack/lib/EnvironmentPlugin.js +0 -63
- package/examples/node_modules/webpack/lib/ErrorHelpers.js +0 -61
- package/examples/node_modules/webpack/lib/EvalDevToolModulePlugin.js +0 -117
- package/examples/node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js +0 -206
- package/examples/node_modules/webpack/lib/ExportsInfo.js +0 -1523
- package/examples/node_modules/webpack/lib/ExportsInfoApiPlugin.js +0 -71
- package/examples/node_modules/webpack/lib/ExternalModule.js +0 -758
- package/examples/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js +0 -254
- package/examples/node_modules/webpack/lib/ExternalsPlugin.js +0 -37
- package/examples/node_modules/webpack/lib/FileSystemInfo.js +0 -3559
- package/examples/node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js +0 -55
- package/examples/node_modules/webpack/lib/FlagDependencyExportsPlugin.js +0 -417
- package/examples/node_modules/webpack/lib/FlagDependencyUsagePlugin.js +0 -347
- package/examples/node_modules/webpack/lib/FlagEntryExportAsUsedPlugin.js +0 -53
- package/examples/node_modules/webpack/lib/Generator.js +0 -149
- package/examples/node_modules/webpack/lib/GraphHelpers.js +0 -37
- package/examples/node_modules/webpack/lib/HarmonyLinkingError.js +0 -16
- package/examples/node_modules/webpack/lib/HookWebpackError.js +0 -93
- package/examples/node_modules/webpack/lib/HotModuleReplacementPlugin.js +0 -778
- package/examples/node_modules/webpack/lib/HotUpdateChunk.js +0 -19
- package/examples/node_modules/webpack/lib/IgnoreErrorModuleFactory.js +0 -39
- package/examples/node_modules/webpack/lib/IgnorePlugin.js +0 -83
- package/examples/node_modules/webpack/lib/IgnoreWarningsPlugin.js +0 -39
- package/examples/node_modules/webpack/lib/InitFragment.js +0 -161
- package/examples/node_modules/webpack/lib/InvalidDependenciesModuleWarning.js +0 -44
- package/examples/node_modules/webpack/lib/JavascriptMetaInfoPlugin.js +0 -68
- package/examples/node_modules/webpack/lib/LibManifestPlugin.js +0 -115
- package/examples/node_modules/webpack/lib/LibraryTemplatePlugin.js +0 -48
- package/examples/node_modules/webpack/lib/LoaderOptionsPlugin.js +0 -71
- package/examples/node_modules/webpack/lib/LoaderTargetPlugin.js +0 -37
- package/examples/node_modules/webpack/lib/MainTemplate.js +0 -329
- package/examples/node_modules/webpack/lib/Module.js +0 -1091
- package/examples/node_modules/webpack/lib/ModuleBuildError.js +0 -77
- package/examples/node_modules/webpack/lib/ModuleDependencyError.js +0 -40
- package/examples/node_modules/webpack/lib/ModuleDependencyWarning.js +0 -45
- package/examples/node_modules/webpack/lib/ModuleError.js +0 -61
- package/examples/node_modules/webpack/lib/ModuleFactory.js +0 -50
- package/examples/node_modules/webpack/lib/ModuleFilenameHelpers.js +0 -277
- package/examples/node_modules/webpack/lib/ModuleGraph.js +0 -856
- package/examples/node_modules/webpack/lib/ModuleGraphConnection.js +0 -191
- package/examples/node_modules/webpack/lib/ModuleHashingError.js +0 -29
- package/examples/node_modules/webpack/lib/ModuleInfoHeaderPlugin.js +0 -255
- package/examples/node_modules/webpack/lib/ModuleNotFoundError.js +0 -86
- package/examples/node_modules/webpack/lib/ModuleParseError.js +0 -109
- package/examples/node_modules/webpack/lib/ModuleProfile.js +0 -107
- package/examples/node_modules/webpack/lib/ModuleRestoreError.js +0 -42
- package/examples/node_modules/webpack/lib/ModuleStoreError.js +0 -42
- package/examples/node_modules/webpack/lib/ModuleTemplate.js +0 -142
- package/examples/node_modules/webpack/lib/ModuleWarning.js +0 -61
- package/examples/node_modules/webpack/lib/MultiCompiler.js +0 -582
- package/examples/node_modules/webpack/lib/MultiStats.js +0 -166
- package/examples/node_modules/webpack/lib/MultiWatching.js +0 -77
- package/examples/node_modules/webpack/lib/NoEmitOnErrorsPlugin.js +0 -28
- package/examples/node_modules/webpack/lib/NoModeWarning.js +0 -22
- package/examples/node_modules/webpack/lib/NodeStuffInWebError.js +0 -34
- package/examples/node_modules/webpack/lib/NodeStuffPlugin.js +0 -186
- package/examples/node_modules/webpack/lib/NormalModule.js +0 -1411
- package/examples/node_modules/webpack/lib/NormalModuleFactory.js +0 -1118
- package/examples/node_modules/webpack/lib/NormalModuleReplacementPlugin.js +0 -71
- package/examples/node_modules/webpack/lib/NullFactory.js +0 -23
- package/examples/node_modules/webpack/lib/OptimizationStages.js +0 -10
- package/examples/node_modules/webpack/lib/OptionsApply.js +0 -11
- package/examples/node_modules/webpack/lib/Parser.js +0 -38
- package/examples/node_modules/webpack/lib/PrefetchPlugin.js +0 -50
- package/examples/node_modules/webpack/lib/ProgressPlugin.js +0 -613
- package/examples/node_modules/webpack/lib/ProvidePlugin.js +0 -101
- package/examples/node_modules/webpack/lib/RawModule.js +0 -152
- package/examples/node_modules/webpack/lib/RecordIdsPlugin.js +0 -238
- package/examples/node_modules/webpack/lib/RequestShortener.js +0 -34
- package/examples/node_modules/webpack/lib/RequireJsStuffPlugin.js +0 -77
- package/examples/node_modules/webpack/lib/ResolverFactory.js +0 -151
- package/examples/node_modules/webpack/lib/RuntimeGlobals.js +0 -381
- package/examples/node_modules/webpack/lib/RuntimeModule.js +0 -213
- package/examples/node_modules/webpack/lib/RuntimePlugin.js +0 -444
- package/examples/node_modules/webpack/lib/RuntimeTemplate.js +0 -1041
- package/examples/node_modules/webpack/lib/SelfModuleFactory.js +0 -21
- package/examples/node_modules/webpack/lib/SingleEntryPlugin.js +0 -8
- package/examples/node_modules/webpack/lib/SizeFormatHelpers.js +0 -27
- package/examples/node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js +0 -57
- package/examples/node_modules/webpack/lib/SourceMapDevToolPlugin.js +0 -560
- package/examples/node_modules/webpack/lib/Stats.js +0 -84
- package/examples/node_modules/webpack/lib/Template.js +0 -419
- package/examples/node_modules/webpack/lib/TemplatedPathPlugin.js +0 -346
- package/examples/node_modules/webpack/lib/UnhandledSchemeError.js +0 -33
- package/examples/node_modules/webpack/lib/UnsupportedFeatureWarning.js +0 -32
- package/examples/node_modules/webpack/lib/UseStrictPlugin.js +0 -56
- package/examples/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js +0 -53
- package/examples/node_modules/webpack/lib/WarnDeprecatedOptionPlugin.js +0 -54
- package/examples/node_modules/webpack/lib/WarnNoModeSetPlugin.js +0 -25
- package/examples/node_modules/webpack/lib/WatchIgnorePlugin.js +0 -132
- package/examples/node_modules/webpack/lib/Watching.js +0 -479
- package/examples/node_modules/webpack/lib/WebpackError.js +0 -61
- package/examples/node_modules/webpack/lib/WebpackIsIncludedPlugin.js +0 -85
- package/examples/node_modules/webpack/lib/WebpackOptionsApply.js +0 -700
- package/examples/node_modules/webpack/lib/WebpackOptionsDefaulter.js +0 -19
- package/examples/node_modules/webpack/lib/asset/AssetGenerator.js +0 -464
- package/examples/node_modules/webpack/lib/asset/AssetModulesPlugin.js +0 -223
- package/examples/node_modules/webpack/lib/asset/AssetParser.js +0 -56
- package/examples/node_modules/webpack/lib/asset/AssetSourceGenerator.js +0 -71
- package/examples/node_modules/webpack/lib/asset/AssetSourceParser.js +0 -31
- package/examples/node_modules/webpack/lib/asset/RawDataUrlModule.js +0 -148
- package/examples/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js +0 -69
- package/examples/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js +0 -55
- package/examples/node_modules/webpack/lib/buildChunkGraph.js +0 -1401
- package/examples/node_modules/webpack/lib/cache/AddBuildDependenciesPlugin.js +0 -33
- package/examples/node_modules/webpack/lib/cache/AddManagedPathsPlugin.js +0 -35
- package/examples/node_modules/webpack/lib/cache/IdleFileCachePlugin.js +0 -227
- package/examples/node_modules/webpack/lib/cache/MemoryCachePlugin.js +0 -57
- package/examples/node_modules/webpack/lib/cache/MemoryWithGcCachePlugin.js +0 -129
- package/examples/node_modules/webpack/lib/cache/PackFileCacheStrategy.js +0 -1426
- package/examples/node_modules/webpack/lib/cache/ResolverCachePlugin.js +0 -354
- package/examples/node_modules/webpack/lib/cache/getLazyHashedEtag.js +0 -81
- package/examples/node_modules/webpack/lib/cache/mergeEtags.js +0 -74
- package/examples/node_modules/webpack/lib/cli.js +0 -655
- package/examples/node_modules/webpack/lib/config/browserslistTargetHandler.js +0 -333
- package/examples/node_modules/webpack/lib/config/defaults.js +0 -1309
- package/examples/node_modules/webpack/lib/config/normalization.js +0 -529
- package/examples/node_modules/webpack/lib/config/target.js +0 -348
- package/examples/node_modules/webpack/lib/container/ContainerEntryDependency.js +0 -47
- package/examples/node_modules/webpack/lib/container/ContainerEntryModule.js +0 -283
- package/examples/node_modules/webpack/lib/container/ContainerEntryModuleFactory.js +0 -27
- package/examples/node_modules/webpack/lib/container/ContainerExposedDependency.js +0 -52
- package/examples/node_modules/webpack/lib/container/ContainerPlugin.js +0 -105
- package/examples/node_modules/webpack/lib/container/ContainerReferencePlugin.js +0 -142
- package/examples/node_modules/webpack/lib/container/FallbackDependency.js +0 -51
- package/examples/node_modules/webpack/lib/container/FallbackItemDependency.js +0 -30
- package/examples/node_modules/webpack/lib/container/FallbackModule.js +0 -173
- package/examples/node_modules/webpack/lib/container/FallbackModuleFactory.js +0 -27
- package/examples/node_modules/webpack/lib/container/ModuleFederationPlugin.js +0 -92
- package/examples/node_modules/webpack/lib/container/RemoteModule.js +0 -171
- package/examples/node_modules/webpack/lib/container/RemoteRuntimeModule.js +0 -128
- package/examples/node_modules/webpack/lib/container/RemoteToExternalDependency.js +0 -30
- package/examples/node_modules/webpack/lib/container/options.js +0 -91
- package/examples/node_modules/webpack/lib/css/CssExportsGenerator.js +0 -139
- package/examples/node_modules/webpack/lib/css/CssGenerator.js +0 -109
- package/examples/node_modules/webpack/lib/css/CssLoadingRuntimeModule.js +0 -440
- package/examples/node_modules/webpack/lib/css/CssModulesPlugin.js +0 -462
- package/examples/node_modules/webpack/lib/css/CssParser.js +0 -618
- package/examples/node_modules/webpack/lib/css/walkCssTokens.js +0 -659
- package/examples/node_modules/webpack/lib/debug/ProfilingPlugin.js +0 -454
- package/examples/node_modules/webpack/lib/dependencies/AMDDefineDependency.js +0 -221
- package/examples/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js +0 -354
- package/examples/node_modules/webpack/lib/dependencies/AMDPlugin.js +0 -216
- package/examples/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js +0 -99
- package/examples/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js +0 -53
- package/examples/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js +0 -22
- package/examples/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +0 -279
- package/examples/node_modules/webpack/lib/dependencies/AMDRequireDependency.js +0 -174
- package/examples/node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js +0 -35
- package/examples/node_modules/webpack/lib/dependencies/AMDRuntimeModules.js +0 -48
- package/examples/node_modules/webpack/lib/dependencies/CachedConstDependency.js +0 -106
- package/examples/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js +0 -49
- package/examples/node_modules/webpack/lib/dependencies/CommonJsExportRequireDependency.js +0 -374
- package/examples/node_modules/webpack/lib/dependencies/CommonJsExportsDependency.js +0 -160
- package/examples/node_modules/webpack/lib/dependencies/CommonJsExportsParserPlugin.js +0 -336
- package/examples/node_modules/webpack/lib/dependencies/CommonJsFullRequireDependency.js +0 -136
- package/examples/node_modules/webpack/lib/dependencies/CommonJsImportsParserPlugin.js +0 -388
- package/examples/node_modules/webpack/lib/dependencies/CommonJsPlugin.js +0 -280
- package/examples/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js +0 -55
- package/examples/node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js +0 -34
- package/examples/node_modules/webpack/lib/dependencies/CommonJsSelfReferenceDependency.js +0 -141
- package/examples/node_modules/webpack/lib/dependencies/ConstDependency.js +0 -108
- package/examples/node_modules/webpack/lib/dependencies/ContextDependency.js +0 -147
- package/examples/node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js +0 -232
- package/examples/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js +0 -61
- package/examples/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +0 -59
- package/examples/node_modules/webpack/lib/dependencies/ContextElementDependency.js +0 -77
- package/examples/node_modules/webpack/lib/dependencies/CreateScriptUrlDependency.js +0 -66
- package/examples/node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js +0 -25
- package/examples/node_modules/webpack/lib/dependencies/CssExportDependency.js +0 -85
- package/examples/node_modules/webpack/lib/dependencies/CssImportDependency.js +0 -75
- package/examples/node_modules/webpack/lib/dependencies/CssLocalIdentifierDependency.js +0 -119
- package/examples/node_modules/webpack/lib/dependencies/CssSelfLocalIdentifierDependency.js +0 -101
- package/examples/node_modules/webpack/lib/dependencies/CssUrlDependency.js +0 -132
- package/examples/node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js +0 -30
- package/examples/node_modules/webpack/lib/dependencies/DllEntryDependency.js +0 -47
- package/examples/node_modules/webpack/lib/dependencies/DynamicExports.js +0 -69
- package/examples/node_modules/webpack/lib/dependencies/EntryDependency.js +0 -30
- package/examples/node_modules/webpack/lib/dependencies/ExportsInfoDependency.js +0 -143
- package/examples/node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js +0 -134
- package/examples/node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js +0 -37
- package/examples/node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js +0 -91
- package/examples/node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js +0 -97
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js +0 -185
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js +0 -190
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js +0 -65
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +0 -1271
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExportInitFragment.js +0 -168
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js +0 -111
- package/examples/node_modules/webpack/lib/dependencies/HarmonyExports.js +0 -40
- package/examples/node_modules/webpack/lib/dependencies/HarmonyImportDependency.js +0 -359
- package/examples/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js +0 -256
- package/examples/node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js +0 -80
- package/examples/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js +0 -331
- package/examples/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js +0 -121
- package/examples/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +0 -27
- package/examples/node_modules/webpack/lib/dependencies/ImportContextDependency.js +0 -52
- package/examples/node_modules/webpack/lib/dependencies/ImportDependency.js +0 -101
- package/examples/node_modules/webpack/lib/dependencies/ImportEagerDependency.js +0 -69
- package/examples/node_modules/webpack/lib/dependencies/ImportMetaContextDependency.js +0 -35
- package/examples/node_modules/webpack/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +0 -252
- package/examples/node_modules/webpack/lib/dependencies/ImportMetaContextPlugin.js +0 -59
- package/examples/node_modules/webpack/lib/dependencies/ImportMetaHotAcceptDependency.js +0 -35
- package/examples/node_modules/webpack/lib/dependencies/ImportMetaHotDeclineDependency.js +0 -36
- package/examples/node_modules/webpack/lib/dependencies/ImportMetaPlugin.js +0 -203
- package/examples/node_modules/webpack/lib/dependencies/ImportParserPlugin.js +0 -267
- package/examples/node_modules/webpack/lib/dependencies/ImportPlugin.js +0 -82
- package/examples/node_modules/webpack/lib/dependencies/ImportWeakDependency.js +0 -67
- package/examples/node_modules/webpack/lib/dependencies/JsonExportsDependency.js +0 -103
- package/examples/node_modules/webpack/lib/dependencies/LoaderDependency.js +0 -27
- package/examples/node_modules/webpack/lib/dependencies/LoaderImportDependency.js +0 -28
- package/examples/node_modules/webpack/lib/dependencies/LoaderPlugin.js +0 -261
- package/examples/node_modules/webpack/lib/dependencies/LocalModule.js +0 -44
- package/examples/node_modules/webpack/lib/dependencies/LocalModuleDependency.js +0 -69
- package/examples/node_modules/webpack/lib/dependencies/LocalModulesHelpers.js +0 -50
- package/examples/node_modules/webpack/lib/dependencies/ModuleDecoratorDependency.js +0 -129
- package/examples/node_modules/webpack/lib/dependencies/ModuleDependency.js +0 -81
- package/examples/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js +0 -34
- package/examples/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +0 -38
- package/examples/node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js +0 -35
- package/examples/node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js +0 -36
- package/examples/node_modules/webpack/lib/dependencies/NullDependency.js +0 -40
- package/examples/node_modules/webpack/lib/dependencies/PrefetchDependency.js +0 -24
- package/examples/node_modules/webpack/lib/dependencies/ProvidedDependency.js +0 -122
- package/examples/node_modules/webpack/lib/dependencies/PureExpressionDependency.js +0 -128
- package/examples/node_modules/webpack/lib/dependencies/RequireContextDependency.js +0 -31
- package/examples/node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js +0 -58
- package/examples/node_modules/webpack/lib/dependencies/RequireContextPlugin.js +0 -150
- package/examples/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js +0 -22
- package/examples/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +0 -121
- package/examples/node_modules/webpack/lib/dependencies/RequireEnsureDependency.js +0 -101
- package/examples/node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js +0 -33
- package/examples/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js +0 -66
- package/examples/node_modules/webpack/lib/dependencies/RequireHeaderDependency.js +0 -57
- package/examples/node_modules/webpack/lib/dependencies/RequireIncludeDependency.js +0 -74
- package/examples/node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js +0 -77
- package/examples/node_modules/webpack/lib/dependencies/RequireIncludePlugin.js +0 -42
- package/examples/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js +0 -50
- package/examples/node_modules/webpack/lib/dependencies/RequireResolveDependency.js +0 -51
- package/examples/node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js +0 -63
- package/examples/node_modules/webpack/lib/dependencies/RuntimeRequirementsDependency.js +0 -77
- package/examples/node_modules/webpack/lib/dependencies/StaticExportsDependency.js +0 -66
- package/examples/node_modules/webpack/lib/dependencies/SystemPlugin.js +0 -140
- package/examples/node_modules/webpack/lib/dependencies/SystemRuntimeModule.js +0 -35
- package/examples/node_modules/webpack/lib/dependencies/URLDependency.js +0 -158
- package/examples/node_modules/webpack/lib/dependencies/URLPlugin.js +0 -114
- package/examples/node_modules/webpack/lib/dependencies/UnsupportedDependency.js +0 -69
- package/examples/node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js +0 -79
- package/examples/node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js +0 -100
- package/examples/node_modules/webpack/lib/dependencies/WebpackIsIncludedDependency.js +0 -80
- package/examples/node_modules/webpack/lib/dependencies/WorkerDependency.js +0 -89
- package/examples/node_modules/webpack/lib/dependencies/WorkerPlugin.js +0 -416
- package/examples/node_modules/webpack/lib/dependencies/getFunctionExpression.js +0 -55
- package/examples/node_modules/webpack/lib/dependencies/processExportInfo.js +0 -65
- package/examples/node_modules/webpack/lib/electron/ElectronTargetPlugin.js +0 -68
- package/examples/node_modules/webpack/lib/errors/BuildCycleError.js +0 -27
- package/examples/node_modules/webpack/lib/esm/ExportWebpackRequireRuntimeModule.js +0 -29
- package/examples/node_modules/webpack/lib/esm/ModuleChunkFormatPlugin.js +0 -202
- package/examples/node_modules/webpack/lib/esm/ModuleChunkLoadingPlugin.js +0 -76
- package/examples/node_modules/webpack/lib/esm/ModuleChunkLoadingRuntimeModule.js +0 -242
- package/examples/node_modules/webpack/lib/formatLocation.js +0 -68
- package/examples/node_modules/webpack/lib/hmr/HotModuleReplacement.runtime.js +0 -394
- package/examples/node_modules/webpack/lib/hmr/HotModuleReplacementRuntimeModule.js +0 -42
- package/examples/node_modules/webpack/lib/hmr/JavascriptHotModuleReplacement.runtime.js +0 -462
- package/examples/node_modules/webpack/lib/hmr/LazyCompilationPlugin.js +0 -418
- package/examples/node_modules/webpack/lib/hmr/lazyCompilationBackend.js +0 -143
- package/examples/node_modules/webpack/lib/ids/ChunkModuleIdRangePlugin.js +0 -80
- package/examples/node_modules/webpack/lib/ids/DeterministicChunkIdsPlugin.js +0 -70
- package/examples/node_modules/webpack/lib/ids/DeterministicModuleIdsPlugin.js +0 -93
- package/examples/node_modules/webpack/lib/ids/HashedModuleIdsPlugin.js +0 -77
- package/examples/node_modules/webpack/lib/ids/IdHelpers.js +0 -477
- package/examples/node_modules/webpack/lib/ids/NamedChunkIdsPlugin.js +0 -81
- package/examples/node_modules/webpack/lib/ids/NamedModuleIdsPlugin.js +0 -58
- package/examples/node_modules/webpack/lib/ids/NaturalChunkIdsPlugin.js +0 -33
- package/examples/node_modules/webpack/lib/ids/NaturalModuleIdsPlugin.js +0 -39
- package/examples/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js +0 -80
- package/examples/node_modules/webpack/lib/ids/OccurrenceModuleIdsPlugin.js +0 -159
- package/examples/node_modules/webpack/lib/ids/SyncModuleIdsPlugin.js +0 -140
- package/examples/node_modules/webpack/lib/index.js +0 -579
- package/examples/node_modules/webpack/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +0 -154
- package/examples/node_modules/webpack/lib/javascript/BasicEvaluatedExpression.js +0 -480
- package/examples/node_modules/webpack/lib/javascript/ChunkHelpers.js +0 -33
- package/examples/node_modules/webpack/lib/javascript/CommonJsChunkFormatPlugin.js +0 -172
- package/examples/node_modules/webpack/lib/javascript/EnableChunkLoadingPlugin.js +0 -118
- package/examples/node_modules/webpack/lib/javascript/JavascriptGenerator.js +0 -225
- package/examples/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js +0 -1370
- package/examples/node_modules/webpack/lib/javascript/JavascriptParser.js +0 -3776
- package/examples/node_modules/webpack/lib/javascript/JavascriptParserHelpers.js +0 -107
- package/examples/node_modules/webpack/lib/javascript/StartupHelpers.js +0 -132
- package/examples/node_modules/webpack/lib/json/JsonData.js +0 -41
- package/examples/node_modules/webpack/lib/json/JsonGenerator.js +0 -191
- package/examples/node_modules/webpack/lib/json/JsonModulesPlugin.js +0 -50
- package/examples/node_modules/webpack/lib/json/JsonParser.js +0 -57
- package/examples/node_modules/webpack/lib/library/AbstractLibraryPlugin.js +0 -297
- package/examples/node_modules/webpack/lib/library/AmdLibraryPlugin.js +0 -162
- package/examples/node_modules/webpack/lib/library/AssignLibraryPlugin.js +0 -375
- package/examples/node_modules/webpack/lib/library/EnableLibraryPlugin.js +0 -248
- package/examples/node_modules/webpack/lib/library/ExportPropertyLibraryPlugin.js +0 -113
- package/examples/node_modules/webpack/lib/library/JsonpLibraryPlugin.js +0 -88
- package/examples/node_modules/webpack/lib/library/ModuleLibraryPlugin.js +0 -104
- package/examples/node_modules/webpack/lib/library/SystemLibraryPlugin.js +0 -233
- package/examples/node_modules/webpack/lib/library/UmdLibraryPlugin.js +0 -324
- package/examples/node_modules/webpack/lib/logging/Logger.js +0 -163
- package/examples/node_modules/webpack/lib/logging/createConsoleLogger.js +0 -228
- package/examples/node_modules/webpack/lib/logging/runtime.js +0 -46
- package/examples/node_modules/webpack/lib/logging/truncateArgs.js +0 -82
- package/examples/node_modules/webpack/lib/node/CommonJsChunkLoadingPlugin.js +0 -105
- package/examples/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js +0 -60
- package/examples/node_modules/webpack/lib/node/NodeSourcePlugin.js +0 -19
- package/examples/node_modules/webpack/lib/node/NodeTargetPlugin.js +0 -81
- package/examples/node_modules/webpack/lib/node/NodeTemplatePlugin.js +0 -33
- package/examples/node_modules/webpack/lib/node/NodeWatchFileSystem.js +0 -194
- package/examples/node_modules/webpack/lib/node/ReadFileChunkLoadingRuntimeModule.js +0 -291
- package/examples/node_modules/webpack/lib/node/ReadFileCompileAsyncWasmPlugin.js +0 -107
- package/examples/node_modules/webpack/lib/node/ReadFileCompileWasmPlugin.js +0 -93
- package/examples/node_modules/webpack/lib/node/RequireChunkLoadingRuntimeModule.js +0 -238
- package/examples/node_modules/webpack/lib/node/nodeConsole.js +0 -143
- package/examples/node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js +0 -92
- package/examples/node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js +0 -329
- package/examples/node_modules/webpack/lib/optimize/ConcatenatedModule.js +0 -1879
- package/examples/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js +0 -85
- package/examples/node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js +0 -118
- package/examples/node_modules/webpack/lib/optimize/InnerGraph.js +0 -346
- package/examples/node_modules/webpack/lib/optimize/InnerGraphPlugin.js +0 -368
- package/examples/node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js +0 -256
- package/examples/node_modules/webpack/lib/optimize/MangleExportsPlugin.js +0 -177
- package/examples/node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js +0 -115
- package/examples/node_modules/webpack/lib/optimize/MinChunkSizePlugin.js +0 -113
- package/examples/node_modules/webpack/lib/optimize/MinMaxSizeWarning.js +0 -30
- package/examples/node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js +0 -866
- package/examples/node_modules/webpack/lib/optimize/RealContentHashPlugin.js +0 -408
- package/examples/node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js +0 -57
- package/examples/node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js +0 -121
- package/examples/node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js +0 -44
- package/examples/node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js +0 -337
- package/examples/node_modules/webpack/lib/optimize/SplitChunksPlugin.js +0 -1723
- package/examples/node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js +0 -32
- package/examples/node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js +0 -35
- package/examples/node_modules/webpack/lib/performance/NoAsyncChunksWarning.js +0 -20
- package/examples/node_modules/webpack/lib/performance/SizeLimitsPlugin.js +0 -165
- package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +0 -44
- package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchPreloadPlugin.js +0 -95
- package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +0 -52
- package/examples/node_modules/webpack/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +0 -49
- package/examples/node_modules/webpack/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +0 -43
- package/examples/node_modules/webpack/lib/rules/BasicEffectRulePlugin.js +0 -39
- package/examples/node_modules/webpack/lib/rules/BasicMatcherRulePlugin.js +0 -47
- package/examples/node_modules/webpack/lib/rules/ObjectMatcherRulePlugin.js +0 -47
- package/examples/node_modules/webpack/lib/rules/RuleSetCompiler.js +0 -379
- package/examples/node_modules/webpack/lib/rules/UseEffectRulePlugin.js +0 -194
- package/examples/node_modules/webpack/lib/runtime/AsyncModuleRuntimeModule.js +0 -156
- package/examples/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js +0 -69
- package/examples/node_modules/webpack/lib/runtime/ChunkNameRuntimeModule.js +0 -27
- package/examples/node_modules/webpack/lib/runtime/CompatGetDefaultExportRuntimeModule.js +0 -37
- package/examples/node_modules/webpack/lib/runtime/CompatRuntimeModule.js +0 -78
- package/examples/node_modules/webpack/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +0 -66
- package/examples/node_modules/webpack/lib/runtime/CreateScriptRuntimeModule.js +0 -36
- package/examples/node_modules/webpack/lib/runtime/CreateScriptUrlRuntimeModule.js +0 -36
- package/examples/node_modules/webpack/lib/runtime/DefinePropertyGettersRuntimeModule.js +0 -39
- package/examples/node_modules/webpack/lib/runtime/EnsureChunkRuntimeModule.js +0 -54
- package/examples/node_modules/webpack/lib/runtime/GetChunkFilenameRuntimeModule.js +0 -282
- package/examples/node_modules/webpack/lib/runtime/GetFullHashRuntimeModule.js +0 -29
- package/examples/node_modules/webpack/lib/runtime/GetMainFilenameRuntimeModule.js +0 -44
- package/examples/node_modules/webpack/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +0 -76
- package/examples/node_modules/webpack/lib/runtime/GlobalRuntimeModule.js +0 -47
- package/examples/node_modules/webpack/lib/runtime/HasOwnPropertyRuntimeModule.js +0 -32
- package/examples/node_modules/webpack/lib/runtime/HelperRuntimeModule.js +0 -18
- package/examples/node_modules/webpack/lib/runtime/LoadScriptRuntimeModule.js +0 -158
- package/examples/node_modules/webpack/lib/runtime/MakeNamespaceObjectRuntimeModule.js +0 -36
- package/examples/node_modules/webpack/lib/runtime/OnChunksLoadedRuntimeModule.js +0 -76
- package/examples/node_modules/webpack/lib/runtime/PublicPathRuntimeModule.js +0 -30
- package/examples/node_modules/webpack/lib/runtime/RelativeUrlRuntimeModule.js +0 -41
- package/examples/node_modules/webpack/lib/runtime/RuntimeIdRuntimeModule.js +0 -28
- package/examples/node_modules/webpack/lib/runtime/StartupChunkDependenciesPlugin.js +0 -74
- package/examples/node_modules/webpack/lib/runtime/StartupChunkDependenciesRuntimeModule.js +0 -67
- package/examples/node_modules/webpack/lib/runtime/StartupEntrypointRuntimeModule.js +0 -50
- package/examples/node_modules/webpack/lib/runtime/SystemContextRuntimeModule.js +0 -25
- package/examples/node_modules/webpack/lib/schemes/DataUriPlugin.js +0 -56
- package/examples/node_modules/webpack/lib/schemes/FileUriPlugin.js +0 -49
- package/examples/node_modules/webpack/lib/schemes/HttpUriPlugin.js +0 -1118
- package/examples/node_modules/webpack/lib/serialization/ArraySerializer.js +0 -22
- package/examples/node_modules/webpack/lib/serialization/BinaryMiddleware.js +0 -950
- package/examples/node_modules/webpack/lib/serialization/DateObjectSerializer.js +0 -16
- package/examples/node_modules/webpack/lib/serialization/ErrorObjectSerializer.js +0 -27
- package/examples/node_modules/webpack/lib/serialization/FileMiddleware.js +0 -665
- package/examples/node_modules/webpack/lib/serialization/MapObjectSerializer.js +0 -31
- package/examples/node_modules/webpack/lib/serialization/NullPrototypeObjectSerializer.js +0 -33
- package/examples/node_modules/webpack/lib/serialization/ObjectMiddleware.js +0 -734
- package/examples/node_modules/webpack/lib/serialization/PlainObjectSerializer.js +0 -80
- package/examples/node_modules/webpack/lib/serialization/RegExpObjectSerializer.js +0 -17
- package/examples/node_modules/webpack/lib/serialization/Serializer.js +0 -46
- package/examples/node_modules/webpack/lib/serialization/SerializerMiddleware.js +0 -153
- package/examples/node_modules/webpack/lib/serialization/SetObjectSerializer.js +0 -24
- package/examples/node_modules/webpack/lib/serialization/SingleItemMiddleware.js +0 -34
- package/examples/node_modules/webpack/lib/serialization/types.js +0 -13
- package/examples/node_modules/webpack/lib/sharing/ConsumeSharedFallbackDependency.js +0 -30
- package/examples/node_modules/webpack/lib/sharing/ConsumeSharedModule.js +0 -251
- package/examples/node_modules/webpack/lib/sharing/ConsumeSharedPlugin.js +0 -319
- package/examples/node_modules/webpack/lib/sharing/ConsumeSharedRuntimeModule.js +0 -360
- package/examples/node_modules/webpack/lib/sharing/ProvideForSharedDependency.js +0 -34
- package/examples/node_modules/webpack/lib/sharing/ProvideSharedDependency.js +0 -63
- package/examples/node_modules/webpack/lib/sharing/ProvideSharedModule.js +0 -184
- package/examples/node_modules/webpack/lib/sharing/ProvideSharedModuleFactory.js +0 -35
- package/examples/node_modules/webpack/lib/sharing/ProvideSharedPlugin.js +0 -237
- package/examples/node_modules/webpack/lib/sharing/SharePlugin.js +0 -92
- package/examples/node_modules/webpack/lib/sharing/ShareRuntimeModule.js +0 -141
- package/examples/node_modules/webpack/lib/sharing/resolveMatchedConfigs.js +0 -91
- package/examples/node_modules/webpack/lib/sharing/utils.js +0 -90
- package/examples/node_modules/webpack/lib/stats/DefaultStatsFactoryPlugin.js +0 -2398
- package/examples/node_modules/webpack/lib/stats/DefaultStatsPresetPlugin.js +0 -326
- package/examples/node_modules/webpack/lib/stats/DefaultStatsPrinterPlugin.js +0 -1380
- package/examples/node_modules/webpack/lib/stats/StatsFactory.js +0 -292
- package/examples/node_modules/webpack/lib/stats/StatsPrinter.js +0 -249
- package/examples/node_modules/webpack/lib/util/ArrayHelpers.js +0 -44
- package/examples/node_modules/webpack/lib/util/ArrayQueue.js +0 -111
- package/examples/node_modules/webpack/lib/util/AsyncQueue.js +0 -373
- package/examples/node_modules/webpack/lib/util/Hash.js +0 -35
- package/examples/node_modules/webpack/lib/util/IterableHelpers.js +0 -46
- package/examples/node_modules/webpack/lib/util/LazyBucketSortedSet.js +0 -236
- package/examples/node_modules/webpack/lib/util/LazySet.js +0 -208
- package/examples/node_modules/webpack/lib/util/MapHelpers.js +0 -22
- package/examples/node_modules/webpack/lib/util/ParallelismFactorCalculator.js +0 -59
- package/examples/node_modules/webpack/lib/util/Queue.js +0 -51
- package/examples/node_modules/webpack/lib/util/Semaphore.js +0 -54
- package/examples/node_modules/webpack/lib/util/SetHelpers.js +0 -94
- package/examples/node_modules/webpack/lib/util/SortableSet.js +0 -160
- package/examples/node_modules/webpack/lib/util/StackedCacheMap.js +0 -110
- package/examples/node_modules/webpack/lib/util/StackedMap.js +0 -166
- package/examples/node_modules/webpack/lib/util/StringXor.js +0 -55
- package/examples/node_modules/webpack/lib/util/TupleQueue.js +0 -61
- package/examples/node_modules/webpack/lib/util/TupleSet.js +0 -150
- package/examples/node_modules/webpack/lib/util/URLAbsoluteSpecifier.js +0 -87
- package/examples/node_modules/webpack/lib/util/WeakTupleMap.js +0 -171
- package/examples/node_modules/webpack/lib/util/binarySearchBounds.js +0 -86
- package/examples/node_modules/webpack/lib/util/cleverMerge.js +0 -568
- package/examples/node_modules/webpack/lib/util/comparators.js +0 -459
- package/examples/node_modules/webpack/lib/util/compileBooleanMatcher.js +0 -206
- package/examples/node_modules/webpack/lib/util/create-schema-validation.js +0 -28
- package/examples/node_modules/webpack/lib/util/createHash.js +0 -171
- package/examples/node_modules/webpack/lib/util/deprecation.js +0 -264
- package/examples/node_modules/webpack/lib/util/deterministicGrouping.js +0 -508
- package/examples/node_modules/webpack/lib/util/extractUrlAndGlobal.js +0 -18
- package/examples/node_modules/webpack/lib/util/findGraphRoots.js +0 -229
- package/examples/node_modules/webpack/lib/util/fs.js +0 -337
- package/examples/node_modules/webpack/lib/util/hash/BatchedHash.js +0 -68
- package/examples/node_modules/webpack/lib/util/hash/md4.js +0 -20
- package/examples/node_modules/webpack/lib/util/hash/wasm-hash.js +0 -163
- package/examples/node_modules/webpack/lib/util/hash/xxhash64.js +0 -20
- package/examples/node_modules/webpack/lib/util/identifier.js +0 -377
- package/examples/node_modules/webpack/lib/util/internalSerializables.js +0 -211
- package/examples/node_modules/webpack/lib/util/makeSerializable.js +0 -30
- package/examples/node_modules/webpack/lib/util/memoize.js +0 -32
- package/examples/node_modules/webpack/lib/util/nonNumericOnlyHash.js +0 -22
- package/examples/node_modules/webpack/lib/util/numberHash.js +0 -45
- package/examples/node_modules/webpack/lib/util/objectToMap.js +0 -15
- package/examples/node_modules/webpack/lib/util/processAsyncTree.js +0 -62
- package/examples/node_modules/webpack/lib/util/propertyAccess.js +0 -78
- package/examples/node_modules/webpack/lib/util/registerExternalSerializer.js +0 -337
- package/examples/node_modules/webpack/lib/util/runtime.js +0 -623
- package/examples/node_modules/webpack/lib/util/semver.js +0 -484
- package/examples/node_modules/webpack/lib/util/serialization.js +0 -128
- package/examples/node_modules/webpack/lib/util/smartGrouping.js +0 -206
- package/examples/node_modules/webpack/lib/util/source.js +0 -61
- package/examples/node_modules/webpack/lib/validateSchema.js +0 -175
- package/examples/node_modules/webpack/lib/wasm/EnableWasmLoadingPlugin.js +0 -118
- package/examples/node_modules/webpack/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +0 -78
- package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js +0 -53
- package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +0 -194
- package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +0 -198
- package/examples/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js +0 -75
- package/examples/node_modules/webpack/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +0 -16
- package/examples/node_modules/webpack/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +0 -372
- package/examples/node_modules/webpack/lib/wasm-sync/WasmFinalizeExportsPlugin.js +0 -82
- package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyGenerator.js +0 -501
- package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyInInitialChunkError.js +0 -106
- package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +0 -216
- package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js +0 -142
- package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyParser.js +0 -192
- package/examples/node_modules/webpack/lib/wasm-sync/WebAssemblyUtils.js +0 -65
- package/examples/node_modules/webpack/lib/web/FetchCompileAsyncWasmPlugin.js +0 -62
- package/examples/node_modules/webpack/lib/web/FetchCompileWasmPlugin.js +0 -71
- package/examples/node_modules/webpack/lib/web/JsonpChunkLoadingPlugin.js +0 -91
- package/examples/node_modules/webpack/lib/web/JsonpChunkLoadingRuntimeModule.js +0 -450
- package/examples/node_modules/webpack/lib/web/JsonpTemplatePlugin.js +0 -38
- package/examples/node_modules/webpack/lib/webpack.js +0 -171
- package/examples/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingPlugin.js +0 -94
- package/examples/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +0 -238
- package/examples/node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js +0 -25
- package/examples/node_modules/webpack/module.d.ts +0 -215
- package/examples/node_modules/webpack/package.json +0 -242
- package/examples/node_modules/webpack/schemas/WebpackOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/WebpackOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/WebpackOptions.json +0 -5321
- package/examples/node_modules/webpack/schemas/_container.json +0 -155
- package/examples/node_modules/webpack/schemas/_sharing.json +0 -118
- package/examples/node_modules/webpack/schemas/plugins/BannerPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/BannerPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/BannerPlugin.json +0 -103
- package/examples/node_modules/webpack/schemas/plugins/DllPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/DllPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/DllPlugin.json +0 -36
- package/examples/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/DllReferencePlugin.json +0 -206
- package/examples/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json +0 -44
- package/examples/node_modules/webpack/schemas/plugins/IgnorePlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/IgnorePlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/IgnorePlugin.json +0 -34
- package/examples/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.json +0 -12
- package/examples/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json +0 -27
- package/examples/node_modules/webpack/schemas/plugins/ProgressPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/ProgressPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/ProgressPlugin.json +0 -65
- package/examples/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json +0 -143
- package/examples/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json +0 -25
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/container/ContainerPlugin.json +0 -286
- package/examples/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.json +0 -128
- package/examples/node_modules/webpack/schemas/plugins/container/ExternalsType.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/container/ExternalsType.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/container/ExternalsType.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.json +0 -513
- package/examples/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/css/CssParserOptions.json +0 -3
- package/examples/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json +0 -12
- package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.json +0 -11
- package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.json +0 -11
- package/examples/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json +0 -23
- package/examples/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json +0 -21
- package/examples/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json +0 -20
- package/examples/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.json +0 -74
- package/examples/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json +0 -120
- package/examples/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.json +0 -94
- package/examples/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.d.ts +0 -7
- package/examples/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.js +0 -6
- package/examples/node_modules/webpack/schemas/plugins/sharing/SharePlugin.json +0 -133
- package/examples/node_modules/webpack/types.d.ts +0 -13072
- package/examples/node_modules/webpack-cli/README.md +0 -147
- package/examples/node_modules/webpack-cli/bin/cli.js +0 -17
- package/examples/node_modules/webpack-cli/lib/bootstrap.js +0 -15
- package/examples/node_modules/webpack-cli/lib/index.js +0 -5
- package/examples/node_modules/webpack-cli/lib/plugins/CLIPlugin.js +0 -132
- package/examples/node_modules/webpack-cli/lib/utils/dynamic-import-loader.js +0 -13
- package/examples/node_modules/webpack-cli/lib/webpack-cli.js +0 -2343
- package/examples/node_modules/webpack-cli/node_modules/commander/CHANGELOG.md +0 -440
- package/examples/node_modules/webpack-cli/node_modules/commander/LICENSE +0 -22
- package/examples/node_modules/webpack-cli/node_modules/commander/Readme.md +0 -917
- package/examples/node_modules/webpack-cli/node_modules/commander/esm.mjs +0 -4
- package/examples/node_modules/webpack-cli/node_modules/commander/index.js +0 -2217
- package/examples/node_modules/webpack-cli/node_modules/commander/package-support.json +0 -16
- package/examples/node_modules/webpack-cli/node_modules/commander/package.json +0 -68
- package/examples/node_modules/webpack-cli/node_modules/commander/typings/index.d.ts +0 -627
- package/examples/node_modules/webpack-cli/package.json +0 -63
- package/examples/node_modules/webpack-merge/CHANGELOG.md +0 -426
- package/examples/node_modules/webpack-merge/LICENSE +0 -20
- package/examples/node_modules/webpack-merge/README.md +0 -314
- package/examples/node_modules/webpack-merge/dist/index.d.ts +0 -15
- package/examples/node_modules/webpack-merge/dist/index.js +0 -263
- package/examples/node_modules/webpack-merge/dist/index.js.map +0 -1
- package/examples/node_modules/webpack-merge/dist/join-arrays.d.ts +0 -6
- package/examples/node_modules/webpack-merge/dist/join-arrays.js +0 -70
- package/examples/node_modules/webpack-merge/dist/join-arrays.js.map +0 -1
- package/examples/node_modules/webpack-merge/dist/merge-with.d.ts +0 -2
- package/examples/node_modules/webpack-merge/dist/merge-with.js +0 -38
- package/examples/node_modules/webpack-merge/dist/merge-with.js.map +0 -1
- package/examples/node_modules/webpack-merge/dist/types.d.ts +0 -14
- package/examples/node_modules/webpack-merge/dist/types.js +0 -12
- package/examples/node_modules/webpack-merge/dist/types.js.map +0 -1
- package/examples/node_modules/webpack-merge/dist/unique.d.ts +0 -2
- package/examples/node_modules/webpack-merge/dist/unique.js +0 -41
- package/examples/node_modules/webpack-merge/dist/unique.js.map +0 -1
- package/examples/node_modules/webpack-merge/dist/utils.d.ts +0 -5
- package/examples/node_modules/webpack-merge/dist/utils.js +0 -24
- package/examples/node_modules/webpack-merge/dist/utils.js.map +0 -1
- package/examples/node_modules/webpack-merge/package.json +0 -58
- package/examples/node_modules/webpack-sources/LICENSE +0 -21
- package/examples/node_modules/webpack-sources/README.md +0 -228
- package/examples/node_modules/webpack-sources/lib/CachedSource.js +0 -274
- package/examples/node_modules/webpack-sources/lib/CompatSource.js +0 -66
- package/examples/node_modules/webpack-sources/lib/ConcatSource.js +0 -319
- package/examples/node_modules/webpack-sources/lib/OriginalSource.js +0 -135
- package/examples/node_modules/webpack-sources/lib/PrefixSource.js +0 -114
- package/examples/node_modules/webpack-sources/lib/RawSource.js +0 -81
- package/examples/node_modules/webpack-sources/lib/ReplaceSource.js +0 -467
- package/examples/node_modules/webpack-sources/lib/SizeOnlySource.js +0 -42
- package/examples/node_modules/webpack-sources/lib/Source.js +0 -38
- package/examples/node_modules/webpack-sources/lib/SourceMapSource.js +0 -247
- package/examples/node_modules/webpack-sources/lib/helpers/createMappingsSerializer.js +0 -206
- package/examples/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js +0 -129
- package/examples/node_modules/webpack-sources/lib/helpers/getGeneratedSourceInfo.js +0 -33
- package/examples/node_modules/webpack-sources/lib/helpers/getName.js +0 -14
- package/examples/node_modules/webpack-sources/lib/helpers/getSource.js +0 -17
- package/examples/node_modules/webpack-sources/lib/helpers/readMappings.js +0 -116
- package/examples/node_modules/webpack-sources/lib/helpers/splitIntoLines.js +0 -21
- package/examples/node_modules/webpack-sources/lib/helpers/splitIntoPotentialTokens.js +0 -41
- package/examples/node_modules/webpack-sources/lib/helpers/streamAndGetSourceAndMap.js +0 -102
- package/examples/node_modules/webpack-sources/lib/helpers/streamChunks.js +0 -36
- package/examples/node_modules/webpack-sources/lib/helpers/streamChunksOfCombinedSourceMap.js +0 -329
- package/examples/node_modules/webpack-sources/lib/helpers/streamChunksOfRawSource.js +0 -34
- package/examples/node_modules/webpack-sources/lib/helpers/streamChunksOfSourceMap.js +0 -412
- package/examples/node_modules/webpack-sources/lib/index.js +0 -30
- package/examples/node_modules/webpack-sources/package.json +0 -58
- package/examples/node_modules/which/CHANGELOG.md +0 -166
- package/examples/node_modules/which/LICENSE +0 -15
- package/examples/node_modules/which/README.md +0 -54
- package/examples/node_modules/which/bin/node-which +0 -52
- package/examples/node_modules/which/package.json +0 -43
- package/examples/node_modules/which/which.js +0 -125
- package/examples/node_modules/wildcard/.travis.yml +0 -9
- package/examples/node_modules/wildcard/README.md +0 -99
- package/examples/node_modules/wildcard/docs.json +0 -9
- package/examples/node_modules/wildcard/examples/arrays.js +0 -10
- package/examples/node_modules/wildcard/examples/objects.js +0 -10
- package/examples/node_modules/wildcard/examples/strings.js +0 -7
- package/examples/node_modules/wildcard/index.js +0 -114
- package/examples/node_modules/wildcard/package.json +0 -53
- package/examples/node_modules/wildcard/test/all.js +0 -3
- package/examples/node_modules/wildcard/test/arrays.js +0 -33
- package/examples/node_modules/wildcard/test/objects.js +0 -106
- package/examples/node_modules/wildcard/test/strings.js +0 -46
- package/examples/node_modules/wildcard/yarn.lock +0 -228
- package/examples/objects.js +0 -35
- package/examples/package.json +0 -3
- package/examples/serialization.js +0 -16
- package/examples/sparse_matrices.js +0 -19
- package/examples/units.js +0 -108
@@ -1,4667 +0,0 @@
|
|
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
|
-
};
|