Commit Graph

6890 Commits

Author SHA1 Message Date
Tobias Koppers cdf73dacf5 add workaround for node.js memory leak 2021-07-07 10:03:22 +02:00
Tobias Koppers e7484bbb15
Merge pull request #13720 from webpack/bugfix/module-externals-concatenated
fix concatenation of module externals
2021-07-06 18:15:41 +02:00
Tobias Koppers 49c0864551
Merge pull request #13725 from webpack/bugfix/serialize-json-as-buffer
serialize json data as buffer and decode on demand
2021-07-06 18:15:14 +02:00
Tobias Koppers b42d94e42f serialize json data as buffer and decode on demand 2021-07-06 15:00:01 +02:00
Tobias Koppers 3f7d80d823 fix concatenation of module externals
#2933
2021-07-06 14:07:45 +02:00
Tobias Koppers 86805ee5b8 fixes #13719 2021-07-06 00:50:13 +02:00
Tobias Koppers 1c9b1b7a21
Merge pull request #13706 from webpack/feature/disable-runtime
allow to disable runtime chunk per entry via `runtime: false`
2021-07-05 13:43:42 +02:00
Tobias Koppers 94852e07f7 allow to disable runtime chunk per entry via `runtime: false`
and also via `ModuleFederationPlugin`.`runtime`
2021-07-05 11:32:45 +02:00
Tobias Koppers e6f098903f fixes #13691 2021-07-05 11:22:13 +02:00
Tobias Koppers f2869c5b16
Merge pull request #13672 from webpack/cache/compression
add cache compression
2021-07-02 09:00:58 +02:00
Tobias Koppers 492055ae90 add cache compression 2021-07-02 07:05:13 +02:00
Tobias Koppers 7f35d28bb8 fix #13667 2021-07-02 06:53:30 +02:00
Tobias Koppers b443555501 this is a workaround to remove compilation-specific references from modules in the unsafe cache
I'm not proud of this solution, but it fixes it for now
Long term we might move these kind of references out of the module
into some kind of compilation/module graph specific store.
But that's not yet possible for backward-compat reasons.
2021-07-01 11:46:59 +02:00
Tobias Koppers 74a16d0807
Merge pull request #13662 from webpack/perf/avoid-splitting-buffer
reduce amount of buffer splitting for large cache files
2021-06-29 16:26:24 +02:00
Tobias Koppers 563a28dd0f fix toString for large positions 2021-06-29 13:37:34 +02:00
Tobias Koppers c409811f13
Merge pull request #13659 from yiminghe/use-es5
use es5 for async module runtime
2021-06-29 13:31:16 +02:00
Tobias Koppers 0433e0b0e9 join sections 2021-06-29 13:09:01 +02:00
Tobias Koppers 86203ade47 use Buffer.from instead of slice
as slice doesn't work correctly in some environments for unknown reasons
2021-06-29 13:09:01 +02:00
Tobias Koppers d3035701f4 add test case for large assets 2021-06-29 13:08:38 +02:00
Tobias Koppers 894ef94b86 use Buffer.from instead of slice
as slice doesn't work correctly in some environments for unknown reasons
2021-06-29 10:55:52 +02:00
yiminghe 68b020ee42 use es5 for async module runtime 2021-06-29 16:17:18 +08:00
Tobias Koppers f7766875bc
Merge pull request #13649 from webpack/cache/automatic-store
store cache after large changes
2021-06-28 17:35:14 +02:00
Tobias Koppers 0a64c16a89 improve module support for WebWorkers 2021-06-28 12:30:25 +02:00
Tobias Koppers 18e93eb10e
Merge pull request #13647 from webpack/perf/memory-improvements
improve disposing of lazy compilation backend server
2021-06-28 11:35:23 +02:00
Tobias Koppers 142bc5610f store cache after large changes
detect larger changes automatically and use shorter timeout
2021-06-28 11:35:14 +02:00
Tobias Koppers 291321c77a fix memory leaks 2021-06-28 09:58:03 +02:00
Tobias Koppers c749122c03 improve disposing of lazy compilation backend server 2021-06-28 09:50:48 +02:00
Tobias Koppers a1f0d23dcc add `node-commonjs` external type to use `createRequire` for commonjs externals
for `module` externals, fallback to `import()` when not in module mode
2021-06-25 11:22:55 +02:00
Tobias Koppers 35a399e81a add dependencyType to externals function data 2021-06-24 16:45:14 +02:00
Tobias Koppers 629f9f031c add support for module externals and automatic externals 2021-06-24 16:44:14 +02:00
Tobias Koppers 15408018cb partially fix test cases 2021-06-24 10:05:37 +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
Nathan Summers ef4aa56755 Dispose and apply must run atomically. 2021-06-21 17:21:23 -07:00
Tobias Koppers 513648e905
Merge pull request #13590 from webpack/bugfix/13575
assign class property keys to the correct top level symbol
2021-06-21 18:17:29 +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 de5365bf42
Merge pull request #12693 from dnalborczyk/node-prefix
feat: add node: prefixed modules
2021-06-21 10:06:12 +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 93b96c1b5f
Merge pull request #13483 from snitin315/reset-description
improve description for reset type flags
2021-06-18 12:33:23 +02:00
Tobias Koppers 6edeac3e54 use different symbol 2021-06-18 12:33:01 +02:00
Tobias Koppers e4389a494b
Merge pull request #13467 from myNameIsDu/fix/check-promise-condition
fix:the judgment of promise is changed from instanceof to Promises/A+…
2021-06-18 12:26:02 +02:00
dnalborczyk da6fe93982 Update lib/node/NodeTargetPlugin.js
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2021-06-18 11:01:13 +02:00
Daniel Nalborczyk b80b612c14 feat: add node: prefixed modules 2021-06-18 11:00:26 +02:00
Tobias Koppers e348fd61b6 reduce algorithmic complexity of the structure analysis for plain objects serialization 2021-06-18 10:44:35 +02:00
Tobias Koppers 42d882c2c2 shorter code 2021-06-18 10:21:19 +02:00
Tobias Koppers b0097bcff1
avoid merging for empty sets 2021-06-18 08:27:13 +02:00
Mark Molinaro b58e0799e2 Fix perf issues with lazy sets 2021-06-17 18:42:39 +00:00
Tobias Koppers 3b555175e6 unreference some of the intermediate data when unserializing 2021-06-17 11:25:49 +02:00
Tobias Koppers 273bd8f575 move defineRemovedModuleTemplates into separate function as it leaks memory in the feedback vectors 2021-06-17 10:11:24 +02:00
Tobias Koppers f5fac83c08 clear compilation queues to reduce memory usage 2021-06-17 10:10:51 +02:00
Nathan Summers e852415cd5 Allow HMR status handlers to return a Promise
The HMR system will wait until the promise settles before continuing.
2021-06-16 16:58:58 -07:00
Tobias Koppers 9a7cf9a4ba getAllInitialChunks really returns all of them 2021-06-14 21:27:57 +02:00
Tobias Koppers ac97a276a5
Merge pull request #13533 from markjm/markjm/errors
perf: Remove Error.captureStackTrace from all WebpackErrors
2021-06-11 15:02:48 +02:00
Mark Molinaro ecf87288d5 perf: Remove Error.captureStackTrace from all WebpackErrors 2021-06-07 07:15:28 +00:00
Mark Molinaro 74d5172b03 Respect allowCollectingMemory setting (being normalized away right now) 2021-06-01 18:02:19 +00:00
Nitin Kumar a58c0a6b6e chore: improve clarity in description 2021-06-01 17:53:08 +05:30
Nitin Kumar ea9bfc70ac enhancement: improve description for reset type flags 2021-06-01 08:19:02 +05:30
Tobias Koppers 23c4907af5 fix bug in ContextModule, improve test case for lazy compilation 2021-05-31 18:16:21 +02:00
Juho Vepsäläinen 189a8863cd chore: Allow passing a typePrefix to ContextElementDependency
This is needed to tell different usages apart. The added information is
used by the lazy compilation feature.
2021-05-31 14:46:38 +03:00
du 946e96f476 fix:the judgment of promise is changed from instanceof to Promises/A+ standard 2021-05-29 00:53:19 +08:00
Tobias Koppers 55dacb4b36 increment index in sorting 2021-05-27 21:45:40 +02:00
Tobias Koppers 8da05420a4
Merge pull request #13449 from webpack/bugfix/hmr-new-runtime
avoid generating hmr updates for previously not existing runtimes
2021-05-27 12:07:10 +02:00
Tobias Koppers bd8af21c20 avoid generating hmr updates for previously not existing runtimes 2021-05-26 22:16:32 +02:00
Tobias Koppers b1b9ef34a9 cache buffer in local var 2021-05-26 21:35:46 +02:00
Tobias Koppers bb6040b07f (re)store provided exports sorted 2021-05-26 21:35:46 +02:00
Tobias Koppers cc5890163a improve ExportsInfo sorting performance by keeping Map size to avoid reorganizing 2021-05-26 21:35:46 +02:00
Tobias Koppers f6b5bc54fe Create entry dependency only once for better unsafe caching 2021-05-26 21:35:46 +02:00
Tobias Koppers 4845915c0b Lazy require some modules 2021-05-26 21:35:46 +02:00
Tobias Koppers fbcc470bcf add fsStartTime for single runs 2021-05-21 08:06:46 +02:00
Tobias Koppers ad1c80214d
Merge pull request #13409 from webpack/bugfix/class-fields-concatenated
add workaround for broken eslint-scope package regarding class field support
2021-05-20 15:54:27 +02:00
Tobias Koppers fe6d28dd16
Merge pull request #13412 from webpack/bugfix/watcher-invalidate-and-changes
track changes and removals correctly during watching
2021-05-20 15:53:52 +02:00
Tobias Koppers 8e9daad216 track changes and removals correctly
purge filesystem correctly
2021-05-19 19:06:58 +02:00
Tobias Koppers 4cf272b824 add workaround for broken eslint-scope package regarding class field support 2021-05-19 16:21:54 +02:00
Tobias Koppers 973edfbd1b support data urls as input in `new URL` 2021-05-19 11:30:09 +02:00
Tobias Koppers 08090a9fee
Merge pull request #13401 from webpack/pascal-readonly-array
accept a readonly array for configuration options
2021-05-19 07:03:10 +02:00
Tobias Koppers 0b3f717123
Merge pull request #13399 from webpack/bugfix/resume-watching
fix suspend and resuming watching correctly
2021-05-19 07:02:10 +02:00
Tobias Koppers 5f7394b76f fix type error 2021-05-18 17:10:36 +02:00
Tobias Koppers ad75cca1e0 Merge branch 'master' into pascal-readonly-array 2021-05-18 17:07:52 +02:00
Tobias Koppers 9e7062f5e6 fixes #13330 2021-05-18 16:54:16 +02:00
Tobias Koppers 0d4dbd019a fix collecting of changed files and aggregating when suspending 2021-05-18 14:23:33 +02:00
Tobias Koppers 878ce6b11a respect multi compiler `dependencies` and `parallelism` when using `invalidate` 2021-05-17 13:49:43 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers 84ae69ba1f
Merge pull request #13334 from webpack/bugfix/depend-on-runtime-async-chunks 2021-05-10 18:08:49 +02:00
Tobias Koppers 3de13caba7
Merge pull request #13331 from dhruvit-r/bugfix/fs-call-signatures 2021-05-10 15:52:47 +02:00
Tobias Koppers f98c65a2d2 fix too large runtime chunks when using dependOn 2021-05-10 15:49:08 +02:00
Dhruvit Raithatha e085eebd6c make errors nullable for call signatures of filesystem types 2021-05-10 15:18:22 +05:30
Tobias Koppers 2e2cd6de85
Merge pull request #9856 from koto/tt-integration 2021-05-10 11:27:42 +02:00
Tobias Koppers 88da3f8ed2 normalize output.trustedTypes to an object 2021-05-10 10:34:21 +02:00
Tobias Koppers 6a3cc0ab2f fix author 2021-05-10 10:12:23 +02:00
Tobias Koppers a86974b7aa rename to CreateScriptUrlRuntimeModule to have same name as RuntimeGlobal 2021-05-10 10:09:18 +02:00
Tobias Koppers 1879f243dd generate shorter code 2021-05-10 09:58:27 +02:00
Tobias Koppers 869f9c8a8c use createScriptUrl only when needed 2021-05-10 09:58:27 +02:00
Tobias Koppers 4b1592d07a rename createScriptURL to createScriptUrl 2021-05-10 09:09:34 +02:00
Tobias Koppers bb8ba1cd05 disable trustedTypes by default
allow to pass a boolean as trustedTypesPolicy
2021-05-10 09:02:46 +02:00
Tobias Koppers 87c0d1cd94 Merge branch 'master' into johnnyreilly/master 2021-05-07 18:07:23 +02:00
Tobias Koppers 77f625ab09 upgrade tooling and update types.d.ts
fixed SourceMap
import Schema from validate function
2021-05-07 18:01:45 +02:00
Krzysztof Kotowicz 3561285ea8 Skip using Trusted Types checks if trustedTypesPolicyName is empty. 2021-05-07 10:30:57 +02:00
Bjarki b6e112dabe Only expose createScriptURL function from Trusted Types policy
Since createScriptURL is the only function that is used on webpack's
Trusted Types policy, replace the getTrustedTypesPolicy global with a
simpler createScriptURL global.

