@dotrino/roadmap

中文文档
0.4.88发布于 2026/11/05MITES Module构建来源已验证近 30 天下载 1.5万

El registro común de compatibilidad del ecosistema Dotrino, como pieza de consulta.

原始使用文档
文档目录10 节
  1. Reparto con @dotrino/compat
  2. Cómo se consulta
  3. Los rangos
  4. Los rangos NO vetan en marcha
  5. El chequeo de CI
  6. Y nada de esto bloquea
  7. Apps con versión nativa
  8. Pendiente
  9. Licencia
  10. Documentación de uso

dotrino-roadmap

El registro común de compatibilidad del ecosistema Dotrino: qué versión va cada pieza, qué protocolo habla, qué necesita de las demás y qué versiones se saben rotas.

Dos cosas en un repo:

  • manifests/*.json — los datos. Se editan aquí, a mano.
  • @dotrino/roadmap — la pieza de consulta. Cada producto la importa en vez de abrir el JSON por su cuenta: treinta piezas parseando el mismo archivo a su manera son treinta formas de equivocarse, y ninguna hace ruido al equivocarse.

Reparto con @dotrino/compat

Qué es
@dotrino/compatla lógica: declarar qué eres, comparar, avisar
estoel registro: los datos

Va como peerDependency, no como dependencia: un pilar metido dentro de otro se cuela anidado a cada consumidor, y ya pasó una vez.

Cómo se consulta

import { loadManifest, currentOf, brokenOf, meets } from '@dotrino/roadmap'

const m = loadManifest()                      // hay uno («dotrino») y caben varios
currentOf(m, 'vaultd')                        // '0.106.2'
meets(m, { product: 'vaultd', peer: 'identity', version: '0.80.0' })
brokenOf(m)                                   // se le pasa tal cual a check() de compat

Los rangos

Los define @dotrino/compat/ranges. Pueden ser abiertos, que es como se escribe un manifiesto de verdad — «esto y lo que venga»:

"0.106.2"             exacta
"0.106.0+"            de esa en adelante
">=0.106.0"           lo mismo en el otro idioma (también >  <=  <)
"0.100.0 - 0.106.2"   intervalo, extremos incluidos
"0.100.0 - *"         abierto por arriba
"*"                   cualquiera

Solo x.y.z: sin prereleases, sin ^ ni ~. Lo que no se entiende no pasa — un rango con una forma rara es un «no», nunca un «adelante».

Los rangos NO vetan en marcha

Es a propósito, para no tener dos puertas para lo mismo:

  • En marcha deciden el protocol que anuncia cada pieza y la lista de rotas. Son locales y no necesitan este registro.
  • Este registro sirve para el roadmap, para que el administrador diga «deberías actualizar X», y para un chequeo en CI.

Si los rangos también vetaran, algún día una puerta diría que sí y la otra que no.

El chequeo de CI

npx --yes @dotrino/roadmap@latest check        # en la carpeta con el package-lock.json
#   [--product <p>] [--dir <carpeta>]

Con la ÚLTIMA versión publicada, que trae la lista de rotas más nueva. Lee las versiones instaladas del package-lock.json (anidadas incluidas) y:

QuéResultado
brokenuna dependencia en una versión marcada rotafalla (sale con 1)
requiresel producto necesita de un pilar más de lo que traefalla
undeclaredusa un pilar que su ficha no declaraaviso

El producto se deduce del name del package.json (el npm de la ficha) o del repo de git (repo). Va en el release.yml de cada paquete, antes de publicar: eso sí frena, y es lo que faltaba — el proxio corrió meses con @dotrino/vault 0.52, marcada rota aquí mismo, porque la lista existía y nadie la cruzaba antes de desplegar (2026-09-30).

Una ficha tiene que declarar lo que usa. La del proxio tenía requires: {} y por eso ningún rango podía fallar. El aviso undeclared existe para eso.

Y nada de esto bloquea

La incompatibilidad se ve, no para (dueño, 2026-09-04). El porqué está en el README de @dotrino/compat; en corto: en los tres incidentes que originaron todo esto lo que faltó fue enterarse, no parar.

Apps con versión nativa

Algunas apps tienen además versión iOS y Android (CONVENCIONES §16, dueño 2026-09-28; la primera, padel). Cada versión nativa es un producto propio del manifiesto, con su nombre de plataforma:

"padel-android": {
  "repo": "imdotrino/dotrino-padel-contador",
  "current": "0.3.0",
  "protocol": 1,
  "requires": { "proxy": "1.1.0+", "identity": ">=0.105.0" }
}
  • Entra cuando se publica, no antes: un current de algo que no existe no es un registro. Hasta entonces, que una app está calificada lo dice su package.json (dotrino.platforms) y lo enseña dotrino-index.
  • current es la versión de la PWA con la que está a la par (§16.3): la PWA va delante, así que current de padel-android por debajo del de la PWA es lo normal, y dice cuánto falta.
  • Sus requires son los del puerto nativo (dotrino-native), no los de la PWA: lo que pide la app nativa es lo que habla su librería.
  • Una versión nativa rota va a broken por versión exacta, como cualquier otra. Con más razón: una app de tienda no se recompone en horas.

Pendiente

La página pública en roadmap.dotrino.com todavía no existe: hoy esto es el registro y su librería. Cuando se haga, va como landing de servicio (CONVENCIONES §1.2).

Licencia

MIT.

Documentación de uso

Está en el wiki: https://wiki.dotrino.com/desarrollo/versiones/

版本与发布记录

@dotrino/roadmap 共发布 103 个版本,首次发布于 2026/09/04;过去 12 个月发布了 103 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.4.88latest2026/11/058 天前
0.4.872026/10/2915 天前
0.4.862026/10/2915 天前
0.4.852026/10/2915 天前
0.4.842026/10/2816 天前
0.4.832026/10/2816 天前

关于 @dotrino/roadmap 的常见问题

@dotrino/roadmap 是什么?

El registro común de compatibilidad del ecosistema Dotrino, como pieza de consulta.

如何安装 @dotrino/roadmap?

在项目目录运行 npm install @dotrino/roadmap,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@dotrino/compat(>=0.4.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。它还提供命令行工具 dotrino-roadmap,可以用 npx dotrino-roadmap 直接运行。

@dotrino/roadmap 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/dotrino__roadmap 是否存在。

@dotrino/roadmap 支持 ESM 还是 CommonJS?

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

@dotrino/roadmap 可以商用吗?

@dotrino/roadmap 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dotrino/roadmap 的下载量有多少?

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

@dotrino/roadmap 还在维护吗?

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