@pasosdejesus/m 0.33.0 → 0.34.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/tasks/create.ts"],"names":[],"mappings":"AAqCA;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMjF;AAqBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,iBAsHjD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,iBAuC1F"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/tasks/create.ts"],"names":[],"mappings":"AAiDA;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMjF;AAqBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,iBAsHjD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,iBA4C1F"}
@@ -1,5 +1,6 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
+ import { spawnSync } from 'node:child_process';
3
4
  import { fileURLToPath } from 'url';
4
5
  import { dirname } from 'path';
5
6
  import { problem, success } from '../util/colors.js';
@@ -14,14 +15,25 @@ const t = createTranslator(detectLocale(), {
14
15
  'create.file_added': 'Added {{0}}',
15
16
  'create.error': 'Error creating project: {{0}}',
16
17
  'create.done': 'Project created successfully.',
18
+ 'create.pnpm_missing': 'pnpm is not in PATH. Generated projects use pnpm {{0}}: install it with `npm i -g pnpm@{{0}}` (or `corepack enable`).',
17
19
  },
18
20
  es: {
19
21
  'create.generating': 'Generando proyecto en {{0}}...',
20
22
  'create.file_added': 'Agregado {{0}}',
21
23
  'create.error': 'Error al crear el proyecto: {{0}}',
22
24
  'create.done': 'Proyecto creado exitosamente.',
25
+ 'create.pnpm_missing': 'pnpm no está en PATH. Los proyectos generados usan pnpm {{0}}: instálalo con `npm i -g pnpm@{{0}}` (o `corepack enable`).',
23
26
  },
24
27
  }, commonCli);
28
+ function templatePnpmVersion() {
29
+ try {
30
+ const pkg = JSON.parse(fs.readFileSync(path.join(getTemplateDir(), 'package.json.hbs'), 'utf-8'));
31
+ return String(pkg.packageManager ?? 'pnpm@11').replace(/^pnpm@/, '');
32
+ }
33
+ catch {
34
+ return '11';
35
+ }
36
+ }
25
37
  function getTemplateDir() {
26
38
  // __dirname is dist/tasks/ in the npm package; dist/templates/ is where build copies templates
27
39
  const distTemplates = path.join(__dirname, '..', 'templates');
@@ -188,6 +200,10 @@ export async function runCreateProject(name, description, baseDir) {
188
200
  const templateDir = getTemplateDir();
189
201
  const cwd = baseDir ?? process.cwd();
190
202
  const destDir = path.resolve(cwd, name);
203
+ if (spawnSync('pnpm', ['--version'], { stdio: 'ignore' }).status !== 0) {
204
+ problem(t('create.pnpm_missing', templatePnpmVersion()));
205
+ process.exit(1);
206
+ }
191
207
  if (fs.existsSync(destDir)) {
192
208
  problem(t('create.error', `Directory ${name} already exists`));
193
209
  process.exit(1);
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/tasks/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/tasks/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface ManCommand {
2
+ description: string;
3
+ argRequired?: boolean;
4
+ argOptional?: boolean;
5
+ argName?: string;
6
+ }
7
+ export interface ManCatalog {
8
+ commands: Record<string, ManCommand>;
9
+ categories: Record<string, string[]>;
10
+ }
11
+ export declare function generateMdoc(catalog: ManCatalog, version: string, date?: Date): string;
12
+ export declare function runMan(catalog: ManCatalog, args?: string[]): Promise<void>;
13
+ //# sourceMappingURL=man.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"man.d.ts","sourceRoot":"","sources":["../../src/tasks/man.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACrC;AA0BD,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,OAAa,GAAG,MAAM,CAoE5F;AAED,wBAAsB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpF"}
@@ -0,0 +1,82 @@
1
+ import fs from 'fs';
2
+ import { parseFlags } from '../util/cli-parser.js';
3
+ import { info, success } from '../util/colors.js';
4
+ function esc(text) {
5
+ const escaped = text.replace(/\\/g, '\\e').replace(/OpenBSD/g, 'Open\\&BSD');
6
+ return escaped.startsWith('.') || escaped.startsWith("'") ? `\\&${escaped}` : escaped;
7
+ }
8
+ const bytes = (text) => Buffer.byteLength(text, 'utf-8');
9
+ function wrap(text, width = 72) {
10
+ const words = text.split(/\s+/).filter(Boolean);
11
+ const lines = [];
12
+ let line = '';
13
+ for (const word of words) {
14
+ if (!line)
15
+ line = word;
16
+ else if (bytes(line) + 1 + bytes(word) <= width)
17
+ line += ` ${word}`;
18
+ else {
19
+ lines.push(line);
20
+ line = word;
21
+ }
22
+ }
23
+ if (line)
24
+ lines.push(line);
25
+ return lines;
26
+ }
27
+ function textLines(text) {
28
+ return text.split(/(?<=[.!?])\s+/).flatMap((sentence) => wrap(esc(sentence)));
29
+ }
30
+ export function generateMdoc(catalog, version, date = new Date()) {
31
+ const dd = date.toLocaleDateString('en-US', { month: 'long', day: 'numeric', year: 'numeric' }).replace(',', '');
32
+ const lines = [
33
+ '.\\" $OpenBSD$',
34
+ `.Dd $Mdocdate: ${dd} $`,
35
+ '.Dt M 1',
36
+ '.Os',
37
+ '.Sh NAME',
38
+ '.Nm m',
39
+ '.Nd CLI for Next.js and Hardhat projects',
40
+ '.Sh SYNOPSIS',
41
+ '.Nm',
42
+ '.Op Fl Vh',
43
+ '.Ar command',
44
+ '.Op Ar args ...',
45
+ '.Sh DESCRIPTION',
46
+ 'The',
47
+ '.Nm',
48
+ ...textLines('command scaffolds and manages integrated Next.js and Hardhat applications: projects (m:create, m:update, m:check), databases, engines, wallets, end-to-end tests and environment checks.'),
49
+ '.Sh COMMANDS',
50
+ ];
51
+ for (const [category, names] of Object.entries(catalog.categories)) {
52
+ const present = names.filter((name) => catalog.commands[name]);
53
+ if (present.length === 0)
54
+ continue;
55
+ lines.push(`.Ss ${category}`, '.Bl -tag -width Ds');
56
+ for (const name of present) {
57
+ const command = catalog.commands[name];
58
+ let head = `.It Cm ${name}`;
59
+ if (command.argRequired)
60
+ head += ` Ar ${command.argName ?? 'name'}`;
61
+ else if (command.argOptional)
62
+ head += ` Op Ar ${command.argName ?? 'output'}`;
63
+ lines.push(head, ...textLines(command.description));
64
+ }
65
+ lines.push('.El');
66
+ }
67
+ lines.push('.Sh ENVIRONMENT', '.Bl -tag -width Ds', '.It Ev PGUSER , Ev PGPASSWORD , Ev PGDATABASE', 'PostgreSQL connection for the database commands and the test project.', '.It Ev E2E_RETRIES', 'Default retry count for', '.Cm test:e2e .', '.It Ev E2E_LOG_DIR', 'Directory for the E2E logs (default', '.Pa /tmp ) .', '.It Ev E2E_SPEC_DELAY_MS', 'Delay between specs during an E2E run.', '.El', '.Sh FILES', '.Bl -tag -width Ds', '.It Pa .env', 'Project environment (consumers keep it in', '.Pa apps/.env ) .', '.It Pa ~/.m/wallets/', 'Encrypted operator wallets written by', '.Cm eng:opwallet:* .', '.It Pa m-extensions/', 'Project-specific hooks loaded by the CLI.', '.El', '.Sh EXIT STATUS', '.Ex -std', '.Sh SEE ALSO', '.Xr sh 1');
68
+ return `${lines.join('\n')}\n`;
69
+ }
70
+ export async function runMan(catalog, args = []) {
71
+ const { options } = parseFlags(args, { out: { type: 'string' } });
72
+ const pkg = JSON.parse(fs.readFileSync(new URL('../../package.json', import.meta.url), 'utf-8'));
73
+ const mdoc = generateMdoc(catalog, pkg.version ?? '0.0.0');
74
+ if (typeof options.out === 'string' && options.out.length > 0) {
75
+ fs.writeFileSync(options.out, mdoc);
76
+ success(`Man page written to ${options.out}`);
77
+ return;
78
+ }
79
+ info('Man page (mdoc):');
80
+ console.log(mdoc);
81
+ }
82
+ //# sourceMappingURL=man.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"man.js","sourceRoot":"","sources":["../../src/tasks/man.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,13 @@ export declare function readProjectIdentity(projectRoot: string): {
14
14
  name: string;
15
15
  description: string;
16
16
  };
17
+ /**
18
+ * The recommended layout uses `apps/web` and `apps/contracts`, but a project
19
+ * created with the old template still has `apps/nextjs` and `apps/hardhat`.
20
+ * Map a template path onto the directory that exists in the project, so
21
+ * `m:update` edits the real app instead of creating a second tree.
22
+ */
23
+ export declare function resolveProjectRelPath(projectRoot: string, relPath: string): string;
17
24
  export declare function runUpdate(options?: {
18
25
  check?: boolean;
19
26
  yes?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/tasks/update.ts"],"names":[],"mappings":"AA0CA,wBAAgB,cAAc,IAAI,MAAM,CAYvC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAoB9F;AAmDD,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,iBAiH3E"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/tasks/update.ts"],"names":[],"mappings":"AA0CA,wBAAgB,cAAc,IAAI,MAAM,CAYvC;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAErD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAKvD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAoB9F;AAyCD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CASlF;AAcD,wBAAsB,SAAS,CAAC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,iBAmH3E"}
@@ -125,6 +125,26 @@ async function mergePackageJson(projectPath, templatePath) {
125
125
  }
126
126
  fs.writeFileSync(projectPath, JSON.stringify(projectPkg, null, 2), 'utf-8');
127
127
  }
128
+ const LEGACY_APPS = { web: 'nextjs', contracts: 'hardhat' };
129
+ /**
130
+ * The recommended layout uses `apps/web` and `apps/contracts`, but a project
131
+ * created with the old template still has `apps/nextjs` and `apps/hardhat`.
132
+ * Map a template path onto the directory that exists in the project, so
133
+ * `m:update` edits the real app instead of creating a second tree.
134
+ */
135
+ export function resolveProjectRelPath(projectRoot, relPath) {
136
+ const parts = relPath.split('/');
137
+ if (parts[0] !== 'apps' || parts.length < 2)
138
+ return relPath;
139
+ const legacy = LEGACY_APPS[parts[1]];
140
+ if (!legacy)
141
+ return relPath;
142
+ const recommendedDir = path.join(projectRoot, 'apps', parts[1]);
143
+ const legacyDir = path.join(projectRoot, 'apps', legacy);
144
+ if (fs.existsSync(recommendedDir) || !fs.existsSync(legacyDir))
145
+ return relPath;
146
+ return ['apps', legacy, ...parts.slice(2)].join('/');
147
+ }
128
148
  function findProjectRoot(startDir) {
129
149
  let current = startDir;
130
150
  while (current !== path.parse(current).root) {
@@ -158,8 +178,10 @@ export async function runUpdate(options) {
158
178
  // Keep `.env.example` (a template) but not real env files or the lockfile.
159
179
  const templateFiles = getAllFiles(templateDir).filter(isTemplateFile);
160
180
  for (const relPath of templateFiles) {
161
- // Determine project path (remove .hbs from relPath if present)
162
- const projectRelPath = relPath.endsWith('.hbs') ? relPath.slice(0, -4) : relPath;
181
+ // Determine project path (remove .hbs from relPath if present) and map a
182
+ // recommended-layout path onto the legacy app the project still has.
183
+ const templateRelPath = relPath.endsWith('.hbs') ? relPath.slice(0, -4) : relPath;
184
+ const projectRelPath = resolveProjectRelPath(projectRoot, templateRelPath);
163
185
  const projectPath = path.join(projectRoot, projectRelPath);
164
186
  let templatePath = path.join(templateDir, relPath);
165
187
  // Render `.hbs` sources before comparing/merging: comparing the raw
@@ -227,7 +249,7 @@ export async function runUpdate(options) {
227
249
  loop = false;
228
250
  break;
229
251
  case 'n':
230
- info(t('update.skipped', relPath));
252
+ info(t('update.skipped', projectRelPath));
231
253
  loop = false;
232
254
  break;
233
255
  case 'd':
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/tasks/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/tasks/update.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  .PHONY: all install env-check build test type check update-skills
2
2
 
3
3
  # `all` vive en la raíz del workspace: una sola instalación para todas las apps.
4
- # [REQ/51](https://gitlab.com/pasosdeJesus/m/-/work_items/51) sumará aquí `./apps/web/bin/m env:check`.
5
4
  all: install env-check build
6
5
 
7
6
  install:
@@ -6,9 +6,10 @@
6
6
  # Without it, `hardhat compile` fails because the platform has no prebuilt
7
7
  # binary (Unsupported OS: openbsd).
8
8
  #
9
- # Prerequisites (once, as root):
10
- # doas corepack enable
11
- # and Rust/cargo available (the addon is built from source).
9
+ # Prerequisites:
10
+ # corepack (ships with Node) and Rust/cargo (the addon is built from source).
11
+ # `doas corepack enable` is optional: it only exposes `yarn` directly; this
12
+ # script calls `corepack yarn`, so it works without the global shim.
12
13
  #
13
14
  # Usage:
14
15
  # cd apps/contracts
@@ -59,10 +60,10 @@ cp -r "$SOLA_SRC"/src "$TMPDIR"/ 2>/dev/null || true
59
60
  cp -r "$SOLA_SRC"/build.rs "$TMPDIR"/ 2>/dev/null || true
60
61
 
61
62
  cd "$TMPDIR"
62
- echo "Installing dependencies (yarn)..."
63
- yarn
63
+ echo "Installing dependencies (corepack yarn)..."
64
+ COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack yarn
64
65
  echo "Building native addon..."
65
- yarn build
66
+ COREPACK_ENABLE_DOWNLOAD_PROMPT=0 corepack yarn build
66
67
 
67
68
  NODE_FILE=$(ls *.node 2>/dev/null | head -1)
68
69
  if [ -z "$NODE_FILE" ]; then
@@ -81,5 +82,13 @@ echo "Copied $NODE_FILE to $SOLA_SRC"
81
82
  rm -rf "$TMPDIR"
82
83
 
83
84
  echo "=== prepadJ: Verifying with pnpm build ==="
85
+ # `hardhat compile` loads the config, which rejects a short account key. When the
86
+ # project has no `.env` yet, use a throwaway 32-byte key so the check does not
87
+ # depend on the operator's secrets.
88
+ if [ -z "${PRIVATE_KEY:-}" ] && [ ! -f "$ROOT/apps/.env" ] && [ ! -f "$APP/.env" ]; then
89
+ echo "No .env yet: verifying with a throwaway PRIVATE_KEY"
90
+ PRIVATE_KEY="0x1111111111111111111111111111111111111111111111111111111111111111"
91
+ export PRIVATE_KEY
92
+ fi
84
93
  pnpm build
85
94
  echo "=== prepadJ: Done ==="
@@ -0,0 +1,27 @@
1
+ # deployments/
2
+
3
+ Direcciones de los contratos desplegados. Cada JSON lo lee
4
+ `@pasosdejesus/m/blockchain/deployments` (`readDeployment`, `getContractAddress`,
5
+ `getCeloCredentialsAddress`); el código **no** debe escribir direcciones a mano.
6
+
7
+ Layouts aceptados (en orden):
8
+
9
+ 1. `{Contrato}/{Versión}/{red}.json` (p. ej. `LearnTGVaults/V4/celoSepolia.json`)
10
+ 2. `{Contrato}/{red}.json`
11
+ 3. `{red}.json`
12
+
13
+ Campos que espera el tipo `Deployment`:
14
+
15
+ ```json
16
+ {
17
+ "contract": "PasosDeJesusCredentials",
18
+ "address": "0x…",
19
+ "chainId": 11142220,
20
+ "network": "celoSepolia",
21
+ "transactionHash": "0x…",
22
+ "deployedAt": "2026-10-20T00:00:00.000Z"
23
+ }
24
+ ```
25
+
26
+ Verificación: `bin/m contract:checkdeploy` (`@pasosdejesus/contract-test`), que exige dirección
27
+ válida y no nula, red coincidente y que las fuentes consulten este directorio.
@@ -3,7 +3,6 @@ import '@nomicfoundation/hardhat-verify';
3
3
  import { config as dotEnvConfig } from 'dotenv';
4
4
  import { HardhatUserConfig } from 'hardhat/config';
5
5
  import { task } from "hardhat/config";
6
- import { task } from "hardhat/config";
7
6
 
8
7
 
9
8
  dotEnvConfig({ path: '../.env' });
@@ -40,6 +39,7 @@ task("check-transfer", "Check token transfer from tx hash")
40
39
 
41
40
  for (const log of transferLogs) {
42
41
  const parsedLog = tokenContract.interface.parseLog(log);
42
+ if (!parsedLog) continue;
43
43
  console.log("Amount:", ethers.formatUnits(parsedLog.args.value, decimals));
44
44
  }
45
45
  });
@@ -25,6 +25,12 @@ catalog:
25
25
  kysely-postgres-js: 3.0.0
26
26
  pg: 8.17.2
27
27
 
28
+ # pnpm 11 aplica `minimumReleaseAge` (24 h) y rechaza un lockfile con paquetes
29
+ # publicados hace menos de 24 h. Los paquetes del ecosistema se excluyen: se
30
+ # publican junto con `m` y conviene poder instalarlos de inmediato.
31
+ minimumReleaseAgeExclude:
32
+ - '@pasosdejesus/*'
33
+
28
34
  # Paquetes cuyo script de instalación se permite ejecutar (OpenBSD/adJ).
29
35
  allowBuilds:
30
36
  '@pasosdejesus/m': true
@@ -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;AAExD,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,CAsBvE;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,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"}
@@ -12,6 +12,7 @@ import { dirname, join } 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';
15
+ import { warn } from './colors.js';
15
16
  export { discoverEngines };
16
17
  /**
17
18
  * A package is a motor **iff** it ships an `m-engine.json` (https://gitlab.com/pasosdeJesus/m/-/work_items/39). No naming
@@ -68,8 +69,9 @@ export async function loadEnginePackages(pkgFile) {
68
69
  if (entry)
69
70
  await import(pathToFileURL(entry).href);
70
71
  }
71
- catch {
72
- // Plugin not installed or not a valid module — skip silently
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})`);
73
75
  }
74
76
  }
75
77
  }
@@ -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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"}