Commit Graph

747 Commits

Author SHA1 Message Date
Tobias Koppers b1eac4ab29 Use computed resolve options in context alternatives
deprecate ContextModuleFactory.hooks.alternatives because we need the options in the hook
2020-07-15 14:13:35 +02:00
Tobias Koppers fd9b399ae9 Create Cache facade to make it easier to use
add missing serializers for classes used in test suite
2020-07-15 11:14:28 +02:00
Tobias Koppers 555db6a547 remove Compilation.modifyHash
refactor HMR Plugin to better support module hashes

fixes bug that causes empty HMR manifest
remove HotModuleReplacementPlugin multiStep
2020-07-09 09:02:38 +02:00
Tobias Koppers 23f922bed3 make bundles with Module Federation more stable 2020-07-02 15:28:17 +02:00
Tobias Koppers 4c1ad1ee7d reduce calls to getter 2020-06-17 23:01:18 +02:00
Ivan Kopeykin 198e51a485 Merge branch 'master' into exports-field
# Conflicts:
#	lib/dependencies/ImportDependency.js
#	lib/sharing/ConsumeSharedPlugin.js
#	lib/sharing/ProvideSharedPlugin.js
#	types.d.ts
2020-06-16 21:16:41 +03:00
Tobias Koppers c00fec3aa7
Merge pull request #10964 from pushkar100/feature/lazy-load-named-exports
Lazy loading only required exports from dynamic import()
2020-06-16 15:04:06 +02:00
Pushkar DK 31e3369a73 Add 'webpackExports' & make only referenced exports available in import() 2020-06-06 00:11:21 +05:30
Ryan Graff 8cebd62722
chore(Compilation EntryData includeDependencies):
Correct a grammatical error in the description.
2020-06-05 00:42:33 -04:00
Tobias Koppers 3df380e2d7 add script external
change defaults of ModuleFederationPlugin to var library and script remoteType
allow using empty entry in config
2020-06-04 03:18:07 +02:00
Ivan Kopeykin 57bd6ed348 Merge branch 'master' into exports-field
# Conflicts:
#	lib/container/OverridablesPlugin.js
2020-06-01 15:14:47 +03:00
Ivan Kopeykin a7b85301a7 add explanation for processDependency method 2020-05-31 00:56:12 +03:00
Ivan Kopeykin 4af609a38c fix resource identifier in Compilation and resolveLoader options 2020-05-28 10:53:28 +03:00
Ivan Kopeykin 0dd9aaf25b fix combining dependencies in Compilation
remove extra layer, use concatenated key instead
2020-05-28 01:23:54 +03:00
Ivan Kopeykin 8c1d64c5fd rework how condition names pass to resolve option 2020-05-27 02:27:52 +03:00
Tobias Koppers e44e51fa5b bugfix some edge cases 2020-05-26 18:08:16 +02:00
Tobias Koppers a468cbbd2e add provide shared module plugin 2020-05-23 16:08:51 +02:00
Tobias Koppers 49752a06a8 cleanup asset processing
deprecate writing to compilation.assets after sealing.
merge all asset processing into single hook with stages.
Deprecate additionalChunkAssets and optimizeChunkAssets.
Redirect additionalAssets, optimizeAssets to processAssets for backward-compat.
Remove finishAssets hook without deprecation as it was not in v4.
2020-05-22 10:39:21 +02:00
Tobias Koppers 15eefadcea
Merge pull request #10838 from webpack/dev-1
Merge Module Federation into webpack 5 beta
2020-05-05 23:57:00 +02:00
Tobias Koppers 93fddc0680 remove logic to finish modules in module graph 2020-05-05 22:12:27 +02:00
Tobias Koppers 24d1ca50b7 generate useful module ids for container-related modules 2020-05-05 21:51:17 +02:00
Tobias Koppers 50ec72a6ca use the full hash on modules that need the full hash of the compilation
use getFullHash runtime module for updating the hash in HMR
2020-04-30 17:57:01 +02:00
Ivan Kopeykin 0549f28e49 fix #10725 2020-04-26 18:40:12 +03:00
evilebottnawi dafa4cd69a chore: setup cspell 2020-03-12 19:51:26 +03:00
Tobias Koppers 39e407e927 normalize entry option and reduce normalization in EntryOptionPlugin 2020-02-26 17:36:06 +01:00
Tobias Koppers f1dd328779 refactor library system 2020-02-26 17:35:52 +01: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 edecce586b handle dependOn at start of buildChunkGraph
handle jsonp chunk loading correctly for child entrypoints
add error message for incorrect dependOn
2020-02-11 09:12:13 +01:00
Sergey Melyukov c31d941899 dependOn feature
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2020-02-11 09:11:00 +01:00
Tobias Koppers fe3c1d83ba cleanup 2020-02-10 13:04:28 +01:00
Sergey Melyukov d6c9953c94 feat: implement entry.filename option 2020-02-07 13:00:25 +03:00
Tobias Koppers 152fa4ce97
Merge pull request #10334 from smelukov/entry-descriptor
Add entrypoint descriptor with `import` property
2020-02-05 09:34:46 +01:00
Tobias Koppers 645263f023 make compiler/compilation.cache read-only, to make it easier to find incompatible plugins
fixes #10341
2020-02-05 08:39:12 +01:00
Tobias Koppers 8d65bd7580 rename Compilation.entryDependencies -> entries
and store dependencies and options
2020-02-04 22:35:20 +01:00
Tobias Koppers 18ae77ef56 addEntry takes options object instead of only name
remove duplication in EntryOptionsPlugin and DynamicEntryPlugin
lazy require (Dynamic)EntryPlugin in EntryOptionsPlugin
2020-02-04 21:21:42 +01:00
Tobias Koppers e96695a18a add more time logging 2020-01-30 16:10:56 +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 d16abb3294 detect cycles during this.loadModule from loader
fix #10152
2019-12-20 12:50:55 +01:00
Tobias Koppers f12b8abcc0 Create error class for cache store errors 2019-12-16 21:06:27 +01:00
Sergey Melyukov 5d18a8e27d persistent cache for concat modules 2019-12-16 21:06:24 +01:00
Emanuele Stoppa e607681277 fix: replaced some TODO with correct types and fixed some runtime issue 2019-11-28 22:48:01 +01:00
Sergey Melyukov a214be41a0 add deprecation codes 2019-11-14 17:03:15 +03:00
Tobias Koppers 90971dc0e6 use SyncHook for afterFinishAssets 2019-11-12 13:24:58 +01:00
Sergey Melyukov f69f386855 fix review 2019-11-12 13:20:56 +01:00
Tobias Koppers ed81ad0fa4 allocate warnings and errors arrays only when needed 2019-11-10 21:05:16 +01:00
Tobias Koppers 3369e34645 omit unneeded process.nextTick 2019-11-10 21:05:09 +01:00
Tobias Koppers c0a79c0257 add missing inTry case 2019-11-10 21:05:02 +01:00
Tobias Koppers b401713633 fix problem with snapshotting managed items
add support for child loggers
add logging for snapshot errors
improve FileSystemInfo logging
improve managed item reading performance
upgrade enhanced-resolve for readdir purge fix
2019-11-05 23:12:02 +01:00
Tobias Koppers 2f2125b4d1 add redirecting support to create correct exports info for exportsType=named 2019-11-05 10:38:02 +01:00
Tobias Koppers 39431ee8a5 add logging for invalid snapshots 2019-11-04 10:45:51 +01:00
Tobias Koppers e8f2a8329d avoid emitting files when they already exits in output filesystem 2019-11-04 09:23:18 +01:00
Tobias Koppers 951792b8eb ModuleGraph can get weak flag from dependency itself 2019-10-30 07:48:43 +01:00
Tobias Koppers 8696017c55 add Dependency.getReferencedExports
remove Dependency.getReference
remove DependencyReference
2019-10-30 07:48:37 +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
Tobias Koppers 180eb8ba16 performance improvement 2019-10-30 07:48:30 +01:00
Tobias Koppers 09d6301712 Move weak flag from DependencyReference to Dependency 2019-10-30 07:48:26 +01:00
Tobias Koppers dc06b66819 hoist comparators 2019-10-28 14:11:04 +01:00
Tobias Koppers 490329517d improved assignDepth performance by iterating ModuleGraph instead of dependencies 2019-10-28 14:11:01 +01:00
Tobias Koppers 65bdb43180 fix badly chosen max fill rate for deterministic
sort modules by identifier in output file, that's better for gzip
2019-10-16 16:38:04 +02:00
Tobias Koppers 3f0920daa4 add additional compat layer for html-webpack-plugin compatibility 2019-10-10 13:48:56 +02:00
Tobias Koppers f08c981388 emit code generation errors in deterministic order 2019-10-09 09:34:12 +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 53f68c9e7b update deprecated usage of chunk and main templates 2019-10-08 23:46:33 +02:00
Tobias Koppers 69a545c444 Deprecate MainTemplate, ChunkTemplate, ModuleTemplate
move logic and hooks to JavascriptModulesPlugin
2019-10-08 23:46:26 +02:00
Tobias Koppers f45ba2408e remove items from runtime when unneeded
remove some hooks from MainTemplate, move some hooks to CompatRuntimeModule
add requireScope RuntimeGlobal
2019-10-08 23:46:23 +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 27a5780704 Merge tag 'v4.40.1' into next
4.40.1
2019-09-13 11:31:09 +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 e41fab0bc3 make multiple assets to the same filename a warning
check source content to when comparing assets for warning
2019-09-13 08:42:36 +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 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 a2caa36b8e add immutablePaths next to managedPaths for paths in the yarn cache
for PnP support
2019-08-20 14:50:07 +02:00
Tobias Koppers e877e0ec91 Modules don't carry buildDependencies, they add them directly to compilation
buildDependencies should not be stored/cached as they are only effective when really build
2019-08-13 18:05:26 +02:00
Tobias Koppers e5cecdad23 store build dependencies snapshot in pack
add snapshot shortcut for package manager managed paths
add cache.managedPaths
2019-08-13 17:02:37 +02:00
Tobias Koppers 856235d76f track and config build dependencies 2019-08-12 23:07:41 +02:00
Tobias Koppers 95702bd1ae avoid extra look for getting dependencies 2019-08-07 16:14:02 +02:00
Tobias Koppers 316319aab8 Optimize setting issue on modules 2019-08-07 16:14:01 +02:00
Tobias Koppers c21fb4bd58 Add LazySet for file/context/missingDependencies for performance 2019-08-07 16:13:56 +02:00
Tobias Koppers 2587a3f125
Merge pull request #9430 from lingxiaoguang/master
the duplicate logic in buildModule callback and afterBuild
2019-07-27 18:41:32 +02:00
Tobias Koppers 2577687eab
Merge pull request #9478 from webpack/performance/chunk-graph-generation
improve chunk graph generation performance
2019-07-26 16:12:06 +02:00
Tobias Koppers 84d241bf89
Merge pull request #9475 from webpack/bugfix/minor
fix two minor bugs in webpack 5
2019-07-26 15:22:35 +02:00
Tobias Koppers a430d5564c move chunk graph building into separate file 2019-07-26 15:05:52 +02:00
Tobias Koppers b7ff3239b5
Merge pull request #9477 from webpack/performance/progress-plugin
improve progress plugin performance and display
2019-07-26 15:03:59 +02:00
Tobias Koppers ec69ed3278 fix stats option processing for objects with prototype chain (webpack-cli) 2019-07-26 14:01:28 +02:00
Tobias Koppers c9f7567f12 add inline cache to processModuleDependencies 2019-07-26 13:59:15 +02:00
Tobias Koppers 1d76d07971 improve progress display for persistent caching 2019-07-26 13:48:45 +02:00
Tobias Koppers 126fb99121 move chunk graph building into separate file
refactor chunk graph generation to include available modules optimization
2019-07-26 07:53:28 +02:00
Tobias Koppers 2e25cd588b Merge remote-tracking branch 'origin/next' into next 2019-07-24 10:52:04 +02:00
Tobias Koppers c17dfde7a8 Merge tag 'v4.37.0' into next
4.37.0
2019-07-24 10:51:04 +02:00
Tobias Koppers 677ccd90ea small fixes 2019-07-23 09:28:06 +02:00
Tobias Koppers 603d4026ed remove incorrect casts, improve error handling 2019-07-23 08:50:57 +02:00
Tobias Koppers 183ddad98e store profiling requests into the Stats too 2019-07-22 08:19:30 +02:00
Yuta Hiroto 8dcda23c36
feat(assetModule): add function type to assetModuleFilename 2019-07-21 23:05:12 +01:00
Tobias Koppers d849160d3f add logging API
Plugins:
Compiler.getInfrastructureLogger(name)
Compilation.getLogger(name)

