Commit Graph

1044 Commits

Author SHA1 Message Date
alexander-akait 70bdb248e4 fix: no `Function` types 2025-03-13 19:34:04 +03:00
Qingyu Wang 8ab85e29bb feat: implement `module.generator.json.JSONParse`
For large `.json` modules, webpack will generate `JSON.parse` by default for
better performance. But there are some circumstances that `JSON.parse` is not a
good choice (e.g.: when doing AOT compilation).

Thus, a new generator option `module.generator.json.JSONParse` is added to
disable generating `JSON.parse` for `.json` module.

The default value is kept as `true` and can be opt-out by custom rules.

fix: #19319
2025-03-13 22:24:10 +08:00
alexander-akait 75314afd4e chore: fix typo 2025-03-12 05:14:53 +03:00
alexander-akait a1df00d339 refactor: improve eslint configuration and better types 2025-03-12 04:56:14 +03:00
alexander-akait c1c085d74a fix: `strict` types 2025-03-11 17:20:50 +03:00
alexander-akait 8089525014 fix: fs type 2025-03-11 05:34:56 +03:00
alexander-akait 0992137f40 fix: types 2025-03-11 05:03:41 +03:00
alexander-akait 5a94c06c67 fix: types 2025-03-11 03:28:01 +03:00
alexander-akait 9abab772ea fix: types 2025-03-07 19:02:26 +03:00
Alexander Akait 7b4641f5ee
fix: types (#19291) 2025-03-07 16:12:22 +03:00
Alexander Akait 916f049fba
fix: remove BOM from javascript and css modules 2025-03-04 21:05:18 +03:00
Ivan Kopeykin af7d788437
feat: add dead control flow check 2025-02-28 17:39:34 +03:00
co63oc 564a0e52a0
chore: fix typo in types 2025-02-27 14:00:58 +03:00
inottn ac6ffca02d
fix(types): correct BuildInfo and BuildMeta type definitions (#19200) 2025-02-06 16:41:24 +03:00
Alexander Akait 8ac130a2c8
ci: fix 2025-02-06 02:29:38 +03:00
hai-x 58fb03552c fix: sub define key should't be renamed when it's a defined variable 2024-12-04 20:12:40 +08:00
alexander.akait 193b712734 refactor: CSS HMR 2024-11-28 23:35:59 +03:00
alexander.akait f290b16879 fix: types 2024-11-25 17:59:02 +03:00
Tim Fish 7f8802a8da Merge remote-tracking branch 'upstream/main' into feat/inject-debug-ids 2024-11-20 16:03:49 -05:00
alexander.akait 4d95b0df1d fix: concatenation 2024-11-15 18:59:14 +03:00
Tim Fish 5821a9b8ea Merge remote-tracking branch 'upstream/main' into feat/inject-debug-ids 2024-11-14 13:50:23 +00:00
alexander.akait 0016a1a075 fix: sync and async wasm generation 2024-11-14 06:34:49 +03:00
alexander.akait 644e5630fe fix: logic 2024-11-13 23:38:12 +03:00
alexander.akait 54b687d8a1 fix: d.ts 2024-11-12 20:09:58 +03:00
alexander.akait 0ab5b9e00c feat: export `MergeDuplicateChunks` plugin 2024-11-12 19:42:30 +03:00
Tim Fish fe74c240ec Linting 2024-11-08 16:14:49 +01:00
alexander.akait 5e09d0e05f feat: added `url` and `import` options for CSS 2024-11-01 18:43:21 +03:00
alexander.akait 5c556e32c5 fix: types regression in validate 2024-11-01 13:48:22 +03:00
alexander.akait b07142f672 refactor: module source types code 2024-11-01 00:14:05 +03:00
alexander.akait db323536f2 refactor: code 2024-10-31 20:04:57 +03:00
alexander.akait 79b8f00ea5 refactor: update acorn 2024-10-31 18:32:03 +03:00
alexander.akait dd83eea98d refactor: code 2024-10-31 18:18:08 +03:00
alexander.akait 5cbb321d6a feat: export CSS and ESM runtime modules 2024-10-31 17:55:49 +03:00
alexander.akait 6589de0b63 fix: types 2024-10-24 21:13:59 +03:00
alexander.akait e10dcf597e fix: types 2024-10-24 06:02:20 +03:00
alexander.akait 5ac0434184 fix: types 2024-10-24 00:41:15 +03:00
alexander.akait 8b864dbe81 fix: types 2024-10-23 23:30:31 +03:00
alexander.akait bb39c021af fix: no extra runtime for external asset modules in CSS 2024-10-23 21:28:40 +03:00
Alexander Akait 319576720c
fix: avoid generating extra js file when using asset module as entrypoint 2024-10-23 03:44:56 +03:00
alexander.akait 7ffa4eb81a fix: logic 2024-10-23 03:03:35 +03:00
Alexander Akait 9903856854
feat: Single Runtime Chunk and Federation eager module hoisting 2024-10-21 19:18:14 +03:00
alexander.akait 5832888320 feat(css): implemented basic logic 2024-10-16 17:42:26 +03:00
Zack Jackson aae2519634
Merge branch 'webpack:main' into hoist-container-refs 2024-10-14 14:47:31 -07:00
Alexander Akait 18d6cb5afe
fix: collision with global variables for `avoidEntryIife` 2024-10-14 18:04:29 +03:00
fi3ework bb10e4b5f0 fix: should avoid through variables in inlined module 2024-10-12 02:27:08 +08:00
alexander.akait 485f3d6758 fix(css): avoid extra runtime for assets modules 2024-10-11 17:24:53 +03:00
ScriptedAlchemy d0bfad35ae fix: rename hooks to be correct 2024-10-09 13:13:04 -07:00
ScriptedAlchemy 11f5b59ab2 fix: Container Reference Hoisting 2024-10-09 13:13:03 -07:00
alexander.akait 2651305b88 fix: update types 2024-10-04 17:40:33 +03:00
alexander.akait 7dc05c16fb fix: types 2024-10-03 20:09:12 +03:00
alexander.akait e60cff554a fix: types 2024-10-02 00:29:48 +03:00
alexander.akait 636b5c5dba fix: types 2024-10-02 00:18:10 +03:00
alexander.akait b3f89a33c8 fix: types 2024-09-30 22:05:27 +03:00
alexander.akait c5eccb21ca fix: avoid cache invalidation using `ProgressPlugin` and `importModule` 2024-09-26 19:31:30 +03:00
alexander.akait c59a232de5 fix: correctly parsing `string` export and import 2024-09-25 19:02:23 +03:00
Alexander Akait 4866b0daf1
feat: added new `optimization.entryIife` option 2024-09-25 16:58:02 +03:00
fi3ework c1a0a4666e fix(externals): distinguish “module” and “import” in “module-import” 2024-09-24 23:49:02 +08:00
alexander.akait 75d185d27e feat: pass `output.hash*` options to loader context 2024-09-20 16:56:45 +03:00
fi3ework fe169983cb udpate tests 2024-09-20 02:05:41 +08:00
fi3ework 8354f16073 update pr 2024-09-20 00:24:31 +08:00
fi3ework 7bc06a3295 feat: add new optimization.entryIife config 2024-09-19 01:20:47 +08:00
alexander.akait bbc2ea7516 fix: types for ts5.6 2024-09-10 21:32:49 +03:00
alexander.akait e1afc9a7df fix: types for ts5.6 2024-09-10 18:52:45 +03:00
Roman Gusev c5e197aa67 fix: add type hints 2024-08-28 00:37:17 +02:00
Roman Gusev d2c7a708d7 docs: update JSDoc types 2024-08-28 00:10:31 +02:00
Roman Gusev fa00953090 fix: make EnvironmentPlugin defaultValues types less strict 2024-08-27 23:52:54 +02:00
fi3ework 60f189871a fix: do not use heuristic fallback for "module-import" 2024-08-20 13:57:40 +08:00
fi3ework 66306aa456 Revert "fix: module-import get fallback from externalsPresets"
This reverts commit c951c982e3.
2024-08-19 19:50:35 +08:00
alexander.akait a2b0f9bac0 fix: ts types 2024-08-14 21:38:08 +03:00
Alexander Akait cb6ffaf38f
fix: handle ASI for export named declarations 2024-08-14 15:11:23 +03:00
alexander.akait d28b92c80c fix: handle ASI for export named declarations 2024-08-14 14:47:21 +03:00
fi3ework c951c982e3 fix: module-import get fallback from externalsPresets 2024-08-13 12:10:06 +08:00
alexander.akait 0a76fa02d3 fix: types 2024-08-09 18:42:37 +03:00
alexander.akait 7fd8ffb271 fix: types 2024-08-08 20:03:17 +03:00
alexander.akait 1805436d3b fix: types 2024-08-07 21:59:26 +03:00
alexander.akait ff9e19809a fix: types 2024-08-07 19:14:54 +03:00
Alexander Akait 13560eac2e
fix: a lot of types 2024-08-06 18:38:15 +03:00
alexander.akait c6d1d15c83 test: fix tests 2024-08-06 17:49:07 +03:00
alexander.akait adf2a6b7c6 fix: a lot of types 2024-08-06 06:08:48 +03:00
fi3ework c783012d91 rebase 2024-08-05 17:11:10 +08:00
fi3ework ce24bb03c2 feat: add new external type "module-import" 2024-08-05 17:03:09 +08:00
alexander.akait 0a68cb16a4 style: improve style of code 2024-08-02 19:32:14 +03:00
alexander.akait aca8a26e5f chore: types update 2024-07-30 17:25:53 +03:00
ahabhgk 9c9cb0bcdd feat: override strict for javascript module 2024-07-03 16:32:36 +08:00
alexander.akait 1e2e0ac44f refactor: code 2024-06-19 19:33:28 +03:00
ArcanoxDragon b6f164b2a9 Add a generator option for asset modules to prevent automatic conversion to Buffer (which causes source maps to be lost). Fixes #18438 2024-06-11 14:25:05 -05:00
alexander.akait 1954237716 chore: fix lint and types 2024-06-11 16:26:12 +03:00
Alexander Akait 0c5879aa67
fix: css url public path 2024-06-10 22:03:14 +03:00
alexander.akait e039135b81 fix: logic for cache 2024-06-10 21:40:30 +03:00
alexander.akait ba4db838e9 feat: added `with` ruleset rule 2024-06-10 20:40:50 +03:00
alexander.akait 2296c75bac fix: types 2024-06-10 20:02:46 +03:00
alexander.akait 6154a2393f refactor: code 2024-06-10 19:21:03 +03:00
ahabhgk 3afed0618b fix module rule output path 2024-06-10 22:29:15 +08:00
Alexander Akait 941d3a6017
feat: added platform target properties to compiler. 2024-06-07 18:03:18 +03:00
alexander.akait f97f21622f refactor: fix types 2024-06-07 17:36:15 +03:00
Alexander Akait 8de5f9ac09
fix: mangle with destructuring 2024-06-07 15:25:33 +03:00
ahabhgk fdf04da444 lint and fix test 2024-06-06 01:20:48 +08:00
Alexander Akait f09fcaf2af
feat: export `compileBooleanMatcher` util 2024-06-05 18:24:24 +03:00
Alexander Akait d9ce3b1f87
feat: support css esModule generator options 2024-06-04 15:42:23 +03:00
ahabhgk 563c56f406 fix: consider runtime for pure expression dependency update hash 2024-06-04 15:25:43 +08:00
Ivan Kopeykin ba6ace7f30 Merge branch 'main' into feat-platform-target-properties-in-compiler
# Conflicts:
#	lib/config/defaults.js
#	lib/webpack.js
#	types.d.ts
2024-05-08 19:21:41 +03:00
alexander.akait 677dc53080 refactor: logic 2024-05-07 19:01:41 +03:00
Ivan Kopeykin 31ddbd2232 Merge branch 'main' into feat-platform-target-properties-in-compiler 2024-05-07 16:17:55 +03:00
Ivan Kopeykin 3a498e7a39 fix namings 2024-05-01 18:10:57 +03:00
Ivan Kopeykin e11fb128a2 add platform target properties to compiler.
add 2 methods `compiler.getPlatformTargetInfo` and `compiler.setPlatformTargetInfo` to allow get and set platform target properties. by default resolve this properties from target option.
2024-05-01 17:28:13 +03:00
ahabhgk 7ff0a7a13e feat: support css esModule generator options 2024-04-26 14:53:52 +08:00
fi3ework 1234b1f27b fix: should count in module scope variables 2024-04-25 02:21:44 +08:00
fi3ework 551c3721cf feat: root module is less prone to be wrapped in IIFE 2024-04-24 15:54:06 +08:00
ahabhgk bf2571b957 remove exportsConvention for css 2024-04-20 12:10:56 +08:00
alexander.akait 1eaca5784a feat: export `compileBooleanMatcher` util 2024-04-16 18:53:21 +03:00
ahabhgk 0734314753 fix: mangle with destructuring 2024-04-13 02:40:28 +08:00
alexander.akait bfe7a71f85 feat: support `node:` prefix for Node.js core modules in runtime code 2024-04-11 19:16:15 +03:00
alexander.akait 4b62748f37 fix(types): context module types 2024-03-25 19:05:56 +03:00
alexander.akait 9c61ce5694 test: fix 2024-03-25 16:07:02 +03:00
Alexander Akait 4fda15571d
feat: export InitFragment class for plugins 2024-03-22 14:45:19 +03:00
Steve Repsher 21df328e02
Update types 2024-03-21 22:01:35 -04:00
Alexander Akait bc5cdcfa26
fix(types): export InputFileSystem and OutputFileSystem 2024-03-21 15:29:59 +03:00
alexander.akait 7b4775cebe fix(types): fix some types 2024-03-21 15:16:51 +03:00
alexander.akait 4e66cad29e fix(types): export InputFileSystem and OutputFileSystem 2024-03-21 15:12:38 +03:00
alexander.akait be1d35eb02 fix(types): more 2024-03-18 18:50:56 +03:00
alexander.akait 3e3dfd781b fix(types): more 2024-03-17 20:15:44 +03:00
alexander.akait a60b294847 feat: allow to customize the stage of BannerPlugin 2024-03-15 20:55:59 +03:00
alexander.akait 9ed9d06c05 test: more 2024-03-15 19:59:30 +03:00
alexander.akait d50aeb629e test: import attributes 2024-03-15 19:03:28 +03:00
alexander.akait d6e98945c9 fix(js): import assertions 2024-03-15 17:24:33 +03:00
alexander.akait 33cd20a180 fix(types): watching and more 2024-03-14 18:15:13 +03:00
alexander.akait 6f89ed11e9 chore(deps): update `@types/node` 2024-03-12 21:11:53 +03:00
alexander.akait 32717aae42 fix: all filesystem types 2024-03-11 19:33:52 +03:00
Alexander Akait 94d874162a
fix: `fs` types 2024-03-11 18:15:08 +03:00
alexander.akait 5c28ea39a5 fix: types 2024-03-11 17:56:35 +03:00
alexander.akait b58abf188e chore(deps): update enhanced-resolve 2024-03-11 17:06:28 +03:00
alexander.akait cf891a4164 fix: resolve's plugins types 2024-03-11 15:35:28 +03:00
alexander.akait 3a70d69de7 fix: types more 2024-03-06 16:40:12 +03:00
ahabhgk 074fccb38b feat: add css head data compression 2024-03-06 14:29:57 +08:00
alexander.akait 44b4f96e2b refactor: code 2024-03-05 17:40:46 +03:00
alexander.akait b23130013c fix: `fs` types 2024-03-05 16:37:51 +03:00
Alexander Akait 5c2abc3734
feat(css): support css local ident name 2024-02-27 15:19:26 +03:00
Alexander Akait 611bded369
fix: types 2024-02-22 17:58:30 +03:00
alexander.akait caea8131b3 fix: types 2024-02-22 17:36:36 +03:00
alexander.akait 6ab9bdaa73 fix: types 2024-02-22 17:20:17 +03:00
ahabhgk d4dc533fc3 feat: support css local ident name 2024-02-22 20:10:45 +08:00
alexander.akait a1f46a9ac3 fix: types 2024-02-21 17:55:02 +03:00
alexander.akait 6cd0ddbf26 fix: types 2024-02-21 17:05:29 +03:00
ahabhgk f892acf0a2 use dashes case 2024-02-21 19:51:03 +08:00
ahabhgk d4a5766bbe feat: support css exports convention 2024-02-21 16:00:24 +08:00
Alexander Akait c8d4b5e29c
fix: more types 2024-02-19 15:27:07 +03:00
alexander.akait 1addd26691 refactor: more types 2024-02-19 15:13:36 +03:00
alexander.akait 2732c57143 refactor: more types 2024-02-16 21:03:51 +03:00
alexander.akait 3e0b1b7528 fix: types for `Stats.toJson()` and `Stats.toString()` 2024-02-16 15:47:38 +03:00
alexander.akait 7cbf14523e fix(types): update 2024-02-01 18:27:44 +03:00