Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fix tsdocs #21

Merged
merged 3 commits into from
Nov 6, 2024
Merged

fix: fix tsdocs #21

merged 3 commits into from
Nov 6, 2024

Conversation

FliPPeDround
Copy link
Member

@FliPPeDround FliPPeDround commented Oct 18, 2024

在volar的组件名匹配中
如果为驼峰命名,能正确匹配到原驼峰命名的组件和kebab-case
见下
image
image

非驼峰命名时,如果首字母大写,则无法正确匹配到,
image

大小写完全匹配时,则可以匹配到,并正确显示tsdoc
image

此pr将非驼峰命名且首字母大写的组件名修改为小写,并添加组件文档地址

Summary by CodeRabbit

  • New Features
    • Added new components: UniCollapseItem, UniDataSelect, UniFormsItem, and UniListItem.
  • Documentation
    • Enhanced documentation for multiple components, including usage instructions and links to detailed documentation.
    • Updated component names to lowercase for consistency across various components (e.g., Button to button, Text to text, Video to video).
  • Bug Fixes
    • No changes to the signatures of exported or public entities.

Copy link

coderabbitai bot commented Oct 18, 2024

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request introduces extensive documentation enhancements across various components in the uni-app-types package. It includes the addition of new types for specific components, modifications to existing interfaces, and changes to the export names of several components from uppercase to lowercase. Documentation links and usage instructions have been added or improved for numerous components to facilitate better understanding and usage.

Changes

File Path Change Summary
packages/uni-app-types/src/ad/ad-draw.ts Enhanced documentation for AdDraw.
packages/uni-app-types/src/ad/ad-fullscreen-video.ts Added types for events and error details related to fullscreen video ads; enhanced documentation.
packages/uni-app-types/src/ad/ad-interactive.ts Added types for events and properties related to interactive ads; enhanced documentation.
packages/uni-app-types/src/ad/ad-interstitial.ts Enhanced documentation for AdInterstitial.
packages/uni-app-types/src/ad/ad-rewarded-video.ts Enhanced documentation for AdRewardedVideo.
packages/uni-app-types/src/ad/ad.ts Enhanced documentation for Ad.
packages/uni-app-types/src/basic-components/icon.ts Changed export from Icon to icon; added documentation.
packages/uni-app-types/src/basic-components/progress.ts Enhanced documentation for Progress; changed name to progress.
packages/uni-app-types/src/basic-components/rich-text.ts Enhanced documentation for RichText.
packages/uni-app-types/src/basic-components/text.ts Changed export from Text to text; added documentation.
packages/uni-app-types/src/canvas/index.ts Changed export from Canvas to canvas; added documentation.
packages/uni-app-types/src/form-components/button.ts Changed export from Button to button; added documentation.
packages/uni-app-types/src/form-components/checkbox-group.ts Enhanced documentation for CheckboxGroup.
packages/uni-app-types/src/form-components/checkbox.ts Changed export from Checkbox to checkbox; added documentation.
packages/uni-app-types/src/form-components/editor.ts Changed export from Editor to editor; added documentation.
packages/uni-app-types/src/form-components/form.ts Added documentation for form intrinsic element.
packages/uni-app-types/src/form-components/input.ts Changed export from Input to input; added documentation.
packages/uni-app-types/src/form-components/label.ts Changed export from Label to label; added documentation.
packages/uni-app-types/src/form-components/picker-view-column.ts Added new type declaration for PickerViewColumn.
packages/uni-app-types/src/form-components/picker-view.ts Enhanced documentation for PickerView.
packages/uni-app-types/src/form-components/picker.ts Changed export from Picker to picker; added documentation.
packages/uni-app-types/src/form-components/radio-group.ts Enhanced documentation for RadioGroup.
packages/uni-app-types/src/form-components/radio.ts Changed export from Radio to radio; added documentation.
packages/uni-app-types/src/form-components/slider.ts Changed export from Slider to slider; added documentation.
packages/uni-app-types/src/form-components/switch.ts Changed export from Switch to switch; added documentation.
packages/uni-app-types/src/form-components/textarea.ts Changed export from Textarea to textarea; added documentation.
packages/uni-app-types/src/map/index.ts Changed export from Map to map; added documentation.
packages/uni-app-types/src/media-components/audio.ts Changed export from Audio to audio; added documentation.
packages/uni-app-types/src/media-components/camera.ts Changed export from Camera to camera; added documentation.
packages/uni-app-types/src/media-components/image.ts Changed export from Image to image; added documentation.
packages/uni-app-types/src/media-components/live-player.ts Enhanced documentation for LivePlayer.
packages/uni-app-types/src/media-components/live-pusher.ts Enhanced documentation for LivePusher.
packages/uni-app-types/src/media-components/video.ts Changed export from Video to video; added documentation.
packages/uni-app-types/src/navigation/navigator.ts Changed export from Navigator to navigator; added documentation.
packages/uni-app-types/src/page-property-configuration-node/custom-tab-bar.ts Enhanced documentation for CustomTabBar.
packages/uni-app-types/src/page-property-configuration-node/navigation-bar.ts Enhanced documentation for NavigationBar.
packages/uni-app-types/src/page-property-configuration-node/page-meta.ts Enhanced documentation for PageMeta.
packages/uni-app-types/src/view-containers/cover-image.ts Enhanced documentation for CoverImage.
packages/uni-app-types/src/view-containers/cover-view.ts Enhanced documentation for CoverView.
packages/uni-app-types/src/view-containers/match-media.ts Enhanced documentation for MatchMedia.
packages/uni-app-types/src/view-containers/movable-area.ts Enhanced documentation for MovableArea.
packages/uni-app-types/src/view-containers/movable-view.ts Enhanced documentation for MovableView.
packages/uni-app-types/src/view-containers/scroll-view.ts Enhanced documentation for ScrollView.
packages/uni-app-types/src/view-containers/swiper-item.ts Enhanced documentation for SwiperItem.
packages/uni-app-types/src/view-containers/swiper.ts Changed export from Swiper to swiper; added documentation.
packages/uni-app-types/src/view-containers/view.ts Changed export from View to view; updated type signature.
packages/uni-app-types/src/web-view/index.ts Enhanced documentation for WebView.
packages/uni-cloud-types/src/unicloud-db.ts Enhanced documentation for UnicloudDb.
packages/uni-ui-types/src/uni-badge.ts Enhanced documentation for UniBadge.
packages/uni-ui-types/src/uni-breadcrumb-item.ts Added documentation for UniBreadcrumbItem.
packages/uni-ui-types/src/uni-breadcrumb.ts Enhanced documentation for UniBreadcrumb.
packages/uni-ui-types/src/uni-calendar.ts Enhanced documentation for UniCalendar.
packages/uni-ui-types/src/uni-card.ts Enhanced documentation for UniCard.
packages/uni-ui-types/src/uni-col.ts Enhanced documentation for UniCol.
packages/uni-ui-types/src/uni-collapse-item.ts Added UniCollapseItem to GlobalComponents.
packages/uni-ui-types/src/uni-collapse.ts Enhanced documentation for UniCollapse.
packages/uni-ui-types/src/uni-combox.ts Enhanced documentation for UniCombox.
packages/uni-ui-types/src/uni-countdown.ts Enhanced documentation for UniCountdown.
packages/uni-ui-types/src/uni-data-checkbox.ts Enhanced documentation for UniDataCheckbox.
packages/uni-ui-types/src/uni-data-picker.ts Enhanced documentation for UniDataPicker.
packages/uni-ui-types/src/uni-data-select.ts Added UniDataSelect to GlobalComponents.
packages/uni-ui-types/src/uni-dateformat.ts Enhanced documentation for UniDateformat.
packages/uni-ui-types/src/uni-datetime-picker.ts Enhanced documentation for UniDatetimePicker.
packages/uni-ui-types/src/uni-drawer.ts Enhanced documentation for UniDrawer.
packages/uni-ui-types/src/uni-easyinput.ts Enhanced documentation for UniEasyinput.
packages/uni-ui-types/src/uni-fab.ts Enhanced documentation for UniFab.
packages/uni-ui-types/src/uni-fav.ts Enhanced documentation for UniFav.
packages/uni-ui-types/src/uni-file-picker.ts Enhanced documentation for UniFilePicker.
packages/uni-ui-types/src/uni-forms-item.ts Added documentation for UniFormsItem.
packages/uni-ui-types/src/uni-forms.ts Enhanced documentation for UniForms.
packages/uni-ui-types/src/uni-goods-nav.ts Enhanced documentation for UniGoodsNav.
packages/uni-ui-types/src/uni-grid-item.ts Enhanced documentation for UniGridItem.
packages/uni-ui-types/src/uni-grid.ts Enhanced documentation for UniGrid.
packages/uni-ui-types/src/uni-group.ts Enhanced documentation for UniGroup.
packages/uni-ui-types/src/uni-icons.ts Enhanced documentation for UniIcons.
packages/uni-ui-types/src/uni-indexed-list.ts Enhanced documentation for UniIndexedList.
packages/uni-ui-types/src/uni-link.ts Enhanced documentation for UniLink.
packages/uni-ui-types/src/uni-list-chat.ts Enhanced documentation for UniListChat.
packages/uni-ui-types/src/uni-list-item.ts Added UniListItem to GlobalComponents.
packages/uni-ui-types/src/uni-list.ts Enhanced documentation for UniList.
packages/uni-ui-types/src/uni-load-more.ts Enhanced documentation for UniLoadMore.

Poem

🐰 In the land of code and cheer,
Documentation's crystal clear.
Components shine, their names refined,
With links and guides, all well-defined.
From buttons small to videos grand,
A rabbit hops through this code-filled land! 🐇


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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, 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 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 for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

netlify bot commented Oct 18, 2024

Deploy Preview for uni-typed ready!

Name Link
🔨 Latest commit fcf1abe
🔍 Latest deploy log https://app.netlify.com/sites/uni-typed/deploys/672b62ba577c4e00084256f3
😎 Deploy Preview https://deploy-preview-21--uni-typed.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

Copy link

pkg-pr-new bot commented Oct 18, 2024

Open in Stackblitz

@uni-helper/uni-types

pnpm add https://pkg.pr.new/@uni-helper/uni-types@21

@uni-helper/uni-app-components

pnpm add https://pkg.pr.new/@uni-helper/uni-app-components@21

@uni-helper/uni-ui-types

pnpm add https://pkg.pr.new/@uni-helper/uni-ui-types@21

@uni-helper/uni-cloud-types

pnpm add https://pkg.pr.new/@uni-helper/uni-cloud-types@21

@uni-helper/uni-app-types

pnpm add https://pkg.pr.new/@uni-helper/uni-app-types@21

commit: fcf1abe

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Outside diff range and nitpick comments (31)
packages/uni-app-types/src/form-components/picker-view-column.ts (1)

25-32: Excellent documentation addition! Consider a minor enhancement.

The added JSDoc comment and type declaration for the PickerViewColumn component are well-structured and informative. They provide clear usage instructions and helpful links to documentation.

To further improve the comment, consider adding a brief description of what a PickerViewColumn is used for, to give developers a quick understanding of its purpose.

Here's a suggested addition to the JSDoc comment:

 /** `<picker-view />` 的子组件,仅可放置于 `<picker-view />` 中
  *
+ * PickerViewColumn 用于定义 PickerView 中的每一列,通常包含多个选项。
  * 其子节点的高度会自动设置成与 `<picker-view>` 的选中框的高度一致。
  * ***
  * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/picker-view.html#picker-view-column)
  * |
  * [使用说明](https://uni-typed.netlify.app/)
  */
packages/uni-app-types/src/view-containers/swiper-item.ts (1)

46-49: Excellent addition of documentation links!

The inclusion of links to the component documentation and usage instructions greatly enhances the usability of the SwiperItem component. This change will help developers quickly access relevant information.

Consider the following minor improvements:

  1. Use a more visually distinct separator between the links, such as " | " with spaces.
  2. Translate "使用说明" to English (e.g., "Usage Instructions") for consistency with the rest of the documentation.

Here's a suggested revision:

- * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/scroll-item.html)
- * |
- * [使用说明](https://uni-typed.netlify.app/)
+ * [📘 Component Documentation](https://uniapp.dcloud.net.cn/component/scroll-item.html) | [🔍 Usage Instructions](https://uni-typed.netlify.app/)
packages/uni-ui-types/src/uni-breadcrumb-item.ts (1)

34-40: LGTM! Consider adding type information to the JSDoc.

The added JSDoc comment for the UniBreadcrumbItem component is well-structured and informative. It provides a clear description of the component's purpose and includes helpful links to the documentation and usage instructions. This addition aligns well with the PR objectives of enhancing documentation.

To further improve the documentation, consider adding type information to the JSDoc comment. This can help developers understand the component's props and return type at a glance.

Here's a suggested enhancement:

 /**
  * `<uni-breadcrumb />`子组件,用于展示面包屑的每一项
  * ***
  * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-breadcrumb.html)
  * |
  * [使用说明](https://uni-typed.netlify.app/)
+ *
+ * @type {import('vue').DefineComponent<_UniBreadcrumbItemProps>}
  */

This addition provides type information that can be useful for developers using IDEs with TypeScript support.

packages/uni-ui-types/src/uni-breadcrumb.ts (1)

52-55: Excellent addition of documentation links!

The added documentation links greatly enhance the developer experience by providing easy access to the component documentation and usage instructions. This aligns well with the PR objectives of improving documentation.

Consider adding a brief description of what developers can expect to find in the "使用说明" (usage instructions) link. This could provide more context and encourage developers to explore the resource.

packages/uni-app-types/src/form-components/radio.ts (1)

Line range hint 1-67: Consider enhancing documentation for consistency.

While the changes made are good, consider adding similar documentation links to other exported types for consistency. This would provide a uniform level of documentation across all components.

For example, you could add documentation links to the exported types like this:

export type {
  /**
   * Radio Value
   * @see [Component Documentation](https://uniapp.dcloud.net.cn/component/radio.html)
   * @see [Usage Instructions](https://uni-typed.netlify.app/)
   */
  _RadioValue as RadioValue,
  // ... (repeat for other exports)
};
packages/uni-ui-types/src/uni-col.ts (1)

62-67: Excellent addition of documentation comments!

The added comments significantly improve the developer experience by providing a concise description and quick access to both detailed documentation and usage instructions. This aligns well with the PR objectives of enhancing documentation.

Consider adding a brief example of how to use the UniCol component in the comments. This could provide developers with a quick reference for basic usage. For instance:

/**
 * ...existing comments...
 * 
 * @example
 * <uni-col :span="12">
 *   <view>Content</view>
 * </uni-col>
 */
packages/uni-ui-types/src/uni-grid.ts (2)

82-87: Excellent addition of component documentation!

The added documentation for the UniGrid component is a valuable improvement. It provides a concise description and includes links to both the component documentation and usage instructions, which will greatly assist developers using this component.

Consider adding a brief description of the component's main functionality or purpose to provide more context at a glance. For example:

 /** 宫格
+ * A grid component for organizing content in a flexible, responsive layout.
  * ***
  * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-grid.html)
  * |
  * [使用说明](https://uni-typed.netlify.app/)
  */

Issue Found: UniGrid component implementation is missing

The type definitions for UniGrid exist in packages/uni-ui-types/src/uni-grid.ts, but no corresponding UniGrid component implementation was found in the codebase. This discrepancy suggests that the component may be missing or not properly implemented.

🔗 Analysis chain

Line range hint 1-81: Verify alignment of existing types with current component implementation

While the added documentation is a great improvement, it's important to ensure that the existing type definitions accurately reflect the current implementation of the UniGrid component.

Please run the following script to check if there are any discrepancies between the type definitions and the actual component implementation:

This script will help identify any potential mismatches between the component implementation and the type definitions.

Also applies to: 88-91


Adjusting verification scripts to correctly identify Vue and TypeScript files

The previous script encountered issues recognizing file types. Please use the updated script below to verify the alignment of existing types with the current UniGrid component implementation:


Further verification needed to locate UniGrid component implementation

The previous script identified the type definitions but did not find the corresponding UniGrid component implementation. To ensure comprehensive verification, please run the updated script below to search for any related Vue components and their usage:

This script aims to:

  1. Find any Vue components with 'UniGrid' in their name: This helps identify if the component exists under a different filename or naming convention.
  2. Locate import statements for UniGrid: This can reveal where and how the UniGrid component is being imported and used, pointing to its implementation location.
  3. Detect usage of the <UniGrid> tag: This assists in understanding how the component is utilized within the codebase, which might provide insights into its structure and implementation.

Please execute the script and review the outputs to continue the verification process.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify UniGrid component implementation against type definitions

# Search for UniGrid component implementation
echo "Searching for UniGrid component implementation..."
rg --type vue -g '!node_modules' -g '!dist' -A 10 'export default .*UniGrid'

# Search for UniGrid props in the implementation
echo "Searching for UniGrid props..."
rg --type vue -g '!node_modules' -g '!dist' -A 20 'props: \{'

# Compare the found props with the type definitions in this file
echo "Comparing with type definitions..."
rg --type typescript -g '!node_modules' -g '!dist' -A 20 'type _UniGridProps'

echo "Please manually compare the output to ensure all props are correctly typed."

Length of output: 733


Script:

#!/bin/bash
# Description: Verify UniGrid component implementation against type definitions

# Search for UniGrid component implementation
echo "Searching for UniGrid component implementation..."
rg -g '*.vue' -g '!node_modules' -g '!dist' -A 10 'export default .*UniGrid'

# Search for UniGrid props in the implementation
echo "Searching for UniGrid props..."
rg -g '*.vue' -g '!node_modules' -g '!dist' -A 20 'props:\s*\{'

# Compare the found props with the type definitions in this file
echo "Comparing with type definitions..."
rg -g '*.ts' -g '!node_modules' -g '!dist' -A 20 'type _UniGridProps'

echo "Please manually compare the output to ensure all props are correctly typed."

Length of output: 1674


Script:

#!/bin/bash
# Description: Further verify UniGrid component implementation and its usage

# Search for any Vue component that includes 'UniGrid' in its name
echo "Searching for UniGrid-related Vue components..."
rg -g '*.vue' -g '!node_modules' -g '!dist' 'UniGrid'

# Search for import statements referencing UniGrid to identify its implementation
echo "Searching for UniGrid import statements..."
rg -g '*.ts' -g '!node_modules' -g '!dist' 'import .*UniGrid'

# Search for usage of UniGrid in the codebase
echo "Searching for UniGrid usage in the codebase..."
rg -g '*.vue' -g '!node_modules' -g '!dist' '<UniGrid'

echo "Please review the output to identify the UniGrid component implementation and its usage."

Length of output: 664

packages/uni-ui-types/src/uni-fav.ts (1)

99-104: Excellent documentation enhancement!

The addition of links to the component documentation and usage instructions greatly improves the developer experience. This change aligns well with the PR objectives of enhancing documentation.

Consider adding a brief English translation of the Chinese description for better accessibility to non-Chinese speaking developers. For example:

/**
 * Used for favorite functionality, allows toggling between selected and unselected states.
 * 用于收藏功能,可点击切换选中、不选中的状态
 * ***
 * [👉🏻 View component documentation](https://uniapp.dcloud.net.cn/component/uniui/uni-fav.html)
 * |
 * [Usage instructions](https://uni-typed.netlify.app/)
 */
packages/uni-ui-types/src/uni-collapse-item.ts (1)

96-102: LGTM! Consider enhancing the JSDoc comment.

The addition of the UniCollapseItem to the GlobalComponents interface is well-implemented and aligns with the PR objectives. The JSDoc comment provides valuable documentation links, which is great for developer usability.

Consider adding a brief description of the UniCollapseItem's functionality in the JSDoc comment. This would provide developers with a quick understanding of the component's purpose without needing to navigate to the external documentation. For example:

 /**
- * `<uni-collapse />`子组件
+ * `<uni-collapse-item />` component - A collapsible panel item within a collapse container.
  * ***
  * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-collapse.html)
  * |
  * [使用说明](https://uni-typed.netlify.app/)
  */
packages/uni-app-types/src/view-containers/match-media.ts (1)

112-115: LGTM! Consider adding a brief description of the component's purpose.

The added documentation links are valuable and consistent with the existing documentation style. They provide easy access to the component documentation and usage instructions, which aligns well with the PR objectives.

Consider adding a brief one-line description of the component's purpose before the links, to provide immediate context. For example:

     * 可以指定一组 media query 媒体查询规则,满足查询条件时,这个组件才会被展示
+     *
+     * 用于根据屏幕宽度、高度、方向等条件动态显示内容。
     * ***
     * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/match-media.html)
     * |
     * [使用说明](https://uni-typed.netlify.app/)

This addition would provide users with a quick understanding of the component's functionality without needing to navigate to the external documentation.

packages/uni-ui-types/src/uni-countdown.ts (1)

114-119: Excellent addition of documentation comment!

The added documentation comment for the UniCountdown component is a valuable improvement. It provides quick access to the component documentation and usage instructions, which will be helpful for developers.

Consider adding an English translation alongside the Chinese title "倒计时" for consistency and to improve accessibility for non-Chinese speaking developers. For example:

/** 倒计时 (Countdown)
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-countdown.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 */
packages/uni-ui-types/src/uni-dateformat.ts (1)

114-119: LGTM! Documentation enhancement looks great.

The added links to the component documentation and usage instructions significantly improve the developer experience. The visual separators and emoji also enhance readability.

Consider adding a brief description of what the UniDateformat component does, right after the component name. This would provide immediate context without needing to follow the links. For example:

 /** 日期格式化组件
+ * 用于将各种日期字符串格式化为需要的格式
  * ***
  * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-dateformat.html)
  * |
  * [使用说明](https://uni-typed.netlify.app/)
  */
packages/uni-ui-types/src/uni-indexed-list.ts (1)

83-88: LGTM! Consider adding @see tags for better IDE integration.

The added documentation comment for the UniIndexedList component is a great improvement. It provides a concise description and links to both the component documentation and usage instructions, which will be very helpful for developers.

Consider using JSDoc @see tags for the links to improve IDE integration:

/**
 * 索引列表
 * @see [Component Documentation](https://uniapp.dcloud.net.cn/component/uniui/uni-indexed-list.html)
 * @see [Usage Instructions](https://uni-typed.netlify.app/)
 */

This format may provide better clickable links in some IDEs and maintain consistency with common JSDoc practices.

packages/uni-app-types/src/ad/ad-interactive.ts (1)

71-77: Excellent addition of documentation comment!

The added JSDoc comment for the AdInteractive component is a valuable improvement. It provides a concise description and includes helpful links to the component documentation and usage instructions. This enhancement aligns well with the PR objectives and will significantly improve the developer experience.

Consider adding a brief example of how to use the component in the comment. This could further enhance the immediate usefulness of the documentation. For instance:

/**
 * 互动广告
 * 
 * @example
 * <template>
 *   <AdInteractive :adpid="your_ad_id" @load="onAdLoad" @error="onAdError" />
 * </template>
 * 
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/uni-ad/ad-interactive.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 */

This addition would provide developers with a quick start guide directly in the type definitions.

packages/uni-app-types/src/web-view/index.ts (1)

94-100: LGTM! Consider adding @see tags for better IDE integration.

The added documentation comment for the WebView component is well-structured and informative. It provides a concise description and includes helpful links to the component documentation and usage instructions.

To further improve IDE integration and make the links more accessible, consider using JSDoc @see tags:

 /**
  * Web 浏览器组件,可承载网页
  * ***
- * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/web-view.html)
- * |
- * [使用说明](https://uni-typed.netlify.app/)
+ * @see {@link https://uniapp.dcloud.net.cn/component/web-view.html|组件文档}
+ * @see {@link https://uni-typed.netlify.app/|使用说明}
  */
packages/uni-app-types/src/ad/ad-interstitial.ts (1)

93-99: Excellent documentation enhancement!

The added documentation comment for the AdInterstitial component is a valuable improvement. It provides a concise description and links to both the component documentation and usage instructions, which will greatly assist developers.

Consider adding a brief example of how to use the component in the documentation comment. This could further enhance the developer experience. For instance:

/**
 * 插屏广告
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/uni-ad/ad-interstitial.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 * 
 * @example
 * <ad-interstitial adpid="1234567890" @load="onAdLoad" @error="onAdError" @close="onAdClose" />
 */
packages/uni-app-types/src/ad/ad-fullscreen-video.ts (1)

100-106: LGTM! Consider adding a brief description of the component's functionality.

The added documentation comments for the AdFullscreenVideo component are valuable and follow a consistent format. The links to the component documentation and usage instructions are particularly helpful for developers.

Consider adding a brief description of the component's main functionality within the comment block. For example:

/**
 * 全屏视频广告
 *
 * 用于展示全屏视频广告的组件。支持加载、错误处理和关闭事件。
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/uni-ad/ad-fullscreen-video.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 */

This addition would provide users with a quick understanding of the component's purpose without needing to navigate to the external documentation.

packages/uni-app-types/src/basic-components/progress.ts (1)

Line range hint 1-172: Summary: Comprehensive documentation update and naming convention change

This PR successfully enhances the progress component documentation and aligns the naming convention with the lowercase standard. The changes are consistent across different sections of the file, improving overall code quality and developer experience.

However, two areas require attention:

  1. The renaming of the component from Progress to progress may introduce breaking changes in existing code. Ensure this is communicated clearly in the PR description and consider providing migration instructions.

  2. The presence of a @ts-expect-error comment suggests potential TypeScript configuration issues. Investigate and resolve these to ensure smooth integration of these changes.

To mitigate the impact of breaking changes and improve the robustness of the type definitions:

  1. Consider introducing a deprecation period where both Progress and progress are supported, with Progress marked as deprecated. This allows for a smoother transition.

  2. Review and update the project's TypeScript configuration to resolve any issues causing the need for @ts-expect-error. This will improve type safety and developer experience in the long run.

packages/uni-app-types/src/form-components/form.ts (1)

146-149: Excellent documentation enhancement!

The addition of documentation links for the form component is a great improvement. It provides developers with quick access to the component documentation and usage instructions, which will enhance the overall developer experience.

Consider adding a brief description of the form component's purpose or key features in this documentation comment. This would give developers a quick overview without needing to follow the links. For example:

/**
 * Form component for collecting and submitting user input.
 * Supports various form controls like switch, input, checkbox, slider, radio, and picker.
 * 
 * [👉🏻 Component Documentation](https://uniapp.dcloud.net.cn/component/form.html)
 * |
 * [Usage Instructions](https://uni-typed.netlify.app/)
 */
packages/uni-ui-types/src/uni-icons.ts (1)

233-238: Excellent addition of component documentation!

The added documentation for the UniIcons component is a valuable improvement. It provides a brief description and includes helpful links to the component documentation and usage instructions. This will greatly assist developers in understanding and using the component correctly.

Consider adding a brief example of how to use the component in code, which could further enhance the documentation. For instance:

/**
 * 图标
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-icons.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 * 
 * Example usage:
 * <uni-icons type="contact" size="30"></uni-icons>
 */

This addition would provide a quick reference for developers on how to implement the component in their code.

packages/uni-app-types/src/media-components/audio.ts (2)

155-161: LGTM! Consider adding @deprecated tag for backward compatibility.

The changes look good. The component renaming to lowercase and the addition of documentation links improve consistency and usability.

Consider adding an @deprecated tag with the old component name for backward compatibility:

/** 音频
 * @deprecated Use `audio` instead of `Audio` for better compatibility with Vue's naming conventions.
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/audio.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 */
audio: _Audio;

Line range hint 1-190: Summary: Changes improve consistency and documentation.

The modifications in this file successfully achieve the PR objectives by renaming the Audio component to lowercase and adding comprehensive documentation. These changes enhance the overall consistency and usability of the component.

Next steps:

  1. Consider adding the suggested @deprecated tag for backward compatibility.
  2. Investigate the module augmentation issue highlighted by the @ts-expect-error comment.
  3. Ensure these changes are consistently applied across other component files in the project.

To maintain consistency across the project, consider creating a script or using a code mod tool to automate similar changes for other components. This would ensure uniform application of the new naming convention and documentation style.

packages/uni-app-types/src/form-components/editor.ts (1)

174-174: Approve the lowercase component name, but consider backward compatibility.

The change from 'Editor' to 'editor' aligns with Vue's convention for component names in templates. This is a good practice and consistent with the PR objectives.

However, to ensure backward compatibility:

Consider adding a deprecation notice for the capitalized version:

export interface GlobalComponents {
  /** @deprecated Use lowercase 'editor' instead. Will be removed in the next major version. */
  Editor: _Editor;
  editor: _Editor;
}

This approach allows for a smoother transition and gives developers time to update their code.

packages/uni-app-types/src/view-containers/movable-view.ts (1)

238-241: Enhance documentation formatting and clarity.

The added documentation for the MovableView component is valuable. However, consider the following improvements:

  1. Use consistent formatting for the links. For example:

    /**
     * 可移动的视图容器,在页面中可以拖拽滑动或双指缩放
     *
     * Movable-area 直接子组件
     *
     * @see [Component Documentation](https://uniapp.dcloud.net.cn/component/movable-view.html)
     * @see [Usage Instructions](https://uni-typed.netlify.app/)
     */
  2. Provide more context for the "Usage Instructions" link. What specific information will developers find there?

packages/uni-app-types/src/canvas/index.ts (1)

Line range hint 134-169: Summary of changes and their impact

The changes in this file primarily involve:

  1. Adding clear and consistent documentation for the canvas component across Vue, JSX, and Vue/JSX-runtime sections.
  2. Changing the component name from Canvas to canvas in the Vue GlobalComponents interface.

These changes improve the clarity and usability of the canvas component. However, the component name change may require updates in existing code that uses the Canvas component.

To ensure a smooth transition:

  1. Update all usage of <Canvas> to <canvas> in your Vue templates.
  2. If you're using TypeScript with Vue, update any explicit type annotations from Canvas to canvas.
  3. Consider adding a deprecation warning for Canvas usage to help developers identify and update their code.
packages/uni-app-types/src/media-components/image.ts (1)

252-257: Approve consistent documentation for Vue 3.3+ and suggest minor improvement.

The added documentation for the image component in the JSX.IntrinsicElements interface for Vue 3.3+ is consistent with the changes in the previous interfaces, ensuring clarity and consistency across all supported Vue versions.

Consider adding a comment explaining the @ts-expect-error directive used on line 250. This will help other developers understand why it's necessary and prevent accidental removal.

+ // This directive is used to suppress the TypeScript error for the module augmentation
+ // as the "vue/jsx-runtime" module is not directly available for type checking.
 // @ts-expect-error Invalid module name in augmentation, module cannot be found.
 declare module "vue/jsx-runtime" {
   // ...
 }
packages/uni-ui-types/src/uni-list-item.ts (1)

265-271: LGTM! Consider adding @component tag for better documentation.

The added documentation comment for the UniListItem component is clear, concise, and provides useful links to the component documentation and usage instructions. This addition enhances the developer experience by providing quick access to relevant information.

Consider adding the @component JSDoc tag at the beginning of the comment to explicitly indicate that this is a component. This can improve tooling support and make the documentation even more standardized. Here's a suggested modification:

/**
 * @component
 * 列表子项
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/uniui/uni-list.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 */
UniListItem: _UniListItem;
packages/uni-app-types/src/ad/ad-content-page.ts (1)

214-220: Excellent documentation addition!

The added comment for the AdContentPage component in the GlobalComponents interface is a great improvement. It provides a clear description and helpful links to documentation and usage instructions, which will significantly enhance the developer experience.

Consider adding a brief example of how to use the component in the comment. This could further improve the immediate usefulness of the documentation. For instance:

/**
 * 短视频内容联盟广告
 * ***
 * [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/uni-ad/ad-content-page.html)
 * |
 * [使用说明](https://uni-typed.netlify.app/)
 * 
 * Example usage:
 * <ad-content-page adpid="your_ad_id_here" @load="onAdLoad" @error="onAdError" />
 */
packages/uni-cloud-types/src/unicloud-db.ts (1)

409-415: LGTM! Documentation enhancement for UnicloudDb component.

The added documentation for the UnicloudDb component is a valuable improvement. It provides a concise description and includes links to the official documentation and usage instructions, which will greatly assist developers in understanding and using the component.

Consider adding a brief mention of the component's key features or use cases to provide more context at a glance. For example:

 /**
  * 数据库查询组件,对 uni-clientdb 的 js 库的再封装
+ * 
+ * 主要用于在前端进行数据库查询、新增、修改和删除操作。
  ***
  * [👉🏻点击查看组件文档](https://doc.dcloud.net.cn/uniCloud/unicloud-db.html)
  * |
  * [使用说明](https://uni-typed.netlify.app/)
  */
packages/uni-app-types/src/media-components/video.ts (1)

647-652: Approve changes with migration note

The addition of documentation links and usage instructions is beneficial for developers. The change from 'Video' to 'video' aligns with HTML standards and Vue.js conventions.

Consider providing a migration guide for users updating from previous versions, as this change might affect existing code using the uppercase 'Video' component.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between e59bdb7 and 8eb23f1.

📒 Files selected for processing (82)
  • packages/uni-app-types/src/ad/ad-content-page.ts (1 hunks)
  • packages/uni-app-types/src/ad/ad-draw.ts (1 hunks)
  • packages/uni-app-types/src/ad/ad-fullscreen-video.ts (1 hunks)
  • packages/uni-app-types/src/ad/ad-interactive.ts (1 hunks)
  • packages/uni-app-types/src/ad/ad-interstitial.ts (1 hunks)
  • packages/uni-app-types/src/ad/ad-rewarded-video.ts (1 hunks)
  • packages/uni-app-types/src/ad/ad.ts (1 hunks)
  • packages/uni-app-types/src/basic-components/icon.ts (1 hunks)
  • packages/uni-app-types/src/basic-components/progress.ts (2 hunks)
  • packages/uni-app-types/src/basic-components/rich-text.ts (1 hunks)
  • packages/uni-app-types/src/basic-components/text.ts (4 hunks)
  • packages/uni-app-types/src/canvas/index.ts (2 hunks)
  • packages/uni-app-types/src/form-components/button.ts (2 hunks)
  • packages/uni-app-types/src/form-components/checkbox-group.ts (1 hunks)
  • packages/uni-app-types/src/form-components/checkbox.ts (1 hunks)
  • packages/uni-app-types/src/form-components/editor.ts (1 hunks)
  • packages/uni-app-types/src/form-components/form.ts (1 hunks)
  • packages/uni-app-types/src/form-components/input.ts (2 hunks)
  • packages/uni-app-types/src/form-components/label.ts (3 hunks)
  • packages/uni-app-types/src/form-components/picker-view-column.ts (1 hunks)
  • packages/uni-app-types/src/form-components/picker-view.ts (1 hunks)
  • packages/uni-app-types/src/form-components/picker.ts (1 hunks)
  • packages/uni-app-types/src/form-components/radio-group.ts (1 hunks)
  • packages/uni-app-types/src/form-components/radio.ts (1 hunks)
  • packages/uni-app-types/src/form-components/slider.ts (1 hunks)
  • packages/uni-app-types/src/form-components/switch.ts (2 hunks)
  • packages/uni-app-types/src/form-components/textarea.ts (2 hunks)
  • packages/uni-app-types/src/map/index.ts (2 hunks)
  • packages/uni-app-types/src/media-components/audio.ts (2 hunks)
  • packages/uni-app-types/src/media-components/camera.ts (1 hunks)
  • packages/uni-app-types/src/media-components/image.ts (2 hunks)
  • packages/uni-app-types/src/media-components/live-player.ts (1 hunks)
  • packages/uni-app-types/src/media-components/live-pusher.ts (1 hunks)
  • packages/uni-app-types/src/media-components/video.ts (3 hunks)
  • packages/uni-app-types/src/navigation/navigator.ts (1 hunks)
  • packages/uni-app-types/src/page-property-configuration-node/custom-tab-bar.ts (1 hunks)
  • packages/uni-app-types/src/page-property-configuration-node/navigation-bar.ts (1 hunks)
  • packages/uni-app-types/src/page-property-configuration-node/page-meta.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/cover-image.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/cover-view.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/match-media.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/movable-area.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/movable-view.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/scroll-view.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/swiper-item.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/swiper.ts (1 hunks)
  • packages/uni-app-types/src/view-containers/view.ts (4 hunks)
  • packages/uni-app-types/src/web-view/index.ts (1 hunks)
  • packages/uni-cloud-types/src/unicloud-db.ts (1 hunks)
  • packages/uni-ui-types/src/uni-badge.ts (1 hunks)
  • packages/uni-ui-types/src/uni-breadcrumb-item.ts (1 hunks)
  • packages/uni-ui-types/src/uni-breadcrumb.ts (1 hunks)
  • packages/uni-ui-types/src/uni-calendar.ts (1 hunks)
  • packages/uni-ui-types/src/uni-card.ts (1 hunks)
  • packages/uni-ui-types/src/uni-col.ts (1 hunks)
  • packages/uni-ui-types/src/uni-collapse-item.ts (1 hunks)
  • packages/uni-ui-types/src/uni-collapse.ts (1 hunks)
  • packages/uni-ui-types/src/uni-combox.ts (1 hunks)
  • packages/uni-ui-types/src/uni-countdown.ts (1 hunks)
  • packages/uni-ui-types/src/uni-data-checkbox.ts (1 hunks)
  • packages/uni-ui-types/src/uni-data-picker.ts (1 hunks)
  • packages/uni-ui-types/src/uni-data-select.ts (1 hunks)
  • packages/uni-ui-types/src/uni-dateformat.ts (1 hunks)
  • packages/uni-ui-types/src/uni-datetime-picker.ts (1 hunks)
  • packages/uni-ui-types/src/uni-drawer.ts (1 hunks)
  • packages/uni-ui-types/src/uni-easyinput.ts (1 hunks)
  • packages/uni-ui-types/src/uni-fab.ts (1 hunks)
  • packages/uni-ui-types/src/uni-fav.ts (1 hunks)
  • packages/uni-ui-types/src/uni-file-picker.ts (1 hunks)
  • packages/uni-ui-types/src/uni-forms-item.ts (1 hunks)
  • packages/uni-ui-types/src/uni-forms.ts (1 hunks)
  • packages/uni-ui-types/src/uni-goods-nav.ts (1 hunks)
  • packages/uni-ui-types/src/uni-grid-item.ts (1 hunks)
  • packages/uni-ui-types/src/uni-grid.ts (1 hunks)
  • packages/uni-ui-types/src/uni-group.ts (1 hunks)
  • packages/uni-ui-types/src/uni-icons.ts (1 hunks)
  • packages/uni-ui-types/src/uni-indexed-list.ts (1 hunks)
  • packages/uni-ui-types/src/uni-link.ts (1 hunks)
  • packages/uni-ui-types/src/uni-list-chat.ts (1 hunks)
  • packages/uni-ui-types/src/uni-list-item.ts (1 hunks)
  • packages/uni-ui-types/src/uni-list.ts (1 hunks)
  • packages/uni-ui-types/src/uni-load-more.ts (1 hunks)
⛔ Files not processed due to max files limit (25)
  • packages/uni-ui-types/src/uni-nav-bar.ts
  • packages/uni-ui-types/src/uni-notice-bar.ts
  • packages/uni-ui-types/src/uni-number-box.ts
  • packages/uni-ui-types/src/uni-pagination.ts
  • packages/uni-ui-types/src/uni-popup-dialog.ts
  • packages/uni-ui-types/src/uni-popup-message.ts
  • packages/uni-ui-types/src/uni-popup-share.ts
  • packages/uni-ui-types/src/uni-popup.ts
  • packages/uni-ui-types/src/uni-rate.ts
  • packages/uni-ui-types/src/uni-row.ts
  • packages/uni-ui-types/src/uni-search-bar.ts
  • packages/uni-ui-types/src/uni-section.ts
  • packages/uni-ui-types/src/uni-segmented-control.ts
  • packages/uni-ui-types/src/uni-steps.ts
  • packages/uni-ui-types/src/uni-swipe-action-item.ts
  • packages/uni-ui-types/src/uni-swipe-action.ts
  • packages/uni-ui-types/src/uni-swiper-dot.ts
  • packages/uni-ui-types/src/uni-table.ts
  • packages/uni-ui-types/src/uni-tag.ts
  • packages/uni-ui-types/src/uni-td.ts
  • packages/uni-ui-types/src/uni-th.ts
  • packages/uni-ui-types/src/uni-title.ts
  • packages/uni-ui-types/src/uni-tooltip.ts
  • packages/uni-ui-types/src/uni-tr.ts
  • packages/uni-ui-types/src/uni-transition.ts
✅ Files skipped from review due to trivial changes (38)
  • packages/uni-app-types/src/ad/ad-draw.ts
  • packages/uni-app-types/src/ad/ad-rewarded-video.ts
  • packages/uni-app-types/src/ad/ad.ts
  • packages/uni-app-types/src/basic-components/rich-text.ts
  • packages/uni-app-types/src/form-components/checkbox-group.ts
  • packages/uni-app-types/src/form-components/picker-view.ts
  • packages/uni-app-types/src/form-components/radio-group.ts
  • packages/uni-app-types/src/media-components/live-player.ts
  • packages/uni-app-types/src/media-components/live-pusher.ts
  • packages/uni-app-types/src/page-property-configuration-node/custom-tab-bar.ts
  • packages/uni-app-types/src/page-property-configuration-node/navigation-bar.ts
  • packages/uni-app-types/src/page-property-configuration-node/page-meta.ts
  • packages/uni-app-types/src/view-containers/cover-image.ts
  • packages/uni-app-types/src/view-containers/cover-view.ts
  • packages/uni-app-types/src/view-containers/movable-area.ts
  • packages/uni-app-types/src/view-containers/scroll-view.ts
  • packages/uni-ui-types/src/uni-badge.ts
  • packages/uni-ui-types/src/uni-calendar.ts
  • packages/uni-ui-types/src/uni-card.ts
  • packages/uni-ui-types/src/uni-collapse.ts
  • packages/uni-ui-types/src/uni-combox.ts
  • packages/uni-ui-types/src/uni-data-checkbox.ts
  • packages/uni-ui-types/src/uni-data-picker.ts
  • packages/uni-ui-types/src/uni-data-select.ts
  • packages/uni-ui-types/src/uni-datetime-picker.ts
  • packages/uni-ui-types/src/uni-drawer.ts
  • packages/uni-ui-types/src/uni-easyinput.ts
  • packages/uni-ui-types/src/uni-fab.ts
  • packages/uni-ui-types/src/uni-file-picker.ts
  • packages/uni-ui-types/src/uni-forms-item.ts
  • packages/uni-ui-types/src/uni-forms.ts
  • packages/uni-ui-types/src/uni-goods-nav.ts
  • packages/uni-ui-types/src/uni-grid-item.ts
  • packages/uni-ui-types/src/uni-group.ts
  • packages/uni-ui-types/src/uni-link.ts
  • packages/uni-ui-types/src/uni-list-chat.ts
  • packages/uni-ui-types/src/uni-list.ts
  • packages/uni-ui-types/src/uni-load-more.ts
🧰 Additional context used
🔇 Additional comments (59)
packages/uni-app-types/src/view-containers/swiper-item.ts (1)

Line range hint 1-53: Overall, great improvement to documentation!

The changes in this file align well with the PR objectives of enhancing documentation. The addition of links to component documentation and usage instructions provides valuable resources for developers using the SwiperItem component. No functional changes were made, preserving the existing behavior while improving usability.

packages/uni-app-types/src/form-components/radio.ts (2)

Line range hint 1-74: Overall, the changes improve the component documentation and naming convention.

The renaming of the 'Radio' component to 'radio' in the GlobalComponents interface and the addition of documentation links are positive changes. They improve consistency with Vue conventions and provide valuable resources for developers.

Consider extending similar documentation improvements to other parts of the file for a more uniform approach to documentation across all components and types.


68-74: Approve the component renaming and documentation addition.

The changes look good. Renaming the component from 'Radio' to 'radio' in the GlobalComponents interface aligns with Vue's convention for component names in templates. The added documentation links provide valuable resources for developers.

To ensure consistency across the codebase, let's check if similar changes are needed elsewhere:

✅ Verification successful

Component renaming and documentation addition verified.

No other uppercase component names were found in GlobalComponents interfaces, ensuring consistency across the codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for other uppercase component names in GlobalComponents interfaces

# Test: Search for other potential uppercase component names in GlobalComponents
rg --type typescript 'export interface GlobalComponents' -A 10 | grep -E '^\s+[A-Z]'

Length of output: 121


Script:

#!/bin/bash
# Description: Check for other uppercase component names in GlobalComponents interfaces

# Updated Test: Search for other potential uppercase component names in GlobalComponents without using the unsupported '--type' flag
rg 'export interface GlobalComponents' -A 10 -g "*.ts" -g "*.tsx" | grep -E '^\s+[A-Z]'

Length of output: 89

packages/uni-app-types/src/form-components/checkbox.ts (1)

68-74: Approved: Component renaming and documentation improvement

The changes align with the PR objectives:

  1. The component name has been changed from 'Checkbox' to 'checkbox', adhering to the lowercase naming convention.
  2. A detailed comment has been added, providing valuable links to the component documentation and usage instructions.

These modifications enhance code consistency and improve developer experience through better documentation.

To ensure this change doesn't break existing code, please run the following verification script:

If the script returns any results, those files may need to be updated to use the new lowercase 'checkbox' component name.

✅ Verification successful

Verified: No remaining references to 'Checkbox' found

The renaming of Checkbox to checkbox has been successfully verified. No instances of <Checkbox remain in .vue files, ensuring that the change does not impact existing codebases.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining usage of PascalCase 'Checkbox' in .vue files

# Test: Search for PascalCase 'Checkbox' usage in .vue files
rg --type vue '<Checkbox' .

Length of output: 57


Script:

#!/bin/bash
# Description: Check for any remaining usage of PascalCase 'Checkbox' in .vue files

# Test: Search for PascalCase 'Checkbox' usage in .vue files
rg -g '*.vue' '<Checkbox' .

Length of output: 29

packages/uni-app-types/src/form-components/label.ts (4)

58-63: Excellent improvements to documentation and naming convention!

The changes in this section are well-aligned with the PR objectives:

  1. Renaming the component from Label to label improves component name matching, addressing the camelCase and kebab-case convention issues.
  2. The added documentation links enhance developer experience by providing quick access to component documentation and usage instructions.

These modifications contribute to better usability and consistency in the codebase.


79-84: Consistent improvements for Vue 3.0-3.2 compatibility!

The changes in this section mirror those made in the GlobalComponents interface:

  1. The component name has been updated to label, maintaining consistency.
  2. Documentation links have been added, ensuring that developers using Vue 3.0-3.2 have access to the same helpful resources.

This consistency across different Vue versions is commendable and contributes to a unified developer experience.


102-107: Forward-compatible improvements for Vue 3.3+!

The changes in this section complete the consistent update across all supported Vue versions:

  1. The component name has been updated to label, aligning with the changes made for earlier Vue versions.
  2. Documentation links have been added, ensuring that developers using the latest Vue versions (3.3+) have access to the same resources.

This forward-compatible approach ensures that the improvements benefit developers regardless of their Vue version, promoting a seamless upgrade path.


Line range hint 1-107: Overall excellent improvements to the label component type definitions!

This update successfully achieves the following:

  1. Improves component name matching by consistently renaming Label to label across all Vue versions.
  2. Enhances developer experience by adding clear, accessible documentation links.
  3. Maintains consistency across different Vue versions (3.0-3.2 and 3.3+).

These changes align perfectly with the PR objectives and contribute to a more robust and developer-friendly type system for uni-app. Great work on improving both the functionality and usability of the component!

packages/uni-app-types/src/view-containers/view.ts (4)

65-68: Excellent addition of documentation links!

The inclusion of links to the component documentation and usage instructions enhances the developer experience. This change aligns well with the PR's objective of improving documentation.


84-87: Consistent documentation improvement

The addition of documentation links to the view component in both the GlobalComponents and IntrinsicElements interfaces is commendable. This ensures comprehensive documentation across different usage contexts.

Also applies to: 103-106


124-127: Comprehensive documentation across Vue versions

The addition of documentation links to the view component for Vue 3.3+ completes the documentation improvement across all relevant sections of the file. This change ensures consistent access to component documentation and usage instructions regardless of the Vue version used.

Overall, these changes significantly enhance the developer experience by providing easy access to crucial information about the view component.


Line range hint 65-127: Summary of changes and their impact

The modifications in this file successfully achieve the following:

  1. Enhanced documentation by adding links to component documentation and usage instructions.
  2. Updated the naming convention for the View component to lowercase view.

These changes align well with the PR objectives and improve the overall developer experience. However, the renaming of View to view may introduce a breaking change for existing codebases. It's recommended to:

  1. Add a note in the changelog about the potential breaking change.
  2. Consider adding a deprecation warning for the uppercase View usage if backward compatibility is a concern.

Overall, these changes represent a significant improvement in documentation and consistency.

packages/uni-app-types/src/basic-components/text.ts (4)

83-86: Excellent addition of documentation links!

The inclusion of links to the component documentation and usage instructions enhances the developer experience. This change makes it easier for users to access relevant information directly from the type definitions.


117-122: Approved: Consistent documentation and naming in JSX definitions

The addition of documentation links and the change to lowercase naming in the JSX IntrinsicElements interface are consistent with previous changes. This ensures uniformity across different usage contexts of the Text component.


136-141: Approved: Consistent changes for Vue 3.3+ JSX definitions

The changes made to the JSX IntrinsicElements interface for Vue 3.3+ mirror those made for earlier Vue versions. This consistency ensures that the Text component is uniformly defined and documented across different Vue versions, which is excellent for maintaining compatibility and developer experience.


Line range hint 1-143: Summary: Comprehensive improvements to Text component type definitions

The changes in this file significantly enhance the Text component type definitions:

  1. Addition of valuable documentation links throughout the file.
  2. Consistent renaming of the component from 'Text' to 'text' across different contexts (Vue global components and JSX definitions).
  3. Uniform application of changes across different Vue versions.

These improvements align well with the PR objectives and will likely improve the developer experience when working with the Text component in uni-app.

To ensure a smooth transition, please verify the impact of the naming change ('Text' to 'text') on the broader codebase. Consider running a comprehensive search for usages of the uppercase 'Text' component and update the PR description or documentation to include migration instructions if necessary.

packages/uni-app-types/src/form-components/switch.ts (4)

81-87: Excellent documentation and naming convention update!

The changes in this segment are well-implemented:

  1. The component name has been updated from 'Switch' to 'switch', aligning with the PR objective to use lowercase naming.
  2. Comprehensive documentation has been added, including links to the component documentation and usage instructions.

These changes enhance code clarity and improve developer experience.


95-100: Consistent naming and documentation update!

The changes in this segment maintain consistency with the previous update:

  1. The component name has been changed from 'Switch' to 'switch' in the global JSX IntrinsicElements interface.
  2. The same comprehensive documentation has been added, ensuring consistency across different declarations.

This consistency in naming and documentation across different parts of the code is commendable.


111-117: Consistent update for Vue 3.3+ JSX runtime!

The changes in this segment complete the consistent update across all relevant declarations:

  1. The component name has been changed from 'Switch' to 'switch' in the Vue JSX runtime module.
  2. The same comprehensive documentation has been added, ensuring consistency.

It's worth noting that this particular change is specific to Vue versions 3.3 and above, as indicated by the comment above this block. This version-specific update demonstrates attention to detail in maintaining compatibility across different Vue versions.


Line range hint 81-117: Overall excellent update to component naming and documentation!

The changes in this file are consistently implemented and align well with the PR objectives:

  1. The 'Switch' component has been renamed to 'switch' across all relevant declarations, adhering to the lowercase naming convention.
  2. Comprehensive documentation, including links to component documentation and usage instructions, has been added consistently.
  3. The changes maintain compatibility with different Vue versions, particularly noting the specific declaration for Vue 3.3+.

These updates significantly improve code clarity, consistency, and developer experience. Great job on maintaining consistency throughout the file!

packages/uni-app-types/src/ad/ad-interstitial.ts (1)

Line range hint 1-101: Well-structured TypeScript definitions with improved documentation

The changes in this file focus on enhancing the documentation for the AdInterstitial component. The added comment provides valuable information and links, which aligns well with the PR objectives to improve documentation.

The existing TypeScript definitions remain unchanged, maintaining the structure and functionality of the interstitial ad component. This focused approach to documentation improvement is commendable.

To ensure consistency across the codebase, let's check if similar documentation improvements have been made to other components:

This will help verify if the documentation style is consistent across different components.

✅ Verification successful

Documentation Consistency Verified

The documentation updates in packages/uni-app-types/src/ad/ad-interstitial.ts are consistent with other components across the codebase. Similar documentation patterns have been confirmed in multiple TypeScript files, ensuring uniformity and adherence to the project's documentation standards.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for similar documentation improvements in other components

# Test: Search for similar documentation patterns in other files
rg --type typescript -g '!ad-interstitial.ts' '\/\*\*\s*\n\s*\*\s*.*\n\s*\*\s*\*\*\*\s*\n\s*\*\s*\[👉🏻点击查看组件文档\]'

Length of output: 249


Script:

#!/bin/bash
# Description: Check for similar documentation improvements in other components

# Corrected regex pattern without unnecessary escapes
rg --type typescript -g '!ad-interstitial.ts' '/\*\*\s*\n\s*\*\s.*\n\s*\*\s*\*\*\*\s*\n\s*\*\s*\[👉🏻点击查看组件文档\]/'

Length of output: 307


Script:

#!/bin/bash
# Description: Check for similar documentation improvements in other components

# Corrected regex pattern with multiline mode enabled
rg -U --type typescript -g '!ad-interstitial.ts' '/\*\*\s*\n\s*\*\s.*\n\s*\*\s*\*\*\*\s*\n\s*\*\s*\[👉🏻点击查看组件文档\]/'

Length of output: 153


Script:

#!/bin/bash
# Description: Check for similar documentation improvements in other components

# Corrected regex pattern with multiline mode enabled and explicit file pattern
rg -U -g "*.ts" '/\*\*\s*\n\s*\*\s.*\n\s*\*\s*\*\*\*\s*\n\s*\*\s*\[👉🏻点击查看组件文档\]/'

Length of output: 85


Script:

#!/bin/bash
# Description: Check for similar documentation improvements in other TypeScript components

# Search for the specific documentation comment phrase in TypeScript files, excluding ad-interstitial.ts
rg '\[👉🏻点击查看组件文档\]' -g '*.ts' -g '!ad-interstitial.ts'

Length of output: 17482

packages/uni-app-types/src/basic-components/progress.ts (3)

148-155: Approved: Consistent documentation and naming update for JSX

The changes in this section mirror those made in the GlobalComponents interface. The added documentation comments and the component name change to lowercase are consistent, maintaining uniformity across different parts of the codebase.


165-172: Approved: Consistent updates for Vue 3.3+ with a note on TypeScript configuration

The changes in this section are consistent with those made in the previous sections, maintaining uniformity across different Vue versions. The added documentation comments and the component name change to lowercase are appropriate.

However, the presence of the @ts-expect-error comment suggests there might be some TypeScript configuration issues. It would be beneficial to investigate why this error is occurring and if it can be resolved. Please run the following command to check for any TypeScript configuration files in the project:

#!/bin/bash
# Search for TypeScript configuration files
fd -e json tsconfig

If any tsconfig.json files are found, review them to ensure they are correctly configured for the project structure and Vue version being used.


133-140: Approved: Documentation enhancement and naming convention update

The added documentation comments provide valuable links to the component documentation and usage instructions, enhancing developer experience. The change from Progress to progress aligns with the PR objective of modifying component names to lowercase, improving consistency.

However, this change might potentially break existing code that relies on the uppercase naming. To ensure this change doesn't cause unexpected issues, please run the following script to check for any usage of the uppercase Progress component in the codebase:

If any results are found, consider adding a note in the PR description about this potential breaking change and the need for updates in consuming code.

✅ Verification successful

Verified: Uppercase 'Progress' component is not used outside type definitions and tests

No usage of the uppercase Progress component was found in other parts of the codebase, ensuring that the change to lowercase progress does not introduce breaking changes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for usage of uppercase 'Progress' component
rg --type vue --type typescript '\bProgress\b' -C 3

Length of output: 215


Script:

#!/bin/bash
# Search for usage of uppercase 'Progress' component
rg --type vue --type typescript '\bProgress\b' -C 3

Length of output: 81


Script:

#!/bin/bash
# Search for usage of uppercase 'Progress' component in .vue and .ts files
rg '\bProgress\b' -g '*.vue' -g '*.ts' -C 3

Length of output: 3210

packages/uni-app-types/src/form-components/form.ts (1)

Line range hint 1-149: Overall assessment: Documentation improvement

The changes made to this file focus on enhancing the documentation for the form component in the JSX namespace for Vue 3.3 and later. This is a positive improvement that will benefit developers using the library by providing easier access to component documentation and usage instructions.

No functional changes or modifications to type definitions were made, ensuring that existing code relying on these types will continue to work as expected.

packages/uni-ui-types/src/uni-icons.ts (1)

Line range hint 1-238: Overall assessment: Positive improvement to documentation

The changes in this file are focused on enhancing the documentation for the UniIcons component. The added documentation provides valuable information and links for developers, improving the overall usability of the component. The existing type definitions and file structure remain intact, ensuring that the functionality of the UniIcons component is preserved.

These changes align well with the PR objectives of updating TSDoc comments and improving component documentation. Great job on enhancing the developer experience without introducing any breaking changes!

packages/uni-app-types/src/media-components/audio.ts (1)

169-174: LGTM! Consistent with previous changes.

The changes in this section are consistent with the modifications made in the GlobalComponents interface. The lowercase renaming and documentation additions improve the overall consistency and usability of the component.

packages/uni-app-types/src/form-components/editor.ts (2)

169-172: Excellent addition of documentation links!

The inclusion of links to the component documentation and usage instructions enhances the developer experience. This change will help users quickly access relevant information about the editor component.


Line range hint 1-174: Overall, good improvements with a minor consideration.

The changes in this file enhance the documentation and align the component name with Vue conventions. The added documentation links are valuable, and the lowercase component name is a good practice.

However, please consider the suggestion for maintaining backward compatibility with a deprecation notice for the capitalized 'Editor' name. This will ensure a smoother transition for existing codebases.

packages/uni-app-types/src/view-containers/movable-view.ts (1)

Line range hint 1-241: LGTM! Documentation improvements enhance developer experience.

The changes in this file focus on improving documentation for the MovableView component. These additions provide valuable resources for developers using the component, enhancing the overall developer experience. The changes do not introduce any functional modifications or risks to the existing codebase.

Key improvements:

  1. Added links to component documentation and usage instructions.
  2. Maintained consistency with existing type definitions and interfaces.
packages/uni-app-types/src/canvas/index.ts (3)

148-153: Approve documentation changes for JSX.

The added documentation for the canvas component in the JSX IntrinsicElements interface is consistent with the Vue section and provides clear information about the component.


164-169: Approve documentation changes for Vue/JSX-runtime and verify TypeScript comment.

The added documentation for the canvas component in the Vue/JSX-runtime IntrinsicElements interface is consistent with the other sections and provides clear information about the component.

Please verify if the TypeScript expect-error comment above this section is still necessary:

// @ts-expect-error Invalid module name in augmentation, module cannot be found.

If this comment is addressing a known issue, consider adding a brief explanation. If it's no longer needed, it should be removed.


134-140: Approve documentation changes and component renaming.

The added documentation for the canvas component is clear and helpful. The change from Canvas to canvas aligns with Vue's convention for component names in templates.

To ensure this change doesn't break existing code, please run the following script:

If the script returns any results, those files may need to be updated to use <canvas> instead of <Canvas>.

✅ Verification successful

Verification Successful: No usage of <Canvas> found in .vue files.

The rename from Canvas to canvas does not affect existing code as there are no remaining references to <Canvas>.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for usage of 'Canvas' component in .vue files
rg --type vue '<Canvas' .

Length of output: 55


Script:

#!/bin/bash
# Search for usage of 'Canvas' component in .vue files using glob pattern
rg '<Canvas' --glob '*.vue' .

Length of output: 31

packages/uni-app-types/src/media-components/camera.ts (1)

257-263: LGTM! Verify usage across the codebase.

The changes look good and align with the PR objectives. The component name has been updated to lowercase, and helpful documentation links have been added. This improves consistency and developer experience.

To ensure this change doesn't break existing code, please run the following script to check for any uppercase Camera component usage that might need updating:

If the script returns any results, those occurrences should be updated to use the lowercase camera.

packages/uni-app-types/src/media-components/image.ts (3)

236-241: Approve consistent documentation for JSX.IntrinsicElements.

The added documentation for the image component in the JSX.IntrinsicElements interface is consistent with the changes in the GlobalComponents interface. This ensures clarity and consistency across different Vue versions.


Line range hint 222-257: Summary of changes and their impact.

The changes in this file successfully implement the following improvements:

  1. Enhanced documentation for the image component across different Vue versions and interfaces.
  2. Consistent renaming of the component from uppercase Image to lowercase image.

These changes align with the PR objectives and improve the overall clarity and consistency of the codebase. However, it's important to note that the renaming may impact existing code that relies on the uppercase Image component name.

To ensure a smooth transition, consider the following steps:

  1. Run a codebase-wide search for uppercase Image usage and update as necessary.
  2. Add a migration guide to the PR description or project documentation.
  3. Consider adding a deprecation warning for the uppercase Image usage to help developers identify and update their code.
#!/bin/bash
# Search for potential uppercase Image component usage across the project
rg '\bImage\b' --type vue --type typescript --type javascript

This will help identify any potential areas that may need updates due to the component renaming.


222-228: Approve documentation enhancement and component name change.

The added documentation for the image component improves clarity by providing links to the component documentation and usage instructions. The change from Image to image aligns with the PR objectives.

To ensure this change doesn't break existing code, please run the following script to check for any uppercase Image component usage:

If any results are found, consider updating them or adding a migration guide to the PR description.

✅ Verification successful

Verification Successful: No uppercase Image component usage found in .vue files.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for uppercase Image component usage
rg '\bImage\b' --type vue

Length of output: 91


Script:

#!/bin/bash
# Search for uppercase Image component usage in .vue, .ts, and .js files
rg '\bImage\b' --glob '*.vue' --glob '*.ts' --glob '*.js'

Length of output: 592

packages/uni-app-types/src/navigation/navigator.ts (2)

307-310: Great addition of documentation links!

The inclusion of links to the component documentation and usage instructions is a valuable enhancement. This will help developers quickly access relevant information, improving the overall usability of the component.


312-312: Approved: Component renamed to lowercase, but consider potential breaking changes

The renaming of 'Navigator' to 'navigator' in the Vue module declaration aligns with Vue's convention of using lowercase for component names in templates. This change addresses the issues mentioned in the PR objectives regarding camelCase and kebab-case naming conventions.

However, this modification might cause breaking changes in existing code that relies on the capitalized 'Navigator' component name.

To assess the impact of this change, please run the following script to check for usage of the capitalized 'Navigator' component in the codebase:

Consider the following recommendations:

  1. If the script finds occurrences, implement a migration strategy to update existing code.
  2. Update the documentation to reflect this change and guide users on migrating their code.
  3. Consider adding a deprecation warning for the capitalized version to ease the transition.
✅ Verification successful

To accurately search for the usage of the capitalized Navigator component in .vue files, please run the following script:


To comprehensively search for the usage of the capitalized Navigator component in .vue files, please execute the following script:


To ensure no usage of the capitalized Navigator component exists across the entire codebase, please run the following script:


Verified: No usage of capitalized Navigator component found

The search for the capitalized Navigator component in the codebase yielded no instances within .vue files. This indicates that renaming the component to lowercase navigator should not cause any breaking changes in the existing codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for usage of capitalized 'Navigator' component
rg --type vue '<Navigator' .

Length of output: 58


Script:

#!/bin/bash
# Search for usage of capitalized 'Navigator' component in .vue files
rg '<Navigator' --glob '*.vue' .

Length of output: 34


Script:

#!/bin/bash
# Find all .vue files and search for '<Navigator' in a case-insensitive manner
fd --type f --extension vue | xargs rg -i '<Navigator'

Length of output: 56


Script:

#!/bin/bash
# Search for '<Navigator' usage in all files, case-insensitive
rg -i '<Navigator' .

Length of output: 1983

packages/uni-app-types/src/view-containers/swiper.ts (1)

286-291: Approve documentation addition and highlight component name change.

The addition of documentation links and usage instructions is a great improvement for developer experience. However, the change from Swiper to swiper in the GlobalComponents interface, while aligning with Vue.js naming conventions, may have implications:

  1. This change could potentially break existing code that relies on the Swiper component name.
  2. It's important to ensure this naming change is consistent across the entire codebase and documentation.

To ensure consistency and identify potential issues, please run the following script:

This script will help identify any inconsistencies in the usage of 'Swiper' vs 'swiper' across the codebase, allowing you to make necessary adjustments for consistency.

packages/uni-app-types/src/form-components/textarea.ts (4)

328-334: Excellent documentation and naming convention update!

The changes in this segment improve the component in several ways:

  1. Added comprehensive documentation with links to the component docs and usage instructions.
  2. Updated the component name from Textarea to lowercase textarea, which aligns with HTML standards and improves consistency.
  3. Maintained type safety by using the existing _Textarea type.

These changes enhance developer experience and maintain code quality.


342-347: Consistent update for Vue 3.0-3.2 JSX support

The changes in this segment mirror those made in the GlobalComponents interface:

  1. Added comprehensive documentation with links.
  2. Updated the component name to lowercase textarea.
  3. Maintained type safety.

This consistency ensures proper typing support across different usage scenarios in Vue 3.0-3.2.


358-363: Consistent update for Vue 3.3+ JSX support

The changes in this segment complete the comprehensive update across all supported Vue versions:

  1. Added consistent documentation with links.
  2. Updated the component name to lowercase textarea.
  3. Maintained type safety.

This ensures proper typing support for Vue 3.3 and above, maintaining consistency across the entire file. The existing @ts-expect-error comment is correctly preserved, addressing a known TypeScript limitation with module augmentation.


Line range hint 328-363: Summary: Excellent updates to the textarea component

The changes made to the textarea component in this file are comprehensive and well-executed:

  1. Consistent renaming from Textarea to lowercase textarea across all Vue version support sections.
  2. Addition of detailed documentation links for each declaration.
  3. Maintained type safety by using existing type definitions.

These updates achieve the following:

  • Align the component name with HTML standards, improving consistency.
  • Enhance developer experience with readily available documentation links.
  • Ensure proper typing support across different Vue versions and usage scenarios.

The changes effectively address the PR objectives and contribute to the overall improvement of the codebase.

packages/uni-app-types/src/form-components/input.ts (4)

496-502: Excellent documentation and naming convention update!

The changes in this segment are well-implemented:

  1. Renaming Input to input aligns with HTML standards and improves consistency.
  2. The added documentation comments, including links to the component docs and usage instructions, significantly enhance the developer experience.

These updates align perfectly with the PR objectives of improving documentation and addressing naming conventions.


510-515: Consistent implementation for Vue 3.0-3.2 JSX

The changes in this segment mirror those in the global components declaration:

  1. The component name is correctly updated to lowercase input.
  2. The same helpful documentation comments are added, maintaining consistency in the developer experience across different Vue versions.

This consistent implementation is commendable and aligns well with the PR objectives.


526-531: Comprehensive update for Vue 3.3+ JSX

This segment completes the consistent implementation across all supported Vue versions:

  1. The component name is updated to lowercase input, maintaining uniformity.
  2. The helpful documentation comments are added, ensuring a consistent developer experience.

The attention to backwards compatibility, by providing separate declarations for different Vue versions, is particularly commendable. This thorough approach ensures that the improvements benefit developers regardless of their Vue version.


Line range hint 496-531: Overall excellent implementation

The changes in this file are consistently well-implemented across all segments:

  1. The component name is updated from Input to input, improving consistency with HTML standards.
  2. Comprehensive documentation comments are added, enhancing the developer experience.
  3. The changes are consistently applied across different Vue versions, demonstrating attention to backwards compatibility.

These updates successfully address the PR objectives of improving documentation and resolving naming convention issues. The implementation is thorough and shows a high level of attention to detail.

packages/uni-app-types/src/form-components/picker.ts (2)

Line range hint 1-550: Overall impact of changes is minimal and correct.

The renaming of Picker to picker in the GlobalComponents interface is the only significant change in this file. This change aligns with Vue 3 naming conventions for components. The rest of the file, including all exported types and interfaces, remains unchanged. The _Picker type alias is correctly maintained, as it's not part of the component naming convention.


543-550: Approve renaming and documentation addition for the picker component.

The changes look good. The Picker component has been renamed to picker in the GlobalComponents interface, which aligns with Vue 3 naming conventions for components. A comprehensive documentation comment has been added, providing links to the component documentation and usage instructions.

To ensure the renaming doesn't affect other parts of the file, let's run the following script:

✅ Verification successful

Verified renaming of the Picker component to picker.

All component references have been successfully updated to picker. The remaining instances of Picker pertain to type definitions and documentation comments, which are intentional and do not affect the component's functionality.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining references to 'Picker' (with capital P) in the file

# Test: Search for 'Picker' references. Expect: Only type aliases and comments, no component definitions.
rg --type typescript -i '\bPicker\b' packages/uni-app-types/src/form-components/picker.ts

Length of output: 126


Script:

#!/bin/bash
# Description: Check for any remaining references to 'Picker' (with capital P) in the file

# Corrected Test: Search for 'Picker' references without specifying an unrecognized type
rg -i '\bPicker\b' packages/uni-app-types/src/form-components/picker.ts

Length of output: 435

packages/uni-app-types/src/media-components/video.ts (1)

664-670: Approve consistent changes

The changes in the JSX.IntrinsicElements interface mirror those made in the GlobalComponents interface, ensuring consistency across different usage patterns (template and JSX).

packages/uni-app-types/src/map/index.ts (4)

895-901: Excellent documentation update!

The added documentation for the map component in the GlobalComponents interface is a great improvement. It provides developers with quick access to the component documentation and usage instructions, enhancing the overall developer experience.


909-914: Consistent documentation improvement

The documentation update for the map component in the IntrinsicElements interface maintains consistency with the previous change. This ensures that developers using JSX will have access to the same improved documentation, which is a good practice.


925-930: Comprehensive documentation update across Vue versions

The documentation update for the map component is consistently applied to the IntrinsicElements interface for Vue 3.3 and above. This ensures that developers using different Vue versions will have access to the same improved documentation, which is an excellent approach to maintaining consistency across the codebase.


Line range hint 895-930: Summary: Comprehensive documentation improvement for the map component

The changes in this file focus on enhancing the documentation for the map component across different interfaces and Vue versions. These updates significantly improve the developer experience by providing easy access to component documentation and usage instructions. The consistency maintained throughout the file is commendable.

Great job on improving the documentation! This change will help developers better understand and use the map component in their projects.

packages/uni-app-types/src/form-components/button.ts (4)

759-765: Approved: Improved component naming and documentation.

The changes in this segment are beneficial:

  1. Renaming 'Button' to 'button' aligns with the PR's objective of enhancing component name matching.
  2. The added documentation links and usage instructions improve the developer experience.

These updates contribute to better consistency and usability of the component.


773-778: Approved: Consistent updates for Vue 3.0-3.2 compatibility.

The changes in this segment mirror those in the GlobalComponents interface:

  1. The component is correctly renamed to 'button'.
  2. Documentation links and usage instructions are consistently added.

This ensures that the updates are applied uniformly across different Vue version compatibilities.


789-794: Approved: Consistent updates with necessary TypeScript annotation.

This segment maintains consistency with previous changes:

  1. The component is correctly renamed to 'button'.
  2. Documentation links and usage instructions are added.

The @ts-expect-error comment above the module declaration is necessary to suppress TypeScript errors related to module resolution. This is a common practice when augmenting modules that might not be fully typed or recognized by TypeScript.


Line range hint 759-794: Summary: Successful implementation of component renaming and documentation improvements.

The changes in this file consistently rename the 'Button' component to 'button' across different Vue version compatibilities. This aligns with the PR's objective of enhancing component name matching. Additionally, the introduction of documentation links and usage instructions significantly improves the developer experience.

These updates contribute to:

  1. Better consistency in component naming.
  2. Improved usability through added documentation.
  3. Maintained compatibility across different Vue versions.

The changes are well-implemented and should positively impact the project's overall quality and developer experience.

Comment on lines +44 to +51
/**
* 图标
* ***
* [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/icon.html)
* |
* [使用说明](https://uni-typed.netlify.app/)
*/
icon: _Icon;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Approve changes with necessary updates

The modifications to the GlobalComponents interface align well with the PR objectives:

  1. Changing Icon to icon (lowercase) improves component name matching, addressing the issue with non-camelCase names starting with an uppercase letter.
  2. The added comprehensive comment block enhances documentation, providing useful links and usage instructions.

However, the search revealed usage of the uppercase Icon in the following test files:

  • packages/uni-app-types/test/basic-components/icon.test-d.ts

Please update these occurrences to use the lowercase icon to maintain consistency across the codebase.

🔗 Analysis chain

Approve changes with a note on potential impacts

The modifications to the GlobalComponents interface align well with the PR objectives:

  1. Changing Icon to icon (lowercase) improves component name matching, addressing the issue with non-camelCase names starting with an uppercase letter.
  2. The added comprehensive comment block enhances documentation, providing useful links and usage instructions.

These changes contribute to better usability and understanding of the component.

However, it's important to verify the impact of this change on existing code. Please run the following script to check for any usage of the uppercase Icon component:

If the script returns any results, consider updating those occurrences to use the lowercase icon or implement a migration strategy.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Search for usage of uppercase 'Icon' component in .vue and .ts files

# Test: Look for '<Icon' in .vue files and 'Icon' in .ts files
echo "Searching for uppercase 'Icon' usage in .vue files:"
rg --type vue '<Icon'

echo "Searching for uppercase 'Icon' usage in .ts files:"
rg --type typescript '\bIcon\b' --glob '!**/icon.ts'

Length of output: 377


Script:

#!/bin/bash
# Description: Search for usage of uppercase 'Icon' component in .vue and .ts files

# Test: Look for '<Icon' in .vue files and 'Icon' in .ts files
echo "Searching for uppercase 'Icon' usage in .vue files:"
rg '<Icon' --glob '*.vue'

echo "Searching for uppercase 'Icon' usage in .ts files:"
rg '\bIcon\b' --glob '*.ts' --glob '!icon.ts'

Length of output: 750

*/
View: _View;
view: _View;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

⚠️ Potential Breaking Changes Identified

The renaming of View to view has been partially implemented. The following files still reference the uppercase View, which may cause inconsistencies or errors:

  • packages/uni-app-components/src/components/index.ts
  • packages/uni-app-components/src/components/View/index.ts
  • packages/uni-app-types/src/view-containers/view.ts
  • packages/uni-app-types/test/view-containers/view.test-d.ts

Please ensure all references to View are updated to view or handle them appropriately to maintain consistency and prevent potential issues.

🔗 Analysis chain

Approved: Lowercase component name change

The modification of View to view in the GlobalComponents interface aligns with the PR objective and improves consistency with HTML-like lowercase tag names.

However, this change might affect existing code that relies on the uppercase View type. Consider adding a note in the changelog about this potential breaking change.

To ensure this change is consistent across the codebase, run the following script:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Search for any remaining uppercase 'View' references that might need updating
rg '\bView\b' --type ts

Length of output: 944

*/
Text: _Text;
text: _Text;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Comment on lines +139 to +145
/** 滑动选择器
* ***
* [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/slider.html)
* |
* [使用说明](https://uni-typed.netlify.app/)
*/
slider: _Slider;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Update 'Slider' references in test files

The component renaming from 'Slider' to 'slider' was successful in the main codebase. However, the following test files still reference 'Slider' and need to be updated to 'slider' to maintain consistency and ensure tests run correctly:

  • packages/uni-app-types/test/form-components/slider.test-d.ts:2: Slider,
  • packages/uni-app-types/test/form-components/slider.test-d.ts:16:describe("Slider", () => {
  • packages/uni-app-types/test/form-components/slider.test-d.ts:41: expectTypeOf<Slider>().not.toBeAny();
  • packages/uni-app-types/test/form-components/slider.test-d.ts:42: expectTypeOf<Slider>().toEqualTypeOf<UniHelper.Slider>();

Please update these references to use 'slider' instead of 'Slider'.

🔗 Analysis chain

Approve the component renaming and documentation addition.

The changes align with the PR objectives and improve the overall documentation:

  1. Renaming 'Slider' to 'slider' addresses the issue with non-camelCase names starting with an uppercase letter, which should improve component name matching in Volar.
  2. The added documentation comments provide valuable links to the component documentation and usage instructions, enhancing the developer experience.

However, it's important to note:

To ensure this change doesn't break existing code, let's verify the usage of 'Slider' component across the codebase:

If any occurrences are found, they may need to be updated to use the lowercase 'slider' instead.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for usage of 'Slider' component in Vue template files

# Search for '<Slider' in .vue files
echo "Checking for '<Slider' usage in .vue files:"
rg --type vue '<Slider' -n

# Search for 'Slider' in .ts and .js files (excluding the current file)
echo "Checking for 'Slider' usage in .ts and .js files:"
rg --type ts --type js '\bSlider\b' -n -g '!packages/uni-app-types/src/form-components/slider.ts'

Length of output: 766


Script:

#!/bin/bash
# Description: Check for usage of '<Slider' in .vue files without relying on file type

# Search for '<Slider' in all .vue files
echo "Checking for '<Slider' usage in .vue files without specifying file type:"
rg '<Slider' -g '*.vue' -n

Length of output: 189

Comment on lines +185 to +190
/** 音频
* ***
* [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/audio.html)
* |
* [使用说明](https://uni-typed.netlify.app/)
*/
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Multiple @ts-expect-error Comments Related to Module Augmentation Found

Several files contain @ts-expect-error comments indicating issues with module augmentation. It's essential to investigate and resolve these to maintain type safety and module integrity.

  • packages/uni-app-types/src/basic-components/text.ts
  • packages/uni-app-types/src/media-components/video.ts
  • packages/uni-app-types/src/view-containers/view.ts
  • packages/uni-app-types/src/media-components/image.ts
  • packages/uni-app-types/src/basic-components/progress.ts
  • packages/uni-app-types/src/form-components/textarea.ts
  • packages/uni-app-types/src/form-components/switch.ts
  • packages/uni-app-types/src/form-components/input.ts
  • packages/uni-app-types/src/form-components/form.ts
  • packages/uni-app-types/src/form-components/button.ts
  • packages/uni-app-types/src/form-components/label.ts
  • packages/uni-app-types/src/map/index.ts
  • packages/uni-app-types/src/canvas/index.ts
🔗 Analysis chain

LGTM! Consider investigating the module augmentation issue.

The changes in this section are consistent with the modifications made in the previous sections. The lowercase renaming and documentation additions improve the overall consistency and usability of the component.

The @ts-expect-error comment above this section suggests a potential issue with module augmentation. Let's investigate this further:

This will help us understand if this is a widespread issue or specific to this file. Based on the results, we may need to address this in a separate issue or PR.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for similar @ts-expect-error comments and their context

# Test: Search for @ts-expect-error comments related to module augmentation
rg --type typescript -B 2 -A 5 '@ts-expect-error.*module.*augmentation'

Length of output: 108


Script:

#!/bin/bash
# Description: Check for @ts-expect-error comments related to module augmentation in TypeScript files

# Test: Search for @ts-expect-error comments related to module augmentation without using --type
rg --glob '*.ts' --glob '*.tsx' -B 2 -A 5 '@ts-expect-error.*module.*augmentation'

Length of output: 8808

Comment on lines +683 to 689
* ***
* [👉🏻点击查看组件文档](https://uniapp.dcloud.net.cn/component/video.html)
* |
* [使用说明](https://uni-typed.netlify.app/)
*/
video: _Video;
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codebase verification

Approve changes and address TypeScript configuration issues

The changes in the vue/jsx-runtime module are consistent with other interfaces, ensuring support for the latest Vue.js versions (3.3 and above).

However, there's a syntax error in playground/tsconfig.json that prevents proper module resolution settings from being parsed:

    "skipLibCheck": true,
    "types": [
      // uni-app + Vue 3 使用 Vite 构建,需要安装 vite
      "vite/client",
      // uni API 相关的 TypeScript 类型

Please fix the JSON syntax error in playground/tsconfig.json. Once resolved, review if the TypeScript error suppression comment:

// @ts-expect-error Invalid module name in augmentation, module cannot be found.

is still necessary or if the underlying issue can be addressed without suppressing the error.

🔗 Analysis chain

Approve changes and review error suppression

The changes in the vue/jsx-runtime module are consistent with those made in other interfaces, ensuring support for the latest Vue.js versions (3.3 and above).

Please review the TypeScript error suppression comment:

// @ts-expect-error Invalid module name in augmentation, module cannot be found.

Verify if this suppression is still necessary or if there's a way to resolve the underlying issue without suppressing the error.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the error suppression is still necessary

# Search for any references to 'vue/jsx-runtime' in the project
rg --type typescript "vue/jsx-runtime"

# Check if there are any TypeScript configuration files that might affect module resolution
fd -e json tsconfig

Length of output: 176


Script:

#!/bin/bash
# Search for any references to 'vue/jsx-runtime' in TypeScript files without using --type flag
rg "vue/jsx-runtime" --glob "*.ts" --glob "*.tsx"

# Extract module resolution settings from tsconfig.json files
jq '.compilerOptions.moduleResolution' packages/uni-app-components/tsconfig.json
jq '.compilerOptions.moduleResolution' playground/tsconfig.json
jq '.compilerOptions.moduleResolution' tsconfig.json

Length of output: 1527


Script:

#!/bin/bash
# Extract lines 16 to 20 from playground/tsconfig.json to identify the syntax error

sed -n '16,20p' playground/tsconfig.json

Length of output: 183

@FliPPeDround
Copy link
Member Author

@ModyQyW CC

@ModyQyW ModyQyW changed the title feat: update tsdocs fix: fix tsdocs Nov 6, 2024
@ModyQyW ModyQyW merged commit fc0877a into uni-helper:main Nov 6, 2024
16 checks passed
@ModyQyW
Copy link
Member

ModyQyW commented Nov 6, 2024

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants