@pasosdejesus/m 0.35.0 → 0.36.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/README.md CHANGED
@@ -33,7 +33,7 @@ credentials). The `usdt` payment engine lives in `@pasosdejesus/usdt`.
33
33
  | Scaffolding | `m:create`, `m:update` |
34
34
  | Database (PostgreSQL + Kysely) | `db:create`, `db:migrate`, `db:rollback`, `db:dump`, `db:restore`, `db:structure:dump/load`, `db:console`, `db:test`, `db:seed` |
35
35
  | Wallet (replaces `cast` on OpenBSD) | `eng:opwallet:generate`, `eng:opwallet:import`, `eng:opwallet:list`, `eng:opwallet:balance`, `eng:opwallet:send`, `eng:opwallet:approve`, `eng:opwallet:call`, `eng:opwallet:sign`, `eng:opwallet:broadcast`, `eng:opwallet:keccak`, `eng:opwallet:derive` — keys in `~/.m/wallets/` with `chmod 600` |
36
- | Contracts | `contract:test` (EVM via `@pasosdejesus/edr`, no native binaries) and `contract:checkdeploy` (deployment addresses and their use) |
36
+ | Contracts | `contract:test` (EVM via `@pasosdejesus/edr`, no native binaries), `contract:checkdeploy` (deployment addresses and their use) and `contract:compile` (solc/solc-js, no Hardhat) |
37
37
  | AI tooling | `ai:context`, `ai:readfile`, `ai:writefile`, `ai:edit`, `ai:grep`, `ai:glob` |
38
38
  | Requirements | `req:list`, `req:show`, `req:cross`, `req:compare`, `req:sync-from-repo`, `req:sync-to-repo`, `req:list-repo`, `req:create`, `req:close` |
39
39
  | Engines | `m:create engine`, `eng:list`, `eng:sync`, `eng:verify`, `eng:check`, `eng:setup`, `eng:wba:setup`, `eng:credentials:setup`, `eng:msip:setup`, `eng:msip:seed` |
package/dist/CHANGELOG.md CHANGED
@@ -2,6 +2,71 @@
2
2
 
3
3
  All notable changes to `@pasosdejesus/m` are documented in this file.
4
4
 
