@cyberismo/data-handler 0.0.15 → 0.0.17

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 (191) hide show
  1. package/dist/card-metadata-updater.js +7 -1
  2. package/dist/card-metadata-updater.js.map +1 -1
  3. package/dist/command-handler.d.ts +4 -0
  4. package/dist/command-handler.js +22 -8
  5. package/dist/command-handler.js.map +1 -1
  6. package/dist/command-manager.d.ts +24 -1
  7. package/dist/command-manager.js +31 -7
  8. package/dist/command-manager.js.map +1 -1
  9. package/dist/commands/create.d.ts +1 -1
  10. package/dist/commands/create.js +34 -36
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/export.d.ts +11 -2
  13. package/dist/commands/export.js +54 -41
  14. package/dist/commands/export.js.map +1 -1
  15. package/dist/commands/fetch.d.ts +8 -0
  16. package/dist/commands/fetch.js +101 -23
  17. package/dist/commands/fetch.js.map +1 -1
  18. package/dist/commands/import.d.ts +14 -3
  19. package/dist/commands/import.js +27 -10
  20. package/dist/commands/import.js.map +1 -1
  21. package/dist/commands/move.js +0 -1
  22. package/dist/commands/move.js.map +1 -1
  23. package/dist/commands/remove.d.ts +11 -2
  24. package/dist/commands/remove.js +15 -5
  25. package/dist/commands/remove.js.map +1 -1
  26. package/dist/commands/rename.d.ts +4 -9
  27. package/dist/commands/rename.js +37 -101
  28. package/dist/commands/rename.js.map +1 -1
  29. package/dist/commands/show.d.ts +20 -12
  30. package/dist/commands/show.js +79 -57
  31. package/dist/commands/show.js.map +1 -1
  32. package/dist/commands/transition.d.ts +9 -2
  33. package/dist/commands/transition.js +25 -17
  34. package/dist/commands/transition.js.map +1 -1
  35. package/dist/commands/update.d.ts +16 -12
  36. package/dist/commands/update.js +19 -17
  37. package/dist/commands/update.js.map +1 -1
  38. package/dist/commands/validate.d.ts +17 -9
  39. package/dist/commands/validate.js +94 -35
  40. package/dist/commands/validate.js.map +1 -1
  41. package/dist/containers/card-container.d.ts +7 -5
  42. package/dist/containers/card-container.js +30 -5
  43. package/dist/containers/card-container.js.map +1 -1
  44. package/dist/containers/project/calculation-engine.d.ts +7 -4
  45. package/dist/containers/project/calculation-engine.js +61 -66
  46. package/dist/containers/project/calculation-engine.js.map +1 -1
  47. package/dist/containers/project/project-paths.d.ts +7 -4
  48. package/dist/containers/project/project-paths.js +22 -12
  49. package/dist/containers/project/project-paths.js.map +1 -1
  50. package/dist/containers/project/resource-cache.d.ts +169 -0
  51. package/dist/containers/project/resource-cache.js +509 -0
  52. package/dist/containers/project/resource-cache.js.map +1 -0
  53. package/dist/containers/project/resource-handler.d.ts +129 -0
  54. package/dist/containers/project/resource-handler.js +206 -0
  55. package/dist/containers/project/resource-handler.js.map +1 -0
  56. package/dist/containers/project.d.ts +46 -152
  57. package/dist/containers/project.js +179 -409
  58. package/dist/containers/project.js.map +1 -1
  59. package/dist/containers/template.d.ts +8 -2
  60. package/dist/containers/template.js +24 -19
  61. package/dist/containers/template.js.map +1 -1
  62. package/dist/interfaces/command-options.d.ts +3 -1
  63. package/dist/interfaces/folder-content-interfaces.d.ts +5 -3
  64. package/dist/interfaces/folder-content-interfaces.js +3 -3
  65. package/dist/interfaces/folder-content-interfaces.js.map +1 -1
  66. package/dist/interfaces/project-interfaces.d.ts +7 -9
  67. package/dist/interfaces/project-interfaces.js.map +1 -1
  68. package/dist/interfaces/resource-interfaces.d.ts +14 -1
  69. package/dist/interfaces/resource-interfaces.js.map +1 -1
  70. package/dist/macros/graph/index.js +12 -26
  71. package/dist/macros/graph/index.js.map +1 -1
  72. package/dist/macros/index.d.ts +1 -1
  73. package/dist/macros/index.js +2 -2
  74. package/dist/macros/index.js.map +1 -1
  75. package/dist/macros/report/index.js +3 -6
  76. package/dist/macros/report/index.js.map +1 -1
  77. package/dist/module-manager.d.ts +16 -3
  78. package/dist/module-manager.js +51 -19
  79. package/dist/module-manager.js.map +1 -1
  80. package/dist/project-settings.d.ts +21 -3
  81. package/dist/project-settings.js +91 -14
  82. package/dist/project-settings.js.map +1 -1
  83. package/dist/resources/calculation-resource.d.ts +4 -3
  84. package/dist/resources/calculation-resource.js +11 -5
  85. package/dist/resources/calculation-resource.js.map +1 -1
  86. package/dist/resources/card-type-resource.d.ts +6 -1
  87. package/dist/resources/card-type-resource.js +34 -23
  88. package/dist/resources/card-type-resource.js.map +1 -1
  89. package/dist/resources/create-defaults.d.ts +3 -2
  90. package/dist/resources/create-defaults.js +3 -2
  91. package/dist/resources/create-defaults.js.map +1 -1
  92. package/dist/resources/field-type-resource.d.ts +4 -1
  93. package/dist/resources/field-type-resource.js +22 -23
  94. package/dist/resources/field-type-resource.js.map +1 -1
  95. package/dist/resources/file-resource.d.ts +5 -9
  96. package/dist/resources/file-resource.js +6 -11
  97. package/dist/resources/file-resource.js.map +1 -1
  98. package/dist/resources/folder-resource.d.ts +29 -32
  99. package/dist/resources/folder-resource.js +59 -78
  100. package/dist/resources/folder-resource.js.map +1 -1
  101. package/dist/resources/graph-model-resource.d.ts +4 -1
  102. package/dist/resources/graph-model-resource.js +11 -4
  103. package/dist/resources/graph-model-resource.js.map +1 -1
  104. package/dist/resources/graph-view-resource.d.ts +5 -2
  105. package/dist/resources/graph-view-resource.js +7 -3
  106. package/dist/resources/graph-view-resource.js.map +1 -1
  107. package/dist/resources/link-type-resource.d.ts +5 -2
  108. package/dist/resources/link-type-resource.js +5 -2
  109. package/dist/resources/link-type-resource.js.map +1 -1
  110. package/dist/resources/report-resource.d.ts +6 -7
  111. package/dist/resources/report-resource.js +14 -23
  112. package/dist/resources/report-resource.js.map +1 -1
  113. package/dist/resources/resource-object.d.ts +94 -8
  114. package/dist/resources/resource-object.js +212 -109
  115. package/dist/resources/resource-object.js.map +1 -1
  116. package/dist/resources/template-resource.d.ts +7 -3
  117. package/dist/resources/template-resource.js +10 -3
  118. package/dist/resources/template-resource.js.map +1 -1
  119. package/dist/resources/workflow-resource.d.ts +5 -2
  120. package/dist/resources/workflow-resource.js +18 -22
  121. package/dist/resources/workflow-resource.js.map +1 -1
  122. package/dist/utils/card-utils.d.ts +2 -2
  123. package/dist/utils/card-utils.js +1 -1
  124. package/dist/utils/clingo-fact-builder.d.ts +25 -14
  125. package/dist/utils/clingo-fact-builder.js +27 -5
  126. package/dist/utils/clingo-fact-builder.js.map +1 -1
  127. package/dist/utils/clingo-facts.js +3 -4
  128. package/dist/utils/clingo-facts.js.map +1 -1
  129. package/dist/utils/configuration-logger.d.ts +91 -0
  130. package/dist/utils/configuration-logger.js +151 -0
  131. package/dist/utils/configuration-logger.js.map +1 -0
  132. package/dist/utils/constants.d.ts +1 -1
  133. package/dist/utils/constants.js +5 -3
  134. package/dist/utils/constants.js.map +1 -1
  135. package/dist/utils/resource-utils.d.ts +1 -0
  136. package/dist/utils/resource-utils.js +2 -1
  137. package/dist/utils/resource-utils.js.map +1 -1
  138. package/package.json +9 -9
  139. package/src/card-metadata-updater.ts +6 -2
  140. package/src/command-handler.ts +39 -12
  141. package/src/command-manager.ts +33 -21
  142. package/src/commands/create.ts +43 -78
  143. package/src/commands/export.ts +63 -52
  144. package/src/commands/fetch.ts +143 -34
  145. package/src/commands/import.ts +37 -15
  146. package/src/commands/move.ts +0 -1
  147. package/src/commands/remove.ts +20 -7
  148. package/src/commands/rename.ts +58 -149
  149. package/src/commands/show.ts +123 -80
  150. package/src/commands/transition.ts +26 -28
  151. package/src/commands/update.ts +25 -22
  152. package/src/commands/validate.ts +104 -67
  153. package/src/containers/card-container.ts +37 -5
  154. package/src/containers/project/calculation-engine.ts +61 -93
  155. package/src/containers/project/project-paths.ts +29 -13
  156. package/src/containers/project/resource-cache.ts +651 -0
  157. package/src/containers/project/resource-handler.ts +265 -0
  158. package/src/containers/project.ts +250 -527
  159. package/src/containers/template.ts +28 -23
  160. package/src/interfaces/command-options.ts +3 -1
  161. package/src/interfaces/folder-content-interfaces.ts +7 -6
  162. package/src/interfaces/project-interfaces.ts +12 -11
  163. package/src/interfaces/resource-interfaces.ts +18 -3
  164. package/src/macros/graph/index.ts +26 -47
  165. package/src/macros/index.ts +2 -2
  166. package/src/macros/report/index.ts +3 -9
  167. package/src/module-manager.ts +74 -17
  168. package/src/project-settings.ts +96 -14
  169. package/src/resources/calculation-resource.ts +18 -18
  170. package/src/resources/card-type-resource.ts +50 -50
  171. package/src/resources/create-defaults.ts +3 -2
  172. package/src/resources/field-type-resource.ts +41 -55
  173. package/src/resources/file-resource.ts +10 -36
  174. package/src/resources/folder-resource.ts +69 -120
  175. package/src/resources/graph-model-resource.ts +20 -22
  176. package/src/resources/graph-view-resource.ts +15 -17
  177. package/src/resources/link-type-resource.ts +10 -13
  178. package/src/resources/report-resource.ts +21 -43
  179. package/src/resources/resource-object.ts +263 -149
  180. package/src/resources/template-resource.ts +17 -16
  181. package/src/resources/workflow-resource.ts +25 -44
  182. package/src/utils/card-utils.ts +2 -2
  183. package/src/utils/clingo-fact-builder.ts +28 -16
  184. package/src/utils/clingo-facts.ts +3 -4
  185. package/src/utils/configuration-logger.ts +206 -0
  186. package/src/utils/constants.ts +5 -3
  187. package/src/utils/resource-utils.ts +2 -1
  188. package/dist/containers/project/resource-collector.d.ts +0 -110
  189. package/dist/containers/project/resource-collector.js +0 -344
  190. package/dist/containers/project/resource-collector.js.map +0 -1
  191. package/src/containers/project/resource-collector.ts +0 -404
@@ -16,13 +16,22 @@ import type { CardType } from '../interfaces/resource-interfaces.js';
16
16
  import type { ExportPdfOptions } from '../interfaces/project-interfaces.js';
17
17
  import { Project } from '../containers/project.js';
18
18
  import type { QueryResult } from '../types/queries.js';
19
- import type { Show } from './index.js';
19
+ import type { Show } from './show.js';
20
+ /**
21
+ * Handles all export commands.
22
+ */
20
23
  export declare class Export {
21
24
  protected project: Project;
22
25
  protected showCmd: Show;
26
+ /**
27
+ * Creates an instance of export.
28
+ * @param project Project to use
29
+ * @param showCmd Instance of Export command to use.
30
+ */
23
31
  constructor(project: Project, showCmd: Show);
24
32
  private toAdocFile;
25
33
  protected metaToAdoc(card: Card, cardType: CardType | undefined): string;
34
+ private runAsciidoctorPdf;
26
35
  private toAdocFileAsContent;
27
36
  /**
28
37
  * Recursively searches for a card with the specified key in the tree hierarchy.
@@ -35,9 +44,9 @@ export declare class Export {
35
44
  * Convert treeQueryResult object into a Card object and add content, metadata & attachments
36
45
  * Handles card children recursively
37
46
  * @param treeQueryResult tree query result object
47
+ * @returns Tree query result as a Card.
38
48
  */
39
49
  protected treeQueryResultToCard(treeQueryResult: QueryResult<'tree'>): Promise<Card>;
40
- private runAsciidoctorPdf;
41
50
  /**
42
51
  * Exports the card(s) to pdf.
43
52
  * @param destination Path to where the resulting file(s) will be created.
@@ -21,9 +21,17 @@ import { getStaticDirectoryPath, pdfReport } from '@cyberismo/assets';
21
21
  import { Project } from '../containers/project.js';
22
22
  import { sortItems } from '../utils/lexorank.js';
23
23
  const attachmentFolder = 'a';
24
+ /**
25
+ * Handles all export commands.
26
+ */
24
27
  export class Export {
25
28
  project;
26
29
  showCmd;
30
+ /**
31
+ * Creates an instance of export.
32
+ * @param project Project to use
33
+ * @param showCmd Instance of Export command to use.
34
+ */
27
35
  constructor(project, showCmd) {
28
36
  this.project = project;
29
37
  this.showCmd = showCmd;
@@ -74,6 +82,48 @@ export class Export {
74
82
  }
75
83
  return content;
76
84
  }
85
+ // Runs Ascii Doctor converter --> to PDF
86
+ async runAsciidoctorPdf(content) {
87
+ const staticRootDir = await getStaticDirectoryPath();
88
+ const proc = spawn('asciidoctor-pdf', [
89
+ '-a',
90
+ 'pdf-theme=cyberismo',
91
+ '-a',
92
+ `pdf-themesdir=${join(staticRootDir, 'pdf-themes')}`,
93
+ '-a',
94
+ `pdf-fontsdir=${join(staticRootDir, 'pdf-themes', 'fonts')};GEM_FONTS_DIR`,
95
+ '-',
96
+ ], {
97
+ timeout: 100000,
98
+ shell: process.platform === 'win32',
99
+ });
100
+ proc.stdin.end(content);
101
+ const result = await new Promise((resolve, reject) => {
102
+ const chunks = [];
103
+ proc.stdout.on('data', (chunk) => {
104
+ chunks.push(chunk);
105
+ });
106
+ proc.stderr.on('data', (chunk) => {
107
+ process.stderr.write(chunk);
108
+ });
109
+ proc.on('error', (error) => {
110
+ if ('code' in error && error.code === 'ENOENT') {
111
+ reject(new Error('Asciidoctor-pdf not found. Please install asciidoctor-pdf to use this feature.'));
112
+ }
113
+ reject(error);
114
+ });
115
+ proc.on('close', (code) => {
116
+ if (code === 0) {
117
+ resolve(Buffer.concat(chunks));
118
+ }
119
+ else {
120
+ reject(new Error(`Asciidoctor-pdf failed with code ${code}`));
121
+ }
122
+ });
123
+ });
124
+ return result;
125
+ }
126
+ // Adds cards to an ADOC file as additional content.
77
127
  async toAdocFileAsContent(path, cards) {
78
128
  for (const card of cards) {
79
129
  let fileContent = '';
@@ -84,7 +134,9 @@ export class Export {
84
134
  fileContent += `== ${card.key}\n\n`;
85
135
  }
86
136
  if (card.metadata) {
87
- const cardTypeForCard = await this.project.resource(card.metadata?.cardType);
137
+ const cardTypeForCard = this.project.resources
138
+ .byType(card.metadata?.cardType, 'cardTypes')
139
+ .show();
88
140
  const metaDataContent = this.metaToAdoc(card, cardTypeForCard);
89
141
  fileContent += metaDataContent;
90
142
  }
@@ -134,6 +186,7 @@ export class Export {
134
186
  * Convert treeQueryResult object into a Card object and add content, metadata & attachments
135
187
  * Handles card children recursively
136
188
  * @param treeQueryResult tree query result object
189
+ * @returns Tree query result as a Card.
137
190
  */
138
191
  async treeQueryResultToCard(treeQueryResult) {
139
192
  const card = {
@@ -167,46 +220,6 @@ export class Export {
167
220
  }
168
221
  return card;
169
222
  }
170
- async runAsciidoctorPdf(content) {
171
- const staticRootDir = await getStaticDirectoryPath();
172
- const proc = spawn('asciidoctor-pdf', [
173
- '-a',
174
- 'pdf-theme=cyberismo',
175
- '-a',
176
- `pdf-themesdir=${join(staticRootDir, 'pdf-themes')}`,
177
- '-a',
178
- `pdf-fontsdir=${join(staticRootDir, 'pdf-themes', 'fonts')};GEM_FONTS_DIR`,
179
- '-',
180
- ], {
181
- timeout: 100000,
182
- shell: process.platform === 'win32',
183
- });
184
- proc.stdin.end(content);
185
- const result = await new Promise((resolve, reject) => {
186
- const chunks = [];
187
- proc.stdout.on('data', (chunk) => {
188
- chunks.push(chunk);
189
- });
190
- proc.stderr.on('data', (chunk) => {
191
- process.stderr.write(chunk);
192
- });
193
- proc.on('error', (error) => {
194
- if ('code' in error && error.code === 'ENOENT') {
195
- reject(new Error('Asciidoctor-pdf not found. Please install asciidoctor-pdf to use this feature.'));
196
- }
197
- reject(error);
198
- });
199
- proc.on('close', (code) => {
200
- if (code === 0) {
201
- resolve(Buffer.concat(chunks));
202
- }
203
- else {
204
- reject(new Error(`Asciidoctor-pdf failed with code ${code}`));
205
- }
206
- });
207
- });
208
- return result;
209
- }
210
223
  /**
211
224
  * Exports the card(s) to pdf.
212
225
  * @param destination Path to where the resulting file(s) will be created.
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
@@ -14,11 +14,19 @@ import type { Project } from '../containers/project.js';
14
14
  export declare const MODULE_LIST_FULL_PATH = ".temp/moduleList.json";
15
15
  export declare class Fetch {
16
16
  private project;
17
+ private moduleListPath;
17
18
  constructor(project: Project);
18
19
  private get logger();
20
+ private checkRemoteVersion;
19
21
  private fetchJSON;
22
+ private fetchModuleList;
23
+ /**
24
+ * Ensures the module list is up to date by fetching if needed.
25
+ */
26
+ ensureModuleListUpToDate(): Promise<void>;
20
27
  /**
21
28
  * Fetches modules from modules hub(s) and writes them to a file.
29
+ * Only fetches if the remote version is newer than the local version.
22
30
  */
23
31
  fetchHubs(): Promise<void>;
24
32
  }
@@ -12,48 +12,76 @@
12
12
  */
13
13
  import { mkdir } from 'node:fs/promises';
14
14
  import { resolve, sep } from 'node:path';
15
- import { writeJsonFile } from '../utils/json.js';
16
- import { validateJson } from '../utils/validate.js';
17
- import { errorFunction } from '../utils/error-utils.js';
18
15
  import { getChildLogger } from '../utils/log-utils.js';
19
- const FETCH_TIMEOUT = 30000; // 30s timeout for fetching a hub file.
20
- const MAX_RESPONSE_SIZE = 1024 * 1024; // 1MB limit for safety
16
+ import { readJsonFile, writeJsonFile } from '../utils/json.js';
17
+ import { validateJson } from '../utils/validate.js';
18
+ const FETCH_TIMEOUT_MS = 30 * 1000; // 30s timeout for fetching a hub file.
19
+ const MAX_RESPONSE_SIZE_MB = 1024 * 1024; // 1MB limit for safety
21
20
  const HUB_SCHEMA = 'hubSchema';
22
21
  const MODULE_LIST_FILE = 'moduleList.json';
23
22
  const TEMP_FOLDER = `.temp`;
24
23
  export const MODULE_LIST_FULL_PATH = `${TEMP_FOLDER}/${MODULE_LIST_FILE}`;
25
24
  export class Fetch {
26
25
  project;
26
+ moduleListPath;
27
27
  constructor(project) {
28
28
  this.project = project;
29
+ this.moduleListPath = resolve(this.project.basePath, MODULE_LIST_FULL_PATH);
29
30
  }
30
31
  get logger() {
31
32
  return getChildLogger({
32
33
  module: 'fetch',
33
34
  });
34
35
  }
36
+ // Checks the version of the remote moduleList.json.
37
+ async checkRemoteVersion(location) {
38
+ try {
39
+ const url = new URL(`${location}/${MODULE_LIST_FILE}`);
40
+ if (!['http:', 'https:'].includes(url.protocol)) {
41
+ return undefined;
42
+ }
43
+ const response = await fetch(url.toString(), {
44
+ method: 'GET',
45
+ headers: {
46
+ Accept: 'application/json',
47
+ 'User-Agent': 'Cyberismo/1.0',
48
+ },
49
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
50
+ });
51
+ if (!response.ok) {
52
+ return undefined;
53
+ }
54
+ const json = await response.json();
55
+ return json.version;
56
+ }
57
+ catch (error) {
58
+ this.logger.error(error, `Could not check hub version for ${location} }`);
59
+ return undefined;
60
+ }
61
+ }
62
+ // Fetches one hub's data as JSON.
35
63
  async fetchJSON(location, schemaId) {
36
64
  try {
37
65
  const url = new URL(`${location}/${MODULE_LIST_FILE}`);
38
66
  if (!['http:', 'https:'].includes(url.protocol)) {
39
67
  throw new Error(`Invalid protocol: ${url.protocol}. Only HTTP and HTTPS are supported.`);
40
68
  }
41
- this.logger.info(`Fetching module list from: ${url.toString()}`);
69
+ this.logger.info(`Fetching module list from hub: ${url.toString()}`);
42
70
  const response = await fetch(url.toString(), {
43
71
  method: 'GET',
44
72
  headers: {
45
73
  Accept: 'application/json',
46
74
  'User-Agent': 'Cyberismo/1.0',
47
75
  },
48
- signal: AbortSignal.timeout(FETCH_TIMEOUT),
76
+ signal: AbortSignal.timeout(FETCH_TIMEOUT_MS),
49
77
  });
50
78
  if (!response.ok) {
51
79
  throw new Error(`HTTP ${response.status}: ${response.statusText} when fetching from ${url.toString()}`);
52
80
  }
53
81
  // Check content length before downloading
54
82
  const contentLength = response.headers.get('content-length');
55
- if (contentLength && parseInt(contentLength) > MAX_RESPONSE_SIZE) {
56
- throw new Error(`Response too large: ${contentLength} bytes (max: ${MAX_RESPONSE_SIZE})`);
83
+ if (contentLength && parseInt(contentLength) > MAX_RESPONSE_SIZE_MB) {
84
+ throw new Error(`Response too large: ${contentLength} bytes (max: ${MAX_RESPONSE_SIZE_MB})`);
57
85
  }
58
86
  const contentType = response.headers.get('content-type');
59
87
  if (!contentType?.includes('application/json')) {
@@ -62,56 +90,106 @@ export class Fetch {
62
90
  const json = await response.json();
63
91
  // Validate the incoming JSON before saving it into a file.
64
92
  await validateJson(json, { schemaId: schemaId });
65
- // Validate JSON structure and prevent prototype pollution
66
93
  if (typeof json !== 'object' || json === null || Array.isArray(json)) {
67
94
  throw new Error('Response must be a JSON object');
68
95
  }
69
- // Additional size check after JSON parsing
70
- if (JSON.stringify(json).length > MAX_RESPONSE_SIZE) {
96
+ if (JSON.stringify(json).length > MAX_RESPONSE_SIZE_MB) {
71
97
  throw new Error('JSON content too large after parsing');
72
98
  }
73
99
  return json;
74
100
  }
75
101
  catch (error) {
76
- this.logger.error(error, `Failed to fetch module list from ${location}: ${errorFunction(error)}`);
102
+ this.logger.error(error, `Failed to fetch module list from hub ${location}`);
77
103
  throw error;
78
104
  }
79
105
  }
106
+ // Checks if the local moduleList.json needs to be updated by comparing
107
+ // each hub's version with the stored version.
108
+ async fetchModuleList() {
109
+ try {
110
+ const configuredHubs = this.project.configuration.hubs;
111
+ if (configuredHubs.length === 0) {
112
+ return false;
113
+ }
114
+ const localData = (await readJsonFile(this.moduleListPath));
115
+ const localHubs = localData.hubs || [];
116
+ if (localHubs.length !== configuredHubs.length) {
117
+ this.logger.info('Hub configuration changed, fetching module list');
118
+ return true;
119
+ }
120
+ // Check each hub's version
121
+ for (const configHub of configuredHubs) {
122
+ const localHub = localHubs.find((hub) => hub.location === configHub.location);
123
+ if (!localHub) {
124
+ this.logger.info(`New hub detected: ${configHub.location}, fetching module list`);
125
+ return true;
126
+ }
127
+ const remoteVersion = await this.checkRemoteVersion(configHub.location);
128
+ if (remoteVersion === undefined) {
129
+ const hubName = configHub.displayName || configHub.location;
130
+ this.logger.info(`Hub ${hubName} has no version data, skipped.`);
131
+ continue;
132
+ }
133
+ if (remoteVersion > localHub.version) {
134
+ this.logger.info(`Hub ${configHub.location} has newer version (remote: ${remoteVersion}, local: ${localHub.version}), fetching module list`);
135
+ return true;
136
+ }
137
+ }
138
+ this.logger.info('Module list is up to date');
139
+ return false;
140
+ }
141
+ catch (error) {
142
+ this.logger.error(error, `Error when checking versions for hub module list`);
143
+ return true;
144
+ }
145
+ }
146
+ /**
147
+ * Ensures the module list is up to date by fetching if needed.
148
+ */
149
+ async ensureModuleListUpToDate() {
150
+ await this.fetchHubs();
151
+ }
80
152
  /**
81
153
  * Fetches modules from modules hub(s) and writes them to a file.
154
+ * Only fetches if the remote version is newer than the local version.
82
155
  */
83
156
  async fetchHubs() {
157
+ const needsFetch = await this.fetchModuleList();
158
+ if (!needsFetch) {
159
+ return;
160
+ }
84
161
  const hubs = this.project.configuration.hubs;
85
162
  const moduleMap = new Map([]);
163
+ const hubVersions = [];
86
164
  for (const hub of hubs) {
87
165
  const json = await this.fetchJSON(hub.location, HUB_SCHEMA);
88
166
  json.modules.forEach((module) => {
89
167
  if (!moduleMap.has(module.name)) {
90
168
  moduleMap.set(module.name, module);
91
169
  }
92
- else {
93
- this.logger.info(`Skipping module '${module.name}' since it was already listed.`);
94
- }
170
+ });
171
+ hubVersions.push({
172
+ location: hub.location,
173
+ version: json.version || 1,
95
174
  });
96
175
  }
97
176
  try {
98
- const fullPath = resolve(this.project.basePath, MODULE_LIST_FULL_PATH);
99
177
  const normalizedBasePath = resolve(this.project.basePath);
100
- // Ensure the file is written within the project directory (prevent path traversal)
101
- if (!fullPath.startsWith(normalizedBasePath + sep) &&
102
- fullPath !== normalizedBasePath) {
178
+ if (!this.moduleListPath.startsWith(normalizedBasePath + sep) &&
179
+ this.moduleListPath !== normalizedBasePath) {
103
180
  throw new Error('Invalid file path: attempting to write outside project directory');
104
181
  }
105
182
  await mkdir(resolve(this.project.basePath, TEMP_FOLDER), {
106
183
  recursive: true,
107
184
  });
108
- await writeJsonFile(fullPath, {
185
+ await writeJsonFile(this.moduleListPath, {
109
186
  modules: Array.from(moduleMap.values()),
187
+ hubs: hubVersions,
110
188
  });
111
- this.logger.info(`Module list written to: ${fullPath}`);
189
+ this.logger.info(`Module list written to: ${this.moduleListPath}`);
112
190
  }
113
191
  catch (error) {
114
- this.logger.error(error, `Failed to write module list to local file: ${errorFunction(error)}`);
192
+ this.logger.error(error, `Failed to write module list to local file`);
115
193
  throw error;
116
194
  }
117
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/commands/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/commands/fetch.ts"],"names":[],"mappings":"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"}
@@ -10,14 +10,24 @@
10
10
  details. You should have received a copy of the GNU Affero General Public
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
- import { type Create } from './index.js';
13
+ import type { Create } from './create.js';
14
14
  import type { Credentials, ModuleSettingOptions } from '../interfaces/project-interfaces.js';
15
+ import type { Fetch } from './fetch.js';
15
16
  import type { Project } from '../containers/project.js';
17
+ /**
18
+ * Handles all import commands.
19
+ */
16
20
  export declare class Import {
17
21
  private project;
18
22
  private createCmd;
23
+ private fetchCmd;
19
24
  private moduleManager;
20
- constructor(project: Project, createCmd: Create);
25
+ /**
26
+ * Creates an instance of Import.
27
+ * @param project Project to use.
28
+ * @param createCmd Instance of Create to use.
29
+ */
30
+ constructor(project: Project, createCmd: Create, fetchCmd: Fetch);
21
31
  /**
22
32
  * Imports cards based on a csv file
23
33
  * @param csvFilePath path to the csv file
@@ -38,8 +48,9 @@ export declare class Import {
38
48
  * @param options Additional options for module import. Optional.
39
49
  * branch: Git branch for module from Git.
40
50
  * private: If true, uses credentials to clone the repository
51
+ * @param skipMigrationLog If true, skip logging to migration log (used during project creation)
41
52
  */
42
- importModule(source: string, destination?: string, options?: ModuleSettingOptions): Promise<void>;
53
+ importModule(source: string, destination?: string, options?: ModuleSettingOptions, skipMigrationLog?: boolean): Promise<void>;
43
54
  /**
44
55
  * Updates a specific imported module.
45
56
  * @param moduleName Name (prefix) of module to update.
@@ -10,18 +10,26 @@
10
10
  details. You should have received a copy of the GNU Affero General Public
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
- import { Validate } from './index.js';
14
13
  import { ModuleManager } from '../module-manager.js';
15
14
  import { readCsvFile } from '../utils/csv.js';
16
- import { resourceName } from '../utils/resource-utils.js';
17
- import { TemplateResource } from '../resources/template-resource.js';
15
+ import { Validate } from './validate.js';
16
+ /**
17
+ * Handles all import commands.
18
+ */
18
19
  export class Import {
19
20
  project;
20
21
  createCmd;
22
+ fetchCmd;
21
23
  moduleManager;
22
- constructor(project, createCmd) {
24
+ /**
25
+ * Creates an instance of Import.
26
+ * @param project Project to use.
27
+ * @param createCmd Instance of Create to use.
28
+ */
29
+ constructor(project, createCmd, fetchCmd) {
23
30
  this.project = project;
24
31
  this.createCmd = createCmd;
32
+ this.fetchCmd = fetchCmd;
25
33
  this.moduleManager = new ModuleManager(this.project);
26
34
  }
27
35
  /**
@@ -39,7 +47,7 @@ export class Import {
39
47
  const importedCards = [];
40
48
  for (const row of csv) {
41
49
  const { title, template, description, labels, ...customFields } = row;
42
- const templateResource = new TemplateResource(this.project, resourceName(template));
50
+ const templateResource = this.project.resources.byType(template, 'templates');
43
51
  const templateObject = templateResource.templateObject();
44
52
  if (!templateObject) {
45
53
  throw new Error(`Template '${template}' not found`);
@@ -56,10 +64,12 @@ export class Import {
56
64
  }
57
65
  const cardKey = cards[0].key;
58
66
  const card = this.project.findCard(cardKey);
59
- const cardType = this.project.resource(card.metadata?.cardType || '');
60
- if (!cardType) {
67
+ if (!card.metadata?.cardType) {
61
68
  throw new Error(`Card type not found for card ${cardKey}`);
62
69
  }
70
+ const cardType = this.project.resources
71
+ .byType(card.metadata?.cardType, 'cardTypes')
72
+ .show();
63
73
  if (description) {
64
74
  await this.project.updateCardContent(cardKey, description);
65
75
  }
@@ -96,8 +106,11 @@ export class Import {
96
106
  * @param options Additional options for module import. Optional.
97
107
  * branch: Git branch for module from Git.
98
108
  * private: If true, uses credentials to clone the repository
109
+ * @param skipMigrationLog If true, skip logging to migration log (used during project creation)
99
110
  */
100
- async importModule(source, destination, options) {
111
+ async importModule(source, destination, options, skipMigrationLog = false) {
112
+ // Ensure module list is up to date before importing
113
+ await this.fetchCmd.ensureModuleListUpToDate();
101
114
  const beforeImportValidateErrors = await Validate.getInstance().validate(this.project.basePath, () => this.project);
102
115
  const gitModule = source.startsWith('https') || source.startsWith('git@');
103
116
  const modulePrefix = gitModule
@@ -113,9 +126,9 @@ export class Import {
113
126
  location: gitModule ? source : `file:${source}`,
114
127
  };
115
128
  // Fetch module dependencies.
116
- await this.moduleManager.updateModule(moduleSettings, options?.credentials);
129
+ await this.moduleManager.updateDependencies(moduleSettings, options?.credentials);
117
130
  // Add module as a dependency.
118
- await this.project.importModule(moduleSettings);
131
+ await this.project.importModule(moduleSettings, skipMigrationLog);
119
132
  // Validate the project after module has been imported
120
133
  const afterImportValidateErrors = await Validate.getInstance().validate(this.project.basePath, () => this.project);
121
134
  if (afterImportValidateErrors.length > beforeImportValidateErrors.length) {
@@ -129,6 +142,8 @@ export class Import {
129
142
  * @throws if module is not part of the project
130
143
  */
131
144
  async updateModule(moduleName, credentials) {
145
+ // Ensure module list is up to date before updating
146
+ await this.fetchCmd.ensureModuleListUpToDate();
132
147
  const module = this.project.configuration.modules.find((item) => item.name === moduleName);
133
148
  if (!module) {
134
149
  throw new Error(`Module '${moduleName}' is not part of the project`);
@@ -140,6 +155,8 @@ export class Import {
140
155
  * @param credentials Optional credentials for private modules.
141
156
  */
142
157
  async updateAllModules(credentials) {
158
+ // Ensure module list is up to date before updating all modules
159
+ await this.fetchCmd.ensureModuleListUpToDate();
143
160
  return this.moduleManager.updateModules(credentials);
144
161
  }
145
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
@@ -147,7 +147,6 @@ export class Move {
147
147
  sourceCard.parent = movingToRoot ? ROOT : destination;
148
148
  if (sourceCard.metadata) {
149
149
  sourceCard.metadata.rank = rank;
150
- sourceCard.metadata.parent = movingToRoot ? ROOT : destination;
151
150
  }
152
151
  // Handle cache update and persistence
153
152
  await this.project.updateCard(sourceCard);