Commit Graph

240 Commits

Author SHA1 Message Date
Jack Works 18c59c600d fix: avoid cross-realm objects 2022-11-22 11:37:16 +08:00
Ivan Kopeykin 8bfcb6999b support import/export name as string literal 2022-07-19 16:58:38 +03:00
Ivan Kopeykin 8df5134ddb support context 2022-03-31 15:10:21 +03:00
Ivan Kopeykin 34c4edca6b add createRequire support 2022-03-25 10:50:13 +03:00
Tobias Koppers 86a8bd9618
Merge pull request #15455 from webpack/feature/support-in-operator
add "in" operator support
2022-03-17 11:17:39 +01:00
Tobias Koppers 5cc3a39109
Merge pull request #15327 from webpack/fix/dont-count-optional-chaining-in-import-specifier
dont count optional chaining in import specifier
2022-03-15 16:56:06 +01:00
Ivan Kopeykin b2fc854227 fix parser.evaluteExpression api 2022-03-15 15:37:17 +03:00
Ivan Kopeykin eb5d124150 add "in" operator support 2022-03-02 15:01:35 +03:00
Ivan Kopeykin 005e065fc4 renaming 2022-02-28 22:52:16 +03:00
Tobias Koppers 18c3590b28
Merge pull request #15315 from webpack/fix/issue-13022
update topLevelDeclarations for ConcatenatedModule
2022-02-14 14:46:43 +01:00
Ivan Kopeykin cd3ec1da92 refactor top level declarations usage 2022-02-11 17:59:35 +03:00
Ivan Kopeykin b531eb629f fix types 2022-02-08 21:48:57 +03:00
Ivan Kopeykin 59437ccd10 dont count optional chaining in import specifier
instead of full member expression use only non-optional member expression part
2022-02-07 16:14:22 +03:00
Ivan Kopeykin f1d329cc0e use nonNumericOnlyHash function for contentHash 2022-02-01 20:10:45 +03:00
Tobias Koppers b9c6691ff5 bugfixes, external assets 2021-12-03 16:23:09 +01:00
Tobias Koppers 8ae9507196 add support for url() in css 2021-12-03 08:46:24 +01:00
Tobias Koppers 3eff82d0f9
Merge pull request #14806 from webpack/fix-12924
use "safe" global object
2021-11-26 08:40:29 +01:00
Ivan Kopeykin a3fff1a4c8 evaluate undefined to type undefined 2021-11-25 22:41:27 +03:00
Tobias Koppers c69e37c39d fix outputModule with initial splitChunks 2021-11-25 16:05:03 +01:00
Ivan Kopeykin 58edd1aebb fix evaluating tagged template 2021-11-24 21:22:59 +03:00
Ivan Kopeykin edeaa6eb82 use "safe" global object 2021-11-23 20:40:03 +03:00
Tobias Koppers 7135727cba avoid unneccessary separators and arrays 2021-10-04 09:29:09 +02:00
shfshanyue 92f84dcac0 chore: merge multi hash.update 2021-09-26 08:51:53 +08:00
Ivan Kopeykin ffad02dbe2 fix discussions 2021-09-20 15:40:45 +03:00
Ivan Kopeykin 1b2c08a672 fix discussions 2021-09-17 07:23:29 +03:00
Ivan Kopeykin 18ed9cb34b fix logic expression evaluation 2021-09-16 13:15:01 +03:00
Tobias Koppers 720aa43bd3 handle hashbangs in javascript files
fixes https://github.com/vercel/next.js/issues/27806
2021-08-10 11:34:06 +02:00
Sven Sauleau 6c50c81350 Revert "Revert "Merge pull request #12278 from xtuc/sven/import-assertions""
This reverts commit 61946b7c46.
2021-07-24 23:28:30 +01:00
Tobias Koppers 0bd1e789d4 generate "use strict" only when really needed 2021-07-22 16:09:09 +02:00
Tobias Koppers 3967571924 Merge branch 'main' into fix/overwritten_webpack__exports_onChunksLoaded 2021-07-16 21:58:34 +02:00
Tobias Koppers 61946b7c46 Revert "Merge pull request #12278 from xtuc/sven/import-assertions"
This reverts commit df02bc6c0a, reversing
changes made to a6f341e243.
2021-07-16 21:54:21 +02:00
Tobias Koppers c469adc265 fix handling of onChunksLoaded with prefetching 2021-07-16 18:11:29 +02:00
shinyaigeek 1d8f9fd4d0 Fix: overwritten __webpack_exports__ on onChunksLoaded 2021-07-16 18:10:45 +02:00
Tobias Koppers 7f22e4721f match on asserts
change Map to Record
improve test case
2021-07-16 13:17:20 +02:00
Sven Sauleau b166f46f2c parse import assertions 2021-07-16 13:14:54 +02:00
Tobias Koppers 629f9f031c add support for module externals and automatic externals 2021-06-24 16:44:14 +02:00
Tobias Koppers 4da99d8254 add `module` library support, test and example
add test cases for `experiments.outputModule`
2021-06-23 14:49:14 +02:00
Tobias Koppers c3af61fe2a add `__webpack_modules__` when `__webpack_require__` is used 2021-06-23 14:49:14 +02:00
Tobias Koppers d09cc17cee use types from estree 2021-06-22 09:47:29 +02:00
Tobias Koppers d0f500b76d
Merge pull request #13565 from webpack/dependabot/npm_and_yarn/acorn-8.4.0
chore(deps): bump acorn from 8.2.4 to 8.4.0
2021-06-22 09:43:00 +02:00
Tobias Koppers b6a39e3ccf remove allowAwaitOutsideFunction option as it's now set by default 2021-06-21 10:14:49 +02:00
Tobias Koppers 4e608c8723 assign class property keys to the correct top level symbol 2021-06-21 09:48:14 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers 94facd387d add support for class fields 2021-04-27 10:28:13 +02:00
Tobias Koppers cb494c9a8b fix returning exports from runtime for libraries
fixes #13165
2021-04-22 09:32:17 +02:00
Tobias Koppers 24c5902374 add interceptModuleExecution, module cache and improve error messages 2021-04-14 14:37:00 +02:00
Tobias Koppers ea3e0a39ac add experiments.executeModule
rename runModule -> executeModule
improve error reporting
2021-04-12 12:27:55 +02:00
Tobias Koppers 065177df66 add experimental support for build time execution
allow to execute a part of the module graph at build time
e. g. to generate code or other assets