5
+ ## [Unreleased]
6
+
7
+ ### Added — `m:self-update` (**`m@0.36.0`**)
8
+
9
+ - Explicit command to install or refresh a user copy of the CLI in `M_DIR` (`~/.m-cli`): it installs
10
+ with npm into a temporary directory and swaps it atomically (old copy kept until the new one is
11
+ ready), always with `--ignore-scripts`; `--check` only asks npm, `--dry-run` prints the command,
12
+ `M_VERSION` pins the version.
13
+ - It never runs at startup and never replaces the packaged `m`: the adJ port installs
14
+ `/usr/local/bin/m` as a symlink to `dist/m.js`, with no wrapper or `m-cli` (REQ/18).
15
+
16
+ ### Added — `contract:compile` compiles without Hardhat (**`contract-test@0.2.0`**)
17
+
18
+ - New command that compiles the project's Solidity with the **solc-js of the pinned version** and
19
+ uses the **native `solc`** only when its version equals the pin (adJ 7.9 ships 0.8.37). It never
20
+ switches versions silently, resolves relative and `node_modules` imports (plus `remappings.txt`),
21
+ reads `contracts.config.json` or the `hardhat.config` `solidity` block, and writes Hardhat-shaped
22
+ artifacts (`_format: hh-sol-artifact-1`).
23
+ - **Solidity-only projects:** `<root>/contracts` is accepted (no `apps/`), and when there is no
24
+ `package.json`, `m` discovers its plugins from its own optional dependencies, so
25
+ `bin/m contract:compile` works in a directory that contains only Solidity. Verified with three
26
+ contracts and `contracts.config.json`.
27
+ - `contract-test` now depends on `solc` 0.8.26 (the template's pin), so compilation works out of
28
+ the box; a `solc` declared by the project takes precedence, and `--solc-js` accepts a soljson
29
+ build.
30
+ - Verified on `tests/test-project`: **43 contracts** (including OpenZeppelin) compiled with
31
+ solc-js 0.8.26 and the config's settings (`cancun`, optimizer 200, `viaIR`) without Hardhat.
32
+ `contract:test` still uses Hardhat to compile (phase 2 of REQ/52); typechain, deploy/verify/node
33
+ remain Hardhat for now.
34
+
35
+ ### Added — `solc` ↔ Hardhat parity harness (pre-work for [REQ/58](https://gitlab.com/pasosdeJesus/m/-/work_items/58))
36
+
37
+ - `packages/contract-test/scripts/solc-parity.mjs` (`pnpm --filter @pasosdejesus/contract-test
38
+ solc-parity`) compiles the same sources with Hardhat's solc-js and with a native `solc`
39
+ (`SOLC=/usr/local/bin/solc`), comparing ABI, selectors, storage layout, diagnostics and
40
+ metadata-stripped bytecode. Without a native compiler it uses solc-js 0.8.37, the version adJ
41
+ 7.9beta1 ships, and says so.
42
+ - `packages/contract-test/__tests__/solc-parity.test.ts`: 4 tests run today and the native block is
43
+ skipped until `solc` exists (same-version bytecode is required to match). DevDependencies:
44
+ `solc@0.8.26` (Hardhat) and the alias `solc037@npm:solc@0.8.37`.
45
+ - Baseline 2026-10-20: ABI, selectors and storage layout identical between 0.8.26 and 0.8.37;
46
+ deployed bytecode differs 0.8–3.1% (codegen). Documented in `doc/solc-parity.md`; REQ/58 §9 keeps
47
+ the pending run against the adJ binary.
48
+
49
+ ### Added — `EdrProvider.send()` and the Hardhat compatibility suite (**`edr@0.2.0`**)
50
+
51
+ - `EdrProvider` exposes `send(method, params)`, the JSON-RPC shape used by `hardhat-network-helpers`,
52
+ ethers and viem, dispatching to the existing `eth_*`/`evm_*` methods (`web3_clientVersion` answers
53
+ `edr-provider`; unknown methods throw).
54
+ - `packages/edr/__tests__/hardhat-compat.test.ts`: 14 tests ported from `hardhat-network-helpers`
55
+ (`takeSnapshot` ×3, `loadFixture` ×6 with ids as numbers and anonymous rejection) plus the
56
+ JSON-RPC surface and a five-cycle storage-persistence test with the compiled `Store.sol`
57
+ ([REQ/26](https://gitlab.com/pasosdeJesus/m/-/work_items/26) pattern).
58
+ - `packages/contract-test/__tests__/storage-persistence.test.ts`: two tests with the compiled
59
+ artifact, four snapshot/restore cycles and `eth_getStorageAt` agreement.
60
+
61
+ ### Fixed — `contract:checkdeploy` follows versions passed as parameters (**`contract-test@0.1.8`**)
62
+
63
+ - When the helper receives the version as a parameter (`vaultAddress(version, …)`, the learn.tg
64
+ pattern), the check now collects the literals the same file passes to that wrapper (`('V3', …)`,
65
+ `('V4', …)`, `('V5', …)`) and verifies each one against `deployments/`, instead of skipping the
66
+ coverage silently. Coverage is only reported when a concrete version can be inferred: if the
67
+ wrapper is never called with a literal (or the directory does not exist), it reports nothing rather
68
+ than guessing. Two tests cover both cases.
69
+
5
70
  ## [0.35.0] - 2026-10-20
6
71
 
7
72
  ### Changed — generated projects use `contract:test` and `contract:checkdeploy`
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,cAuN7B,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/i18n/locales/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,cAyN7B,CAAC"}
@@ -32,6 +32,7 @@ export const cliTranslations = {
32
32
  'cmd.update_description': 'Synchronizes the current project with template improvements (interactive)',
33
33
  'cmd.m_check_description': 'Checks the project layout (workspace, apps/web, apps/contracts, catalog) and reports findings (--json, --strict, --fix)',
34
34
  'cmd.m_man_description': 'Generates the mdoc manual page from the command registry (--out <file>)',
35
+ 'cmd.m_self_update_description': 'Installs/refreshes a user copy of the CLI in ~/.m-cli (--check, --dir, --version)',
35
36
  'cmd.ai_framework_description': 'Shows a manifest of christian alignment (randomly chosen)',
36
37
  'cmd.ai_verify_description': 'Generates a christological verification question',
37
38
  'cmd.ai_verify_answer_description': 'Responds to the christological verification question',
@@ -139,6 +140,7 @@ export const cliTranslations = {
139
140
  'cmd.update_description': 'Sincroniza el proyecto actual con las mejoras de las plantillas (interactivo)',
140
141
  'cmd.m_check_description': 'Verifica la estructura del proyecto (workspace, apps/web, apps/contracts, catalog) y reporta hallazgos (--json, --strict, --fix)',
141
142
  'cmd.m_man_description': 'Genera la página de manual en mdoc desde el registro de comandos (--out <archivo>)',
143
+ 'cmd.m_self_update_description': 'Instala/actualiza una copia del CLI en ~/.m-cli (--check, --dir, --version)',
142
144
  'cmd.ai_framework_description': 'Muestra un manifiesto de alineación cristiana (aleatorio)',
143
145
  'cmd.ai_verify_description': 'Genera una pregunta de verificación cristológica',
144
146
  'cmd.ai_verify_answer_description': 'Responde a la pregunta de verificación cristológica',
@@ -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,4CAA4C;QAChF,+BAA+B,EAAE,6CAA6C;QAC9E,+BAA+B,EAAE,2BAA2B;QAC5D,iCAAiC,EAAE,yBAAyB;QAC5D,wBAAwB,EAAE,uBAAuB;QACjD,wBAAwB,EAAE,2EAA2E;QACrG,yBAAyB,EAAE,yHAAyH;QACpJ,uBAAuB,EAAE,yEAAyE;QAClG,8BAA8B,EAAE,2DAA2D;QAC3F,2BAA2B,EAAE,kDAAkD;QAC/E,kCAAkC,EAAE,sDAAsD;QAC1F,4BAA4B,EAAE,6DAA6D;QAC3F,0BAA0B,EAAE,uDAAuD;QACnF,6BAA6B,EAAE,0DAA0D;QACzF,8BAA8B,EAAE,mDAAmD;QACnF,yBAAyB,EAAE,mCAAmC;QAC9D,0BAA0B,EAAE,+CAA+C;QAC3E,yBAAyB,EAAE,sCAAsC;QACjE,+BAA+B,EAAE,4FAA4F;QAC7H,0BAA0B,EAAE,6EAA6E;QACzG,2BAA2B,EAAE,0EAA0E;QACvG,0BAA0B,EAAE,4DAA4D;QACxF,0BAA0B,EAAE,+BAA+B;QAC3D,2BAA2B,EAAE,8CAA8C;QAC3E,6BAA6B,EAAE,sDAAsD;QACrF,oCAAoC,EAAE,qCAAqC;QAC3E,kCAAkC,EAAE,qCAAqC;QACzE,+BAA+B,EAAE,8CAA8C;QAC/E,4BAA4B,EAAE,6DAA6D;QAC3F,2BAA2B,EAAE,+DAA+D;QAC5F,6BAA6B,EAAE,iDAAiD;QAChF,wCAAwC,EAAE,qCAAqC;QAC/E,kCAAkC,EAAE,+BAA+B;QACnE,2CAA2C,EAAE,gCAAgC;QAC7E,6CAA6C,EAAE,uCAAuC;QACtF,4CAA4C,EAAE,sCAAsC;QACpF,0CAA0C,EAAE,yBAAyB;QACrE,wCAAwC,EAAE,8CAA8C;QACxF,+CAA+C,EAAE,mCAAmC;QACpF,0CAA0C,EAAE,+BAA+B;QAC3E,2CAA2C,EAAE,kCAAkC;QAC/E,wBAAwB,EAAE,8BAA8B;QACxD,mBAAmB,EAAE,0CAA0C;QAC/D,mBAAmB,EAAE,iEAAiE;QACtF,oBAAoB,EAAE,wCAAwC;QAC9D,2BAA2B,EAAE,iCAAiC;QAC9D,YAAY,EAAE,8BAA8B;QAC5C,oBAAoB,EAAE,UAAU;QAChC,qBAAqB,EAAE,WAAW;QAClC,yBAAyB,EAAE,2BAA2B;QACtD,sBAAsB,EAAE,0BAA0B;QAClD,uBAAuB,EAAE,0BAA0B;QACnD,uBAAuB,EAAE,sCAAsC;QAC/D,yBAAyB,EAAE,gCAAgC;QAC3D,uCAAuC,EAAE,qCAAqC;QAC9E,sCAAsC,EAAE,8BAA8B;QACtE,mCAAmC,EAAE,qBAAqB;QAC1D,qCAAqC,EAAE,8CAA8C;QACrF,mCAAmC,EAAE,wCAAwC;QAC7E,mCAAmC,EAAE,6BAA6B;QAClE,sCAAsC,EAAE,sBAAsB;QAC9D,qCAAqC,EAAE,qCAAqC;QAC5E,mCAAmC,EAAE,iCAAiC;QACtE,yBAAyB,EAAE,oBAAoB;QAC/C,+BAA+B,EAAE,4BAA4B;QAC7D,iCAAiC,EAAE,4BAA4B;QAC/D,uCAAuC,EAAE,mCAAmC;QAC5E,0BAA0B,EAAE,wBAAwB;QACpD,2BAA2B,EAAE,uBAAuB;QACpD,wCAAwC,EAAE,gCAAgC;QAC1E,qCAAqC,EAAE,qCAAqC;QAC5E,qBAAqB,EAAE,cAAc;QACrC,4BAA4B,EAAE,qBAAqB;QACnD,yBAAyB,EAAE,0BAA0B;QACrD,6BAA6B,EAAE,4BAA4B;QAC3D,qBAAqB,EAAE,0GAA0G;QACjI,kCAAkC,EAAE,gGAAgG;QACpI,wBAAwB,EAAE,qKAAqK;QAC/L,sBAAsB,EAAE,gEAAgE;QACxF,wBAAwB,EAAE,KAAK;QAC/B,4BAA4B,EAAE,sBAAsB;KACrD;IACD,EAAE,EAAE;QACF,2BAA2B,EAAE,uBAAuB;QACpD,yBAAyB,EAAE,0BAA0B;QACrD,qCAAqC,EAAE,4CAA4C;QACnF,mCAAmC,EAAE,0CAA0C;QAC/E,mCAAmC,EAAE,yCAAyC;QAC9E,4BAA4B,EAAE,6CAA6C;QAC3E,6BAA6B,EAAE,oCAAoC;QACnE,0BAA0B,EAAE,yDAAyD;QACrF,6BAA6B,EAAE,yDAAyD;QACxF,yBAAyB,EAAE,0BAA0B;QACrD,mCAAmC,EAAE,gFAAgF;QACrH,+BAA+B,EAAE,iEAAiE;QAClG,4BAA4B,EAAE,+EAA+E;QAC7G,0BAA0B,EAAE,yGAAyG;QACrI,4BAA4B,EAAE,gGAAgG;QAC9H,2BAA2B,EAAE,+GAA+G;QAC5I,0BAA0B,EAAE,kHAAkH;QAC9I,iCAAiC,EAAE,wGAAwG;QAC3I,gCAAgC,EAAE,2HAA2H;QAC7J,+BAA+B,EAAE,oIAAoI;QACrK,4BAA4B,EAAE,mCAAmC;QACjE,oCAAoC,EAAE,+DAA+D;QACrG,yBAAyB,EAAE,6DAA6D;QACxF,4BAA4B,EAAE,6DAA6D;QAC3F,kCAAkC,EAAE,sDAAsD;QAC1F,+BAA+B,EAAE,qEAAqE;QACtG,+BAA+B,EAAE,kCAAkC;QACnE,iCAAiC,EAAE,sCAAsC;QACzE,wBAAwB,EAAE,wBAAwB;QAClD,wBAAwB,EAAE,+EAA+E;QACzG,yBAAyB,EAAE,kIAAkI;QAC7J,uBAAuB,EAAE,oFAAoF;QAC7G,8BAA8B,EAAE,2DAA2D;QAC3F,2BAA2B,EAAE,kDAAkD;QAC/E,kCAAkC,EAAE,qDAAqD;QACzF,4BAA4B,EAAE,qEAAqE;QACnG,0BAA0B,EAAE,iEAAiE;QAC7F,6BAA6B,EAAE,+DAA+D;QAC9F,8BAA8B,EAAE,+DAA+D;QAC/F,yBAAyB,EAAE,gCAAgC;QAC3D,0BAA0B,EAAE,6CAA6C;QACzE,yBAAyB,EAAE,kCAAkC;QAC7D,+BAA+B,EAAE,6FAA6F;QAC9H,0BAA0B,EAAE,oFAAoF;QAChH,2BAA2B,EAAE,0EAA0E;QACvG,0BAA0B,EAAE,yDAAyD;QACrF,0BAA0B,EAAE,kCAAkC;QAC9D,2BAA2B,EAAE,gDAAgD;QAC7E,6BAA6B,EAAE,oDAAoD;QACnF,oCAAoC,EAAE,wCAAwC;QAC9E,kCAAkC,EAAE,wCAAwC;QAC5E,+BAA+B,EAAE,8CAA8C;QAC/E,4BAA4B,EAAE,uDAAuD;QACrF,2BAA2B,EAAE,iEAAiE;QAC9F,6BAA6B,EAAE,sDAAsD;QACrF,wCAAwC,EAAE,wCAAwC;QAClF,kCAAkC,EAAE,sCAAsC;QAC1E,2CAA2C,EAAE,sCAAsC;QACnF,6CAA6C,EAAE,4CAA4C;QAC3F,4CAA4C,EAAE,0CAA0C;QACxF,0CAA0C,EAAE,kCAAkC;QAC9E,wCAAwC,EAAE,wDAAwD;QAClG,+CAA+C,EAAE,wCAAwC;QACzF,0CAA0C,EAAE,oCAAoC;QAChF,2CAA2C,EAAE,qCAAqC;QAClF,wBAAwB,EAAE,+BAA+B;QACzD,mBAAmB,EAAE,uCAAuC;QAC5D,mBAAmB,EAAE,6DAA6D;QAClF,oBAAoB,EAAE,wCAAwC;QAC9D,2BAA2B,EAAE,iCAAiC;QAC9D,YAAY,EAAE,2BAA2B;QACzC,oBAAoB,EAAE,WAAW;QACjC,qBAAqB,EAAE,UAAU;QACjC,yBAAyB,EAAE,8BAA8B;QACzD,sBAAsB,EAAE,gCAAgC;QACxD,uBAAuB,EAAE,4BAA4B;QACrD,uBAAuB,EAAE,0CAA0C;QACnE,yBAAyB,EAAE,oCAAoC;QAC/D,uCAAuC,EAAE,6CAA6C;QACtF,sCAAsC,EAAE,8BAA8B;QACtE,mCAAmC,EAAE,8BAA8B;QACnE,qCAAqC,EAAE,0DAA0D;QACjG,mCAAmC,EAAE,2CAA2C;QAChF,mCAAmC,EAAE,8BAA8B;QACnE,sCAAsC,EAAE,6BAA6B;QACrE,qCAAqC,EAAE,0CAA0C;QACjF,mCAAmC,EAAE,sCAAsC;QAC3E,yBAAyB,EAAE,mBAAmB;QAC9C,+BAA+B,EAAE,gCAAgC;QACjE,iCAAiC,EAAE,2BAA2B;QAC9D,uCAAuC,EAAE,wCAAwC;QACjF,0BAA0B,EAAE,2BAA2B;QACvD,2BAA2B,EAAE,8BAA8B;QAC3D,wCAAwC,EAAE,mCAAmC;QAC7E,qCAAqC,EAAE,qCAAqC;QAC5E,qBAAqB,EAAE,qBAAqB;QAC5C,4BAA4B,EAAE,0BAA0B;QACxD,yBAAyB,EAAE,qCAAqC;QAChE,6BAA6B,EAAE,wCAAwC;QACvE,qBAAqB,EAAE,wGAAwG;QAC/H,kCAAkC,EAAE,0GAA0G;QAC9I,wBAAwB,EAAE,qKAAqK;QAC/L,sBAAsB,EAAE,+DAA+D;QACvF,wBAAwB,EAAE,KAAK;QAC/B,4BAA4B,EAAE,wBAAwB;KACvD;CACF,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/i18n/locales/cli.ts"],"names":[],"mappings":"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"}
package/dist/m.js CHANGED
@@ -10,6 +10,7 @@ import * as dotenv from 'dotenv';
10
10
  import * as path from 'path';
11
11
  import * as fs from 'fs';
12
12
  import * as readline from 'node:readline';
13
+ import { fileURLToPath } from 'node:url';
13
14
  import { runDbCreate, runDbDrop, runDbSuperCreateUser, runDbStructureDump, runDbStructureLoad, runDbMigrate, runDbRollback, runDbSeed, runDbConsole, runDbMigMake, runDbTestConnection, runDbDump, runDbRestore } from './tasks/db.js';
14
15
  import { runAiContext } from './tasks/context.js';
15
16
  import { runBaseModelBaseline, runBaseModelDump, runBaseModelVerify, runBaseModelSetup, runBaseModelSeed } from './tasks/msip.js';
@@ -85,6 +86,13 @@ async function loadPlugins() {
85
86
  candidates.push(pkg);
86
87
  }
87
88
  }
89
+ // Solidity-only projects have no package.json of their own: m's optional
90
+ // dependencies (contract-test, edr) act as the plugins.
91
+ if (candidates.length === 0) {
92
+ const own = path.join(path.dirname(fileURLToPath(import.meta.url)), '..', 'package.json');
93
+ if (fs.existsSync(own))
94
+ candidates.push(own);
95
+ }
88
96
  for (const pkg of [...new Set(candidates)]) {
89
97
  await loadEnginePackages(pkg);
90
98
  }
@@ -389,6 +397,13 @@ async function main() {
389
397
  },
390
398
  description: cliT('cmd.m_man_description'), argOptional: true, argName: '--out <file>'
391
399
  };
400
+ commands['m:self-update'] = {
401
+ handler: async () => {
402
+ const { runSelfUpdate } = await import('./tasks/self-update.js');
403
+ runSelfUpdate(process.argv.slice(3));
404
+ },
405
+ description: cliT('cmd.m_self_update_description'), argOptional: true, argName: '--check'
406
+ };
392
407
  // ── Help ──
393
408
  function showVersion() {
394
409
  const pkg = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf-8'));
@@ -423,7 +438,7 @@ async function main() {
423
438
  'AI': ['ai:context', 'ai:edit', 'ai:readfile', 'ai:writefile', 'ai:grep', 'ai:glob'],
424
439
  'ENV': ['env:diff', 'env:check'],
425
440
  'Project': ['m:create', 'm:update', 'm:check'],
426
- 'Help': ['m:man'],
441
+ 'Help': ['m:man', 'm:self-update'],
427
442
  'Test': ['test:e2e', 'test:e2e:summary', 'warmup'],
428
443
  };
429
444
  if (hasHardhat)
package/dist/m.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"m.js","sourceRoot":"","sources":["../src/m.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"m.js","sourceRoot":"","sources":["../src/m.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export declare const PACKAGE = "@pasosdejesus/m";
2
+ export interface SelfUpdateOptions {
3
+ dir: string;
4
+ version: string;
5
+ check: boolean;
6
+ dryRun: boolean;
7
+ }
8
+ export interface NpmResult {
9
+ status: number;
10
+ stdout: string;
11
+ stderr: string;
12
+ }
13
+ export type NpmRunner = (args: string[]) => NpmResult;
14
+ export declare function currentVersion(): string;
15
+ /** Semver comparison for the `--check` report (`1` when a > b). */
16
+ export declare function compareVersions(a: string, b: string): number;
17
+ export declare function resolveTargetDir(env?: NodeJS.ProcessEnv): string;
18
+ export declare function targetVersion(env?: NodeJS.ProcessEnv): string;
19
+ export declare function parseSelfUpdateArgs(args: string[], env?: NodeJS.ProcessEnv): SelfUpdateOptions;
20
+ export declare function installedVersion(dir: string): string | null;
21
+ export declare function lastUpdate(dir: string): number;
22
+ export declare function defaultNpmRunner(): NpmRunner;
23
+ /**
24
+ * Installs `version` into `<dir>/node_modules` atomically. The previous copy is
25
+ * kept until the new one is in place, so an interrupted run never leaves a
26
+ * half-written CLI.
27
+ */
28
+ export declare function performSelfUpdate(options: SelfUpdateOptions, npm?: NpmRunner): string;
29
+ export declare function runSelfUpdate(args?: string[]): void;
30
+ //# sourceMappingURL=self-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-update.d.ts","sourceRoot":"","sources":["../../src/tasks/self-update.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,OAAO,oBAAoB,CAAA;AAExC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAS,CAAA;AAErD,wBAAgB,cAAc,IAAI,MAAM,CAOvC;AAED,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAe5D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE7E;AAED,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,iBAAiB,CAe3G;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED,wBAAgB,gBAAgB,IAAI,SAAS,CAQ5C;AAUD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,GAAE,SAA8B,GAAG,MAAM,CAkEzG;AAED,wBAAgB,aAAa,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,IAAI,CAyB1E"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * m:self-update — install/refresh a user copy of the CLI.
3
+ *
4
+ * The packaged `m` (adJ port, npm global, symlink to dist/m.js) never updates
5
+ * itself: updates belong to the package manager. This command is the explicit
6
+ * escape hatch for users who want a newer copy under M_DIR (~/.m-cli):
7
+ * it installs with npm into a temporary directory and swaps it atomically,
8
+ * without running lifecycle scripts.
9
+ *
10
+ * https://gitlab.com/pasosdeJesus/m/-/work_items/18
11
+ */
12
+ import * as fs from 'fs';
13
+ import * as os from 'os';
14
+ import * as path from 'path';
15
+ import { spawnSync } from 'child_process';
16
+ import { info, success, problem, warn } from '../util/colors.js';
17
+ export const PACKAGE = '@pasosdejesus/m';
18
+ export function currentVersion() {
19
+ try {
20
+ const pkg = JSON.parse(fs.readFileSync(new URL('../../package.json', import.meta.url), 'utf-8'));
21
+ return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
22
+ }
23
+ catch {
24
+ return '0.0.0';
25
+ }
26
+ }
27
+ /** Semver comparison for the `--check` report (`1` when a > b). */
28
+ export function compareVersions(a, b) {
29
+ const parse = (value) => {
30
+ const [core, prerelease] = value.replace(/^v/, '').split('-', 2);
31
+ return { parts: core.split('.').map((part) => Number.parseInt(part, 10) || 0), prerelease };
32
+ };
33
+ const left = parse(a);
34
+ const right = parse(b);
35
+ for (let index = 0; index < 3; index++) {
36
+ const difference = (left.parts[index] ?? 0) - (right.parts[index] ?? 0);
37
+ if (difference !== 0)
38
+ return difference > 0 ? 1 : -1;
39
+ }
40
+ if (left.prerelease === right.prerelease)
41
+ return 0;
42
+ if (left.prerelease === undefined)
43
+ return 1;
44
+ if (right.prerelease === undefined)
45
+ return -1;
46
+ return left.prerelease > right.prerelease ? 1 : -1;
47
+ }
48
+ export function resolveTargetDir(env = process.env) {
49
+ return env.M_DIR || path.join(os.homedir(), '.m-cli');
50
+ }
51
+ export function targetVersion(env = process.env) {
52
+ return env.M_VERSION || 'latest';
53
+ }
54
+ export function parseSelfUpdateArgs(args, env = process.env) {
55
+ const options = {
56
+ dir: resolveTargetDir(env),
57
+ version: targetVersion(env),
58
+ check: false,
59
+ dryRun: false,
60
+ };
61
+ for (let index = 0; index < args.length; index++) {
62
+ const arg = args[index];
63
+ if (arg === '--check')
64
+ options.check = true;
65
+ else if (arg === '--dry-run')
66
+ options.dryRun = true;
67
+ else if (arg === '--dir')
68
+ options.dir = args[++index] ?? options.dir;
69
+ else if (arg === '--version')
70
+ options.version = args[++index] ?? options.version;
71
+ }
72
+ return options;
73
+ }
74
+ export function installedVersion(dir) {
75
+ try {
76
+ const pkg = JSON.parse(fs.readFileSync(path.join(dir, 'node_modules', '@pasosdejesus', 'm', 'package.json'), 'utf-8'));
77
+ return typeof pkg.version === 'string' ? pkg.version : null;
78
+ }
79
+ catch {
80
+ return null;
81
+ }
82
+ }
83
+ export function lastUpdate(dir) {
84
+ try {
85
+ const value = Number(fs.readFileSync(path.join(dir, '.actualizado'), 'utf-8'));
86
+ return Number.isFinite(value) ? value : 0;
87
+ }
88
+ catch {
89
+ return 0;
90
+ }
91
+ }
92
+ export function defaultNpmRunner() {
93
+ return (args) => {
94
+ const result = spawnSync('npm', args, { encoding: 'utf-8' });
95
+ if (result.error) {
96
+ return { status: 1, stdout: result.stdout ?? '', stderr: result.error.message };
97
+ }
98
+ return { status: result.status ?? 1, stdout: result.stdout ?? '', stderr: result.stderr ?? '' };
99
+ };
100
+ }
101
+ function removeDir(dir) {
102
+ try {
103
+ fs.rmSync(dir, { recursive: true, force: true });
104
+ }
105
+ catch {
106
+ // Best effort.
107
+ }
108
+ }
109
+ /**
110
+ * Installs `version` into `<dir>/node_modules` atomically. The previous copy is
111
+ * kept until the new one is in place, so an interrupted run never leaves a
112
+ * half-written CLI.
113
+ */
114
+ export function performSelfUpdate(options, npm = defaultNpmRunner()) {
115
+ const dir = path.resolve(options.dir);
116
+ const parent = path.dirname(dir);
117
+ fs.mkdirSync(parent, { recursive: true });
118
+ if (options.check) {
119
+ const result = npm(['view', PACKAGE, 'version']);
120
+ if (result.status !== 0) {
121
+ throw new Error(`npm view failed: ${result.stderr.trim() || result.stdout.trim()}`);
122
+ }
123
+ return result.stdout.trim();
124
+ }
125
+ const lock = `${dir}.lock`;
126
+ try {
127
+ fs.mkdirSync(lock);
128
+ }
129
+ catch {
130
+ throw new Error(`another update is running (${lock} exists); remove it if it is stale`);
131
+ }
132
+ const stamp = `${process.pid}-${Date.now()}`;
133
+ const tmp = `${dir}.tmp-${stamp}`;
134
+ const backup = `${dir}.old-${stamp}`;
135
+ try {
136
+ if (options.dryRun) {
137
+ info(`[dry-run] npm install --prefix ${tmp} --ignore-scripts ${PACKAGE}@${options.version}`);
138
+ return tmp;
139
+ }
140
+ const result = npm([
141
+ 'install',
142
+ '--prefix',
143
+ tmp,
144
+ '--no-fund',
145
+ '--no-audit',
146
+ '--ignore-scripts',
147
+ '--no-save',
148
+ `${PACKAGE}@${options.version}`,
149
+ ]);
150
+ if (result.status !== 0) {
151
+ throw new Error(`npm install failed: ${result.stderr.trim() || result.stdout.trim()}`);
152
+ }
153
+ const version = installedVersion(tmp);
154
+ if (!version)
155
+ throw new Error(`npm install did not create ${path.join(tmp, 'node_modules', PACKAGE)}`);
156
+ if (fs.existsSync(dir))
157
+ fs.renameSync(dir, backup);
158
+ try {
159
+ fs.renameSync(tmp, dir);
160
+ }
161
+ catch (error) {
162
+ if (fs.existsSync(backup))
163
+ fs.renameSync(backup, dir);
164
+ throw error;
165
+ }
166
+ removeDir(backup);
167
+ fs.writeFileSync(path.join(dir, '.actualizado'), String(Math.floor(Date.now() / 1000)));
168
+ fs.writeFileSync(path.join(dir, '.version'), version);
169
+ return version;
170
+ }
171
+ finally {
172
+ removeDir(tmp);
173
+ try {
174
+ fs.rmdirSync(lock);
175
+ }
176
+ catch {
177
+ // Already removed.
178
+ }
179
+ }
180
+ }
181
+ export function runSelfUpdate(args = process.argv.slice(3)) {
182
+ const options = parseSelfUpdateArgs(args);
183
+ const running = currentVersion();
184
+ const installed = installedVersion(options.dir);
185
+ try {
186
+ if (options.check) {
187
+ const latest = performSelfUpdate(options);
188
+ info(`CLI en ejecución: ${running}`);
189
+ info(`copia en ${options.dir}: ${installed ?? '(ninguna)'}`);
190
+ info(`última en npm: ${latest}`);
191
+ const newest = Math.max(compareVersions(latest, running), installed ? compareVersions(latest, installed) : -1);
192
+ if (newest > 0)
193
+ warn(` [WARN] hay una versión más nueva (${latest}); corré m:self-update`);
194
+ else
195
+ success(' [OK] al día (la copia en ejecución no es más vieja que npm)');
196
+ return;
197
+ }
198
+ const version = performSelfUpdate(options);
199
+ success(` [OK] ${PACKAGE}@${version} instalado en ${options.dir}`);
200
+ info(`Para usarlo: node ${path.join(options.dir, 'node_modules', PACKAGE, 'dist', 'm.js')}`);
201
+ info('El comando m del sistema no cambia: las actualizaciones del paquete las hace el gestor de paquetes.');
202
+ }
203
+ catch (error) {
204
+ problem(error instanceof Error ? error.message : String(error));
205
+ process.exitCode = 1;
206
+ }
207
+ }
208
+ //# sourceMappingURL=self-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self-update.js","sourceRoot":"","sources":["../../src/tasks/self-update.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,12 @@ export { discoverEngines };
16
16
  * convention nor `mEngine` flag is needed: the file is the marker.
17
17
  */
18
18
  export declare function isEnginePackage(name: string, nodeModulesDir: string): boolean;
19
+ /**
20
+ * Finds the directory of an engine package even when npm/pnpm hoisted it to a
21
+ * parent `node_modules` (the packaged/global `m` case, where `contract-test`
22
+ * lives next to `m` instead of inside `m/node_modules`).
23
+ */
24
+ export declare function enginePackageDir(name: string, projectRequire: ReturnType<typeof createRequire>, nodeModulesDir: string): string | null;
19
25
  /**
20
26
  * Resolve a plugin package's entry point relative to the consumer project.
21
27
  * Prefers Node's own resolution; falls back to reading `exports`/`main` for
@@ -1 +1 @@
1
- {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../../src/util/engines.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAK3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,CAAA;AAE1B;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAChD,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAiBf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS9E;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAIvF"}
1
+ {"version":3,"file":"engines.d.ts","sourceRoot":"","sources":["../../src/util/engines.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAK3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAGxD,OAAO,EAAE,eAAe,EAAE,CAAA;AAE1B;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAChD,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAmBf;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,EAChD,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,IAAI,CAiBf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BvE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS9E;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAIvF"}
@@ -8,7 +8,7 @@
8
8
  * "Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23)
9
9
  */
10
10
  import { createRequire } from 'node:module';
11
- import { dirname, join } from 'node:path';
11
+ import { dirname, join, sep as pathSep } from 'node:path';
12
12
  import { pathToFileURL } from 'node:url';
13
13
  import { existsSync, readFileSync } from 'node:fs';
14
14
  import { discoverEngines } from '../compose/discover.js';
@@ -21,6 +21,35 @@ export { discoverEngines };
21
21
  export function isEnginePackage(name, nodeModulesDir) {
22
22
  return existsSync(join(nodeModulesDir, name, 'm-engine.json'));
23
23
  }
24
+ /**
25
+ * Finds the directory of an engine package even when npm/pnpm hoisted it to a
26
+ * parent `node_modules` (the packaged/global `m` case, where `contract-test`
27
+ * lives next to `m` instead of inside `m/node_modules`).
28
+ */
29
+ export function enginePackageDir(name, projectRequire, nodeModulesDir) {
30
+ try {
31
+ const pkgJson = projectRequire.resolve(`${name}/package.json`);
32
+ const dir = dirname(pkgJson);
33
+ if (existsSync(join(dir, 'm-engine.json')))
34
+ return dir;
35
+ }
36
+ catch {
37
+ // exports map without ./package.json, or not resolvable from here
38
+ }
39
+ try {
40
+ let dir = dirname(projectRequire.resolve(name));
41
+ for (let level = 0; level < 4; level++) {
42
+ if (existsSync(join(dir, 'm-engine.json')) && existsSync(join(dir, 'package.json')))
43
+ return dir;
44
+ dir = dirname(dir);
45
+ }
46
+ }
47
+ catch {
48
+ // ESM-only package without a require condition; the path fallback below applies
49
+ }
50
+ const direct = join(nodeModulesDir, name);
51
+ return existsSync(join(direct, 'm-engine.json')) ? direct : null;
52
+ }
24
53
  /**
25
54
  * Resolve a plugin package's entry point relative to the consumer project.
26
55
  * Prefers Node's own resolution; falls back to reading `exports`/`main` for
@@ -61,18 +90,22 @@ export async function loadEnginePackages(pkgFile) {
61
90
  }
62
91
  const projectRequire = createRequire(pkgFile);
63
92
  const nodeModulesDir = join(dirname(pkgFile), 'node_modules');
64
- const deps = { ...pkg.dependencies, ...pkg.devDependencies };
93
+ const deps = { ...pkg.dependencies, ...pkg.devDependencies, ...pkg.optionalDependencies };
65
94
  for (const [name] of Object.entries(deps)) {
66
- if (isEnginePackage(name, nodeModulesDir)) {
67
- try {
68
- const entry = resolveEngineEntry(name, projectRequire, nodeModulesDir);
69
- if (entry)
70
- await import(pathToFileURL(entry).href);
71
- }
72
- catch (error) {
73
- const reason = error instanceof Error ? error.message : String(error);
74
- warn(`[plugin] ${name}: declared with m-engine.json but could not be loaded (${reason})`);
75
- }
95
+ const dir = enginePackageDir(name, projectRequire, nodeModulesDir);
96
+ if (!dir)
97
+ continue;
98
+ try {
99
+ const resolvedNodeModules = dir.endsWith(`${pathSep}${name}`)
100
+ ? dir.slice(0, dir.length - name.length - 1)
101
+ : nodeModulesDir;
102
+ const entry = resolveEngineEntry(name, projectRequire, resolvedNodeModules);
103
+ if (entry)
104
+ await import(pathToFileURL(entry).href);
105
+ }
106
+ catch (error) {
107
+ const reason = error instanceof Error ? error.message : String(error);
108
+ warn(`[plugin] ${name}: declared with m-engine.json but could not be loaded (${reason})`);
76
109
  }
77
110
  }
78
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engines.js","sourceRoot":"","sources":["../../src/util/engines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engines.js","sourceRoot":"","sources":["../../src/util/engines.ts"],"names":[],"mappings":"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"}
package/man/man1/m.1 CHANGED
@@ -1,5 +1,5 @@
1
1
  .\" $OpenBSD$
2
- .Dd $Mdocdate: October 20 2026 $
2
+ .Dd $Mdocdate: October 21 2026 $
3
3
  .Dt M 1
4
4
  .Os
5
5
  .Sh NAME
@@ -56,6 +56,9 @@ apps/contracts, catalog) y reporta hallazgos (--json, --strict, --fix)
56
56
  .It Cm m:man Op Ar --out <file>
57
57
  Genera la página de manual en mdoc desde el registro de comandos (--out
58
58
  <archivo>)
59
+ .It Cm m:self-update Op Ar --check
60
+ Instala/actualiza una copia del CLI en ~/.m-cli (--check, --dir,
61
+ --version)
59
62
  .El
60
63
  .Ss Test
61
64
  .Bl -tag -width Ds
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pasosdejesus/m",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "Motor para crear y gestionar proyectos al estilo Pasos de Jesus.",
5
5
  "author": "",
6
6
  "license": "ISC",
@@ -142,8 +142,8 @@
142
142
  "picocolors": "^1.1.1"
143
143
  },
144
144
  "optionalDependencies": {
145
- "@pasosdejesus/contract-test": "0.1.7",
146
- "@pasosdejesus/edr": "0.1.2"
145
+ "@pasosdejesus/contract-test": "0.2.0",
146
+ "@pasosdejesus/edr": "0.2.0"
147
147
  },
148
148
  "devDependencies": {
149
149
  "@pasosdejesus/msip": "1.1.0",