Commit Graph

202 Commits

Author SHA1 Message Date
Tobias Koppers 5e16d642ad allow RegExp as managed and immutable paths
add all node_modules as managedPaths in futureDefaults
2021-10-18 22:56:41 +02:00
Mark Molinaro b422943d2a Limit scope of changes to just HarmonyExportImportedSpecifierDependencies 2021-10-07 20:55:49 +00:00
Tobias Koppers 3b48429eb5 add MemCache for memory caching per module which is invalidated when module or any referenced modules changes
add `experiments.cacheUnaffected`
add `cache.cacheUnaffected` (type: memory) resp `cache.memoryCacheUnaffected` (type: filesystem)
2021-09-24 15:23:29 +02:00
Tobias Koppers da8e93af33 use xxhash64 for future defaults 2021-09-23 15:04:22 +02:00
Ivan Kopeykin 5592f6616f add experiments.futureDefaults
futureDefaults applies next major defaults
adds node.global=warn
node.__filename=warn-mock
node.__dirname=warn-mock
2021-09-14 11:29:57 +03:00
Tobias Koppers 60408e1136 add importModule to loader context by default
always enable experiments.executeModule and remove it
2021-09-02 16:27:39 +02:00
Tobias Koppers abe5005aec disable cache compression by default
it has a negative performance impact in many cases
2021-08-10 13:04:43 +02:00
Tobias Koppers b6609a4f6b add `experiments.buildHttp`
allows to build remote resources
stores remote resources in a lockfile
2021-08-05 15:47:18 +02:00
Sven Sauleau 6c50c81350 Revert "Revert "Merge pull request #12278 from xtuc/sven/import-assertions""
This reverts commit 61946b7c46.
2021-07-24 23:28:30 +01:00
Tobias Koppers 61946b7c46 Revert "Merge pull request #12278 from xtuc/sven/import-assertions"
This reverts commit df02bc6c0a, reversing
changes made to a6f341e243.
2021-07-16 21:54:21 +02:00
Sven Sauleau 8bc0927ede update test snapshots 2021-07-16 13:18:48 +02:00
Tobias Koppers 7f22e4721f match on asserts
change Map to Record
improve test case
2021-07-16 13:17:20 +02:00
Sven Sauleau b166f46f2c parse import assertions 2021-07-16 13:14:54 +02:00
Tobias Koppers b29c44e223 add separate webpack warmup step with large timeout 2021-07-15 16:37:54 +02:00
Tobias Koppers 492055ae90 add cache compression 2021-07-02 07:05:13 +02:00
Tobias Koppers f7766875bc
Merge pull request #13649 from webpack/cache/automatic-store
store cache after large changes
2021-06-28 17:35:14 +02:00
Tobias Koppers 142bc5610f store cache after large changes
detect larger changes automatically and use shorter timeout
2021-06-28 11:35:14 +02:00
Tobias Koppers 4da99d8254 add `module` library support, test and example
add test cases for `experiments.outputModule`
2021-06-23 14:49:14 +02:00
Tobias Koppers 2615e1c475 fix import 2021-06-21 10:51:46 +02:00
Tobias Koppers 973edfbd1b support data urls as input in `new URL` 2021-05-19 11:30:09 +02:00
Tobias Koppers b0fa9ccada pretty files 2021-05-11 09:31:46 +02:00
Tobias Koppers 88da3f8ed2 normalize output.trustedTypes to an object 2021-05-10 10:34:21 +02:00
Tobias Koppers bb8ba1cd05 disable trustedTypes by default
allow to pass a boolean as trustedTypesPolicy
2021-05-10 09:02:46 +02:00
Krzysztof Kotowicz dbd095b44a Added the Trusted Types logic. 2021-05-04 16:12:34 +02:00
Tobias Koppers 9b57c3cb56 avoid complex "by exports" splitting for splitChunks in development mode 2021-04-28 09:10:44 +02:00
Tobias Koppers 766be5a3fd add cache.profile flag for more info about (de)serialization timings 2021-04-28 09:10:43 +02:00
Tobias Koppers be66dc6242 collect memory cache faster when using filesystem cache 2021-04-20 15:40:06 +02:00
Tobias Koppers 065177df66 add experimental support for build time execution
allow to execute a part of the module graph at build time
e. g. to generate code or other assets

