Commit Graph

416 Commits

Author SHA1 Message Date
Tobias Koppers 03431d1113 from serve property from options 2020-02-18 22:55:31 +01:00
Tobias Koppers 683e867450 Improve schema generation and add more descriptions 2020-02-17 19:12:58 +01: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
Sergey Melyukov c31d941899 dependOn feature
Co-authored-by: Tobias Koppers <tobias.koppers@googlemail.com>
2020-02-11 09:11:00 +01:00
Tobias Koppers fe3c1d83ba cleanup 2020-02-10 13:04:28 +01:00
Sergey Melyukov d6c9953c94 feat: implement entry.filename option 2020-02-07 13:00:25 +03:00
Tobias Koppers 152fa4ce97
Merge pull request #10334 from smelukov/entry-descriptor
Add entrypoint descriptor with `import` property
2020-02-05 09:34:46 +01:00
Tobias Koppers 18ae77ef56 addEntry takes options object instead of only name
remove duplication in EntryOptionsPlugin and DynamicEntryPlugin
lazy require (Dynamic)EntryPlugin in EntryOptionsPlugin
2020-02-04 21:21:42 +01:00
Tobias Koppers 9ae0b6a421 allow stats.ids in schema 2020-02-04 09:19:09 +01:00
Sergey Melyukov 7da1b5e70a feat: add entrypoint descriptor with `import` property 2020-02-03 17:46:14 +03:00
opl- 22569ce792 fix ResolveOptions.plugins types
closes #10073
2019-12-05 19:24:40 +01:00
Tobias Koppers 0ea81b542c get rid of some hacks in declarations file 2019-11-28 16:19:18 +01:00
Sergey Melyukov 491cb57cb4 initial improvement for asset modules 2019-11-26 15:41:48 +01:00
Tobias Koppers 497b65e122 run prettier 2019-11-15 10:56:01 +01:00
Tobias Koppers 07671f3481 allow to disable compareBeforeEmit 2019-11-04 16:46:45 +01:00
Tobias Koppers 87abd00c6e remove all options for cache.store expect "pack"
these are incomplete and may be readded later
2019-10-21 09:22:38 +02:00
Tobias Koppers c1d1e91bd6 allow all possible combinations with pattern 2019-10-18 14:58:50 +02:00
evilebottnawi c81ffbef42 refactor: `devtool` option 2019-10-18 14:43:21 +02:00
Tobias Koppers fc04bf15bc Do not show stack trace of errors in stats by default
Add new `stats.errorStack` option to display it anyway.
2019-10-15 07:43:37 +02:00
evilebottnawi 8764f14794 feat: improve DX with `output.ecmaVersion` option 2019-10-11 00:43:27 +03: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 ccc53dba5e update deprecated usage in library-related plugins 2019-10-08 23:46:31 +02:00
Tobias Koppers 69a545c444 Deprecate MainTemplate, ChunkTemplate, ModuleTemplate
move logic and hooks to JavascriptModulesPlugin
2019-10-08 23:46:26 +02:00
Tobias Koppers 7bde43f47a Merge tag 'v4.40.0' into next
4.40.0
2019-09-13 11:12:26 +02:00
Tobias Koppers 2e37731988 add analysis for top level symbols, exports and imports
integrates the work of Vincent Chan for GSoC 2018

Co-authored-by: Vincent Chan <cdzos97@gmail.com>
2019-09-03 14:18:40 +02:00
Tobias Koppers e507392094 add output.ecmaVersion options to set emitted code style
fix a bug with prefetching initial chunks
InitFragments have get[End]Content methods which get a sourceContext
RuntimeModules have implicit chunk and compilation
changed default to `output.ecmaVersion: 2015`
2019-08-26 21:32:29 +02:00
Tobias Koppers a2caa36b8e add immutablePaths next to managedPaths for paths in the yarn cache
for PnP support
2019-08-20 14:50:07 +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 856235d76f track and config build dependencies 2019-08-12 23:07:41 +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 e5ff9576e2 update typescript dependencies 2019-08-06 09:00:05 +02:00
Tobias Koppers 2e25cd588b Merge remote-tracking branch 'origin/next' into next 2019-07-24 10:52:04 +02:00
Tobias Koppers c17dfde7a8 Merge tag 'v4.37.0' into next
4.37.0
2019-07-24 10:51:04 +02:00
Tobias Koppers 7b31890a2f more tests
add none as loglevel
2019-07-22 10:35:26 +02:00
Tobias Koppers d532c4f24f allow to configure the infrastructure logger
rename includeDebugLogging to loggingDebug
rename logToConsole to createConsoleLogger
2019-07-22 09:22:36 +02:00
Yuta Hiroto 8dcda23c36
feat(assetModule): add function type to assetModuleFilename 2019-07-21 23:05:12 +01:00
Tobias Koppers 42a9bfd225 improve logging options and display
allow more logging options in schema
collapse groups in non-verbose logging
show number of filtered logging lines
update stats presets for logging
2019-07-19 11:59:48 +02:00
Tobias Koppers d849160d3f add logging API
Plugins:
Compiler.getInfrastructureLogger(name)
Compilation.getLogger(name)