Loader:
this.getLogger([name])

API equal to console API with these methods:
error, warn, info, log, debug,
time, timeLog, timeEnd,
group, groupCollapsed, groupEnd,
profile, profileEnd,
clear
2019-07-18 17:13:40 +02:00
zhaixuguang3081 d6df3f7a8b remove anothor duplicate logic in addModuleDependencies afterBuild callback 2019-07-18 19:22:08 +08:00
zhaixuguang3081 a27ccb49f8 the duplicate logic in buildModule callback and afterBuild 2019-07-18 13:27:39 +08:00
Tobias Koppers cac462cba8
Merge pull request #8983 from hiroppy/feature/url
add experimental Url support
2019-07-17 23:32:15 +02:00
Tobias Koppers 4fa8addeec Handle auxiliary files separately from normal files 2019-07-17 23:13:08 +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 fb45e38fa4 rename url -> asset
remove experimental in favor of experiments.asset
2019-07-17 11:57:04 +02:00
Yuta Hiroto bdb986b3ab feat(Compilation): register url to moduleTemplates 2019-07-17 11:46:13 +02:00
ikopeykin 27b1e17f5b createHash typescript 2019-07-10 14:06:36 +03:00
Tobias Koppers 50bb510d65 avoiding v8 deopts 2019-07-10 00:29:20 +02:00
Tobias Koppers c94073b31c update enhanced-resolve 2019-07-05 00:45:41 +02:00
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +02:00
Tobias Koppers e4ba79f0b8 add type coverage for ContextModuleOptions and GroupOptions 2019-06-14 11:44:54 +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 fd4b3c503a pretty files 2019-06-09 11:23:42 +02:00
Tobias Koppers d1360a427e revert temporary change 2019-05-10 21:50:13 +02:00
Tobias Koppers 2ffb1a838e add signature for makeWebpackError 2019-05-10 21:37:35 +02:00
Tobias Koppers aa05168971 fixups 2019-05-10 11:06:25 +02:00
Florent Cailhol 1e969d24c1 Add missing types 2019-05-10 10:05:43 +02:00
Florent Cailhol f860c870ac Fix Compiler.hooks.make callbacks 2019-05-10 09:55:59 +02:00
Florent Cailhol 97fa7696fe Add WebpackError casts 2019-05-10 09:55:56 +02:00
Florent Cailhol b12f24d20c Update hook types 2019-05-10 09:52:22 +02:00
Matt Jones ea172ec5fd Convert finishModules hook to be an AsyncSeries 2019-04-02 09:25:36 +11:00
Tobias Koppers 180f912493 Merge tag 'v4.29.2' into next
4.29.2
2019-02-06 15:37:11 +01:00
Tobias Koppers 7de37e87bb fix a bug which creates duplicate runtime modules for entrypoints sharing a runtime chunk 2019-02-02 13:18:57 +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 3f1cab2f5a no need to sort file/context/missingDependencies in Compilation 2019-01-19 12:08:49 +01:00
Tobias Koppers 8300425e1c new version of emitting assets
It allows to free memory of Sources with the trade-off of disallowing reading asset content after emitting
2019-01-18 21:56:53 +01:00
Tobias Koppers aaf85dbd1c add output.futureEmitAssets
add a new version of emitting assets which allows to free memory of Sources with the trade-off of disallowing reading asset content after emitting

