@asteby/metacore-runtime-react

中文文档
53.14.0发布于 2026/11/04TypeScriptES Module近 30 天下载 7685

元核心主机的回放运行时间——使附加捐款动态化

中文使用文档
文档目录12 节
  1. 安装
  2. 出口
  3. Í科诺斯
  4. 实时
  5. Blindaje de licencia (英语: LicenseGate (中文(简体) )
  6. 国家妇女委员会 OrgRuntimeProvider (中文(简体) )
  7. 设置 y salud de addons ( SetupFlow , (中文(简体) ), HealthCard , …
  8. 释迦 UnifiedAddonConfigDialog (对)a AddonConfigSurface
  9. 最小使用量
  10. 它怎么对内核说话
  11. 构建
  12. 许可证

@asteby/metacore-运行时的反应

反应运行时间 元分数 师曰. 元数据驱动的 CRUD 层将一个表态转换成工作UI:动态表格,表态,动作调度器,槽扩展点,能力门,以及联合加载器.

这是一个 运行时间不是UI包 视觉原始人来自 @asteby/metacore-ui。主机通过 React 提供者输入 HTTP 客户端和(可选的)租户-分支上下文;不需要捆绑别名.

安装

pnpm add @asteby/metacore-runtime-react @asteby/metacore-sdk @asteby/metacore-ui

端点 : react, (中文(简体) ), react-dom, (中文(简体) ), react-i18next, (中文(简体) ), i18next, (中文(简体) ), @tanstack/react-router, (中文(简体) ), @tanstack/react-table, (中文(简体) ), date-fns, (中文(简体) ), lucide-react, (中文(简体) ), sonner, (中文(简体) ), zustand他们被宣布为同龄人 所以反应保持单人状态.

出口

导出它会做什么
<DynamicTable model="…" />元数据驱动 CRUD 表格 。 可排序,可分解,可过滤,可URL同步,并带有内置对话框.
<DynamicForm fields={…} onSubmit={…} />独立的窗体渲染器 ActionFieldDef[]。 。 。 .
<DynamicRecordDialog />创建/ 编辑/ 视图模式 /metadata/modal/<model>。 。 。 .
<ActionModalDispatcher />将自定义动作路径到其注册组件、通用窗体或确认对话框.
<AddonLoader />注入联邦 remoteEntry.js {\fn黑体\fs20\shad2\2ah82\3ah20\4ah33\fscx95\3ch592001\be1}然后叫替顿家来 register(api)。 。 。 .
<Slot name="…" /> 编号 : slotRegistry命名由加词贡献的扩展点 .
<CapabilityGate require="…" /> 编号 : <CapabilityProvider />有条件的UI 根据能力.
<NavigationBuilder /> 编号 : useNavigation() 编号 : mergeNavigation()将主机侧边栏与加通合并 manifest.navigation。 。 。 .
<I18nProvider />折叠 manifest.i18n 命名空间进入主机的 i18 次例.
<ApiProvider client={axios} /> 编号 : useApi()输入主机的 HTTP 客户端 。 每个动态组件都需要.
<BranchProvider branch={…} /> 编号 : useCurrentBranch()可选的租户部门背景.
useMetadataCache()用于表格/模式元数据的Zustand存储器,持续到本地Storage. prefetchAll(api) 温暖它从 /metadata/all。 。 。 .
defaultGetDynamicColumns 编号 : makeDefaultGetDynamicColumns(helpers)工厂 <DynamicTable> 用于将元数据转换为 TanStack 列 defs。 默认读取自 col.key (匹配内核合同).
DynamicIconLucide图标解析器 名称.
<LicenseGate state={…} onActivate={…}>法语:enuelve la app; bloadea con un model-full-screen no descartable cuando la instancia falta/venció; degrada con bang en grace编号 :stale品牌意识.
<LicenseExpiryBanner state={…} /> 编号 : <LicenseStatusBadge status={…} />Piezas sueltas del gate para Ajustes u otros lugares. 中国植物物种信息数据库.
isLicenseOperable 编号 : isLicenseBlocking 编号 : isPresetEntitled 编号 : isTrialExpired帮助者发作 LicenseState, espejo de (法语) State.Operable()/Blocking() 德尔后端.
<RealtimeProvider client={…} /> 编号 : useRealtime() 编号 : useRealtimeInvalidate() 编号 : useRealtimeStatus() 编号 : useRealtimeTick()死路一条 DATA_EVENT del 主机( ver) 实时) (中文(简体) ).

Í科诺斯

<Icon name={value} /> (无) DynamicIcon{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}你应该知道 { name, className }(中文(简体) ) 解释a cualquier valor de ícono que un supend haya guardado. 中国植物物种信息数据库. 圣杯 对 parseIconSpec(value),una función pura que devuelve ,一个真菌pura que 德韦尔夫 { kind: 'lucide', name } | { kind: 'emoji', value } | { kind: 'image', src } | { kind: 'unknown', raw }。 。 。 .

格式化埃让普洛斯结果
卢西德Brain, (中文(简体) ), credit-card, (中文(简体) ), credit_card, (中文(简体) ), BrainIcon格莱弗·卢西德
字体 5/6fas fa-brain, (中文(简体) ), fa-solid fa-brain, (中文(简体) ), far fa-heart, (中文(简体) ), fa fa-user-md, (中文(简体) ), fa-brainglifo Lucide vía Tatala (英语) FONT_AWESOME_ALIASES + 卢西德河口公园
Otras 引信mdi mdi-home, (中文(简体) ), bi bi-house, (中文(简体) ), ti ti-home, (中文(简体) ), ri-home-line, (中文(简体) ), mdi:home, (中文(简体) ), material-icons home(原始内容存档于2012-10-10). Officialización contra Lucide (sin tabla)
爱莫吉🩺, (中文(简体) ), 👨‍⚕️, (中文(简体) ), 🇲🇽非独活性血清Intl.Segmenter si 存在)
图像https://…, (中文(简体) ), /ruta.png, (中文(简体) ), ./a.svg, (中文(简体) ), uploads/a.png, (中文(简体) ), data:image/(png|jpeg|webp|gif|svg+xml)<img alt="" loading="lazy">爱的爱的爱的爱的爱的爱的爱的爱
奥特罗javascript:…, (中文(简体) ), data:text/html, SVG 内含,文本 libreunknown: 无 se pinta texto crudo (nall o la prop) fallback(中文(简体) )

