Tobias Koppers
7438a7b79f
Merge branch 'master' into webpack-is-included
2021-01-15 14:21:07 +01:00
Tobias Koppers
f76aa61d34
use simple output.pathinfo mode by default
...
cache simple pathinfo transformation in memory
2020-12-04 17:06:37 +01:00
Tobias Koppers
c847009d87
typescript workarounds
...
see https://github.com/microsoft/TypeScript/issues/41697
2020-11-30 08:42:35 +01:00
Yanlin Jiang
02bc871f97
chore: fix case typo
2020-11-02 01:10:42 +08:00
Tobias Koppers
e1b5a78a24
add optimization.sideEffects: "flag" and use this by default
...
analysing for side effects cause unnecessary changes in parent modules and we want to avoid that in development
2020-10-27 06:50:07 +01:00
Sergey Melyukov
ee0c891c67
(fix): pr comments
2020-10-07 15:30:14 +03:00
Sergey Melyukov
4b04a4b1f5
(feat): add output.clean
2020-09-30 18:33:30 +03:00
Tobias Koppers
ea075be453
add config.ignoreWarnings
...
deprecate stats.warningsFilter
2020-09-20 22:08:38 +02:00
Tobias Koppers
7e85649492
improve target options
...
infer target properties from different targets and fill defaults from that
custom targets can now be created via `target: false` and a plugin (similar to the other options)
add stubs from universal chunk/wasm loading and module chunk format
add externalsPresets.electron and externalsPresets.electronRenderer
node.__file/dirname: "eval-only"
2020-09-10 11:42:09 +02:00
Tobias Koppers
eec6fbdd7c
extract loader.target from target option
2020-09-09 19:04:30 +02:00
Tobias Koppers
817c1bf9c7
move default externals from target into externalsPresets option
2020-09-09 15:18:59 +02:00
Tobias Koppers
aa67a435a4
refactor wasm loading from target into output.wasmLoading option
...
allow entry specific wasm loading
2020-09-09 11:20:37 +02:00
Tobias Koppers
7ae2976ef2
remove remaining incorrect code for electron from chunkLoading refactoring
2020-09-09 08:46:40 +02:00
Tobias Koppers
ed06a7f83a
new Worker() support
...
add support for async anonymous entrypoints from inside the codebase
add worker example
move entry options into Entrypoint and receive them from there
2020-09-08 07:37:20 +02:00
Tobias Koppers
0111405198
enable asset experiment
2020-09-03 14:19:09 +02:00
Tobias Koppers
7381cc0536
move baseUri into chunk loading runtime modules
2020-08-29 01:59:39 +02:00
Tobias Koppers
312e2ab587
Merge branch 'master' into feature/asset-url
2020-08-28 20:54:50 +02:00
Tobias Koppers
07d863e14c
implement enabledChunkLoadingTypes approach
...
allow chunkLoading per entry
allow custom library/chunkLoading types
2020-08-28 10:59:37 +02:00
Tobias Koppers
d6e637f33c
add "snapshot" configuration to allow to configure how snapshots are created
...
expose snapshot options for module, resolve, buildDependencies and resolveBuildDependencies
move managedPaths and immutablePaths from config.cache to config.snapshot
add timestamp + hash snapshotting mode
use timestamp + hash mode by default in production and for buildDependencies
2020-08-26 01:27:13 +02:00
Tobias Koppers
782fa4591f
Typo
2020-08-20 00:23:15 +02:00
Tobias Koppers
0a6f2bf401
expose missing target plugins
2020-08-19 23:17:33 +02:00
Tobias Koppers
b929d4cdce
calculate real content hash for assets after asset processing
2020-08-18 22:07:24 +02:00
Ivan Kopeykin
4157166263
Merge branch 'master' into feature/asset-url
...
# Conflicts:
# test/Defaults.unittest.js
2020-08-16 15:47:05 +03:00
Ivan Kopeykin
f659974405
add output.baseURI option, add test case for it
2020-08-16 12:34:40 +03:00
Tobias Koppers
1ac28f7fc2
improve progress reporting
2020-08-14 10:54:26 +02:00
Ivan Kopeykin
4f8bb44983
move matching target logic out of RuntimeModule
2020-08-06 20:58:37 +03:00
Ivan Kopeykin
ddc83b0d70
feat: url assets
2020-08-05 00:55:38 +03:00
Tobias Koppers
dfc8e35f2d
enable experiments.importAsync by default
...
remove experiments.importAwait
2020-08-04 00:47:08 +02:00
Tobias Koppers
4c3216efad
add size optimization mode to `optimization.mangleExports`
2020-07-31 12:54:38 +02:00
Tobias Koppers
e16bdfda6c
refactor used exports analysis, hashing, code generation, optimizations
...
to keep track of runtimes, used exports depending on runtime
modules can have different hashes and generated code depending on runtime
chunks are only considered as equal for MergeDuplicateChunks and SplitChunks when exports used in contained modules are equal
added `optimization.usedExports: "global"` to opt-out from used exports analysis per runtime
added `splitChunks.usedExports` and `splitChunks.cacheGroups[x].usedExports` to enable/disable used exports comparing for modules
`splitChunks.usedExports` defaults to `true` in production
2020-07-27 22:40:44 +02:00
Tobias Koppers
f65adade96
deprecate optimization.noEmitOnErrors in favor of optimization.emitOnErrors
2020-07-20 08:40:31 +02:00
Tobias Koppers
b1eac4ab29
Use computed resolve options in context alternatives
...
deprecate ContextModuleFactory.hooks.alternatives because we need the options in the hook
2020-07-15 14:13:35 +02:00
Tobias Koppers
565724a045
type fixes
2020-07-15 14:13:33 +02:00
Tobias Koppers
d9435e0e3e
Merge pull request #11075 from vankop/import-meta
...
add import.meta support
2020-07-06 20:19:23 +02:00
Tobias Koppers
1bb02df61e
Merge pull request #11095 from vankop/support-url-requests
...
Support url requests
2020-07-06 20:03:52 +02:00
Tobias Koppers
7dad1c1c30
refactor scheme handling into plugins
2020-07-03 17:01:02 +02:00
Tobias Koppers
9f28e37969
allow runtimeChunk with node targets
...
also fixes a incorrect relative path
2020-06-29 11:46:16 +02:00
Ivan Kopeykin
1beb4e5707
support import.meta
2020-06-23 01:03:52 +03:00
Tobias Koppers
0397701d85
improve types, moved byDependency logic into ResolverFactory
2020-06-17 22:17:14 +02:00
Ivan Kopeykin
3f8def8185
fix discussions
...
- add module condition
- rename EnhancedResolveOptions
- fix applyByDependency util function
- use EMPTY_RESOLVE_OPTIONS when resolveOptions are undefined
2020-06-16 21:02:31 +03:00
Ivan Kopeykin
d2a08e3cc8
rework how byDependency applied
...
remove dependencyType parameter for resolver factory
add dependencyType option in enhanced resolve options
2020-06-09 01:32:24 +03:00
Tobias Koppers
707a103262
merge resolve.byDependency defaults with user provided values
...
allow to use resolve.byDependency in module.rules
2020-05-28 19:55:14 +02:00
Ivan Kopeykin
4af609a38c
fix resource identifier in Compilation and resolveLoader options
2020-05-28 10:53:28 +03:00
Ivan Kopeykin
d4b1819749
add ability to set resolve options per dependency category
...
- byDependency option
- create resolver per dependency category
2020-05-28 02:30:29 +03:00
Mohsen Azimi
728249fb59
add @ts-expect-error
2020-05-12 14:34:44 +02:00
Mohsen Azimi
a86f5de1bd
Update lib/WebpackOptionsApply.js
...
Co-Authored-By: Tobias Koppers <tobias.koppers@googlemail.com>
2020-05-12 14:34:40 +02:00
Mohsen Azimi
9775a4f5e3
Remove TODO comment
2020-05-12 14:34:36 +02:00
Mohsen Azimi
042b4ee7d4
Use @ts-expext-error
2020-05-12 14:34:29 +02:00
Tobias Koppers
3d2cc563dc
report better error message when importAsync experiment is not enabled
...
#10788
2020-04-28 20:29:53 +02:00
Ivan Kopeykin
2d451a57b2
feat: new dependency __webpack_is_included__
2020-04-12 03:04:41 +03:00
Tobias Koppers
f1dd328779
refactor library system
2020-02-26 17:35:52 +01:00
Tobias Koppers
e5b51235d7
add externalsType option
...
fix a few edge cases in ExternalModule
2020-02-26 17:22:42 +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
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