@pasosdejesus/m 0.31.0 → 0.31.2
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 +52 -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/e2e/browser.d.ts.map +1 -1
- package/dist/e2e/browser.js +7 -19
- package/dist/e2e/browser.js.map +1 -1
- package/dist/e2e/full-wallet.d.ts.map +1 -1
- package/dist/e2e/full-wallet.js +5 -1
- package/dist/e2e/full-wallet.js.map +1 -1
- package/dist/e2e/wallet-mock.d.ts.map +1 -1
- package/dist/e2e/wallet-mock.js +13 -14
- package/dist/e2e/wallet-mock.js.map +1 -1
- 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/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/package.json +1 -1
- package/src/tasks/README.md +1 -0
package/dist/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@pasosdejesus/m` are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.31.2] - 2026-10-17
|
|
6
|
+
|
|
7
|
+
### Added — `m:check` (project layout verification)
|
|
8
|
+
|
|
9
|
+
- **`bin/m m:check`** verifies the layout recommended in
|
|
10
|
+
[REQ/53](https://gitlab.com/pasosdeJesus/m/-/work_items/53): workspace root, `apps/web`,
|
|
11
|
+
`apps/contracts` and `catalog:`. It reports 15 finding codes with severities, reusing the
|
|
12
|
+
`eng:verify`/`eng:check` output style, and walks up to the project root (works from `apps/web`
|
|
13
|
+
or `apps/web/tests`). Flags: `--json`, `--strict`, `--root`, `--from`, `--fix` (only reversible
|
|
14
|
+
edits: move the legacy `pnpm` field into `pnpm-workspace.yaml` and switch exact catalog matches to
|
|
15
|
+
`"catalog:"`) and `--list-codes`. Documented in `doc/m-check.md`
|
|
16
|
+
([REQ/56](https://gitlab.com/pasosdeJesus/m/-/work_items/56)); `make check` in the template.
|
|
17
|
+
|
|
18
|
+
### Fixed — `test:e2e --retry` never retried when the flag came first
|
|
19
|
+
|
|
20
|
+
- `bin/m test:e2e --retry 2` duplicated the argument (`['--retry','--retry','2']`), parsed `NaN` and
|
|
21
|
+
ran **zero** retries while reporting "Still failing after 0 retry(ies)". The parsing now lives in
|
|
22
|
+
`parseE2eArgs` (never duplicates the flag, treats a flag without value as 0, keeps `E2E_RETRIES`
|
|
23
|
+
only when `--retry` is absent) and the summary reports the retries **executed**
|
|
24
|
+
([REQ/59](https://gitlab.com/pasosdeJesus/m/-/work_items/59)).
|
|
25
|
+
|
|
26
|
+
### Fixed — `@pasosdejesus/wallet` (engine, not published): scrollable tabs
|
|
27
|
+
|
|
28
|
+
- `WalletPanel` no longer uses a fixed equal-column grid for its tabs: `Collectibles`/`Coleccionables`
|
|
29
|
+
overflowed its cell and overlapped the next tab on mobile, and short labels (`Send`) looked wider
|
|
30
|
+
than the rest. Tabs now keep their natural width with the same padding and the bar scrolls
|
|
31
|
+
horizontally. Engine `wallet` stays at `0.1.0`; consumers pick the change up when they re-vendor.
|
|
32
|
+
|
|
33
|
+
### Changed — documentation and collaboration policy
|
|
34
|
+
|
|
35
|
+
- `CONTRIBUTING.md` gains a **Language policy** section (English for code, commits, `CHANGELOG.md`,
|
|
36
|
+
`README.md`, `API.md` and public `doc/`; Spanish for `REQ/*.md` and `AGENTS.md`, with a
|
|
37
|
+
`## Summary (EN)` when a REQ matters outside the ecosystem); `AGENTS.md` points to it.
|
|
38
|
+
|
|
39
|
+
## [0.31.1] - 2026-10-16
|
|
40
|
+
|
|
41
|
+
### Fixed — descubrimiento EIP-6963 del mock E2E (`@pasosdejesus/m/e2e`)
|
|
42
|
+
|
|
43
|
+
Reportado en la revisión de [`learn.tg#213`](https://github.com/pasosdeJesus/learn.tg/issues/213#issuecomment-5714359790):
|
|
44
|
+
|
|
45
|
+
- **Metadata y `uuid` estables por documento:** `eip6963MockCode` y el código de `setupFullWalletMock` generaban un
|
|
46
|
+
`uuid` **nuevo en cada anuncio** y el re-anuncio de `injectEIP6963` / `newPage` / `newIncognitoPage` repetía el
|
|
47
|
+
**mismo** `provider` con **otro** `uuid`, contra EIP-6963 (una dApp que corre el descubrimiento dos veces veía
|
|
48
|
+
dos entradas con el mismo `rdns`). Ahora el anuncio se define **una vez** (`window.__eip6963Announce`) y se
|
|
49
|
+
reutiliza; el re-anuncio tras `load` usa el mismo.
|
|
50
|
+
- **Responde a `eip6963:requestProvider`:** el mock no atendía la petición de descubrimiento (el lado dApp sí la
|
|
51
|
+
emite, en `m/wallet/external-provider.ts`), así que un listener montado tarde dependía del re-anuncio tras
|
|
52
|
+
`load`. El listener se registra **antes** del primer anuncio.
|
|
53
|
+
- **+6 pruebas** del código generado: anuncio único, listener tardío, requests repetidos con un solo `uuid`,
|
|
54
|
+
cero llamadas `eth_*` durante el descubrimiento, nombre de billetera configurable, y re-anuncio de
|
|
55
|
+
`injectEIP6963` con el `uuid` original.
|
|
56
|
+
|
|
5
57
|
## [0.31.0] - 2026-10-15
|
|
6
58
|
|
|
7
59
|
### Changed (plantilla) — `m:create` genera un **workspace raíz** con `apps/web` y `apps/contracts`
|
|
@@ -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":"browser.d.ts","sourceRoot":"","sources":["../../src/e2e/browser.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAChF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/C,qBAAqB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACxC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,wBAAgB,UAAU,IAAI,MAAM,CASnC;AAcD,wBAAsB,aAAa,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAejF;AAED,wBAAsB,OAAO,CAC3B,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAc,EACvB,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/e2e/browser.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAChF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/C,qBAAqB,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IACxC,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC3C,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,cAAc,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,wBAAgB,UAAU,IAAI,MAAM,CASnC;AAcD,wBAAsB,aAAa,CAAC,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAejF;AAED,wBAAsB,OAAO,CAC3B,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAc,EACvB,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAElF;AAID,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAc,EACvB,UAAU,GAAE,OAAe,GAC1B,OAAO,CAAC,OAAO,CAAC,CAelB;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE"}
|
package/dist/e2e/browser.js
CHANGED
|
@@ -43,19 +43,13 @@ export async function newPage(browser, address, timeout = 60000, useEIP6963 = fa
|
|
|
43
43
|
const { ethereumMockCode, eip6963MockCode } = await import('./wallet-mock.js');
|
|
44
44
|
const mockFn = useEIP6963 ? eip6963MockCode : ethereumMockCode;
|
|
45
45
|
await page.evaluateOnNewDocument(mockFn({ address }));
|
|
46
|
-
// Re-
|
|
46
|
+
// Re-anuncia tras el `load` el **mismo** proveedor/metadata (uuid estable).
|
|
47
47
|
if (useEIP6963) {
|
|
48
48
|
page.on('load', async () => {
|
|
49
49
|
await page.evaluate(() => {
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
54
|
-
detail: {
|
|
55
|
-
info: { uuid: crypto.randomUUID(), name: 'MockWallet', icon: 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>', rdns: 'com.mock.wallet' },
|
|
56
|
-
provider: p
|
|
57
|
-
}
|
|
58
|
-
}));
|
|
50
|
+
const announce = window.__eip6963Announce;
|
|
51
|
+
if (typeof announce === 'function')
|
|
52
|
+
announce();
|
|
59
53
|
});
|
|
60
54
|
});
|
|
61
55
|
}
|
|
@@ -75,15 +69,9 @@ export async function newIncognitoPage(ctx, address, timeout = 60000, useEIP6963
|
|
|
75
69
|
if (useEIP6963) {
|
|
76
70
|
page.on('load', async () => {
|
|
77
71
|
await page.evaluate(() => {
|
|
78
|
-
const
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
82
|
-
detail: {
|
|
83
|
-
info: { uuid: crypto.randomUUID(), name: 'MockWallet', icon: 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>', rdns: 'com.mock.wallet' },
|
|
84
|
-
provider: p
|
|
85
|
-
}
|
|
86
|
-
}));
|
|
72
|
+
const announce = window.__eip6963Announce;
|
|
73
|
+
if (typeof announce === 'function')
|
|
74
|
+
announce();
|
|
87
75
|
});
|
|
88
76
|
});
|
|
89
77
|
}
|
package/dist/e2e/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/e2e/browser.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,4EAA4E;AAC5E,0EAA0E;AAC1E,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AA8BxB,MAAM,UAAU,UAAU;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACnE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;IAChC,oBAAoB;IACpB,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,iCAAiC,CAAC,CAAA;IACrG,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAC3E,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,CAAC;QACH,OAAO,MAAO,QAAQ,CAAC,iCAAiC,CAAC,EAAmB,CAAA;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,gEAAgE;YAChE,gCAAgC;YAChC,qCAAqC,CACtC,CAAA;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAoB,IAAI;IAC1D,MAAM,SAAS,GAAG,MAAM,aAAa,EAAE,CAAA;IAEvC,OAAO,SAAS,CAAC,MAAM,CAAC;QACtB,cAAc,EAAE,UAAU,EAAE;QAC5B,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QAC7C,QAAQ;QACR,IAAI,EAAE;YACJ,cAAc;YACd,0BAA0B;YAC1B,yBAAyB;YACzB,eAAe;YACf,2BAA2B;SAC5B;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAmB,EACnB,OAAe,EACf,UAAkB,KAAK,EACvB,aAAsB,KAAK;IAE3B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IACpC,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAA;IAC9D,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACrD,
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/e2e/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-wallet.d.ts","sourceRoot":"","sources":["../../src/e2e/full-wallet.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;IACzB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;CACvB;AAWD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"full-wallet.d.ts","sourceRoot":"","sources":["../../src/e2e/full-wallet.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAA;IACzB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;CACvB;AAWD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B,GAAG,MAAM,CAuFT;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,cAAc,CAAC,CAwDzB"}
|
package/dist/e2e/full-wallet.js
CHANGED
|
@@ -79,15 +79,19 @@ export function fullWalletMockCode(opts) {
|
|
|
79
79
|
return json.result
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
+
// EIP-6963: metadata/\`uuid\` **estables por documento** + respuesta a
|
|
83
|
+
// \`eip6963:requestProvider\` con el mismo detalle (ver wallet-mock.ts).
|
|
82
84
|
const __info = {
|
|
83
85
|
uuid: crypto.randomUUID ? crypto.randomUUID() : 'mock-uuid-full',
|
|
84
86
|
name: '${walletName}',
|
|
85
87
|
icon: 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',
|
|
86
88
|
rdns: 'com.mock.wallet',
|
|
87
89
|
}
|
|
88
|
-
window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
90
|
+
window.__eip6963Announce = () => window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
89
91
|
detail: { info: __info, provider: __provider }
|
|
90
92
|
}))
|
|
93
|
+
window.addEventListener('eip6963:requestProvider', window.__eip6963Announce)
|
|
94
|
+
window.__eip6963Announce()
|
|
91
95
|
`;
|
|
92
96
|
}
|
|
93
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"full-wallet.js","sourceRoot":"","sources":["../../src/e2e/full-wallet.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAyC/C,MAAM,YAAY,GAAG,wBAAwB,CAAA;AAE7C,mFAAmF;AACnF,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,GAAG,CAAA;AAExD,SAAS,UAAU,CAAC,MAAc,EAAE,MAAc;IAChD,OAAO,2BAA2B,MAAM,MAAM,MAAM,IAAI,CAAA;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAYlC;IACC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,YAAY,CAAA;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,eAAe,CAAA;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,IAAI,iBAAiB,CAAA;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAA;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,OAAO;QACpB,CAAC,CAAC,kBAAkB,UAAU,gCAAgC;QAC9D,CAAC,CAAC,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3B,CAAC,CAAC,YAAY,CAAA;IAElB,MAAM,KAAK,GAAG,OAAO;QACnB,CAAC,CAAC;kDAC4C,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC;4CAC5C,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC;6DACf,UAAU,CAAC,2BAA2B,EAAE,QAAQ,CAAC;2DACnD,UAAU,CAAC,yBAAyB,EAAE,QAAQ,CAAC;mDACvD,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC;gDACtC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC;mDAC7B,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC;OACnF;QACH,CAAC,CAAC;kDAC4C,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC;4CACrD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,wBAAwB;6DAC7D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;;;;OAIlH,CAAA;IAEL,OAAO;;;kBAGS,UAAU;0BACF,IAAI;;gDAEkB,UAAU;kDACR,IAAI;yDACG,IAAI;gEACG,UAAU;uEACH,SAAS;;uDAEzB,MAAM;UACnD,KAAK;;;;;;;;;;;;4BAYa,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM
|
|
1
|
+
{"version":3,"file":"full-wallet.js","sourceRoot":"","sources":["../../src/e2e/full-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-mock.d.ts","sourceRoot":"","sources":["../../src/e2e/wallet-mock.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAwB/D;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"wallet-mock.d.ts","sourceRoot":"","sources":["../../src/e2e/wallet-mock.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAG3C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAeD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAwB/D;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAgD9D;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBzF"}
|
package/dist/e2e/wallet-mock.js
CHANGED
|
@@ -80,15 +80,22 @@ export function eip6963MockCode(opts) {
|
|
|
80
80
|
}
|
|
81
81
|
window.ethereum = __provider
|
|
82
82
|
|
|
83
|
+
// EIP-6963: la metadata y el \`uuid\` son **estables por documento** (se generan
|
|
84
|
+
// una vez, no por anuncio) y el proveedor responde a \`eip6963:requestProvider\`
|
|
85
|
+
// con el **mismo** detalle, así que una dApp que descubre tarde (o que repite el
|
|
86
|
+
// descubrimiento) recibe **una sola** entrada en vez de dos con distinto uuid.
|
|
83
87
|
const __info = {
|
|
84
88
|
uuid: crypto.randomUUID ? crypto.randomUUID() : 'mock-uuid-0001',
|
|
85
89
|
name: '${walletName}',
|
|
86
90
|
icon: 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',
|
|
87
91
|
rdns: 'com.mock.wallet',
|
|
88
92
|
}
|
|
89
|
-
window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
93
|
+
window.__eip6963Announce = () => window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
90
94
|
detail: { info: __info, provider: __provider }
|
|
91
95
|
}))
|
|
96
|
+
// El listener va **antes** del primer anuncio: quien pregunte, recibe respuesta.
|
|
97
|
+
window.addEventListener('eip6963:requestProvider', window.__eip6963Announce)
|
|
98
|
+
window.__eip6963Announce()
|
|
92
99
|
`;
|
|
93
100
|
}
|
|
94
101
|
/**
|
|
@@ -112,21 +119,13 @@ export async function injectEIP6963(page, opts) {
|
|
|
112
119
|
};
|
|
113
120
|
}
|
|
114
121
|
await page.evaluateOnNewDocument(eip6963MockCode(codeOpts));
|
|
115
|
-
// Re-
|
|
122
|
+
// Re-anuncia tras el `load` el **mismo** proveedor/metadata (uuid estable) para
|
|
123
|
+
// que una dApp que monta su listener tarde lo vea una sola vez.
|
|
116
124
|
page.on('load', async () => {
|
|
117
125
|
await page.evaluate(() => {
|
|
118
|
-
const
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
const info = {
|
|
122
|
-
uuid: crypto.randomUUID ? crypto.randomUUID() : 'mock-uuid-0002',
|
|
123
|
-
name: 'MockWallet',
|
|
124
|
-
icon: 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"/>',
|
|
125
|
-
rdns: 'com.mock.wallet',
|
|
126
|
-
};
|
|
127
|
-
window.dispatchEvent(new CustomEvent('eip6963:announceProvider', {
|
|
128
|
-
detail: { info, provider }
|
|
129
|
-
}));
|
|
126
|
+
const announce = window.__eip6963Announce;
|
|
127
|
+
if (typeof announce === 'function')
|
|
128
|
+
announce();
|
|
130
129
|
});
|
|
131
130
|
});
|
|
132
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet-mock.js","sourceRoot":"","sources":["../../src/e2e/wallet-mock.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,wEAAwE;AACxE,qDAAqD;AACrD,EAAE;AACF,2GAA2G;AAC3G,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,oFAAoF;AACpF,EAAE;AACF,gFAAgF;AAGhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AA0B/C,MAAM,QAAQ,GAAG,wBAAwB,CAAA;AAEzC,kEAAkE;AAClE,SAAS,WAAW,CAAC,IAAsB;IACzC,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,eAAe,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,IAAI,iBAAiB,CAAA;IAC/D,OAAO;QACL,QAAQ,EAAE,kBAAkB,IAAI,gBAAgB;QAChD,KAAK,EAAE,kBAAkB,SAAS,gBAAgB;KACnD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAsB;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAC7C,OAAO;;;kBAGS,UAAU;0BACF,IAAI;;gDAEkB,UAAU;kDACR,IAAI;yDACG,IAAI;iDACZ,QAAQ;wDACD,KAAK;;;;;;;;GAQ1D,CAAA;AACH,CAAC;AAED,2EAA2E;AAC3E,kFAAkF;AAClF,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,YAAY,CAAA;IAClD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAC7C,OAAO;;;kBAGS,UAAU;0BACF,IAAI;;gDAEkB,UAAU;kDACR,IAAI;yDACG,IAAI;iDACZ,QAAQ;wDACD,KAAK
|
|
1
|
+
{"version":3,"file":"wallet-mock.js","sourceRoot":"","sources":["../../src/e2e/wallet-mock.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',
|