Commit Graph

416 Commits

Author SHA1 Message Date
pavelsavara 73bb43139d - add new config section importMeta
- use it in ImportMetaPlugin to switch it off as necessary
2022-01-25 16:08:56 +01:00
Tobias Koppers 1489b91a98 allow to generate only exports for css in node
add more options to the DeterministicModuleIdsPlugin to allow to opt-in into a fixed mode

optimize module iterations for module id assignment
2022-01-19 15:17:01 +01:00
Tobias Koppers e2bfe58994 nitpicks 2022-01-19 09:18:17 +01:00
Karlis Gangis 2fc4c8da1b Add 'outputPath' configuration option for resource asset modules 2022-01-18 13:45:42 +02:00
Tobias Koppers 2f2991a967 Merge branch 'main' into support-cjs-static-named-exports 2022-01-10 14:38:57 +01:00
Tobias Koppers 102014bf54 fix target expression
fix externals

add test case
2022-01-10 14:33:34 +01:00
Tobias Koppers 16784692d3 add `output.cssChunkFilename` 2021-12-17 12:18:01 +01:00
Tobias Koppers 77b5589c1a css generation and hmr 2021-12-03 08:46:22 +01:00
Ivan Kopeykin c243a4b022 Merge branch 'main' into feature-14072
# Conflicts:
#	schemas/WebpackOptions.check.js
2021-11-30 13:56:01 +03:00
Ivan Kopeykin 1bdc48e32b improve runtime template
- add optional chaining support check,
- add template string support check,
- use template string in asset generator
2021-11-21 21:18:11 +03:00
Tobias Koppers 9bb5651e6a add `asyncChunks: boolean` option to disable creation of async chunks 2021-11-10 15:04:44 +01:00
Tobias Koppers 7afcc5d4ff allow to disable some deprecations
add `experiments.backCompat: false` (default in `experiments.futureDefaults`)
remove unused `experiments.asset`
enable `experiments.topLevelAwait` and `experiments.asyncWebAssembly` by default in `experiments.futureDefaults`
2021-11-05 09:54:51 +01:00
Tobias Koppers 53fbc86887 Merge branch 'main' into mamolin/allow-ignore 2021-11-03 12:41:51 +01:00
Tobias Koppers d9c592738a refactor and add test cases
add `parser.exportPresence`, `parser.importExportPresence`, `parser.reeexportExportPresence` `"error" | "warn" | "auto" | false`
2021-11-02 18:29:47 +01:00
Tobias Koppers e189971705 Merge branch 'main' into mamolin/allow-ignore 2021-11-02 13:46:25 +01:00
Tobias Koppers 6e50595cad split chunks `chunks` filter also affects fallbackCacheGroup
add `splitChunks.fallbackCacheGroup.chunks`
2021-11-02 13:23:09 +01:00
Ivan Kopeykin 166be712c0 Merge branch 'main' into feature-14072
# Conflicts:
#	lib/dependencies/CachedConstDependency.js
#	schemas/WebpackOptions.check.js
2021-10-30 21:36:39 +03:00
Tobias Koppers 691e37b6f1 add missing descriptions to schema 2021-10-25 12:33:33 +02:00
Tobias Koppers 4a1d4e6dba Merge branch 'main' into feat/lazy-compilation-backend-https-support 2021-10-25 12:18:53 +02:00
Tobias Koppers ba154bc741 refactor and add test case 2021-10-25 12:12:52 +02:00
Tobias Koppers 3d3c65f50f add splitChunks.minSizeReduction 2021-10-19 12:35:04 +02:00
Tobias Koppers ae52a74802 improve buildHttp
allow multiple configurations to write to the same lockfile
add allowedUris for allowlisting
add schema validation
2021-10-19 09:21:05 +02:00
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
Chaz Gatian 537da95879 feat: add lazyCompilationBackend configuration
support customizing lazyCompilationBackend's port and server options

