@codenotch/codenotch.cli 1.0.56 → 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.
@@ -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').
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectUtils.js","sourceRoot":"","sources":["../../src/utils/ProjectUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectUtils.js","sourceRoot":"","sources":["../../src/utils/ProjectUtils.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,21 @@ export default abstract class TemplateUtils {
14
14
  static isValidAppName(appName: string): boolean;
15
15
  /**
16
16
  * Empty React app, e.g. 'apps/index.tsx'
17
+ *
18
+ * @param clientContextSpecifier module specifier of the generated 'db-client-context.ts' as
19
+ * seen from the app, e.g. '../db-client-context'; when given,
20
+ * the app hands it to `useCodenotch` and `cn.tables` is typed
21
+ */
22
+ static createAppTsx(appName: string, clientContextSpecifier?: string): string;
23
+ /**
24
+ * Module specifier of the generated 'db-client-context.ts' of the project an app belongs to,
25
+ * relative to the app, e.g. '../db-client-context'. Undefined when the app is outside of a
26
+ * project or when the project has no client context (no table generated yet): the app then
27
+ * calls `useCodenotch()` without tables.
28
+ *
29
+ * @param appFilePath where the app is (or will be) written
17
30
  */
18
- static createAppTsx(appName: string): string;
31
+ static findClientContextSpecifier(appFilePath: string): string | undefined;
19
32
  /**
20
33
  * Manifest of an app, e.g. 'apps/index.manifest.json'
21
34
  */
@@ -42,6 +55,7 @@ export default abstract class TemplateUtils {
42
55
  react?: string | undefined;
43
56
  'react-dom'?: string | undefined;
44
57
  '@codenotch/codenotch.react'?: string | undefined;
58
+ '@codenotch/orm'?: string | undefined;
45
59
  };
46
60
  devDependencies: {
47
61
  typescript: string;
@@ -4,6 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.APP_NAME_PATTERN = void 0;
7
+ const fs_1 = require("fs");
8
+ const path_1 = require("path");
7
9
  const BuildUtils_1 = __importDefault(require("./BuildUtils"));
8
10
  /**
9
11
  * An app name is used both as the file name and as the React component name, it must be a valid identifier
@@ -22,14 +24,21 @@ class TemplateUtils {
22
24
  }
23
25
  /**
24
26
  * Empty React app, e.g. 'apps/index.tsx'
27
+ *
28
+ * @param clientContextSpecifier module specifier of the generated 'db-client-context.ts' as
29
+ * seen from the app, e.g. '../db-client-context'; when given,
30
+ * the app hands it to `useCodenotch` and `cn.tables` is typed
25
31
  */
26
- static createAppTsx(appName) {
32
+ static createAppTsx(appName, clientContextSpecifier) {
27
33
  return [
28
34
  `import React from 'react';`,
29
35
  `import { useCodenotch } from '@codenotch/codenotch.react';`,
36
+ clientContextSpecifier === undefined ? undefined : `import { clientDbContext } from '${clientContextSpecifier}';`,
30
37
  ``,
31
38
  `const ${appName}: React.FC<{}> = () => {`,
32
- `\tconst cn = useCodenotch();`,
39
+ clientContextSpecifier === undefined
40
+ ? `\tconst cn = useCodenotch();`
41
+ : `\tconst cn = useCodenotch(clientDbContext); // cn.tables.<name> queries the tables of the project`,
33
42
  ``,
34
43
  `\treturn <div>`,
35
44
  `\t\t<h1>My new Codenotch App</h1>`,
@@ -39,7 +48,24 @@ class TemplateUtils {
39
48
  ``,
40
49
  `export default ${appName};`,
41
50
  ``
42
- ].join('\n');
51
+ ].filter((line) => line !== undefined).join('\n');
52
+ }
53
+ /**
54
+ * Module specifier of the generated 'db-client-context.ts' of the project an app belongs to,
55
+ * relative to the app, e.g. '../db-client-context'. Undefined when the app is outside of a
56
+ * project or when the project has no client context (no table generated yet): the app then
57
+ * calls `useCodenotch()` without tables.
58
+ *
59
+ * @param appFilePath where the app is (or will be) written
60
+ */
61
+ static findClientContextSpecifier(appFilePath) {
62
+ const workspacePath = BuildUtils_1.default.findWorkspaceFromFile(appFilePath);
63
+ if (workspacePath === undefined || !(0, fs_1.existsSync)((0, path_1.join)(workspacePath, 'db-client-context.ts'))) {
64
+ return undefined;
65
+ }
66
+ // Module specifiers are posix and carry no extension
67
+ const specifier = (0, path_1.relative)((0, path_1.dirname)(appFilePath), (0, path_1.join)(workspacePath, 'db-client-context')).replaceAll('\\', '/');
68
+ return specifier.startsWith('.') ? specifier : `./${specifier}`;
43
69
  }
44
70
  /**
45
71
  * Manifest of an app, e.g. 'apps/index.manifest.json'
@@ -86,7 +112,8 @@ class TemplateUtils {
86
112
  ...(withReact ? {
87
113
  'react': '^19.2.8',
88
114
  'react-dom': '^19.2.8',
89
- '@codenotch/codenotch.react': BuildUtils_1.default.CN_REACT_VERSION
115
+ '@codenotch/codenotch.react': BuildUtils_1.default.CN_REACT_VERSION,
116
+ '@codenotch/orm': BuildUtils_1.default.CN_ORM_VERSION
90
117
  } : {}),
91
118
  ...extra.dependencies
92
119
  },
@@ -137,9 +164,10 @@ class TemplateUtils {
137
164
  'package-lock.json',
138
165
  '',
139
166
  '# Generated by the cli at every compile, or on demand with the cn generate commands of the readme',
140
- // Anchored with a leading slash: these three only ever sit at the root of the project
167
+ // Anchored with a leading slash: these four only ever sit at the root of the project
141
168
  '/db-schema.d.ts',
142
169
  '/db-schema.xml',
170
+ '/db-client-context.ts',
143
171
  '/openapi.json',
144
172
  // No slash: a translation file can sit anywhere, and its class is generated next to it
145
173
  '*.i18n.ts',
@@ -181,15 +209,15 @@ this file does not repeat the reference, and the docs follow the installed CLI v
181
209
 
182
210
  ## Rules
183
211
 
184
- 1. **Never edit generated files**: \`db-schema.xml\`, \`db-schema.d.ts\`, \`openapi.json\`,
185
- \`*.i18n.ts\`, \`.codenotch/\`. Fix the source they are generated from, then regenerate.
212
+ 1. **Never edit generated files**: \`db-schema.xml\`, \`db-schema.d.ts\`, \`db-client-context.ts\`,
213
+ \`openapi.json\`, \`*.i18n.ts\`, \`.codenotch/\`. Fix the source they are generated from, then regenerate.
186
214
  2. **Regenerate after changing sources** — every compile (\`cn project start\`, \`refresh\`,
187
215
  \`compile\`) does it; to refresh the types in the editor right away: tables or documents:
188
216
  \`cn generate dbcontext -f .\`; processes exposing endpoints: \`cn generate openapi -f .\`;
189
217
  translations: \`cn generate i18n -f <file>.i18n.csv\`.
190
- 3. **Keep the TODO policy**: where the runtime API is not settled yet (the client-side call of a
191
- process, the CNQL filter syntax), the sources carry an explicit \`TODO\` comment instead of a
192
- guess. Never invent those APIs; carry the TODO and tell the user.
218
+ 3. **Keep the TODO policy**: where the runtime API is not settled yet (the CNQL filter syntax),
219
+ the sources carry an explicit \`TODO\` comment instead of a guess. Never invent those APIs;
220
+ carry the TODO and tell the user.
193
221
  4. **Check your work**: \`cn validate .\` reports hints, warnings and errors of every file, and
194
222
  \`cn project compile\` typechecks the sources, bundles the processes and builds the apps
195
223
  into \`.codenotch/compiled\` without deploying anything.
@@ -253,7 +281,7 @@ The files the cli derives from the sources are not versioned (see \`.gitignore\`
253
281
  it on demand, for instance to refresh the types in the editor right after editing a table:
254
282
 
255
283
  ${fence}sh
256
- cn generate dbcontext -f . # db-schema.xml + db-schema.d.ts, when the project has tables or documents
284
+ cn generate dbcontext -f . # db-schema.xml, db-schema.d.ts and db-client-context.ts, when the project has tables or documents
257
285
  cn generate openapi -f . # openapi.json, when processes expose endpoints
258
286
  cn generate i18n -f <file>.i18n.csv # the typed class of each translation file
259
287
  ${fence}
@@ -302,6 +330,15 @@ ${fence}
302
330
 
303
331
  Each app is described by a \`<App>.manifest.json\` next to it (title, PWA settings, roles).
304
332
 
333
+ In a project with tables, hand the generated \`db-client-context.ts\` to the hook and \`cn.tables.<name>\`
334
+ queries them, typed with the row type of each table:
335
+
336
+ ${fence}tsx
337
+ import { clientDbContext } from '../db-client-context';
338
+
339
+ const cn = useCodenotch(clientDbContext);
340
+ ${fence}
341
+
305
342
  ## Translations
306
343
 
307
344
  A \`*.i18n.csv\` file holds one \`key\` column plus one column per language:
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateUtils.js","sourceRoot":"","sources":["../../src/utils/TemplateUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateUtils.js","sourceRoot":"","sources":["../../src/utils/TemplateUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codenotch/codenotch.cli",
3
- "version": "1.0.56",
3
+ "version": "1.0.57",
4
4
  "description": "The Codenotch CLI ('cn'): scaffold, run, validate, package and deploy full-stack TypeScript Codenotch projects - processes, tables, documents and React apps - on a local Codenotch runtime",
5
5
  "main": "dist/index.js",
6
6
  "files": [