MCPcopy Index your code
hub / github.com/web-infra-dev/modern.js

github.com/web-infra-dev/modern.js @v3.5.0 sqlite

repository ↗ · DeepWiki ↗ · release v3.5.0 ↗
7,242 symbols 22,626 edges 2,100 files 1,253 documented · 17%
README

Modern.js Logo

Modern.js

Inspire creativity in modern web development.

npm version downloads License

English | 简体中文

介绍

Modern.js 框架是一个基于 React 的渐进式 Web 开发框架。在字节跳动内部,我们将 Modern.js 封装为上层框架,并支撑了数千个 Web 应用的研发。

在开发 React 应用过程中,开发者通常需要去为某些功能去设计实现方案,或是使用其他的库、框架来解决这些问题。Modern.js 支持 React 应用所需要的所有配置和工具,并内置额外的功能和优化。开发者可以使用 React 构建应用的 UI,然后逐步采用 Modern.js 的功能来解决常见的应用需求,如路由、数据获取、状态管理等。

快速上手

参考 快速上手

生态

Modern.js 生态提供了以下解决方案和底层库:

  • 🦀 Rspack:基于 Rust 的高性能模块打包工具。
  • 🐬 Rsbuild:基于 Rspack 的 Web 构建工具。
  • 🐹 Rspress:基于 Rspack 的静态站点生成器。
  • 🦄 Rslib:基于 Rspack 的 Library 开发工具。

Benchmark

我们通过 Modern.js Benchmark 来观测核心指标的变化情况,比如 bundle size、compile speed 和 install size。

Roadmap

请参阅 Modern.js Roadmap。我们将定期更新 Roadmap 的内容。

示例

Modern.js 提供了一系列开箱即用的示例项目,你可以在 modern-js-examples 仓库中找到并使用它们。

参与贡献

欢迎参与 Modern.js 贡献!

请阅读 贡献指南 来共同参与 Modern.js 的建设。

行为准则

本仓库采纳了字节跳动的开源项目行为准则。请点击 行为准则 查看更多的信息。

贡献者们

感谢以下伙伴们为 Modern.js 做出的贡献:

contributors

社区

欢迎加入我们的 Discord 交流频道!Modern.js 团队和用户都在那里活跃,并且我们一直期待着各种贡献。

你也可以加入飞书群 与大家一起交流。

Credits

Modern.js 中的部分代码是参考社区中的其他项目实现的,比如 create-react-appremixjestbundle-require 等,感谢这些项目:

  • @modern-js/bundle-require:修改自 bundle-require
  • @modern-js/plugin:hook API 的实现参考了 farrow-pipeline
  • @modern-js/plugin-data-loader:部分实现参考了 remix
  • @modern-js/babel-plugin-module-resolver: 修改自 babel-plugin-module-resolver
  • Netlify 为官网提供托管服务,感谢其优质的服务与对开源的支持

License

Modern.js 项目基于 MIT 协议,请自由地享受和参与开源。

第三方 licenses 列举于 THIRD-PARTY-LICENSE 中。

Extension points exported contracts — how you extend this code

MapCache (Interface)
* Creates a cache object to store key/value pairs. [6 implementers]
packages/toolkit/utils/compiled/lodash/common/common.d.ts
FrameworkCodeProps (Interface)
* FrameworkCode component for displaying code examples that support multiple runtime frameworks * * - Single framework
packages/document/src/components/FrameworkCode/index.tsx
Collector (Interface)
(no doc) [2 implementers]
packages/runtime/plugin-runtime/src/core/server/string/types.ts
Collector (Interface)
(no doc) [1 implementers]
packages/cli/plugin-styled-components/src/extender/string.ts
ProcessEnv (Interface)
(no doc)
packages/solutions/app-tools/lib/types.d.ts
Pattern (Interface)
(no doc)
packages/server/utils/src/common/index.ts
CommitObj (Interface)
(no doc)
scripts/release-note/src/types.ts
AntdButtonProps (Interface)
(no doc)
tests/integration/storybook/src/stories/AntdButton.tsx

Core symbols most depended-on inside this repo

r
called by 1659
packages/toolkit/utils/compiled/glob/index.js
join
called by 1051
packages/toolkit/utils/compiled/lodash/common/array.d.ts
slice
called by 486
packages/toolkit/utils/compiled/lodash/common/array.d.ts
includes
called by 475
packages/toolkit/utils/compiled/lodash/common/collection.d.ts
map
called by 455
packages/toolkit/utils/compiled/lodash/common/collection.d.ts
push
called by 432
packages/toolkit/utils/compiled/lodash/common/common.d.ts
replace
called by 377
packages/toolkit/utils/compiled/lodash/common/string.d.ts
forEach
called by 358
packages/toolkit/utils/compiled/lodash/common/collection.d.ts

Shape

Function 4,366
Method 1,993
Interface 551
Class 318
Enum 14

Languages

TypeScript100%

Modules by API surface

packages/toolkit/utils/compiled/inquirer/index.js557 symbols
packages/toolkit/utils/compiled/fast-glob/index.js294 symbols
packages/toolkit/utils/compiled/lodash/common/array.d.ts223 symbols
packages/toolkit/utils/compiled/lodash/common/lang.d.ts194 symbols
packages/toolkit/utils/compiled/lodash/common/object.d.ts188 symbols
packages/toolkit/utils/compiled/ora/index.js185 symbols
packages/toolkit/utils/compiled/lodash/common/collection.d.ts183 symbols
packages/toolkit/utils/compiled/chokidar/index.js181 symbols
packages/toolkit/utils/compiled/commander/index.js163 symbols
packages/toolkit/utils/compiled/lodash/common/util.d.ts125 symbols
packages/toolkit/utils/compiled/semver/index.js122 symbols
packages/toolkit/utils/compiled/fs-extra/index.js117 symbols

Dependencies from manifests, versioned

@babel/core7.29.7 · 1×
@babel/parser7.29.7 · 1×
@babel/plugin-transform-modules-commonjs7.29.7 · 1×
@babel/traverse7.29.7 · 1×
@babel/types7.29.7 · 1×
@biomejs/biome1.9.4 · 1×
@changesets/assemble-release-plan5.2.4 · 1×
@changesets/cli2.29.8 · 1×
@changesets/config2.3.1 · 1×
@changesets/read0.6.6 · 1×
@codesandbox/sandpack-react2.20.0 · 1×
@commitlint/cli20.5.3 · 1×

For agents

$ claude mcp add modern.js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact