@pasosdejesus/m 0.25.0 → 0.26.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.
Files changed (124) hide show
  1. package/dist/CHANGELOG.md +59 -0
  2. package/dist/base-model/baseline.generated.d.ts +48 -0
  3. package/dist/base-model/baseline.generated.d.ts.map +1 -0
  4. package/dist/base-model/baseline.generated.js +930 -0
  5. package/dist/base-model/baseline.generated.js.map +1 -0
  6. package/dist/base-model/check.d.ts +6 -0
  7. package/dist/base-model/check.d.ts.map +1 -0
  8. package/dist/base-model/check.js +195 -0
  9. package/dist/base-model/check.js.map +1 -0
  10. package/dist/base-model/generate.d.ts +42 -0
  11. package/dist/base-model/generate.d.ts.map +1 -0
  12. package/dist/base-model/generate.js +241 -0
  13. package/dist/base-model/generate.js.map +1 -0
  14. package/dist/base-model/guidelines.d.ts +13 -0
  15. package/dist/base-model/guidelines.d.ts.map +1 -0
  16. package/dist/base-model/guidelines.js +61 -0
  17. package/dist/base-model/guidelines.js.map +1 -0
  18. package/dist/base-model/index.d.ts +22 -0
  19. package/dist/base-model/index.d.ts.map +1 -0
  20. package/dist/base-model/index.js +26 -0
  21. package/dist/base-model/index.js.map +1 -0
  22. package/dist/base-model/parse-structure.d.ts +4 -0
  23. package/dist/base-model/parse-structure.d.ts.map +1 -0
  24. package/dist/base-model/parse-structure.js +170 -0
  25. package/dist/base-model/parse-structure.js.map +1 -0
  26. package/dist/base-model/queries.d.ts +34 -0
  27. package/dist/base-model/queries.d.ts.map +1 -0
  28. package/dist/base-model/queries.js +118 -0
  29. package/dist/base-model/queries.js.map +1 -0
  30. package/dist/base-model/references/learn-tg.d.ts +21 -0
  31. package/dist/base-model/references/learn-tg.d.ts.map +1 -0
  32. package/dist/base-model/references/learn-tg.js +65 -0
  33. package/dist/base-model/references/learn-tg.js.map +1 -0
  34. package/dist/base-model/references/msip.d.ts +29 -0
  35. package/dist/base-model/references/msip.d.ts.map +1 -0
  36. package/dist/base-model/references/msip.js +33 -0
  37. package/dist/base-model/references/msip.js.map +1 -0
  38. package/dist/base-model/types.d.ts +207 -0
  39. package/dist/base-model/types.d.ts.map +1 -0
  40. package/dist/base-model/types.js +10 -0
  41. package/dist/base-model/types.js.map +1 -0
  42. package/dist/base-model/version.d.ts +19 -0
  43. package/dist/base-model/version.d.ts.map +1 -0
  44. package/dist/base-model/version.js +26 -0
  45. package/dist/base-model/version.js.map +1 -0
  46. package/dist/base-model/wallet-link.d.ts +69 -0
  47. package/dist/base-model/wallet-link.d.ts.map +1 -0
  48. package/dist/base-model/wallet-link.js +220 -0
  49. package/dist/base-model/wallet-link.js.map +1 -0
  50. package/dist/base-model/wallet-link.test.d.ts +2 -0
  51. package/dist/base-model/wallet-link.test.d.ts.map +1 -0
  52. package/dist/base-model/wallet-link.test.js +147 -0
  53. package/dist/base-model/wallet-link.test.js.map +1 -0
  54. package/dist/e2e/full-wallet.d.ts +19 -0
  55. package/dist/e2e/full-wallet.d.ts.map +1 -1
  56. package/dist/e2e/full-wallet.js +12 -4
  57. package/dist/e2e/full-wallet.js.map +1 -1
  58. package/dist/e2e/full-wallet.test.js +26 -0
  59. package/dist/e2e/full-wallet.test.js.map +1 -1
  60. package/dist/e2e/in-app-wallet.d.ts +23 -0
  61. package/dist/e2e/in-app-wallet.d.ts.map +1 -0
  62. package/dist/e2e/in-app-wallet.js +40 -0
  63. package/dist/e2e/in-app-wallet.js.map +1 -0
  64. package/dist/e2e/in-app-wallet.test.d.ts +2 -0
  65. package/dist/e2e/in-app-wallet.test.d.ts.map +1 -0
  66. package/dist/e2e/in-app-wallet.test.js +52 -0
  67. package/dist/e2e/in-app-wallet.test.js.map +1 -0
  68. package/dist/e2e/index.d.ts +5 -1
  69. package/dist/e2e/index.d.ts.map +1 -1
  70. package/dist/e2e/index.js +2 -0
  71. package/dist/e2e/index.js.map +1 -1
  72. package/dist/e2e/warmup.d.ts +38 -0
  73. package/dist/e2e/warmup.d.ts.map +1 -0
  74. package/dist/e2e/warmup.js +84 -0
  75. package/dist/e2e/warmup.js.map +1 -0
  76. package/dist/e2e/warmup.test.d.ts +2 -0
  77. package/dist/e2e/warmup.test.d.ts.map +1 -0
  78. package/dist/e2e/warmup.test.js +67 -0
  79. package/dist/e2e/warmup.test.js.map +1 -0
  80. package/dist/i18n/locales/cli.d.ts.map +1 -1
  81. package/dist/i18n/locales/cli.js +8 -0
  82. package/dist/i18n/locales/cli.js.map +1 -1
  83. package/dist/m.js +13 -1
  84. package/dist/m.js.map +1 -1
  85. package/dist/tasks/base-model.d.ts +4 -0
  86. package/dist/tasks/base-model.d.ts.map +1 -0
  87. package/dist/tasks/base-model.js +260 -0
  88. package/dist/tasks/base-model.js.map +1 -0
  89. package/dist/tasks/db.d.ts.map +1 -1
  90. package/dist/tasks/db.js +27 -0
  91. package/dist/tasks/db.js.map +1 -1
  92. package/dist/tasks/warmup.d.ts +4 -0
  93. package/dist/tasks/warmup.d.ts.map +1 -0
  94. package/dist/tasks/warmup.js +67 -0
  95. package/dist/tasks/warmup.js.map +1 -0
  96. package/dist/tasks/warmup.test.d.ts +2 -0
  97. package/dist/tasks/warmup.test.d.ts.map +1 -0
  98. package/dist/tasks/warmup.test.js +40 -0
  99. package/dist/tasks/warmup.test.js.map +1 -0
  100. package/dist/templates/apps/nextjs/package.json.hbs +1 -1
  101. package/dist/test-utils/console.d.ts +37 -0
  102. package/dist/test-utils/console.d.ts.map +1 -0
  103. package/dist/test-utils/console.js +52 -0
  104. package/dist/test-utils/console.js.map +1 -0
  105. package/dist/test-utils/console.test.d.ts +2 -0
  106. package/dist/test-utils/console.test.d.ts.map +1 -0
  107. package/dist/test-utils/console.test.js +57 -0
  108. package/dist/test-utils/console.test.js.map +1 -0
  109. package/dist/test-utils/index.d.ts +1 -0
  110. package/dist/test-utils/index.d.ts.map +1 -1
  111. package/dist/test-utils/index.js +1 -0
  112. package/dist/test-utils/index.js.map +1 -1
  113. package/dist/test-utils/kysely-mocks.d.ts +163 -33
  114. package/dist/test-utils/kysely-mocks.d.ts.map +1 -1
  115. package/dist/test-utils/kysely-mocks.js +147 -18
  116. package/dist/test-utils/kysely-mocks.js.map +1 -1
  117. package/dist/test-utils/kysely-mocks.test.d.ts +2 -0
  118. package/dist/test-utils/kysely-mocks.test.d.ts.map +1 -0
  119. package/dist/test-utils/kysely-mocks.test.js +94 -0
  120. package/dist/test-utils/kysely-mocks.test.js.map +1 -0
  121. package/package.json +5 -1
  122. package/src/e2e/README.md +42 -0
  123. package/src/tasks/README.md +1 -0
  124. package/src/test-utils/README.md +28 -0
