@uns-kit/core 0.0.36 → 0.0.37

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.
Files changed (68) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +55 -55
  3. package/dist/app-config.js.map +1 -1
  4. package/dist/base-path.js.map +1 -1
  5. package/dist/config/app-config.js.map +1 -1
  6. package/dist/config/project.config.extension.js.map +1 -1
  7. package/dist/config-file.js.map +1 -1
  8. package/dist/graphql/schema.js.map +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/logger.js.map +1 -1
  11. package/dist/tools/auth/auth-client.js.map +1 -1
  12. package/dist/tools/auth/index.js.map +1 -1
  13. package/dist/tools/auth/secure-store.js.map +1 -1
  14. package/dist/tools/base-path.js.map +1 -1
  15. package/dist/tools/generate-config-schema.js.map +1 -1
  16. package/dist/tools/initialize.d.ts +1 -1
  17. package/dist/tools/initialize.d.ts.map +1 -0
  18. package/dist/tools/initialize.js +103 -103
  19. package/dist/tools/initialize.js.map +1 -0
  20. package/dist/tools/make.d.ts +1 -1
  21. package/dist/tools/make.d.ts.map +1 -0
  22. package/dist/tools/make.js +27 -27
  23. package/dist/tools/make.js.map +1 -0
  24. package/dist/tools/pull-request.js.map +1 -1
  25. package/dist/tools/refresh-uns.js +35 -35
  26. package/dist/tools/refresh-uns.js.map +1 -1
  27. package/dist/tools/schema.js.map +1 -1
  28. package/dist/tools/update-rtt.d.ts +1 -1
  29. package/dist/tools/update-rtt.d.ts.map +1 -0
  30. package/dist/tools/update-rtt.js +169 -169
  31. package/dist/tools/update-rtt.js.map +1 -0
  32. package/dist/tools/update-tools.d.ts +1 -1
  33. package/dist/tools/update-tools.d.ts.map +1 -0
  34. package/dist/tools/update-tools.js +72 -72
  35. package/dist/tools/update-tools.js.map +1 -0
  36. package/dist/uns/handover-manager-event-emitter.js.map +1 -1
  37. package/dist/uns/handover-manager.js.map +1 -1
  38. package/dist/uns/process-config.js.map +1 -1
  39. package/dist/uns/process-name-service.js.map +1 -1
  40. package/dist/uns/status-monitor.js.map +1 -1
  41. package/dist/uns/uns-event-emitter.js.map +1 -1
  42. package/dist/uns/uns-interfaces.js.map +1 -1
  43. package/dist/uns/uns-measurements.js.map +1 -1
  44. package/dist/uns/uns-packet.js.map +1 -1
  45. package/dist/uns/uns-proxy-process.js.map +1 -1
  46. package/dist/uns/uns-proxy.js.map +1 -1
  47. package/dist/uns/uns-tags.js.map +1 -1
  48. package/dist/uns/uns-topic-matcher.js.map +1 -1
  49. package/dist/uns/uns-topics.js.map +1 -1
  50. package/dist/uns-config/config-schema.js.map +1 -1
  51. package/dist/uns-config/host-placeholders.js.map +1 -1
  52. package/dist/uns-config/schema-tolls.js.map +1 -1
  53. package/dist/uns-config/schema-tools.js.map +1 -1
  54. package/dist/uns-config/secret-placeholders.js.map +1 -1
  55. package/dist/uns-config/secret-resolver.js.map +1 -1
  56. package/dist/uns-config/uns-core-schema.js.map +1 -1
  57. package/dist/uns-grpc/uns-gateway-cli.js.map +1 -1
  58. package/dist/uns-grpc/uns-gateway-server.js.map +1 -1
  59. package/dist/uns-grpc/uns-gateway.proto +102 -102
  60. package/dist/uns-mqtt/mqtt-interfaces.js.map +1 -1
  61. package/dist/uns-mqtt/mqtt-proxy.js.map +1 -1
  62. package/dist/uns-mqtt/mqtt-topic-builder.js.map +1 -1
  63. package/dist/uns-mqtt/mqtt-worker-init.js.map +1 -1
  64. package/dist/uns-mqtt/mqtt-worker.js.map +1 -1
  65. package/dist/uns-mqtt/throttled-queue.js.map +1 -1
  66. package/dist/uns-mqtt/uns-mqtt-proxy.js.map +1 -1
  67. package/dist/uns-mqtt/ws-proxy.js.map +1 -1
  68. package/package.json +1 -1
@@ -1,170 +1,170 @@
1
- import { basePath } from "./base-path.js";
2
- import readline from "node:readline";
3
- import * as path from "path";
4
- import chalk from "chalk";
5
- import { readFile } from "fs/promises";
6
- import fs from "fs-extra";
7
- import * as prettier from "prettier";
8
- const rl = readline.createInterface({
9
- input: process.stdin,
10
- output: process.stdout,
11
- });
12
- const packageJsonPath = path.join(basePath, "package.json");
13
- const packageJson = JSON.parse(await readFile(packageJsonPath, "utf8"));
14
- // Flags
15
- const argv = new Set(process.argv.slice(2));
16
- const DRY_RUN = argv.has("--dry-run") || process.env.DRY_RUN === "1";
17
- function logAction(action) {
18
- if (DRY_RUN)
19
- console.log(`[dry-run] ${action}`);
20
- else
21
- console.log(action);
22
- }
23
- function writeJson(file, obj) {
24
- return prettier.format(JSON.stringify(obj), { parser: "json" }).then((s) => {
25
- if (DRY_RUN) {
26
- console.log(`[dry-run] write ${file} (${s.length} bytes)`);
27
- }
28
- else {
29
- fs.writeFileSync(file, s, "utf8");
30
- }
31
- });
32
- }
33
- function copyDir(src, dest, options) {
34
- if (DRY_RUN) {
35
- console.log(`[dry-run] copy ${src} -> ${dest}`);
36
- return;
37
- }
38
- fs.copySync(src, dest, { overwrite: true, ...options });
39
- }
40
- function removePath(p, opts) {
41
- if (DRY_RUN) {
42
- console.log(`[dry-run] rm ${p}`);
43
- return;
44
- }
45
- fs.rmSync(p, { force: true, recursive: true, ...opts });
46
- }
47
- try {
48
- await main();
49
- rl.close();
50
- }
51
- catch (error) {
52
- console.log(chalk.red.bold(`\n${error}`));
53
- rl.close();
54
- }
55
- async function main() {
56
- const tmpRtt = path.join(basePath, "/tmp-rtt");
57
- try {
58
- logAction(`Overwrite examples`);
59
- copyDir(path.join(tmpRtt, "/src/examples"), path.join(basePath, "/src/examples"));
60
- logAction(`Overwrite uns`);
61
- copyDir(path.join(tmpRtt, "/src/uns"), path.join(basePath, "/src/uns"));
62
- logAction(`Overwrite uns-config`);
63
- copyDir(path.join(tmpRtt, "/src/uns-config"), path.join(basePath, "/src/uns-config"));
64
- // Python: copy template but preserve local project area(s) and environments
65
- // Preserved by default: python/rtt, python/venv, python/.venv, python/__pycache__
66
- const pythonSrc = path.join(tmpRtt, "/python");
67
- const pythonDst = path.join(basePath, "/python");
68
- logAction(`Overwrite python (preserve local, rtt, venv/.venv, __pycache__)`);
69
- copyDir(pythonSrc, pythonDst, {
70
- filter: (src) => {
71
- // Only filter relative to template python root
72
- const rel = path.relative(pythonSrc, src);
73
- if (!rel || rel === "")
74
- return true;
75
- const top = rel.split(path.sep)[0];
76
- const preserved = new Set(["local", "rtt", "venv", ".venv", "__pycache__"]);
77
- return !preserved.has(top);
78
- },
79
- });
80
- logAction(`Overwrite uns-grpc`);
81
- copyDir(path.join(tmpRtt, "/src/uns-grpc"), path.join(basePath, "/packages/uns-core/src/uns-grpc"));
82
- logAction(`Overwrite uns-cron`);
83
- copyDir(path.join(tmpRtt, "/src/uns-cron"), path.join(basePath, "/packages/uns-cron/src"));
84
- logAction(`Overwrite uns-api`);
85
- copyDir(path.join(tmpRtt, "/src/uns-api"), path.join(basePath, "/packages/uns-api/src"));
86
- logAction(`Overwrite uns-mqtt`);
87
- copyDir(path.join(tmpRtt, "/src/uns-mqtt"), path.join(basePath, "/packages/uns-core/src/uns-mqtt"));
88
- logAction(`Overwrite uns-temporal`);
89
- copyDir(path.join(tmpRtt, "/src/uns-temporal"), path.join(basePath, "/packages/uns-temporal/src"));
90
- logAction(`Overwrite eslint.config.mjs`);
91
- copyDir(path.join(tmpRtt, "/eslint.config.mjs"), path.join(basePath, "/eslint.config.mjs"));
92
- logAction(`Overwrite schema.ts`);
93
- copyDir(path.join(tmpRtt, "/src/graphql/schema.ts"), path.join(basePath, "/src/graphql/schema.ts"));
94
- logAction(`Overwrite config-template.json`);
95
- copyDir(path.join(tmpRtt, "/config-template.json"), path.join(basePath, "/config-template.json"));
96
- logAction(`Overwrite vite.config.js`);
97
- copyDir(path.join(tmpRtt, "/vite.config.js"), path.join(basePath, "/vite.config.js"));
98
- logAction(`Overwrite codegen.ts`);
99
- copyDir(path.join(tmpRtt, "/codegen.ts"), path.join(basePath, "/codegen.ts"));
100
- logAction(`Overwrite logger.ts`);
101
- copyDir(path.join(tmpRtt, "/src/logger.ts"), path.join(basePath, "/src/logger.ts"));
102
- }
103
- catch (error) {
104
- console.error(chalk.red.bold(`exec error: ${error}`));
105
- return;
106
- }
107
- try {
108
- logAction(`Merge package.json scripts (template overrides existing keys, preserves extras)`);
109
- const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), "utf8"));
110
- const currentScripts = packageJson.scripts || {};
111
- const templateScripts = tmpPackageJson.scripts || {};
112
- packageJson.scripts = { ...currentScripts, ...templateScripts };
113
- await writeJson('package.json', packageJson);
114
- }
115
- catch (error) {
116
- console.error(chalk.red.bold(`exec error: ${error}`));
117
- return;
118
- }
119
- try {
120
- console.log(chalk.red(`Update devDependencies: overwrite versions for existing, add missing; preserve extras.`));
121
- const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), "utf8"));
122
- packageJson.devDependencies = packageJson.devDependencies || {};
123
- for (const [dep, version] of Object.entries(tmpPackageJson.devDependencies || {})) {
124
- packageJson.devDependencies[dep] = version;
125
- }
126
- await writeJson('package.json', packageJson);
127
- }
128
- catch (error) {
129
- console.error(chalk.red.bold(`exec error: ${error}`));
130
- return;
131
- }
132
- try {
133
- console.log(chalk.red(`Update dependencies: keep existing versions; add missing from template.`));
134
- const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), "utf8"));
135
- packageJson.dependencies = packageJson.dependencies || {};
136
- for (const [dep, version] of Object.entries(tmpPackageJson.dependencies || {})) {
137
- if (!(dep in packageJson.dependencies)) {
138
- packageJson.dependencies[dep] = version;
139
- }
140
- }
141
- await writeJson('package.json', packageJson);
142
- }
143
- catch (error) {
144
- console.error(chalk.red.bold(`exec error: ${error}`));
145
- return;
146
- }
147
- try {
148
- logAction(`Remove obsolete directories and files`);
149
- removePath(path.join(basePath, "/src/mqtt-rtt"));
150
- removePath(path.join(basePath, "/src/uns-rtt"));
151
- removePath(path.join(basePath, "/.eslintignore"));
152
- removePath(path.join(basePath, "/.eslintrc.json"));
153
- removePath(path.join(basePath, "/src/update-rtt.ts"));
154
- removePath(path.join(basePath, "/src/demo"));
155
- }
156
- catch (error) {
157
- console.error(chalk.red.bold(`exec error: ${error}`));
158
- return;
159
- }
160
- try {
161
- logAction(`Remove tmp-rtt`);
162
- removePath(tmpRtt);
163
- }
164
- catch (error) {
165
- console.error(chalk.red.bold(`exec error: ${error}`));
166
- return;
167
- }
168
- console.log(chalk.green.bold("\nRun npm run build to rebuild the project, and remove obsolete directories and files."));
169
- }
1
+ import { basePath } from "./base-path.js";
2
+ import readline from "node:readline";
3
+ import * as path from "path";
4
+ import chalk from "chalk";
5
+ import { readFile } from "fs/promises";
6
+ import fs from "fs-extra";
7
+ import * as prettier from "prettier";
8
+ const rl = readline.createInterface({
9
+ input: process.stdin,
10
+ output: process.stdout,
11
+ });
12
+ const packageJsonPath = path.join(basePath, "package.json");
13
+ const packageJson = JSON.parse(await readFile(packageJsonPath, "utf8"));
14
+ // Flags
15
+ const argv = new Set(process.argv.slice(2));
16
+ const DRY_RUN = argv.has("--dry-run") || process.env.DRY_RUN === "1";
17
+ function logAction(action) {
18
+ if (DRY_RUN)
19
+ console.log(`[dry-run] ${action}`);
20
+ else
21
+ console.log(action);
22
+ }
23
+ function writeJson(file, obj) {
24
+ return prettier.format(JSON.stringify(obj), { parser: "json" }).then((s) => {
25
+ if (DRY_RUN) {
26
+ console.log(`[dry-run] write ${file} (${s.length} bytes)`);
27
+ }
28
+ else {
29
+ fs.writeFileSync(file, s, "utf8");
30
+ }
31
+ });
32
+ }
33
+ function copyDir(src, dest, options) {
34
+ if (DRY_RUN) {
35
+ console.log(`[dry-run] copy ${src} -> ${dest}`);
36
+ return;
37
+ }
38
+ fs.copySync(src, dest, { overwrite: true, ...options });
39
+ }
40
+ function removePath(p, opts) {
41
+ if (DRY_RUN) {
42
+ console.log(`[dry-run] rm ${p}`);
43
+ return;
44
+ }
45
+ fs.rmSync(p, { force: true, recursive: true, ...opts });
46
+ }
47
+ try {
48
+ await main();
49
+ rl.close();
50
+ }
51
+ catch (error) {
52
+ console.log(chalk.red.bold(`\n${error}`));
53
+ rl.close();
54
+ }
55
+ async function main() {
56
+ const tmpRtt = path.join(basePath, "/tmp-rtt");
57
+ try {
58
+ logAction(`Overwrite examples`);
59
+ copyDir(path.join(tmpRtt, "/src/examples"), path.join(basePath, "/src/examples"));
60
+ logAction(`Overwrite uns`);
61
+ copyDir(path.join(tmpRtt, "/src/uns"), path.join(basePath, "/src/uns"));
62
+ logAction(`Overwrite uns-config`);
63
+ copyDir(path.join(tmpRtt, "/src/uns-config"), path.join(basePath, "/src/uns-config"));
64
+ // Python: copy template but preserve local project area(s) and environments
65
+ // Preserved by default: python/rtt, python/venv, python/.venv, python/__pycache__
66
+ const pythonSrc = path.join(tmpRtt, "/python");
67
+ const pythonDst = path.join(basePath, "/python");
68
+ logAction(`Overwrite python (preserve local, rtt, venv/.venv, __pycache__)`);
69
+ copyDir(pythonSrc, pythonDst, {
70
+ filter: (src) => {
71
+ // Only filter relative to template python root
72
+ const rel = path.relative(pythonSrc, src);
73
+ if (!rel || rel === "")
74
+ return true;
75
+ const top = rel.split(path.sep)[0];
76
+ const preserved = new Set(["local", "rtt", "venv", ".venv", "__pycache__"]);
77
+ return !preserved.has(top);
78
+ },
79
+ });
80
+ logAction(`Overwrite uns-grpc`);
81
+ copyDir(path.join(tmpRtt, "/src/uns-grpc"), path.join(basePath, "/packages/uns-core/src/uns-grpc"));
82
+ logAction(`Overwrite uns-cron`);
83
+ copyDir(path.join(tmpRtt, "/src/uns-cron"), path.join(basePath, "/packages/uns-cron/src"));
84
+ logAction(`Overwrite uns-api`);
85
+ copyDir(path.join(tmpRtt, "/src/uns-api"), path.join(basePath, "/packages/uns-api/src"));
86
+ logAction(`Overwrite uns-mqtt`);
87
+ copyDir(path.join(tmpRtt, "/src/uns-mqtt"), path.join(basePath, "/packages/uns-core/src/uns-mqtt"));
88
+ logAction(`Overwrite uns-temporal`);
89
+ copyDir(path.join(tmpRtt, "/src/uns-temporal"), path.join(basePath, "/packages/uns-temporal/src"));
90
+ logAction(`Overwrite eslint.config.mjs`);
91
+ copyDir(path.join(tmpRtt, "/eslint.config.mjs"), path.join(basePath, "/eslint.config.mjs"));
92
+ logAction(`Overwrite schema.ts`);
93
+ copyDir(path.join(tmpRtt, "/src/graphql/schema.ts"), path.join(basePath, "/src/graphql/schema.ts"));
94
+ logAction(`Overwrite config-template.json`);
95
+ copyDir(path.join(tmpRtt, "/config-template.json"), path.join(basePath, "/config-template.json"));
96
+ logAction(`Overwrite vite.config.js`);
97
+ copyDir(path.join(tmpRtt, "/vite.config.js"), path.join(basePath, "/vite.config.js"));
98
+ logAction(`Overwrite codegen.ts`);
99
+ copyDir(path.join(tmpRtt, "/codegen.ts"), path.join(basePath, "/codegen.ts"));
100
+ logAction(`Overwrite logger.ts`);
101
+ copyDir(path.join(tmpRtt, "/src/logger.ts"), path.join(basePath, "/src/logger.ts"));
102
+ }
103
+ catch (error) {
104
+ console.error(chalk.red.bold(`exec error: ${error}`));
105
+ return;
106
+ }
107
+ try {
108
+ logAction(`Merge package.json scripts (template overrides existing keys, preserves extras)`);
109
+ const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), "utf8"));
110
+ const currentScripts = packageJson.scripts || {};
111
+ const templateScripts = tmpPackageJson.scripts || {};
112
+ packageJson.scripts = { ...currentScripts, ...templateScripts };
113
+ await writeJson('package.json', packageJson);
114
+ }
115
+ catch (error) {
116
+ console.error(chalk.red.bold(`exec error: ${error}`));
117
+ return;
118
+ }
119
+ try {
120
+ console.log(chalk.red(`Update devDependencies: overwrite versions for existing, add missing; preserve extras.`));
121
+ const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), "utf8"));
122
+ packageJson.devDependencies = packageJson.devDependencies || {};
123
+ for (const [dep, version] of Object.entries(tmpPackageJson.devDependencies || {})) {
124
+ packageJson.devDependencies[dep] = version;
125
+ }
126
+ await writeJson('package.json', packageJson);
127
+ }
128
+ catch (error) {
129
+ console.error(chalk.red.bold(`exec error: ${error}`));
130
+ return;
131
+ }
132
+ try {
133
+ console.log(chalk.red(`Update dependencies: keep existing versions; add missing from template.`));
134
+ const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), "utf8"));
135
+ packageJson.dependencies = packageJson.dependencies || {};
136
+ for (const [dep, version] of Object.entries(tmpPackageJson.dependencies || {})) {
137
+ if (!(dep in packageJson.dependencies)) {
138
+ packageJson.dependencies[dep] = version;
139
+ }
140
+ }
141
+ await writeJson('package.json', packageJson);
142
+ }
143
+ catch (error) {
144
+ console.error(chalk.red.bold(`exec error: ${error}`));
145
+ return;
146
+ }
147
+ try {
148
+ logAction(`Remove obsolete directories and files`);
149
+ removePath(path.join(basePath, "/src/mqtt-rtt"));
150
+ removePath(path.join(basePath, "/src/uns-rtt"));
151
+ removePath(path.join(basePath, "/.eslintignore"));
152
+ removePath(path.join(basePath, "/.eslintrc.json"));
153
+ removePath(path.join(basePath, "/src/update-rtt.ts"));
154
+ removePath(path.join(basePath, "/src/demo"));
155
+ }
156
+ catch (error) {
157
+ console.error(chalk.red.bold(`exec error: ${error}`));
158
+ return;
159
+ }
160
+ try {
161
+ logAction(`Remove tmp-rtt`);
162
+ removePath(tmpRtt);
163
+ }
164
+ catch (error) {
165
+ console.error(chalk.red.bold(`exec error: ${error}`));
166
+ return;
167
+ }
168
+ console.log(chalk.green.bold("\nRun npm run build to rebuild the project, and remove obsolete directories and files."));
169
+ }
170
170
  //# sourceMappingURL=update-rtt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-rtt.js","sourceRoot":"","sources":["../../src/tools/update-rtt.ts"],"names":[],"mappings":"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","sourcesContent":["import { basePath } from \"./base-path.js\";\nimport readline from \"node:readline\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport { readFile } from \"fs/promises\";\nimport fs from \"fs-extra\";\nimport * as prettier from \"prettier\";\n\n\nconst rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n});\n\nconst packageJsonPath = path.join(basePath, \"package.json\");\nconst packageJson = JSON.parse(await readFile(packageJsonPath, \"utf8\"));\n\n// Flags\nconst argv = new Set(process.argv.slice(2));\nconst DRY_RUN = argv.has(\"--dry-run\") || process.env.DRY_RUN === \"1\";\n\nfunction logAction(action: string) {\n if (DRY_RUN) console.log(`[dry-run] ${action}`);\n else console.log(action);\n}\n\nfunction writeJson(file: string, obj: any) {\n return prettier.format(JSON.stringify(obj), { parser: \"json\" }).then((s) => {\n if (DRY_RUN) {\n console.log(`[dry-run] write ${file} (${s.length} bytes)`);\n } else {\n fs.writeFileSync(file, s, \"utf8\");\n }\n });\n}\n\nfunction copyDir(src: string, dest: string, options?: any) {\n if (DRY_RUN) {\n console.log(`[dry-run] copy ${src} -> ${dest}`);\n return;\n }\n fs.copySync(src, dest, { overwrite: true, ...options });\n}\n\nfunction removePath(p: string, opts?: any) {\n if (DRY_RUN) {\n console.log(`[dry-run] rm ${p}`);\n return;\n }\n fs.rmSync(p, { force: true, recursive: true, ...opts });\n}\n\ntry {\n await main();\n rl.close();\n} catch (error) {\n console.log(chalk.red.bold(`\\n${error}`));\n rl.close();\n}\n\nasync function main() {\n const tmpRtt = path.join(basePath, \"/tmp-rtt\");\n\n try {\n logAction(`Overwrite examples`);\n copyDir(path.join(tmpRtt, \"/src/examples\"), path.join(basePath, \"/src/examples\"));\n\n logAction(`Overwrite uns`);\n copyDir(path.join(tmpRtt, \"/src/uns\"), path.join(basePath, \"/src/uns\"));\n\n logAction(`Overwrite uns-config`);\n copyDir(path.join(tmpRtt, \"/src/uns-config\"), path.join(basePath, \"/src/uns-config\"));\n\n // Python: copy template but preserve local project area(s) and environments\n // Preserved by default: python/rtt, python/venv, python/.venv, python/__pycache__\n const pythonSrc = path.join(tmpRtt, \"/python\");\n const pythonDst = path.join(basePath, \"/python\");\n logAction(`Overwrite python (preserve local, rtt, venv/.venv, __pycache__)`);\n copyDir(pythonSrc, pythonDst, {\n filter: (src: string) => {\n // Only filter relative to template python root\n const rel = path.relative(pythonSrc, src);\n if (!rel || rel === \"\") return true;\n const top = rel.split(path.sep)[0];\n const preserved = new Set([\"local\", \"rtt\", \"venv\", \".venv\", \"__pycache__\"]);\n return !preserved.has(top);\n },\n });\n\n logAction(`Overwrite uns-grpc`);\n copyDir(path.join(tmpRtt, \"/src/uns-grpc\"), path.join(basePath, \"/packages/uns-core/src/uns-grpc\"));\n\n logAction(`Overwrite uns-cron`);\n copyDir(path.join(tmpRtt, \"/src/uns-cron\"), path.join(basePath, \"/packages/uns-cron/src\"));\n\n logAction(`Overwrite uns-api`);\n copyDir(path.join(tmpRtt, \"/src/uns-api\"), path.join(basePath, \"/packages/uns-api/src\"));\n\n logAction(`Overwrite uns-mqtt`);\n copyDir(path.join(tmpRtt, \"/src/uns-mqtt\"), path.join(basePath, \"/packages/uns-core/src/uns-mqtt\"));\n\n logAction(`Overwrite uns-temporal`);\n copyDir(path.join(tmpRtt, \"/src/uns-temporal\"), path.join(basePath, \"/packages/uns-temporal/src\"));\n\n logAction(`Overwrite eslint.config.mjs`);\n copyDir(path.join(tmpRtt, \"/eslint.config.mjs\"), path.join(basePath, \"/eslint.config.mjs\"));\n\n logAction(`Overwrite schema.ts`);\n copyDir(path.join(tmpRtt, \"/src/graphql/schema.ts\"), path.join(basePath, \"/src/graphql/schema.ts\"));\n\n logAction(`Overwrite config-template.json`);\n copyDir(path.join(tmpRtt, \"/config-template.json\"), path.join(basePath, \"/config-template.json\"));\n\n logAction(`Overwrite vite.config.js`);\n copyDir(path.join(tmpRtt, \"/vite.config.js\"), path.join(basePath, \"/vite.config.js\"));\n\n logAction(`Overwrite codegen.ts`);\n copyDir(path.join(tmpRtt, \"/codegen.ts\"), path.join(basePath, \"/codegen.ts\")); \n\n logAction(`Overwrite logger.ts`);\n copyDir(path.join(tmpRtt, \"/src/logger.ts\"), path.join(basePath, \"/src/logger.ts\")); \n\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`)); \n return;\n }\n\n try {\n logAction(`Merge package.json scripts (template overrides existing keys, preserves extras)`);\n const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), \"utf8\"));\n const currentScripts = packageJson.scripts || {};\n const templateScripts = tmpPackageJson.scripts || {};\n packageJson.scripts = { ...currentScripts, ...templateScripts };\n await writeJson('package.json', packageJson);\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`));\n return;\n }\n\n try {\n console.log(chalk.red(`Update devDependencies: overwrite versions for existing, add missing; preserve extras.`));\n const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), \"utf8\"));\n packageJson.devDependencies = packageJson.devDependencies || {};\n for (const [dep, version] of Object.entries(tmpPackageJson.devDependencies || {})) {\n packageJson.devDependencies[dep] = version as string;\n }\n await writeJson('package.json', packageJson);\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`));\n return;\n }\n\n try {\n console.log(chalk.red(`Update dependencies: keep existing versions; add missing from template.`));\n const tmpPackageJson = JSON.parse(await readFile(path.join(tmpRtt, 'package.json'), \"utf8\"));\n\n packageJson.dependencies = packageJson.dependencies || {};\n for (const [dep, version] of Object.entries(tmpPackageJson.dependencies || {})) {\n if (!(dep in packageJson.dependencies)) {\n packageJson.dependencies[dep] = version as string;\n }\n }\n\n await writeJson('package.json', packageJson);\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`));\n return;\n }\n\n try {\n logAction(`Remove obsolete directories and files`);\n removePath(path.join(basePath, \"/src/mqtt-rtt\"));\n removePath(path.join(basePath, \"/src/uns-rtt\")); \n removePath(path.join(basePath, \"/.eslintignore\"));\n removePath(path.join(basePath, \"/.eslintrc.json\"));\n removePath(path.join(basePath, \"/src/update-rtt.ts\"));\n removePath(path.join(basePath, \"/src/demo\"));\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`));\n return;\n }\n\n\n try {\n logAction(`Remove tmp-rtt`);\n removePath(tmpRtt);\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`)); \n return;\n }\n\n console.log(chalk.green.bold(\"\\nRun npm run build to rebuild the project, and remove obsolete directories and files.\"));\n}\n"]}
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=update-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tools.d.ts","sourceRoot":"","sources":["../../src/tools/update-tools.ts"],"names":[],"mappings":""}
@@ -1,73 +1,73 @@
1
- import { CleanOptions, simpleGit } from "simple-git";
2
- import { basePath } from "./base-path.js";
3
- import readline from "node:readline";
4
- import * as path from "path";
5
- import chalk from "chalk";
6
- import fs from "fs-extra";
7
- import { execSync } from "child_process";
8
- const rl = readline.createInterface({
9
- input: process.stdin,
10
- output: process.stdout,
11
- });
12
- const git = simpleGit("./").clean(CleanOptions.FORCE);
13
- try {
14
- await main();
15
- rl.close();
16
- }
17
- catch (error) {
18
- console.log(chalk.red.bold(`\n${error}`));
19
- rl.close();
20
- }
21
- async function main() {
22
- const tmpRtt = path.join(basePath, "/tmp-rtt");
23
- try {
24
- console.log(`Pull template-ts-nodejs into tmp-rtt`);
25
- await git.clone("git@ssh.dev.azure.com:v3/example-org/example-project/template-uns-rtt", tmpRtt);
26
- }
27
- catch (error) {
28
- console.error(chalk.red.bold(`exec error: ${error}`));
29
- return;
30
- }
31
- try {
32
- console.log(`Overwrite tools`);
33
- fs.copySync(path.join(tmpRtt, "/src/tools"), path.join(basePath, "/src/tools"), { overwrite: true });
34
- }
35
- catch (error) {
36
- console.error(chalk.red.bold(`exec error: ${error}`));
37
- return;
38
- }
39
- // Update library version JSON at repo root from template
40
- try {
41
- const srcJson = path.join(tmpRtt, 'uns-library.json');
42
- const dstJson = path.join(basePath, 'uns-library.json');
43
- if (fs.existsSync(srcJson)) {
44
- fs.copyFileSync(srcJson, dstJson);
45
- const ver = JSON.parse(fs.readFileSync(srcJson, 'utf8')).version;
46
- console.log(`Updated uns-library.json -> ${ver}`);
47
- }
48
- else {
49
- // Fallback for older templates: synthesize from package.json
50
- const tmpPackageJsonPath = path.join(tmpRtt, 'package.json');
51
- const tmpPackageJson = JSON.parse(fs.readFileSync(tmpPackageJsonPath, 'utf8'));
52
- const payload = JSON.stringify({ name: tmpPackageJson.name, version: tmpPackageJson.version }, null, 2);
53
- fs.writeFileSync(dstJson, payload + "\n", 'utf8');
54
- console.log(`Updated uns-library.json -> ${tmpPackageJson.version}`);
55
- }
56
- }
57
- catch (error) {
58
- console.error(chalk.red.bold(`exec error: ${error}`));
59
- return;
60
- }
61
- try {
62
- console.log(`Running update-rtt from tools`);
63
- // Propagate any CLI args to update-rtt (e.g., --dry-run)
64
- const args = process.argv.slice(2).join(" ");
65
- // Run the TypeScript tool directly to avoid relying on a successful build
66
- execSync(`tsx ./src/tools/update-rtt.ts ${args}`.trim(), { stdio: 'inherit' });
67
- }
68
- catch (error) {
69
- console.error(chalk.red.bold(`exec error: ${error}`));
70
- return;
71
- }
72
- }
1
+ import { CleanOptions, simpleGit } from "simple-git";
2
+ import { basePath } from "./base-path.js";
3
+ import readline from "node:readline";
4
+ import * as path from "path";
5
+ import chalk from "chalk";
6
+ import fs from "fs-extra";
7
+ import { execSync } from "child_process";
8
+ const rl = readline.createInterface({
9
+ input: process.stdin,
10
+ output: process.stdout,
11
+ });
12
+ const git = simpleGit("./").clean(CleanOptions.FORCE);
13
+ try {
14
+ await main();
15
+ rl.close();
16
+ }
17
+ catch (error) {
18
+ console.log(chalk.red.bold(`\n${error}`));
19
+ rl.close();
20
+ }
21
+ async function main() {
22
+ const tmpRtt = path.join(basePath, "/tmp-rtt");
23
+ try {
24
+ console.log(`Pull template-ts-nodejs into tmp-rtt`);
25
+ await git.clone("git@ssh.dev.azure.com:v3/example-org/example-project/template-uns-rtt", tmpRtt);
26
+ }
27
+ catch (error) {
28
+ console.error(chalk.red.bold(`exec error: ${error}`));
29
+ return;
30
+ }
31
+ try {
32
+ console.log(`Overwrite tools`);
33
+ fs.copySync(path.join(tmpRtt, "/src/tools"), path.join(basePath, "/src/tools"), { overwrite: true });
34
+ }
35
+ catch (error) {
36
+ console.error(chalk.red.bold(`exec error: ${error}`));
37
+ return;
38
+ }
39
+ // Update library version JSON at repo root from template
40
+ try {
41
+ const srcJson = path.join(tmpRtt, 'uns-library.json');
42
+ const dstJson = path.join(basePath, 'uns-library.json');
43
+ if (fs.existsSync(srcJson)) {
44
+ fs.copyFileSync(srcJson, dstJson);
45
+ const ver = JSON.parse(fs.readFileSync(srcJson, 'utf8')).version;
46
+ console.log(`Updated uns-library.json -> ${ver}`);
47
+ }
48
+ else {
49
+ // Fallback for older templates: synthesize from package.json
50
+ const tmpPackageJsonPath = path.join(tmpRtt, 'package.json');
51
+ const tmpPackageJson = JSON.parse(fs.readFileSync(tmpPackageJsonPath, 'utf8'));
52
+ const payload = JSON.stringify({ name: tmpPackageJson.name, version: tmpPackageJson.version }, null, 2);
53
+ fs.writeFileSync(dstJson, payload + "\n", 'utf8');
54
+ console.log(`Updated uns-library.json -> ${tmpPackageJson.version}`);
55
+ }
56
+ }
57
+ catch (error) {
58
+ console.error(chalk.red.bold(`exec error: ${error}`));
59
+ return;
60
+ }
61
+ try {
62
+ console.log(`Running update-rtt from tools`);
63
+ // Propagate any CLI args to update-rtt (e.g., --dry-run)
64
+ const args = process.argv.slice(2).join(" ");
65
+ // Run the TypeScript tool directly to avoid relying on a successful build
66
+ execSync(`tsx ./src/tools/update-rtt.ts ${args}`.trim(), { stdio: 'inherit' });
67
+ }
68
+ catch (error) {
69
+ console.error(chalk.red.bold(`exec error: ${error}`));
70
+ return;
71
+ }
72
+ }
73
73
  //# sourceMappingURL=update-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-tools.js","sourceRoot":"","sources":["../../src/tools/update-tools.ts"],"names":[],"mappings":"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","sourcesContent":["import { CleanOptions, SimpleGit, simpleGit } from \"simple-git\";\nimport { basePath } from \"./base-path.js\";\nimport readline from \"node:readline\";\nimport * as path from \"path\";\nimport chalk from \"chalk\";\nimport fs from \"fs-extra\";\nimport { execSync } from \"child_process\";\n\n\nconst rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout,\n});\n\nconst git: SimpleGit = simpleGit(\"./\").clean(CleanOptions.FORCE);\n\ntry {\n await main();\n rl.close();\n} catch (error) {\n console.log(chalk.red.bold(`\\n${error}`));\n rl.close();\n}\n\nasync function main() {\n const tmpRtt = path.join(basePath, \"/tmp-rtt\");\n try {\n console.log(`Pull template-ts-nodejs into tmp-rtt`);\n await git.clone(\"git@ssh.dev.azure.com:v3/sijit/industry40/template-uns-rtt\", tmpRtt);\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`)); \n return;\n }\n\n try {\n console.log(`Overwrite tools`);\n fs.copySync(path.join(tmpRtt, \"/src/tools\"), path.join(basePath, \"/src/tools\"), {overwrite: true});\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`)); \n return;\n }\n\n // Update library version JSON at repo root from template\n try {\n const srcJson = path.join(tmpRtt, 'uns-library.json');\n const dstJson = path.join(basePath, 'uns-library.json');\n if (fs.existsSync(srcJson)) {\n fs.copyFileSync(srcJson, dstJson);\n const ver = JSON.parse(fs.readFileSync(srcJson, 'utf8')).version;\n console.log(`Updated uns-library.json -> ${ver}`);\n } else {\n // Fallback for older templates: synthesize from package.json\n const tmpPackageJsonPath = path.join(tmpRtt, 'package.json');\n const tmpPackageJson = JSON.parse(fs.readFileSync(tmpPackageJsonPath, 'utf8'));\n const payload = JSON.stringify({ name: tmpPackageJson.name, version: tmpPackageJson.version }, null, 2);\n fs.writeFileSync(dstJson, payload + \"\\n\", 'utf8');\n console.log(`Updated uns-library.json -> ${tmpPackageJson.version}`);\n }\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`));\n return;\n }\n\n try {\n console.log(`Running update-rtt from tools`);\n // Propagate any CLI args to update-rtt (e.g., --dry-run)\n const args = process.argv.slice(2).join(\" \");\n // Run the TypeScript tool directly to avoid relying on a successful build\n execSync(`tsx ./src/tools/update-rtt.ts ${args}`.trim(), { stdio: 'inherit' });\n } catch (error) {\n console.error(chalk.red.bold(`exec error: ${error}`)); \n return; \n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"handover-manager-event-emitter.js","sourceRoot":"","sources":["../../src/uns/handover-manager-event-emitter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA2B;IAC9B,SAAS,GAEb,EAAE,CAAC;IAEP,EAAE,CACA,SAAY,EACZ,QAAoC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CACD,SAAY,EACZ,QAAoC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,CAAyB,SAAY,EAAE,KAAgB;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;CACF","sourcesContent":["export class HandoverManagerEventEmitter<Events extends Record<string, any>> {\r\n private listeners: {\r\n [K in keyof Events]?: Array<(event: Events[K]) => void>;\r\n } = {};\r\n\r\n on<K extends keyof Events>(\r\n eventName: K,\r\n listener: (event: Events[K]) => void,\r\n ): void {\r\n if (!this.listeners[eventName]) {\r\n this.listeners[eventName] = [];\r\n }\r\n this.listeners[eventName]!.push(listener);\r\n }\r\n\r\n off<K extends keyof Events>(\r\n eventName: K,\r\n listener: (event: Events[K]) => void,\r\n ): void {\r\n if (!this.listeners[eventName]) return;\r\n this.listeners[eventName] = this.listeners[eventName]!.filter(\r\n (l) => l !== listener,\r\n );\r\n }\r\n\r\n emit<K extends keyof Events>(eventName: K, event: Events[K]): void {\r\n if (!this.listeners[eventName]) return;\r\n this.listeners[eventName]!.forEach((listener) => listener(event));\r\n }\r\n}"]}
