Commit Graph

1031 Commits

Author SHA1 Message Date
Viktor Szépe 10014b85d4 Fix typos 2024-02-19 16:46:07 +00:00
alexander.akait 9f63f7013a refactor: more types 2024-02-16 20:39:12 +03:00
alexander.akait 1c4bcfa36c chore(types): more 2024-01-26 17:53:40 +03:00
alexander.akait 28948dd1d1 fix: inner graph 2024-01-24 14:04:06 +03:00
alexander.akait 5a9ed6dc8b fix: inner graph 2024-01-24 13:05:09 +03:00
alexander.akait c8d9d979fb fix: inner graph for classes 2024-01-23 21:42:56 +03:00
alexander.akait 3022995f10 fix: inner graph for classes 2024-01-23 21:28:43 +03:00
David Michon a4e994b12a Remove lib directive 2024-01-22 17:29:52 -08:00
David Michon fd4c36dab2 Remove wrapper objects 2024-01-22 17:12:47 -08:00
David Michon b187e2f515 Optimize RemoveParentModulePlugin via bigint arithmetic 2024-01-22 17:03:07 -08:00
Nitin Kumar 412ae5425e chore: udpate prettier to v3 2024-01-14 07:11:34 +05:30
Peter Goldberg d22c6f3bf6
origin module must always be optimized first, even for unnamed re-exports 2023-08-21 00:41:23 -04:00
Peter Goldberg 47564af25a
tweak 2023-08-21 00:41:23 -04:00
Peter Goldberg c0fde48909
fix bug in `SideEffectsFlagPlugin` with namespace re-exports 2023-08-21 00:41:22 -04:00
alexander.akait e381884115 refactor(types): more 2023-06-21 19:00:24 +03:00
alexander.akait 4809421990 refactor(types): more 2023-06-21 19:00:24 +03:00
YunfeiHe 03fd7dca11 feat: support passing `RegExp` to `splitChunks.chunks` 2023-06-06 11:33:34 +08:00
alexander.akait a27db31048 refactor: types fix 2023-06-05 03:14:09 +03:00
alexander.akait ab47c696a4 refactor(types): more 2023-06-03 20:52:25 +03:00
Sean Larkin 80284ceb5d
Merge pull request #17233 from webpack/fix-16763
fix: handle class name in properties and methods
2023-05-24 07:18:13 -07:00
alexander.akait 4474dc4307 fix: inner graph 2023-05-24 00:29:08 +03:00
alexander.akait d1c4e61022 fix: inner graph 2023-05-24 00:29:06 +03:00
Burhanuddin Udaipurwala 8d8a0e0e56 refactor: use global constant instead of string literal 2023-05-19 21:25:47 +05:30
Ben Worline 19b46355fc fix import ordering 2023-05-04 21:36:03 -07:00
Ben Worline 2b2fed5880 Initial take 2023-05-04 20:41:15 -07:00
alexander.akait 02590bfdc7 chore: improve types 2023-04-21 19:22:33 +03:00
Sean Larkin fa4cbf11a1 add more module type constants, use them across codebase 2023-03-31 10:56:32 -07:00
Ryan Wilson-Perkin 52b1b0e4ad
Revert "Improve performance of hashRegExp lookup" 2023-03-10 10:04:26 -05:00
Sean Larkin 710eaf4dda
Merge pull request #16789 from dmichon-msft/contenthash-hashsalt
Respect output.hashSalt in RealContentHashPlugin
2023-03-08 10:59:00 -08:00
David Michon 07283fabc4 Respect output.hashSalt in RealContentHashPlugin
Fix #16788

Update RealContentHashPlugin to initialize hash instances with
the value of `output.hashSalt`, if provided.
2023-03-07 16:15:36 -08:00
Ryan Wilson-Perkin cfdb1dfe59
Improve performance of hashRegExp lookup
For applications with a very large number of assets, the cost of
invoking a single regular expression with many many values in a group
becomes very high.