@@ -0,0 +1,260 @@
1
+ import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
2
+ import { dirname } from 'node:path';
3
+ import { createHash } from 'node:crypto';
4
+ import { spawnSync } from 'node:child_process';
5
+ import { info, success, warn, problem } from '../util/colors.js';
6
+ import { parseFlags } from '../util/cli-parser.js';
7
+ import { BASE_MODEL_TABLES, BASE_MODEL_VERSION } from '../base-model/version.js';
8
+ import { parseStructureSql } from '../base-model/parse-structure.js';
9
+ import { buildBaseline, buildInventory, renderGeneratedModule } from '../base-model/generate.js';
10
+ import { MSIP_ADDITIONS } from '../base-model/references/msip.js';
11
+ import { BASELINE_INVENTORY, BASELINE_SQL } from '../base-model/baseline.generated.js';
12
+ const FLAGS = {
13
+ 'from-structure': { type: 'string' },
14
+ 'from-db': { type: 'boolean' },
15
+ 'extensions': { type: 'string' },
16
+ 'additions': { type: 'string' },
17
+ 'out': { type: 'string' },
18
+ 'print': { type: 'boolean' },
19
+ 'kept': { type: 'boolean' },
20
+ };
21
+ function readOptions() {
22
+ const { options } = parseFlags(process.argv.slice(3), FLAGS);
23
+ return {
24
+ fromStructure: options['from-structure'],
25
+ fromDb: Boolean(options['from-db']),
26
+ extensions: options['extensions'],
27
+ additions: options['additions'],
28
+ out: options['out'],
29
+ print: Boolean(options['print']),
30
+ kept: Boolean(options['kept']),
31
+ };
32
+ }
33
+ function readReference(options) {
34
+ if (options.fromStructure) {
35
+ return { sql: readFileSync(options.fromStructure, 'utf-8'), source: options.fromStructure };
36
+ }
37
+ if (options.fromDb) {
38
+ const database = process.env.PGDATABASE;
39
+ if (!database)
40
+ throw new Error('--from-db needs PGDATABASE (or use --from-structure <file>)');
41
+ const result = spawnSync('pg_dump', ['--schema-only', '--no-owner', '--no-privileges', database], {
42
+ encoding: 'utf-8',
43
+ stdio: ['ignore', 'pipe', 'pipe'],
44
+ });
45
+ if (result.status !== 0)
46
+ throw new Error(`pg_dump failed: ${(result.stderr ?? '').toString().trim()}`);
47
+ return { sql: result.stdout, source: `pg_dump ${database}` };
48
+ }
49
+ throw new Error('Missing reference: use --from-structure <structure.sql> or --from-db');
50
+ }
51
+ function readExtensions(options) {
52
+ if (!options.extensions)
53
+ return { extensions: { columns: [], constraints: [] }, source: 'none' };
54
+ return { extensions: JSON.parse(readFileSync(options.extensions, 'utf-8')), source: options.extensions };
55
+ }
56
+ /**
57
+ * Additions: what the base declares beyond the reference. With msip-2.2 as the
58
+ * reference the built-in list is `references/msip.ts`; `--additions <file.json>`
59
+ * replaces it. `references/learn-tg.ts` is only a subtraction list (it belongs to
60
+ * a learn.tg reference) and is not used by default any more.
61
+ */
62
+ function readAdditions(options) {
63
+ if (!options.additions)
64
+ return { additions: MSIP_ADDITIONS, source: 'built-in msip additions (references/msip.ts)' };
65
+ return { additions: JSON.parse(readFileSync(options.additions, 'utf-8')), source: options.additions };
66
+ }
67
+ function keptColumns(inventory, table) {
68
+ return Object.keys(inventory.tables[table]?.columns ?? {});
69
+ }
70
+ function diffInventories(base, other) {
71
+ const diffs = [];
72
+ for (const [table, tableSpec] of Object.entries(base.tables)) {
73
+ const otherTable = other.tables[table];
74
+ if (!otherTable) {
75
+ diffs.push({ table, onlyInBase: Object.keys(tableSpec.columns), onlyInOther: [] });
76
+ continue;
77
+ }
78
+ const baseColumns = Object.keys(tableSpec.columns);
79
+ const otherColumns = Object.keys(otherTable.columns);
80
+ const onlyInBase = baseColumns.filter((column) => !otherColumns.includes(column));
81
+ const onlyInOther = otherColumns.filter((column) => !baseColumns.includes(column));
82
+ const baseConstraints = tableSpec.constraints.map((constraint) => constraint.name);
83
+ const otherConstraints = otherTable.constraints.map((constraint) => constraint.name);
84
+ const missingConstraints = baseConstraints.filter((name) => !otherConstraints.includes(name));
85
+ const extraConstraints = otherConstraints.filter((name) => !baseConstraints.includes(name));
86
+ if (onlyInBase.length > 0 || onlyInOther.length > 0 || missingConstraints.length > 0 || extraConstraints.length > 0) {
87
+ diffs.push({
88
+ table,
89
+ onlyInBase: [...onlyInBase, ...missingConstraints.map((name) => `constraint:${name}`)],
90
+ onlyInOther: [...onlyInOther, ...extraConstraints.map((name) => `constraint:${name}`)],
91
+ });
92
+ }
93
+ }
94
+ return diffs;
95
+ }
96
+ async function runDump() {
97
+ const options = readOptions();
98
+ const say = options.print ? (message) => process.stderr.write(message + '\n') : info;
99
+ const sayWarn = options.print ? (message) => process.stderr.write(message + '\n') : warn;
100
+ const reference = readReference(options);
101
+ const { extensions, source: extensionsSource } = readExtensions(options);
102
+ const { additions, source: additionsSource } = readAdditions(options);
103
+ const sha256 = createHash('sha256').update(reference.sql).digest('hex');
104
+ const parsed = parseStructureSql(reference.sql);
105
+ const baseline = buildBaseline({
106
+ parsed,
107
+ extensions,
108
+ additions,
109
+ additionsSource,
110
+ version: BASE_MODEL_VERSION,
111
+ reference: { source: reference.source, sha256 },
112
+ });
113
+ const consideredTables = [...new Set([...BASE_MODEL_TABLES, ...additions.tables.map((entry) => entry.name)])];
114
+ for (const table of consideredTables) {
115
+ if (parsed.tables[table])
116
+ continue;
117
+ if (additions.tables.some((entry) => entry.name === table)) {
118
+ say(` ${table}: no está en la referencia, lo aportan las adiciones`);
119
+ }
120
+ else {
121
+ sayWarn(`[WARN] "${table}" es del modelo base pero no está en la referencia ni en las adiciones`);
122
+ }
123
+ }
124
+ for (const entry of extensions.columns) {
125
+ const [table, column] = entry.split('.');
126
+ if (!parsed.tables[table]?.columns.some((candidate) => candidate.name === column)) {
127
+ sayWarn(`[WARN] declared extension not in the reference: ${entry}`);
128
+ }
129
+ }
130
+ say(`Base model ${BASE_MODEL_VERSION} from ${reference.source} (sha256 ${sha256.slice(0, 12)}...)`);
131
+ say(`Extensions (subtraction): ${extensionsSource} (${extensions.columns.length} columns, ${extensions.constraints.length} constraints)`);
132
+ say(`Additions (${additionsSource}): ${additions.tables.length} tables, ${additions.columns.length} columns, ${additions.constraints.length} constraints`);
133
+ for (const [table, counts] of Object.entries(baseline.manifest.tables)) {
134
+ say(` ${table}: ${counts.columns} base columns, ${counts.constraints} constraints, ${counts.extensions} extensions`);
135
+ }
136
+ if (options.kept) {
137
+ say('Base columns kept per table (review that none belongs to a consumer):');
138
+ for (const table of Object.keys(baseline.inventory.tables)) {
139
+ say(` ${table}: ${keptColumns(baseline.inventory, table).join(', ')}`);
140
+ }
141
+ }
142
+ if (options.print) {
143
+ process.stdout.write(baseline.sql);
144
+ return;
145
+ }
146
+ const out = options.out ?? 'packages/m/src/base-model/baseline.generated.ts';
147
+ writeFileSync(out, renderGeneratedModule(baseline), 'utf-8');
148
+ success(`[OK] wrote ${out}`);
149
+ }
150
+ async function runVerify() {
151
+ const options = readOptions();
152
+ const reference = readReference(options);
153
+ const { extensions } = readExtensions(options);
154
+ const { additions, source: additionsSource } = readAdditions(options);
155
+ const parsed = parseStructureSql(reference.sql);
156
+ const derived = buildInventory(parsed, { parsed, extensions, additions, version: BASE_MODEL_VERSION });
157
+ const diffs = diffInventories(BASELINE_INVENTORY, derived);
158
+ const missingExtensions = extensions.columns.filter((entry) => {
159
+ const [table, column] = entry.split('.');
160
+ return !parsed.tables[table]?.columns.some((candidate) => candidate.name === column);
161
+ });
162
+ // An addition that does not reach the derived baseline means the list and the
163
+ // baseline diverged; one that is already in the reference is redundant.
164
+ const missingAdditions = [];
165
+ const redundantAdditions = [];
166
+ for (const table of additions.tables) {
167
+ if (!derived.tables[table.name])
168
+ missingAdditions.push(table.name);
169
+ if (parsed.tables[table.name])
170
+ redundantAdditions.push(table.name);
171
+ }
172
+ for (const column of additions.columns) {
173
+ if (!derived.tables[column.table]?.columns[column.name])
174
+ missingAdditions.push(`${column.table}.${column.name}`);
175
+ if (parsed.tables[column.table]?.columns.some((candidate) => candidate.name === column.name)) {
176
+ redundantAdditions.push(`${column.table}.${column.name}`);
177
+ }
178
+ }
179
+ for (const constraint of additions.constraints) {
180
+ const inDerived = derived.tables[constraint.table]?.constraints.some((entry) => entry.name === constraint.name);
181
+ if (!inDerived)
182
+ missingAdditions.push(`${constraint.table}.${constraint.name}`);
183
+ if (parsed.tables[constraint.table]?.constraints.some((candidate) => candidate.name === constraint.name)) {
184
+ redundantAdditions.push(`${constraint.table}.${constraint.name}`);
185
+ }
186
+ }
187
+ info(`Verifying shipped base model ${BASE_MODEL_VERSION} against ${reference.source}`);
188
+ info(` base tables: ${Object.keys(BASELINE_INVENTORY.tables).length}, derived from reference: ${Object.keys(derived.tables).length}`);
189
+ info(` extensions (subtraction): ${extensions.columns.length} columns, ${extensions.constraints.length} constraints`);
190
+ info(` additions (${additionsSource}): ${additions.tables.length} tables, ${additions.columns.length} columns, ${additions.constraints.length} constraints`);
191
+ for (const entry of missingExtensions) {
192
+ problem(`[FAIL] declared extension is not in the reference: ${entry}`);
193
+ }
194
+ for (const entry of missingAdditions) {
195
+ problem(`[FAIL] declared addition did not reach the baseline: ${entry}`);
196
+ }
197
+ for (const entry of redundantAdditions) {
198
+ warn(`[WARN] addition already in the reference (not needed): ${entry}`);
199
+ }
200
+ for (const diff of diffs) {
201
+ if (diff.onlyInBase.length > 0)
202
+ warn(`[WARN] ${diff.table}: only in the shipped baseline: ${diff.onlyInBase.join(', ')}`);
203
+ if (diff.onlyInOther.length > 0)
204
+ warn(`[WARN] ${diff.table}: only in the reference (undedared or stale): ${diff.onlyInOther.join(', ')}`);
205
+ }
206
+ if (diffs.length > 0 || missingExtensions.length > 0 || missingAdditions.length > 0) {
207
+ process.exitCode = 1;
208
+ problem('[FAIL] the shipped baseline is not consistent with the reference, the extensions and the additions');
209
+ return;
210
+ }
211
+ success('[OK] shipped baseline matches the reference minus the extensions plus the additions');
212
+ info('Base columns classified as base (review them when the reference changes):');
213
+ for (const table of Object.keys(BASELINE_INVENTORY.tables)) {
214
+ info(` ${table}: ${keptColumns(BASELINE_INVENTORY, table).join(', ')}`);
215
+ }
216
+ }
217
+ /**
218
+ * Imprime el baseline **publicado** (el que un consumidor aplica a una base
219
+ * nueva). Con `--out <archivo>` lo guarda. Lo usa la migración del consumidor;
220
+ * `base-model:dump` es distinto: **regenera** el baseline desde una referencia.
221
+ */
222
+ async function runBaseline() {
223
+ const options = readOptions();
224
+ const sql = BASELINE_SQL.endsWith('\n') ? BASELINE_SQL : `${BASELINE_SQL}\n`;
225
+ if (options.out) {
226
+ mkdirSync(dirname(options.out), { recursive: true });
227
+ writeFileSync(options.out, sql, 'utf-8');
228
+ success(`[OK] wrote ${options.out}`);
229
+ return;
230
+ }
231
+ process.stdout.write(sql);
232
+ }
233
+ export async function runBaseModelBaseline() {
234
+ try {
235
+ await runBaseline();
236
+ }
237
+ catch (error) {
238
+ problem(error instanceof Error ? error.message : String(error));
239
+ process.exitCode = 1;
240
+ }
241
+ }
242
+ export async function runBaseModelDump() {
243
+ try {
244
+ await runDump();
245
+ }
246
+ catch (error) {
247
+ problem(error instanceof Error ? error.message : String(error));
248
+ process.exitCode = 1;
249
+ }
250
+ }
251
+ export async function runBaseModelVerify() {
252
+ try {
253
+ await runVerify();
254
+ }
255
+ catch (error) {
256
+ problem(error instanceof Error ? error.message : String(error));
257
+ process.exitCode = 1;
258
+ }
259
+ }
260
+ //# sourceMappingURL=base-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-model.js","sourceRoot":"","sources":["../../src/tasks/base-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/tasks/db.ts"],"names":[],"mappings":"AA0NA,wBAAsB,WAAW,kBAUhC;AAED,wBAAsB,SAAS,kBAU9B;AAED,wBAAsB,oBAAoB,kBAyJzC;AAED,wBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,iBAyDhD;AAED,wBAAsB,mBAAmB,kBAkBxC;AAkBD,wBAAsB,kBAAkB,kBAyCvC;AAED,wBAAsB,kBAAkB,kBAgCvC;AAED,wBAAsB,aAAa,kBAclC;AA4BD,wBAAsB,YAAY,kBAiDjC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,iBA4B9C;AAED,wBAAsB,aAAa,kBAuBlC;AAED,wBAAsB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,iBA6B5C;AAED,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,iBAmD/C;AAED,wBAAsB,SAAS,kBAAoD;AAEnF;;GAEG;AACH,wBAAsB,UAAU,kBAsF/B"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/tasks/db.ts"],"names":[],"mappings":"AA0NA,wBAAsB,WAAW,kBAUhC;AAED,wBAAsB,SAAS,kBAU9B;AAED,wBAAsB,oBAAoB,kBAyJzC;AAED,wBAAsB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,iBAyDhD;AAED,wBAAsB,mBAAmB,kBAkBxC;AAkBD,wBAAsB,kBAAkB,kBAyCvC;AAED,wBAAsB,kBAAkB,kBAgCvC;AAED,wBAAsB,aAAa,kBAclC;AA4BD,wBAAsB,YAAY,kBAiDjC;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,iBA4B9C;AAED,wBAAsB,aAAa,kBAuBlC;AAED,wBAAsB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,iBA6B5C;AAED,wBAAsB,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,iBAmD/C;AAED,wBAAsB,SAAS,kBAAoD;AAEnF;;GAEG;AACH,wBAAsB,UAAU,kBAgH/B"}
package/dist/tasks/db.js CHANGED
@@ -794,6 +794,33 @@ export async function runDbCheck() {
794
794
  } },