1
+ {"version":3,"file":"handover-manager-event-emitter.js","sourceRoot":"","sources":["../../src/uns/handover-manager-event-emitter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,2BAA2B;IAC9B,SAAS,GAEb,EAAE,CAAC;IAEP,EAAE,CACA,SAAY,EACZ,QAAoC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG,CACD,SAAY,EACZ,QAAoC;QAEpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC,MAAM,CAC3D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CACtB,CAAC;IACJ,CAAC;IAED,IAAI,CAAyB,SAAY,EAAE,KAAgB;QACzD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;CACF","sourcesContent":["export class HandoverManagerEventEmitter<Events extends Record<string, any>> {\n private listeners: {\n [K in keyof Events]?: Array<(event: Events[K]) => void>;\n } = {};\n\n on<K extends keyof Events>(\n eventName: K,\n listener: (event: Events[K]) => void,\n ): void {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName]!.push(listener);\n }\n\n off<K extends keyof Events>(\n eventName: K,\n listener: (event: Events[K]) => void,\n ): void {\n if (!this.listeners[eventName]) return;\n this.listeners[eventName] = this.listeners[eventName]!.filter(\n (l) => l !== listener,\n );\n }\n\n emit<K extends keyof Events>(eventName: K, event: Events[K]): void {\n if (!this.listeners[eventName]) return;\n this.listeners[eventName]!.forEach((listener) => listener(event));\n }\n}"]}