@codenotch/codenotch.cli 1.0.49 → 1.0.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/react/dev.js +1 -1
- package/dist/commands/react/dev.js.map +1 -1
- package/dist/utils/BuildUtils.d.ts +45 -1
- package/dist/utils/BuildUtils.js +184 -22
- package/dist/utils/BuildUtils.js.map +1 -1
- package/dist/utils/ProjectTemplates.js +1 -1
- package/dist/utils/TemplateUtils.d.ts +2 -0
- package/dist/utils/TemplateUtils.js +5 -1
- package/dist/utils/TemplateUtils.js.map +1 -1
- package/package.json +1 -1
- package/resources/docs/apps.md +10 -1
- package/resources/docs/processes.md +4 -0
|
@@ -11,7 +11,7 @@ function registerDev(react) {
|
|
|
11
11
|
.command('dev [app]')
|
|
12
12
|
.description('Start the Vite dev server of an app, with hot reload on the project sources. By name; the only app when omitted.')
|
|
13
13
|
.option('-p, --port <port>', 'port of the dev server (default 5173)', (value) => parseInt(value, 10), 5173)
|
|
14
|
-
.option('-c, --cluster <url>', 'cluster the app will talk to, exposed to the page through /api/env')
|
|
14
|
+
.option('-c, --cluster <url>', 'cluster the app will talk to, exposed to the page through /api/env (default: the local runtime)')
|
|
15
15
|
.option('--no-open', 'do not open the browser once the server is up')
|
|
16
16
|
.addHelpText('after', `
|
|
17
17
|
Examples:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/commands/react/dev.ts"],"names":[],"mappings":";;;;;AAIA,kCA0BC;AA7BD,wEAAgD;AAChD,qCAA4C;AAE5C,SAAgB,WAAW,CAAC,KAAc;IACtC,KAAK;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kHAAkH,CAAC;SAC/H,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;SAClH,MAAM,CAAC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/commands/react/dev.ts"],"names":[],"mappings":";;;;;AAIA,kCA0BC;AA7BD,wEAAgD;AAChD,qCAA4C;AAE5C,SAAgB,WAAW,CAAC,KAAc;IACtC,KAAK;SACA,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kHAAkH,CAAC;SAC/H,MAAM,CAAC,mBAAmB,EAAE,uCAAuC,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC;SAClH,MAAM,CAAC,qBAAqB,EAAE,iGAAiG,CAAC;SAChI,MAAM,CAAC,WAAW,EAAE,+CAA+C,CAAC;SACpE,WAAW,CAAC,OAAO,EAAE;;;;;CAK7B,CAAC;SACO,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAA0D,EAAE,EAAE;QAErG,MAAM,GAAG,GAAG,MAAM,IAAA,yBAAgB,EAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,oBAAU,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvI,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAChC,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -13,7 +13,7 @@ export interface IBuildOptions {
|
|
|
13
13
|
pwa?: boolean;
|
|
14
14
|
}
|
|
15
15
|
export default abstract class BuildUtils {
|
|
16
|
-
static readonly CN_REACT_VERSION = "2.0.
|
|
16
|
+
static readonly CN_REACT_VERSION = "2.0.4";
|
|
17
17
|
/** Root of the Codenotch project a folder belongs to, walking up to the closest manifest.json */
|
|
18
18
|
static findWorkspace(fromDir?: string): string | undefined;
|
|
19
19
|
static findWorkspaceFromFile(childPath: string): string | undefined;
|
|
@@ -65,6 +65,24 @@ export default abstract class BuildUtils {
|
|
|
65
65
|
pwa?: boolean;
|
|
66
66
|
}): Promise<string | undefined>;
|
|
67
67
|
static buildApp2(appFilePath: string): Promise<string>;
|
|
68
|
+
/**
|
|
69
|
+
* Path of the workspace's own Vite binary, when the workspace 'node_modules' provides
|
|
70
|
+
* everything a staged app build needs — vite, its react plugin, react itself, and a sass
|
|
71
|
+
* compiler when the project holds scss. The staged builds and the dev server then run
|
|
72
|
+
* without any 'npm install': the staging folders live under the workspace, so Node
|
|
73
|
+
* resolution reaches '<workspace>/node_modules' on its own. undefined = install needed.
|
|
74
|
+
*/
|
|
75
|
+
private static findWorkspaceVite;
|
|
76
|
+
/**
|
|
77
|
+
* Runs the Vite build of a staged app. When the workspace 'node_modules' already provides
|
|
78
|
+
* everything (see findWorkspaceVite) there is NO 'npm install' at all: the staging keeps no
|
|
79
|
+
* 'node_modules' of its own, and Node resolution walks up from '.codenotch/<staging>' into
|
|
80
|
+
* the workspace — same resolved versions as the project, no network. Otherwise falls back
|
|
81
|
+
* to 'npm install' + 'npm run build' inside the staging.
|
|
82
|
+
*/
|
|
83
|
+
private static runStagedBuild;
|
|
84
|
+
/** Empties a staging folder except its 'node_modules', kept as an install cache between builds */
|
|
85
|
+
private static cleanStagingKeepingModules;
|
|
68
86
|
private static createIndexJsx;
|
|
69
87
|
/**
|
|
70
88
|
* The static entry: the environment is baked in at build time (codenotch.env.json, bundled by
|
|
@@ -104,6 +122,32 @@ export default abstract class BuildUtils {
|
|
|
104
122
|
types: string[];
|
|
105
123
|
};
|
|
106
124
|
private static createTsConfig;
|
|
125
|
+
/**
|
|
126
|
+
* A Vite plugin, as source text injected in both the build and the dev config: a value import
|
|
127
|
+
* of a server-side '@codenotch/*' package (process, orm — types at compile time, provided by
|
|
128
|
+
* the runtime inside a process, nothing to bundle for a browser) fails the build with the
|
|
129
|
+
* real explanation instead of Vite's cryptic resolve error. A type-only import is erased
|
|
130
|
+
* before resolution and never reaches it.
|
|
131
|
+
*/
|
|
132
|
+
private static createServerOnlyGuardPlugin;
|
|
133
|
+
/**
|
|
134
|
+
* The client stubs of every process-declaring file of the workspace, for the app builds:
|
|
135
|
+
* one module source per file, keyed by the workspace-relative posix path of the file
|
|
136
|
+
* without its extension, lowercased. Each exported process with a static id becomes a
|
|
137
|
+
* handle `{ __codenotchProcess: true, id }` the app can read (`myProcess.id`) — the server
|
|
138
|
+
* logic itself never enters a browser bundle.
|
|
139
|
+
*/
|
|
140
|
+
private static createProcessStubs;
|
|
141
|
+
/**
|
|
142
|
+
* A Vite plugin, as source text injected in both the build and the dev config: a workspace
|
|
143
|
+
* module that declares processes loads as its client stub (see createProcessStubs) instead
|
|
144
|
+
* of its real source, so an app can import a process to read its id without pulling any
|
|
145
|
+
* server code — the rest of such a file is not visible to the app (keep shared helpers out
|
|
146
|
+
* of process files).
|
|
147
|
+
* @param rootDir what the stub keys are relative to: the staging folder of a build (the
|
|
148
|
+
* workspace files are copied there), the workspace itself in dev
|
|
149
|
+
*/
|
|
150
|
+
private static createProcessStubPlugin;
|
|
107
151
|
private static createViteConfig;
|
|
108
152
|
private static createIndexHtml;
|
|
109
153
|
/**
|
package/dist/utils/BuildUtils.js
CHANGED
|
@@ -13,8 +13,10 @@ const fs_2 = __importDefault(require("fs"));
|
|
|
13
13
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
14
14
|
const ShellUtils_1 = __importDefault(require("./ShellUtils"));
|
|
15
15
|
const ConsoleUtils_1 = __importDefault(require("./ConsoleUtils"));
|
|
16
|
+
const ProjectUtils_1 = __importDefault(require("./ProjectUtils"));
|
|
17
|
+
const RuntimeUtils_1 = __importDefault(require("./RuntimeUtils"));
|
|
16
18
|
class BuildUtils {
|
|
17
|
-
static CN_REACT_VERSION = '2.0.
|
|
19
|
+
static CN_REACT_VERSION = '2.0.4';
|
|
18
20
|
/** Root of the Codenotch project a folder belongs to, walking up to the closest manifest.json */
|
|
19
21
|
static findWorkspace(fromDir = process.cwd()) {
|
|
20
22
|
// findWorkspaceFromFile strips the last segment, hand it a dummy file
|
|
@@ -137,10 +139,12 @@ class BuildUtils {
|
|
|
137
139
|
app: appManifest,
|
|
138
140
|
clusterUrl: options.clusterUrl
|
|
139
141
|
});
|
|
140
|
-
// Clean previous builds
|
|
142
|
+
// Clean previous builds. The staging 'node_modules' survives (like the dev folder's):
|
|
143
|
+
// when a fallback 'npm install' is needed, reconciling a warm folder takes seconds
|
|
144
|
+
// where a fresh install takes minutes.
|
|
141
145
|
if ((0, fs_1.existsSync)(outDir) || (0, fs_1.existsSync)(distDir)) {
|
|
142
146
|
console.log("Cleaning previous builds...");
|
|
143
|
-
|
|
147
|
+
this.cleanStagingKeepingModules(outDir);
|
|
144
148
|
FileUtils_1.default.deleteRecursively(distDir);
|
|
145
149
|
ConsoleUtils_1.default.check(`Output directory cleaned (${outDir})\n`);
|
|
146
150
|
}
|
|
@@ -171,7 +175,7 @@ class BuildUtils {
|
|
|
171
175
|
this.copyPwaIcons(appManifest, appFileParentPath, workspacePath, outDir);
|
|
172
176
|
}
|
|
173
177
|
// vite.config.mjs (.mjs so it always loads as ESM, regardless of package.json "type")
|
|
174
|
-
let viteConfig = this.createViteConfig(appName);
|
|
178
|
+
let viteConfig = this.createViteConfig(appName, outDir, await this.createProcessStubs(workspacePath));
|
|
175
179
|
FileUtils_1.default.writeFileSync(outDir + '/vite.config.mjs', viteConfig);
|
|
176
180
|
ConsoleUtils_1.default.check(`vite.config.mjs created successfully`);
|
|
177
181
|
// tsconfig.json - layout is flat (mirrors the workspace), so typecheck the source trees
|
|
@@ -202,14 +206,13 @@ class BuildUtils {
|
|
|
202
206
|
fs_extra_1.default.copySync(includedFile, targetPath);
|
|
203
207
|
}
|
|
204
208
|
ConsoleUtils_1.default.check(`${includedFiles.length} files copied successfully\n`);
|
|
205
|
-
// execute npm i in the outDir
|
|
206
|
-
await ShellUtils_1.default.exec(outDir, 'npm install', 'Installing dependencies', true);
|
|
207
209
|
// Vite 8 needs Node 20+: warn up front, its own error would be cryptic
|
|
208
210
|
const nodeMajor = parseInt(process.versions.node.split('.')[0], 10);
|
|
209
211
|
if (nodeMajor < 20) {
|
|
210
212
|
ConsoleUtils_1.default.checkWarning(`Node ${process.versions.node} detected, the build needs Node 20 or newer and may fail.`);
|
|
211
213
|
}
|
|
212
|
-
|
|
214
|
+
// No 'npm install' when the workspace node_modules already covers the build
|
|
215
|
+
await this.runStagedBuild(outDir, workspacePath, false);
|
|
213
216
|
ConsoleUtils_1.default.check(`Build executed successfully\n`);
|
|
214
217
|
// The service worker precaches the dist, so it can only be generated once vite emitted it
|
|
215
218
|
if (isPwa) {
|
|
@@ -294,7 +297,7 @@ class BuildUtils {
|
|
|
294
297
|
let indexJsx = this.createIndexJsxDeployment(relativeOutFilePath, fileName);
|
|
295
298
|
FileUtils_1.default.writeFileSync(outDir + '/index.jsx', indexJsx);
|
|
296
299
|
// vite.config.mjs (.mjs so it always loads as ESM, regardless of package.json "type")
|
|
297
|
-
let viteConfig = this.createViteConfig(appName);
|
|
300
|
+
let viteConfig = this.createViteConfig(appName, outDir, await this.createProcessStubs(workspacePath));
|
|
298
301
|
FileUtils_1.default.writeFileSync(outDir + '/vite.config.mjs', viteConfig);
|
|
299
302
|
// tsconfig.json — layout is flat (mirrors the workspace), so typecheck the source trees
|
|
300
303
|
let tsconfig = this.createTsConfig(["**/*.ts", "**/*.tsx"]);
|
|
@@ -321,8 +324,8 @@ class BuildUtils {
|
|
|
321
324
|
fs_extra_1.default.copySync(includedFile, targetPath);
|
|
322
325
|
}
|
|
323
326
|
try {
|
|
324
|
-
|
|
325
|
-
await
|
|
327
|
+
// No 'npm install' when the workspace node_modules already covers the build
|
|
328
|
+
await this.runStagedBuild(outDir, workspacePath, true);
|
|
326
329
|
// Copy the app manifest to the dist folder
|
|
327
330
|
const newAppManifestPath = StringUtils_1.default.normalizePath(`${distDir}/app.manifest.json`);
|
|
328
331
|
fs_extra_1.default.copyFileSync(appManifestPath, newAppManifestPath);
|
|
@@ -334,6 +337,69 @@ class BuildUtils {
|
|
|
334
337
|
fs_extra_1.default.removeSync(outDir);
|
|
335
338
|
}
|
|
336
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Path of the workspace's own Vite binary, when the workspace 'node_modules' provides
|
|
342
|
+
* everything a staged app build needs — vite, its react plugin, react itself, and a sass
|
|
343
|
+
* compiler when the project holds scss. The staged builds and the dev server then run
|
|
344
|
+
* without any 'npm install': the staging folders live under the workspace, so Node
|
|
345
|
+
* resolution reaches '<workspace>/node_modules' on its own. undefined = install needed.
|
|
346
|
+
*/
|
|
347
|
+
static findWorkspaceVite(workspacePath) {
|
|
348
|
+
const modulesPath = StringUtils_1.default.normalizePath(`${workspacePath}/node_modules`);
|
|
349
|
+
for (const name of ['vite', '@vitejs/plugin-react', 'react', 'react-dom']) {
|
|
350
|
+
if ((0, fs_1.existsSync)(StringUtils_1.default.normalizePath(`${modulesPath}/${name}/package.json`)) === false) {
|
|
351
|
+
return undefined;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
// scss compiles through sass-embedded (or sass): needed only when the project has scss
|
|
355
|
+
const hasScss = FileUtils_1.default.listFilesRecursively(workspacePath, {
|
|
356
|
+
ignoredFolderNames: ['node_modules', '.codenotch', '.git', 'compiled', 'dist', 'build', 'out'],
|
|
357
|
+
fileExtensions: ['.scss', '.sass']
|
|
358
|
+
}).length > 0;
|
|
359
|
+
if (hasScss
|
|
360
|
+
&& (0, fs_1.existsSync)(StringUtils_1.default.normalizePath(`${modulesPath}/sass-embedded/package.json`)) === false
|
|
361
|
+
&& (0, fs_1.existsSync)(StringUtils_1.default.normalizePath(`${modulesPath}/sass/package.json`)) === false) {
|
|
362
|
+
return undefined;
|
|
363
|
+
}
|
|
364
|
+
const viteBin = StringUtils_1.default.normalizePath(`${modulesPath}/vite/bin/vite.js`);
|
|
365
|
+
return (0, fs_1.existsSync)(viteBin) ? viteBin : undefined;
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Runs the Vite build of a staged app. When the workspace 'node_modules' already provides
|
|
369
|
+
* everything (see findWorkspaceVite) there is NO 'npm install' at all: the staging keeps no
|
|
370
|
+
* 'node_modules' of its own, and Node resolution walks up from '.codenotch/<staging>' into
|
|
371
|
+
* the workspace — same resolved versions as the project, no network. Otherwise falls back
|
|
372
|
+
* to 'npm install' + 'npm run build' inside the staging.
|
|
373
|
+
*/
|
|
374
|
+
static async runStagedBuild(outDir, workspacePath, quiet) {
|
|
375
|
+
const viteBin = this.findWorkspaceVite(workspacePath);
|
|
376
|
+
if (viteBin !== undefined) {
|
|
377
|
+
// A leftover install of a previous fallback build would shadow the workspace
|
|
378
|
+
// modules ('.vite' alone is just the build cache, harmless and worth keeping)
|
|
379
|
+
const staleModules = StringUtils_1.default.normalizePath(`${outDir}/node_modules`);
|
|
380
|
+
if ((0, fs_1.existsSync)(staleModules) && fs_2.default.readdirSync(staleModules).some(entry => entry !== '.vite')) {
|
|
381
|
+
FileUtils_1.default.deleteRecursively(staleModules);
|
|
382
|
+
}
|
|
383
|
+
if (!quiet) {
|
|
384
|
+
ConsoleUtils_1.default.check(`Dependencies resolved from the workspace node_modules, npm install skipped`);
|
|
385
|
+
}
|
|
386
|
+
await ShellUtils_1.default.exec(outDir, `node "${viteBin.replaceAll('\\', '/')}" build`, quiet ? undefined : 'Building project', true);
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
await ShellUtils_1.default.exec(outDir, 'npm install', quiet ? undefined : 'Installing dependencies', true);
|
|
390
|
+
await ShellUtils_1.default.exec(outDir, 'npm run build', quiet ? undefined : 'Building project', true);
|
|
391
|
+
}
|
|
392
|
+
/** Empties a staging folder except its 'node_modules', kept as an install cache between builds */
|
|
393
|
+
static cleanStagingKeepingModules(stagingDir) {
|
|
394
|
+
if ((0, fs_1.existsSync)(stagingDir) === false) {
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
for (const entry of fs_2.default.readdirSync(stagingDir)) {
|
|
398
|
+
if (entry.toLowerCase() !== 'node_modules') {
|
|
399
|
+
FileUtils_1.default.deleteRecursively(StringUtils_1.default.normalizePath(`${stagingDir}/${entry}`));
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
}
|
|
337
403
|
static createIndexJsx(relativeOutFilePath, fileName) {
|
|
338
404
|
return `
|
|
339
405
|
import { createRoot } from 'react-dom/client';
|
|
@@ -468,7 +534,82 @@ try {
|
|
|
468
534
|
}, null, 4);
|
|
469
535
|
return tsconfig;
|
|
470
536
|
}
|
|
471
|
-
|
|
537
|
+
/**
|
|
538
|
+
* A Vite plugin, as source text injected in both the build and the dev config: a value import
|
|
539
|
+
* of a server-side '@codenotch/*' package (process, orm — types at compile time, provided by
|
|
540
|
+
* the runtime inside a process, nothing to bundle for a browser) fails the build with the
|
|
541
|
+
* real explanation instead of Vite's cryptic resolve error. A type-only import is erased
|
|
542
|
+
* before resolution and never reaches it.
|
|
543
|
+
*/
|
|
544
|
+
static createServerOnlyGuardPlugin() {
|
|
545
|
+
return `{
|
|
546
|
+
name: 'codenotch-server-only',
|
|
547
|
+
enforce: 'pre',
|
|
548
|
+
resolveId(source, importer) {
|
|
549
|
+
if (/^@codenotch\\/(process|orm)(\\/|$)/.test(source)) {
|
|
550
|
+
throw new Error("'" + source + "' is server-side and cannot be used in a React app" +
|
|
551
|
+
(importer ? " (imported by '" + importer + "')" : "") +
|
|
552
|
+
". Import only its types ('import type { ... } from ...') and move the logic into a process the app calls.");
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}`;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* The client stubs of every process-declaring file of the workspace, for the app builds:
|
|
559
|
+
* one module source per file, keyed by the workspace-relative posix path of the file
|
|
560
|
+
* without its extension, lowercased. Each exported process with a static id becomes a
|
|
561
|
+
* handle `{ __codenotchProcess: true, id }` the app can read (`myProcess.id`) — the server
|
|
562
|
+
* logic itself never enters a browser bundle.
|
|
563
|
+
*/
|
|
564
|
+
static async createProcessStubs(workspacePath) {
|
|
565
|
+
const discovered = await ProjectUtils_1.default.discoverProcessFiles(workspacePath);
|
|
566
|
+
const byFile = new Map();
|
|
567
|
+
for (const process of discovered) {
|
|
568
|
+
const key = StringUtils_1.default.toRelativePath(process.filePath, workspacePath)
|
|
569
|
+
.replaceAll('\\', '/').replace(/\.[^/.]+$/, '').toLowerCase();
|
|
570
|
+
const handles = byFile.get(key) ?? [];
|
|
571
|
+
if (process.variableName !== undefined && process.isExported && process.isIdStatic && process.id !== undefined) {
|
|
572
|
+
handles.push(`export const ${process.variableName} = { __codenotchProcess: true, id: ${JSON.stringify(process.id)} };`);
|
|
573
|
+
}
|
|
574
|
+
byFile.set(key, handles);
|
|
575
|
+
}
|
|
576
|
+
const stubs = {};
|
|
577
|
+
for (const [key, handles] of byFile) {
|
|
578
|
+
stubs[key] = [
|
|
579
|
+
'// Generated by the Codenotch CLI: this file declares server-side processes. The app only',
|
|
580
|
+
'// sees their client handles - the logic itself runs on the runtime, never in the browser.',
|
|
581
|
+
...handles,
|
|
582
|
+
'export {};',
|
|
583
|
+
''
|
|
584
|
+
].join('\n');
|
|
585
|
+
}
|
|
586
|
+
return stubs;
|
|
587
|
+
}
|
|
588
|
+
/**
|
|
589
|
+
* A Vite plugin, as source text injected in both the build and the dev config: a workspace
|
|
590
|
+
* module that declares processes loads as its client stub (see createProcessStubs) instead
|
|
591
|
+
* of its real source, so an app can import a process to read its id without pulling any
|
|
592
|
+
* server code — the rest of such a file is not visible to the app (keep shared helpers out
|
|
593
|
+
* of process files).
|
|
594
|
+
* @param rootDir what the stub keys are relative to: the staging folder of a build (the
|
|
595
|
+
* workspace files are copied there), the workspace itself in dev
|
|
596
|
+
*/
|
|
597
|
+
static createProcessStubPlugin(rootDir, stubs) {
|
|
598
|
+
const root = StringUtils_1.default.normalizePath(rootDir).replaceAll('\\', '/').toLowerCase();
|
|
599
|
+
return `{
|
|
600
|
+
name: 'codenotch-process-stub',
|
|
601
|
+
enforce: 'pre',
|
|
602
|
+
load(id) {
|
|
603
|
+
const stubs = ${JSON.stringify(stubs)};
|
|
604
|
+
const root = ${JSON.stringify(root)};
|
|
605
|
+
const file = id.replace(/[?#].*$/, '').replaceAll('\\\\', '/').toLowerCase();
|
|
606
|
+
if (!file.startsWith(root + '/')) return null;
|
|
607
|
+
const key = file.slice(root.length + 1).replace(/\\.[^/.]+$/, '');
|
|
608
|
+
return Object.prototype.hasOwnProperty.call(stubs, key) ? stubs[key] : null;
|
|
609
|
+
}
|
|
610
|
+
}`;
|
|
611
|
+
}
|
|
612
|
+
static createViteConfig(appName, stagingDir, processStubs) {
|
|
472
613
|
let debugOptions = `
|
|
473
614
|
sourcemap: true,
|
|
474
615
|
terserOptions: {
|
|
@@ -483,11 +624,13 @@ import path from 'path';
|
|
|
483
624
|
export default defineConfig({
|
|
484
625
|
plugins: [
|
|
485
626
|
react(),
|
|
627
|
+
${this.createProcessStubPlugin(stagingDir, processStubs)},
|
|
628
|
+
${this.createServerOnlyGuardPlugin()},
|
|
486
629
|
],
|
|
487
630
|
base: './',
|
|
488
631
|
build: {
|
|
489
632
|
outDir: '../${appName}-dist',
|
|
490
|
-
emptyOutDir: true,
|
|
633
|
+
emptyOutDir: true,
|
|
491
634
|
${debugOptions}
|
|
492
635
|
}
|
|
493
636
|
})`.trim();
|
|
@@ -738,12 +881,22 @@ self.addEventListener('fetch', (event) => {
|
|
|
738
881
|
console.log(chalk_1.default.red(`Error: App name not found in manifest at "${appManifestPath}"`));
|
|
739
882
|
return 1;
|
|
740
883
|
}
|
|
884
|
+
// Without --cluster the app talks to the local runtime, like a deployed one would:
|
|
885
|
+
// its URL comes from the runtime metadata (~/.codenotch/runtime.json, default port)
|
|
886
|
+
let clusterUrl = options.clusterUrl;
|
|
887
|
+
if (clusterUrl === undefined) {
|
|
888
|
+
clusterUrl = await RuntimeUtils_1.default.getRuntimeBaseUrl();
|
|
889
|
+
ConsoleUtils_1.default.check(`clusterUrl defaulted to the local runtime: ${clusterUrl} (override with --cluster)`);
|
|
890
|
+
if (await RuntimeUtils_1.default.isRuntimeRunning() === false) {
|
|
891
|
+
ConsoleUtils_1.default.checkWarning(`The local runtime does not seem to be running — start it with 'cn runtime start'.`);
|
|
892
|
+
}
|
|
893
|
+
}
|
|
741
894
|
// Same environment as the one a built bundle reads, served by the dev server itself
|
|
742
895
|
let workspace = { manifest: this.getFullManifestAt(workspacePath), path: workspacePath };
|
|
743
896
|
let envVariables = await this.getCodenotchEnvVariables(workspace, {
|
|
744
897
|
appName: appName,
|
|
745
898
|
app: appManifest,
|
|
746
|
-
clusterUrl:
|
|
899
|
+
clusterUrl: clusterUrl
|
|
747
900
|
});
|
|
748
901
|
// Only generated files live in the staging: the sources stay, and are watched, in the workspace
|
|
749
902
|
let devDir = StringUtils_1.default.normalizePath(`${workspacePath}/.codenotch/${appName}-dev`);
|
|
@@ -761,7 +914,7 @@ self.addEventListener('fetch', (event) => {
|
|
|
761
914
|
'react/jsx-runtime',
|
|
762
915
|
'react/jsx-dev-runtime'
|
|
763
916
|
])];
|
|
764
|
-
FileUtils_1.default.writeFileSync(devDir + '/vite.config.mjs', this.createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies));
|
|
917
|
+
FileUtils_1.default.writeFileSync(devDir + '/vite.config.mjs', this.createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies, await this.createProcessStubs(workspacePath)));
|
|
765
918
|
ConsoleUtils_1.default.check(`Dev files created in ${devDir}\n`);
|
|
766
919
|
// A cache from a previous run may hold those diverging hashes: start from a clean optimize pass
|
|
767
920
|
FileUtils_1.default.deleteRecursively(StringUtils_1.default.normalizePath(`${devDir}/node_modules/.vite`));
|
|
@@ -770,19 +923,26 @@ self.addEventListener('fetch', (event) => {
|
|
|
770
923
|
if (nodeMajor < 20) {
|
|
771
924
|
ConsoleUtils_1.default.checkWarning(`Node ${process.versions.node} detected, the dev server needs Node 20 or newer and may fail.`);
|
|
772
925
|
}
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
926
|
+
// The workspace 'node_modules' usually provides vite and every dependency (resolution
|
|
927
|
+
// walks up from the dev folder): no install at all then. Otherwise one install in the
|
|
928
|
+
// dev folder, kept between runs.
|
|
929
|
+
let viteBin = this.findWorkspaceVite(workspacePath);
|
|
930
|
+
if (viteBin === undefined) {
|
|
931
|
+
if ((0, fs_1.existsSync)(StringUtils_1.default.normalizePath(`${devDir}/node_modules`)) === false) {
|
|
932
|
+
console.log("Installing dependencies...");
|
|
933
|
+
const installCode = await ShellUtils_1.default.run(devDir, 'npm install --no-audit --no-fund');
|
|
934
|
+
if (installCode !== 0) {
|
|
935
|
+
console.log(chalk_1.default.red(`Error: npm install failed (exit code ${installCode}).`));
|
|
936
|
+
return installCode;
|
|
937
|
+
}
|
|
779
938
|
}
|
|
939
|
+
viteBin = StringUtils_1.default.normalizePath(`${devDir}/node_modules/vite/bin/vite.js`);
|
|
780
940
|
}
|
|
781
941
|
console.log(chalk_1.default.green(`Starting dev server for "${appName}" (hot reload on ${workspacePath})...`));
|
|
782
942
|
// Vite runs FROM the workspace: tailwind 4 scans its sources from the working directory,
|
|
783
943
|
// and the staging holds none of them. The config still points everything at the staging.
|
|
784
944
|
const devDirPosix = devDir.replaceAll('\\', '/');
|
|
785
|
-
const viteCommand = `node "${
|
|
945
|
+
const viteCommand = `node "${viteBin.replaceAll('\\', '/')}" --config "${devDirPosix}/vite.config.mjs"`;
|
|
786
946
|
return await ShellUtils_1.default.run(workspacePath, viteCommand);
|
|
787
947
|
}
|
|
788
948
|
/** The dev entry: same contract as the built one, the app itself comes through the '@app' alias */
|
|
@@ -811,7 +971,7 @@ fetch('/api/env')
|
|
|
811
971
|
* The dev flavoured Vite config: the app is aliased to its real file in the workspace so that
|
|
812
972
|
* hot reload watches the project sources, and a tiny plugin serves the Codenotch environment.
|
|
813
973
|
*/
|
|
814
|
-
static createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies) {
|
|
974
|
+
static createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies, processStubs = {}) {
|
|
815
975
|
const workspacePosix = workspacePath.replaceAll('\\', '/');
|
|
816
976
|
const devDirPosix = devDir.replaceAll('\\', '/');
|
|
817
977
|
const appFilePosix = appFilePath.replaceAll('\\', '/');
|
|
@@ -836,6 +996,8 @@ export default defineConfig({
|
|
|
836
996
|
});
|
|
837
997
|
}
|
|
838
998
|
},
|
|
999
|
+
${this.createProcessStubPlugin(workspacePath, processStubs)},
|
|
1000
|
+
${this.createServerOnlyGuardPlugin()},
|
|
839
1001
|
],
|
|
840
1002
|
resolve: {
|
|
841
1003
|
alias: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,7 +198,7 @@ class ProjectTemplates {
|
|
|
198
198
|
* and the processes cannot drift apart silently.
|
|
199
199
|
*/
|
|
200
200
|
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.
|
|
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.4 (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 });`, ``);
|
|
202
202
|
}
|
|
203
203
|
static createTodolistApp() {
|
|
204
204
|
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};`, ``);
|
|
@@ -48,6 +48,8 @@ export default abstract class TemplateUtils {
|
|
|
48
48
|
'@types/react'?: string | undefined;
|
|
49
49
|
'@types/react-dom'?: string | undefined;
|
|
50
50
|
'@vitejs/plugin-react'?: string | undefined;
|
|
51
|
+
vite?: string | undefined;
|
|
52
|
+
'sass-embedded'?: string | undefined;
|
|
51
53
|
'@codenotch/process': string;
|
|
52
54
|
};
|
|
53
55
|
};
|
|
@@ -95,7 +95,11 @@ class TemplateUtils {
|
|
|
95
95
|
...(withReact ? {
|
|
96
96
|
'@types/react': '^19.2.18',
|
|
97
97
|
'@types/react-dom': '^19.2.4',
|
|
98
|
-
'@vitejs/plugin-react': '^6.0.5'
|
|
98
|
+
'@vitejs/plugin-react': '^6.0.5',
|
|
99
|
+
// In the workspace so app builds and the dev server run without any
|
|
100
|
+
// staging 'npm install' (see BuildUtils.findWorkspaceVite)
|
|
101
|
+
'vite': '^8.0.0',
|
|
102
|
+
'sass-embedded': '^1.97.3'
|
|
99
103
|
} : {}),
|
|
100
104
|
'typescript': '^5.9.3',
|
|
101
105
|
...extra.devDependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TemplateUtils.js","sourceRoot":"","sources":["../../src/utils/TemplateUtils.ts"],"names":[],"mappings":";;;;;;AACA,8DAAsC;AAEtC;;GAEG;AACU,QAAA,gBAAgB,GAAG,oBAAoB,CAAC;AAErD;;;;;;GAMG;AACH,MAA8B,aAAa;IAEvC,MAAM,CAAC,cAAc,CAAC,OAAe;QACjC,OAAO,wBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAe;QAC/B,OAAO;YACH,4BAA4B;YAC5B,4DAA4D;YAC5D,EAAE;YACF,SAAS,OAAO,0BAA0B;YAC1C,8BAA8B;YAC9B,EAAE;YACF,gBAAgB;YAChB,mCAAmC;YACnC,kDAAkD;YAClD,UAAU;YACV,IAAI;YACJ,EAAE;YACF,kBAAkB,OAAO,GAAG;YAC5B,EAAE;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAe;QACpC,OAAO;YACH,GAAG,EAAE;gBACD,IAAI,EAAE,OAAO;aAChB;YACD,IAAI,EAAE;gBACF,KAAK,EAAE,OAAO;aACjB;YACD,GAAG,EAAE;gBACD,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,YAAY;gBACrB,gBAAgB,EAAE;oBACd,yBAAyB;iBAC5B;gBACD,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE;oBACH,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;oBAC3D,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;iBAC9D;aACJ;SACJ,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,IAAY,EAAE,QAA6F,EAAE,EAAE,YAAqB,IAAI;QAC7J,OAAO;YACH,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,uBAAuB;YACpC,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,KAAK;YACd,YAAY,EAAE;gBACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;oBACZ,OAAO,EAAE,SAAS;oBAClB,WAAW,EAAE,SAAS;oBACtB,4BAA4B,EAAE,oBAAU,CAAC,gBAAgB;iBAC5D,CAAC,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,KAAK,CAAC,YAAY;aACxB;YACD,eAAe,EAAE;gBACb,oBAAoB,EAAE,OAAO;gBAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;oBACZ,cAAc,EAAE,UAAU;oBAC1B,kBAAkB,EAAE,SAAS;oBAC7B,sBAAsB,EAAE,QAAQ;
|
|
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.
|
|
3
|
+
"version": "1.0.51",
|
|
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": [
|
package/resources/docs/apps.md
CHANGED
|
@@ -50,6 +50,15 @@ The manifest carries the display and PWA settings:
|
|
|
50
50
|
- **react-router 7** for multi-page apps, with `HashRouter`: it keeps the routing client side
|
|
51
51
|
whatever URL the runtime serves the app from.
|
|
52
52
|
- **`@codenotch/codenotch.react`** — the bridge to the runtime, through `useCodenotch()`.
|
|
53
|
+
- **`@codenotch/process` and `@codenotch/orm` are server-side**: a value import from app code
|
|
54
|
+
fails the build with an explicit error (there is nothing to bundle for a browser).
|
|
55
|
+
`import type { ... }` is fine — types are erased. Server logic belongs in a process the app
|
|
56
|
+
calls.
|
|
57
|
+
- **Importing a process from an app is allowed and safe**: in the app build the process file is
|
|
58
|
+
replaced by client handles — each exported process becomes `{ __codenotchProcess: true, id }`,
|
|
59
|
+
so `myProcess.id` works at runtime and `typeof myProcess` still types. Nothing else of that
|
|
60
|
+
file exists client-side: keep shared helpers in their own modules (`shared/`, `lib/`), never
|
|
61
|
+
in a process file.
|
|
53
62
|
|
|
54
63
|
## useCodenotch()
|
|
55
64
|
|
|
@@ -60,7 +69,7 @@ What the generated code relies on:
|
|
|
60
69
|
| `cn.env` | the environment the runtime gave the app |
|
|
61
70
|
| `cn.getTheme()` / `cn.setTheme('light' \| 'dark')` | theme; `setTheme` toggles the `dark` class on `<html>` |
|
|
62
71
|
| `cn.getLanguage()` / `cn.setLanguage(lang)` / `cn.getLanguages()` | languages, from `manifest.json` |
|
|
63
|
-
| `cn.startProcess(processId, input)` | call a server-side process — **not implemented yet** in `@codenotch/codenotch.react` 2.0.
|
|
72
|
+
| `cn.startProcess(processId, input)` | call a server-side process — **not implemented yet** in `@codenotch/codenotch.react` 2.0.4 (it throws `Not implemented.`) |
|
|
64
73
|
|
|
65
74
|
For the full surface, read the typings in
|
|
66
75
|
`node_modules/@codenotch/codenotch.react/dist/`. Because `startProcess` is not settled, generated
|
|
@@ -82,6 +82,10 @@ Consequences for the code you write:
|
|
|
82
82
|
`template.email(...)` or `template.pdf(...)` per file.
|
|
83
83
|
- **Module-level state is per file**: a top-level cache in a shared helper exists once per
|
|
84
84
|
compiled module — shared by the processes of the same file, never across files.
|
|
85
|
+
- **Keep shared helpers out of process files**: in the app builds a process file is replaced by
|
|
86
|
+
its client handles (`{ __codenotchProcess: true, id }` per exported process) — a helper
|
|
87
|
+
declared there would not exist client-side. Put shared code in its own modules (`shared/`,
|
|
88
|
+
`lib/`).
|
|
85
89
|
- The whole project is **typechecked before bundling**: type errors fail the packaging.
|
|
86
90
|
|
|
87
91
|
`cn project compile` runs the same pipeline (typecheck, process and template bundling, app builds)
|