795
795
  ],
796
796
  },
797
+ {
798
+ name: 'Base model',
799
+ tables: [
800
+ { name: 'usuario + geo catalogs', verify: async (d) => {
801
+ const { sql } = await import('kysely');
802
+ const { checkBaseModel, formatCheckReport } = await import('../base-model/index.js');
803
+ const present = await sql `
804
+ SELECT count(*)::text AS total
805
+ FROM information_schema.tables
806
+ WHERE table_schema = 'public' AND table_name = 'usuario'`.execute(d);
807
+ if (Number(present.rows[0]?.total ?? 0) === 0)
808
+ return null;
809
+ const executor = {
810
+ query: async (text) => {
811
+ const result = await sql.raw(text).execute(d);
812
+ return { rows: (result.rows ?? result) };
813
+ },
814
+ };
815
+ const report = await checkBaseModel(executor);
816
+ if (!report.ok) {
817
+ return { ok: false, error: formatCheckReport(report).replace(/\n/g, ' | ') };
818
+ }
819
+ const extensions = report.findings.filter((finding) => finding.grade === 'extra').length;
820
+ return { ok: true, columns: `${report.tablesChecked} tables, ${extensions} consumer additions` };
821
+ } },
822
+ ],
823
+ },
797
824
  ];
798
825
  let errors = 0;
