jdf2e / nutui-react

京东风格的移动端 React 组件库 、支持多端小程序(A React UI Toolkit for Mobile Web)
https://nutui.jd.com/react/
919 stars 263 forks source link

feat: add plugin to replace icons #2671

Closed oasis-cloud closed 4 weeks ago

oasis-cloud commented 4 weeks ago

@nutui/replace-icons

功能说明

用于替换组件库内置的 Icon 库。

使用方法

  1. 在 config/index.js 文件中增加如下代码
{ h5: { compile: { include: [path.resolve(__dirname, '../node_modules')], } },
mini: { compile: { include: [path.resolve(__dirname, '../node_modules')], } } }
  1. 在 babel.config.js 文件中增加如下代码
const repleaceIcons  = require('@nutui/replace-icons')
{
  plugins: [
    [
      repleaceIcons({
        targetIconLibary: '@test/aa',
        iconMap: {
          Loading: Star,
        },
      }),
    ],
  ]
}

原始代码

import { Loading } from '@nutui/icons-react'

export default () => {
  return <Loading />
}

替换后代码

import { Star as Loading } from '@test/aa'

export default () => {
  return <Loading />
}

Summary by CodeRabbit

coderabbitai[bot] commented 4 weeks ago

[!WARNING]

Rate limit exceeded

@oasis-cloud has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 11 minutes and 29 seconds before requesting another review.

⌛ How to resolve this issue? After the wait time has elapsed, a review can be triggered using the `@coderabbitai review` command as a PR comment. Alternatively, push new commits to this PR. We recommend that you space out your commits to avoid hitting the rate limit.
🚦 How do rate limits work? CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our [FAQ](https://coderabbit.ai/docs/faq) for further information.
📥 Commits Files that changed from the base of the PR and between cf04a7aa8e796cbf44e651654852365da78d54af and 2660c41a6d20532be575f2be2af1921b217bc191.

Walkthrough

在此拉取请求中,packages/nutui-replace-icons 目录下的多个文件进行了更新。.gitignore 文件新增了 typesnode_modules 的忽略条目。README.md 文件添加了有关替换内置图标库的功能说明,涵盖了 Taro 和 H5 环境的使用方法。新创建的 package.json 文件定义了包的元数据,并指定了构建和测试的脚本。新增的 rollup.config.js 文件配置了 Rollup 构建过程,src 目录下的多个文件引入了图标替换功能和相关类型定义。

Changes

文件路径 更改摘要
packages/nutui-replace-icons/.gitignore 更新以忽略 typesnode_modules 目录。
packages/nutui-replace-icons/README.md 添加了替换内置图标库的功能说明,包含 Taro 和 H5 环境的使用示例。
packages/nutui-replace-icons/package.json 更新包版本至 1.0.1,扩展了关键词数组,保留了其他结构不变。
packages/nutui-replace-icons/rollup.config.js 新增文件,配置了 TypeScript 项目的 Rollup 构建过程。
packages/nutui-replace-icons/src/index.ts 新增文件,导入并导出了 replaceIcons 函数作为默认导出。
packages/nutui-replace-icons/src/replace-icons.ts 新增文件,定义了图标库替换功能,包含 replace 函数和 replaceIcons 导出。
packages/nutui-replace-icons/src/type.ts 新增接口 IOptions,定义了替换图标时的选项结构。
packages/nutui-replace-icons/test/replace-case.test.ts 新增测试文件,验证图标替换功能的正确性。
packages/nutui-replace-icons/tsconfig.json 新增 TypeScript 配置文件,定义了编译选项和包含目录。

Possibly related PRs

Suggested labels

size/M

Poem

在兔子洞里欢跳跃,
图标替换真妙绝。
新功能来助力,
编程乐趣无穷尽。
代码更新如春风,
兔子欢歌共此生。 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
codecov[bot] commented 4 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 84.07%. Comparing base (2f71fda) to head (2660c41). Report is 1 commits behind head on next.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## next #2671 +/- ## ======================================= Coverage 84.07% 84.07% ======================================= Files 217 217 Lines 17829 17829 Branches 2608 2608 ======================================= Hits 14990 14990 Misses 2834 2834 Partials 5 5 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.