Commit Graph

542 Commits

Author SHA1 Message Date
Nathan Shively-Sanders 362514c10b fix 4.0 build errors 2020-05-12 14:37:09 +02:00
Mohsen Azimi 042b4ee7d4 Use @ts-expext-error 2020-05-12 14:34:29 +02:00
Tobias Koppers 6b13cafa20 dedupe remote overrides
fix transitive overriding
fix missing overriables for empty overridables
2020-05-04 15:01:50 +02:00
Tobias Koppers a92189e26d fix persistent caching for container modules 2020-04-29 13:08:34 +02:00
Tobias Koppers 004a24760a make ContainerEntryModule serializable 2020-04-29 12:45:54 +02:00
Tobias Koppers a432c3ff18 Merge branch 'master' into dev-1 2020-04-29 12:39:07 +02:00
Tobias Koppers b9c50fdb09 fix jsdoc documentations 2020-04-28 19:42:58 +02:00
Tobias Koppers 5887c20ab0 Merge tag 'v5.0.0-beta.15' into dev-1
5.0.0-beta.15
2020-04-22 07:37:49 +02:00
Tobias Koppers 3f9e6d5ec6 move tooling into separate repo, add type generation and test types 2020-04-21 09:25:38 +02:00
Tobias Koppers 618960469d ignore DebugHash class 2020-04-17 10:53:30 +02:00
Tobias Koppers e80bcac1b5 ignore coverage for toStringTag 2020-04-17 09:42:09 +02:00
Tobias Koppers 49a6184e20 add tests to increase code coverage 2020-04-16 22:20:04 +02:00
Tobias Koppers d5c31ab864 Merge branch 'master' into dev-1 2020-04-14 12:48:38 +02:00
Ivan Kopeykin 2d451a57b2 feat: new dependency __webpack_is_included__ 2020-04-12 03:04:41 +03:00
Mohsen Azimi 7b07a8db66 Upgrade to Prettier 2 2020-03-28 18:20:24 -04:00
Tobias Koppers 575d6aa4f0 Merge branch 'master' into dev-1 2020-03-20 09:58:13 +01:00
evilebottnawi b16a345e9f chore: setup cspell 2020-03-13 12:28:55 +03:00
evilebottnawi 02844747a7 chore: setup cspell 2020-03-13 12:27:45 +03:00
evilebottnawi dafa4cd69a chore: setup cspell 2020-03-12 19:51:26 +03:00
Tobias Koppers d102340a3d cleanup open things 2020-02-26 23:53:44 +01:00
Marais Rossouw 905f2475ff feat: Adds ContainerPlugin
Co-authored-by: Zack Jackson <zackary.l.jackson@gmail.com>
2020-02-26 17:47:15 +01:00
Tobias Koppers 83b7faa67c get rid of hack for remote override module 2020-02-26 17:16:01 +01:00
Tobias Koppers 8792aa0830 add ContainerReferencePlugin 2020-02-26 16:42:24 +01:00
Tobias Koppers 1c630f1435 add OverridablesPlugin 2020-02-24 15:15:23 +01:00
Tobias Koppers cb543a444c seralization class for resolver cache 2020-01-28 11:35:29 +01:00
Tobias Koppers 712f2bbda1 shorter LazySet serialization 2020-01-28 11:35:21 +01:00
Tobias Koppers b40a345451 refactor Persistent Cache
cache is split into multiple .pack files which represent usage of cache items
this allows to only read/deserialize files that are needed
and reduces the need to rewrite .pack files
while still packaging multiple cache items together

