@cloud-ru/ds-alert

中文文档
1.2.5发布于 2026/11/11Apache-2.0TypeScriptESM + CJS近 30 天下载 3017

. . . . 警告内线 - \ \ \ \ \ \ \ \ \.

中文使用文档
文档目录13 节
  1. Установка
  2. 警报
  3. Когда
  4. Анатомия
  5. Примеры
  6. 道具
  7. Адаптивность
  8. 警报Top
  9. Когда
  10. Анатомия
  11. Примеры
  12. 道具
  13. Адаптивность

警报

@cloud-ru/ds-alert . . . . . 警告内线 - \ \ \ \ \ \ \ \ \.

Пакет @cloud-ru/ds-alert 说吧

  • 警报 ——入行-QQQ:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出行:出出行:出行:出行: 动作,紧紧的,紧紧的.
  • 警报Top . . . . . {\fn华文仿宋\fs16\1cHD1D1D1}好.

Установка

pnpm add @cloud-ru/ds-alert
import { Alert, AlertTop } from '@cloud-ru/ds-alert'

警报

内---出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出演出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出场出.

内-уведомление,相-相-相-相-相-相-相-相-相. Шесть出相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相size, (中文(简体) ), align———————————————————————————— actions, (中文(简体) ), onClose, (中文(简体) ), collapsible - 额...

