The Modern.js framework comes with built-in popular libraries and development tools from the community.
In this document, you can learn about the main technology stack involved in the Modern.js framework, as well as some optional libraries and tools.
Modern.js uses React 18 to build user interfaces and is also compatible with React 17.
Rsbuild supports building Vue applications. If you need to use Vue, you can refer to "Rsbuild - Vue".
Modern.js uses React Router 6 for routing and is also compatible with React Router 5.
Modern.js supports conventional routing, self-controlled routing, or other routing schemes. Please refer to "Routing" to make your choice.
Modern.js provides out-of-the-box support for the Garfish micro frontend framework.
We are also working with Zack Jackson, the author of Module Federation, to provide a more comprehensive solution.
Modern.js can be used with any community state management library, such as Redux, Jotai, Zustand, Valtio, and more.
Modern.js can be used with any community package manager, such as npm, yarn, pnpm, or Bun.
We recommend using pnpm for faster installation speed.
Modern.js uses Webpack 5 or Rspack to bundle your web applications.
The default bundler used is Webpack 5. You can refer to "Using Rspack" to switch to the faster Rspack.
Modern.js uses Babel, SWC, or esbuild as JavaScript transpiler to transform TypeScript or JSX into JavaScript code that can run in browsers and perform syntax downgrades.
During production builds, Modern.js uses Terser, SWC, or esbuild to minify JavaScript code, and cssnano to minify CSS code.
Modern.js uses PostCSS to transform CSS code and enables autoprefixer by default to add CSS prefixes.
Modern.js supports enabling "Lightning CSS", which uses Lightning CSS to downgrade CSS syntax.
Modern.js supports enabling "Tailwind CSS" and is compatible with both Tailwind CSS v2 and v3.
Modern.js supports three CSS preprocessors: Sass, Less, and Stylus:
Modern.js provides out-of-the-box support for CSS Modules, which is implemented internally based on css-loader.
Please refer to "Use CSS Modules" for usage instructions.
Modern.js supports the use of styled-components. Please refer to "Using CSS-in-JS" for usage instructions.
If you need to use other CSS-in-JS solutions, you can integrate them into your project on your own.
Modern.js can be used with any React UI component library from the community, such as MUI, Ant Design, Arco Design, Semi Design, Radix UI, and more.
Additionally, Modern.js provides built-in support for on-demand import of Ant Design and Arco Design.
Modern.js supports the use of Storybook for developing UI components. This feature is optional. Please refer to "Using Storybook" to enable it.
Modern.js supports Express.js and Koa.js as optional BFF runtime frameworks. Please refer to the BFF - Frameworks for more information.