It also uses Source.buffer when available.
2019-01-17 13:33:27 +01:00
Steven Hargrove 13581eebe6 correct err logic 2019-01-14 09:52:27 -05:00
Steven Hargrove 82b7428a4c rewrite errors tests, cleanup, update snapshots 2019-01-12 22:35:12 -05:00
Steven Hargrove e6afd236c4 added tests for swallowed loader errors, fixed another swallowed error 2019-01-11 19:14:49 -05:00
Steven Hargrove 21af6191ab report existing errors before async queue stop error 2019-01-11 19:14:49 -05:00
Tobias Koppers e4d1a45c8d Use FileSystemInfo.createSnapshot for NormalModules too 2019-01-09 14:42:57 +01:00
Tobias Koppers 90baf475af Smaller performance improvements in NormalModuleFactory 2019-01-08 15:14:33 +01:00
Tobias Koppers ef9e25d8ea report dependencies from resolver to the compilation
refactor NormalModuleFactory
2019-01-08 15:14:25 +01:00
Tobias Koppers b5db48291b add caching to FlagDependencyExportsPlugin 2018-12-31 12:29:01 +01:00
Tobias Koppers 1374757006 remove ModuleReason
remove HotUpdateChunkTemplate
move compareLocations into comparators
re-enable NodeSourcePlugin for `.mjs`
2018-12-20 16:38:26 +01:00
Tobias Koppers 123b0a64e7 add plugin system for Stats presets, defaults, creation and printing 2018-12-18 22:07:14 +01:00
Florent Cailhol e06b4853d6 Add compiler typings 2018-12-12 10:26:53 +01:00
Tobias Koppers 49f79cb702 add types to new hooks 2018-11-30 12:21:57 +01:00
Tobias Koppers 8066eaf299 put runtime modules into separate place in chunks
don't include them in modules array/object
better stats output for runtime moduels
2018-11-29 16:23:31 +01:00
Tobias Koppers 9d91861592 Refactor HMR for runtime modules
fixed a few HMR bugs
allow other module types for HMR
made HMR more flexible
2018-11-29 16:22:29 +01:00
Tobias Koppers f7f8e0ff0f fixes for SourceMap handling 2018-11-29 16:17:37 +01:00
Tobias Koppers f753f92c28 ensureChunk to RuntimeModule
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Tobias Koppers 3292879380 generate runtime module hash later to allow to include chunk hashes 2018-11-29 16:13:56 +01:00
Tobias Koppers 7c37a6a972 handle runtime requirements 2018-11-29 16:07:17 +01:00
Tobias Koppers 2525c8b7aa move runtime requirements storage into ChunkGraph
use info for function generation
for noParse default to module and exports requirements
2018-11-29 16:06:44 +01:00
Tobias Koppers c1e89c0543 Runtime requirement support in NormalModule, Generators and DependencyTemplate 2018-11-29 16:06:12 +01:00
Tobias Koppers 0232674f9c Initial runtime module work 2018-11-29 16:03:32 +01:00
Tobias Koppers 9410954ed1
change TODO to webpack 6 2018-11-14 13:14:05 +01:00
Tobias Koppers c89c9a7dc5 add backwards-compat hook for normalModuleLoader 2018-11-13 17:55:42 +01:00
Florent Cailhol 3766869c48 Move normalModuleLoader hook 2018-11-12 14:26:32 +01:00
Florent Cailhol 9ffb4e45dc Replace Source#emitted by a WeakSet 2018-11-08 23:26:31 +01:00
Florent Cailhol de41d1fe8b Add missing types on Chunk related classes 2018-11-07 14:10:57 +01:00
Tobias Koppers 8cf1cdb74f Merge tag 'v4.25.0' into next
4.25.0
2018-11-05 10:27:45 +01:00
Tobias Koppers 64e3826067 use flags to show different parts of the progress message
refactor activeModules to Set for performance reasons
2018-11-04 10:33:14 +01:00
Tobias Koppers e7ec244415 do not mutate data 2018-11-01 20:23:10 +01:00
Sergey Melyukov aa8cb0fab7 ProgressPlugin: refactoring 2018-10-29 15:49:31 +03:00
Tobias Koppers c27b46ac8b fix duplicate errors and warnings 2018-10-25 10:52:31 +02:00
Tobias Koppers 071062422e Merge tag 'v4.22.0' into next
4.22.0
2018-10-23 16:41:31 +02:00
Tobias Koppers 94eb554dc0 fix byId sorting 2018-10-23 11:32:39 +02:00
Tobias Koppers 5165a90de8
Merge pull request #8242 from webpack/perf/chunk-graph
Optimize chunk graph algorithm
2018-10-20 06:09:58 +02:00
Tobias Koppers 5e4a6a4f5d fix byId sorting 2018-10-19 13:20:48 +02:00
Tobias Koppers 98b482efd7 make dependency order stable 2018-10-19 12:57:24 +02:00
Tobias Koppers 65d9ffb91e Optimize chunk graph algorithm 2018-10-19 10:37:43 +02:00
Tobias Koppers bbedceaa16 add error class for restore errors 2018-10-17 22:54:07 +02:00
Tobias Koppers a852828279 add persistent caching prototype 2018-10-17 21:25:39 +02:00
Tobias Koppers 518104b3fb Merge tag 'v4.21.0' into next
4.21.0
2018-10-17 20:38:00 +02:00
Tobias Koppers 0e232a926c
Merge pull request #8170 from webpack/refactor/cache2
refactor cache to be more generic and usable for other things
2018-10-17 10:47:06 +02:00
Florent Cailhol d311847a05 Remove Compilation#performance 2018-10-12 17:57:10 +02:00
Tobias Koppers 9b8d26f6e8 refactor cache to be more generic and usable for other things 2018-10-11 10:46:48 +02:00
Michael Loughry 👨‍💻 1d71ede475 Make changes suggested by @sokra to optimize chunk graph generation 2018-10-04 16:10:12 -07:00
Tobias Koppers ae72fe3724 fixes timestamp transfer from watcher 2018-09-27 21:28:07 +02:00
Tobias Koppers 7340fbb547 refactor Cache
add a new hookable Cache class
removed CachePlugin
add MemoryCachePlugin
refactor timestamps
create FileSystemInfo class
2018-09-27 13:20:19 +02:00
Tobias Koppers f31a8c231b add compilerPath (will be later used to access the cache) 2018-09-27 11:21:17 +02:00
Tobias Koppers 46232fab31 make Compilation.addModule async and queued 2018-09-27 11:21:11 +02:00
Tobias Koppers 52634e7a2d remove cacheGroup argument from addModule 2018-09-27 11:21:06 +02:00
Tobias Koppers 4eab41bd5f refactor Module.needBuild to be async 2018-09-27 11:20:54 +02:00
Tobias Koppers 554b417546 Modules are responsible for sorting of dependencies 2018-09-27 11:20:42 +02:00
Tobias Koppers 17044bf9c6 Merge tag 'v4.20.0' into next
4.20.0
2018-09-25 16:20:42 +02:00
Chuck Dumont f8877e0819 Uncaught exception from renderers 2018-09-21 14:42:25 -04:00
Tobias Koppers d48975c948 use types from schema 2018-09-21 11:04:19 +02:00
Tobias Koppers 97ed999aad Merge tag 'v4.19.0' into next
4.19.0

* Separate context for renderBoostrap and hooks
* Remove ModuleTemplate from MainTemplate.bootstrap hook
2018-09-15 13:10:58 +02:00
Tobias Koppers 13b2cdd5ae hash content of bootstrap code
instead of trying to calculate it
from inputs

fixes #8027
fixes #7984
2018-09-13 23:25:26 +02:00
Tobias Koppers 5b4cbb5ee0 add queues to Compilation
remove Semaphore and use AsyncQueue instead
deprecate Module.needRebuild, add Module.needBuild
remove Module.unbuild
add Module.invalidateBuild
2018-09-12 13:17:03 +02:00
Tobias Koppers d48a331642 Split Compilation process in multiple methods 2018-09-12 13:17:02 +02:00
Tobias Koppers b098789625 remove recursive flag 2018-09-12 13:17:00 +02:00
Tobias Koppers 3c244d9fc9 Optimize error origin handling and module trace
Improve warnings and errors sorting
2018-09-12 13:16:59 +02:00
Tobias Koppers 7a43a27eda make Compilation.chunks a Set 2018-09-06 17:04:01 +02:00
Tobias Koppers 6ca7ae1c48 make Compilation.modules a Set 2018-09-06 17:03:24 +02:00
Tobias Koppers b4860ccebb refactor chunk id plugins 2018-09-05 14:28:52 +02:00
Tobias Koppers 4a7a85ca84 rename index/index2 to pre/postOrderIndex 2018-09-04 09:27:25 +02:00
Tobias Koppers 4d7b5b3b5e Refactor module id plugins to be independent 2018-09-03 20:45:44 +02:00
Florent Cailhol 8fda6a562e Add NaturalModuleIdsPlugin 2018-09-03 20:12:55 +02:00
Tobias Koppers bad9d8a271 move Module.id into ChunkGraph
remove disconnect and unseal from Module
2018-08-28 15:08:52 +02:00
Tobias Koppers 02b15a1b46 pass chunkGraph to updateHash instead of moduleGraph
pass chunkGraph to compareModulesById instead of moduleGraph
pass chunkGraph to methods of RuntimeTemplate
use comparators from module at some places
2018-08-28 12:06:53 +02:00
Tobias Koppers 239ce7fcd9 Use ChunkGraph instead of Compilation in updateHash 2018-08-24 12:02:42 +02:00
Tobias Koppers 670502fc81 Move AsyncDependenciesBlock.chunkGroup into ChunkGraph 2018-08-22 20:17:49 +02:00
Tobias Koppers 3aa2280498 move Module.hash and .renderedHash into ChunkGraph 2018-08-22 19:24:54 +02:00
Tobias Koppers eb63cf80d6 move built flag into Compilation 2018-08-22 15:33:16 +02:00
Tobias Koppers e0f84652c0 remove Module.prefetched
remove prefeteched from Stats
make Compilation.addModuleChain public and remove onModule argument
remove Compilation.prefetch
2018-08-22 15:19:05 +02:00
Tobias Koppers b20556c1ff move profile to ModuleGraph 2018-08-22 14:54:28 +02:00
Tobias Koppers 26022c86a0 move Module.depth into ModuleGraph
nested modules no longer have depth and stay unsorted in stats
2018-08-22 12:45:11 +02:00
Tobias Koppers 5a78e96dc9 add backward-compat layer for ModuleGraph and ChunkGraph 2018-08-21 16:17:02 +02:00
Tobias Koppers 42167db4af move Module.index and index2 into ModuleGraph 2018-08-21 16:16:51 +02:00
Tobias Koppers 4dfe88edb0 add moduleGraph argument to comparators 2018-08-21 11:08:07 +02:00
Tobias Koppers 3bb5263bfd move methods from Module into ModuleGraph 2018-08-21 11:04:40 +02:00
Florent Cailhol 7b02084bc5 Replace Basic and Advanced optimzation hooks by stages 2018-08-16 14:10:51 +02:00
Tobias Koppers 6d5310fbd6 allow multiple entryModules per chunk
allow to specify ChunkGroup to depend on
move entry modules into ChunkGraph
2018-08-15 11:51:16 +02:00
Tobias Koppers 3cf01999b5 add ChunkGraph
move chunk modules and module chunks into the ChunkGraph
remove outdated unit tests
2018-08-14 15:32:13 +02:00
Tobias Koppers d35e42a14d move Module.issuer into Module.getIssuer(moduleGraph) 2018-08-09 16:44:28 +02:00
Tobias Koppers 3618cc1b3c remove originModule from Dependencies and add parent module to ModuleGraph 2018-08-07 14:20:53 +02:00
Tobias Koppers 565b569b68 Merge tag 'v4.16.5' into next
4.16.5
2018-08-06 09:20:57 +02:00
Tobias Koppers 17ebfb9784 fix #7829
webpack-hot-client seem to call `addEntry` multiple
which causes two Entrypoints with the same name
This lead the bad side effects
i. e. optimization.runtimeChunk no longer works correctly