In terms of compiled code, this replaces the non-minifiable
tt().createScriptURL(url) with tu(url), which is more compact in terms
of code size.
2021-05-04 16:26:22 +02:00
Krzysztof Kotowicz 8c3ebccc69 Added Trusted Types support for importScripts() in workers. 2021-05-04 16:17:49 +02:00
Bjarki cca01affef Make Worker transformation compatible with Trusted Types 2021-05-04 16:12:41 +02:00
Bjarki c71184958d Move Trusted Types policy into TrustedTypesRuntimeModule
Also make the policy available at runtime through
RuntimeGlobals.getTrustedTypesPolicy(), and update runtime dependencies
accordingly.
2021-05-04 16:12:41 +02:00
Krzysztof Kotowicz dbd095b44a Added the Trusted Types logic. 2021-05-04 16:12:34 +02:00
Krzysztof Kotowicz c816c135ca Removed a deprecated createURL function reference. 2021-05-04 16:06:37 +02:00
Tobias Koppers adc10a5636 make ESM tracking info message less verbose 2021-04-30 15:07:17 +02:00
Tobias Koppers 263a06a13c
Merge pull request #13279 from webpack/bugfix/depend-on-modules
fix too many modules are included in chunks when using chained dependOn
2021-04-30 13:42:55 +02:00
Tobias Koppers a36739a177
Merge pull request #13276 from webpack/bugfix/emit-caching
emit assets even when they were cleaned from fs in the meantime
2021-04-30 13:31:32 +02:00
Tobias Koppers 81f244ba2e
Merge pull request #13277 from webpack/bugfix/worker-runtime-name
fix problems with auto-generated runtime name for workers
2021-04-30 12:48:17 +02:00
Tobias Koppers 027f9bd929 fix too many modules are included in chunks when using chained dependOn 2021-04-30 12:47:59 +02:00
Tobias Koppers f243907fe8 emit assets even when they were cleaned from fs in the meantime 2021-04-30 11:55:56 +02:00
Tobias Koppers 1ca93aaa6b Make auto-generated runtime name a hash instead of leaking pathinfo
Make auto-generated runtime name more stable by using index instead of source code location

