Commit Graph

227 Commits

Author SHA1 Message Date
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
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 a877cd51d1 add presentational dependencies which are cheaper, but allow only templating 2019-10-30 07:49:20 +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
Ivan Kopeykin 7a3d9e38de Use AbstractMethodError all over the project 2019-10-20 13:24:28 +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 b80174a069 Improve backward-compat for various things
to enable mini-css-extract-plugin
2019-09-26 22:06:54 +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 1977cb1036 move async module flag to ModuleGraph 2019-06-05 11:15:25 +02:00
Tobias Koppers 903084f9aa WIP prototype of top-level-await and async modules based on import await 2019-06-04 23:25:35 +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 0c39719729 avoid zero sized modules as they lead to problems 2019-05-13 12:29:29 +02: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 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 921b295bc9 Create ExportsInfo and move provided exports and mangle info into this new object 2019-01-28 08:38:34 +01:00
Tobias Koppers d40f7b2642 cache contextify and pass associatedObjectForCache to all calls 2019-01-19 12:40:00 +01:00
Tobias Koppers eac069a46b move isProvided into ModuleGraph 2018-12-31 12:51:35 +01:00
Florent Cailhol a42922f663 Move provided exports to the module graph 2018-12-31 12:28:51 +01:00
Florent Cailhol d0a3c9f774 Update TypeScript 2018-12-31 09:19:05 +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 dff9278d6b add Module.getSourceTypes
getSourceTypes declares all source types which can be generated
Remove shouldRender in favor of source type testing
2018-12-05 20:18:57 +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 23b335d902
Merge branch 'next' into types/modules 2018-11-16 14:40:11 +01:00
Florent Cailhol 23bd3d7bd4 Add type guard for NormalModule 2018-11-12 14:26:32 +01:00
Florent Cailhol caefde17ab Remove devtoolLineToLine and lineToLine options 2018-11-12 14:26:31 +01:00
Florent Cailhol 8a10ea3c92 Type 'apply' method of plugins 2018-11-12 14:26:31 +01:00
Florent Cailhol be8c6bbe71 Add types on module files 2018-11-07 14:03:25 +01:00
Tobias Koppers a852828279 add persistent caching prototype 2018-10-17 21:25:39 +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 4eab41bd5f refactor Module.needBuild to be async 2018-09-27 11:20:54 +02:00
Tobias Koppers 162ed5f382 add some missing types for validation 2018-09-18 09:53:27 +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 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 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 3bb5263bfd move methods from Module into ModuleGraph 2018-08-21 11:04:40 +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 3347700225 improve optimization bailout message usefulness 2018-08-09 15:45:30 +02:00
Tobias Koppers 038d056aed add some hints for breaking changes 2018-08-06 21:05:13 +02:00
Tobias Koppers d6cf42e4c2 merge used with usedExports
usedExports = false now means module is not used
2018-08-06 21:05:11 +02:00
Tobias Koppers c4e0a9f72e Move Module.used and Module.usedExports into ModuleGraph 2018-08-06 21:04:01 +02:00
Tobias Koppers 97cc9d7140 Move optimizationBailout into ModuleGraph meta information 2018-08-06 10:42:41 +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 ec1329a7d4 make libIdent required
add types
2018-08-02 16:29:20 +02:00
Tobias Koppers 4ce109f8c1 change arguments of Generator.generate and Module.source into a object to be easier extensible
add JavascriptModulesPlugin.getHooks().shouldRender to decide if a module should be rendered
2018-08-02 16:07:29 +02:00
Tobias Koppers f68c1f7ab6 add additional arguments to updateHash 2018-08-02 16:04:10 +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
Tobias Koppers 22c4756c9e add more types to Module 2018-07-25 12:38:34 +02:00
Tobias Koppers 0052861178 remove unconsistency with Module._source and originalSource 2018-07-25 12:20:35 +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 7036ec488b remove the need to rewrite chunk in reasons 2018-07-23 12:20:47 +02:00
Tobias Koppers 66d3f319a6 Merge tag 'v4.16.2' into next
4.16.2
2018-07-23 12:19:16 +02:00
Tobias Koppers 8614c75f11 run inherit types tool on existing code 2018-07-21 13:50:18 +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 fb2c24bf76 add `splitChunks.maxSize` option
add `splitChunks.fallbackCacheGroup`
add `splitChunks.hidePathInfo`
move `contextify` into utils
add some types
2018-07-04 10:45:02 +02:00
Tobias Koppers 1ad71e01f9 add helpful error when importing wasm in initial chunk 2018-07-02 16:18:49 +02:00
Florent Cailhol 91663f19a2 Remove deprecated APIs 2018-06-27 10:08:12 +02:00
Sean Larkin c3ebef7f25
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-21 11:07:33 +03:00
Mohsen Azimi ce6ac00b0f Merge branch 'master' of git://github.com/webpack/webpack into type-sortable-set 2018-06-09 11:14:31 -07:00
Mohsen Azimi 1d39cce941 Type SortableSet 2018-06-06 08:11:30 -07:00
Tobias Koppers 79a1defd88 fixes #7492 2018-06-06 16:37:23 +02:00
Sean Larkin 1bae93852a
Merge branch 'master' into feature/type-compiler-compilation-save 2018-05-30 19:35:36 -07:00
Florent Cailhol 2a9452e51b Add brackets for multiline if/for statements 2018-05-29 15:45:44 +02:00
Tobias Koppers 3072378892 bugfixes and corrections 2018-05-15 15:04:40 +02:00
Sean Larkin f0ed7b63e8 chore(types): remove dup types, clean up some itesm 2018-05-15 15:04:39 +02:00
Sean Larkin 761d73b4e7 chore(types): add Compiler and Compilation type support 2018-05-15 15:04:38 +02:00
Sean Larkin 6a919ba8dd chore(types): add type support for Template base class 2018-05-03 21:37:34 -07:00
Sean Larkin c7f3c588e3 fix(): fix outstanding typewarnings from typeof in Template 2018-04-30 23:00:22 -05:00
Tobias Koppers 8de3b9bd22 add types to Module 2018-04-12 11:42:40 +02:00
Tobias Koppers 4b6ee7356d
Merge pull request #6894 from webpack/bugfix/css-stuff
fixes for mini-css-extract-plugin
2018-03-29 10:50:38 +02:00
Tobias Koppers 93a5bf567f fixes for mini-css-extract-plugin 2018-03-28 16:19:15 +02:00
Mohsen Azimi 81b93e262f
Initialize useSourceMap in Module 2018-03-27 22:49:10 -07:00