Now adding an entry with the same name replaces the existing entry
2018-08-03 11:09:26 +02:00
Tobias Koppers 381e2db200 replace Module.reasons and Dependency.module with ModuleGraph 2018-08-02 17:54:44 +02:00
Tobias Koppers 11e127d162 pass moduleGraph along with multiple methods 2018-08-02 17:54:42 +02:00
Tobias Koppers f89b599197 add types to Stats
move recorded property into a WeakMap
remove non-existing property
2018-08-02 16:07:29 +02:00
Tobias Koppers f68c1f7ab6 add additional arguments to updateHash 2018-08-02 16:04:10 +02:00
Tobias Koppers df204b8e35 add module graph 2018-08-02 16:04:09 +02:00
Tobias Koppers 8ffcd9161e
Merge pull request #7781 from webpack/refactor/dep_vars
Refactor dependency variables
2018-07-31 09:08:48 +02:00
Tobias Koppers 2e82dbb63c
Merge pull request #7813 from webpack/refactor/freeze_hooks
Freeze hooks to prevent deopts
2018-07-30 22:47:13 +02:00
Florent Cailhol 71016b1433 Remove DependencyBlockVariable 2018-07-30 22:38:13 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol fc4f30329d Freeze hooks to prevent deopts 2018-07-30 14:25:40 +02:00
Tobias Koppers 138687730a only assign module ids for modules in chunks
handle weak dependencies without id correctly
2018-07-27 13:16:54 +02:00
Tobias Koppers 3771daba6a Merge tag 'v4.16.3' into next
4.16.3
2018-07-27 12:21:04 +02:00
Tobias Koppers aac43687fd fix case where empty chunkgroups cause nested chunkgroups to vanish 2018-07-27 10:56:01 +02:00
Florent Cailhol 29c99b1787 Convert GraphHelpers 2018-07-26 22:43:20 +02:00
Tobias Koppers bc10939096 add types for Module and subclasses
better way to handle "optional" methods
2018-07-25 12:12:17 +02:00
Tobias Koppers fcf3f63f0e add DependencyTemplate base class and inherit types from this
fix a few typing issues
2018-07-23 20:11:59 +02:00
Tobias Koppers 86ff1a4642 Merge tag 'v4.16.1' into next
4.16.1
2018-07-16 10:30:31 +02:00
Tobias Koppers 1a16a79480 Merge remote-tracking branch 'origin/master' into enable-noImplicitThis 2018-07-16 10:18:25 +02:00
Tobias Koppers 3f13ed765f
Merge pull request #7706 from webpack/remove/format-location
update formatLocation to only accept location objects
2018-07-15 20:27:11 +02:00
Florent Cailhol 7195bae9b4 Update ESLint and Prettier 2018-07-14 22:52:42 +02:00
Tobias Koppers b0518552e5
Merge pull request #7707 from webpack/remove/deprecated
remove deprecated stuff
2018-07-13 21:36:19 +02:00
Tobias Koppers a672e8f2f9 remove deprecated extracted hooks 2018-07-13 17:30:26 +02:00
Tobias Koppers dbfea49e6f fix case where non-object is passed to addOrigin
add typings to ensure that this doesn't happen again
2018-07-13 17:27:31 +02:00
Tobias Koppers ef40df2d1f fix usage of DependencyTemplates and types 2018-07-12 17:12:00 +02:00
Tobias Koppers e0abce0dd8 make DependencyTemplates a new class 2018-07-11 13:11:08 +02:00
Tobias Koppers 2b14ddc984 Merge tag 'v4.16.0' into next
4.16.0
2018-07-11 11:13:47 +02:00
Tobias Koppers 569c415623
Merge branch 'master' into enable-noImplicitThis 2018-07-11 08:43:26 +02:00
Tobias Koppers 8876514cdb replace deprecated method 2018-07-10 16:03:13 +02:00
Tobias Koppers 9f0056b10d
Merge pull request #7686 from webpack/feature/module-chunk-ids-option
add new options moduleIds and chunkIds
2018-07-10 10:19:03 +02:00
ferhat elmas 271b77d45f all: typo fixes 2018-07-09 22:54:35 +02:00
Tobias Koppers 3fc4eb752f add new options moduleIds and chunkIds
deprecate namedModules, hashedModuleIds, namedChunks
add a lot of TODOs for webpack 5
split OccurenceOrderPlugin into separate plugins for modules and chunks
add NaturalChunkOrderPlugin and enable it in development
2018-07-09 15:06:19 +02:00
Florent Cailhol 4984ed17a2 Remove Dependency#getReference existance check 2018-07-06 13:43:36 +02:00
Mohsen Azimi a0e1ad920e Enable noImplicitThis TypeScript compiler option 2018-07-05 08:07:46 +03:00
Tobias Koppers 0a06f19fd8 Merge tag 'v4.15.0' into next
4.15.0
2018-07-04 22:19:50 +02:00
Tobias Koppers bd2e3448ec Merge tag 'v4.14.0' into next
4.14.0
2018-07-04 22:10:53 +02:00
Tobias Koppers f0ae54d478 Merge tag 'v4.13.0' into next
4.13.0
2018-07-04 22:08:31 +02:00
Mohsen Azimi b01f378a08 Fix @template syntax error in Compilation.js iterationOfArrayCallback 2018-07-03 16:57:16 -07:00
Tobias Koppers 1ad71e01f9 add helpful error when importing wasm in initial chunk 2018-07-02 16:18:49 +02:00
Tobias Koppers c3eecbd7b8
spacing 2018-07-02 08:29:22 +02:00