@codenotch/codenotch.react 1.0.81 → 2.0.0

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/index.js CHANGED
@@ -19,8 +19,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.CodeEditor = exports.env = void 0;
21
21
  exports.useCodenotch = useCodenotch;
22
+ exports.getCodenotch = getCodenotch;
23
+ exports.withCodenotch = withCodenotch;
24
+ exports.onCodenotchChange = onCodenotchChange;
22
25
  exports.init = init;
23
- const react_dom_1 = __importDefault(require("react-dom"));
26
+ const react_1 = require("react");
27
+ const react_dom_1 = require("react-dom");
28
+ const client_1 = require("react-dom/client");
24
29
  const SignalR_1 = require("./core/SignalR");
25
30
  const ProcessUtils_1 = __importDefault(require("./core/ProcessUtils"));
26
31
  const uuid_1 = require("uuid");
@@ -36,6 +41,30 @@ exports.env = env;
36
41
  const MISSING_CLUSTER_URL_ERROR = "Codenotch cluster URL is not defined. Please set it in the Codenotch configuration.";
37
42
  const MISSING_SERVICE_NAME_ERROR = "Codenotch service name is not defined. Please set it in the Codenotch configuration.";
38
43
  const MISSING_TENANT_NAME_ERROR = "Codenotch tenant name is not defined. Please set it in the Codenotch configuration.";
44
+ // ---------------------------------------------------------------------------
45
+ // Change tracking. `env` is a plain mutable object; every mutation done through
46
+ // the public API (init, setTheme, setLanguage) goes through notify(), which
47
+ // rotates the API object (so React sees a new reference) and wakes up the
48
+ // subscribers: useCodenotch() via useSyncExternalStore, withCodenotch(),
49
+ // and any listener registered with onCodenotchChange().
50
+ // ---------------------------------------------------------------------------
51
+ const listeners = new Set();
52
+ let currentApi;
53
+ function notify() {
54
+ currentApi = createApi();
55
+ listeners.forEach((listener) => {
56
+ try {
57
+ listener();
58
+ }
59
+ catch (error) {
60
+ console.error("Error in Codenotch change listener:", error);
61
+ }
62
+ });
63
+ }
64
+ function subscribe(listener) {
65
+ listeners.add(listener);
66
+ return () => { listeners.delete(listener); };
67
+ }
39
68
  /**
40
69
  * Initialize the Codenotch environment from the given key-value pairs.
41
70
  *
@@ -141,26 +170,15 @@ function init(envVariables) {
141
170
  }
142
171
  catch {
143
172
  }
173
+ notify();
144
174
  }
145
175
  /**
146
- * Return the Codenotch client API bound to the current environment.
147
- *
148
- * Despite its name this is NOT a React hook it is a plain function with no
149
- * hook rules attached: it can be called anywhere (components, handlers, plain
150
- * modules). `init()` must have been called first, which the Codenotch runtime
151
- * does automatically when serving the application.
152
- *
153
- * @returns The Codenotch API: BPMN processes, SioQL queries, i18n, signals, theme…
154
- * @example
155
- * import { useCodenotch } from 'codenotch-react';
156
- *
157
- * const MyApp: React.FC = () => {
158
- * const cn = useCodenotch();
159
- * return <h1>{cn.i18n('welcome')}</h1>;
160
- * };
176
+ * Build the API object bound to {@link env}. Every method reads `env` lazily,
177
+ * so an instance never goes stale; a new one is created by {@link notify} only
178
+ * to give React a fresh reference when the environment changes.
161
179
  */