Когда

  • QQQQQ (成功/出错).
  • {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么.
  • Для (中文(简体) ).

Когда не {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}请说 敬酒 Alert остаётся,пока也.

Анатомия

外观

说吧 neutral编号 :primary - нейтральная/информативная, info - информ - акцент, success - успешное,завершение, warning . . . . . . , error - ошибка блокирующее состояние состояние состояние.

对齐

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # horizontal {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080} - {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080} - - {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080} - {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080} - \fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}, vertical . . . . . .

大小

翻译: s {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道, m - 额...

Примеры

1. 国家

import { Alert } from '@cloud-ru/ds-alert';

export function Info() {
  return (
    <Alert appearance='info' title='Настройки сохранены' content='Изменения применены ко всем активным проектам.' />
  );
}

2. 关闭

import { Alert } from '@cloud-ru/ds-alert';

export function Error() {
  return (
    <Alert
      appearance='error'
      title='Не удалось сохранить'
      content='Проверьте подключение к сети и повторите попытку.'
      onClose={() => undefined}
    />
  );
}

3. 国家

import { Alert } from '@cloud-ru/ds-alert';

export function WithActions() {
  return (
    <Alert
      appearance='warning'
      title='Требуется подтверждение'
      content='Операция необратима. Продолжить?'
      actions={{
        primary: { label: 'Продолжить', onClick: () => undefined },
        secondary: { label: 'Отмена', onClick: () => undefined },
      }}
    />
  );
}

4. 国家

import { Alert } from '@cloud-ru/ds-alert';

export function Collapsible() {
  return (
    <Alert
      appearance='info'
      collapsible
      title='Совет по настройке'
      content='Полное описание того, как правильно настроить функцию. Текст длинный и сворачивается до раскрытия.'
    />
  );
}

道具

提醒选项

Prop类型默认说明
actionsAlertButtonProps—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
align"horizontal" | "vertical"verticalВыравнивание
appearance"error" | "info" | "neutral" | "primary" | "success" | "warning"—— 说Внешний
classNamestring—— 说支助科
collapsibleboolean—— 说======================================================================================================================================================================================================================================== ( ( ( (===================.
При true не TruncateString {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得怎么样.
contentReactNode—— 说Описание
data-test-idstring—— 说
iconboolean—— 说Отображать
layoutPresetsAlertLayoutDefaults | LayoutPresets—— 说覆盖移动- + + + + (深相相接 + ) ALERT_LAYOUT_PRESETS) (中文(简体) ).
逃逸: обычно (не) нужен (нужен) нужен (нужен) нужен (нужен) нужен (нужен) AdaptiveProvider。 。 。 .
onClose(() => void)—— 说Колбек
outlineboolean—— 说Внешний
size"m" | "s"—— 说Размер
titlestring—— 说Заголовок
truncate{ title?: number; }title: 1{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 collapsible={false}) (中文(简体) ).

提醒按钮

Prop类型默认说明
asT | undefined—— 说============================================================================================ (============================================================================ 链接 QQ 反应- router- dom)
classNamestring | undefined—— 说Дополнительный
disabledboolean | undefined—— 说Отключена
iconstring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined—— 说Иконка
iconPosition"after" | "before"—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
innerRefPolymorphicRef—— 说参考: реальный DOM-элемент/инстанс,который as。 。 。 .
Используем,чтобы也 forwardRef (原始内容存档于2018-09-21) (英语).
invertFocusOutlineColorboolean | undefined—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
labelstring | undefined—— 说Текст
loadingboolean | undefined—— 说Состояние
size"m" | "s"—— 说Размер
variant"onAccent" | "onColor"—— 说Вариант

提醒 Layout 默认

Prop类型默认说明
truncate{ title?: number; } | undefined—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 collapsible={false}) (中文(简体) ).
  • Align =: "horizontal" | "vertical"

  • Appearance =: "error" | "info" | "neutral" | "primary" | "success" | "warning"

  • ButtonSize =: "m" | "s"

  • ButtonVariant =: "onAccent" | "onColor"

  • IconPosition =: "after" | "before"

  • PolymorphicRef =: ComponentPropsWithRef<T>["ref"]

  • Size =: "m" | "s"

Адаптивность

Alert -=YTET -伊甸园字幕组=- 翻译: {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 @cloud-ru/ds-adaptive {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 layoutType нет.

桌面一号. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ************************ <AdaptiveProvider> 腾讯网. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}征服越狱.

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 двух {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}你觉得怎样.

Проп桌面移动
truncate.title12

- 手机 - 电话 ALERT_LAYOUT_PRESETS。 。 。 .

Как

桌面第一个 : 腾讯动漫. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 layoutPresets[layout] ( ALERT_LAYOUT_PRESETS → (=桌面-значение)базовый.

import { Alert } from '@cloud-ru/ds-alert'

// 1. Явный проп — задаёт DESKTOP-значение; mobile остаётся 2 строки (mobile не ломается)
<Alert truncate={{ title: 3 }} title='…' content='…' />

// 2. layoutPresets.mobile — единственный способ изменить mobile (явно)
<Alert layoutPresets={{ mobile: { truncate: { title: 3 } } }} title='…' content='…' />

// 2b. layoutPresets.desktop — изменить только desktop, mobile-адаптив сохранён
<Alert layoutPresets={{ desktop: { truncate: { title: 3 } } }} title='…' content='…' />

DS- ALERT_LAYOUT_PRESETS)——腾讯手机.

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

说吧

import { AdaptiveProvider, withLayoutType } from '@cloud-ru/ds-adaptive'
import { Alert } from '@cloud-ru/ds-alert'

// поддерево — вложенный провайдер
<AdaptiveProvider layoutType='mobile'>
  <Alert title='…' content='…' />
</AdaptiveProvider>

// компонент/секция — HOC (module-scope, не в рендере)
const MobileAlert = withLayoutType(Alert, 'mobile')

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 @cloud-ru/ds-adaptive。 。 。 .

移动电话——

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}#######################################################################################################################################################################################################################################.

import { AdaptiveProvider, LAYOUT_TYPE } from '@cloud-ru/ds-adaptive';
import { Alert } from '@cloud-ru/ds-alert';

const LONG_TITLE = 'Плановые технические работы в дата-центре: часть сервисов будет недоступна с 02:00 до 04:00 МСК';

export function AdaptiveTruncate() {
  return (
    <AdaptiveProvider layoutType={LAYOUT_TYPE.Mobile}>
      <div style={{ maxWidth: 360 }}>
        <Alert appearance='info' title={LONG_TITLE} content='На узком экране заголовок усекается в две строки.' />
      </div>
    </AdaptiveProvider>
  );
}

游戏场 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \.

警报Top

(原始内容存档于2018-10-25). .

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? В Alert,=================================================== ============================================================================================================================================ appearance{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你是谁 outline {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢.

Когда

  • {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你说什么.
  • Для(一作например.
  • {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢.

Когда не нужен:для也 Alert。 。 。 .

Анатомия

外观

说得好 neutral编号 :primary - нейтрально информативная подача подача, info - информ - акцент, success - успех(редко редко-баннере), warning - (维持), error ——критическое/инцидент.

对齐

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # horizontal - \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \, vertical ——··············(+++++++++).

大小

校对:Soup s - компактный, m - 额...

Примеры

Системное

import { AlertTop } from '@cloud-ru/ds-alert';

export function SystemNotice() {
  return (
    <AlertTop
      appearance='info'
      title='Плановые работы'
      content='Сегодня с 22:00 до 23:00 возможны кратковременные перебои.'
    />
  );
}

道具

提醒选项

Prop类型默认说明
actionsAlertButtonProps—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
align"horizontal" | "vertical"verticalВыравнивание
appearance"error" | "info" | "neutral" | "primary" | "success" | "warning"—— 说Внешний
classNamestring—— 说支助科
collapsibleboolean—— 说======================================================================================================================================================================================================================================== ( ( ( (===================.
При true не TruncateString {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得怎么样.
contentReactNode—— 说Описание
data-test-idstring—— 说
iconboolean—— 说Отображать
layoutPresetsAlertTopLayoutDefaults | LayoutPresets—— 说覆盖移动- + + + + (深相相接 + ) ALERT_TOP_LAYOUT_PRESETS) (中文(简体) ).
逃逸: обычно (не) нужен (нужен) нужен (нужен) нужен (нужен) нужен (нужен) AdaptiveProvider。 。 。 .
onClose(() => void)—— 说Колбек
size"m" | "s"—— 说Размер
titlestring—— 说Заголовок
truncate{ title?: number; }title: 1{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 collapsible={false}) (中文(简体) ).

提醒按钮

Prop类型默认说明
asT | undefined—— 说============================================================================================ (============================================================================ 链接 QQ 反应- router- dom)
classNamestring | undefined—— 说Дополнительный
disabledboolean | undefined—— 说Отключена
iconstring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | null | undefined—— 说Иконка
iconPosition"after" | "before"—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
innerRefPolymorphicRef—— 说参考: реальный DOM-элемент/инстанс,который as。 。 。 .
Используем,чтобы也 forwardRef (原始内容存档于2018-09-21) (英语).
invertFocusOutlineColorboolean | undefined—— 说{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
labelstring | undefined—— 说Текст
loadingboolean | undefined—— 说Состояние
size"m" | "s"—— 说Размер
variant"onAccent" | "onColor"—— 说Вариант

提醒TopLayout 默认

Prop类型默认说明
collapsibleboolean | undefined—— 说======================================================================================================================================================================================================================================== ( ( ( (===================.
При true не TruncateString {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得怎么样.
  • Align =: "horizontal" | "vertical"

  • Appearance =: "error" | "info" | "neutral" | "primary" | "success" | "warning"

  • ButtonSize =: "m" | "s"

  • ButtonVariant =: "onAccent" | "onColor"

  • IconPosition =: "after" | "before"

  • PolymorphicRef =: ComponentPropsWithRef<T>["ref"]

  • Size =: "m" | "s"

Адаптивность

AlertTop -=YTET -伊甸园字幕组=- 翻译: {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 @cloud-ru/ds-adaptive {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你觉得呢 layoutType нет.

桌面一号. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ************************ <AdaptiveProvider> 腾讯网. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}征服越狱.

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 раскрываемым (单位:千美元)collapsible{\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}(笑声) {\fn黑体\fs20\shad2\2aH82\3aH20\4aH33\fscx95\3cH592001\be1}(掌声) 腾讯网.

Проп桌面移动
collapsiblefalsetrue

- 手机 - 电话 ALERT_TOP_LAYOUT_PRESETS。 。 。 .

Как

桌面第一个 : 腾讯动漫. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 layoutPresets[layout] ( ALERT_TOP_LAYOUT_PRESETS → (=桌面-значение)базовый.

import { AlertTop } from '@cloud-ru/ds-alert'

// 1. Явный проп — задаёт DESKTOP-значение; mobile остаётся collapsible (mobile не ломается)
<AlertTop collapsible={false} title='…' content='…' />

// 2. layoutPresets.mobile — единственный способ изменить mobile (явно)
<AlertTop layoutPresets={{ mobile: { collapsible: false } }} title='…' content='…' />

// 2b. layoutPresets.desktop — изменить только desktop, mobile-адаптив сохранён
<AlertTop layoutPresets={{ desktop: { collapsible: true } }} title='…' content='…' />

DS- ALERT_TOP_LAYOUT_PRESETS)——腾讯手机.

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

说吧

import { AdaptiveProvider, withLayoutType } from '@cloud-ru/ds-adaptive'
import { AlertTop } from '@cloud-ru/ds-alert'

// поддерево — вложенный провайдер
<AdaptiveProvider layoutType='mobile'>
  <AlertTop title='…' content='…' />
</AdaptiveProvider>

// компонент/секция — HOC (module-scope, не в рендере)
const MobileAlertTop = withLayoutType(AlertTop, 'mobile')

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢 @cloud-ru/ds-adaptive。 。 。 .

版本与发布记录

@cloud-ru/ds-alert 共发布 80 个版本,首次发布于 2026/08/18;过去 12 个月发布了 80 个版本。

版本发布日期距今
1.2.5latest2026/11/11今天
1.2.5-preview-e8fe6b56.0preview2026/11/11今天
1.2.5-preview-c0e895ed.02026/11/11今天
1.2.5-preview-90b10112.02026/11/11今天
1.2.5-preview-fd7dd437.02026/11/101 天前
1.2.5-preview-9a75a2a9.02026/11/101 天前

关于 @cloud-ru/ds-alert 的常见问题

@cloud-ru/ds-alert 是什么?

. . . . 警告内线 - \ \ \ \ \ \ \ \ \.

如何安装 @cloud-ru/ds-alert?

在项目目录运行 npm install @cloud-ru/ds-alert,或使用 pnpm add / yarn add / bun add。

@cloud-ru/ds-alert 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cloud-ru/ds-alert 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cloud-ru/ds-alert 可以商用吗?

@cloud-ru/ds-alert 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cloud-ru/ds-alert 的下载量有多少?

根据 npm 官方下载统计,@cloud-ru/ds-alert 在 2026/10/10 – 2026/11/08 这 30 天内被下载 3,017 次,日均约 101 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cloud-ru/ds-alert 还在维护吗?

最新版本 1.2.5 发布于 2026/11/11(今天);至今共发布 80 个版本,其中过去 12 个月发布了 80 个;首次发布于 2026/08/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。