lazy (de)serialization system has changed to allow writeLazy and writeSeparate
2020-01-28 11:35:06 +01:00
Tobias Koppers c80bae2959 faster cache access of contextify 2020-01-15 11:20:22 +01:00
Sergey Melyukov 5d18a8e27d persistent cache for concat modules 2019-12-16 21:06:24 +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 accd66c3ba
Merge pull request #9971 from smelukov/deprecation-codes
Add deprecation codes
2019-11-15 12:04:47 +01:00
Tobias Koppers e9f8e63593 Make RestoreProvidedData a custom class for visibility in profiles 2019-11-14 20:58:05 +01:00
Sergey Melyukov a214be41a0 add deprecation codes 2019-11-14 17:03:15 +03:00
Tobias Koppers 137363c5de more space-efficient ReplaceSource serialization 2019-11-13 12:19:00 +01:00
Tobias Koppers 8aafff6600 Cut off long calback chains in the queue 2019-11-12 12:21:47 +01:00
Tobias Koppers 2d302db632 use setImmediate to start queue processing after I/O 2019-11-12 11:49:51 +01:00
Tobias Koppers d7b9127e59 upgrade webpack-sources
use public methods for serialization
2019-11-12 09:40:23 +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 14ee25cd0a add support for tree-shaking JSON modules 2019-11-05 10:37:59 +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 4cc4b4010e make LazySet serializable 2019-11-01 12:21:15 +01:00
Tobias Koppers 6b352c244a make RequireIncludeDeprecationWarning serialize-able 2019-10-30 07:49:24 +01:00
Tobias Koppers 41d23461b8 flatten LazySet before merging to find duplicate inner Sets 2019-10-28 14:10:55 +01:00
Tobias Koppers a1cfefe821 fix typescript regression 2019-10-22 11:04:48 +02:00
Tobias Koppers 6b9ec2adfa
Merge pull request #9801 from webpack/compat/avoid-dynamic-require
avoid a dynamic require in lib/util/serialization
2019-10-11 12:12:59 +02:00
Tobias Koppers 686725a6c3 avoid a dynamic require in lib/util/serialization
this allows ncc to upgrade
2019-10-11 10:01:08 +02:00
evilebottnawi 8764f14794 feat: improve DX with `output.ecmaVersion` option 2019-10-11 00:43:27 +03:00
Tobias Koppers 69a545c444 Deprecate MainTemplate, ChunkTemplate, ModuleTemplate
move logic and hooks to JavascriptModulesPlugin
2019-10-08 23:46:26 +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
Tobias Koppers 6f1c685071 Improve performance of LimitChunkCountPlugin a lot 2019-09-24 16:32:20 +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 d3cf3928f5 Persistent Caching fixes
improve error handling in pack file cache strategy
support context timestamp snapshot
make ContextModule serializable
fix snapshotting bug of managed paths
use managed and immutable path info for context hashes and timestamps
enabled managedPaths for node_modules during cache tests
2019-09-04 16:33:54 +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 2fc72052c4 Remove hashing from ClassSerializer as buildDeps take care of this now 2019-08-13 17:02:52 +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 ada11a286d avoid memory leak in LazySet 2019-08-12 23:07:45 +02:00
Tobias Koppers f236df1bc9 replace logging in persistent caching with infrastructure logger
remove cache.loglevel
2019-08-12 13:41:23 +02:00
Tobias Koppers c21fb4bd58 Add LazySet for file/context/missingDependencies for performance 2019-08-07 16:13:56 +02:00
Tobias Koppers ab8f0b9191 Use Set prototype for better deprecation performance 2019-07-26 13:46:24 +02:00
Tobias Koppers 8fc13d829c cache hash digest for short data 2019-07-25 07:41:23 +02:00
Tobias Koppers e2b1ab3258 adding some random types 2019-07-18 14:15:20 +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 b3ec775453 improve merging of resolve and parsing options
by rules and via loader API

Arrays overwrite by default, but can reference old value with "..."
2019-07-17 13:08:51 +02:00
ikopeykin bd7d95bfc1 #9391 resolve discussions, AbstractMethodError 2019-07-15 16:54:49 +03:00
ikopeykin a223ffdcc0 fix typescript for HashContructor 2019-07-10 14:16:09 +03:00
ikopeykin 27b1e17f5b createHash typescript 2019-07-10 14:06:36 +03:00
ikopeykin a1aa5cbdce enforce eslint check-tag-names to avoid using jsdoc tags that are not supported in Typescript 2019-07-10 00:38:18 +03:00
ikopeykin 30e747a55d enforce eslint require-hyphen-before-param-description 2019-07-09 23:15:14 +03:00
Tobias Koppers b2e7837288 replace Object.assign with object spread 2019-06-19 13:16:05 +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 e9c0d068dd refactor filesystem interfaces
add Compiler.intermediateFileSystem
avoid using `path` and `fs` module when possible
move `join`, `mkdirp` and `dirname` into utils
join and dirname is optional in FileSystem interface
remove mkdirp from Filesystem interface
2019-06-11 17:32:58 +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 c5f94f3b6a don't emit and load JS files for chunks without JS modules
allow custom module types in rules
allow configCases to access stats
2019-05-22 13:12:15 +02:00
Tobias Koppers f03c4f127a improve merging of resolve and parsing options
by rules and via loader API

Objects are deeply merged
Arrays overwrite by default, but can reference old value with "..."