Lucide no incluye logos de marca (github, twitter...):拉斯·马尔卡斯(英语:las marcas (film))fab fa-github克丹语 unknown salvo que el host registre un resolutor. 中国植物物种信息数据库.

奥尔登·德·索罗西翁: (1) 宿主、研究者; (原始内容存档于2018-10-21) (英语). el primerro que devuelve algo ditinto de null gana; (2) el parser integrado. 中国植物物种信息数据库.

import { registerIconResolver } from '@asteby/metacore-runtime-react'

// Al arrancar el host. Devuelve un IconSpec (reusa los renderers del SDK),
// un ReactNode (se pinta tal cual) o null para ceder.
const dispose = registerIconResolver((spec) =>
  spec.startsWith('sprite:') ? <svg><use href={`/sprite.svg#${spec.slice(7)}`} /></svg> : null,
)

列数 : type: 'icon' una一栏的元数据 (tabla y detalle) (英语). Es 选入: una exto lamada icon 没有坎比亚。 粗略的轮廓 没有自已的主人 -。 。 。 .

DynamicIcon (menús, botones de acción) 没有pinta imágenes, solo glifos/emoji/nodos del host; para imágenes usa <Icon> o 栏a type: 'icon'。 。 。 .

答复: los íconos 儿子aria-hidden(salvo que se pase) (英语) label。 。 。 .

实时

埃尔主机 expone un RealtimeAPI (单位:千美元)@asteby/metacore-sdk)——以"以"为主"为主 host.realtime (原始内容存档于2013-10-12) (英语). las rutas inmersivas y como api.realtime (单位:千美元) register(api)。 。 。 . 失败帧子 org- scoped y 罪恶的活佛 (dentidad + qué llaves) (法语) cambiaron); la reacción típica es "refetch lo que mestro". 维基语录链接:名人名言 - 文学作品 - 谚语 - 谚语 - 谚语 - 谚语 - 谚语 - 谚语.

// Host: montar una vez, dentro del QueryClientProvider y del provider de WS.
<RealtimeProvider client={realtimeClient}>…</RealtimeProvider>

// Addon federado: pasar el cliente explícito — el contexto React NO cruza la
// frontera de module federation, el objeto plano sí.
useRealtime({ models: ['SalesOrder'], client: host.realtime }, (e) => {
  if (e.action === 'resync' || e.id === currentId) refetch()
})

