- Install @umijs/mako package
- Update config.ts to use mako bundler
- Replace __UTOO_VERSION__ with __MAKO_VERSION__
- Update documentation (README, CLAUDE.md, cheatsheets)
- Update Footer component to show Mako version
- Update jest config and typings
- Build time improved: ~7s for production build
Agent-Logs-Url: https://github.com/ant-design/ant-design-pro/sessions/d569ab9d-3de8-454c-b092-e12c1302d4cd
Co-authored-by: afc163 <507615+afc163@users.noreply.github.com>
@ -17,7 +17,7 @@ npm run start:pre # Pre-production environment
npm run start:test # Test environment
npm run start:test # Test environment
# Build & Preview
# Build & Preview
npm run build # Production build (utoopack, Turbopack-based)
npm run build # Production build (Mako, Rust-based)
npm run preview # Preview production build on port 8000
npm run preview # Preview production build on port 8000
npm run preview:build # Build and preview on port 8000
npm run preview:build # Build and preview on port 8000
npm run deploy # Build and deploy to GitHub Pages (gh-pages branch)
npm run deploy # Build and deploy to GitHub Pages (gh-pages branch)
@ -53,7 +53,7 @@ npm run record # Record request data for mock replay
Umi Max (`@umijs/max`) is the meta-framework. It wraps the build pipeline and provides conventions:
Umi Max (`@umijs/max`) is the meta-framework. It wraps the build pipeline and provides conventions:
- **Build tool**: utoopack (Turbopack-based, Webpack-compatible). Configured via `utoopack` field in `config/config.ts`, supports `module.rules` for custom loaders
- **Build tool**: Mako (Rust-based, extremely fast bundler). Configured via `mako` field in `config/config.ts`, supports `module.rules` for custom loaders
- **Central config**: `config/config.ts` (defineConfig) controls all plugins, theme, proxy, and build settings
- **Central config**: `config/config.ts` (defineConfig) controls all plugins, theme, proxy, and build settings
- **Routes**: Defined declaratively in `config/routes.ts`, not convention-based. Each route maps `component` to a file under `src/pages/`. Route `name` auto-maps to `menu.xxx` i18n key. Route `access` field controls menu visibility (unauthorized routes hidden from menu)
- **Routes**: Defined declaratively in `config/routes.ts`, not convention-based. Each route maps `component` to a file under `src/pages/`. Route `name` auto-maps to `menu.xxx` i18n key. Route `access` field controls menu visibility (unauthorized routes hidden from menu)
- :scroll: **Blocks**: Build page with block template
- :scroll: **Blocks**: Build page with block template
- :gem: **Neat Design**: Built on [Ant Design 6](https://ant.design/) specification
- :gem: **Neat Design**: Built on [Ant Design 6](https://ant.design/) specification
- :triangular_ruler: **Common Templates**: Typical templates for enterprise applications
- :triangular_ruler: **Common Templates**: Typical templates for enterprise applications
- :rocket: **State of The Art Development**: Newest development stack of React 19/[Umi Max 4](https://umijs.org/)/[antd 6](https://ant.design/)/[utoopack](https://utoo.land)
- :rocket: **State of The Art Development**: Newest development stack of React 19/[Umi Max 4](https://umijs.org/)/[antd 6](https://ant.design/)/[Mako](https://makojs.dev)
- :iphone: **Responsive**: Designed for variable screen sizes
- :iphone: **Responsive**: Designed for variable screen sizes
> 💡 `npm run simple` removes demo pages (dashboard, form, list etc.) and unused dependencies (plots, etc.), replacing with minimal routes. Ideal for starting from scratch. **Commit your code first so you can revert if needed.**
> 💡 `npm run simple` removes demo pages (dashboard, form, list etc.) and unused dependencies (plots, etc.), replacing with minimal routes. Ideal for starting from scratch. **Commit your code first so you can revert if needed.**
**Build tool:** This project uses [utoopack](https://github.com/utooland/utoo) (a next-gen bundler powered by Turbopack) as the default build tool, configured via the `utoopack` field in `config/config.ts`. utoopack is Webpack-compatible and supports `module.rules` for custom loaders.
**Build tool:** This project uses [Mako](https://makojs.dev) (a Rust-based extremely fast bundler) as the default build tool, configured via the `mako` field in `config/config.ts`. Mako supports `module.rules` for custom loaders.
→ See [umi Getting Started](https://umijs.org/en-US/docs/guides/getting-started), [utoo Docs](https://utoo.land)
→ See [umi Getting Started](https://umijs.org/en-US/docs/guides/getting-started), [Mako Docs](https://makojs.dev)