Commit Graph

775 Commits

Author SHA1 Message Date
Tobias Koppers 5abf55b1af allocate presentationalDependencies array only when needed 2019-11-10 21:05:28 +01:00
Tobias Koppers 61e8b44fb9 allocate Module.factoryMeta only when needed 2019-11-10 21:05:21 +01:00
Tobias Koppers ed81ad0fa4 allocate warnings and errors arrays only when needed 2019-11-10 21:05:16 +01:00
Tobias Koppers efe0c2e610 avoid creating arrays in getConnections 2019-11-10 21:05:05 +01:00
Tobias Koppers 9a07012695 fix problem with accessing the default named export of json 2019-11-05 10:39:14 +01:00
Tobias Koppers 84b6817f60 consistency and bugfixes for reexporting json 2019-11-05 10:39:12 +01:00
Tobias Koppers 14ee25cd0a add support for tree-shaking JSON modules 2019-11-05 10:37:59 +01:00
Tobias Koppers 4479b6c660 add comment, optimize code 2019-10-30 09:35:17 +01:00
Tobias Koppers 9010d8bf77 allow to disable connection
fix bug
2019-10-30 09:35:14 +01:00
Tobias Koppers a877cd51d1 add presentational dependencies which are cheaper, but allow only templating 2019-10-30 07:49:20 +01:00
Tobias Koppers 8696017c55 add Dependency.getReferencedExports
remove Dependency.getReference
remove DependencyReference
2019-10-30 07:48:37 +01:00
Tobias Koppers efe3a81325 remove sourceOrder from DependencyReference 2019-10-30 07:48:35 +01:00
Tobias Koppers 8d46b21fad add Dependency.getCondition and conditional ModuleGraphConnections
getDependencyReference is no longer used to check of connection
2019-10-30 07:48:32 +01:00
evilebottnawi 8198ffb3e6 refactor: code 2019-10-22 00:14:05 +02:00
Tobias Koppers b5e8915b14
Merge pull request #9736 from vankop/limit-chunk-count-plugin
fix: Limit chunk count plugin
2019-10-21 09:02:49 +02:00
Tobias Koppers b4d782fb94 remove unused type 2019-10-09 13:54:38 +02:00
Tobias Koppers 3e54494606 remove supportsSymbolsDeconflicting 2019-10-09 11:49:48 +02:00
Tobias Koppers ddc3dae0e6 refactor Module.source() and Module.getRuntimeRequirements() into Module.codeGeneration
add code generation phase to Compilation
add `output.iife` options to remove iife wrapper
add `experiments.outputModule` which enabled `output.module`
add `output.module` which sets defaults to `output.iife: false`, `output.libraryTarget: "module"`, `output.jsonpScriptType: "module"`, `terserOptions.module: true`
add `output.module` example
improve runtime requirements needed by ConcatenatedModule
add entry inlining, which inlines entry module code into runtime scope (only when safe)
make whole bundle strict when all modules are strict
2019-10-08 23:59:48 +02:00
Tobias Koppers 7733d2b1c1 fix infinite loop on circular inner graph references 2019-10-07 10:52:35 +02:00
Tobias Koppers f01e7d253b fix handling of circular references in the inner graph 2019-10-02 07:25:12 +02:00
Tobias Koppers b80174a069 Improve backward-compat for various things
to enable mini-css-extract-plugin
2019-09-26 22:06:54 +02:00
Tobias Koppers f7f408372f Merge tag 'v4.41.0' into next
4.41.0
2019-09-26 21:41:52 +02:00
Ivan Kopeykin 97775bcc0a Fix default parameter in LimitChunkCountPlugin constructor 2019-09-25 17:02:57 +03:00
Tobias Koppers 6f1c685071 Improve performance of LimitChunkCountPlugin a lot 2019-09-24 16:32:20 +02:00
Michael Budde 465922fb5f
nit: Don't recompute filename hash 2019-09-18 08:04:58 +02:00
Tobias Koppers 7bde43f47a Merge tag 'v4.40.0' into next
4.40.0
2019-09-13 11:12:26 +02:00
Tobias Koppers 758269e814 add emit/updateAsset to Compilation
add asset info with
* immutable for long term cache-able asset
* size for the asset size in bytes
* development for devtools
* hotModuleReplacement for HMR assets

