Skip to content

Commit c5d53b3

Browse files
committed
chore: first draft readY
1 parent 3779e22 commit c5d53b3

1 file changed

Lines changed: 28 additions & 25 deletions

File tree

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Roadmap 2026 (2026-02-04)
3-
sort: -9999999
3+
sort: 9
44
contributors:
55
- evenstensberg
66
---
@@ -12,50 +12,53 @@ Our work this year is not only focused on improving existing functionality, but
1212

1313
## So what is on our agenda this year? Let me walk you through it!
1414

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.
1616

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.
1818

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.
2020

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).
2222

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).
2424

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.
2626

27-
- **Adding support for deno and bun** - deno already work, need tests, bun not tested.
27+
- **Deno & Bun** — Deno supported; add tests. Bun: assess and test.
2828

29-
- **Lazy-barrel** - look at rspack solution
29+
- **Lazy barrel** — evaluate Rspack’s approach.
3030

31-
- **webpack-dev-server**, **webpack-dev-middleware**, **webpack-hot-middleware** - union webpack-dev-middleware and webpack-hot-middleware into one middleware, extract overlay from dev server 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 dev server.
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.
3232

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).
3434

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.
3636

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`.
3838

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.
4040

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.
4242

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.
4444

45-
- **Google Summer of Code** - Mentor students that are interested in starting their Open Source journey.
45+
- **GSoC** — mentor students starting their OSS journey.
4646

47-
- **Donations** - Try to get new sponsors so that we can continue maintaining the webpack project.
47+
- **Donations** — grow sponsorships to sustain maintenance.
4848

4949
## Other tasks
5050

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,
53-
- Improve coverage of code,
54-
- Improve types coverages (less `any/unknown/EXPECTED_ANY/EXPECTED_FUNCTION/EXPECTED_OBJECT/etc` types)
55-
- 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+
5657

5758
## Final remarks
5859

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! 💙
6063

61-
If you are interested in contributing to the organization either finanically or through code/etc, please reach out to us! 💙
64+
~ webpack TSC

0 commit comments

Comments
 (0)