loaders have access to that via `this.importModule(request, options)`
2021-04-12 12:27:54 +02:00
Tobias Koppers 21bc6e715b add support for a pseudo `.webpack[type]` extension allows to set module type when no other type is set from module.rules 2021-04-12 12:27:54 +02:00
Hyeonmin Park 74fabafe22 fix: base config test in Defaults 2021-04-06 22:50:19 +09:00
Hyeonmin Park 72ba68cc78 feat: add colors flag to infrastructureLogging 2021-04-04 14:28:31 +09: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
Tobias Koppers 5ff9a1486f add test case 2021-03-08 09:40:02 +01:00
Tobias Koppers 0e63c0db0a fix infinite loop in defaulting 2021-02-05 20:09:50 +01:00
Sergey Melyukov 654e4e1ba0 Merge remote-tracking branch 'upstream/master' into clean 2021-02-02 10:38:41 +03: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 aac7f2e619 allow to configure parsers and generators globally
get plugin schemas from root schema
normalize module.parser/generator
add test case
2021-01-05 12:08:30 +01:00
Tobias Koppers d46f945572 fix problem when HMR and different runtimes
allow HMR to work in WebWorkers too
2020-11-28 13:53:32 +01: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 8c2e4f595b Merge remote-tracking branch 'upstream/master' into clean 2020-10-07 14:19:55 +03:00
Sergey Melyukov 8c2bcaef5b (fix): test 2020-10-01 09:17:58 +03:00
Tobias Koppers 68f0dbe748 allow plugins to modify the default size types for splitChunks 2020-09-29 14:34:59 +02:00
Tobias Koppers 4ea79e0683 update enhanced-resolve and webpack-sources
add resolve.preferRelative
set preferRelative for new URL() and new Worker() to fix relative requests
2020-09-28 20:43:03 +02:00
Tobias Koppers 7597fe3baf make browserslist the default target when browserslist config is available 2020-09-28 13:48:13 +02:00
Tobias Koppers ea075be453 add config.ignoreWarnings
deprecate stats.warningsFilter
2020-09-20 22:08:38 +02:00
Tobias Koppers 51c546bb99 fix test cases 2020-09-18 11:36:16 +02:00
Tobias Koppers 4dc04d1971 Merge branch 'master' into dynamically-resolve-public-path 2020-09-18 10:40:39 +02:00
Ivan Kopeykin 580de0873a update publicPath
- support option output.publicPath="auto"
- add test cases
- render import.meta.url for output.scriptType="module"
2020-09-15 00:27:38 +03:00
Tobias Koppers bbdb33a5cf rename output.environment.import -> output.environment.dynamicImport 2020-09-11 23:11:02 +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 48010fb955 replace output.ecmaVersion with output.environment and more detailed flags 2020-09-10 11:12:28 +02:00
Tobias Koppers 730aefef37
Merge pull request #11412 from webpack/experiments/enable-mjs
enable mjs experiment
2020-09-10 10:57:36 +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 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 2d4c9da6a6 enable mjs experiment 2020-09-07 23:15:24 +02:00
Tobias Koppers 0111405198 enable asset experiment 2020-09-03 14:19:09 +02:00
Tobias Koppers d5d2e3f244 use "self" as globalObject for web-like targets 2020-08-28 11:27:31 +02:00
Tobias Koppers a7e86c791c remove chunkCallbackName, update snapshots 2020-08-28 10:59:40 +02:00
Tobias Koppers 805d26b0ae unify config options for jsonpFunction and chunkLoadFunction to chunkLoadingGlobal
rename hotUpdateFunction to hotUpdateGlobal
2020-08-28 10:58:00 +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 db36afea4d
Merge pull request #11333 from chenxsan/feature/output-charset
add output.charset option
2020-08-19 15:01:06 +02:00
Tobias Koppers 85b5f2dbc4 update configuration snapshots 2020-08-19 09:04:32 +02:00
chenxsan 7640f391af update snapshots 2020-08-17 21:24:29 +08:00
Tobias Koppers a348f9558d
Merge pull request #10457 from webpack/feat-support-query-for-asset-modules
feat: support `[query]` for asset modules
2020-08-04 16:00:55 +02:00
Tobias Koppers dfc8e35f2d enable experiments.importAsync by default
remove experiments.importAwait
2020-08-04 00:47:08 +02:00
evilebottnawi dcd9eb09e9 feat: support `[query]` for asset modules 2020-08-03 23:08:03 +02:00
evilebottnawi ac3ca46c83 feat: support `[query]` for asset modules 2020-08-03 23:08:02 +02:00
Tobias Koppers 6e7e145107 linting 2020-07-27 22:59:56 +02:00
Tobias Koppers 1179a3eaab
Merge pull request #11188 from webpack/feature/mjs
improve compatibly with node.js ESM
2020-07-20 12:18:21 +02:00
Tobias Koppers f65adade96 deprecate optimization.noEmitOnErrors in favor of optimization.emitOnErrors 2020-07-20 08:40:31 +02:00
Tobias Koppers abb2a29748 improve wasm + mjs handling, remove .mjs from extensions 2020-07-17 15:57:56 +02:00
Tobias Koppers 205bbb4c0d improve compatibly with node.js ESM
improve experiments.mjs to be more compatibly with node.js ESM
  - add support for `type: "module"` in package.json
  - add support for `*.cjs`
  - enable strict ESM for data uris with `text/javascript` or `application/javascript`
  - disallow not fully specified requests in imports `*.mjs` or `type: "module"`