loaders have access to that via `this.importModule(request, options)`
2021-04-12 12:27:54 +02:00
Tobias Koppers 87b67a920d avoid memory leak in v8 ICs after parsing and building modules 2021-03-25 14:52:12 +01:00
Tobias Koppers 89a44ab742 fix caching bug when split chunks of an entrypoint change and modules of the entrypoint stay equal 2021-03-19 16:13:18 +01:00
Tobias Koppers aacd7b2143 fix library exports when using onChunks in entry 2021-03-19 16:13:18 +01:00
Tobias Koppers fccc13aaa0
Merge pull request #12907 from webpack/bugfix/assign-library-runtime-chunk
fix problem with strict mode for assigning libraries with separate runtime chunk
2021-03-16 20:54:25 +01:00
Tobias Koppers a93eb10903 fix problem with strict mode for assigning libraries with separate runtime chunk 2021-03-16 19:53:13 +01:00
Ali Al Amine 8dcaade8fc Fix #12908 2021-03-16 20:19:10 +02:00
Tobias Koppers 2abcede6cd
Merge pull request #12852 from chenxsan/test/test-library-type-assign 2021-03-15 20:33:14 +01:00
Tobias Koppers d5992633e6 offer a hook to opt-out of strict mode 2021-03-15 16:38:50 +01:00
Tobias Koppers 69218d4ea0 fix problem with startup of non-js initial chunks
fixes #12880
2021-03-14 19:54:50 +01:00
Tobias Koppers 61cc65c58e improve parsing to handle non-literal options 2021-03-12 12:09:02 +01:00
Tobias Koppers 404a854c8b improve hmr error handling abilities
pass module and moduleId with self error handler
add error handlers for dependency accept handlers
pass moduleId and dependencyId with dependency accept error handler
add output.strictModuleErrorHandling to opt-in into strict module error handling
HotModuleReplacementPlugin enalbed output.strictModuleErrorHandling automatically

