Commit Graph

308 Commits

Author SHA1 Message Date
Tobias Koppers d3cc2de2f9 add experiments.asyncEntries
add async entries plugin
async entries in global parser options
allow chunkFormat, chunkFilename and initialChunkFilename for entries
2021-04-14 14:45:50 +02:00
Tobias Koppers ea3e0a39ac add experiments.executeModule
rename runModule -> executeModule
improve error reporting
2021-04-12 12:27:55 +02:00
Tobias Koppers c84329f73c add GC to the memory cache and make it configurable
memory GC happens by default when persistent cache is enabled and in development mode
otherwise memory cache is kept forever

make maxAge for persistent cache configurable
GC the oldest content file even if it's not touched (to keep cache size small)

filesystem cache will now no longer cache in memory, but restore items from disk again when it was persisted
2021-04-01 17:12:53 +02:00
evilebottnawi 3237c5a670 fix: prefer provided external over built-in 2021-03-02 13:11:31 +03:00
Tobias Koppers 0742a05bc1 fix `experiments.lazyCompilation: true` 2021-02-22 23:25:37 +01:00
Tobias Koppers 44b4e25b98 fixes for electron target
electron has `importScripts` in worker
only choose a chunkLoading which fits to the chunkFormat
prefer fetch wasm loading over node wasm loading
2021-02-15 17:19:08 +01:00
Tobias Koppers 9f3950e571 add support for libraries combined with iife: false
fix missing runtime requirement for system.js context
fix inlining of modules when conflicting symbols are defined on top-level
2021-02-11 11:19:24 +01:00
Tobias Koppers 36306a06e1
Merge pull request #11561 from smelukov/clean 2021-02-02 20:31:45 +01:00
Sergey Melyukov 654e4e1ba0 Merge remote-tracking branch 'upstream/master' into clean 2021-02-02 10:38:41 +03:00
Tobias Koppers ba12efe094 change skipModule to test
allow values similar to `splitChunks.test`

using positive logic instead
2021-02-01 17:12:20 +01:00
Karlis Gangis f0fa61ae1f Add new options for lazyCompilation: imports and skipModule 2021-02-01 16:52:47 +02:00
Tobias Koppers c4d41ffa55 nitpicks for tests 2021-01-22 10:24:25 +01:00
Tobias Koppers 100317556e add lazy compilation for entrypoints 2021-01-22 01:01:17 +01:00
Tobias Koppers a1515fa9f0 add experimental lazy compilation 2021-01-21 17:39:56 +01:00
Tobias Koppers 013ca3bdd7 add commonjsMagicComments options
move javascript related options from 'module' to 'module.parser.javascript'
2021-01-20 20:19:49 +01:00
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