@cyberismo/data-handler 0.0.7 → 0.0.9

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 (265) hide show
  1. package/dist/command-handler.d.ts +11 -2
  2. package/dist/command-handler.js +61 -18
  3. package/dist/command-handler.js.map +1 -1
  4. package/dist/command-manager.js +8 -8
  5. package/dist/command-manager.js.map +1 -1
  6. package/dist/commands/calculate.d.ts +7 -44
  7. package/dist/commands/calculate.js +8 -389
  8. package/dist/commands/calculate.js.map +1 -1
  9. package/dist/commands/create.d.ts +7 -4
  10. package/dist/commands/create.js +42 -15
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/edit.d.ts +9 -3
  13. package/dist/commands/edit.js +33 -9
  14. package/dist/commands/edit.js.map +1 -1
  15. package/dist/commands/export.d.ts +13 -11
  16. package/dist/commands/export.js +80 -28
  17. package/dist/commands/export.js.map +1 -1
  18. package/dist/commands/import.d.ts +7 -0
  19. package/dist/commands/import.js +21 -2
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/move.d.ts +11 -12
  22. package/dist/commands/move.js +12 -13
  23. package/dist/commands/move.js.map +1 -1
  24. package/dist/commands/remove.d.ts +2 -4
  25. package/dist/commands/remove.js +8 -16
  26. package/dist/commands/remove.js.map +1 -1
  27. package/dist/commands/rename.d.ts +1 -3
  28. package/dist/commands/rename.js +3 -6
  29. package/dist/commands/rename.js.map +1 -1
  30. package/dist/commands/show.d.ts +37 -5
  31. package/dist/commands/show.js +85 -7
  32. package/dist/commands/show.js.map +1 -1
  33. package/dist/commands/transition.d.ts +1 -3
  34. package/dist/commands/transition.js +3 -5
  35. package/dist/commands/transition.js.map +1 -1
  36. package/dist/commands/update.d.ts +5 -1
  37. package/dist/commands/update.js +7 -1
  38. package/dist/commands/update.js.map +1 -1
  39. package/dist/commands/validate.d.ts +7 -8
  40. package/dist/commands/validate.js +30 -35
  41. package/dist/commands/validate.js.map +1 -1
  42. package/dist/containers/card-container.d.ts +6 -0
  43. package/dist/containers/card-container.js +61 -0
  44. package/dist/containers/card-container.js.map +1 -1
  45. package/dist/containers/project/calculation-engine.d.ts +90 -0
  46. package/dist/containers/project/calculation-engine.js +402 -0
  47. package/dist/containers/project/calculation-engine.js.map +1 -0
  48. package/dist/containers/project/resource-collector.d.ts +2 -1
  49. package/dist/containers/project/resource-collector.js +41 -33
  50. package/dist/containers/project/resource-collector.js.map +1 -1
  51. package/dist/containers/project.d.ts +18 -6
  52. package/dist/containers/project.js +37 -72
  53. package/dist/containers/project.js.map +1 -1
  54. package/dist/containers/template.d.ts +5 -0
  55. package/dist/containers/template.js +9 -0
  56. package/dist/containers/template.js.map +1 -1
  57. package/dist/exceptions/index.d.ts +20 -0
  58. package/dist/exceptions/index.js +16 -0
  59. package/dist/exceptions/index.js.map +1 -1
  60. package/dist/index.d.ts +5 -2
  61. package/dist/index.js +5 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/interfaces/macros.d.ts +7 -2
  64. package/dist/interfaces/project-interfaces.d.ts +21 -0
  65. package/dist/interfaces/project-interfaces.js +4 -0
  66. package/dist/interfaces/project-interfaces.js.map +1 -1
  67. package/dist/interfaces/resource-interfaces.d.ts +1 -1
  68. package/dist/interfaces/resource-interfaces.js.map +1 -1
  69. package/dist/macros/base-macro.d.ts +2 -0
  70. package/dist/macros/base-macro.js +66 -19
  71. package/dist/macros/base-macro.js.map +1 -1
  72. package/dist/macros/common.d.ts +16 -9
  73. package/dist/macros/common.js +22 -9
  74. package/dist/macros/common.js.map +1 -1
  75. package/dist/macros/createCards/index.d.ts +1 -2
  76. package/dist/macros/createCards/index.js.map +1 -1
  77. package/dist/macros/graph/index.d.ts +1 -3
  78. package/dist/macros/graph/index.js +11 -9
  79. package/dist/macros/graph/index.js.map +1 -1
  80. package/dist/macros/image/index.d.ts +39 -0
  81. package/dist/macros/image/index.js +78 -0
  82. package/dist/macros/image/index.js.map +1 -0
  83. package/dist/macros/image/metadata.d.ts +18 -0
  84. package/dist/macros/image/metadata.js +22 -0
  85. package/dist/macros/image/metadata.js.map +1 -0
  86. package/dist/macros/include/index.d.ts +32 -0
  87. package/dist/macros/include/index.js +97 -0
  88. package/dist/macros/include/index.js.map +1 -0
  89. package/dist/macros/include/metadata.d.ts +15 -0
  90. package/dist/macros/include/metadata.js +19 -0
  91. package/dist/macros/include/metadata.js.map +1 -0
  92. package/dist/macros/index.d.ts +39 -31
  93. package/dist/macros/index.js +167 -73
  94. package/dist/macros/index.js.map +1 -1
  95. package/dist/macros/percentage/index.d.ts +29 -0
  96. package/dist/macros/percentage/index.js +36 -0
  97. package/dist/macros/percentage/index.js.map +1 -0
  98. package/dist/macros/percentage/metadata.d.ts +15 -0
  99. package/dist/macros/percentage/metadata.js +19 -0
  100. package/dist/macros/percentage/metadata.js.map +1 -0
  101. package/dist/macros/report/index.d.ts +2 -5
  102. package/dist/macros/report/index.js +20 -12
  103. package/dist/macros/report/index.js.map +1 -1
  104. package/dist/macros/scoreCard/index.d.ts +15 -15
  105. package/dist/macros/scoreCard/index.js +16 -17
  106. package/dist/macros/scoreCard/index.js.map +1 -1
  107. package/dist/macros/vega/index.d.ts +28 -0
  108. package/dist/macros/vega/index.js +27 -0
  109. package/dist/macros/vega/index.js.map +1 -0
  110. package/dist/macros/vega/metadata.d.ts +15 -0
  111. package/dist/macros/vega/metadata.js +7 -0
  112. package/dist/macros/vega/metadata.js.map +1 -0
  113. package/dist/macros/vegalite/index.d.ts +27 -0
  114. package/dist/macros/vegalite/index.js +27 -0
  115. package/dist/macros/vegalite/index.js.map +1 -0
  116. package/dist/macros/vegalite/metadata.d.ts +15 -0
  117. package/dist/macros/vegalite/metadata.js +7 -0
  118. package/dist/macros/vegalite/metadata.js.map +1 -0
  119. package/dist/macros/xref/index.d.ts +26 -0
  120. package/dist/macros/xref/index.js +53 -0
  121. package/dist/macros/xref/index.js.map +1 -0
  122. package/dist/macros/xref/metadata.d.ts +15 -0
  123. package/dist/macros/xref/metadata.js +19 -0
  124. package/dist/macros/xref/metadata.js.map +1 -0
  125. package/dist/module-manager.d.ts +17 -4
  126. package/dist/module-manager.js +192 -58
  127. package/dist/module-manager.js.map +1 -1
  128. package/dist/permissions/action-guard.d.ts +2 -2
  129. package/dist/permissions/action-guard.js +1 -1
  130. package/dist/permissions/action-guard.js.map +1 -1
  131. package/dist/project-settings.js +2 -8
  132. package/dist/project-settings.js.map +1 -1
  133. package/dist/resources/card-type-resource.d.ts +2 -0
  134. package/dist/resources/card-type-resource.js +63 -0
  135. package/dist/resources/card-type-resource.js.map +1 -1
  136. package/dist/resources/file-resource.d.ts +2 -0
  137. package/dist/resources/file-resource.js +12 -4
  138. package/dist/resources/file-resource.js.map +1 -1
  139. package/dist/resources/folder-resource.d.ts +19 -0
  140. package/dist/resources/folder-resource.js +51 -2
  141. package/dist/resources/folder-resource.js.map +1 -1
  142. package/dist/resources/graph-model-resource.js +1 -1
  143. package/dist/resources/graph-model-resource.js.map +1 -1
  144. package/dist/resources/graph-view-resource.js +1 -1
  145. package/dist/resources/graph-view-resource.js.map +1 -1
  146. package/dist/resources/report-resource.js +1 -1
  147. package/dist/resources/report-resource.js.map +1 -1
  148. package/dist/resources/resource-object.d.ts +8 -0
  149. package/dist/resources/resource-object.js +9 -0
  150. package/dist/resources/resource-object.js.map +1 -1
  151. package/dist/resources/template-resource.js +1 -1
  152. package/dist/resources/template-resource.js.map +1 -1
  153. package/dist/resources/workflow-resource.d.ts +2 -0
  154. package/dist/resources/workflow-resource.js +53 -9
  155. package/dist/resources/workflow-resource.js.map +1 -1
  156. package/dist/svg/index.d.ts +15 -0
  157. package/dist/svg/index.js +16 -0
  158. package/dist/svg/index.js.map +1 -0
  159. package/dist/svg/lib.d.ts +9 -0
  160. package/dist/svg/lib.js +26 -0
  161. package/dist/svg/lib.js.map +1 -0
  162. package/dist/svg/percentage.d.ts +25 -0
  163. package/dist/svg/percentage.js +90 -0
  164. package/dist/svg/percentage.js.map +1 -0
  165. package/dist/svg/scoreCard.d.ts +19 -0
  166. package/dist/svg/scoreCard.js +55 -0
  167. package/dist/svg/scoreCard.js.map +1 -0
  168. package/dist/types/queries.d.ts +8 -7
  169. package/dist/types/queries.js.map +1 -1
  170. package/dist/utils/card-utils.d.ts +6 -0
  171. package/dist/utils/card-utils.js +12 -0
  172. package/dist/utils/card-utils.js.map +1 -1
  173. package/dist/utils/clingo-facts.d.ts +2 -1
  174. package/dist/utils/clingo-facts.js +19 -2
  175. package/dist/utils/clingo-facts.js.map +1 -1
  176. package/dist/utils/clingo-parser.d.ts +1 -0
  177. package/dist/utils/clingo-parser.js +22 -100
  178. package/dist/utils/clingo-parser.js.map +1 -1
  179. package/dist/utils/constants.d.ts +7 -0
  180. package/dist/utils/constants.js +14 -0
  181. package/dist/utils/constants.js.map +1 -1
  182. package/dist/utils/csv.js.map +1 -1
  183. package/dist/utils/report.d.ts +17 -3
  184. package/dist/utils/report.js +38 -2
  185. package/dist/utils/report.js.map +1 -1
  186. package/dist/utils/resource-utils.d.ts +1 -0
  187. package/dist/utils/resource-utils.js +9 -0
  188. package/dist/utils/resource-utils.js.map +1 -1
  189. package/dist/utils/user-preferences.d.ts +1 -11
  190. package/dist/utils/user-preferences.js +30 -13
  191. package/dist/utils/user-preferences.js.map +1 -1
  192. package/dist/utils/validate.d.ts +2 -3
  193. package/dist/utils/validate.js +2 -2
  194. package/dist/utils/validate.js.map +1 -1
  195. package/package.json +8 -6
  196. package/src/command-handler.ts +96 -17
  197. package/src/command-manager.ts +8 -8
  198. package/src/commands/calculate.ts +11 -525
  199. package/src/commands/create.ts +53 -16
  200. package/src/commands/edit.ts +53 -11
  201. package/src/commands/export.ts +108 -34
  202. package/src/commands/import.ts +31 -2
  203. package/src/commands/move.ts +12 -15
  204. package/src/commands/remove.ts +10 -19
  205. package/src/commands/rename.ts +3 -12
  206. package/src/commands/show.ts +121 -8
  207. package/src/commands/transition.ts +3 -7
  208. package/src/commands/update.ts +6 -0
  209. package/src/commands/validate.ts +39 -47
  210. package/src/containers/card-container.ts +74 -0
  211. package/src/containers/project/calculation-engine.ts +535 -0
  212. package/src/containers/project/resource-collector.ts +45 -26
  213. package/src/containers/project.ts +66 -84
  214. package/src/containers/template.ts +16 -0
  215. package/src/exceptions/index.ts +36 -0
  216. package/src/index.ts +13 -2
  217. package/src/interfaces/macros.ts +7 -1
  218. package/src/interfaces/project-interfaces.ts +27 -0
  219. package/src/interfaces/resource-interfaces.ts +1 -0
  220. package/src/macros/base-macro.ts +89 -25
  221. package/src/macros/common.ts +22 -9
  222. package/src/macros/createCards/index.ts +1 -2
  223. package/src/macros/graph/index.ts +17 -12
  224. package/src/macros/image/index.ts +121 -0
  225. package/src/macros/image/metadata.ts +25 -0
  226. package/src/macros/include/index.ts +147 -0
  227. package/src/macros/include/metadata.ts +22 -0
  228. package/src/macros/index.ts +179 -100
  229. package/src/macros/percentage/index.ts +54 -0
  230. package/src/macros/percentage/metadata.ts +22 -0
  231. package/src/macros/report/index.ts +22 -17
  232. package/src/macros/scoreCard/index.ts +23 -23
  233. package/src/macros/vega/index.ts +55 -0
  234. package/src/macros/vega/metadata.ts +21 -0
  235. package/src/macros/vegalite/index.ts +50 -0
  236. package/src/macros/vegalite/metadata.ts +21 -0
  237. package/src/macros/xref/index.ts +73 -0
  238. package/src/macros/xref/metadata.ts +22 -0
  239. package/src/module-manager.ts +241 -69
  240. package/src/permissions/action-guard.ts +3 -3
  241. package/src/project-settings.ts +2 -11
  242. package/src/resources/card-type-resource.ts +100 -0
  243. package/src/resources/file-resource.ts +16 -4
  244. package/src/resources/folder-resource.ts +59 -2
  245. package/src/resources/graph-model-resource.ts +1 -1
  246. package/src/resources/graph-view-resource.ts +1 -1
  247. package/src/resources/report-resource.ts +1 -1
  248. package/src/resources/resource-object.ts +14 -0
  249. package/src/resources/template-resource.ts +1 -1
  250. package/src/resources/workflow-resource.ts +68 -13
  251. package/src/svg/index.ts +15 -0
  252. package/src/svg/lib.ts +31 -0
  253. package/src/svg/percentage.ts +97 -0
  254. package/src/svg/scoreCard.ts +88 -0
  255. package/src/types/queries.ts +8 -7
  256. package/src/types/string-pixel-width.d.ts +23 -0
  257. package/src/utils/card-utils.ts +13 -0
  258. package/src/utils/clingo-facts.ts +65 -3
  259. package/src/utils/clingo-parser.ts +31 -144
  260. package/src/utils/constants.ts +16 -0
  261. package/src/utils/csv.ts +1 -1
  262. package/src/utils/report.ts +45 -4
  263. package/src/utils/resource-utils.ts +9 -0
  264. package/src/utils/user-preferences.ts +32 -14
  265. package/src/utils/validate.ts +3 -3
@@ -0,0 +1,15 @@
1
+ /**
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2025
4
+ This program is free software: you can redistribute it and/or modify it under
5
+ the terms of the GNU Affero General Public License version 3 as published by
6
+ the Free Software Foundation.
7
+ This program is distributed in the hope that it will be useful, but WITHOUT
8
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
+ FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
+ details. You should have received a copy of the GNU Affero General Public
11
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
+ */
13
+ import type { MacroMetadata } from '../../interfaces/macros.js';
14
+ declare const macroMetadata: MacroMetadata;
15
+ export default macroMetadata;
@@ -0,0 +1,19 @@
1
+ /**
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2025
4
+ This program is free software: you can redistribute it and/or modify it under
5
+ the terms of the GNU Affero General Public License version 3 as published by
6
+ the Free Software Foundation.
7
+ This program is distributed in the hope that it will be useful, but WITHOUT
8
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9
+ FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
10
+ details. You should have received a copy of the GNU Affero General Public
11
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
+ */
13
+ const macroMetadata = {
14
+ name: 'xref',
15
+ tagName: 'xref',
16
+ schema: 'xrefMacroSchema',
17
+ };
18
+ export default macroMetadata;
19
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/macros/xref/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAIF,MAAM,aAAa,GAAkB;IACnC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,iBAAiB;CAC1B,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -19,27 +19,33 @@ export declare class ModuleManager {
19
19
  private project;
20
20
  private modules;
21
21
  private tempModulesDir;
22
+ private defaultBranchCache;
22
23
  constructor(project: Project);
23
24
  private addFileContents;
25
+ private buildDependencyGraph;
26
+ private canBeRemoved;
24
27
  private clone;
25
28
  private collectModulePrefixes;
26
29
  private configuration;
30
+ private defaultBranch;
31
+ private dependencies;
32
+ private gitTimeout;
27
33
  private doCollectModulePrefix;
28
34
  private handleFileModule;
29
35
  private handleGitModule;
30
36
  private handleModule;
31
37
  private importFromFolder;
32
- private importFromTemp;
33
38
  private isFileModule;
34
39
  private isGitModule;
40
+ private orphanedModules;
35
41
  private prepare;
36
- private protocol;
37
42
  private remove;
38
- private removeModuleFiles;
39
- private removeProtocolFromLocation;
40
43
  private removeDuplicates;
44
+ private removeModuleFiles;
41
45
  private repositoryName;
42
46
  private setCloneOptions;
47
+ private stripProtocolFromLocation;
48
+ private transientDependencies;
43
49
  private update;
44
50
  private validatePrefix;
45
51
  /**
@@ -56,6 +62,13 @@ export declare class ModuleManager {
56
62
  * @returns module prefix as defined in its CardsConfig.json
57
63
  */
58
64
  importGitModule(source: string, options?: ModuleSettingOptions, credentials?: Credentials): Promise<string>;
65
+ /**
66
+ * Removed module from project.
67
+ * If module is not used by any other modules, then will remove the module from disk as well.
68
+ * Otherwise, only updates project configuration.
69
+ * @param moduleName Name of the module to remove
70
+ */
71
+ removeModule(moduleName: string): Promise<void>;
59
72
  /**
60
73
  * Imports module from a local file path or a git URL.
61
74
  * @param module Module to update. If not provided, updates all modules.
@@ -19,10 +19,7 @@ import { ProjectPaths } from './containers/project/project-paths.js';
19
19
  import { readJsonFile } from './utils/json.js';
20
20
  import { Validate } from './commands/index.js';
21
21
  const FILE_PROTOCOL = 'file:';
22
- // todo: add support for git's default branch.
23
- const MAIN_BRANCH = 'main';
24
- // timeout in milliseconds for git client (no stdout / stderr activity)
25
- const DEFAULT_TIMEOUT = 10000;
22
+ const HTTPS_PROTOCOL = 'https:';
26
23
  /**
27
24
  * Class that handles module updates and imports.
28
25
  */
@@ -30,6 +27,7 @@ export class ModuleManager {
30
27
  project;
31
28
  modules = [];
32
29
  tempModulesDir = '';
30
+ defaultBranchCache = new Map();
33
31
  constructor(project) {
34
32
  this.project = project;
35
33
  this.tempModulesDir = join(this.project.paths.tempFolder, 'modules');
@@ -41,6 +39,25 @@ export class ModuleManager {
41
39
  // Update the resources.
42
40
  await this.project.collectModuleResources();
43
41
  }
42
+ // Creates a map of what dependencies each module depend from.
43
+ async buildDependencyGraph(dependencies) {
44
+ const dependencyNames = dependencies.map((item) => item.name);
45
+ const dependencyGraph = new Map();
46
+ for (const dependency of dependencyNames) {
47
+ dependencyGraph.set(dependency, await this.transientDependencies(dependency));
48
+ }
49
+ return dependencyGraph;
50
+ }
51
+ // Returns 'true' if 'moduleName' can be removed.
52
+ canBeRemoved(dependencies, moduleName) {
53
+ let unused = true;
54
+ dependencies.forEach((transientDependencies, key) => {
55
+ if (key !== moduleName && transientDependencies.has(moduleName)) {
56
+ unused = false;
57
+ }
58
+ });
59
+ return unused;
60
+ }
44
61
  // Handles cloning of a repository.
45
62
  async clone(module, verbose = true, credentials) {
46
63
  if (!module.name || module.name === '') {
@@ -49,9 +66,12 @@ export class ModuleManager {
49
66
  const destinationPath = join(this.tempModulesDir, module.name);
50
67
  let remote = module.location;
51
68
  if (module.private) {
52
- if (credentials && credentials?.username && credentials?.token) {
69
+ if (credentials &&
70
+ credentials?.username &&
71
+ credentials?.token &&
72
+ module.location.startsWith(HTTPS_PROTOCOL)) {
53
73
  if (verbose) {
54
- console.log(`... Using credentials '${credentials?.username}' for cloning '${module.name}'`);
74
+ console.log(`... Using HTTPS with credentials '${credentials?.username}' for cloning '${module.name}'`);
55
75
  }
56
76
  try {
57
77
  const repoUrl = new URL(module.location);
@@ -65,19 +85,24 @@ export class ModuleManager {
65
85
  throw new Error(`Invalid repository URL: ${module.location}`);
66
86
  }
67
87
  }
68
- else {
88
+ else if (module.location.startsWith('git@')) {
69
89
  if (verbose) {
70
- console.log(`... Not using credentials for cloning '${module.name}'`);
90
+ console.log(`... Using SSH for cloning '${module.name}'`);
71
91
  }
72
92
  }
73
93
  }
94
+ else {
95
+ if (verbose) {
96
+ console.log(`... Using HTTPS without credentials for cloning '${module.name}'`);
97
+ }
98
+ }
74
99
  try {
75
100
  await mkdir(this.tempModulesDir, { recursive: true });
76
- const cloneOptions = this.setCloneOptions(module);
101
+ const cloneOptions = await this.setCloneOptions(module);
77
102
  await rm(destinationPath, { recursive: true, force: true });
78
103
  const git = simpleGit({
79
104
  timeout: {
80
- block: DEFAULT_TIMEOUT,
105
+ block: this.gitTimeout(),
81
106
  },
82
107
  });
83
108
  await git
@@ -89,7 +114,6 @@ export class ModuleManager {
89
114
  }
90
115
  }
91
116
  catch (error) {
92
- console.error(error);
93
117
  if (error instanceof Error)
94
118
  throw new Error(`Failed to clone module '${module.name}': ${error.message}`);
95
119
  }
@@ -114,6 +138,57 @@ export class ModuleManager {
114
138
  throw new Error(`Module not found from '${path}'`);
115
139
  }
116
140
  }
141
+ // Gets the default branch for a repository from remote or cache
142
+ async defaultBranch(module) {
143
+ if (this.defaultBranchCache.has(module.location)) {
144
+ return this.defaultBranchCache.get(module.location);
145
+ }
146
+ // Set the default branch if branch was not specified
147
+ if (!module.branch) {
148
+ const destinationPath = join(this.tempModulesDir, module.name);
149
+ // Only return path after cloning
150
+ if (pathExists(destinationPath)) {
151
+ const git = simpleGit({
152
+ timeout: {
153
+ block: this.gitTimeout(),
154
+ },
155
+ });
156
+ const options = ['--abbrev-ref', 'HEAD'];
157
+ const defaultBranch = await git.cwd(destinationPath).revparse(options);
158
+ this.defaultBranchCache.set(module.location, defaultBranch);
159
+ return defaultBranch;
160
+ }
161
+ }
162
+ // The actual default branch will be updated later (after cloning).
163
+ return '';
164
+ }
165
+ // Fetches direct dependencies of a module.
166
+ async dependencies(moduleName) {
167
+ const allModules = await this.project.modules();
168
+ if (!allModules)
169
+ return new Set();
170
+ const module = allModules.find((m) => m.name === moduleName);
171
+ if (!module) {
172
+ throw new Error(`Module '${moduleName}' not found`);
173
+ }
174
+ const modulePath = join(module.path, module.name, 'cardsConfig.json');
175
+ const moduleConfiguration = (await readJsonFile(modulePath));
176
+ return moduleConfiguration.modules
177
+ ? new Set(moduleConfiguration.modules.map((m) => m.name))
178
+ : new Set();
179
+ }
180
+ // Increase timeout for CI environments and add platform-specific adjustments
181
+ gitTimeout() {
182
+ const baseTimeout = 15000;
183
+ const isCI = process.env.CI;
184
+ const isWindows = process.platform === 'win32';
185
+ let timeout = baseTimeout;
186
+ if (isCI)
187
+ timeout *= 2; // Double timeout in CI
188
+ if (isWindows)
189
+ timeout *= 1.5; // 50% more time on Windows
190
+ return timeout;
191
+ }
117
192
  // Collects one module's dependency prefixes to 'this.modules'.
118
193
  // Note that there can be duplicate entries.
119
194
  async doCollectModulePrefix(module, credentials) {
@@ -133,15 +208,16 @@ export class ModuleManager {
133
208
  }
134
209
  // Updates one module that is read from local file system.
135
210
  async handleFileModule(module) {
136
- this.removeProtocolFromLocation(module);
211
+ this.stripProtocolFromLocation(module);
137
212
  await this.remove(module);
138
- await this.importFromFolder(module);
213
+ await this.importFromFolder(module.location, module.name);
139
214
  }
140
215
  // Updates one module that is received from Git.
141
216
  async handleGitModule(module) {
142
217
  await this.clone(module);
218
+ const tempLocation = join(this.tempModulesDir, module.name);
143
219
  await this.remove(module);
144
- await this.importFromTemp(module);
220
+ await this.importFromFolder(tempLocation, module.name);
145
221
  }
146
222
  // Updates one module.
147
223
  async handleModule(module) {
@@ -149,15 +225,10 @@ export class ModuleManager {
149
225
  ? this.handleGitModule(module)
150
226
  : this.handleFileModule(module);
151
227
  }
152
- // Handles importing a module from module settings 'location'
153
- async importFromFolder(module) {
154
- await this.importFileModule(module.location);
155
- console.log(`... Imported module '${module.name}' to '${this.project.configuration.name}'`);
156
- }
157
- // Handles importing a module from '.temp' folder
158
- async importFromTemp(module) {
159
- await this.importFileModule(join(this.tempModulesDir, module.name));
160
- console.log(`... Imported module '${module.name}' to '${this.project.configuration.name}'`);
228
+ // Imports from a given folder. Is used both for .temp/<module name> and file locations.
229
+ async importFromFolder(path, name) {
230
+ await this.importFileModule(path);
231
+ console.log(`... Imported module '${name}' to '${this.project.configuration.name}'`);
161
232
  }
162
233
  // Returns true if module is imported from file-system.
163
234
  isFileModule(module) {
@@ -169,7 +240,33 @@ export class ModuleManager {
169
240
  isGitModule(module) {
170
241
  if (!module.location)
171
242
  return false;
172
- return module.location.startsWith('https:');
243
+ return (module.location.startsWith('https:') || module.location.startsWith('git@'));
244
+ }
245
+ // Collect modules that could be removed from .cards/modules when
246
+ // 'moduleName' is removed.
247
+ async orphanedModules(dependencies, moduleName) {
248
+ const projectModules = this.project.configuration.modules;
249
+ const removableTransientModules = [];
250
+ if (dependencies.has(moduleName)) {
251
+ const deps = dependencies.get(moduleName);
252
+ for (const dependency of deps) {
253
+ const projectDependency = projectModules.some((item) => item.name === dependency);
254
+ if (projectDependency)
255
+ continue;
256
+ let orphanModule = true;
257
+ dependencies.forEach((transientDependencies, key) => {
258
+ if (key === moduleName)
259
+ return;
260
+ if (transientDependencies.has(dependency)) {
261
+ orphanModule = false;
262
+ }
263
+ });
264
+ if (orphanModule) {
265
+ removableTransientModules.push(dependency);
266
+ }
267
+ }
268
+ }
269
+ return removableTransientModules;
173
270
  }
174
271
  // Prepares '.temp/modules' for cloning
175
272
  async prepare() {
@@ -188,10 +285,6 @@ export class ModuleManager {
188
285
  throw new Error(`Failed to prepare temporary directory: ${error}`);
189
286
  }
190
287
  }
191
- // Returns whether to use git or file system for handling the module.
192
- protocol(module) {
193
- return this.isFileModule(module) ? 'file' : 'git';
194
- }
195
288
  // Handles removing an imported module.
196
289
  async remove(module) {
197
290
  try {
@@ -203,31 +296,15 @@ export class ModuleManager {
203
296
  console.error(`... New imported module '${module.name}', skipping remove`);
204
297
  }
205
298
  }
206
- // Remove module files.
207
- async removeModuleFiles(moduleName) {
208
- const module = await this.project.module(moduleName);
209
- if (!module) {
210
- throw new Error(`Module '${moduleName}' not found`);
211
- }
212
- await deleteDir(module.path);
213
- }
214
- // Updates module's 'location' not to have 'protocol:' in the beginning (only for "file:" needed).
215
- removeProtocolFromLocation(module) {
216
- const protocol = this.protocol(module);
217
- module.location = module.location.substring(protocol.length + 1, module.location.length);
218
- }
219
299
  // Checks for duplicate ModuleSetting entries and throws an error if modules
220
300
  // with the same name have different branches or locations.
221
- // Treats undefined branch, empty string branch, and "main" branch as equivalent.
301
+ // Treats undefined branch, empty string branch, and default branch as equivalent.
222
302
  // Returns an array with duplicate entries removed
223
- removeDuplicates(modules) {
303
+ async removeDuplicates(modules) {
224
304
  const moduleMap = new Map();
225
- // Assume that empty, or missing branch means 'main'
226
- const normalizeBranch = (branch) => {
227
- if (!branch || branch === '' || branch === MAIN_BRANCH) {
228
- return MAIN_BRANCH;
229
- }
230
- return branch;
305
+ // Normalize branch names by checking against the default branch for each module
306
+ const normalizeBranch = async (module) => {
307
+ return module.branch ? module.branch : await this.defaultBranch(module);
231
308
  };
232
309
  for (const module of modules) {
233
310
  const existingModule = moduleMap.get(module.name);
@@ -235,16 +312,16 @@ export class ModuleManager {
235
312
  if ((existingModule.private && !module.private) ||
236
313
  (!existingModule.private && module.private)) {
237
314
  throw new Error(`Module conflict: '${module.name}' has different access:\n` +
238
- ` - ${existingModule.private === true ? 'true' : 'false'}\n` +
239
- ` - ${module.private === true ? 'true' : 'false'}`);
315
+ ` - ${Boolean(existingModule.private)}\n` +
316
+ ` - ${Boolean(module.private)}`);
240
317
  }
241
318
  if (existingModule.location !== module.location) {
242
319
  throw new Error(`Module conflict: '${module.name}' has different locations:\n` +
243
320
  ` - ${existingModule.location}\n` +
244
321
  ` - ${module.location}`);
245
322
  }
246
- const existingBranch = normalizeBranch(existingModule.branch);
247
- const newBranch = normalizeBranch(module.branch);
323
+ const existingBranch = await normalizeBranch(existingModule);
324
+ const newBranch = await normalizeBranch(module);
248
325
  if (existingBranch !== newBranch) {
249
326
  throw new Error(`Module conflict: '${module.name}' has different branches:\n` +
250
327
  ` - ${existingModule.branch || 'undefined'}\n` +
@@ -257,22 +334,50 @@ export class ModuleManager {
257
334
  }
258
335
  return Array.from(moduleMap.values());
259
336
  }
337
+ // Remove module files.
338
+ async removeModuleFiles(moduleName) {
339
+ const module = await this.project.module(moduleName);
340
+ if (!module) {
341
+ throw new Error(`Module '${moduleName}' not found`);
342
+ }
343
+ await deleteDir(module.path);
344
+ }
260
345
  // Gets repository name from gitUrl
261
346
  repositoryName(gitUrl) {
262
347
  const last = gitUrl.lastIndexOf('/');
263
348
  const repoName = gitUrl.substring(last + 1, gitUrl.length - 4); //remove trailing ".git"
264
349
  return repoName;
265
350
  }
266
- // Sets cloning options.
267
- setCloneOptions(module) {
351
+ // Sets cloning options with support for default branch.
352
+ async setCloneOptions(module) {
268
353
  const cloneOptions = ['--depth', '1'];
354
+ const defaultBranch = await this.defaultBranch(module);
355
+ // Only specify branch if it's different from the default branch
269
356
  if (module.branch &&
270
357
  module.branch !== '' &&
271
- module.branch !== MAIN_BRANCH) {
358
+ module.branch !== defaultBranch) {
272
359
  cloneOptions.push('--branch', module.branch);
273
360
  }
274
361
  return cloneOptions;
275
362
  }
363
+ // Updates module's 'location' not to have 'protocol:' in the beginning (only for "file:" needed).
364
+ stripProtocolFromLocation(module) {
365
+ const protocol = this.isFileModule(module) ? 'file' : 'git';
366
+ module.location = module.location.substring(protocol.length + 1, module.location.length);
367
+ }
368
+ // Fetches all dependencies for a module.
369
+ async transientDependencies(moduleName) {
370
+ const dependencies = await this.dependencies(moduleName);
371
+ let transientDependencies = new Set(dependencies);
372
+ for (const dependency of dependencies) {
373
+ const depTransients = await this.transientDependencies(dependency);
374
+ transientDependencies = new Set([
375
+ ...transientDependencies,
376
+ ...depTransients,
377
+ ]);
378
+ }
379
+ return transientDependencies;
380
+ }
276
381
  // Updates modules in the project.
277
382
  async update(module, credentials) {
278
383
  // Prints dots every half second so that user knows that something is ongoing
@@ -283,7 +388,9 @@ export class ModuleManager {
283
388
  // Stops the above, and shows results
284
389
  function finished(interval, modules) {
285
390
  clearInterval(interval);
286
- console.log(`\n... Found modules: ${modules.join(', ')}`);
391
+ if (modules.length > 0) {
392
+ console.log(`\n... Found modules: ${modules.join(', ')}`);
393
+ }
287
394
  }
288
395
  await this.prepare();
289
396
  let modules = module ? [module] : this.project.configuration.modules;
@@ -295,7 +402,7 @@ export class ModuleManager {
295
402
  let uniqueModules = [];
296
403
  try {
297
404
  await this.collectModulePrefixes(modules, credentials);
298
- uniqueModules = this.removeDuplicates(this.modules);
405
+ uniqueModules = await this.removeDuplicates(this.modules);
299
406
  }
300
407
  finally {
301
408
  finished(dotInterval, uniqueModules.map((item) => item.name));
@@ -360,6 +467,33 @@ export class ModuleManager {
360
467
  await this.addFileContents(sourcePath, destinationPath);
361
468
  return modulePrefix;
362
469
  }
470
+ /**
471
+ * Removed module from project.
472
+ * If module is not used by any other modules, then will remove the module from disk as well.
473
+ * Otherwise, only updates project configuration.
474
+ * @param moduleName Name of the module to remove
475
+ */
476
+ async removeModule(moduleName) {
477
+ const projectModules = this.project.configuration.modules;
478
+ const dependencies = await this.buildDependencyGraph(projectModules);
479
+ const module = await this.project.module(moduleName);
480
+ if (!module) {
481
+ throw new Error(`Module '${moduleName}' not found`);
482
+ }
483
+ // Project module can always be removed from project configuration,
484
+ // but modules under .cards/modules must be checked not to be used by
485
+ // other modules.
486
+ if (this.canBeRemoved(dependencies, moduleName)) {
487
+ const orphans = await this.orphanedModules(dependencies, moduleName);
488
+ await deleteDir(module.path);
489
+ for (const moduleToDelete of orphans) {
490
+ const modulePath = join(this.project.paths.modulesFolder, moduleToDelete);
491
+ await deleteDir(modulePath);
492
+ }
493
+ await this.project.collectModuleResources();
494
+ }
495
+ await this.project.configuration.removeModule(moduleName);
496
+ }
363
497
  /**
364
498
  * Imports module from a local file path or a git URL.
365
499
  * @param module Module to update. If not provided, updates all modules.
@@ -1 +1 @@
1
- {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../src/module-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../src/module-manager.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  You should have received a copy of the GNU Affero General Public
10
10
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
11
  */
12
- import type { Calculate } from '../commands/index.js';
12
+ import type { CalculationEngine } from '../containers/project/calculation-engine.js';
13
13
  import type { DeniedOperationCollection } from '../types/queries.js';
14
14
  export type Action = keyof DeniedOperationCollection;
15
15
  /**
@@ -17,7 +17,7 @@ export type Action = keyof DeniedOperationCollection;
17
17
  */
18
18
  export declare class ActionGuard {
19
19
  private calculate;
20
- constructor(calculate: Calculate);
20
+ constructor(calculate: CalculationEngine);
21
21
  /**
22
22
  * Checks whether an action can be done
23
23
  * @param action Action that will be done
@@ -30,7 +30,7 @@ export class ActionGuard {
30
30
  */
31
31
  async checkPermission(action, cardKey, param) {
32
32
  await this.calculate.generate();
33
- const cards = await this.calculate.runQuery('card', {
33
+ const cards = await this.calculate.runQuery('card', 'localApp', {
34
34
  cardKey,
35
35
  });
36
36
  if (cards.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"action-guard.js","sourceRoot":"","sources":["../../src/permissions/action-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAOF,SAAS,cAAc,CAAqC,IAAc;IACxE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAE5C;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAC1B,MAAc,EACd,OAAe,EACf,KAAc;QAEd,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YAClD,OAAO;SACR,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,cAAc,CACnB,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAC1C,CACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,cAAc,CACnB,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CACrC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,wCAAwC,CAAC,CAAC;IAC7E,CAAC;CACF"}
1
+ {"version":3,"file":"action-guard.js","sourceRoot":"","sources":["../../src/permissions/action-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAOF,SAAS,cAAc,CAAqC,IAAc;IACxE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IACF;IAApB,YAAoB,SAA4B;QAA5B,cAAS,GAAT,SAAS,CAAmB;IAAG,CAAC;IAEpD;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAC1B,MAAc,EACd,OAAe,EACf,KAAc;QAEd,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE;YAC9D,OAAO;SACR,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,cAAc,CACnB,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,KAAK,CAC1C,CACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,cAAc,CACnB,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CACnC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,KAAK,CACrC,CACF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,wCAAwC,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -46,15 +46,9 @@ export class ProjectConfiguration {
46
46
  }
47
47
  // Sets configuration values from file.
48
48
  readSettings() {
49
- let settings;
50
- try {
51
- settings = readJsonFileSync(this.settingPath);
52
- }
53
- catch {
54
- throw new Error(`Invalid path '${this.settingPath}' to configuration file`);
55
- }
49
+ const settings = readJsonFileSync(this.settingPath);
56
50
  if (!settings) {
57
- throw new Error(`Invalid path '${this.settingPath}' to configuration file`);
51
+ throw new Error(`File at '${this.settingPath}' is not a valid JSON file`);
58
52
  }
59
53
  const valid = Object.prototype.hasOwnProperty.call(settings, 'cardKeyPrefix') &&
60
54
  Object.prototype.hasOwnProperty.call(settings, 'name');
@@ -1 +1 @@
1
- {"version":3,"file":"project-settings.js","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,aAAa,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAM/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,QAAQ,CAAuB;IAE9C,IAAI,CAAS;IACb,aAAa,CAAS;IACtB,OAAO,CAAkB;IACjB,WAAW,CAAS;IAE5B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,uCAAuC;IAChC,KAAK,CAAC,IAAI;QACf,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,uCAAuC;IAC/B,YAAY;QAClB,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAyB,CAAC;QACxE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,WAAW,yBAAyB,CAC3D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,WAAW,yBAAyB,CAC3D,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GACT,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;YAC5C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,qCAAqC;IAC7B,MAAM;QACZ,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS,CAAC,MAAqB;QAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;QAC9D,CAAC;QACD,+CAA+C;QAC/C,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,CAAC,QAAQ,GAAG,QAAQ,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,YAAY,CAAC,UAAkB;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,mBAAmB,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,uGAAuG,CAC5H,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"project-settings.js","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"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"}