799
826
  let active = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/tasks/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/tasks/db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /** Reads the route list from `e2e/warmup-paths.json` or `package.json:e2e.warmupPaths`. */
2
+ export declare function resolveWarmupPaths(cwd: string): string[] | null;
3
+ export declare function runWarmup(args: string[]): Promise<void>;
4
+ //# sourceMappingURL=warmup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup.d.ts","sourceRoot":"","sources":["../../src/tasks/warmup.ts"],"names":[],"mappings":"AAqBA,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAsB/D;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7D"}
@@ -0,0 +1,67 @@
1
+ // warmup — calienta un sitio (Next.js compila rutas bajo demanda) (m/REQ/49 P5).
2
+ //
3
+ // La lista de rutas vive en el consumidor: `e2e/warmup-paths.json` o
4
+ // `package.json:e2e.warmupPaths`. El sitio base sale de `SITE_URL`.
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { warmup } from '../e2e/warmup.js';
8
+ import { problem, info, success } from '../util/colors.js';
9
+ import { createTranslator } from '../i18n/createTranslator.js';
10
+ import { detectLocale } from '../util/locale.js';
11
+ import commonCli from '../i18n/common-cli.js';
12
+ const t = createTranslator(detectLocale(), {
13
+ en: {
14
+ 'warmup.no_paths': 'No warmup paths found. Create e2e/warmup-paths.json or set package.json:e2e.warmupPaths.',
15
+ },
16
+ es: {
17
+ 'warmup.no_paths': 'No se encontraron rutas de warmup. Crea e2e/warmup-paths.json o define package.json:e2e.warmupPaths.',
18
+ },
19
+ }, commonCli);
20
+ /** Reads the route list from `e2e/warmup-paths.json` or `package.json:e2e.warmupPaths`. */
21
+ export function resolveWarmupPaths(cwd) {
22
+ const jsonPath = path.join(cwd, 'e2e', 'warmup-paths.json');
23
+ if (fs.existsSync(jsonPath)) {
24
+ try {
25
+ const data = JSON.parse(fs.readFileSync(jsonPath, 'utf8'));
26
+ const paths = Array.isArray(data) ? data : data?.paths;
27
+ if (Array.isArray(paths))
28
+ return paths.filter((p) => typeof p === 'string');
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
34
+ const pkgPath = path.join(cwd, 'package.json');
35
+ if (fs.existsSync(pkgPath)) {
36
+ try {
37
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
38
+ const paths = pkg?.e2e?.warmupPaths;
39
+ if (Array.isArray(paths))
40
+ return paths.filter((p) => typeof p === 'string');
41
+ }
42
+ catch {
43
+ return null;
44
+ }
45
+ }
46
+ return null;
47
+ }
48
+ export async function runWarmup(args) {
49
+ const cwd = process.cwd();
50
+ const filter = args.find((a) => !a.startsWith('--'));
51
+ const sequential = args.includes('--sequential');
52
+ const paths = resolveWarmupPaths(cwd);
53
+ if (!paths || paths.length === 0) {
54
+ problem(t('warmup.no_paths'));
55
+ process.exit(1);
56
+ }
57
+ const baseUrl = process.env.SITE_URL || 'http://localhost:4000';
58
+ info(`SITE_URL=${baseUrl}${sequential ? ' (secuencial)' : ''}`);
59
+ const outcome = await warmup(baseUrl, {
60
+ paths,
61
+ filter,
62
+ mode: sequential ? 'sequential' : 'two-pass',
63
+ });
64
+ success(`Warmup: ${outcome.results.length} ruta(s), ${outcome.slow.length} lenta(s), ${outcome.errors} error(es).`);
65
+ process.exit(0);
66
+ }
67
+ //# sourceMappingURL=warmup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup.js","sourceRoot":"","sources":["../../src/tasks/warmup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=warmup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup.test.d.ts","sourceRoot":"","sources":["../../src/tasks/warmup.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import { afterEach, describe, expect, it } from 'vitest';
2
+ import * as fs from 'fs';
3
+ import * as os from 'os';
4
+ import * as path from 'path';
5
+ import { resolveWarmupPaths } from './warmup.js';
6
+ // P5 (m/REQ/49): the route list lives in the consumer.
7
+ let dirs = [];
8
+ function tmpProject() {
9
+ const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'm-warmup-'));
10
+ dirs.push(dir);
11
+ return dir;
12
+ }
13
+ afterEach(() => {
14
+ for (const dir of dirs)
15
+ fs.rmSync(dir, { recursive: true, force: true });
16
+ dirs = [];
17
+ });
18
+ describe('resolveWarmupPaths (P5)', () => {
19
+ it('reads e2e/warmup-paths.json (array form)', () => {
20
+ const dir = tmpProject();
21
+ fs.mkdirSync(path.join(dir, 'e2e'), { recursive: true });
22
+ fs.writeFileSync(path.join(dir, 'e2e', 'warmup-paths.json'), JSON.stringify(['/en', '/api/a']));
23
+ expect(resolveWarmupPaths(dir)).toEqual(['/en', '/api/a']);
24
+ });
25
+ it('reads e2e/warmup-paths.json (object form) and drops non-strings', () => {
26
+ const dir = tmpProject();
27
+ fs.mkdirSync(path.join(dir, 'e2e'), { recursive: true });
28
+ fs.writeFileSync(path.join(dir, 'e2e', 'warmup-paths.json'), JSON.stringify({ paths: ['/en', 1, '/api/a'] }));
29
+ expect(resolveWarmupPaths(dir)).toEqual(['/en', '/api/a']);
30
+ });
31
+ it('falls back to package.json:e2e.warmupPaths', () => {
32
+ const dir = tmpProject();
33
+ fs.writeFileSync(path.join(dir, 'package.json'), JSON.stringify({ e2e: { warmupPaths: ['/x'] } }));
34
+ expect(resolveWarmupPaths(dir)).toEqual(['/x']);
35
+ });
36
+ it('returns null when nothing is configured', () => {
37
+ expect(resolveWarmupPaths(tmpProject())).toBeNull();
38
+ });
39
+ });
40
+ //# sourceMappingURL=warmup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warmup.test.js","sourceRoot":"","sources":["../../src/tasks/warmup.test.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@
16
16
  "author": "",
17
17
  "license": "ISC",
18
18
  "dependencies": {
19
- "@pasosdejesus/m": "gitlab:pasosdejesus/m",
19
+ "@pasosdejesus/m": "^{{m_version}}",
20
20
  "dotenv": "^17.4.2",
21
21
  "kysely-postgres-js": "3.0.0",
22
22
  "next": "^16.0.0",