add `descriptionData` rule condition to match package.json info
fix passing resolveOptions along context modules
2020-07-17 13:58:29 +02:00
Tobias Koppers 336715f878 Only apply default js extensions when using a JS dependencyType 2020-07-15 14:13:34 +02:00
Tobias Koppers f1d84bcdde update snapshots 2020-07-13 13:45:57 +02:00
Tobias Koppers 3d36f75f88
Merge pull request #11143 from vankop/add-roots
add roots option
2020-07-09 13:15:30 +02:00
Tobias Koppers 454bee59e6 disable used exports optimization in development to prevent unexpected changes to module 2020-07-09 08:46:43 +02:00
Ivan Kopeykin 38779b85ee add roots option 2020-07-09 00:17:57 +03:00
Tobias Koppers 204e104bc2
Merge pull request #11084 from smelukov/rename-json-script-type
rename jsonScriptType to scriptType
2020-06-29 14:34:21 +02:00
Nitin Kumar 9103c89838 tests: add test for stats string 2020-06-25 15:16:47 +05:30
Nitin Kumar f6c8039c5a tests: add test for stats false 2020-06-25 15:11:43 +05:30
Nitin Kumar e374ab1582 tests: add tests for stats true 2020-06-25 15:09:54 +05:30
Sergey Melyukov 139da61b5f rename jsonScriptType to scriptType 2020-06-24 23:05:21 +03:00
Tobias Koppers 854c67b6b9
Merge pull request #11070 from webpack/feature/split-chunk-improvements
Feature/split chunk improvements
2020-06-24 11:09:24 +02:00
Tobias Koppers ba9027ac1a
Merge pull request #10719 from goganchic/feature/data-uri
Implement Data URI imports
2020-06-24 11:08:44 +02:00
Tobias Koppers 26996b385e fix defaults snapshot 2020-06-24 10:22:13 +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 6146187ed2 rework defaults
defaults now align with webpack exports field guideline
2020-06-12 19:29:17 +03:00
goganchic 0ab91b7664 fix mimetype type description 2020-06-05 15:32:43 +03:00
goganchic 7fe8959fbe fix tests from Defaults.unittest.js 2020-06-05 15:15:11 +03:00
Ivan Kopeykin 4af609a38c fix resource identifier in Compilation and resolveLoader options 2020-05-28 10:53:28 +03:00
Ivan Kopeykin bf3633ee1b add exportsFields and conditionNames options 2020-05-25 14:44:50 +03:00
Tobias Koppers c74a9d208b update snapshots
make diff snapshots less position dependent
2020-05-20 17:53:00 +02:00
evilebottnawi 378f6a47d7 chore(deps): update `jest` 2020-02-27 20:23:35 +03:00
evilebottnawi 120c655709 chore(deps): update `jest` 2020-02-27 20:23:33 +03:00
evilebottnawi ffb83b8f16 chore(deps): update `jest` 2020-02-27 20:23:30 +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 bbb16e7af2 add output.uniqueName option
It defaults to library name or name from package.json in context

output.uniqueName will be used to generate unique globals for
* output.jsonpFunction
* output.chunkCallbackName
* etc.
2020-02-26 16:32:42 +01:00
Tobias Koppers 03431d1113 from serve property from options 2020-02-18 22:55:31 +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