show asset info in stats
2019-09-11 14:43:42 +02:00
Tobias Koppers 935830a879 only handle defined variables and imports as pure expressions 2019-09-08 22:29:51 +02:00
Tobias Koppers 786c655751 avoid adding dependencies in pre walk, branch might be skipped 2019-09-08 15:21:00 +02:00
Tobias Koppers ec518945f1 fix edge case in scope analysis
fix double declaration problem in variable declarations
remove TrackingSet
rename StackedSetMap to StackedMap and remove add method
add more scope analysis test
2019-09-05 13:34:16 +02:00
Tobias Koppers 41a6f2af1a fix PureExpressionDependency bug 2019-09-04 09:57:55 +02:00
Tobias Koppers 2e37731988 add analysis for top level symbols, exports and imports
integrates the work of Vincent Chan for GSoC 2018

Co-authored-by: Vincent Chan <cdzos97@gmail.com>
2019-09-03 14:18:40 +02:00
Tobias Koppers 9aba345ae7 fix minor bug in concatenated modules 2019-09-03 14:18:01 +02:00
Tobias Koppers ab169893a1 refactor Parser to allow variable tagging
use variable tagging in harmony pluging (instead of magic renaming)
Parser no longer calls hooks.expression for x in `x = ...`, hooks.pattern is called instead
remove rootName argument from hooks.expressionMemberChain and hooks.callMemberChain
2019-09-03 14:17:46 +02:00
Tobias Koppers e507392094 add output.ecmaVersion options to set emitted code style
fix a bug with prefetching initial chunks
InitFragments have get[End]Content methods which get a sourceContext
RuntimeModules have implicit chunk and compilation
changed default to `output.ecmaVersion: 2015`
2019-08-26 21:32:29 +02:00
Tobias Koppers f68bb833d2 Merge export getters in a module into single statement 2019-08-23 14:07:01 +02:00
Tobias Koppers 1eec744a13 generate more efficient external reference in concatenated modules 2019-08-23 09:26:44 +02:00
Tobias Koppers ddf3566c56 bailed out external ESM in ConcatenatedModule generate property access correctly 2019-08-22 09:58:49 +02:00
Tobias Koppers 24ef835375
Merge pull request #9548 from webpack/refactor-migrate-on-schema-utils
Refactor migrate on schema utils
2019-08-08 13:42:52 +02:00
evilebottnawi 6a99b5316d refactor: migrate on `schema-utils` 2019-08-07 18:10:40 +03:00
Tobias Koppers c21fb4bd58 Add LazySet for file/context/missingDependencies for performance 2019-08-07 16:13:56 +02:00
Tobias Koppers 7d16eb52f6 track callContext in ConcatenatedModule
fixes #9500
2019-07-31 16:05:15 +02:00
Tobias Koppers 302e8d5e2b add time logging for SplitChunksPlugin 2019-07-26 14:03:18 +02:00
Tobias Koppers 1d72a05fed Merge tag 'v4.36.0' into next
4.36.0
2019-07-17 16:02:33 +02:00
Tobias Koppers 50bb510d65 avoiding v8 deopts 2019-07-10 00:29:20 +02:00
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +02:00
Tobias Koppers fbff5f3c75 allow filename as function at more places
fixes #9296
2019-06-18 22:22:09 +02:00
Tobias Koppers 6cd2f367b8
Merge pull request #9302 from webpack/bugfix/issue-9288
fix chunk name reuse in SplitChunks
2019-06-18 16:50:11 +02:00
Ryan Drew 07dc8330d0 update name-too-long comment to length 109 2019-06-18 10:29:09 -04:00
Ryan Drew 6e16e12007 remove update to 100 line length
This commit removes the update to 100 line length. It's bad
practice to introduce a behavior change like that.
2019-06-18 10:04:14 -04:00
Tobias Koppers 568f08203c
Merge pull request #9282 from DanielRuf/fix/remove-duplicate-code-blocks
fix: remove duplicate code blocks in condition and switch-case
2019-06-18 15:28:50 +02:00
Tobias Koppers e9b8b00b4f fix chunk name reuse in SplitChunks
fixes #9288
2019-06-18 15:26:28 +02:00
Ryan Drew 054c933950 introduce name truncation config option for SplitChunksPlugin 2019-06-15 14:20:48 -04:00
Daniel Ruf 0b70bafc57
fix: remove unused check for changed which always evaluates to false 2019-06-15 13:42:22 +02:00
Daniel Ruf bb944d3de6
fix: remove duplicate code blocks in condition and switch-case 2019-06-15 13:31:45 +02:00
Tobias Koppers 0505e177f1 add more types and fix/remove TODOs
change Chunk.files to Set
remove checkContext from IgnorePlugin
remove external flag from ExternalModule
2019-06-14 10:45:56 +02:00
Tobias Koppers 6db94536ad Merge tag 'v4.34.0' into next
4.34.0
2019-06-13 10:51:12 +02:00
Tobias Koppers 01eb9885a5 disable splitChunks.minRemainingSize for multiple selected chunks 2019-06-12 08:58:17 +02:00
Tobias Koppers 2f5bd7a8e3 fix minRemainingSize when multiple chunks are affected
issue: https://github.com/webpack/webpack/issues/8537#issuecomment-499818693
2019-06-11 17:46:36 +02:00
Tobias Koppers fd4b3c503a pretty files 2019-06-09 11:23:42 +02:00
Tobias Koppers 1977cb1036 move async module flag to ModuleGraph 2019-06-05 11:15:25 +02:00
Tobias Koppers 1b685d1de8 change DependencyReference.importedNames to be always an string[][] 2019-05-29 11:55:07 +02:00
Tobias Koppers 43bc7a306e Refactor to track nested exports
Harmony dependencies track access to nested properties
Flag nested exports
2019-05-29 11:55:00 +02:00
Tobias Koppers ad5a6d105b Merge tag 'v4.32.2' into next
4.32.2
2019-05-23 01:19:34 +02:00
Tobias Koppers fec26a9503 fix concatenated version of reexport dependency for sideEffects
fixes #9159
2019-05-22 21:32:52 +02:00
Tobias Koppers abc825d58f Merge tag 'v4.32.0' into next
4.32.0
2019-05-20 14:46:31 +02:00
Tobias Koppers a4bbdae0d2 fix problem with dll and sideEffects
allow to redirect module and id in reexports
SideEffects plugin redirects reexports too
fixes #9146
2019-05-20 11:28:33 +02:00
Tobias Koppers a3f2314a63 replace micromatch with glob-to-regexp for sideEffects flag 2019-05-16 21:54:03 +02:00
Tobias Koppers 92f8c36ca2 add `minRemainingSize` option for splitChunks to ensure leftover chunks from splitting have a minimum size
defaults to `minSize` of cache group
defaults to global option when not specified
global option defaults to zero in development
2019-05-13 13:10:23 +02:00
Tobias Koppers 0c39719729 avoid zero sized modules as they lead to problems 2019-05-13 12:29:29 +02:00
Florent Cailhol b12f24d20c Update hook types 2019-05-10 09:52:22 +02:00
Tobias Koppers b66143f706 Merge tag 'v4.30.0' into next
4.30.0
2019-05-09 21:34:28 +02:00
Adam Postma ff8c37e887 correct spelling mistake, update identifer to identifier 2019-04-12 10:29:41 -06:00
Tobias Koppers 255b3b460d fixes #8908 2019-03-15 12:39:21 +01:00
Matt Mulder 287c2b7ef1 fix null module reference when concatenating entryModule in split chunk 2019-03-15 01:30:36 -07:00
Tobias Koppers 924daa105b Use simpler/faster hash function to get a hash number
Use deterministic mangled names for exports
refactor assignDeterministicIds
rename __webpack_init__ function in wasm to ""
fix bug with incorrectly cached StaticExportsDependency
fix bug in hash logic of Module
2019-02-20 22:41:07 +01:00
Tobias Koppers e2e0983f4c remove splitChunks restriction for custom filenames on non-initial chunks
fix bug, which generated incorrect static url mapping for get chunk filename runtime module
optimize generated code for chunk filename (shorter)
2019-02-19 11:16:53 +01:00
Tobias Koppers 180f912493 Merge tag 'v4.29.2' into next
4.29.2
2019-02-06 15:37:11 +01:00
Tobias Koppers b25ff237bb Prettify source code 2019-02-05 10:08:45 +01:00
Tobias Koppers b6ad10b2c1 bugfixes and HarmonyExportImportedSpecifier optimization 2019-02-01 11:45:24 +01:00
Tobias Koppers 6fc0b96c9c add MangleExportsPlugin and options 2019-01-31 11:41:30 +01:00
Tobias Koppers 739fef4fda move usedExports into ExportsInfo 2019-01-28 08:38:37 +01:00
Tobias Koppers 923e16dd5a remove module argument from getDependencyReference 2019-01-28 08:38:35 +01:00
Tobias Koppers 42007e882a fixes #8666 2019-01-22 09:13:21 +01:00
Tobias Koppers d40f7b2642 cache contextify and pass associatedObjectForCache to all calls 2019-01-19 12:40:00 +01:00
Tobias Koppers ef9e25d8ea report dependencies from resolver to the compilation
refactor NormalModuleFactory
2019-01-08 15:14:25 +01:00
Tobias Koppers a414c616cd used and provided exports are part of module attributes 2018-12-31 12:29:02 +01:00
Tobias Koppers 4eecad3a83 remove unnecessary copy of modules 2018-12-31 12:28:59 +01:00
Florent Cailhol a42922f663 Move provided exports to the module graph 2018-12-31 12:28:51 +01:00
Florent Cailhol b916ff1491 Improve SplitChunksPlugin typings 2018-12-12 10:49:16 +01:00
Florent Cailhol 2a10b12e09 Add maxAsyncSize and maxInitialSize options 2018-12-11 20:47:50 +01:00
Florent Cailhol 5f26040786 Add types to SplitChunksPlugin 2018-12-10 22:09:27 +01:00
Tobias Koppers 5563ee9e58 use makePathsRelative instead of contextify
unify contextify and makePathsRelative
separate NormalModuleFactory ignored, ContextModule and ConcatenatedModule identifier with "|"
2018-12-07 18:12:04 +01:00
Tobias Koppers 350817ea4f make identifier of ConcatenatedModule context-independent 2018-12-07 15:36:49 +01:00
Tobias Koppers fe80339d71 use - instead of ~ as default for better compat
fix automaticNameDelimiter in splitChunks
fix test cases
2018-12-07 14:46:49 +01:00
Tobias Koppers 8281667668 improve ids for Long Term Caching
add deterministic chunk ids and make it default
StatsTestCases no longer need to explicitly use natural ids as the defaults are deterministic now too
add concept of id name hints for chunks
add `idHint` option to splitChunks to provide a hint
deduplicated code from different id plugins to IdHelpers
improve behavior of named ids in case of conflicts
remove `name: true` and `automaticNamePrefix` from splitChunks it's not as good as expected
improve named chunk ids to show root modules
2018-12-07 12:26:35 +01:00
Tobias Koppers 387803bf3d re-add accidentally removed type 2018-12-05 20:23:47 +01:00
Tobias Koppers 30a68b20c7 support different size types in SplitChunksPlugin 2018-12-05 20:23:40 +01:00
Tobias Koppers cc34ea42b0 add type argument to Module.size
add getSize to Generator
2018-12-05 20:18:59 +01:00
Tobias Koppers 0cd0291011 Merge tag 'v4.27.1' into next
4.27.1
2018-12-05 20:17:58 +01:00