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
lilililee
311f196219
refactor(target): remove unnecessary judgment
...
options.target must be string or function, otherwise will throw WebpackOptionsValidationError when run webpack(options) .
2019-12-30 16:12:59 +08:00
Tobias Koppers
6b9d510612
refactor chunk prefetching/preloading into separate plugin and runtime modules
2019-12-19 12:01:46 +01:00
Sergey Melyukov
9bca2286ed
opt-out inner graph optimization when eval is used
2019-12-16 16:49:01 +03: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
cda629eaac
add missing runtime requirement for async module header
...
active async modules when top level await is used
2019-11-19 13:11:23 +01:00
Kashyap
96ad1c65a6
fix: Remove minor typo in WebpackOptionsApply
2019-11-04 13:05:59 +05:30
evilebottnawi
8198ffb3e6
refactor: code
2019-10-22 00:14:05 +02: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
dd2c4de1ce
use SourceMapDevTool default
2019-10-18 15:09:34 +02:00
evilebottnawi
c81ffbef42
refactor: `devtool` option
2019-10-18 14:43:21 +02:00
Tobias Koppers
b05a76eaf4
lazy evaluate in WebpackOptionsApply
2019-10-09 13:44:39 +02: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
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
31b869616e
Merge pull request #9620 from webpack/feature/exports-info
...
add `__webpack_exports_info__` API to allow export introspection
2019-08-22 18:13:25 +02:00
Tobias Koppers
fb13b76b34
add `__webpack_exports_info__` API to allow export introspection
...
improve usage/provide information for nested exports
improve tests for deep exports
2019-08-22 16:59:37 +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
d2181eeffa
pass missing idleTimeout options to CachePlugin
2019-07-26 13:59:15 +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
c9aa09439e
fxiup! feedback
2019-07-17 11:47:14 +02:00
Yuta Hiroto
ad51d66e95
feat(WebpackOptions): add default value and set UrlModulesPlugin
...
default: [hash].[ext]
2019-07-17 11:46:25 +02:00
Tobias Koppers
b2e7837288
replace Object.assign with object spread
2019-06-19 13:16:05 +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
12a3e7c854
create experiments for importAwait importAsync and (a)syncWebAssembly
2019-06-05 13:32:22 +02:00
Tobias Koppers
faa56f1751
move plugin into folder
2019-06-05 12:07:20 +02:00
Tobias Koppers
1977cb1036
move async module flag to ModuleGraph
2019-06-05 11:15:25 +02:00
Tobias Koppers
de61023616
add side-by-side wasm support based on async modules
...
type: "webassembly/async-experimental"
remove i64 importing limitation since it will have BigInt integration eventually
update wasm example
2019-06-04 23:28:56 +02:00
Tobias Koppers
09f2fa7273
Merge tag 'v4.33.0' into next
...
4.33.0
2019-06-04 23:23:25 +02:00
OJ Kwon
2ec75c1cdb
feat(target): support electron preload async chunk loading
2019-05-25 18:02:00 -07:00
Tobias Koppers
14d95e30cb
Merge tag 'v4.32.1' into next
...
4.32.1
2019-05-22 13:36:26 +02:00
Tobias Koppers
5b08ab51c3
fixes #9156
...
node: false should not disable CommonJs features
2019-05-22 08:03:44 +02:00
Tobias Koppers
b34da271a1
add sync mode for chunk dependency startup in sync node target
...
fixes #9154
allow nesting webpack bundles (rename inner __webpack_require__)
to allow testing this
2019-05-20 22:53:58 +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
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
Tobias Koppers
b66143f706
Merge tag 'v4.30.0' into next
...
4.30.0
2019-05-09 21:34:28 +02:00
Alan Zhang
269efb9fd7
Never apply NodeStuffPlugin when "node" set to false
2019-04-24 10:40:51 +08:00
Igor Osipov
cff0e18ec7
Make lazy loading for modules at WebpackOptionApply.js
2019-03-22 22:28:15 +03:00
Tobias Koppers
7ed1a8f88d
Merge pull request #8890 from timneutkens/add/option-to-disable-amd
...
Allow options.amd to disable AMDPlugin/RequireJsStuffPlugin
2019-03-15 09:45:54 +01:00
Connor Davis
bf020dfe7b
Do the same for the rest of the plugins
2019-03-11 16:26:05 -05:00
Connor Davis
23687c6336
Only require if needed
2019-03-11 16:18:50 -05: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
0f7355e170
Merge tag 'v4.28.4' into next
...
4.28.4
2019-01-10 16:51:17 +01:00
Tobias Koppers
f446bf8a9b
add ability to load dependent chunks for non-web targets
...
This allows to use `splitChunks` for initial chunks in i. e. node and webworker targets
2018-12-29 12:48:59 +01:00
Tobias Koppers
d8ab512c34
Merge pull request #8565 from NaviMarella/ProfilingPlugin_8503
...
Fixed error in Profiling Plugin, if given folder path doesn't exist.
2018-12-29 04:47:17 -05:00
Tobias Koppers
77c2e61a31
remove memory cache from FileCachePlugin
...
support layers of caches
2018-12-27 20:57:54 +01:00
Tobias Koppers
123b0a64e7
add plugin system for Stats presets, defaults, creation and printing
2018-12-18 22:07:14 +01:00
Florent Cailhol
9caaa664f7
Refactor webpack main
2018-12-09 15:32:03 +01:00
Tobias Koppers
ca46218787
add defaults for deterministic id plugins
2018-12-07 14:47:25 +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
f753f92c28
ensureChunk to RuntimeModule
...
step 1: non HMR cases
2018-11-29 16:16:39 +01:00
Tobias Koppers
7c37a6a972
handle runtime requirements
2018-11-29 16:07:17 +01:00
Florent Cailhol
caefde17ab
Remove devtoolLineToLine and lineToLine options
2018-11-12 14:26:31 +01:00
Tobias Koppers
2688b5b17f
add resolver cache
2018-10-30 15:43:26 +01:00
Tobias Koppers
a852828279
add persistent caching prototype
2018-10-17 21:25:39 +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
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
17044bf9c6
Merge tag 'v4.20.0' into next
...
4.20.0
2018-09-25 16:20:42 +02:00
Tobias Koppers
d48975c948
use types from schema
2018-09-21 11:04:19 +02:00
Tobias Koppers
56c613a669
add moduleIds deterministic for simpler long term caching
2018-09-18 17:49:19 +02:00
Tobias Koppers
b4860ccebb
refactor chunk id plugins
2018-09-05 14:28:52 +02:00
Tobias Koppers
4d7b5b3b5e
Refactor module id plugins to be independent
2018-09-03 20:45:44 +02:00
Florent Cailhol
8fda6a562e
Add NaturalModuleIdsPlugin
2018-09-03 20:12:55 +02:00
Tobias Koppers
cf5f1d723c
format existing code
2018-07-30 21:29:21 +02:00
Florent Cailhol
0448c1c338
Use chunkIds and moduleIds
2018-07-14 21:59:42 +02:00
Tobias Koppers
9f0056b10d
Merge pull request #7686 from webpack/feature/module-chunk-ids-option
...
add new options moduleIds and chunkIds
2018-07-10 10:19:03 +02:00
Tobias Koppers
3fc4eb752f
add new options moduleIds and chunkIds
...
deprecate namedModules, hashedModuleIds, namedChunks
add a lot of TODOs for webpack 5
split OccurenceOrderPlugin into separate plugins for modules and chunks
add NaturalChunkOrderPlugin and enable it in development
2018-07-09 15:06:19 +02:00
zroug
b892065db0
Added support for WebAssembly modules when target is `electron-renderer`
2018-07-09 14:39:48 +02:00
Tobias Koppers
39d0bcb595
spacings
2018-06-07 14:22:35 +02:00
Tobias Koppers
5c604f93f6
Merge branch 'master' into feat-implement-option-for-hashed-module-ids-plugin
2018-06-07 14:21:09 +02:00
Mrkou47
d6d7119778
change variable defined identifier let to const
2018-06-07 14:37:08 +08:00
Tobias Koppers
8e3be48da4
allow to disable wasm import mangle
...
disable it by default (temporary)
2018-06-05 23:49:02 +02:00
Tobias Koppers
78b31936c3
add checkWasmTypes flag, enabled it only in production
2018-06-04 20:14:08 +02:00
Sven SAULEAU
928d051aae
Merge remote-tracking branch 'upstream/master' into fix-wasm-check-for-invalid-signatures
2018-05-30 15:31:31 +02:00
Sven SAULEAU
fbd9d0d3a8
feat(wasm): add finalizer for checking exports
2018-05-30 12:45:05 +02:00
Florent Cailhol
2a9452e51b
Add brackets for multiline if/for statements
2018-05-29 15:45:44 +02:00
evilebottnawi
c222a6f33b
feat: implement option for `HashedModuleIdes` plugin
2018-05-25 16:41:20 +03:00
Tobias Koppers
82a71be1dc
Cleanup, refactoring, types
2018-04-27 18:53:07 +02:00
Tobias Koppers
d91caea860
Pretty files for updated prettier version
2018-04-26 20:14:45 +02:00
Florent Cailhol
eebf0866a9
Use correct function arity
2018-04-04 08:53:58 +02:00
Florent Cailhol
f1092ad516
Update prettier toolchain
2018-03-26 16:56:10 +02:00
Tobias Koppers
5238159d21
run prettier on existing code
2018-02-25 02:00:20 +01:00
EugeneHlushko
9cf9e3e2b3
Bugfix #6051 : add `original-fs` to externals for electron targets
2018-02-18 13:27:46 +02:00
Tobias Koppers
9599e4eb61
fix typo: mergedDuplicateChunks -> mergeDuplicateChunks
2018-02-13 12:41:30 +01:00
Ben Rothman
c26c872bb2
add "single" option to RuntimeChunkPlugin
2018-01-26 22:03:56 -06: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
7112943ca4
Merge pull request #6298 from EugeneHlushko/refactor/indexof-to-includes
...
Refactor/indexof to includes
2018-01-11 22:45:02 +01:00
EugeneHlushko
2aab060f26
Refactor: indexOf >< checks to includes
2018-01-11 18:58:39 +02:00
Tobias Koppers
acdabb1427
linting, comment and minor improvements
2018-01-10 19:22:25 +01:00
Tobias Koppers
85acfeb1c2
allow to use new options minSize, maxRequests
2018-01-10 18:58:27 +01:00
Tobias Koppers
b34663cb2d
add more config options
...
fix bugs
2018-01-10 18:58:27 +01:00