You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -12,50 +12,53 @@ Our work this year is not only focused on improving existing functionality, but
12
12
13
13
## So what is on our agenda this year? Let me walk you through it!
14
14
15
-
-**CSS modules**- adding built-in CSS solution into webpack (90% done) - Native CSS support [webpack#14893](https://github.com/webpack/webpack/issues/14893), as you can see many of them in TODO, ETA - end of February/March
15
+
-**CSS modules**— built-in CSS support in webpack (≈90%). Native CSS support [webpack#14893](https://github.com/webpack/webpack/issues/14893). ETA: Feb–Mar.
16
16
17
-
-**Universal target**- when you code will work in any environments - NodeJS, browser, deno, bun, etc (98% done), what need to be finished - wrapper to load commmonjs modules, adding own `target: "universal"` and more tests, note - universal target supported only ECMA modules output and your code should be written like you wrote it for any environments (example - `const myFs = isNodeJs ? require("fs") : require("memory-fs-which-will work-in-browser")`)
17
+
-**Universal target**— works across Node.js, browsers, Deno, and Bun (≈98%). Finish CommonJS wrapper, add `target: "universal"`, and expand tests. Outputs ESM only; write environment-agnostic code.
18
18
19
-
-**Typescript built-in support** - almost ready to implement: [`enhanced-resolve`](https://github.com/webpack/enhanced-resolve)already supports [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html), we need to add wrapper to `module.javascript.parse` and parse typescript files using NodeJS API, improve `resolver` option to support `ts/cts/mts` extensions and also add `extensionAlias` to mapping ts files to js and versa vice, and tests.
19
+
-**TypeScript** — built-in support. [`enhanced-resolve`](https://github.com/webpack/enhanced-resolve)honors [`tsconfig.json`](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html). Add parser wrapper to `module.javascript.parse`, improve resolver for `ts/cts/mts`, support `extensionAlias`, and add tests.
20
20
21
-
-**HTML modules**- including support HTML generation to replace https://github.com/jantimon/html-webpack-plugin/, support HTML modules (`import html from "file.html"`) and supports HTML entrypoints (these two are the same). GOOD for GSoC, we should start with HTML modules and entrypoints. Use a HTML file as an entry point? [webpack#536](https://github.com/webpack/webpack/issues/536)
21
+
-**HTML modules**— first-class HTML: import HTML files and use HTML entry points. Aim to replace `html-webpack-plugin`. See [webpack#536](https://github.com/webpack/webpack/issues/536).
22
22
23
-
-**ECMA modules**- fixes and improvements. ESM Module Output [webpack#17121](https://github.com/webpack/webpack/issues/17121)
23
+
-**ESM output**— fixes and improvements. See [webpack#17121](https://github.com/webpack/webpack/issues/17121).
24
24
25
-
-**Webpack everywhere**- compile webpack to ensure we can compile own code to node and web targets (universal too when was implemented), less nodejs internals and no buffer, adding playground on site.
25
+
-**Webpack everywhere**— build webpack for Node and web (including universal), reduce Node internals and Buffer usage, add a site playground.
26
26
27
-
-**Adding support for deno and bun**- deno already work, need tests, bun not tested.
-**webpack-dev-server**, **webpack-dev-middleware**, **webpack-hot-middleware** - union webpack-dev-middleware and webpack-hot-middleware into one middleware, extract overlay from devserver and union overlay and websocket (and event source) logic with extracted code from `webpack-hot-middleware` and reuse it inside dev server. Plugin support for devserver.
31
+
-**Dev tooling** — merge `webpack-dev-middleware` and `webpack-hot-middleware`. Extract overlay from dev-server and consolidate overlay + WS/EventSource logic for reuse. Add plugin support to dev-server.
32
32
33
-
-**webpack-cli**- Deprecate Some Packages [webpack-cli#4619](https://github.com/webpack/webpack-cli/issues/4619) - avoid extra packages by union them into code, refactor help, refactor subcommand logic.
33
+
-**CLI**— consolidate packages, refactor help and subcommand logic. See [webpack-cli#4619](https://github.com/webpack/webpack-cli/issues/4619).
34
34
35
-
-**Documentation and Site**- auto-generation of documentation - name, description, type and default value (do we need more? maybe when option was added, anything else?), here we should write a function inside webpack itself which takes our schemes and types and generate JSON, then site will generate markdown from these JSON. Also new site, but the auto-generation of documentation is the high priority and should be resolved as soon as possible, currently our documentation does not reflect all the options, which has a negative impact on developer experience.
35
+
-**Docs & site**— auto-generate options docs from webpack schemas/types into JSON, then render Markdown on the site. Priority: accurate, complete docs.
36
36
37
-
-**Avoid extra packages**- union terser-webpack-plugin, css-minimizer-webpack-plugin, html-minimizer-webpack-plugin and json-minimizer-webpack-plugin into one `minimizer-webpack-plugin`, all these packages have almost identical code, they also support all popular minimizers out of the box, we just need merge these code into one. in future we can more tasks here.
37
+
-**Minimizers**— combine `terser-webpack-plugin`, `css-minimizer-webpack-plugin`, `html-minimizer-webpack-plugin`, and `json-minimizer-webpack-plugin` into one `minimizer-webpack-plugin`.
38
38
39
-
-**Multithreading API**- we have https://github.com/webpack/thread-loader as an example, but we need to move this into core, it is a difficult task and requires discussion
39
+
-**Multithreading API**— bring ideas from [`thread-loader`](https://github.com/webpack/thread-loader)into core; needs design discussion.
40
40
41
-
-**New Design**- we are working on new webpack design sheets that we can use in different projects, either digitally or through swag in our merchandise store.
41
+
-**Design**— new design assets for projects and swag.
42
42
43
-
-**Renewed community work**- Actively engage and reach out to users within the web ecosystem to promote webpack and show our work to others either through articles or conferences.
43
+
-**Community**— outreach via articles and conferences.
44
44
45
-
-**Google Summer of Code**- Mentor students that are interested in starting their Open Source journey.
45
+
-**GSoC**— mentor students starting their OSS journey.
46
46
47
-
-**Donations**- Try to get new sponsors so that we can continue maintaining the webpack project.
47
+
-**Donations**— grow sponsorships to sustain maintenance.
48
48
49
49
## Other tasks
50
50
51
-
- move `loader-runner` into core, we don't need an extra package here and also our logic around loader context is divided by two packages - webpack itself and loader-runner, let's improve this
52
-
- Fewer TODOs in webpack code to prepare for the future of webpack@6,
- Add more benchmarks to webpack (maybe merge with https://github.com/webpack/benchmark) + extra github actions to test it between different version like we have in https://github.com/webpack/benchmark)
51
+
- Move `loader-runner` into core to unify loader context logic.
52
+
- Reduce internal TODOs in preparation for webpack@6.
53
+
- Improve test coverage.
54
+
- Strengthen type coverage (fewer `any/unknown/...`).
55
+
- Add more benchmarks (potentially merge with [`webpack/benchmark`](https://github.com/webpack/benchmark)) and CI to compare versions.
56
+
56
57
57
58
## Final remarks
58
59
59
-
I hope that you found this list useful and that you are excited for 2026, we are! One of the most important parts of our work now, is to get enough donations to keep the project sustainable. We use our resources on payouts for all contributors once they reach a certain threshold. In addition to that, we want to make sure that over time, the project has some left-over resources so that we can save when times are hard. We also want to give back to our maintainers working hard to make the project great in terms of merch (aka swag). This year we will try something new, which is so have dedicated sections where firms/individuals that contribute a significant amount will have a place to showcase their product/thing.
60
+
I hope that you found this list useful and that you are excited for 2026, we are! One of the most important parts of our work now, is to get enough donations to keep the project sustainable. We use our resources on payouts for all contributors once they reach a certain threshold. In addition to that, we want to make sure that over time, the project has some left-over resources so that we can save when times are hard. We also want to give back to our maintainers working hard to make the project great in terms of merch (aka swag). This year we will try something new, which is so have dedicated sections where companies/individuals that contribute a significant amount will have a place to showcase their product/thing.
61
+
62
+
If you are interested in contributing to the organization either finanically or whatnot, please reach out to us! 💙
60
63
61
-
If you are interested in contributing to the organization either finanically or through code/etc, please reach out to us! 💙
0 commit comments