sgmc-be 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sgmc-be might be problematic. Click here for more details.
- package/images/Suji.png +0 -0
- package/images/lab_footer.jpg +0 -0
- package/images/lab_header.jpg +0 -0
- package/log/.3643ff0bd74ce42d2d2897fd41e13cbd98ec1584-audit.json +35 -0
- package/log/application-2023-03-03.log.gz +0 -0
- package/log/application-2023-03-04.log.gz +0 -0
- package/log/application-2023-03-06.log.gz +0 -0
- package/log/application-2023-06-18.log.gz +0 -0
- package/log/application-2023-06-19.log.gz +0 -0
- package/log/application-2023-06-20.log.gz +0 -0
- package/log/application-2023-06-22.log.gz +0 -0
- package/log/application-2023-06-24.log.gz +0 -0
- package/log/application-2023-07-03.log.gz +0 -0
- package/log/application-2023-07-04.log.gz +0 -0
- package/log/application-2023-07-16.log.gz +0 -0
- package/log/application-2023-07-25.log.gz +0 -0
- package/log/application-2023-07-26.log.gz +0 -0
- package/log/application-2023-08-06.log.gz +0 -0
- package/log/application-2023-08-07.log.gz +0 -0
- package/log/application-2023-08-14.log.gz +0 -0
- package/log/application-2023-08-17.log.gz +0 -0
- package/log/application-2023-08-18.log.gz +0 -0
- package/log/application-2023-08-19.log.gz +0 -0
- package/log/application-2023-08-20.log.gz +0 -0
- package/log/application-2023-08-21.log +1 -0
- package/log/application-2023-08-22.log.gz +0 -0
- package/log/application-2023-08-23.log +10 -0
- package/log/application-2023-08-25.log +0 -0
- package/log/application-2023-08-25.log.gz +0 -0
- package/log/application-2023-08-26.log +1 -0
- package/log/application-2023-08-28.log.gz +0 -0
- package/log/application-2023-08-29.log.gz +0 -0
- package/log/application-2023-08-30.log.gz +0 -0
- package/log/application-2023-08-31.log.gz +0 -0
- package/log/application-2023-09-01.log.gz +0 -0
- package/log/application-2023-09-02.log.gz +0 -0
- package/log/application-2023-09-03.log.gz +0 -0
- package/log/application-2023-09-21.log.gz +0 -0
- package/log/application-2023-09-28.log.gz +0 -0
- package/log/application-2023-09-29.log.gz +0 -0
- package/log/application-2023-09-30.log.gz +0 -0
- package/log/application-2023-10-02.log.gz +0 -0
- package/log/application-2023-10-09.log.gz +0 -0
- package/log/application-2023-10-10.log.gz +0 -0
- package/log/application-2023-10-12.log.gz +0 -0
- package/log/application-2023-10-20.log.gz +0 -0
- package/log/application-2023-10-30.log.gz +0 -0
- package/log/application-2023-10-31.log.gz +0 -0
- package/log/application-2023-11-06.log +0 -0
- package/log/application-2023-11-07.log +0 -0
- package/log/application-2023-11-08.log +21 -0
- package/log/application-2023-11-09.log +551 -0
- package/log/application-2023-11-10.log +15 -0
- package/package.json +44 -0
- package/src/MailTemplates/dueInvoiceTemplate.js +173 -0
- package/src/MailTemplates/ex.html +62 -0
- package/src/MailTemplates/invoiceTemplate.js +200 -0
- package/src/MailTemplates/labResultTemplate.js +418 -0
- package/src/MailTemplates/registrationCardTemplate.js +65 -0
- package/src/app.js +44 -0
- package/src/controller.js +139 -0
- package/src/controllers/appointmentController.js +2381 -0
- package/src/controllers/billingController.js +4467 -0
- package/src/controllers/drViewAppointmentController.js +619 -0
- package/src/controllers/labController.js +1081 -0
- package/src/controllers/leaveController.js +305 -0
- package/src/controllers/patientController.js +1595 -0
- package/src/controllers/physioController.js +2632 -0
- package/src/controllers/procedureController.js +641 -0
- package/src/controllers/registrationController.js +374 -0
- package/src/controllers/settingsController.js +333 -0
- package/src/controllers/staffController.js +791 -0
- package/src/controllers/userController.js +57 -0
- package/src/functions/appointmentFunctions.js +412 -0
- package/src/functions/registrationFunctions.js +54 -0
- package/src/log/.3643ff0bd74ce42d2d2897fd41e13cbd98ec1584-audit.json +40 -0
- package/src/log/application-2022-11-14.log.gz +0 -0
- package/src/log/application-2022-12-03.log.gz +0 -0
- package/src/log/application-2022-12-08.log.gz +0 -0
- package/src/log/application-2022-12-12.log.gz +0 -0
- package/src/log/application-2022-12-13.log.gz +0 -0
- package/src/log/application-2022-12-22.log.gz +0 -0
- package/src/log/application-2022-12-23.log.gz +0 -0
- package/src/log/application-2022-12-30.log.gz +0 -0
- package/src/log/application-2022-12-31.log.gz +0 -0
- package/src/log/application-2023-01-08.log.gz +0 -0
- package/src/log/application-2023-02-03.log.gz +0 -0
- package/src/log/application-2023-02-09.log.gz +0 -0
- package/src/log/application-2023-02-17.log.gz +0 -0
- package/src/log/application-2023-02-24.log.gz +0 -0
- package/src/log/application-2023-02-25.log.gz +0 -0
- package/src/log/application-2023-02-28.log.gz +0 -0
- package/src/log/application-2023-03-01.log.gz +0 -0
- package/src/log/application-2023-03-02.log.gz +0 -0
- package/src/log/application-2023-03-03.log +1 -0
- package/src/log/log/.3643ff0bd74ce42d2d2897fd41e13cbd98ec1584-audit.json +15 -0
- package/src/log/log/application-2023-11-06.log +0 -0
- package/src/log/node_modules/.bin/acorn +12 -0
- package/src/log/node_modules/.bin/acorn.cmd +17 -0
- package/src/log/node_modules/.bin/acorn.ps1 +28 -0
- package/src/log/node_modules/.bin/browserslist +12 -0
- package/src/log/node_modules/.bin/browserslist.cmd +17 -0
- package/src/log/node_modules/.bin/browserslist.ps1 +28 -0
- package/src/log/node_modules/.bin/envinfo +12 -0
- package/src/log/node_modules/.bin/envinfo.cmd +17 -0
- package/src/log/node_modules/.bin/envinfo.ps1 +28 -0
- package/src/log/node_modules/.bin/flat +12 -0
- package/src/log/node_modules/.bin/flat.cmd +17 -0
- package/src/log/node_modules/.bin/flat.ps1 +28 -0
- package/src/log/node_modules/.bin/import-local-fixture +12 -0
- package/src/log/node_modules/.bin/import-local-fixture.cmd +17 -0
- package/src/log/node_modules/.bin/import-local-fixture.ps1 +28 -0
- package/src/log/node_modules/.bin/node-which +12 -0
- package/src/log/node_modules/.bin/node-which.cmd +17 -0
- package/src/log/node_modules/.bin/node-which.ps1 +28 -0
- package/src/log/node_modules/.bin/resolve +12 -0
- package/src/log/node_modules/.bin/resolve.cmd +17 -0
- package/src/log/node_modules/.bin/resolve.ps1 +28 -0
- package/src/log/node_modules/.bin/terser +12 -0
- package/src/log/node_modules/.bin/terser.cmd +17 -0
- package/src/log/node_modules/.bin/terser.ps1 +28 -0
- package/src/log/node_modules/.bin/update-browserslist-db +12 -0
- package/src/log/node_modules/.bin/update-browserslist-db.cmd +17 -0
- package/src/log/node_modules/.bin/update-browserslist-db.ps1 +28 -0
- package/src/log/node_modules/.bin/webpack +12 -0
- package/src/log/node_modules/.bin/webpack-cli +12 -0
- package/src/log/node_modules/.bin/webpack-cli.cmd +17 -0
- package/src/log/node_modules/.bin/webpack-cli.ps1 +28 -0
- package/src/log/node_modules/.bin/webpack.cmd +17 -0
- package/src/log/node_modules/.bin/webpack.ps1 +28 -0
- package/src/log/node_modules/.package-lock.json +1352 -0
- package/src/log/node_modules/@discoveryjs/json-ext/LICENSE +21 -0
- package/src/log/node_modules/@discoveryjs/json-ext/README.md +256 -0
- package/src/log/node_modules/@discoveryjs/json-ext/dist/json-ext.js +791 -0
- package/src/log/node_modules/@discoveryjs/json-ext/dist/json-ext.min.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/dist/version.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/index.d.ts +31 -0
- package/src/log/node_modules/@discoveryjs/json-ext/package.json +56 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/index.js +6 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/parse-chunked.js +384 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/stringify-info.js +231 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/stringify-stream-browser.js +3 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/stringify-stream.js +408 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/text-decoder-browser.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/text-decoder.js +1 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/utils.js +149 -0
- package/src/log/node_modules/@discoveryjs/json-ext/src/version.js +1 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/README.md +227 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs +230 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js +236 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/gen-mapping.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/types/gen-mapping.d.ts +90 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/types/sourcemap-segment.d.ts +12 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/dist/types/types.d.ts +35 -0
- package/src/log/node_modules/@jridgewell/gen-mapping/package.json +77 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/README.md +40 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +242 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +250 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/dist/types/resolve-uri.d.ts +4 -0
- package/src/log/node_modules/@jridgewell/resolve-uri/package.json +69 -0
- package/src/log/node_modules/@jridgewell/set-array/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/set-array/README.md +37 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.mjs +48 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.umd.js +58 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/set-array.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/set-array/dist/types/set-array.d.ts +26 -0
- package/src/log/node_modules/@jridgewell/set-array/package.json +66 -0
- package/src/log/node_modules/@jridgewell/set-array/src/set-array.ts +55 -0
- package/src/log/node_modules/@jridgewell/source-map/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/source-map/README.md +82 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.mjs +928 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.umd.js +939 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/source-map.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/source-map/dist/types/source-map.d.ts +25 -0
- package/src/log/node_modules/@jridgewell/source-map/package.json +71 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/LICENSE +21 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/README.md +200 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +164 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +175 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts +6 -0
- package/src/log/node_modules/@jridgewell/sourcemap-codec/package.json +74 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/LICENSE +19 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/README.md +252 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +552 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +1 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +566 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +1 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +8 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +32 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +7 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/resolve.d.ts +1 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/sort.d.ts +2 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +16 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/strip-filename.d.ts +4 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +74 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +92 -0
- package/src/log/node_modules/@jridgewell/trace-mapping/package.json +75 -0
- package/src/log/node_modules/@types/eslint/LICENSE +21 -0
- package/src/log/node_modules/@types/eslint/README.md +15 -0
- package/src/log/node_modules/@types/eslint/helpers.d.ts +3 -0
- package/src/log/node_modules/@types/eslint/index.d.ts +1305 -0
- package/src/log/node_modules/@types/eslint/package.json +65 -0
- package/src/log/node_modules/@types/eslint/rules/best-practices.d.ts +931 -0
- package/src/log/node_modules/@types/eslint/rules/deprecated.d.ts +267 -0
- package/src/log/node_modules/@types/eslint/rules/ecmascript-6.d.ts +502 -0
- package/src/log/node_modules/@types/eslint/rules/index.d.ts +23 -0
- package/src/log/node_modules/@types/eslint/rules/node-commonjs.d.ts +133 -0
- package/src/log/node_modules/@types/eslint/rules/possible-errors.d.ts +484 -0
- package/src/log/node_modules/@types/eslint/rules/strict-mode.d.ts +11 -0
- package/src/log/node_modules/@types/eslint/rules/stylistic-issues.d.ts +1905 -0
- package/src/log/node_modules/@types/eslint/rules/variables.d.ts +187 -0
- package/src/log/node_modules/@types/eslint/use-at-your-own-risk.d.ts +19 -0
- package/src/log/node_modules/@types/eslint-scope/LICENSE +21 -0
- package/src/log/node_modules/@types/eslint-scope/README.md +90 -0
- package/src/log/node_modules/@types/eslint-scope/index.d.ts +71 -0
- package/src/log/node_modules/@types/eslint-scope/package.json +28 -0
- package/src/log/node_modules/@types/estree/LICENSE +21 -0
- package/src/log/node_modules/@types/estree/README.md +15 -0
- package/src/log/node_modules/@types/estree/flow.d.ts +167 -0
- package/src/log/node_modules/@types/estree/index.d.ts +683 -0
- package/src/log/node_modules/@types/estree/package.json +26 -0
- package/src/log/node_modules/@types/json-schema/LICENSE +21 -0
- package/src/log/node_modules/@types/json-schema/README.md +15 -0
- package/src/log/node_modules/@types/json-schema/index.d.ts +749 -0
- package/src/log/node_modules/@types/json-schema/package.json +40 -0
- package/src/log/node_modules/@types/node/LICENSE +21 -0
- package/src/log/node_modules/@types/node/README.md +15 -0
- package/src/log/node_modules/@types/node/assert/strict.d.ts +8 -0
- package/src/log/node_modules/@types/node/assert.d.ts +996 -0
- package/src/log/node_modules/@types/node/async_hooks.d.ts +539 -0
- package/src/log/node_modules/@types/node/buffer.d.ts +2362 -0
- package/src/log/node_modules/@types/node/child_process.d.ts +1540 -0
- package/src/log/node_modules/@types/node/cluster.d.ts +432 -0
- package/src/log/node_modules/@types/node/console.d.ts +415 -0
- package/src/log/node_modules/@types/node/constants.d.ts +19 -0
- package/src/log/node_modules/@types/node/crypto.d.ts +4456 -0
- package/src/log/node_modules/@types/node/dgram.d.ts +586 -0
- package/src/log/node_modules/@types/node/diagnostics_channel.d.ts +191 -0
- package/src/log/node_modules/@types/node/dns/promises.d.ts +417 -0
- package/src/log/node_modules/@types/node/dns.d.ts +809 -0
- package/src/log/node_modules/@types/node/dom-events.d.ts +122 -0
- package/src/log/node_modules/@types/node/domain.d.ts +170 -0
- package/src/log/node_modules/@types/node/events.d.ts +844 -0
- package/src/log/node_modules/@types/node/fs/promises.d.ts +1232 -0
- package/src/log/node_modules/@types/node/fs.d.ts +4289 -0
- package/src/log/node_modules/@types/node/globals.d.ts +381 -0
- package/src/log/node_modules/@types/node/globals.global.d.ts +1 -0
- package/src/log/node_modules/@types/node/http.d.ts +1888 -0
- package/src/log/node_modules/@types/node/http2.d.ts +2381 -0
- package/src/log/node_modules/@types/node/https.d.ts +550 -0
- package/src/log/node_modules/@types/node/index.d.ts +88 -0
- package/src/log/node_modules/@types/node/inspector.d.ts +2747 -0
- package/src/log/node_modules/@types/node/module.d.ts +297 -0
- package/src/log/node_modules/@types/node/net.d.ts +949 -0
- package/src/log/node_modules/@types/node/os.d.ts +477 -0
- package/src/log/node_modules/@types/node/package.json +230 -0
- package/src/log/node_modules/@types/node/path.d.ts +191 -0
- package/src/log/node_modules/@types/node/perf_hooks.d.ts +639 -0
- package/src/log/node_modules/@types/node/process.d.ts +1532 -0
- package/src/log/node_modules/@types/node/punycode.d.ts +117 -0
- package/src/log/node_modules/@types/node/querystring.d.ts +141 -0
- package/src/log/node_modules/@types/node/readline/promises.d.ts +150 -0
- package/src/log/node_modules/@types/node/readline.d.ts +539 -0
- package/src/log/node_modules/@types/node/repl.d.ts +430 -0
- package/src/log/node_modules/@types/node/stream/consumers.d.ts +12 -0
- package/src/log/node_modules/@types/node/stream/promises.d.ts +83 -0
- package/src/log/node_modules/@types/node/stream/web.d.ts +350 -0
- package/src/log/node_modules/@types/node/stream.d.ts +1701 -0
- package/src/log/node_modules/@types/node/string_decoder.d.ts +67 -0
- package/src/log/node_modules/@types/node/test.d.ts +1382 -0
- package/src/log/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/src/log/node_modules/@types/node/timers.d.ts +240 -0
- package/src/log/node_modules/@types/node/tls.d.ts +1210 -0
- package/src/log/node_modules/@types/node/trace_events.d.ts +182 -0
- package/src/log/node_modules/@types/node/ts4.8/assert/strict.d.ts +8 -0
- package/src/log/node_modules/@types/node/ts4.8/assert.d.ts +996 -0
- package/src/log/node_modules/@types/node/ts4.8/async_hooks.d.ts +539 -0
- package/src/log/node_modules/@types/node/ts4.8/buffer.d.ts +2362 -0
- package/src/log/node_modules/@types/node/ts4.8/child_process.d.ts +1540 -0
- package/src/log/node_modules/@types/node/ts4.8/cluster.d.ts +432 -0
- package/src/log/node_modules/@types/node/ts4.8/console.d.ts +415 -0
- package/src/log/node_modules/@types/node/ts4.8/constants.d.ts +19 -0
- package/src/log/node_modules/@types/node/ts4.8/crypto.d.ts +4455 -0
- package/src/log/node_modules/@types/node/ts4.8/dgram.d.ts +586 -0
- package/src/log/node_modules/@types/node/ts4.8/diagnostics_channel.d.ts +191 -0
- package/src/log/node_modules/@types/node/ts4.8/dns/promises.d.ts +417 -0
- package/src/log/node_modules/@types/node/ts4.8/dns.d.ts +809 -0
- package/src/log/node_modules/@types/node/ts4.8/dom-events.d.ts +122 -0
- package/src/log/node_modules/@types/node/ts4.8/domain.d.ts +170 -0
- package/src/log/node_modules/@types/node/ts4.8/events.d.ts +796 -0
- package/src/log/node_modules/@types/node/ts4.8/fs/promises.d.ts +1232 -0
- package/src/log/node_modules/@types/node/ts4.8/fs.d.ts +4289 -0
- package/src/log/node_modules/@types/node/ts4.8/globals.d.ts +381 -0
- package/src/log/node_modules/@types/node/ts4.8/globals.global.d.ts +1 -0
- package/src/log/node_modules/@types/node/ts4.8/http.d.ts +1888 -0
- package/src/log/node_modules/@types/node/ts4.8/http2.d.ts +2381 -0
- package/src/log/node_modules/@types/node/ts4.8/https.d.ts +550 -0
- package/src/log/node_modules/@types/node/ts4.8/index.d.ts +88 -0
- package/src/log/node_modules/@types/node/ts4.8/inspector.d.ts +2747 -0
- package/src/log/node_modules/@types/node/ts4.8/module.d.ts +297 -0
- package/src/log/node_modules/@types/node/ts4.8/net.d.ts +949 -0
- package/src/log/node_modules/@types/node/ts4.8/os.d.ts +477 -0
- package/src/log/node_modules/@types/node/ts4.8/path.d.ts +191 -0
- package/src/log/node_modules/@types/node/ts4.8/perf_hooks.d.ts +639 -0
- package/src/log/node_modules/@types/node/ts4.8/process.d.ts +1532 -0
- package/src/log/node_modules/@types/node/ts4.8/punycode.d.ts +117 -0
- package/src/log/node_modules/@types/node/ts4.8/querystring.d.ts +141 -0
- package/src/log/node_modules/@types/node/ts4.8/readline/promises.d.ts +150 -0
- package/src/log/node_modules/@types/node/ts4.8/readline.d.ts +539 -0
- package/src/log/node_modules/@types/node/ts4.8/repl.d.ts +430 -0
- package/src/log/node_modules/@types/node/ts4.8/stream/consumers.d.ts +12 -0
- package/src/log/node_modules/@types/node/ts4.8/stream/promises.d.ts +83 -0
- package/src/log/node_modules/@types/node/ts4.8/stream/web.d.ts +350 -0
- package/src/log/node_modules/@types/node/ts4.8/stream.d.ts +1701 -0
- package/src/log/node_modules/@types/node/ts4.8/string_decoder.d.ts +67 -0
- package/src/log/node_modules/@types/node/ts4.8/test.d.ts +1382 -0
- package/src/log/node_modules/@types/node/ts4.8/timers/promises.d.ts +93 -0
- package/src/log/node_modules/@types/node/ts4.8/timers.d.ts +240 -0
- package/src/log/node_modules/@types/node/ts4.8/tls.d.ts +1210 -0
- package/src/log/node_modules/@types/node/ts4.8/trace_events.d.ts +182 -0
- package/src/log/node_modules/@types/node/ts4.8/tty.d.ts +208 -0
- package/src/log/node_modules/@types/node/ts4.8/url.d.ts +927 -0
- package/src/log/node_modules/@types/node/ts4.8/util.d.ts +2186 -0
- package/src/log/node_modules/@types/node/ts4.8/v8.d.ts +635 -0
- package/src/log/node_modules/@types/node/ts4.8/vm.d.ts +901 -0
- package/src/log/node_modules/@types/node/ts4.8/wasi.d.ts +152 -0
- package/src/log/node_modules/@types/node/ts4.8/worker_threads.d.ts +691 -0
- package/src/log/node_modules/@types/node/ts4.8/zlib.d.ts +517 -0
- package/src/log/node_modules/@types/node/tty.d.ts +208 -0
- package/src/log/node_modules/@types/node/url.d.ts +927 -0
- package/src/log/node_modules/@types/node/util.d.ts +2186 -0
- package/src/log/node_modules/@types/node/v8.d.ts +635 -0
- package/src/log/node_modules/@types/node/vm.d.ts +901 -0
- package/src/log/node_modules/@types/node/wasi.d.ts +152 -0
- package/src/log/node_modules/@types/node/worker_threads.d.ts +691 -0
- package/src/log/node_modules/@types/node/zlib.d.ts +517 -0
- package/src/log/node_modules/@webassemblyjs/ast/README.md +167 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/clone.js +11 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/definitions.js +670 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/index.js +129 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/node-helpers.js +107 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/node-path.js +148 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/nodes.js +1144 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/signatures.js +207 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/transform/ast-module-to-module-context/index.js +389 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/transform/denormalize-type-references/index.js +83 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/transform/wast-identifier-to-index/index.js +238 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/traverse.js +105 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/types/basic.js +1 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/types/nodes.js +1 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/types/traverse.js +1 -0
- package/src/log/node_modules/@webassemblyjs/ast/lib/utils.js +315 -0
- package/src/log/node_modules/@webassemblyjs/ast/package.json +31 -0
- package/src/log/node_modules/@webassemblyjs/ast/scripts/generateNodeUtils.js +219 -0
- package/src/log/node_modules/@webassemblyjs/ast/scripts/generateTypeDefinitions.js +48 -0
- package/src/log/node_modules/@webassemblyjs/ast/scripts/util.js +38 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/LICENSE +21 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/README.md +34 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js +49 -0
- package/src/log/node_modules/@webassemblyjs/floating-point-hex-parser/package.json +23 -0
- package/src/log/node_modules/@webassemblyjs/helper-api-error/lib/index.js +78 -0
- package/src/log/node_modules/@webassemblyjs/helper-api-error/package.json +17 -0
- package/src/log/node_modules/@webassemblyjs/helper-buffer/lib/compare.js +73 -0
- package/src/log/node_modules/@webassemblyjs/helper-buffer/lib/index.js +89 -0
- package/src/log/node_modules/@webassemblyjs/helper-buffer/package.json +23 -0
- package/src/log/node_modules/@webassemblyjs/helper-numbers/lib/index.js +117 -0
- package/src/log/node_modules/@webassemblyjs/helper-numbers/package.json +24 -0
- package/src/log/node_modules/@webassemblyjs/helper-numbers/src/index.js +106 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js +406 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js +38 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-bytecode/package.json +19 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js +123 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js +35 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js +45 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js +90 -0
- package/src/log/node_modules/@webassemblyjs/helper-wasm-section/package.json +28 -0
- package/src/log/node_modules/@webassemblyjs/ieee754/lib/index.js +52 -0
- package/src/log/node_modules/@webassemblyjs/ieee754/package.json +22 -0
- package/src/log/node_modules/@webassemblyjs/ieee754/src/index.js +47 -0
- package/src/log/node_modules/@webassemblyjs/leb128/LICENSE.txt +194 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/bits.js +156 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/bufs.js +236 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/index.js +59 -0
- package/src/log/node_modules/@webassemblyjs/leb128/lib/leb.js +343 -0
- package/src/log/node_modules/@webassemblyjs/leb128/package.json +22 -0
- package/src/log/node_modules/@webassemblyjs/utf8/lib/decoder.js +74 -0
- package/src/log/node_modules/@webassemblyjs/utf8/lib/encoder.js +67 -0
- package/src/log/node_modules/@webassemblyjs/utf8/lib/index.js +21 -0
- package/src/log/node_modules/@webassemblyjs/utf8/package.json +19 -0
- package/src/log/node_modules/@webassemblyjs/utf8/src/decoder.js +67 -0
- package/src/log/node_modules/@webassemblyjs/utf8/src/encoder.js +44 -0
- package/src/log/node_modules/@webassemblyjs/utf8/src/index.js +4 -0
- package/src/log/node_modules/@webassemblyjs/utf8/test/index.js +13 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/README.md +86 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/lib/apply.js +318 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/lib/index.js +134 -0
- package/src/log/node_modules/@webassemblyjs/wasm-edit/package.json +32 -0
- package/src/log/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js +372 -0
- package/src/log/node_modules/@webassemblyjs/wasm-gen/lib/index.js +68 -0
- package/src/log/node_modules/@webassemblyjs/wasm-gen/package.json +26 -0
- package/src/log/node_modules/@webassemblyjs/wasm-opt/lib/index.js +66 -0
- package/src/log/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js +56 -0
- package/src/log/node_modules/@webassemblyjs/wasm-opt/package.json +25 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/README.md +28 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js +1821 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/lib/index.js +262 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/lib/types/decoder.js +1 -0
- package/src/log/node_modules/@webassemblyjs/wasm-parser/package.json +43 -0
- package/src/log/node_modules/@webassemblyjs/wast-printer/README.md +17 -0
- package/src/log/node_modules/@webassemblyjs/wast-printer/lib/index.js +931 -0
- package/src/log/node_modules/@webassemblyjs/wast-printer/package.json +35 -0
- package/src/log/node_modules/@webpack-cli/configtest/LICENSE +20 -0
- package/src/log/node_modules/@webpack-cli/configtest/README.md +31 -0
- package/src/log/node_modules/@webpack-cli/configtest/lib/index.d.ts +5 -0
- package/src/log/node_modules/@webpack-cli/configtest/lib/index.js +53 -0
- package/src/log/node_modules/@webpack-cli/configtest/package.json +27 -0
- package/src/log/node_modules/@webpack-cli/info/LICENSE +20 -0
- package/src/log/node_modules/@webpack-cli/info/README.md +54 -0
- package/src/log/node_modules/@webpack-cli/info/lib/index.d.ts +5 -0
- package/src/log/node_modules/@webpack-cli/info/lib/index.js +17 -0
- package/src/log/node_modules/@webpack-cli/info/package.json +27 -0
- package/src/log/node_modules/@webpack-cli/serve/LICENSE +20 -0
- package/src/log/node_modules/@webpack-cli/serve/README.md +32 -0
- package/src/log/node_modules/@webpack-cli/serve/lib/index.d.ts +5 -0
- package/src/log/node_modules/@webpack-cli/serve/lib/index.js +174 -0
- package/src/log/node_modules/@webpack-cli/serve/package.json +33 -0
- package/src/log/node_modules/@xtuc/ieee754/LICENSE +28 -0
- package/src/log/node_modules/@xtuc/ieee754/README.md +51 -0
- package/src/log/node_modules/@xtuc/ieee754/dist/.gitkeep +0 -0
- package/src/log/node_modules/@xtuc/ieee754/dist/index.cjs.js +96 -0
- package/src/log/node_modules/@xtuc/ieee754/index.js +84 -0
- package/src/log/node_modules/@xtuc/ieee754/package.json +42 -0
- package/src/log/node_modules/@xtuc/long/LICENSE +202 -0
- package/src/log/node_modules/@xtuc/long/README.md +257 -0
- package/src/log/node_modules/@xtuc/long/dist/long.js +2 -0
- package/src/log/node_modules/@xtuc/long/dist/long.js.map +1 -0
- package/src/log/node_modules/@xtuc/long/index.d.ts +429 -0
- package/src/log/node_modules/@xtuc/long/index.js +1 -0
- package/src/log/node_modules/@xtuc/long/package.json +36 -0
- package/src/log/node_modules/@xtuc/long/src/long.js +1405 -0
- package/src/log/node_modules/acorn/CHANGELOG.md +870 -0
- package/src/log/node_modules/acorn/LICENSE +21 -0
- package/src/log/node_modules/acorn/README.md +283 -0
- package/src/log/node_modules/acorn/bin/acorn +4 -0
- package/src/log/node_modules/acorn/dist/acorn.d.mts +857 -0
- package/src/log/node_modules/acorn/dist/acorn.d.ts +857 -0
- package/src/log/node_modules/acorn/dist/acorn.js +6001 -0
- package/src/log/node_modules/acorn/dist/acorn.mjs +5972 -0
- package/src/log/node_modules/acorn/dist/bin.js +90 -0
- package/src/log/node_modules/acorn/package.json +50 -0
- package/src/log/node_modules/acorn-import-assertions/README.md +15 -0
- package/src/log/node_modules/acorn-import-assertions/lib/index.js +235 -0
- package/src/log/node_modules/acorn-import-assertions/lib/index.mjs +242 -0
- package/src/log/node_modules/acorn-import-assertions/package.json +49 -0
- package/src/log/node_modules/acorn-import-assertions/src/index.js +242 -0
- package/src/log/node_modules/ajv/.tonic_example.js +20 -0
- package/src/log/node_modules/ajv/LICENSE +22 -0
- package/src/log/node_modules/ajv/README.md +1497 -0
- package/src/log/node_modules/ajv/dist/ajv.bundle.js +7189 -0
- package/src/log/node_modules/ajv/dist/ajv.min.js +3 -0
- package/src/log/node_modules/ajv/dist/ajv.min.js.map +1 -0
- package/src/log/node_modules/ajv/lib/ajv.d.ts +397 -0
- package/src/log/node_modules/ajv/lib/ajv.js +506 -0
- package/src/log/node_modules/ajv/lib/cache.js +26 -0
- package/src/log/node_modules/ajv/lib/compile/async.js +90 -0
- package/src/log/node_modules/ajv/lib/compile/equal.js +5 -0
- package/src/log/node_modules/ajv/lib/compile/error_classes.js +34 -0
- package/src/log/node_modules/ajv/lib/compile/formats.js +142 -0
- package/src/log/node_modules/ajv/lib/compile/index.js +387 -0
- package/src/log/node_modules/ajv/lib/compile/resolve.js +270 -0
- package/src/log/node_modules/ajv/lib/compile/rules.js +66 -0
- package/src/log/node_modules/ajv/lib/compile/schema_obj.js +9 -0
- package/src/log/node_modules/ajv/lib/compile/ucs2length.js +20 -0
- package/src/log/node_modules/ajv/lib/compile/util.js +239 -0
- package/src/log/node_modules/ajv/lib/data.js +49 -0
- package/src/log/node_modules/ajv/lib/definition_schema.js +37 -0
- package/src/log/node_modules/ajv/lib/dot/_limit.jst +113 -0
- package/src/log/node_modules/ajv/lib/dot/_limitItems.jst +12 -0
- package/src/log/node_modules/ajv/lib/dot/_limitLength.jst +12 -0
- package/src/log/node_modules/ajv/lib/dot/_limitProperties.jst +12 -0
- package/src/log/node_modules/ajv/lib/dot/allOf.jst +32 -0
- package/src/log/node_modules/ajv/lib/dot/anyOf.jst +46 -0
- package/src/log/node_modules/ajv/lib/dot/coerce.def +51 -0
- package/src/log/node_modules/ajv/lib/dot/comment.jst +9 -0
- package/src/log/node_modules/ajv/lib/dot/const.jst +11 -0
- package/src/log/node_modules/ajv/lib/dot/contains.jst +55 -0
- package/src/log/node_modules/ajv/lib/dot/custom.jst +191 -0
- package/src/log/node_modules/ajv/lib/dot/defaults.def +47 -0
- package/src/log/node_modules/ajv/lib/dot/definitions.def +203 -0
- package/src/log/node_modules/ajv/lib/dot/dependencies.jst +79 -0
- package/src/log/node_modules/ajv/lib/dot/enum.jst +30 -0
- package/src/log/node_modules/ajv/lib/dot/errors.def +194 -0
- package/src/log/node_modules/ajv/lib/dot/format.jst +106 -0
- package/src/log/node_modules/ajv/lib/dot/if.jst +73 -0
- package/src/log/node_modules/ajv/lib/dot/items.jst +98 -0
- package/src/log/node_modules/ajv/lib/dot/missing.def +39 -0
- package/src/log/node_modules/ajv/lib/dot/multipleOf.jst +22 -0
- package/src/log/node_modules/ajv/lib/dot/not.jst +43 -0
- package/src/log/node_modules/ajv/lib/dot/oneOf.jst +54 -0
- package/src/log/node_modules/ajv/lib/dot/pattern.jst +14 -0
- package/src/log/node_modules/ajv/lib/dot/properties.jst +245 -0
- package/src/log/node_modules/ajv/lib/dot/propertyNames.jst +52 -0
- package/src/log/node_modules/ajv/lib/dot/ref.jst +85 -0
- package/src/log/node_modules/ajv/lib/dot/required.jst +108 -0
- package/src/log/node_modules/ajv/lib/dot/uniqueItems.jst +62 -0
- package/src/log/node_modules/ajv/lib/dot/validate.jst +276 -0
- package/src/log/node_modules/ajv/lib/dotjs/README.md +3 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limit.js +163 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limitItems.js +80 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limitLength.js +85 -0
- package/src/log/node_modules/ajv/lib/dotjs/_limitProperties.js +80 -0
- package/src/log/node_modules/ajv/lib/dotjs/allOf.js +42 -0
- package/src/log/node_modules/ajv/lib/dotjs/anyOf.js +73 -0
- package/src/log/node_modules/ajv/lib/dotjs/comment.js +14 -0
- package/src/log/node_modules/ajv/lib/dotjs/const.js +56 -0
- package/src/log/node_modules/ajv/lib/dotjs/contains.js +81 -0
- package/src/log/node_modules/ajv/lib/dotjs/custom.js +228 -0
- package/src/log/node_modules/ajv/lib/dotjs/dependencies.js +168 -0
- package/src/log/node_modules/ajv/lib/dotjs/enum.js +66 -0
- package/src/log/node_modules/ajv/lib/dotjs/format.js +150 -0
- package/src/log/node_modules/ajv/lib/dotjs/if.js +103 -0
- package/src/log/node_modules/ajv/lib/dotjs/index.js +33 -0
- package/src/log/node_modules/ajv/lib/dotjs/items.js +140 -0
- package/src/log/node_modules/ajv/lib/dotjs/multipleOf.js +80 -0
- package/src/log/node_modules/ajv/lib/dotjs/not.js +84 -0
- package/src/log/node_modules/ajv/lib/dotjs/oneOf.js +73 -0
- package/src/log/node_modules/ajv/lib/dotjs/pattern.js +75 -0
- package/src/log/node_modules/ajv/lib/dotjs/properties.js +335 -0
- package/src/log/node_modules/ajv/lib/dotjs/propertyNames.js +81 -0
- package/src/log/node_modules/ajv/lib/dotjs/ref.js +124 -0
- package/src/log/node_modules/ajv/lib/dotjs/required.js +270 -0
- package/src/log/node_modules/ajv/lib/dotjs/uniqueItems.js +86 -0
- package/src/log/node_modules/ajv/lib/dotjs/validate.js +482 -0
- package/src/log/node_modules/ajv/lib/keyword.js +146 -0
- package/src/log/node_modules/ajv/lib/refs/data.json +17 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-draft-04.json +149 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-draft-06.json +154 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-draft-07.json +168 -0
- package/src/log/node_modules/ajv/lib/refs/json-schema-secure.json +94 -0
- package/src/log/node_modules/ajv/package.json +106 -0
- package/src/log/node_modules/ajv/scripts/.eslintrc.yml +3 -0
- package/src/log/node_modules/ajv/scripts/bundle.js +61 -0
- package/src/log/node_modules/ajv/scripts/compile-dots.js +73 -0
- package/src/log/node_modules/ajv/scripts/info +10 -0
- package/src/log/node_modules/ajv/scripts/prepare-tests +12 -0
- package/src/log/node_modules/ajv/scripts/publish-built-version +32 -0
- package/src/log/node_modules/ajv/scripts/travis-gh-pages +23 -0
- package/src/log/node_modules/ajv-keywords/LICENSE +21 -0
- package/src/log/node_modules/ajv-keywords/README.md +836 -0
- package/src/log/node_modules/ajv-keywords/ajv-keywords.d.ts +7 -0
- package/src/log/node_modules/ajv-keywords/index.js +35 -0
- package/src/log/node_modules/ajv-keywords/keywords/_formatLimit.js +101 -0
- package/src/log/node_modules/ajv-keywords/keywords/_util.js +15 -0
- package/src/log/node_modules/ajv-keywords/keywords/allRequired.js +18 -0
- package/src/log/node_modules/ajv-keywords/keywords/anyRequired.js +24 -0
- package/src/log/node_modules/ajv-keywords/keywords/deepProperties.js +54 -0
- package/src/log/node_modules/ajv-keywords/keywords/deepRequired.js +57 -0
- package/src/log/node_modules/ajv-keywords/keywords/dot/_formatLimit.jst +116 -0
- package/src/log/node_modules/ajv-keywords/keywords/dot/patternRequired.jst +33 -0
- package/src/log/node_modules/ajv-keywords/keywords/dot/switch.jst +71 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/README.md +3 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js +178 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/patternRequired.js +58 -0
- package/src/log/node_modules/ajv-keywords/keywords/dotjs/switch.js +129 -0
- package/src/log/node_modules/ajv-keywords/keywords/dynamicDefaults.js +72 -0
- package/src/log/node_modules/ajv-keywords/keywords/formatMaximum.js +3 -0
- package/src/log/node_modules/ajv-keywords/keywords/formatMinimum.js +3 -0
- package/src/log/node_modules/ajv-keywords/keywords/index.js +22 -0
- package/src/log/node_modules/ajv-keywords/keywords/instanceof.js +58 -0
- package/src/log/node_modules/ajv-keywords/keywords/oneRequired.js +24 -0
- package/src/log/node_modules/ajv-keywords/keywords/patternRequired.js +21 -0
- package/src/log/node_modules/ajv-keywords/keywords/prohibited.js +24 -0
- package/src/log/node_modules/ajv-keywords/keywords/range.js +36 -0
- package/src/log/node_modules/ajv-keywords/keywords/regexp.js +36 -0
- package/src/log/node_modules/ajv-keywords/keywords/select.js +79 -0
- package/src/log/node_modules/ajv-keywords/keywords/switch.js +38 -0
- package/src/log/node_modules/ajv-keywords/keywords/transform.js +80 -0
- package/src/log/node_modules/ajv-keywords/keywords/typeof.js +32 -0
- package/src/log/node_modules/ajv-keywords/keywords/uniqueItemProperties.js +59 -0
- package/src/log/node_modules/ajv-keywords/package.json +53 -0
- package/src/log/node_modules/browserslist/LICENSE +20 -0
- package/src/log/node_modules/browserslist/README.md +73 -0
- package/src/log/node_modules/browserslist/browser.js +52 -0
- package/src/log/node_modules/browserslist/cli.js +156 -0
- package/src/log/node_modules/browserslist/error.d.ts +7 -0
- package/src/log/node_modules/browserslist/error.js +12 -0
- package/src/log/node_modules/browserslist/index.d.ts +200 -0
- package/src/log/node_modules/browserslist/index.js +1197 -0
- package/src/log/node_modules/browserslist/node.js +410 -0
- package/src/log/node_modules/browserslist/package.json +44 -0
- package/src/log/node_modules/browserslist/parse.js +78 -0
- package/src/log/node_modules/buffer-from/LICENSE +21 -0
- package/src/log/node_modules/buffer-from/index.js +72 -0
- package/src/log/node_modules/buffer-from/package.json +19 -0
- package/src/log/node_modules/buffer-from/readme.md +69 -0
- package/src/log/node_modules/caniuse-lite/LICENSE +395 -0
- package/src/log/node_modules/caniuse-lite/README.md +6 -0
- package/src/log/node_modules/caniuse-lite/data/agents.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/browserVersions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/browsers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/aac.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/accelerometer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ambient-light.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/apng.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-find-index.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-find.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-flat.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/array-includes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/asmjs.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/async-functions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/audio-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/audio.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/audiotracks.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/autofocus.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/auxclick.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/av1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/avif.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-attachment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/background-sync.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/battery-status.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/beacon.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/bigint.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/bloburls.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/border-image.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/border-radius.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/brotli.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/calc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/canvas-text.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/canvas.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ch-unit.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/classlist.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/clipboard.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/colr-v1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/colr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/console-basic.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/console-time.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/const.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/contenteditable.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/cors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/credential-management.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/cryptography.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-all.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-animation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-any-link.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-appearance.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-autofill.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-canvas.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-color-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-containment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-counters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-element-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-env-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-filters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-first-line.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-fixed.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-gradients.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-grid.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-has.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-image-set.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-masks.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-nesting.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-opacity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overflow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-page-break.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-reflections.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-regions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-resize.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-scroll-timeline.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-sel2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-sel3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-selection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-shapes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-sticky.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-table.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-transitions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-variables.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-when-else.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css-zoom.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-colors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/currentcolor.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/custom-elements.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/customevent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/datalist.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dataset.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/datauri.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/decorators.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/details.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dialog.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dnssec.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/do-not-track.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/documenthead.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dom-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dommatrix.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/download.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/dragndrop.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/element-closest.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/element-from-point.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/eme.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/eot.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es5.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-class.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-generators.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-module.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-number.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/es6.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/eventsource.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/feature-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fetch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fileapi.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/filereader.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/filereadersync.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/filesystem.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flac.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flexbox.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/flow-root.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-feature.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-kerning.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-loading.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-smooth.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fontface.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/form-attribute.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/form-validation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/forms.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/fullscreen.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/gamepad.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/geolocation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/gyroscope.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hashchange.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/heif.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hevc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/hidden.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/history.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/html5semantic.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/http2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/http3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/imagecapture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ime.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/import-maps.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/imports.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/indexeddb.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/inline-block.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/innertext.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-datetime.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-event.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-minlength.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-number.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-pattern.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-range.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-search.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/input-selection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/internationalization.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/jpegxl.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/jpegxr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/json.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/lazyload.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/let.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/localecompare.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/magnetometer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/matchesselector.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/matchmedia.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mathml.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/maxlength.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/media-fragments.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mediasource.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/menu.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/meter.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/midi.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mp3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mpeg4.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/multicolumn.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mutation-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/nav-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/netinfo.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/notifications.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-entries.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-fit.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-observe.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/object-values.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/objectrtc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/offline-apps.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ogv.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/online-status.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/opus.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/outline.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/passkeys.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/passwordrules.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/path2d.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/payment-request.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/permissions-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/picture.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ping.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/png-alpha.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pointer-events.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pointer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/pointerlock.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/portals.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/progress.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/promise-finally.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/promises.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/proximity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/proxy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/push-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/queryselector.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rellist.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rem.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/resource-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ruby.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/run-in.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/script-async.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/script-defer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sdch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/selection-api.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/server-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/setimmediate.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/shadowdom.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sni.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/spdy.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sql-storage.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/srcset.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/stream.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/streams.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/style-scoped.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-css.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-filters.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-html.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-html5.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-img.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg-smil.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/svg.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/sxg.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/template-literals.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/template.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/temporal.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/testfeat.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-decoration.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-overflow.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/text-stroke.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/textcontent.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/textencoder.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tls1-1.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tls1-2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/tls1-3.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/touch.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/transforms2d.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/transforms3d.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/trusted-types.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/ttf.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/typedarrays.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/u2f.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/url.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/use-strict.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/user-select-none.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/user-timing.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/vector-effect.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/vibration.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/video.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/videotracks.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/view-transitions.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/viewport-units.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wai-aria.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wake-lock.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wasm.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wav.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wbr-element.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-animation.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-serial.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/web-share.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webauthn.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webcodecs.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webgl.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webgl2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webgpu.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webhid.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webm.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webnfc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webp.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/websockets.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webtransport.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webusb.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webvr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webvtt.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webworkers.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/webxr.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/will-change.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/woff.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/woff2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/word-break.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/wordwrap.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xhr2.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xhtml.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features/zstd.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/features.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AX.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/AZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/BZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CX.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/CZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/DZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/EC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/EE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/EG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ER.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ES.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ET.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/FR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GQ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/GY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/HU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ID.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IQ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/IT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/JP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/KZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/LY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ME.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ML.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MQ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MX.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/MZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NP.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/NZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/OM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/PY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/QA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/RW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SB.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ST.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/SZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TD.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TH.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TJ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TK.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TL.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TO.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TR.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TV.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/TZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/US.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UY.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/UZ.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VC.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VG.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VI.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VN.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/VU.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/WF.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/WS.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/YE.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/YT.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ZA.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ZM.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/ZW.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-af.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-an.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-as.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-eu.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-na.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-oc.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-sa.js +1 -0
- package/src/log/node_modules/caniuse-lite/data/regions/alt-ww.js +1 -0
- package/src/log/node_modules/caniuse-lite/dist/lib/statuses.js +9 -0
- package/src/log/node_modules/caniuse-lite/dist/lib/supported.js +9 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/agents.js +47 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/browserVersions.js +1 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/browsers.js +1 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/feature.js +52 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/features.js +6 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/index.js +4 -0
- package/src/log/node_modules/caniuse-lite/dist/unpacker/region.js +22 -0
- package/src/log/node_modules/caniuse-lite/package.json +34 -0
- package/src/log/node_modules/chrome-trace-event/CHANGES.md +26 -0
- package/src/log/node_modules/chrome-trace-event/LICENSE.txt +23 -0
- package/src/log/node_modules/chrome-trace-event/README.md +31 -0
- package/src/log/node_modules/chrome-trace-event/dist/trace-event.d.ts +52 -0
- package/src/log/node_modules/chrome-trace-event/dist/trace-event.js +170 -0
- package/src/log/node_modules/chrome-trace-event/dist/trace-event.js.map +1 -0
- package/src/log/node_modules/chrome-trace-event/package.json +38 -0
- package/src/log/node_modules/clone-deep/LICENSE +21 -0
- package/src/log/node_modules/clone-deep/README.md +106 -0
- package/src/log/node_modules/clone-deep/index.js +49 -0
- package/src/log/node_modules/clone-deep/package.json +81 -0
- package/src/log/node_modules/colorette/LICENSE.md +7 -0
- package/src/log/node_modules/colorette/README.md +134 -0
- package/src/log/node_modules/colorette/index.cjs +218 -0
- package/src/log/node_modules/colorette/index.d.ts +93 -0
- package/src/log/node_modules/colorette/index.js +150 -0
- package/src/log/node_modules/colorette/package.json +40 -0
- package/src/log/node_modules/commander/CHANGELOG.md +419 -0
- package/src/log/node_modules/commander/LICENSE +22 -0
- package/src/log/node_modules/commander/Readme.md +428 -0
- package/src/log/node_modules/commander/index.js +1224 -0
- package/src/log/node_modules/commander/package.json +38 -0
- package/src/log/node_modules/commander/typings/index.d.ts +310 -0
- package/src/log/node_modules/cross-spawn/CHANGELOG.md +130 -0
- package/src/log/node_modules/cross-spawn/LICENSE +21 -0
- package/src/log/node_modules/cross-spawn/README.md +96 -0
- package/src/log/node_modules/cross-spawn/index.js +39 -0
- package/src/log/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/src/log/node_modules/cross-spawn/lib/parse.js +91 -0
- package/src/log/node_modules/cross-spawn/lib/util/escape.js +45 -0
- package/src/log/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/src/log/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/src/log/node_modules/cross-spawn/package.json +73 -0
- package/src/log/node_modules/electron-to-chromium/CHANGELOG.md +14 -0
- package/src/log/node_modules/electron-to-chromium/LICENSE +5 -0
- package/src/log/node_modules/electron-to-chromium/README.md +186 -0
- package/src/log/node_modules/electron-to-chromium/chromium-versions.js +60 -0
- package/src/log/node_modules/electron-to-chromium/chromium-versions.json +1 -0
- package/src/log/node_modules/electron-to-chromium/full-chromium-versions.js +2911 -0
- package/src/log/node_modules/electron-to-chromium/full-chromium-versions.json +1 -0
- package/src/log/node_modules/electron-to-chromium/full-versions.js +2123 -0
- package/src/log/node_modules/electron-to-chromium/full-versions.json +1 -0
- package/src/log/node_modules/electron-to-chromium/index.js +36 -0
- package/src/log/node_modules/electron-to-chromium/package.json +44 -0
- package/src/log/node_modules/electron-to-chromium/versions.js +141 -0
- package/src/log/node_modules/electron-to-chromium/versions.json +1 -0
- package/src/log/node_modules/enhanced-resolve/LICENSE +20 -0
- package/src/log/node_modules/enhanced-resolve/README.md +183 -0
- package/src/log/node_modules/enhanced-resolve/lib/AliasFieldPlugin.js +108 -0
- package/src/log/node_modules/enhanced-resolve/lib/AliasPlugin.js +154 -0
- package/src/log/node_modules/enhanced-resolve/lib/AppendPlugin.js +49 -0
- package/src/log/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js +593 -0
- package/src/log/node_modules/enhanced-resolve/lib/CloneBasenamePlugin.js +53 -0
- package/src/log/node_modules/enhanced-resolve/lib/ConditionalPlugin.js +59 -0
- package/src/log/node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js +98 -0
- package/src/log/node_modules/enhanced-resolve/lib/DescriptionFileUtils.js +198 -0
- package/src/log/node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js +63 -0
- package/src/log/node_modules/enhanced-resolve/lib/ExportsFieldPlugin.js +166 -0
- package/src/log/node_modules/enhanced-resolve/lib/ExtensionAliasPlugin.js +101 -0
- package/src/log/node_modules/enhanced-resolve/lib/FileExistsPlugin.js +58 -0
- package/src/log/node_modules/enhanced-resolve/lib/ImportsFieldPlugin.js +196 -0
- package/src/log/node_modules/enhanced-resolve/lib/JoinRequestPartPlugin.js +75 -0
- package/src/log/node_modules/enhanced-resolve/lib/JoinRequestPlugin.js +45 -0
- package/src/log/node_modules/enhanced-resolve/lib/LogInfoPlugin.js +54 -0
- package/src/log/node_modules/enhanced-resolve/lib/MainFieldPlugin.js +90 -0
- package/src/log/node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js +9 -0
- package/src/log/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js +87 -0
- package/src/log/node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js +49 -0
- package/src/log/node_modules/enhanced-resolve/lib/NextPlugin.js +33 -0
- package/src/log/node_modules/enhanced-resolve/lib/ParsePlugin.js +76 -0
- package/src/log/node_modules/enhanced-resolve/lib/PnpPlugin.js +111 -0
- package/src/log/node_modules/enhanced-resolve/lib/Resolver.js +601 -0
- package/src/log/node_modules/enhanced-resolve/lib/ResolverFactory.js +695 -0
- package/src/log/node_modules/enhanced-resolve/lib/RestrictionsPlugin.js +70 -0
- package/src/log/node_modules/enhanced-resolve/lib/ResultPlugin.js +42 -0
- package/src/log/node_modules/enhanced-resolve/lib/RootsPlugin.js +69 -0
- package/src/log/node_modules/enhanced-resolve/lib/SelfReferencePlugin.js +82 -0
- package/src/log/node_modules/enhanced-resolve/lib/SymlinkPlugin.js +100 -0
- package/src/log/node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js +104 -0
- package/src/log/node_modules/enhanced-resolve/lib/TryNextPlugin.js +41 -0
- package/src/log/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js +112 -0
- package/src/log/node_modules/enhanced-resolve/lib/UseFilePlugin.js +55 -0
- package/src/log/node_modules/enhanced-resolve/lib/createInnerContext.js +46 -0
- package/src/log/node_modules/enhanced-resolve/lib/forEachBail.js +50 -0
- package/src/log/node_modules/enhanced-resolve/lib/getInnerRequest.js +36 -0
- package/src/log/node_modules/enhanced-resolve/lib/getPaths.js +45 -0
- package/src/log/node_modules/enhanced-resolve/lib/index.js +203 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/entrypoints.js +604 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/identifier.js +27 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/path.js +229 -0
- package/src/log/node_modules/enhanced-resolve/lib/util/process-browser.js +22 -0
- package/src/log/node_modules/enhanced-resolve/package.json +72 -0
- package/src/log/node_modules/enhanced-resolve/types.d.ts +712 -0
- package/src/log/node_modules/envinfo/LICENSE +21 -0
- package/src/log/node_modules/envinfo/README.md +286 -0
- package/src/log/node_modules/envinfo/dist/cli.js +2 -0
- package/src/log/node_modules/envinfo/dist/envinfo.js +1 -0
- package/src/log/node_modules/envinfo/package.json +96 -0
- package/src/log/node_modules/es-module-lexer/LICENSE +10 -0
- package/src/log/node_modules/es-module-lexer/README.md +304 -0
- package/src/log/node_modules/es-module-lexer/dist/lexer.asm.js +2 -0
- package/src/log/node_modules/es-module-lexer/dist/lexer.cjs +1 -0
- package/src/log/node_modules/es-module-lexer/dist/lexer.js +2 -0
- package/src/log/node_modules/es-module-lexer/lexer.js +919 -0
- package/src/log/node_modules/es-module-lexer/package.json +54 -0
- package/src/log/node_modules/es-module-lexer/types/lexer.d.ts +149 -0
- package/src/log/node_modules/escalade/dist/index.js +22 -0
- package/src/log/node_modules/escalade/dist/index.mjs +22 -0
- package/src/log/node_modules/escalade/index.d.ts +3 -0
- package/src/log/node_modules/escalade/license +9 -0
- package/src/log/node_modules/escalade/package.json +61 -0
- package/src/log/node_modules/escalade/readme.md +211 -0
- package/src/log/node_modules/escalade/sync/index.d.ts +2 -0
- package/src/log/node_modules/escalade/sync/index.js +18 -0
- package/src/log/node_modules/escalade/sync/index.mjs +18 -0
- package/src/log/node_modules/eslint-scope/CHANGELOG.md +70 -0
- package/src/log/node_modules/eslint-scope/LICENSE +22 -0
- package/src/log/node_modules/eslint-scope/README.md +54 -0
- package/src/log/node_modules/eslint-scope/lib/definition.js +86 -0
- package/src/log/node_modules/eslint-scope/lib/index.js +165 -0
- package/src/log/node_modules/eslint-scope/lib/pattern-visitor.js +152 -0
- package/src/log/node_modules/eslint-scope/lib/reference.js +167 -0
- package/src/log/node_modules/eslint-scope/lib/referencer.js +629 -0
- package/src/log/node_modules/eslint-scope/lib/scope-manager.js +247 -0
- package/src/log/node_modules/eslint-scope/lib/scope.js +748 -0
- package/src/log/node_modules/eslint-scope/lib/variable.js +88 -0
- package/src/log/node_modules/eslint-scope/package.json +48 -0
- package/src/log/node_modules/esrecurse/.babelrc +3 -0
- package/src/log/node_modules/esrecurse/README.md +171 -0
- package/src/log/node_modules/esrecurse/esrecurse.js +117 -0
- package/src/log/node_modules/esrecurse/gulpfile.babel.js +92 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/.jshintrc +16 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/LICENSE.BSD +19 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/README.md +153 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/estraverse.js +805 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/gulpfile.js +70 -0
- package/src/log/node_modules/esrecurse/node_modules/estraverse/package.json +40 -0
- package/src/log/node_modules/esrecurse/package.json +52 -0
- package/src/log/node_modules/estraverse/.jshintrc +16 -0
- package/src/log/node_modules/estraverse/LICENSE.BSD +19 -0
- package/src/log/node_modules/estraverse/README.md +153 -0
- package/src/log/node_modules/estraverse/estraverse.js +782 -0
- package/src/log/node_modules/estraverse/gulpfile.js +70 -0
- package/src/log/node_modules/estraverse/package.json +40 -0
- package/src/log/node_modules/events/.airtap.yml +15 -0
- package/src/log/node_modules/events/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/events/.travis.yml +18 -0
- package/src/log/node_modules/events/History.md +118 -0
- package/src/log/node_modules/events/LICENSE +22 -0
- package/src/log/node_modules/events/Readme.md +50 -0
- package/src/log/node_modules/events/events.js +497 -0
- package/src/log/node_modules/events/package.json +37 -0
- package/src/log/node_modules/events/security.md +10 -0
- package/src/log/node_modules/events/tests/add-listeners.js +111 -0
- package/src/log/node_modules/events/tests/check-listener-leaks.js +101 -0
- package/src/log/node_modules/events/tests/common.js +104 -0
- package/src/log/node_modules/events/tests/errors.js +13 -0
- package/src/log/node_modules/events/tests/events-list.js +28 -0
- package/src/log/node_modules/events/tests/events-once.js +234 -0
- package/src/log/node_modules/events/tests/index.js +64 -0
- package/src/log/node_modules/events/tests/legacy-compat.js +16 -0
- package/src/log/node_modules/events/tests/listener-count.js +37 -0
- package/src/log/node_modules/events/tests/listeners-side-effects.js +56 -0
- package/src/log/node_modules/events/tests/listeners.js +168 -0
- package/src/log/node_modules/events/tests/max-listeners.js +47 -0
- package/src/log/node_modules/events/tests/method-names.js +35 -0
- package/src/log/node_modules/events/tests/modify-in-emit.js +90 -0
- package/src/log/node_modules/events/tests/num-args.js +60 -0
- package/src/log/node_modules/events/tests/once.js +83 -0
- package/src/log/node_modules/events/tests/prepend.js +31 -0
- package/src/log/node_modules/events/tests/remove-all-listeners.js +133 -0
- package/src/log/node_modules/events/tests/remove-listeners.js +212 -0
- package/src/log/node_modules/events/tests/set-max-listeners-side-effects.js +31 -0
- package/src/log/node_modules/events/tests/special-event-names.js +45 -0
- package/src/log/node_modules/events/tests/subclass.js +66 -0
- package/src/log/node_modules/events/tests/symbols.js +25 -0
- package/src/log/node_modules/fast-deep-equal/LICENSE +21 -0
- package/src/log/node_modules/fast-deep-equal/README.md +96 -0
- package/src/log/node_modules/fast-deep-equal/es6/index.d.ts +2 -0
- package/src/log/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/src/log/node_modules/fast-deep-equal/es6/react.d.ts +2 -0
- package/src/log/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/src/log/node_modules/fast-deep-equal/index.d.ts +4 -0
- package/src/log/node_modules/fast-deep-equal/index.js +46 -0
- package/src/log/node_modules/fast-deep-equal/package.json +61 -0
- package/src/log/node_modules/fast-deep-equal/react.d.ts +2 -0
- package/src/log/node_modules/fast-deep-equal/react.js +53 -0
- package/src/log/node_modules/fast-json-stable-stringify/.eslintrc.yml +26 -0
- package/src/log/node_modules/fast-json-stable-stringify/.github/FUNDING.yml +1 -0
- package/src/log/node_modules/fast-json-stable-stringify/.travis.yml +8 -0
- package/src/log/node_modules/fast-json-stable-stringify/LICENSE +21 -0
- package/src/log/node_modules/fast-json-stable-stringify/README.md +131 -0
- package/src/log/node_modules/fast-json-stable-stringify/benchmark/index.js +31 -0
- package/src/log/node_modules/fast-json-stable-stringify/benchmark/test.json +137 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/key_cmp.js +7 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/nested.js +3 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/str.js +3 -0
- package/src/log/node_modules/fast-json-stable-stringify/example/value_cmp.js +7 -0
- package/src/log/node_modules/fast-json-stable-stringify/index.d.ts +4 -0
- package/src/log/node_modules/fast-json-stable-stringify/index.js +59 -0
- package/src/log/node_modules/fast-json-stable-stringify/package.json +52 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/cmp.js +13 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/nested.js +44 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/str.js +46 -0
- package/src/log/node_modules/fast-json-stable-stringify/test/to-json.js +22 -0
- package/src/log/node_modules/fastest-levenshtein/.eslintrc.json +30 -0
- package/src/log/node_modules/fastest-levenshtein/.prettierrc +4 -0
- package/src/log/node_modules/fastest-levenshtein/.travis.yml +21 -0
- package/src/log/node_modules/fastest-levenshtein/LICENSE.md +21 -0
- package/src/log/node_modules/fastest-levenshtein/README.md +57 -0
- package/src/log/node_modules/fastest-levenshtein/bench.js +96 -0
- package/src/log/node_modules/fastest-levenshtein/esm/mod.d.ts +4 -0
- package/src/log/node_modules/fastest-levenshtein/esm/mod.d.ts.map +1 -0
- package/src/log/node_modules/fastest-levenshtein/esm/mod.js +138 -0
- package/src/log/node_modules/fastest-levenshtein/mod.d.ts +3 -0
- package/src/log/node_modules/fastest-levenshtein/mod.js +142 -0
- package/src/log/node_modules/fastest-levenshtein/package.json +72 -0
- package/src/log/node_modules/fastest-levenshtein/test.js +55 -0
- package/src/log/node_modules/fastest-levenshtein/test.ts +67 -0
- package/src/log/node_modules/find-up/index.d.ts +137 -0
- package/src/log/node_modules/find-up/index.js +89 -0
- package/src/log/node_modules/find-up/license +9 -0
- package/src/log/node_modules/find-up/package.json +53 -0
- package/src/log/node_modules/find-up/readme.md +156 -0
- package/src/log/node_modules/flat/.travis.yml +8 -0
- package/src/log/node_modules/flat/LICENSE +12 -0
- package/src/log/node_modules/flat/README.md +236 -0
- package/src/log/node_modules/flat/cli.js +42 -0
- package/src/log/node_modules/flat/index.js +158 -0
- package/src/log/node_modules/flat/package.json +37 -0
- package/src/log/node_modules/flat/test/test.js +643 -0
- package/src/log/node_modules/function-bind/.eslintrc +21 -0
- package/src/log/node_modules/function-bind/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/function-bind/.github/SECURITY.md +3 -0
- package/src/log/node_modules/function-bind/.nycrc +13 -0
- package/src/log/node_modules/function-bind/CHANGELOG.md +136 -0
- package/src/log/node_modules/function-bind/LICENSE +20 -0
- package/src/log/node_modules/function-bind/README.md +46 -0
- package/src/log/node_modules/function-bind/implementation.js +84 -0
- package/src/log/node_modules/function-bind/index.js +5 -0
- package/src/log/node_modules/function-bind/package.json +87 -0
- package/src/log/node_modules/function-bind/test/.eslintrc +9 -0
- package/src/log/node_modules/function-bind/test/index.js +252 -0
- package/src/log/node_modules/glob-to-regexp/.travis.yml +4 -0
- package/src/log/node_modules/glob-to-regexp/README.md +75 -0
- package/src/log/node_modules/glob-to-regexp/index.js +130 -0
- package/src/log/node_modules/glob-to-regexp/package.json +23 -0
- package/src/log/node_modules/glob-to-regexp/test.js +235 -0
- package/src/log/node_modules/graceful-fs/LICENSE +15 -0
- package/src/log/node_modules/graceful-fs/README.md +143 -0
- package/src/log/node_modules/graceful-fs/clone.js +23 -0
- package/src/log/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/src/log/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/src/log/node_modules/graceful-fs/package.json +53 -0
- package/src/log/node_modules/graceful-fs/polyfills.js +355 -0
- package/src/log/node_modules/has-flag/index.d.ts +39 -0
- package/src/log/node_modules/has-flag/index.js +8 -0
- package/src/log/node_modules/has-flag/license +9 -0
- package/src/log/node_modules/has-flag/package.json +46 -0
- package/src/log/node_modules/has-flag/readme.md +89 -0
- package/src/log/node_modules/hasown/.eslintrc +5 -0
- package/src/log/node_modules/hasown/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/hasown/.nycrc +13 -0
- package/src/log/node_modules/hasown/CHANGELOG.md +20 -0
- package/src/log/node_modules/hasown/LICENSE +21 -0
- package/src/log/node_modules/hasown/README.md +40 -0
- package/src/log/node_modules/hasown/index.d.ts +3 -0
- package/src/log/node_modules/hasown/index.d.ts.map +1 -0
- package/src/log/node_modules/hasown/index.js +8 -0
- package/src/log/node_modules/hasown/package.json +91 -0
- package/src/log/node_modules/hasown/tsconfig.json +49 -0
- package/src/log/node_modules/import-local/fixtures/cli.js +7 -0
- package/src/log/node_modules/import-local/index.js +24 -0
- package/src/log/node_modules/import-local/license +9 -0
- package/src/log/node_modules/import-local/package.json +52 -0
- package/src/log/node_modules/import-local/readme.md +37 -0
- package/src/log/node_modules/interpret/LICENSE +21 -0
- package/src/log/node_modules/interpret/README.md +244 -0
- package/src/log/node_modules/interpret/cjs-stub.js +1 -0
- package/src/log/node_modules/interpret/index.js +542 -0
- package/src/log/node_modules/interpret/mjs-stub.js +1 -0
- package/src/log/node_modules/interpret/package.json +73 -0
- package/src/log/node_modules/is-core-module/.eslintrc +18 -0
- package/src/log/node_modules/is-core-module/.nycrc +9 -0
- package/src/log/node_modules/is-core-module/CHANGELOG.md +180 -0
- package/src/log/node_modules/is-core-module/LICENSE +20 -0
- package/src/log/node_modules/is-core-module/README.md +40 -0
- package/src/log/node_modules/is-core-module/core.json +158 -0
- package/src/log/node_modules/is-core-module/index.js +69 -0
- package/src/log/node_modules/is-core-module/package.json +73 -0
- package/src/log/node_modules/is-core-module/test/index.js +133 -0
- package/src/log/node_modules/is-plain-object/LICENSE +21 -0
- package/src/log/node_modules/is-plain-object/README.md +104 -0
- package/src/log/node_modules/is-plain-object/index.d.ts +5 -0
- package/src/log/node_modules/is-plain-object/index.js +37 -0
- package/src/log/node_modules/is-plain-object/package.json +79 -0
- package/src/log/node_modules/isexe/LICENSE +15 -0
- package/src/log/node_modules/isexe/README.md +51 -0
- package/src/log/node_modules/isexe/index.js +57 -0
- package/src/log/node_modules/isexe/mode.js +41 -0
- package/src/log/node_modules/isexe/package.json +31 -0
- package/src/log/node_modules/isexe/test/basic.js +221 -0
- package/src/log/node_modules/isexe/windows.js +42 -0
- package/src/log/node_modules/isobject/LICENSE +21 -0
- package/src/log/node_modules/isobject/README.md +122 -0
- package/src/log/node_modules/isobject/index.d.ts +5 -0
- package/src/log/node_modules/isobject/index.js +12 -0
- package/src/log/node_modules/isobject/package.json +74 -0
- package/src/log/node_modules/jest-worker/LICENSE +21 -0
- package/src/log/node_modules/jest-worker/README.md +247 -0
- package/src/log/node_modules/jest-worker/build/Farm.d.ts +29 -0
- package/src/log/node_modules/jest-worker/build/Farm.js +206 -0
- package/src/log/node_modules/jest-worker/build/FifoQueue.d.ts +18 -0
- package/src/log/node_modules/jest-worker/build/FifoQueue.js +171 -0
- package/src/log/node_modules/jest-worker/build/PriorityQueue.d.ts +41 -0
- package/src/log/node_modules/jest-worker/build/PriorityQueue.js +188 -0
- package/src/log/node_modules/jest-worker/build/WorkerPool.d.ts +13 -0
- package/src/log/node_modules/jest-worker/build/WorkerPool.js +49 -0
- package/src/log/node_modules/jest-worker/build/base/BaseWorkerPool.d.ts +21 -0
- package/src/log/node_modules/jest-worker/build/base/BaseWorkerPool.js +201 -0
- package/src/log/node_modules/jest-worker/build/index.d.ts +49 -0
- package/src/log/node_modules/jest-worker/build/index.js +223 -0
- package/src/log/node_modules/jest-worker/build/types.d.ts +143 -0
- package/src/log/node_modules/jest-worker/build/types.js +39 -0
- package/src/log/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts +51 -0
- package/src/log/node_modules/jest-worker/build/workers/ChildProcessWorker.js +333 -0
- package/src/log/node_modules/jest-worker/build/workers/NodeThreadsWorker.d.ts +34 -0
- package/src/log/node_modules/jest-worker/build/workers/NodeThreadsWorker.js +344 -0
- package/src/log/node_modules/jest-worker/build/workers/messageParent.d.ts +8 -0
- package/src/log/node_modules/jest-worker/build/workers/messageParent.js +38 -0
- package/src/log/node_modules/jest-worker/build/workers/processChild.d.ts +7 -0
- package/src/log/node_modules/jest-worker/build/workers/processChild.js +148 -0
- package/src/log/node_modules/jest-worker/build/workers/threadChild.d.ts +7 -0
- package/src/log/node_modules/jest-worker/build/workers/threadChild.js +159 -0
- package/src/log/node_modules/jest-worker/package.json +38 -0
- package/src/log/node_modules/json-parse-even-better-errors/CHANGELOG.md +50 -0
- package/src/log/node_modules/json-parse-even-better-errors/LICENSE.md +25 -0
- package/src/log/node_modules/json-parse-even-better-errors/README.md +96 -0
- package/src/log/node_modules/json-parse-even-better-errors/index.js +121 -0
- package/src/log/node_modules/json-parse-even-better-errors/package.json +33 -0
- package/src/log/node_modules/json-schema-traverse/.eslintrc.yml +27 -0
- package/src/log/node_modules/json-schema-traverse/.travis.yml +8 -0
- package/src/log/node_modules/json-schema-traverse/LICENSE +21 -0
- package/src/log/node_modules/json-schema-traverse/README.md +83 -0
- package/src/log/node_modules/json-schema-traverse/index.js +89 -0
- package/src/log/node_modules/json-schema-traverse/package.json +43 -0
- package/src/log/node_modules/json-schema-traverse/spec/.eslintrc.yml +6 -0
- package/src/log/node_modules/json-schema-traverse/spec/fixtures/schema.js +125 -0
- package/src/log/node_modules/json-schema-traverse/spec/index.spec.js +171 -0
- package/src/log/node_modules/kind-of/CHANGELOG.md +160 -0
- package/src/log/node_modules/kind-of/LICENSE +21 -0
- package/src/log/node_modules/kind-of/README.md +367 -0
- package/src/log/node_modules/kind-of/index.js +129 -0
- package/src/log/node_modules/kind-of/package.json +88 -0
- package/src/log/node_modules/loader-runner/LICENSE +21 -0
- package/src/log/node_modules/loader-runner/README.md +53 -0
- package/src/log/node_modules/loader-runner/lib/LoaderLoadingError.js +11 -0
- package/src/log/node_modules/loader-runner/lib/LoaderRunner.js +416 -0
- package/src/log/node_modules/loader-runner/lib/loadLoader.js +54 -0
- package/src/log/node_modules/loader-runner/package.json +45 -0
- package/src/log/node_modules/locate-path/index.d.ts +83 -0
- package/src/log/node_modules/locate-path/index.js +65 -0
- package/src/log/node_modules/locate-path/license +9 -0
- package/src/log/node_modules/locate-path/package.json +45 -0
- package/src/log/node_modules/locate-path/readme.md +122 -0
- package/src/log/node_modules/merge-stream/LICENSE +21 -0
- package/src/log/node_modules/merge-stream/README.md +78 -0
- package/src/log/node_modules/merge-stream/index.js +41 -0
- package/src/log/node_modules/merge-stream/package.json +19 -0
- package/src/log/node_modules/mime-db/HISTORY.md +507 -0
- package/src/log/node_modules/mime-db/LICENSE +23 -0
- package/src/log/node_modules/mime-db/README.md +100 -0
- package/src/log/node_modules/mime-db/db.json +8519 -0
- package/src/log/node_modules/mime-db/index.js +12 -0
- package/src/log/node_modules/mime-db/package.json +60 -0
- package/src/log/node_modules/mime-types/HISTORY.md +397 -0
- package/src/log/node_modules/mime-types/LICENSE +23 -0
- package/src/log/node_modules/mime-types/README.md +113 -0
- package/src/log/node_modules/mime-types/index.js +188 -0
- package/src/log/node_modules/mime-types/package.json +44 -0
- package/src/log/node_modules/neo-async/LICENSE +22 -0
- package/src/log/node_modules/neo-async/README.md +273 -0
- package/src/log/node_modules/neo-async/all.js +3 -0
- package/src/log/node_modules/neo-async/allLimit.js +3 -0
- package/src/log/node_modules/neo-async/allSeries.js +3 -0
- package/src/log/node_modules/neo-async/angelFall.js +3 -0
- package/src/log/node_modules/neo-async/any.js +3 -0
- package/src/log/node_modules/neo-async/anyLimit.js +3 -0
- package/src/log/node_modules/neo-async/anySeries.js +3 -0
- package/src/log/node_modules/neo-async/apply.js +3 -0
- package/src/log/node_modules/neo-async/applyEach.js +3 -0
- package/src/log/node_modules/neo-async/applyEachSeries.js +3 -0
- package/src/log/node_modules/neo-async/async.js +9184 -0
- package/src/log/node_modules/neo-async/async.min.js +80 -0
- package/src/log/node_modules/neo-async/asyncify.js +3 -0
- package/src/log/node_modules/neo-async/auto.js +3 -0
- package/src/log/node_modules/neo-async/autoInject.js +3 -0
- package/src/log/node_modules/neo-async/cargo.js +3 -0
- package/src/log/node_modules/neo-async/compose.js +3 -0
- package/src/log/node_modules/neo-async/concat.js +3 -0
- package/src/log/node_modules/neo-async/concatLimit.js +3 -0
- package/src/log/node_modules/neo-async/concatSeries.js +3 -0
- package/src/log/node_modules/neo-async/constant.js +3 -0
- package/src/log/node_modules/neo-async/createLogger.js +3 -0
- package/src/log/node_modules/neo-async/detect.js +3 -0
- package/src/log/node_modules/neo-async/detectLimit.js +3 -0
- package/src/log/node_modules/neo-async/detectSeries.js +3 -0
- package/src/log/node_modules/neo-async/dir.js +3 -0
- package/src/log/node_modules/neo-async/doDuring.js +3 -0
- package/src/log/node_modules/neo-async/doUntil.js +3 -0
- package/src/log/node_modules/neo-async/doWhilst.js +3 -0
- package/src/log/node_modules/neo-async/during.js +3 -0
- package/src/log/node_modules/neo-async/each.js +3 -0
- package/src/log/node_modules/neo-async/eachLimit.js +3 -0
- package/src/log/node_modules/neo-async/eachOf.js +3 -0
- package/src/log/node_modules/neo-async/eachOfLimit.js +3 -0
- package/src/log/node_modules/neo-async/eachOfSeries.js +3 -0
- package/src/log/node_modules/neo-async/eachSeries.js +3 -0
- package/src/log/node_modules/neo-async/ensureAsync.js +3 -0
- package/src/log/node_modules/neo-async/every.js +3 -0
- package/src/log/node_modules/neo-async/everyLimit.js +3 -0
- package/src/log/node_modules/neo-async/everySeries.js +3 -0
- package/src/log/node_modules/neo-async/fast.js +3 -0
- package/src/log/node_modules/neo-async/filter.js +3 -0
- package/src/log/node_modules/neo-async/filterLimit.js +3 -0
- package/src/log/node_modules/neo-async/filterSeries.js +3 -0
- package/src/log/node_modules/neo-async/find.js +3 -0
- package/src/log/node_modules/neo-async/findLimit.js +3 -0
- package/src/log/node_modules/neo-async/findSeries.js +3 -0
- package/src/log/node_modules/neo-async/foldl.js +3 -0
- package/src/log/node_modules/neo-async/foldr.js +3 -0
- package/src/log/node_modules/neo-async/forEach.js +3 -0
- package/src/log/node_modules/neo-async/forEachLimit.js +3 -0
- package/src/log/node_modules/neo-async/forEachOf.js +3 -0
- package/src/log/node_modules/neo-async/forEachOfLimit.js +3 -0
- package/src/log/node_modules/neo-async/forEachOfSeries.js +3 -0
- package/src/log/node_modules/neo-async/forEachSeries.js +3 -0
- package/src/log/node_modules/neo-async/forever.js +3 -0
- package/src/log/node_modules/neo-async/groupBy.js +3 -0
- package/src/log/node_modules/neo-async/groupByLimit.js +3 -0
- package/src/log/node_modules/neo-async/groupBySeries.js +3 -0
- package/src/log/node_modules/neo-async/inject.js +3 -0
- package/src/log/node_modules/neo-async/iterator.js +3 -0
- package/src/log/node_modules/neo-async/log.js +3 -0
- package/src/log/node_modules/neo-async/map.js +3 -0
- package/src/log/node_modules/neo-async/mapLimit.js +3 -0
- package/src/log/node_modules/neo-async/mapSeries.js +3 -0
- package/src/log/node_modules/neo-async/mapValues.js +3 -0
- package/src/log/node_modules/neo-async/mapValuesLimit.js +3 -0
- package/src/log/node_modules/neo-async/mapValuesSeries.js +3 -0
- package/src/log/node_modules/neo-async/memoize.js +3 -0
- package/src/log/node_modules/neo-async/nextTick.js +3 -0
- package/src/log/node_modules/neo-async/omit.js +3 -0
- package/src/log/node_modules/neo-async/omitLimit.js +3 -0
- package/src/log/node_modules/neo-async/omitSeries.js +3 -0
- package/src/log/node_modules/neo-async/package.json +57 -0
- package/src/log/node_modules/neo-async/parallel.js +3 -0
- package/src/log/node_modules/neo-async/parallelLimit.js +3 -0
- package/src/log/node_modules/neo-async/pick.js +3 -0
- package/src/log/node_modules/neo-async/pickLimit.js +3 -0
- package/src/log/node_modules/neo-async/pickSeries.js +3 -0
- package/src/log/node_modules/neo-async/priorityQueue.js +3 -0
- package/src/log/node_modules/neo-async/queue.js +3 -0
- package/src/log/node_modules/neo-async/race.js +3 -0
- package/src/log/node_modules/neo-async/reduce.js +3 -0
- package/src/log/node_modules/neo-async/reduceRight.js +3 -0
- package/src/log/node_modules/neo-async/reflect.js +3 -0
- package/src/log/node_modules/neo-async/reflectAll.js +3 -0
- package/src/log/node_modules/neo-async/reject.js +3 -0
- package/src/log/node_modules/neo-async/rejectLimit.js +3 -0
- package/src/log/node_modules/neo-async/rejectSeries.js +3 -0
- package/src/log/node_modules/neo-async/retry.js +3 -0
- package/src/log/node_modules/neo-async/retryable.js +3 -0
- package/src/log/node_modules/neo-async/safe.js +3 -0
- package/src/log/node_modules/neo-async/select.js +3 -0
- package/src/log/node_modules/neo-async/selectLimit.js +3 -0
- package/src/log/node_modules/neo-async/selectSeries.js +3 -0
- package/src/log/node_modules/neo-async/seq.js +3 -0
- package/src/log/node_modules/neo-async/series.js +3 -0
- package/src/log/node_modules/neo-async/setImmediate.js +3 -0
- package/src/log/node_modules/neo-async/some.js +3 -0
- package/src/log/node_modules/neo-async/someLimit.js +3 -0
- package/src/log/node_modules/neo-async/someSeries.js +3 -0
- package/src/log/node_modules/neo-async/sortBy.js +3 -0
- package/src/log/node_modules/neo-async/sortByLimit.js +3 -0
- package/src/log/node_modules/neo-async/sortBySeries.js +3 -0
- package/src/log/node_modules/neo-async/timeout.js +3 -0
- package/src/log/node_modules/neo-async/times.js +3 -0
- package/src/log/node_modules/neo-async/timesLimit.js +3 -0
- package/src/log/node_modules/neo-async/timesSeries.js +3 -0
- package/src/log/node_modules/neo-async/transform.js +3 -0
- package/src/log/node_modules/neo-async/transformLimit.js +3 -0
- package/src/log/node_modules/neo-async/transformSeries.js +3 -0
- package/src/log/node_modules/neo-async/tryEach.js +3 -0
- package/src/log/node_modules/neo-async/unmemoize.js +3 -0
- package/src/log/node_modules/neo-async/until.js +3 -0
- package/src/log/node_modules/neo-async/waterfall.js +3 -0
- package/src/log/node_modules/neo-async/whilst.js +3 -0
- package/src/log/node_modules/neo-async/wrapSync.js +3 -0
- package/src/log/node_modules/node-releases/LICENSE +21 -0
- package/src/log/node_modules/node-releases/README.md +12 -0
- package/src/log/node_modules/node-releases/data/processed/envs.json +1 -0
- package/src/log/node_modules/node-releases/data/release-schedule/release-schedule.json +1 -0
- package/src/log/node_modules/node-releases/package.json +19 -0
- package/src/log/node_modules/p-limit/index.d.ts +38 -0
- package/src/log/node_modules/p-limit/index.js +57 -0
- package/src/log/node_modules/p-limit/license +9 -0
- package/src/log/node_modules/p-limit/package.json +52 -0
- package/src/log/node_modules/p-limit/readme.md +101 -0
- package/src/log/node_modules/p-locate/index.d.ts +64 -0
- package/src/log/node_modules/p-locate/index.js +52 -0
- package/src/log/node_modules/p-locate/license +9 -0
- package/src/log/node_modules/p-locate/package.json +53 -0
- package/src/log/node_modules/p-locate/readme.md +90 -0
- package/src/log/node_modules/p-try/index.d.ts +39 -0
- package/src/log/node_modules/p-try/index.js +9 -0
- package/src/log/node_modules/p-try/license +9 -0
- package/src/log/node_modules/p-try/package.json +42 -0
- package/src/log/node_modules/p-try/readme.md +58 -0
- package/src/log/node_modules/path-exists/index.d.ts +28 -0
- package/src/log/node_modules/path-exists/index.js +23 -0
- package/src/log/node_modules/path-exists/license +9 -0
- package/src/log/node_modules/path-exists/package.json +39 -0
- package/src/log/node_modules/path-exists/readme.md +52 -0
- package/src/log/node_modules/path-key/index.d.ts +40 -0
- package/src/log/node_modules/path-key/index.js +16 -0
- package/src/log/node_modules/path-key/license +9 -0
- package/src/log/node_modules/path-key/package.json +39 -0
- package/src/log/node_modules/path-key/readme.md +61 -0
- package/src/log/node_modules/path-parse/LICENSE +21 -0
- package/src/log/node_modules/path-parse/README.md +42 -0
- package/src/log/node_modules/path-parse/index.js +75 -0
- package/src/log/node_modules/path-parse/package.json +33 -0
- package/src/log/node_modules/picocolors/LICENSE +15 -0
- package/src/log/node_modules/picocolors/README.md +21 -0
- package/src/log/node_modules/picocolors/package.json +25 -0
- package/src/log/node_modules/picocolors/picocolors.browser.js +4 -0
- package/src/log/node_modules/picocolors/picocolors.d.ts +5 -0
- package/src/log/node_modules/picocolors/picocolors.js +58 -0
- package/src/log/node_modules/picocolors/types.ts +30 -0
- package/src/log/node_modules/pkg-dir/index.d.ts +44 -0
- package/src/log/node_modules/pkg-dir/index.js +17 -0
- package/src/log/node_modules/pkg-dir/license +9 -0
- package/src/log/node_modules/pkg-dir/package.json +56 -0
- package/src/log/node_modules/pkg-dir/readme.md +66 -0
- package/src/log/node_modules/punycode/LICENSE-MIT.txt +20 -0
- package/src/log/node_modules/punycode/README.md +148 -0
- package/src/log/node_modules/punycode/package.json +58 -0
- package/src/log/node_modules/punycode/punycode.es6.js +444 -0
- package/src/log/node_modules/punycode/punycode.js +443 -0
- package/src/log/node_modules/randombytes/.travis.yml +15 -0
- package/src/log/node_modules/randombytes/.zuul.yml +1 -0
- package/src/log/node_modules/randombytes/LICENSE +21 -0
- package/src/log/node_modules/randombytes/README.md +14 -0
- package/src/log/node_modules/randombytes/browser.js +50 -0
- package/src/log/node_modules/randombytes/index.js +1 -0
- package/src/log/node_modules/randombytes/package.json +36 -0
- package/src/log/node_modules/randombytes/test.js +81 -0
- package/src/log/node_modules/rechoir/CHANGELOG.md +12 -0
- package/src/log/node_modules/rechoir/LICENSE +21 -0
- package/src/log/node_modules/rechoir/README.md +73 -0
- package/src/log/node_modules/rechoir/index.js +69 -0
- package/src/log/node_modules/rechoir/lib/extension.js +44 -0
- package/src/log/node_modules/rechoir/lib/normalize.js +13 -0
- package/src/log/node_modules/rechoir/lib/register.js +15 -0
- package/src/log/node_modules/rechoir/package.json +52 -0
- package/src/log/node_modules/resolve/.editorconfig +37 -0
- package/src/log/node_modules/resolve/.eslintrc +65 -0
- package/src/log/node_modules/resolve/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/resolve/LICENSE +21 -0
- package/src/log/node_modules/resolve/SECURITY.md +3 -0
- package/src/log/node_modules/resolve/async.js +3 -0
- package/src/log/node_modules/resolve/bin/resolve +50 -0
- package/src/log/node_modules/resolve/example/async.js +5 -0
- package/src/log/node_modules/resolve/example/sync.js +3 -0
- package/src/log/node_modules/resolve/index.js +6 -0
- package/src/log/node_modules/resolve/lib/async.js +329 -0
- package/src/log/node_modules/resolve/lib/caller.js +8 -0
- package/src/log/node_modules/resolve/lib/core.js +12 -0
- package/src/log/node_modules/resolve/lib/core.json +158 -0
- package/src/log/node_modules/resolve/lib/homedir.js +24 -0
- package/src/log/node_modules/resolve/lib/is-core.js +5 -0
- package/src/log/node_modules/resolve/lib/node-modules-paths.js +42 -0
- package/src/log/node_modules/resolve/lib/normalize-options.js +10 -0
- package/src/log/node_modules/resolve/lib/sync.js +208 -0
- package/src/log/node_modules/resolve/package.json +72 -0
- package/src/log/node_modules/resolve/readme.markdown +301 -0
- package/src/log/node_modules/resolve/sync.js +3 -0
- package/src/log/node_modules/resolve/test/core.js +88 -0
- package/src/log/node_modules/resolve/test/dotdot/abc/index.js +2 -0
- package/src/log/node_modules/resolve/test/dotdot/index.js +1 -0
- package/src/log/node_modules/resolve/test/dotdot.js +29 -0
- package/src/log/node_modules/resolve/test/faulty_basedir.js +29 -0
- package/src/log/node_modules/resolve/test/filter.js +34 -0
- package/src/log/node_modules/resolve/test/filter_sync.js +33 -0
- package/src/log/node_modules/resolve/test/home_paths.js +127 -0
- package/src/log/node_modules/resolve/test/home_paths_sync.js +114 -0
- package/src/log/node_modules/resolve/test/mock.js +315 -0
- package/src/log/node_modules/resolve/test/mock_sync.js +214 -0
- package/src/log/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
- package/src/log/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
- package/src/log/node_modules/resolve/test/module_dir.js +56 -0
- package/src/log/node_modules/resolve/test/node-modules-paths.js +143 -0
- package/src/log/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
- package/src/log/node_modules/resolve/test/node_path.js +70 -0
- package/src/log/node_modules/resolve/test/nonstring.js +9 -0
- package/src/log/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
- package/src/log/node_modules/resolve/test/pathfilter.js +75 -0
- package/src/log/node_modules/resolve/test/precedence/aaa/index.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/aaa/main.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/aaa.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/bbb/main.js +1 -0
- package/src/log/node_modules/resolve/test/precedence/bbb.js +1 -0
- package/src/log/node_modules/resolve/test/precedence.js +23 -0
- package/src/log/node_modules/resolve/test/resolver/baz/doom.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/baz/package.json +4 -0
- package/src/log/node_modules/resolve/test/resolver/baz/quux.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
- package/src/log/node_modules/resolve/test/resolver/cup.coffee +1 -0
- package/src/log/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/false_main/index.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/false_main/package.json +4 -0
- package/src/log/node_modules/resolve/test/resolver/foo.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
- package/src/log/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
- package/src/log/node_modules/resolve/test/resolver/mug.coffee +0 -0
- package/src/log/node_modules/resolve/test/resolver/mug.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
- package/src/log/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
- package/src/log/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
- package/src/log/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
- package/src/log/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/other_path/root.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
- package/src/log/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
- package/src/log/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
- package/src/log/node_modules/resolve/test/resolver.js +597 -0
- package/src/log/node_modules/resolve/test/resolver_sync.js +730 -0
- package/src/log/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
- package/src/log/node_modules/resolve/test/shadowed_core.js +54 -0
- package/src/log/node_modules/resolve/test/subdirs.js +13 -0
- package/src/log/node_modules/resolve/test/symlinks.js +176 -0
- package/src/log/node_modules/resolve-cwd/index.d.ts +48 -0
- package/src/log/node_modules/resolve-cwd/index.js +5 -0
- package/src/log/node_modules/resolve-cwd/license +9 -0
- package/src/log/node_modules/resolve-cwd/package.json +43 -0
- package/src/log/node_modules/resolve-cwd/readme.md +58 -0
- package/src/log/node_modules/resolve-from/index.d.ts +31 -0
- package/src/log/node_modules/resolve-from/index.js +47 -0
- package/src/log/node_modules/resolve-from/license +9 -0
- package/src/log/node_modules/resolve-from/package.json +36 -0
- package/src/log/node_modules/resolve-from/readme.md +72 -0
- package/src/log/node_modules/safe-buffer/LICENSE +21 -0
- package/src/log/node_modules/safe-buffer/README.md +584 -0
- package/src/log/node_modules/safe-buffer/index.d.ts +187 -0
- package/src/log/node_modules/safe-buffer/index.js +65 -0
- package/src/log/node_modules/safe-buffer/package.json +51 -0
- package/src/log/node_modules/schema-utils/CHANGELOG.md +340 -0
- package/src/log/node_modules/schema-utils/LICENSE +20 -0
- package/src/log/node_modules/schema-utils/README.md +290 -0
- package/src/log/node_modules/schema-utils/declarations/ValidationError.d.ts +74 -0
- package/src/log/node_modules/schema-utils/declarations/index.d.ts +12 -0
- package/src/log/node_modules/schema-utils/declarations/keywords/absolutePath.d.ts +10 -0
- package/src/log/node_modules/schema-utils/declarations/keywords/undefinedAsNull.d.ts +8 -0
- package/src/log/node_modules/schema-utils/declarations/util/Range.d.ts +79 -0
- package/src/log/node_modules/schema-utils/declarations/util/hints.d.ts +3 -0
- package/src/log/node_modules/schema-utils/declarations/validate.d.ts +42 -0
- package/src/log/node_modules/schema-utils/dist/ValidationError.js +1277 -0
- package/src/log/node_modules/schema-utils/dist/index.js +17 -0
- package/src/log/node_modules/schema-utils/dist/keywords/absolutePath.js +93 -0
- package/src/log/node_modules/schema-utils/dist/keywords/undefinedAsNull.js +95 -0
- package/src/log/node_modules/schema-utils/dist/util/Range.js +163 -0
- package/src/log/node_modules/schema-utils/dist/util/hints.js +105 -0
- package/src/log/node_modules/schema-utils/dist/validate.js +258 -0
- package/src/log/node_modules/schema-utils/package.json +78 -0
- package/src/log/node_modules/serialize-javascript/LICENSE +27 -0
- package/src/log/node_modules/serialize-javascript/README.md +142 -0
- package/src/log/node_modules/serialize-javascript/index.js +268 -0
- package/src/log/node_modules/serialize-javascript/package.json +36 -0
- package/src/log/node_modules/shallow-clone/LICENSE +21 -0
- package/src/log/node_modules/shallow-clone/README.md +153 -0
- package/src/log/node_modules/shallow-clone/index.js +83 -0
- package/src/log/node_modules/shallow-clone/package.json +64 -0
- package/src/log/node_modules/shebang-command/index.js +19 -0
- package/src/log/node_modules/shebang-command/license +9 -0
- package/src/log/node_modules/shebang-command/package.json +34 -0
- package/src/log/node_modules/shebang-command/readme.md +34 -0
- package/src/log/node_modules/shebang-regex/index.d.ts +22 -0
- package/src/log/node_modules/shebang-regex/index.js +2 -0
- package/src/log/node_modules/shebang-regex/license +9 -0
- package/src/log/node_modules/shebang-regex/package.json +35 -0
- package/src/log/node_modules/shebang-regex/readme.md +33 -0
- package/src/log/node_modules/source-map/CHANGELOG.md +301 -0
- package/src/log/node_modules/source-map/LICENSE +28 -0
- package/src/log/node_modules/source-map/README.md +742 -0
- package/src/log/node_modules/source-map/dist/source-map.debug.js +3234 -0
- package/src/log/node_modules/source-map/dist/source-map.js +3233 -0
- package/src/log/node_modules/source-map/dist/source-map.min.js +2 -0
- package/src/log/node_modules/source-map/dist/source-map.min.js.map +1 -0
- package/src/log/node_modules/source-map/lib/array-set.js +121 -0
- package/src/log/node_modules/source-map/lib/base64-vlq.js +140 -0
- package/src/log/node_modules/source-map/lib/base64.js +67 -0
- package/src/log/node_modules/source-map/lib/binary-search.js +111 -0
- package/src/log/node_modules/source-map/lib/mapping-list.js +79 -0
- package/src/log/node_modules/source-map/lib/quick-sort.js +114 -0
- package/src/log/node_modules/source-map/lib/source-map-consumer.js +1145 -0
- package/src/log/node_modules/source-map/lib/source-map-generator.js +425 -0
- package/src/log/node_modules/source-map/lib/source-node.js +413 -0
- package/src/log/node_modules/source-map/lib/util.js +488 -0
- package/src/log/node_modules/source-map/package.json +73 -0
- package/src/log/node_modules/source-map/source-map.d.ts +98 -0
- package/src/log/node_modules/source-map/source-map.js +8 -0
- package/src/log/node_modules/source-map-support/LICENSE.md +21 -0
- package/src/log/node_modules/source-map-support/README.md +284 -0
- package/src/log/node_modules/source-map-support/browser-source-map-support.js +114 -0
- package/src/log/node_modules/source-map-support/package.json +31 -0
- package/src/log/node_modules/source-map-support/register-hook-require.js +1 -0
- package/src/log/node_modules/source-map-support/register.js +1 -0
- package/src/log/node_modules/source-map-support/source-map-support.js +625 -0
- package/src/log/node_modules/supports-color/browser.js +24 -0
- package/src/log/node_modules/supports-color/index.js +152 -0
- package/src/log/node_modules/supports-color/license +9 -0
- package/src/log/node_modules/supports-color/package.json +58 -0
- package/src/log/node_modules/supports-color/readme.md +77 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
- package/src/log/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
- package/src/log/node_modules/tapable/LICENSE +21 -0
- package/src/log/node_modules/tapable/README.md +296 -0
- package/src/log/node_modules/tapable/lib/AsyncParallelBailHook.js +85 -0
- package/src/log/node_modules/tapable/lib/AsyncParallelHook.js +37 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesBailHook.js +42 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesHook.js +37 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesLoopHook.js +37 -0
- package/src/log/node_modules/tapable/lib/AsyncSeriesWaterfallHook.js +47 -0
- package/src/log/node_modules/tapable/lib/Hook.js +175 -0
- package/src/log/node_modules/tapable/lib/HookCodeFactory.js +468 -0
- package/src/log/node_modules/tapable/lib/HookMap.js +61 -0
- package/src/log/node_modules/tapable/lib/MultiHook.js +54 -0
- package/src/log/node_modules/tapable/lib/SyncBailHook.js +51 -0
- package/src/log/node_modules/tapable/lib/SyncHook.js +46 -0
- package/src/log/node_modules/tapable/lib/SyncLoopHook.js +46 -0
- package/src/log/node_modules/tapable/lib/SyncWaterfallHook.js +57 -0
- package/src/log/node_modules/tapable/lib/index.js +19 -0
- package/src/log/node_modules/tapable/lib/util-browser.js +16 -0
- package/src/log/node_modules/tapable/package.json +44 -0
- package/src/log/node_modules/tapable/tapable.d.ts +116 -0
- package/src/log/node_modules/terser/CHANGELOG.md +671 -0
- package/src/log/node_modules/terser/LICENSE +27 -0
- package/src/log/node_modules/terser/PATRONS.md +15 -0
- package/src/log/node_modules/terser/README.md +1416 -0
- package/src/log/node_modules/terser/bin/package.json +10 -0
- package/src/log/node_modules/terser/bin/terser +21 -0
- package/src/log/node_modules/terser/bin/uglifyjs +10 -0
- package/src/log/node_modules/terser/dist/.gitkeep +0 -0
- package/src/log/node_modules/terser/dist/bundle.min.js +31318 -0
- package/src/log/node_modules/terser/dist/package.json +10 -0
- package/src/log/node_modules/terser/lib/ast.js +3339 -0
- package/src/log/node_modules/terser/lib/cli.js +481 -0
- package/src/log/node_modules/terser/lib/compress/common.js +348 -0
- package/src/log/node_modules/terser/lib/compress/compressor-flags.js +63 -0
- package/src/log/node_modules/terser/lib/compress/drop-side-effect-free.js +375 -0
- package/src/log/node_modules/terser/lib/compress/drop-unused.js +482 -0
- package/src/log/node_modules/terser/lib/compress/evaluate.js +488 -0
- package/src/log/node_modules/terser/lib/compress/global-defs.js +92 -0
- package/src/log/node_modules/terser/lib/compress/index.js +3794 -0
- package/src/log/node_modules/terser/lib/compress/inference.js +928 -0
- package/src/log/node_modules/terser/lib/compress/inline.js +665 -0
- package/src/log/node_modules/terser/lib/compress/native-objects.js +206 -0
- package/src/log/node_modules/terser/lib/compress/reduce-vars.js +824 -0
- package/src/log/node_modules/terser/lib/compress/tighten-body.js +1505 -0
- package/src/log/node_modules/terser/lib/equivalent-to.js +287 -0
- package/src/log/node_modules/terser/lib/minify.js +382 -0
- package/src/log/node_modules/terser/lib/mozilla-ast.js +1886 -0
- package/src/log/node_modules/terser/lib/output.js +2478 -0
- package/src/log/node_modules/terser/lib/parse.js +3496 -0
- package/src/log/node_modules/terser/lib/propmangle.js +432 -0
- package/src/log/node_modules/terser/lib/scope.js +1066 -0
- package/src/log/node_modules/terser/lib/size.js +495 -0
- package/src/log/node_modules/terser/lib/sourcemap.js +148 -0
- package/src/log/node_modules/terser/lib/transform.js +323 -0
- package/src/log/node_modules/terser/lib/utils/first_in_statement.js +53 -0
- package/src/log/node_modules/terser/lib/utils/index.js +295 -0
- package/src/log/node_modules/terser/main.js +27 -0
- package/src/log/node_modules/terser/package.json +153 -0
- package/src/log/node_modules/terser/tools/domprops.js +8020 -0
- package/src/log/node_modules/terser/tools/exit.cjs +7 -0
- package/src/log/node_modules/terser/tools/props.html +55 -0
- package/src/log/node_modules/terser/tools/terser.d.ts +214 -0
- package/src/log/node_modules/terser-webpack-plugin/LICENSE +20 -0
- package/src/log/node_modules/terser-webpack-plugin/README.md +934 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/index.js +713 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/minify.js +48 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/options.json +164 -0
- package/src/log/node_modules/terser-webpack-plugin/dist/utils.js +615 -0
- package/src/log/node_modules/terser-webpack-plugin/package.json +120 -0
- package/src/log/node_modules/terser-webpack-plugin/types/index.d.ts +219 -0
- package/src/log/node_modules/terser-webpack-plugin/types/minify.d.ts +17 -0
- package/src/log/node_modules/terser-webpack-plugin/types/utils.d.ts +101 -0
- package/src/log/node_modules/undici-types/README.md +6 -0
- package/src/log/node_modules/undici-types/agent.d.ts +31 -0
- package/src/log/node_modules/undici-types/api.d.ts +43 -0
- package/src/log/node_modules/undici-types/balanced-pool.d.ts +18 -0
- package/src/log/node_modules/undici-types/cache.d.ts +36 -0
- package/src/log/node_modules/undici-types/client.d.ts +97 -0
- package/src/log/node_modules/undici-types/connector.d.ts +34 -0
- package/src/log/node_modules/undici-types/content-type.d.ts +21 -0
- package/src/log/node_modules/undici-types/cookies.d.ts +28 -0
- package/src/log/node_modules/undici-types/diagnostics-channel.d.ts +67 -0
- package/src/log/node_modules/undici-types/dispatcher.d.ts +241 -0
- package/src/log/node_modules/undici-types/errors.d.ts +128 -0
- package/src/log/node_modules/undici-types/fetch.d.ts +209 -0
- package/src/log/node_modules/undici-types/file.d.ts +39 -0
- package/src/log/node_modules/undici-types/filereader.d.ts +54 -0
- package/src/log/node_modules/undici-types/formdata.d.ts +108 -0
- package/src/log/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/src/log/node_modules/undici-types/global-origin.d.ts +7 -0
- package/src/log/node_modules/undici-types/handlers.d.ts +9 -0
- package/src/log/node_modules/undici-types/header.d.ts +4 -0
- package/src/log/node_modules/undici-types/index.d.ts +63 -0
- package/src/log/node_modules/undici-types/interceptors.d.ts +5 -0
- package/src/log/node_modules/undici-types/mock-agent.d.ts +50 -0
- package/src/log/node_modules/undici-types/mock-client.d.ts +25 -0
- package/src/log/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/src/log/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- package/src/log/node_modules/undici-types/mock-pool.d.ts +25 -0
- package/src/log/node_modules/undici-types/package.json +55 -0
- package/src/log/node_modules/undici-types/patch.d.ts +71 -0
- package/src/log/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/src/log/node_modules/undici-types/pool.d.ts +28 -0
- package/src/log/node_modules/undici-types/proxy-agent.d.ts +30 -0
- package/src/log/node_modules/undici-types/readable.d.ts +61 -0
- package/src/log/node_modules/undici-types/webidl.d.ts +220 -0
- package/src/log/node_modules/undici-types/websocket.d.ts +131 -0
- package/src/log/node_modules/update-browserslist-db/LICENSE +20 -0
- package/src/log/node_modules/update-browserslist-db/README.md +22 -0
- package/src/log/node_modules/update-browserslist-db/check-npm-version.js +16 -0
- package/src/log/node_modules/update-browserslist-db/cli.js +42 -0
- package/src/log/node_modules/update-browserslist-db/index.d.ts +6 -0
- package/src/log/node_modules/update-browserslist-db/index.js +322 -0
- package/src/log/node_modules/update-browserslist-db/package.json +40 -0
- package/src/log/node_modules/update-browserslist-db/utils.js +22 -0
- package/src/log/node_modules/uri-js/LICENSE +11 -0
- package/src/log/node_modules/uri-js/README.md +203 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.d.ts +59 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.js +1443 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.min.d.ts +59 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.min.js +3 -0
- package/src/log/node_modules/uri-js/dist/es5/uri.all.min.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/index.d.ts +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/index.js +17 -0
- package/src/log/node_modules/uri-js/dist/esnext/index.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-iri.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-iri.js +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-iri.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-uri.d.ts +4 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-uri.js +42 -0
- package/src/log/node_modules/uri-js/dist/esnext/regexps-uri.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/http.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/http.js +28 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/http.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/https.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/https.js +9 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/https.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/mailto.d.ts +12 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/mailto.js +148 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/mailto.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn-uuid.d.ts +7 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js +23 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn-uuid.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn.d.ts +10 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn.js +49 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/urn.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/ws.d.ts +7 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/ws.js +41 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/ws.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/wss.d.ts +3 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/wss.js +9 -0
- package/src/log/node_modules/uri-js/dist/esnext/schemes/wss.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/uri.d.ts +59 -0
- package/src/log/node_modules/uri-js/dist/esnext/uri.js +480 -0
- package/src/log/node_modules/uri-js/dist/esnext/uri.js.map +1 -0
- package/src/log/node_modules/uri-js/dist/esnext/util.d.ts +6 -0
- package/src/log/node_modules/uri-js/dist/esnext/util.js +36 -0
- package/src/log/node_modules/uri-js/dist/esnext/util.js.map +1 -0
- package/src/log/node_modules/uri-js/package.json +77 -0
- package/src/log/node_modules/uri-js/yarn.lock +2558 -0
- package/src/log/node_modules/watchpack/LICENSE +20 -0
- package/src/log/node_modules/watchpack/README.md +149 -0
- package/src/log/node_modules/watchpack/lib/DirectoryWatcher.js +786 -0
- package/src/log/node_modules/watchpack/lib/LinkResolver.js +107 -0
- package/src/log/node_modules/watchpack/lib/getWatcherManager.js +52 -0
- package/src/log/node_modules/watchpack/lib/reducePlan.js +138 -0
- package/src/log/node_modules/watchpack/lib/watchEventSource.js +335 -0
- package/src/log/node_modules/watchpack/lib/watchpack.js +383 -0
- package/src/log/node_modules/watchpack/package.json +49 -0
- package/src/log/node_modules/webpack/LICENSE +20 -0
- package/src/log/node_modules/webpack/README.md +721 -0
- package/src/log/node_modules/webpack/SECURITY.md +9 -0
- package/src/log/node_modules/webpack/bin/webpack.js +187 -0
- package/src/log/node_modules/webpack/hot/dev-server.js +75 -0
- package/src/log/node_modules/webpack/hot/emitter.js +2 -0
- package/src/log/node_modules/webpack/hot/lazy-compilation-node.js +50 -0
- package/src/log/node_modules/webpack/hot/lazy-compilation-web.js +83 -0
- package/src/log/node_modules/webpack/hot/log-apply-result.js +49 -0
- package/src/log/node_modules/webpack/hot/log.js +81 -0
- package/src/log/node_modules/webpack/hot/only-dev-server.js +103 -0
- package/src/log/node_modules/webpack/hot/poll.js +40 -0
- package/src/log/node_modules/webpack/hot/signal.js +66 -0
- package/src/log/node_modules/webpack/lib/APIPlugin.js +311 -0
- package/src/log/node_modules/webpack/lib/AbstractMethodError.js +49 -0
- package/src/log/node_modules/webpack/lib/AsyncDependenciesBlock.js +114 -0
- package/src/log/node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js +31 -0
- package/src/log/node_modules/webpack/lib/AutomaticPrefetchPlugin.js +66 -0
- package/src/log/node_modules/webpack/lib/BannerPlugin.js +130 -0
- package/src/log/node_modules/webpack/lib/Cache.js +161 -0
- package/src/log/node_modules/webpack/lib/CacheFacade.js +349 -0
- package/src/log/node_modules/webpack/lib/CaseSensitiveModulesWarning.js +73 -0
- package/src/log/node_modules/webpack/lib/Chunk.js +838 -0
- package/src/log/node_modules/webpack/lib/ChunkGraph.js +1814 -0
- package/src/log/node_modules/webpack/lib/ChunkGroup.js +599 -0
- package/src/log/node_modules/webpack/lib/ChunkRenderError.js +31 -0
- package/src/log/node_modules/webpack/lib/ChunkTemplate.js +138 -0
- package/src/log/node_modules/webpack/lib/CleanPlugin.js +443 -0
- package/src/log/node_modules/webpack/lib/CodeGenerationError.js +29 -0
- package/src/log/node_modules/webpack/lib/CodeGenerationResults.js +155 -0
- package/src/log/node_modules/webpack/lib/CommentCompilationWarning.js +33 -0
- package/src/log/node_modules/webpack/lib/CompatibilityPlugin.js +191 -0
- package/src/log/node_modules/webpack/lib/Compilation.js +5310 -0
- package/src/log/node_modules/webpack/lib/Compiler.js +1234 -0
- package/src/log/node_modules/webpack/lib/ConcatenationScope.js +159 -0
- package/src/log/node_modules/webpack/lib/ConcurrentCompilationError.js +18 -0
- package/src/log/node_modules/webpack/lib/ConditionalInitFragment.js +122 -0
- package/src/log/node_modules/webpack/lib/ConstPlugin.js +545 -0
- package/src/log/node_modules/webpack/lib/ContextExclusionPlugin.js +32 -0
- package/src/log/node_modules/webpack/lib/ContextModule.js +1184 -0
- package/src/log/node_modules/webpack/lib/ContextModuleFactory.js +434 -0
- package/src/log/node_modules/webpack/lib/ContextReplacementPlugin.js +170 -0
- package/src/log/node_modules/webpack/lib/CssModule.js +169 -0
- package/src/log/node_modules/webpack/lib/DefinePlugin.js +667 -0
- package/src/log/node_modules/webpack/lib/DelegatedModule.js +257 -0
- package/src/log/node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js +97 -0
- package/src/log/node_modules/webpack/lib/DelegatedPlugin.js +43 -0
- package/src/log/node_modules/webpack/lib/DependenciesBlock.js +123 -0
- package/src/log/node_modules/webpack/lib/Dependency.js +369 -0
- package/src/log/node_modules/webpack/lib/DependencyTemplate.js +57 -0
- package/src/log/node_modules/webpack/lib/DependencyTemplates.js +67 -0
- package/src/log/node_modules/webpack/lib/DllEntryPlugin.js +70 -0
- package/src/log/node_modules/webpack/lib/DllModule.js +172 -0
- package/src/log/node_modules/webpack/lib/DllModuleFactory.js +37 -0
- package/src/log/node_modules/webpack/lib/DllPlugin.js +68 -0
- package/src/log/node_modules/webpack/lib/DllReferencePlugin.js +174 -0
- package/src/log/node_modules/webpack/lib/DynamicEntryPlugin.js +79 -0
- package/src/log/node_modules/webpack/lib/EntryOptionPlugin.js +93 -0
- package/src/log/node_modules/webpack/lib/EntryPlugin.js +67 -0
- package/src/log/node_modules/webpack/lib/Entrypoint.js +101 -0
- package/src/log/node_modules/webpack/lib/EnvironmentPlugin.js +63 -0
- package/src/log/node_modules/webpack/lib/ErrorHelpers.js +101 -0
- package/src/log/node_modules/webpack/lib/EvalDevToolModulePlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js +217 -0
- package/src/log/node_modules/webpack/lib/ExportsInfo.js +1544 -0
- package/src/log/node_modules/webpack/lib/ExportsInfoApiPlugin.js +87 -0
- package/src/log/node_modules/webpack/lib/ExternalModule.js +779 -0
- package/src/log/node_modules/webpack/lib/ExternalModuleFactoryPlugin.js +254 -0
- package/src/log/node_modules/webpack/lib/ExternalsPlugin.js +37 -0
- package/src/log/node_modules/webpack/lib/FileSystemInfo.js +3624 -0
- package/src/log/node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js +55 -0
- package/src/log/node_modules/webpack/lib/FlagDependencyExportsPlugin.js +405 -0
- package/src/log/node_modules/webpack/lib/FlagDependencyUsagePlugin.js +347 -0
- package/src/log/node_modules/webpack/lib/FlagEntryExportAsUsedPlugin.js +56 -0
- package/src/log/node_modules/webpack/lib/Generator.js +156 -0
- package/src/log/node_modules/webpack/lib/GraphHelpers.js +37 -0
- package/src/log/node_modules/webpack/lib/HarmonyLinkingError.js +16 -0
- package/src/log/node_modules/webpack/lib/HookWebpackError.js +93 -0
- package/src/log/node_modules/webpack/lib/HotModuleReplacementPlugin.js +792 -0
- package/src/log/node_modules/webpack/lib/HotUpdateChunk.js +19 -0
- package/src/log/node_modules/webpack/lib/IgnoreErrorModuleFactory.js +39 -0
- package/src/log/node_modules/webpack/lib/IgnorePlugin.js +83 -0
- package/src/log/node_modules/webpack/lib/IgnoreWarningsPlugin.js +39 -0
- package/src/log/node_modules/webpack/lib/InitFragment.js +184 -0
- package/src/log/node_modules/webpack/lib/InvalidDependenciesModuleWarning.js +44 -0
- package/src/log/node_modules/webpack/lib/JavascriptMetaInfoPlugin.js +80 -0
- package/src/log/node_modules/webpack/lib/LibManifestPlugin.js +132 -0
- package/src/log/node_modules/webpack/lib/LibraryTemplatePlugin.js +48 -0
- package/src/log/node_modules/webpack/lib/LoaderOptionsPlugin.js +81 -0
- package/src/log/node_modules/webpack/lib/LoaderTargetPlugin.js +37 -0
- package/src/log/node_modules/webpack/lib/MainTemplate.js +329 -0
- package/src/log/node_modules/webpack/lib/Module.js +1126 -0
- package/src/log/node_modules/webpack/lib/ModuleBuildError.js +86 -0
- package/src/log/node_modules/webpack/lib/ModuleDependencyError.js +42 -0
- package/src/log/node_modules/webpack/lib/ModuleDependencyWarning.js +47 -0
- package/src/log/node_modules/webpack/lib/ModuleError.js +70 -0
- package/src/log/node_modules/webpack/lib/ModuleFactory.js +50 -0
- package/src/log/node_modules/webpack/lib/ModuleFilenameHelpers.js +387 -0
- package/src/log/node_modules/webpack/lib/ModuleGraph.js +866 -0
- package/src/log/node_modules/webpack/lib/ModuleGraphConnection.js +204 -0
- package/src/log/node_modules/webpack/lib/ModuleHashingError.js +29 -0
- package/src/log/node_modules/webpack/lib/ModuleInfoHeaderPlugin.js +262 -0
- package/src/log/node_modules/webpack/lib/ModuleNotFoundError.js +89 -0
- package/src/log/node_modules/webpack/lib/ModuleParseError.js +118 -0
- package/src/log/node_modules/webpack/lib/ModuleProfile.js +108 -0
- package/src/log/node_modules/webpack/lib/ModuleRestoreError.js +44 -0
- package/src/log/node_modules/webpack/lib/ModuleStoreError.js +43 -0
- package/src/log/node_modules/webpack/lib/ModuleTemplate.js +142 -0
- package/src/log/node_modules/webpack/lib/ModuleTypeConstants.js +169 -0
- package/src/log/node_modules/webpack/lib/ModuleWarning.js +70 -0
- package/src/log/node_modules/webpack/lib/MultiCompiler.js +582 -0
- package/src/log/node_modules/webpack/lib/MultiStats.js +166 -0
- package/src/log/node_modules/webpack/lib/MultiWatching.js +81 -0
- package/src/log/node_modules/webpack/lib/NoEmitOnErrorsPlugin.js +28 -0
- package/src/log/node_modules/webpack/lib/NoModeWarning.js +22 -0
- package/src/log/node_modules/webpack/lib/NodeStuffInWebError.js +34 -0
- package/src/log/node_modules/webpack/lib/NodeStuffPlugin.js +216 -0
- package/src/log/node_modules/webpack/lib/NormalModule.js +1424 -0
- package/src/log/node_modules/webpack/lib/NormalModuleFactory.js +1166 -0
- package/src/log/node_modules/webpack/lib/NormalModuleReplacementPlugin.js +73 -0
- package/src/log/node_modules/webpack/lib/NullFactory.js +23 -0
- package/src/log/node_modules/webpack/lib/OptimizationStages.js +10 -0
- package/src/log/node_modules/webpack/lib/OptionsApply.js +11 -0
- package/src/log/node_modules/webpack/lib/Parser.js +38 -0
- package/src/log/node_modules/webpack/lib/PrefetchPlugin.js +54 -0
- package/src/log/node_modules/webpack/lib/ProgressPlugin.js +669 -0
- package/src/log/node_modules/webpack/lib/ProvidePlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/RawModule.js +163 -0
- package/src/log/node_modules/webpack/lib/RecordIdsPlugin.js +238 -0
- package/src/log/node_modules/webpack/lib/RequestShortener.js +34 -0
- package/src/log/node_modules/webpack/lib/RequireJsStuffPlugin.js +84 -0
- package/src/log/node_modules/webpack/lib/ResolverFactory.js +151 -0
- package/src/log/node_modules/webpack/lib/RuntimeGlobals.js +386 -0
- package/src/log/node_modules/webpack/lib/RuntimeModule.js +214 -0
- package/src/log/node_modules/webpack/lib/RuntimePlugin.js +476 -0
- package/src/log/node_modules/webpack/lib/RuntimeTemplate.js +1059 -0
- package/src/log/node_modules/webpack/lib/SelfModuleFactory.js +33 -0
- package/src/log/node_modules/webpack/lib/SingleEntryPlugin.js +8 -0
- package/src/log/node_modules/webpack/lib/SizeFormatHelpers.js +27 -0
- package/src/log/node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js +61 -0
- package/src/log/node_modules/webpack/lib/SourceMapDevToolPlugin.js +596 -0
- package/src/log/node_modules/webpack/lib/Stats.js +84 -0
- package/src/log/node_modules/webpack/lib/Template.js +421 -0
- package/src/log/node_modules/webpack/lib/TemplatedPathPlugin.js +346 -0
- package/src/log/node_modules/webpack/lib/UnhandledSchemeError.js +33 -0
- package/src/log/node_modules/webpack/lib/UnsupportedFeatureWarning.js +32 -0
- package/src/log/node_modules/webpack/lib/UseStrictPlugin.js +74 -0
- package/src/log/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js +65 -0
- package/src/log/node_modules/webpack/lib/WarnDeprecatedOptionPlugin.js +61 -0
- package/src/log/node_modules/webpack/lib/WarnNoModeSetPlugin.js +25 -0
- package/src/log/node_modules/webpack/lib/WatchIgnorePlugin.js +136 -0
- package/src/log/node_modules/webpack/lib/Watching.js +516 -0
- package/src/log/node_modules/webpack/lib/WebpackError.js +70 -0
- package/src/log/node_modules/webpack/lib/WebpackIsIncludedPlugin.js +94 -0
- package/src/log/node_modules/webpack/lib/WebpackOptionsApply.js +719 -0
- package/src/log/node_modules/webpack/lib/WebpackOptionsDefaulter.js +26 -0
- package/src/log/node_modules/webpack/lib/asset/AssetGenerator.js +506 -0
- package/src/log/node_modules/webpack/lib/asset/AssetModulesPlugin.js +239 -0
- package/src/log/node_modules/webpack/lib/asset/AssetParser.js +65 -0
- package/src/log/node_modules/webpack/lib/asset/AssetSourceGenerator.js +96 -0
- package/src/log/node_modules/webpack/lib/asset/AssetSourceParser.js +37 -0
- package/src/log/node_modules/webpack/lib/asset/RawDataUrlModule.js +159 -0
- package/src/log/node_modules/webpack/lib/async-modules/AwaitDependenciesInitFragment.js +73 -0
- package/src/log/node_modules/webpack/lib/async-modules/InferAsyncModulesPlugin.js +55 -0
- package/src/log/node_modules/webpack/lib/buildChunkGraph.js +1418 -0
- package/src/log/node_modules/webpack/lib/cache/AddBuildDependenciesPlugin.js +33 -0
- package/src/log/node_modules/webpack/lib/cache/AddManagedPathsPlugin.js +35 -0
- package/src/log/node_modules/webpack/lib/cache/IdleFileCachePlugin.js +228 -0
- package/src/log/node_modules/webpack/lib/cache/MemoryCachePlugin.js +57 -0
- package/src/log/node_modules/webpack/lib/cache/MemoryWithGcCachePlugin.js +131 -0
- package/src/log/node_modules/webpack/lib/cache/PackFileCacheStrategy.js +1467 -0
- package/src/log/node_modules/webpack/lib/cache/ResolverCachePlugin.js +357 -0
- package/src/log/node_modules/webpack/lib/cache/getLazyHashedEtag.js +81 -0
- package/src/log/node_modules/webpack/lib/cache/mergeEtags.js +74 -0
- package/src/log/node_modules/webpack/lib/cli.js +655 -0
- package/src/log/node_modules/webpack/lib/config/browserslistTargetHandler.js +333 -0
- package/src/log/node_modules/webpack/lib/config/defaults.js +1526 -0
- package/src/log/node_modules/webpack/lib/config/normalization.js +567 -0
- package/src/log/node_modules/webpack/lib/config/target.js +375 -0
- package/src/log/node_modules/webpack/lib/container/ContainerEntryDependency.js +47 -0
- package/src/log/node_modules/webpack/lib/container/ContainerEntryModule.js +293 -0
- package/src/log/node_modules/webpack/lib/container/ContainerEntryModuleFactory.js +27 -0
- package/src/log/node_modules/webpack/lib/container/ContainerExposedDependency.js +61 -0
- package/src/log/node_modules/webpack/lib/container/ContainerPlugin.js +107 -0
- package/src/log/node_modules/webpack/lib/container/ContainerReferencePlugin.js +142 -0
- package/src/log/node_modules/webpack/lib/container/FallbackDependency.js +64 -0
- package/src/log/node_modules/webpack/lib/container/FallbackItemDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/container/FallbackModule.js +183 -0
- package/src/log/node_modules/webpack/lib/container/FallbackModuleFactory.js +27 -0
- package/src/log/node_modules/webpack/lib/container/ModuleFederationPlugin.js +94 -0
- package/src/log/node_modules/webpack/lib/container/RemoteModule.js +181 -0
- package/src/log/node_modules/webpack/lib/container/RemoteRuntimeModule.js +130 -0
- package/src/log/node_modules/webpack/lib/container/RemoteToExternalDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/container/options.js +91 -0
- package/src/log/node_modules/webpack/lib/css/CssExportsGenerator.js +148 -0
- package/src/log/node_modules/webpack/lib/css/CssGenerator.js +113 -0
- package/src/log/node_modules/webpack/lib/css/CssLoadingRuntimeModule.js +473 -0
- package/src/log/node_modules/webpack/lib/css/CssModulesPlugin.js +641 -0
- package/src/log/node_modules/webpack/lib/css/CssParser.js +1033 -0
- package/src/log/node_modules/webpack/lib/css/walkCssTokens.js +790 -0
- package/src/log/node_modules/webpack/lib/debug/ProfilingPlugin.js +475 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDDefineDependency.js +265 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js +365 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDPlugin.js +229 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js +112 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js +68 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js +28 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js +285 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireDependency.js +189 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/AMDRuntimeModules.js +48 -0
- package/src/log/node_modules/webpack/lib/dependencies/CachedConstDependency.js +120 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsDependencyHelpers.js +58 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsExportRequireDependency.js +393 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsExportsDependency.js +176 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsExportsParserPlugin.js +407 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsFullRequireDependency.js +166 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsImportsParserPlugin.js +796 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsPlugin.js +305 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js +72 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js +42 -0
- package/src/log/node_modules/webpack/lib/dependencies/CommonJsSelfReferenceDependency.js +157 -0
- package/src/log/node_modules/webpack/lib/dependencies/ConstDependency.js +117 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependency.js +173 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js +245 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js +61 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js +59 -0
- package/src/log/node_modules/webpack/lib/dependencies/ContextElementDependency.js +101 -0
- package/src/log/node_modules/webpack/lib/dependencies/CreateScriptUrlDependency.js +75 -0
- package/src/log/node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js +28 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssExportDependency.js +93 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssImportDependency.js +127 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssLocalIdentifierDependency.js +136 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssSelfLocalIdentifierDependency.js +110 -0
- package/src/log/node_modules/webpack/lib/dependencies/CssUrlDependency.js +162 -0
- package/src/log/node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/dependencies/DllEntryDependency.js +61 -0
- package/src/log/node_modules/webpack/lib/dependencies/DynamicExports.js +73 -0
- package/src/log/node_modules/webpack/lib/dependencies/EntryDependency.js +30 -0
- package/src/log/node_modules/webpack/lib/dependencies/ExportsInfoDependency.js +164 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js +143 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js +40 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js +92 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyEvaluatedImportSpecifierDependency.js +153 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js +190 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js +207 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js +78 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js +1287 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportInitFragment.js +169 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js +123 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyExports.js +46 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportDependency.js +368 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js +371 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js +85 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js +418 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js +149 -0
- package/src/log/node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js +39 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportContextDependency.js +67 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportDependency.js +112 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportEagerDependency.js +72 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaContextDependency.js +35 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaContextDependencyParserPlugin.js +290 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaContextPlugin.js +72 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaHotAcceptDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaHotDeclineDependency.js +42 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportMetaPlugin.js +255 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportParserPlugin.js +331 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportPlugin.js +96 -0
- package/src/log/node_modules/webpack/lib/dependencies/ImportWeakDependency.js +70 -0
- package/src/log/node_modules/webpack/lib/dependencies/JsonExportsDependency.js +107 -0
- package/src/log/node_modules/webpack/lib/dependencies/LoaderDependency.js +40 -0
- package/src/log/node_modules/webpack/lib/dependencies/LoaderImportDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/LoaderPlugin.js +261 -0
- package/src/log/node_modules/webpack/lib/dependencies/LocalModule.js +60 -0
- package/src/log/node_modules/webpack/lib/dependencies/LocalModuleDependency.js +84 -0
- package/src/log/node_modules/webpack/lib/dependencies/LocalModulesHelpers.js +68 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDecoratorDependency.js +137 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDependency.js +99 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js +35 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js +38 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js +41 -0
- package/src/log/node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js +42 -0
- package/src/log/node_modules/webpack/lib/dependencies/NullDependency.js +40 -0
- package/src/log/node_modules/webpack/lib/dependencies/PrefetchDependency.js +27 -0
- package/src/log/node_modules/webpack/lib/dependencies/ProvidedDependency.js +157 -0
- package/src/log/node_modules/webpack/lib/dependencies/PureExpressionDependency.js +137 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireContextDependency.js +37 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js +66 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireContextPlugin.js +163 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js +29 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js +126 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureDependency.js +115 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js +36 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js +86 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireHeaderDependency.js +70 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireIncludeDependency.js +79 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js +101 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireIncludePlugin.js +62 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js +67 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireResolveDependency.js +58 -0
- package/src/log/node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js +81 -0
- package/src/log/node_modules/webpack/lib/dependencies/RuntimeRequirementsDependency.js +85 -0
- package/src/log/node_modules/webpack/lib/dependencies/StaticExportsDependency.js +74 -0
- package/src/log/node_modules/webpack/lib/dependencies/SystemPlugin.js +167 -0
- package/src/log/node_modules/webpack/lib/dependencies/SystemRuntimeModule.js +35 -0
- package/src/log/node_modules/webpack/lib/dependencies/URLDependency.js +167 -0
- package/src/log/node_modules/webpack/lib/dependencies/URLPlugin.js +148 -0
- package/src/log/node_modules/webpack/lib/dependencies/UnsupportedDependency.js +82 -0
- package/src/log/node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js +93 -0
- package/src/log/node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js +108 -0
- package/src/log/node_modules/webpack/lib/dependencies/WebpackIsIncludedDependency.js +85 -0
- package/src/log/node_modules/webpack/lib/dependencies/WorkerDependency.js +133 -0
- package/src/log/node_modules/webpack/lib/dependencies/WorkerPlugin.js +491 -0
- package/src/log/node_modules/webpack/lib/dependencies/getFunctionExpression.js +62 -0
- package/src/log/node_modules/webpack/lib/dependencies/processExportInfo.js +65 -0
- package/src/log/node_modules/webpack/lib/electron/ElectronTargetPlugin.js +68 -0
- package/src/log/node_modules/webpack/lib/errors/BuildCycleError.js +27 -0
- package/src/log/node_modules/webpack/lib/esm/ExportWebpackRequireRuntimeModule.js +30 -0
- package/src/log/node_modules/webpack/lib/esm/ModuleChunkFormatPlugin.js +215 -0
- package/src/log/node_modules/webpack/lib/esm/ModuleChunkLoadingPlugin.js +87 -0
- package/src/log/node_modules/webpack/lib/esm/ModuleChunkLoadingRuntimeModule.js +249 -0
- package/src/log/node_modules/webpack/lib/formatLocation.js +68 -0
- package/src/log/node_modules/webpack/lib/hmr/HotModuleReplacement.runtime.js +409 -0
- package/src/log/node_modules/webpack/lib/hmr/HotModuleReplacementRuntimeModule.js +42 -0
- package/src/log/node_modules/webpack/lib/hmr/JavascriptHotModuleReplacement.runtime.js +463 -0
- package/src/log/node_modules/webpack/lib/hmr/LazyCompilationPlugin.js +427 -0
- package/src/log/node_modules/webpack/lib/hmr/lazyCompilationBackend.js +143 -0
- package/src/log/node_modules/webpack/lib/ids/ChunkModuleIdRangePlugin.js +91 -0
- package/src/log/node_modules/webpack/lib/ids/DeterministicChunkIdsPlugin.js +79 -0
- package/src/log/node_modules/webpack/lib/ids/DeterministicModuleIdsPlugin.js +97 -0
- package/src/log/node_modules/webpack/lib/ids/HashedModuleIdsPlugin.js +84 -0
- package/src/log/node_modules/webpack/lib/ids/IdHelpers.js +483 -0
- package/src/log/node_modules/webpack/lib/ids/NamedChunkIdsPlugin.js +93 -0
- package/src/log/node_modules/webpack/lib/ids/NamedModuleIdsPlugin.js +69 -0
- package/src/log/node_modules/webpack/lib/ids/NaturalChunkIdsPlugin.js +33 -0
- package/src/log/node_modules/webpack/lib/ids/NaturalModuleIdsPlugin.js +39 -0
- package/src/log/node_modules/webpack/lib/ids/OccurrenceChunkIdsPlugin.js +84 -0
- package/src/log/node_modules/webpack/lib/ids/OccurrenceModuleIdsPlugin.js +159 -0
- package/src/log/node_modules/webpack/lib/ids/SyncModuleIdsPlugin.js +141 -0
- package/src/log/node_modules/webpack/lib/index.js +594 -0
- package/src/log/node_modules/webpack/lib/javascript/ArrayPushCallbackChunkFormatPlugin.js +154 -0
- package/src/log/node_modules/webpack/lib/javascript/BasicEvaluatedExpression.js +609 -0
- package/src/log/node_modules/webpack/lib/javascript/ChunkHelpers.js +33 -0
- package/src/log/node_modules/webpack/lib/javascript/CommonJsChunkFormatPlugin.js +176 -0
- package/src/log/node_modules/webpack/lib/javascript/EnableChunkLoadingPlugin.js +122 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptGenerator.js +225 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptModulesPlugin.js +1389 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptParser.js +4527 -0
- package/src/log/node_modules/webpack/lib/javascript/JavascriptParserHelpers.js +129 -0
- package/src/log/node_modules/webpack/lib/javascript/StartupHelpers.js +132 -0
- package/src/log/node_modules/webpack/lib/json/JsonData.js +74 -0
- package/src/log/node_modules/webpack/lib/json/JsonGenerator.js +205 -0
- package/src/log/node_modules/webpack/lib/json/JsonModulesPlugin.js +59 -0
- package/src/log/node_modules/webpack/lib/json/JsonParser.js +69 -0
- package/src/log/node_modules/webpack/lib/library/AbstractLibraryPlugin.js +301 -0
- package/src/log/node_modules/webpack/lib/library/AmdLibraryPlugin.js +178 -0
- package/src/log/node_modules/webpack/lib/library/AssignLibraryPlugin.js +389 -0
- package/src/log/node_modules/webpack/lib/library/EnableLibraryPlugin.js +252 -0
- package/src/log/node_modules/webpack/lib/library/ExportPropertyLibraryPlugin.js +116 -0
- package/src/log/node_modules/webpack/lib/library/JsonpLibraryPlugin.js +88 -0
- package/src/log/node_modules/webpack/lib/library/ModuleLibraryPlugin.js +108 -0
- package/src/log/node_modules/webpack/lib/library/SystemLibraryPlugin.js +234 -0
- package/src/log/node_modules/webpack/lib/library/UmdLibraryPlugin.js +348 -0
- package/src/log/node_modules/webpack/lib/logging/Logger.js +163 -0
- package/src/log/node_modules/webpack/lib/logging/createConsoleLogger.js +228 -0
- package/src/log/node_modules/webpack/lib/logging/runtime.js +46 -0
- package/src/log/node_modules/webpack/lib/logging/truncateArgs.js +86 -0
- package/src/log/node_modules/webpack/lib/node/CommonJsChunkLoadingPlugin.js +120 -0
- package/src/log/node_modules/webpack/lib/node/NodeEnvironmentPlugin.js +60 -0
- package/src/log/node_modules/webpack/lib/node/NodeSourcePlugin.js +19 -0
- package/src/log/node_modules/webpack/lib/node/NodeTargetPlugin.js +85 -0
- package/src/log/node_modules/webpack/lib/node/NodeTemplatePlugin.js +41 -0
- package/src/log/node_modules/webpack/lib/node/NodeWatchFileSystem.js +194 -0
- package/src/log/node_modules/webpack/lib/node/ReadFileChunkLoadingRuntimeModule.js +300 -0
- package/src/log/node_modules/webpack/lib/node/ReadFileCompileAsyncWasmPlugin.js +117 -0
- package/src/log/node_modules/webpack/lib/node/ReadFileCompileWasmPlugin.js +111 -0
- package/src/log/node_modules/webpack/lib/node/RequireChunkLoadingRuntimeModule.js +245 -0
- package/src/log/node_modules/webpack/lib/node/nodeConsole.js +141 -0
- package/src/log/node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js +100 -0
- package/src/log/node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js +336 -0
- package/src/log/node_modules/webpack/lib/optimize/ConcatenatedModule.js +1905 -0
- package/src/log/node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js +88 -0
- package/src/log/node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js +124 -0
- package/src/log/node_modules/webpack/lib/optimize/InnerGraph.js +346 -0
- package/src/log/node_modules/webpack/lib/optimize/InnerGraphPlugin.js +377 -0
- package/src/log/node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js +281 -0
- package/src/log/node_modules/webpack/lib/optimize/MangleExportsPlugin.js +177 -0
- package/src/log/node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js +115 -0
- package/src/log/node_modules/webpack/lib/optimize/MinChunkSizePlugin.js +113 -0
- package/src/log/node_modules/webpack/lib/optimize/MinMaxSizeWarning.js +35 -0
- package/src/log/node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js +942 -0
- package/src/log/node_modules/webpack/lib/optimize/RealContentHashPlugin.js +467 -0
- package/src/log/node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js +57 -0
- package/src/log/node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js +127 -0
- package/src/log/node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js +52 -0
- package/src/log/node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js +346 -0
- package/src/log/node_modules/webpack/lib/optimize/SplitChunksPlugin.js +1763 -0
- package/src/log/node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js +32 -0
- package/src/log/node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js +35 -0
- package/src/log/node_modules/webpack/lib/performance/NoAsyncChunksWarning.js +20 -0
- package/src/log/node_modules/webpack/lib/performance/SizeLimitsPlugin.js +168 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchFunctionRuntimeModule.js +46 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchPreloadPlugin.js +97 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchStartupRuntimeModule.js +55 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPrefetchTriggerRuntimeModule.js +51 -0
- package/src/log/node_modules/webpack/lib/prefetch/ChunkPreloadTriggerRuntimeModule.js +45 -0
- package/src/log/node_modules/webpack/lib/rules/BasicEffectRulePlugin.js +43 -0
- package/src/log/node_modules/webpack/lib/rules/BasicMatcherRulePlugin.js +52 -0
- package/src/log/node_modules/webpack/lib/rules/ObjectMatcherRulePlugin.js +47 -0
- package/src/log/node_modules/webpack/lib/rules/RuleSetCompiler.js +379 -0
- package/src/log/node_modules/webpack/lib/rules/UseEffectRulePlugin.js +196 -0
- package/src/log/node_modules/webpack/lib/runtime/AsyncModuleRuntimeModule.js +133 -0
- package/src/log/node_modules/webpack/lib/runtime/AutoPublicPathRuntimeModule.js +80 -0
- package/src/log/node_modules/webpack/lib/runtime/BaseUriRuntimeModule.js +35 -0
- package/src/log/node_modules/webpack/lib/runtime/ChunkNameRuntimeModule.js +27 -0
- package/src/log/node_modules/webpack/lib/runtime/CompatGetDefaultExportRuntimeModule.js +40 -0
- package/src/log/node_modules/webpack/lib/runtime/CompatRuntimeModule.js +83 -0
- package/src/log/node_modules/webpack/lib/runtime/CreateFakeNamespaceObjectRuntimeModule.js +69 -0
- package/src/log/node_modules/webpack/lib/runtime/CreateScriptRuntimeModule.js +38 -0
- package/src/log/node_modules/webpack/lib/runtime/CreateScriptUrlRuntimeModule.js +38 -0
- package/src/log/node_modules/webpack/lib/runtime/DefinePropertyGettersRuntimeModule.js +42 -0
- package/src/log/node_modules/webpack/lib/runtime/EnsureChunkRuntimeModule.js +68 -0
- package/src/log/node_modules/webpack/lib/runtime/GetChunkFilenameRuntimeModule.js +301 -0
- package/src/log/node_modules/webpack/lib/runtime/GetFullHashRuntimeModule.js +30 -0
- package/src/log/node_modules/webpack/lib/runtime/GetMainFilenameRuntimeModule.js +47 -0
- package/src/log/node_modules/webpack/lib/runtime/GetTrustedTypesPolicyRuntimeModule.js +97 -0
- package/src/log/node_modules/webpack/lib/runtime/GlobalRuntimeModule.js +47 -0
- package/src/log/node_modules/webpack/lib/runtime/HasOwnPropertyRuntimeModule.js +35 -0
- package/src/log/node_modules/webpack/lib/runtime/HelperRuntimeModule.js +18 -0
- package/src/log/node_modules/webpack/lib/runtime/LoadScriptRuntimeModule.js +175 -0
- package/src/log/node_modules/webpack/lib/runtime/MakeNamespaceObjectRuntimeModule.js +39 -0
- package/src/log/node_modules/webpack/lib/runtime/NonceRuntimeModule.js +24 -0
- package/src/log/node_modules/webpack/lib/runtime/OnChunksLoadedRuntimeModule.js +78 -0
- package/src/log/node_modules/webpack/lib/runtime/PublicPathRuntimeModule.js +37 -0
- package/src/log/node_modules/webpack/lib/runtime/RelativeUrlRuntimeModule.js +44 -0
- package/src/log/node_modules/webpack/lib/runtime/RuntimeIdRuntimeModule.js +32 -0
- package/src/log/node_modules/webpack/lib/runtime/StartupChunkDependenciesPlugin.js +89 -0
- package/src/log/node_modules/webpack/lib/runtime/StartupChunkDependenciesRuntimeModule.js +76 -0
- package/src/log/node_modules/webpack/lib/runtime/StartupEntrypointRuntimeModule.js +54 -0
- package/src/log/node_modules/webpack/lib/runtime/SystemContextRuntimeModule.js +25 -0
- package/src/log/node_modules/webpack/lib/schemes/DataUriPlugin.js +69 -0
- package/src/log/node_modules/webpack/lib/schemes/FileUriPlugin.js +49 -0
- package/src/log/node_modules/webpack/lib/schemes/HttpUriPlugin.js +1156 -0
- package/src/log/node_modules/webpack/lib/serialization/ArraySerializer.js +38 -0
- package/src/log/node_modules/webpack/lib/serialization/BinaryMiddleware.js +1113 -0
- package/src/log/node_modules/webpack/lib/serialization/DateObjectSerializer.js +27 -0
- package/src/log/node_modules/webpack/lib/serialization/ErrorObjectSerializer.js +42 -0
- package/src/log/node_modules/webpack/lib/serialization/FileMiddleware.js +682 -0
- package/src/log/node_modules/webpack/lib/serialization/MapObjectSerializer.js +47 -0
- package/src/log/node_modules/webpack/lib/serialization/NullPrototypeObjectSerializer.js +50 -0
- package/src/log/node_modules/webpack/lib/serialization/ObjectMiddleware.js +765 -0
- package/src/log/node_modules/webpack/lib/serialization/PlainObjectSerializer.js +91 -0
- package/src/log/node_modules/webpack/lib/serialization/RegExpObjectSerializer.js +28 -0
- package/src/log/node_modules/webpack/lib/serialization/Serializer.js +46 -0
- package/src/log/node_modules/webpack/lib/serialization/SerializerMiddleware.js +153 -0
- package/src/log/node_modules/webpack/lib/serialization/SetObjectSerializer.js +39 -0
- package/src/log/node_modules/webpack/lib/serialization/SingleItemMiddleware.js +34 -0
- package/src/log/node_modules/webpack/lib/serialization/types.js +13 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedFallbackDependency.js +33 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedModule.js +262 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedPlugin.js +323 -0
- package/src/log/node_modules/webpack/lib/sharing/ConsumeSharedRuntimeModule.js +375 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideForSharedDependency.js +34 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedDependency.js +80 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedModule.js +194 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedModuleFactory.js +35 -0
- package/src/log/node_modules/webpack/lib/sharing/ProvideSharedPlugin.js +237 -0
- package/src/log/node_modules/webpack/lib/sharing/SharePlugin.js +92 -0
- package/src/log/node_modules/webpack/lib/sharing/ShareRuntimeModule.js +151 -0
- package/src/log/node_modules/webpack/lib/sharing/resolveMatchedConfigs.js +91 -0
- package/src/log/node_modules/webpack/lib/sharing/utils.js +403 -0
- package/src/log/node_modules/webpack/lib/stats/DefaultStatsFactoryPlugin.js +2474 -0
- package/src/log/node_modules/webpack/lib/stats/DefaultStatsPresetPlugin.js +335 -0
- package/src/log/node_modules/webpack/lib/stats/DefaultStatsPrinterPlugin.js +1423 -0
- package/src/log/node_modules/webpack/lib/stats/StatsFactory.js +292 -0
- package/src/log/node_modules/webpack/lib/stats/StatsPrinter.js +249 -0
- package/src/log/node_modules/webpack/lib/util/ArrayHelpers.js +44 -0
- package/src/log/node_modules/webpack/lib/util/ArrayQueue.js +111 -0
- package/src/log/node_modules/webpack/lib/util/AsyncQueue.js +375 -0
- package/src/log/node_modules/webpack/lib/util/Hash.js +35 -0
- package/src/log/node_modules/webpack/lib/util/IterableHelpers.js +46 -0
- package/src/log/node_modules/webpack/lib/util/LazyBucketSortedSet.js +236 -0
- package/src/log/node_modules/webpack/lib/util/LazySet.js +216 -0
- package/src/log/node_modules/webpack/lib/util/MapHelpers.js +36 -0
- package/src/log/node_modules/webpack/lib/util/ParallelismFactorCalculator.js +69 -0
- package/src/log/node_modules/webpack/lib/util/Queue.js +51 -0
- package/src/log/node_modules/webpack/lib/util/Semaphore.js +54 -0
- package/src/log/node_modules/webpack/lib/util/SetHelpers.js +94 -0
- package/src/log/node_modules/webpack/lib/util/SortableSet.js +160 -0
- package/src/log/node_modules/webpack/lib/util/StackedCacheMap.js +116 -0
- package/src/log/node_modules/webpack/lib/util/StackedMap.js +166 -0
- package/src/log/node_modules/webpack/lib/util/StringXor.js +106 -0
- package/src/log/node_modules/webpack/lib/util/TupleQueue.js +61 -0
- package/src/log/node_modules/webpack/lib/util/TupleSet.js +150 -0
- package/src/log/node_modules/webpack/lib/util/URLAbsoluteSpecifier.js +87 -0
- package/src/log/node_modules/webpack/lib/util/WeakTupleMap.js +171 -0
- package/src/log/node_modules/webpack/lib/util/binarySearchBounds.js +135 -0
- package/src/log/node_modules/webpack/lib/util/chainedImports.js +96 -0
- package/src/log/node_modules/webpack/lib/util/cleverMerge.js +568 -0
- package/src/log/node_modules/webpack/lib/util/comparators.js +459 -0
- package/src/log/node_modules/webpack/lib/util/compileBooleanMatcher.js +237 -0
- package/src/log/node_modules/webpack/lib/util/create-schema-validation.js +28 -0
- package/src/log/node_modules/webpack/lib/util/createHash.js +193 -0
- package/src/log/node_modules/webpack/lib/util/deprecation.js +279 -0
- package/src/log/node_modules/webpack/lib/util/deterministicGrouping.js +547 -0
- package/src/log/node_modules/webpack/lib/util/extractUrlAndGlobal.js +18 -0
- package/src/log/node_modules/webpack/lib/util/findGraphRoots.js +231 -0
- package/src/log/node_modules/webpack/lib/util/fs.js +337 -0
- package/src/log/node_modules/webpack/lib/util/hash/BatchedHash.js +68 -0
- package/src/log/node_modules/webpack/lib/util/hash/md4.js +20 -0
- package/src/log/node_modules/webpack/lib/util/hash/wasm-hash.js +163 -0
- package/src/log/node_modules/webpack/lib/util/hash/xxhash64.js +20 -0
- package/src/log/node_modules/webpack/lib/util/identifier.js +381 -0
- package/src/log/node_modules/webpack/lib/util/internalSerializables.js +214 -0
- package/src/log/node_modules/webpack/lib/util/makeSerializable.js +37 -0
- package/src/log/node_modules/webpack/lib/util/memoize.js +32 -0
- package/src/log/node_modules/webpack/lib/util/nonNumericOnlyHash.js +22 -0
- package/src/log/node_modules/webpack/lib/util/numberHash.js +99 -0
- package/src/log/node_modules/webpack/lib/util/objectToMap.js +15 -0
- package/src/log/node_modules/webpack/lib/util/processAsyncTree.js +68 -0
- package/src/log/node_modules/webpack/lib/util/propertyAccess.js +33 -0
- package/src/log/node_modules/webpack/lib/util/propertyName.js +79 -0
- package/src/log/node_modules/webpack/lib/util/registerExternalSerializer.js +337 -0
- package/src/log/node_modules/webpack/lib/util/runtime.js +686 -0
- package/src/log/node_modules/webpack/lib/util/semver.js +485 -0
- package/src/log/node_modules/webpack/lib/util/serialization.js +138 -0
- package/src/log/node_modules/webpack/lib/util/smartGrouping.js +206 -0
- package/src/log/node_modules/webpack/lib/util/source.js +61 -0
- package/src/log/node_modules/webpack/lib/validateSchema.js +179 -0
- package/src/log/node_modules/webpack/lib/wasm/EnableWasmLoadingPlugin.js +122 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWasmLoadingRuntimeModule.js +91 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyGenerator.js +61 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyJavascriptGenerator.js +205 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyModulesPlugin.js +218 -0
- package/src/log/node_modules/webpack/lib/wasm-async/AsyncWebAssemblyParser.js +82 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/UnsupportedWebAssemblyFeatureError.js +16 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WasmChunkLoadingRuntimeModule.js +403 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WasmFinalizeExportsPlugin.js +93 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyGenerator.js +515 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyInInitialChunkError.js +106 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyJavascriptGenerator.js +216 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyModulesPlugin.js +152 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyParser.js +203 -0
- package/src/log/node_modules/webpack/lib/wasm-sync/WebAssemblyUtils.js +65 -0
- package/src/log/node_modules/webpack/lib/web/FetchCompileAsyncWasmPlugin.js +72 -0
- package/src/log/node_modules/webpack/lib/web/FetchCompileWasmPlugin.js +88 -0
- package/src/log/node_modules/webpack/lib/web/JsonpChunkLoadingPlugin.js +100 -0
- package/src/log/node_modules/webpack/lib/web/JsonpChunkLoadingRuntimeModule.js +470 -0
- package/src/log/node_modules/webpack/lib/web/JsonpTemplatePlugin.js +38 -0
- package/src/log/node_modules/webpack/lib/webpack.js +180 -0
- package/src/log/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingPlugin.js +103 -0
- package/src/log/node_modules/webpack/lib/webworker/ImportScriptsChunkLoadingRuntimeModule.js +241 -0
- package/src/log/node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js +25 -0
- package/src/log/node_modules/webpack/module.d.ts +233 -0
- package/src/log/node_modules/webpack/package.json +246 -0
- package/src/log/node_modules/webpack/schemas/WebpackOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/WebpackOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/WebpackOptions.json +5514 -0
- package/src/log/node_modules/webpack/schemas/_container.json +155 -0
- package/src/log/node_modules/webpack/schemas/_sharing.json +118 -0
- package/src/log/node_modules/webpack/schemas/plugins/BannerPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/BannerPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/BannerPlugin.json +107 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllPlugin.json +36 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllReferencePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/DllReferencePlugin.json +206 -0
- package/src/log/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json +44 -0
- package/src/log/node_modules/webpack/schemas/plugins/IgnorePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/IgnorePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/IgnorePlugin.json +34 -0
- package/src/log/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/JsonModulesPluginParser.json +12 -0
- package/src/log/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json +27 -0
- package/src/log/node_modules/webpack/schemas/plugins/ProgressPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/ProgressPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/ProgressPlugin.json +65 -0
- package/src/log/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json +147 -0
- package/src/log/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json +25 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetInlineGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetParserOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/asset/AssetResourceGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerPlugin.json +294 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ContainerReferencePlugin.json +128 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ExternalsType.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ExternalsType.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ExternalsType.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/container/ModuleFederationPlugin.json +521 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssGeneratorOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssParserOptions.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/css/CssParserOptions.json +3 -0
- package/src/log/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json +12 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceChunkIdsPlugin.json +11 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/ids/OccurrenceModuleIdsPlugin.json +11 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json +23 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json +21 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json +20 -0
- package/src/log/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/schemes/HttpUriPlugin.json +74 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ConsumeSharedPlugin.json +120 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/ProvideSharedPlugin.json +94 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.d.ts +7 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/SharePlugin.check.js +6 -0
- package/src/log/node_modules/webpack/schemas/plugins/sharing/SharePlugin.json +133 -0
- package/src/log/node_modules/webpack/types.d.ts +14158 -0
- package/src/log/node_modules/webpack-cli/LICENSE +20 -0
- package/src/log/node_modules/webpack-cli/README.md +145 -0
- package/src/log/node_modules/webpack-cli/bin/cli.js +17 -0
- package/src/log/node_modules/webpack-cli/lib/bootstrap.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/bootstrap.js +16 -0
- package/src/log/node_modules/webpack-cli/lib/index.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/index.js +5 -0
- package/src/log/node_modules/webpack-cli/lib/plugins/cli-plugin.d.ts +12 -0
- package/src/log/node_modules/webpack-cli/lib/plugins/cli-plugin.js +108 -0
- package/src/log/node_modules/webpack-cli/lib/types.d.ts +230 -0
- package/src/log/node_modules/webpack-cli/lib/types.js +2 -0
- package/src/log/node_modules/webpack-cli/lib/utils/dynamic-import-loader.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/utils/dynamic-import-loader.js +13 -0
- package/src/log/node_modules/webpack-cli/lib/webpack-cli.d.ts +1 -0
- package/src/log/node_modules/webpack-cli/lib/webpack-cli.js +1892 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/LICENSE +22 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/Readme.md +1134 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/esm.mjs +16 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/index.js +27 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/argument.js +147 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/command.js +2179 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/error.js +45 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/help.js +464 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/option.js +331 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/lib/suggestSimilar.js +100 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/package-support.json +16 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/package.json +80 -0
- package/src/log/node_modules/webpack-cli/node_modules/commander/typings/index.d.ts +889 -0
- package/src/log/node_modules/webpack-cli/package.json +69 -0
- package/src/log/node_modules/webpack-merge/LICENSE +20 -0
- package/src/log/node_modules/webpack-merge/README.md +314 -0
- package/src/log/node_modules/webpack-merge/dist/index.d.ts +15 -0
- package/src/log/node_modules/webpack-merge/dist/index.js +252 -0
- package/src/log/node_modules/webpack-merge/dist/index.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/join-arrays.d.ts +6 -0
- package/src/log/node_modules/webpack-merge/dist/join-arrays.js +70 -0
- package/src/log/node_modules/webpack-merge/dist/join-arrays.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/merge-with.d.ts +2 -0
- package/src/log/node_modules/webpack-merge/dist/merge-with.js +38 -0
- package/src/log/node_modules/webpack-merge/dist/merge-with.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/types.d.ts +14 -0
- package/src/log/node_modules/webpack-merge/dist/types.js +12 -0
- package/src/log/node_modules/webpack-merge/dist/types.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/unique.d.ts +2 -0
- package/src/log/node_modules/webpack-merge/dist/unique.js +41 -0
- package/src/log/node_modules/webpack-merge/dist/unique.js.map +1 -0
- package/src/log/node_modules/webpack-merge/dist/utils.d.ts +17 -0
- package/src/log/node_modules/webpack-merge/dist/utils.js +98 -0
- package/src/log/node_modules/webpack-merge/dist/utils.js.map +1 -0
- package/src/log/node_modules/webpack-merge/package.json +60 -0
- package/src/log/node_modules/webpack-sources/LICENSE +21 -0
- package/src/log/node_modules/webpack-sources/README.md +228 -0
- package/src/log/node_modules/webpack-sources/lib/CachedSource.js +274 -0
- package/src/log/node_modules/webpack-sources/lib/CompatSource.js +66 -0
- package/src/log/node_modules/webpack-sources/lib/ConcatSource.js +319 -0
- package/src/log/node_modules/webpack-sources/lib/OriginalSource.js +135 -0
- package/src/log/node_modules/webpack-sources/lib/PrefixSource.js +114 -0
- package/src/log/node_modules/webpack-sources/lib/RawSource.js +81 -0
- package/src/log/node_modules/webpack-sources/lib/ReplaceSource.js +467 -0
- package/src/log/node_modules/webpack-sources/lib/SizeOnlySource.js +42 -0
- package/src/log/node_modules/webpack-sources/lib/Source.js +38 -0
- package/src/log/node_modules/webpack-sources/lib/SourceMapSource.js +247 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/createMappingsSerializer.js +206 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getFromStreamChunks.js +129 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getGeneratedSourceInfo.js +33 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getName.js +14 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/getSource.js +17 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/readMappings.js +116 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/splitIntoLines.js +21 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/splitIntoPotentialTokens.js +41 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamAndGetSourceAndMap.js +102 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunks.js +36 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunksOfCombinedSourceMap.js +329 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunksOfRawSource.js +34 -0
- package/src/log/node_modules/webpack-sources/lib/helpers/streamChunksOfSourceMap.js +412 -0
- package/src/log/node_modules/webpack-sources/lib/index.js +30 -0
- package/src/log/node_modules/webpack-sources/package.json +58 -0
- package/src/log/node_modules/which/CHANGELOG.md +166 -0
- package/src/log/node_modules/which/LICENSE +15 -0
- package/src/log/node_modules/which/README.md +54 -0
- package/src/log/node_modules/which/bin/node-which +52 -0
- package/src/log/node_modules/which/package.json +43 -0
- package/src/log/node_modules/which/which.js +125 -0
- package/src/log/node_modules/wildcard/.github/workflows/build.yml +24 -0
- package/src/log/node_modules/wildcard/LICENSE +21 -0
- package/src/log/node_modules/wildcard/README.md +88 -0
- package/src/log/node_modules/wildcard/docs.json +9 -0
- package/src/log/node_modules/wildcard/examples/arrays.js +10 -0
- package/src/log/node_modules/wildcard/examples/objects.js +10 -0
- package/src/log/node_modules/wildcard/examples/strings.js +7 -0
- package/src/log/node_modules/wildcard/index.js +114 -0
- package/src/log/node_modules/wildcard/package.json +32 -0
- package/src/log/node_modules/wildcard/test/all.js +3 -0
- package/src/log/node_modules/wildcard/test/arrays.js +33 -0
- package/src/log/node_modules/wildcard/test/objects.js +106 -0
- package/src/log/node_modules/wildcard/test/strings.js +46 -0
- package/src/log/package-lock.json +1361 -0
- package/src/log/package.json +15 -0
- package/src/logger.js +26 -0
- package/src/messages.js +1709 -0
- package/src/routes.js +317 -0
- package/src/schedulers/generateReviewDays.js +45 -0
- package/src/schedulers/generateSlotAndTokenTable.js +152 -0
- package/src/schedulers/revertSettings.js +43 -0
- package/src/server.js +91 -0
- package/src/webSocket.js +11 -0
- package/src/whatsappTokenSteps/cancelSteps.js +153 -0
- package/src/whatsappTokenSteps/reviewSteps.js +282 -0
- package/src/whatsappTokenSteps/tokenSteps.js +958 -0
@@ -0,0 +1,4527 @@
|
|
1
|
+
/*
|
2
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
3
|
+
Author Tobias Koppers @sokra
|
4
|
+
*/
|
5
|
+
|
6
|
+
"use strict";
|
7
|
+
|
8
|
+
const { Parser: AcornParser } = require("acorn");
|
9
|
+
const { importAssertions } = require("acorn-import-assertions");
|
10
|
+
const { SyncBailHook, HookMap } = require("tapable");
|
11
|
+
const vm = require("vm");
|
12
|
+
const Parser = require("../Parser");
|
13
|
+
const StackedMap = require("../util/StackedMap");
|
14
|
+
const binarySearchBounds = require("../util/binarySearchBounds");
|
15
|
+
const memoize = require("../util/memoize");
|
16
|
+
const BasicEvaluatedExpression = require("./BasicEvaluatedExpression");
|
17
|
+
|
18
|
+
/** @typedef {import("acorn").Options} AcornOptions */
|
19
|
+
/** @typedef {import("estree").AssignmentExpression} AssignmentExpression */
|
20
|
+
/** @typedef {import("estree").BinaryExpression} BinaryExpression */
|
21
|
+
/** @typedef {import("estree").BlockStatement} BlockStatement */
|
22
|
+
/** @typedef {import("estree").SequenceExpression} SequenceExpression */
|
23
|
+
/** @typedef {import("estree").CallExpression} CallExpression */
|
24
|
+
/** @typedef {import("estree").BaseCallExpression} BaseCallExpression */
|
25
|
+
/** @typedef {import("estree").StaticBlock} StaticBlock */
|
26
|
+
/** @typedef {import("estree").ImportExpression} ImportExpression */
|
27
|
+
/** @typedef {import("estree").ClassDeclaration} ClassDeclaration */
|
28
|
+
/** @typedef {import("estree").ForStatement} ForStatement */
|
29
|
+
/** @typedef {import("estree").SwitchStatement} SwitchStatement */
|
30
|
+
/** @typedef {import("estree").ExportNamedDeclaration} ExportNamedDeclaration */
|
31
|
+
/** @typedef {import("estree").ClassExpression} ClassExpression */
|
32
|
+
/** @typedef {import("estree").Comment} Comment */
|
33
|
+
/** @typedef {import("estree").ConditionalExpression} ConditionalExpression */
|
34
|
+
/** @typedef {import("estree").Declaration} Declaration */
|
35
|
+
/** @typedef {import("estree").PrivateIdentifier} PrivateIdentifier */
|
36
|
+
/** @typedef {import("estree").PropertyDefinition} PropertyDefinition */
|
37
|
+
/** @typedef {import("estree").Expression} Expression */
|
38
|
+
/** @typedef {import("estree").Identifier} Identifier */
|
39
|
+
/** @typedef {import("estree").VariableDeclaration} VariableDeclaration */
|
40
|
+
/** @typedef {import("estree").IfStatement} IfStatement */
|
41
|
+
/** @typedef {import("estree").LabeledStatement} LabeledStatement */
|
42
|
+
/** @typedef {import("estree").Literal} Literal */
|
43
|
+
/** @typedef {import("estree").LogicalExpression} LogicalExpression */
|
44
|
+
/** @typedef {import("estree").ChainExpression} ChainExpression */
|
45
|
+
/** @typedef {import("estree").MemberExpression} MemberExpression */
|
46
|
+
/** @typedef {import("estree").YieldExpression} YieldExpression */
|
47
|
+
/** @typedef {import("estree").MetaProperty} MetaProperty */
|
48
|
+
/** @typedef {import("estree").Property} Property */
|
49
|
+
/** @typedef {import("estree").AssignmentPattern} AssignmentPattern */
|
50
|
+
/** @typedef {import("estree").ChainElement} ChainElement */
|
51
|
+
/** @typedef {import("estree").Pattern} Pattern */
|
52
|
+
/** @typedef {import("estree").UpdateExpression} UpdateExpression */
|
53
|
+
/** @typedef {import("estree").ObjectExpression} ObjectExpression */
|
54
|
+
/** @typedef {import("estree").UnaryExpression} UnaryExpression */
|
55
|
+
/** @typedef {import("estree").ArrayExpression} ArrayExpression */
|
56
|
+
/** @typedef {import("estree").ArrayPattern} ArrayPattern */
|
57
|
+
/** @typedef {import("estree").AwaitExpression} AwaitExpression */
|
58
|
+
/** @typedef {import("estree").ThisExpression} ThisExpression */
|
59
|
+
/** @typedef {import("estree").RestElement} RestElement */
|
60
|
+
/** @typedef {import("estree").ObjectPattern} ObjectPattern */
|
61
|
+
/** @typedef {import("estree").SwitchCase} SwitchCase */
|
62
|
+
/** @typedef {import("estree").CatchClause} CatchClause */
|
63
|
+
/** @typedef {import("estree").VariableDeclarator} VariableDeclarator */
|
64
|
+
/** @typedef {import("estree").ForInStatement} ForInStatement */
|
65
|
+
/** @typedef {import("estree").ForOfStatement} ForOfStatement */
|
66
|
+
/** @typedef {import("estree").ReturnStatement} ReturnStatement */
|
67
|
+
/** @typedef {import("estree").WithStatement} WithStatement */
|
68
|
+
/** @typedef {import("estree").ThrowStatement} ThrowStatement */
|
69
|
+
/** @typedef {import("estree").MethodDefinition} MethodDefinition */
|
70
|
+
/** @typedef {import("estree").ModuleDeclaration} ModuleDeclaration */
|
71
|
+
/** @typedef {import("estree").NewExpression} NewExpression */
|
72
|
+
/** @typedef {import("estree").SpreadElement} SpreadElement */
|
73
|
+
/** @typedef {import("estree").FunctionExpression} FunctionExpression */
|
74
|
+
/** @typedef {import("estree").WhileStatement} WhileStatement */
|
75
|
+
/** @typedef {import("estree").ArrowFunctionExpression} ArrowFunctionExpression */
|
76
|
+
/** @typedef {import("estree").ExpressionStatement} ExpressionStatement */
|
77
|
+
/** @typedef {import("estree").FunctionDeclaration} FunctionDeclaration */
|
78
|
+
/** @typedef {import("estree").DoWhileStatement} DoWhileStatement */
|
79
|
+
/** @typedef {import("estree").TryStatement} TryStatement */
|
80
|
+
/** @typedef {import("estree").Node} AnyNode */
|
81
|
+
/** @typedef {import("estree").Program} Program */
|
82
|
+
/** @typedef {import("estree").Directive} Directive */
|
83
|
+
/** @typedef {import("estree").Statement} Statement */
|
84
|
+
/** @typedef {import("estree").ImportDeclaration} ImportDeclaration */
|
85
|
+
/** @typedef {import("estree").ExportDefaultDeclaration} ExportDefaultDeclaration */
|
86
|
+
/** @typedef {import("estree").ExportAllDeclaration} ExportAllDeclaration */
|
87
|
+
/** @typedef {import("estree").Super} Super */
|
88
|
+
/** @typedef {import("estree").TaggedTemplateExpression} TaggedTemplateExpression */
|
89
|
+
/** @typedef {import("estree").TemplateLiteral} TemplateLiteral */
|
90
|
+
/** @typedef {Record<string, any>} Assertions */
|
91
|
+
/** @template T @typedef {import("tapable").AsArray<T>} AsArray<T> */
|
92
|
+
/** @typedef {import("../Parser").ParserState} ParserState */
|
93
|
+
/** @typedef {import("../Parser").PreparsedAst} PreparsedAst */
|
94
|
+
/** @typedef {{declaredScope: ScopeInfo, freeName: string | true, tagInfo: TagInfo | undefined}} VariableInfoInterface */
|
95
|
+
/** @typedef {{ name: string | VariableInfo, rootInfo: string | VariableInfo, getMembers: () => string[], getMembersOptionals: () => boolean[], getMemberRanges: () => Range[] }} GetInfoResult */
|
96
|
+
|
97
|
+
const EMPTY_ARRAY = [];
|
98
|
+
const ALLOWED_MEMBER_TYPES_CALL_EXPRESSION = 0b01;
|
99
|
+
const ALLOWED_MEMBER_TYPES_EXPRESSION = 0b10;
|
100
|
+
const ALLOWED_MEMBER_TYPES_ALL = 0b11;
|
101
|
+
|
102
|
+
// Syntax: https://developer.mozilla.org/en/SpiderMonkey/Parser_API
|
103
|
+
|
104
|
+
const parser = AcornParser.extend(importAssertions);
|
105
|
+
|
106
|
+
class VariableInfo {
|
107
|
+
/**
|
108
|
+
* @param {ScopeInfo} declaredScope scope in which the variable is declared
|
109
|
+
* @param {string | true | undefined} freeName which free name the variable aliases, or true when none
|
110
|
+
* @param {TagInfo | undefined} tagInfo info about tags
|
111
|
+
*/
|
112
|
+
constructor(declaredScope, freeName, tagInfo) {
|
113
|
+
this.declaredScope = declaredScope;
|
114
|
+
this.freeName = freeName;
|
115
|
+
this.tagInfo = tagInfo;
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
/** @typedef {string | ScopeInfo | VariableInfo} ExportedVariableInfo */
|
120
|
+
/** @typedef {Literal | string | null | undefined} ImportSource */
|
121
|
+
/** @typedef {Omit<AcornOptions, "sourceType" | "ecmaVersion"> & { sourceType: "module" | "script" | "auto", ecmaVersion?: AcornOptions["ecmaVersion"] }} ParseOptions */
|
122
|
+
|
123
|
+
/**
|
124
|
+
* @typedef {Object} TagInfo
|
125
|
+
* @property {any} tag
|
126
|
+
* @property {any} data
|
127
|
+
* @property {TagInfo | undefined} next
|
128
|
+
*/
|
129
|
+
|
130
|
+
/**
|
131
|
+
* @typedef {Object} ScopeInfo
|
132
|
+
* @property {StackedMap<string, VariableInfo | ScopeInfo>} definitions
|
133
|
+
* @property {boolean | "arrow"} topLevelScope
|
134
|
+
* @property {boolean | string} inShorthand
|
135
|
+
* @property {boolean} inTaggedTemplateTag
|
136
|
+
* @property {boolean} inTry
|
137
|
+
* @property {boolean} isStrict
|
138
|
+
* @property {boolean} isAsmJs
|
139
|
+
*/
|
140
|
+
|
141
|
+
/** @typedef {[number, number]} Range */
|
142
|
+
|
143
|
+
/**
|
144
|
+
* Helper function for joining two ranges into a single range. This is useful
|
145
|
+
* when working with AST nodes, as it allows you to combine the ranges of child nodes
|
146
|
+
* to create the range of the _parent node_.
|
147
|
+
*
|
148
|
+
* @param {[number, number]} startRange start range to join
|
149
|
+
* @param {[number, number]} endRange end range to join
|
150
|
+
* @returns {[number, number]} joined range
|
151
|
+
*
|
152
|
+
* @example
|
153
|
+
* ```js
|
154
|
+
* const startRange = [0, 5];
|
155
|
+
* const endRange = [10, 15];
|
156
|
+
* const joinedRange = joinRanges(startRange, endRange);
|
157
|
+
* console.log(joinedRange); // [0, 15]
|
158
|
+
* ```
|
159
|
+
*
|
160
|
+
*/
|
161
|
+
const joinRanges = (startRange, endRange) => {
|
162
|
+
if (!endRange) return startRange;
|
163
|
+
if (!startRange) return endRange;
|
164
|
+
return [startRange[0], endRange[1]];
|
165
|
+
};
|
166
|
+
|
167
|
+
/**
|
168
|
+
* Helper function used to generate a string representation of a
|
169
|
+
* [member expression](https://github.com/estree/estree/blob/master/es5.md#memberexpression).
|
170
|
+
*
|
171
|
+
* @param {string} object object to name
|
172
|
+
* @param {string[]} membersReversed reversed list of members
|
173
|
+
* @returns {string} member expression as a string
|
174
|
+
* @example
|
175
|
+
* ```js
|
176
|
+
* const membersReversed = ["property1", "property2", "property3"]; // Members parsed from the AST
|
177
|
+
* const name = objectAndMembersToName("myObject", membersReversed);
|
178
|
+
*
|
179
|
+
* console.log(name); // "myObject.property1.property2.property3"
|
180
|
+
* ```
|
181
|
+
*
|
182
|
+
*/
|
183
|
+
const objectAndMembersToName = (object, membersReversed) => {
|
184
|
+
let name = object;
|
185
|
+
for (let i = membersReversed.length - 1; i >= 0; i--) {
|
186
|
+
name = name + "." + membersReversed[i];
|
187
|
+
}
|
188
|
+
return name;
|
189
|
+
};
|
190
|
+
|
191
|
+
/**
|
192
|
+
* Grabs the name of a given expression and returns it as a string or undefined. Has particular
|
193
|
+
* handling for [Identifiers](https://github.com/estree/estree/blob/master/es5.md#identifier),
|
194
|
+
* [ThisExpressions](https://github.com/estree/estree/blob/master/es5.md#identifier), and
|
195
|
+
* [MetaProperties](https://github.com/estree/estree/blob/master/es2015.md#metaproperty) which is
|
196
|
+
* specifically for handling the `new.target` meta property.
|
197
|
+
*
|
198
|
+
* @param {Expression | Super} expression expression
|
199
|
+
* @returns {string | "this" | undefined} name or variable info
|
200
|
+
*/
|
201
|
+
const getRootName = expression => {
|
202
|
+
switch (expression.type) {
|
203
|
+
case "Identifier":
|
204
|
+
return expression.name;
|
205
|
+
case "ThisExpression":
|
206
|
+
return "this";
|
207
|
+
case "MetaProperty":
|
208
|
+
return `${expression.meta.name}.${expression.property.name}`;
|
209
|
+
default:
|
210
|
+
return undefined;
|
211
|
+
}
|
212
|
+
};
|
213
|
+
|
214
|
+
/** @type {AcornOptions} */
|
215
|
+
const defaultParserOptions = {
|
216
|
+
ranges: true,
|
217
|
+
locations: true,
|
218
|
+
ecmaVersion: "latest",
|
219
|
+
sourceType: "module",
|
220
|
+
// https://github.com/tc39/proposal-hashbang
|
221
|
+
allowHashBang: true,
|
222
|
+
onComment: null
|
223
|
+
};
|
224
|
+
|
225
|
+
// regexp to match at least one "magic comment"
|
226
|
+
const webpackCommentRegExp = new RegExp(/(^|\W)webpack[A-Z]{1,}[A-Za-z]{1,}:/);
|
227
|
+
|
228
|
+
const EMPTY_COMMENT_OPTIONS = {
|
229
|
+
options: null,
|
230
|
+
errors: null
|
231
|
+
};
|
232
|
+
|
233
|
+
class JavascriptParser extends Parser {
|
234
|
+
/**
|
235
|
+
* @param {"module" | "script" | "auto"} sourceType default source type
|
236
|
+
*/
|
237
|
+
constructor(sourceType = "auto") {
|
238
|
+
super();
|
239
|
+
this.hooks = Object.freeze({
|
240
|
+
/** @type {HookMap<SyncBailHook<[UnaryExpression], BasicEvaluatedExpression | undefined | null>>} */
|
241
|
+
evaluateTypeof: new HookMap(() => new SyncBailHook(["expression"])),
|
242
|
+
/** @type {HookMap<SyncBailHook<[Expression], BasicEvaluatedExpression | undefined | null>>} */
|
243
|
+
evaluate: new HookMap(() => new SyncBailHook(["expression"])),
|
244
|
+
/** @type {HookMap<SyncBailHook<[Identifier | ThisExpression | MemberExpression | MetaProperty], BasicEvaluatedExpression | undefined | null>>} */
|
245
|
+
evaluateIdentifier: new HookMap(() => new SyncBailHook(["expression"])),
|
246
|
+
/** @type {HookMap<SyncBailHook<[Identifier | ThisExpression | MemberExpression], BasicEvaluatedExpression | undefined | null>>} */
|
247
|
+
evaluateDefinedIdentifier: new HookMap(
|
248
|
+
() => new SyncBailHook(["expression"])
|
249
|
+
),
|
250
|
+
/** @type {HookMap<SyncBailHook<[NewExpression], BasicEvaluatedExpression | undefined | null>>} */
|
251
|
+
evaluateNewExpression: new HookMap(
|
252
|
+
() => new SyncBailHook(["expression"])
|
253
|
+
),
|
254
|
+
/** @type {HookMap<SyncBailHook<[CallExpression], BasicEvaluatedExpression | undefined | null>>} */
|
255
|
+
evaluateCallExpression: new HookMap(
|
256
|
+
() => new SyncBailHook(["expression"])
|
257
|
+
),
|
258
|
+
/** @type {HookMap<SyncBailHook<[CallExpression, BasicEvaluatedExpression | undefined], BasicEvaluatedExpression | undefined | null>>} */
|
259
|
+
evaluateCallExpressionMember: new HookMap(
|
260
|
+
() => new SyncBailHook(["expression", "param"])
|
261
|
+
),
|
262
|
+
/** @type {HookMap<SyncBailHook<[Expression | Declaration | PrivateIdentifier, number], boolean | void>>} */
|
263
|
+
isPure: new HookMap(
|
264
|
+
() => new SyncBailHook(["expression", "commentsStartPosition"])
|
265
|
+
),
|
266
|
+
/** @type {SyncBailHook<[Statement | ModuleDeclaration], boolean | void>} */
|
267
|
+
preStatement: new SyncBailHook(["statement"]),
|
268
|
+
|
269
|
+
/** @type {SyncBailHook<[Statement | ModuleDeclaration], boolean | void>} */
|
270
|
+
blockPreStatement: new SyncBailHook(["declaration"]),
|
271
|
+
/** @type {SyncBailHook<[Statement | ModuleDeclaration], boolean | void>} */
|
272
|
+
statement: new SyncBailHook(["statement"]),
|
273
|
+
/** @type {SyncBailHook<[IfStatement], boolean | void>} */
|
274
|
+
statementIf: new SyncBailHook(["statement"]),
|
275
|
+
/** @type {SyncBailHook<[Expression, ClassExpression | ClassDeclaration], boolean | void>} */
|
276
|
+
classExtendsExpression: new SyncBailHook([
|
277
|
+
"expression",
|
278
|
+
"classDefinition"
|
279
|
+
]),
|
280
|
+
/** @type {SyncBailHook<[MethodDefinition | PropertyDefinition | StaticBlock, ClassExpression | ClassDeclaration], boolean | void>} */
|
281
|
+
classBodyElement: new SyncBailHook(["element", "classDefinition"]),
|
282
|
+
/** @type {SyncBailHook<[Expression, MethodDefinition | PropertyDefinition, ClassExpression | ClassDeclaration], boolean | void>} */
|
283
|
+
classBodyValue: new SyncBailHook([
|
284
|
+
"expression",
|
285
|
+
"element",
|
286
|
+
"classDefinition"
|
287
|
+
]),
|
288
|
+
/** @type {HookMap<SyncBailHook<[LabeledStatement], boolean | void>>} */
|
289
|
+
label: new HookMap(() => new SyncBailHook(["statement"])),
|
290
|
+
/** @type {SyncBailHook<[ImportDeclaration, ImportSource], boolean | void>} */
|
291
|
+
import: new SyncBailHook(["statement", "source"]),
|
292
|
+
/** @type {SyncBailHook<[ImportDeclaration, ImportSource, string, string], boolean | void>} */
|
293
|
+
importSpecifier: new SyncBailHook([
|
294
|
+
"statement",
|
295
|
+
"source",
|
296
|
+
"exportName",
|
297
|
+
"identifierName"
|
298
|
+
]),
|
299
|
+
/** @type {SyncBailHook<[ExportNamedDeclaration | ExportAllDeclaration], boolean | void>} */
|
300
|
+
export: new SyncBailHook(["statement"]),
|
301
|
+
/** @type {SyncBailHook<[ExportNamedDeclaration | ExportAllDeclaration, ImportSource], boolean | void>} */
|
302
|
+
exportImport: new SyncBailHook(["statement", "source"]),
|
303
|
+
/** @type {SyncBailHook<[ExportNamedDeclaration | ExportAllDeclaration, Declaration], boolean | void>} */
|
304
|
+
exportDeclaration: new SyncBailHook(["statement", "declaration"]),
|
305
|
+
/** @type {SyncBailHook<[ExportDefaultDeclaration, Declaration], boolean | void>} */
|
306
|
+
exportExpression: new SyncBailHook(["statement", "declaration"]),
|
307
|
+
/** @type {SyncBailHook<[ExportNamedDeclaration | ExportAllDeclaration, string, string, number | undefined], boolean | void>} */
|
308
|
+
exportSpecifier: new SyncBailHook([
|
309
|
+
"statement",
|
310
|
+
"identifierName",
|
311
|
+
"exportName",
|
312
|
+
"index"
|
313
|
+
]),
|
314
|
+
/** @type {SyncBailHook<[ExportNamedDeclaration | ExportAllDeclaration, ImportSource, string, string, number | undefined], boolean | void>} */
|
315
|
+
exportImportSpecifier: new SyncBailHook([
|
316
|
+
"statement",
|
317
|
+
"source",
|
318
|
+
"identifierName",
|
319
|
+
"exportName",
|
320
|
+
"index"
|
321
|
+
]),
|
322
|
+
/** @type {SyncBailHook<[VariableDeclarator, Statement], boolean | void>} */
|
323
|
+
preDeclarator: new SyncBailHook(["declarator", "statement"]),
|
324
|
+
/** @type {SyncBailHook<[VariableDeclarator, Statement], boolean | void>} */
|
325
|
+
declarator: new SyncBailHook(["declarator", "statement"]),
|
326
|
+
/** @type {HookMap<SyncBailHook<[Declaration], boolean | void>>} */
|
327
|
+
varDeclaration: new HookMap(() => new SyncBailHook(["declaration"])),
|
328
|
+
/** @type {HookMap<SyncBailHook<[Declaration], boolean | void>>} */
|
329
|
+
varDeclarationLet: new HookMap(() => new SyncBailHook(["declaration"])),
|
330
|
+
/** @type {HookMap<SyncBailHook<[Declaration], boolean | void>>} */
|
331
|
+
varDeclarationConst: new HookMap(() => new SyncBailHook(["declaration"])),
|
332
|
+
/** @type {HookMap<SyncBailHook<[Declaration], boolean | void>>} */
|
333
|
+
varDeclarationVar: new HookMap(() => new SyncBailHook(["declaration"])),
|
334
|
+
/** @type {HookMap<SyncBailHook<[Identifier], boolean | void>>} */
|
335
|
+
pattern: new HookMap(() => new SyncBailHook(["pattern"])),
|
336
|
+
/** @type {HookMap<SyncBailHook<[Expression], boolean | void>>} */
|
337
|
+
canRename: new HookMap(() => new SyncBailHook(["initExpression"])),
|
338
|
+
/** @type {HookMap<SyncBailHook<[Expression], boolean | void>>} */
|
339
|
+
rename: new HookMap(() => new SyncBailHook(["initExpression"])),
|
340
|
+
/** @type {HookMap<SyncBailHook<[AssignmentExpression], boolean | void>>} */
|
341
|
+
assign: new HookMap(() => new SyncBailHook(["expression"])),
|
342
|
+
/** @type {HookMap<SyncBailHook<[AssignmentExpression, string[]], boolean | void>>} */
|
343
|
+
assignMemberChain: new HookMap(
|
344
|
+
() => new SyncBailHook(["expression", "members"])
|
345
|
+
),
|
346
|
+
/** @type {HookMap<SyncBailHook<[Expression], boolean | void>>} */
|
347
|
+
typeof: new HookMap(() => new SyncBailHook(["expression"])),
|
348
|
+
/** @type {SyncBailHook<[ImportExpression], boolean | void>} */
|
349
|
+
importCall: new SyncBailHook(["expression"]),
|
350
|
+
/** @type {SyncBailHook<[Expression], boolean | void>} */
|
351
|
+
topLevelAwait: new SyncBailHook(["expression"]),
|
352
|
+
/** @type {HookMap<SyncBailHook<[CallExpression], boolean | void>>} */
|
353
|
+
call: new HookMap(() => new SyncBailHook(["expression"])),
|
354
|
+
/** Something like "a.b()" */
|
355
|
+
/** @type {HookMap<SyncBailHook<[CallExpression, string[], boolean[], Range[]], boolean | void>>} */
|
356
|
+
callMemberChain: new HookMap(
|
357
|
+
() =>
|
358
|
+
new SyncBailHook([
|
359
|
+
"expression",
|
360
|
+
"members",
|
361
|
+
"membersOptionals",
|
362
|
+
"memberRanges"
|
363
|
+
])
|
364
|
+
),
|
365
|
+
/** Something like "a.b().c.d" */
|
366
|
+
/** @type {HookMap<SyncBailHook<[Expression, string[], CallExpression, string[], Range[]], boolean | void>>} */
|
367
|
+
memberChainOfCallMemberChain: new HookMap(
|
368
|
+
() =>
|
369
|
+
new SyncBailHook([
|
370
|
+
"expression",
|
371
|
+
"calleeMembers",
|
372
|
+
"callExpression",
|
373
|
+
"members",
|
374
|
+
"memberRanges"
|
375
|
+
])
|
376
|
+
),
|
377
|
+
/** Something like "a.b().c.d()"" */
|
378
|
+
/** @type {HookMap<SyncBailHook<[CallExpression, string[], CallExpression, string[], Range[]], boolean | void>>} */
|
379
|
+
callMemberChainOfCallMemberChain: new HookMap(
|
380
|
+
() =>
|
381
|
+
new SyncBailHook([
|
382
|
+
"expression",
|
383
|
+
"calleeMembers",
|
384
|
+
"innerCallExpression",
|
385
|
+
"members",
|
386
|
+
"memberRanges"
|
387
|
+
])
|
388
|
+
),
|
389
|
+
/** @type {SyncBailHook<[ChainExpression], boolean | void>} */
|
390
|
+
optionalChaining: new SyncBailHook(["optionalChaining"]),
|
391
|
+
/** @type {HookMap<SyncBailHook<[NewExpression], boolean | void>>} */
|
392
|
+
new: new HookMap(() => new SyncBailHook(["expression"])),
|
393
|
+
/** @type {SyncBailHook<[BinaryExpression], boolean | void>} */
|
394
|
+
binaryExpression: new SyncBailHook(["binaryExpression"]),
|
395
|
+
/** @type {HookMap<SyncBailHook<[Expression], boolean | void>>} */
|
396
|
+
expression: new HookMap(() => new SyncBailHook(["expression"])),
|
397
|
+
/** @type {HookMap<SyncBailHook<[MemberExpression, string[], boolean[], Range[]], boolean | void>>} */
|
398
|
+
expressionMemberChain: new HookMap(
|
399
|
+
() =>
|
400
|
+
new SyncBailHook([
|
401
|
+
"expression",
|
402
|
+
"members",
|
403
|
+
"membersOptionals",
|
404
|
+
"memberRanges"
|
405
|
+
])
|
406
|
+
),
|
407
|
+
/** @type {HookMap<SyncBailHook<[MemberExpression, string[]], boolean | void>>} */
|
408
|
+
unhandledExpressionMemberChain: new HookMap(
|
409
|
+
() => new SyncBailHook(["expression", "members"])
|
410
|
+
),
|
411
|
+
/** @type {SyncBailHook<[ConditionalExpression], boolean | void>} */
|
412
|
+
expressionConditionalOperator: new SyncBailHook(["expression"]),
|
413
|
+
/** @type {SyncBailHook<[LogicalExpression], boolean | void>} */
|
414
|
+
expressionLogicalOperator: new SyncBailHook(["expression"]),
|
415
|
+
/** @type {SyncBailHook<[Program, Comment[]], boolean | void>} */
|
416
|
+
program: new SyncBailHook(["ast", "comments"]),
|
417
|
+
/** @type {SyncBailHook<[Program, Comment[]], boolean | void>} */
|
418
|
+
finish: new SyncBailHook(["ast", "comments"])
|
419
|
+
});
|
420
|
+
this.sourceType = sourceType;
|
421
|
+
/** @type {ScopeInfo} */
|
422
|
+
this.scope = undefined;
|
423
|
+
/** @type {ParserState} */
|
424
|
+
this.state = undefined;
|
425
|
+
this.comments = undefined;
|
426
|
+
this.semicolons = undefined;
|
427
|
+
/** @type {(Statement | ModuleDeclaration | Expression)[]} */
|
428
|
+
this.statementPath = undefined;
|
429
|
+
/** @type {Statement | ModuleDeclaration | Expression | undefined} */
|
430
|
+
this.prevStatement = undefined;
|
431
|
+
/** @type {WeakMap<Expression, Set<string>>} */
|
432
|
+
this.destructuringAssignmentProperties = undefined;
|
433
|
+
this.currentTagData = undefined;
|
434
|
+
this._initializeEvaluating();
|
435
|
+
}
|
436
|
+
|
437
|
+
_initializeEvaluating() {
|
438
|
+
this.hooks.evaluate.for("Literal").tap("JavascriptParser", _expr => {
|
439
|
+
const expr = /** @type {Literal} */ (_expr);
|
440
|
+
|
441
|
+
switch (typeof expr.value) {
|
442
|
+
case "number":
|
443
|
+
return new BasicEvaluatedExpression()
|
444
|
+
.setNumber(expr.value)
|
445
|
+
.setRange(/** @type {Range} */ (expr.range));
|
446
|
+
case "bigint":
|
447
|
+
return new BasicEvaluatedExpression()
|
448
|
+
.setBigInt(expr.value)
|
449
|
+
.setRange(/** @type {Range} */ (expr.range));
|
450
|
+
case "string":
|
451
|
+
return new BasicEvaluatedExpression()
|
452
|
+
.setString(expr.value)
|
453
|
+
.setRange(/** @type {Range} */ (expr.range));
|
454
|
+
case "boolean":
|
455
|
+
return new BasicEvaluatedExpression()
|
456
|
+
.setBoolean(expr.value)
|
457
|
+
.setRange(/** @type {Range} */ (expr.range));
|
458
|
+
}
|
459
|
+
if (expr.value === null) {
|
460
|
+
return new BasicEvaluatedExpression()
|
461
|
+
.setNull()
|
462
|
+
.setRange(/** @type {Range} */ (expr.range));
|
463
|
+
}
|
464
|
+
if (expr.value instanceof RegExp) {
|
465
|
+
return new BasicEvaluatedExpression()
|
466
|
+
.setRegExp(expr.value)
|
467
|
+
.setRange(/** @type {Range} */ (expr.range));
|
468
|
+
}
|
469
|
+
});
|
470
|
+
this.hooks.evaluate.for("NewExpression").tap("JavascriptParser", _expr => {
|
471
|
+
const expr = /** @type {NewExpression} */ (_expr);
|
472
|
+
const callee = expr.callee;
|
473
|
+
if (callee.type !== "Identifier") return;
|
474
|
+
if (callee.name !== "RegExp") {
|
475
|
+
return this.callHooksForName(
|
476
|
+
this.hooks.evaluateNewExpression,
|
477
|
+
callee.name,
|
478
|
+
expr
|
479
|
+
);
|
480
|
+
} else if (
|
481
|
+
expr.arguments.length > 2 ||
|
482
|
+
this.getVariableInfo("RegExp") !== "RegExp"
|
483
|
+
)
|
484
|
+
return;
|
485
|
+
|
486
|
+
let regExp, flags;
|
487
|
+
const arg1 = expr.arguments[0];
|
488
|
+
|
489
|
+
if (arg1) {
|
490
|
+
if (arg1.type === "SpreadElement") return;
|
491
|
+
|
492
|
+
const evaluatedRegExp = this.evaluateExpression(arg1);
|
493
|
+
|
494
|
+
if (!evaluatedRegExp) return;
|
495
|
+
|
496
|
+
regExp = evaluatedRegExp.asString();
|
497
|
+
|
498
|
+
if (!regExp) return;
|
499
|
+
} else {
|
500
|
+
return new BasicEvaluatedExpression()
|
501
|
+
.setRegExp(new RegExp(""))
|
502
|
+
.setRange(/** @type {Range} */ (expr.range));
|
503
|
+
}
|
504
|
+
|
505
|
+
const arg2 = expr.arguments[1];
|
506
|
+
|
507
|
+
if (arg2) {
|
508
|
+
if (arg2.type === "SpreadElement") return;
|
509
|
+
|
510
|
+
const evaluatedFlags = this.evaluateExpression(arg2);
|
511
|
+
|
512
|
+
if (!evaluatedFlags) return;
|
513
|
+
|
514
|
+
if (!evaluatedFlags.isUndefined()) {
|
515
|
+
flags = evaluatedFlags.asString();
|
516
|
+
|
517
|
+
if (
|
518
|
+
flags === undefined ||
|
519
|
+
!BasicEvaluatedExpression.isValidRegExpFlags(flags)
|
520
|
+
)
|
521
|
+
return;
|
522
|
+
}
|
523
|
+
}
|
524
|
+
|
525
|
+
return new BasicEvaluatedExpression()
|
526
|
+
.setRegExp(flags ? new RegExp(regExp, flags) : new RegExp(regExp))
|
527
|
+
.setRange(/** @type {Range} */ (expr.range));
|
528
|
+
});
|
529
|
+
this.hooks.evaluate
|
530
|
+
.for("LogicalExpression")
|
531
|
+
.tap("JavascriptParser", _expr => {
|
532
|
+
const expr = /** @type {LogicalExpression} */ (_expr);
|
533
|
+
|
534
|
+
const left = this.evaluateExpression(expr.left);
|
535
|
+
let returnRight = false;
|
536
|
+
/** @type {boolean|undefined} */
|
537
|
+
let allowedRight;
|
538
|
+
if (expr.operator === "&&") {
|
539
|
+
const leftAsBool = left.asBool();
|
540
|
+
if (leftAsBool === false) return left.setRange(expr.range);
|
541
|
+
returnRight = leftAsBool === true;
|
542
|
+
allowedRight = false;
|
543
|
+
} else if (expr.operator === "||") {
|
544
|
+
const leftAsBool = left.asBool();
|
545
|
+
if (leftAsBool === true) return left.setRange(expr.range);
|
546
|
+
returnRight = leftAsBool === false;
|
547
|
+
allowedRight = true;
|
548
|
+
} else if (expr.operator === "??") {
|
549
|
+
const leftAsNullish = left.asNullish();
|
550
|
+
if (leftAsNullish === false) return left.setRange(expr.range);
|
551
|
+
if (leftAsNullish !== true) return;
|
552
|
+
returnRight = true;
|
553
|
+
} else return;
|
554
|
+
const right = this.evaluateExpression(expr.right);
|
555
|
+
if (returnRight) {
|
556
|
+
if (left.couldHaveSideEffects()) right.setSideEffects();
|
557
|
+
return right.setRange(expr.range);
|
558
|
+
}
|
559
|
+
|
560
|
+
const asBool = right.asBool();
|
561
|
+
|
562
|
+
if (allowedRight === true && asBool === true) {
|
563
|
+
return new BasicEvaluatedExpression()
|
564
|
+
.setRange(expr.range)
|
565
|
+
.setTruthy();
|
566
|
+
} else if (allowedRight === false && asBool === false) {
|
567
|
+
return new BasicEvaluatedExpression().setRange(expr.range).setFalsy();
|
568
|
+
}
|
569
|
+
});
|
570
|
+
|
571
|
+
/**
|
572
|
+
* In simple logical cases, we can use valueAsExpression to assist us in evaluating the expression on
|
573
|
+
* either side of a [BinaryExpression](https://github.com/estree/estree/blob/master/es5.md#binaryexpression).
|
574
|
+
* This supports scenarios in webpack like conditionally `import()`'ing modules based on some simple evaluation:
|
575
|
+
*
|
576
|
+
* ```js
|
577
|
+
* if (1 === 3) {
|
578
|
+
* import("./moduleA"); // webpack will auto evaluate this and not import the modules
|
579
|
+
* }
|
580
|
+
* ```
|
581
|
+
*
|
582
|
+
* Additional scenarios include evaluation of strings inside of dynamic import statements:
|
583
|
+
*
|
584
|
+
* ```js
|
585
|
+
* const foo = "foo";
|
586
|
+
* const bar = "bar";
|
587
|
+
*
|
588
|
+
* import("./" + foo + bar); // webpack will auto evaluate this into import("./foobar")
|
589
|
+
* ```
|
590
|
+
* @param {boolean | number | BigInt | string} value the value to convert to an expression
|
591
|
+
* @param {BinaryExpression | UnaryExpression} expr the expression being evaluated
|
592
|
+
* @param {boolean} sideEffects whether the expression has side effects
|
593
|
+
* @returns {BasicEvaluatedExpression | undefined} the evaluated expression
|
594
|
+
* @example
|
595
|
+
*
|
596
|
+
* ```js
|
597
|
+
* const binaryExpr = new BinaryExpression("+",
|
598
|
+
* { type: "Literal", value: 2 },
|
599
|
+
* { type: "Literal", value: 3 }
|
600
|
+
* );
|
601
|
+
*
|
602
|
+
* const leftValue = 2;
|
603
|
+
* const rightValue = 3;
|
604
|
+
*
|
605
|
+
* const leftExpr = valueAsExpression(leftValue, binaryExpr.left, false);
|
606
|
+
* const rightExpr = valueAsExpression(rightValue, binaryExpr.right, false);
|
607
|
+
* const result = new BasicEvaluatedExpression()
|
608
|
+
* .setNumber(leftExpr.number + rightExpr.number)
|
609
|
+
* .setRange(binaryExpr.range);
|
610
|
+
*
|
611
|
+
* console.log(result.number); // Output: 5
|
612
|
+
* ```
|
613
|
+
*/
|
614
|
+
const valueAsExpression = (value, expr, sideEffects) => {
|
615
|
+
switch (typeof value) {
|
616
|
+
case "boolean":
|
617
|
+
return new BasicEvaluatedExpression()
|
618
|
+
.setBoolean(value)
|
619
|
+
.setSideEffects(sideEffects)
|
620
|
+
.setRange(/** @type {Range} */ (expr.range));
|
621
|
+
case "number":
|
622
|
+
return new BasicEvaluatedExpression()
|
623
|
+
.setNumber(value)
|
624
|
+
.setSideEffects(sideEffects)
|
625
|
+
.setRange(/** @type {Range} */ (expr.range));
|
626
|
+
case "bigint":
|
627
|
+
return new BasicEvaluatedExpression()
|
628
|
+
.setBigInt(value)
|
629
|
+
.setSideEffects(sideEffects)
|
630
|
+
.setRange(/** @type {Range} */ (expr.range));
|
631
|
+
case "string":
|
632
|
+
return new BasicEvaluatedExpression()
|
633
|
+
.setString(value)
|
634
|
+
.setSideEffects(sideEffects)
|
635
|
+
.setRange(/** @type {Range} */ (expr.range));
|
636
|
+
}
|
637
|
+
};
|
638
|
+
|
639
|
+
this.hooks.evaluate
|
640
|
+
.for("BinaryExpression")
|
641
|
+
.tap("JavascriptParser", _expr => {
|
642
|
+
const expr = /** @type {BinaryExpression} */ (_expr);
|
643
|
+
|
644
|
+
/**
|
645
|
+
* Evaluates a binary expression if and only if it is a const operation (e.g. 1 + 2, "a" + "b", etc.).
|
646
|
+
*
|
647
|
+
* @template T
|
648
|
+
* @param {(leftOperand: T, rightOperand: T) => boolean | number | BigInt | string} operandHandler the handler for the operation (e.g. (a, b) => a + b)
|
649
|
+
* @returns {BasicEvaluatedExpression | undefined} the evaluated expression
|
650
|
+
*/
|
651
|
+
const handleConstOperation = operandHandler => {
|
652
|
+
const left = this.evaluateExpression(expr.left);
|
653
|
+
if (!left.isCompileTimeValue()) return;
|
654
|
+
|
655
|
+
const right = this.evaluateExpression(expr.right);
|
656
|
+
if (!right.isCompileTimeValue()) return;
|
657
|
+
|
658
|
+
const result = operandHandler(
|
659
|
+
left.asCompileTimeValue(),
|
660
|
+
right.asCompileTimeValue()
|
661
|
+
);
|
662
|
+
return valueAsExpression(
|
663
|
+
result,
|
664
|
+
expr,
|
665
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
666
|
+
);
|
667
|
+
};
|
668
|
+
|
669
|
+
/**
|
670
|
+
* Helper function to determine if two booleans are always different. This is used in `handleStrictEqualityComparison`
|
671
|
+
* to determine if an expressions boolean or nullish conversion is equal or not.
|
672
|
+
*
|
673
|
+
* @param {boolean} a first boolean to compare
|
674
|
+
* @param {boolean} b second boolean to compare
|
675
|
+
* @returns {boolean} true if the two booleans are always different, false otherwise
|
676
|
+
*/
|
677
|
+
const isAlwaysDifferent = (a, b) =>
|
678
|
+
(a === true && b === false) || (a === false && b === true);
|
679
|
+
|
680
|
+
const handleTemplateStringCompare = (left, right, res, eql) => {
|
681
|
+
const getPrefix = parts => {
|
682
|
+
let value = "";
|
683
|
+
for (const p of parts) {
|
684
|
+
const v = p.asString();
|
685
|
+
if (v !== undefined) value += v;
|
686
|
+
else break;
|
687
|
+
}
|
688
|
+
return value;
|
689
|
+
};
|
690
|
+
const getSuffix = parts => {
|
691
|
+
let value = "";
|
692
|
+
for (let i = parts.length - 1; i >= 0; i--) {
|
693
|
+
const v = parts[i].asString();
|
694
|
+
if (v !== undefined) value = v + value;
|
695
|
+
else break;
|
696
|
+
}
|
697
|
+
return value;
|
698
|
+
};
|
699
|
+
const leftPrefix = getPrefix(left.parts);
|
700
|
+
const rightPrefix = getPrefix(right.parts);
|
701
|
+
const leftSuffix = getSuffix(left.parts);
|
702
|
+
const rightSuffix = getSuffix(right.parts);
|
703
|
+
const lenPrefix = Math.min(leftPrefix.length, rightPrefix.length);
|
704
|
+
const lenSuffix = Math.min(leftSuffix.length, rightSuffix.length);
|
705
|
+
const prefixMismatch =
|
706
|
+
lenPrefix > 0 &&
|
707
|
+
leftPrefix.slice(0, lenPrefix) !== rightPrefix.slice(0, lenPrefix);
|
708
|
+
const suffixMismatch =
|
709
|
+
lenSuffix > 0 &&
|
710
|
+
leftSuffix.slice(-lenSuffix) !== rightSuffix.slice(-lenSuffix);
|
711
|
+
if (prefixMismatch || suffixMismatch) {
|
712
|
+
return res
|
713
|
+
.setBoolean(!eql)
|
714
|
+
.setSideEffects(
|
715
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
716
|
+
);
|
717
|
+
}
|
718
|
+
};
|
719
|
+
|
720
|
+
/**
|
721
|
+
* Helper function to handle BinaryExpressions using strict equality comparisons (e.g. "===" and "!==").
|
722
|
+
* @param {boolean} eql true for "===" and false for "!=="
|
723
|
+
* @returns {BasicEvaluatedExpression | undefined} the evaluated expression
|
724
|
+
*/
|
725
|
+
const handleStrictEqualityComparison = eql => {
|
726
|
+
const left = this.evaluateExpression(expr.left);
|
727
|
+
const right = this.evaluateExpression(expr.right);
|
728
|
+
const res = new BasicEvaluatedExpression();
|
729
|
+
res.setRange(/** @type {Range} */ (expr.range));
|
730
|
+
|
731
|
+
const leftConst = left.isCompileTimeValue();
|
732
|
+
const rightConst = right.isCompileTimeValue();
|
733
|
+
|
734
|
+
if (leftConst && rightConst) {
|
735
|
+
return res
|
736
|
+
.setBoolean(
|
737
|
+
eql ===
|
738
|
+
(left.asCompileTimeValue() === right.asCompileTimeValue())
|
739
|
+
)
|
740
|
+
.setSideEffects(
|
741
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
742
|
+
);
|
743
|
+
}
|
744
|
+
|
745
|
+
if (left.isArray() && right.isArray()) {
|
746
|
+
return res
|
747
|
+
.setBoolean(!eql)
|
748
|
+
.setSideEffects(
|
749
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
750
|
+
);
|
751
|
+
}
|
752
|
+
if (left.isTemplateString() && right.isTemplateString()) {
|
753
|
+
return handleTemplateStringCompare(left, right, res, eql);
|
754
|
+
}
|
755
|
+
|
756
|
+
const leftPrimitive = left.isPrimitiveType();
|
757
|
+
const rightPrimitive = right.isPrimitiveType();
|
758
|
+
|
759
|
+
if (
|
760
|
+
// Primitive !== Object or
|
761
|
+
// compile-time object types are never equal to something at runtime
|
762
|
+
(leftPrimitive === false &&
|
763
|
+
(leftConst || rightPrimitive === true)) ||
|
764
|
+
(rightPrimitive === false &&
|
765
|
+
(rightConst || leftPrimitive === true)) ||
|
766
|
+
// Different nullish or boolish status also means not equal
|
767
|
+
isAlwaysDifferent(
|
768
|
+
/** @type {boolean} */ (left.asBool()),
|
769
|
+
/** @type {boolean} */ (right.asBool())
|
770
|
+
) ||
|
771
|
+
isAlwaysDifferent(
|
772
|
+
/** @type {boolean} */ (left.asNullish()),
|
773
|
+
/** @type {boolean} */ (right.asNullish())
|
774
|
+
)
|
775
|
+
) {
|
776
|
+
return res
|
777
|
+
.setBoolean(!eql)
|
778
|
+
.setSideEffects(
|
779
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
780
|
+
);
|
781
|
+
}
|
782
|
+
};
|
783
|
+
|
784
|
+
/**
|
785
|
+
* Helper function to handle BinaryExpressions using abstract equality comparisons (e.g. "==" and "!=").
|
786
|
+
* @param {boolean} eql true for "==" and false for "!="
|
787
|
+
* @returns {BasicEvaluatedExpression | undefined} the evaluated expression
|
788
|
+
*/
|
789
|
+
const handleAbstractEqualityComparison = eql => {
|
790
|
+
const left = this.evaluateExpression(expr.left);
|
791
|
+
const right = this.evaluateExpression(expr.right);
|
792
|
+
const res = new BasicEvaluatedExpression();
|
793
|
+
res.setRange(expr.range);
|
794
|
+
|
795
|
+
const leftConst = left.isCompileTimeValue();
|
796
|
+
const rightConst = right.isCompileTimeValue();
|
797
|
+
|
798
|
+
if (leftConst && rightConst) {
|
799
|
+
return res
|
800
|
+
.setBoolean(
|
801
|
+
eql ===
|
802
|
+
// eslint-disable-next-line eqeqeq
|
803
|
+
(left.asCompileTimeValue() == right.asCompileTimeValue())
|
804
|
+
)
|
805
|
+
.setSideEffects(
|
806
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
807
|
+
);
|
808
|
+
}
|
809
|
+
|
810
|
+
if (left.isArray() && right.isArray()) {
|
811
|
+
return res
|
812
|
+
.setBoolean(!eql)
|
813
|
+
.setSideEffects(
|
814
|
+
left.couldHaveSideEffects() || right.couldHaveSideEffects()
|
815
|
+
);
|
816
|
+
}
|
817
|
+
if (left.isTemplateString() && right.isTemplateString()) {
|
818
|
+
return handleTemplateStringCompare(left, right, res, eql);
|
819
|
+
}
|
820
|
+
};
|
821
|
+
|
822
|
+
if (expr.operator === "+") {
|
823
|
+
const left = this.evaluateExpression(expr.left);
|
824
|
+
const right = this.evaluateExpression(expr.right);
|
825
|
+
const res = new BasicEvaluatedExpression();
|
826
|
+
if (left.isString()) {
|
827
|
+
if (right.isString()) {
|
828
|
+
res.setString(left.string + right.string);
|
829
|
+
} else if (right.isNumber()) {
|
830
|
+
res.setString(left.string + right.number);
|
831
|
+
} else if (
|
832
|
+
right.isWrapped() &&
|
833
|
+
right.prefix &&
|
834
|
+
right.prefix.isString()
|
835
|
+
) {
|
836
|
+
// "left" + ("prefix" + inner + "postfix")
|
837
|
+
// => ("leftPrefix" + inner + "postfix")
|
838
|
+
res.setWrapped(
|
839
|
+
new BasicEvaluatedExpression()
|
840
|
+
.setString(left.string + right.prefix.string)
|
841
|
+
.setRange(joinRanges(left.range, right.prefix.range)),
|
842
|
+
right.postfix,
|
843
|
+
right.wrappedInnerExpressions
|
844
|
+
);
|
845
|
+
} else if (right.isWrapped()) {
|
846
|
+
// "left" + ([null] + inner + "postfix")
|
847
|
+
// => ("left" + inner + "postfix")
|
848
|
+
res.setWrapped(
|
849
|
+
left,
|
850
|
+
right.postfix,
|
851
|
+
right.wrappedInnerExpressions
|
852
|
+
);
|
853
|
+
} else {
|
854
|
+
// "left" + expr
|
855
|
+
// => ("left" + expr + "")
|
856
|
+
res.setWrapped(left, null, [right]);
|
857
|
+
}
|
858
|
+
} else if (left.isNumber()) {
|
859
|
+
if (right.isString()) {
|
860
|
+
res.setString(left.number + right.string);
|
861
|
+
} else if (right.isNumber()) {
|
862
|
+
res.setNumber(left.number + right.number);
|
863
|
+
} else {
|
864
|
+
return;
|
865
|
+
}
|
866
|
+
} else if (left.isBigInt()) {
|
867
|
+
if (right.isBigInt()) {
|
868
|
+
res.setBigInt(left.bigint + right.bigint);
|
869
|
+
}
|
870
|
+
} else if (left.isWrapped()) {
|
871
|
+
if (left.postfix && left.postfix.isString() && right.isString()) {
|
872
|
+
// ("prefix" + inner + "postfix") + "right"
|
873
|
+
// => ("prefix" + inner + "postfixRight")
|
874
|
+
res.setWrapped(
|
875
|
+
left.prefix,
|
876
|
+
new BasicEvaluatedExpression()
|
877
|
+
.setString(left.postfix.string + right.string)
|
878
|
+
.setRange(joinRanges(left.postfix.range, right.range)),
|
879
|
+
left.wrappedInnerExpressions
|
880
|
+
);
|
881
|
+
} else if (
|
882
|
+
left.postfix &&
|
883
|
+
left.postfix.isString() &&
|
884
|
+
right.isNumber()
|
885
|
+
) {
|
886
|
+
// ("prefix" + inner + "postfix") + 123
|
887
|
+
// => ("prefix" + inner + "postfix123")
|
888
|
+
res.setWrapped(
|
889
|
+
left.prefix,
|
890
|
+
new BasicEvaluatedExpression()
|
891
|
+
.setString(left.postfix.string + right.number)
|
892
|
+
.setRange(joinRanges(left.postfix.range, right.range)),
|
893
|
+
left.wrappedInnerExpressions
|
894
|
+
);
|
895
|
+
} else if (right.isString()) {
|
896
|
+
// ("prefix" + inner + [null]) + "right"
|
897
|
+
// => ("prefix" + inner + "right")
|
898
|
+
res.setWrapped(left.prefix, right, left.wrappedInnerExpressions);
|
899
|
+
} else if (right.isNumber()) {
|
900
|
+
// ("prefix" + inner + [null]) + 123
|
901
|
+
// => ("prefix" + inner + "123")
|
902
|
+
res.setWrapped(
|
903
|
+
left.prefix,
|
904
|
+
new BasicEvaluatedExpression()
|
905
|
+
.setString(right.number + "")
|
906
|
+
.setRange(right.range),
|
907
|
+
left.wrappedInnerExpressions
|
908
|
+
);
|
909
|
+
} else if (right.isWrapped()) {
|
910
|
+
// ("prefix1" + inner1 + "postfix1") + ("prefix2" + inner2 + "postfix2")
|
911
|
+
// ("prefix1" + inner1 + "postfix1" + "prefix2" + inner2 + "postfix2")
|
912
|
+
res.setWrapped(
|
913
|
+
left.prefix,
|
914
|
+
right.postfix,
|
915
|
+
left.wrappedInnerExpressions &&
|
916
|
+
right.wrappedInnerExpressions &&
|
917
|
+
left.wrappedInnerExpressions
|
918
|
+
.concat(left.postfix ? [left.postfix] : [])
|
919
|
+
.concat(right.prefix ? [right.prefix] : [])
|
920
|
+
.concat(right.wrappedInnerExpressions)
|
921
|
+
);
|
922
|
+
} else {
|
923
|
+
// ("prefix" + inner + postfix) + expr
|
924
|
+
// => ("prefix" + inner + postfix + expr + [null])
|
925
|
+
res.setWrapped(
|
926
|
+
left.prefix,
|
927
|
+
null,
|
928
|
+
left.wrappedInnerExpressions &&
|
929
|
+
left.wrappedInnerExpressions.concat(
|
930
|
+
left.postfix ? [left.postfix, right] : [right]
|
931
|
+
)
|
932
|
+
);
|
933
|
+
}
|
934
|
+
} else {
|
935
|
+
if (right.isString()) {
|
936
|
+
// left + "right"
|
937
|
+
// => ([null] + left + "right")
|
938
|
+
res.setWrapped(null, right, [left]);
|
939
|
+
} else if (right.isWrapped()) {
|
940
|
+
// left + (prefix + inner + "postfix")
|
941
|
+
// => ([null] + left + prefix + inner + "postfix")
|
942
|
+
res.setWrapped(
|
943
|
+
null,
|
944
|
+
right.postfix,
|
945
|
+
right.wrappedInnerExpressions &&
|
946
|
+
(right.prefix ? [left, right.prefix] : [left]).concat(
|
947
|
+
right.wrappedInnerExpressions
|
948
|
+
)
|
949
|
+
);
|
950
|
+
} else {
|
951
|
+
return;
|
952
|
+
}
|
953
|
+
}
|
954
|
+
if (left.couldHaveSideEffects() || right.couldHaveSideEffects())
|
955
|
+
res.setSideEffects();
|
956
|
+
res.setRange(expr.range);
|
957
|
+
return res;
|
958
|
+
} else if (expr.operator === "-") {
|
959
|
+
return handleConstOperation((l, r) => l - r);
|
960
|
+
} else if (expr.operator === "*") {
|
961
|
+
return handleConstOperation((l, r) => l * r);
|
962
|
+
} else if (expr.operator === "/") {
|
963
|
+
return handleConstOperation((l, r) => l / r);
|
964
|
+
} else if (expr.operator === "**") {
|
965
|
+
return handleConstOperation((l, r) => l ** r);
|
966
|
+
} else if (expr.operator === "===") {
|
967
|
+
return handleStrictEqualityComparison(true);
|
968
|
+
} else if (expr.operator === "==") {
|
969
|
+
return handleAbstractEqualityComparison(true);
|
970
|
+
} else if (expr.operator === "!==") {
|
971
|
+
return handleStrictEqualityComparison(false);
|
972
|
+
} else if (expr.operator === "!=") {
|
973
|
+
return handleAbstractEqualityComparison(false);
|
974
|
+
} else if (expr.operator === "&") {
|
975
|
+
return handleConstOperation((l, r) => l & r);
|
976
|
+
} else if (expr.operator === "|") {
|
977
|
+
return handleConstOperation((l, r) => l | r);
|
978
|
+
} else if (expr.operator === "^") {
|
979
|
+
return handleConstOperation((l, r) => l ^ r);
|
980
|
+
} else if (expr.operator === ">>>") {
|
981
|
+
return handleConstOperation((l, r) => l >>> r);
|
982
|
+
} else if (expr.operator === ">>") {
|
983
|
+
return handleConstOperation((l, r) => l >> r);
|
984
|
+
} else if (expr.operator === "<<") {
|
985
|
+
return handleConstOperation((l, r) => l << r);
|
986
|
+
} else if (expr.operator === "<") {
|
987
|
+
return handleConstOperation((l, r) => l < r);
|
988
|
+
} else if (expr.operator === ">") {
|
989
|
+
return handleConstOperation((l, r) => l > r);
|
990
|
+
} else if (expr.operator === "<=") {
|
991
|
+
return handleConstOperation((l, r) => l <= r);
|
992
|
+
} else if (expr.operator === ">=") {
|
993
|
+
return handleConstOperation((l, r) => l >= r);
|
994
|
+
}
|
995
|
+
});
|
996
|
+
this.hooks.evaluate
|
997
|
+
.for("UnaryExpression")
|
998
|
+
.tap("JavascriptParser", _expr => {
|
999
|
+
const expr = /** @type {UnaryExpression} */ (_expr);
|
1000
|
+
|
1001
|
+
/**
|
1002
|
+
* Evaluates a UnaryExpression if and only if it is a basic const operator (e.g. +a, -a, ~a).
|
1003
|
+
*
|
1004
|
+
* @template T
|
1005
|
+
* @param {(operand: T) => boolean | number | BigInt | string} operandHandler handler for the operand
|
1006
|
+
* @returns {BasicEvaluatedExpression | undefined} evaluated expression
|
1007
|
+
*/
|
1008
|
+
const handleConstOperation = operandHandler => {
|
1009
|
+
const argument = this.evaluateExpression(expr.argument);
|
1010
|
+
if (!argument.isCompileTimeValue()) return;
|
1011
|
+
const result = operandHandler(argument.asCompileTimeValue());
|
1012
|
+
return valueAsExpression(
|
1013
|
+
result,
|
1014
|
+
expr,
|
1015
|
+
argument.couldHaveSideEffects()
|
1016
|
+
);
|
1017
|
+
};
|
1018
|
+
|
1019
|
+
if (expr.operator === "typeof") {
|
1020
|
+
switch (expr.argument.type) {
|
1021
|
+
case "Identifier": {
|
1022
|
+
const res = this.callHooksForName(
|
1023
|
+
this.hooks.evaluateTypeof,
|
1024
|
+
expr.argument.name,
|
1025
|
+
expr
|
1026
|
+
);
|
1027
|
+
if (res !== undefined) return res;
|
1028
|
+
break;
|
1029
|
+
}
|
1030
|
+
case "MetaProperty": {
|
1031
|
+
const res = this.callHooksForName(
|
1032
|
+
this.hooks.evaluateTypeof,
|
1033
|
+
getRootName(expr.argument),
|
1034
|
+
expr
|
1035
|
+
);
|
1036
|
+
if (res !== undefined) return res;
|
1037
|
+
break;
|
1038
|
+
}
|
1039
|
+
case "MemberExpression": {
|
1040
|
+
const res = this.callHooksForExpression(
|
1041
|
+
this.hooks.evaluateTypeof,
|
1042
|
+
expr.argument,
|
1043
|
+
expr
|
1044
|
+
);
|
1045
|
+
if (res !== undefined) return res;
|
1046
|
+
break;
|
1047
|
+
}
|
1048
|
+
case "ChainExpression": {
|
1049
|
+
const res = this.callHooksForExpression(
|
1050
|
+
this.hooks.evaluateTypeof,
|
1051
|
+
expr.argument.expression,
|
1052
|
+
expr
|
1053
|
+
);
|
1054
|
+
if (res !== undefined) return res;
|
1055
|
+
break;
|
1056
|
+
}
|
1057
|
+
case "FunctionExpression": {
|
1058
|
+
return new BasicEvaluatedExpression()
|
1059
|
+
.setString("function")
|
1060
|
+
.setRange(expr.range);
|
1061
|
+
}
|
1062
|
+
}
|
1063
|
+
const arg = this.evaluateExpression(expr.argument);
|
1064
|
+
if (arg.isUnknown()) return;
|
1065
|
+
if (arg.isString()) {
|
1066
|
+
return new BasicEvaluatedExpression()
|
1067
|
+
.setString("string")
|
1068
|
+
.setRange(expr.range);
|
1069
|
+
}
|
1070
|
+
if (arg.isWrapped()) {
|
1071
|
+
return new BasicEvaluatedExpression()
|
1072
|
+
.setString("string")
|
1073
|
+
.setSideEffects()
|
1074
|
+
.setRange(expr.range);
|
1075
|
+
}
|
1076
|
+
if (arg.isUndefined()) {
|
1077
|
+
return new BasicEvaluatedExpression()
|
1078
|
+
.setString("undefined")
|
1079
|
+
.setRange(expr.range);
|
1080
|
+
}
|
1081
|
+
if (arg.isNumber()) {
|
1082
|
+
return new BasicEvaluatedExpression()
|
1083
|
+
.setString("number")
|
1084
|
+
.setRange(expr.range);
|
1085
|
+
}
|
1086
|
+
if (arg.isBigInt()) {
|
1087
|
+
return new BasicEvaluatedExpression()
|
1088
|
+
.setString("bigint")
|
1089
|
+
.setRange(expr.range);
|
1090
|
+
}
|
1091
|
+
if (arg.isBoolean()) {
|
1092
|
+
return new BasicEvaluatedExpression()
|
1093
|
+
.setString("boolean")
|
1094
|
+
.setRange(expr.range);
|
1095
|
+
}
|
1096
|
+
if (arg.isConstArray() || arg.isRegExp() || arg.isNull()) {
|
1097
|
+
return new BasicEvaluatedExpression()
|
1098
|
+
.setString("object")
|
1099
|
+
.setRange(expr.range);
|
1100
|
+
}
|
1101
|
+
if (arg.isArray()) {
|
1102
|
+
return new BasicEvaluatedExpression()
|
1103
|
+
.setString("object")
|
1104
|
+
.setSideEffects(arg.couldHaveSideEffects())
|
1105
|
+
.setRange(expr.range);
|
1106
|
+
}
|
1107
|
+
} else if (expr.operator === "!") {
|
1108
|
+
const argument = this.evaluateExpression(expr.argument);
|
1109
|
+
const bool = argument.asBool();
|
1110
|
+
if (typeof bool !== "boolean") return;
|
1111
|
+
return new BasicEvaluatedExpression()
|
1112
|
+
.setBoolean(!bool)
|
1113
|
+
.setSideEffects(argument.couldHaveSideEffects())
|
1114
|
+
.setRange(expr.range);
|
1115
|
+
} else if (expr.operator === "~") {
|
1116
|
+
return handleConstOperation(v => ~v);
|
1117
|
+
} else if (expr.operator === "+") {
|
1118
|
+
return handleConstOperation(v => +v);
|
1119
|
+
} else if (expr.operator === "-") {
|
1120
|
+
return handleConstOperation(v => -v);
|
1121
|
+
}
|
1122
|
+
});
|
1123
|
+
this.hooks.evaluateTypeof.for("undefined").tap("JavascriptParser", expr => {
|
1124
|
+
return new BasicEvaluatedExpression()
|
1125
|
+
.setString("undefined")
|
1126
|
+
.setRange(expr.range);
|
1127
|
+
});
|
1128
|
+
this.hooks.evaluate.for("Identifier").tap("JavascriptParser", expr => {
|
1129
|
+
if (/** @type {Identifier} */ (expr).name === "undefined") {
|
1130
|
+
return new BasicEvaluatedExpression()
|
1131
|
+
.setUndefined()
|
1132
|
+
.setRange(expr.range);
|
1133
|
+
}
|
1134
|
+
});
|
1135
|
+
/**
|
1136
|
+
* @param {string} exprType expression type name
|
1137
|
+
* @param {function(Expression): GetInfoResult | undefined} getInfo get info
|
1138
|
+
* @returns {void}
|
1139
|
+
*/
|
1140
|
+
const tapEvaluateWithVariableInfo = (exprType, getInfo) => {
|
1141
|
+
/** @type {Expression | undefined} */
|
1142
|
+
let cachedExpression = undefined;
|
1143
|
+
/** @type {GetInfoResult | undefined} */
|
1144
|
+
let cachedInfo = undefined;
|
1145
|
+
this.hooks.evaluate.for(exprType).tap("JavascriptParser", expr => {
|
1146
|
+
const expression = /** @type {MemberExpression} */ (expr);
|
1147
|
+
|
1148
|
+
const info = getInfo(expr);
|
1149
|
+
if (info !== undefined) {
|
1150
|
+
return this.callHooksForInfoWithFallback(
|
1151
|
+
this.hooks.evaluateIdentifier,
|
1152
|
+
info.name,
|
1153
|
+
name => {
|
1154
|
+
cachedExpression = expression;
|
1155
|
+
cachedInfo = info;
|
1156
|
+
},
|
1157
|
+
name => {
|
1158
|
+
const hook = this.hooks.evaluateDefinedIdentifier.get(name);
|
1159
|
+
if (hook !== undefined) {
|
1160
|
+
return hook.call(expression);
|
1161
|
+
}
|
1162
|
+
},
|
1163
|
+
expression
|
1164
|
+
);
|
1165
|
+
}
|
1166
|
+
});
|
1167
|
+
this.hooks.evaluate
|
1168
|
+
.for(exprType)
|
1169
|
+
.tap({ name: "JavascriptParser", stage: 100 }, expr => {
|
1170
|
+
const info = cachedExpression === expr ? cachedInfo : getInfo(expr);
|
1171
|
+
if (info !== undefined) {
|
1172
|
+
return new BasicEvaluatedExpression()
|
1173
|
+
.setIdentifier(
|
1174
|
+
info.name,
|
1175
|
+
info.rootInfo,
|
1176
|
+
info.getMembers,
|
1177
|
+
info.getMembersOptionals,
|
1178
|
+
info.getMemberRanges
|
1179
|
+
)
|
1180
|
+
.setRange(expr.range);
|
1181
|
+
}
|
1182
|
+
});
|
1183
|
+
this.hooks.finish.tap("JavascriptParser", () => {
|
1184
|
+
// Cleanup for GC
|
1185
|
+
cachedExpression = cachedInfo = undefined;
|
1186
|
+
});
|
1187
|
+
};
|
1188
|
+
tapEvaluateWithVariableInfo("Identifier", expr => {
|
1189
|
+
const info = this.getVariableInfo(/** @type {Identifier} */ (expr).name);
|
1190
|
+
if (
|
1191
|
+
typeof info === "string" ||
|
1192
|
+
(info instanceof VariableInfo && typeof info.freeName === "string")
|
1193
|
+
) {
|
1194
|
+
return {
|
1195
|
+
name: info,
|
1196
|
+
rootInfo: info,
|
1197
|
+
getMembers: () => [],
|
1198
|
+
getMembersOptionals: () => [],
|
1199
|
+
getMemberRanges: () => []
|
1200
|
+
};
|
1201
|
+
}
|
1202
|
+
});
|
1203
|
+
tapEvaluateWithVariableInfo("ThisExpression", expr => {
|
1204
|
+
const info = this.getVariableInfo("this");
|
1205
|
+
if (
|
1206
|
+
typeof info === "string" ||
|
1207
|
+
(info instanceof VariableInfo && typeof info.freeName === "string")
|
1208
|
+
) {
|
1209
|
+
return {
|
1210
|
+
name: info,
|
1211
|
+
rootInfo: info,
|
1212
|
+
getMembers: () => [],
|
1213
|
+
getMembersOptionals: () => [],
|
1214
|
+
getMemberRanges: () => []
|
1215
|
+
};
|
1216
|
+
}
|
1217
|
+
});
|
1218
|
+
this.hooks.evaluate.for("MetaProperty").tap("JavascriptParser", expr => {
|
1219
|
+
const metaProperty = /** @type {MetaProperty} */ (expr);
|
1220
|
+
|
1221
|
+
return this.callHooksForName(
|
1222
|
+
this.hooks.evaluateIdentifier,
|
1223
|
+
getRootName(expr),
|
1224
|
+
metaProperty
|
1225
|
+
);
|
1226
|
+
});
|
1227
|
+
tapEvaluateWithVariableInfo("MemberExpression", expr =>
|
1228
|
+
this.getMemberExpressionInfo(
|
1229
|
+
/** @type {MemberExpression} */ (expr),
|
1230
|
+
ALLOWED_MEMBER_TYPES_EXPRESSION
|
1231
|
+
)
|
1232
|
+
);
|
1233
|
+
|
1234
|
+
this.hooks.evaluate.for("CallExpression").tap("JavascriptParser", _expr => {
|
1235
|
+
const expr = /** @type {CallExpression} */ (_expr);
|
1236
|
+
if (
|
1237
|
+
expr.callee.type === "MemberExpression" &&
|
1238
|
+
expr.callee.property.type ===
|
1239
|
+
(expr.callee.computed ? "Literal" : "Identifier")
|
1240
|
+
) {
|
1241
|
+
// type Super also possible here
|
1242
|
+
const param = this.evaluateExpression(
|
1243
|
+
/** @type {Expression} */ (expr.callee.object)
|
1244
|
+
);
|
1245
|
+
const property =
|
1246
|
+
expr.callee.property.type === "Literal"
|
1247
|
+
? `${expr.callee.property.value}`
|
1248
|
+
: expr.callee.property.name;
|
1249
|
+
const hook = this.hooks.evaluateCallExpressionMember.get(property);
|
1250
|
+
if (hook !== undefined) {
|
1251
|
+
return hook.call(expr, param);
|
1252
|
+
}
|
1253
|
+
} else if (expr.callee.type === "Identifier") {
|
1254
|
+
return this.callHooksForName(
|
1255
|
+
this.hooks.evaluateCallExpression,
|
1256
|
+
expr.callee.name,
|
1257
|
+
expr
|
1258
|
+
);
|
1259
|
+
}
|
1260
|
+
});
|
1261
|
+
this.hooks.evaluateCallExpressionMember
|
1262
|
+
.for("indexOf")
|
1263
|
+
.tap("JavascriptParser", (expr, param) => {
|
1264
|
+
if (!param.isString()) return;
|
1265
|
+
if (expr.arguments.length === 0) return;
|
1266
|
+
const [arg1, arg2] = expr.arguments;
|
1267
|
+
if (arg1.type === "SpreadElement") return;
|
1268
|
+
const arg1Eval = this.evaluateExpression(arg1);
|
1269
|
+
if (!arg1Eval.isString()) return;
|
1270
|
+
const arg1Value = arg1Eval.string;
|
1271
|
+
|
1272
|
+
let result;
|
1273
|
+
if (arg2) {
|
1274
|
+
if (arg2.type === "SpreadElement") return;
|
1275
|
+
const arg2Eval = this.evaluateExpression(arg2);
|
1276
|
+
if (!arg2Eval.isNumber()) return;
|
1277
|
+
result = param.string.indexOf(arg1Value, arg2Eval.number);
|
1278
|
+
} else {
|
1279
|
+
result = param.string.indexOf(arg1Value);
|
1280
|
+
}
|
1281
|
+
return new BasicEvaluatedExpression()
|
1282
|
+
.setNumber(result)
|
1283
|
+
.setSideEffects(param.couldHaveSideEffects())
|
1284
|
+
.setRange(expr.range);
|
1285
|
+
});
|
1286
|
+
this.hooks.evaluateCallExpressionMember
|
1287
|
+
.for("replace")
|
1288
|
+
.tap("JavascriptParser", (expr, param) => {
|
1289
|
+
if (!param.isString()) return;
|
1290
|
+
if (expr.arguments.length !== 2) return;
|
1291
|
+
if (expr.arguments[0].type === "SpreadElement") return;
|
1292
|
+
if (expr.arguments[1].type === "SpreadElement") return;
|
1293
|
+
let arg1 = this.evaluateExpression(expr.arguments[0]);
|
1294
|
+
let arg2 = this.evaluateExpression(expr.arguments[1]);
|
1295
|
+
if (!arg1.isString() && !arg1.isRegExp()) return;
|
1296
|
+
const arg1Value = arg1.regExp || arg1.string;
|
1297
|
+
if (!arg2.isString()) return;
|
1298
|
+
const arg2Value = arg2.string;
|
1299
|
+
return new BasicEvaluatedExpression()
|
1300
|
+
.setString(param.string.replace(arg1Value, arg2Value))
|
1301
|
+
.setSideEffects(param.couldHaveSideEffects())
|
1302
|
+
.setRange(expr.range);
|
1303
|
+
});
|
1304
|
+
["substr", "substring", "slice"].forEach(fn => {
|
1305
|
+
this.hooks.evaluateCallExpressionMember
|
1306
|
+
.for(fn)
|
1307
|
+
.tap("JavascriptParser", (expr, param) => {
|
1308
|
+
if (!param.isString()) return;
|
1309
|
+
let arg1;
|
1310
|
+
let result,
|
1311
|
+
str = param.string;
|
1312
|
+
switch (expr.arguments.length) {
|
1313
|
+
case 1:
|
1314
|
+
if (expr.arguments[0].type === "SpreadElement") return;
|
1315
|
+
arg1 = this.evaluateExpression(expr.arguments[0]);
|
1316
|
+
if (!arg1.isNumber()) return;
|
1317
|
+
result = str[fn](arg1.number);
|
1318
|
+
break;
|
1319
|
+
case 2: {
|
1320
|
+
if (expr.arguments[0].type === "SpreadElement") return;
|
1321
|
+
if (expr.arguments[1].type === "SpreadElement") return;
|
1322
|
+
arg1 = this.evaluateExpression(expr.arguments[0]);
|
1323
|
+
const arg2 = this.evaluateExpression(expr.arguments[1]);
|
1324
|
+
if (!arg1.isNumber()) return;
|
1325
|
+
if (!arg2.isNumber()) return;
|
1326
|
+
result = str[fn](arg1.number, arg2.number);
|
1327
|
+
break;
|
1328
|
+
}
|
1329
|
+
default:
|
1330
|
+
return;
|
1331
|
+
}
|
1332
|
+
return new BasicEvaluatedExpression()
|
1333
|
+
.setString(result)
|
1334
|
+
.setSideEffects(param.couldHaveSideEffects())
|
1335
|
+
.setRange(expr.range);
|
1336
|
+
});
|
1337
|
+
});
|
1338
|
+
|
1339
|
+
/**
|
1340
|
+
* @param {"cooked" | "raw"} kind kind of values to get
|
1341
|
+
* @param {TemplateLiteral} templateLiteralExpr TemplateLiteral expr
|
1342
|
+
* @returns {{quasis: BasicEvaluatedExpression[], parts: BasicEvaluatedExpression[]}} Simplified template
|
1343
|
+
*/
|
1344
|
+
const getSimplifiedTemplateResult = (kind, templateLiteralExpr) => {
|
1345
|
+
/** @type {BasicEvaluatedExpression[]} */
|
1346
|
+
const quasis = [];
|
1347
|
+
/** @type {BasicEvaluatedExpression[]} */
|
1348
|
+
const parts = [];
|
1349
|
+
|
1350
|
+
for (let i = 0; i < templateLiteralExpr.quasis.length; i++) {
|
1351
|
+
const quasiExpr = templateLiteralExpr.quasis[i];
|
1352
|
+
const quasi = quasiExpr.value[kind];
|
1353
|
+
|
1354
|
+
if (i > 0) {
|
1355
|
+
const prevExpr = parts[parts.length - 1];
|
1356
|
+
const expr = this.evaluateExpression(
|
1357
|
+
templateLiteralExpr.expressions[i - 1]
|
1358
|
+
);
|
1359
|
+
const exprAsString = expr.asString();
|
1360
|
+
if (
|
1361
|
+
typeof exprAsString === "string" &&
|
1362
|
+
!expr.couldHaveSideEffects()
|
1363
|
+
) {
|
1364
|
+
// We can merge quasi + expr + quasi when expr
|
1365
|
+
// is a const string
|
1366
|
+
|
1367
|
+
prevExpr.setString(prevExpr.string + exprAsString + quasi);
|
1368
|
+
prevExpr.setRange([prevExpr.range[0], quasiExpr.range[1]]);
|
1369
|
+
// We unset the expression as it doesn't match to a single expression
|
1370
|
+
prevExpr.setExpression(undefined);
|
1371
|
+
continue;
|
1372
|
+
}
|
1373
|
+
parts.push(expr);
|
1374
|
+
}
|
1375
|
+
|
1376
|
+
const part = new BasicEvaluatedExpression()
|
1377
|
+
.setString(quasi)
|
1378
|
+
.setRange(/** @type {Range} */ (quasiExpr.range))
|
1379
|
+
.setExpression(quasiExpr);
|
1380
|
+
quasis.push(part);
|
1381
|
+
parts.push(part);
|
1382
|
+
}
|
1383
|
+
return {
|
1384
|
+
quasis,
|
1385
|
+
parts
|
1386
|
+
};
|
1387
|
+
};
|
1388
|
+
|
1389
|
+
this.hooks.evaluate
|
1390
|
+
.for("TemplateLiteral")
|
1391
|
+
.tap("JavascriptParser", _node => {
|
1392
|
+
const node = /** @type {TemplateLiteral} */ (_node);
|
1393
|
+
|
1394
|
+
const { quasis, parts } = getSimplifiedTemplateResult("cooked", node);
|
1395
|
+
if (parts.length === 1) {
|
1396
|
+
return parts[0].setRange(/** @type {Range} */ (node.range));
|
1397
|
+
}
|
1398
|
+
return new BasicEvaluatedExpression()
|
1399
|
+
.setTemplateString(quasis, parts, "cooked")
|
1400
|
+
.setRange(/** @type {Range} */ (node.range));
|
1401
|
+
});
|
1402
|
+
this.hooks.evaluate
|
1403
|
+
.for("TaggedTemplateExpression")
|
1404
|
+
.tap("JavascriptParser", _node => {
|
1405
|
+
const node = /** @type {TaggedTemplateExpression} */ (_node);
|
1406
|
+
const tag = this.evaluateExpression(node.tag);
|
1407
|
+
|
1408
|
+
if (tag.isIdentifier() && tag.identifier === "String.raw") {
|
1409
|
+
const { quasis, parts } = getSimplifiedTemplateResult(
|
1410
|
+
"raw",
|
1411
|
+
node.quasi
|
1412
|
+
);
|
1413
|
+
return new BasicEvaluatedExpression()
|
1414
|
+
.setTemplateString(quasis, parts, "raw")
|
1415
|
+
.setRange(/** @type {Range} */ (node.range));
|
1416
|
+
}
|
1417
|
+
});
|
1418
|
+
|
1419
|
+
this.hooks.evaluateCallExpressionMember
|
1420
|
+
.for("concat")
|
1421
|
+
.tap("JavascriptParser", (expr, param) => {
|
1422
|
+
if (!param.isString() && !param.isWrapped()) return;
|
1423
|
+
|
1424
|
+
let stringSuffix = null;
|
1425
|
+
let hasUnknownParams = false;
|
1426
|
+
const innerExpressions = [];
|
1427
|
+
for (let i = expr.arguments.length - 1; i >= 0; i--) {
|
1428
|
+
const arg = expr.arguments[i];
|
1429
|
+
if (arg.type === "SpreadElement") return;
|
1430
|
+
const argExpr = this.evaluateExpression(arg);
|
1431
|
+
if (
|
1432
|
+
hasUnknownParams ||
|
1433
|
+
(!argExpr.isString() && !argExpr.isNumber())
|
1434
|
+
) {
|
1435
|
+
hasUnknownParams = true;
|
1436
|
+
innerExpressions.push(argExpr);
|
1437
|
+
continue;
|
1438
|
+
}
|
1439
|
+
|
1440
|
+
const value = argExpr.isString()
|
1441
|
+
? argExpr.string
|
1442
|
+
: "" + argExpr.number;
|
1443
|
+
|
1444
|
+
const newString = value + (stringSuffix ? stringSuffix.string : "");
|
1445
|
+
const newRange = /** @type {Range} */ ([
|
1446
|
+
argExpr.range[0],
|
1447
|
+
(stringSuffix || argExpr).range[1]
|
1448
|
+
]);
|
1449
|
+
stringSuffix = new BasicEvaluatedExpression()
|
1450
|
+
.setString(newString)
|
1451
|
+
.setSideEffects(
|
1452
|
+
(stringSuffix && stringSuffix.couldHaveSideEffects()) ||
|
1453
|
+
argExpr.couldHaveSideEffects()
|
1454
|
+
)
|
1455
|
+
.setRange(newRange);
|
1456
|
+
}
|
1457
|
+
|
1458
|
+
if (hasUnknownParams) {
|
1459
|
+
const prefix = param.isString() ? param : param.prefix;
|
1460
|
+
const inner =
|
1461
|
+
param.isWrapped() && param.wrappedInnerExpressions
|
1462
|
+
? param.wrappedInnerExpressions.concat(innerExpressions.reverse())
|
1463
|
+
: innerExpressions.reverse();
|
1464
|
+
return new BasicEvaluatedExpression()
|
1465
|
+
.setWrapped(prefix, stringSuffix, inner)
|
1466
|
+
.setRange(expr.range);
|
1467
|
+
} else if (param.isWrapped()) {
|
1468
|
+
const postfix = stringSuffix || param.postfix;
|
1469
|
+
const inner = param.wrappedInnerExpressions
|
1470
|
+
? param.wrappedInnerExpressions.concat(innerExpressions.reverse())
|
1471
|
+
: innerExpressions.reverse();
|
1472
|
+
return new BasicEvaluatedExpression()
|
1473
|
+
.setWrapped(param.prefix, postfix, inner)
|
1474
|
+
.setRange(expr.range);
|
1475
|
+
} else {
|
1476
|
+
const newString =
|
1477
|
+
param.string + (stringSuffix ? stringSuffix.string : "");
|
1478
|
+
return new BasicEvaluatedExpression()
|
1479
|
+
.setString(newString)
|
1480
|
+
.setSideEffects(
|
1481
|
+
(stringSuffix && stringSuffix.couldHaveSideEffects()) ||
|
1482
|
+
param.couldHaveSideEffects()
|
1483
|
+
)
|
1484
|
+
.setRange(expr.range);
|
1485
|
+
}
|
1486
|
+
});
|
1487
|
+
this.hooks.evaluateCallExpressionMember
|
1488
|
+
.for("split")
|
1489
|
+
.tap("JavascriptParser", (expr, param) => {
|
1490
|
+
if (!param.isString()) return;
|
1491
|
+
if (expr.arguments.length !== 1) return;
|
1492
|
+
if (expr.arguments[0].type === "SpreadElement") return;
|
1493
|
+
let result;
|
1494
|
+
const arg = this.evaluateExpression(expr.arguments[0]);
|
1495
|
+
if (arg.isString()) {
|
1496
|
+
result = param.string.split(arg.string);
|
1497
|
+
} else if (arg.isRegExp()) {
|
1498
|
+
result = param.string.split(arg.regExp);
|
1499
|
+
} else {
|
1500
|
+
return;
|
1501
|
+
}
|
1502
|
+
return new BasicEvaluatedExpression()
|
1503
|
+
.setArray(result)
|
1504
|
+
.setSideEffects(param.couldHaveSideEffects())
|
1505
|
+
.setRange(/** @type {Range} */ (expr.range));
|
1506
|
+
});
|
1507
|
+
this.hooks.evaluate
|
1508
|
+
.for("ConditionalExpression")
|
1509
|
+
.tap("JavascriptParser", _expr => {
|
1510
|
+
const expr = /** @type {ConditionalExpression} */ (_expr);
|
1511
|
+
|
1512
|
+
const condition = this.evaluateExpression(expr.test);
|
1513
|
+
const conditionValue = condition.asBool();
|
1514
|
+
let res;
|
1515
|
+
if (conditionValue === undefined) {
|
1516
|
+
const consequent = this.evaluateExpression(expr.consequent);
|
1517
|
+
const alternate = this.evaluateExpression(expr.alternate);
|
1518
|
+
res = new BasicEvaluatedExpression();
|
1519
|
+
if (consequent.isConditional()) {
|
1520
|
+
res.setOptions(
|
1521
|
+
/** @type {BasicEvaluatedExpression[]} */ (consequent.options)
|
1522
|
+
);
|
1523
|
+
} else {
|
1524
|
+
res.setOptions([consequent]);
|
1525
|
+
}
|
1526
|
+
if (alternate.isConditional()) {
|
1527
|
+
res.addOptions(
|
1528
|
+
/** @type {BasicEvaluatedExpression[]} */ (alternate.options)
|
1529
|
+
);
|
1530
|
+
} else {
|
1531
|
+
res.addOptions([alternate]);
|
1532
|
+
}
|
1533
|
+
} else {
|
1534
|
+
res = this.evaluateExpression(
|
1535
|
+
conditionValue ? expr.consequent : expr.alternate
|
1536
|
+
);
|
1537
|
+
if (condition.couldHaveSideEffects()) res.setSideEffects();
|
1538
|
+
}
|
1539
|
+
res.setRange(/** @type {Range} */ (expr.range));
|
1540
|
+
return res;
|
1541
|
+
});
|
1542
|
+
this.hooks.evaluate
|
1543
|
+
.for("ArrayExpression")
|
1544
|
+
.tap("JavascriptParser", _expr => {
|
1545
|
+
const expr = /** @type {ArrayExpression} */ (_expr);
|
1546
|
+
|
1547
|
+
const items = expr.elements.map(element => {
|
1548
|
+
return (
|
1549
|
+
element !== null &&
|
1550
|
+
element.type !== "SpreadElement" &&
|
1551
|
+
this.evaluateExpression(element)
|
1552
|
+
);
|
1553
|
+
});
|
1554
|
+
if (!items.every(Boolean)) return;
|
1555
|
+
return new BasicEvaluatedExpression()
|
1556
|
+
.setItems(items)
|
1557
|
+
.setRange(/** @type {Range} */ (expr.range));
|
1558
|
+
});
|
1559
|
+
this.hooks.evaluate
|
1560
|
+
.for("ChainExpression")
|
1561
|
+
.tap("JavascriptParser", _expr => {
|
1562
|
+
const expr = /** @type {ChainExpression} */ (_expr);
|
1563
|
+
/** @type {Expression[]} */
|
1564
|
+
const optionalExpressionsStack = [];
|
1565
|
+
/** @type {Expression|Super} */
|
1566
|
+
let next = expr.expression;
|
1567
|
+
|
1568
|
+
while (
|
1569
|
+
next.type === "MemberExpression" ||
|
1570
|
+
next.type === "CallExpression"
|
1571
|
+
) {
|
1572
|
+
if (next.type === "MemberExpression") {
|
1573
|
+
if (next.optional) {
|
1574
|
+
// SuperNode can not be optional
|
1575
|
+
optionalExpressionsStack.push(
|
1576
|
+
/** @type {Expression} */ (next.object)
|
1577
|
+
);
|
1578
|
+
}
|
1579
|
+
next = next.object;
|
1580
|
+
} else {
|
1581
|
+
if (next.optional) {
|
1582
|
+
// SuperNode can not be optional
|
1583
|
+
optionalExpressionsStack.push(
|
1584
|
+
/** @type {Expression} */ (next.callee)
|
1585
|
+
);
|
1586
|
+
}
|
1587
|
+
next = next.callee;
|
1588
|
+
}
|
1589
|
+
}
|
1590
|
+
|
1591
|
+
while (optionalExpressionsStack.length > 0) {
|
1592
|
+
const expression =
|
1593
|
+
/** @type {Expression} */
|
1594
|
+
(optionalExpressionsStack.pop());
|
1595
|
+
const evaluated = this.evaluateExpression(expression);
|
1596
|
+
|
1597
|
+
if (evaluated.asNullish()) {
|
1598
|
+
return evaluated.setRange(/** @type {Range} */ (_expr.range));
|
1599
|
+
}
|
1600
|
+
}
|
1601
|
+
return this.evaluateExpression(expr.expression);
|
1602
|
+
});
|
1603
|
+
}
|
1604
|
+
|
1605
|
+
/**
|
1606
|
+
* @param {Expression} node node
|
1607
|
+
* @returns {Set<string>|undefined} destructured identifiers
|
1608
|
+
*/
|
1609
|
+
destructuringAssignmentPropertiesFor(node) {
|
1610
|
+
if (!this.destructuringAssignmentProperties) return undefined;
|
1611
|
+
return this.destructuringAssignmentProperties.get(node);
|
1612
|
+
}
|
1613
|
+
|
1614
|
+
/**
|
1615
|
+
* @param {Expression} expr expression
|
1616
|
+
* @returns {string | VariableInfoInterface | undefined} identifier
|
1617
|
+
*/
|
1618
|
+
getRenameIdentifier(expr) {
|
1619
|
+
const result = this.evaluateExpression(expr);
|
1620
|
+
if (result.isIdentifier()) {
|
1621
|
+
return result.identifier;
|
1622
|
+
}
|
1623
|
+
}
|
1624
|
+
|
1625
|
+
/**
|
1626
|
+
* @param {ClassExpression | ClassDeclaration} classy a class node
|
1627
|
+
* @returns {void}
|
1628
|
+
*/
|
1629
|
+
walkClass(classy) {
|
1630
|
+
if (classy.superClass) {
|
1631
|
+
if (!this.hooks.classExtendsExpression.call(classy.superClass, classy)) {
|
1632
|
+
this.walkExpression(classy.superClass);
|
1633
|
+
}
|
1634
|
+
}
|
1635
|
+
if (classy.body && classy.body.type === "ClassBody") {
|
1636
|
+
const scopeParams = [];
|
1637
|
+
// Add class name in scope for recursive calls
|
1638
|
+
if (classy.id) {
|
1639
|
+
scopeParams.push(classy.id);
|
1640
|
+
}
|
1641
|
+
this.inClassScope(true, scopeParams, () => {
|
1642
|
+
for (const classElement of /** @type {TODO} */ (classy.body.body)) {
|
1643
|
+
if (!this.hooks.classBodyElement.call(classElement, classy)) {
|
1644
|
+
if (classElement.computed && classElement.key) {
|
1645
|
+
this.walkExpression(classElement.key);
|
1646
|
+
}
|
1647
|
+
if (classElement.value) {
|
1648
|
+
if (
|
1649
|
+
!this.hooks.classBodyValue.call(
|
1650
|
+
classElement.value,
|
1651
|
+
classElement,
|
1652
|
+
classy
|
1653
|
+
)
|
1654
|
+
) {
|
1655
|
+
const wasTopLevel = this.scope.topLevelScope;
|
1656
|
+
this.scope.topLevelScope = false;
|
1657
|
+
this.walkExpression(classElement.value);
|
1658
|
+
this.scope.topLevelScope = wasTopLevel;
|
1659
|
+
}
|
1660
|
+
} else if (classElement.type === "StaticBlock") {
|
1661
|
+
const wasTopLevel = this.scope.topLevelScope;
|
1662
|
+
this.scope.topLevelScope = false;
|
1663
|
+
this.walkBlockStatement(classElement);
|
1664
|
+
this.scope.topLevelScope = wasTopLevel;
|
1665
|
+
}
|
1666
|
+
}
|
1667
|
+
}
|
1668
|
+
});
|
1669
|
+
}
|
1670
|
+
}
|
1671
|
+
|
1672
|
+
/**
|
1673
|
+
* Pre walking iterates the scope for variable declarations
|
1674
|
+
*
|
1675
|
+
* @param {(Statement | ModuleDeclaration)[]} statements statements
|
1676
|
+
*/
|
1677
|
+
preWalkStatements(statements) {
|
1678
|
+
for (let index = 0, len = statements.length; index < len; index++) {
|
1679
|
+
const statement = statements[index];
|
1680
|
+
this.preWalkStatement(statement);
|
1681
|
+
}
|
1682
|
+
}
|
1683
|
+
|
1684
|
+
/**
|
1685
|
+
* Block pre walking iterates the scope for block variable declarations
|
1686
|
+
*
|
1687
|
+
* @param {(Statement | ModuleDeclaration)[]} statements statements
|
1688
|
+
*/
|
1689
|
+
blockPreWalkStatements(statements) {
|
1690
|
+
for (let index = 0, len = statements.length; index < len; index++) {
|
1691
|
+
const statement = statements[index];
|
1692
|
+
this.blockPreWalkStatement(statement);
|
1693
|
+
}
|
1694
|
+
}
|
1695
|
+
|
1696
|
+
/**
|
1697
|
+
* Walking iterates the statements and expressions and processes them
|
1698
|
+
*
|
1699
|
+
* @param {(Statement | ModuleDeclaration)[]} statements statements
|
1700
|
+
*/
|
1701
|
+
walkStatements(statements) {
|
1702
|
+
for (let index = 0, len = statements.length; index < len; index++) {
|
1703
|
+
const statement = statements[index];
|
1704
|
+
this.walkStatement(statement);
|
1705
|
+
}
|
1706
|
+
}
|
1707
|
+
|
1708
|
+
/**
|
1709
|
+
* Walking iterates the statements and expressions and processes them
|
1710
|
+
*
|
1711
|
+
* @param {Statement | ModuleDeclaration} statement statement
|
1712
|
+
*/
|
1713
|
+
preWalkStatement(statement) {
|
1714
|
+
this.statementPath.push(statement);
|
1715
|
+
if (this.hooks.preStatement.call(statement)) {
|
1716
|
+
this.prevStatement = this.statementPath.pop();
|
1717
|
+
return;
|
1718
|
+
}
|
1719
|
+
switch (statement.type) {
|
1720
|
+
case "BlockStatement":
|
1721
|
+
this.preWalkBlockStatement(statement);
|
1722
|
+
break;
|
1723
|
+
case "DoWhileStatement":
|
1724
|
+
this.preWalkDoWhileStatement(statement);
|
1725
|
+
break;
|
1726
|
+
case "ForInStatement":
|
1727
|
+
this.preWalkForInStatement(statement);
|
1728
|
+
break;
|
1729
|
+
case "ForOfStatement":
|
1730
|
+
this.preWalkForOfStatement(statement);
|
1731
|
+
break;
|
1732
|
+
case "ForStatement":
|
1733
|
+
this.preWalkForStatement(statement);
|
1734
|
+
break;
|
1735
|
+
case "FunctionDeclaration":
|
1736
|
+
this.preWalkFunctionDeclaration(statement);
|
1737
|
+
break;
|
1738
|
+
case "IfStatement":
|
1739
|
+
this.preWalkIfStatement(statement);
|
1740
|
+
break;
|
1741
|
+
case "LabeledStatement":
|
1742
|
+
this.preWalkLabeledStatement(statement);
|
1743
|
+
break;
|
1744
|
+
case "SwitchStatement":
|
1745
|
+
this.preWalkSwitchStatement(statement);
|
1746
|
+
break;
|
1747
|
+
case "TryStatement":
|
1748
|
+
this.preWalkTryStatement(statement);
|
1749
|
+
break;
|
1750
|
+
case "VariableDeclaration":
|
1751
|
+
this.preWalkVariableDeclaration(statement);
|
1752
|
+
break;
|
1753
|
+
case "WhileStatement":
|
1754
|
+
this.preWalkWhileStatement(statement);
|
1755
|
+
break;
|
1756
|
+
case "WithStatement":
|
1757
|
+
this.preWalkWithStatement(statement);
|
1758
|
+
break;
|
1759
|
+
}
|
1760
|
+
this.prevStatement = this.statementPath.pop();
|
1761
|
+
}
|
1762
|
+
|
1763
|
+
/**
|
1764
|
+
* @param {Statement | ModuleDeclaration} statement statement
|
1765
|
+
*/
|
1766
|
+
blockPreWalkStatement(statement) {
|
1767
|
+
this.statementPath.push(statement);
|
1768
|
+
if (this.hooks.blockPreStatement.call(statement)) {
|
1769
|
+
this.prevStatement = this.statementPath.pop();
|
1770
|
+
return;
|
1771
|
+
}
|
1772
|
+
switch (statement.type) {
|
1773
|
+
case "ImportDeclaration":
|
1774
|
+
this.blockPreWalkImportDeclaration(statement);
|
1775
|
+
break;
|
1776
|
+
case "ExportAllDeclaration":
|
1777
|
+
this.blockPreWalkExportAllDeclaration(statement);
|
1778
|
+
break;
|
1779
|
+
case "ExportDefaultDeclaration":
|
1780
|
+
this.blockPreWalkExportDefaultDeclaration(statement);
|
1781
|
+
break;
|
1782
|
+
case "ExportNamedDeclaration":
|
1783
|
+
this.blockPreWalkExportNamedDeclaration(statement);
|
1784
|
+
break;
|
1785
|
+
case "VariableDeclaration":
|
1786
|
+
this.blockPreWalkVariableDeclaration(statement);
|
1787
|
+
break;
|
1788
|
+
case "ClassDeclaration":
|
1789
|
+
this.blockPreWalkClassDeclaration(statement);
|
1790
|
+
break;
|
1791
|
+
case "ExpressionStatement":
|
1792
|
+
this.blockPreWalkExpressionStatement(statement);
|
1793
|
+
}
|
1794
|
+
this.prevStatement = this.statementPath.pop();
|
1795
|
+
}
|
1796
|
+
|
1797
|
+
/**
|
1798
|
+
* @param {Statement | ModuleDeclaration} statement statement
|
1799
|
+
*/
|
1800
|
+
walkStatement(statement) {
|
1801
|
+
this.statementPath.push(statement);
|
1802
|
+
if (this.hooks.statement.call(statement) !== undefined) {
|
1803
|
+
this.prevStatement = this.statementPath.pop();
|
1804
|
+
return;
|
1805
|
+
}
|
1806
|
+
switch (statement.type) {
|
1807
|
+
case "BlockStatement":
|
1808
|
+
this.walkBlockStatement(statement);
|
1809
|
+
break;
|
1810
|
+
case "ClassDeclaration":
|
1811
|
+
this.walkClassDeclaration(statement);
|
1812
|
+
break;
|
1813
|
+
case "DoWhileStatement":
|
1814
|
+
this.walkDoWhileStatement(statement);
|
1815
|
+
break;
|
1816
|
+
case "ExportDefaultDeclaration":
|
1817
|
+
this.walkExportDefaultDeclaration(statement);
|
1818
|
+
break;
|
1819
|
+
case "ExportNamedDeclaration":
|
1820
|
+
this.walkExportNamedDeclaration(statement);
|
1821
|
+
break;
|
1822
|
+
case "ExpressionStatement":
|
1823
|
+
this.walkExpressionStatement(statement);
|
1824
|
+
break;
|
1825
|
+
case "ForInStatement":
|
1826
|
+
this.walkForInStatement(statement);
|
1827
|
+
break;
|
1828
|
+
case "ForOfStatement":
|
1829
|
+
this.walkForOfStatement(statement);
|
1830
|
+
break;
|
1831
|
+
case "ForStatement":
|
1832
|
+
this.walkForStatement(statement);
|
1833
|
+
break;
|
1834
|
+
case "FunctionDeclaration":
|
1835
|
+
this.walkFunctionDeclaration(statement);
|
1836
|
+
break;
|
1837
|
+
case "IfStatement":
|
1838
|
+
this.walkIfStatement(statement);
|
1839
|
+
break;
|
1840
|
+
case "LabeledStatement":
|
1841
|
+
this.walkLabeledStatement(statement);
|
1842
|
+
break;
|
1843
|
+
case "ReturnStatement":
|
1844
|
+
this.walkReturnStatement(statement);
|
1845
|
+
break;
|
1846
|
+
case "SwitchStatement":
|
1847
|
+
this.walkSwitchStatement(statement);
|
1848
|
+
break;
|
1849
|
+
case "ThrowStatement":
|
1850
|
+
this.walkThrowStatement(statement);
|
1851
|
+
break;
|
1852
|
+
case "TryStatement":
|
1853
|
+
this.walkTryStatement(statement);
|
1854
|
+
break;
|
1855
|
+
case "VariableDeclaration":
|
1856
|
+
this.walkVariableDeclaration(statement);
|
1857
|
+
break;
|
1858
|
+
case "WhileStatement":
|
1859
|
+
this.walkWhileStatement(statement);
|
1860
|
+
break;
|
1861
|
+
case "WithStatement":
|
1862
|
+
this.walkWithStatement(statement);
|
1863
|
+
break;
|
1864
|
+
}
|
1865
|
+
this.prevStatement = this.statementPath.pop();
|
1866
|
+
}
|
1867
|
+
|
1868
|
+
/**
|
1869
|
+
* Walks a statements that is nested within a parent statement
|
1870
|
+
* and can potentially be a non-block statement.
|
1871
|
+
* This enforces the nested statement to never be in ASI position.
|
1872
|
+
*
|
1873
|
+
* @param {Statement} statement the nested statement
|
1874
|
+
*/
|
1875
|
+
walkNestedStatement(statement) {
|
1876
|
+
this.prevStatement = undefined;
|
1877
|
+
this.walkStatement(statement);
|
1878
|
+
}
|
1879
|
+
|
1880
|
+
// Real Statements
|
1881
|
+
/**
|
1882
|
+
* @param {BlockStatement} statement block statement
|
1883
|
+
*/
|
1884
|
+
preWalkBlockStatement(statement) {
|
1885
|
+
this.preWalkStatements(statement.body);
|
1886
|
+
}
|
1887
|
+
|
1888
|
+
/**
|
1889
|
+
* @param {BlockStatement} statement block statement
|
1890
|
+
*/
|
1891
|
+
walkBlockStatement(statement) {
|
1892
|
+
this.inBlockScope(() => {
|
1893
|
+
const body = statement.body;
|
1894
|
+
const prev = this.prevStatement;
|
1895
|
+
this.blockPreWalkStatements(body);
|
1896
|
+
this.prevStatement = prev;
|
1897
|
+
this.walkStatements(body);
|
1898
|
+
});
|
1899
|
+
}
|
1900
|
+
|
1901
|
+
/**
|
1902
|
+
* @param {ExpressionStatement} statement expression statement
|
1903
|
+
*/
|
1904
|
+
walkExpressionStatement(statement) {
|
1905
|
+
this.walkExpression(statement.expression);
|
1906
|
+
}
|
1907
|
+
|
1908
|
+
/**
|
1909
|
+
* @param {IfStatement} statement if statement
|
1910
|
+
*/
|
1911
|
+
preWalkIfStatement(statement) {
|
1912
|
+
this.preWalkStatement(statement.consequent);
|
1913
|
+
if (statement.alternate) {
|
1914
|
+
this.preWalkStatement(statement.alternate);
|
1915
|
+
}
|
1916
|
+
}
|
1917
|
+
|
1918
|
+
/**
|
1919
|
+
* @param {IfStatement} statement if statement
|
1920
|
+
*/
|
1921
|
+
walkIfStatement(statement) {
|
1922
|
+
const result = this.hooks.statementIf.call(statement);
|
1923
|
+
if (result === undefined) {
|
1924
|
+
this.walkExpression(statement.test);
|
1925
|
+
this.walkNestedStatement(statement.consequent);
|
1926
|
+
if (statement.alternate) {
|
1927
|
+
this.walkNestedStatement(statement.alternate);
|
1928
|
+
}
|
1929
|
+
} else {
|
1930
|
+
if (result) {
|
1931
|
+
this.walkNestedStatement(statement.consequent);
|
1932
|
+
} else if (statement.alternate) {
|
1933
|
+
this.walkNestedStatement(statement.alternate);
|
1934
|
+
}
|
1935
|
+
}
|
1936
|
+
}
|
1937
|
+
|
1938
|
+
/**
|
1939
|
+
* @param {LabeledStatement} statement with statement
|
1940
|
+
*/
|
1941
|
+
preWalkLabeledStatement(statement) {
|
1942
|
+
this.preWalkStatement(statement.body);
|
1943
|
+
}
|
1944
|
+
|
1945
|
+
/**
|
1946
|
+
* @param {LabeledStatement} statement with statement
|
1947
|
+
*/
|
1948
|
+
walkLabeledStatement(statement) {
|
1949
|
+
const hook = this.hooks.label.get(statement.label.name);
|
1950
|
+
if (hook !== undefined) {
|
1951
|
+
const result = hook.call(statement);
|
1952
|
+
if (result === true) return;
|
1953
|
+
}
|
1954
|
+
this.walkNestedStatement(statement.body);
|
1955
|
+
}
|
1956
|
+
|
1957
|
+
/**
|
1958
|
+
* @param {WithStatement} statement with statement
|
1959
|
+
*/
|
1960
|
+
preWalkWithStatement(statement) {
|
1961
|
+
this.preWalkStatement(statement.body);
|
1962
|
+
}
|
1963
|
+
|
1964
|
+
/**
|
1965
|
+
* @param {WithStatement} statement with statement
|
1966
|
+
*/
|
1967
|
+
walkWithStatement(statement) {
|
1968
|
+
this.walkExpression(statement.object);
|
1969
|
+
this.walkNestedStatement(statement.body);
|
1970
|
+
}
|
1971
|
+
|
1972
|
+
/**
|
1973
|
+
* @param {SwitchStatement} statement switch statement
|
1974
|
+
*/
|
1975
|
+
preWalkSwitchStatement(statement) {
|
1976
|
+
this.preWalkSwitchCases(statement.cases);
|
1977
|
+
}
|
1978
|
+
|
1979
|
+
/**
|
1980
|
+
* @param {SwitchStatement} statement switch statement
|
1981
|
+
*/
|
1982
|
+
walkSwitchStatement(statement) {
|
1983
|
+
this.walkExpression(statement.discriminant);
|
1984
|
+
this.walkSwitchCases(statement.cases);
|
1985
|
+
}
|
1986
|
+
|
1987
|
+
/**
|
1988
|
+
* @param {ReturnStatement | ThrowStatement} statement return or throw statement
|
1989
|
+
*/
|
1990
|
+
walkTerminatingStatement(statement) {
|
1991
|
+
if (statement.argument) this.walkExpression(statement.argument);
|
1992
|
+
}
|
1993
|
+
|
1994
|
+
/**
|
1995
|
+
* @param {ReturnStatement} statement return statement
|
1996
|
+
*/
|
1997
|
+
walkReturnStatement(statement) {
|
1998
|
+
this.walkTerminatingStatement(statement);
|
1999
|
+
}
|
2000
|
+
|
2001
|
+
/**
|
2002
|
+
* @param {ThrowStatement} statement return statement
|
2003
|
+
*/
|
2004
|
+
walkThrowStatement(statement) {
|
2005
|
+
this.walkTerminatingStatement(statement);
|
2006
|
+
}
|
2007
|
+
|
2008
|
+
/**
|
2009
|
+
* @param {TryStatement} statement try statement
|
2010
|
+
*/
|
2011
|
+
preWalkTryStatement(statement) {
|
2012
|
+
this.preWalkStatement(statement.block);
|
2013
|
+
if (statement.handler) this.preWalkCatchClause(statement.handler);
|
2014
|
+
if (statement.finalizer) this.preWalkStatement(statement.finalizer);
|
2015
|
+
}
|
2016
|
+
|
2017
|
+
/**
|
2018
|
+
* @param {TryStatement} statement try statement
|
2019
|
+
*/
|
2020
|
+
walkTryStatement(statement) {
|
2021
|
+
if (this.scope.inTry) {
|
2022
|
+
this.walkStatement(statement.block);
|
2023
|
+
} else {
|
2024
|
+
this.scope.inTry = true;
|
2025
|
+
this.walkStatement(statement.block);
|
2026
|
+
this.scope.inTry = false;
|
2027
|
+
}
|
2028
|
+
if (statement.handler) this.walkCatchClause(statement.handler);
|
2029
|
+
if (statement.finalizer) this.walkStatement(statement.finalizer);
|
2030
|
+
}
|
2031
|
+
|
2032
|
+
/**
|
2033
|
+
* @param {WhileStatement} statement while statement
|
2034
|
+
*/
|
2035
|
+
preWalkWhileStatement(statement) {
|
2036
|
+
this.preWalkStatement(statement.body);
|
2037
|
+
}
|
2038
|
+
|
2039
|
+
/**
|
2040
|
+
* @param {WhileStatement} statement while statement
|
2041
|
+
*/
|
2042
|
+
walkWhileStatement(statement) {
|
2043
|
+
this.walkExpression(statement.test);
|
2044
|
+
this.walkNestedStatement(statement.body);
|
2045
|
+
}
|
2046
|
+
|
2047
|
+
/**
|
2048
|
+
* @param {DoWhileStatement} statement do while statement
|
2049
|
+
*/
|
2050
|
+
preWalkDoWhileStatement(statement) {
|
2051
|
+
this.preWalkStatement(statement.body);
|
2052
|
+
}
|
2053
|
+
|
2054
|
+
/**
|
2055
|
+
* @param {DoWhileStatement} statement do while statement
|
2056
|
+
*/
|
2057
|
+
walkDoWhileStatement(statement) {
|
2058
|
+
this.walkNestedStatement(statement.body);
|
2059
|
+
this.walkExpression(statement.test);
|
2060
|
+
}
|
2061
|
+
|
2062
|
+
/**
|
2063
|
+
* @param {ForStatement} statement for statement
|
2064
|
+
*/
|
2065
|
+
preWalkForStatement(statement) {
|
2066
|
+
if (statement.init) {
|
2067
|
+
if (statement.init.type === "VariableDeclaration") {
|
2068
|
+
this.preWalkStatement(statement.init);
|
2069
|
+
}
|
2070
|
+
}
|
2071
|
+
this.preWalkStatement(statement.body);
|
2072
|
+
}
|
2073
|
+
|
2074
|
+
/**
|
2075
|
+
* @param {ForStatement} statement for statement
|
2076
|
+
*/
|
2077
|
+
walkForStatement(statement) {
|
2078
|
+
this.inBlockScope(() => {
|
2079
|
+
if (statement.init) {
|
2080
|
+
if (statement.init.type === "VariableDeclaration") {
|
2081
|
+
this.blockPreWalkVariableDeclaration(statement.init);
|
2082
|
+
this.prevStatement = undefined;
|
2083
|
+
this.walkStatement(statement.init);
|
2084
|
+
} else {
|
2085
|
+
this.walkExpression(statement.init);
|
2086
|
+
}
|
2087
|
+
}
|
2088
|
+
if (statement.test) {
|
2089
|
+
this.walkExpression(statement.test);
|
2090
|
+
}
|
2091
|
+
if (statement.update) {
|
2092
|
+
this.walkExpression(statement.update);
|
2093
|
+
}
|
2094
|
+
const body = statement.body;
|
2095
|
+
if (body.type === "BlockStatement") {
|
2096
|
+
// no need to add additional scope
|
2097
|
+
const prev = this.prevStatement;
|
2098
|
+
this.blockPreWalkStatements(body.body);
|
2099
|
+
this.prevStatement = prev;
|
2100
|
+
this.walkStatements(body.body);
|
2101
|
+
} else {
|
2102
|
+
this.walkNestedStatement(body);
|
2103
|
+
}
|
2104
|
+
});
|
2105
|
+
}
|
2106
|
+
|
2107
|
+
/**
|
2108
|
+
* @param {ForInStatement} statement for statement
|
2109
|
+
*/
|
2110
|
+
preWalkForInStatement(statement) {
|
2111
|
+
if (statement.left.type === "VariableDeclaration") {
|
2112
|
+
this.preWalkVariableDeclaration(statement.left);
|
2113
|
+
}
|
2114
|
+
this.preWalkStatement(statement.body);
|
2115
|
+
}
|
2116
|
+
|
2117
|
+
/**
|
2118
|
+
* @param {ForInStatement} statement for statement
|
2119
|
+
*/
|
2120
|
+
walkForInStatement(statement) {
|
2121
|
+
this.inBlockScope(() => {
|
2122
|
+
if (statement.left.type === "VariableDeclaration") {
|
2123
|
+
this.blockPreWalkVariableDeclaration(statement.left);
|
2124
|
+
this.walkVariableDeclaration(statement.left);
|
2125
|
+
} else {
|
2126
|
+
this.walkPattern(statement.left);
|
2127
|
+
}
|
2128
|
+
this.walkExpression(statement.right);
|
2129
|
+
const body = statement.body;
|
2130
|
+
if (body.type === "BlockStatement") {
|
2131
|
+
// no need to add additional scope
|
2132
|
+
const prev = this.prevStatement;
|
2133
|
+
this.blockPreWalkStatements(body.body);
|
2134
|
+
this.prevStatement = prev;
|
2135
|
+
this.walkStatements(body.body);
|
2136
|
+
} else {
|
2137
|
+
this.walkNestedStatement(body);
|
2138
|
+
}
|
2139
|
+
});
|
2140
|
+
}
|
2141
|
+
|
2142
|
+
preWalkForOfStatement(statement) {
|
2143
|
+
if (statement.await && this.scope.topLevelScope === true) {
|
2144
|
+
this.hooks.topLevelAwait.call(statement);
|
2145
|
+
}
|
2146
|
+
if (statement.left.type === "VariableDeclaration") {
|
2147
|
+
this.preWalkVariableDeclaration(statement.left);
|
2148
|
+
}
|
2149
|
+
this.preWalkStatement(statement.body);
|
2150
|
+
}
|
2151
|
+
|
2152
|
+
/**
|
2153
|
+
* @param {ForOfStatement} statement for statement
|
2154
|
+
*/
|
2155
|
+
walkForOfStatement(statement) {
|
2156
|
+
this.inBlockScope(() => {
|
2157
|
+
if (statement.left.type === "VariableDeclaration") {
|
2158
|
+
this.blockPreWalkVariableDeclaration(statement.left);
|
2159
|
+
this.walkVariableDeclaration(statement.left);
|
2160
|
+
} else {
|
2161
|
+
this.walkPattern(statement.left);
|
2162
|
+
}
|
2163
|
+
this.walkExpression(statement.right);
|
2164
|
+
const body = statement.body;
|
2165
|
+
if (body.type === "BlockStatement") {
|
2166
|
+
// no need to add additional scope
|
2167
|
+
const prev = this.prevStatement;
|
2168
|
+
this.blockPreWalkStatements(body.body);
|
2169
|
+
this.prevStatement = prev;
|
2170
|
+
this.walkStatements(body.body);
|
2171
|
+
} else {
|
2172
|
+
this.walkNestedStatement(body);
|
2173
|
+
}
|
2174
|
+
});
|
2175
|
+
}
|
2176
|
+
|
2177
|
+
/**
|
2178
|
+
* @param {FunctionDeclaration} statement function declaration
|
2179
|
+
*/
|
2180
|
+
preWalkFunctionDeclaration(statement) {
|
2181
|
+
if (statement.id) {
|
2182
|
+
this.defineVariable(statement.id.name);
|
2183
|
+
}
|
2184
|
+
}
|
2185
|
+
|
2186
|
+
/**
|
2187
|
+
* @param {FunctionDeclaration} statement function declaration
|
2188
|
+
*/
|
2189
|
+
walkFunctionDeclaration(statement) {
|
2190
|
+
const wasTopLevel = this.scope.topLevelScope;
|
2191
|
+
this.scope.topLevelScope = false;
|
2192
|
+
this.inFunctionScope(true, statement.params, () => {
|
2193
|
+
for (const param of statement.params) {
|
2194
|
+
this.walkPattern(param);
|
2195
|
+
}
|
2196
|
+
if (statement.body.type === "BlockStatement") {
|
2197
|
+
this.detectMode(statement.body.body);
|
2198
|
+
const prev = this.prevStatement;
|
2199
|
+
this.preWalkStatement(statement.body);
|
2200
|
+
this.prevStatement = prev;
|
2201
|
+
this.walkStatement(statement.body);
|
2202
|
+
} else {
|
2203
|
+
this.walkExpression(statement.body);
|
2204
|
+
}
|
2205
|
+
});
|
2206
|
+
this.scope.topLevelScope = wasTopLevel;
|
2207
|
+
}
|
2208
|
+
|
2209
|
+
/**
|
2210
|
+
* @param {ExpressionStatement} statement expression statement
|
2211
|
+
*/
|
2212
|
+
blockPreWalkExpressionStatement(statement) {
|
2213
|
+
const expression = statement.expression;
|
2214
|
+
switch (expression.type) {
|
2215
|
+
case "AssignmentExpression":
|
2216
|
+
this.preWalkAssignmentExpression(expression);
|
2217
|
+
}
|
2218
|
+
}
|
2219
|
+
|
2220
|
+
/**
|
2221
|
+
* @param {AssignmentExpression} expression assignment expression
|
2222
|
+
*/
|
2223
|
+
preWalkAssignmentExpression(expression) {
|
2224
|
+
if (
|
2225
|
+
expression.left.type !== "ObjectPattern" ||
|
2226
|
+
!this.destructuringAssignmentProperties
|
2227
|
+
)
|
2228
|
+
return;
|
2229
|
+
const keys = this._preWalkObjectPattern(expression.left);
|
2230
|
+
if (!keys) return;
|
2231
|
+
|
2232
|
+
// check multiple assignments
|
2233
|
+
if (this.destructuringAssignmentProperties.has(expression)) {
|
2234
|
+
const set = this.destructuringAssignmentProperties.get(expression);
|
2235
|
+
this.destructuringAssignmentProperties.delete(expression);
|
2236
|
+
for (const id of set) keys.add(id);
|
2237
|
+
}
|
2238
|
+
|
2239
|
+
this.destructuringAssignmentProperties.set(
|
2240
|
+
expression.right.type === "AwaitExpression"
|
2241
|
+
? expression.right.argument
|
2242
|
+
: expression.right,
|
2243
|
+
keys
|
2244
|
+
);
|
2245
|
+
|
2246
|
+
if (expression.right.type === "AssignmentExpression") {
|
2247
|
+
this.preWalkAssignmentExpression(expression.right);
|
2248
|
+
}
|
2249
|
+
}
|
2250
|
+
|
2251
|
+
blockPreWalkImportDeclaration(statement) {
|
2252
|
+
const source = statement.source.value;
|
2253
|
+
this.hooks.import.call(statement, source);
|
2254
|
+
for (const specifier of statement.specifiers) {
|
2255
|
+
const name = specifier.local.name;
|
2256
|
+
switch (specifier.type) {
|
2257
|
+
case "ImportDefaultSpecifier":
|
2258
|
+
if (
|
2259
|
+
!this.hooks.importSpecifier.call(statement, source, "default", name)
|
2260
|
+
) {
|
2261
|
+
this.defineVariable(name);
|
2262
|
+
}
|
2263
|
+
break;
|
2264
|
+
case "ImportSpecifier":
|
2265
|
+
if (
|
2266
|
+
!this.hooks.importSpecifier.call(
|
2267
|
+
statement,
|
2268
|
+
source,
|
2269
|
+
specifier.imported.name || specifier.imported.value,
|
2270
|
+
name
|
2271
|
+
)
|
2272
|
+
) {
|
2273
|
+
this.defineVariable(name);
|
2274
|
+
}
|
2275
|
+
break;
|
2276
|
+
case "ImportNamespaceSpecifier":
|
2277
|
+
if (!this.hooks.importSpecifier.call(statement, source, null, name)) {
|
2278
|
+
this.defineVariable(name);
|
2279
|
+
}
|
2280
|
+
break;
|
2281
|
+
default:
|
2282
|
+
this.defineVariable(name);
|
2283
|
+
}
|
2284
|
+
}
|
2285
|
+
}
|
2286
|
+
|
2287
|
+
enterDeclaration(declaration, onIdent) {
|
2288
|
+
switch (declaration.type) {
|
2289
|
+
case "VariableDeclaration":
|
2290
|
+
for (const declarator of declaration.declarations) {
|
2291
|
+
switch (declarator.type) {
|
2292
|
+
case "VariableDeclarator": {
|
2293
|
+
this.enterPattern(declarator.id, onIdent);
|
2294
|
+
break;
|
2295
|
+
}
|
2296
|
+
}
|
2297
|
+
}
|
2298
|
+
break;
|
2299
|
+
case "FunctionDeclaration":
|
2300
|
+
this.enterPattern(declaration.id, onIdent);
|
2301
|
+
break;
|
2302
|
+
case "ClassDeclaration":
|
2303
|
+
this.enterPattern(declaration.id, onIdent);
|
2304
|
+
break;
|
2305
|
+
}
|
2306
|
+
}
|
2307
|
+
|
2308
|
+
blockPreWalkExportNamedDeclaration(statement) {
|
2309
|
+
let source;
|
2310
|
+
if (statement.source) {
|
2311
|
+
source = statement.source.value;
|
2312
|
+
this.hooks.exportImport.call(statement, source);
|
2313
|
+
} else {
|
2314
|
+
this.hooks.export.call(statement);
|
2315
|
+
}
|
2316
|
+
if (statement.declaration) {
|
2317
|
+
if (
|
2318
|
+
!this.hooks.exportDeclaration.call(statement, statement.declaration)
|
2319
|
+
) {
|
2320
|
+
const prev = this.prevStatement;
|
2321
|
+
this.preWalkStatement(statement.declaration);
|
2322
|
+
this.prevStatement = prev;
|
2323
|
+
this.blockPreWalkStatement(statement.declaration);
|
2324
|
+
let index = 0;
|
2325
|
+
this.enterDeclaration(statement.declaration, def => {
|
2326
|
+
this.hooks.exportSpecifier.call(statement, def, def, index++);
|
2327
|
+
});
|
2328
|
+
}
|
2329
|
+
}
|
2330
|
+
if (statement.specifiers) {
|
2331
|
+
for (
|
2332
|
+
let specifierIndex = 0;
|
2333
|
+
specifierIndex < statement.specifiers.length;
|
2334
|
+
specifierIndex++
|
2335
|
+
) {
|
2336
|
+
const specifier = statement.specifiers[specifierIndex];
|
2337
|
+
switch (specifier.type) {
|
2338
|
+
case "ExportSpecifier": {
|
2339
|
+
const name = specifier.exported.name || specifier.exported.value;
|
2340
|
+
if (source) {
|
2341
|
+
this.hooks.exportImportSpecifier.call(
|
2342
|
+
statement,
|
2343
|
+
source,
|
2344
|
+
specifier.local.name,
|
2345
|
+
name,
|
2346
|
+
specifierIndex
|
2347
|
+
);
|
2348
|
+
} else {
|
2349
|
+
this.hooks.exportSpecifier.call(
|
2350
|
+
statement,
|
2351
|
+
specifier.local.name,
|
2352
|
+
name,
|
2353
|
+
specifierIndex
|
2354
|
+
);
|
2355
|
+
}
|
2356
|
+
break;
|
2357
|
+
}
|
2358
|
+
}
|
2359
|
+
}
|
2360
|
+
}
|
2361
|
+
}
|
2362
|
+
|
2363
|
+
/**
|
2364
|
+
* @param {ExportNamedDeclaration} statement the statement
|
2365
|
+
*/
|
2366
|
+
walkExportNamedDeclaration(statement) {
|
2367
|
+
if (statement.declaration) {
|
2368
|
+
this.walkStatement(statement.declaration);
|
2369
|
+
}
|
2370
|
+
}
|
2371
|
+
|
2372
|
+
blockPreWalkExportDefaultDeclaration(statement) {
|
2373
|
+
const prev = this.prevStatement;
|
2374
|
+
this.preWalkStatement(statement.declaration);
|
2375
|
+
this.prevStatement = prev;
|
2376
|
+
this.blockPreWalkStatement(statement.declaration);
|
2377
|
+
if (
|
2378
|
+
statement.declaration.id &&
|
2379
|
+
statement.declaration.type !== "FunctionExpression" &&
|
2380
|
+
statement.declaration.type !== "ClassExpression"
|
2381
|
+
) {
|
2382
|
+
this.hooks.exportSpecifier.call(
|
2383
|
+
statement,
|
2384
|
+
statement.declaration.id.name,
|
2385
|
+
"default",
|
2386
|
+
undefined
|
2387
|
+
);
|
2388
|
+
}
|
2389
|
+
}
|
2390
|
+
|
2391
|
+
walkExportDefaultDeclaration(statement) {
|
2392
|
+
this.hooks.export.call(statement);
|
2393
|
+
if (
|
2394
|
+
statement.declaration.id &&
|
2395
|
+
statement.declaration.type !== "FunctionExpression" &&
|
2396
|
+
statement.declaration.type !== "ClassExpression"
|
2397
|
+
) {
|
2398
|
+
if (
|
2399
|
+
!this.hooks.exportDeclaration.call(statement, statement.declaration)
|
2400
|
+
) {
|
2401
|
+
this.walkStatement(statement.declaration);
|
2402
|
+
}
|
2403
|
+
} else {
|
2404
|
+
// Acorn parses `export default function() {}` as `FunctionDeclaration` and
|
2405
|
+
// `export default class {}` as `ClassDeclaration`, both with `id = null`.
|
2406
|
+
// These nodes must be treated as expressions.
|
2407
|
+
if (
|
2408
|
+
statement.declaration.type === "FunctionDeclaration" ||
|
2409
|
+
statement.declaration.type === "ClassDeclaration"
|
2410
|
+
) {
|
2411
|
+
this.walkStatement(statement.declaration);
|
2412
|
+
} else {
|
2413
|
+
this.walkExpression(statement.declaration);
|
2414
|
+
}
|
2415
|
+
if (!this.hooks.exportExpression.call(statement, statement.declaration)) {
|
2416
|
+
this.hooks.exportSpecifier.call(
|
2417
|
+
statement,
|
2418
|
+
statement.declaration,
|
2419
|
+
"default",
|
2420
|
+
undefined
|
2421
|
+
);
|
2422
|
+
}
|
2423
|
+
}
|
2424
|
+
}
|
2425
|
+
|
2426
|
+
blockPreWalkExportAllDeclaration(statement) {
|
2427
|
+
const source = statement.source.value;
|
2428
|
+
const name = statement.exported ? statement.exported.name : null;
|
2429
|
+
this.hooks.exportImport.call(statement, source);
|
2430
|
+
this.hooks.exportImportSpecifier.call(statement, source, null, name, 0);
|
2431
|
+
}
|
2432
|
+
|
2433
|
+
/**
|
2434
|
+
* @param {VariableDeclaration} statement variable declaration
|
2435
|
+
*/
|
2436
|
+
preWalkVariableDeclaration(statement) {
|
2437
|
+
if (statement.kind !== "var") return;
|
2438
|
+
this._preWalkVariableDeclaration(statement, this.hooks.varDeclarationVar);
|
2439
|
+
}
|
2440
|
+
|
2441
|
+
/**
|
2442
|
+
* @param {VariableDeclaration} statement variable declaration
|
2443
|
+
*/
|
2444
|
+
blockPreWalkVariableDeclaration(statement) {
|
2445
|
+
if (statement.kind === "var") return;
|
2446
|
+
const hookMap =
|
2447
|
+
statement.kind === "const"
|
2448
|
+
? this.hooks.varDeclarationConst
|
2449
|
+
: this.hooks.varDeclarationLet;
|
2450
|
+
this._preWalkVariableDeclaration(statement, hookMap);
|
2451
|
+
}
|
2452
|
+
|
2453
|
+
/**
|
2454
|
+
* @param {VariableDeclaration} statement variable declaration
|
2455
|
+
* @param {TODO} hookMap map of hooks
|
2456
|
+
*/
|
2457
|
+
_preWalkVariableDeclaration(statement, hookMap) {
|
2458
|
+
for (const declarator of statement.declarations) {
|
2459
|
+
switch (declarator.type) {
|
2460
|
+
case "VariableDeclarator": {
|
2461
|
+
this.preWalkVariableDeclarator(declarator);
|
2462
|
+
if (!this.hooks.preDeclarator.call(declarator, statement)) {
|
2463
|
+
this.enterPattern(declarator.id, (name, decl) => {
|
2464
|
+
let hook = hookMap.get(name);
|
2465
|
+
if (hook === undefined || !hook.call(decl)) {
|
2466
|
+
hook = this.hooks.varDeclaration.get(name);
|
2467
|
+
if (hook === undefined || !hook.call(decl)) {
|
2468
|
+
this.defineVariable(name);
|
2469
|
+
}
|
2470
|
+
}
|
2471
|
+
});
|
2472
|
+
}
|
2473
|
+
break;
|
2474
|
+
}
|
2475
|
+
}
|
2476
|
+
}
|
2477
|
+
}
|
2478
|
+
|
2479
|
+
/**
|
2480
|
+
* @param {ObjectPattern} objectPattern object pattern
|
2481
|
+
* @returns {Set<string> | undefined} set of names or undefined if not all keys are identifiers
|
2482
|
+
*/
|
2483
|
+
_preWalkObjectPattern(objectPattern) {
|
2484
|
+
const ids = new Set();
|
2485
|
+
const properties = objectPattern.properties;
|
2486
|
+
for (let i = 0; i < properties.length; i++) {
|
2487
|
+
const property = properties[i];
|
2488
|
+
if (property.type !== "Property") return;
|
2489
|
+
const key = property.key;
|
2490
|
+
if (key.type === "Identifier") {
|
2491
|
+
ids.add(key.name);
|
2492
|
+
} else {
|
2493
|
+
const id = this.evaluateExpression(key);
|
2494
|
+
const str = id.asString();
|
2495
|
+
if (str) {
|
2496
|
+
ids.add(str);
|
2497
|
+
} else {
|
2498
|
+
// could not evaluate key
|
2499
|
+
return;
|
2500
|
+
}
|
2501
|
+
}
|
2502
|
+
}
|
2503
|
+
|
2504
|
+
return ids;
|
2505
|
+
}
|
2506
|
+
|
2507
|
+
/**
|
2508
|
+
* @param {VariableDeclarator} declarator variable declarator
|
2509
|
+
*/
|
2510
|
+
preWalkVariableDeclarator(declarator) {
|
2511
|
+
if (
|
2512
|
+
!declarator.init ||
|
2513
|
+
declarator.id.type !== "ObjectPattern" ||
|
2514
|
+
!this.destructuringAssignmentProperties
|
2515
|
+
)
|
2516
|
+
return;
|
2517
|
+
const keys = this._preWalkObjectPattern(declarator.id);
|
2518
|
+
|
2519
|
+
if (!keys) return;
|
2520
|
+
this.destructuringAssignmentProperties.set(
|
2521
|
+
declarator.init.type === "AwaitExpression"
|
2522
|
+
? declarator.init.argument
|
2523
|
+
: declarator.init,
|
2524
|
+
keys
|
2525
|
+
);
|
2526
|
+
|
2527
|
+
if (declarator.init.type === "AssignmentExpression") {
|
2528
|
+
this.preWalkAssignmentExpression(declarator.init);
|
2529
|
+
}
|
2530
|
+
}
|
2531
|
+
|
2532
|
+
/**
|
2533
|
+
* @param {VariableDeclaration} statement variable declaration
|
2534
|
+
*/
|
2535
|
+
walkVariableDeclaration(statement) {
|
2536
|
+
for (const declarator of statement.declarations) {
|
2537
|
+
switch (declarator.type) {
|
2538
|
+
case "VariableDeclarator": {
|
2539
|
+
const renameIdentifier =
|
2540
|
+
declarator.init && this.getRenameIdentifier(declarator.init);
|
2541
|
+
if (renameIdentifier && declarator.id.type === "Identifier") {
|
2542
|
+
const hook = this.hooks.canRename.get(renameIdentifier);
|
2543
|
+
if (hook !== undefined && hook.call(declarator.init)) {
|
2544
|
+
// renaming with "var a = b;"
|
2545
|
+
const hook = this.hooks.rename.get(renameIdentifier);
|
2546
|
+
if (hook === undefined || !hook.call(declarator.init)) {
|
2547
|
+
this.setVariable(declarator.id.name, renameIdentifier);
|
2548
|
+
}
|
2549
|
+
break;
|
2550
|
+
}
|
2551
|
+
}
|
2552
|
+
if (!this.hooks.declarator.call(declarator, statement)) {
|
2553
|
+
this.walkPattern(declarator.id);
|
2554
|
+
if (declarator.init) this.walkExpression(declarator.init);
|
2555
|
+
}
|
2556
|
+
break;
|
2557
|
+
}
|
2558
|
+
}
|
2559
|
+
}
|
2560
|
+
}
|
2561
|
+
|
2562
|
+
/**
|
2563
|
+
* @param {ClassDeclaration} statement class declaration
|
2564
|
+
*/
|
2565
|
+
blockPreWalkClassDeclaration(statement) {
|
2566
|
+
if (statement.id) {
|
2567
|
+
this.defineVariable(statement.id.name);
|
2568
|
+
}
|
2569
|
+
}
|
2570
|
+
|
2571
|
+
/**
|
2572
|
+
* @param {ClassDeclaration} statement class declaration
|
2573
|
+
*/
|
2574
|
+
walkClassDeclaration(statement) {
|
2575
|
+
this.walkClass(statement);
|
2576
|
+
}
|
2577
|
+
|
2578
|
+
/**
|
2579
|
+
* @param {SwitchCase[]} switchCases switch statement
|
2580
|
+
*/
|
2581
|
+
preWalkSwitchCases(switchCases) {
|
2582
|
+
for (let index = 0, len = switchCases.length; index < len; index++) {
|
2583
|
+
const switchCase = switchCases[index];
|
2584
|
+
this.preWalkStatements(switchCase.consequent);
|
2585
|
+
}
|
2586
|
+
}
|
2587
|
+
|
2588
|
+
/**
|
2589
|
+
* @param {SwitchCase[]} switchCases switch statement
|
2590
|
+
*/
|
2591
|
+
walkSwitchCases(switchCases) {
|
2592
|
+
this.inBlockScope(() => {
|
2593
|
+
const len = switchCases.length;
|
2594
|
+
|
2595
|
+
// we need to pre walk all statements first since we can have invalid code
|
2596
|
+
// import A from "module";
|
2597
|
+
// switch(1) {
|
2598
|
+
// case 1:
|
2599
|
+
// console.log(A); // should fail at runtime
|
2600
|
+
// case 2:
|
2601
|
+
// const A = 1;
|
2602
|
+
// }
|
2603
|
+
for (let index = 0; index < len; index++) {
|
2604
|
+
const switchCase = switchCases[index];
|
2605
|
+
|
2606
|
+
if (switchCase.consequent.length > 0) {
|
2607
|
+
const prev = this.prevStatement;
|
2608
|
+
this.blockPreWalkStatements(switchCase.consequent);
|
2609
|
+
this.prevStatement = prev;
|
2610
|
+
}
|
2611
|
+
}
|
2612
|
+
|
2613
|
+
for (let index = 0; index < len; index++) {
|
2614
|
+
const switchCase = switchCases[index];
|
2615
|
+
|
2616
|
+
if (switchCase.test) {
|
2617
|
+
this.walkExpression(switchCase.test);
|
2618
|
+
}
|
2619
|
+
if (switchCase.consequent.length > 0) {
|
2620
|
+
this.walkStatements(switchCase.consequent);
|
2621
|
+
}
|
2622
|
+
}
|
2623
|
+
});
|
2624
|
+
}
|
2625
|
+
|
2626
|
+
/**
|
2627
|
+
* @param {CatchClause} catchClause catch clause
|
2628
|
+
*/
|
2629
|
+
preWalkCatchClause(catchClause) {
|
2630
|
+
this.preWalkStatement(catchClause.body);
|
2631
|
+
}
|
2632
|
+
|
2633
|
+
/**
|
2634
|
+
* @param {CatchClause} catchClause catch clause
|
2635
|
+
*/
|
2636
|
+
walkCatchClause(catchClause) {
|
2637
|
+
this.inBlockScope(() => {
|
2638
|
+
// Error binding is optional in catch clause since ECMAScript 2019
|
2639
|
+
if (catchClause.param !== null) {
|
2640
|
+
this.enterPattern(catchClause.param, ident => {
|
2641
|
+
this.defineVariable(ident);
|
2642
|
+
});
|
2643
|
+
this.walkPattern(catchClause.param);
|
2644
|
+
}
|
2645
|
+
const prev = this.prevStatement;
|
2646
|
+
this.blockPreWalkStatement(catchClause.body);
|
2647
|
+
this.prevStatement = prev;
|
2648
|
+
this.walkStatement(catchClause.body);
|
2649
|
+
});
|
2650
|
+
}
|
2651
|
+
|
2652
|
+
/**
|
2653
|
+
* @param {Pattern} pattern pattern
|
2654
|
+
*/
|
2655
|
+
walkPattern(pattern) {
|
2656
|
+
switch (pattern.type) {
|
2657
|
+
case "ArrayPattern":
|
2658
|
+
this.walkArrayPattern(pattern);
|
2659
|
+
break;
|
2660
|
+
case "AssignmentPattern":
|
2661
|
+
this.walkAssignmentPattern(pattern);
|
2662
|
+
break;
|
2663
|
+
case "MemberExpression":
|
2664
|
+
this.walkMemberExpression(pattern);
|
2665
|
+
break;
|
2666
|
+
case "ObjectPattern":
|
2667
|
+
this.walkObjectPattern(pattern);
|
2668
|
+
break;
|
2669
|
+
case "RestElement":
|
2670
|
+
this.walkRestElement(pattern);
|
2671
|
+
break;
|
2672
|
+
}
|
2673
|
+
}
|
2674
|
+
|
2675
|
+
/**
|
2676
|
+
* @param {AssignmentPattern} pattern assignment pattern
|
2677
|
+
*/
|
2678
|
+
walkAssignmentPattern(pattern) {
|
2679
|
+
this.walkExpression(pattern.right);
|
2680
|
+
this.walkPattern(pattern.left);
|
2681
|
+
}
|
2682
|
+
|
2683
|
+
walkObjectPattern(pattern) {
|
2684
|
+
for (let i = 0, len = pattern.properties.length; i < len; i++) {
|
2685
|
+
const prop = pattern.properties[i];
|
2686
|
+
if (prop) {
|
2687
|
+
if (prop.computed) this.walkExpression(prop.key);
|
2688
|
+
if (prop.value) this.walkPattern(prop.value);
|
2689
|
+
}
|
2690
|
+
}
|
2691
|
+
}
|
2692
|
+
|
2693
|
+
/**
|
2694
|
+
* @param {ArrayPattern} pattern array pattern
|
2695
|
+
*/
|
2696
|
+
walkArrayPattern(pattern) {
|
2697
|
+
for (let i = 0, len = pattern.elements.length; i < len; i++) {
|
2698
|
+
const element = pattern.elements[i];
|
2699
|
+
if (element) this.walkPattern(element);
|
2700
|
+
}
|
2701
|
+
}
|
2702
|
+
|
2703
|
+
/**
|
2704
|
+
* @param {RestElement} pattern rest element
|
2705
|
+
*/
|
2706
|
+
walkRestElement(pattern) {
|
2707
|
+
this.walkPattern(pattern.argument);
|
2708
|
+
}
|
2709
|
+
|
2710
|
+
/**
|
2711
|
+
* @param {(Expression | SpreadElement | null)[]} expressions expressions
|
2712
|
+
*/
|
2713
|
+
walkExpressions(expressions) {
|
2714
|
+
for (const expression of expressions) {
|
2715
|
+
if (expression) {
|
2716
|
+
this.walkExpression(expression);
|
2717
|
+
}
|
2718
|
+
}
|
2719
|
+
}
|
2720
|
+
|
2721
|
+
/**
|
2722
|
+
* @param {TODO} expression expression
|
2723
|
+
*/
|
2724
|
+
walkExpression(expression) {
|
2725
|
+
switch (expression.type) {
|
2726
|
+
case "ArrayExpression":
|
2727
|
+
this.walkArrayExpression(expression);
|
2728
|
+
break;
|
2729
|
+
case "ArrowFunctionExpression":
|
2730
|
+
this.walkArrowFunctionExpression(expression);
|
2731
|
+
break;
|
2732
|
+
case "AssignmentExpression":
|
2733
|
+
this.walkAssignmentExpression(expression);
|
2734
|
+
break;
|
2735
|
+
case "AwaitExpression":
|
2736
|
+
this.walkAwaitExpression(expression);
|
2737
|
+
break;
|
2738
|
+
case "BinaryExpression":
|
2739
|
+
this.walkBinaryExpression(expression);
|
2740
|
+
break;
|
2741
|
+
case "CallExpression":
|
2742
|
+
this.walkCallExpression(expression);
|
2743
|
+
break;
|
2744
|
+
case "ChainExpression":
|
2745
|
+
this.walkChainExpression(expression);
|
2746
|
+
break;
|
2747
|
+
case "ClassExpression":
|
2748
|
+
this.walkClassExpression(expression);
|
2749
|
+
break;
|
2750
|
+
case "ConditionalExpression":
|
2751
|
+
this.walkConditionalExpression(expression);
|
2752
|
+
break;
|
2753
|
+
case "FunctionExpression":
|
2754
|
+
this.walkFunctionExpression(expression);
|
2755
|
+
break;
|
2756
|
+
case "Identifier":
|
2757
|
+
this.walkIdentifier(expression);
|
2758
|
+
break;
|
2759
|
+
case "ImportExpression":
|
2760
|
+
this.walkImportExpression(expression);
|
2761
|
+
break;
|
2762
|
+
case "LogicalExpression":
|
2763
|
+
this.walkLogicalExpression(expression);
|
2764
|
+
break;
|
2765
|
+
case "MetaProperty":
|
2766
|
+
this.walkMetaProperty(expression);
|
2767
|
+
break;
|
2768
|
+
case "MemberExpression":
|
2769
|
+
this.walkMemberExpression(expression);
|
2770
|
+
break;
|
2771
|
+
case "NewExpression":
|
2772
|
+
this.walkNewExpression(expression);
|
2773
|
+
break;
|
2774
|
+
case "ObjectExpression":
|
2775
|
+
this.walkObjectExpression(expression);
|
2776
|
+
break;
|
2777
|
+
case "SequenceExpression":
|
2778
|
+
this.walkSequenceExpression(expression);
|
2779
|
+
break;
|
2780
|
+
case "SpreadElement":
|
2781
|
+
this.walkSpreadElement(expression);
|
2782
|
+
break;
|
2783
|
+
case "TaggedTemplateExpression":
|
2784
|
+
this.walkTaggedTemplateExpression(expression);
|
2785
|
+
break;
|
2786
|
+
case "TemplateLiteral":
|
2787
|
+
this.walkTemplateLiteral(expression);
|
2788
|
+
break;
|
2789
|
+
case "ThisExpression":
|
2790
|
+
this.walkThisExpression(expression);
|
2791
|
+
break;
|
2792
|
+
case "UnaryExpression":
|
2793
|
+
this.walkUnaryExpression(expression);
|
2794
|
+
break;
|
2795
|
+
case "UpdateExpression":
|
2796
|
+
this.walkUpdateExpression(expression);
|
2797
|
+
break;
|
2798
|
+
case "YieldExpression":
|
2799
|
+
this.walkYieldExpression(expression);
|
2800
|
+
break;
|
2801
|
+
}
|
2802
|
+
}
|
2803
|
+
|
2804
|
+
/**
|
2805
|
+
* @param {AwaitExpression} expression await expression
|
2806
|
+
*/
|
2807
|
+
walkAwaitExpression(expression) {
|
2808
|
+
if (this.scope.topLevelScope === true)
|
2809
|
+
this.hooks.topLevelAwait.call(expression);
|
2810
|
+
this.walkExpression(expression.argument);
|
2811
|
+
}
|
2812
|
+
|
2813
|
+
/**
|
2814
|
+
* @param {ArrayExpression} expression array expression
|
2815
|
+
*/
|
2816
|
+
walkArrayExpression(expression) {
|
2817
|
+
if (expression.elements) {
|
2818
|
+
this.walkExpressions(expression.elements);
|
2819
|
+
}
|
2820
|
+
}
|
2821
|
+
|
2822
|
+
/**
|
2823
|
+
* @param {SpreadElement} expression spread element
|
2824
|
+
*/
|
2825
|
+
walkSpreadElement(expression) {
|
2826
|
+
if (expression.argument) {
|
2827
|
+
this.walkExpression(expression.argument);
|
2828
|
+
}
|
2829
|
+
}
|
2830
|
+
|
2831
|
+
/**
|
2832
|
+
* @param {ObjectExpression} expression object expression
|
2833
|
+
*/
|
2834
|
+
walkObjectExpression(expression) {
|
2835
|
+
for (
|
2836
|
+
let propIndex = 0, len = expression.properties.length;
|
2837
|
+
propIndex < len;
|
2838
|
+
propIndex++
|
2839
|
+
) {
|
2840
|
+
const prop = expression.properties[propIndex];
|
2841
|
+
this.walkProperty(prop);
|
2842
|
+
}
|
2843
|
+
}
|
2844
|
+
|
2845
|
+
/**
|
2846
|
+
* @param {Property | SpreadElement} prop property or spread element
|
2847
|
+
*/
|
2848
|
+
walkProperty(prop) {
|
2849
|
+
if (prop.type === "SpreadElement") {
|
2850
|
+
this.walkExpression(prop.argument);
|
2851
|
+
return;
|
2852
|
+
}
|
2853
|
+
if (prop.computed) {
|
2854
|
+
this.walkExpression(prop.key);
|
2855
|
+
}
|
2856
|
+
if (prop.shorthand && prop.value && prop.value.type === "Identifier") {
|
2857
|
+
this.scope.inShorthand = prop.value.name;
|
2858
|
+
this.walkIdentifier(prop.value);
|
2859
|
+
this.scope.inShorthand = false;
|
2860
|
+
} else {
|
2861
|
+
this.walkExpression(prop.value);
|
2862
|
+
}
|
2863
|
+
}
|
2864
|
+
|
2865
|
+
/**
|
2866
|
+
* @param {FunctionExpression} expression arrow function expression
|
2867
|
+
*/
|
2868
|
+
walkFunctionExpression(expression) {
|
2869
|
+
const wasTopLevel = this.scope.topLevelScope;
|
2870
|
+
this.scope.topLevelScope = false;
|
2871
|
+
const scopeParams = [...expression.params];
|
2872
|
+
|
2873
|
+
// Add function name in scope for recursive calls
|
2874
|
+
if (expression.id) {
|
2875
|
+
scopeParams.push(expression.id);
|
2876
|
+
}
|
2877
|
+
|
2878
|
+
this.inFunctionScope(true, scopeParams, () => {
|
2879
|
+
for (const param of expression.params) {
|
2880
|
+
this.walkPattern(param);
|
2881
|
+
}
|
2882
|
+
if (expression.body.type === "BlockStatement") {
|
2883
|
+
this.detectMode(expression.body.body);
|
2884
|
+
const prev = this.prevStatement;
|
2885
|
+
this.preWalkStatement(expression.body);
|
2886
|
+
this.prevStatement = prev;
|
2887
|
+
this.walkStatement(expression.body);
|
2888
|
+
} else {
|
2889
|
+
this.walkExpression(expression.body);
|
2890
|
+
}
|
2891
|
+
});
|
2892
|
+
this.scope.topLevelScope = wasTopLevel;
|
2893
|
+
}
|
2894
|
+
|
2895
|
+
/**
|
2896
|
+
* @param {ArrowFunctionExpression} expression arrow function expression
|
2897
|
+
*/
|
2898
|
+
walkArrowFunctionExpression(expression) {
|
2899
|
+
const wasTopLevel = this.scope.topLevelScope;
|
2900
|
+
this.scope.topLevelScope = wasTopLevel ? "arrow" : false;
|
2901
|
+
this.inFunctionScope(false, expression.params, () => {
|
2902
|
+
for (const param of expression.params) {
|
2903
|
+
this.walkPattern(param);
|
2904
|
+
}
|
2905
|
+
if (expression.body.type === "BlockStatement") {
|
2906
|
+
this.detectMode(expression.body.body);
|
2907
|
+
const prev = this.prevStatement;
|
2908
|
+
this.preWalkStatement(expression.body);
|
2909
|
+
this.prevStatement = prev;
|
2910
|
+
this.walkStatement(expression.body);
|
2911
|
+
} else {
|
2912
|
+
this.walkExpression(expression.body);
|
2913
|
+
}
|
2914
|
+
});
|
2915
|
+
this.scope.topLevelScope = wasTopLevel;
|
2916
|
+
}
|
2917
|
+
|
2918
|
+
/**
|
2919
|
+
* @param {SequenceExpression} expression the sequence
|
2920
|
+
*/
|
2921
|
+
walkSequenceExpression(expression) {
|
2922
|
+
if (!expression.expressions) return;
|
2923
|
+
// We treat sequence expressions like statements when they are one statement level
|
2924
|
+
// This has some benefits for optimizations that only work on statement level
|
2925
|
+
const currentStatement = this.statementPath[this.statementPath.length - 1];
|
2926
|
+
if (
|
2927
|
+
currentStatement === expression ||
|
2928
|
+
(currentStatement.type === "ExpressionStatement" &&
|
2929
|
+
currentStatement.expression === expression)
|
2930
|
+
) {
|
2931
|
+
const old = this.statementPath.pop();
|
2932
|
+
for (const expr of expression.expressions) {
|
2933
|
+
this.statementPath.push(expr);
|
2934
|
+
this.walkExpression(expr);
|
2935
|
+
this.statementPath.pop();
|
2936
|
+
}
|
2937
|
+
this.statementPath.push(old);
|
2938
|
+
} else {
|
2939
|
+
this.walkExpressions(expression.expressions);
|
2940
|
+
}
|
2941
|
+
}
|
2942
|
+
|
2943
|
+
/**
|
2944
|
+
* @param {UpdateExpression} expression the update expression
|
2945
|
+
*/
|
2946
|
+
walkUpdateExpression(expression) {
|
2947
|
+
this.walkExpression(expression.argument);
|
2948
|
+
}
|
2949
|
+
|
2950
|
+
/**
|
2951
|
+
* @param {UnaryExpression} expression the unary expression
|
2952
|
+
*/
|
2953
|
+
walkUnaryExpression(expression) {
|
2954
|
+
if (expression.operator === "typeof") {
|
2955
|
+
const result = this.callHooksForExpression(
|
2956
|
+
this.hooks.typeof,
|
2957
|
+
expression.argument,
|
2958
|
+
expression
|
2959
|
+
);
|
2960
|
+
if (result === true) return;
|
2961
|
+
if (expression.argument.type === "ChainExpression") {
|
2962
|
+
const result = this.callHooksForExpression(
|
2963
|
+
this.hooks.typeof,
|
2964
|
+
expression.argument.expression,
|
2965
|
+
expression
|
2966
|
+
);
|
2967
|
+
if (result === true) return;
|
2968
|
+
}
|
2969
|
+
}
|
2970
|
+
this.walkExpression(expression.argument);
|
2971
|
+
}
|
2972
|
+
|
2973
|
+
/**
|
2974
|
+
* @param {LogicalExpression | BinaryExpression} expression the expression
|
2975
|
+
*/
|
2976
|
+
walkLeftRightExpression(expression) {
|
2977
|
+
this.walkExpression(expression.left);
|
2978
|
+
this.walkExpression(expression.right);
|
2979
|
+
}
|
2980
|
+
|
2981
|
+
/**
|
2982
|
+
* @param {BinaryExpression} expression the binary expression
|
2983
|
+
*/
|
2984
|
+
walkBinaryExpression(expression) {
|
2985
|
+
if (this.hooks.binaryExpression.call(expression) === undefined) {
|
2986
|
+
this.walkLeftRightExpression(expression);
|
2987
|
+
}
|
2988
|
+
}
|
2989
|
+
|
2990
|
+
/**
|
2991
|
+
* @param {LogicalExpression} expression the logical expression
|
2992
|
+
*/
|
2993
|
+
walkLogicalExpression(expression) {
|
2994
|
+
const result = this.hooks.expressionLogicalOperator.call(expression);
|
2995
|
+
if (result === undefined) {
|
2996
|
+
this.walkLeftRightExpression(expression);
|
2997
|
+
} else {
|
2998
|
+
if (result) {
|
2999
|
+
this.walkExpression(expression.right);
|
3000
|
+
}
|
3001
|
+
}
|
3002
|
+
}
|
3003
|
+
|
3004
|
+
/**
|
3005
|
+
* @param {AssignmentExpression} expression assignment expression
|
3006
|
+
*/
|
3007
|
+
walkAssignmentExpression(expression) {
|
3008
|
+
if (expression.left.type === "Identifier") {
|
3009
|
+
const renameIdentifier = this.getRenameIdentifier(expression.right);
|
3010
|
+
if (renameIdentifier) {
|
3011
|
+
if (
|
3012
|
+
this.callHooksForInfo(
|
3013
|
+
this.hooks.canRename,
|
3014
|
+
renameIdentifier,
|
3015
|
+
expression.right
|
3016
|
+
)
|
3017
|
+
) {
|
3018
|
+
// renaming "a = b;"
|
3019
|
+
if (
|
3020
|
+
!this.callHooksForInfo(
|
3021
|
+
this.hooks.rename,
|
3022
|
+
renameIdentifier,
|
3023
|
+
expression.right
|
3024
|
+
)
|
3025
|
+
) {
|
3026
|
+
this.setVariable(
|
3027
|
+
expression.left.name,
|
3028
|
+
typeof renameIdentifier === "string"
|
3029
|
+
? this.getVariableInfo(renameIdentifier)
|
3030
|
+
: renameIdentifier
|
3031
|
+
);
|
3032
|
+
}
|
3033
|
+
return;
|
3034
|
+
}
|
3035
|
+
}
|
3036
|
+
this.walkExpression(expression.right);
|
3037
|
+
this.enterPattern(expression.left, (name, decl) => {
|
3038
|
+
if (!this.callHooksForName(this.hooks.assign, name, expression)) {
|
3039
|
+
this.walkExpression(expression.left);
|
3040
|
+
}
|
3041
|
+
});
|
3042
|
+
return;
|
3043
|
+
}
|
3044
|
+
if (expression.left.type.endsWith("Pattern")) {
|
3045
|
+
this.walkExpression(expression.right);
|
3046
|
+
this.enterPattern(expression.left, (name, decl) => {
|
3047
|
+
if (!this.callHooksForName(this.hooks.assign, name, expression)) {
|
3048
|
+
this.defineVariable(name);
|
3049
|
+
}
|
3050
|
+
});
|
3051
|
+
this.walkPattern(expression.left);
|
3052
|
+
} else if (expression.left.type === "MemberExpression") {
|
3053
|
+
const exprName = this.getMemberExpressionInfo(
|
3054
|
+
expression.left,
|
3055
|
+
ALLOWED_MEMBER_TYPES_EXPRESSION
|
3056
|
+
);
|
3057
|
+
if (exprName) {
|
3058
|
+
if (
|
3059
|
+
this.callHooksForInfo(
|
3060
|
+
this.hooks.assignMemberChain,
|
3061
|
+
exprName.rootInfo,
|
3062
|
+
expression,
|
3063
|
+
exprName.getMembers()
|
3064
|
+
)
|
3065
|
+
) {
|
3066
|
+
return;
|
3067
|
+
}
|
3068
|
+
}
|
3069
|
+
this.walkExpression(expression.right);
|
3070
|
+
this.walkExpression(expression.left);
|
3071
|
+
} else {
|
3072
|
+
this.walkExpression(expression.right);
|
3073
|
+
this.walkExpression(expression.left);
|
3074
|
+
}
|
3075
|
+
}
|
3076
|
+
|
3077
|
+
/**
|
3078
|
+
* @param {ConditionalExpression} expression conditional expression
|
3079
|
+
*/
|
3080
|
+
walkConditionalExpression(expression) {
|
3081
|
+
const result = this.hooks.expressionConditionalOperator.call(expression);
|
3082
|
+
if (result === undefined) {
|
3083
|
+
this.walkExpression(expression.test);
|
3084
|
+
this.walkExpression(expression.consequent);
|
3085
|
+
if (expression.alternate) {
|
3086
|
+
this.walkExpression(expression.alternate);
|
3087
|
+
}
|
3088
|
+
} else {
|
3089
|
+
if (result) {
|
3090
|
+
this.walkExpression(expression.consequent);
|
3091
|
+
} else if (expression.alternate) {
|
3092
|
+
this.walkExpression(expression.alternate);
|
3093
|
+
}
|
3094
|
+
}
|
3095
|
+
}
|
3096
|
+
|
3097
|
+
/**
|
3098
|
+
* @param {NewExpression} expression new expression
|
3099
|
+
*/
|
3100
|
+
walkNewExpression(expression) {
|
3101
|
+
const result = this.callHooksForExpression(
|
3102
|
+
this.hooks.new,
|
3103
|
+
expression.callee,
|
3104
|
+
expression
|
3105
|
+
);
|
3106
|
+
if (result === true) return;
|
3107
|
+
this.walkExpression(expression.callee);
|
3108
|
+
if (expression.arguments) {
|
3109
|
+
this.walkExpressions(expression.arguments);
|
3110
|
+
}
|
3111
|
+
}
|
3112
|
+
|
3113
|
+
/**
|
3114
|
+
* @param {YieldExpression} expression yield expression
|
3115
|
+
*/
|
3116
|
+
walkYieldExpression(expression) {
|
3117
|
+
if (expression.argument) {
|
3118
|
+
this.walkExpression(expression.argument);
|
3119
|
+
}
|
3120
|
+
}
|
3121
|
+
|
3122
|
+
/**
|
3123
|
+
* @param {TemplateLiteral} expression template literal
|
3124
|
+
*/
|
3125
|
+
walkTemplateLiteral(expression) {
|
3126
|
+
if (expression.expressions) {
|
3127
|
+
this.walkExpressions(expression.expressions);
|
3128
|
+
}
|
3129
|
+
}
|
3130
|
+
|
3131
|
+
/**
|
3132
|
+
* @param {TaggedTemplateExpression} expression tagged template expression
|
3133
|
+
*/
|
3134
|
+
walkTaggedTemplateExpression(expression) {
|
3135
|
+
if (expression.tag) {
|
3136
|
+
this.scope.inTaggedTemplateTag = true;
|
3137
|
+
this.walkExpression(expression.tag);
|
3138
|
+
this.scope.inTaggedTemplateTag = false;
|
3139
|
+
}
|
3140
|
+
if (expression.quasi && expression.quasi.expressions) {
|
3141
|
+
this.walkExpressions(expression.quasi.expressions);
|
3142
|
+
}
|
3143
|
+
}
|
3144
|
+
|
3145
|
+
/**
|
3146
|
+
* @param {ClassExpression} expression the class expression
|
3147
|
+
*/
|
3148
|
+
walkClassExpression(expression) {
|
3149
|
+
this.walkClass(expression);
|
3150
|
+
}
|
3151
|
+
|
3152
|
+
/**
|
3153
|
+
* @param {ChainExpression} expression expression
|
3154
|
+
*/
|
3155
|
+
walkChainExpression(expression) {
|
3156
|
+
const result = this.hooks.optionalChaining.call(expression);
|
3157
|
+
|
3158
|
+
if (result === undefined) {
|
3159
|
+
if (expression.expression.type === "CallExpression") {
|
3160
|
+
this.walkCallExpression(expression.expression);
|
3161
|
+
} else {
|
3162
|
+
this.walkMemberExpression(expression.expression);
|
3163
|
+
}
|
3164
|
+
}
|
3165
|
+
}
|
3166
|
+
|
3167
|
+
_walkIIFE(functionExpression, options, currentThis) {
|
3168
|
+
const getVarInfo = argOrThis => {
|
3169
|
+
const renameIdentifier = this.getRenameIdentifier(argOrThis);
|
3170
|
+
if (renameIdentifier) {
|
3171
|
+
if (
|
3172
|
+
this.callHooksForInfo(
|
3173
|
+
this.hooks.canRename,
|
3174
|
+
renameIdentifier,
|
3175
|
+
argOrThis
|
3176
|
+
)
|
3177
|
+
) {
|
3178
|
+
if (
|
3179
|
+
!this.callHooksForInfo(
|
3180
|
+
this.hooks.rename,
|
3181
|
+
renameIdentifier,
|
3182
|
+
argOrThis
|
3183
|
+
)
|
3184
|
+
) {
|
3185
|
+
return typeof renameIdentifier === "string"
|
3186
|
+
? this.getVariableInfo(renameIdentifier)
|
3187
|
+
: renameIdentifier;
|
3188
|
+
}
|
3189
|
+
}
|
3190
|
+
}
|
3191
|
+
this.walkExpression(argOrThis);
|
3192
|
+
};
|
3193
|
+
const { params, type } = functionExpression;
|
3194
|
+
const arrow = type === "ArrowFunctionExpression";
|
3195
|
+
const renameThis = currentThis ? getVarInfo(currentThis) : null;
|
3196
|
+
const varInfoForArgs = options.map(getVarInfo);
|
3197
|
+
const wasTopLevel = this.scope.topLevelScope;
|
3198
|
+
this.scope.topLevelScope = wasTopLevel && arrow ? "arrow" : false;
|
3199
|
+
const scopeParams = params.filter(
|
3200
|
+
(identifier, idx) => !varInfoForArgs[idx]
|
3201
|
+
);
|
3202
|
+
|
3203
|
+
// Add function name in scope for recursive calls
|
3204
|
+
if (functionExpression.id) {
|
3205
|
+
scopeParams.push(functionExpression.id.name);
|
3206
|
+
}
|
3207
|
+
|
3208
|
+
this.inFunctionScope(true, scopeParams, () => {
|
3209
|
+
if (renameThis && !arrow) {
|
3210
|
+
this.setVariable("this", renameThis);
|
3211
|
+
}
|
3212
|
+
for (let i = 0; i < varInfoForArgs.length; i++) {
|
3213
|
+
const varInfo = varInfoForArgs[i];
|
3214
|
+
if (!varInfo) continue;
|
3215
|
+
if (!params[i] || params[i].type !== "Identifier") continue;
|
3216
|
+
this.setVariable(params[i].name, varInfo);
|
3217
|
+
}
|
3218
|
+
if (functionExpression.body.type === "BlockStatement") {
|
3219
|
+
this.detectMode(functionExpression.body.body);
|
3220
|
+
const prev = this.prevStatement;
|
3221
|
+
this.preWalkStatement(functionExpression.body);
|
3222
|
+
this.prevStatement = prev;
|
3223
|
+
this.walkStatement(functionExpression.body);
|
3224
|
+
} else {
|
3225
|
+
this.walkExpression(functionExpression.body);
|
3226
|
+
}
|
3227
|
+
});
|
3228
|
+
this.scope.topLevelScope = wasTopLevel;
|
3229
|
+
}
|
3230
|
+
|
3231
|
+
/**
|
3232
|
+
* @param {ImportExpression} expression import expression
|
3233
|
+
*/
|
3234
|
+
walkImportExpression(expression) {
|
3235
|
+
let result = this.hooks.importCall.call(expression);
|
3236
|
+
if (result === true) return;
|
3237
|
+
|
3238
|
+
this.walkExpression(expression.source);
|
3239
|
+
}
|
3240
|
+
|
3241
|
+
walkCallExpression(expression) {
|
3242
|
+
const isSimpleFunction = fn => {
|
3243
|
+
return fn.params.every(p => p.type === "Identifier");
|
3244
|
+
};
|
3245
|
+
if (
|
3246
|
+
expression.callee.type === "MemberExpression" &&
|
3247
|
+
expression.callee.object.type.endsWith("FunctionExpression") &&
|
3248
|
+
!expression.callee.computed &&
|
3249
|
+
(expression.callee.property.name === "call" ||
|
3250
|
+
expression.callee.property.name === "bind") &&
|
3251
|
+
expression.arguments.length > 0 &&
|
3252
|
+
isSimpleFunction(expression.callee.object)
|
3253
|
+
) {
|
3254
|
+
// (function(…) { }.call/bind(?, …))
|
3255
|
+
this._walkIIFE(
|
3256
|
+
expression.callee.object,
|
3257
|
+
expression.arguments.slice(1),
|
3258
|
+
expression.arguments[0]
|
3259
|
+
);
|
3260
|
+
} else if (
|
3261
|
+
expression.callee.type.endsWith("FunctionExpression") &&
|
3262
|
+
isSimpleFunction(expression.callee)
|
3263
|
+
) {
|
3264
|
+
// (function(…) { }(…))
|
3265
|
+
this._walkIIFE(expression.callee, expression.arguments, null);
|
3266
|
+
} else {
|
3267
|
+
if (expression.callee.type === "MemberExpression") {
|
3268
|
+
const exprInfo = this.getMemberExpressionInfo(
|
3269
|
+
expression.callee,
|
3270
|
+
ALLOWED_MEMBER_TYPES_CALL_EXPRESSION
|
3271
|
+
);
|
3272
|
+
if (exprInfo && exprInfo.type === "call") {
|
3273
|
+
const result = this.callHooksForInfo(
|
3274
|
+
this.hooks.callMemberChainOfCallMemberChain,
|
3275
|
+
exprInfo.rootInfo,
|
3276
|
+
expression,
|
3277
|
+
exprInfo.getCalleeMembers(),
|
3278
|
+
exprInfo.call,
|
3279
|
+
exprInfo.getMembers(),
|
3280
|
+
exprInfo.getMemberRanges()
|
3281
|
+
);
|
3282
|
+
if (result === true) return;
|
3283
|
+
}
|
3284
|
+
}
|
3285
|
+
const callee = this.evaluateExpression(expression.callee);
|
3286
|
+
if (callee.isIdentifier()) {
|
3287
|
+
const result1 = this.callHooksForInfo(
|
3288
|
+
this.hooks.callMemberChain,
|
3289
|
+
callee.rootInfo,
|
3290
|
+
expression,
|
3291
|
+
callee.getMembers(),
|
3292
|
+
callee.getMembersOptionals
|
3293
|
+
? callee.getMembersOptionals()
|
3294
|
+
: callee.getMembers().map(() => false),
|
3295
|
+
callee.getMemberRanges ? callee.getMemberRanges() : []
|
3296
|
+
);
|
3297
|
+
if (result1 === true) return;
|
3298
|
+
const result2 = this.callHooksForInfo(
|
3299
|
+
this.hooks.call,
|
3300
|
+
callee.identifier,
|
3301
|
+
expression
|
3302
|
+
);
|
3303
|
+
if (result2 === true) return;
|
3304
|
+
}
|
3305
|
+
|
3306
|
+
if (expression.callee) {
|
3307
|
+
if (expression.callee.type === "MemberExpression") {
|
3308
|
+
// because of call context we need to walk the call context as expression
|
3309
|
+
this.walkExpression(expression.callee.object);
|
3310
|
+
if (expression.callee.computed === true)
|
3311
|
+
this.walkExpression(expression.callee.property);
|
3312
|
+
} else {
|
3313
|
+
this.walkExpression(expression.callee);
|
3314
|
+
}
|
3315
|
+
}
|
3316
|
+
if (expression.arguments) this.walkExpressions(expression.arguments);
|
3317
|
+
}
|
3318
|
+
}
|
3319
|
+
|
3320
|
+
/**
|
3321
|
+
* @param {MemberExpression} expression member expression
|
3322
|
+
*/
|
3323
|
+
walkMemberExpression(expression) {
|
3324
|
+
const exprInfo = this.getMemberExpressionInfo(
|
3325
|
+
expression,
|
3326
|
+
ALLOWED_MEMBER_TYPES_ALL
|
3327
|
+
);
|
3328
|
+
if (exprInfo) {
|
3329
|
+
switch (exprInfo.type) {
|
3330
|
+
case "expression": {
|
3331
|
+
const result1 = this.callHooksForInfo(
|
3332
|
+
this.hooks.expression,
|
3333
|
+
exprInfo.name,
|
3334
|
+
expression
|
3335
|
+
);
|
3336
|
+
if (result1 === true) return;
|
3337
|
+
const members = exprInfo.getMembers();
|
3338
|
+
const membersOptionals = exprInfo.getMembersOptionals();
|
3339
|
+
const memberRanges = exprInfo.getMemberRanges();
|
3340
|
+
const result2 = this.callHooksForInfo(
|
3341
|
+
this.hooks.expressionMemberChain,
|
3342
|
+
exprInfo.rootInfo,
|
3343
|
+
expression,
|
3344
|
+
members,
|
3345
|
+
membersOptionals,
|
3346
|
+
memberRanges
|
3347
|
+
);
|
3348
|
+
if (result2 === true) return;
|
3349
|
+
this.walkMemberExpressionWithExpressionName(
|
3350
|
+
expression,
|
3351
|
+
exprInfo.name,
|
3352
|
+
exprInfo.rootInfo,
|
3353
|
+
members.slice(),
|
3354
|
+
() =>
|
3355
|
+
this.callHooksForInfo(
|
3356
|
+
this.hooks.unhandledExpressionMemberChain,
|
3357
|
+
exprInfo.rootInfo,
|
3358
|
+
expression,
|
3359
|
+
members
|
3360
|
+
)
|
3361
|
+
);
|
3362
|
+
return;
|
3363
|
+
}
|
3364
|
+
case "call": {
|
3365
|
+
const result = this.callHooksForInfo(
|
3366
|
+
this.hooks.memberChainOfCallMemberChain,
|
3367
|
+
exprInfo.rootInfo,
|
3368
|
+
expression,
|
3369
|
+
exprInfo.getCalleeMembers(),
|
3370
|
+
exprInfo.call,
|
3371
|
+
exprInfo.getMembers(),
|
3372
|
+
exprInfo.getMemberRanges()
|
3373
|
+
);
|
3374
|
+
if (result === true) return;
|
3375
|
+
// Fast skip over the member chain as we already called memberChainOfCallMemberChain
|
3376
|
+
// and call computed property are literals anyway
|
3377
|
+
this.walkExpression(exprInfo.call);
|
3378
|
+
return;
|
3379
|
+
}
|
3380
|
+
}
|
3381
|
+
}
|
3382
|
+
this.walkExpression(expression.object);
|
3383
|
+
if (expression.computed === true) this.walkExpression(expression.property);
|
3384
|
+
}
|
3385
|
+
|
3386
|
+
walkMemberExpressionWithExpressionName(
|
3387
|
+
expression,
|
3388
|
+
name,
|
3389
|
+
rootInfo,
|
3390
|
+
members,
|
3391
|
+
onUnhandled
|
3392
|
+
) {
|
3393
|
+
if (expression.object.type === "MemberExpression") {
|
3394
|
+
// optimize the case where expression.object is a MemberExpression too.
|
3395
|
+
// we can keep info here when calling walkMemberExpression directly
|
3396
|
+
const property =
|
3397
|
+
expression.property.name || `${expression.property.value}`;
|
3398
|
+
name = name.slice(0, -property.length - 1);
|
3399
|
+
members.pop();
|
3400
|
+
const result = this.callHooksForInfo(
|
3401
|
+
this.hooks.expression,
|
3402
|
+
name,
|
3403
|
+
expression.object
|
3404
|
+
);
|
3405
|
+
if (result === true) return;
|
3406
|
+
this.walkMemberExpressionWithExpressionName(
|
3407
|
+
expression.object,
|
3408
|
+
name,
|
3409
|
+
rootInfo,
|
3410
|
+
members,
|
3411
|
+
onUnhandled
|
3412
|
+
);
|
3413
|
+
} else if (!onUnhandled || !onUnhandled()) {
|
3414
|
+
this.walkExpression(expression.object);
|
3415
|
+
}
|
3416
|
+
if (expression.computed === true) this.walkExpression(expression.property);
|
3417
|
+
}
|
3418
|
+
|
3419
|
+
/**
|
3420
|
+
* @param {ThisExpression} expression this expression
|
3421
|
+
*/
|
3422
|
+
walkThisExpression(expression) {
|
3423
|
+
this.callHooksForName(this.hooks.expression, "this", expression);
|
3424
|
+
}
|
3425
|
+
|
3426
|
+
/**
|
3427
|
+
* @param {Identifier} expression identifier
|
3428
|
+
*/
|
3429
|
+
walkIdentifier(expression) {
|
3430
|
+
this.callHooksForName(this.hooks.expression, expression.name, expression);
|
3431
|
+
}
|
3432
|
+
|
3433
|
+
/**
|
3434
|
+
* @param {MetaProperty} metaProperty meta property
|
3435
|
+
*/
|
3436
|
+
walkMetaProperty(metaProperty) {
|
3437
|
+
this.hooks.expression.for(getRootName(metaProperty)).call(metaProperty);
|
3438
|
+
}
|
3439
|
+
|
3440
|
+
callHooksForExpression(hookMap, expr, ...args) {
|
3441
|
+
return this.callHooksForExpressionWithFallback(
|
3442
|
+
hookMap,
|
3443
|
+
expr,
|
3444
|
+
undefined,
|
3445
|
+
undefined,
|
3446
|
+
...args
|
3447
|
+
);
|
3448
|
+
}
|
3449
|
+
|
3450
|
+
/**
|
3451
|
+
* @template T
|
3452
|
+
* @template R
|
3453
|
+
* @param {HookMap<SyncBailHook<T, R>>} hookMap hooks the should be called
|
3454
|
+
* @param {MemberExpression} expr expression info
|
3455
|
+
* @param {(function(string, string | ScopeInfo | VariableInfo, function(): string[]): any) | undefined} fallback callback when variable in not handled by hooks
|
3456
|
+
* @param {(function(string): any) | undefined} defined callback when variable is defined
|
3457
|
+
* @param {AsArray<T>} args args for the hook
|
3458
|
+
* @returns {R | undefined} result of hook
|
3459
|
+
*/
|
3460
|
+
callHooksForExpressionWithFallback(
|
3461
|
+
hookMap,
|
3462
|
+
expr,
|
3463
|
+
fallback,
|
3464
|
+
defined,
|
3465
|
+
...args
|
3466
|
+
) {
|
3467
|
+
const exprName = this.getMemberExpressionInfo(
|
3468
|
+
expr,
|
3469
|
+
ALLOWED_MEMBER_TYPES_EXPRESSION
|
3470
|
+
);
|
3471
|
+
if (exprName !== undefined) {
|
3472
|
+
const members = exprName.getMembers();
|
3473
|
+
return this.callHooksForInfoWithFallback(
|
3474
|
+
hookMap,
|
3475
|
+
members.length === 0 ? exprName.rootInfo : exprName.name,
|
3476
|
+
fallback &&
|
3477
|
+
(name => fallback(name, exprName.rootInfo, exprName.getMembers)),
|
3478
|
+
defined && (() => defined(exprName.name)),
|
3479
|
+
...args
|
3480
|
+
);
|
3481
|
+
}
|
3482
|
+
}
|
3483
|
+
|
3484
|
+
/**
|
3485
|
+
* @template T
|
3486
|
+
* @template R
|
3487
|
+
* @param {HookMap<SyncBailHook<T, R>>} hookMap hooks the should be called
|
3488
|
+
* @param {string} name key in map
|
3489
|
+
* @param {AsArray<T>} args args for the hook
|
3490
|
+
* @returns {R | undefined} result of hook
|
3491
|
+
*/
|
3492
|
+
callHooksForName(hookMap, name, ...args) {
|
3493
|
+
return this.callHooksForNameWithFallback(
|
3494
|
+
hookMap,
|
3495
|
+
name,
|
3496
|
+
undefined,
|
3497
|
+
undefined,
|
3498
|
+
...args
|
3499
|
+
);
|
3500
|
+
}
|
3501
|
+
|
3502
|
+
/**
|
3503
|
+
* @template T
|
3504
|
+
* @template R
|
3505
|
+
* @param {HookMap<SyncBailHook<T, R>>} hookMap hooks that should be called
|
3506
|
+
* @param {ExportedVariableInfo} info variable info
|
3507
|
+
* @param {AsArray<T>} args args for the hook
|
3508
|
+
* @returns {R | undefined} result of hook
|
3509
|
+
*/
|
3510
|
+
callHooksForInfo(hookMap, info, ...args) {
|
3511
|
+
return this.callHooksForInfoWithFallback(
|
3512
|
+
hookMap,
|
3513
|
+
info,
|
3514
|
+
undefined,
|
3515
|
+
undefined,
|
3516
|
+
...args
|
3517
|
+
);
|
3518
|
+
}
|
3519
|
+
|
3520
|
+
/**
|
3521
|
+
* @template T
|
3522
|
+
* @template R
|
3523
|
+
* @param {HookMap<SyncBailHook<T, R>>} hookMap hooks the should be called
|
3524
|
+
* @param {ExportedVariableInfo} info variable info
|
3525
|
+
* @param {(function(string): any) | undefined} fallback callback when variable in not handled by hooks
|
3526
|
+
* @param {(function(): any) | undefined} defined callback when variable is defined
|
3527
|
+
* @param {AsArray<T>} args args for the hook
|
3528
|
+
* @returns {R | undefined} result of hook
|
3529
|
+
*/
|
3530
|
+
callHooksForInfoWithFallback(hookMap, info, fallback, defined, ...args) {
|
3531
|
+
let name;
|
3532
|
+
if (typeof info === "string") {
|
3533
|
+
name = info;
|
3534
|
+
} else {
|
3535
|
+
if (!(info instanceof VariableInfo)) {
|
3536
|
+
if (defined !== undefined) {
|
3537
|
+
return defined();
|
3538
|
+
}
|
3539
|
+
return;
|
3540
|
+
}
|
3541
|
+
let tagInfo = info.tagInfo;
|
3542
|
+
while (tagInfo !== undefined) {
|
3543
|
+
const hook = hookMap.get(tagInfo.tag);
|
3544
|
+
if (hook !== undefined) {
|
3545
|
+
this.currentTagData = tagInfo.data;
|
3546
|
+
const result = hook.call(...args);
|
3547
|
+
this.currentTagData = undefined;
|
3548
|
+
if (result !== undefined) return result;
|
3549
|
+
}
|
3550
|
+
tagInfo = tagInfo.next;
|
3551
|
+
}
|
3552
|
+
if (info.freeName === true) {
|
3553
|
+
if (defined !== undefined) {
|
3554
|
+
return defined();
|
3555
|
+
}
|
3556
|
+
return;
|
3557
|
+
}
|
3558
|
+
name = info.freeName;
|
3559
|
+
}
|
3560
|
+
const hook = hookMap.get(name);
|
3561
|
+
if (hook !== undefined) {
|
3562
|
+
const result = hook.call(...args);
|
3563
|
+
if (result !== undefined) return result;
|
3564
|
+
}
|
3565
|
+
if (fallback !== undefined) {
|
3566
|
+
return fallback(name);
|
3567
|
+
}
|
3568
|
+
}
|
3569
|
+
|
3570
|
+
/**
|
3571
|
+
* @template T
|
3572
|
+
* @template R
|
3573
|
+
* @param {HookMap<SyncBailHook<T, R>>} hookMap hooks the should be called
|
3574
|
+
* @param {string} name key in map
|
3575
|
+
* @param {(function(string): any) | undefined} fallback callback when variable in not handled by hooks
|
3576
|
+
* @param {(function(): any) | undefined} defined callback when variable is defined
|
3577
|
+
* @param {AsArray<T>} args args for the hook
|
3578
|
+
* @returns {R | undefined} result of hook
|
3579
|
+
*/
|
3580
|
+
callHooksForNameWithFallback(hookMap, name, fallback, defined, ...args) {
|
3581
|
+
return this.callHooksForInfoWithFallback(
|
3582
|
+
hookMap,
|
3583
|
+
this.getVariableInfo(name),
|
3584
|
+
fallback,
|
3585
|
+
defined,
|
3586
|
+
...args
|
3587
|
+
);
|
3588
|
+
}
|
3589
|
+
|
3590
|
+
/**
|
3591
|
+
* @deprecated
|
3592
|
+
* @param {any} params scope params
|
3593
|
+
* @param {function(): void} fn inner function
|
3594
|
+
* @returns {void}
|
3595
|
+
*/
|
3596
|
+
inScope(params, fn) {
|
3597
|
+
const oldScope = this.scope;
|
3598
|
+
this.scope = {
|
3599
|
+
topLevelScope: oldScope.topLevelScope,
|
3600
|
+
inTry: false,
|
3601
|
+
inShorthand: false,
|
3602
|
+
inTaggedTemplateTag: false,
|
3603
|
+
isStrict: oldScope.isStrict,
|
3604
|
+
isAsmJs: oldScope.isAsmJs,
|
3605
|
+
definitions: oldScope.definitions.createChild()
|
3606
|
+
};
|
3607
|
+
|
3608
|
+
this.undefineVariable("this");
|
3609
|
+
|
3610
|
+
this.enterPatterns(params, (ident, pattern) => {
|
3611
|
+
this.defineVariable(ident);
|
3612
|
+
});
|
3613
|
+
|
3614
|
+
fn();
|
3615
|
+
|
3616
|
+
this.scope = oldScope;
|
3617
|
+
}
|
3618
|
+
|
3619
|
+
/**
|
3620
|
+
* @param {boolean} hasThis true, when this is defined
|
3621
|
+
* @param {any} params scope params
|
3622
|
+
* @param {function(): void} fn inner function
|
3623
|
+
* @returns {void}
|
3624
|
+
*/
|
3625
|
+
inClassScope(hasThis, params, fn) {
|
3626
|
+
const oldScope = this.scope;
|
3627
|
+
this.scope = {
|
3628
|
+
topLevelScope: oldScope.topLevelScope,
|
3629
|
+
inTry: false,
|
3630
|
+
inShorthand: false,
|
3631
|
+
inTaggedTemplateTag: false,
|
3632
|
+
isStrict: oldScope.isStrict,
|
3633
|
+
isAsmJs: oldScope.isAsmJs,
|
3634
|
+
definitions: oldScope.definitions.createChild()
|
3635
|
+
};
|
3636
|
+
|
3637
|
+
if (hasThis) {
|
3638
|
+
this.undefineVariable("this");
|
3639
|
+
}
|
3640
|
+
|
3641
|
+
this.enterPatterns(params, (ident, pattern) => {
|
3642
|
+
this.defineVariable(ident);
|
3643
|
+
});
|
3644
|
+
|
3645
|
+
fn();
|
3646
|
+
|
3647
|
+
this.scope = oldScope;
|
3648
|
+
}
|
3649
|
+
|
3650
|
+
/**
|
3651
|
+
* @param {boolean} hasThis true, when this is defined
|
3652
|
+
* @param {any} params scope params
|
3653
|
+
* @param {function(): void} fn inner function
|
3654
|
+
* @returns {void}
|
3655
|
+
*/
|
3656
|
+
inFunctionScope(hasThis, params, fn) {
|
3657
|
+
const oldScope = this.scope;
|
3658
|
+
this.scope = {
|
3659
|
+
topLevelScope: oldScope.topLevelScope,
|
3660
|
+
inTry: false,
|
3661
|
+
inShorthand: false,
|
3662
|
+
inTaggedTemplateTag: false,
|
3663
|
+
isStrict: oldScope.isStrict,
|
3664
|
+
isAsmJs: oldScope.isAsmJs,
|
3665
|
+
definitions: oldScope.definitions.createChild()
|
3666
|
+
};
|
3667
|
+
|
3668
|
+
if (hasThis) {
|
3669
|
+
this.undefineVariable("this");
|
3670
|
+
}
|
3671
|
+
|
3672
|
+
this.enterPatterns(params, (ident, pattern) => {
|
3673
|
+
this.defineVariable(ident);
|
3674
|
+
});
|
3675
|
+
|
3676
|
+
fn();
|
3677
|
+
|
3678
|
+
this.scope = oldScope;
|
3679
|
+
}
|
3680
|
+
|
3681
|
+
/**
|
3682
|
+
* @param {function(): void} fn inner function
|
3683
|
+
* @returns {void}
|
3684
|
+
*/
|
3685
|
+
inBlockScope(fn) {
|
3686
|
+
const oldScope = this.scope;
|
3687
|
+
this.scope = {
|
3688
|
+
topLevelScope: oldScope.topLevelScope,
|
3689
|
+
inTry: oldScope.inTry,
|
3690
|
+
inShorthand: false,
|
3691
|
+
inTaggedTemplateTag: false,
|
3692
|
+
isStrict: oldScope.isStrict,
|
3693
|
+
isAsmJs: oldScope.isAsmJs,
|
3694
|
+
definitions: oldScope.definitions.createChild()
|
3695
|
+
};
|
3696
|
+
|
3697
|
+
fn();
|
3698
|
+
|
3699
|
+
this.scope = oldScope;
|
3700
|
+
}
|
3701
|
+
|
3702
|
+
/**
|
3703
|
+
* @param {Array<Directive | Statement | ModuleDeclaration>} statements statements
|
3704
|
+
*/
|
3705
|
+
detectMode(statements) {
|
3706
|
+
const isLiteral =
|
3707
|
+
statements.length >= 1 &&
|
3708
|
+
statements[0].type === "ExpressionStatement" &&
|
3709
|
+
statements[0].expression.type === "Literal";
|
3710
|
+
if (
|
3711
|
+
isLiteral &&
|
3712
|
+
/** @type {Literal} */
|
3713
|
+
(/** @type {ExpressionStatement} */ (statements[0]).expression).value ===
|
3714
|
+
"use strict"
|
3715
|
+
) {
|
3716
|
+
this.scope.isStrict = true;
|
3717
|
+
}
|
3718
|
+
if (
|
3719
|
+
isLiteral &&
|
3720
|
+
/** @type {Literal} */
|
3721
|
+
(/** @type {ExpressionStatement} */ (statements[0]).expression).value ===
|
3722
|
+
"use asm"
|
3723
|
+
) {
|
3724
|
+
this.scope.isAsmJs = true;
|
3725
|
+
}
|
3726
|
+
}
|
3727
|
+
|
3728
|
+
enterPatterns(patterns, onIdent) {
|
3729
|
+
for (const pattern of patterns) {
|
3730
|
+
if (typeof pattern !== "string") {
|
3731
|
+
this.enterPattern(pattern, onIdent);
|
3732
|
+
} else if (pattern) {
|
3733
|
+
onIdent(pattern);
|
3734
|
+
}
|
3735
|
+
}
|
3736
|
+
}
|
3737
|
+
|
3738
|
+
enterPattern(pattern, onIdent) {
|
3739
|
+
if (!pattern) return;
|
3740
|
+
switch (pattern.type) {
|
3741
|
+
case "ArrayPattern":
|
3742
|
+
this.enterArrayPattern(pattern, onIdent);
|
3743
|
+
break;
|
3744
|
+
case "AssignmentPattern":
|
3745
|
+
this.enterAssignmentPattern(pattern, onIdent);
|
3746
|
+
break;
|
3747
|
+
case "Identifier":
|
3748
|
+
this.enterIdentifier(pattern, onIdent);
|
3749
|
+
break;
|
3750
|
+
case "ObjectPattern":
|
3751
|
+
this.enterObjectPattern(pattern, onIdent);
|
3752
|
+
break;
|
3753
|
+
case "RestElement":
|
3754
|
+
this.enterRestElement(pattern, onIdent);
|
3755
|
+
break;
|
3756
|
+
case "Property":
|
3757
|
+
if (pattern.shorthand && pattern.value.type === "Identifier") {
|
3758
|
+
this.scope.inShorthand = pattern.value.name;
|
3759
|
+
this.enterIdentifier(pattern.value, onIdent);
|
3760
|
+
this.scope.inShorthand = false;
|
3761
|
+
} else {
|
3762
|
+
this.enterPattern(pattern.value, onIdent);
|
3763
|
+
}
|
3764
|
+
break;
|
3765
|
+
}
|
3766
|
+
}
|
3767
|
+
|
3768
|
+
/**
|
3769
|
+
* @param {Identifier} pattern identifier pattern
|
3770
|
+
* @param {TODO} onIdent callback
|
3771
|
+
*/
|
3772
|
+
enterIdentifier(pattern, onIdent) {
|
3773
|
+
if (!this.callHooksForName(this.hooks.pattern, pattern.name, pattern)) {
|
3774
|
+
onIdent(pattern.name, pattern);
|
3775
|
+
}
|
3776
|
+
}
|
3777
|
+
|
3778
|
+
/**
|
3779
|
+
* @param {ObjectPattern} pattern object pattern
|
3780
|
+
* @param {TODO} onIdent callback
|
3781
|
+
*/
|
3782
|
+
enterObjectPattern(pattern, onIdent) {
|
3783
|
+
for (
|
3784
|
+
let propIndex = 0, len = pattern.properties.length;
|
3785
|
+
propIndex < len;
|
3786
|
+
propIndex++
|
3787
|
+
) {
|
3788
|
+
const prop = pattern.properties[propIndex];
|
3789
|
+
this.enterPattern(prop, onIdent);
|
3790
|
+
}
|
3791
|
+
}
|
3792
|
+
|
3793
|
+
/**
|
3794
|
+
* @param {ArrayPattern} pattern object pattern
|
3795
|
+
* @param {TODO} onIdent callback
|
3796
|
+
*/
|
3797
|
+
enterArrayPattern(pattern, onIdent) {
|
3798
|
+
for (
|
3799
|
+
let elementIndex = 0, len = pattern.elements.length;
|
3800
|
+
elementIndex < len;
|
3801
|
+
elementIndex++
|
3802
|
+
) {
|
3803
|
+
const element = pattern.elements[elementIndex];
|
3804
|
+
// TODO check on `null`?
|
3805
|
+
this.enterPattern(element, onIdent);
|
3806
|
+
}
|
3807
|
+
}
|
3808
|
+
|
3809
|
+
/**
|
3810
|
+
* @param {RestElement} pattern object pattern
|
3811
|
+
* @param {TODO} onIdent callback
|
3812
|
+
*/
|
3813
|
+
enterRestElement(pattern, onIdent) {
|
3814
|
+
this.enterPattern(pattern.argument, onIdent);
|
3815
|
+
}
|
3816
|
+
|
3817
|
+
/**
|
3818
|
+
* @param {AssignmentPattern} pattern object pattern
|
3819
|
+
* @param {TODO} onIdent callback
|
3820
|
+
*/
|
3821
|
+
enterAssignmentPattern(pattern, onIdent) {
|
3822
|
+
this.enterPattern(pattern.left, onIdent);
|
3823
|
+
}
|
3824
|
+
|
3825
|
+
/**
|
3826
|
+
* @param {TODO} expression expression node
|
3827
|
+
* @returns {BasicEvaluatedExpression} evaluation result
|
3828
|
+
*/
|
3829
|
+
evaluateExpression(expression) {
|
3830
|
+
try {
|
3831
|
+
const hook = this.hooks.evaluate.get(expression.type);
|
3832
|
+
if (hook !== undefined) {
|
3833
|
+
const result = hook.call(expression);
|
3834
|
+
if (result !== undefined && result !== null) {
|
3835
|
+
result.setExpression(expression);
|
3836
|
+
return result;
|
3837
|
+
}
|
3838
|
+
}
|
3839
|
+
} catch (e) {
|
3840
|
+
console.warn(e);
|
3841
|
+
// ignore error
|
3842
|
+
}
|
3843
|
+
return new BasicEvaluatedExpression()
|
3844
|
+
.setRange(/** @type {Range} */ (expression.range))
|
3845
|
+
.setExpression(expression);
|
3846
|
+
}
|
3847
|
+
|
3848
|
+
/**
|
3849
|
+
* @param {Expression} expression expression
|
3850
|
+
* @returns {string} parsed string
|
3851
|
+
*/
|
3852
|
+
parseString(expression) {
|
3853
|
+
switch (expression.type) {
|
3854
|
+
case "BinaryExpression":
|
3855
|
+
if (expression.operator === "+") {
|
3856
|
+
return (
|
3857
|
+
this.parseString(expression.left) +
|
3858
|
+
this.parseString(expression.right)
|
3859
|
+
);
|
3860
|
+
}
|
3861
|
+
break;
|
3862
|
+
case "Literal":
|
3863
|
+
return expression.value + "";
|
3864
|
+
}
|
3865
|
+
throw new Error(
|
3866
|
+
expression.type + " is not supported as parameter for require"
|
3867
|
+
);
|
3868
|
+
}
|
3869
|
+
|
3870
|
+
parseCalculatedString(expression) {
|
3871
|
+
switch (expression.type) {
|
3872
|
+
case "BinaryExpression":
|
3873
|
+
if (expression.operator === "+") {
|
3874
|
+
const left = this.parseCalculatedString(expression.left);
|
3875
|
+
const right = this.parseCalculatedString(expression.right);
|
3876
|
+
if (left.code) {
|
3877
|
+
return {
|
3878
|
+
range: left.range,
|
3879
|
+
value: left.value,
|
3880
|
+
code: true,
|
3881
|
+
conditional: false
|
3882
|
+
};
|
3883
|
+
} else if (right.code) {
|
3884
|
+
return {
|
3885
|
+
range: [
|
3886
|
+
left.range[0],
|
3887
|
+
right.range ? right.range[1] : left.range[1]
|
3888
|
+
],
|
3889
|
+
value: left.value + right.value,
|
3890
|
+
code: true,
|
3891
|
+
conditional: false
|
3892
|
+
};
|
3893
|
+
} else {
|
3894
|
+
return {
|
3895
|
+
range: [left.range[0], right.range[1]],
|
3896
|
+
value: left.value + right.value,
|
3897
|
+
code: false,
|
3898
|
+
conditional: false
|
3899
|
+
};
|
3900
|
+
}
|
3901
|
+
}
|
3902
|
+
break;
|
3903
|
+
case "ConditionalExpression": {
|
3904
|
+
const consequent = this.parseCalculatedString(expression.consequent);
|
3905
|
+
const alternate = this.parseCalculatedString(expression.alternate);
|
3906
|
+
const items = [];
|
3907
|
+
if (consequent.conditional) {
|
3908
|
+
items.push(...consequent.conditional);
|
3909
|
+
} else if (!consequent.code) {
|
3910
|
+
items.push(consequent);
|
3911
|
+
} else {
|
3912
|
+
break;
|
3913
|
+
}
|
3914
|
+
if (alternate.conditional) {
|
3915
|
+
items.push(...alternate.conditional);
|
3916
|
+
} else if (!alternate.code) {
|
3917
|
+
items.push(alternate);
|
3918
|
+
} else {
|
3919
|
+
break;
|
3920
|
+
}
|
3921
|
+
return {
|
3922
|
+
range: undefined,
|
3923
|
+
value: "",
|
3924
|
+
code: true,
|
3925
|
+
conditional: items
|
3926
|
+
};
|
3927
|
+
}
|
3928
|
+
case "Literal":
|
3929
|
+
return {
|
3930
|
+
range: expression.range,
|
3931
|
+
value: expression.value + "",
|
3932
|
+
code: false,
|
3933
|
+
conditional: false
|
3934
|
+
};
|
3935
|
+
}
|
3936
|
+
return {
|
3937
|
+
range: undefined,
|
3938
|
+
value: "",
|
3939
|
+
code: true,
|
3940
|
+
conditional: false
|
3941
|
+
};
|
3942
|
+
}
|
3943
|
+
|
3944
|
+
/**
|
3945
|
+
* @param {string | Buffer | PreparsedAst} source the source to parse
|
3946
|
+
* @param {ParserState} state the parser state
|
3947
|
+
* @returns {ParserState} the parser state
|
3948
|
+
*/
|
3949
|
+
parse(source, state) {
|
3950
|
+
let ast;
|
3951
|
+
let comments;
|
3952
|
+
const semicolons = new Set();
|
3953
|
+
if (source === null) {
|
3954
|
+
throw new Error("source must not be null");
|
3955
|
+
}
|
3956
|
+
if (Buffer.isBuffer(source)) {
|
3957
|
+
source = source.toString("utf-8");
|
3958
|
+
}
|
3959
|
+
if (typeof source === "object") {
|
3960
|
+
ast = /** @type {Program} */ (source);
|
3961
|
+
comments = source.comments;
|
3962
|
+
} else {
|
3963
|
+
comments = [];
|
3964
|
+
ast = JavascriptParser._parse(source, {
|
3965
|
+
sourceType: this.sourceType,
|
3966
|
+
onComment: comments,
|
3967
|
+
onInsertedSemicolon: pos => semicolons.add(pos)
|
3968
|
+
});
|
3969
|
+
}
|
3970
|
+
|
3971
|
+
const oldScope = this.scope;
|
3972
|
+
const oldState = this.state;
|
3973
|
+
const oldComments = this.comments;
|
3974
|
+
const oldSemicolons = this.semicolons;
|
3975
|
+
const oldStatementPath = this.statementPath;
|
3976
|
+
const oldPrevStatement = this.prevStatement;
|
3977
|
+
this.scope = {
|
3978
|
+
topLevelScope: true,
|
3979
|
+
inTry: false,
|
3980
|
+
inShorthand: false,
|
3981
|
+
inTaggedTemplateTag: false,
|
3982
|
+
isStrict: false,
|
3983
|
+
isAsmJs: false,
|
3984
|
+
definitions: new StackedMap()
|
3985
|
+
};
|
3986
|
+
/** @type {ParserState} */
|
3987
|
+
this.state = state;
|
3988
|
+
this.comments = comments;
|
3989
|
+
this.semicolons = semicolons;
|
3990
|
+
this.statementPath = [];
|
3991
|
+
this.prevStatement = undefined;
|
3992
|
+
if (this.hooks.program.call(ast, comments) === undefined) {
|
3993
|
+
this.destructuringAssignmentProperties = new WeakMap();
|
3994
|
+
this.detectMode(ast.body);
|
3995
|
+
this.preWalkStatements(ast.body);
|
3996
|
+
this.prevStatement = undefined;
|
3997
|
+
this.blockPreWalkStatements(ast.body);
|
3998
|
+
this.prevStatement = undefined;
|
3999
|
+
this.walkStatements(ast.body);
|
4000
|
+
this.destructuringAssignmentProperties = undefined;
|
4001
|
+
}
|
4002
|
+
this.hooks.finish.call(ast, comments);
|
4003
|
+
this.scope = oldScope;
|
4004
|
+
/** @type {ParserState} */
|
4005
|
+
this.state = oldState;
|
4006
|
+
this.comments = oldComments;
|
4007
|
+
this.semicolons = oldSemicolons;
|
4008
|
+
this.statementPath = oldStatementPath;
|
4009
|
+
this.prevStatement = oldPrevStatement;
|
4010
|
+
return state;
|
4011
|
+
}
|
4012
|
+
|
4013
|
+
/**
|
4014
|
+
* @param {string} source source code
|
4015
|
+
* @returns {BasicEvaluatedExpression} evaluation result
|
4016
|
+
*/
|
4017
|
+
evaluate(source) {
|
4018
|
+
const ast = JavascriptParser._parse("(" + source + ")", {
|
4019
|
+
sourceType: this.sourceType,
|
4020
|
+
locations: false
|
4021
|
+
});
|
4022
|
+
if (ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement") {
|
4023
|
+
throw new Error("evaluate: Source is not a expression");
|
4024
|
+
}
|
4025
|
+
return this.evaluateExpression(ast.body[0].expression);
|
4026
|
+
}
|
4027
|
+
|
4028
|
+
/**
|
4029
|
+
* @param {Expression | Declaration | PrivateIdentifier | null | undefined} expr an expression
|
4030
|
+
* @param {number} commentsStartPos source position from which annotation comments are checked
|
4031
|
+
* @returns {boolean} true, when the expression is pure
|
4032
|
+
*/
|
4033
|
+
isPure(expr, commentsStartPos) {
|
4034
|
+
if (!expr) return true;
|
4035
|
+
const result = this.hooks.isPure
|
4036
|
+
.for(expr.type)
|
4037
|
+
.call(expr, commentsStartPos);
|
4038
|
+
if (typeof result === "boolean") return result;
|
4039
|
+
switch (expr.type) {
|
4040
|
+
// TODO handle more cases
|
4041
|
+
case "ClassDeclaration":
|
4042
|
+
case "ClassExpression": {
|
4043
|
+
if (expr.body.type !== "ClassBody") return false;
|
4044
|
+
if (expr.superClass && !this.isPure(expr.superClass, expr.range[0])) {
|
4045
|
+
return false;
|
4046
|
+
}
|
4047
|
+
const items =
|
4048
|
+
/** @type {TODO[]} */
|
4049
|
+
(expr.body.body);
|
4050
|
+
return items.every(item => {
|
4051
|
+
if (
|
4052
|
+
item.computed &&
|
4053
|
+
item.key &&
|
4054
|
+
!this.isPure(item.key, item.range[0])
|
4055
|
+
) {
|
4056
|
+
return false;
|
4057
|
+
}
|
4058
|
+
|
4059
|
+
if (
|
4060
|
+
item.static &&
|
4061
|
+
item.value &&
|
4062
|
+
!this.isPure(
|
4063
|
+
item.value,
|
4064
|
+
item.key ? item.key.range[1] : item.range[0]
|
4065
|
+
)
|
4066
|
+
) {
|
4067
|
+
return false;
|
4068
|
+
}
|
4069
|
+
|
4070
|
+
if (item.type === "StaticBlock") {
|
4071
|
+
return false;
|
4072
|
+
}
|
4073
|
+
|
4074
|
+
return true;
|
4075
|
+
});
|
4076
|
+
}
|
4077
|
+
|
4078
|
+
case "FunctionDeclaration":
|
4079
|
+
case "FunctionExpression":
|
4080
|
+
case "ArrowFunctionExpression":
|
4081
|
+
case "ThisExpression":
|
4082
|
+
case "Literal":
|
4083
|
+
case "TemplateLiteral":
|
4084
|
+
case "Identifier":
|
4085
|
+
case "PrivateIdentifier":
|
4086
|
+
return true;
|
4087
|
+
|
4088
|
+
case "VariableDeclaration":
|
4089
|
+
return expr.declarations.every(decl =>
|
4090
|
+
this.isPure(decl.init, /** @type {Range} */ (decl.range)[0])
|
4091
|
+
);
|
4092
|
+
|
4093
|
+
case "ConditionalExpression":
|
4094
|
+
return (
|
4095
|
+
this.isPure(expr.test, commentsStartPos) &&
|
4096
|
+
this.isPure(
|
4097
|
+
expr.consequent,
|
4098
|
+
/** @type {Range} */ (expr.test.range)[1]
|
4099
|
+
) &&
|
4100
|
+
this.isPure(
|
4101
|
+
expr.alternate,
|
4102
|
+
/** @type {Range} */ (expr.consequent.range)[1]
|
4103
|
+
)
|
4104
|
+
);
|
4105
|
+
|
4106
|
+
case "LogicalExpression":
|
4107
|
+
return (
|
4108
|
+
this.isPure(expr.left, commentsStartPos) &&
|
4109
|
+
this.isPure(expr.right, /** @type {Range} */ (expr.left.range)[1])
|
4110
|
+
);
|
4111
|
+
|
4112
|
+
case "SequenceExpression":
|
4113
|
+
return expr.expressions.every(expr => {
|
4114
|
+
const pureFlag = this.isPure(expr, commentsStartPos);
|
4115
|
+
commentsStartPos = /** @type {Range} */ (expr.range)[1];
|
4116
|
+
return pureFlag;
|
4117
|
+
});
|
4118
|
+
|
4119
|
+
case "CallExpression": {
|
4120
|
+
const pureFlag =
|
4121
|
+
/** @type {Range} */ (expr.range)[0] - commentsStartPos > 12 &&
|
4122
|
+
this.getComments([
|
4123
|
+
commentsStartPos,
|
4124
|
+
/** @type {Range} */ (expr.range)[0]
|
4125
|
+
]).some(
|
4126
|
+
comment =>
|
4127
|
+
comment.type === "Block" &&
|
4128
|
+
/^\s*(#|@)__PURE__\s*$/.test(comment.value)
|
4129
|
+
);
|
4130
|
+
if (!pureFlag) return false;
|
4131
|
+
commentsStartPos = /** @type {Range} */ (expr.callee.range)[1];
|
4132
|
+
return expr.arguments.every(arg => {
|
4133
|
+
if (arg.type === "SpreadElement") return false;
|
4134
|
+
const pureFlag = this.isPure(arg, commentsStartPos);
|
4135
|
+
commentsStartPos = /** @type {Range} */ (arg.range)[1];
|
4136
|
+
return pureFlag;
|
4137
|
+
});
|
4138
|
+
}
|
4139
|
+
}
|
4140
|
+
const evaluated = this.evaluateExpression(expr);
|
4141
|
+
return !evaluated.couldHaveSideEffects();
|
4142
|
+
}
|
4143
|
+
|
4144
|
+
/**
|
4145
|
+
* @param {Range} range range
|
4146
|
+
* @returns {TODO[]} comments in the range
|
4147
|
+
*/
|
4148
|
+
getComments(range) {
|
4149
|
+
const [rangeStart, rangeEnd] = range;
|
4150
|
+
const compare = (comment, needle) => comment.range[0] - needle;
|
4151
|
+
let idx = binarySearchBounds.ge(this.comments, rangeStart, compare);
|
4152
|
+
let commentsInRange = [];
|
4153
|
+
while (this.comments[idx] && this.comments[idx].range[1] <= rangeEnd) {
|
4154
|
+
commentsInRange.push(this.comments[idx]);
|
4155
|
+
idx++;
|
4156
|
+
}
|
4157
|
+
|
4158
|
+
return commentsInRange;
|
4159
|
+
}
|
4160
|
+
|
4161
|
+
/**
|
4162
|
+
* @param {number} pos source code position
|
4163
|
+
* @returns {boolean} true when a semicolon has been inserted before this position, false if not
|
4164
|
+
*/
|
4165
|
+
isAsiPosition(pos) {
|
4166
|
+
const currentStatement = this.statementPath[this.statementPath.length - 1];
|
4167
|
+
if (currentStatement === undefined) throw new Error("Not in statement");
|
4168
|
+
return (
|
4169
|
+
// Either asking directly for the end position of the current statement
|
4170
|
+
(currentStatement.range[1] === pos && this.semicolons.has(pos)) ||
|
4171
|
+
// Or asking for the start position of the current statement,
|
4172
|
+
// here we have to check multiple things
|
4173
|
+
(currentStatement.range[0] === pos &&
|
4174
|
+
// is there a previous statement which might be relevant?
|
4175
|
+
this.prevStatement !== undefined &&
|
4176
|
+
// is the end position of the previous statement an ASI position?
|
4177
|
+
this.semicolons.has(this.prevStatement.range[1]))
|
4178
|
+
);
|
4179
|
+
}
|
4180
|
+
|
4181
|
+
/**
|
4182
|
+
* @param {number} pos source code position
|
4183
|
+
* @returns {void}
|
4184
|
+
*/
|
4185
|
+
unsetAsiPosition(pos) {
|
4186
|
+
this.semicolons.delete(pos);
|
4187
|
+
}
|
4188
|
+
|
4189
|
+
/**
|
4190
|
+
* @param {Expression} expr expression
|
4191
|
+
* @returns {boolean} true, when the expression is a statement level expression
|
4192
|
+
*/
|
4193
|
+
isStatementLevelExpression(expr) {
|
4194
|
+
const currentStatement = this.statementPath[this.statementPath.length - 1];
|
4195
|
+
return (
|
4196
|
+
expr === currentStatement ||
|
4197
|
+
(currentStatement.type === "ExpressionStatement" &&
|
4198
|
+
currentStatement.expression === expr)
|
4199
|
+
);
|
4200
|
+
}
|
4201
|
+
|
4202
|
+
getTagData(name, tag) {
|
4203
|
+
const info = this.scope.definitions.get(name);
|
4204
|
+
if (info instanceof VariableInfo) {
|
4205
|
+
let tagInfo = info.tagInfo;
|
4206
|
+
while (tagInfo !== undefined) {
|
4207
|
+
if (tagInfo.tag === tag) return tagInfo.data;
|
4208
|
+
tagInfo = tagInfo.next;
|
4209
|
+
}
|
4210
|
+
}
|
4211
|
+
}
|
4212
|
+
|
4213
|
+
tagVariable(name, tag, data) {
|
4214
|
+
const oldInfo = this.scope.definitions.get(name);
|
4215
|
+
/** @type {VariableInfo} */
|
4216
|
+
let newInfo;
|
4217
|
+
if (oldInfo === undefined) {
|
4218
|
+
newInfo = new VariableInfo(this.scope, name, {
|
4219
|
+
tag,
|
4220
|
+
data,
|
4221
|
+
next: undefined
|
4222
|
+
});
|
4223
|
+
} else if (oldInfo instanceof VariableInfo) {
|
4224
|
+
newInfo = new VariableInfo(oldInfo.declaredScope, oldInfo.freeName, {
|
4225
|
+
tag,
|
4226
|
+
data,
|
4227
|
+
next: oldInfo.tagInfo
|
4228
|
+
});
|
4229
|
+
} else {
|
4230
|
+
newInfo = new VariableInfo(oldInfo, true, {
|
4231
|
+
tag,
|
4232
|
+
data,
|
4233
|
+
next: undefined
|
4234
|
+
});
|
4235
|
+
}
|
4236
|
+
this.scope.definitions.set(name, newInfo);
|
4237
|
+
}
|
4238
|
+
|
4239
|
+
/**
|
4240
|
+
* @param {string} name variable name
|
4241
|
+
*/
|
4242
|
+
defineVariable(name) {
|
4243
|
+
const oldInfo = this.scope.definitions.get(name);
|
4244
|
+
// Don't redefine variable in same scope to keep existing tags
|
4245
|
+
if (oldInfo instanceof VariableInfo && oldInfo.declaredScope === this.scope)
|
4246
|
+
return;
|
4247
|
+
this.scope.definitions.set(name, this.scope);
|
4248
|
+
}
|
4249
|
+
|
4250
|
+
/**
|
4251
|
+
* @param {string} name variable name
|
4252
|
+
*/
|
4253
|
+
undefineVariable(name) {
|
4254
|
+
this.scope.definitions.delete(name);
|
4255
|
+
}
|
4256
|
+
|
4257
|
+
/**
|
4258
|
+
* @param {string} name variable name
|
4259
|
+
* @returns {boolean} true, when variable is defined
|
4260
|
+
*/
|
4261
|
+
isVariableDefined(name) {
|
4262
|
+
const info = this.scope.definitions.get(name);
|
4263
|
+
if (info === undefined) return false;
|
4264
|
+
if (info instanceof VariableInfo) {
|
4265
|
+
return info.freeName === true;
|
4266
|
+
}
|
4267
|
+
return true;
|
4268
|
+
}
|
4269
|
+
|
4270
|
+
/**
|
4271
|
+
* @param {string} name variable name
|
4272
|
+
* @returns {ExportedVariableInfo} info for this variable
|
4273
|
+
*/
|
4274
|
+
getVariableInfo(name) {
|
4275
|
+
const value = this.scope.definitions.get(name);
|
4276
|
+
if (value === undefined) {
|
4277
|
+
return name;
|
4278
|
+
} else {
|
4279
|
+
return value;
|
4280
|
+
}
|
4281
|
+
}
|
4282
|
+
|
4283
|
+
/**
|
4284
|
+
* @param {string} name variable name
|
4285
|
+
* @param {ExportedVariableInfo} variableInfo new info for this variable
|
4286
|
+
* @returns {void}
|
4287
|
+
*/
|
4288
|
+
setVariable(name, variableInfo) {
|
4289
|
+
if (typeof variableInfo === "string") {
|
4290
|
+
if (variableInfo === name) {
|
4291
|
+
this.scope.definitions.delete(name);
|
4292
|
+
} else {
|
4293
|
+
this.scope.definitions.set(
|
4294
|
+
name,
|
4295
|
+
new VariableInfo(this.scope, variableInfo, undefined)
|
4296
|
+
);
|
4297
|
+
}
|
4298
|
+
} else {
|
4299
|
+
this.scope.definitions.set(name, variableInfo);
|
4300
|
+
}
|
4301
|
+
}
|
4302
|
+
|
4303
|
+
/**
|
4304
|
+
* @param {TagInfo} tagInfo tag info
|
4305
|
+
* @returns {VariableInfo} variable info
|
4306
|
+
*/
|
4307
|
+
evaluatedVariable(tagInfo) {
|
4308
|
+
return new VariableInfo(this.scope, undefined, tagInfo);
|
4309
|
+
}
|
4310
|
+
|
4311
|
+
/**
|
4312
|
+
* @param {Range} range range of the comment
|
4313
|
+
* @returns {TODO} TODO
|
4314
|
+
*/
|
4315
|
+
parseCommentOptions(range) {
|
4316
|
+
const comments = this.getComments(range);
|
4317
|
+
if (comments.length === 0) {
|
4318
|
+
return EMPTY_COMMENT_OPTIONS;
|
4319
|
+
}
|
4320
|
+
let options = {};
|
4321
|
+
/** @type {unknown[]} */
|
4322
|
+
let errors = [];
|
4323
|
+
for (const comment of comments) {
|
4324
|
+
const { value } = comment;
|
4325
|
+
if (value && webpackCommentRegExp.test(value)) {
|
4326
|
+
// try compile only if webpack options comment is present
|
4327
|
+
try {
|
4328
|
+
for (let [key, val] of Object.entries(
|
4329
|
+
vm.runInNewContext(`(function(){return {${value}};})()`)
|
4330
|
+
)) {
|
4331
|
+
if (typeof val === "object" && val !== null) {
|
4332
|
+
if (val.constructor.name === "RegExp") val = new RegExp(val);
|
4333
|
+
else val = JSON.parse(JSON.stringify(val));
|
4334
|
+
}
|
4335
|
+
options[key] = val;
|
4336
|
+
}
|
4337
|
+
} catch (e) {
|
4338
|
+
const newErr = new Error(String(e.message));
|
4339
|
+
newErr.stack = String(e.stack);
|
4340
|
+
Object.assign(newErr, { comment });
|
4341
|
+
errors.push(newErr);
|
4342
|
+
}
|
4343
|
+
}
|
4344
|
+
}
|
4345
|
+
return { options, errors };
|
4346
|
+
}
|
4347
|
+
|
4348
|
+
/**
|
4349
|
+
* @param {MemberExpression} expression a member expression
|
4350
|
+
* @returns {{ members: string[], object: Expression | Super, membersOptionals: boolean[], memberRanges: Range[] }} member names (reverse order) and remaining object
|
4351
|
+
*/
|
4352
|
+
extractMemberExpressionChain(expression) {
|
4353
|
+
/** @type {AnyNode} */
|
4354
|
+
let expr = expression;
|
4355
|
+
const members = [];
|
4356
|
+
const membersOptionals = [];
|
4357
|
+
const memberRanges = [];
|
4358
|
+
while (expr.type === "MemberExpression") {
|
4359
|
+
if (expr.computed) {
|
4360
|
+
if (expr.property.type !== "Literal") break;
|
4361
|
+
members.push(`${expr.property.value}`); // the literal
|
4362
|
+
memberRanges.push(expr.object.range); // the range of the expression fragment before the literal
|
4363
|
+
} else {
|
4364
|
+
if (expr.property.type !== "Identifier") break;
|
4365
|
+
members.push(expr.property.name); // the identifier
|
4366
|
+
memberRanges.push(expr.object.range); // the range of the expression fragment before the identifier
|
4367
|
+
}
|
4368
|
+
membersOptionals.push(expr.optional);
|
4369
|
+
expr = expr.object;
|
4370
|
+
}
|
4371
|
+
|
4372
|
+
return {
|
4373
|
+
members,
|
4374
|
+
membersOptionals,
|
4375
|
+
memberRanges,
|
4376
|
+
object: expr
|
4377
|
+
};
|
4378
|
+
}
|
4379
|
+
|
4380
|
+
/**
|
4381
|
+
* @param {string} varName variable name
|
4382
|
+
* @returns {{name: string, info: VariableInfo | string} | undefined} name of the free variable and variable info for that
|
4383
|
+
*/
|
4384
|
+
getFreeInfoFromVariable(varName) {
|
4385
|
+
const info = this.getVariableInfo(varName);
|
4386
|
+
let name;
|
4387
|
+
if (info instanceof VariableInfo) {
|
4388
|
+
name = info.freeName;
|
4389
|
+
if (typeof name !== "string") return undefined;
|
4390
|
+
} else if (typeof info !== "string") {
|
4391
|
+
return undefined;
|
4392
|
+
} else {
|
4393
|
+
name = info;
|
4394
|
+
}
|
4395
|
+
return { info, name };
|
4396
|
+
}
|
4397
|
+
|
4398
|
+
/** @typedef {{ type: "call", call: CallExpression, calleeName: string, rootInfo: string | VariableInfo, getCalleeMembers: () => string[], name: string, getMembers: () => string[], getMembersOptionals: () => boolean[], getMemberRanges: () => Range[]}} CallExpressionInfo */
|
4399
|
+
/** @typedef {{ type: "expression", rootInfo: string | VariableInfo, name: string, getMembers: () => string[], getMembersOptionals: () => boolean[], getMemberRanges: () => Range[]}} ExpressionExpressionInfo */
|
4400
|
+
|
4401
|
+
/**
|
4402
|
+
* @param {MemberExpression} expression a member expression
|
4403
|
+
* @param {number} allowedTypes which types should be returned, presented in bit mask
|
4404
|
+
* @returns {CallExpressionInfo | ExpressionExpressionInfo | undefined} expression info
|
4405
|
+
*/
|
4406
|
+
getMemberExpressionInfo(expression, allowedTypes) {
|
4407
|
+
const { object, members, membersOptionals, memberRanges } =
|
4408
|
+
this.extractMemberExpressionChain(expression);
|
4409
|
+
switch (object.type) {
|
4410
|
+
case "CallExpression": {
|
4411
|
+
if ((allowedTypes & ALLOWED_MEMBER_TYPES_CALL_EXPRESSION) === 0)
|
4412
|
+
return undefined;
|
4413
|
+
let callee = object.callee;
|
4414
|
+
let rootMembers = EMPTY_ARRAY;
|
4415
|
+
if (callee.type === "MemberExpression") {
|
4416
|
+
({ object: callee, members: rootMembers } =
|
4417
|
+
this.extractMemberExpressionChain(callee));
|
4418
|
+
}
|
4419
|
+
const rootName = getRootName(callee);
|
4420
|
+
if (!rootName) return undefined;
|
4421
|
+
const result = this.getFreeInfoFromVariable(rootName);
|
4422
|
+
if (!result) return undefined;
|
4423
|
+
const { info: rootInfo, name: resolvedRoot } = result;
|
4424
|
+
const calleeName = objectAndMembersToName(resolvedRoot, rootMembers);
|
4425
|
+
return {
|
4426
|
+
type: "call",
|
4427
|
+
call: object,
|
4428
|
+
calleeName,
|
4429
|
+
rootInfo,
|
4430
|
+
getCalleeMembers: memoize(() => rootMembers.reverse()),
|
4431
|
+
name: objectAndMembersToName(`${calleeName}()`, members),
|
4432
|
+
getMembers: memoize(() => members.reverse()),
|
4433
|
+
getMembersOptionals: memoize(() => membersOptionals.reverse()),
|
4434
|
+
getMemberRanges: memoize(() => memberRanges.reverse())
|
4435
|
+
};
|
4436
|
+
}
|
4437
|
+
case "Identifier":
|
4438
|
+
case "MetaProperty":
|
4439
|
+
case "ThisExpression": {
|
4440
|
+
if ((allowedTypes & ALLOWED_MEMBER_TYPES_EXPRESSION) === 0)
|
4441
|
+
return undefined;
|
4442
|
+
const rootName = getRootName(object);
|
4443
|
+
if (!rootName) return undefined;
|
4444
|
+
|
4445
|
+
const result = this.getFreeInfoFromVariable(rootName);
|
4446
|
+
if (!result) return undefined;
|
4447
|
+
const { info: rootInfo, name: resolvedRoot } = result;
|
4448
|
+
return {
|
4449
|
+
type: "expression",
|
4450
|
+
name: objectAndMembersToName(resolvedRoot, members),
|
4451
|
+
rootInfo,
|
4452
|
+
getMembers: memoize(() => members.reverse()),
|
4453
|
+
getMembersOptionals: memoize(() => membersOptionals.reverse()),
|
4454
|
+
getMemberRanges: memoize(() => memberRanges.reverse())
|
4455
|
+
};
|
4456
|
+
}
|
4457
|
+
}
|
4458
|
+
}
|
4459
|
+
|
4460
|
+
/**
|
4461
|
+
* @param {MemberExpression} expression an expression
|
4462
|
+
* @returns {{ name: string, rootInfo: ExportedVariableInfo, getMembers: () => string[]} | undefined} name info
|
4463
|
+
*/
|
4464
|
+
getNameForExpression(expression) {
|
4465
|
+
return this.getMemberExpressionInfo(
|
4466
|
+
expression,
|
4467
|
+
ALLOWED_MEMBER_TYPES_EXPRESSION
|
4468
|
+
);
|
4469
|
+
}
|
4470
|
+
|
4471
|
+
/**
|
4472
|
+
* @param {string} code source code
|
4473
|
+
* @param {ParseOptions} options parsing options
|
4474
|
+
* @returns {Program} parsed ast
|
4475
|
+
*/
|
4476
|
+
static _parse(code, options) {
|
4477
|
+
const type = options ? options.sourceType : "module";
|
4478
|
+
/** @type {AcornOptions} */
|
4479
|
+
const parserOptions = {
|
4480
|
+
...defaultParserOptions,
|
4481
|
+
allowReturnOutsideFunction: type === "script",
|
4482
|
+
...options,
|
4483
|
+
sourceType: type === "auto" ? "module" : type
|
4484
|
+
};
|
4485
|
+
|
4486
|
+
/** @type {AnyNode | undefined} */
|
4487
|
+
let ast;
|
4488
|
+
let error;
|
4489
|
+
let threw = false;
|
4490
|
+
try {
|
4491
|
+
ast = /** @type {AnyNode} */ (parser.parse(code, parserOptions));
|
4492
|
+
} catch (e) {
|
4493
|
+
error = e;
|
4494
|
+
threw = true;
|
4495
|
+
}
|
4496
|
+
|
4497
|
+
if (threw && type === "auto") {
|
4498
|
+
parserOptions.sourceType = "script";
|
4499
|
+
if (!("allowReturnOutsideFunction" in options)) {
|
4500
|
+
parserOptions.allowReturnOutsideFunction = true;
|
4501
|
+
}
|
4502
|
+
if (Array.isArray(parserOptions.onComment)) {
|
4503
|
+
parserOptions.onComment.length = 0;
|
4504
|
+
}
|
4505
|
+
try {
|
4506
|
+
ast = /** @type {AnyNode} */ (parser.parse(code, parserOptions));
|
4507
|
+
threw = false;
|
4508
|
+
} catch (e) {
|
4509
|
+
// we use the error from first parse try
|
4510
|
+
// so nothing to do here
|
4511
|
+
}
|
4512
|
+
}
|
4513
|
+
|
4514
|
+
if (threw) {
|
4515
|
+
throw error;
|
4516
|
+
}
|
4517
|
+
|
4518
|
+
return /** @type {Program} */ (ast);
|
4519
|
+
}
|
4520
|
+
}
|
4521
|
+
|
4522
|
+
module.exports = JavascriptParser;
|
4523
|
+
module.exports.ALLOWED_MEMBER_TYPES_ALL = ALLOWED_MEMBER_TYPES_ALL;
|
4524
|
+
module.exports.ALLOWED_MEMBER_TYPES_EXPRESSION =
|
4525
|
+
ALLOWED_MEMBER_TYPES_EXPRESSION;
|
4526
|
+
module.exports.ALLOWED_MEMBER_TYPES_CALL_EXPRESSION =
|
4527
|
+
ALLOWED_MEMBER_TYPES_CALL_EXPRESSION;
|