@pasosdejesus/m 0.22.0 → 0.22.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.
- package/dist/base-model/baseline.generated.d.ts +60 -0
- package/dist/base-model/baseline.generated.d.ts.map +1 -0
- package/dist/base-model/baseline.generated.js +1110 -0
- package/dist/base-model/baseline.generated.js.map +1 -0
- package/dist/base-model/check.d.ts +6 -0
- package/dist/base-model/check.d.ts.map +1 -0
- package/dist/base-model/check.js +195 -0
- package/dist/base-model/check.js.map +1 -0
- package/dist/base-model/generate.d.ts +37 -0
- package/dist/base-model/generate.d.ts.map +1 -0
- package/dist/base-model/generate.js +184 -0
- package/dist/base-model/generate.js.map +1 -0
- package/dist/base-model/guidelines.d.ts +13 -0
- package/dist/base-model/guidelines.d.ts.map +1 -0
- package/dist/base-model/guidelines.js +61 -0
- package/dist/base-model/guidelines.js.map +1 -0
- package/dist/base-model/index.d.ts +19 -0
- package/dist/base-model/index.d.ts.map +1 -0
- package/dist/base-model/index.js +22 -0
- package/dist/base-model/index.js.map +1 -0
- package/dist/base-model/parse-structure.d.ts +4 -0
- package/dist/base-model/parse-structure.d.ts.map +1 -0
- package/dist/base-model/parse-structure.js +170 -0
- package/dist/base-model/parse-structure.js.map +1 -0
- package/dist/base-model/queries.d.ts +41 -0
- package/dist/base-model/queries.d.ts.map +1 -0
- package/dist/base-model/queries.js +157 -0
- package/dist/base-model/queries.js.map +1 -0
- package/dist/base-model/references/learn-tg.d.ts +16 -0
- package/dist/base-model/references/learn-tg.d.ts.map +1 -0
- package/dist/base-model/references/learn-tg.js +60 -0
- package/dist/base-model/references/learn-tg.js.map +1 -0
- package/dist/base-model/types.d.ts +183 -0
- package/dist/base-model/types.d.ts.map +1 -0
- package/dist/base-model/types.js +10 -0
- package/dist/base-model/types.js.map +1 -0
- package/dist/base-model/version.d.ts +12 -0
- package/dist/base-model/version.d.ts.map +1 -0
- package/dist/base-model/version.js +20 -0
- package/dist/base-model/version.js.map +1 -0
- package/dist/debug/DebugConsole.js +6 -6
- package/dist/debug/DebugConsole.js.map +1 -1
- package/dist/debug/Logger.js +2 -2
- package/dist/debug/Logger.js.map +1 -1
- package/dist/e2e/assertions.js +3 -3
- package/dist/e2e/assertions.js.map +1 -1
- package/dist/e2e/env.js +3 -3
- package/dist/e2e/env.js.map +1 -1
- package/dist/i18n/common-cli.js +2 -2
- package/dist/i18n/common-cli.js.map +1 -1
- package/dist/tasks/base-model.d.ts +3 -0
- package/dist/tasks/base-model.d.ts.map +1 -0
- package/dist/tasks/base-model.js +177 -0
- package/dist/tasks/base-model.js.map +1 -0
- package/dist/tasks/context-reqs.d.ts.map +1 -1
- package/dist/tasks/context-reqs.js +1 -0
- package/dist/tasks/context-reqs.js.map +1 -1
- package/dist/tasks/db.js +5 -5
- package/dist/tasks/db.js.map +1 -1
- package/dist/tasks/edit.js +44 -44
- package/dist/tasks/edit.js.map +1 -1
- package/dist/tasks/engine.js +2 -2
- package/dist/tasks/engine.js.map +1 -1
- package/dist/tasks/env-diff.js +2 -2
- package/dist/tasks/env-diff.js.map +1 -1
- package/dist/tasks/glob.js +6 -6
- package/dist/tasks/glob.js.map +1 -1
- package/dist/tasks/grep.js +9 -9
- package/dist/tasks/grep.js.map +1 -1
- package/dist/tasks/readfile.js +17 -17
- package/dist/tasks/readfile.js.map +1 -1
- package/dist/tasks/req.js +17 -17
- package/dist/tasks/req.js.map +1 -1
- package/dist/tasks/wallet.js +15 -15
- package/dist/tasks/wallet.js.map +1 -1
- package/dist/tasks/writefile.js +8 -8
- package/dist/tasks/writefile.js.map +1 -1
- package/dist/templates/AGENTS.md.hbs +2 -2
- package/dist/templates/ARCHITECTURE.md.hbs +2 -2
- package/dist/templates/CONTRIBUTING.md.hbs +2 -2
- package/dist/templates/apps/.env.example.hbs +1 -1
- package/dist/templates/apps/hardhat/package.json +1 -1
- package/dist/templates/apps/hardhat/scripts/verifyDeployment.ts +10 -10
- package/dist/templates/apps/hardhat/sync-abis.mjs +3 -3
- package/dist/templates/apps/nextjs/app/page.tsx.hbs +2 -2
- package/package.json +1 -1
- package/src/blockchain/README.md +1 -1
- package/src/debug/README.md +1 -1
- package/src/e2e/README.md +2 -2
- package/src/tasks/README.md +9 -9
- package/src/test-utils/README.md +16 -16
package/src/test-utils/README.md
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
This directory contains generic mocking utilities for tests, designed to be reusable across multiple projects using similar stacks. These utilities have been extracted and adapted from the `learn.tg` project to become part of the `@pasosdeJesus/m` library.
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Christian Framework
|
|
8
8
|
|
|
9
9
|
As part of "Pasos de Jesús" projects, we recognize that our work serves a higher purpose: to bring the Good News to the world through technology. The Word of God is our supreme compass (brújula suprema). We strive to act with faithful diligence, excellence, and love, remembering that our technical work ultimately serves God's kingdom.
|
|
10
10
|
|
|
11
11
|
"Whatever you do, work at it with all your heart, as working for the Lord, not for human masters" (Colossians 3:23). This includes writing tests and creating tools that help others build reliable, truthful software.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## For users of projects generated by `m`
|
|
14
14
|
|
|
15
15
|
If you're developing a project generated with `m`, you can use these test utilities by importing them directly from the `@pasosdejesus/m` package.
|
|
16
16
|
|
|
17
|
-
>
|
|
17
|
+
> [WARN] **Vitest compatibility**: These mocks are designed for **Vitest 2.1.x**.
|
|
18
18
|
> They use `vi.hoisted()` and `vi.mock()`. For vitest 1.x, use version `0.14.x`
|
|
19
19
|
> of `@pasosdejesus/m`.
|
|
20
20
|
|
|
@@ -61,7 +61,7 @@ Esto configura automáticamente:
|
|
|
61
61
|
- **axios**: delegación a `mocks.mockAxiosGet/Post/Put/Delete/Request`
|
|
62
62
|
- **siwe**: `SiweMessage`
|
|
63
63
|
|
|
64
|
-
>
|
|
64
|
+
> [WARN] **CRÍTICO**: `vi.mock()` debe estar a **module scope** del archivo que vitest transforma.
|
|
65
65
|
> No funciona desde funciones dentro de módulos importados (como `setupMocks()`).
|
|
66
66
|
> Si usas `apiDbMocks.setupMocks()`, el `vi.mock('kysely')` interno **no se aplica**.
|
|
67
67
|
> Agrega los `vi.mock()` directamente en tu `vitest.setup.ts` o en el test file.
|
|
@@ -122,7 +122,7 @@ describe('My test', () => {
|
|
|
122
122
|
|
|
123
123
|
Check the example file included in your project: `templates/tests/test-utils.example.test.ts`.
|
|
124
124
|
|
|
125
|
-
##
|
|
125
|
+
## Structure
|
|
126
126
|
|
|
127
127
|
```
|
|
128
128
|
test-utils/
|
|
@@ -139,7 +139,7 @@ test-utils/
|
|
|
139
139
|
> (credenciales, deployments, ecosystem-addresses, slearn-info) están en
|
|
140
140
|
> `@pasosdejesus/mpdj/test-utils`. Ver [`packages/mpdj/src/test-utils/README.md`](../../mpdj/src/test-utils/README.md).
|
|
141
141
|
|
|
142
|
-
##
|
|
142
|
+
## Available Modules
|
|
143
143
|
|
|
144
144
|
### 1. `fs-mocks.ts` – Filesystem
|
|
145
145
|
|
|
@@ -181,7 +181,7 @@ beforeEach(() => {
|
|
|
181
181
|
- `createMockDb()`: Flat mock DB object with chainable methods — simple, no class needed
|
|
182
182
|
- `apiDbMocks` / `libDbMocks`: Pre-configured instances for API routes and libraries
|
|
183
183
|
|
|
184
|
-
>
|
|
184
|
+
> [WARN] **CRÍTICO**: `vi.mock()` debe estar a **module scope**. El método `setupMocks()`
|
|
185
185
|
> llama `vi.mock()` internamente pero vitest **no lo hoistea** porque está dentro de
|
|
186
186
|
> una factory en un módulo importado. Agrega los `vi.mock()` directamente:
|
|
187
187
|
|
|
@@ -377,7 +377,7 @@ viemMocks.createPublicClient.mockReturnValue({ ... })
|
|
|
377
377
|
- Mock chains are extensible; add new chains as needed
|
|
378
378
|
- **Lesson learned:** Some functions like `privateKeyToAccount` and `formatUnits` are necessary for transaction tests
|
|
379
379
|
|
|
380
|
-
##
|
|
380
|
+
## Complete Usage Examples
|
|
381
381
|
|
|
382
382
|
### Configuration for API Route Tests
|
|
383
383
|
|
|
@@ -432,7 +432,7 @@ test('renders component with wallet connection', () => {
|
|
|
432
432
|
})
|
|
433
433
|
```
|
|
434
434
|
|
|
435
|
-
##
|
|
435
|
+
## Important Lessons Learned
|
|
436
436
|
|
|
437
437
|
### 1. **Import order**
|
|
438
438
|
Radix UI mocks must be imported **before** importing any components that use them. Place `import '@pasosdejesus/m/test-utils/radix-mocks'` at the beginning of test files.
|
|
@@ -460,11 +460,11 @@ Configure mocks to simulate errors (e.g., `mockRejectedValue`) to test error flo
|
|
|
460
460
|
### 8. **`vi.mock` hoisting in Vitest (CRÍTICO)**
|
|
461
461
|
`vi.mock` calls are hoisted to the top of the **file being transformed by vitest**. NO se hoistean desde funciones dentro de módulos importados. Ejemplo:
|
|
462
462
|
```typescript
|
|
463
|
-
//
|
|
463
|
+
// [FAIL] NO FUNCIONA — el vi.mock está dentro de setupMocks() en un módulo importado
|
|
464
464
|
import { apiDbMocks } from '@pasosdejesus/m/test-utils'
|
|
465
465
|
apiDbMocks.setupMocks() // vi.mock('kysely') interno NO se aplica
|
|
466
466
|
|
|
467
|
-
//
|
|
467
|
+
// [OK] FUNCIONA — vi.mock() a module scope del archivo que vitest transforma
|
|
468
468
|
vi.mock('kysely', () => ({ Kysely: MockKysely, PostgresDialect: vi.fn(), sql: mockSql }))
|
|
469
469
|
```
|
|
470
470
|
Esto aplica a TODOS los `setupMocks()` de los test-utils. Para usar `apiDbMocks` correctamente, agrega el `vi.mock()` a module scope en tu `vitest.setup.ts` (ver ejemplo en §2).
|
|
@@ -534,14 +534,14 @@ Ensure that React versions are consistent between the test utilities package and
|
|
|
534
534
|
### 15. **Global React setup for mocks**
|
|
535
535
|
When using Radix UI mocks or other React-based mocks in Vitest setup files, set `global.React = React` before importing the mocks to ensure proper React instance sharing. This is especially important when mocks are used in `vitest.setup.ts`.
|
|
536
536
|
|
|
537
|
-
##
|
|
537
|
+
## Configuration for Other Projects
|
|
538
538
|
|
|
539
539
|
These utilities can be used in other projects with the following adaptations:
|
|
540
540
|
|
|
541
541
|
### 1. **Kysely Configuration**
|
|
542
542
|
If the project uses a different path for Kysely configuration:
|
|
543
543
|
```typescript
|
|
544
|
-
//
|
|
544
|
+
// [WARN] configPath currently non-functional due to vi.mock hoisting
|
|
545
545
|
// For different paths, configure aliases in Vite or mock manually
|
|
546
546
|
createMockKysely({ skipConfigMock: true }) // And mock the module manually
|
|
547
547
|
```
|
|
@@ -594,7 +594,7 @@ export function getMyMocks() {
|
|
|
594
594
|
}
|
|
595
595
|
```
|
|
596
596
|
|
|
597
|
-
##
|
|
597
|
+
## Contribution
|
|
598
598
|
|
|
599
599
|
The utilities are designed to be part of `@pasosdeJesus/m`. To contribute:
|
|
600
600
|
|
|
@@ -603,7 +603,7 @@ The utilities are designed to be part of `@pasosdeJesus/m`. To contribute:
|
|
|
603
603
|
3. **Test**: Ensure utilities work across multiple projects
|
|
604
604
|
4. **Christian principles**: Work with diligence, humility, and love (Colossians 3:23)
|
|
605
605
|
|
|
606
|
-
##
|
|
606
|
+
## Integration with Existing Projects
|
|
607
607
|
|
|
608
608
|
These utilities are now part of the `@pasosdeJesus/m` package and ready to use. They have been successfully integrated into the `learn.tg` project, serving as a reference implementation.
|
|
609
609
|
|
|
@@ -643,7 +643,7 @@ beforeAll(() => {
|
|
|
643
643
|
});
|
|
644
644
|
```
|
|
645
645
|
|
|
646
|
-
##
|
|
646
|
+
## License
|
|
647
647
|
|
|
648
648
|
Part of `@pasosdeJesus/m` – Utilities for "Pasos de Jesús" projects.
|
|
649
649
|
|