fixes #8968
2019-05-13 15:30:10 +02:00
Florent Cailhol 84f9842d54 Add missing types 2019-05-10 09:56:01 +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 b25ff237bb Prettify source code 2019-02-05 10:08:45 +01:00
Tobias Koppers e9c6539645 change Serializer API to be not file serialization specific 2019-01-24 17:42:38 +01:00
Tobias Koppers 3a1eefec0a Measure size of objects to decide about inline or lazy storing 2019-01-24 15:14:41 +01:00
Tobias Koppers d40f7b2642 cache contextify and pass associatedObjectForCache to all calls 2019-01-19 12:40:00 +01:00
Tobias Koppers 00065741d2 log a warning when serialization fails 2019-01-19 11:47:19 +01:00
Tobias Koppers c5ad6df793 add own webpack-sources typings 2019-01-18 21:56:56 +01:00
Tobias Koppers 0bc0f05fc7 use updated webpack-sources, use new buffer method 2019-01-18 20:46:31 +01:00
Tobias Koppers 61a096049d add process.nextTick to avoid long recursion in callbacks 2019-01-10 16:41:30 +01:00
Mihail Bodrov fa5bc5bc1f Use limit for array split 2019-01-09 23:35:18 +03:00
Tobias Koppers 526bc7a788 removed queue entry from AsyncQueue on invalidate 2019-01-08 15:14:31 +01:00
Tobias Koppers 4bdf08df7b AsyncQueue._queued to array, remove nextTick 2019-01-08 15:14:29 +01:00
Tobias Koppers 1053620f46 merge Maps and Sets into single Map with all info 2019-01-08 15:14:27 +01:00
Florent Cailhol 80f67573a1 Expose API types 2018-12-28 14:48:18 +01:00
Florent Cailhol f05af4a4a7 Use serialization API instead of ObjectMiddleware 2018-12-28 13:54:10 +01:00
Florent Cailhol e06a808763 Expose the serialization API 2018-12-28 13:21:19 +01:00
Tobias Koppers 2143bd6519 Reduce number of allocations
Hoist RegExp
Avoid creating array object
Avoid join
Fast case for request without query
improve test cases
fixes a bug where query was omitted with multiple query separators
2018-12-26 11:13:44 +01:00
Mihail Bodrov 972d9bf8cb Optimize absoluteToRequest 2018-12-23 15:30:28 +03:00
Tobias Koppers d9238f061d memorize lazy data on access
remove need for read on write
add queue for file accesses in FileMiddleware to support concurrent access
2018-12-21 12:05:29 +01:00
Tobias Koppers 2ae5268bfa
Merge pull request #8525 from webpack/cleanup/remove-compare
cleanup work on next
2018-12-20 20:23:52 +01:00
Tobias Koppers e36dec26d1 cache crypto require in createHash 2018-12-20 17:32:55 +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 aedc34b76d load internal serializers internally
allows to bundle webpack
2018-12-20 11:04:31 +01:00
Florent Cailhol e06b4853d6 Add compiler typings 2018-12-12 10:26:53 +01:00
Tobias Koppers d71fdf0a29 don't split identifier at space, as space could to part of paths 2018-12-08 09:29:21 +01:00
Tobias Koppers 4c965bfbab simplify regex 2018-12-08 09:21:35 +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 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 bc667a50b1 algorithm improvements 2018-12-06 21:00:57 +01:00
Tobias Koppers e5e0f44e29 add algorithm to extract graph roots
show only graph roots in chunks by default
2018-12-06 20:57:04 +01:00
Tobias Koppers 30a68b20c7 support different size types in SplitChunksPlugin 2018-12-05 20:23:40 +01:00
Tobias Koppers 5fb6c5ea18
Merge pull request #8418 from webpack/types/misc
Preliminary work before typing the parsers
2018-11-29 15:48:56 +01:00
Tobias Koppers fa87116ea1 Merge tag 'v4.26.1' into next
4.26.1
2018-11-29 14:51:27 +01:00
Florent Cailhol cc739eb83a Minor optimizations 2018-11-26 16:26:18 +01:00
Florent Cailhol 57ca3f5fa3 Type internal data structures 2018-11-25 21:12:28 +01:00
Tobias Koppers cbeaf70dfd prevent groups with size < minSize
fixes #8407
2018-11-25 11:41:30 +01:00
Tobias Koppers 32961f2aac while grouping nodes include at least one node on each side
fixes #8407
2018-11-24 08:01:59 +01:00
Tobias Koppers e1c77f64e8
Merge pull request #8231 from webpack/ci-node-nightly-next
Some minor fixes and comments
2018-11-05 09:16:29 +01:00
Florent Cailhol c747449c65 Simplify objectToMap by using Object.entries 2018-11-02 11:22:18 +01:00
Tobias Koppers e3c63b4424 improve debug hash with stack trace 2018-11-01 20:21:33 +01:00
Tobias Koppers 767b15f3b9 add comment 2018-11-01 20:21:33 +01:00
Tobias Koppers 590772b934 add packed store mode 2018-10-30 09:54:40 +01:00
Tobias Koppers e9db83c6c7 add serializer for acorn Position 2018-10-29 22:16:40 +01:00
Tobias Koppers 1e29c44df3 move natural chunk comparator to comparators
add name order to natural chunk order
2018-10-23 11:32:34 +02:00
Tobias Koppers 4b69df1117 allow to make classes not-serializable
make ContextModule not-serializable because it's not needed
2018-10-18 15:52:22 +02:00
Tobias Koppers 4947a5ac71 allow all Sources to be serialized
serialize internal structure of CachedSource
2018-10-18 12:44:27 +02:00
Michael Ciniawsky 0ebf871e25 feat(registerExternalSerializer): add SourceMapSource support 2018-10-17 21:25:41 +02:00
Tobias Koppers a852828279 add persistent caching prototype 2018-10-17 21:25:39 +02:00
Tobias Koppers 5f1a30d2ef fixup: AsyncQueue 2018-09-27 13:20:23 +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 46232fab31 make Compilation.addModule async and queued 2018-09-27 11:21:11 +02:00
Tobias Koppers 6dc4b5c876
Merge pull request #8017 from webpack/refactor/compilation
Refactor compilation
2018-09-12 14:57:31 +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 3c244d9fc9 Optimize error origin handling and module trace
Improve warnings and errors sorting
2018-09-12 13:16:59 +02:00
Tobias Koppers 9522ad72b3 make deprecations less noisy 2018-09-12 13:13:55 +02:00
Tobias Koppers 7a43a27eda make Compilation.chunks a Set 2018-09-06 17:04:01 +02:00
Tobias Koppers 4a959b8b83 improve SetHelpers typings 2018-09-06 17:02:20 +02:00
Tobias Koppers f47febd045 add deprecation helpers 2018-09-06 17:02:19 +02:00
Tobias Koppers 0eafdffd0e Stabilize stats item order 2018-09-06 16:05:26 +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
Tobias Koppers 604460da52 move iterable compare code to comparators 2018-08-28 15:10:30 +02:00
Tobias Koppers b669bec324 add caching to higher-order comparators 2018-08-28 15:09:09 +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 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 c21d59f783 Merge tag 'v4.17.0' into next
4.17.0
2018-08-21 11:02:16 +02:00
Mihail Bodrov 1f954b4f12 Get rid typeof undef in all lib 2018-08-21 03:26:50 +03: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 c4e0a9f72e Move Module.used and Module.usedExports into ModuleGraph 2018-08-06 21:04:01 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +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 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
ferhat elmas 271b77d45f all: typo fixes 2018-07-09 22:54:35 +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 f0ae54d478 Merge tag 'v4.13.0' into next
4.13.0
2018-07-04 22:08:31 +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
Sean Larkin 2d1cd74d37
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-29 11:53:40 -07:00
Tobias Koppers b06cca2371
Merge pull request #7626 from webpack/format/arrow-functions
arrow functions, remove or improve eslint-disable comments
2018-06-29 20:41:54 +02:00
Tobias Koppers d0c89618f3
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-27 14:58:10 +02:00
Tobias Koppers ad8f496745 arrow functions, remove or improve eslint-disable comments 2018-06-27 13:48:13 +02:00
Florent Cailhol 91663f19a2 Remove deprecated APIs 2018-06-27 10:08:12 +02:00
Tobias Koppers 0f587763e1 add per chunk index and index2
refactor index generation
2018-06-26 18:26:47 +02:00
Tobias Koppers ee5574dc16 allow iterable for SortableSet 2018-06-25 16:37:20 +02:00
Tobias Koppers 5b4547e0ac cleanup Hash types 2018-06-25 10:44:54 +02:00
Sean Larkin c3ebef7f25
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-21 11:07:33 +03:00
Tobias Koppers 7c5cab0b0f remove eslint disable comment 2018-06-20 12:12:35 +02:00
Mohsen Azimi 04d2af0825 Sean comments (even more code questions?) 2018-06-19 15:48:00 -07:00
Mohsen Azimi 5c43271397 remove all ts syntax 2018-06-19 15:35:58 -07:00
Mohsen Azimi 4859c926ad CR comments - remove TS syntax (one last type error) 2018-06-19 15:32:15 -07:00
Mohsen Azimi 1d39cce941 Type SortableSet 2018-06-06 08:11:30 -07: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 2f3e7d4bd7
Merge pull request #7331 from dev-drprasad/add-jsdoc-annotations-cached-merge
📝 Add JSDoc annotations for cached merge util function
2018-05-25 12:00:17 +02:00
Tobias Koppers 342c3c6fec Merge branch 'master' into feature/type-compiler-compilation-save
# Conflicts:
#	yarn.lock
2018-05-24 18:56:04 +02:00
Jonathan del Strother 6bf9479af2 Don't record absolute paths for regexps used in dynamic requires
This avoids records like:

"src/dependencies sync ../../../../^/.//.*$": "./src/dependencies sync recursive ^\\.\\/.*$"

with the number of "../"s varying according to the depth of the folder you're building from.

Fixes #7339
2018-05-21 09:49:35 +01:00
REDDY PRASAD 10c850de65 📝 Add annotations and description to cachedMerge util function 2018-05-19 23:12:56 +05:30
REDDY PRASAD 217a657b78 🚧 WIP 2018-05-17 23:23:28 +05:30
Tobias Koppers 3072378892 bugfixes and corrections 2018-05-15 15:04:40 +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
Sean Larkin f1618aed04 chore(Chunk): add type annotations for Chunk 2018-05-03 16:17:58 -07:00
Tobias Koppers d5eeda7f80
Merge pull request #7133 from webpack/feature/type-set-helpers
chore(types): add type support for SetHelpers
2018-05-01 14:32:18 +02:00
Tobias Koppers 645f98ae2d improve SortableSet performance 2018-05-01 10:41:26 +02:00
Tobias Koppers 9c3c862142
remove `@description` 2018-04-30 09:18:49 +02:00
Sean Larkin 487d74d74d chore(types): add type support for SetHelpers 2018-04-26 21:30:00 -05:00
Tobias Koppers 0e73be3caf
Merge pull request #7051 from webpack/feature/type-utils-identifier
refactor(types): add type comments for util/identifier
2018-04-23 15:11:19 +02:00
Florent Cailhol 6b583e3751 Add Queue typing 2018-04-23 09:02:34 +02:00
Sean Larkin f7790f8382 update typedef to be more readable with @property 2018-04-20 15:37:42 -06:00
Sean Larkin 0dbbcdd82b refactor(types): add type comments for util/identifier 2018-04-14 14:31:11 -07:00
Sean Larkin 10282ea206
Merge pull request #6862 from mohsen1/ts
Add TypeScript type checking
2018-04-12 10:07:15 -07:00
Tobias Koppers 985e6fb001 fix race condition when using loadModule
change Semaphore to continue prefer acquire in the same tick

