@codenotch/codenotch.cli 1.0.33

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 (187) hide show
  1. package/.github/copilot-instructions.md +3 -0
  2. package/README.md +28 -0
  3. package/bin/cli.js +3 -0
  4. package/dist/bin/cli.d.ts +2 -0
  5. package/dist/bin/cli.js +6 -0
  6. package/dist/bin/cli.js.map +1 -0
  7. package/dist/commands/index.d.ts +2 -0
  8. package/dist/commands/index.js +15 -0
  9. package/dist/commands/index.js.map +1 -0
  10. package/dist/commands/project/compile.d.ts +2 -0
  11. package/dist/commands/project/compile.js +25 -0
  12. package/dist/commands/project/compile.js.map +1 -0
  13. package/dist/commands/project/deploy.d.ts +2 -0
  14. package/dist/commands/project/deploy.js +16 -0
  15. package/dist/commands/project/deploy.js.map +1 -0
  16. package/dist/commands/project/index.d.ts +2 -0
  17. package/dist/commands/project/index.js +29 -0
  18. package/dist/commands/project/index.js.map +1 -0
  19. package/dist/commands/project/inspect.d.ts +2 -0
  20. package/dist/commands/project/inspect.js +17 -0
  21. package/dist/commands/project/inspect.js.map +1 -0
  22. package/dist/commands/project/new.d.ts +2 -0
  23. package/dist/commands/project/new.js +13 -0
  24. package/dist/commands/project/new.js.map +1 -0
  25. package/dist/commands/project/open.d.ts +2 -0
  26. package/dist/commands/project/open.js +26 -0
  27. package/dist/commands/project/open.js.map +1 -0
  28. package/dist/commands/project/package.d.ts +2 -0
  29. package/dist/commands/project/package.js +25 -0
  30. package/dist/commands/project/package.js.map +1 -0
  31. package/dist/commands/project/refresh.d.ts +2 -0
  32. package/dist/commands/project/refresh.js +15 -0
  33. package/dist/commands/project/refresh.js.map +1 -0
  34. package/dist/commands/project/remove.d.ts +2 -0
  35. package/dist/commands/project/remove.js +17 -0
  36. package/dist/commands/project/remove.js.map +1 -0
  37. package/dist/commands/project/shared.d.ts +5 -0
  38. package/dist/commands/project/shared.js +6 -0
  39. package/dist/commands/project/shared.js.map +1 -0
  40. package/dist/commands/project/start.d.ts +2 -0
  41. package/dist/commands/project/start.js +28 -0
  42. package/dist/commands/project/start.js.map +1 -0
  43. package/dist/commands/project/test.d.ts +2 -0
  44. package/dist/commands/project/test.js +20 -0
  45. package/dist/commands/project/test.js.map +1 -0
  46. package/dist/commands/react/build.d.ts +2 -0
  47. package/dist/commands/react/build.js +17 -0
  48. package/dist/commands/react/build.js.map +1 -0
  49. package/dist/commands/react/index.d.ts +2 -0
  50. package/dist/commands/react/index.js +13 -0
  51. package/dist/commands/react/index.js.map +1 -0
  52. package/dist/commands/react/serve.d.ts +2 -0
  53. package/dist/commands/react/serve.js +18 -0
  54. package/dist/commands/react/serve.js.map +1 -0
  55. package/dist/commands/runtime/clear.d.ts +2 -0
  56. package/dist/commands/runtime/clear.js +16 -0
  57. package/dist/commands/runtime/clear.js.map +1 -0
  58. package/dist/commands/runtime/index.d.ts +2 -0
  59. package/dist/commands/runtime/index.js +24 -0
  60. package/dist/commands/runtime/index.js.map +1 -0
  61. package/dist/commands/runtime/info.d.ts +2 -0
  62. package/dist/commands/runtime/info.js +49 -0
  63. package/dist/commands/runtime/info.js.map +1 -0
  64. package/dist/commands/runtime/latest.d.ts +2 -0
  65. package/dist/commands/runtime/latest.js +24 -0
  66. package/dist/commands/runtime/latest.js.map +1 -0
  67. package/dist/commands/runtime/portal.d.ts +2 -0
  68. package/dist/commands/runtime/portal.js +24 -0
  69. package/dist/commands/runtime/portal.js.map +1 -0
  70. package/dist/commands/runtime/start.d.ts +2 -0
  71. package/dist/commands/runtime/start.js +21 -0
  72. package/dist/commands/runtime/start.js.map +1 -0
  73. package/dist/commands/runtime/stop.d.ts +2 -0
  74. package/dist/commands/runtime/stop.js +18 -0
  75. package/dist/commands/runtime/stop.js.map +1 -0
  76. package/dist/commands/runtime/update.d.ts +2 -0
  77. package/dist/commands/runtime/update.js +17 -0
  78. package/dist/commands/runtime/update.js.map +1 -0
  79. package/dist/commands/system/index.d.ts +2 -0
  80. package/dist/commands/system/index.js +11 -0
  81. package/dist/commands/system/index.js.map +1 -0
  82. package/dist/commands/system/info.d.ts +2 -0
  83. package/dist/commands/system/info.js +28 -0
  84. package/dist/commands/system/info.js.map +1 -0
  85. package/dist/commands/system/read.d.ts +2 -0
  86. package/dist/commands/system/read.js +28 -0
  87. package/dist/commands/system/read.js.map +1 -0
  88. package/dist/index.d.ts +2 -0
  89. package/dist/index.js +55 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/models/Codenotch.d.ts +237 -0
  92. package/dist/models/Codenotch.js +214 -0
  93. package/dist/models/Codenotch.js.map +1 -0
  94. package/dist/models/DbModels.d.ts +221 -0
  95. package/dist/models/DbModels.js +130 -0
  96. package/dist/models/DbModels.js.map +1 -0
  97. package/dist/models/OpenApiModels.d.ts +115 -0
  98. package/dist/models/OpenApiModels.js +103 -0
  99. package/dist/models/OpenApiModels.js.map +1 -0
  100. package/dist/utils/BuildUtils.d.ts +54 -0
  101. package/dist/utils/BuildUtils.js +631 -0
  102. package/dist/utils/BuildUtils.js.map +1 -0
  103. package/dist/utils/ConsoleUtils.d.ts +6 -0
  104. package/dist/utils/ConsoleUtils.js +24 -0
  105. package/dist/utils/ConsoleUtils.js.map +1 -0
  106. package/dist/utils/FileUtils.d.ts +14 -0
  107. package/dist/utils/FileUtils.js +218 -0
  108. package/dist/utils/FileUtils.js.map +1 -0
  109. package/dist/utils/GitHubAuthUtils.d.ts +11 -0
  110. package/dist/utils/GitHubAuthUtils.js +74 -0
  111. package/dist/utils/GitHubAuthUtils.js.map +1 -0
  112. package/dist/utils/I18nUtils.d.ts +9 -0
  113. package/dist/utils/I18nUtils.js +56 -0
  114. package/dist/utils/I18nUtils.js.map +1 -0
  115. package/dist/utils/OpenAPIUtils.d.ts +33 -0
  116. package/dist/utils/OpenAPIUtils.js +279 -0
  117. package/dist/utils/OpenAPIUtils.js.map +1 -0
  118. package/dist/utils/OsUtils.d.ts +8 -0
  119. package/dist/utils/OsUtils.js +33 -0
  120. package/dist/utils/OsUtils.js.map +1 -0
  121. package/dist/utils/ProjectCompilationUtils.d.ts +63 -0
  122. package/dist/utils/ProjectCompilationUtils.js +850 -0
  123. package/dist/utils/ProjectCompilationUtils.js.map +1 -0
  124. package/dist/utils/ProjectUtils.d.ts +15 -0
  125. package/dist/utils/ProjectUtils.js +115 -0
  126. package/dist/utils/ProjectUtils.js.map +1 -0
  127. package/dist/utils/RuntimeUtils.d.ts +45 -0
  128. package/dist/utils/RuntimeUtils.js +613 -0
  129. package/dist/utils/RuntimeUtils.js.map +1 -0
  130. package/dist/utils/ServeUtils.d.ts +10 -0
  131. package/dist/utils/ServeUtils.js +191 -0
  132. package/dist/utils/ServeUtils.js.map +1 -0
  133. package/dist/utils/ShellUtils.d.ts +3 -0
  134. package/dist/utils/ShellUtils.js +28 -0
  135. package/dist/utils/ShellUtils.js.map +1 -0
  136. package/dist/utils/StringUtils.d.ts +9 -0
  137. package/dist/utils/StringUtils.js +65 -0
  138. package/dist/utils/StringUtils.js.map +1 -0
  139. package/docs/ARCHITECTURE.md +179 -0
  140. package/docs/TODO.md +18 -0
  141. package/package.json +63 -0
  142. package/src/bin/cli.ts +4 -0
  143. package/src/commands/index.ts +13 -0
  144. package/src/commands/project/compile.ts +20 -0
  145. package/src/commands/project/deploy.ts +11 -0
  146. package/src/commands/project/index.ts +28 -0
  147. package/src/commands/project/inspect.ts +12 -0
  148. package/src/commands/project/new.ts +11 -0
  149. package/src/commands/project/open.ts +21 -0
  150. package/src/commands/project/package.ts +20 -0
  151. package/src/commands/project/refresh.ts +13 -0
  152. package/src/commands/project/remove.ts +12 -0
  153. package/src/commands/project/shared.ts +9 -0
  154. package/src/commands/project/start.ts +24 -0
  155. package/src/commands/project/test.ts +15 -0
  156. package/src/commands/react/build.ts +12 -0
  157. package/src/commands/react/index.ts +12 -0
  158. package/src/commands/react/serve.ts +13 -0
  159. package/src/commands/runtime/clear.ts +11 -0
  160. package/src/commands/runtime/index.ts +24 -0
  161. package/src/commands/runtime/info.ts +47 -0
  162. package/src/commands/runtime/latest.ts +18 -0
  163. package/src/commands/runtime/portal.ts +20 -0
  164. package/src/commands/runtime/start.ts +16 -0
  165. package/src/commands/runtime/stop.ts +13 -0
  166. package/src/commands/runtime/update.ts +12 -0
  167. package/src/commands/system/index.ts +9 -0
  168. package/src/commands/system/info.ts +23 -0
  169. package/src/commands/system/read.ts +25 -0
  170. package/src/index.ts +22 -0
  171. package/src/models/Codenotch.ts +361 -0
  172. package/src/models/DbModels.ts +428 -0
  173. package/src/models/OpenApiModels.ts +145 -0
  174. package/src/utils/BuildUtils.ts +739 -0
  175. package/src/utils/ConsoleUtils.ts +22 -0
  176. package/src/utils/FileUtils.ts +266 -0
  177. package/src/utils/GitHubAuthUtils.ts +83 -0
  178. package/src/utils/I18nUtils.ts +58 -0
  179. package/src/utils/OpenAPIUtils.ts +285 -0
  180. package/src/utils/OsUtils.ts +32 -0
  181. package/src/utils/ProjectCompilationUtils.ts +1002 -0
  182. package/src/utils/ProjectUtils.ts +151 -0
  183. package/src/utils/RuntimeUtils.ts +743 -0
  184. package/src/utils/ServeUtils.ts +175 -0
  185. package/src/utils/ShellUtils.ts +26 -0
  186. package/src/utils/StringUtils.ts +80 -0
  187. package/tsconfig.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export default abstract class ConsoleUtils {
2
+ static check(text: string): void;
3
+ static checkWarning(text: string): void;
4
+ static proposeCommand(question: string, command: string): string;
5
+ static proposeOpenUri(question: string, uri: string): string;
6
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chalk_1 = __importDefault(require("chalk"));
7
+ class ConsoleUtils {
8
+ static check(text) {
9
+ console.log(`${chalk_1.default.green('✓')} ${text}`);
10
+ }
11
+ static checkWarning(text) {
12
+ console.log(`${chalk_1.default.yellow('✓')} ${text}`);
13
+ }
14
+ static proposeCommand(question, command) {
15
+ let data = JSON.stringify({ question, command });
16
+ return `\u001b_Gcodenotchcli:proposeCommand:${data}\u001b\\`;
17
+ }
18
+ static proposeOpenUri(question, uri) {
19
+ let data = JSON.stringify({ question, uri });
20
+ return `\u001b_Gcodenotchcli:proposeOpenUri:${data}\u001b\\`;
21
+ }
22
+ }
23
+ exports.default = ConsoleUtils;
24
+ //# sourceMappingURL=ConsoleUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsoleUtils.js","sourceRoot":"","sources":["../../src/utils/ConsoleUtils.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,MAA8B,YAAY;IACtC,MAAM,CAAC,KAAK,CAAC,IAAY;QACrB,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,IAAY;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAID,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,OAAe;QACnD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAC,CAAC,CAAC;QAC/C,OAAO,uCAAuC,IAAI,UAAU,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAgB,EAAE,GAAW;QAC/C,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAC,QAAQ,EAAE,GAAG,EAAC,CAAC,CAAC;QAC3C,OAAO,uCAAuC,IAAI,UAAU,CAAC;IACjE,CAAC;CACJ;AAnBD,+BAmBC"}
@@ -0,0 +1,14 @@
1
+ export default abstract class FileUtils {
2
+ static zipFolder(targetPath: string, zipFilePath: string): Promise<boolean>;
3
+ static slash(): "/" | "\\";
4
+ static normalize(path?: string): string;
5
+ static exists(filePath: string): Promise<boolean>;
6
+ static readFileAsync(filePath: string): Promise<string>;
7
+ static readJsonFileAsync<T>(filePath: string): Promise<T | null>;
8
+ static writeFileSync(filePath: string, content: string): boolean;
9
+ static copyFolder(folderPath: string, copyInto: string, ignoreFolders?: string[]): Promise<void>;
10
+ static moveFolder(folderPath: string, moveInto: string, ignoreFolders?: string[]): Promise<void>;
11
+ static delete(path: string): void;
12
+ static getAllFilesFromPath(path: string, ignoreFolders?: string[]): string[];
13
+ private static getAllFiles;
14
+ }
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = __importDefault(require("fs"));
7
+ const StringUtils_1 = __importDefault(require("./StringUtils"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const fs_extra_1 = __importDefault(require("fs-extra"));
10
+ const os_1 = require("os");
11
+ const adm_zip_1 = __importDefault(require("adm-zip"));
12
+ class FileUtils {
13
+ static async zipFolder(targetPath, zipFilePath) {
14
+ try {
15
+ targetPath = FileUtils.normalize(targetPath);
16
+ zipFilePath = FileUtils.normalize(zipFilePath);
17
+ // Ensure the directory for the zip file exists
18
+ const zipDir = path_1.default.dirname(zipFilePath);
19
+ if (!fs_1.default.existsSync(zipDir)) {
20
+ fs_1.default.mkdirSync(zipDir, { recursive: true });
21
+ }
22
+ const zip = new adm_zip_1.default();
23
+ const stats = fs_1.default.lstatSync(targetPath);
24
+ if (stats.isDirectory()) {
25
+ zip.addLocalFolder(targetPath, '');
26
+ }
27
+ else {
28
+ zip.addLocalFile(targetPath);
29
+ }
30
+ zip.writeZip(zipFilePath);
31
+ return true;
32
+ }
33
+ catch (e) {
34
+ console.error(`Error zipping folder "${targetPath}":`, e);
35
+ return false;
36
+ }
37
+ }
38
+ static slash() {
39
+ return (0, os_1.platform)() === 'win32' ? '\\' : '/';
40
+ }
41
+ static normalize(path) {
42
+ if (path === undefined)
43
+ return '';
44
+ if (path.startsWith("http")) {
45
+ return path.replaceAll('\\', '/');
46
+ }
47
+ let os = (0, os_1.platform)();
48
+ if (os === 'win32') {
49
+ path = path.replaceAll("/", '\\');
50
+ }
51
+ else {
52
+ path = path.replaceAll('\\', '/');
53
+ }
54
+ return path;
55
+ }
56
+ static async exists(filePath) {
57
+ filePath = FileUtils.normalize(filePath);
58
+ try {
59
+ await fs_1.default.promises.access(filePath, fs_1.default.constants.F_OK);
60
+ return true;
61
+ }
62
+ catch (e) {
63
+ return false;
64
+ }
65
+ }
66
+ static async readFileAsync(filePath) {
67
+ filePath = FileUtils.normalize(filePath);
68
+ return await fs_1.default.promises.readFile(filePath, { encoding: "utf-8" });
69
+ }
70
+ static async readJsonFileAsync(filePath) {
71
+ filePath = FileUtils.normalize(filePath);
72
+ const content = await fs_1.default.promises.readFile(filePath, { encoding: "utf-8" });
73
+ if (!content || content.trim() === '') {
74
+ return null;
75
+ }
76
+ return JSON.parse(content);
77
+ }
78
+ static writeFileSync(filePath, content) {
79
+ try {
80
+ filePath = StringUtils_1.default.normalizePath(filePath);
81
+ let folder = path_1.default.dirname(filePath);
82
+ if (!fs_1.default.existsSync(folder)) {
83
+ fs_1.default.mkdirSync(folder, { recursive: true });
84
+ }
85
+ fs_1.default.writeFileSync(filePath, content, { encoding: "utf-8" });
86
+ return true;
87
+ }
88
+ catch (e) {
89
+ console.error(`Error writing file "${filePath}":`, e);
90
+ return false;
91
+ }
92
+ }
93
+ static async copyFolder(folderPath, copyInto, ignoreFolders = []) {
94
+ folderPath = FileUtils.normalize(folderPath);
95
+ copyInto = FileUtils.normalize(copyInto);
96
+ if (fs_extra_1.default === undefined || path_1.default === undefined) {
97
+ return;
98
+ }
99
+ if (!fs_extra_1.default.existsSync(copyInto)) {
100
+ // Create destination folder
101
+ fs_extra_1.default.mkdirSync(copyInto, { recursive: true });
102
+ }
103
+ let options = {
104
+ recursive: true,
105
+ overwrite: true,
106
+ filter: (path) => !ignoreFolders.some(folder => path.includes(folder)) // ignore specified folders
107
+ };
108
+ // if destination is a subdirectory of the copies folder we need to handle things differently
109
+ if (copyInto.includes(folderPath)) {
110
+ let destFolderName = path_1.default.basename(copyInto);
111
+ // We cannot use copy directly on the root folder because it won't work "to" is a subdirectory of the root folder
112
+ let files = await fs_extra_1.default.readdir(folderPath);
113
+ for (let f of files) {
114
+ // Ignore destination if it is a subdirectory
115
+ if (f === destFolderName)
116
+ continue;
117
+ // Or if it belongs to the ignored files/folders
118
+ if (ignoreFolders.some(folder => f === folder)) // ignore specified folders
119
+ continue;
120
+ let from = path_1.default.join(folderPath, f);
121
+ let to = path_1.default.join(copyInto, f);
122
+ await fs_extra_1.default.copy(from, to, options);
123
+ }
124
+ }
125
+ else {
126
+ await fs_extra_1.default.copy(folderPath, copyInto, options);
127
+ }
128
+ }
129
+ static async moveFolder(folderPath, moveInto, ignoreFolders = []) {
130
+ folderPath = FileUtils.normalize(folderPath);
131
+ moveInto = FileUtils.normalize(moveInto);
132
+ if (fs_extra_1.default === undefined || path_1.default === undefined) {
133
+ return;
134
+ }
135
+ if (!fs_extra_1.default.existsSync(moveInto)) {
136
+ // Create destination folder
137
+ fs_extra_1.default.mkdirSync(moveInto, { recursive: true });
138
+ }
139
+ let options = {
140
+ overwrite: true
141
+ };
142
+ // if destination is a subdirectory of the copies folder we need to handle things differently
143
+ if (moveInto.includes(folderPath)) {
144
+ let destFolderName = path_1.default.basename(moveInto);
145
+ // We cannot use copy directly on the root folder because it won't work "to" is a subdirectory of the root folder
146
+ let files = await fs_extra_1.default.readdir(folderPath);
147
+ for (let f of files) {
148
+ // Ignore destination if it is a subdirectory
149
+ if (f === destFolderName)
150
+ continue;
151
+ // Or if it belongs to the ignored files/folders
152
+ if (ignoreFolders.some(folder => f === folder)) // ignore specified folders
153
+ continue;
154
+ let from = path_1.default.join(folderPath, f);
155
+ let to = path_1.default.join(moveInto, f);
156
+ await fs_extra_1.default.move(from, to, options);
157
+ }
158
+ }
159
+ else {
160
+ await fs_extra_1.default.move(folderPath, moveInto, options);
161
+ }
162
+ }
163
+ static delete(path) {
164
+ path = StringUtils_1.default.normalizePath(path);
165
+ if (fs_1.default.existsSync(path)) {
166
+ if (fs_1.default.lstatSync(path).isDirectory()) {
167
+ fs_1.default.rmSync(path, { recursive: true, force: true });
168
+ }
169
+ else {
170
+ fs_1.default.unlinkSync(path);
171
+ }
172
+ }
173
+ }
174
+ static getAllFilesFromPath(path, ignoreFolders = []) {
175
+ try {
176
+ path = StringUtils_1.default.normalizePath(path);
177
+ let isDirectory = fs_1.default.lstatSync(path).isDirectory();
178
+ if (isDirectory) {
179
+ if (ignoreFolders && ignoreFolders.some(c => path.endsWith(`\\${c}`) || path.endsWith(`/${c}`))) {
180
+ return [];
181
+ }
182
+ return this.getAllFiles(path, ignoreFolders);
183
+ }
184
+ else {
185
+ return [path];
186
+ }
187
+ }
188
+ catch {
189
+ return [];
190
+ }
191
+ }
192
+ static getAllFiles(path, ignoreFolders = [], arrayOfFiles, level) {
193
+ path = StringUtils_1.default.normalizePath(path);
194
+ if (ignoreFolders.some(c => path.endsWith(`\\${c}`) || path.endsWith(`/${c}`))) {
195
+ return [];
196
+ }
197
+ let files = fs_1.default.readdirSync(path, { withFileTypes: true });
198
+ arrayOfFiles = arrayOfFiles ? arrayOfFiles : [];
199
+ for (let i = 0; i < files.length; i++) {
200
+ let file = files[i];
201
+ let nextPath = StringUtils_1.default.normalizePath(`${path}\\${file.name}`);
202
+ if (file.isDirectory()) {
203
+ if (ignoreFolders.some(c => nextPath.endsWith(`\\${c}`) || nextPath.endsWith(`/${c}`))) {
204
+ continue;
205
+ }
206
+ else {
207
+ arrayOfFiles = this.getAllFiles(nextPath, ignoreFolders, arrayOfFiles, (level ?? 0) + 1);
208
+ }
209
+ }
210
+ else {
211
+ arrayOfFiles.push(nextPath);
212
+ }
213
+ }
214
+ return arrayOfFiles;
215
+ }
216
+ }
217
+ exports.default = FileUtils;
218
+ //# sourceMappingURL=FileUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUtils.js","sourceRoot":"","sources":["../../src/utils/FileUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Handles GitHub authentication for the CLI.
3
+ */
4
+ export default abstract class GitHubAuthUtils {
5
+ /**
6
+ * Returns a valid GitHub token, prompting the user interactively if needed.
7
+ * @param forceReauth When true, skip cache and always prompt again.
8
+ */
9
+ static getToken(forceReauth?: boolean): Promise<string>;
10
+ logout(): Promise<void>;
11
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const auth_oauth_device_1 = require("@octokit/auth-oauth-device");
4
+ const OsUtils_1 = require("./OsUtils");
5
+ const cross_keychain_1 = require("cross-keychain");
6
+ const SERVICE_NAME = "codenotch-cli";
7
+ const ACCOUNT_NAME = "github-oauth-token";
8
+ /**
9
+ * Handles GitHub authentication for the CLI.
10
+ */
11
+ class GitHubAuthUtils {
12
+ /**
13
+ * Returns a valid GitHub token, prompting the user interactively if needed.
14
+ * @param forceReauth When true, skip cache and always prompt again.
15
+ */
16
+ static async getToken(forceReauth = false) {
17
+ // Use PAT if provided via environment variable (e.g. for CI or advanced users)
18
+ if (process.env.GITHUB_TOKEN) {
19
+ return process.env.GITHUB_TOKEN;
20
+ }
21
+ // Try to get token from cache (keychain)
22
+ try {
23
+ const cachedToken = await (0, cross_keychain_1.getPassword)(SERVICE_NAME, ACCOUNT_NAME);
24
+ if (cachedToken) {
25
+ // Do a quick fetch to GitHub to ensure the token hasn't been revoked
26
+ const response = await fetch("https://api.github.com/user", {
27
+ headers: {
28
+ Authorization: `Bearer ${cachedToken}`
29
+ },
30
+ });
31
+ if (response.ok) {
32
+ return cachedToken;
33
+ }
34
+ // Token is invalid/revoked — delete it and fall through to re-auth
35
+ await (0, cross_keychain_1.deletePassword)(SERVICE_NAME, ACCOUNT_NAME).catch(() => { });
36
+ }
37
+ }
38
+ catch (err) {
39
+ // If keychain reading fails, silently fall back to running the login flow
40
+ }
41
+ const auth = (0, auth_oauth_device_1.createOAuthDeviceAuth)({
42
+ clientType: "oauth-app",
43
+ clientId: "Ov23liEBS0dxtgGbq4K9",
44
+ scopes: ["repo"],
45
+ onVerification(verification) {
46
+ console.log("Open your browser at:");
47
+ console.log(verification.verification_uri);
48
+ OsUtils_1.OsUtils.openInBrowser(verification.verification_uri);
49
+ console.log(`\nEnter code: ${verification.user_code}`);
50
+ },
51
+ });
52
+ const tokenAuthentication = await auth({ type: "oauth" });
53
+ const token = tokenAuthentication.token;
54
+ try {
55
+ await (0, cross_keychain_1.setPassword)(SERVICE_NAME, ACCOUNT_NAME, token);
56
+ console.log("Login successful! Session saved securely.");
57
+ }
58
+ catch (err) {
59
+ console.error("Warning: Could not save token to system keychain.", err.message);
60
+ }
61
+ return token;
62
+ }
63
+ async logout() {
64
+ try {
65
+ await (0, cross_keychain_1.deletePassword)(SERVICE_NAME, ACCOUNT_NAME);
66
+ console.log("Logged out successfully. Secure token deleted.");
67
+ }
68
+ catch (err) {
69
+ console.error("Failed to clear local token:", err.message);
70
+ }
71
+ }
72
+ }
73
+ exports.default = GitHubAuthUtils;
74
+ //# sourceMappingURL=GitHubAuthUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubAuthUtils.js","sourceRoot":"","sources":["../../src/utils/GitHubAuthUtils.ts"],"names":[],"mappings":";;AAKA,kEAAmE;AACnE,uCAAoC;AACpC,mDAA0E;AAE1E,MAAM,YAAY,GAAG,eAAe,CAAC;AACrC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAE1C;;GAEG;AACH,MAA8B,eAAe;IAEzC;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,GAAG,KAAK;QAErC,+EAA+E;QAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,IAAA,4BAAW,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,WAAW,EAAE,CAAC;gBACd,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,6BAA6B,EAAE;oBACxD,OAAO,EAAE;wBACL,aAAa,EAAE,UAAU,WAAW,EAAE;qBACzC;iBACJ,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACd,OAAO,WAAW,CAAC;gBACvB,CAAC;gBACD,mEAAmE;gBACnE,MAAM,IAAA,+BAAc,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrE,CAAC;QACL,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,0EAA0E;QAC9E,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,yCAAqB,EAAC;YAC/B,UAAU,EAAE,WAAW;YACvB,QAAQ,EAAE,sBAAsB;YAChC,MAAM,EAAE,CAAC,MAAM,CAAC;YAChB,cAAc,CAAC,YAAY;gBAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC3C,iBAAO,CAAC,aAAa,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,iBAAiB,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;YACvD,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC;QAExC,IAAI,CAAC;YACD,MAAM,IAAA,4BAAW,EAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAC;YACD,MAAM,IAAA,+BAAc,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;CACJ;AAnED,kCAmEC"}
@@ -0,0 +1,9 @@
1
+ export default abstract class I18nUtils {
2
+ static getAllI18nFiles(folderPath: string): Promise<{
3
+ key: string;
4
+ values: {
5
+ lang: string;
6
+ value: string;
7
+ }[];
8
+ }[]>;
9
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_1 = require("fs");
7
+ const FileUtils_1 = __importDefault(require("./FileUtils"));
8
+ const papaparse_1 = __importDefault(require("papaparse"));
9
+ class I18nUtils {
10
+ static async getAllI18nFiles(folderPath) {
11
+ let files = FileUtils_1.default.getAllFilesFromPath(folderPath, ['.codenotch', 'node_modules', 'dist', 'build']).filter(c => c.endsWith('.i18n.csv'));
12
+ let allLines = [];
13
+ for (let file of files) {
14
+ // parse
15
+ let config = { header: true };
16
+ let content = (0, fs_1.readFileSync)(file, { encoding: "utf-8" });
17
+ let lines = papaparse_1.default.parse(content, config).data;
18
+ if (lines.length === 0)
19
+ continue;
20
+ // Ignore import line
21
+ lines = lines.slice(1);
22
+ for (let line of lines) {
23
+ let masterLine = allLines.find(c => c.key === line.key);
24
+ if (masterLine === undefined) {
25
+ masterLine = {
26
+ key: line.key,
27
+ values: []
28
+ };
29
+ allLines.push(masterLine);
30
+ }
31
+ let langs = Object.keys(line).filter(c => c !== 'key');
32
+ for (let lang of langs) {
33
+ let value = line[lang];
34
+ if (typeof value === 'string' && value.trim() !== '') {
35
+ if (masterLine.values.find(c => c.lang === lang) === undefined) {
36
+ masterLine.values.push({
37
+ lang,
38
+ value
39
+ });
40
+ }
41
+ else {
42
+ // Duplicate value for language 'lang'
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+ for (let line of allLines) {
49
+ line.values = line.values.sort((a, b) => a.lang.localeCompare(b.lang));
50
+ }
51
+ allLines = allLines.sort((a, b) => a.key.localeCompare(b.key));
52
+ return allLines;
53
+ }
54
+ }
55
+ exports.default = I18nUtils;
56
+ //# sourceMappingURL=I18nUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"I18nUtils.js","sourceRoot":"","sources":["../../src/utils/I18nUtils.ts"],"names":[],"mappings":";;;;;AAAA,2BAAkC;AAClC,4DAAoC;AACpC,0DAA6B;AAE7B,MAA8B,SAAS;IAG5B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,UAAkB;QAClD,IAAI,KAAK,GAAG,mBAAS,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5I,IAAI,QAAQ,GAAiE,EAAE,CAAC;QAChF,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAErB,QAAQ;YACR,IAAI,MAAM,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC9B,IAAI,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACxD,IAAI,KAAK,GAAG,mBAAI,CAAC,KAAK,CAA6B,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC;YACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClB,SAAS;YAEb,qBAAqB;YACrB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEvB,KAAI,IAAI,IAAI,IAAI,KAAK,EAAC,CAAC;gBACnB,IAAI,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxD,IAAG,UAAU,KAAK,SAAS,EAAC,CAAC;oBACzB,UAAU,GAAG;wBACT,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,MAAM,EAAE,EAAE;qBACb,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,CAAC;gBAED,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBACvD,KAAI,IAAI,IAAI,IAAI,KAAK,EAAC,CAAC;oBACnB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAC,CAAC;wBACjD,IAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,SAAS,EAAC,CAAC;4BAC3D,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;gCACnB,IAAI;gCACJ,KAAK;6BACR,CAAC,CAAC;wBACP,CAAC;6BACG,CAAC;4BACD,sCAAsC;wBAC1C,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QACD,KAAI,IAAI,IAAI,IAAI,QAAQ,EAAC,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC;IACpB,CAAC;CAGJ;AArDD,4BAqDC"}
@@ -0,0 +1,33 @@
1
+ import OpenAPISpec, { APIParameter, SchemaType } from "../models/OpenApiModels";
2
+ import { CompilationContext } from "./ProjectCompilationUtils";
3
+ import { IVariable } from "@codenotch/codenotch.core";
4
+ import { IProcess, IWorkflowItem } from "@codenotch/codenotch.core.workflow";
5
+ export declare abstract class OpenApiUtils {
6
+ static generateOpenApi(context: CompilationContext): Promise<OpenAPISpec | undefined>;
7
+ /**
8
+ * Convert codevariable object to openapi json standard
9
+ * @param codevariable Code variable object
10
+ * @returns the converted object
11
+ */
12
+ static CodeVariableToOpenAPISchema(codevariable: IVariable): SchemaType;
13
+ /**
14
+ * Return parameters from codevariables
15
+ * @param codevariable the codevariable source
16
+ * @param intype
17
+ * @param required
18
+ * @returns
19
+ */
20
+ static CodevariableToParameters(codevariable: IVariable, intype: string, required: boolean): APIParameter[];
21
+ /**
22
+ * Browse the graph recursivly to find api error or api end event
23
+ * @param item the start node
24
+ * @param model the entire bpmn model
25
+ * @returns the list of node to convert into openapi
26
+ */
27
+ static BrowseResponses(item: IWorkflowItem, model: IProcess): IWorkflowItem[] | null;
28
+ /**
29
+ * Add bpmn model into open api spec
30
+ * @param model Bpmn definition model
31
+ */
32
+ static AddBPMN(spec: OpenAPISpec, model: IProcess): boolean;
33
+ }