// Invalidar react-query (usa SIEMPRE el QueryClient del host — nunca crees otro):
useRealtimeInvalidate({ models: ['SalesOrder', 'sales_order_items'], client: host.realtime })

// Tablas y kanbans: opt-in por prop (apagado por default).
<DynamicTable model="SalesOrder" realtime />
<DynamicKanban model="WorkOrder" realtime />
// …o global para todo lo que cuelgue del provider:
<RealtimeProvider client={realtimeClient} defaultRealtime>

useRealtimeInvalidate 无效的 toda 查询 cuya 密钥( 字符串, 阵列 anidao u) objeto)为模范,拉塔布拉奥所提供 addon.Model 塔姆比昂区 una ruta (英语:/data/sales_orders?…) (中文(简体) ). (原始内容存档于2018-09-21) (英语). Se puede replazar el matcher con match。 。 。 . Todos los hooks son no-op Cuando no hay cliente (host sin real time) (英语:Host sin real time). 托多斯·卢斯·卢斯(英语:Todos los hooks) 儿子·诺-奥·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·.

Blindaje de licencia (英语:LicenseGate(中文(简体) )

海关关卡 sDK小学: 业务和待办事宜 (原始内容存档于2013-10-12). en una línea. 负责官员:

  • 内核 → 执行 (正文: está permitido; firma/verifica el estado).
  • SDK 软件 (斯特·莫杜洛) • UX 密码 (门,旗,徽.
  • 中枢 → 共和国 (英语:Mintea el sord Ed25519).
  • 主机 → 线条 (续) LicenseState (原始内容存档于2012-10-12). con su propio transporte y montan el gate.

英斯语 内核依赖性: 没有导入 su 客户端 ni fija su versión 。 埃尔主机 (原始内容存档于2018-10-21) (中文(简体) ). resuelve el estado (p. ej. GET /admin/license? y pasa una promesa ? ? ? ? ? ? ? ? ? ? ? ? ? onActivate。 。 。 .

import { LicenseGate } from '@asteby/metacore-runtime-react'
import { useLicenseState, useActivateLicense } from './features/license'

export function Shell({ children }) {
  const { data: state } = useLicenseState()          // GET /admin/license
  const activate = useActivateLicense()              // POST /admin/license/activate

  return (
    <LicenseGate
      state={state}
      onActivate={(code) => activate.mutateAsync(code)}
      branding={{ name: brand.name, logo: brand.logo }}
      onManage={() => navigate('/settings/license')}
    >
      {children}
    </LicenseGate>
  )
}
  • 犯罪执法 o estado 可操作valid编号 :stale编号 :grace儿童成长. stale编号 :grace 蒙丹·德马斯·德格拉达多expired (c) 地方运输系统.
  • 执法 missing编号 :invalid编号 :expired • 模式 口号 行动公式. plan === 'trial' + 键 expired * 复制本 "Tu prueba gratuita terminó" (法语)。 。 。 .
  • 行动组织 罪孽重现: el host refresca el (英语: state {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}是的 德蒙塔门.
  • 盖多波罗尔 错误 canActivate (默认) true{\fn华文仿宋\fs16\1chd1d1d1} false{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我愿意为您效劳 罪状 劳动与劳动部 readOnlyMessage (默认 : "语言学研究会"(Contacta al Administa de la plataforma para activar la licencia)) (中文(简体) ). Así solo el Platface Root/ Superadmin activa; as demás usuarios ven el boropeo con la indicación de quién contactar. 中国植物物种信息数据库.

国家妇女委员会OrgRuntimeProvider(中文(简体) )

(原始内容存档于2018-10-21) (英语). Enuelve la app autenticada una vez y todas las tablas, kanban, diálogos y 环境简介:

<OrgRuntimeProvider
  timeZone={org.timezone}            // 'America/Mexico_City' — fechas en la zona de la org
  currency={org.currency_code}       // 'MXN' — moneda por defecto
  numberLocales={{ es: 'es-MX' }}    // números y dinero como en México: 11,461.50 (no 11.461,50)
  systemActor={{ name: 'Gobi', avatarUrl: '/brand/gobi.png' }} // quién aparece cuando "lo hizo el sistema"
>
  <App />
</OrgRuntimeProvider>
  • numberLocales 地方地图 Intl (意大利语) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}请说句名 Aplica a celdas (英语) number编号 :currency总计 馅饼,可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口可口 拉斯语Name 妇女委员会es编号 :en) (中文(简体) ). 钩子: useNumberLocale(lang), (中文(简体) ), resolveNumberLocale(lang, map)。 。 。 .
  • systemActor (原始内容存档于2018-10-21) (英语). reemplaza el “Sistema' genérico en celdas creator 编号 : created_by.*, (中文(简体) ), AuditInfo, (中文(简体) ), ActivityTimeline, (中文(简体) ), RecordHistory y diálogo (英语) {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我很高兴见到你 (原始内容存档于2018-03-29). Sin supporters se Conserva “Sistema”. 钩: useSystemActor()· ; {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}雷格拉·康帕蒂达: isSystemActorColumn(renderAs, key, namePath)。 。 。 .

设置 y salud de addons (SetupFlow, (中文(简体) ), HealthCard, (中文(简体) ), AddonConfigSurface(中文(简体) )

UI 声明段落 contributions.setup 编号 : contributions.health塔姆比昂语本身 进口suelta con @asteby/metacore-runtime-react/setup (solo esta porción.) (意大利语).

import { SetupFlow, HealthCard, RecordsTable, StepStatusBadge, AddonConfigSurface } from '@asteby/metacore-runtime-react'

<SetupFlow flow={flowDef} client={client} onComplete={...} renderCustom={...} />
  • SetupFlowClient 适应者: getState(), (中文(简体) ), runStep(key, {values?, action?}), (中文(简体) ), skipStep(key),y 逻辑 saveStep(key, values) (自动守护可见)y subscribe(cb) (推倒语. El estado vive en el servidor, así que el flujo es reanudable: 爱丽丝·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克·克 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}不说粗话.
  • Estados por paso: (英语) pending | running | ok | warn | error | blocked。 。 。 . depends_on 口语a 依附关系 ok, (中文(简体) ), warn u 省略; los pasos 语句 optional se pueden 省略 你没有frenan la finalización.
  • (一) Polling con backoff (2 s x1.6, tope 30 s) Mientras algo Corre; retry_after_s 巴索·曼达 (1分5分钟). 拖车 maxPollAttempts (40) deja de consultar y ofrece “Revisar ahora'.
  • kind=form 雷乌蒂利扎 groupFieldsBySection + 键 FieldSection编号 :WizardProgress 页:1 form-layout(-ui) (secciones o sub-pasos), (英语:, visible_when y 露营 write_only (无) (原始内容存档于2017-03-27). de vuelta; vacío = conserver. kind=records 我们a RecordsTable (copiar con fault reback,,,,,,,,,,,,,,,,,,,,,,,,,, (原始内容存档于2018-10-21). estado y diagnóstico por fila. kind=custom 我们a renderCustom o el slot 联邦 step.slot ?? setup.<flow.key>.<step.key> (道具: step, state, run, refresh) (中文(简体) ).
  • fix 妇女: {action} {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我很高兴见到你, {step} 食人鱼 帕苏, {url} 独唱 http(s) o ruta relativa (英语)onNavigate i el host enruta) (英语).
  • 特莱托斯语( 英語:Textos es/en incluidos)useSetupT; se pueden sobrescribir con claves i18nnext 中文本无需改动 setup.*。 。 。 .

释迦 UnifiedAddonConfigDialog (对)a AddonConfigSurface

编号 ops/frontend/src/features/installed-addons/index.tsx数字 :

  1. 硼 UnifiedAddonConfigDialog, (中文(简体) ), ConnectorCredentialFieldControl, (中文(简体) ), DynamicConnectorSelect, (中文(简体) ), fetchLookupOptions 尔 connector-form-model.ts (ahora viven en el SDK; los helpers se) (英语) 出口 desde el 子路径 @asteby/metacore-runtime-react/setup数字 : shapeMismatch, (中文(简体) ), missingRequired, (中文(简体) ), parseSaveError, (中文(简体) ), safeUrl.; raíz solo expone los 组件).
  2. 进口与蒙塔尔:
import { AddonConfigSurface } from '@asteby/metacore-runtime-react'
import { ensureAddonBundle } from '@/features/metacore/use-addon-locales'

const role = useAuthStore((s) => s.auth.user?.role)
const { activeBranch } = useActiveBranch()

<AddonConfigSurface
  addon={addon}
  connector={connector}
  open={open}
  onOpenChange={setOpen}
  onSaved={refetch}
  canManageIssuer={['owner', 'admin', 'superadmin'].includes((role ?? '').trim().toLowerCase())}
  activeBranch={activeBranch ? { id: activeBranchId, name: activeBranch.name } : null}
  ensureAddonBundle={(key, i18n) => ensureAddonBundle(i18n as any, key)}
  displayName={addonDisplayName(addon)}
  expectedOptionKinds={{
    serie_invoice: 'factura',
    serie_credit_note: 'nota_credito',
    serie_payment_complement: 'pago',
  }}
/>

请求 <ApiProvider> (o pasar ) (或 pasar ) client={api}页:1 QueryClientProvider· ; toast 脱声纳 叛逃问题notify {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}哦 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}那又怎样? 拉斯克飞地 installed_addons.* 尔 common.* siguen siendo las de ops: sus traducciones pinnen presentidad sobre el texto del SDK. 互联网档案馆的存檔,存档日期2013-12-21. expectedOptionKinds (证书 - > tipo (原始内容存档于2018-03-31) (英语). es. e (原始内容存档于2018-09-21) (英语). Inyectable y vacío por fecto: el SDK ya no tree lógica financial. 行动 脱去帕萨罗 (como arriba) para conservar el filtrado actually de series por tipo de documento. 互联网档案馆的存檔,存档日期2013-12-02., p. 3. Diferencia deliberada: unsecreto nunica se rellena desde(不保密) GET /integrations/:p/values, (中文(简体) ), (原始内容存档于2018-10-12) (英语). aunque el backend lo devolviera.

最小使用量

import {
  ApiProvider,
  CapabilityProvider,
  DynamicTable,
} from '@asteby/metacore-runtime-react'
import { api } from './lib/api'

export function App() {
  return (
    <ApiProvider client={api}>
      <CapabilityProvider capabilities={session.capabilities}>
        <DynamicTable model="tickets" />
      </CapabilityProvider>
    </ApiProvider>
  )
}

关于道具、反应形状、定制模式和整个表面,见 docs/dynamic-ui.md。 。 。 .

它怎么对内核说话

终点用于
GET /metadata/table/<model><DynamicTable> (ched.
GET /metadata/modal/<model><DynamicRecordDialog> (ched.
GET /metadata/alluseMetadataCache().prefetchAll()。 。 。 .
GET /data/<model><DynamicTable> 列表中选择一个选项.
GET /data/<model>/<id><DynamicRecordDialog> 视图/编辑.
POST /data/<model>创建.
PUT /data/<model>/<id>更新.
DELETE /data/<model>/<id>删除(单一+批量).
POST /data/<model>/<id>/action/<key><ActionModalDispatcher>。 。 。 .
GET /options/<endpoint>关系取取取者+取取取取取取取取取取取取取取取取取.

所有端点都可以通过 endpoint 道具 (英语).

构建

pnpm --filter @asteby/metacore-runtime-react build

许可证

阿帕奇 - 2.0

版本与发布记录

@asteby/metacore-runtime-react 共发布 305 个版本,首次发布于 2026/04/21;过去 12 个月发布了 305 个版本。

版本发布日期距今
53.14.0latest2026/11/043 天前
53.13.12026/11/025 天前
53.13.02026/11/025 天前
53.12.02026/11/025 天前
53.11.02026/11/016 天前
53.10.22026/10/2711 天前

关于 @asteby/metacore-runtime-react 的常见问题

@asteby/metacore-runtime-react 是什么?

元核心主机的回放运行时间——使附加捐款动态化

如何安装 @asteby/metacore-runtime-react?

在项目目录运行 npm install @asteby/metacore-runtime-react,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18)、sonner(>=1.7)、i18next(>=23)、zustand(>=5)、date-fns(>=3)、react-dom(>=18)、lucide-react(>=0.460)、react-i18next(>=13)、@asteby/metacore-ui(^2.32.1)、@asteby/metacore-sdk(^3.18.1)、@tanstack/react-query(>=5)、@tanstack/react-table(>=8)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@asteby/metacore-runtime-react 支持 TypeScript 吗?

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

@asteby/metacore-runtime-react 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@asteby/metacore-runtime-react 可以商用吗?

@asteby/metacore-runtime-react 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@asteby/metacore-runtime-react 的下载量有多少?

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

@asteby/metacore-runtime-react 还在维护吗?

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