fixes #12826
2021-03-09 20:23:00 +01:00
Tobias Koppers 393913dbd8 rename files, avoid indenting runtime code 2021-03-09 09:42:01 +01:00
Tobias Koppers c7f93af138 refactor startup logic to better integrate with libraries
get rid of startupNoDefault and many custom logic regarding this in jsonp chunk loading
add onChunksLoaded runtime method to cover that for all chunk loading types
add `__webpack_runtime_id__` to access the current runtime
allow to use onChunksLoaded for other module types too
2021-03-08 20:25:09 +01:00
Tobias Koppers 5c42b918b4 further optimizations 2021-02-23 12:03:26 +01:00
Tobias Koppers cc6f3d9113 fix regression when combining library + runtimeChunk + node target
related to https://github.com/vercel/next.js/pull/22187
2021-02-18 15:50:40 +01:00
Tobias Koppers 9f3950e571 add support for libraries combined with iife: false
fix missing runtime requirement for system.js context
fix inlining of modules when conflicting symbols are defined on top-level
2021-02-11 11:19:24 +01:00
Tobias Koppers 89e95d6bda newline fixes for startup code 2021-02-09 21:28:10 +01:00
Tobias Koppers b29dd3d224 add renderStartup hook 2021-02-09 21:27:10 +01:00
Tobias Koppers 1c8fe2a8f8 allow module inlining when exports is used 2021-02-09 21:26:23 +01:00
evilebottnawi 938fc8946a refactor: add semicolon 2021-01-27 15:47:04 +03:00
Tobias Koppers a07a1269f0
Merge pull request #11316 from petermetz/master 2021-01-21 11:46:33 +01:00
Tobias Koppers be13a46750 sort imports 2021-01-20 09:51:17 +01:00
Peter Somogyvari ded4cc64a0 perf(parser): binary search for comments in range
Signed-off-by: Peter Somogyvari <peter.metz@unarin.com>
2021-01-19 11:55:35 -08:00
Tobias Koppers a2fd6c2226 disable iife handling for functions with default parameters or patterns 2021-01-19 13:35:50 +01:00
Ivan Kopeykin 9fadec4dc1 fix: walk iife function expression params 2021-01-19 13:35:50 +01:00
Tobias Koppers e9183f9810 only return result of startup when needed
fixes #12244
2021-01-18 19:21:12 +01:00
Tobias Koppers ae15a701a4 fix handling of MetaProperty
fixes #12339
2021-01-05 21:26:28 +01:00
Tobias Koppers 0179d88d4b improve checkEnabled error messages 2021-01-05 11:34:57 +01:00
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
Tobias Koppers 48571c663f add selective runtime requirements from startup logic which doesn't prevent inlining modules
avoid using startup function for grab data from preexecuted chunks
2020-12-11 14:36:48 +01:00
Tobias Koppers c847009d87 typescript workarounds
see https://github.com/microsoft/TypeScript/issues/41697
2020-11-30 08:42:35 +01:00
Tobias Koppers dbea79cf8a improve code and test case 2020-11-25 22:48:11 +01:00
Ivan Kopeykin f000854cee fix: check statements in path for asi safe 2020-11-25 22:48:10 +01:00
Tobias Koppers 3601b4bfe3 handle ASI issue between concatenated modules
fixes #11897
2020-11-04 12:02:36 +01:00
Tobias Koppers 1b78895c31 improve handling of ASI in concatenated modules and with imports
fixes #11897
2020-11-02 14:15:12 +01:00
Tobias Koppers 11a7cac537 add useSimpleSourceMap flag to enable/disable OriginalSource for generated code
pass reduced options object to Source.map() function
2020-10-26 16:33:38 +01:00
Tobias Koppers 2ec90b3687 add asset info for `sourceFilename` and `javascriptModule` 2020-10-22 10:47:23 +02:00
Tobias Koppers 20c4eff3e7 Merge branch 'master' into bump-acorn-8 2020-10-07 10:35:13 +02:00
Tobias Koppers 8e562aa260 fix some nitpicks with active state 2020-10-07 09:36:41 +02:00
Tobias Koppers fcca1d649d analyse source code for side effects
mark the module as side effects free in such cases
allow 3rd state TRANSITIVE_ONLY to be side-effect-free but dependencies should still be included (for mini-css-extract-plugin)
2020-10-06 14:10:29 +02:00
Huáng Jùnliàng bd902b37ed chore: bump acorn to 8.0.3 2020-10-02 10:13:10 -04:00
Huáng Jùnliàng d1dd411cb3 workaround upstream bug 2020-10-01 18:05:23 -04:00
Huáng Jùnliàng 48be8c4d26 fix typing 2020-09-30 08:49:06 -04:00
Huáng Jùnliàng e142c50a91 revert AcornOptions hotfix 2020-09-30 08:49:05 -04:00
Huáng Jùnliàng aea7ce053d feat: add logical assignment support 2020-09-30 08:49:05 -04:00
Tobias Koppers 6dad1d0d6b use better hash for renderManifest to avoid unnecessary invalidation
add bootstrap code to content hash
2020-09-28 11:42:05 +02:00
Tobias Koppers d770a55ec0
Merge pull request #11474 from webpack/refactor/concatenation
Refactor module concatenation
2020-09-15 15:14:49 +02:00
Tobias Koppers 145d392143 fixes parsing of 'this' in arrow iife
yarnpkg/berry#1832
2020-09-15 13:46:10 +02:00
Tobias Koppers 9af1d7526b refactor module concatenation to address discovered bugs/edge cases 2020-09-15 12:36:02 +02:00
Tobias Koppers 23e91dbbac move module concatenation bailout checks to Module and for NormalModule to Generator 2020-09-15 12:35:59 +02:00
Tobias Koppers fdd4a7713f add ConcatenationScope 2020-09-15 12:34:50 +02:00
Tobias Koppers 7e85649492 improve target options
infer target properties from different targets and fill defaults from that

custom targets can now be created via `target: false` and a plugin (similar to the other options)

add stubs from universal chunk/wasm loading and module chunk format

add externalsPresets.electron and externalsPresets.electronRenderer

node.__file/dirname: "eval-only"
2020-09-10 11:42:09 +02:00