@codenotch/codenotch.cli 1.0.46 → 1.0.47

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.
@@ -1,11 +1,11 @@
1
1
  import { IProcessTrigger } from './ProjectUtils';
2
2
  import { IJsonSchema } from './TypeSchemaUtils';
3
- /** One bundled process. The compiled manifest.json only indexes its id and file; the rest is metadata for the CLI itself */
3
+ /** One indexed process. The compiled manifest.json only carries its id and file; the rest is metadata for the CLI itself */
4
4
  export interface IProcessArtifact {
5
5
  id: string;
6
- /** Path of the bundle, relative to the root of the package, posix separators, e.g. 'processes/CreateBook.js' */
6
+ /** Path of the compiled module of its declaring file, relative to the root of the package, posix separators, e.g. 'processes/checkout.process.js'. Processes declared in the same file share it */
7
7
  file: string;
8
- /** Content hash of the bundle, 'sha256:<hex>', meant as the key of the V8 code cache of the runtime */
8
+ /** Content hash of that module, 'sha256:<hex>' */
9
9
  hash: string;
10
10
  /** Declaration site, relative to the root of the package, e.g. 'processes/products.ts:5' */
11
11
  source: string;
@@ -23,77 +23,101 @@ export interface IProcessArtifact {
23
23
  output?: IJsonSchema;
24
24
  }
25
25
  export interface IProcessBundleResult {
26
- /** One artifact per bundled process, sorted by id so the index is deterministic */
26
+ /** One artifact per indexed process, sorted by id so the index is deterministic */
27
27
  artifacts: IProcessArtifact[];
28
28
  /** Skipped declarations and bundler warnings, already worded for the console */
29
29
  warnings: string[];
30
30
  /** Bundling failures. When non-empty the artifacts list is empty */
31
31
  errors: string[];
32
32
  }
33
+ /** One compiled rendering template, ready for the 'templates' index of the compiled manifest */
34
+ export interface ITemplateArtifact {
35
+ /** Name the runtime resolves the template by, e.g. 'decision-email' */
36
+ name: string;
37
+ kind: 'email' | 'pdf';
38
+ /** Path of the compiled module, relative to the root of the package, posix separators */
39
+ file: string;
40
+ description?: string;
41
+ }
42
+ export interface ITemplateBundleResult {
43
+ /** One entry per compiled template, sorted by name so the index is deterministic */
44
+ templates: ITemplateArtifact[];
45
+ warnings: string[];
46
+ /** Bundling failures. When non-empty the templates list is empty */
47
+ errors: string[];
48
+ }
33
49
  /**
34
- * Bundles every process of a project into its own self-contained .js artifact, executable by the
35
- * C# runtime in a bare V8 engine (ClearScript). The full contract between these artifacts and the
36
- * runtime is documented in docs/PROCESS-RUNTIME-CONTRACT.md keep both in sync.
37
- *
38
- * In short, one artifact:
39
- * - is an IIFE with no import left: the code of the process and every workspace file or npm
40
- * package it reaches are inlined (each artifact is independent, duplication is accepted);
41
- * - reads the '@codenotch/*' modules from `globalThis.__codenotch.modules`, injected by the
42
- * runtime before the script is evaluated — they are never bundled;
43
- * - registers itself into `globalThis.__cn_processes[id] = { id, run }`, where `run(ctx, input)`
44
- * returns a Promise. Registration makes the artifacts host-agnostic: one engine per process
45
- * and one shared engine per service both work.
50
+ * Compiles the processes and the rendering templates of a project into plain CommonJS modules,
51
+ * executable by the C# runtime in a bare V8 engine (ClearScript) given a host-provided
52
+ * `require`. The full contract between these modules and the runtime is documented in
53
+ * docs/PROCESS-RUNTIME-CONTRACT.md — keep both in sync.
46
54
  *
47
- * Each artifact replaces its declaring source in the compiled tree: it is written where the
48
- * declaring .ts sits, named by the process id, and the declaring .ts is removed. The caller
49
- * indexes the returned artifacts (id file) in the compiled manifest.json; the runtime learns
50
- * the routing (trigger, auth, ...) from the declaration each artifact hands to the
51
- * '@codenotch/process' implementation when evaluated.
55
+ * One compiled module per declaring source file, at the same path with a .js extension
56
+ * ('processes/checkout.process.ts' becomes 'processes/checkout.process.js'):
57
+ * - plain CJS ("use strict", require/module/exports), ES2022, inline source map;
58
+ * - workspace imports and pure-JS npm packages are inlined, tree-shaken; '@codenotch/*'
59
+ * imports stay as require(...) — the host provides them, they are never bundled;
60
+ * - evaluating the module executes its top-level declarations (`process({...})`,
61
+ * `template.email(...)`): the host's '@codenotch/process' implementation captures them.
62
+ * No global registry, no self-registration;
63
+ * - an import of a rendering template is NEVER inlined into a process: it becomes a stub
64
+ * `{ __codenotchTemplate: true, __templateName: '<name>' }`, resolved by name by the
65
+ * runtime (ctx.render.*) — the template implementation never enters a process module.
52
66
  *
53
67
  * esbuild only strips the types, it does not check them: typechecking is the job of the caller
54
68
  * (see ProjectCompilationUtils.compileProject, which validates the scripts first).
55
69
  */
56
70
  export default abstract class ProcessBundlerUtils {
57
- /** Global the runtime fills with the '@codenotch/*' implementations before evaluating an artifact */
58
- private static readonly MODULES_GLOBAL;
59
- /** Global registry an artifact writes itself into when evaluated */
60
- private static readonly REGISTRY_GLOBAL;
61
71
  /** Bare specifiers of the Node standard library, which does not exist in the V8 of the runtime */
62
72
  private static readonly NODE_BUILTINS;
73
+ /** Extensions an extensionless template import can resolve to */
74
+ private static readonly TEMPLATE_EXTENSIONS;
63
75
  /**
64
- * Discovers the processes of `projectPath` and bundles each of them into `targetPath`, the
65
- * root of the compiled copy of the project. Each artifact lands where its declaring source
66
- * sits in that copy, named by the process id ('processes/products.ts' declaring 'CreateBook'
67
- * becomes 'processes/CreateBook.js'), and the copy of the declaring .ts is then removed:
68
- * compiled processes replace the uncompiled ones. The caller indexes the returned artifacts
69
- * in the compiled manifest.json.
76
+ * Discovers the processes of `projectPath` and compiles each declaring source file into
77
+ * `targetPath`, the root of the compiled copy of the project. The compiled module lands at
78
+ * the path of its declaring source with a .js extension, and the copy of the source is then
79
+ * removed: compiled processes replace the uncompiled ones. The caller indexes the returned
80
+ * artifacts in the compiled manifest.json.
70
81
  *
71
- * A declaration that cannot be bundled (id missing or built at runtime, variable not
72
- * exported, duplicated id) is skipped with a warning rather than failing the build.
73
- * Nothing is thrown for bundling failures either: they are returned as errors.
82
+ * A declaration that cannot be indexed (id missing or built at runtime, duplicated id) is
83
+ * skipped with a warning rather than failing the build. Nothing is thrown for bundling
84
+ * failures either: they are returned as errors.
74
85
  *
75
86
  * @param projectPath root of the project, where the sources and 'node_modules' live
76
- * @param targetPath root of the compiled copy receiving the artifacts, never the sources
87
+ * @param targetPath root of the compiled copy receiving the modules, never the sources
77
88
  * themselves (see ProjectUtils.compileProjectTo)
78
89
  */
79
90
  static bundleProcesses(projectPath: string, targetPath: string): Promise<IProcessBundleResult>;
80
- /** Keeps the declarations that can become an artifact, one warning per skipped one */
81
- private static selectBundlable;
82
91
  /**
83
- * One output path per process id, relative to the root of the compiled project and without
84
- * extension, e.g. 'processes/CreateBook': the folder of the declaring source, then the id.
85
- * Ids are sanitized for the file system and deduplicated case-insensitively (Windows), so
86
- * the 'file' field of the index is the only reliable mapping.
92
+ * Discovers the rendering templates of `projectPath` (see ProjectUtils.discoverTemplateFiles)
93
+ * and compiles each of them into `targetPath` the same way the processes are compiled: one
94
+ * CJS module replacing its source. The caller indexes the returned entries in the 'templates'
95
+ * of the compiled manifest.json.
96
+ */
97
+ static bundleTemplates(projectPath: string, targetPath: string): Promise<ITemplateBundleResult>;
98
+ /** Keeps the declarations the manifest can index, one warning per skipped one */
99
+ private static selectIndexable;
100
+ /**
101
+ * One output path per declaring source file, relative to the root of the compiled project
102
+ * and without extension: 'processes/checkout.process.ts' becomes 'processes/checkout.process'.
103
+ * Two sources that only differ by extension would collide on the compiled .js (Windows is
104
+ * also case-insensitive): the second one is skipped with a warning.
87
105
  */
88
106
  private static assignOutputKeys;
89
- /** The three resolution rules of a bundle: synthetic entries, runtime-provided modules, no Node builtin */
107
+ /**
108
+ * One esbuild run compiling each entry file to '<outputKey>.js' under `targetPath`.
109
+ * Returns the build errors; an empty array means every module was written.
110
+ */
111
+ private static build;
112
+ /** The two resolution rules of a compiled module: template imports become stubs, no Node builtin */
90
113
  private static createPlugin;
91
- /** Source of the synthetic entry module of one process */
92
- private static createEntrySource;
93
- /** Source of the stand-in module of a runtime-provided '@codenotch/*' package */
94
- private static createRuntimeModuleSource;
95
- /** Index entries of the written bundles, hashing each artifact for the code cache of the runtime */
114
+ /** Index entries of the compiled processes, hashing each module for change detection */
96
115
  private static createArtifacts;
116
+ /**
117
+ * The compiled modules replace their sources: the copy of each compiled source is removed —
118
+ * only ever a copy, never the source itself (when target = project nothing is deleted).
119
+ */
120
+ private static deleteCompiledSources;
97
121
  /** 'processes/products.ts:5' — declaration site relative to the project, for messages and the index */
98
122
  private static formatSource;
99
123
  /** One console line out of an esbuild diagnostic, with its location when it has one */
@@ -44,49 +44,44 @@ const esbuild = __importStar(require("esbuild"));
44
44
  const ProjectUtils_1 = __importDefault(require("./ProjectUtils"));
45
45
  const FileUtils_1 = __importDefault(require("./FileUtils"));
46
46
  /**
47
- * Bundles every process of a project into its own self-contained .js artifact, executable by the
48
- * C# runtime in a bare V8 engine (ClearScript). The full contract between these artifacts and the
49
- * runtime is documented in docs/PROCESS-RUNTIME-CONTRACT.md keep both in sync.
47
+ * Compiles the processes and the rendering templates of a project into plain CommonJS modules,
48
+ * executable by the C# runtime in a bare V8 engine (ClearScript) given a host-provided
49
+ * `require`. The full contract between these modules and the runtime is documented in
50
+ * docs/PROCESS-RUNTIME-CONTRACT.md — keep both in sync.
50
51
  *
51
- * In short, one artifact:
52
- * - is an IIFE with no import left: the code of the process and every workspace file or npm
53
- * package it reaches are inlined (each artifact is independent, duplication is accepted);
54
- * - reads the '@codenotch/*' modules from `globalThis.__codenotch.modules`, injected by the
55
- * runtime before the script is evaluated they are never bundled;
56
- * - registers itself into `globalThis.__cn_processes[id] = { id, run }`, where `run(ctx, input)`
57
- * returns a Promise. Registration makes the artifacts host-agnostic: one engine per process
58
- * and one shared engine per service both work.
59
- *
60
- * Each artifact replaces its declaring source in the compiled tree: it is written where the
61
- * declaring .ts sits, named by the process id, and the declaring .ts is removed. The caller
62
- * indexes the returned artifacts (id → file) in the compiled manifest.json; the runtime learns
63
- * the routing (trigger, auth, ...) from the declaration each artifact hands to the
64
- * '@codenotch/process' implementation when evaluated.
52
+ * One compiled module per declaring source file, at the same path with a .js extension
53
+ * ('processes/checkout.process.ts' becomes 'processes/checkout.process.js'):
54
+ * - plain CJS ("use strict", require/module/exports), ES2022, inline source map;
55
+ * - workspace imports and pure-JS npm packages are inlined, tree-shaken; '@codenotch/*'
56
+ * imports stay as require(...) — the host provides them, they are never bundled;
57
+ * - evaluating the module executes its top-level declarations (`process({...})`,
58
+ * `template.email(...)`): the host's '@codenotch/process' implementation captures them.
59
+ * No global registry, no self-registration;
60
+ * - an import of a rendering template is NEVER inlined into a process: it becomes a stub
61
+ * `{ __codenotchTemplate: true, __templateName: '<name>' }`, resolved by name by the
62
+ * runtime (ctx.render.*) the template implementation never enters a process module.
65
63
  *
66
64
  * esbuild only strips the types, it does not check them: typechecking is the job of the caller
67
65
  * (see ProjectCompilationUtils.compileProject, which validates the scripts first).
68
66
  */
69
67
  class ProcessBundlerUtils {
70
- /** Global the runtime fills with the '@codenotch/*' implementations before evaluating an artifact */
71
- static MODULES_GLOBAL = 'globalThis.__codenotch.modules';
72
- /** Global registry an artifact writes itself into when evaluated */
73
- static REGISTRY_GLOBAL = 'globalThis.__cn_processes';
74
68
  /** Bare specifiers of the Node standard library, which does not exist in the V8 of the runtime */
75
69
  static NODE_BUILTINS = new Set(module_1.builtinModules);
70
+ /** Extensions an extensionless template import can resolve to */
71
+ static TEMPLATE_EXTENSIONS = ['', '.ts', '.tsx', '.js', '.jsx'];
76
72
  /**
77
- * Discovers the processes of `projectPath` and bundles each of them into `targetPath`, the
78
- * root of the compiled copy of the project. Each artifact lands where its declaring source
79
- * sits in that copy, named by the process id ('processes/products.ts' declaring 'CreateBook'
80
- * becomes 'processes/CreateBook.js'), and the copy of the declaring .ts is then removed:
81
- * compiled processes replace the uncompiled ones. The caller indexes the returned artifacts
82
- * in the compiled manifest.json.
73
+ * Discovers the processes of `projectPath` and compiles each declaring source file into
74
+ * `targetPath`, the root of the compiled copy of the project. The compiled module lands at
75
+ * the path of its declaring source with a .js extension, and the copy of the source is then
76
+ * removed: compiled processes replace the uncompiled ones. The caller indexes the returned
77
+ * artifacts in the compiled manifest.json.
83
78
  *
84
- * A declaration that cannot be bundled (id missing or built at runtime, variable not
85
- * exported, duplicated id) is skipped with a warning rather than failing the build.
86
- * Nothing is thrown for bundling failures either: they are returned as errors.
79
+ * A declaration that cannot be indexed (id missing or built at runtime, duplicated id) is
80
+ * skipped with a warning rather than failing the build. Nothing is thrown for bundling
81
+ * failures either: they are returned as errors.
87
82
  *
88
83
  * @param projectPath root of the project, where the sources and 'node_modules' live
89
- * @param targetPath root of the compiled copy receiving the artifacts, never the sources
84
+ * @param targetPath root of the compiled copy receiving the modules, never the sources
90
85
  * themselves (see ProjectUtils.compileProjectTo)
91
86
  */
92
87
  static async bundleProcesses(projectPath, targetPath) {
@@ -95,84 +90,85 @@ class ProcessBundlerUtils {
95
90
  const warnings = [];
96
91
  const errors = [];
97
92
  const discovered = await ProjectUtils_1.default.discoverProcessFiles(projectPath);
98
- const selected = this.selectBundlable(discovered, projectPath, warnings);
99
- const outputKeys = this.assignOutputKeys(selected, projectPath);
100
- if (selected.length > 0) {
101
- const entryPoints = {};
102
- for (const process of selected) {
103
- entryPoints[outputKeys.get(process.id)] = `cn-process-entry:${process.id}`;
93
+ const selected = this.selectIndexable(discovered, projectPath, warnings);
94
+ const outputKeys = this.assignOutputKeys(selected.map(process => process.filePath), projectPath, warnings);
95
+ const indexed = selected.filter(process => outputKeys.has(process.filePath));
96
+ if (outputKeys.size > 0) {
97
+ // Template imports become stubs: the runtime resolves them by name
98
+ const templates = await ProjectUtils_1.default.discoverTemplateFiles(projectPath);
99
+ const buildErrors = await this.build(projectPath, targetPath, outputKeys, warnings, templates);
100
+ if (buildErrors.length > 0) {
101
+ errors.push(...buildErrors);
102
+ return { artifacts: [], warnings, errors };
104
103
  }
105
- try {
106
- const result = await esbuild.build({
107
- entryPoints,
108
- bundle: true,
109
- write: true,
110
- outdir: targetPath,
111
- format: 'iife',
112
- platform: 'neutral',
113
- // 'neutral' resolves nothing by default, so packages without an 'exports' map would not be found
114
- mainFields: ['module', 'main'],
115
- target: 'es2022',
116
- sourcemap: true,
117
- sourcesContent: true,
118
- charset: 'utf8',
119
- legalComments: 'none',
120
- logLevel: 'silent',
121
- absWorkingDir: projectPath,
122
- plugins: [this.createPlugin(new Map(selected.map(process => [process.id, process])))]
123
- });
124
- warnings.push(...result.warnings.map(message => this.formatEsbuildMessage(message)));
104
+ }
105
+ const artifacts = this.createArtifacts(indexed, outputKeys, projectPath, targetPath, errors);
106
+ this.deleteCompiledSources(projectPath, targetPath, outputKeys.keys());
107
+ return { artifacts, warnings, errors };
108
+ }
109
+ /**
110
+ * Discovers the rendering templates of `projectPath` (see ProjectUtils.discoverTemplateFiles)
111
+ * and compiles each of them into `targetPath` the same way the processes are compiled: one
112
+ * CJS module replacing its source. The caller indexes the returned entries in the 'templates'
113
+ * of the compiled manifest.json.
114
+ */
115
+ static async bundleTemplates(projectPath, targetPath) {
116
+ projectPath = path_1.default.resolve(projectPath);
117
+ targetPath = path_1.default.resolve(targetPath);
118
+ const warnings = [];
119
+ const errors = [];
120
+ const discovered = await ProjectUtils_1.default.discoverTemplateFiles(projectPath);
121
+ const selected = [];
122
+ const byName = new Map();
123
+ for (const template of discovered) {
124
+ const at = `${path_1.default.relative(projectPath, template.filePath).replaceAll('\\', '/')}:${template.line}`;
125
+ if (template.kind === undefined) {
126
+ warnings.push(`${at}: the default export is not a 'template.email(...)' or 'template.pdf(...)' call — skipped`);
127
+ continue;
125
128
  }
126
- catch (failure) {
127
- const bundleErrors = failure.errors;
128
- const bundleWarnings = failure.warnings;
129
- if (Array.isArray(bundleErrors) && bundleErrors.length > 0) {
130
- errors.push(...bundleErrors.map(message => this.formatEsbuildMessage(message)));
131
- warnings.push(...(bundleWarnings ?? []).map(message => this.formatEsbuildMessage(message)));
132
- }
133
- else {
134
- errors.push(`Process bundling failed: ${failure instanceof Error ? failure.message : String(failure)}`);
135
- }
136
- return { artifacts: [], warnings, errors };
129
+ const existing = byName.get(template.name.toLowerCase());
130
+ if (existing) {
131
+ warnings.push(`${at}: duplicate template name '${template.name}', already declared at '${path_1.default.relative(projectPath, existing.filePath).replaceAll('\\', '/')}' — skipped, the first declaration wins`);
132
+ continue;
137
133
  }
134
+ byName.set(template.name.toLowerCase(), template);
135
+ selected.push(template);
138
136
  }
139
- const artifacts = this.createArtifacts(selected, outputKeys, projectPath, targetPath, errors);
140
- // The compiled processes replace the uncompiled ones: the copy of a declaring source is
141
- // removed once its artifacts are written — only ever a copy, never the source itself
142
- if (targetPath.toLowerCase() !== projectPath.toLowerCase()) {
143
- const declaringFiles = new Set(selected.map(process => path_1.default.join(targetPath, path_1.default.relative(projectPath, process.filePath))));
144
- for (const declaringFile of declaringFiles) {
145
- FileUtils_1.default.deleteRecursively(declaringFile);
137
+ const outputKeys = this.assignOutputKeys(selected.map(template => template.filePath), projectPath, warnings);
138
+ const compiled = selected.filter(template => outputKeys.has(template.filePath));
139
+ if (outputKeys.size > 0) {
140
+ const buildErrors = await this.build(projectPath, targetPath, outputKeys, warnings);
141
+ if (buildErrors.length > 0) {
142
+ errors.push(...buildErrors);
143
+ return { templates: [], warnings, errors };
146
144
  }
147
145
  }
148
- return { artifacts, warnings, errors };
146
+ const templates = compiled.map(template => ({
147
+ name: template.name,
148
+ kind: template.kind,
149
+ file: `${outputKeys.get(template.filePath)}.js`,
150
+ description: template.description
151
+ })).sort((a, b) => a.name.localeCompare(b.name));
152
+ this.deleteCompiledSources(projectPath, targetPath, outputKeys.keys());
153
+ return { templates, warnings, errors };
149
154
  }
150
- /** Keeps the declarations that can become an artifact, one warning per skipped one */
151
- static selectBundlable(discovered, projectPath, warnings) {
155
+ /** Keeps the declarations the manifest can index, one warning per skipped one */
156
+ static selectIndexable(discovered, projectPath, warnings) {
152
157
  const selected = [];
153
158
  const byId = new Map();
154
159
  for (const process of discovered) {
155
160
  const at = this.formatSource(process, projectPath);
156
- const name = process.variableName !== undefined ? `'${process.variableName}'` : '(anonymous)';
157
161
  if (!process.isIdStatic) {
158
- warnings.push(`${at}: the id of process ${name} is built at runtime — skipped, a bundled process needs a static string id`);
162
+ warnings.push(`${at}: the id of this process is built at runtime — not indexed, the manifest needs a static string id`);
159
163
  continue;
160
164
  }
161
165
  if (process.id === undefined) {
162
- warnings.push(`${at}: process ${name} has no 'id' — skipped`);
163
- continue;
164
- }
165
- if (process.variableName === undefined) {
166
- warnings.push(`${at}: process '${process.id}' is not assigned to a variable — skipped, the bundle entry needs an export to reach it`);
167
- continue;
168
- }
169
- if (!process.isExported) {
170
- warnings.push(`${at}: process '${process.id}' is assigned to ${name} which is not exported — skipped`);
166
+ warnings.push(`${at}: this process has no 'id' — not indexed`);
171
167
  continue;
172
168
  }
173
169
  const existing = byId.get(process.id);
174
170
  if (existing) {
175
- warnings.push(`${at}: duplicate process id '${process.id}', already declared at ${this.formatSource(existing, projectPath)} — skipped, the first declaration wins`);
171
+ warnings.push(`${at}: duplicate process id '${process.id}', already declared at ${this.formatSource(existing, projectPath)} — only the first declaration is indexed`);
176
172
  continue;
177
173
  }
178
174
  byId.set(process.id, process);
@@ -181,60 +177,99 @@ class ProcessBundlerUtils {
181
177
  return selected;
182
178
  }
183
179
  /**
184
- * One output path per process id, relative to the root of the compiled project and without
185
- * extension, e.g. 'processes/CreateBook': the folder of the declaring source, then the id.
186
- * Ids are sanitized for the file system and deduplicated case-insensitively (Windows), so
187
- * the 'file' field of the index is the only reliable mapping.
180
+ * One output path per declaring source file, relative to the root of the compiled project
181
+ * and without extension: 'processes/checkout.process.ts' becomes 'processes/checkout.process'.
182
+ * Two sources that only differ by extension would collide on the compiled .js (Windows is
183
+ * also case-insensitive): the second one is skipped with a warning.
188
184
  */
189
- static assignOutputKeys(selected, projectPath) {
185
+ static assignOutputKeys(filePaths, projectPath, warnings) {
190
186
  const keys = new Map();
191
- const taken = new Set();
192
- for (const process of selected) {
193
- let base = process.id.replace(/[^A-Za-z0-9._-]/g, '_');
194
- if (base === '' || base === '.' || base === '..') {
195
- base = 'process';
196
- }
197
- const folder = path_1.default.relative(projectPath, path_1.default.dirname(process.filePath)).replaceAll('\\', '/');
198
- const prefix = folder === '' ? '' : `${folder}/`;
199
- let key = `${prefix}${base}`;
200
- for (let suffix = 2; taken.has(key.toLowerCase()); suffix++) {
201
- key = `${prefix}${base}_${suffix}`;
187
+ const taken = new Map();
188
+ for (const filePath of new Set(filePaths)) {
189
+ const key = path_1.default.relative(projectPath, filePath).replace(/\.[^/.\\]+$/, '').replaceAll('\\', '/');
190
+ const existing = taken.get(key.toLowerCase());
191
+ if (existing !== undefined) {
192
+ warnings.push(`'${path_1.default.relative(projectPath, filePath).replaceAll('\\', '/')}': its compiled module '${key}.js' collides with the one of '${path_1.default.relative(projectPath, existing).replaceAll('\\', '/')}' — skipped`);
193
+ continue;
202
194
  }
203
- taken.add(key.toLowerCase());
204
- keys.set(process.id, key);
195
+ taken.set(key.toLowerCase(), filePath);
196
+ keys.set(filePath, key);
205
197
  }
206
198
  return keys;
207
199
  }
208
- /** The three resolution rules of a bundle: synthetic entries, runtime-provided modules, no Node builtin */
209
- static createPlugin(processesById) {
200
+ /**
201
+ * One esbuild run compiling each entry file to '<outputKey>.js' under `targetPath`.
202
+ * Returns the build errors; an empty array means every module was written.
203
+ */
204
+ static async build(projectPath, targetPath, outputKeys, warnings, templateStubs) {
205
+ const entryPoints = {};
206
+ for (const [filePath, key] of outputKeys) {
207
+ entryPoints[key] = filePath;
208
+ }
209
+ try {
210
+ const result = await esbuild.build({
211
+ entryPoints,
212
+ bundle: true,
213
+ write: true,
214
+ outdir: targetPath,
215
+ format: 'cjs',
216
+ platform: 'neutral',
217
+ // 'neutral' resolves nothing by default, so packages without an 'exports' map would not be found
218
+ mainFields: ['module', 'main'],
219
+ target: 'es2022',
220
+ sourcemap: 'inline',
221
+ sourcesContent: true,
222
+ charset: 'utf8',
223
+ legalComments: 'none',
224
+ logLevel: 'silent',
225
+ absWorkingDir: projectPath,
226
+ // Provided by the host's require, never bundled ('@codenotch/process', '@codenotch/process/template', ...)
227
+ external: ['@codenotch/*'],
228
+ plugins: [this.createPlugin(templateStubs)]
229
+ });
230
+ warnings.push(...result.warnings.map(message => this.formatEsbuildMessage(message)));
231
+ return [];
232
+ }
233
+ catch (failure) {
234
+ const bundleErrors = failure.errors;
235
+ const bundleWarnings = failure.warnings;
236
+ if (Array.isArray(bundleErrors) && bundleErrors.length > 0) {
237
+ warnings.push(...(bundleWarnings ?? []).map(message => this.formatEsbuildMessage(message)));
238
+ return bundleErrors.map(message => this.formatEsbuildMessage(message));
239
+ }
240
+ return [`Bundling failed: ${failure instanceof Error ? failure.message : String(failure)}`];
241
+ }
242
+ }
243
+ /** The two resolution rules of a compiled module: template imports become stubs, no Node builtin */
244
+ static createPlugin(templateStubs) {
210
245
  const self = this;
246
+ // Every path an import can write to reach a template, lowercased for Windows
247
+ const stubsByPath = new Map();
248
+ for (const template of templateStubs ?? []) {
249
+ const withoutExtension = template.filePath.replace(/\.[^/.\\]+$/, '');
250
+ for (const extension of this.TEMPLATE_EXTENSIONS) {
251
+ stubsByPath.set(path_1.default.resolve(`${withoutExtension}${extension}`).toLowerCase(), template.name);
252
+ }
253
+ stubsByPath.set(path_1.default.resolve(template.filePath).toLowerCase(), template.name);
254
+ }
211
255
  return {
212
- name: 'codenotch-processes',
256
+ name: 'codenotch-modules',
213
257
  setup(build) {
214
- // Synthetic entry of each process: imports its variable and registers its run
215
- build.onResolve({ filter: /^cn-process-entry:/ }, args => ({
216
- path: args.path.substring('cn-process-entry:'.length),
217
- namespace: 'cn-process-entry'
218
- }));
219
- build.onLoad({ filter: /.*/, namespace: 'cn-process-entry' }, args => {
220
- const process = processesById.get(args.path);
221
- return {
222
- contents: self.createEntrySource(process),
223
- resolveDir: path_1.default.dirname(process.filePath),
258
+ // A template import never inlines the template: the runtime resolves it by name.
259
+ // sideEffects false lets a type-only import vanish entirely.
260
+ if (stubsByPath.size > 0) {
261
+ build.onResolve({ filter: /^\.\.?\// }, args => {
262
+ const name = stubsByPath.get(path_1.default.resolve(args.resolveDir, args.path).toLowerCase());
263
+ if (name === undefined) {
264
+ return undefined;
265
+ }
266
+ return { path: name, namespace: 'codenotch-template-stub', sideEffects: false };
267
+ });
268
+ build.onLoad({ filter: /.*/, namespace: 'codenotch-template-stub' }, args => ({
269
+ contents: `export default { __codenotchTemplate: true, __templateName: ${JSON.stringify(args.path)} };\n`,
224
270
  loader: 'js'
225
- };
226
- });
227
- // '@codenotch/*' is provided by the runtime, never bundled: the import becomes a
228
- // lookup in the modules global. sideEffects false lets a type-only import vanish.
229
- build.onResolve({ filter: /^@codenotch\// }, args => ({
230
- path: args.path,
231
- namespace: 'cn-runtime-module',
232
- sideEffects: false
233
- }));
234
- build.onLoad({ filter: /.*/, namespace: 'cn-runtime-module' }, args => ({
235
- contents: self.createRuntimeModuleSource(args.path),
236
- loader: 'js'
237
- }));
271
+ }));
272
+ }
238
273
  // The Node standard library does not exist in the V8 of the runtime: failing here
239
274
  // with a clear message beats an exotic failure inside the runtime months later
240
275
  const blockBuiltin = (specifier) => ({
@@ -245,54 +280,32 @@ class ProcessBundlerUtils {
245
280
  }
246
281
  };
247
282
  }
248
- /** Source of the synthetic entry module of one process */
249
- static createEntrySource(process) {
250
- const idJson = JSON.stringify(process.id);
251
- // esbuild accepts absolute import paths; forward slashes keep the source identical across platforms
252
- const importPath = JSON.stringify(process.filePath.replaceAll('\\', '/'));
253
- return [
254
- `import { ${process.variableName} as __cnProcess } from ${importPath};`,
255
- ``,
256
- `// The runtime looks the process up in this registry after evaluating the bundle`,
257
- `const __cnRegistry = ${this.REGISTRY_GLOBAL} || (${this.REGISTRY_GLOBAL} = {});`,
258
- `__cnRegistry[${idJson}] = {`,
259
- ` id: ${idJson},`,
260
- ` run: (ctx, input) => __cnProcess.run(ctx, input)`,
261
- `};`,
262
- ``
263
- ].join('\n');
264
- }
265
- /** Source of the stand-in module of a runtime-provided '@codenotch/*' package */
266
- static createRuntimeModuleSource(moduleName) {
267
- const nameJson = JSON.stringify(moduleName);
268
- return [
269
- `var __cnModules = globalThis.__codenotch && ${this.MODULES_GLOBAL};`,
270
- `var __cnProvided = __cnModules && __cnModules[${nameJson}];`,
271
- `if (!__cnProvided) {`,
272
- ` throw new Error("The runtime did not provide " + ${nameJson} + ": it must be set in ${this.MODULES_GLOBAL} before this script is evaluated.");`,
273
- `}`,
274
- `module.exports = __cnProvided;`,
275
- ``
276
- ].join('\n');
277
- }
278
- /** Index entries of the written bundles, hashing each artifact for the code cache of the runtime */
279
- static createArtifacts(selected, outputKeys, projectPath, targetPath, errors) {
283
+ /** Index entries of the compiled processes, hashing each module for change detection */
284
+ static createArtifacts(indexed, outputKeys, projectPath, targetPath, errors) {
280
285
  const artifacts = [];
281
- for (const process of selected) {
282
- const relativeFile = `${outputKeys.get(process.id)}.js`;
283
- const filePath = path_1.default.join(targetPath, relativeFile);
284
- let content;
285
- try {
286
- content = fs_1.default.readFileSync(filePath);
286
+ const hashes = new Map();
287
+ for (const process of indexed) {
288
+ const relativeFile = `${outputKeys.get(process.filePath)}.js`;
289
+ // Processes of the same file share the module: hash it once
290
+ let hash = hashes.get(relativeFile);
291
+ if (hash === undefined && !hashes.has(relativeFile)) {
292
+ const filePath = path_1.default.join(targetPath, relativeFile);
293
+ try {
294
+ hash = `sha256:${(0, crypto_1.createHash)('sha256').update(fs_1.default.readFileSync(filePath)).digest('hex')}`;
295
+ }
296
+ catch {
297
+ errors.push(`The compiled module of process '${process.id}' was not written at '${filePath}'.`);
298
+ hash = undefined;
299
+ }
300
+ hashes.set(relativeFile, hash);
287
301
  }
288
- catch {
289
- errors.push(`The bundle of process '${process.id}' was not written at '${filePath}'.`);
302
+ if (hash === undefined) {
290
303
  continue;
291
304
  }
292
305
  artifacts.push({
293
306
  id: process.id,
294
307
  file: relativeFile,
295
- hash: `sha256:${(0, crypto_1.createHash)('sha256').update(content).digest('hex')}`,
308
+ hash,
296
309
  source: this.formatSource(process, projectPath),
297
310
  trigger: process.trigger,
298
311
  auth: process.scope !== undefined ? { scope: process.scope } : undefined,
@@ -305,6 +318,18 @@ class ProcessBundlerUtils {
305
318
  // Deterministic order: the same project always produces the same index
306
319
  return artifacts.sort((a, b) => a.id.localeCompare(b.id));
307
320
  }
321
+ /**
322
+ * The compiled modules replace their sources: the copy of each compiled source is removed —
323
+ * only ever a copy, never the source itself (when target = project nothing is deleted).
324
+ */
325
+ static deleteCompiledSources(projectPath, targetPath, filePaths) {
326
+ if (targetPath.toLowerCase() === projectPath.toLowerCase()) {
327
+ return;
328
+ }
329
+ for (const filePath of filePaths) {
330
+ FileUtils_1.default.deleteRecursively(path_1.default.join(targetPath, path_1.default.relative(projectPath, filePath)));
331
+ }
332
+ }
308
333
  /** 'processes/products.ts:5' — declaration site relative to the project, for messages and the index */
309
334
  static formatSource(process, projectPath) {
310
335
  return `${path_1.default.relative(projectPath, process.filePath).replaceAll('\\', '/')}:${process.line}`;
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessBundlerUtils.js","sourceRoot":"","sources":["../../src/utils/ProcessBundlerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProcessBundlerUtils.js","sourceRoot":"","sources":["../../src/utils/ProcessBundlerUtils.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,15 @@ export interface CompilationResult {
18
18
  export interface ICompiledManifest extends ICodenotchProjectManifest {
19
19
  processes: ICompiledProcess[];
20
20
  reactApplications: ICompiledReactApplication[];
21
+ templates: ICompiledTemplate[];
22
+ }
23
+ /** One compiled rendering template: what a ctx.render.* call resolves by name */
24
+ export interface ICompiledTemplate {
25
+ templateName: string;
26
+ kind: 'email' | 'pdf';
27
+ /** path to the compiled template module, relative to the root of the compiled project */
28
+ file: string;
29
+ description?: string;
21
30
  }
22
31
  /**
23
32
  * One bundled process of the compiled manifest: only where its artifact lives, nothing more.
@@ -44,8 +44,8 @@ class ProjectCompilationUtils {
44
44
  // Typecheck the scripts before bundling them: esbuild strips the types without checking
45
45
  // them, and a project that does not compile must fail here, not on the runtime
46
46
  await this.validateScripts(sourcePath, context);
47
- // One self-contained .js per process, replacing its declaring source in the compiled
48
- // tree, ready for the V8 of the runtime (see ProcessBundlerUtils)
47
+ // One CJS module per process file, replacing its source in the compiled tree, ready for
48
+ // the V8 of the runtime (see ProcessBundlerUtils)
49
49
  console.log(chalk_1.default.cyan('→') + ' Bundling processes...');
50
50
  const bundling = await ProcessBundlerUtils_1.default.bundleProcesses(sourcePath, targetPath);
51
51
  for (const warning of bundling.warnings) {
@@ -62,6 +62,23 @@ class ProjectCompilationUtils {
62
62
  else {
63
63
  ConsoleUtils_1.default.check(`${bundling.artifacts.length} process(es) bundled next to their sources`);
64
64
  }
65
+ // Each rendering template becomes a CJS module replacing its source in the compiled tree
66
+ console.log(chalk_1.default.cyan('→') + ' Compiling templates...');
67
+ const templateBundling = await ProcessBundlerUtils_1.default.bundleTemplates(sourcePath, targetPath);
68
+ for (const warning of templateBundling.warnings) {
69
+ context.warnings.push(warning);
70
+ console.log(chalk_1.default.yellow(` ${warning}`));
71
+ }
72
+ for (const error of templateBundling.errors) {
73
+ context.errors.push(error);
74
+ console.log(chalk_1.default.red(` ${error}`));
75
+ }
76
+ if (templateBundling.templates.length === 0) {
77
+ ConsoleUtils_1.default.check('No template to compile');
78
+ }
79
+ else {
80
+ ConsoleUtils_1.default.check(`${templateBundling.templates.length} template(s) compiled`);
81
+ }
65
82
  // Each React app becomes a static bundle folder replacing its sources in the compiled tree
66
83
  console.log(chalk_1.default.cyan('→') + ' Building React apps...');
67
84
  const reactApplications = await this.buildReactApps(sourcePath, targetPath, context);
@@ -71,7 +88,13 @@ class ProjectCompilationUtils {
71
88
  const compiledManifest = {
72
89
  ...context.manifest,
73
90
  processes: bundling.artifacts.map(artifact => ({ processName: artifact.id, file: artifact.file })),
74
- reactApplications
91
+ reactApplications,
92
+ templates: templateBundling.templates.map(template => ({
93
+ templateName: template.name,
94
+ kind: template.kind,
95
+ file: template.file,
96
+ description: template.description
97
+ }))
75
98
  };
76
99
  FileUtils_1.default.writeFileSync(path_1.default.join(targetPath, MANIFEST_FILE_NAME), JSON.stringify(compiledManifest, null, 4));
77
100
  // Remove .npmrc if exists, we don't want to expose it
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectCompilationUtils.js","sourceRoot":"","sources":["../../src/utils/ProjectCompilationUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectCompilationUtils.js","sourceRoot":"","sources":["../../src/utils/ProjectCompilationUtils.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,4DAAoC;AACpC,kEAA0C;AAC1C,8DAAgG;AAChG,kDAA0B;AAC1B,gFAAwD;AACxD,kEAA0C;AAC1C,8DAAsC;AACtC,mGAA2E;AAyD3E,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAC5C,MAA8B,uBAAuB;IAEjD;;;;;;;;;;OAUG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,UAAmC,EAAE;QAExF,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC;QAEpD,MAAM,OAAO,GAAuB;YAChC,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,mBAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE;gBAC9C,sEAAsE;gBACtE,kBAAkB,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC;aAC5G,CACA;YACD,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;SACf,CAAC;QAGF,qFAAqF;QACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxD,sBAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEzC,wFAAwF;QACxF,+EAA+E;QAC/E,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEhD,wFAAwF;QACxF,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,wBAAwB,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,6BAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACnF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,sBAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,4CAA4C,CAAC,CAAC;QACjG,CAAC;QAED,yFAAyF;QACzF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC;QACzD,MAAM,gBAAgB,GAAG,MAAM,6BAAmB,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC3F,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,sBAAY,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACjD,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,uBAAuB,CAAC,CAAC;QACpF,CAAC;QAED,2FAA2F;QAC3F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,yBAAyB,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAErF,uFAAuF;QACvF,kFAAkF;QAClF,oFAAoF;QACpF,MAAM,gBAAgB,GAAsB;YACxC,GAAG,OAAO,CAAC,QAAQ;YACnB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAClG,iBAAiB;YACjB,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACnD,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;aACpC,CAAC,CAAC;SACN,CAAC;QACF,mBAAS,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9G,sDAAsD;QACtD,mBAAS,CAAC,iBAAiB,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE7D,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC;QAC1F,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO;YACH,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACK,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,UAAkB,EAAE,OAA2B;QAEnG,MAAM,IAAI,GAAG,MAAM,sBAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,sBAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,qFAAqF;QACrF,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,KAAK,cAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAE1G,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YACzD,MAAM,EAAE,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE3E,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,GAAG,EAAE,4DAA4D,CAAC;gBAClF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC1C,SAAS;YACb,CAAC;YACD,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,GAAG,EAAE,yBAAyB,OAAO,yCAAyC,CAAC;gBAC/F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC1C,SAAS;YACb,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAEtC,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,oBAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAE5D,6EAA6E;gBAC7E,MAAM,MAAM,GAAG,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7F,MAAM,MAAM,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;gBACjD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC/D,mBAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;gBAC7C,MAAM,mBAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBACtD,IAAI,eAAe,EAAE,CAAC;oBAClB,mBAAS,CAAC,iBAAiB,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC9F,mBAAS,CAAC,iBAAiB,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;gBAED,YAAY,CAAC,IAAI,CAAC;oBACd,eAAe,EAAE,OAAO;oBACxB,IAAI,EAAE,GAAG,MAAM,GAAG,OAAO,aAAa;iBACzC,CAAC,CAAC;gBACH,sBAAY,CAAC,KAAK,CAAC,QAAQ,OAAO,iBAAiB,MAAM,GAAG,OAAO,IAAI,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,OAAO,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAG,EAAE,uBAAuB,OAAO,cAAc,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9H,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,OAA2B;QAEhF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC;QAE1D,0FAA0F;QAC1F,wEAAwE;QACxE,MAAM,cAAc,GAAG,MAAM,mBAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,mBAAS,CAAC,oBAAoB,CAAC,UAAU,EAAE;YAC3D,kBAAkB,EAAE,cAAc;YAClC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,sBAAY,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC7C,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,yBAAe,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAE7B,sFAAsF;YACtF,mFAAmF;YACnF,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;YACjC,CAAC;YAED,MAAM,IAAI,GAAG,IAAA,yCAAwB,EAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAC/B,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;iBACI,CAAC;gBACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,CAAC;QACL,CAAC;QAED,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACnB,sBAAY,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,MAAM,wBAAwB,CAAC,CAAC;QACtE,CAAC;aACI,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,UAAU,WAAW,CAAC,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAkB;QAErD,MAAM,OAAO,GAAuB,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAEpG,qFAAqF;QACrF,OAAO,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAGxD,0BAA0B;QAC1B,mBAAS,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACtD,IAAG,QAAQ,EAAC,CAAC;YACT,mBAAS,CAAC,aAAa,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,CAAC;QAClF,CAAC;QAED,OAAO;YACH,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;IACN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAA2B;QACrD,yEAAyE;QAEzE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAA2B;QAE5D,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;QAEvC,sIAAsI;QACtI,MAAM,QAAQ,GAAG,MAAM,mBAAS,CAAC,iBAAiB,CAA4B,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAC1H,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAED,4BAA4B;QAC5B,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QAC9C,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAGtC,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACzC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,CAAC;QAED,qCAAqC;QACrC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAChF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,4BAA4B;aAC5C,CAAC,CAAC;QACP,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;YAClF,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,+BAA+B;aAC/C,CAAC,CAAC;QACP,CAAC;QAED,qDAAqD;QACrD,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAGD,OAAO,QAAQ,CAAC;IACpB,CAAC;CAKJ;AAhUD,0CAgUC"}
@@ -2,6 +2,19 @@ import { CompilationResult } from './ProjectCompilationUtils';
2
2
  import { LiteralValue } from './ScriptDeclarationUtils';
3
3
  import { IJsonSchema } from './TypeSchemaUtils';
4
4
  import { IAppManifest, ICodenotchProjectManifest } from '@codenotch/codenotch.core';
5
+ /** A rendering template found in a project: a module of 'templates/' with a `template.*` default export */
6
+ export interface IDiscoveredTemplate {
7
+ /** Absolute path of the file */
8
+ filePath: string;
9
+ /** Name the runtime resolves the template by: its path relative to 'templates/', posix, no extension */
10
+ name: string;
11
+ /** undefined when the default export is not a literal `template.email(...)` / `template.pdf(...)` call */
12
+ kind?: 'email' | 'pdf';
13
+ /** The JSDoc above the default export, when any */
14
+ description?: string;
15
+ /** 1-based line of the default export, to point at it in a diagnostic */
16
+ line: number;
17
+ }
5
18
  /** A *.i18n.csv file found in a project */
6
19
  export interface IDiscoveredI18n {
7
20
  /** Absolute path of the file */
@@ -240,6 +253,16 @@ export default abstract class ProjectUtils {
240
253
  * why its manifest is wrong is the job of the validators.
241
254
  */
242
255
  static discoverAppsFiles(workspacePath: string): Promise<IDiscoveredApp[]>;
256
+ /**
257
+ * The rendering templates of a project: the .ts/.tsx files of its 'templates/' folder whose
258
+ * default export is a `template.email(...)` or `template.pdf(...)` declaration
259
+ * (from '@codenotch/process/template').
260
+ *
261
+ * A file of that folder without a default export is a helper and is silently ignored; one
262
+ * whose default export is not a recognizable `template.*` call is reported with no kind —
263
+ * saying it cannot be indexed is the job of the caller.
264
+ */
265
+ static discoverTemplateFiles(workspacePath: string): Promise<IDiscoveredTemplate[]>;
243
266
  /**
244
267
  * Find all *.i18n.csv files (recursively) in a given folder (workspacePath), with the keys
245
268
  * they declare and the languages they translate them into.
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const chalk_1 = __importDefault(require("chalk"));
7
+ const typescript_1 = __importDefault(require("typescript"));
7
8
  const node_path_1 = __importDefault(require("node:path"));
8
9
  const node_os_1 = __importDefault(require("node:os"));
9
10
  const promises_1 = __importDefault(require("node:fs/promises"));
@@ -439,6 +440,54 @@ class ProjectUtils {
439
440
  }
440
441
  return results;
441
442
  }
443
+ /**
444
+ * The rendering templates of a project: the .ts/.tsx files of its 'templates/' folder whose
445
+ * default export is a `template.email(...)` or `template.pdf(...)` declaration
446
+ * (from '@codenotch/process/template').
447
+ *
448
+ * A file of that folder without a default export is a helper and is silently ignored; one
449
+ * whose default export is not a recognizable `template.*` call is reported with no kind —
450
+ * saying it cannot be indexed is the job of the caller.
451
+ */
452
+ static async discoverTemplateFiles(workspacePath) {
453
+ const templatesPath = node_path_1.default.join(workspacePath, 'templates');
454
+ if (await FileUtils_1.default.exists(templatesPath) === false) {
455
+ return [];
456
+ }
457
+ const files = FileUtils_1.default.listFilesRecursively(templatesPath, { fileExtensions: ['.ts', '.tsx'] })
458
+ .filter(filePath => !filePath.endsWith('.d.ts'));
459
+ const results = [];
460
+ for (const filePath of files) {
461
+ const content = await promises_1.default.readFile(filePath, 'utf8');
462
+ const sourceFile = typescript_1.default.createSourceFile(filePath, content, typescript_1.default.ScriptTarget.Latest, true, filePath.toLowerCase().endsWith('.tsx') ? typescript_1.default.ScriptKind.TSX : typescript_1.default.ScriptKind.TS);
463
+ const exported = sourceFile.statements.find((statement) => typescript_1.default.isExportAssignment(statement) && !statement.isExportEquals);
464
+ if (exported === undefined) {
465
+ continue;
466
+ }
467
+ // The runtime resolves a template by this name (see the stub a process bundle carries)
468
+ const name = node_path_1.default.relative(templatesPath, filePath).replace(/\.[^/.\\]+$/, '').replaceAll('\\', '/');
469
+ let kind;
470
+ if (typescript_1.default.isCallExpression(exported.expression) && typescript_1.default.isPropertyAccessExpression(exported.expression.expression)) {
471
+ const callee = exported.expression.expression.getText(sourceFile);
472
+ if (callee === 'template.email')
473
+ kind = 'email';
474
+ else if (callee === 'template.pdf')
475
+ kind = 'pdf';
476
+ }
477
+ // The JSDoc right above 'export default' is the description of the template
478
+ const jsDoc = exported.jsDoc?.[0]?.comment;
479
+ const description = typeof jsDoc === 'string' ? jsDoc.trim() :
480
+ jsDoc !== undefined ? jsDoc.map(part => part.text).join('').trim() : undefined;
481
+ results.push({
482
+ filePath,
483
+ name,
484
+ kind,
485
+ description: description === '' ? undefined : description,
486
+ line: sourceFile.getLineAndCharacterOfPosition(exported.getStart(sourceFile)).line + 1
487
+ });
488
+ }
489
+ return results;
490
+ }
442
491
  /**
443
492
  * Find all *.i18n.csv files (recursively) in a given folder (workspacePath), with the keys
444
493
  * they declare and the languages they translate them into.
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codenotch/codenotch.cli",
3
- "version": "1.0.46",
3
+ "version": "1.0.47",
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": [
@@ -61,27 +61,29 @@ The capabilities the generated code relies on:
61
61
  `ctx.tables` is typed by the generated `db-schema.d.ts` — regenerate it after changing a table
62
62
  (`cn generate dbcontext -f .`), otherwise the collections stay untyped.
63
63
 
64
- ## Rules — a process that breaks them is skipped with a warning, never guessed
64
+ ## Rules — a process that breaks them is not indexed, with a warning, never guessed
65
65
 
66
- - **Export the variable** (`export const createTodoList = ...`): a non-exported process is not
67
- reachable.
68
66
  - **Literal, unique `id`**: an id that is missing, computed at runtime, or already used by
69
- another process gets the declaration skipped.
67
+ another process keeps the declaration out of the deployed index.
70
68
 
71
69
  ## Bundling constraints
72
70
 
73
- At packaging time each process becomes one self-contained `.js` artifact executed in a bare V8
74
- engine — no Node, no module system. Consequences for the code you write:
71
+ At packaging time each process **file** becomes one self-contained CommonJS `.js` module executed
72
+ in a bare V8 engine — no Node, no module resolution beyond the runtime-provided `@codenotch/*`.
73
+ Consequences for the code you write:
75
74
 
76
75
  - **No Node standard library** (`fs`, `node:crypto`, ...): importing one is a compile error, it
77
76
  cannot exist in the runtime's engine.
78
- - **npm dependencies are inlined** into each artifact: only pure-JS packages can work (no native
77
+ - **npm dependencies are inlined** into each module: only pure-JS packages can work (no native
79
78
  addons, no Node API inside).
80
79
  - `@codenotch/*` packages are **provided by the runtime**, never inlined.
81
- - **Module-level state is per process**: a top-level cache in a shared helper exists once per
82
- artifact, it is never shared between processes.
80
+ - **A rendering template import** (a module of `templates/`) is never inlined: it compiles to a
81
+ reference the runtime resolves by name — keep templates in `templates/`, one default export of
82
+ `template.email(...)` or `template.pdf(...)` per file.
83
+ - **Module-level state is per file**: a top-level cache in a shared helper exists once per
84
+ compiled module — shared by the processes of the same file, never across files.
83
85
  - The whole project is **typechecked before bundling**: type errors fail the packaging.
84
86
 
85
- `cn project compile` runs the same pipeline (typecheck, process bundling, app builds) without
86
- producing the zip — the way to check the whole project builds. `cn generate process` scaffolds boilerplate processes (CRUD, api) for
87
+ `cn project compile` runs the same pipeline (typecheck, process and template bundling, app builds)
88
+ without producing the zip — the way to check the whole project builds. `cn generate process` scaffolds boilerplate processes (CRUD, api) for
87
89
  a discovered table (`-m api|insert|insert-full|update|upsert|delete|clean`).