@pasosdejesus/m 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CHANGELOG.md +50 -0
- package/dist/blockchain/deployments.d.ts +2 -1
- package/dist/blockchain/deployments.d.ts.map +1 -1
- package/dist/blockchain/deployments.js +4 -3
- package/dist/blockchain/deployments.js.map +1 -1
- package/dist/compose/data.d.ts +20 -1
- package/dist/compose/data.d.ts.map +1 -1
- package/dist/compose/data.js +50 -3
- package/dist/compose/data.js.map +1 -1
- package/dist/compose/index.d.ts +2 -2
- package/dist/compose/index.d.ts.map +1 -1
- package/dist/compose/index.js +2 -2
- package/dist/compose/index.js.map +1 -1
- package/dist/compose/vendor.d.ts +30 -1
- package/dist/compose/vendor.d.ts.map +1 -1
- package/dist/compose/vendor.js +91 -5
- package/dist/compose/vendor.js.map +1 -1
- package/dist/e2e/env.js +1 -1
- package/dist/e2e/env.js.map +1 -1
- package/dist/i18n/locales/cli.js +4 -4
- package/dist/i18n/locales/cli.js.map +1 -1
- package/dist/m.js +2 -1
- package/dist/m.js.map +1 -1
- package/dist/tasks/create.js +8 -8
- package/dist/tasks/create.js.map +1 -1
- package/dist/tasks/engine.d.ts.map +1 -1
- package/dist/tasks/engine.js +12 -4
- package/dist/tasks/engine.js.map +1 -1
- package/dist/tasks/update.d.ts.map +1 -1
- package/dist/tasks/update.js +4 -1
- package/dist/tasks/update.js.map +1 -1
- package/dist/templates/AGENTS.md.hbs +8 -8
- package/dist/templates/ARCHITECTURE.md.hbs +10 -10
- package/dist/templates/CONTRIBUTING.md.hbs +5 -5
- package/dist/templates/Makefile +21 -9
- package/dist/templates/README.md.hbs +18 -11
- package/dist/templates/apps/{hardhat → contracts}/Makefile +4 -4
- package/dist/templates/apps/{hardhat → contracts}/README.md +2 -2
- package/dist/templates/apps/{hardhat/package.json → contracts/package.json.hbs} +6 -7
- package/dist/templates/apps/{hardhat → contracts}/scripts/sync-usdt.mjs +2 -2
- package/dist/templates/apps/{hardhat → contracts}/sync-abis.mjs +4 -4
- package/dist/templates/apps/{nextjs → web}/Makefile +0 -4
- package/dist/templates/apps/{nextjs → web}/package.json.hbs +12 -14
- package/dist/templates/package.json.hbs +12 -0
- package/dist/templates/pnpm-workspace.yaml.hbs +42 -0
- package/dist/util/engines.d.ts +1 -1
- package/dist/util/engines.js +1 -1
- package/package.json +2 -2
- package/src/blockchain/README.md +1 -1
- package/src/shadcn_components/README.md +2 -2
- package/src/wallet/README.md +15 -0
- package/dist/templates/apps/nextjs/pnpm-workspace.yaml +0 -13
- /package/dist/templates/apps/{hardhat → contracts}/.prettierrc +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/MOCK_USDT_README.md +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/bin/MusdtVerification +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/bin/approveDepositOwner +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/bin/contractVerification +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/bin/deployMockUSDT +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/bin/prepadJ.sh +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/bin/verifyMockUSDT +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/hardhat.config.ts +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/scripts/approveDepositOwner.ts +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/scripts/deployMockUSDT.ts +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/scripts/verifyDeployment.ts +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/scripts/verifyMockUSDT.ts +0 -0
- /package/dist/templates/apps/{hardhat → contracts}/tsconfig.json +0 -0
- /package/dist/templates/apps/{nextjs → web}/.config/kysely.config.ts +0 -0
- /package/dist/templates/apps/{nextjs → web}/README.md.hbs +0 -0
- /package/dist/templates/apps/{nextjs → web}/abis/IERC20.json +0 -0
- /package/dist/templates/apps/{nextjs → web}/abis/MockUSDT.json +0 -0
- /package/dist/templates/apps/{nextjs → web}/abis/ReentrancyGuard.json +0 -0
- /package/dist/templates/apps/{nextjs → web}/app/globals.css +0 -0
- /package/dist/templates/apps/{nextjs → web}/app/layout.tsx.hbs +0 -0
- /package/dist/templates/apps/{nextjs → web}/app/page.tsx.hbs +0 -0
- /package/dist/templates/apps/{nextjs → web}/app/testui/page.tsx +0 -0
- /package/dist/templates/apps/{nextjs → web}/bin/m +0 -0
- /package/dist/templates/apps/{nextjs → web}/components.json +0 -0
- /package/dist/templates/apps/{nextjs → web}/next-env.d.ts +0 -0
- /package/dist/templates/apps/{nextjs → web}/next.config.ts +0 -0
- /package/dist/templates/apps/{nextjs → web}/postcss.config.mjs +0 -0
- /package/dist/templates/apps/{nextjs → web}/tailwind.config.js +0 -0
- /package/dist/templates/apps/{nextjs → web}/tests/global-setup.ts +0 -0
- /package/dist/templates/apps/{nextjs → web}/tests/helpers.ts +0 -0
- /package/dist/templates/apps/{nextjs → web}/tests/setup-env.ts.hbs +0 -0
- /package/dist/templates/apps/{nextjs → web}/tsconfig.json +0 -0
- /package/dist/templates/apps/{nextjs → web}/vitest.config.ts +0 -0
package/dist/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,56 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@pasosdejesus/m` are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.31.0] - 2026-10-15
|
|
6
|
+
|
|
7
|
+
### Changed (plantilla) — `m:create` genera un **workspace raíz** con `apps/web` y `apps/contracts`
|
|
8
|
+
|
|
9
|
+
- **Workspace raíz:** el proyecto generado trae `package.json` (privado, scripts `-r`) y
|
|
10
|
+
`pnpm-workspace.yaml` con `apps/*`, `packages/*` y `packages/generated/*`: **una sola instalación**
|
|
11
|
+
(`pnpm install` en la raíz) y **un solo lockfile**. Los ajustes pnpm (overrides WASM, `allowBuilds`) que
|
|
12
|
+
vivían en `apps/nextjs/pnpm-workspace.yaml` pasan a la raíz.
|
|
13
|
+
- **Versiones por catálogo:** `catalog:` en `pnpm-workspace.yaml` (versión única de `@pasosdejesus/*`,
|
|
14
|
+
`next`, `react`, `react-dom`, `viem`, `kysely`, `dotenv`, `typescript`, …); las apps declaran
|
|
15
|
+
`"catalog:"` y `pnpm up -r` actualiza todas de una vez.
|
|
16
|
+
- **Renombre de las apps:** `apps/nextjs` → **`apps/web`** y `apps/hardhat` → **`apps/contracts`** (por
|
|
17
|
+
rol, no por herramienta); paquetes `{{name}}-web` y `{{name}}-contracts` (antes `@stable-sl/hardhat`).
|
|
18
|
+
- **`m:create`/`m:update`:** la CLI usa `apps/web`; `readProjectIdentity` prefiere el `package.json` de la
|
|
19
|
+
raíz con respaldo a `apps/web` y al viejo `apps/nextjs`, así que los proyectos ya creados siguen
|
|
20
|
+
funcionando.
|
|
21
|
+
- **La app de contratos se detecta por contenido** (marcador `hardhat.config.*`): `contract:test`,
|
|
22
|
+
`eng:credentials:*` y la CLI aceptan `apps/contracts` (nuevo), `apps/hardhat` y `hardhat` (viejos).
|
|
23
|
+
- **`make all`** vive en la raíz (`pnpm i` + build de `apps/web`); [REQ/51](https://gitlab.com/pasosdeJesus/m/-/work_items/51) le sumará `bin/m env:check`.
|
|
24
|
+
- **Proyecto de prueba** (`tests/test-project`): mismo layout (`apps/web`, `apps/contracts`, workspace raíz con
|
|
25
|
+
`package.json` + `pnpm-workspace.yaml`); conserva `link:` a los paquetes del monorepo (en vez de `catalog:`) para
|
|
26
|
+
probar siempre el código local. Docs (`CONTRIBUTING.md`, `doc/pnpm.md`, `doc/*`, `README.md`) al día.
|
|
27
|
+
- **Paquetes acompañantes** (parches en el mismo corte): `@pasosdejesus/contract-test` `0.1.4` → `0.1.5`
|
|
28
|
+
(`contract:test` localiza la app de contratos **por contenido**, aceptando `apps/contracts`) y
|
|
29
|
+
`@pasosdejesus/mpdj` `0.2.14` → `0.2.15` (`eng:credentials:*` busca los `deployments` en `apps/contracts`).
|
|
30
|
+
|
|
31
|
+
### Fixed — `eng:setup` re-timbra las migraciones del motor (defecto 6, reportado por learn.tg)
|
|
32
|
+
|
|
33
|
+
- **`eng:setup`** ([REQ/40](https://gitlab.com/pasosdeJesus/m/-/work_items/40) D3): al copiar las migraciones de un motor, si un archivo trae un **timestamp fijo**
|
|
34
|
+
que ordena **antes** de las migraciones ya aplicadas por el consumidor, lo **re-timbra** para que ordene al
|
|
35
|
+
final (preservando el orden relativo). Un motor con epoch propio como `20260101000000` (el `wallet`) hacía que
|
|
36
|
+
Kysely rechazara `db:migrate` con *"corrupted migrations: New migrations must always have a name that comes
|
|
37
|
+
alphabetically after the last executed migration"*; el consumidor debía añadir `allowUnorderedMigrations: true`.
|
|
38
|
+
- La idempotencia pasa a ser **por marca** (el nombre tras el timestamp): una copia re-timbrada no se duplica al
|
|
39
|
+
re-ejecutar `eng:setup` ni la reporta `--check`.
|
|
40
|
+
|
|
41
|
+
## [0.30.1] - 2026-10-14
|
|
42
|
+
|
|
43
|
+
### Fixed — `eng:sync --vendor` de un motor **con vistas** (auditoría de learn.tg)
|
|
44
|
+
|
|
45
|
+
- **La copia vendorizada nace consumible:** el `package.json` **preserva los `exports` reales** del motor
|
|
46
|
+
(los subpaths `./next`/`./model` dejan de apuntar a rutas inexistentes), **puentea** los motores de los
|
|
47
|
+
que depende **por nombre** (`@pasosdejesus/<alias>` → `generated-<alias>`: sus `import` se reescriben al
|
|
48
|
+
nombre puente y se declaran como dependencia `*`, porque el nombre real es `private` y el consumidor
|
|
49
|
+
vendoriza esos motores como hermanos y añade `packages/generated/*` a su workspace; **sin** rutas
|
|
50
|
+
`file:../…`, que atarían la copia al layout de una máquina), **no** emite rangos `workspace:` (inválidos
|
|
51
|
+
fuera del workspace) y pone los peers (`react`/`react-dom`) como `peerDependencies` opcionales +
|
|
52
|
+
`devDependencies`.
|
|
53
|
+
- El `tsconfig` de la copia añade `jsx: react-jsx` y `lib` DOM, así que `tsc -b` compila motores con `.tsx`.
|
|
54
|
+
|
|
5
55
|
## [0.30.0] - 2026-10-13
|
|
6
56
|
|
|
7
57
|
### Changed (breaking) — [m/REQ/50](https://gitlab.com/pasosdeJesus/m/-/work_items/50) Fase 1
|
|
@@ -22,7 +22,8 @@ export interface DeploymentOptions {
|
|
|
22
22
|
*
|
|
23
23
|
* @param network e.g. "celoSepolia", "baseSepolia", "celo", "base"
|
|
24
24
|
* @param deploymentsDir Absolute or relative path to the deployments directory.
|
|
25
|
-
* Typically: path.join(projectRoot, 'apps', '
|
|
25
|
+
* Typically: path.join(projectRoot, 'apps', 'contracts', 'deployments')
|
|
26
|
+
* (o `apps/hardhat` en proyectos con el layout viejo).
|
|
26
27
|
*/
|
|
27
28
|
export declare function readDeployment(network: string, deploymentsDir: string, opts?: DeploymentOptions): Deployment | null;
|
|
28
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../../src/blockchain/deployments.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"deployments.d.ts","sourceRoot":"","sources":["../../src/blockchain/deployments.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB,UAAU,GAAG,IAAI,CAuBnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB,KAAK,MAAM,EAAE,GAAG,IAAI,CAQtB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB,KAAK,MAAM,EAAE,GAAG,IAAI,CAGtB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,iBAAiB,GACvB,KAAK,MAAM,EAAE,GAAG,IAAI,CAGtB"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// Read contract addresses from deployment JSON files.
|
|
3
3
|
//
|
|
4
4
|
// Deployment files support two layouts:
|
|
5
|
-
// Flat: apps/
|
|
6
|
-
// Hierarchical: apps/
|
|
5
|
+
// Flat: apps/contracts/deployments/{network}.json
|
|
6
|
+
// Hierarchical: apps/contracts/deployments/{Contract}/{Version}/{network}.json
|
|
7
7
|
//
|
|
8
8
|
// When contract + version are provided, the hierarchical path is tried first,
|
|
9
9
|
// falling back to the flat path.
|
|
@@ -19,7 +19,8 @@ import path from 'path';
|
|
|
19
19
|
*
|
|
20
20
|
* @param network e.g. "celoSepolia", "baseSepolia", "celo", "base"
|
|
21
21
|
* @param deploymentsDir Absolute or relative path to the deployments directory.
|
|
22
|
-
* Typically: path.join(projectRoot, 'apps', '
|
|
22
|
+
* Typically: path.join(projectRoot, 'apps', 'contracts', 'deployments')
|
|
23
|
+
* (o `apps/hardhat` en proyectos con el layout viejo).
|
|
23
24
|
*/
|
|
24
25
|
export function readDeployment(network, deploymentsDir, opts) {
|
|
25
26
|
const { contract, version } = opts || {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/blockchain/deployments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sDAAsD;AACtD,EAAE;AACF,wCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"deployments.js","sourceRoot":"","sources":["../../src/blockchain/deployments.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sDAAsD;AACtD,EAAE;AACF,wCAAwC;AACxC,uDAAuD;AACvD,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,iCAAiC;AAEjC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AAkBvB;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,cAAsB,EACtB,IAAwB;IAExB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IAExC,oCAAoC;IACpC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;QAChF,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;QAChF,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,OAAO,CAAC,CAAA;IAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,MAAc,EACd,cAAsB,EACtB,IAAwB;IAExB,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAA;IAChE,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,OAAwB,CAAA;IAE1D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,IAAI;QAAE,OAAO,IAAqB,CAAA;IAEtC,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,cAAsB,EACtB,IAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAA;IACnF,OAAO,kBAAkB,CAAC,OAAO,EAAE,yCAAyC,EAAE,cAAc,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,cAAsB,EACtB,IAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAA;IACxF,OAAO,kBAAkB,CAAC,OAAO,EAAE,yCAAyC,EAAE,cAAc,EAAE,IAAI,CAAC,CAAA;AACrG,CAAC"}
|
package/dist/compose/data.d.ts
CHANGED
|
@@ -12,6 +12,23 @@
|
|
|
12
12
|
export declare function motorMigrationDir(dir: string): string | null;
|
|
13
13
|
/** Archivos de migración que el motor trae (`.ts`/`.sql`), ordenados. */
|
|
14
14
|
export declare function motorMigrationFiles(dir: string): string[];
|
|
15
|
+
/** Marca de una migración: el nombre tras el timestamp `YYYYMMDDHHMMSS_` (o el nombre completo). */
|
|
16
|
+
export declare function migrationMarker(file: string): string;
|
|
17
|
+
/** Timestamp `YYYYMMDDHHMMSS` de una migración como número, o `null` si no lo trae. */
|
|
18
|
+
export declare function migrationTimestamp(file: string): bigint | null;
|
|
19
|
+
/**
|
|
20
|
+
* Nombres con los que copiar migraciones del motor en el consumidor. Las que ya
|
|
21
|
+
* ordenan **después** del mayor timestamp del consumidor se conservan; las demás
|
|
22
|
+
* se **re-timbrean** al final, preservando su orden relativo.
|
|
23
|
+
*
|
|
24
|
+
* Un motor trae migraciones con timestamp **fijo** (p. ej. el `wallet`:
|
|
25
|
+
* `20260101000000_wallet_model.ts`); si el consumidor ya aplicó migraciones más
|
|
26
|
+
* nuevas, Kysely rechaza la del motor (*"corrupted migrations: New migrations must
|
|
27
|
+
* always have a name that comes alphabetically after the last executed
|
|
28
|
+
* migration"*). Re-timbrarla al copiarla lo evita sin exigir
|
|
29
|
+
* `allowUnorderedMigrations` (reportado por learn.tg, defecto 6).
|
|
30
|
+
*/
|
|
31
|
+
export declare function retimestampMigrations(files: string[], existing: string[]): string[];
|
|
15
32
|
export interface MigrationPlan {
|
|
16
33
|
/** Directorio de migraciones del motor, o `null` si no trae. */
|
|
17
34
|
sourceDir: string | null;
|
|
@@ -22,7 +39,9 @@ export interface MigrationPlan {
|
|
|
22
39
|
}
|
|
23
40
|
/**
|
|
24
41
|
* Qué migraciones de un motor faltan en el consumidor (idempotente): `eng:setup`
|
|
25
|
-
* sólo copia las que no están.
|
|
42
|
+
* sólo copia las que no están. La comparación es por **marca** (el nombre tras el
|
|
43
|
+
* timestamp), así que una copia **re-timbrada** (`retimestampMigrations`) sigue
|
|
44
|
+
* contando como presente y re-ejecutar `eng:setup` no la duplica.
|
|
26
45
|
*/
|
|
27
46
|
export declare function planMigrationCopy(motorDir: string, outDir: string): MigrationPlan;
|
|
28
47
|
/** Archivo de seed que el motor trae (`db/seed.sql.gz` o `db/seed.sql`), o `null`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/compose/data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAIzD;AAED,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/compose/data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAIzD;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG9D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAqBnF;AAED,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CASjF;AAED,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxD"}
|
package/dist/compose/data.js
CHANGED
|
@@ -22,17 +22,64 @@ export function motorMigrationFiles(dir) {
|
|
|
22
22
|
return [];
|
|
23
23
|
return readdirSync(migrationsDir).filter((file) => file.endsWith('.ts') || file.endsWith('.sql')).sort();
|
|
24
24
|
}
|
|
25
|
+
/** Marca de una migración: el nombre tras el timestamp `YYYYMMDDHHMMSS_` (o el nombre completo). */
|
|
26
|
+
export function migrationMarker(file) {
|
|
27
|
+
const match = /^\d{14}_(.+)$/.exec(file);
|
|
28
|
+
return match ? match[1] : file;
|
|
29
|
+
}
|
|
30
|
+
/** Timestamp `YYYYMMDDHHMMSS` de una migración como número, o `null` si no lo trae. */
|
|
31
|
+
export function migrationTimestamp(file) {
|
|
32
|
+
const match = /^(\d{14})_/.exec(file);
|
|
33
|
+
return match ? BigInt(match[1]) : null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Nombres con los que copiar migraciones del motor en el consumidor. Las que ya
|
|
37
|
+
* ordenan **después** del mayor timestamp del consumidor se conservan; las demás
|
|
38
|
+
* se **re-timbrean** al final, preservando su orden relativo.
|
|
39
|
+
*
|
|
40
|
+
* Un motor trae migraciones con timestamp **fijo** (p. ej. el `wallet`:
|
|
41
|
+
* `20260101000000_wallet_model.ts`); si el consumidor ya aplicó migraciones más
|
|
42
|
+
* nuevas, Kysely rechaza la del motor (*"corrupted migrations: New migrations must
|
|
43
|
+
* always have a name that comes alphabetically after the last executed
|
|
44
|
+
* migration"*). Re-timbrarla al copiarla lo evita sin exigir
|
|
45
|
+
* `allowUnorderedMigrations` (reportado por learn.tg, defecto 6).
|
|
46
|
+
*/
|
|
47
|
+
export function retimestampMigrations(files, existing) {
|
|
48
|
+
let floor = existing.reduce((max, file) => {
|
|
49
|
+
const ts = migrationTimestamp(file);
|
|
50
|
+
return ts !== null && ts > max ? ts : max;
|
|
51
|
+
}, 0n);
|
|
52
|
+
const targets = [];
|
|
53
|
+
for (const file of files) {
|
|
54
|
+
const ts = migrationTimestamp(file);
|
|
55
|
+
if (ts === null) {
|
|
56
|
+
targets.push(file);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (ts > floor) {
|
|
60
|
+
targets.push(file);
|
|
61
|
+
floor = ts;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
floor += 1n;
|
|
65
|
+
targets.push(`${floor}_${migrationMarker(file)}`);
|
|
66
|
+
}
|
|
67
|
+
return targets;
|
|
68
|
+
}
|
|
25
69
|
/**
|
|
26
70
|
* Qué migraciones de un motor faltan en el consumidor (idempotente): `eng:setup`
|
|
27
|
-
* sólo copia las que no están.
|
|
71
|
+
* sólo copia las que no están. La comparación es por **marca** (el nombre tras el
|
|
72
|
+
* timestamp), así que una copia **re-timbrada** (`retimestampMigrations`) sigue
|
|
73
|
+
* contando como presente y re-ejecutar `eng:setup` no la duplica.
|
|
28
74
|
*/
|
|
29
75
|
export function planMigrationCopy(motorDir, outDir) {
|
|
30
76
|
const files = motorMigrationFiles(motorDir);
|
|
31
77
|
const existing = existsSync(outDir) ? readdirSync(outDir) : [];
|
|
78
|
+
const existingMarkers = new Set(existing.map(migrationMarker));
|
|
32
79
|
return {
|
|
33
80
|
sourceDir: motorMigrationDir(motorDir),
|
|
34
|
-
present: files.filter((file) =>
|
|
35
|
-
missing: files.filter((file) => !
|
|
81
|
+
present: files.filter((file) => existingMarkers.has(migrationMarker(file))),
|
|
82
|
+
missing: files.filter((file) => !existingMarkers.has(migrationMarker(file))),
|
|
36
83
|
};
|
|
37
84
|
}
|
|
38
85
|
/** Archivo de seed que el motor trae (`db/seed.sql.gz` o `db/seed.sql`), o `null`. */
|
package/dist/compose/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/compose/data.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,yFAAyF;AACzF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;IAC/C,OAAO,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAA;IAC7B,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AAC1G,CAAC;AAWD
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/compose/data.ts"],"names":[],"mappings":"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"}
|
package/dist/compose/index.d.ts
CHANGED
|
@@ -12,8 +12,8 @@ export { deriveFrom, deriveTables, deriveColumns, deriveMigrations, deriveContra
|
|
|
12
12
|
export { discoverEngines, readEngineManifest, readIntention, readPackageJson, engineClosure, } from './discover.js';
|
|
13
13
|
export { sync } from './sync.js';
|
|
14
14
|
export { verify } from './verify.js';
|
|
15
|
-
export { vendor, unvendor, drift, readProvenance, structureSha, type Provenance, type DriftFinding, type DriftCode, type DriftReason, type GitOrigin, } from './vendor.js';
|
|
15
|
+
export { vendor, unvendor, drift, readProvenance, structureSha, enginePackages, rewriteEngineImports, type Provenance, type DriftFinding, type DriftCode, type DriftReason, type GitOrigin, } from './vendor.js';
|
|
16
16
|
export { parseFromGit, materializeGit, motorInCheckout, gitCheckoutDir, gitAvailable, gitCacheRoot, } from './git.js';
|
|
17
|
-
export { motorMigrationDir, motorMigrationFiles, planMigrationCopy, motorSeedFile, type MigrationPlan, } from './data.js';
|
|
17
|
+
export { motorMigrationDir, motorMigrationFiles, planMigrationCopy, motorSeedFile, migrationMarker, migrationTimestamp, retimestampMigrations, type MigrationPlan, } from './data.js';
|
|
18
18
|
export { tablesUsed, declaredUsage, usageReport, projectSources, type DeclaredUsage, type UsageReport, } from './usage.js';
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compose/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compose/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EACV,SAAS,EACT,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,SAAS,EACT,OAAO,EACP,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAC3F,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,GACrF,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,GAC1F,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EACxE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAC1D,KAAK,aAAa,GACnB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EACtD,KAAK,aAAa,EAAE,KAAK,WAAW,GACrC,MAAM,YAAY,CAAA"}
|
package/dist/compose/index.js
CHANGED
|
@@ -11,8 +11,8 @@ export { deriveFrom, deriveTables, deriveColumns, deriveMigrations, deriveContra
|
|
|
11
11
|
export { discoverEngines, readEngineManifest, readIntention, readPackageJson, engineClosure, } from './discover.js';
|
|
12
12
|
export { sync } from './sync.js';
|
|
13
13
|
export { verify } from './verify.js';
|
|
14
|
-
export { vendor, unvendor, drift, readProvenance, structureSha, } from './vendor.js';
|
|
14
|
+
export { vendor, unvendor, drift, readProvenance, structureSha, enginePackages, rewriteEngineImports, } from './vendor.js';
|
|
15
15
|
export { parseFromGit, materializeGit, motorInCheckout, gitCheckoutDir, gitAvailable, gitCacheRoot, } from './git.js';
|
|
16
|
-
export { motorMigrationDir, motorMigrationFiles, planMigrationCopy, motorSeedFile, } from './data.js';
|
|
16
|
+
export { motorMigrationDir, motorMigrationFiles, planMigrationCopy, motorSeedFile, migrationMarker, migrationTimestamp, retimestampMigrations, } from './data.js';
|
|
17
17
|
export { tablesUsed, declaredUsage, usageReport, projectSources, } from './usage.js';
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compose/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compose/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,OAAO,EACL,UAAU,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EACL,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,oBAAoB,GAE5F,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,GAC1F,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,aAAa,EACxE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,GAE3D,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,GAEvD,MAAM,YAAY,CAAA"}
|
package/dist/compose/vendor.d.ts
CHANGED
|
@@ -36,8 +36,37 @@ export declare function structureSha(dir: string): string | null;
|
|
|
36
36
|
* consumidor (mismo criterio que sus paquetes de motor, p. ej. `gdcluster`).
|
|
37
37
|
*/
|
|
38
38
|
export declare function vendoredTsconfig(): string;
|
|
39
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* `package.json` de la copia vendorizada: paquete propio, compilable por separado.
|
|
41
|
+
*
|
|
42
|
+
* La copia debe **nacer consumible** (auditoría de learn.tg, 2026-10-14):
|
|
43
|
+
* - **Preserva los `exports` reales del motor** (p. ej. `./next` → `dist/components/index.js`),
|
|
44
|
+
* no un `./*` genérico que rompe los subpaths.
|
|
45
|
+
* - **Puentea los motores de los que depende** por **nombre** (`generated-<alias>`): sus `import` se
|
|
46
|
+
* reescriben en la copia (ver `rewriteEngineImports`) y se declaran como dependencia `*` (el
|
|
47
|
+
* consumidor añade `packages/generated/*` a su workspace). **Sin rutas `file:../…`**: atarían la
|
|
48
|
+
* copia al layout de una máquina.
|
|
49
|
+
* - No emite rangos `workspace:`; los `peerDependencies` van como peers (opcionales) **y** como
|
|
50
|
+
* `devDependencies` para que la copia **compile**.
|
|
51
|
+
*/
|
|
40
52
|
export declare function vendoredPackageJson(motorDir: string, pkg: PackageJson | null): string;
|
|
53
|
+
/**
|
|
54
|
+
* Motores de los que depende `motorDir`, según su intención: `Map<nombre-de-paquete, alias>`.
|
|
55
|
+
* `engines.<alias>.package` da el nombre real; si falta, se asume `@pasosdejesus/<alias>`.
|
|
56
|
+
* Es la materia prima del **puente por nombre** (`rewriteEngineImports`).
|
|
57
|
+
*/
|
|
58
|
+
export declare function enginePackages(motorDir: string): Map<string, string>;
|
|
59
|
+
/**
|
|
60
|
+
* Reescribe los `import` de la copia a los motores de los que depende, **por nombre**:
|
|
61
|
+
* `@pasosdejesus/<alias>` (o el `package` declarado) → `generated-<alias>`, conservando el
|
|
62
|
+
* subpath (`@pasosdejesus/msip/model` → `generated-msip/model`). El consumidor vendoriza esos
|
|
63
|
+
* motores como hermanos en `packages/generated/*` y añade el glob a su workspace. **Sin rutas
|
|
64
|
+
* `file:../…`**: atarían la copia al layout de una máquina (auditoría de learn.tg, 2026-10-14).
|
|
65
|
+
*
|
|
66
|
+
* No toca el nombre propio del motor ni los paquetes que no declara (p. ej. `@pasosdejesus/m`,
|
|
67
|
+
* que sí es publicable).
|
|
68
|
+
*/
|
|
69
|
+
export declare function rewriteEngineImports(destDir: string, engines: Map<string, string>): void;
|
|
41
70
|
/**
|
|
42
71
|
* Motor original con el que medir el drift de una copia vendorizada: el `--from`
|
|
43
72
|
* (la carpeta del motor, o un checkout donde vive en `packages/<motor>`), y si no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor.d.ts","sourceRoot":"","sources":["../../src/compose/vendor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"vendor.d.ts","sourceRoot":"","sources":["../../src/compose/vendor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAKhF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIvD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAoBzC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,GAAG,MAAM,CA+CrF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMpE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAqBxF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9G;AAED,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CA6B1F;AAED,6DAA6D;AAC7D,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAQhE;AAED,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAA;AAEjD,2FAA2F;AAC3F,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AAE9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAoBvE"}
|
package/dist/compose/vendor.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* "Porque ¿quién de vosotros, queriendo edificar una torre, no se sienta primero y calcula los gastos…?" (Lucas 14:28)
|
|
8
8
|
*/
|
|
9
|
-
import { cpSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
9
|
+
import { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
10
10
|
import { createHash } from 'node:crypto';
|
|
11
11
|
import { basename, join } from 'node:path';
|
|
12
12
|
import { readIntention, readPackageJson } from './discover.js';
|
|
@@ -30,7 +30,8 @@ export function vendoredTsconfig() {
|
|
|
30
30
|
target: 'ES2022',
|
|
31
31
|
module: 'NodeNext',
|
|
32
32
|
moduleResolution: 'NodeNext',
|
|
33
|
-
lib: ['ES2022'],
|
|
33
|
+
lib: ['ES2022', 'DOM', 'DOM.Iterable'],
|
|
34
|
+
jsx: 'react-jsx',
|
|
34
35
|
rootDir: './src',
|
|
35
36
|
outDir: './dist',
|
|
36
37
|
declaration: true,
|
|
@@ -44,11 +45,41 @@ export function vendoredTsconfig() {
|
|
|
44
45
|
exclude: ['node_modules', 'dist'],
|
|
45
46
|
}, null, 2)}\n`;
|
|
46
47
|
}
|
|
47
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* `package.json` de la copia vendorizada: paquete propio, compilable por separado.
|
|
50
|
+
*
|
|
51
|
+
* La copia debe **nacer consumible** (auditoría de learn.tg, 2026-10-14):
|
|
52
|
+
* - **Preserva los `exports` reales del motor** (p. ej. `./next` → `dist/components/index.js`),
|
|
53
|
+
* no un `./*` genérico que rompe los subpaths.
|
|
54
|
+
* - **Puentea los motores de los que depende** por **nombre** (`generated-<alias>`): sus `import` se
|
|
55
|
+
* reescriben en la copia (ver `rewriteEngineImports`) y se declaran como dependencia `*` (el
|
|
56
|
+
* consumidor añade `packages/generated/*` a su workspace). **Sin rutas `file:../…`**: atarían la
|
|
57
|
+
* copia al layout de una máquina.
|
|
58
|
+
* - No emite rangos `workspace:`; los `peerDependencies` van como peers (opcionales) **y** como
|
|
59
|
+
* `devDependencies` para que la copia **compile**.
|
|
60
|
+
*/
|
|
48
61
|
export function vendoredPackageJson(motorDir, pkg) {
|
|
49
62
|
const name = `generated-${basename(motorDir)}`;
|
|
50
63
|
const version = pkg?.version ?? '0.0.0';
|
|
51
|
-
const
|
|
64
|
+
const engines = enginePackages(motorDir);
|
|
65
|
+
const dependencies = {};
|
|
66
|
+
for (const [dep, range] of Object.entries(pkg?.dependencies ?? {})) {
|
|
67
|
+
const sibling = engines.get(dep);
|
|
68
|
+
if (sibling)
|
|
69
|
+
dependencies[`generated-${sibling}`] = '*';
|
|
70
|
+
else
|
|
71
|
+
dependencies[dep] = range.startsWith('workspace:') ? '*' : range;
|
|
72
|
+
}
|
|
73
|
+
const peerDependencies = {};
|
|
74
|
+
const peerDependenciesMeta = {};
|
|
75
|
+
const devDependencies = {};
|
|
76
|
+
for (const [dep, range] of Object.entries(pkg?.peerDependencies ?? {})) {
|
|
77
|
+
const sibling = engines.get(dep);
|
|
78
|
+
const resolved = sibling ? `generated-${sibling}` : range.startsWith('workspace:') ? '*' : range;
|
|
79
|
+
peerDependencies[dep] = resolved;
|
|
80
|
+
peerDependenciesMeta[dep] = { optional: true };
|
|
81
|
+
devDependencies[dep] = resolved;
|
|
82
|
+
}
|
|
52
83
|
const manifest = {
|
|
53
84
|
name,
|
|
54
85
|
version,
|
|
@@ -57,7 +88,7 @@ export function vendoredPackageJson(motorDir, pkg) {
|
|
|
57
88
|
description: `Copia vendorizada de ${pkg?.name ?? name} v${version}, generada por \`bin/m eng:sync --vendor\`; no editar a mano.`,
|
|
58
89
|
main: 'dist/index.js',
|
|
59
90
|
types: 'dist/index.d.ts',
|
|
60
|
-
exports: {
|
|
91
|
+
exports: pkg?.exports ?? {
|
|
61
92
|
'.': { import: './dist/index.js', types: './dist/index.d.ts' },
|
|
62
93
|
'./*': { import: './dist/*.js', types: './dist/*.d.ts' },
|
|
63
94
|
},
|
|
@@ -69,8 +100,61 @@ export function vendoredPackageJson(motorDir, pkg) {
|
|
|
69
100
|
};
|
|
70
101
|
if (Object.keys(dependencies).length > 0)
|
|
71
102
|
manifest.dependencies = dependencies;
|
|
103
|
+
if (Object.keys(peerDependencies).length > 0) {
|
|
104
|
+
manifest.peerDependencies = peerDependencies;
|
|
105
|
+
manifest.peerDependenciesMeta = peerDependenciesMeta;
|
|
106
|
+
}
|
|
107
|
+
if (Object.keys(devDependencies).length > 0)
|
|
108
|
+
manifest.devDependencies = devDependencies;
|
|
72
109
|
return `${JSON.stringify(manifest, null, 2)}\n`;
|
|
73
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Motores de los que depende `motorDir`, según su intención: `Map<nombre-de-paquete, alias>`.
|
|
113
|
+
* `engines.<alias>.package` da el nombre real; si falta, se asume `@pasosdejesus/<alias>`.
|
|
114
|
+
* Es la materia prima del **puente por nombre** (`rewriteEngineImports`).
|
|
115
|
+
*/
|
|
116
|
+
export function enginePackages(motorDir) {
|
|
117
|
+
const map = new Map();
|
|
118
|
+
for (const [alias, ref] of Object.entries(readIntention(motorDir)?.engines ?? {})) {
|
|
119
|
+
map.set(ref.package ?? `@pasosdejesus/${alias}`, alias);
|
|
120
|
+
}
|
|
121
|
+
return map;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Reescribe los `import` de la copia a los motores de los que depende, **por nombre**:
|
|
125
|
+
* `@pasosdejesus/<alias>` (o el `package` declarado) → `generated-<alias>`, conservando el
|
|
126
|
+
* subpath (`@pasosdejesus/msip/model` → `generated-msip/model`). El consumidor vendoriza esos
|
|
127
|
+
* motores como hermanos en `packages/generated/*` y añade el glob a su workspace. **Sin rutas
|
|
128
|
+
* `file:../…`**: atarían la copia al layout de una máquina (auditoría de learn.tg, 2026-10-14).
|
|
129
|
+
*
|
|
130
|
+
* No toca el nombre propio del motor ni los paquetes que no declara (p. ej. `@pasosdejesus/m`,
|
|
131
|
+
* que sí es publicable).
|
|
132
|
+
*/
|
|
133
|
+
export function rewriteEngineImports(destDir, engines) {
|
|
134
|
+
if (engines.size === 0 || !existsSync(destDir))
|
|
135
|
+
return;
|
|
136
|
+
const pairs = [...engines.entries()].map(([name, alias]) => [name, `generated-${alias}`]);
|
|
137
|
+
const walk = (dir) => {
|
|
138
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
139
|
+
const full = join(dir, entry.name);
|
|
140
|
+
if (entry.isDirectory()) {
|
|
141
|
+
walk(full);
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
if (!/\.tsx?$/.test(entry.name))
|
|
145
|
+
continue;
|
|
146
|
+
const source = readFileSync(full, 'utf-8');
|
|
147
|
+
let rewritten = source;
|
|
148
|
+
for (const [from, to] of pairs) {
|
|
149
|
+
const escaped = from.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
150
|
+
rewritten = rewritten.replace(new RegExp(`(['"\`])${escaped}(?=[/'"\`])`, 'g'), `$1${to}`);
|
|
151
|
+
}
|
|
152
|
+
if (rewritten !== source)
|
|
153
|
+
writeFileSync(full, rewritten);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
walk(destDir);
|
|
157
|
+
}
|
|
74
158
|
/**
|
|
75
159
|
* Motor original con el que medir el drift de una copia vendorizada: el `--from`
|
|
76
160
|
* (la carpeta del motor, o un checkout donde vive en `packages/<motor>`), y si no
|
|
@@ -101,6 +185,8 @@ export function vendor(motorDir, outDir, gitOrigin) {
|
|
|
101
185
|
if (existsSync(from))
|
|
102
186
|
cpSync(from, join(outDir, entry), { recursive: true, filter: keep });
|
|
103
187
|
}
|
|
188
|
+
// Puente por nombre: la copia importa `generated-<alias>`, no `@pasosdejesus/<alias>` (private).
|
|
189
|
+
rewriteEngineImports(join(outDir, 'src'), enginePackages(motorDir));
|
|
104
190
|
// Paquete propio + tsconfig autónomo: cada copia se compila por separado (`tsc -b`).
|
|
105
191
|
writeFileSync(join(outDir, 'package.json'), vendoredPackageJson(motorDir, pkg));
|
|
106
192
|
writeFileSync(join(outDir, 'tsconfig.json'), vendoredTsconfig());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../src/compose/vendor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"vendor.js","sourceRoot":"","sources":["../../src/compose/vendor.ts"],"names":[],"mappings":"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"}
|
package/dist/e2e/env.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as fs from 'fs';
|
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
// Try to load PRIVATE_KEY and NEXT_PUBLIC_ADDRESS from a .env file.
|
|
5
5
|
// Candidates (en orden): ../.env (apps/ cuando cwd=apps/<app>), ../../.env
|
|
6
|
-
// (raíz del repo), .env (cwd). https://gitlab.com/pasosdeJesus/m/-/work_items/35: desde apps/
|
|
6
|
+
// (raíz del repo), .env (cwd). https://gitlab.com/pasosdeJesus/m/-/work_items/35: desde apps/web el .env real vive en
|
|
7
7
|
// apps/.env (../.env), no en la raíz.
|
|
8
8
|
const ENV_CANDIDATES = [
|
|
9
9
|
{ rel: path.join('..', '.env'), label: 'apps/.env' },
|
package/dist/e2e/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/e2e/env.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAE5B,oEAAoE;AACpE,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/e2e/env.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/locales/cli.js
CHANGED
|
@@ -24,8 +24,8 @@ export const cliTranslations = {
|
|
|
24
24
|
'cmd.db_test_connection_description': 'Tests the database connection non-interactively',
|
|
25
25
|
'cmd.db_dump_description': 'Dumps the database (data + schema) to db/backups/',
|
|
26
26
|
'cmd.db_restore_description': 'Restores the database from a backup in db/backups/',
|
|
27
|
-
'cmd.contract_compile_description': 'Compiles Smart Contracts in apps/
|
|
28
|
-
'cmd.contract_test_description': 'Runs Smart Contract tests in apps/
|
|
27
|
+
'cmd.contract_compile_description': 'Compiles Smart Contracts in apps/contracts',
|
|
28
|
+
'cmd.contract_test_description': 'Runs Smart Contract tests in apps/contracts',
|
|
29
29
|
'cmd.contract_node_description': 'Runs a local Hardhat node',
|
|
30
30
|
'cmd.contract_deploy_description': 'Deploys Smart Contracts',
|
|
31
31
|
'cmd.create_description': 'Creates a new project',
|
|
@@ -128,8 +128,8 @@ export const cliTranslations = {
|
|
|
128
128
|
'cmd.db_test_connection_description': 'Prueba la conexión a la base de datos de forma no interactiva',
|
|
129
129
|
'cmd.db_dump_description': 'Respaldar la base de datos (datos + esquema) en db/backups/',
|
|
130
130
|
'cmd.db_restore_description': 'Restaurar la base de datos desde un respaldo en db/backups/',
|
|
131
|
-
'cmd.contract_compile_description': 'Compila los Contratos Inteligentes en apps/
|
|
132
|
-
'cmd.contract_test_description': 'Ejecuta las pruebas de los Contratos Inteligentes en apps/
|
|
131
|
+
'cmd.contract_compile_description': 'Compila los Contratos Inteligentes en apps/contracts',
|
|
132
|
+
'cmd.contract_test_description': 'Ejecuta las pruebas de los Contratos Inteligentes en apps/contracts',
|
|
133
133
|
'cmd.contract_node_description': 'Ejecuta un nodo local de Hardhat',
|
|
134
134
|
'cmd.contract_deploy_description': 'Despliega los Contratos Inteligentes',
|
|
135
135
|
'cmd.create_description': 'Crea un nuevo proyecto',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/i18n/locales/cli.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,EAAE,EAAE;QACF,2BAA2B,EAAE,sBAAsB;QACnD,yBAAyB,EAAE,oBAAoB;QAC/C,qCAAqC,EAAE,sCAAsC;QAC7E,mCAAmC,EAAE,8BAA8B;QACnE,mCAAmC,EAAE,8BAA8B;QACnE,4BAA4B,EAAE,0BAA0B;QACxD,6BAA6B,EAAE,8BAA8B;QAC7D,0BAA0B,EAAE,sDAAsD;QAClF,6BAA6B,EAAE,sDAAsD;QACrF,yBAAyB,EAAE,oBAAoB;QAC/C,mCAAmC,EAAE,oEAAoE;QACzG,+BAA+B,EAAE,6DAA6D;QAC9F,4BAA4B,EAAE,wEAAwE;QACtG,0BAA0B,EAAE,4GAA4G;QACxI,4BAA4B,EAAE,sFAAsF;QACpH,2BAA2B,EAAE,iGAAiG;QAC9H,0BAA0B,EAAE,wGAAwG;QACpI,iCAAiC,EAAE,yFAAyF;QAC5H,gCAAgC,EAAE,6GAA6G;QAC/I,+BAA+B,EAAE,yHAAyH;QAC1J,4BAA4B,EAAE,0BAA0B;QACxD,oCAAoC,EAAE,iDAAiD;QACvF,yBAAyB,EAAE,mDAAmD;QAC9E,4BAA4B,EAAE,oDAAoD;QAClF,kCAAkC,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/i18n/locales/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/m.js
CHANGED
|
@@ -374,7 +374,8 @@ async function main() {
|
|
|
374
374
|
const projectPkg = findProjectPackage(projectRoot);
|
|
375
375
|
const hasKysely = projectPkg?.dependencies?.kysely || projectPkg?.devDependencies?.kysely;
|
|
376
376
|
const hasViem = projectPkg?.dependencies?.viem || projectPkg?.devDependencies?.viem;
|
|
377
|
-
|
|
377
|
+
// App de contratos: `apps/contracts` (layout nuevo) o `apps/hardhat` (viejo).
|
|
378
|
+
const hasHardhat = ['contracts', 'hardhat'].some((app) => fs.existsSync(path.join(projectRoot, 'apps', app)))
|
|
378
379
|
|| fs.existsSync(path.join(projectRoot, 'hardhat'))
|
|
379
380
|
|| fs.existsSync(path.join(projectRoot, 'hardhat.config.ts'))
|
|
380
381
|
|| fs.existsSync(path.join(projectRoot, 'hardhat.config.js'));
|