fixes #12883
2021-04-30 11:28:04 +02:00
Tobias Koppers eea0aee1a7 catch errors thrown during parser/generation creation 2021-04-30 09:45:14 +02:00
Tobias Koppers a060126e49 improve module dependency processing performance 2021-04-28 10:27:51 +02:00
Tobias Koppers 31415ecdb4 improve algorithmic complexity for merging InitFragments to solve performance in an edge case 2021-04-28 09:10:45 +02:00
Tobias Koppers 532b07e0c1 faster hashing for the common case 2021-04-28 09:10:45 +02:00
Tobias Koppers fc3fe304d9 return consistent datastructure type 2021-04-28 09:10:44 +02:00
Tobias Koppers 89d6dcb0e2 used cached value 2021-04-28 09:10:44 +02:00
Tobias Koppers 9b57c3cb56 avoid complex "by exports" splitting for splitChunks in development mode 2021-04-28 09:10:44 +02:00
Tobias Koppers 766be5a3fd add cache.profile flag for more info about (de)serialization timings 2021-04-28 09:10:43 +02:00
Tobias Koppers 0abe3df1c6
Merge pull request #13235 from webpack/feature/class-fields
add support for class fields
2021-04-27 11:37:04 +02:00
Tobias Koppers 94facd387d add support for class fields 2021-04-27 10:28:13 +02:00
Tobias Koppers 00d176419c avoid nextTick when possible 2021-04-27 09:36:52 +02:00
Tobias Koppers 0aff7d2c63 avoid creating objects for location info when not accessed 2021-04-27 09:36:52 +02:00
Tobias Koppers 6fce46ebd8 avoid duplicate serialization 2021-04-27 01:20:56 +02:00
Tobias Koppers 78ee6fb386 store parents in Dependency 2021-04-23 14:51:25 +02:00
Tobias Koppers 88d90bea14 Use LazySets for ContextModuleFactory 2021-04-23 14:51:25 +02:00
Tobias Koppers acfea9dae4 improve module graph hashing via bigints 2021-04-23 14:51:24 +02:00
Tobias Koppers d1a56a8a44 skip unknown exports faster 2021-04-23 14:51:24 +02:00
Tobias Koppers a89deee176 improve smartGrouping performance 2021-04-23 14:51:24 +02:00
Tobias Koppers b71e0ced35 Merge branch 'master' into johnnyreilly/master 2021-04-22 21:52:48 +02:00
Tobias Koppers ea53a23827 improve LoaderContext declaration
upgrade tooling
2021-04-22 21:48:29 +02:00
Tobias Koppers 7cc40782b7 fix some internal types 2021-04-22 21:48:25 +02:00
Tobias Koppers e42915cf49 clean up types 2021-04-22 10:54:50 +02:00
Tobias Koppers cb494c9a8b fix returning exports from runtime for libraries
fixes #13165
2021-04-22 09:32:17 +02:00
Tobias Koppers 0eb2f352fe fix typo
thanks @markjm
2021-04-21 07:20:11 +02:00
John Reilly 8cd30eb222 revert generic approach 2021-04-20 18:12:16 +01:00
Tobias Koppers be66dc6242 collect memory cache faster when using filesystem cache 2021-04-20 15:40:06 +02:00
Tobias Koppers 177736f59c avoid leaking unused memory in buffer backing stores in development mode 2021-04-20 15:22:16 +02:00
Tobias Koppers 09240b1230 avoid leaking context of cached function 2021-04-20 15:17:54 +02:00
Tobias Koppers bf3f89c6ab create functions outside of context to avoid leaking the context 2021-04-20 15:17:31 +02:00
Tobias Koppers 43f9320e83 remove large arrays from context to avoid leaking 2021-04-20 14:13:04 +02:00
John Reilly 40a5eb17fe tried generic workarouuund 2021-04-20 09:18:59 +01:00
John Reilly 1578fd4f2f schema 2021-04-20 09:01:46 +01:00
John Reilly 39042a2578
Update lib/index.js
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2021-04-20 08:52:15 +01:00
John Reilly df44d7d8b7 attempt @sokras suggestion 2021-04-20 06:05:54 +01:00
John Reilly a2f8808fee apply @sokra's feedback and include runtime type 2021-04-19 19:30:58 +01:00
Tobias Koppers 85fe6ac4f4
Merge pull request #13157 from scamden/pr-hash-bug
fix(resolve): allows filesysteminfo to resolve files that have #'s
2021-04-19 19:42:59 +02:00
Tobias Koppers 28d9589d45
Merge pull request #13154 from webpack/perf/iterable
cheaper getIterator
2021-04-19 16:29:45 +02:00
Tobias Koppers 0197867237 use paths without fragment and query 2021-04-19 12:13:47 +02:00