By changing to a list of regular expressions (with helper methods for
maintaining the original design) we can get a large performance
improvement.
2023-02-24 16:17:15 -05:00
Yehor Lvivski d4b1d69ef0 Initialize hash conditionally 2022-11-19 12:48:50 +01:00
Ivan Kopeykin 647faec2bf make imports order deterministic 2022-05-27 14:22:05 +03:00
Ivan Kopeykin 0d408d1c7f fix modules concatenation with importModule usage 2022-04-19 14:34:00 +03:00
Tobias Koppers cb639b3efc
Merge pull request #15624 from webpack/add-warning-when-cache-unaffected-and-concat-modules
throw error when using module concatenation and cacheUnaffected
2022-04-05 08:02:40 +02:00
Ivan Kopeykin 99a5793ca8 throw error when using module concatenation and cacheUnaffected
optimization.concatenateModules can't be used with cacheUnaffected as module concatenation is a global effect
2022-04-04 15:37:32 +03:00
Ivan Kopeykin 3f1715f8d8 generate only needed source types
- in ConcatenatedModule generate only js
- in NormalModule generate only used sources
2022-03-17 13:00:39 +03:00
Ivan Kopeykin 3ec8a60f67 add ability to set module source types in chunk 2022-03-16 09:23:33 +03:00
Tobias Koppers 4951965bb1 do not inherit existing top level declarations 2022-02-14 11:53:55 +01:00
Ivan Kopeykin 58a2fd01c4 refactor top level declarations
- add topLevelDeclarations to code generation results
- set topLevelDeclarations=undefined if any child topLevelDeclarations=undefined
2022-02-07 17:21:36 +03:00
Ivan Kopeykin fee6837cc7 update topLevelDeclarations for ConcatenatedModule
update top level declarations for ConcatenatedModule in code generation step
2022-02-04 16:05:10 +03:00
Tobias Koppers 313e416bd2 Merge branch 'main' into cspell-globs 2022-01-18 10:40:25 +01:00
Nick Schonning a19d7991c3
chore: update cSpell globs and fix typos 2021-12-12 16:57:14 -05:00
Tobias Koppers e67ab7fad2 resolve todos, nitpicks 2021-12-03 08:47:17 +01:00
Tobias Koppers 7afcc5d4ff allow to disable some deprecations
add `experiments.backCompat: false` (default in `experiments.futureDefaults`)
remove unused `experiments.asset`
enable `experiments.topLevelAwait` and `experiments.asyncWebAssembly` by default in `experiments.futureDefaults`
2021-11-05 09:54:51 +01:00
Tobias Koppers 6e50595cad split chunks `chunks` filter also affects fallbackCacheGroup
add `splitChunks.fallbackCacheGroup.chunks`
2021-11-02 13:23:09 +01:00
Tobias Koppers 3d3c65f50f add splitChunks.minSizeReduction 2021-10-19 12:35:04 +02:00
Ivan Kopeykin 27411f8f0f add pure notations to Object calls
/*#__PURE__*/ notations should help minimizers to drop unused Object(...) calls
2021-10-17 11:06:14 +03:00
Tobias Koppers 3fa83c6c77 help v8 hashing the bigint 2021-10-12 09:50:13 +02:00
Tobias Koppers 1ee6f808d3 Revert "track chunk combinations for modules"
This reverts commit 0e13c7dea4.
2021-10-08 15:08:48 +02:00
Tobias Koppers 643f1200c0 skip chunk conditions faster 2021-10-07 15:55:22 +02:00
Tobias Koppers 0e13c7dea4 track chunk combinations for modules
improves caching
improves SplitChunksPlugin
2021-10-07 15:43:27 +02:00
Tobias Koppers da098d7872 optimization.sideEffects is compatible with cacheUnaffected 2021-10-05 16:54:51 +02:00
Tobias Koppers 91b6972144 add memCache2 for mem caching with module/chunk ids 2021-10-05 15:08:18 +02:00
Tobias Koppers aa83e463c5
Merge pull request #14291 from webpack/feature/eval-bailouzt
avoid bailout of unused eval
2021-09-24 10:13:05 +02:00
Tobias Koppers 4a8bf4c084 allow to configure all hash functions used
fix default hash function for HttpUriPlugin to sha512
2021-09-23 14:55:13 +02:00
Tobias Koppers 18ee3fb1a9 avoid bailout of unused eval
expose InnerGraph and runtime utils
2021-09-20 17:40:51 +02:00
Tobias Koppers b50d033960 allow to mangle exports of module externals 2021-09-03 13:47:09 +02:00
Daniel Diekmeier 093a9bed16
Fix spelling of `dependOn`
The help text suggests using `dependsOn`, but the `s` is a typo.

The correct property is called `dependOn`: https://webpack.js.org/concepts/entry-points/#entrydescription-object
2021-08-24 16:15:17 +02:00
Tobias Koppers c76be4d738 make some things context-independent
* ConcatenatedModule.identifier()
* NormalModule source urls

fixes #14014
2021-08-19 14:57:39 +02:00
Tobias Koppers 0605b887c9 fix indeterminism with splitChunks.maxSize 2021-08-06 11:55:00 +02:00
Tobias Koppers 3f7d80d823 fix concatenation of module externals
#2933
2021-07-06 14:07:45 +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 291321c77a fix memory leaks 2021-06-28 09:58:03 +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 4cf272b824 add workaround for broken eslint-scope package regarding class field support 2021-05-19 16:21:54 +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 ee24b22073
Merge pull request #13169 from janlent1/master
Fix deprecation message for LimitChunkCountPlugin
2021-04-19 10:34:15 +02:00
Jan Lentmaier d88605dcbd Fix deprecation message for LimitChunkCountPlugin
Just a quick test whether the issue can easily be solved
by using the chunkGraph instead of the old methods.
2021-04-18 15:54:34 +02:00
Tobias Koppers e21b1d46fe precompile schemas for improved startup performance 2021-04-16 16:02:58 +02:00
Tobias Koppers 18967078cb cleanup modules after compilation to avoid leaking references when they are cached 2021-03-15 11:23:54 +01:00
Tobias Koppers 70376ad4ec fix problem where emitting an asset twice affects the hash 2021-03-01 09:51:46 +01:00
Tobias Koppers 1ff55df486 fixes #12769 2021-02-24 12:54:17 +01:00
Tobias Koppers f96194e0f6 storing ConcatenatedModule doesn't make sense, since it has no cachable info
instead the code geneneration cache will cover everything
2021-02-23 15:36:52 +01:00
Tobias Koppers 5c42b918b4 further optimizations 2021-02-23 12:03:26 +01:00
Tobias Koppers 365a362522 performance optimization
add statistics to ModuleConcatenationPlugin
2021-02-23 10:59:59 +01:00
Tobias Koppers 972b7f9bd1
Merge pull request #12743 from webpack/bugfix/logger-name
fix logger name
2021-02-22 15:43:41 +01:00
Tobias Koppers a90d2b20f5 fix logger name 2021-02-22 13:41:21 +01:00
Tobias Koppers 2bfbf81b59
Merge pull request #12745 from webpack/perf/module-concatenation
improve performance of finding modules for concatenation
2021-02-22 13:39:29 +01:00
Tobias Koppers 1c0b88c72f fix bug where ExportInfo uses inactive connections to find the target of an export
This happens when multiple exports * export the same name but the first one is discovered later in the process
In this case the ExportInfo contains both connections, but the second one is inactive.
2021-02-22 12:47:34 +01:00
Tobias Koppers a084baac2f improve performance of finding modules for concatenation 2021-02-22 10:52:39 +01:00
Patrik Åkerstrand a62c350804
simplify branching logic 2021-02-19 19:32:23 +01:00
Patrik Åkerstrand 398fdef5c8
Fix module concatenation renaming bug
Fixes a case where variable renaming due to module concatenation caused
the generated code to look up a different property than the source code, when
combined with a default value for the property

Closes #12712
2021-02-19 12:08:21 +01:00
Tobias Koppers 902aecd26c fix #12669 2021-02-14 19:43:39 +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 a936d7b3a0 avoid unnecessary conditions 2021-01-27 13:37:34 +01:00
Tobias Koppers 3cf2f45290 remove unused method 2021-01-25 20:30:46 +01:00
Tobias Koppers 8d2c2f44c5
Merge pull request #12453 from webpack/bugfix/reuse-vendor-entry
reuseExistingChunk is able to reuse an entry chunk when it's the only selected chunk
2021-01-19 19:23:38 +01:00
Tobias Koppers 2b3489d136 reuseExistingChunk is able to reuse an entry chunk when it's the only selected chunk 2021-01-19 17:08:58 +01:00
Tobias Koppers 4ec418c8ee allow inner graph shaking for new URL()
fixes #11818
2021-01-19 13:31:55 +01:00
Tobias Koppers 38c7cf2d85 fix caching crash in ConcatenatedModule
Ensure that no warnings/errors occur during testing
add serialization for some missing warnings
2021-01-08 15:44:26 +01:00
Tobias Koppers 35c7801b5e fix bug where cacheGroup index was inverted 2021-01-07 21:47:08 +01:00
Tobias Koppers 3554793b4b fix bug where module size is added multiple times to the split chunk info
fixes #12307
2021-01-07 16:51:08 +01:00
Tobias Koppers 10aa3daede add experiments.layers
add layers to define different module layers
support module layers in stats

add layer support for NormalModules

fixes #11466
2021-01-05 20:50:59 +01:00
highonweb bc1911bf78 Changed name of memorize function to memoize 2020-12-27 03:02:57 +05:30
Tobias Koppers 1e2634fdd8 manual side effects flagging should override automatic analysis 2020-12-15 14:40:54 +01:00
Tobias Koppers a0d2b99a34 fixes #12114 2020-12-04 17:03:12 +01:00
Tobias Koppers dade079110 only move export info targets when also moving dependencies
fix #12071
2020-11-30 10:18:38 +01:00
Tobias Koppers c7ea63875c improve side effects analysis to report imported and reexports symbols as side-effect-free
add bailout messages for side effects
2020-11-28 18:10:27 +01:00