fixes #6836
fixes #6902
2018-04-12 15:54:35 +02:00
Mohsen Azimi 5b236e53da More type fixes (these changes should be merged as separate PRs 2018-04-12 11:42:39 +02:00
Mohsen Azimi 22679069f8 Fix lint issues 2018-04-12 11:42:38 +02:00
Mohsen Azimi d677bdd0e9 pretty 2018-04-12 11:42:38 +02:00
Mohsen Azimi 0ced385223 Comment fixes 2018-04-12 11:42:36 +02:00
Mohsen Azimi 09cdcb0661 More comment based type fixes 2018-04-12 11:42:36 +02:00
Florent Cailhol fac34248f4 Simplify cachedMerge 2018-04-10 22:12:30 +02:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
Tobias Koppers 244d27a42d improve way of getting combinations of chunks
we no longer require a complexity limit -> maxComplexity removed
2018-02-17 10:16:32 +01:00
Tobias Koppers 9c8098c635
Merge pull request #6370 from webpack/remove_v3_deprecated
Remove v3 deprecated APIs
2018-01-24 09:43:10 +01:00
Florent Cailhol 7b8fa112e0 Remove v3 deprecated APIs 2018-01-23 23:25:01 +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
Tobias Koppers 0206949075 remove unused code 2018-01-21 11:12:36 +01:00
Tobias Koppers fabd1abb41 improvements from review by @ooflorent 2018-01-20 11:28:45 +01:00
Tobias Koppers 18ae73dad4 Refactor chunk graph
Chunks are now always in ChunkGroups
ChunkGroups have parents and children, Chunks no longer have this
AsyncDependenciesBlocks point to a ChunkGroup instead of a list of chunks
Entrypoint is now a ChunkGroup (extends from it)
move stuff graph modification methods into GraphHelpers
Change chunk id recording to source-based
Chunks have parents, siblings and children in Stats
rename AutomaticCommonsChunksPlugin to SplitChunksPlugin
add request property to origin (ChunkGroup)
remove moveToParent from AggressiveMergingPlugin
fix issues with AggressiveSplittingPlugin
remove CommonsChunkPlugin
add optimization.runtimeChunk (RuntimeChunkPlugin)
fix a filename bug for initial chunks
remove extract-text-webpack-plugin from test suite
add DebugHash to help debugging hash issues
fix issues with entry modules in different chunk as runtime
redo optimization.splitChunks options
Compilation.entrypoints is now a Map
Compilation.chunkGroups has been added
remove some unittests
update examples
update tests with CommonsChunkPlugin
2018-01-19 19:21:30 +01:00
Tobias Koppers 2126f085b1
Merge pull request #6286 from ooflorent/sortable_set_cache
Reduce SortableSet memory consumption
2018-01-12 10:57:10 +01:00
Florent Cailhol a4fec7932e Reduce SortableSet memory consumption 2018-01-11 16:01:24 +01:00
Tobias Koppers 0404564468 ensure that items are not enqueued twice
Use nice SetIterator trick
2018-01-11 13:37:29 +01:00
Tobias Koppers 84a3b2cd17
Merge pull request #6146 from EugeneHlushko/feature-xxhashjs
Feature: Non-crypto hashing algorithm and opt-in through config
2017-12-21 08:48:52 +01:00
EugeneHlushko 62395cf6dd Feature: Non-crypto hashing algorithm opt-in through config: make linters happy again 2017-12-20 14:30:36 +02:00
EugeneHlushko 26257bc0f5 Feature: Non-crypto hashing algorithm opt-in through config: use non-native hash example 2017-12-20 12:29:00 +02:00
Cody Ogden f5b57f4764 Extract TrackingSet class from the Parser.js module.
@TheLarkInn suggested this class be extracted from this file during the live stream tonight. A similar class was removed and placed in the  directory.
- Created
2017-12-20 01:37:49 -06:00
EugeneHlushko 307566a7a1 Feature: Add an option to provide output.hashFunction as a function 2017-12-19 19:53:08 +02:00
Tobias Koppers 0376a321de recycle nodes in Queue 2017-12-01 11:27:02 +01:00
Tobias Koppers 7e8936c64e make formatter happy 2017-11-23 11:47:22 +01:00
Tobias Koppers 6b40b1699e inline flush, reduce bulk size 2017-11-23 11:45:48 +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 4c4121b948 fix test and lint issues 2017-11-19 09:06:40 +01:00
Tobias Koppers 2ff9b53754 Use StackedSetMap for better performance 2017-11-19 00:50:10 +01:00
Tobias Koppers 5e39ec46ee Allow to override resolve configuration 2017-11-18 08:12:35 +01:00
Tobias Koppers 1b28c93eaf renamed methods 2017-11-06 12:15:23 +01:00
Tobias Koppers 801138a3b3 allow caching in sortable set and use it 2017-11-03 10:17:08 +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 11e28793fa improve performance by doing a breath-first traversal in the chunk graph
This is faster because shorter paths usually have less modules available.
This allows to reach minimal modules faster
2017-10-12 20:03:36 +02:00
Tobias Koppers 07992cf588 fix sorting issue 2017-09-22 17:23:49 +02:00
Tobias Koppers 6bd937d768 make things consitent 2017-09-22 14:07:28 +02:00
Tobias Koppers f53c0ceb84 Merge pull request #5322 from webpack/performance/parser
Parser performance improvements
2017-09-11 12:41:28 +02:00
Tobias Koppers 66385458a6 use marker objects to support any value in StackedSetMap 2017-08-11 16:38:17 +02:00
Tobias Koppers f9bf8a9085 Limit the number of parallel processed modules
fixes #3164
fixes #3166
2017-08-11 16:11:17 +02:00
Tobias Koppers 25805470c1 move StackedSetMap into separate file 2017-08-11 12:30:33 +02:00
Tobias Koppers 0a540b4147 added semis 2017-07-18 09:10:00 +02:00
Tobias Koppers c061c33e0f reduce number of calls to Map 2017-07-18 08:48:39 +02:00
asolove 648d78dab5 Fix lint failure. 2017-07-17 23:06:59 -06:00
asolove 3f1b7e624c Store relative path cache on compilation to avoid leaking memory. 2017-07-17 23:06:59 -06:00
asolove 164ce366c0 Cache module relative paths to speed up builds with lots of modules & chunks.
It seems like AggressiveSplittingPlugin generates relative paths for each (module,chunk) pair, so it was taking up a lot of time.
2017-07-17 23:06:59 -06:00
Tim Sebastian 5f16dd8554 clean up SortableSet
- remove unnecessary _isSorted flag
- remove clear-override as an empty set is "sorted"
- early return on empty sets
2017-06-21 08:12:22 +10:00
Tim Sebastian 7a99930d81 optimize sortableSet to prevent unnecessary sorting 2017-06-19 22:20:10 +10:00
Tim Sebastian 0eaa84748d add SortableSet as a new collection type 2017-06-18 10:41:58 +10:00
Tim Sebastian 2bff188fa3 make paths for records agnostic of OS 2017-04-07 23:37:42 +10:00
Tim Sebastian ed51e2ff2c unify makeRelative method used in aggresivesplittingplugin and recordsidsplugin 2017-04-05 23:38:15 +10:00