Fixes #14053, Fixes #14205
2021-09-16 10:47:04 -04:00
Ivan Kopeykin 6c3a04d5ce add node-module option for node.__file/dirname
evaluate __filename and __dirname for common js modules when output.module to
fileURLToPath(import.meta.url) and fileURLToPath(import.meta.url + "/..") respectively
2021-09-14 16:50:03 +03: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
chenxsan ce7d9e572c fix a typo 2021-08-07 11:39:51 +08: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 d3f8e16810 update webpack-sources for performance problem in hashing
add `stats.reasonsSpace` and `stats.groupReasonsByOrigin` to control large set of reasons
`detailed` preset limites all spaces to 1000 by default

fixes #13825
2021-07-20 13:29:25 +02: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
Tobias Koppers bb6c596272 improve schema and description 2021-07-16 13:17:49 +02:00
Sven Sauleau b166f46f2c parse import assertions 2021-07-16 13:14:54 +02:00
Tobias Koppers 94852e07f7 allow to disable runtime chunk per entry via `runtime: false`
and also via `ModuleFederationPlugin`.`runtime`
2021-07-05 11:32:45 +02:00
Tobias Koppers 492055ae90 add cache compression 2021-07-02 07:05:13 +02:00
chenxsan 02173d571a add node-commonjs to ExternalsType 2021-06-29 23:11:04 +08:00
chenxsan 82c8a5c092 update webpack options 2021-06-29 12:33:28 +08: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 35a399e81a add dependencyType to externals function data 2021-06-24 16:45:14 +02:00
Tobias Koppers 973edfbd1b support data urls as input in `new URL` 2021-05-19 11:30:09 +02:00
Tobias Koppers c7d7940517 Merge branch 'master' into issue-13284 2021-05-17 16:22:54 +02:00
Tobias Koppers 0e881beb35 fix schema for absolute conditions and add test cases 2021-05-17 16:21:33 +02:00
Tobias Koppers 88da3f8ed2 normalize output.trustedTypes to an object 2021-05-10 10:34:21 +02:00
Tobias Koppers 7d42aa7a30 better types for normalized options 2021-05-10 09:58:27 +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 3561285ea8 Skip using Trusted Types checks if trustedTypesPolicyName is empty. 2021-05-07 10:30:57 +02:00
Bolarinwa Balogun 23df156f32 Add description to 'RuleSetLogicalConditions' definition 2021-05-06 18:54:18 -04:00
Bolarinwa Balogun 0d1e2f9c5b Apply requested changes 2021-05-06 07:57:33 -04:00
Krzysztof Kotowicz dbd095b44a Added the Trusted Types logic. 2021-05-04 16:12:34 +02:00
Krzysztof Kotowicz c816c135ca Removed a deprecated createURL function reference. 2021-05-04 16:06:37 +02:00
Bolarinwa Balogun 743b190816 fix: resolve mismatch with types declaration and docs for resourceQuery 2021-05-03 11:40:26 -04: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 177736f59c avoid leaking unused memory in buffer backing stores in development mode 2021-04-20 15:22:16 +02:00
jamesgeorge007 ec1eb4b037 chore: update type definitions 2021-04-14 22:44:05 +05:30
Tobias Koppers 38de0dbf4e allow to specify `publicPath` for each entrypoint 2021-04-14 16:38:01 +02:00
Tobias Koppers ea3e0a39ac add experiments.executeModule
rename runModule -> executeModule
improve error reporting
2021-04-12 12:27:55 +02:00
Tobias Koppers 4e117781e8 improvements
add appendOnly flag
add custom console
add custom stream
2021-04-06 15:20:27 +02:00
Hyeonmin Park 72ba68cc78 feat: add colors flag to infrastructureLogging 2021-04-04 14:28:31 +09:00
Tobias Koppers 3b8d26df1e
Merge pull request #12990 from webpack/bugfix/memory-leak-in-ic
memory usage improvements, add GC support for memory cache, persistent cache only mode
2021-04-01 18:14:16 +02:00
Tobias Koppers e42f6d71d5
Merge pull request #12963 from smelukov/add-missing-groupModulesByType
(fix): add missing scheme property stats.groupModulesByType
2021-04-01 17:31:15 +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
Sergey Melyukov 515d0d6d4a (chore): fix types 2021-03-23 14:41:30 +03:00
Tobias Koppers c5fa7510f2 remove `output.assetModulePublicPath` as it would be redundant to `module.generator.asset.publicPath`
add test case for assetInfo merging
2021-03-22 15:05:50 +01:00
xiaoxiaojx 55fd79ee6a feat: support assetModulePublicPath 2021-03-20 17:53:01 +08:00
Tobias Koppers 7572217e97 add `emit` option for asset modules
fixes #12474
2021-03-11 18:45:34 +01:00
Tobias Koppers 85a6eee0bb move parser.filename back to generator.filename 2021-03-11 17:19:11 +01:00
Tobias Koppers f93aacd55f move filename processing from asset generator to parser
remove memory leak from asset generator
2021-03-11 10:40:03 +01:00
Tobias Koppers 404a854c8b improve hmr error handling abilities
pass module and moduleId with self error handler
add error handlers for dependency accept handlers
pass moduleId and dependencyId with dependency accept error handler
add output.strictModuleErrorHandling to opt-in into strict module error handling
HotModuleReplacementPlugin enalbed output.strictModuleErrorHandling automatically