Loader:
this.getLogger([name])

API equal to console API with these methods:
error, warn, info, log, debug,
time, timeLog, timeEnd,
group, groupCollapsed, groupEnd,
profile, profileEnd,
clear
2019-07-18 17:13:40 +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 fb45e38fa4 rename url -> asset
remove experimental in favor of experiments.asset
2019-07-17 11:57:04 +02:00
Yuta Hiroto e474c604e9 feat(url): implement Url ModulePlugin and Generator 2019-07-17 11:45:40 +02:00
ikopeykin bd7d95bfc1 #9391 resolve discussions, AbstractMethodError 2019-07-15 16:54:49 +03:00
ikopeykin 676c5fe172 fix ResolveOptions.alias 2019-07-12 16:40:52 +03:00
Tobias Koppers dac9572d0b add alias to false (ignore) and alias to array 2019-07-08 16:26:30 +02:00
Tobias Koppers c94073b31c update enhanced-resolve 2019-07-05 00:45:41 +02:00
Tobias Koppers 98c5f45ea8 hotfix: realResource should match absolute paths 2019-07-01 11:18:09 +02:00
Tobias Koppers 77ebab6712 update watchpack dependency 2019-07-01 09:00:19 +02:00
Tobias Koppers 5523a0a9ac
Merge pull request #9326 from vankop/add-real-resource-parameter
add realResource parameter to RuleSetRule
2019-06-30 22:04:39 +02:00
ikopeykin 68f794dbcb updated snapshots, rerun tooling scripts 2019-06-25 15:33:07 +03:00
ikopeykin b3202696d0 add realResource parameter to RuleSetRule 2019-06-25 11:31:44 +03:00
Tobias Koppers fbff5f3c75 allow filename as function at more places
fixes #9296
2019-06-18 22:22:09 +02:00
Ryan Drew 054c933950 introduce name truncation config option for SplitChunksPlugin 2019-06-15 14:20:48 -04:00
Tobias Koppers 12a3e7c854 create experiments for importAwait importAsync and (a)syncWebAssembly 2019-06-05 13:32:22 +02:00
Tobias Koppers 09f2fa7273 Merge tag 'v4.33.0' into next
4.33.0
2019-06-04 23:23:25 +02:00
Tobias Koppers ad64a1c2ca add experiment.mjs config option 2019-06-04 11:33:26 +02:00
OJ Kwon 2ec75c1cdb
feat(target): support electron preload async chunk loading 2019-05-25 18:02:00 -07:00
Tobias Koppers ad5a6d105b Merge tag 'v4.32.2' into next
4.32.2
2019-05-23 01:19:34 +02:00
Tobias Koppers a4406ff187 improve validation errors 2019-05-22 13:46:07 +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 74d4669d73 rewrite RuleSet to RuleSetCompiler with plugins
remove some deprecated features (query, loaders)
add missing condition (realResource)
2019-05-16 11:37:52 +02:00
Tobias Koppers 92f8c36ca2 add `minRemainingSize` option for splitChunks to ensure leftover chunks from splitting have a minimum size
defaults to `minSize` of cache group
defaults to global option when not specified
global option defaults to zero in development
2019-05-13 13:10:23 +02:00
Tobias Koppers 7c5f3e758c
Merge pull request #9091 from EugeneHlushko/fix/grammar
fix(typo) remove redundant is
2019-05-09 21:57:36 +02:00
Tobias Koppers e4009e7695 Merge tag 'v4.31.0' into next
4.31.0
2019-05-09 21:38:10 +02:00
Tobias Koppers b66143f706 Merge tag 'v4.30.0' into next
4.30.0
2019-05-09 21:34:28 +02:00
Tobias Koppers b17543e0ba
Merge pull request #8919 from vincentrodriguez/errors-and-warnings-only-preset
Preset option for errors & warnings only
2019-05-09 09:52:41 +02:00
EugeneHlushko f9e877f9c1 fix(typo) remove redundant is 2019-05-04 17:46:38 +03:00
vincentrodriguez 111e864393 support for "errors-warnings" stats preset 2019-03-19 11:24:34 +00:00
vincentrodriguez 579d42b650 update to support "errors-warnings" stats preset option 2019-03-19 10:49:55 +00:00
Joel Denning 97d58d31c0 Adding support for output libraryTarget 'system'. Resolves #8833.
Tests, prettier

Self review

Add comments to System tests.

Adding typescript definition

Guy Bedford's feedback

Self review

Improving code coverage
2019-03-17 08:46:17 -07:00
Tim Neutkens 0c1beb99a8 Run lint 2019-03-11 17:43:25 +01:00
Tim Neutkens 001960600d Run yarn fix 2019-03-10 17:13:53 +01:00
Tim Neutkens d02817619f Allow options.amd to disable AMDPlugin/RequireJsStuffPlugin
Introduces a new value `false` for `options.amd` that disables AMD support completely.

This would mainly be useful in for example ncc, Next.js etc where it’s either fully commonjs/esmodules (ncc) or fully esmodules (Next.js)
2019-03-10 16:31:35 +01:00
Tobias Koppers 180f912493 Merge tag 'v4.29.2' into next
4.29.2
2019-02-06 15:37:11 +01:00
Tobias Koppers b25ff237bb Prettify source code 2019-02-05 10:08:45 +01:00
Tobias Koppers 6fc0b96c9c add MangleExportsPlugin and options 2019-01-31 11:41:30 +01:00
Tobias Koppers 7c0d845af3 Refactor FileCachePlugin into multiple modules 2019-01-25 19:21:45 +01:00
Tobias Koppers ba6ac9ae81 add cache.idleTimeoutForInitialStore
to allow to force an initial store
2019-01-19 12:07:26 +01:00
Tobias Koppers e4a5e59570 add cache.idleTimeout option to delay cache storing 2019-01-19 11:47:53 +01:00
Tobias Koppers aaf85dbd1c add output.futureEmitAssets
add a new version of emitting assets which allows to free memory of Sources with the trade-off of disallowing reading asset content after emitting

It also uses Source.buffer when available.
2019-01-17 13:33:27 +01:00
Tobias Koppers 12436bf53e add chunkRelations to stats config 2018-12-23 10:04:23 +01:00
Tobias Koppers 5c81bc1ce3 add preset option to schema 2018-12-23 10:04:19 +01:00
Tobias Koppers 6c00d3676e
Merge pull request #8484 from webpack/feature/split_chunks_max_size
Add maxAsyncSize and maxInitialSize for SplitChunks
2018-12-16 18:44:15 +01:00
Florent Cailhol b916ff1491 Improve SplitChunksPlugin typings 2018-12-12 10:49:16 +01:00
Florent Cailhol e06b4853d6 Add compiler typings 2018-12-12 10:26:53 +01:00
Florent Cailhol 2a10b12e09 Add maxAsyncSize and maxInitialSize options 2018-12-11 20:47:50 +01:00
Florent Cailhol 760b1da9f3 Add maxInitialSize and maxAsyncSize options 2018-12-10 21:05:39 +01:00
Tobias Koppers 0d2faa0d0a
Merge pull request #8460 from webpack/refactor/node_polyfills
Do not polyfill node bindings by default
2018-12-08 12:23:24 +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
Florent Cailhol 002128c288 Do not polyfill node bindings by default 2018-12-07 08:58:26 +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 0ff1a4f8f8 Merge tag 'v4.27.0' into next
4.27.0
2018-12-04 11:02:26 +01:00
Tobias Koppers 9d91861592 Refactor HMR for runtime modules
fixed a few HMR bugs
allow other module types for HMR
made HMR more flexible
2018-11-29 16:22:29 +01:00
Florent Cailhol 586b884ae3 Remove concord support 2018-11-29 08:01:21 +01:00
shaw 70b9a1b0b7 fix parameter missing when plugin type is a funtion 2018-11-26 22:37:08 +08:00
Florent Cailhol caefde17ab Remove devtoolLineToLine and lineToLine options 2018-11-12 14:26:31 +01:00
Tobias Koppers 02ba24aca8 add a `cache` option to control the resolve cache 2018-10-31 13:55:28 +01:00
Tobias Koppers a594f9884c add another loglevel to the persistent cache 2018-10-30 09:54:45 +01:00
Tobias Koppers 590772b934 add packed store mode 2018-10-30 09:54:40 +01:00
Tobias Koppers 7b85f99a97 improve loglevel option 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 518104b3fb Merge tag 'v4.21.0' into next
4.21.0
2018-10-17 20:38:00 +02:00
Florent Cailhol 7669104f71 Deprecate moduleIds=hashed in favor of moduleIds=deterministic
Also remove moduleIds=total-size
2018-10-12 17:14:16 +02:00
Eemeli Aro b624d167a5 Add "amd-require" libraryTarget, resulting in a require() wrapper 2018-09-26 21:46:16 +03:00
Tobias Koppers 17044bf9c6 Merge tag 'v4.20.0' into next
4.20.0
2018-09-25 16:20:42 +02:00
Tobias Koppers c7681825f8 fix issues with absolutePath, allOf and anyOf
make DllReferencePlugin schema more expressive
typing fixes
2018-09-21 11:04:36 +02:00
Tobias Koppers 8c31f2a708 fixes for RegExp in schema 2018-09-21 11:04:33 +02:00
Tobias Koppers b6e81cd00e improve schema 2018-09-21 11:04:17 +02:00
Tobias Koppers 49a271d9a8 fixup: output options 2018-09-21 11:04:15 +02:00
Tobias Koppers 3a896c96b6 reorganize webpack options schema 2018-09-21 11:04:12 +02:00
Tobias Koppers 64b27537da improve schema to be able to use it 2018-09-21 11:04:10 +02:00
Tobias Koppers 20d9cca01f add tooling to sort schema properties 2018-09-21 11:04:07 +02:00
Tobias Koppers c14c73e034 update script to
* handle recursive folders
* create nested folders
* have a linting mode
* have better banner
2018-09-21 11:04:00 +02:00
Sean Larkin 22be95d7bf add all declarations files and folder 2018-09-21 11:03:58 +02:00