Tobias Koppers
53a1d6c7b5
replace harmonyModule flag with exportsType 3-state
...
exportsType falsy: It's non-harmony module
exportsType "namespace": It's a harmony module, the exports is the namespace object
exportsType "default": It's a harmony module, the exports is the default exports, named exports are properties of the default export
2017-12-22 19:42:41 +01:00
Tobias Koppers
2aac6badd5
move generated runtime code to RuntimeTemplate
2017-12-22 19:41:28 +01:00
Florent Cailhol
9669c9e013
Use Parser#hooks instead of Tapable#plugin
2017-12-21 09:08:10 +01:00
Tobias Koppers
2a1546d355
fix reversed order in OccurenceOrderPlugin
...
try to keep original order
fallback order by name if index order fails
2017-12-20 20:35:16 +01:00
Tobias Koppers
ba00d7495a
fix unnecessary module concatenation
...
allow to display nested modules in stats
2017-12-20 20:35:16 +01:00
Florent Cailhol
31e0c406b7
Bail out concatenation if module uses module.id or module.loaded
2017-12-19 10:08:43 +01:00
Tobias Koppers
27d60f7dd6
Merge pull request #6126 from ooflorent/remove_plugin_calls
...
Remove more plugin calls
2017-12-15 13:42:38 +01:00
Florent Cailhol
08ddad2e10
Replace NormalModuleFactory#plugin() calls
2017-12-14 14:42:49 +01:00
Florent Cailhol
f737b26260
Remove some plugin calls
2017-12-14 14:42:49 +01:00
Tobias Koppers
5cbd6b20dd
allow to set sideEffects from rules
2017-12-14 13:08:57 +01:00
Tobias Koppers
c64fd70ec4
Merge pull request #6123 from webpack/feature/minimize-production
...
Switch on minimizing in production mode by default
2017-12-14 01:01:24 +01:00
Tobias Koppers
2148f556a4
Enable minimizing in production mode
2017-12-14 00:06:56 +01:00
Tobias Koppers
cc63d51f6a
shorter code in concatenated module
2017-12-13 11:17:39 +01:00
Tobias Koppers
c68f224272
move providedExports into buildMeta
2017-12-12 17:01: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
Florent Cailhol
36c690d37f
Use tapable instead of 'plugin'
2017-12-08 14:23:31 +01:00
Tobias Koppers
dae9de6595
Merge branch 'next' into feature/validate-plugin-options
...
# Conflicts:
# lib/SourceMapDevToolPlugin.js
# lib/optimize/AggressiveSplittingPlugin.js
# yarn.lock
2017-11-28 09:59:59 +01:00
Tobias Koppers
aa212a61d0
Merge branch 'master' into next
...
# Conflicts:
# lib/optimize/ConcatenatedModule.js
2017-11-24 22:07:20 +01:00
Tobias Koppers
3e58966e3d
Merge pull request #6016 from webpack/performance/improvements
...
Performance improvements
2017-11-24 21:28:28 +01:00
Tobias Koppers
f1efe03b62
Merge pull request #6014 from webpack/performance/merge-duplicate-chunks
...
use a faster merge duplicate chunks algorithm
2017-11-24 21:28:03 +01:00
Tobias Koppers
5db5512849
faster RemoveParentModule algorithm
2017-11-24 18:14:37 +01:00
Tobias Koppers
46ae001d41
use a faster merge duplicate chunks algorithm
2017-11-24 18:10:48 +01:00
Tobias Koppers
c772e51f2d
Merge branch 'next' into eslint-scope
2017-11-24 07:58:23 +01:00
Tobias Koppers
9c25669e47
Merge pull request #6012 from webpack/feature/mjs-import-non-esm
...
process imports from mjs to non-esm correctly
2017-11-24 07:36:28 +01:00
wtgtybhertgeghgtwtg
fe46ac1356
Switch from `escope` to `eslint-scope`.
2017-11-23 16:47:01 -07:00
Joe Lencioni
37d70bd0c6
Avoid calling hash.update multiple times in ConcatenatedModules
...
@sokra did some profiling and it seems that calling crypto.update
multiple times is slower than calling it once with a large string.
> As explanation I would guess update calls into node.js C++ + OpenSSL
> while concatenating strings is very optimized in JIT.
To take better advantage of this information, I have rewritten this
performance-sensitive code to build up a concatenated string and then
hash it at the end.
Since we are thinking about performance here, I opted for a regular for
loop instead of using the forEach iterator. I also did some basic
benchmarking of string concatenation strategies and discovered that
separating out the addition of the extra space into its own
concatenation line instead of tacking it on to the end of a single
concatenation might just barely have the edge in terms of performance. I
think it is also very readable this way, so it seems like a good
tradeoff to make: a little lost conciseness for speed.
2017-11-23 08:31:16 -08:00
Joe Lencioni
8fdf411b84
Simplify identifier creation in ConcatenatedModules
...
This was implemented in #5997 to fix some memory issues, but I think we
can make this a little more efficient. By using a single forEach instead
of a map, filter, and join, we avoid unnecessary array creations and
iterations.
2017-11-23 07:47:18 -08:00
Tobias Koppers
21cdc84b71
process imports from mjs to non-esm correctly
...
give nice error messages when importing non-esm the wrong way
It also disallows using namespace object from non-esm modules
fixes #5686
2017-11-23 14:10:52 +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
f55547ca6a
Merge branch 'master' into next
...
# Conflicts:
# lib/Compiler.js
2017-11-23 09:14:58 +01:00
Filipe Silva
aef6f19a60
Use shorter identifier for ConcatenatedModules
...
See https://github.com/webpack/webpack/issues/5992#issuecomment-346384896 for rationale.
Fixes #5992
2017-11-22 16:33:36 +00:00
Tobias Koppers
485c1673b0
fix typo: explaination -> explanation
2017-11-21 18:52:35 +01:00
Tobias Koppers
95407047c4
fix DllPlugin flagging
2017-11-21 13:09:32 +01:00
Tobias Koppers
5d78ba9c90
fix incorrect behavior of CommonsChunkPlugin
2017-11-21 12:56:33 +01:00
Tobias Koppers
2ff9b53754
Use StackedSetMap for better performance
2017-11-19 00:50:10 +01:00
Sergey Petushkov
cdd593b847
Rename schemas; Make imports less verbose
2017-11-12 09:48:08 +01:00
Sergey Petushkov
d73ad04c72
Add spaces to plugin names
2017-11-12 09:48:08 +01:00
Sergey Petushkov
1065a6e46c
Refactor plugins to use schema-utils; Remove unused
2017-11-12 09:48:08 +01:00
Sergey Petushkov
744dbe9b95
Add validations to plugins
2017-11-12 09:48:08 +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
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
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
814c894168
Merge branch 'master' into next
...
# Conflicts:
# lib/optimize/CommonsChunkPlugin.js
# test/statsCases/limit-chunk-count-plugin/expected.txt
# test/statsCases/named-chunks-plugin-async/expected.txt
# test/statsCases/optimize-chunks/expected.txt
2017-10-16 10:47:17 +02:00
Tobias Koppers
4960c5ba4e
cleanup CommonsChunkPlugins changes
2017-10-13 10:36:08 +02:00
Tobias Koppers
1bc572a385
rename side-effects to sideEffects
2017-10-12 17:32:41 +02:00