@codenotch/codenotch.cli 1.0.55 → 1.0.57

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.
@@ -36,10 +36,12 @@ const ELEMENT_BY_BUILDER = {
36
36
  /** Modifiers making a column non nullable */
37
37
  const REQUIRED_MODIFIERS = ['notNull', 'required', 'primary'];
38
38
  /**
39
- * Builds the two files describing the database of a project out of its 'defineEntity' and
39
+ * Builds the files describing the database of a project out of its 'defineEntity' and
40
40
  * 'defineDocument' declarations: 'db-schema.xml', read by the runtime to migrate the database,
41
- * and 'db-schema.d.ts', which augments the 'ProjectTables' and 'ProjectDocs' interfaces of
42
- * '@codenotch/process' so that `ctx.tables.<name>` is typed in the processes.
41
+ * 'db-schema.d.ts', which augments the 'ProjectTables' and 'ProjectDocs' interfaces of
42
+ * '@codenotch/process' so that `ctx.tables.<name>` is typed in the processes, and
43
+ * 'db-client-context.ts', the same tables as the React apps query them through
44
+ * `useCodenotch(clientDbContext)`.
43
45
  */
44
46
  class DbSchemaUtils {
45
47
  /**
@@ -251,7 +253,80 @@ class DbSchemaUtils {
251
253
  ].join('\n');
252
254
  return { content, warnings };
253
255
  }
254
- /** Splits an import statement back into the type it brings and the file it comes from */
256
+ /**
257
+ * 'db-client-context.ts', the tables as the React apps query them: one 'ClientTableQueryable'
258
+ * of '@codenotch/codenotch.react' per table, under the collection name 'db-schema.d.ts' gives
259
+ * it, gathered in a 'clientDbContext' object to pass to `useCodenotch(clientDbContext)` so
260
+ * that `cn.tables.<name>` is typed with the row type of the table.
261
+ *
262
+ * Unlike the d.ts it imports the tables themselves, not their types: a table only has to be
263
+ * exported to be part of it, an exported row type is not needed. Documents are not queried
264
+ * from the apps and are left out.
265
+ *
266
+ * @param tables tables of the project, see ProjectUtils.discoverTableFiles
267
+ * @param entityImports import line of each table value, keyed by table name, see
268
+ * ProjectUtils.getTableEntityImport
269
+ */
270
+ static generateClientContext(tables, entityImports) {
271
+ const warnings = [];
272
+ // Tables declared in the same file share one import statement, as a developer would write it
273
+ const namesBySpecifier = new Map();
274
+ const entries = [];
275
+ const collectionNames = new Map();
276
+ for (const table of this.sortByName(tables)) {
277
+ if (table.name === undefined) {
278
+ continue; // already reported by generateXml
279
+ }
280
+ const importLine = this.parseImport(entityImports.get(table.name));
281
+ if (importLine === undefined) {
282
+ warnings.push(`The table '${table.name}' is not exported ('export const ${table.variableName ?? table.name} = defineEntity(...)'), it is left out of 'db-client-context.ts'.`);
283
+ continue;
284
+ }
285
+ const collectionName = this.toCollectionName(table.name);
286
+ const takenBy = collectionNames.get(collectionName);
287
+ if (takenBy !== undefined) {
288
+ warnings.push(`The tables '${takenBy}' and '${table.name}' both map to '${collectionName}' in 'db-client-context.ts', only the first one is kept.`);
289
+ continue;
290
+ }
291
+ collectionNames.set(collectionName, table.name);
292
+ const names = namesBySpecifier.get(importLine.specifier) ?? [];
293
+ if (!names.includes(importLine.typeName)) {
294
+ namesBySpecifier.set(importLine.specifier, [...names, importLine.typeName]);
295
+ }
296
+ entries.push(` ${collectionName}: new ClientTableQueryable(${importLine.typeName})`);
297
+ }
298
+ const header = [
299
+ `// Generated by 'cn generate dbcontext', do not edit.`,
300
+ `// The tables of this project as the React apps query them: pass it to 'useCodenotch(clientDbContext)'`,
301
+ `// and 'cn.tables.<name>' autocompletes with the row type of the table.`
302
+ ];
303
+ // Nothing to expose: the context is kept, empty, so the apps importing it still build
304
+ if (entries.length === 0) {
305
+ return {
306
+ content: [
307
+ ...header,
308
+ `// No exported table in this project yet: 'useCodenotch(clientDbContext)' exposes no table.`,
309
+ ``,
310
+ `export const clientDbContext = {};`,
311
+ ``
312
+ ].join('\n'),
313
+ warnings
314
+ };
315
+ }
316
+ const content = [
317
+ ...header,
318
+ `import { ClientTableQueryable } from '@codenotch/codenotch.react';`,
319
+ ...[...namesBySpecifier.entries()]
320
+ .map(([specifier, names]) => `import { ${names.join(', ')} } from '${specifier}';`),
321
+ ``,
322
+ `export const clientDbContext = {`,
323
+ entries.join(',\n'),
324
+ `};`,
325
+ ``
326
+ ].join('\n');
327
+ return { content, warnings };
328
+ }
329
+ /** Splits an import statement back into the name it brings and the file it comes from */
255
330
  static parseImport(statement) {
256
331
  const match = statement?.match(/^import \{\s*([^}\s]+)\s*\} from '([^']+)';?$/);
257
332
  return match === null || match === undefined ? undefined : { typeName: match[1], specifier: match[2] };
@@ -1 +1 @@
1
- {"version":3,"file":"DbSchemaUtils.js","sourceRoot":"","sources":["../../src/utils/DbSchemaUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DbSchemaUtils.js","sourceRoot":"","sources":["../../src/utils/DbSchemaUtils.ts"],"names":[],"mappings":";;AAEA,kEAAkE;AAClE,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAA2B;IAC/C,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACrB,CAAC;AAEF,6CAA6C;AAC7C,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAO9D;;;;;;;GAOG;AACH,MAA8B,aAAa;IAEvC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAiB;QAErC,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,CAAC;QAED,OAAO,GAAG,IAAI,GAAG,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,MAA0B,EAAE,OAAe;QAE1D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAa;YACpB,uBAAuB;YACvB,4BAA4B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;YACpD,cAAc;SACjB,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAE1C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,qDAAqD,CAAC,CAAC;gBACxH,SAAS;YACb,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YAEpI,sFAAsF;YACtF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAExD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAEjC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACnB,SAAS;gBACb,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,MAAoB,EAAE,SAAiB,EAAE,MAA0B,EAAE,QAAkB;QAEpH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,SAAS,IAAI,MAAM,CAAC,IAAI,4BAA4B,MAAM,CAAC,IAAI,IAAI,GAAG,kCAAkC,CAAC,CAAC;YACnI,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG;YACf,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YACpC,gBAAgB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,GAAG;SAC9E,CAAC;QAEF,0FAA0F;QAC1F,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAEnC,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,SAAS,IAAI,MAAM,CAAC,IAAI,iEAAiE,CAAC,CAAC;gBAC1H,OAAO,EAAE,CAAC;YACd,CAAC;YAED,UAAU,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAElD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YAChE,CAAC;iBACI,CAAC;gBACF,uFAAuF;gBACvF,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBACtH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7B,QAAQ,CAAC,IAAI,CAAC,iBAAiB,SAAS,IAAI,MAAM,CAAC,IAAI,4CAA4C,MAAM,kCAAkC,CAAC,CAAC;oBAC7I,OAAO,EAAE,CAAC;gBACd,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;YACjH,CAAC;QACL,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3D,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpE,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEpE,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxC,CAAC;QAED,qEAAqE;QACrE,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAa,CAAC;YAC3F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,aAAa,SAAS,IAAI,MAAM,CAAC,IAAI,oDAAoD,CAAC,CAAC;gBACzG,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO;gBACH,qBAAqB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBAC5C,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC9E,qBAAqB;aACxB,CAAC;QACN,CAAC;QAED,OAAO,CAAC,gBAAgB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,WAAW,CACd,MAA0B,EAC1B,SAAgC,EAChC,YAAiC,EACjC,eAAoC;QAEpC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,4FAA4F;QAC5F,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAErD,MAAM,aAAa,GAAG,CAAC,UAAmD,EAAE,EAAE;YAC1E,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpF,CAAC;QACL,CAAC,CAAC;QAEF,iEAAiE;QACjE,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAE1C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS,CAAC,kCAAkC;YAChD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3D,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,6CAA6C,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,yCAAyC,CAAC,CAAC;gBACjM,SAAS;YACb,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,UAAU,KAAK,CAAC,IAAI,kBAAkB,cAAc,gCAAgC,CAAC,CAAC;gBAC1H,SAAS;YACb,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhD,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,eAAe,CAAC,IAAI,CAAC,WAAW,cAAc,iBAAiB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvF,CAAC;QAED,iGAAiG;QACjG,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAEhD,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,0BAA0B,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,wDAAwD,CAAC,CAAC;gBACpI,SAAS;YACb,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC9D,QAAQ,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,IAAI,yCAAyC,QAAQ,CAAC,IAAI,2BAA2B,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,uCAAuC,CAAC,CAAC;gBAC5M,SAAS;YACb,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,OAAO,UAAU,QAAQ,CAAC,IAAI,kBAAkB,GAAG,gCAAgC,CAAC,CAAC;gBACrH,SAAS;YACb,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAErC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1B,kBAAkB,CAAC,IAAI,CAAC,WAAW,GAAG,oBAAoB,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;QAEF,MAAM,MAAM,GAAG;YACX,uDAAuD;YACvD,+FAA+F;YAC/F,kGAAkG;SACrG,CAAC;QAEF,2FAA2F;QAC3F,mEAAmE;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,eAAe,EAAE,OAAO,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,GAAG,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,GAAG,MAAM;YACT,iBAAiB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B;YAClE,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,iBAAiB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC;YACpG,EAAE;YACF,uCAAuC;YACvC,GAAG,MAAM;YACT,GAAG;YACH,EAAE;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAA0B,EAAE,aAAkC;QAEvF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,6FAA6F;QAC7F,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACrD,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAE1C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,SAAS,CAAC,kCAAkC;YAChD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,IAAI,oCAAoC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,mEAAmE,CAAC,CAAC;gBAC/K,SAAS;YACb,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,eAAe,OAAO,UAAU,KAAK,CAAC,IAAI,kBAAkB,cAAc,0DAA0D,CAAC,CAAC;gBACpJ,SAAS;YACb,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhD,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,cAAc,8BAA8B,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,MAAM,GAAG;YACX,uDAAuD;YACvD,wGAAwG;YACxG,yEAAyE;SAC5E,CAAC;QAEF,sFAAsF;QACtF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;gBACH,OAAO,EAAE;oBACL,GAAG,MAAM;oBACT,6FAA6F;oBAC7F,EAAE;oBACF,oCAAoC;oBACpC,EAAE;iBACL,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,QAAQ;aACX,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG;YACZ,GAAG,MAAM;YACT,oEAAoE;YACpE,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;iBAC7B,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC;YACvF,EAAE;YACF,kCAAkC;YAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACnB,IAAI;YACJ,EAAE;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,yFAAyF;IACjF,MAAM,CAAC,WAAW,CAAC,SAAkB;QAEzC,MAAM,KAAK,GAAG,SAAS,EAAE,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAEhF,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3G,CAAC;IAEO,MAAM,CAAC,UAAU,CAA8B,YAAiB;QACpE,8EAA8E;QAC9E,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,UAAmC;QAC7D,OAAO,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1F,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,MAAoB,EAAE,IAAY;QACzD,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACrE,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,MAAoB,EAAE,IAAY;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,mBAAmB,CAAC,MAA0B,EAAE,eAAuB,EAAE,SAAiB;QAErG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QAEpE,OAAO,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACjC,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,EAAE,IAAI,CAAC;IAChG,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,MAAoB;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IAED,yFAAyF;IACjF,MAAM,CAAC,UAAU,CAAC,MAAoB;QAC1C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,KAAa;QAC/B,OAAO,KAAK;aACP,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;aACxB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;aACvB,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;aACvB,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;CACJ;AAlZD,gCAkZC"}
@@ -14,7 +14,12 @@ export interface IGenerationResult {
14
14
  * Every generator reports rather than prints: the command decides how to show the outcome.
15
15
  */
16
16
  export default abstract class ProjectGeneratorUtils {
17
- /** 'db-schema.xml' and 'db-schema.d.ts' from the 'defineEntity' and 'defineDocument' declarations of the project */
17
+ /**
18
+ * 'db-schema.xml' and 'db-schema.d.ts' from the 'defineEntity' and 'defineDocument' declarations
19
+ * of the project, plus 'db-client-context.ts' when the project has React apps: the tables as
20
+ * the apps query them, to pass to `useCodenotch(clientDbContext)`. A project without app has
21
+ * nothing to import that file (nor '@codenotch/codenotch.react' installed), so it is not written.
22
+ */
18
23
  static generateDbContext(projectPath: string): Promise<IGenerationResult & {
19
24
  tableCount: number;
20
25
  documentCount: number;
@@ -17,7 +17,12 @@ const I18nTsUtils_1 = __importDefault(require("./I18nTsUtils"));
17
17
  * Every generator reports rather than prints: the command decides how to show the outcome.
18
18
  */
19
19
  class ProjectGeneratorUtils {
20
- /** 'db-schema.xml' and 'db-schema.d.ts' from the 'defineEntity' and 'defineDocument' declarations of the project */
20
+ /**
21
+ * 'db-schema.xml' and 'db-schema.d.ts' from the 'defineEntity' and 'defineDocument' declarations
22
+ * of the project, plus 'db-client-context.ts' when the project has React apps: the tables as
23
+ * the apps query them, to pass to `useCodenotch(clientDbContext)`. A project without app has
24
+ * nothing to import that file (nor '@codenotch/codenotch.react' installed), so it is not written.
25
+ */
21
26
  static async generateDbContext(projectPath) {
22
27
  const tables = await ProjectUtils_1.default.discoverTableFiles(projectPath);
23
28
  const documents = await ProjectUtils_1.default.discoverDocumentFiles(projectPath);
@@ -26,14 +31,23 @@ class ProjectGeneratorUtils {
26
31
  }
27
32
  const targetSchemaPath = (0, path_1.join)(projectPath, 'db-schema.xml');
28
33
  const targetDtsPath = (0, path_1.join)(projectPath, 'db-schema.d.ts');
34
+ const targetClientContextPath = (0, path_1.join)(projectPath, 'db-client-context.ts');
29
35
  // The manifest versions the schema, but it is not required to generate it
30
36
  const manifest = await FileUtils_1.default.readJsonFileAsync((0, path_1.join)(projectPath, 'manifest.json'));
31
37
  // Each type is imported relative to the generated file
32
38
  const tableImports = new Map();
39
+ const entityImports = new Map();
33
40
  for (const table of tables) {
34
- const importStatement = ProjectUtils_1.default.getTableTypeImport(table, targetDtsPath);
35
- if (table.name !== undefined && importStatement !== undefined) {
36
- tableImports.set(table.name, importStatement);
41
+ if (table.name === undefined) {
42
+ continue;
43
+ }
44
+ const typeImport = ProjectUtils_1.default.getTableTypeImport(table, targetDtsPath);
45
+ if (typeImport !== undefined) {
46
+ tableImports.set(table.name, typeImport);
47
+ }
48
+ const entityImport = ProjectUtils_1.default.getTableEntityImport(table, targetClientContextPath);
49
+ if (entityImport !== undefined) {
50
+ entityImports.set(table.name, entityImport);
37
51
  }
38
52
  }
39
53
  const documentImports = new Map();
@@ -45,12 +59,24 @@ class ProjectGeneratorUtils {
45
59
  }
46
60
  const xml = DbSchemaUtils_1.default.generateXml(tables, manifest?.version ?? '0.0.0');
47
61
  const dts = DbSchemaUtils_1.default.generateDts(tables, documents, tableImports, documentImports);
62
+ const files = [
63
+ { path: targetSchemaPath, content: xml.content },
64
+ { path: targetDtsPath, content: dts.content }
65
+ ];
48
66
  const warnings = [...xml.warnings, ...dts.warnings];
49
- // Both files describe the same schema, writing only one of them would leave the project inconsistent
50
- if (!FileUtils_1.default.writeFileSync(targetSchemaPath, xml.content) || !FileUtils_1.default.writeFileSync(targetDtsPath, dts.content)) {
51
- return { written: [], warnings, tableCount: tables.length, documentCount: documents.length, error: `Could not write the schema files in '${projectPath}'.` };
67
+ const hasApps = (await ProjectUtils_1.default.discoverAppsFiles(projectPath)).length > 0;
68
+ if (hasApps) {
69
+ const clientContext = DbSchemaUtils_1.default.generateClientContext(tables, entityImports);
70
+ files.push({ path: targetClientContextPath, content: clientContext.content });
71
+ warnings.push(...clientContext.warnings);
72
+ }
73
+ // The files describe the same schema, writing only some of them would leave the project inconsistent
74
+ for (const file of files) {
75
+ if (!FileUtils_1.default.writeFileSync(file.path, file.content)) {
76
+ return { written: [], warnings, tableCount: tables.length, documentCount: documents.length, error: `Could not write the schema files in '${projectPath}'.` };
77
+ }
52
78
  }
53
- return { written: [targetSchemaPath, targetDtsPath], warnings, tableCount: tables.length, documentCount: documents.length };
79
+ return { written: files.map(file => file.path), warnings, tableCount: tables.length, documentCount: documents.length };
54
80
  }
55
81
  /** 'openapi.json' from the processes triggered by an api call */
56
82
  static async generateOpenApi(projectPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectGeneratorUtils.js","sourceRoot":"","sources":["../../src/utils/ProjectGeneratorUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectGeneratorUtils.js","sourceRoot":"","sources":["../../src/utils/ProjectGeneratorUtils.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,8 @@ export declare const NPM_INSTALL_STEP = "npm install";
32
32
  * translations. Each of these extends the previous one, so what is fixed in one is fixed in all.
33
33
  * 'api' stands apart: a table and its endpoints, without any app nor React.
34
34
  *
35
- * Where the runtime API is not settled yet (`startProcess`, the CNQL filter syntax), the
36
- * generated code carries a TODO rather than a guess.
35
+ * Where the runtime API is not settled yet (the CNQL filter syntax), the generated code carries
36
+ * a TODO rather than a guess.
37
37
  */
38
38
  export default abstract class ProjectTemplates {
39
39
  static readonly TEMPLATES: IProjectTemplate[];
@@ -71,8 +71,10 @@ export default abstract class ProjectTemplates {
71
71
  /** One column per language of the manifest, filled for the ones the template knows */
72
72
  private static createTodolistI18n;
73
73
  /**
74
- * The calls the pages make, in one place. Typed with the row types of the tables, so the UI
75
- * and the processes cannot drift apart silently.
74
+ * The calls the pages make, in one place. Each one starts a process imported from
75
+ * './processes' (the app build replaces those files by client handles carrying the id), so
76
+ * the input and output types come from the 'run' of the process itself and the UI and the
77
+ * processes cannot drift apart silently.
76
78
  */
77
79
  private static createTodolistApi;
78
80
  private static createTodolistApp;
@@ -24,8 +24,8 @@ const VERSIONS = {
24
24
  * translations. Each of these extends the previous one, so what is fixed in one is fixed in all.
25
25
  * 'api' stands apart: a table and its endpoints, without any app nor React.
26
26
  *
27
- * Where the runtime API is not settled yet (`startProcess`, the CNQL filter syntax), the
28
- * generated code carries a TODO rather than a guess.
27
+ * Where the runtime API is not settled yet (the CNQL filter syntax), the generated code carries
28
+ * a TODO rather than a guess.
29
29
  */
30
30
  class ProjectTemplates {
31
31
  static TEMPLATES = [
@@ -150,7 +150,7 @@ class ProjectTemplates {
150
150
  this.replaceFile(scaffold, 'apps/components/Layout.tsx', this.createTodolistLayout(context.languages));
151
151
  this.replaceFile(scaffold, 'readme.md', TemplateUtils_1.default.createReadmeMd(context.projectName, context.serviceName) + this.createTodolistReadme());
152
152
  scaffold.files.push({ path: 'tables/todolist.ts', content: this.createTodoListTable() }, { path: 'tables/todo.ts', content: this.createTodoTable() }, { path: 'processes/todolists.ts', content: this.createTodoListProcesses() }, { path: 'processes/todos.ts', content: this.createTodoProcesses() }, { path: 'queries/all-todolists.cnql', content: this.createAllTodoListsQuery(context.serviceName) }, { path: 'queries/todos-of-list.cnql', content: this.createTodosOfListQuery(context.serviceName) }, { path: 'globals.i18n.csv', content: this.createTodolistI18n(context.languages) }, { path: 'apps/api.ts', content: this.createTodolistApi() }, { path: 'apps/pages/TodoListsPage.tsx', content: this.createTodoListsPage() }, { path: 'apps/pages/TodoListPage.tsx', content: this.createTodoListPage() });
153
- scaffold.nextSteps.push(`Search the sources for 'TODO' to see the three points waiting for the runtime API`);
153
+ scaffold.nextSteps.push(`Search the sources for 'TODO' to see the point waiting for the runtime API (the filter of a query)`);
154
154
  return scaffold;
155
155
  }
156
156
  static createTodoListTable() {
@@ -194,17 +194,19 @@ class ProjectTemplates {
194
194
  return [['key', ...languages].join(','), ...rows].join('\n') + '\n';
195
195
  }
196
196
  /**
197
- * The calls the pages make, in one place. Typed with the row types of the tables, so the UI
198
- * and the processes cannot drift apart silently.
197
+ * The calls the pages make, in one place. Each one starts a process imported from
198
+ * './processes' (the app build replaces those files by client handles carrying the id), so
199
+ * the input and output types come from the 'run' of the process itself and the UI and the
200
+ * processes cannot drift apart silently.
199
201
  */
200
202
  static createTodolistApi() {
201
- return this.lines(`import { getCodenotch } from '@codenotch/codenotch.react';`, `import type { ITodoList } from '../tables/todolist';`, `import type { ITodo } from '../tables/todo';`, ``, `// TODO: startProcess() is not implemented yet in @codenotch/codenotch.react 2.0.5 (it throws 'Not implemented.').`, `// The calls below are typed against the processes of ./processes and will work as is once it lands;`, `// until then the pages show the error it raises.`, `async function call<TInput, TOutput>(processId: string, input: TInput): Promise<TOutput> {`, `\tconst result = await getCodenotch().startProcess<string, TInput, TOutput>(processId, input);`, `\tif (result.isError) {`, `\t\tthrow new Error(result.errorMessage);`, `\t}`, `\treturn result.output;`, `}`, ``, `export const listTodoLists = () => call<{}, ITodoList[]>('ListTodoLists', {});`, `export const createTodoList = (name: string) => call<{ name: string }, { id: string }>('CreateTodoList', { name });`, `export const deleteTodoList = (listId: string) => call<{ listId: string }, { deleted: boolean }>('DeleteTodoList', { listId });`, ``, `export const listTodos = (listId: string) => call<{ listId: string }, ITodo[]>('ListTodos', { listId });`, `export const createTodo = (listId: string, title: string) => call<{ listId: string; title: string }, { id: string }>('CreateTodo', { listId, title });`, `export const toggleTodo = (todoId: string) => call<{ todoId: string }, { done: boolean }>('ToggleTodo', { todoId });`, `export const deleteTodo = (todoId: string) => call<{ todoId: string }, { deleted: boolean }>('DeleteTodo', { todoId });`, ``);
203
+ return this.lines(`import { getCodenotch, type Process } from '@codenotch/codenotch.react';`, `// A process file imported by an app only brings client handles ({ id }): the logic stays on the runtime`, `import * as todolists from '../processes/todolists';`, `import * as todos from '../processes/todos';`, ``, `// Starts a process and unwraps its result: the input and output types are the ones of its 'run'`, `async function call<In, Out>(process: Process<In, Out, any>, input: In): Promise<Out> {`, `\tconst result = await getCodenotch().startProcess(process, input);`, `\tif (result.isError) {`, `\t\tthrow new Error(result.errorMessage);`, `\t}`, `\treturn result.output;`, `}`, ``, `export const listTodoLists = () => call(todolists.listTodoLists, {});`, `export const createTodoList = (name: string) => call(todolists.createTodoList, { name });`, `export const deleteTodoList = (listId: string) => call(todolists.deleteTodoList, { listId });`, ``, `export const listTodos = (listId: string) => call(todos.listTodos, { listId });`, `export const createTodo = (listId: string, title: string) => call(todos.createTodo, { listId, title });`, `export const toggleTodo = (todoId: string) => call(todos.toggleTodo, { todoId });`, `export const deleteTodo = (todoId: string) => call(todos.deleteTodo, { todoId });`, ``);
202
204
  }
203
205
  static createTodolistApp() {
204
206
  return this.lines(`import React from 'react';`, `import { HashRouter, Route, Routes } from 'react-router';`, `import './${DEFAULT_APP_NAME}.scss';`, `import Layout from './components/Layout';`, `import TodoListsPage from './pages/TodoListsPage';`, `import TodoListPage from './pages/TodoListPage';`, ``, `// HashRouter keeps the routing client side, whatever URL the runtime serves the app from`, `const ${DEFAULT_APP_NAME}: React.FC<{}> = () => {`, `\treturn <HashRouter>`, `\t\t<Routes>`, `\t\t\t<Route element={<Layout />}>`, `\t\t\t\t<Route index element={<TodoListsPage />} />`, `\t\t\t\t<Route path="lists/:listId" element={<TodoListPage />} />`, `\t\t\t</Route>`, `\t\t</Routes>`, `\t</HashRouter>;`, `};`, ``, `export default ${DEFAULT_APP_NAME};`, ``);
205
207
  }
206
208
  static createTodolistLayout(languages) {
207
- return this.lines(`import React from 'react';`, `import { Link, Outlet } from 'react-router';`, `import { useCodenotch } from '@codenotch/codenotch.react';`, `import globals from '../../globals.i18n';`, ``, `// Shared frame of every page: title, language and theme switches, then the page itself in <Outlet />`, `const Layout: React.FC<{}> = () => {`, `\tconst cn = useCodenotch();`, `\tconst theme = cn.getTheme() ?? 'light';`, `\tconst language = cn.getLanguage() ?? '${languages[0] ?? 'en'}';`, ``, `\t// The generated translation class follows the language of the runtime`, `\tglobals.setLanguage(language);`, ``, `\treturn <div className="min-h-screen bg-white text-gray-900 dark:bg-gray-900 dark:text-gray-100">`, `\t\t<nav className="flex items-center gap-4 border-b border-gray-200 px-6 py-3 dark:border-gray-700">`, `\t\t\t<Link to="/" className="text-lg font-semibold">{globals.appTitle()}</Link>`, `\t\t\t<div className="ml-auto flex items-center gap-2 text-sm">`, `\t\t\t\t{cn.getLanguages().map(lang =>`, `\t\t\t\t\t<button key={lang} onClick={() => cn.setLanguage(lang)}`, `\t\t\t\t\t\tclassName={'rounded px-2 py-1 ' + (lang === language ? 'bg-gray-200 dark:bg-gray-700' : 'hover:underline')}>`, `\t\t\t\t\t\t{lang.toUpperCase()}`, `\t\t\t\t\t</button>)}`, `\t\t\t\t<button className="rounded border border-gray-300 px-3 py-1 dark:border-gray-600" onClick={() => cn.setTheme(theme === 'dark' ? 'light' : 'dark')}>`, `\t\t\t\t\t{theme === 'dark' ? 'Light' : 'Dark'}`, `\t\t\t\t</button>`, `\t\t\t</div>`, `\t\t</nav>`, `\t\t<main className="mx-auto max-w-2xl p-6">`, `\t\t\t<Outlet />`, `\t\t</main>`, `\t</div>;`, `};`, ``, `export default Layout;`, ``);
209
+ return this.lines(`import React from 'react';`, `import { Link, Outlet } from 'react-router';`, `import { useCodenotch } from '@codenotch/codenotch.react';`, `import { clientDbContext } from '../../db-client-context';`, `import globals from '../../globals.i18n';`, ``, `// Shared frame of every page: title, language and theme switches, then the page itself in <Outlet />`, `const Layout: React.FC<{}> = () => {`, `\t// The generated client context types cn.tables.<name> with the tables of the project`, `\tconst cn = useCodenotch(clientDbContext);`, `\tconst theme = cn.getTheme() ?? 'light';`, `\tconst language = cn.getLanguage() ?? '${languages[0] ?? 'en'}';`, ``, `\t// The generated translation class follows the language of the runtime`, `\tglobals.setLanguage(language);`, ``, `\treturn <div className="min-h-screen bg-white text-gray-900 dark:bg-gray-900 dark:text-gray-100">`, `\t\t<nav className="flex items-center gap-4 border-b border-gray-200 px-6 py-3 dark:border-gray-700">`, `\t\t\t<Link to="/" className="text-lg font-semibold">{globals.appTitle()}</Link>`, `\t\t\t<div className="ml-auto flex items-center gap-2 text-sm">`, `\t\t\t\t{cn.getLanguages().map(lang =>`, `\t\t\t\t\t<button key={lang} onClick={() => cn.setLanguage(lang)}`, `\t\t\t\t\t\tclassName={'rounded px-2 py-1 ' + (lang === language ? 'bg-gray-200 dark:bg-gray-700' : 'hover:underline')}>`, `\t\t\t\t\t\t{lang.toUpperCase()}`, `\t\t\t\t\t</button>)}`, `\t\t\t\t<button className="rounded border border-gray-300 px-3 py-1 dark:border-gray-600" onClick={() => cn.setTheme(theme === 'dark' ? 'light' : 'dark')}>`, `\t\t\t\t\t{theme === 'dark' ? 'Light' : 'Dark'}`, `\t\t\t\t</button>`, `\t\t\t</div>`, `\t\t</nav>`, `\t\t<main className="mx-auto max-w-2xl p-6">`, `\t\t\t<Outlet />`, `\t\t</main>`, `\t</div>;`, `};`, ``, `export default Layout;`, ``);
208
210
  }
209
211
  static createTodoListsPage() {
210
212
  return this.lines(`import React, { useEffect, useState } from 'react';`, `import { Link } from 'react-router';`, `import type { ITodoList } from '../../tables/todolist';`, `import globals from '../../globals.i18n';`, `import { createTodoList, deleteTodoList, listTodoLists } from '../api';`, ``, `const TodoListsPage: React.FC<{}> = () => {`, `\tconst [lists, setLists] = useState<ITodoList[] | undefined>(undefined);`, `\tconst [name, setName] = useState('');`, `\tconst [error, setError] = useState<string | undefined>(undefined);`, ``, `\tconst refresh = () => listTodoLists().then(setLists).catch(e => setError(String(e)));`, ``, `\tuseEffect(() => { refresh(); }, []);`, ``, `\tconst add = async (event: React.FormEvent) => {`, `\t\tevent.preventDefault();`, `\t\tif (name.trim() === '') {`, `\t\t\treturn;`, `\t\t}`, `\t\ttry {`, `\t\t\tawait createTodoList(name.trim());`, `\t\t\tsetName('');`, `\t\t\tawait refresh();`, `\t\t}`, `\t\tcatch (e) {`, `\t\t\tsetError(String(e));`, `\t\t}`, `\t};`, ``, `\tconst remove = async (listId: string) => {`, `\t\ttry {`, `\t\t\tawait deleteTodoList(listId);`, `\t\t\tawait refresh();`, `\t\t}`, `\t\tcatch (e) {`, `\t\t\tsetError(String(e));`, `\t\t}`, `\t};`, ``, `\treturn <div>`, `\t\t<h1 className="text-2xl font-bold">{globals.lists()}</h1>`, ``, `\t\t<form onSubmit={add} className="mt-4 flex gap-2">`, `\t\t\t<input value={name} onChange={e => setName(e.target.value)} placeholder={globals.newListPlaceholder()}`, `\t\t\t\tclassName="flex-1 rounded border border-gray-300 px-3 py-2 dark:border-gray-600 dark:bg-gray-800" />`, `\t\t\t<button type="submit" className="rounded bg-blue-600 px-4 py-2 text-white hover:bg-blue-700">{globals.add()}</button>`, `\t\t</form>`, ``, `\t\t{error && <p className="mt-4 rounded bg-red-100 p-3 text-red-800 dark:bg-red-900 dark:text-red-200">{globals.error(error)}</p>}`, `\t\t{lists === undefined && !error && <p className="mt-4 text-gray-500">{globals.loading()}</p>}`, `\t\t{lists !== undefined && lists.length === 0 && <p className="mt-4 text-gray-500">{globals.noLists()}</p>}`, ``, `\t\t<ul className="mt-4 divide-y divide-gray-200 dark:divide-gray-700">`, `\t\t\t{lists?.map(list =>`, `\t\t\t\t<li key={list.id} className="flex items-center justify-between py-3">`, `\t\t\t\t\t<Link to={'/lists/' + list.id} className="hover:underline">{list.name}</Link>`, `\t\t\t\t\t<button onClick={() => remove(list.id)} className="text-sm text-red-600 hover:underline">{globals.delete()}</button>`, `\t\t\t\t</li>)}`, `\t\t</ul>`, `\t</div>;`, `};`, ``, `export default TodoListsPage;`, ``);
@@ -213,7 +215,7 @@ class ProjectTemplates {
213
215
  return this.lines(`import React, { useEffect, useState } from 'react';`, `import { Link, useParams } from 'react-router';`, `import type { ITodo } from '../../tables/todo';`, `import globals from '../../globals.i18n';`, `import { createTodo, deleteTodo, listTodos, toggleTodo } from '../api';`, ``, `const TodoListPage: React.FC<{}> = () => {`, `\tconst { listId } = useParams<{ listId: string }>();`, `\tconst [todos, setTodos] = useState<ITodo[] | undefined>(undefined);`, `\tconst [title, setTitle] = useState('');`, `\tconst [error, setError] = useState<string | undefined>(undefined);`, ``, `\tconst refresh = () => listTodos(listId!).then(setTodos).catch(e => setError(String(e)));`, ``, `\tuseEffect(() => { refresh(); }, [listId]);`, ``, `\t// Every change goes through a process, then the list is read again: the server is the truth`, `\tconst run = async (action: () => Promise<unknown>) => {`, `\t\ttry {`, `\t\t\tawait action();`, `\t\t\tawait refresh();`, `\t\t}`, `\t\tcatch (e) {`, `\t\t\tsetError(String(e));`, `\t\t}`, `\t};`, ``, `\tconst add = (event: React.FormEvent) => {`, `\t\tevent.preventDefault();`, `\t\tif (title.trim() !== '') {`, `\t\t\trun(() => createTodo(listId!, title.trim())).then(() => setTitle(''));`, `\t\t}`, `\t};`, ``, `\tconst done = todos?.filter(todo => todo.done).length ?? 0;`, ``, `\treturn <div>`, `\t\t<Link to="/" className="text-sm underline">{globals.backToLists()}</Link>`, `\t\t<h1 className="mt-2 text-2xl font-bold">{globals.appTitle()}</h1>`, `\t\t{todos !== undefined && <p className="text-sm text-gray-500">{globals.todoCount(String(todos.length), String(done))}</p>}`, ``, `\t\t<form onSubmit={add} className="mt-4 flex gap-2">`, `\t\t\t<input value={title} onChange={e => setTitle(e.target.value)} placeholder={globals.newTodoPlaceholder()}`, `\t\t\t\tclassName="flex-1 rounded border border-gray-300 px-3 py-2 dark:border-gray-600 dark:bg-gray-800" />`, `\t\t\t<button type="submit" className="rounded bg-blue-600 px-4 py-2 text-white hover:bg-blue-700">{globals.add()}</button>`, `\t\t</form>`, ``, `\t\t{error && <p className="mt-4 rounded bg-red-100 p-3 text-red-800 dark:bg-red-900 dark:text-red-200">{globals.error(error)}</p>}`, `\t\t{todos === undefined && !error && <p className="mt-4 text-gray-500">{globals.loading()}</p>}`, `\t\t{todos !== undefined && todos.length === 0 && <p className="mt-4 text-gray-500">{globals.noTodos()}</p>}`, ``, `\t\t<ul className="mt-4 divide-y divide-gray-200 dark:divide-gray-700">`, `\t\t\t{todos?.map(todo =>`, `\t\t\t\t<li key={todo.id} className="flex items-center gap-3 py-3">`, `\t\t\t\t\t<input type="checkbox" checked={todo.done} onChange={() => run(() => toggleTodo(todo.id))} />`, `\t\t\t\t\t<span className={'flex-1 ' + (todo.done ? 'text-gray-400 line-through' : '')}>{todo.title}</span>`, `\t\t\t\t\t<button onClick={() => run(() => deleteTodo(todo.id))} className="text-sm text-red-600 hover:underline">{globals.delete()}</button>`, `\t\t\t\t</li>)}`, `\t\t</ul>`, `\t</div>;`, `};`, ``, `export default TodoListPage;`, ``);
214
216
  }
215
217
  static createTodolistReadme() {
216
- return this.lines(``, `## The todo list template`, ``, `| Path | Role |`, `| --- | --- |`, `| \`tables/todolist.ts\`, \`tables/todo.ts\` | the two tables, a list having many todos |`, `| \`processes/todolists.ts\`, \`processes/todos.ts\` | one process per operation, each exposed as an API endpoint |`, `| \`queries/*.cnql\` | the read queries the processes run |`, `| \`globals.i18n.csv\` | the texts of the app in every language of the manifest |`, `| \`apps/api.ts\` | the typed calls the pages make to the processes |`, `| \`apps/pages/\` | the list of lists, and the todos of one list |`, `| \`db-schema.xml\`, \`db-schema.d.ts\`, \`globals.i18n.ts\`, \`openapi.json\` | generated from the files above, never edit them |`, ``, `After a change to the tables, the translations or the processes, regenerate the derived files:`, ``, '```sh', `cn generate dbcontext -f .`, `cn generate i18n -f globals.i18n.csv`, `cn generate openapi -f .`, `cn project refresh`, '```', ``, `The app itself is worked on with \`cn react dev\`: it hot reloads the sources and calls the`, `processes deployed on the runtime, which \`cn project refresh\` keeps up to date.`, ``, `Two points wait for the runtime API and are marked \`TODO\` in the sources: the client call of a`, `process (\`apps/api.ts\`) and the filter of a query (\`queries/todos-of-list.cnql\`). The names the`, `tables are reached under from a process come from the generated \`db-schema.d.ts\` and autocomplete.`, ``);
218
+ return this.lines(``, `## The todo list template`, ``, `| Path | Role |`, `| --- | --- |`, `| \`tables/todolist.ts\`, \`tables/todo.ts\` | the two tables, a list having many todos |`, `| \`processes/todolists.ts\`, \`processes/todos.ts\` | one process per operation, each exposed as an API endpoint |`, `| \`queries/*.cnql\` | the read queries the processes run |`, `| \`globals.i18n.csv\` | the texts of the app in every language of the manifest |`, `| \`apps/api.ts\` | the typed calls the pages make to the processes |`, `| \`apps/pages/\` | the list of lists, and the todos of one list |`, `| \`db-schema.xml\`, \`db-schema.d.ts\`, \`db-client-context.ts\`, \`globals.i18n.ts\`, \`openapi.json\` | generated from the files above, never edit them |`, ``, `After a change to the tables, the translations or the processes, regenerate the derived files:`, ``, '```sh', `cn generate dbcontext -f .`, `cn generate i18n -f globals.i18n.csv`, `cn generate openapi -f .`, `cn project refresh`, '```', ``, `The app itself is worked on with \`cn react dev\`: it hot reloads the sources and calls the`, `processes deployed on the runtime, which \`cn project refresh\` keeps up to date.`, ``, `The pages call the processes through \`apps/api.ts\`: each call starts the process imported from`, `\`processes/\` with \`cn.startProcess\`, so its input and output are typed by the process itself.`, `One point waits for the runtime API and is marked \`TODO\` in the sources: the filter of a query`, `(\`queries/todos-of-list.cnql\`). The names the tables are reached under from a process come from`, `the generated \`db-schema.d.ts\` and autocomplete.`, ``);
217
219
  }
218
220
  // ------------------------------------------------------------------ api
219
221
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectTemplates.js","sourceRoot":"","sources":["../../src/utils/ProjectTemplates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectTemplates.js","sourceRoot":"","sources":["../../src/utils/ProjectTemplates.ts"],"names":[],"mappings":"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"}
@@ -220,7 +220,16 @@ export default abstract class ProjectUtils {
220
220
  * @param fromFilePath file the import would be written in
221
221
  */
222
222
  static getTableTypeImport(table: IDiscoveredTable, fromFilePath: string): string | undefined;
223
- private static buildTypeImport;
223
+ /**
224
+ * Line to paste to use the table itself (the value 'defineEntity' returns, not its row type)
225
+ * from another file, e.g. "import { User } from '../tables/user';". Undefined when the table
226
+ * is not exported, since nothing can import it then.
227
+ *
228
+ * @param table table to import
229
+ * @param fromFilePath file the import would be written in
230
+ */
231
+ static getTableEntityImport(table: IDiscoveredTable, fromFilePath: string): string | undefined;
232
+ private static buildNamedImport;
224
233
  /**
225
234
  * Turns the `properties` of a table into columns: `bio: p.text().default('')` gives the
226
235
  * type 'text' and the modifier 'default' with its value.
@@ -295,7 +295,7 @@ class ProjectUtils {
295
295
  typeName: typeAlias?.name,
296
296
  importStatement: typeAlias === undefined
297
297
  ? undefined
298
- : this.buildTypeImport(typeAlias.name, filePath, workspacePath),
298
+ : this.buildNamedImport(typeAlias.name, filePath, workspacePath),
299
299
  properties: declaration.properties
300
300
  });
301
301
  }
@@ -313,15 +313,29 @@ class ProjectUtils {
313
313
  if (table.typeName === undefined) {
314
314
  return undefined;
315
315
  }
316
- return this.buildTypeImport(table.typeName, table.filePath, node_path_1.default.dirname(fromFilePath));
316
+ return this.buildNamedImport(table.typeName, table.filePath, node_path_1.default.dirname(fromFilePath));
317
317
  }
318
- static buildTypeImport(typeName, targetFilePath, fromFolderPath) {
318
+ /**
319
+ * Line to paste to use the table itself (the value 'defineEntity' returns, not its row type)
320
+ * from another file, e.g. "import { User } from '../tables/user';". Undefined when the table
321
+ * is not exported, since nothing can import it then.
322
+ *
323
+ * @param table table to import
324
+ * @param fromFilePath file the import would be written in
325
+ */
326
+ static getTableEntityImport(table, fromFilePath) {
327
+ if (table.variableName === undefined || !table.isExported) {
328
+ return undefined;
329
+ }
330
+ return this.buildNamedImport(table.variableName, table.filePath, node_path_1.default.dirname(fromFilePath));
331
+ }
332
+ static buildNamedImport(name, targetFilePath, fromFolderPath) {
319
333
  // Module specifiers are posix and carry no extension
320
334
  let specifier = node_path_1.default.relative(fromFolderPath, targetFilePath).replaceAll('\\', '/').replace(/\.[^./]+$/, '');
321
335
  if (!specifier.startsWith('.')) {
322
336
  specifier = `./${specifier}`;
323
337
  }
324
- return `import { ${typeName} } from '${specifier}';`;
338
+ return `import { ${name} } from '${specifier}';`;
325
339
  }
326
340
  /**
327
341
  * Turns the `properties` of a table into columns: `bio: p.text().default('')` gives the
@@ -368,7 +382,7 @@ class ProjectUtils {
368
382
  if (document.typeName === undefined) {
369
383
  return undefined;
370
384
  }
371
- return this.buildTypeImport(document.typeName, document.filePath, node_path_1.default.dirname(fromFilePath));
385
+ return this.buildNamedImport(document.typeName, document.filePath, node_path_1.default.dirname(fromFilePath));
372
386
  }
373
387
  /**
374
388
  * Find all file (recursivly) in a given folder (workspacePath) that contains a table declaration ('process').