fixes #12826
2021-03-09 20:23:00 +01:00
Tobias Koppers 0b4506b206 improve typings for loggingDebug and other filtering configuration options 2021-02-22 13:18:27 +01:00
Tobias Koppers 5d57777a5e add `parser.url: "relative"` option
this will generate URLs without base uri for `new URL`
publicPath is still added
2021-02-16 19:04:16 +01:00
Tobias Koppers 03f740a96c Show error details automatically when only 2 or less errors are there
Show message that points you to errorsDetails when error details are hidden
Improve some error messages
Highlight important parts of error message with colors
2021-02-05 15:55:31 +01:00
Tobias Koppers 36306a06e1
Merge pull request #11561 from smelukov/clean 2021-02-02 20:31:45 +01:00
Tobias Koppers 4e99d94bc7 refactor to read directories in parallel
handle errors
rename "ignore" to "keep"
2021-02-02 18:49:45 +01:00
Tobias Koppers 22471f6dd6 Improvements to schema 2021-02-02 13:46: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 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 7002681c33 remove duplication in schema and types 2021-01-20 20:53:29 +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 1e988a109b Merge branch 'master' into feat/issue_11571 2021-01-18 16:54:26 +01:00
Tobias Koppers e475ec3fb0
Merge pull request #12429 from webpack/feature/resolve-in-externals 2021-01-15 16:07:15 +01:00
Tobias Koppers b6e349b018 offer getResolve to externals
improve types of externals configuration option
support promises in externals
2021-01-15 13:55:37 +01:00
Jaiwanth 8569b154b5 Added chunkModulesSpace to schema 2021-01-14 13:06:33 +05:30
Tobias Koppers 32cea584b4 add resolve.preferAbsolute option 2021-01-11 16:38:15 +01:00
Tobias Koppers 87a0eef85c separate index signatures from properties to generate valid typescript 2021-01-08 21:35:44 +01:00
Tobias Koppers dcf6449393 allow function for externals.byLayer 2021-01-06 11:14:23 +01:00
Tobias Koppers 10aa3daede add experiments.layers
add layers to define different module layers
support module layers in stats

add layer support for NormalModules

