Skip to content

Conversation

@zllkjc
Copy link
Member

@zllkjc zllkjc commented Jun 24, 2025

This PR resolve the resolve.alias warning,and also update the internal alias usage in Modern.js.

1. Add support for resolve.alias configuration

  • Introduced the resolve field (with resolve.alias) in various configs such as UniBuilderConfig, AppToolsUserConfig, and UserConfig. Users are now encouraged to use resolve.alias instead of the legacy source.alias.
  • Updated related type definitions, default configs, and legacy compatibility logic accordingly.

2. Plugin and toolchain adaptation

  • All plugins and tools that depend on alias configuration (e.g., runtime, router, state, testing, express, koa, etc.) have switched from source.alias to resolve.alias.
  • The logic for passing alias config in build and dev commands has been adapted to the new structure, merging both source.alias and resolve.alias for compatibility.

3. Compatibility handling

  • Maintained backward compatibility for source.alias
  • If alias is an empty object, it will be removed automatically to avoid warnings in the new Rsbuild version.
  • Legacy logic such as transformNormalizedConfig now includes the resolve field to ensure a smooth migration.

4. Integration tests

  • Added/updated integration test cases to verify the effectiveness of the resolve.alias configuration, including config files, source code references, and actual runtime behavior.

这个 PR 处理了 resolve.alias 的警告问题,并更新了内部对别名的用法。

1. 新增 resolve.alias 配置支持

  • 在各类配置(如 UniBuilderConfigAppToolsUserConfigUserConfig 等)中引入了 resolve 字段,并支持 resolve.alias 配置,推荐用户使用 resolve.alias 替代原有的 source.alias
  • 相关类型定义、默认配置、legacy 兼容逻辑均已同步更新。

2. 插件与工具链适配

  • 所有依赖 alias 配置的插件(如 runtime、router、state、testing、express、koa 等)均已从 source.alias 切换为 resolve.alias
  • 构建、开发等命令行工具的 alias 传递逻辑已适配新结构,兼容 source.aliasresolve.alias 的合并。

3. 兼容性处理

  • 保持对老版本 source.alias 的兼容
  • alias 为空对象,则自动移除,避免新版 Rsbuild 警告。
  • transformNormalizedConfig 等 legacy 逻辑已补充 resolve 字段,确保平滑迁移。

4. 集成测试用例

  • 新增/修改了集成测试用例,验证 resolve.alias 配置生效,包括配置文件、源码引用和实际运行效果。

@changeset-bot
Copy link

changeset-bot bot commented Jun 24, 2025

🦋 Changeset detected

