Commit Graph

235 Commits

Author SHA1 Message Date
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 4174521f9d remove unnecessary module arguments from module attached errors 2018-10-29 22:18:08 +01:00
Tobias Koppers 6a8e201521 fixup WebpackErrors 2018-10-25 10:52:28 +02:00
Tobias Koppers 83866b0dac use stable sorting for sorting dependencies 2018-10-23 11:32:32 +02: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 554b417546 Modules are responsible for sorting of dependencies 2018-09-27 11:20:42 +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 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 a6e1c0693c add TODOs 2018-08-16 14:10:39 +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
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 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
Tobias Koppers ff7d0f56e7
Merge pull request #7704 from webpack/refactor/dependency-templates
make DependencyTemplates a new class
2018-07-12 19:11:58 +02:00
Tobias Koppers 568601c7fa remove `exec` from loader context
`require-from-string` can be used instead
2018-07-11 17:48:47 +02:00
Tobias Koppers e0abce0dd8 make DependencyTemplates a new class 2018-07-11 13:11:08 +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 deb798d8a7 add TODO comment 2018-06-25 16:42:19 +02:00
Tobias Koppers 41343d1763 add TODO comments 2018-06-25 16:18:21 +02:00
Sean Larkin c3ebef7f25
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-21 11:07:33 +03:00
Tobias Koppers 6a7e79a443 Convert non-Error errors into Errors 2018-06-05 13:41:00 +02:00
Tobias Koppers 1886ee0f3f improve final loader not string/buffer message
add test case
2018-06-05 11:58:10 +02:00
Tobias Koppers 9fbe914078 Merge branch 'master' into feature/module-build-error-with-loader-name
# Conflicts:
#	lib/ModuleBuildError.js
#	lib/ModuleError.js
#	lib/ModuleWarning.js
2018-06-05 10:23:00 +02:00
Ma Cheng e68d83e8c7
Fix Typo 2018-06-02 17:41:35 +08:00
Ma Cheng 957ee2a63e
Merge branch 'master' into feature/module-build-error-with-loader-name 2018-06-02 17:19:16 +08:00
Tobias Koppers 530e1fb172 Add matchResource feature (for loaders)
Match rules with custom resource name
Also use this name as rule.issuer or splitChunks test
Show nicely in stats
2018-06-01 15:37:17 +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
Sean Larkin 761d73b4e7 chore(types): add Compiler and Compilation type support 2018-05-15 15:04:38 +02:00
Tobias Koppers f2ad440de8 More strict linting of jsdocs
Use TODO over any when type is possible
2018-05-08 14:53:33 +02:00
Tobias Koppers 9bc9c75f9d Merge branch 'master' into next
# Conflicts:
#	test/__snapshots__/StatsTestCases.test.js.snap
2018-05-04 12:02:30 +02:00
Tobias Koppers ff950e732b Use hex encoding instead 2018-05-02 18:11:48 +02:00
Tobias Koppers 214801493e improve NormalModule performance
cache source and meta hash
2018-05-02 14:20:30 +02:00
mc-zone 8060ec6a24 Merge branch 'master' into feature/module-build-error-with-loader-name 2018-04-29 16:57:05 +08:00
Tobias Koppers 82a71be1dc Cleanup, refactoring, types 2018-04-27 18:53:07 +02:00
Mohsen Azimi c7429a67fe Fixed all type errors! 2018-04-12 11:42:39 +02:00
Mohsen Azimi 2367a7da3d More comments 2018-04-12 11:42:37 +02:00
Mohsen Azimi 7bc38d4bf4
CR feedback 2018-04-03 21:14:18 -07:00
Mohsen Azimi 10d6067818
Use a Map for dependencyTemplatesHashMap instead of a WeakMap 2018-03-31 19:38:00 -07:00
Tobias Koppers 93a5bf567f fixes for mini-css-extract-plugin 2018-03-28 16:19:15 +02:00
Florent Cailhol 3983803d30 Destructure 'require' to improve readability 2018-03-22 12:05:58 +01:00
mc-zone 9c13d51141 improve message format; prevent destructure crash; improve tests; 2018-03-18 22:56:36 +08:00
mc-zone ce63b53522 remove loader origin name and purify 2018-03-02 17:57:46 +08:00
Josh Soref c9bb7b7707 spelling: successful 2018-02-26 02:48:51 +00:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Florent Cailhol 63b4523a15 Pass 'context' as constructor argument 2018-01-30 21:40:44 +01:00
Tobias Koppers 5c63d3cb43 move source generation into separate module
allow to pass a Generator to NormalModule
change NormalModule constructor to options object

🍆
2018-01-24 11:33:38 +01:00
Tobias Koppers 7a1b357aad
Merge branch 'next' into for_of_loops 2018-01-24 09:01:31 +01:00
Florent Cailhol d4811b0d37 Use for-of loops instead of forEach 2018-01-23 22:53:18 +01:00
Evan Scott 1f29fa9b51 perf: refactor various timestamp caches into ES6 Maps
This change satisfies https://github.com/webpack/webpack/issues/6234
which desires to change the timestamp caches from plain objects to
the ES6 Map type to avoid deopts, since v8 expects things to be
added to Maps but objects are only fast if properties aren't added
dynamically after initial assignment.
2018-01-23 02:30:22 -05:00
Florent Cailhol 7f303e5260 Use Buffer.from instead of new Buffer 2018-01-22 17:23:34 +01:00
Florent Cailhol c0d1994196 Fix Resolver#resolve deprecated call 2017-12-31 18:14:23 +01:00
Tobias Koppers 91e6692362 extract exports from wasm module
mangle used exports
fix esm flag
2017-12-14 13:05:03 +01:00
Tobias Koppers e829a5ed71 Reset dependencies in unbuild
Elsewise they are cleared in disconnect and module removing doesn't work correctly
2017-12-12 17:01:14 +01:00
Tobias Koppers aae32c770b cache buildMeta 2017-12-12 16:58:03 +01:00
Tobias Koppers ffb977fed4 refactor meta -> buildMeta, add factoryMeta
add compat layer to Module.meta
2017-12-12 16:57:50 +01:00
Tobias Koppers 758a388f69 pass runtimeTemplate to DependencyTemplate
move outputOptions and requestShortener into runtimeTemplate
2017-12-11 17:59:32 +01:00
Tobias Koppers 2acd0d410e make `Module.hash` official and use it for caching 2017-12-04 12:23:43 +01:00
Tobias Koppers 7787b4ad13 upgrade tapable for Compilation 2017-11-27 21:14:16 +01:00
Tobias Koppers a0ef93f939 aggregate all crypto hash usages into util/createHash
try to avoid calling hash.update with short strings
2017-11-23 11:09:17 +01:00
Tobias Koppers 5e39ec46ee Allow to override resolve configuration 2017-11-18 08:12:35 +01:00
Tobias Koppers 00f2b5ede7 advanced module type refactoring
added json type
.mjs default to javascript/esm type
adjusted parser plugins to react on module type
2017-11-11 19:27:19 +01:00
Tobias Koppers 41a1d602e1 added WebAssembly Proof of Concept 2017-11-10 09:17:11 +01:00
Tobias Koppers 860da9baaa
Merge branch 'next' into refactor/sets 2017-11-08 21:28:51 +01:00
Tobias Koppers f7c2f8e470 Update code style to arrow functions 2017-11-08 11:56:01 +01:00
Tobias Koppers 88ecff4fb9
getHighestTimestamp is no longer used 2017-11-08 11:29:58 +01:00
Tobias Koppers 447d85ad79 Merge branch 'next' into refactor/sets
# Conflicts:
#	lib/ContextModule.js
#	lib/NormalModule.js
#	lib/optimize/ConcatenatedModule.js
2017-11-08 06:01:24 +01:00
Tobias Koppers 51c572c4f5 refactor more properties to Sets 2017-11-07 09:17:12 +01:00
Tobias Koppers 52bacce0d7 Merge branch 'next' into refactor/cleanup-stuff 2017-11-07 09:15:15 +01:00
Tobias Koppers e39e9c134c fix missing negation 2017-11-06 14:43:35 +01:00
Tobias Koppers 0339d4da49 Refactor weird things
* Declare used properties in constructor
* Module.(re)building moved into Compilation._(re)buildingModules (Map)
* Make NormalModule.error private
* Move Module.cacheable logic into needRebuild
* More stable implemention of rebuildModule
* addModuleChain waits for Module building finished before returning
* Set built and cacheable flags correctly in Modules
* More portableId into WeakMap
* Add ModuleReason for entrypoints
* cacheable can be true/false/null in Stats
* added Stats module issuerPath
* fixes profile in stats output
2017-11-06 13:16:09 +01:00
Tobias Koppers 9e42dd6c4a allow to pass AST directly to webpack 2017-11-03 11:12:45 +01:00
Tobias Koppers a4d63e4051 remove loader context options, add rootContext 2017-09-14 09:19:21 +02:00
Tobias Koppers d1bd5fa2db remove resolveSync 2017-09-14 08:59:09 +02:00
donocode 174fd4e21b Prevent NormalModule contextify from contextifying query parameters
When passing a path as part of a loader query string the contextify
function incorrectly modifies the query string paths, most notably
converting windows separators
2017-08-29 23:50:22 +02:00
Evan Scott a426f93353 refactor: remove some excess array iterators 2017-07-18 03:17:39 -04:00
Tobias Koppers c1a02446ac store hash in depndencyTemplates Map instead of comparing identify
This restores original performance on incremental builds

fixes #5289
fixes #5277
2017-07-14 13:03:30 +02:00
Tobias Koppers 7f8d5b2aa5 Merge branch 'master' into next 2017-06-05 11:07:44 +02:00
Suman 6c2f378fac Adding function support to noParse 2017-06-02 20:28:54 -04:00
Tobias Koppers 9b2a9fa786 Scope Hoisting 2017-05-21 09:15:41 +02:00
J Huang 6afc397b99 perf: use Date.now() instead of new Date().getTime()
new Date().getTime() is 2x slower than Date.now(), see https://jsperf.com/new-date-vs-date-now-vs-performance-now/6
2017-05-04 10:19:54 +08:00
Jarid Margolin 70e48d2c31 Create base WebpackError class with inspect method. 2017-04-03 10:42:53 -04:00
Sergey Melyukov 0cab30c950 added test for NormalModule.originalSource 2017-04-03 10:48:55 +03:00
Sergey Melyukov 9d8d32e1ed added originalSource method to NormalModule (closes #4526) 2017-04-03 10:33:11 +03:00
Tobias Koppers 751fd9bbc4 add stack to non-Error error emitted
add info about emitting an Error

#4518
2017-03-22 13:29:40 +01:00
Tim Sebastian db2626595c fix test and linting 2017-02-16 19:31:58 +11:00