fixes #11466
2021-01-05 20:50:59 +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 cd70878036 update description 2021-01-04 15:43:47 +01:00
Jaiwanth ee1fcf1255 Added nestedModulesSpace to schema and updated the types 2020-12-29 22:08:49 +05:30
Tobias Koppers 284eb60fc0 fix typings for `object` arguments 2020-12-18 13:52:27 +01:00
Tobias Koppers b5b1f25ad2 improve typings for stats related hooks and classes 2020-12-17 18:51:55 +01:00
Tobias Koppers 8acebd2ff5 treat `undefined` equal to not existing in rules
both are treated as empty string
2020-12-17 11:20:11 +01:00
Tobias Koppers c24091f54d matched value can be undefined in function rule condition 2020-12-16 18:29:36 +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 6762521773 upgrade tooling for improved array types
fixes #11801
fixes #11850
2020-10-28 20:51:08 +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
Tobias Koppers 195a9408ff improve description 2020-10-22 18:58:14 +02:00
Cronus1007 7f76c2d722 followSymLinks Options Added with the snapshots and typings updated 2020-10-22 19:57:07 +05:30
xiaoxiaojx f25b09f783 feat: libraryTarget add assign-properties 2020-10-11 04:49:40 +08:00
Sergey Melyukov ee0c891c67 (fix): pr comments 2020-10-07 15:30:14 +03:00
Sergey Melyukov 8c2e4f595b Merge remote-tracking branch 'upstream/master' into clean 2020-10-07 14:19:55 +03:00
Sergey Melyukov 132ca09a11 (refactor): CleanPlugin 2020-10-07 13:48:51 +03:00
Sergey Melyukov 4b04a4b1f5 (feat): add output.clean 2020-09-30 18:33:30 +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
Aaron Tribou 0cf554f537
Merge branch 'master' into bugfix/accept-ignored-regex 2020-09-26 10:16:46 -05:00
Tobias Koppers b8950e8581 output.chunkFilename can be a function 2020-09-25 16:03:05 +02:00
Aaron Tribou e7bf987114
Check-in updates from special-lint-fix 2020-09-20 20:44:46 -05:00
Tobias Koppers ea075be453 add config.ignoreWarnings
deprecate stats.warningsFilter
2020-09-20 22:08:38 +02:00
Tobias Koppers f263359fd8 use output.importMetaName for import.meta 2020-09-18 10:55:37 +02:00
Tobias Koppers 4dc04d1971 Merge branch 'master' into dynamically-resolve-public-path 2020-09-18 10:40:39 +02:00
Tobias Koppers aadc15e740 update enhanced-resolve for
- imports field support
- resolve.fallback option

recommend resolve.fallback for polyfills
2020-09-16 07:28:32 +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 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 0afc6a7f48 print entrypoint only when necessary (stats.entrypoints: "auto")
show sizes for entrypoints
2020-09-03 23:29:14 +02:00
Tobias Koppers 8e0c511068 replace hash, version, time and builtAt with build summary at the bottom 2020-09-03 22:12:52 +02:00
Tobias Koppers ce97f40bb7 update test case for changed stats format
fix bug with groupModulesByType flag
rename stats.runtime to stats.runtimeModules
2020-09-02 10:51:10 +02:00
Tobias Koppers 5282f878a1 fix groupModulesByAttributes description 2020-09-01 20:52:36 +02:00
Tobias Koppers 8904dd7b91 rename groupAssetsByStatus to groupAssetsByEmitStatus 2020-09-01 20:52:34 +02:00
Tobias Koppers be021e00f4 add grouping of modules 2020-09-01 18:31:22 +02:00
Tobias Koppers 3ea9400505 add grouping of assets 2020-09-01 18:16:43 +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 a7e86c791c remove chunkCallbackName, update snapshots 2020-08-28 10:59:40 +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 d69fadf8e8 add output.chunkLoading option to control chunk loading plugins 2020-08-28 10:58:04 +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 b929d4cdce calculate real content hash for assets after asset processing 2020-08-18 22:07:24 +02:00
chenxsan 509349f7d1 fix lint 2020-08-17 21:44:32 +08:00
chenxsan 2611eb8ccc update schemas 2020-08-17 20:34:23 +08:00
chenxsan fd19fa90b8 add output.charset option 2020-08-17 20:25:27 +08: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 d95fa3da6d need to check dependency when applying loaders for normal imports 2020-08-08 11:29:09 +02:00