Latest commit: 6c6997d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 295 packages
Name Type
@modern-js/plugin-router-v5 Patch
@modern-js/plugin-router-v7 Patch
@modern-js/plugin-garfish Patch
@modern-js/runtime Patch
@modern-js/plugin-testing Patch
@modern-js/plugin-express Patch
@modern-js/plugin-state Patch
@modern-js/app-tools Patch
@modern-js/plugin-koa Patch
@modern-js/uni-builder Patch
app-document Patch
file-based-router Patch
@e2e/garfish-dashboard-router-v6 Patch
@e2e/garfish-dashboard Patch
@e2e/garfish-main-router-v6 Patch
@e2e/garfish-main Patch
@e2e/garfish-table Patch
routes Patch
ssr-streaming-test Patch
app-garfish-dashboard Patch
app-garfish-master Patch
app-garfish-table Patch
@modern-js/plugin-bff Patch
@modern-js/plugin-tailwindcss Patch
@modern-js/devtools-client Patch
@modern-js/plugin-devtools Patch
@modern-js/storybook-builder Patch
@integration-test/alias-set Patch
api-service-koa Patch
async-entry-test Patch
babel-object-config-test Patch
tmp Patch
bff-api-app Patch
bff-client-app Patch
bff-indep-client-app Patch
bff-express Patch
bff-hono Patch
bff-koa Patch
integration-clean-dist-path Patch
integration-compatibility Patch
integration-custom-dist-path Patch
custom-file-system-entry Patch
integration-custom-render Patch
integration-custom-template Patch
deploy Patch
deploy-server Patch
dev-server Patch
@integration-test/devtools Patch
integration-disable-html Patch
app-custom-bootstrap Patch
app-custom-routes-runtime Patch
app-custom Patch
app-entry Patch
app-route Patch
app-entry-server Patch
esbuild-transform-and-minify Patch
@integration-test/image-component Patch
main-entry-name Patch
nonce Patch
pure-esm-project Patch
routes-match Patch
app-rsbuild-hooks Patch
rsc-csr-app Patch
rsc-ssr-app Patch
runtime-custom-plugin Patch
runtime-custom-config-plugin Patch
use-loader Patch
select-mul-entry-test Patch
select-one-entry-test Patch
server-config-v2 Patch
server-config Patch
server-middleware Patch
server-new-middleware Patch
server-hook-reqeust Patch
server-hook-response Patch
server-hook-router Patch
@integration-test/server-hook-reqeust Patch
server-json-script Patch
server-monitors Patch
server-prod Patch
server-routes Patch
@source-code-build/app-ts-loader Patch
@source-code-build/app Patch
ssg-fixtures-mega-list-routes Patch
ssg-fixtures-nested-routes Patch
ssg-fixtures-simple Patch
ssg-fixtures-web-server Patch
ssr-base-async-entry-test Patch
ssr-base-json-test Patch
ssr-base-test Patch
ssr-base-fallback-test Patch
init Patch
ssr-inline Patch
ssr-partial-test Patch
ssr-script-loading Patch
ssr-streaming-inline-test Patch
swc-config-function Patch
swc-minify-css Patch
swc-minify-js Patch
transform-fail Patch
integration-tailwindcss-v2 Patch
integration-tailwindcss-v3-js-config-with-postcss-config Patch
integration-tailwindcss-v3-js-config Patch
integration-tailwindcss-v3-merge-config Patch
integration-tailwindcss-v3-ts-config Patch
integration-tailwindcss-v3 Patch
integration-tailwindcss-without-plugin Patch
twin-macro-v2 Patch
twin-macro-v3 Patch
tmp-dir Patch
transform-import-type-test Patch
transform-import-type-lodash Patch
write-to-dist Patch
@modern-js/plugin-ssg Patch
@modern-js/plugin-swc Patch
@modern-js/devtools-kit Patch
@modern-js/image Patch
@modern-js/plugin-polyfill Patch
@modern-js/plugin-server Patch
@modern-js/plugin-worker Patch
tests Patch
integration-asset-prefix Patch
integration-builder-plugins Patch
integration-copy-assets Patch
entries-app-builder-index Patch
entries-app-builder Patch
integration-config-async-config-test Patch
integration-basic-local-config Patch
integration-config-function-params Patch
integration-local-config-function Patch
swc-test-decorator-legacy Patch
swc-test-decorator Patch
@modern-js/core Patch
@modern-js/server Patch
@modern-js/plugin-v2 Patch
@e2e/builder Patch
@modern-js/storybook Patch
integration-tests-storybook Patch
@modern-js/tsconfig Patch
@modern-js/babel-preset Patch
@modern-js/flight-server-transform-plugin Patch
@modern-js/plugin-changeset Patch
@modern-js/plugin-data-loader Patch
@modern-js/plugin-i18n Patch
@modern-js/plugin-proxy Patch
@modern-js/rsbuild-plugin-esbuild Patch
@modern-js/main-doc Patch
@modern-js/module-tools-docs Patch
@modern-js/render Patch
@modern-js/new-action Patch
@modern-js/sandpack-react Patch
@modern-js/babel-plugin-module-resolver Patch
@modern-js/bff-core Patch
@modern-js/bff-runtime Patch
@modern-js/server-core Patch
@modern-js/create-request Patch
@modern-js/prod-server Patch
@modern-js/server-runtime Patch
@modern-js/server-utils Patch
@modern-js/plugin-module-babel Patch
@modern-js/plugin-module-banner Patch
@modern-js/plugin-module-import Patch
@modern-js/plugin-module-node-polyfill Patch
@modern-js/plugin-module-polyfill Patch
@modern-js/plugin-module-vue Patch
@modern-js/module-tools Patch
@modern-js/monorepo-tools Patch
@modern-js/create Patch
@modern-js/e2e Patch
@modern-js/node-bundle-require Patch
@modern-js/plugin Patch
@modern-js/runtime-utils Patch
@modern-js/types Patch
@modern-js/upgrade Patch
@modern-js/utils Patch
@modern-js/babel-compiler Patch
@scripts/build Patch
@scripts/check-changeset Patch
@scripts/jest-config Patch
@scripts/lint-package-json Patch
@scripts/prebundle Patch
@scripts/release-versin Patch
@scripts/update-codesmith Patch
@scripts/vitest-config Patch
entries-integration Patch
esbuild-integration Patch
integration-load-config Patch
alias-js-test Patch
alias-module-id-test Patch
alias-ts-test Patch
asset-limit-test Patch
asset-name-test Patch
asset-path-test Patch
asset-publicPath-test Patch
svgr-test Patch
auto-extension-commonjs-test Patch
auto-extension-type-module-test Patch
auto-external-test Patch
banner-footer-test Patch
build-type-test Patch
copy-test Patch
decorator-test Patch
global-vars-js-test Patch
global-vars-ts-test Patch
dts-composite Patch
dts-test Patch
esbuild-options-test Patch
external-test Patch
format-cjs-test Patch
format-esm-test Patch
format-iife-test Patch
format-umd-test Patch
hook-test Patch
entry-test Patch
jsx-test Patch
loader-esbuild-test Patch
loader-swc-test Patch
metafile-test Patch
minify-test Patch
platform-test Patch
redirect-test Patch
resolve-alias-error Patch
resolve-alias-test Patch
data-url-test Patch
browser-false Patch
resolve-false Patch
ndoe-protocol-test Patch
lib1 Patch
lib2 Patch
lib3 Patch
condition-exports-test Patch
js-extensions-test Patch
main-fields-test Patch
shims-test Patch
module-tools-side-effects-test Patch
source-dir-test Patch
sourcemap-test Patch
splitting-test Patch
css-test Patch
less-test Patch
style-test Patch
postcss-test Patch
sass-test Patch
scss-test Patch
tailwindcss-test Patch
target-test Patch
transform-import Patch
transform-lodash Patch
tsconfig-test Patch
tsconfig-extends-test Patch
umdGlobals-test Patch
get-module-id-test Patch
dev-test Patch
build-platform-test Patch
build-preset-error-test Patch
build-preset-function-test Patch
build-preset-test Patch
build-preset-string-test Patch
integration-module-tools Patch
plugin-babel Patch
module-hooks-test Patch
plugin-node-polyfill Patch
plugin-polyfill Patch
plugin-vue Patch
runtime Patch
entry Patch
@source-code-build/common Patch
@source-code-build/components Patch
@source-code-build/utils Patch
ssg Patch
ssr Patch
swc-integration Patch
tailwindcss-integration-test Patch
@e2e/webpack-builder-import-antd-v4 Patch
@e2e/webpack-builder-import-antd-v5 Patch
@e2e/webpack-builder-import-arco Patch
@e2e/webpack-builder-test-moment Patch
@e2e/builder-remove-prop-types Patch
@e2e/webpack-builder-source-map Patch
@e2e/garfish Patch
@modern-js/generator-common Patch
@modern-js/generator-utils Patch
@modern-js/bff-generator Patch
@modern-js/dependence-generator Patch
@modern-js/entry-generator Patch
@modern-js/mwa-generator Patch
@modern-js/router-v5-generator Patch
@modern-js/ssg-generator Patch
@modern-js/storybook-next-generator Patch
@modern-js/upgrade-generator Patch
@modern-js/generator-cases Patch
@modern-js/base-generator Patch
@modern-js/packages-generator Patch
@modern-js/server-generator Patch
@modern-js/tailwindcss-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@netlify
Copy link

netlify bot commented Jun 24, 2025

Deploy Preview for modernjs-byted ready!

Name Link
🔨 Latest commit 6c6997d
🔍 Latest deploy log https://app.netlify.com/projects/modernjs-byted/deploys/685d2b9fa5f8650008a7eea9
😎 Deploy Preview https://deploy-preview-7261--modernjs-byted.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 76 (🟢 up 19 from production)
Accessibility: 90 (no change from production)
Best Practices: 100 (no change from production)
SEO: 91 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

9aoy
9aoy previously approved these changes Jun 24, 2025
@zllkjc zllkjc force-pushed the feat/resolve-alias branch from e00ffa3 to 6c6997d Compare June 26, 2025 11:14
@zllkjc zllkjc enabled auto-merge (squash) June 26, 2025 12:25
@zllkjc zllkjc merged commit 4cc0a22 into main Jun 26, 2025
11 checks passed
@zllkjc zllkjc deleted the feat/resolve-alias branch June 26, 2025 12:29
@caohuilin caohuilin mentioned this pull request Jul 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants