Tobias Koppers
5af7e54e7d
Merge pull request #12896 from webpack/feature/define-cache-version
...
DefinePlugin takes care of module invalidation when values have changed
2021-03-15 16:14:35 +01:00
Tobias Koppers
103a51468b
DefinePlugin takes care of module invalidation when values have changed
...
The options of the DefinePlugin no longer have to be covered by build dependencies
2021-03-15 15:19:42 +01: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
365a362522
performance optimization
...
add statistics to ModuleConcatenationPlugin
2021-02-23 10:59:59 +01:00
Tobias Koppers
b352f20d2d
add "first" to SetHelpers
2021-02-09 21:26:30 +01:00
Tobias Koppers
f25345cae9
refactor code generation and HMR plugin to generate real module hashes for HMR
2021-01-26 14:45:11 +01:00
Tobias Koppers
97b83161d9
move responsibility of exports info and connected modules hashing from Dependencies to Module
...
fixes a bug where modules are incorrectly cached when exports info of connected modules change
2021-01-24 21:36:36 +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
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
Tobias Koppers
63856cc017
get only readonly version of ExportInfo when determining module export type
2020-12-23 20:39:54 +01:00
Tobias Koppers
4c288fead3
compile typings in strict mode to include undefined and null in types
2020-12-16 18:28:49 +01:00
Tobias Koppers
7f691aacdf
enable named exports for commonjs as node.js supports it now
...
fixes #11878
2020-11-03 09:14:59 +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
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
Tobias Koppers
5f750256f4
Merge pull request #11475 from webpack/bugfix/deprecated-timestamps
...
Deprecated timestamps performance and deprecation
2020-09-15 15:57:45 +02:00
Tobias Koppers
002d6f7342
deprecate needRebuild
2020-09-15 14:33:50 +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
cee47dc867
Store cache dependencies inside of Snapshot to reduce cache size
2020-08-24 18:16:54 +02:00
Tobias Koppers
71cf7f4dc8
add support for reexporting in CommonJS
...
and necessary refactoring + fixes for that
2020-08-17 21:32:47 +02:00
Ivan Kopeykin
4fc44a3398
add more types
2020-08-02 23:47:54 +03:00
Tobias Koppers
1265765141
polish, types
2020-07-27 22:41:04 +02:00
Tobias Koppers
e16bdfda6c
refactor used exports analysis, hashing, code generation, optimizations
...
to keep track of runtimes, used exports depending on runtime
modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
2020-07-27 22:40:44 +02:00
Tobias Koppers
49e5ce2812
Merge pull request #11131 from webpack/bugfix/ignore-linking-errors-on-error
...
ignore linking errors when the imported module has errors
2020-07-09 10:22:35 +02:00
Tobias Koppers
5068909499
Avoid tracking/printing detailed usage info for modules without exportsType
...
Make ContextModule a static default exporting module
fix provided exports info for ExternalModule
2020-07-08 11:07:03 +02:00
Tobias Koppers
78920aa689
ignore linking errors when the imported module has errors
2020-07-07 17:54:15 +02:00
Tobias Koppers
44882683a9
fix compat for Module.source() method
2020-07-03 09:44:56 +02:00
Tobias Koppers
a468cbbd2e
add provide shared module plugin
2020-05-23 16:08:51 +02:00
Tobias Koppers
020cedf383
remove weird types
...
remove SKIP_OVER_NAME
update tooling for fixed "to not edit" comments
2020-05-12 15:58:43 +02:00
Tobias Koppers
952bc11510
fixes typing in ModuleGraph
2020-05-12 14:34:26 +02:00
Mohsen Azimi
1e0ad4ccd2
Upgrade to TypeScript 3.9
2020-05-12 14:34:24 +02:00
Tobias Koppers
a643278726
refactor exports info logic always represent exports object instead of namespace object
...
improve test case
2020-04-22 21:01:29 +02:00
Tobias Koppers
49a6184e20
add tests to increase code coverage
2020-04-16 22:20:04 +02:00
Mohsen Azimi
7b07a8db66
Upgrade to Prettier 2
2020-03-28 18:20:24 -04:00
evilebottnawi
dafa4cd69a
chore: setup cspell
2020-03-12 19:51:26 +03:00
Nitin Kumar
285529a643
chore: fix typos across the project
2020-03-10 07:29:46 +05:30
evilebottnawi
93dd2b0cfb
chore(deps): update eslint plugins
2020-03-04 12:37:14 +03:00
Tobias Koppers
6477ca56f8
Split options defaulting in normalization and defaults
...
Apply defaults after plugins are applied to allow plugins to feature their own defaults.
This allows to make preset plugins.
2020-02-17 19:12:54 +01:00
Tobias Koppers
522d80f33b
allocate less for empty Sets for runtime requirements and file/context/missingDependencies
2020-01-29 21:46:14 +01:00
Tobias Koppers
dd4d68ac8f
use Symbol to flag skipped export names
2019-12-06 11:13:14 +01:00
Tobias Koppers
782e4535ac
Refactor how exportsType work
...
add flagged exportsType for __esModule flagged
add getExportsType to merge strict with exportsType
move CommonJsStuffPlugin into CommonJsPlugin
split CommonJsPlugin into imports and exports part
enable minimal tree shaking for CommonJs imports and exports
2019-12-06 11:13:08 +01:00
Tobias Koppers
ae261ed4c1
move default object redirect logic into separate meta property
2019-12-06 11:12:26 +01:00
Tobias Koppers
5a01ed8121
rename exportsType named to default
...
exportsType default doesn't include named exports in strict esm
2019-11-20 12:43:53 +01:00
Tobias Koppers
74074a9b18
add deprecationCode argument to getChunk/ModuleGraphForChunk/Module
2019-11-15 10:07:41 +01:00
Tobias Koppers
b90f3e14a1
upgrade webpack-sources
...
make source maps and source names context independent
add enhanced-resolve declarations
add types to Module.build
fix tooling for import order to support import renaming
add support for concatenated modules in eval source maps
2019-11-12 08:59:08 +01:00
Tobias Koppers
5abf55b1af
allocate presentationalDependencies array only when needed
2019-11-10 21:05:28 +01:00
Tobias Koppers
14e901225c
remove return value of ChunkGraph.connectChunkAndModule
2019-11-10 21:05:26 +01:00
Tobias Koppers
61e8b44fb9
allocate Module.factoryMeta only when needed
2019-11-10 21:05:21 +01:00