@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.
package/README.md CHANGED
@@ -75,7 +75,8 @@ go to stderr, and a failure is an exit code 1 with one message. `--json` gives a
75
75
  result on `cn info`, `cn docs`, `cn validate`, `cn runtime info` / `latest`, `cn project inspect` /
76
76
  `compile` / `package` / `deploy` / `refresh` / `test` / `bump` and every `cn generate` command.
77
77
  The global `--quiet` drops the progress, `CODENOTCH_DEBUG=1` prints the stack trace of a failure,
78
- and `cn completion bash|zsh|powershell` prints the completion script of the shell.
78
+ and `cn completion --install` sets up the Tab completion of the shell (bash, zsh or PowerShell,
79
+ detected; `cn completion <shell>` prints the script).
79
80
 
80
81
  ## Contributing
81
82
 
@@ -36,7 +36,9 @@ Examples:
36
36
  const targetFolder = (0, path_1.resolve)(options.path);
37
37
  const filePath = (0, path_1.join)(targetFolder, `${appName}.tsx`);
38
38
  const written = [];
39
- if (!await (0, shared_1.writeGeneratedFile)(filePath, TemplateUtils_1.default.createAppTsx(appName))) {
39
+ // In a project with tables, the app queries them through the generated client context
40
+ const clientContext = TemplateUtils_1.default.findClientContextSpecifier(filePath);
41
+ if (!await (0, shared_1.writeGeneratedFile)(filePath, TemplateUtils_1.default.createAppTsx(appName, clientContext))) {
40
42
  (0, shared_1.abortGeneration)(options.json, `'${filePath}' was not written.`, written);
41
43
  return;
42
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/commands/generate/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/commands/generate/app.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ const shared_1 = require("./shared");
13
13
  function registerGenerateDbContext(generate) {
14
14
  generate
15
15
  .command('dbcontext')
16
- .description('Scan the tables and documents of a project and generate its db-schema.xml + db-schema.d.ts')
16
+ .description('Scan the tables and documents of a project and generate its db-schema.xml + db-schema.d.ts, and db-client-context.ts for its apps')
17
17
  .requiredOption('-f, --project-path <path>', 'path to the project')
18
18
  .option('--json', 'output the result in JSON format')
19
19
  .addHelpText('after', `
@@ -37,7 +37,7 @@ Examples:
37
37
  if (!(0, shared_1.reportGeneration)(result)) {
38
38
  return;
39
39
  }
40
- ConsoleUtils_1.default.check(`${result.tableCount} table(s) and ${result.documentCount} document(s) scanned, schema written to ${chalk_1.default.green(result.written[0])} and ${chalk_1.default.green(result.written[1])}`);
40
+ ConsoleUtils_1.default.check(`${result.tableCount} table(s) and ${result.documentCount} document(s) scanned, schema written to ${result.written.map(path => chalk_1.default.green(path)).join(', ')}`);
41
41
  });
42
42
  }
43
43
  //# sourceMappingURL=dbcontext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dbcontext.js","sourceRoot":"","sources":["../../../src/commands/generate/dbcontext.ts"],"names":[],"mappings":";;;;;AAQA,8DAiCC;AAxCD,kDAA0B;AAC1B,+BAA+B;AAC/B,sEAA8C;AAC9C,4EAAoD;AACpD,8FAAsE;AACtE,qCAA6D;AAE7D,SAAgB,yBAAyB,CAAC,QAAiB;IACvD,QAAQ;SACH,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,4FAA4F,CAAC;SACzG,cAAc,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,WAAW,CAAC,OAAO,EAAE;;;CAG7B,CAAC;SACO,MAAM,CAAC,KAAK,EAAE,OAAgD,EAAE,EAAE;QAE/D,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,MAAM,mBAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;YAChD,IAAA,wBAAe,EAAC,OAAO,CAAC,IAAI,EAAE,IAAI,WAAW,eAAe,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,+BAAqB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,sBAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAA,yBAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,sBAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,aAAa,2CAA2C,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnM,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"dbcontext.js","sourceRoot":"","sources":["../../../src/commands/generate/dbcontext.ts"],"names":[],"mappings":";;;;;AAQA,8DAiCC;AAxCD,kDAA0B;AAC1B,+BAA+B;AAC/B,sEAA8C;AAC9C,4EAAoD;AACpD,8FAAsE;AACtE,qCAA6D;AAE7D,SAAgB,yBAAyB,CAAC,QAAiB;IACvD,QAAQ;SACH,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,mIAAmI,CAAC;SAChJ,cAAc,CAAC,2BAA2B,EAAE,qBAAqB,CAAC;SAClE,MAAM,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACpD,WAAW,CAAC,OAAO,EAAE;;;CAG7B,CAAC;SACO,MAAM,CAAC,KAAK,EAAE,OAAgD,EAAE,EAAE;QAE/D,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,MAAM,mBAAS,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;YAChD,IAAA,wBAAe,EAAC,OAAO,CAAC,IAAI,EAAE,IAAI,WAAW,eAAe,CAAC,CAAC;YAC9D,OAAO;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,+BAAqB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,sBAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAA,yBAAgB,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,sBAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,aAAa,2CAA2C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -17,7 +17,7 @@ function registerGenerateCommands(program) {
17
17
  Examples:
18
18
  $ cn generate app -n Dashboard an empty React app and its manifest
19
19
  $ cn generate i18n regenerate the *.i18n.ts classes of the project
20
- $ cn generate dbcontext -f . db-schema.xml + db-schema.d.ts from the tables and documents
20
+ $ cn generate dbcontext -f . db-schema.xml, db-schema.d.ts and db-client-context.ts from the tables and documents
21
21
  $ cn generate process -m api -t Book REST endpoints working on a table
22
22
  `);
23
23
  (0, manifest_1.registerGenerateProjectManifest)(generate);
@@ -1,7 +1,10 @@
1
1
  import { Command } from 'commander';
2
2
  /**
3
- * 'cn completion <shell>': prints a completion script built from the command tree, so it always
3
+ * 'cn completion [shell]': prints a completion script built from the command tree, so it always
4
4
  * matches the installed CLI. The script holds one table, "command path" -> "words to propose",
5
5
  * and looks the typed path up: no shell has to know anything about commander.
6
+ * '--install' writes the activation line into the profile of the shell instead.
7
+ * The shell is detected when not given: the login shell of Unix, or the shell found among the
8
+ * ancestors of this process (Windows, where cmd and node sit between the shell and the CLI).
6
9
  */
7
10
  export declare function registerCompletion(program: Command): void;
@@ -1,36 +1,195 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.registerCompletion = registerCompletion;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const child_process_1 = require("child_process");
9
+ const fs_1 = require("fs");
10
+ const os_1 = __importDefault(require("os"));
11
+ const path_1 = require("path");
12
+ const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
4
13
  const SHELLS = ['bash', 'zsh', 'powershell'];
5
14
  /** The names the CLI is installed under, both completed */
6
15
  const COMMAND_NAMES = ['cn', 'codenotch-cli'];
16
+ /** What the profile of each shell has to run to load the completion, always in sync with the installed CLI */
17
+ const ACTIVATION = {
18
+ bash: 'eval "$(cn completion bash)"',
19
+ zsh: 'eval "$(cn completion zsh)"',
20
+ powershell: 'cn completion powershell | Out-String | Invoke-Expression'
21
+ };
7
22
  /**
8
- * 'cn completion <shell>': prints a completion script built from the command tree, so it always
23
+ * 'cn completion [shell]': prints a completion script built from the command tree, so it always
9
24
  * matches the installed CLI. The script holds one table, "command path" -> "words to propose",
10
25
  * and looks the typed path up: no shell has to know anything about commander.
26
+ * '--install' writes the activation line into the profile of the shell instead.
27
+ * The shell is detected when not given: the login shell of Unix, or the shell found among the
28
+ * ancestors of this process (Windows, where cmd and node sit between the shell and the CLI).
11
29
  */
12
30
  function registerCompletion(program) {
13
31
  program
14
32
  .command('completion')
15
- .description('Print the shell completion script of the CLI (bash, zsh or powershell)')
16
- .argument('<shell>', `shell to print the script for: ${SHELLS.join(', ')}`)
33
+ .description('Print the shell completion script of the CLI, or install it in the profile of the shell (--install)')
34
+ .argument('[shell]', `shell: ${SHELLS.join(', ')} (default: the shell this runs in)`)
35
+ .option('-i, --install', 'add the activation line to the profile of the shell instead of printing the script', false)
36
+ .option('-y, --yes', 'do not ask for confirmation before writing the profile', false)
17
37
  .addHelpText('after', `
18
- Install it once, then open a new terminal:
19
- bash echo 'eval "$(cn completion bash)"' >> ~/.bashrc
20
- zsh echo 'eval "$(cn completion zsh)"' >> ~/.zshrc
21
- powershell Add-Content $PROFILE 'cn completion powershell | Out-String | Invoke-Expression'
38
+ Examples:
39
+ $ cn completion --install detect the shell, add the activation line to its profile
40
+ $ cn completion zsh print the zsh script, e.g. to redirect it into a completion file
41
+
42
+ Activation lines, for a manual install (then open a new terminal):
43
+ bash ${ACTIVATION.bash} in ~/.bashrc
44
+ zsh ${ACTIVATION.zsh} in ~/.zshrc
45
+ powershell ${ACTIVATION.powershell} in $PROFILE
22
46
  `)
23
- .action((shell) => {
24
- if (!isShell(shell)) {
25
- throw new Error(`Unknown shell '${shell}', expected one of: ${SHELLS.join(', ')}.`);
47
+ .action(async (requested, options) => {
48
+ const detected = resolveShell(requested);
49
+ if (options.install) {
50
+ await installCompletion(detected, options.yes);
51
+ return;
26
52
  }
27
- const table = buildTable(program);
28
- console.log(shell === 'bash' ? bashScript(table) : shell === 'zsh' ? zshScript(table) : powershellScript(table));
53
+ console.log(script(detected.shell, buildTable(program)));
29
54
  });
30
55
  }
31
- function isShell(value) {
32
- return SHELLS.includes(value);
56
+ //#region Shell detection
57
+ /** The shell asked for, or the one this runs in; an error when neither is known */
58
+ function resolveShell(requested) {
59
+ if (requested !== undefined) {
60
+ if (!SHELLS.includes(requested)) {
61
+ throw new Error(`Unknown shell '${requested}', expected one of: ${SHELLS.join(', ')}.`);
62
+ }
63
+ return { shell: requested };
64
+ }
65
+ const detected = detectShell();
66
+ if (detected === undefined) {
67
+ throw new Error(`Could not tell the shell this runs in, give it: cn completion <${SHELLS.join('|')}>`);
68
+ }
69
+ return detected;
70
+ }
71
+ function detectShell() {
72
+ // The login shell of Unix (Git Bash sets it too): the one whose profile the next terminal reads
73
+ const fromEnvironment = shellOf(process.env.SHELL);
74
+ if (fromEnvironment !== undefined) {
75
+ return fromEnvironment;
76
+ }
77
+ // Otherwise the process tree: the shell is an ancestor of this process, above the npm shim and node
78
+ for (const name of ancestorNames()) {
79
+ const shell = shellOf(name);
80
+ if (shell !== undefined) {
81
+ return shell;
82
+ }
83
+ }
84
+ return undefined;
85
+ }
86
+ /** The shell an executable name stands for, undefined for anything else (node, cmd, the npm shim...) */
87
+ function shellOf(executable) {
88
+ // A login shell shows with a leading dash ('-zsh'), a Windows one with its extension
89
+ const name = (0, path_1.basename)((executable ?? '').trim()).toLowerCase().replace(/^-/, '').replace(/\.exe$/, '');
90
+ switch (name) {
91
+ case 'bash': return { shell: 'bash' };
92
+ case 'zsh': return { shell: 'zsh' };
93
+ case 'pwsh': return { shell: 'powershell', powershellExe: 'pwsh' };
94
+ case 'powershell': return { shell: 'powershell', powershellExe: 'powershell' };
95
+ default: return undefined;
96
+ }
97
+ }
98
+ /** The names of the ancestors of this process, closest first; empty when they cannot be read */
99
+ function ancestorNames() {
100
+ try {
101
+ return process.platform === 'win32' ? windowsAncestors() : unixAncestors();
102
+ }
103
+ catch {
104
+ return [];
105
+ }
106
+ }
107
+ function windowsAncestors() {
108
+ // One query for the whole process table, walked here
109
+ const output = (0, child_process_1.execFileSync)('powershell', [
110
+ '-NoProfile', '-NonInteractive', '-Command',
111
+ "Get-CimInstance Win32_Process | ForEach-Object { '{0},{1},{2}' -f $_.ProcessId, $_.ParentProcessId, $_.Name }"
112
+ ], { encoding: 'utf8', windowsHide: true, timeout: 15000 });
113
+ const processes = new Map();
114
+ for (const line of output.split(/\r?\n/)) {
115
+ const [pid, parent, name] = line.split(',');
116
+ if (pid && parent && name) {
117
+ processes.set(Number(pid), { parent: Number(parent), name: name.trim() });
118
+ }
119
+ }
120
+ return walkAncestors(pid => processes.get(pid));
121
+ }
122
+ function unixAncestors() {
123
+ return walkAncestors(pid => {
124
+ const output = (0, child_process_1.execFileSync)('ps', ['-o', 'ppid=,comm=', '-p', String(pid)], { encoding: 'utf8', timeout: 5000 }).trim();
125
+ const match = /^(\d+)\s+(.+)$/.exec(output);
126
+ return match ? { parent: Number(match[1]), name: match[2] } : undefined;
127
+ });
128
+ }
129
+ function walkAncestors(lookup) {
130
+ const names = [];
131
+ let pid = process.ppid;
132
+ for (let depth = 0; depth < 8 && pid > 0; depth++) {
133
+ const entry = lookup(pid);
134
+ if (entry === undefined || entry.parent === pid) {
135
+ break;
136
+ }
137
+ names.push(entry.name);
138
+ pid = entry.parent;
139
+ }
140
+ return names;
141
+ }
142
+ //#endregion
143
+ //#region Installation
144
+ async function installCompletion(detected, yes) {
145
+ const profilePath = profileOf(detected);
146
+ const line = ACTIVATION[detected.shell];
147
+ ConsoleUtils_1.default.check(`Shell: ${detected.shell}, profile: ${profilePath}`);
148
+ const current = (0, fs_1.existsSync)(profilePath) ? (0, fs_1.readFileSync)(profilePath, 'utf8') : '';
149
+ if (current.includes(`cn completion ${detected.shell}`)) {
150
+ ConsoleUtils_1.default.check(`The completion is already installed in '${profilePath}'.`);
151
+ return;
152
+ }
153
+ // Writing a profile of the user deserves an explicit go: outside a terminal, only --yes can give it
154
+ if (!yes && !await ConsoleUtils_1.default.confirm(`Add '${line}' to '${profilePath}'?`, false)) {
155
+ console.error(chalk_1.default.yellow(`Aborted: nothing written. Run with '--yes' to skip the confirmation, or add the line yourself.`));
156
+ process.exitCode = 1;
157
+ return;
158
+ }
159
+ (0, fs_1.mkdirSync)((0, path_1.dirname)(profilePath), { recursive: true });
160
+ const separator = current === '' || current.endsWith('\n') ? '' : '\n';
161
+ (0, fs_1.appendFileSync)(profilePath, `${separator}\n# Completion of the Codenotch CLI (cn)\n${line}\n`);
162
+ ConsoleUtils_1.default.check(`Completion installed in '${profilePath}', open a new terminal to use it.`);
163
+ }
164
+ /** The profile the next terminal of this shell reads */
165
+ function profileOf(detected) {
166
+ // bash and zsh read '$HOME', which Git Bash on Windows may set apart from the profile folder os.homedir() reports
167
+ const home = process.env.HOME || os_1.default.homedir();
168
+ switch (detected.shell) {
169
+ case 'zsh': return (0, path_1.join)(process.env.ZDOTDIR || home, '.zshrc');
170
+ // The Terminal of macOS opens login shells, which read .bash_profile and not .bashrc
171
+ case 'bash': return (0, path_1.join)(home, process.platform === 'darwin' ? '.bash_profile' : '.bashrc');
172
+ case 'powershell': return powershellProfile(detected.powershellExe);
173
+ }
174
+ }
175
+ /** The profile of the current user, asked to the PowerShell at hand since 'Documents' can be redirected */
176
+ function powershellProfile(exe) {
177
+ const candidates = exe !== undefined ? [exe] : ['pwsh', 'powershell'];
178
+ for (const candidate of candidates) {
179
+ try {
180
+ const output = (0, child_process_1.execFileSync)(candidate, ['-NoProfile', '-NonInteractive', '-Command', 'Write-Output $PROFILE'], { encoding: 'utf8', windowsHide: true, timeout: 15000 }).trim();
181
+ if (output !== '') {
182
+ return output;
183
+ }
184
+ }
185
+ catch {
186
+ // Not installed, or not callable: try the next one
187
+ }
188
+ }
189
+ throw new Error(`No PowerShell found (pwsh or powershell) to ask the path of its profile.`);
33
190
  }
191
+ //#endregion
192
+ //#region Scripts
34
193
  /**
35
194
  * Every command path (aliases included) with the words it accepts next: its subcommands, its
36
195
  * options, and the global options that are valid anywhere. Keyed "cn <path>" for the lookup.
@@ -73,6 +232,13 @@ function optionWords(command) {
73
232
  }
74
233
  return words;
75
234
  }
235
+ function script(shell, table) {
236
+ switch (shell) {
237
+ case 'bash': return bashScript(table);
238
+ case 'zsh': return zshScript(table);
239
+ case 'powershell': return powershellScript(table);
240
+ }
241
+ }
76
242
  function bashScript(table) {
77
243
  const cases = [...table.entries()].map(([key, words]) => ` "${key}") candidates="${words.join(' ')}" ;;`).join('\n');
78
244
  return `# Completion of the Codenotch CLI, generated by 'cn completion bash'
@@ -142,4 +308,5 @@ ${entries}
142
308
  ${COMMAND_NAMES.map(name => `Register-ArgumentCompleter -Native -CommandName ${name} -ScriptBlock $cnCompletion`).join('\n')}
143
309
  `;
144
310
  }
311
+ //#endregion
145
312
  //# sourceMappingURL=completion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/commands/system/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/commands/system/completion.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -67,8 +67,8 @@ Getting started:
67
67
 
68
68
  Automation:
69
69
  stdout carries the results only, the progress and the messages go to stderr. Most commands take
70
- '--json' for a machine-readable result and '--quiet' drops the progress. 'cn completion <shell>'
71
- prints the completion script of bash, zsh or powershell.
70
+ '--json' for a machine-readable result and '--quiet' drops the progress. 'cn completion --install'
71
+ sets up the completion of the shell (bash, zsh or powershell, detected).
72
72
 
73
73
  Environment:
74
74
  CODENOTCH_PATH folder of the local runtime (default: ~/.codenotch)
@@ -13,7 +13,8 @@ export interface IBuildOptions {
13
13
  pwa?: boolean;
14
14
  }
15
15
  export default abstract class BuildUtils {
16
- static readonly CN_REACT_VERSION = "2.0.5";
16
+ static readonly CN_REACT_VERSION = "2.0.8";
17
+ static readonly CN_ORM_VERSION = "0.1.2";
17
18
  /** Root of the Codenotch project a folder belongs to, walking up to the closest manifest.json */
18
19
  static findWorkspace(fromDir?: string): string | undefined;
19
20
  static findWorkspaceFromFile(childPath: string): string | undefined;
@@ -125,10 +126,11 @@ export default abstract class BuildUtils {
125
126
  private static createTsConfig;
126
127
  /**
127
128
  * A Vite plugin, as source text injected in both the build and the dev config: a value import
128
- * of a server-side '@codenotch/*' package (process, orm — types at compile time, provided by
129
- * the runtime inside a process, nothing to bundle for a browser) fails the build with the
130
- * real explanation instead of Vite's cryptic resolve error. A type-only import is erased
131
- * before resolution and never reaches it.
129
+ * of the server-side '@codenotch/process' package (types at compile time, provided by the
130
+ * runtime inside a process, nothing to bundle for a browser) fails the build with the real
131
+ * explanation instead of Vite's cryptic resolve error. A type-only import is erased before
132
+ * resolution and never reaches it. '@codenotch/orm' is not guarded: it ships in the browser,
133
+ * the generated 'db-client-context.ts' imports the table declarations to query them.
132
134
  *
133
135
  * Exception: the dependency scanner of the dev server crawls the REAL content of the files
134
136
  * the app graph replaces by stubs (process and template modules — see createProcessStubs),
@@ -16,7 +16,8 @@ const ConsoleUtils_1 = __importDefault(require("./ConsoleUtils"));
16
16
  const ProjectUtils_1 = __importDefault(require("./ProjectUtils"));
17
17
  const RuntimeUtils_1 = __importDefault(require("./RuntimeUtils"));
18
18
  class BuildUtils {
19
- static CN_REACT_VERSION = '2.0.5';
19
+ static CN_REACT_VERSION = '2.0.8';
20
+ static CN_ORM_VERSION = '0.1.2';
20
21
  /** Root of the Codenotch project a folder belongs to, walking up to the closest manifest.json */
21
22
  static findWorkspace(fromDir = process.cwd()) {
22
23
  // findWorkspaceFromFile strips the last segment, hand it a dummy file
@@ -541,10 +542,11 @@ try {
541
542
  }
542
543
  /**
543
544
  * A Vite plugin, as source text injected in both the build and the dev config: a value import
544
- * of a server-side '@codenotch/*' package (process, orm — types at compile time, provided by
545
- * the runtime inside a process, nothing to bundle for a browser) fails the build with the
546
- * real explanation instead of Vite's cryptic resolve error. A type-only import is erased
547
- * before resolution and never reaches it.
545
+ * of the server-side '@codenotch/process' package (types at compile time, provided by the
546
+ * runtime inside a process, nothing to bundle for a browser) fails the build with the real
547
+ * explanation instead of Vite's cryptic resolve error. A type-only import is erased before
548
+ * resolution and never reaches it. '@codenotch/orm' is not guarded: it ships in the browser,
549
+ * the generated 'db-client-context.ts' imports the table declarations to query them.
548
550
  *
549
551
  * Exception: the dependency scanner of the dev server crawls the REAL content of the files
550
552
  * the app graph replaces by stubs (process and template modules — see createProcessStubs),
@@ -562,7 +564,7 @@ try {
562
564
  name: 'codenotch-server-only',
563
565
  enforce: 'pre',
564
566
  resolveId(source, importer) {
565
- if (!/^@codenotch\\/(process|orm)(\\/|$)/.test(source)) {
567
+ if (!/^@codenotch\\/(process)(\\/|$)/.test(source)) {
566
568
  return null;
567
569
  }
568
570
  if (importer) {
@@ -1 +1 @@
1
- {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,12 @@ export interface IDbSchemaGenerationResult {
4
4
  warnings: string[];
5
5
  }
6
6
  /**
7
- * Builds the two files describing the database of a project out of its 'defineEntity' and
7
+ * Builds the files describing the database of a project out of its 'defineEntity' and
8
8
  * 'defineDocument' declarations: 'db-schema.xml', read by the runtime to migrate the database,
9
- * and 'db-schema.d.ts', which augments the 'ProjectTables' and 'ProjectDocs' interfaces of
10
- * '@codenotch/process' so that `ctx.tables.<name>` is typed in the processes.
9
+ * 'db-schema.d.ts', which augments the 'ProjectTables' and 'ProjectDocs' interfaces of
10
+ * '@codenotch/process' so that `ctx.tables.<name>` is typed in the processes, and
11
+ * 'db-client-context.ts', the same tables as the React apps query them through
12
+ * `useCodenotch(clientDbContext)`.
11
13
  */
12
14
  export default abstract class DbSchemaUtils {
13
15
  /**
@@ -37,7 +39,22 @@ export default abstract class DbSchemaUtils {
37
39
  * @param documentImports import line of each document type, keyed by document name
38
40
  */
39
41
  static generateDts(tables: IDiscoveredTable[], documents: IDiscoveredDocument[], tableImports: Map<string, string>, documentImports: Map<string, string>): IDbSchemaGenerationResult;
40
- /** Splits an import statement back into the type it brings and the file it comes from */
42
+ /**
43
+ * 'db-client-context.ts', the tables as the React apps query them: one 'ClientTableQueryable'
44
+ * of '@codenotch/codenotch.react' per table, under the collection name 'db-schema.d.ts' gives
45
+ * it, gathered in a 'clientDbContext' object to pass to `useCodenotch(clientDbContext)` so
46
+ * that `cn.tables.<name>` is typed with the row type of the table.
47
+ *
48
+ * Unlike the d.ts it imports the tables themselves, not their types: a table only has to be
49
+ * exported to be part of it, an exported row type is not needed. Documents are not queried
50
+ * from the apps and are left out.
51
+ *
52
+ * @param tables tables of the project, see ProjectUtils.discoverTableFiles
53
+ * @param entityImports import line of each table value, keyed by table name, see
54
+ * ProjectUtils.getTableEntityImport
55
+ */
56
+ static generateClientContext(tables: IDiscoveredTable[], entityImports: Map<string, string>): IDbSchemaGenerationResult;
57
+ /** Splits an import statement back into the name it brings and the file it comes from */
41
58
  private static parseImport;
42
59
  private static sortByName;
43
60
  private static getDescription;