162
- function useCodenotch() {
163
- return {
180
+ function createApi() {
181
+ const api = {
164
182
  env: env,
165
183
  uuid: () => (0, uuid_1.v4)(),
166
184
  getProjectFileUrl: (relativePath) => {
@@ -175,7 +193,7 @@ function useCodenotch() {
175
193
  return url;
176
194
  },
177
195
  getProjectFile: async (relativePath) => {
178
- let url = useCodenotch().getProjectFileUrl(relativePath);
196
+ let url = api.getProjectFileUrl(relativePath);
179
197
  let resp = await fetch(url);
180
198
  if (resp.status.toString().startsWith('2') === false) {
181
199
  throw new Error(`Failed to fetch file content: ${resp.status} ${resp.statusText}`);
@@ -183,7 +201,7 @@ function useCodenotch() {
183
201
  let content = await resp.text();
184
202
  return content;
185
203
  },
186
- requestSioql: async (sioql, verbose) => {
204
+ requestCnql: async (cnql, verbose) => {
187
205
  if (env.clusterUrl === undefined)
188
206
  throw new Error(MISSING_CLUSTER_URL_ERROR);
189
207
  if (env.serviceName === undefined)
@@ -193,7 +211,7 @@ function useCodenotch() {
193
211
  mode: 'cors',
194
212
  credentials: 'same-origin',
195
213
  headers: { 'Content-Type': 'application/json' },
196
- body: `"${sioql.replace(/\"/g, '\\\"')}"`
214
+ body: `"${cnql.replace(/\"/g, '\\\"')}"`
197
215
  };
198
216
  if (`${env.accessToken ?? ''}`.trim() !== "") {
199
217
  if (env.tenantName === undefined)
@@ -202,7 +220,7 @@ function useCodenotch() {
202
220
  ...request.headers, [`${env.tenantName}AccessToken`]: env.accessToken
203
221
  };
204
222
  }
205
- const response = await fetch(`${env.clusterUrl}/${env.serviceName}/sioql${verbose ? "?v=true" : ""}`, request);
223
+ const response = await fetch(`${env.clusterUrl}/${env.serviceName}/cnql${verbose ? "?v=true" : ""}`, request);
206
224
  if (!response.ok) {
207
225
  const error = await response.text();
208
226
  throw new Error(error);
@@ -266,9 +284,14 @@ function useCodenotch() {
266
284
  },
267
285
  showDialog: (node) => {
268
286
  let dialogId = "codenotch-dialog-" + Math.random().toString(36).substring(2, 9);
287
+ let root = undefined;
269
288
  let result = {
270
289
  id: dialogId,
271
290
  close: () => {
291
+ // Unmount the React tree first so effects are cleaned up and nothing leaks,
292
+ // then drop the <dialog> element itself.
293
+ root?.unmount();
294
+ root = undefined;
272
295
  let dialogElement = document.getElementById(dialogId);
273
296
  if (dialogElement) {
274
297
  dialogElement.remove();
@@ -311,9 +334,11 @@ function useCodenotch() {
311
334
  dialogElement.style.background = '#78787822';
312
335
  dialogElement.style.backdropFilter = 'blur(2px)';
313
336
  container.appendChild(dialogElement);
314
- react_dom_1.default.render(node, dialogElement, () => {
315
- dialogElement.showModal();
316
- });
337
+ // React 19: ReactDOM.render() is gone. Render synchronously through a dedicated root
338
+ // so the content is in the DOM before showModal() moves the focus into the dialog.
339
+ root = (0, client_1.createRoot)(dialogElement);
340
+ (0, react_dom_1.flushSync)(() => root.render(node));
341
+ dialogElement.showModal();
317
342
  return result;
318
343
  },
319
344
  listenSignal: async (signalId, callback) => {
@@ -334,11 +359,13 @@ function useCodenotch() {
334
359
  document.documentElement.classList.remove(env.theme);
335
360
  env.theme = theme;
336
361
  document.documentElement.classList.add(theme);
362
+ notify();
337
363
  },
338
364
  setLanguage: (lang) => {
339
365
  if (env.language === lang)
340
366
  return;
341
367
  env.language = lang;
368
+ notify();
342
369
  },
343
370
  getLanguages: () => {
344
371
  return env.projectManifest?.languages ?? [];
@@ -359,6 +386,112 @@ function useCodenotch() {
359
386
  return env.appManifest;
360
387
  }
361
388
  };
389
+ return api;
390
+ }
391
+ currentApi = createApi();
392
+ /**
393
+ * Return the Codenotch client API bound to the current environment, from
394
+ * anywhere: event handlers, plain modules, class components, services…
395
+ *
396
+ * This is a plain function (not a hook). The returned object is never stale —
397
+ * its methods always read the live environment — but it does not trigger any
398
+ * re-render when the language or theme changes: inside React components prefer
399
+ * {@link useCodenotch} (function components) or {@link withCodenotch}
400
+ * (class components), which do.
401
+ *
402
+ * `init()` must have been called first, which the Codenotch runtime does
403
+ * automatically when serving the application.
404
+ *
405
+ * @example
406
+ * import { getCodenotch } from 'codenotch-react';
407
+ *
408
+ * export async function loadTodos(userId: string) {
409
+ * const result = await getCodenotch().startProcess('getTodos', 'start', { UserId: userId });
410
+ * return result.output.todos;
411
+ * }
412
+ */
413
+ function getCodenotch() {
414
+ return currentApi;
415
+ }
416
+ /**
417
+ * React hook returning the Codenotch client API.
418
+ *
419
+ * The reference is stable across renders and only changes when the environment
420
+ * changes (`setLanguage`, `setTheme`, `init`), in which case every component
421
+ * using the hook re-renders — so `cn.i18n(...)` output follows the current
422
+ * language automatically, and the object is safe to use in `useMemo` /
423
+ * `useEffect` dependency arrays.
424
+ *
425
+ * Regular hook rules apply (call it unconditionally at the top of a function
426
+ * component or a custom hook). Outside of components — handlers defined in
427
+ * plain modules, services, class components — use {@link getCodenotch} or
428
+ * {@link withCodenotch} instead.
429
+ *
430
+ * @returns The Codenotch API: BPMN processes, CNQL queries, i18n, signals, theme…
431
+ * @example
432
+ * import { useCodenotch } from 'codenotch-react';
433
+ *
434
+ * const MyApp = () => {
435
+ * const cn = useCodenotch();
436
+ * return <h1>{cn.i18n('welcome')}</h1>;
437
+ * };
438
+ */
439
+ function useCodenotch() {
440
+ return (0, react_1.useSyncExternalStore)(subscribe, getCodenotch, getCodenotch);
441
+ }
442
+ /**
443
+ * Register a listener called each time the Codenotch environment changes
444
+ * (`setLanguage`, `setTheme`, `init`). Escape hatch for code that cannot use
445
+ * {@link useCodenotch} or {@link withCodenotch}, e.g. a class component that
446
+ * wants to `forceUpdate()` itself, or a non-React module caching translations.
447
+ *
448
+ * @returns A disposable — call `dispose()` to stop listening.
449
+ * @example
450
+ * componentDidMount() {
451
+ * this.sub = onCodenotchChange(() => this.forceUpdate());
452
+ * }
453
+ * componentWillUnmount() {
454
+ * this.sub.dispose();
455
+ * }
456
+ */
457
+ function onCodenotchChange(listener) {
458
+ const unsubscribe = subscribe(listener);
459
+ return { dispose: unsubscribe };
460
+ }
461
+ /**
462
+ * Higher-order component injecting the Codenotch API as a `cn` prop.
463
+ *
464
+ * Meant for class components, which cannot call {@link useCodenotch}: the
465
+ * wrapped component receives `this.props.cn` and re-renders whenever the
466
+ * environment changes (language, theme…), exactly like the hook. A `ref`
467
+ * passed to the wrapper is forwarded to the wrapped component instance.
468
+ *
469
+ * @param Component A component whose props extend {@link WithCodenotchProps}.
470
+ * @returns A component with the same props minus `cn`.
471
+ * @example
472
+ * import { withCodenotch, WithCodenotchProps } from 'codenotch-react';
473
+ *
474
+ * interface Props extends WithCodenotchProps {
475
+ * userId: string;
476
+ * }
477
+ *
478
+ * class TodoList extends React.Component<Props> {
479
+ * render() {
480
+ * return <h1>{this.props.cn.i18n('todos.title')}</h1>;
481
+ * }
482
+ * }
483
+ *
484
+ * export default withCodenotch(TodoList);
485
+ * // <TodoList userId="42" /> — `cn` is injected
486
+ */
487
+ function withCodenotch(Component) {
488
+ const Wrapped = (props) => {
489
+ const cn = useCodenotch();
490
+ // React 19: `ref` is a regular prop, so spreading `props` forwards it.
491
+ return (0, react_1.createElement)(Component, { ...props, cn });
492
+ };
493
+ Wrapped.displayName = `withCodenotch(${Component.displayName || Component.name || "Component"})`;
494
+ return Wrapped;
362
495
  }
363
496
  // Public models. Re-exported from the package root so that the typings
364
497
  // generated by the Codenotch IDE (typings/i18n.d.ts and typings/process.d.ts,
@@ -366,5 +499,4 @@ function useCodenotch() {
366
499
  // TranslationRegistry / ProcessRegistry declarations.
367
500
  __exportStar(require("./models/Codenotch"), exports);
368
501
  __exportStar(require("./models/Misc"), exports);
369
- __exportStar(require("./models/AppManifestModels"), exports);
370
502
  __exportStar(require("@codenotch/codenotch.core"), exports);
@@ -1,6 +1,6 @@
1
- import { ProjectManifest } from "@codenotch/codenotch.core";
1
+ import type { ReactNode } from "react";
2
+ import { ProjectManifest, IAppManifest } from "@codenotch/codenotch.core";
2
3
  import { ICodenotchSignal, IDisposable } from "./Misc";
3
- import { ApplicationManifest } from "./AppManifestModels";
4
4
  /**
5
5
  * Runtime environment of a Codenotch application.
6
6
  *
@@ -31,7 +31,7 @@ export interface ICodenotchEnv {
31
31
  /** Current UI theme. Resolved from the `_theme` URL parameter, or `prefers-color-scheme` as a fallback. */
32
32
  theme?: 'light' | 'dark';
33
33
  /** Manifest of the current application (the `<AppName>.manifest.json` file next to the app). */
34
- appManifest?: ApplicationManifest;
34
+ appManifest?: IAppManifest;
35
35
  /** Manifest of the Codenotch project (the project's `manifest.json` file). */
36
36
  projectManifest?: ProjectManifest;
37
37
  /** Any additional environment variable passed to `init()`. */
@@ -120,10 +120,14 @@ export interface IProcessResult<T = any> {
120
120
  errorMessage: string;
121
121
  }
122
122
  /**
123
- * The Codenotch client API, obtained by calling `useCodenotch()`.
123
+ * The Codenotch client API.
124
+ *
125
+ * Obtained with the `useCodenotch()` hook in function components, through the
126
+ * `cn` prop injected by `withCodenotch()` in class components, or with the
127
+ * plain `getCodenotch()` function anywhere else (handlers, modules, services).
124
128
  *
125
129
  * It is the bridge between a React app and the Codenotch runtime: it starts
126
- * server-side BPMN processes, runs SioQL queries, translates i18n keys,
130
+ * server-side BPMN processes, runs CNQL queries, translates i18n keys,
127
131
  * listens to real-time signals and manages theme/language.
128
132
  *
129
133
  * @example
@@ -165,24 +169,24 @@ export interface ICodenotchApi {
165
169
  /** Runtime environment (cluster, service, language, theme, i18n dictionaries, manifests…). Populated by `init()`. */
166
170
  readonly env: ICodenotchEnv;
167
171
  /**
168
- * Execute a SioQL query (XML, SELECT-only) against the project's SQL tables and return the parsed JSON result.
172
+ * Execute a CNQL query (XML, SELECT-only) against the project's SQL tables and return the parsed JSON result.
169
173
  *
170
174
  * The root element's `xmlns` must be the project's `serviceName`. Results are
171
175
  * keyed by the `Ref` attribute of each queried table.
172
176
  *
173
- * @param sioql The SioQL XML query.
177
+ * @param cnql The CNQL XML query.
174
178
  * @param verbose When `true`, asks the server for a verbose response (debugging).
175
179
  * @example
176
- * const data = await cn.requestSioql(`
177
- * <SioQL xmlns="myproject" PageSize="10" PageIndex="0">
180
+ * const data = await cn.requestCnql(`
181
+ * <CNQL xmlns="myproject" PageSize="10" PageIndex="0">
178
182
  * <Users Ref="results">
179
183
  * <Id />
180
184
  * <Email />
181
185
  * </Users>
182
- * </SioQL>`);
186
+ * </CNQL>`);
183
187
  * console.log(data.results); // [{ Id: ..., Email: ... }, ...]
184
188
  */
185
- readonly requestSioql: (sioql: string, verbose?: boolean) => Promise<any>;
189
+ readonly requestCnql: (cnql: string, verbose?: boolean) => Promise<any>;
186
190
  /**
187
191
  * Render the given React element in a fullscreen modal `<dialog>` overlay.
188
192
  *
@@ -197,7 +201,7 @@ export interface ICodenotchApi {
197
201
  * </div>
198
202
  * );
199
203
  */
200
- readonly showDialog: (node: JSX.Element) => ICodenotchDialog;
204
+ readonly showDialog: (node: ReactNode) => ICodenotchDialog;
201
205
  /**
202
206
  * Fetch the text content of a file of the deployed Codenotch project.
203
207
  * @param relativePath Path of the file relative to the project root (e.g. `'readme.md'`).
@@ -242,7 +246,20 @@ export interface ICodenotchApi {
242
246
  /** Manifest of the Codenotch project. Throws if not available in the environment. */
243
247
  readonly getProjectManifest: () => ProjectManifest;
244
248
  /** Manifest of the current application, if any. */
245
- readonly getAppManifest: () => ApplicationManifest | undefined;
249
+ readonly getAppManifest: () => IAppManifest | undefined;
250
+ }
251
+ /**
252
+ * Props injected by the `withCodenotch()` higher-order component.
253
+ * Extend it in the props of a class component wrapped by `withCodenotch`.
254
+ *
255
+ * @example
256
+ * interface Props extends WithCodenotchProps { userId: string }
257
+ * class TodoList extends React.Component<Props> { ... }
258
+ * export default withCodenotch(TodoList);
259
+ */
260
+ export interface WithCodenotchProps {
261
+ /** The Codenotch client API; refreshed (new reference) whenever the environment changes. */
262
+ cn: ICodenotchApi;
246
263
  }
247
264
  /**
248
265
  * Handle on a dialog opened with {@link ICodenotchApi.showDialog}.
@@ -1 +1 @@
1
- {"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Codenotch.d.ts","sourceRoot":"","sources":["../../src/models/Codenotch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,44 +1,46 @@
1
- {
2
- "name": "@codenotch/codenotch.react",
3
- "version": "1.0.81",
4
- "description": "React bindings for Codenotch applications: start BPMN processes, run SioQL queries, translate i18n keys, listen to real-time signals, manage theme and language.",
5
- "keywords": [
6
- "codenotch",
7
- "react"
8
- ],
9
- "publishConfig": {
10
- "access": "public"
11
- },
12
- "homepage": "https://codenotch.com",
13
- "main": "dist/index.js",
14
- "types": "dist/index.d.ts",
15
- "author": "Codenotch SA",
16
- "license": "MIT",
17
- "scripts": {
18
- "build": "tsc",
19
- "dev": "tsc --watch",
20
- "prepublishOnly": "npm run build",
21
- "clean": "rm -rf dist"
22
- },
23
- "files": [
24
- "dist/**/*",
25
- "src/**/*"
26
- ],
27
- "dependencies": {
28
- "@codenotch/codenotch.core": "1.0.2",
29
- "@microsoft/signalr": "^5.0.6",
30
- "uuid": "^8.2.0"
31
- },
32
- "devDependencies": {
33
- "@types/node": "^25.3.2",
34
- "@types/react": "^16.14.69",
35
- "@types/react-dom": "^16.9.25",
36
- "@types/uuid": "8.0.0",
37
- "@types/json-schema": "^7.0.6",
38
- "react-dom": "^16.14.0",
39
- "typescript": "^5.9.3"
40
- },
41
- "peerDependencies": {
42
- "react": ">=16.0.0"
43
- }
44
- }
1
+ {
2
+ "name": "@codenotch/codenotch.react",
3
+ "version": "2.0.0",
4
+ "description": "React bindings for Codenotch applications: start BPMN processes, run cnql queries, translate i18n keys, listen to real-time signals, manage theme and language.",
5
+ "keywords": [
6
+ "codenotch",
7
+ "react"
8
+ ],
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "homepage": "https://codenotch.com",
13
+ "main": "dist/index.js",
14
+ "types": "dist/index.d.ts",
15
+ "author": "Codenotch SA",
16
+ "license": "MIT",
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "dev": "tsc --watch",
20
+ "prepublishOnly": "npm run build",
21
+ "clean": "rm -rf dist"
22
+ },
23
+ "files": [
24
+ "dist/**/*",
25
+ "src/**/*"
26
+ ],
27
+ "dependencies": {
28
+ "@codenotch/codenotch.core": "1.0.21",
29
+ "@microsoft/signalr": "^5.0.6",
30
+ "uuid": "^8.2.0"
31
+ },
32
+ "devDependencies": {
33
+ "@types/node": "^25.3.2",
34
+ "@types/react": "^19.1.0",
35
+ "@types/react-dom": "^19.1.0",
36
+ "@types/uuid": "8.0.0",
37
+ "@types/json-schema": "^7.0.6",
38
+ "react": "^19.1.0",
39
+ "react-dom": "^19.1.0",
40
+ "typescript": "^5.9.3"
41
+ },
42
+ "peerDependencies": {
43
+ "react": ">=19.0.0",
44
+ "react-dom": ">=19.0.0"
45
+ }
46
+ }