@pasosdejesus/m 0.31.1 → 0.32.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 +78 -0
- package/dist/compose/layout.d.ts +30 -0
- package/dist/compose/layout.d.ts.map +1 -0
- package/dist/compose/layout.js +289 -0
- package/dist/compose/layout.js.map +1 -0
- package/dist/i18n/locales/cli.d.ts.map +1 -1
- package/dist/i18n/locales/cli.js +2 -0
- package/dist/i18n/locales/cli.js.map +1 -1
- package/dist/m.js +9 -2
- package/dist/m.js.map +1 -1
- package/dist/tasks/check.d.ts +9 -0
- package/dist/tasks/check.d.ts.map +1 -0
- package/dist/tasks/check.js +197 -0
- package/dist/tasks/check.js.map +1 -0
- package/dist/tasks/e2e.d.ts +12 -0
- package/dist/tasks/e2e.d.ts.map +1 -1
- package/dist/tasks/e2e.js +34 -12
- package/dist/tasks/e2e.js.map +1 -1
- package/dist/templates/Makefile +5 -1
- package/dist/templates/README.md.hbs +2 -2
- package/dist/templates/apps/contracts/bin/MusdtVerification +0 -0
- package/dist/templates/apps/contracts/bin/approveDepositOwner +0 -0
- package/dist/templates/apps/contracts/bin/contractVerification +0 -0
- package/dist/templates/apps/contracts/bin/deployMockUSDT +0 -0
- package/dist/templates/apps/contracts/bin/prepadJ.sh +0 -0
- package/dist/templates/apps/contracts/bin/verifyMockUSDT +0 -0
- package/dist/templates/apps/contracts/sync-abis.mjs +0 -0
- package/dist/templates/package.json.hbs +1 -1
- package/dist/templates/pnpm-workspace.yaml.hbs +2 -1
- package/dist/util/pnpm-workspace.d.ts +17 -0
- package/dist/util/pnpm-workspace.d.ts.map +1 -0
- package/dist/util/pnpm-workspace.js +138 -0
- package/dist/util/pnpm-workspace.js.map +1 -0
- package/dist/wba/routes/summary.d.ts +4 -0
- package/dist/wba/routes/summary.d.ts.map +1 -1
- package/dist/wba/routes/summary.js +4 -0
- package/dist/wba/routes/summary.js.map +1 -1
- package/package.json +3 -3
- package/src/tasks/README.md +1 -0
- package/src/wba/README.md +48 -3
package/dist/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,84 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@pasosdejesus/m` are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.32.0] - 2026-10-18
|
|
6
|
+
|
|
7
|
+
### Changed — pnpm 11 across the repo, the template and CI
|
|
8
|
+
|
|
9
|
+
- `packageManager` is now **`pnpm@11.28.6`** in the root and every package, and `.gitlab-ci.yml`
|
|
10
|
+
uses pnpm 11. Measured on OpenBSD/adJ: build, typecheck, `dist-check`, unit suites, integration
|
|
11
|
+
suite, `m:create` plus the generated project, and the consumers `sivel3`, `learn.tg` and
|
|
12
|
+
`stable-sl` (REQ/54).
|
|
13
|
+
- **Settings moved**: `pnpm.overrides` lives in `pnpm-workspace.yaml` (pnpm 11 ignores the field in
|
|
14
|
+
`package.json`), `onlyBuiltDependencies`/`trustedDependencies` became `allowBuilds`, and
|
|
15
|
+
`packageManagerStrict*` was removed (no longer recognized).
|
|
16
|
+
- **`allowBuilds` is mandatory**: pnpm 11 fails with `ERR_PNPM_IGNORED_BUILDS` when a dependency
|
|
17
|
+
with an install script is missing (`@pasosdejesus/m`, `secp256k1`, `esbuild`, …). `secp256k1@4.0.5`
|
|
18
|
+
compiles natively on OpenBSD.
|
|
19
|
+
- **Supply-chain policy**: `minimumReleaseAge` (24 h) rejects a lockfile containing freshly published
|
|
20
|
+
packages, even with `--frozen-lockfile`; consumers that update right after a release need
|
|
21
|
+
`minimumReleaseAgeExclude: ['@pasosdejesus/*']` (validated in `learn.tg` and `stable-sl`).
|
|
22
|
+
- The **template** and the test project generate a pnpm 11 workspace (same `apps/*` layout and
|
|
23
|
+
`catalog:`); `apps/hardhat`/`apps/nextjs` were already renamed in `0.31.0`.
|
|
24
|
+
- **Docs**: `doc/pnpm.md` describes v11 and the settings that changed; `packages/mpdj/SKILL.md` no
|
|
25
|
+
longer claims that v11 breaks React; the template README installs `pnpm@11`.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Changed — `@pasosdejesus/wallet` panel: locked send
|
|
29
|
+
|
|
30
|
+
- The **Send** tab now always states why it cannot send. A locked wallet shows the
|
|
31
|
+
`needWallet` reason plus an **Unlock wallet** button (`onRequestUnlock`); a locked
|
|
32
|
+
panel no longer shows the generic "invalid address" while the real cause is the
|
|
33
|
+
lock. Terminal reason is still `validateSend()`.
|
|
34
|
+
- **Diagnostics**: the panel logs to `@pasosdejesus/m/debug` (tag `wallet-panel`)
|
|
35
|
+
its open state (address, tokens), whether a signer is available, blocked /
|
|
36
|
+
started / failed sends with the `validateSend()` reason and the error
|
|
37
|
+
code/message, per-token balance failures, and refused `Max` presses. They are
|
|
38
|
+
console output always and DebugConsole output when enabled.
|
|
39
|
+
|
|
40
|
+
### Documentation — `@pasosdejesus/m/wba`
|
|
41
|
+
|
|
42
|
+
- `wba/README.md` now documents the **connection lifecycle**: `makeEventHandler` and
|
|
43
|
+
`makeSummaryHandler` never destroy the Kysely client (the factory owns the pool), a shared `pg.Pool`
|
|
44
|
+
must be a module-level singleton preserved through hot reload and bounded with `max`, and
|
|
45
|
+
`destroy()` is only for the code that created and owns the pool (CLI or migration scripts). The
|
|
46
|
+
previous example called `db.destroy()`, which would end a shared pool for every later request
|
|
47
|
+
("Cannot use a pool after calling end on the pool"). `makeSummaryHandler`'s docblock says the same.
|
|
48
|
+
|
|
49
|
+
## [0.31.2] - 2026-10-17
|
|
50
|
+
|
|
51
|
+
### Added — `m:check` (project layout verification)
|
|
52
|
+
|
|
53
|
+
- **`bin/m m:check`** verifies the layout recommended in
|
|
54
|
+
[REQ/53](https://gitlab.com/pasosdeJesus/m/-/work_items/53): workspace root, `apps/web`,
|
|
55
|
+
`apps/contracts` and `catalog:`. It reports 15 finding codes with severities, reusing the
|
|
56
|
+
`eng:verify`/`eng:check` output style, and walks up to the project root (works from `apps/web`
|
|
57
|
+
or `apps/web/tests`). Flags: `--json`, `--strict`, `--root`, `--from`, `--fix` (only reversible
|
|
58
|
+
edits: move the legacy `pnpm` field into `pnpm-workspace.yaml` and switch exact catalog matches to
|
|
59
|
+
`"catalog:"`) and `--list-codes`. Documented in `doc/m-check.md`
|
|
60
|
+
([REQ/56](https://gitlab.com/pasosdeJesus/m/-/work_items/56)); `make check` in the template.
|
|
61
|
+
|
|
62
|
+
### Fixed — `test:e2e --retry` never retried when the flag came first
|
|
63
|
+
|
|
64
|
+
- `bin/m test:e2e --retry 2` duplicated the argument (`['--retry','--retry','2']`), parsed `NaN` and
|
|
65
|
+
ran **zero** retries while reporting "Still failing after 0 retry(ies)". The parsing now lives in
|
|
66
|
+
`parseE2eArgs` (never duplicates the flag, treats a flag without value as 0, keeps `E2E_RETRIES`
|
|
67
|
+
only when `--retry` is absent) and the summary reports the retries **executed**
|
|
68
|
+
([REQ/59](https://gitlab.com/pasosdeJesus/m/-/work_items/59)).
|
|
69
|
+
|
|
70
|
+
### Fixed — `@pasosdejesus/wallet` (engine, not published): scrollable tabs
|
|
71
|
+
|
|
72
|
+
- `WalletPanel` no longer uses a fixed equal-column grid for its tabs: `Collectibles`/`Coleccionables`
|
|
73
|
+
overflowed its cell and overlapped the next tab on mobile, and short labels (`Send`) looked wider
|
|
74
|
+
than the rest. Tabs now keep their natural width with the same padding and the bar scrolls
|
|
75
|
+
horizontally. Engine `wallet` stays at `0.1.0`; consumers pick the change up when they re-vendor.
|
|
76
|
+
|
|
77
|
+
### Changed — documentation and collaboration policy
|
|
78
|
+
|
|
79
|
+
- `CONTRIBUTING.md` gains a **Language policy** section (English for code, commits, `CHANGELOG.md`,
|
|
80
|
+
`README.md`, `API.md` and public `doc/`; Spanish for `REQ/*.md` and `AGENTS.md`, with a
|
|
81
|
+
`## Summary (EN)` when a REQ matters outside the ecosystem); `AGENTS.md` points to it.
|
|
82
|
+
|
|
5
83
|
## [0.31.1] - 2026-10-16
|
|
6
84
|
|
|
7
85
|
### Fixed — descubrimiento EIP-6963 del mock E2E (`@pasosdejesus/m/e2e`)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type PnpmWorkspaceConfig } from '../util/pnpm-workspace.js';
|
|
2
|
+
export type LayoutKind = 'recommended' | 'legacy' | 'app-only' | 'unknown';
|
|
3
|
+
export type LayoutSeverity = 'error' | 'warn' | 'info';
|
|
4
|
+
export type LayoutCode = 'ROOT_MISSING' | 'ROOT_PACKAGE' | 'NO_WORKSPACE' | 'WORKSPACE_GLOBS' | 'LEGACY_APP_DIR' | 'APP_WORKSPACE_FILE' | 'LOCKFILE_ROOT' | 'VERSION_NOT_CATALOG' | 'CATALOG_MISSING' | 'DUPLICATE_VERSION' | 'HARDHAT_YARN' | 'GENERATED_NOT_MEMBER' | 'MISSING_TEMPLATE_FILE' | 'PNPM_FIELD' | 'ALLOW_BUILDS';
|
|
5
|
+
export interface LayoutFinding {
|
|
6
|
+
code: LayoutCode;
|
|
7
|
+
severity: LayoutSeverity;
|
|
8
|
+
path?: string;
|
|
9
|
+
message: string;
|
|
10
|
+
fix?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface LayoutReport {
|
|
13
|
+
layout: LayoutKind;
|
|
14
|
+
apps: {
|
|
15
|
+
web?: string;
|
|
16
|
+
contracts?: string;
|
|
17
|
+
};
|
|
18
|
+
findings: LayoutFinding[];
|
|
19
|
+
ok: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const LAYOUT_CODES: ReadonlyArray<{
|
|
22
|
+
code: LayoutCode;
|
|
23
|
+
severity: LayoutSeverity;
|
|
24
|
+
verifies: string;
|
|
25
|
+
}>;
|
|
26
|
+
export declare function checkLayout(root: string, options?: {
|
|
27
|
+
template?: boolean;
|
|
28
|
+
}): LayoutReport;
|
|
29
|
+
export declare function workspaceConfig(root: string): PnpmWorkspaceConfig | null;
|
|
30
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/compose/layout.ts"],"names":[],"mappings":"AAQA,OAAO,EAAqB,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAEvF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAE1E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEtD,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,cAAc,GACd,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,oBAAoB,GACpB,eAAe,GACf,qBAAqB,GACrB,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,sBAAsB,GACtB,uBAAuB,GACvB,YAAY,GACZ,cAAc,CAAA;AAElB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,EAAE,EAAE,OAAO,CAAA;CACZ;AA2BD,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAgBxG,CAAA;AAwCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,YAAY,CAyM5F;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAExE"}
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
// Reglas de `m:check` (https://gitlab.com/pasosdeJesus/m/-/work_items/56):
|
|
2
|
+
// detecta el layout del consumidor (raíz + apps/web + apps/contracts) y reporta
|
|
3
|
+
// hallazgos con código y severidad. Es puro sobre el sistema de archivos: no
|
|
4
|
+
// escribe ni ejecuta nada (los arreglos viven en `tasks/check.ts`).
|
|
5
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
6
|
+
import { join } from 'node:path';
|
|
7
|
+
import { readWorkspaceYaml } from '../util/pnpm-workspace.js';
|
|
8
|
+
const WORKSPACE_GLOBS = ['apps/*', 'packages/*', 'packages/generated/*'];
|
|
9
|
+
const NATIVE_BUILD_PACKAGES = [
|
|
10
|
+
'@firebase/util',
|
|
11
|
+
'@parcel/watcher',
|
|
12
|
+
'@swc/core',
|
|
13
|
+
'blake-hash',
|
|
14
|
+
'bufferutil',
|
|
15
|
+
'esbuild',
|
|
16
|
+
'keccak',
|
|
17
|
+
'protobufjs',
|
|
18
|
+
'secp256k1',
|
|
19
|
+
'sharp',
|
|
20
|
+
'unrs-resolver',
|
|
21
|
+
'utf-8-validate',
|
|
22
|
+
];
|
|
23
|
+
const CORE_ROOT_FILES = ['Makefile'];
|
|
24
|
+
const CORE_WEB_FILES = ['bin/m', 'Makefile'];
|
|
25
|
+
const CORE_CONTRACTS_FILES = ['Makefile', 'tsconfig.json'];
|
|
26
|
+
export const LAYOUT_CODES = [
|
|
27
|
+
{ code: 'ROOT_MISSING', severity: 'error', verifies: 'no hay package.json en la raíz' },
|
|
28
|
+
{ code: 'ROOT_PACKAGE', severity: 'error', verifies: 'raíz sin private, packageManager o scripts -r' },
|
|
29
|
+
{ code: 'NO_WORKSPACE', severity: 'error', verifies: 'falta pnpm-workspace.yaml en la raíz' },
|
|
30
|
+
{ code: 'WORKSPACE_GLOBS', severity: 'error', verifies: 'el workspace no incluye apps/*, packages/* y packages/generated/*' },
|
|
31
|
+
{ code: 'LEGACY_APP_DIR', severity: 'warn', verifies: 'apps/nextjs o apps/hardhat (se esperan web/contracts)' },
|
|
32
|
+
{ code: 'APP_WORKSPACE_FILE', severity: 'error', verifies: 'workspace o lockfile dentro de una app' },
|
|
33
|
+
{ code: 'LOCKFILE_ROOT', severity: 'error', verifies: 'falta pnpm-lock.yaml en la raíz' },
|
|
34
|
+
{ code: 'VERSION_NOT_CATALOG', severity: 'warn', verifies: 'dependencia con versión literal que ya está en catalog' },
|
|
35
|
+
{ code: 'CATALOG_MISSING', severity: 'warn', verifies: 'dependencia compartida por las apps que no está en catalog' },
|
|
36
|
+
{ code: 'DUPLICATE_VERSION', severity: 'error', verifies: 'misma dependencia con versiones distintas entre apps' },
|
|
37
|
+
{ code: 'HARDHAT_YARN', severity: 'warn', verifies: 'packageManager yarn o scripts yarn en una app' },
|
|
38
|
+
{ code: 'GENERATED_NOT_MEMBER', severity: 'warn', verifies: 'packages/generated consumido con link: en vez de ser miembro' },
|
|
39
|
+
{ code: 'MISSING_TEMPLATE_FILE', severity: 'warn', verifies: 'falta un archivo núcleo que la plantilla sí trae' },
|
|
40
|
+
{ code: 'PNPM_FIELD', severity: 'warn', verifies: 'campo pnpm en package.json (pnpm 11 lo ignora)' },
|
|
41
|
+
{ code: 'ALLOW_BUILDS', severity: 'warn', verifies: 'paquete con script de instalación fuera de allowBuilds' },
|
|
42
|
+
];
|
|
43
|
+
function readJson(file) {
|
|
44
|
+
if (!existsSync(file))
|
|
45
|
+
return null;
|
|
46
|
+
try {
|
|
47
|
+
return JSON.parse(readFileSync(file, 'utf-8'));
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function isDirectory(dir) {
|
|
54
|
+
try {
|
|
55
|
+
return statSync(dir).isDirectory();
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
function dependencyEntries(pkg) {
|
|
62
|
+
if (!pkg)
|
|
63
|
+
return [];
|
|
64
|
+
const result = [];
|
|
65
|
+
for (const field of ['dependencies', 'devDependencies', 'optionalDependencies', 'peerDependencies']) {
|
|
66
|
+
const deps = pkg[field];
|
|
67
|
+
if (!deps || typeof deps !== 'object')
|
|
68
|
+
continue;
|
|
69
|
+
for (const [name, version] of Object.entries(deps)) {
|
|
70
|
+
if (typeof version === 'string')
|
|
71
|
+
result.push([name, version]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
function findApp(root, preferred, legacy) {
|
|
77
|
+
for (const name of [preferred, legacy]) {
|
|
78
|
+
const relative = join('apps', name);
|
|
79
|
+
if (isDirectory(join(root, relative)))
|
|
80
|
+
return relative;
|
|
81
|
+
}
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
export function checkLayout(root, options = {}) {
|
|
85
|
+
const findings = [];
|
|
86
|
+
const add = (finding) => {
|
|
87
|
+
findings.push(finding);
|
|
88
|
+
};
|
|
89
|
+
const appsDir = join(root, 'apps');
|
|
90
|
+
if (!isDirectory(appsDir)) {
|
|
91
|
+
return { layout: 'unknown', apps: {}, findings: [], ok: true };
|
|
92
|
+
}
|
|
93
|
+
const web = findApp(root, 'web', 'nextjs');
|
|
94
|
+
const contracts = findApp(root, 'contracts', 'hardhat');
|
|
95
|
+
const workspacePath = join(root, 'pnpm-workspace.yaml');
|
|
96
|
+
const workspace = readWorkspaceYaml(workspacePath);
|
|
97
|
+
const rootPkg = readJson(join(root, 'package.json'));
|
|
98
|
+
const layout = workspace && web === 'apps/web' && contracts === 'apps/contracts'
|
|
99
|
+
? 'recommended'
|
|
100
|
+
: workspace
|
|
101
|
+
? 'legacy'
|
|
102
|
+
: web
|
|
103
|
+
? 'app-only'
|
|
104
|
+
: 'unknown';
|
|
105
|
+
if (!rootPkg) {
|
|
106
|
+
add({ code: 'ROOT_MISSING', severity: 'error', path: 'package.json', message: 'falta package.json en la raíz' });
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
if (rootPkg.private !== true) {
|
|
110
|
+
add({
|
|
111
|
+
code: 'ROOT_PACKAGE', severity: 'error', path: 'package.json',
|
|
112
|
+
message: 'la raíz debe declarar "private": true',
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
const packageManager = typeof rootPkg.packageManager === 'string' ? rootPkg.packageManager : '';
|
|
116
|
+
if (!packageManager.startsWith('pnpm@')) {
|
|
117
|
+
add({
|
|
118
|
+
code: 'ROOT_PACKAGE', severity: 'error', path: 'package.json',
|
|
119
|
+
message: 'la raíz debe fijar "packageManager": "pnpm@<versión>"',
|
|
120
|
+
fix: 'npx pnpm@11.28.6 --version # y fijarlo en package.json',
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
const scripts = (rootPkg.scripts ?? {});
|
|
124
|
+
for (const script of ['build', 'test', 'typecheck']) {
|
|
125
|
+
const value = typeof scripts[script] === 'string' ? scripts[script] : '';
|
|
126
|
+
if (!value.includes('-r')) {
|
|
127
|
+
add({
|
|
128
|
+
code: 'ROOT_PACKAGE', severity: 'error', path: 'package.json',
|
|
129
|
+
message: `el script "${script}" debe ejecutar en todo el workspace (pnpm -r …)`,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (rootPkg.pnpm) {
|
|
134
|
+
add({
|
|
135
|
+
code: 'PNPM_FIELD', severity: 'warn', path: 'package.json',
|
|
136
|
+
message: 'el campo "pnpm" ya no lo lee pnpm 11 (mover a pnpm-workspace.yaml)',
|
|
137
|
+
fix: 'bin/m m:check --fix',
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (!workspace) {
|
|
142
|
+
add({
|
|
143
|
+
code: 'NO_WORKSPACE', severity: 'error', path: 'pnpm-workspace.yaml',
|
|
144
|
+
message: 'falta pnpm-workspace.yaml en la raíz',
|
|
145
|
+
fix: 'bin/m m:check --fix # o copiarlo de packages/m/templates/pnpm-workspace.yaml',
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
const generatedDir = existsSync(join(root, 'packages', 'generated'));
|
|
150
|
+
const missing = WORKSPACE_GLOBS.filter((glob) => {
|
|
151
|
+
if (workspace.packages.includes(glob))
|
|
152
|
+
return false;
|
|
153
|
+
if (glob === 'packages/generated/*' && !generatedDir)
|
|
154
|
+
return false;
|
|
155
|
+
return true;
|
|
156
|
+
});
|
|
157
|
+
for (const glob of missing) {
|
|
158
|
+
add({
|
|
159
|
+
code: 'WORKSPACE_GLOBS', severity: 'error', path: 'pnpm-workspace.yaml',
|
|
160
|
+
message: `falta el glob "${glob}" en packages:`,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (!existsSync(join(root, 'pnpm-lock.yaml'))) {
|
|
165
|
+
add({
|
|
166
|
+
code: 'LOCKFILE_ROOT', severity: 'error', path: 'pnpm-lock.yaml',
|
|
167
|
+
message: 'falta el lockfile único en la raíz',
|
|
168
|
+
fix: 'npx pnpm@11.28.6 install # en la raíz del proyecto',
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
for (const app of [web, contracts].filter((value) => Boolean(value))) {
|
|
172
|
+
if (!app.endsWith('web') && !app.endsWith('contracts')) {
|
|
173
|
+
add({
|
|
174
|
+
code: 'LEGACY_APP_DIR', severity: 'warn', path: app,
|
|
175
|
+
message: `"${app}" es el nombre legado; se espera apps/${app.endsWith('nextjs') ? 'web' : 'contracts'}`,
|
|
176
|
+
fix: `git mv ${app} apps/${app.endsWith('nextjs') ? 'web' : 'contracts'}`,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
for (const file of ['pnpm-workspace.yaml', 'pnpm-lock.yaml']) {
|
|
180
|
+
if (existsSync(join(root, app, file))) {
|
|
181
|
+
add({
|
|
182
|
+
code: 'APP_WORKSPACE_FILE', severity: 'error', path: join(app, file),
|
|
183
|
+
message: 'un workspace de app impide el lockfile único',
|
|
184
|
+
fix: `git rm ${join(app, file)} # y volver a instalar en la raíz`,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
const appPackages = [];
|
|
190
|
+
for (const app of [web, contracts].filter((value) => Boolean(value))) {
|
|
191
|
+
const pkg = readJson(join(root, app, 'package.json'));
|
|
192
|
+
appPackages.push({ dir: app, deps: dependencyEntries(pkg) });
|
|
193
|
+
const packageManager = typeof pkg?.packageManager === 'string' ? pkg.packageManager : '';
|
|
194
|
+
const scripts = (pkg?.scripts ?? {});
|
|
195
|
+
const usesYarn = packageManager.startsWith('yarn@')
|
|
196
|
+
|| Object.values(scripts).some((value) => typeof value === 'string' && /\byarn\b/.test(value));
|
|
197
|
+
if (usesYarn) {
|
|
198
|
+
add({
|
|
199
|
+
code: 'HARDHAT_YARN', severity: 'warn', path: join(app, 'package.json'),
|
|
200
|
+
message: 'la app todavía usa yarn; el workspace espera pnpm',
|
|
201
|
+
fix: 'reemplazar yarn por pnpm en scripts y quitar "packageManager" de la app',
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
for (const [name, version] of dependencyEntries(pkg)) {
|
|
205
|
+
if (version.startsWith('link:') && version.includes('packages/generated')) {
|
|
206
|
+
add({
|
|
207
|
+
code: 'GENERATED_NOT_MEMBER', severity: 'warn', path: join(app, 'package.json'),
|
|
208
|
+
message: `${name} se consume con link:; en un workspace debe ser miembro (packages/generated/*)`,
|
|
209
|
+
fix: 'declarar "packages/generated/*" en pnpm-workspace.yaml y usar la versión del paquete',
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
const catalog = workspace?.catalog ?? {};
|
|
215
|
+
for (const { dir, deps } of appPackages) {
|
|
216
|
+
for (const [name, version] of deps) {
|
|
217
|
+
if (version === 'catalog:' || version.startsWith('link:') || version.startsWith('file:') || version.startsWith('workspace:'))
|
|
218
|
+
continue;
|
|
219
|
+
if (!catalog[name])
|
|
220
|
+
continue;
|
|
221
|
+
add({
|
|
222
|
+
code: 'VERSION_NOT_CATALOG', severity: 'warn', path: join(dir, 'package.json'),
|
|
223
|
+
message: `${name} repite la versión del catálogo; usar "catalog:"`,
|
|
224
|
+
fix: 'bin/m m:check --fix',
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (appPackages.length === 2) {
|
|
229
|
+
const [first, second] = appPackages;
|
|
230
|
+
const firstDeps = new Map(first.deps);
|
|
231
|
+
for (const [name, version] of second.deps) {
|
|
232
|
+
const other = firstDeps.get(name);
|
|
233
|
+
if (other === undefined)
|
|
234
|
+
continue;
|
|
235
|
+
const shared = version === other;
|
|
236
|
+
if (!shared && version !== 'catalog:' && other !== 'catalog:') {
|
|
237
|
+
add({
|
|
238
|
+
code: 'DUPLICATE_VERSION', severity: 'error', path: join(second.dir, 'package.json'),
|
|
239
|
+
message: `${name} tiene ${other} en ${first.dir} y ${version} en ${second.dir}`,
|
|
240
|
+
fix: 'unificar en catalog: y usar "catalog:" en las dos apps',
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
else if (shared && !catalog[name]) {
|
|
244
|
+
add({
|
|
245
|
+
code: 'CATALOG_MISSING', severity: 'warn', path: join(second.dir, 'package.json'),
|
|
246
|
+
message: `${name} está en las dos apps con ${version} y no está en catalog`,
|
|
247
|
+
fix: 'agregar la entrada en catalog: y usar "catalog:" en ambas apps',
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
if (workspace && existsSync(join(root, 'pnpm-lock.yaml'))) {
|
|
253
|
+
const lockfile = readFileSync(join(root, 'pnpm-lock.yaml'), 'utf-8');
|
|
254
|
+
for (const name of NATIVE_BUILD_PACKAGES) {
|
|
255
|
+
if (!lockfile.includes(`${name}@`))
|
|
256
|
+
continue;
|
|
257
|
+
if (workspace.allowBuilds[name])
|
|
258
|
+
continue;
|
|
259
|
+
add({
|
|
260
|
+
code: 'ALLOW_BUILDS', severity: 'warn', path: 'pnpm-workspace.yaml',
|
|
261
|
+
message: `${name} tiene script de instalación y no está en allowBuilds`,
|
|
262
|
+
fix: 'agregar "allowBuilds: { <paquete>: true }" en pnpm-workspace.yaml',
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if (options.template !== false) {
|
|
267
|
+
const core = CORE_ROOT_FILES.map((file) => ({ path: file, label: file }));
|
|
268
|
+
core.push({ path: join('apps', '.env.example'), label: 'apps/.env.example' });
|
|
269
|
+
if (web)
|
|
270
|
+
core.push(...CORE_WEB_FILES.map((file) => ({ path: join(web, file), label: `${web}/${file}` })));
|
|
271
|
+
if (contracts)
|
|
272
|
+
core.push(...CORE_CONTRACTS_FILES.map((file) => ({ path: join(contracts, file), label: `${contracts}/${file}` })));
|
|
273
|
+
for (const entry of core) {
|
|
274
|
+
if (existsSync(join(root, entry.path)))
|
|
275
|
+
continue;
|
|
276
|
+
add({
|
|
277
|
+
code: 'MISSING_TEMPLATE_FILE', severity: 'warn', path: entry.path,
|
|
278
|
+
message: `falta ${entry.label}, que la plantilla de m:create sí trae`,
|
|
279
|
+
fix: 'copiarlo desde packages/m/templates/',
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
const ok = !findings.some((finding) => finding.severity === 'error');
|
|
284
|
+
return { layout, apps: { ...(web ? { web } : {}), ...(contracts ? { contracts } : {}) }, findings, ok };
|
|
285
|
+
}
|
|
286
|
+
export function workspaceConfig(root) {
|
|
287
|
+
return readWorkspaceYaml(join(root, 'pnpm-workspace.yaml'));
|
|
288
|
+
}
|
|
289
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/compose/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,cAmN7B,CAAC"}
|
package/dist/i18n/locales/cli.js
CHANGED
|
@@ -30,6 +30,7 @@ export const cliTranslations = {
|
|
|
30
30
|
'cmd.contract_deploy_description': 'Deploys Smart Contracts',
|
|
31
31
|
'cmd.create_description': 'Creates a new project',
|
|
32
32
|
'cmd.update_description': 'Synchronizes the current project with template improvements (interactive)',
|
|
33
|
+
'cmd.m_check_description': 'Checks the project layout (workspace, apps/web, apps/contracts, catalog) and reports findings (--json, --strict, --fix)',
|
|
33
34
|
'cmd.ai_framework_description': 'Shows a manifest of christian alignment (randomly chosen)',
|
|
34
35
|
'cmd.ai_verify_description': 'Generates a christological verification question',
|
|
35
36
|
'cmd.ai_verify_answer_description': 'Responds to the christological verification question',
|
|
@@ -134,6 +135,7 @@ export const cliTranslations = {
|
|
|
134
135
|
'cmd.contract_deploy_description': 'Despliega los Contratos Inteligentes',
|
|
135
136
|
'cmd.create_description': 'Crea un nuevo proyecto',
|
|
136
137
|
'cmd.update_description': 'Sincroniza el proyecto actual con las mejoras de las plantillas (interactivo)',
|
|
138
|
+
'cmd.m_check_description': 'Verifica la estructura del proyecto (workspace, apps/web, apps/contracts, catalog) y reporta hallazgos (--json, --strict, --fix)',
|
|
137
139
|
'cmd.ai_framework_description': 'Muestra un manifiesto de alineación cristiana (aleatorio)',
|
|
138
140
|
'cmd.ai_verify_description': 'Genera una pregunta de verificación cristológica',
|
|
139
141
|
'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":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/i18n/locales/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/m.js
CHANGED
|
@@ -237,6 +237,13 @@ async function main() {
|
|
|
237
237
|
},
|
|
238
238
|
description: cliT('cmd.update_description')
|
|
239
239
|
},
|
|
240
|
+
'm:check': {
|
|
241
|
+
handler: async () => {
|
|
242
|
+
const { runMCheck } = await import('./tasks/check.js');
|
|
243
|
+
await runMCheck(process.argv.slice(3));
|
|
244
|
+
},
|
|
245
|
+
description: cliT('cmd.m_check_description'), argOptional: true, argName: '--json|--strict|--fix'
|
|
246
|
+
},
|
|
240
247
|
'req:list': {
|
|
241
248
|
handler: async () => { await runReqList(); },
|
|
242
249
|
description: cliT('cmd.req_list_description')
|
|
@@ -327,7 +334,7 @@ async function main() {
|
|
|
327
334
|
const hasE2eDir = fs.existsSync(path.join(CWD, 'e2e'));
|
|
328
335
|
if (hasE2eDir) {
|
|
329
336
|
commands['test:e2e'] = {
|
|
330
|
-
handler: async (arg) => { await runE2e(arg, process.argv.slice(
|
|
337
|
+
handler: async (arg) => { await runE2e(arg, process.argv.slice(4)); },
|
|
331
338
|
description: cliT('cmd.e2e_description'), argOptional: true,
|
|
332
339
|
};
|
|
333
340
|
}
|
|
@@ -382,7 +389,7 @@ async function main() {
|
|
|
382
389
|
const categories = {
|
|
383
390
|
'AI': ['ai:context', 'ai:edit', 'ai:readfile', 'ai:writefile', 'ai:grep', 'ai:glob'],
|
|
384
391
|
'ENV': ['env:diff'],
|
|
385
|
-
'Project': ['m:create', 'm:update'],
|
|
392
|
+
'Project': ['m:create', 'm:update', 'm:check'],
|
|
386
393
|
'Test': ['test:e2e', 'test:e2e:summary', 'warmup'],
|
|
387
394
|
};
|
|
388
395
|
if (hasHardhat)
|