Commit Graph

253 Commits

Author SHA1 Message Date
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 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 fbff5f3c75 allow filename as function at more places
fixes #9296
2019-06-18 22:22:09 +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 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 abc825d58f Merge tag 'v4.32.0' into next
4.32.0
2019-05-20 14:46:31 +02:00
Tobias Koppers b6090b6943 delay prefetching until all initial code is evaluated
add test case
fix bug in Chunk.getChildIdsByOrdersMap
2019-05-10 23:10:32 +02:00
Florent Cailhol f860c870ac Fix Compiler.hooks.make callbacks 2019-05-10 09:55:59 +02:00
Tobias Koppers b66143f706 Merge tag 'v4.30.0' into next
4.30.0
2019-05-09 21:34:28 +02:00
huruji 9b1d7b5037 feat(Chunk.js): size fn: Modify options to default parameter 2019-02-20 22:23:32 +08:00
Tobias Koppers e2e0983f4c remove splitChunks restriction for custom filenames on non-initial chunks
fix bug, which generated incorrect static url mapping for get chunk filename runtime module
optimize generated code for chunk filename (shorter)
2019-02-19 11:16:53 +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
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 a8e51c322b make hashing more consistent 2018-11-30 13:19:55 +01:00
Mihail Bodrov 537d3e482f Cache hasRunstime in chunk 2018-11-30 02:59:26 +03:00
Tobias Koppers 2857ad3ee4 runtime module for getChunkFilename 2018-11-29 16:15:26 +01:00
Timur Amirov 7a0af76dac Fix a typo in Chunk#split jsdoc comment 2018-11-07 22:07:51 +01:00
Florent Cailhol de41d1fe8b Add missing types on Chunk related classes 2018-11-07 14:10:57 +01:00
Tobias Koppers 7654a1cefe fix behavior and add test case 2018-10-24 10:02:12 +02:00
Fabian Mastenbroek 6bdc47b4b2 Fallback to shortest when both chunks have entry modules 2018-10-24 09:47:30 +02:00
Fabian Mastenbroek 462604a096 Prefer chunks with entry module when picking name (#7516)
This change changes the algorithm for picking the name of a chunk when
integrating two chunk, by choosing the chunk with an entry module. If
none have one, we use the old algorithm instead, choosing based on the
shortest name.

Fixes #7516
2018-10-24 09:47:28 +02:00
Tobias Koppers 60b06472f5 make LimitChunkCountPlugin stable
fix integrating non-runtime with runtime chunk
move entry modules when integrating two chunks
2018-10-23 11:32:36 +02:00
Tobias Koppers c04747f17d make LimitChunkCountPlugin stable 2018-10-19 12:57:27 +02:00
Tobias Koppers a7db689306 make chunk compare stable 2018-10-19 12:57:26 +02:00
Tobias Koppers 62e01d3cae add some random types 2018-09-18 09:54:35 +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 4135c6e683 remove some unnecessary moduleGraph arguments and property accesses 2018-08-22 12:45:14 +02:00
Tobias Koppers 5a78e96dc9 add backward-compat layer for ModuleGraph and ChunkGraph 2018-08-21 16:17:02 +02:00
Tobias Koppers 4dfe88edb0 add moduleGraph argument to comparators 2018-08-21 11:08:07 +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
Mihail Bodrov fb9b61b72f Avoid needless sort in Chunk compare 2018-08-13 01:08:30 +03:00
Tobias Koppers ec1329a7d4 make libIdent required
add types
2018-08-02 16:29:20 +02:00
Tobias Koppers cf5f1d723c format existing code 2018-07-30 21:29:21 +02:00
Florent Cailhol 29c99b1787 Convert GraphHelpers 2018-07-26 22:43:20 +02:00
Florent Cailhol 0db953fae6 Convert SetHelpers 2018-07-26 22:39:36 +02:00
Tobias Koppers e02a0c9ecd add types to Template 2018-07-25 13:56:40 +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 bc863596f4
remove unneeded type import 2018-07-17 11:47:22 +02:00
Mohsen Azimi b0061c7fed Code review 2018-07-12 18:00:44 -07:00
Mohsen Azimi d539bb1101 Drop entrypoint 2018-07-11 19:00:17 -07: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 d5983ed62b
Merge pull request #7687 from webpack/chore/imports
Simplify imports
2018-07-10 09:40:07 +02:00
ferhat elmas 271b77d45f all: typo fixes 2018-07-09 22:54:35 +02:00
Tobias Koppers 559cf94edb Simplify imports 2018-07-09 15:09:00 +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
Sean Larkin 2d1cd74d37
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-29 11:53:40 -07:00
Tobias Koppers ad8f496745 arrow functions, remove or improve eslint-disable comments 2018-06-27 13:48:13 +02:00
Florent Cailhol e763d87960 Remove useless checks on ChunkGroup 2018-06-27 11:40:24 +02:00
Florent Cailhol 91663f19a2 Remove deprecated APIs 2018-06-27 10:08:12 +02:00
Tobias Koppers a41a0fb799 use correct Hash interface 2018-06-25 16:01:57 +02:00
Sean Larkin 968edbf77d fix(types): fix errors and linting errors 2018-06-21 14:38:17 +03:00
Sean Larkin c3ebef7f25
Merge branch 'master' into feature/type-compiler-compilation-save 2018-06-21 11:07:33 +03:00
Tobias Koppers 3e778b85c7 fix minor type issues and linting 2018-06-20 12:04:53 +02: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
Nathan Shively-Sanders c97107367a Fix template tag syntax
In 2.9 and earlier, Typescript allowed braces around the name introduced
by the `@template` tag, even though this syntax is non-standard. In 3.0,
Typescript introduces a more complex `@template` syntax that uses braces
for specifying the constraint of a type parameter:

```js
/** @template {Constraint} T -- By analogy with param syntax:
 *  @param {T} name
 */
function f(name) { ... }
```

That means that the syntax `/** @template {T} */` is illegal. This PR
fixes the uses of the `@template` tag ahead of Typescript 3.0 as well as
typescript@next.
2018-06-04 14:22:20 -07:00
Tobias Koppers db668b7549 move fake document to ConfigTestCases
minor style issues
add test case
2018-06-04 17:49:55 +02:00
Michael Loughry 👨‍💻 0d21ce197c Address most of Sokra's comments
- [x] Don't emit prefetch code if not needed
- [x] Only affect StatsTestCase dealing with prefetching
- [x] Fix existing prefetch test case
- [ ] Trigger prefetch after startup code runs
- [ ] Add new test(s)
2018-06-01 10:51:39 -07:00
Sean Larkin 1bae93852a
Merge branch 'master' into feature/type-compiler-compilation-save 2018-05-30 19:35:36 -07:00
Michael Loughry 👨‍💻 8a995da749 Split the map among the chunks 2018-05-30 15:36:50 -07:00
Michael Loughry 👨‍💻 685cbcdf54 Initial rework per sokra's suggestion 2018-05-30 14:36:53 -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 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 f1618aed04 chore(Chunk): add type annotations for Chunk 2018-05-03 16:17:58 -07:00
Alejandro Madariaga Angeles 22b44463ac change Chunk.isRuntimeOnly to Chunk.preventIntegration 2018-04-25 12:45:53 -05:00
Alejandro Madariaga Angeles 3b6d7d873e fix bug where sometimes the runtime would not be present on output 2018-04-23 17:30:14 -05:00
Tobias Koppers 3a5fda909f
Merge pull request #7062 from webpack/bugfix/issue-6931
fix bug which prevented some chunks to show up in Chunk.getAllAsyncChunks
2018-04-17 11:41:50 +02:00
Tobias Koppers 58ba91d78b fix bug which prevented some chunks to show up in Chunk.getAllAsyncChunks
fixes #6931
2018-04-17 11:04:06 +02:00
Tobias Koppers 8e2e19ba50 fix unstable sorting of ChunkGroups and add test 2018-04-17 09:36:26 +02:00
Tobias Koppers 205ca623e7 fix reversed order in Chunk.compareTo 2018-04-17 09:35:57 +02:00
Tobias Koppers 17eb5b4700 rename priority to order 2018-04-16 18:00:34 +02:00
Tobias Koppers 9cb1a66317 add support for link preload/prefetch
`import(/* webpackPrefetchPriority: 10 */ "...")`
`import(/* webpackPreloadPriority: 10 */ "...")`
2018-04-16 11:29:25 +02:00
Tobias Koppers 296542ed79 add [contenthash] support 2018-03-24 12:08:36 +01:00
Tobias Koppers f32bd41c52 fix linting 2018-02-25 02:15:37 +01:00
Tobias Koppers 5238159d21 run prettier on existing code 2018-02-25 02:00:20 +01:00
EugeneHlushko 735c8ce9e0 refactor(es6): multiline string, arr.includes, arrow functions in ./lib and ./benchmark 2018-02-17 13:09:35 +02:00
Tobias Koppers d6816afddf
Merge pull request #6355 from webpack/for_of_loops
Use for-of loops instead of forEach
2018-01-24 10:35:58 +01:00
Tobias Koppers 7a1b357aad
Merge branch 'next' into for_of_loops 2018-01-24 09:01:31 +01:00
Tobias Koppers b7063092b1
Readd removed util module
merge issue
2018-01-24 08:47:43 +01:00
Tobias Koppers ad75e44d02
Merge branch 'next' into remove_v3_deprecated 2018-01-24 08:45:13 +01:00
Tobias Koppers 7de03f2984
Merge pull request #6367 from webpack/deprecate_forEach_map
Deprecate forEach* and map* methods
2018-01-24 08:39:59 +01:00
Florent Cailhol 7b8fa112e0 Remove v3 deprecated APIs 2018-01-23 23:25:01 +01:00
Florent Cailhol d4811b0d37 Use for-of loops instead of forEach 2018-01-23 22:53:18 +01:00
Florent Cailhol 77bb4c0055 Deprecate forEach* and map* methods 2018-01-23 22:19:59 +01:00
Michael Ciniawsky 390fac43b4 fix(lib/Chunk): typo in `getNumberOfGroups` return value 2018-01-23 08:54:19 +01:00
Tobias Koppers ea609374f7 split Chunk.isInitial into isOnlyInitial and canBeInitial
remove includeInitial argument of getChunk(Module)Maps
2018-01-22 12:52:28 +01:00
Tobias Koppers 0206949075 remove unused code 2018-01-21 11:12:36 +01:00