@cyberismo/data-handler 0.0.7 → 0.0.8

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 (52) hide show
  1. package/dist/commands/create.d.ts +1 -1
  2. package/dist/commands/create.js +15 -10
  3. package/dist/commands/create.js.map +1 -1
  4. package/dist/commands/import.js +8 -2
  5. package/dist/commands/import.js.map +1 -1
  6. package/dist/commands/remove.d.ts +1 -1
  7. package/dist/commands/remove.js +4 -10
  8. package/dist/commands/remove.js.map +1 -1
  9. package/dist/commands/validate.d.ts +0 -8
  10. package/dist/commands/validate.js +0 -32
  11. package/dist/commands/validate.js.map +1 -1
  12. package/dist/containers/project/resource-collector.d.ts +2 -1
  13. package/dist/containers/project/resource-collector.js +33 -23
  14. package/dist/containers/project/resource-collector.js.map +1 -1
  15. package/dist/containers/project.d.ts +0 -5
  16. package/dist/containers/project.js +9 -17
  17. package/dist/containers/project.js.map +1 -1
  18. package/dist/exceptions/index.d.ts +20 -0
  19. package/dist/exceptions/index.js +16 -0
  20. package/dist/exceptions/index.js.map +1 -1
  21. package/dist/interfaces/macros.d.ts +3 -0
  22. package/dist/macros/base-macro.d.ts +2 -0
  23. package/dist/macros/base-macro.js +66 -19
  24. package/dist/macros/base-macro.js.map +1 -1
  25. package/dist/macros/graph/index.d.ts +0 -1
  26. package/dist/macros/graph/index.js +11 -7
  27. package/dist/macros/graph/index.js.map +1 -1
  28. package/dist/macros/index.d.ts +6 -0
  29. package/dist/macros/index.js +25 -2
  30. package/dist/macros/index.js.map +1 -1
  31. package/dist/macros/report/index.js +18 -9
  32. package/dist/macros/report/index.js.map +1 -1
  33. package/dist/module-manager.d.ts +16 -4
  34. package/dist/module-manager.js +179 -55
  35. package/dist/module-manager.js.map +1 -1
  36. package/dist/project-settings.js +2 -8
  37. package/dist/project-settings.js.map +1 -1
  38. package/package.json +3 -4
  39. package/src/commands/create.ts +18 -10
  40. package/src/commands/import.ts +15 -2
  41. package/src/commands/remove.ts +7 -12
  42. package/src/commands/validate.ts +0 -35
  43. package/src/containers/project/resource-collector.ts +33 -14
  44. package/src/containers/project.ts +36 -18
  45. package/src/exceptions/index.ts +36 -0
  46. package/src/interfaces/macros.ts +3 -0
  47. package/src/macros/base-macro.ts +89 -25
  48. package/src/macros/graph/index.ts +12 -7
  49. package/src/macros/index.ts +29 -2
  50. package/src/macros/report/index.ts +19 -10
  51. package/src/module-manager.ts +228 -66
  52. package/src/project-settings.ts +2 -11
@@ -17,6 +17,7 @@ import { validateJson } from '../../utils/validate.js';
17
17
  import { ReportResource } from '../../resources/report-resource.js';
18
18
  import { resourceName } from '../../utils/resource-utils.js';
19
19
  import { generateReportContent } from '../../utils/report.js';
20
+ import { ClingoError } from '@cyberismo/node-clingo';
20
21
  class ReportMacro extends BaseMacro {
21
22
  calculate;
22
23
  constructor(tasks, calculate) {
@@ -40,15 +41,23 @@ class ReportMacro extends BaseMacro {
40
41
  schema: report.schema,
41
42
  });
42
43
  }
43
- return generateReportContent({
44
- calculate: this.calculate,
45
- contentTemplate: report.contentTemplate,
46
- queryTemplate: report.queryTemplate,
47
- options: {
48
- cardKey: context.cardKey,
49
- ...options,
50
- },
51
- });
44
+ try {
45
+ return await generateReportContent({
46
+ calculate: this.calculate,
47
+ contentTemplate: report.contentTemplate,
48
+ queryTemplate: report.queryTemplate,
49
+ options: {
50
+ cardKey: context.cardKey,
51
+ ...options,
52
+ },
53
+ });
54
+ }
55
+ catch (error) {
56
+ if (error instanceof ClingoError) {
57
+ throw new Error(`Error running logic program in report '${options.name}':${error.details.errors.join('\n')}`);
58
+ }
59
+ throw error;
60
+ }
52
61
  };
53
62
  validate(data) {
54
63
  return validateMacroContent(this.metadata, data);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/macros/report/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAInD,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,MAAM,WAAY,SAAQ,SAAS;IAGd;IAFnB,YACE,KAAgB,EACC,SAAoB;QAErC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAFX,cAAS,GAAT,SAAS,CAAW;IAGvC,CAAC;IACD,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE;QAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,YAAY,GAAG,KAAK,EAAE,OAA+B,EAAE,IAAa,EAAE,EAAE;QACtE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,YAAY,GAAG,KAAK,EAAE,OAA+B,EAAE,IAAa,EAAE,EAAE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC,OAAO,CAAC,OAAO,EACf,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAC3B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,YAAY,CAAC,OAAO,EAAE;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,qBAAqB,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,GAAG,OAAO;aACX;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,QAAQ,CAAC,IAAa;QAC5B,OAAO,oBAAoB,CAAgB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/macros/report/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAInD,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,MAAM,WAAY,SAAQ,SAAS;IAGd;IAFnB,YACE,KAAgB,EACC,SAAoB;QAErC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAFX,cAAS,GAAT,SAAS,CAAW;IAGvC,CAAC;IACD,cAAc,GAAG,CAAC,KAAc,EAAE,EAAE;QAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,YAAY,GAAG,KAAK,EAAE,OAA+B,EAAE,IAAa,EAAE,EAAE;QACtE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,YAAY,GAAG,KAAK,EAAE,OAA+B,EAAE,IAAa,EAAE,EAAE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,cAAc,CACjC,OAAO,CAAC,OAAO,EACf,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAC3B,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAEtE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,YAAY,CAAC,OAAO,EAAE;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,qBAAqB,CAAC;gBACjC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,OAAO,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,GAAG,OAAO;iBACX;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,0CAA0C,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEM,QAAQ,CAAC,IAAa;QAC5B,OAAO,oBAAoB,CAAgB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
@@ -19,27 +19,32 @@ 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;
27
32
  private doCollectModulePrefix;
28
33
  private handleFileModule;
29
34
  private handleGitModule;
30
35
  private handleModule;
31
36
  private importFromFolder;
32
- private importFromTemp;
33
37
  private isFileModule;
34
38
  private isGitModule;
39
+ private orphanedModules;
35
40
  private prepare;
36
- private protocol;
37
41
  private remove;
38
- private removeModuleFiles;
39
- private removeProtocolFromLocation;
40
42
  private removeDuplicates;
43
+ private removeModuleFiles;
41
44
  private repositoryName;
42
45
  private setCloneOptions;
46
+ private stripProtocolFromLocation;
47
+ private transientDependencies;
43
48
  private update;
44
49
  private validatePrefix;
45
50
  /**
@@ -56,6 +61,13 @@ export declare class ModuleManager {
56
61
  * @returns module prefix as defined in its CardsConfig.json
57
62
  */
58
63
  importGitModule(source: string, options?: ModuleSettingOptions, credentials?: Credentials): Promise<string>;
64
+ /**
65
+ * Removed module from project.
66
+ * If module is not used by any other modules, then will remove the module from disk as well.
67
+ * Otherwise, only updates project configuration.
68
+ * @param moduleName Name of the module to remove
69
+ */
70
+ removeModule(moduleName: string): Promise<void>;
59
71
  /**
60
72
  * Imports module from a local file path or a git URL.
61
73
  * @param module Module to update. If not provided, updates all modules.
@@ -19,8 +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';
22
+ const HTTPS_PROTOCOL = 'https:';
24
23
  // timeout in milliseconds for git client (no stdout / stderr activity)
25
24
  const DEFAULT_TIMEOUT = 10000;
26
25
  /**
@@ -30,6 +29,7 @@ export class ModuleManager {
30
29
  project;
31
30
  modules = [];
32
31
  tempModulesDir = '';
32
+ defaultBranchCache = new Map();
33
33
  constructor(project) {
34
34
  this.project = project;
35
35
  this.tempModulesDir = join(this.project.paths.tempFolder, 'modules');
@@ -41,6 +41,25 @@ export class ModuleManager {
41
41
  // Update the resources.
42
42
  await this.project.collectModuleResources();
43
43
  }
44
+ // Creates a map of what dependencies each module depend from.
45
+ async buildDependencyGraph(dependencies) {
46
+ const dependencyNames = dependencies.map((item) => item.name);
47
+ const dependencyGraph = new Map();
48
+ for (const dependency of dependencyNames) {
49
+ dependencyGraph.set(dependency, await this.transientDependencies(dependency));
50
+ }
51
+ return dependencyGraph;
52
+ }
53
+ // Returns 'true' if 'moduleName' can be removed.
54
+ canBeRemoved(dependencies, moduleName) {
55
+ let unused = true;
56
+ dependencies.forEach((transientDependencies, key) => {
57
+ if (key !== moduleName && transientDependencies.has(moduleName)) {
58
+ unused = false;
59
+ }
60
+ });
61
+ return unused;
62
+ }
44
63
  // Handles cloning of a repository.
45
64
  async clone(module, verbose = true, credentials) {
46
65
  if (!module.name || module.name === '') {
@@ -49,9 +68,12 @@ export class ModuleManager {
49
68
  const destinationPath = join(this.tempModulesDir, module.name);
50
69
  let remote = module.location;
51
70
  if (module.private) {
52
- if (credentials && credentials?.username && credentials?.token) {
71
+ if (credentials &&
72
+ credentials?.username &&
73
+ credentials?.token &&
74
+ module.location.startsWith(HTTPS_PROTOCOL)) {
53
75
  if (verbose) {
54
- console.log(`... Using credentials '${credentials?.username}' for cloning '${module.name}'`);
76
+ console.log(`... Using HTTPS with credentials '${credentials?.username}' for cloning '${module.name}'`);
55
77
  }
56
78
  try {
57
79
  const repoUrl = new URL(module.location);
@@ -65,15 +87,20 @@ export class ModuleManager {
65
87
  throw new Error(`Invalid repository URL: ${module.location}`);
66
88
  }
67
89
  }
68
- else {
90
+ else if (module.location.startsWith('git@')) {
69
91
  if (verbose) {
70
- console.log(`... Not using credentials for cloning '${module.name}'`);
92
+ console.log(`... Using SSH for cloning '${module.name}'`);
71
93
  }
72
94
  }
73
95
  }
96
+ else {
97
+ if (verbose) {
98
+ console.log(`... Using HTTPS without credentials for cloning '${module.name}'`);
99
+ }
100
+ }
74
101
  try {
75
102
  await mkdir(this.tempModulesDir, { recursive: true });
76
- const cloneOptions = this.setCloneOptions(module);
103
+ const cloneOptions = await this.setCloneOptions(module);
77
104
  await rm(destinationPath, { recursive: true, force: true });
78
105
  const git = simpleGit({
79
106
  timeout: {
@@ -89,7 +116,6 @@ export class ModuleManager {
89
116
  }
90
117
  }
91
118
  catch (error) {
92
- console.error(error);
93
119
  if (error instanceof Error)
94
120
  throw new Error(`Failed to clone module '${module.name}': ${error.message}`);
95
121
  }
@@ -114,6 +140,45 @@ export class ModuleManager {
114
140
  throw new Error(`Module not found from '${path}'`);
115
141
  }
116
142
  }
143
+ // Gets the default branch for a repository from remote or cache
144
+ async defaultBranch(module) {
145
+ if (this.defaultBranchCache.has(module.location)) {
146
+ return this.defaultBranchCache.get(module.location);
147
+ }
148
+ // Set the default branch if branch was not specified
149
+ if (!module.branch) {
150
+ const destinationPath = join(this.tempModulesDir, module.name);
151
+ // Only return path after cloning
152
+ if (pathExists(destinationPath)) {
153
+ const git = simpleGit({
154
+ timeout: {
155
+ block: DEFAULT_TIMEOUT,
156
+ },
157
+ });
158
+ const options = ['--abbrev-ref', 'HEAD'];
159
+ const defaultBranch = await git.cwd(destinationPath).revparse(options);
160
+ this.defaultBranchCache.set(module.location, defaultBranch);
161
+ return defaultBranch;
162
+ }
163
+ }
164
+ // The actual default branch will be updated later (after cloning).
165
+ return '';
166
+ }
167
+ // Fetches direct dependencies of a module.
168
+ async dependencies(moduleName) {
169
+ const allModules = await this.project.modules();
170
+ if (!allModules)
171
+ return new Set();
172
+ const module = allModules.find((m) => m.name === moduleName);
173
+ if (!module) {
174
+ throw new Error(`Module '${moduleName}' not found`);
175
+ }
176
+ const modulePath = join(module.path, module.name, 'cardsConfig.json');
177
+ const moduleConfiguration = (await readJsonFile(modulePath));
178
+ return moduleConfiguration.modules
179
+ ? new Set(moduleConfiguration.modules.map((m) => m.name))
180
+ : new Set();
181
+ }
117
182
  // Collects one module's dependency prefixes to 'this.modules'.
118
183
  // Note that there can be duplicate entries.
119
184
  async doCollectModulePrefix(module, credentials) {
@@ -133,15 +198,16 @@ export class ModuleManager {
133
198
  }
134
199
  // Updates one module that is read from local file system.
135
200
  async handleFileModule(module) {
136
- this.removeProtocolFromLocation(module);
201
+ this.stripProtocolFromLocation(module);
137
202
  await this.remove(module);
138
- await this.importFromFolder(module);
203
+ await this.importFromFolder(module.location, module.name);
139
204
  }
140
205
  // Updates one module that is received from Git.
141
206
  async handleGitModule(module) {
142
207
  await this.clone(module);
208
+ const tempLocation = join(this.tempModulesDir, module.name);
143
209
  await this.remove(module);
144
- await this.importFromTemp(module);
210
+ await this.importFromFolder(tempLocation, module.name);
145
211
  }
146
212
  // Updates one module.
147
213
  async handleModule(module) {
@@ -149,15 +215,10 @@ export class ModuleManager {
149
215
  ? this.handleGitModule(module)
150
216
  : this.handleFileModule(module);
151
217
  }
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}'`);
218
+ // Imports from a given folder. Is used both for .temp/<module name> and file locations.
219
+ async importFromFolder(path, name) {
220
+ await this.importFileModule(path);
221
+ console.log(`... Imported module '${name}' to '${this.project.configuration.name}'`);
161
222
  }
162
223
  // Returns true if module is imported from file-system.
163
224
  isFileModule(module) {
@@ -169,7 +230,33 @@ export class ModuleManager {
169
230
  isGitModule(module) {
170
231
  if (!module.location)
171
232
  return false;
172
- return module.location.startsWith('https:');
233
+ return (module.location.startsWith('https:') || module.location.startsWith('git@'));
234
+ }
235
+ // Collect modules that could be removed from .cards/modules when
236
+ // 'moduleName' is removed.
237
+ async orphanedModules(dependencies, moduleName) {
238
+ const projectModules = this.project.configuration.modules;
239
+ const removableTransientModules = [];
240
+ if (dependencies.has(moduleName)) {
241
+ const deps = dependencies.get(moduleName);
242
+ for (const dependency of deps) {
243
+ const projectDependency = projectModules.some((item) => item.name === dependency);
244
+ if (projectDependency)
245
+ continue;
246
+ let orphanModule = true;
247
+ dependencies.forEach((transientDependencies, key) => {
248
+ if (key === moduleName)
249
+ return;
250
+ if (transientDependencies.has(dependency)) {
251
+ orphanModule = false;
252
+ }
253
+ });
254
+ if (orphanModule) {
255
+ removableTransientModules.push(dependency);
256
+ }
257
+ }
258
+ }
259
+ return removableTransientModules;
173
260
  }
174
261
  // Prepares '.temp/modules' for cloning
175
262
  async prepare() {
@@ -188,10 +275,6 @@ export class ModuleManager {
188
275
  throw new Error(`Failed to prepare temporary directory: ${error}`);
189
276
  }
190
277
  }
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
278
  // Handles removing an imported module.
196
279
  async remove(module) {
197
280
  try {
@@ -203,31 +286,15 @@ export class ModuleManager {
203
286
  console.error(`... New imported module '${module.name}', skipping remove`);
204
287
  }
205
288
  }
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
289
  // Checks for duplicate ModuleSetting entries and throws an error if modules
220
290
  // with the same name have different branches or locations.
221
- // Treats undefined branch, empty string branch, and "main" branch as equivalent.
291
+ // Treats undefined branch, empty string branch, and default branch as equivalent.
222
292
  // Returns an array with duplicate entries removed
223
- removeDuplicates(modules) {
293
+ async removeDuplicates(modules) {
224
294
  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;
295
+ // Normalize branch names by checking against the default branch for each module
296
+ const normalizeBranch = async (module) => {
297
+ return module.branch ? module.branch : await this.defaultBranch(module);
231
298
  };
232
299
  for (const module of modules) {
233
300
  const existingModule = moduleMap.get(module.name);
@@ -235,16 +302,16 @@ export class ModuleManager {
235
302
  if ((existingModule.private && !module.private) ||
236
303
  (!existingModule.private && module.private)) {
237
304
  throw new Error(`Module conflict: '${module.name}' has different access:\n` +
238
- ` - ${existingModule.private === true ? 'true' : 'false'}\n` +
239
- ` - ${module.private === true ? 'true' : 'false'}`);
305
+ ` - ${Boolean(existingModule.private)}\n` +
306
+ ` - ${Boolean(module.private)}`);
240
307
  }
241
308
  if (existingModule.location !== module.location) {
242
309
  throw new Error(`Module conflict: '${module.name}' has different locations:\n` +
243
310
  ` - ${existingModule.location}\n` +
244
311
  ` - ${module.location}`);
245
312
  }
246
- const existingBranch = normalizeBranch(existingModule.branch);
247
- const newBranch = normalizeBranch(module.branch);
313
+ const existingBranch = await normalizeBranch(existingModule);
314
+ const newBranch = await normalizeBranch(module);
248
315
  if (existingBranch !== newBranch) {
249
316
  throw new Error(`Module conflict: '${module.name}' has different branches:\n` +
250
317
  ` - ${existingModule.branch || 'undefined'}\n` +
@@ -257,22 +324,50 @@ export class ModuleManager {
257
324
  }
258
325
  return Array.from(moduleMap.values());
259
326
  }
327
+ // Remove module files.
328
+ async removeModuleFiles(moduleName) {
329
+ const module = await this.project.module(moduleName);
330
+ if (!module) {
331
+ throw new Error(`Module '${moduleName}' not found`);
332
+ }
333
+ await deleteDir(module.path);
334
+ }
260
335
  // Gets repository name from gitUrl
261
336
  repositoryName(gitUrl) {
262
337
  const last = gitUrl.lastIndexOf('/');
263
338
  const repoName = gitUrl.substring(last + 1, gitUrl.length - 4); //remove trailing ".git"
264
339
  return repoName;
265
340
  }
266
- // Sets cloning options.
267
- setCloneOptions(module) {
341
+ // Sets cloning options with support for default branch.
342
+ async setCloneOptions(module) {
268
343
  const cloneOptions = ['--depth', '1'];
344
+ const defaultBranch = await this.defaultBranch(module);
345
+ // Only specify branch if it's different from the default branch
269
346
  if (module.branch &&
270
347
  module.branch !== '' &&
271
- module.branch !== MAIN_BRANCH) {
348
+ module.branch !== defaultBranch) {
272
349
  cloneOptions.push('--branch', module.branch);
273
350
  }
274
351
  return cloneOptions;
275
352
  }
353
+ // Updates module's 'location' not to have 'protocol:' in the beginning (only for "file:" needed).
354
+ stripProtocolFromLocation(module) {
355
+ const protocol = this.isFileModule(module) ? 'file' : 'git';
356
+ module.location = module.location.substring(protocol.length + 1, module.location.length);
357
+ }
358
+ // Fetches all dependencies for a module.
359
+ async transientDependencies(moduleName) {
360
+ const dependencies = await this.dependencies(moduleName);
361
+ let transientDependencies = new Set(dependencies);
362
+ for (const dependency of dependencies) {
363
+ const depTransients = await this.transientDependencies(dependency);
364
+ transientDependencies = new Set([
365
+ ...transientDependencies,
366
+ ...depTransients,
367
+ ]);
368
+ }
369
+ return transientDependencies;
370
+ }
276
371
  // Updates modules in the project.
277
372
  async update(module, credentials) {
278
373
  // Prints dots every half second so that user knows that something is ongoing
@@ -283,7 +378,9 @@ export class ModuleManager {
283
378
  // Stops the above, and shows results
284
379
  function finished(interval, modules) {
285
380
  clearInterval(interval);
286
- console.log(`\n... Found modules: ${modules.join(', ')}`);
381
+ if (modules.length > 0) {
382
+ console.log(`\n... Found modules: ${modules.join(', ')}`);
383
+ }
287
384
  }
288
385
  await this.prepare();
289
386
  let modules = module ? [module] : this.project.configuration.modules;
@@ -295,7 +392,7 @@ export class ModuleManager {
295
392
  let uniqueModules = [];
296
393
  try {
297
394
  await this.collectModulePrefixes(modules, credentials);
298
- uniqueModules = this.removeDuplicates(this.modules);
395
+ uniqueModules = await this.removeDuplicates(this.modules);
299
396
  }
300
397
  finally {
301
398
  finished(dotInterval, uniqueModules.map((item) => item.name));
@@ -360,6 +457,33 @@ export class ModuleManager {
360
457
  await this.addFileContents(sourcePath, destinationPath);
361
458
  return modulePrefix;
362
459
  }
460
+ /**
461
+ * Removed module from project.
462
+ * If module is not used by any other modules, then will remove the module from disk as well.
463
+ * Otherwise, only updates project configuration.
464
+ * @param moduleName Name of the module to remove
465
+ */
466
+ async removeModule(moduleName) {
467
+ const projectModules = this.project.configuration.modules;
468
+ const dependencies = await this.buildDependencyGraph(projectModules);
469
+ const module = await this.project.module(moduleName);
470
+ if (!module) {
471
+ throw new Error(`Module '${moduleName}' not found`);
472
+ }
473
+ // Project module can always be removed from project configuration,
474
+ // but modules under .cards/modules must be checked not to be used by
475
+ // other modules.
476
+ if (this.canBeRemoved(dependencies, moduleName)) {
477
+ const orphans = await this.orphanedModules(dependencies, moduleName);
478
+ await deleteDir(module.path);
479
+ for (const moduleToDelete of orphans) {
480
+ const modulePath = join(this.project.paths.modulesFolder, moduleToDelete);
481
+ await deleteDir(modulePath);
482
+ }
483
+ await this.project.collectModuleResources();
484
+ }
485
+ await this.project.configuration.removeModule(moduleName);
486
+ }
363
487
  /**
364
488
  * Imports module from a local file path or a git URL.
365
489
  * @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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"}
@@ -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":"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"}
1
+ {"version":3,"file":"project-settings.js","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cyberismo/data-handler",
3
3
  "description": "Command handler for cards and web service",
4
- "version": "0.0.7",
4
+ "version": "0.0.8",
5
5
  "author": "sami.merila@cyberismo.com",
6
6
  "license": "AGPL-3.0",
7
7
  "homepage": "https://github.com/CyberismoCom/cyberismo",
@@ -44,8 +44,8 @@
44
44
  "simple-git": "^3.2.0",
45
45
  "tslib": "^2.6.2",
46
46
  "write-json-file": "^6.0.0",
47
- "@cyberismo/node-clingo": "1.0.2",
48
- "@cyberismo/assets": "0.0.7"
47
+ "@cyberismo/node-clingo": "1.0.4",
48
+ "@cyberismo/assets": "0.0.8"
49
49
  },
50
50
  "type": "module",
51
51
  "files": [
@@ -53,7 +53,6 @@
53
53
  "src"
54
54
  ],
55
55
  "scripts": {
56
- "preinstall": "npx only-allow pnpm",
57
56
  "build": "tsc -p tsconfig.build.json",
58
57
  "clean": "rm -rf node_modules",
59
58
  "lint": "eslint .",