@cyberismo/data-handler 0.0.5 → 0.0.7

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 (157) hide show
  1. package/README.md +1 -0
  2. package/dist/card-metadata-updater.d.ts +1 -0
  3. package/dist/card-metadata-updater.js +7 -2
  4. package/dist/card-metadata-updater.js.map +1 -1
  5. package/dist/command-handler.d.ts +6 -1
  6. package/dist/command-handler.js +16 -15
  7. package/dist/command-handler.js.map +1 -1
  8. package/dist/command-manager.d.ts +15 -4
  9. package/dist/command-manager.js +41 -9
  10. package/dist/command-manager.js.map +1 -1
  11. package/dist/commands/calculate.d.ts +4 -10
  12. package/dist/commands/calculate.js +67 -78
  13. package/dist/commands/calculate.js.map +1 -1
  14. package/dist/commands/export.js +3 -3
  15. package/dist/commands/export.js.map +1 -1
  16. package/dist/commands/import.d.ts +3 -8
  17. package/dist/commands/import.js +10 -14
  18. package/dist/commands/import.js.map +1 -1
  19. package/dist/commands/index.d.ts +1 -2
  20. package/dist/commands/index.js +1 -2
  21. package/dist/commands/index.js.map +1 -1
  22. package/dist/commands/remove.js +1 -1
  23. package/dist/commands/remove.js.map +1 -1
  24. package/dist/commands/show.d.ts +6 -3
  25. package/dist/commands/show.js +8 -5
  26. package/dist/commands/show.js.map +1 -1
  27. package/dist/commands/validate.js +6 -4
  28. package/dist/commands/validate.js.map +1 -1
  29. package/dist/containers/project/project-content-watcher.d.ts +28 -0
  30. package/dist/containers/project/project-content-watcher.js +54 -0
  31. package/dist/containers/project/project-content-watcher.js.map +1 -0
  32. package/dist/containers/project/project-paths.js +1 -1
  33. package/dist/containers/project/project-paths.js.map +1 -1
  34. package/dist/containers/project.d.ts +9 -2
  35. package/dist/containers/project.js +49 -1
  36. package/dist/containers/project.js.map +1 -1
  37. package/dist/containers/template.d.ts +1 -0
  38. package/dist/containers/template.js +7 -2
  39. package/dist/containers/template.js.map +1 -1
  40. package/dist/index.d.ts +2 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interfaces/macros.d.ts +2 -1
  43. package/dist/interfaces/project-interfaces.d.ts +5 -0
  44. package/dist/interfaces/project-interfaces.js.map +1 -1
  45. package/dist/interfaces/resource-interfaces.d.ts +14 -22
  46. package/dist/interfaces/resource-interfaces.js +10 -9
  47. package/dist/interfaces/resource-interfaces.js.map +1 -1
  48. package/dist/macros/graph/index.d.ts +1 -1
  49. package/dist/macros/graph/index.js +12 -12
  50. package/dist/macros/graph/index.js.map +1 -1
  51. package/dist/macros/index.d.ts +24 -3
  52. package/dist/macros/index.js +11 -4
  53. package/dist/macros/index.js.map +1 -1
  54. package/dist/macros/report/index.d.ts +13 -10
  55. package/dist/macros/report/index.js +26 -38
  56. package/dist/macros/report/index.js.map +1 -1
  57. package/dist/module-manager.d.ts +16 -7
  58. package/dist/module-manager.js +142 -112
  59. package/dist/module-manager.js.map +1 -1
  60. package/dist/project-settings.js +6 -0
  61. package/dist/project-settings.js.map +1 -1
  62. package/dist/resources/array-handler.js +6 -1
  63. package/dist/resources/array-handler.js.map +1 -1
  64. package/dist/resources/card-type-resource.d.ts +13 -9
  65. package/dist/resources/card-type-resource.js +47 -23
  66. package/dist/resources/card-type-resource.js.map +1 -1
  67. package/dist/resources/create-defaults.d.ts +10 -9
  68. package/dist/resources/create-defaults.js +15 -12
  69. package/dist/resources/create-defaults.js.map +1 -1
  70. package/dist/resources/field-type-resource.d.ts +0 -1
  71. package/dist/resources/field-type-resource.js +2 -10
  72. package/dist/resources/field-type-resource.js.map +1 -1
  73. package/dist/resources/file-resource.d.ts +7 -7
  74. package/dist/resources/file-resource.js +32 -7
  75. package/dist/resources/file-resource.js.map +1 -1
  76. package/dist/resources/folder-resource.d.ts +10 -9
  77. package/dist/resources/folder-resource.js +10 -9
  78. package/dist/resources/folder-resource.js.map +1 -1
  79. package/dist/resources/report-resource.d.ts +5 -6
  80. package/dist/resources/report-resource.js +16 -7
  81. package/dist/resources/report-resource.js.map +1 -1
  82. package/dist/resources/template-resource.d.ts +5 -6
  83. package/dist/resources/template-resource.js +7 -6
  84. package/dist/resources/template-resource.js.map +1 -1
  85. package/dist/resources/workflow-resource.d.ts +15 -8
  86. package/dist/resources/workflow-resource.js +124 -8
  87. package/dist/resources/workflow-resource.js.map +1 -1
  88. package/dist/types/queries.d.ts +11 -10
  89. package/dist/types/queries.js +10 -9
  90. package/dist/types/queries.js.map +1 -1
  91. package/dist/utils/clingo-fact-builder.d.ts +1 -0
  92. package/dist/utils/clingo-fact-builder.js +8 -3
  93. package/dist/utils/clingo-fact-builder.js.map +1 -1
  94. package/dist/utils/clingo-facts.js +15 -11
  95. package/dist/utils/clingo-facts.js.map +1 -1
  96. package/dist/utils/constants.d.ts +18 -12
  97. package/dist/utils/constants.js +18 -11
  98. package/dist/utils/constants.js.map +1 -1
  99. package/dist/utils/log-utils.d.ts +15 -2
  100. package/dist/utils/log-utils.js +20 -37
  101. package/dist/utils/log-utils.js.map +1 -1
  102. package/dist/utils/report.d.ts +27 -0
  103. package/dist/utils/report.js +60 -0
  104. package/dist/utils/report.js.map +1 -0
  105. package/dist/utils/resource-utils.js +3 -0
  106. package/dist/utils/resource-utils.js.map +1 -1
  107. package/dist/utils/sanitize-svg.d.ts +3 -4
  108. package/dist/utils/sanitize-svg.js +4 -7
  109. package/dist/utils/sanitize-svg.js.map +1 -1
  110. package/dist/utils/validate.js +2 -1
  111. package/dist/utils/validate.js.map +1 -1
  112. package/package.json +9 -10
  113. package/src/card-metadata-updater.ts +7 -2
  114. package/src/command-handler.ts +23 -13
  115. package/src/command-manager.ts +54 -13
  116. package/src/commands/calculate.ts +90 -106
  117. package/src/commands/export.ts +3 -2
  118. package/src/commands/import.ts +16 -16
  119. package/src/commands/index.ts +0 -2
  120. package/src/commands/remove.ts +1 -1
  121. package/src/commands/show.ts +13 -5
  122. package/src/commands/validate.ts +14 -9
  123. package/src/containers/project/project-content-watcher.ts +65 -0
  124. package/src/containers/project/project-paths.ts +1 -1
  125. package/src/containers/project.ts +60 -1
  126. package/src/containers/template.ts +7 -2
  127. package/src/index.ts +2 -0
  128. package/src/interfaces/macros.ts +2 -1
  129. package/src/interfaces/project-interfaces.ts +8 -0
  130. package/src/interfaces/resource-interfaces.ts +15 -22
  131. package/src/macros/graph/index.ts +17 -12
  132. package/src/macros/index.ts +32 -6
  133. package/src/macros/report/index.ts +32 -42
  134. package/src/module-manager.ts +183 -139
  135. package/src/project-settings.ts +7 -0
  136. package/src/resources/array-handler.ts +7 -2
  137. package/src/resources/card-type-resource.ts +61 -46
  138. package/src/resources/create-defaults.ts +15 -12
  139. package/src/resources/field-type-resource.ts +2 -17
  140. package/src/resources/file-resource.ts +46 -8
  141. package/src/resources/folder-resource.ts +11 -10
  142. package/src/resources/report-resource.ts +19 -7
  143. package/src/resources/template-resource.ts +7 -6
  144. package/src/resources/workflow-resource.ts +155 -8
  145. package/src/types/queries.ts +11 -10
  146. package/src/utils/clingo-fact-builder.ts +8 -3
  147. package/src/utils/clingo-facts.ts +18 -12
  148. package/src/utils/constants.ts +20 -12
  149. package/src/utils/log-utils.ts +24 -45
  150. package/src/utils/report.ts +86 -0
  151. package/src/utils/resource-utils.ts +4 -0
  152. package/src/utils/sanitize-svg.ts +4 -9
  153. package/src/utils/validate.ts +3 -2
  154. package/dist/commands/export-site.d.ts +0 -45
  155. package/dist/commands/export-site.js +0 -301
  156. package/dist/commands/export-site.js.map +0 -1
  157. package/src/commands/export-site.ts +0 -356
@@ -10,20 +10,17 @@
10
10
  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 { Import } from './commands/index.js';
14
- import type { ModuleSettingOptions } from './interfaces/project-interfaces.js';
13
+ import type { Credentials, ModuleSetting, ModuleSettingOptions } from './interfaces/project-interfaces.js';
15
14
  import { Project } from './containers/project.js';
16
15
  /**
17
16
  * Class that handles module updates and imports.
18
17
  */
19
18
  export declare class ModuleManager {
20
19
  private project;
21
- private importCmd;
22
20
  private modules;
23
21
  private tempModulesDir;
24
- constructor(project: Project, importCmd: Import);
22
+ constructor(project: Project);
25
23
  private addFileContents;
26
- private branch;
27
24
  private clone;
28
25
  private collectModulePrefixes;
29
26
  private configuration;
@@ -34,6 +31,7 @@ export declare class ModuleManager {
34
31
  private importFromFolder;
35
32
  private importFromTemp;
36
33
  private isFileModule;
34
+ private isGitModule;
37
35
  private prepare;
38
36
  private protocol;
39
37
  private remove;
@@ -41,6 +39,8 @@ export declare class ModuleManager {
41
39
  private removeProtocolFromLocation;
42
40
  private removeDuplicates;
43
41
  private repositoryName;
42
+ private setCloneOptions;
43
+ private update;
44
44
  private validatePrefix;
45
45
  /**
46
46
  * Imports module from local file path.
@@ -52,11 +52,20 @@ export declare class ModuleManager {
52
52
  * Imports module from gitUrl.
53
53
  * @param source Git URL to import from.
54
54
  * @param options Modules setting options.
55
+ * @param credentials Credentials for private repositories.
55
56
  * @returns module prefix as defined in its CardsConfig.json
56
57
  */
57
- importGitModule(source: string, options?: ModuleSettingOptions): Promise<string>;
58
+ importGitModule(source: string, options?: ModuleSettingOptions, credentials?: Credentials): Promise<string>;
59
+ /**
60
+ * Imports module from a local file path or a git URL.
61
+ * @param module Module to update. If not provided, updates all modules.
62
+ * @param credentials Optional credentials for private repositories.
63
+ * @returns Module prefix as defined in its CardsConfig.json
64
+ */
65
+ updateModule(module: ModuleSetting, credentials?: Credentials): Promise<void>;
58
66
  /**
59
67
  * Updates all imported modules.
68
+ * @param credentials Optional credentials for private modules.
60
69
  */
61
- update(): Promise<void>;
70
+ updateModules(credentials?: Credentials): Promise<void>;
62
71
  }
@@ -10,11 +10,9 @@
10
10
  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 fs from 'node:fs';
14
13
  import { join } from 'node:path';
15
14
  import { mkdir, readdir, rm } from 'node:fs/promises';
16
- import git from 'isomorphic-git';
17
- import http from 'isomorphic-git/http/node/index.js';
15
+ import { simpleGit } from 'simple-git';
18
16
  import { copyDir, deleteDir, pathExists } from './utils/file-utils.js';
19
17
  import { Project } from './containers/project.js';
20
18
  import { ProjectPaths } from './containers/project/project-paths.js';
@@ -23,17 +21,17 @@ import { Validate } from './commands/index.js';
23
21
  const FILE_PROTOCOL = 'file:';
24
22
  // todo: add support for git's default branch.
25
23
  const MAIN_BRANCH = 'main';
24
+ // timeout in milliseconds for git client (no stdout / stderr activity)
25
+ const DEFAULT_TIMEOUT = 10000;
26
26
  /**
27
27
  * Class that handles module updates and imports.
28
28
  */
29
29
  export class ModuleManager {
30
30
  project;
31
- importCmd;
32
31
  modules = [];
33
32
  tempModulesDir = '';
34
- constructor(project, importCmd) {
33
+ constructor(project) {
35
34
  this.project = project;
36
- this.importCmd = importCmd;
37
35
  this.tempModulesDir = join(this.project.paths.tempFolder, 'modules');
38
36
  }
39
37
  // Copies module files into project directories.
@@ -43,71 +41,66 @@ export class ModuleManager {
43
41
  // Update the resources.
44
42
  await this.project.collectModuleResources();
45
43
  }
46
- // Handles a branch of a repository.
47
- async branch(module) {
48
- if (module.branch === MAIN_BRANCH || module.branch === '' || !module.branch)
49
- return;
50
- await git.checkout({
51
- fs,
52
- dir: join(this.tempModulesDir, module.name),
53
- ref: module.branch,
54
- });
55
- console.error(`... Switched to '${module.branch}' branch for module '${module.name}'`);
56
- }
57
44
  // Handles cloning of a repository.
58
- async clone(module, verbose = true) {
45
+ async clone(module, verbose = true, credentials) {
59
46
  if (!module.name || module.name === '') {
60
47
  module.name = this.repositoryName(module.location);
61
48
  }
62
- let repoUrl;
63
- try {
64
- repoUrl = new URL(module.location);
65
- }
66
- catch {
67
- throw new Error(`Invalid repository URL: ${module.location}`);
49
+ const destinationPath = join(this.tempModulesDir, module.name);
50
+ let remote = module.location;
51
+ if (module.private) {
52
+ if (credentials && credentials?.username && credentials?.token) {
53
+ if (verbose) {
54
+ console.log(`... Using credentials '${credentials?.username}' for cloning '${module.name}'`);
55
+ }
56
+ try {
57
+ const repoUrl = new URL(module.location);
58
+ const user = credentials?.username;
59
+ const pass = credentials?.token;
60
+ const host = repoUrl.host;
61
+ const path = repoUrl.pathname;
62
+ remote = `https://${user}:${pass}@${host}${path}`;
63
+ }
64
+ catch {
65
+ throw new Error(`Invalid repository URL: ${module.location}`);
66
+ }
67
+ }
68
+ else {
69
+ if (verbose) {
70
+ console.log(`... Not using credentials for cloning '${module.name}'`);
71
+ }
72
+ }
68
73
  }
69
- if (process.env.CYBERISMO_GIT_USER &&
70
- process.env.CYBERISMO_GIT_TOKEN &&
71
- module.private) {
74
+ try {
75
+ await mkdir(this.tempModulesDir, { recursive: true });
76
+ const cloneOptions = this.setCloneOptions(module);
77
+ await rm(destinationPath, { recursive: true, force: true });
78
+ const git = simpleGit({
79
+ timeout: {
80
+ block: DEFAULT_TIMEOUT,
81
+ },
82
+ });
83
+ await git
84
+ // turn off git prompts
85
+ .env({ GIT_TERMINAL_PROMPT: 0, GCM_INTERACTIVE: 'never' })
86
+ .clone(remote, destinationPath, cloneOptions);
72
87
  if (verbose) {
73
- console.log(`... Using credentials '${process.env.CYBERISMO_GIT_USER}' for cloning '${module.name}'`);
88
+ console.log(`... Cloned '${module.name}' to a temporary folder`);
74
89
  }
75
- repoUrl.username = process.env.CYBERISMO_GIT_USER;
76
- repoUrl.password = process.env.CYBERISMO_GIT_TOKEN;
77
90
  }
78
- await git.clone({
79
- fs,
80
- http,
81
- dir: join(this.tempModulesDir, module.name),
82
- url: repoUrl.toString(),
83
- depth: 1,
84
- onAuth: () => {
85
- // Turn credentials 'off' when they are not available
86
- if (!process.env.CYBERISMO_GIT_USER ||
87
- !process.env.CYBERISMO_GIT_TOKEN) {
88
- return undefined;
89
- }
90
- // Turn credentials 'off' for public repos
91
- if (!module.private) {
92
- return undefined;
93
- }
94
- return {
95
- username: process.env.CYBERISMO_GIT_USER,
96
- password: process.env.CYBERISMO_GIT_TOKEN,
97
- };
98
- },
99
- });
100
- if (verbose) {
101
- console.log(`... Cloned '${module.name}' to a temporary folder`);
91
+ catch (error) {
92
+ console.error(error);
93
+ if (error instanceof Error)
94
+ throw new Error(`Failed to clone module '${module.name}': ${error.message}`);
102
95
  }
103
96
  return module.name;
104
97
  }
105
98
  // Collects all module prefixes from module hierarchy into 'this.modules'.
106
99
  // Note that collected result can contain duplicates.
107
- async collectModulePrefixes(modules) {
100
+ async collectModulePrefixes(modules, credentials) {
108
101
  if (modules) {
109
102
  for (const module of modules) {
110
- await this.doCollectModulePrefix(module);
103
+ await this.doCollectModulePrefix(module, credentials);
111
104
  }
112
105
  }
113
106
  }
@@ -123,7 +116,7 @@ export class ModuleManager {
123
116
  }
124
117
  // Collects one module's dependency prefixes to 'this.modules'.
125
118
  // Note that there can be duplicate entries.
126
- async doCollectModulePrefix(module) {
119
+ async doCollectModulePrefix(module, credentials) {
127
120
  let moduleRoot = '';
128
121
  if (this.isFileModule(module)) {
129
122
  const urlStart = FILE_PROTOCOL.length;
@@ -131,12 +124,12 @@ export class ModuleManager {
131
124
  moduleRoot = module.location.substring(urlStart, module.location.length);
132
125
  }
133
126
  else {
134
- await this.clone(module, false);
127
+ await this.clone(module, false, credentials);
135
128
  moduleRoot = join(this.tempModulesDir, module.name);
136
129
  }
137
130
  this.modules.push(module);
138
131
  const configuration = await this.configuration(moduleRoot);
139
- await this.collectModulePrefixes(configuration.modules);
132
+ await this.collectModulePrefixes(configuration.modules, credentials);
140
133
  }
141
134
  // Updates one module that is read from local file system.
142
135
  async handleFileModule(module) {
@@ -147,24 +140,23 @@ export class ModuleManager {
147
140
  // Updates one module that is received from Git.
148
141
  async handleGitModule(module) {
149
142
  await this.clone(module);
150
- await this.branch(module);
151
143
  await this.remove(module);
152
144
  await this.importFromTemp(module);
153
145
  }
154
146
  // Updates one module.
155
147
  async handleModule(module) {
156
- return this.isFileModule(module)
157
- ? this.handleFileModule(module)
158
- : this.handleGitModule(module);
148
+ return this.isGitModule(module)
149
+ ? this.handleGitModule(module)
150
+ : this.handleFileModule(module);
159
151
  }
160
152
  // Handles importing a module from module settings 'location'
161
153
  async importFromFolder(module) {
162
- await this.importCmd.updateExistingModule(module.location);
154
+ await this.importFileModule(module.location);
163
155
  console.log(`... Imported module '${module.name}' to '${this.project.configuration.name}'`);
164
156
  }
165
157
  // Handles importing a module from '.temp' folder
166
158
  async importFromTemp(module) {
167
- await this.importCmd.updateExistingModule(join(this.tempModulesDir, module.name));
159
+ await this.importFileModule(join(this.tempModulesDir, module.name));
168
160
  console.log(`... Imported module '${module.name}' to '${this.project.configuration.name}'`);
169
161
  }
170
162
  // Returns true if module is imported from file-system.
@@ -173,14 +165,27 @@ export class ModuleManager {
173
165
  return false;
174
166
  return module.location.startsWith('file:');
175
167
  }
168
+ // Returns true if module is imported from git.
169
+ isGitModule(module) {
170
+ if (!module.location)
171
+ return false;
172
+ return module.location.startsWith('https:');
173
+ }
176
174
  // Prepares '.temp/modules' for cloning
177
175
  async prepare() {
178
- await mkdir(this.tempModulesDir, { recursive: true });
179
- for (const file of await readdir(this.tempModulesDir)) {
180
- await rm(join(this.tempModulesDir, file), {
181
- force: true,
182
- recursive: true,
183
- });
176
+ try {
177
+ await mkdir(this.tempModulesDir, { recursive: true });
178
+ const files = await readdir(this.tempModulesDir);
179
+ for (const file of files) {
180
+ const filePath = join(this.tempModulesDir, file);
181
+ await rm(filePath, {
182
+ force: true,
183
+ recursive: true,
184
+ });
185
+ }
186
+ }
187
+ catch (error) {
188
+ throw new Error(`Failed to prepare temporary directory: ${error}`);
184
189
  }
185
190
  }
186
191
  // Returns whether to use git or file system for handling the module.
@@ -227,10 +232,11 @@ export class ModuleManager {
227
232
  for (const module of modules) {
228
233
  const existingModule = moduleMap.get(module.name);
229
234
  if (existingModule) {
230
- if (existingModule.private !== module.private) {
235
+ if ((existingModule.private && !module.private) ||
236
+ (!existingModule.private && module.private)) {
231
237
  throw new Error(`Module conflict: '${module.name}' has different access:\n` +
232
- ` - ${existingModule.private || 'undefined'}\n` +
233
- ` - ${module.private || 'undefined'}`);
238
+ ` - ${existingModule.private === true ? 'true' : 'false'}\n` +
239
+ ` - ${module.private === true ? 'true' : 'false'}`);
234
240
  }
235
241
  if (existingModule.location !== module.location) {
236
242
  throw new Error(`Module conflict: '${module.name}' has different locations:\n` +
@@ -257,6 +263,50 @@ export class ModuleManager {
257
263
  const repoName = gitUrl.substring(last + 1, gitUrl.length - 4); //remove trailing ".git"
258
264
  return repoName;
259
265
  }
266
+ // Sets cloning options.
267
+ setCloneOptions(module) {
268
+ const cloneOptions = ['--depth', '1'];
269
+ if (module.branch &&
270
+ module.branch !== '' &&
271
+ module.branch !== MAIN_BRANCH) {
272
+ cloneOptions.push('--branch', module.branch);
273
+ }
274
+ return cloneOptions;
275
+ }
276
+ // Updates modules in the project.
277
+ async update(module, credentials) {
278
+ // Prints dots every half second so that user knows that something is ongoing
279
+ function start() {
280
+ console.log('... Collecting unique modules. This takes a moment.');
281
+ return setInterval(() => process.stdout.write(`.`), 500);
282
+ }
283
+ // Stops the above, and shows results
284
+ function finished(interval, modules) {
285
+ clearInterval(interval);
286
+ console.log(`\n... Found modules: ${modules.join(', ')}`);
287
+ }
288
+ await this.prepare();
289
+ let modules = module ? [module] : this.project.configuration.modules;
290
+ if (modules.length === 0) {
291
+ throw new Error(`No modules in the project!`);
292
+ }
293
+ modules = modules.filter((module) => this.isGitModule(module));
294
+ const dotInterval = start();
295
+ let uniqueModules = [];
296
+ try {
297
+ await this.collectModulePrefixes(modules, credentials);
298
+ uniqueModules = this.removeDuplicates(this.modules);
299
+ }
300
+ finally {
301
+ finished(dotInterval, uniqueModules.map((item) => item.name));
302
+ // Update modules parallel.
303
+ const promises = [];
304
+ uniqueModules.forEach((module) => promises.push(this.handleModule(module)));
305
+ await Promise.all(promises);
306
+ await deleteDir(this.tempModulesDir);
307
+ await this.project.collectModuleResources();
308
+ }
309
+ }
260
310
  // Checks that module prefix is not in use in the project
261
311
  async validatePrefix(modulePrefix) {
262
312
  // Do not allow modules with same prefixes.
@@ -293,16 +343,16 @@ export class ModuleManager {
293
343
  * Imports module from gitUrl.
294
344
  * @param source Git URL to import from.
295
345
  * @param options Modules setting options.
346
+ * @param credentials Credentials for private repositories.
296
347
  * @returns module prefix as defined in its CardsConfig.json
297
348
  */
298
- async importGitModule(source, options) {
299
- const repoName = await this.clone({
300
- name: '',
349
+ async importGitModule(source, options, credentials) {
350
+ const clonedName = await this.clone({
351
+ name: this.repositoryName(source),
301
352
  location: source,
302
353
  ...options,
303
- });
304
- await this.branch({ name: repoName, location: source, ...options });
305
- const clonePath = join(this.project.paths.tempFolder, 'modules', repoName);
354
+ }, undefined, credentials);
355
+ const clonePath = join(this.tempModulesDir, clonedName);
306
356
  const modulePrefix = (await this.configuration(clonePath)).cardKeyPrefix;
307
357
  await this.validatePrefix(modulePrefix);
308
358
  const sourcePath = new ProjectPaths(clonePath).resourcesFolder;
@@ -310,41 +360,21 @@ export class ModuleManager {
310
360
  await this.addFileContents(sourcePath, destinationPath);
311
361
  return modulePrefix;
312
362
  }
363
+ /**
364
+ * Imports module from a local file path or a git URL.
365
+ * @param module Module to update. If not provided, updates all modules.
366
+ * @param credentials Optional credentials for private repositories.
367
+ * @returns Module prefix as defined in its CardsConfig.json
368
+ */
369
+ async updateModule(module, credentials) {
370
+ return this.update(module, credentials);
371
+ }
313
372
  /**
314
373
  * Updates all imported modules.
374
+ * @param credentials Optional credentials for private modules.
315
375
  */
316
- async update() {
317
- // Prints dots every half second so that user knows that something is ongoing
318
- function start() {
319
- console.log('... Collecting unique modules. This takes a moment.');
320
- return setInterval(() => process.stdout.write(`.`), 500);
321
- }
322
- // Stops the above, and shows results
323
- function finished(interval, modules) {
324
- clearInterval(interval);
325
- console.log(`\n... Found modules: ${modules.join(', ')}`);
326
- }
327
- await this.prepare();
328
- const modules = this.project.configuration.modules;
329
- if (modules.length === 0) {
330
- throw new Error(`No modules in the project!`);
331
- }
332
- const dotInterval = start();
333
- // Collect prefixes from project's dependency modules.
334
- await this.collectModulePrefixes(modules);
335
- let uniqueModules = [];
336
- try {
337
- uniqueModules = this.removeDuplicates(this.modules);
338
- }
339
- finally {
340
- finished(dotInterval, uniqueModules.map((item) => item.name));
341
- // Update modules parallel.
342
- const promises = [];
343
- uniqueModules.forEach((module) => promises.push(this.handleModule(module)));
344
- await Promise.all(promises);
345
- await deleteDir(this.tempModulesDir);
346
- await this.project.collectModuleResources();
347
- }
376
+ async updateModules(credentials) {
377
+ return this.update(undefined, credentials);
348
378
  }
349
379
  }
350
380
  //# sourceMappingURL=module-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../src/module-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;EAWE;AAEF,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,IAAI,MAAM,mCAAmC,CAAC;AAErD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMvE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,8CAA8C;AAC9C,MAAM,WAAW,GAAG,MAAM,CAAC;AAE3B;;GAEG;AACH,MAAM,OAAO,aAAa;IAId;IACA;IAJF,OAAO,GAAoB,EAAE,CAAC;IAC9B,cAAc,GAAW,EAAE,CAAC;IACpC,YACU,OAAgB,EAChB,SAAiB;QADjB,YAAO,GAAP,OAAO,CAAS;QAChB,cAAS,GAAT,SAAS,CAAQ;QAEzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,gDAAgD;IACxC,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,eAAuB;QACvE,cAAc;QACd,MAAM,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAE3C,wBAAwB;QACxB,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAC9C,CAAC;IAED,oCAAoC;IAC5B,KAAK,CAAC,MAAM,CAAC,MAAqB;QACxC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACzE,OAAO;QAET,MAAM,GAAG,CAAC,QAAQ,CAAC;YACjB,EAAE;YACF,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC;YAC3C,GAAG,EAAE,MAAM,CAAC,MAAM;SACnB,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,CACX,oBAAoB,MAAM,CAAC,MAAM,wBAAwB,MAAM,CAAC,IAAI,GAAG,CACxE,CAAC;IACJ,CAAC;IAED,mCAAmC;IAC3B,KAAK,CAAC,KAAK,CACjB,MAAqB,EACrB,UAAmB,IAAI;QAEvB,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAY,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IACE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB;YAC/B,MAAM,CAAC,OAAO,EACd,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CACT,0BAA0B,OAAO,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,MAAM,CAAC,IAAI,GAAG,CACzF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAClD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACrD,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,CAAC;YACd,EAAE;YACF,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC;YAC3C,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE;YACvB,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,EAAE;gBACX,qDAAqD;gBACrD,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;oBAC/B,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAChC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,OAAO;oBACL,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;oBACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;iBAC1C,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,0EAA0E;IAC1E,qDAAqD;IAC7C,KAAK,CAAC,qBAAqB,CAAC,OAAwB;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IAC5C,KAAK,CAAC,aAAa,CAAC,IAAY;QACtC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,4CAA4C;IACpC,KAAK,CAAC,qBAAqB,CAAC,MAAqB;QACvD,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC;YACtC,+BAA+B;YAC/B,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAChC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,0DAA0D;IAClD,KAAK,CAAC,gBAAgB,CAAC,MAAqB;QAClD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,gDAAgD;IACxC,KAAK,CAAC,eAAe,CAAC,MAAqB;QACjD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,sBAAsB;IACd,KAAK,CAAC,YAAY,CAAC,MAAqB;QAC9C,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,6DAA6D;IACrD,KAAK,CAAC,gBAAgB,CAAC,MAAqB;QAClD,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CACT,wBAAwB,MAAM,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,CAC/E,CAAC;IACJ,CAAC;IAED,iDAAiD;IACzC,KAAK,CAAC,cAAc,CAAC,MAAqB;QAChD,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CACvC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CACvC,CAAC;QACF,OAAO,CAAC,GAAG,CACT,wBAAwB,MAAM,CAAC,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,GAAG,CAC/E,CAAC;IACJ,CAAC;IAED,uDAAuD;IAC/C,YAAY,CAAC,MAAqB;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,uCAAuC;IAC/B,KAAK,CAAC,OAAO;QACnB,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACtD,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;gBACxC,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qEAAqE;IAC7D,QAAQ,CAAC,MAAqB;QACpC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,uCAAuC;IAC/B,KAAK,CAAC,MAAM,CAAC,MAAqB;QACxC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK;gBACxB,OAAO,CAAC,KAAK,CACX,4BAA4B,MAAM,CAAC,IAAI,oBAAoB,CAC5D,CAAC;QACN,CAAC;IACH,CAAC;IAED,uBAAuB;IACf,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,aAAa,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,kGAAkG;IAC1F,0BAA0B,CAAC,MAAqB;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CACzC,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,MAAM,CAAC,QAAQ,CAAC,MAAM,CACvB,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,2DAA2D;IAC3D,iFAAiF;IACjF,kDAAkD;IAC1C,gBAAgB,CAAC,OAAwB;QAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEnD,oDAAoD;QACpD,MAAM,eAAe,GAAG,CAAC,MAA0B,EAAU,EAAE;YAC7D,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;gBACvD,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,cAAc,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,CAAC,IAAI,2BAA2B;wBACzD,OAAO,cAAc,CAAC,OAAO,IAAI,WAAW,IAAI;wBAChD,OAAO,MAAM,CAAC,OAAO,IAAI,WAAW,EAAE,CACzC,CAAC;gBACJ,CAAC;gBACD,IAAI,cAAc,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,CAAC,IAAI,8BAA8B;wBAC5D,OAAO,cAAc,CAAC,QAAQ,IAAI;wBAClC,OAAO,MAAM,CAAC,QAAQ,EAAE,CAC3B,CAAC;gBACJ,CAAC;gBACD,MAAM,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC9D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEjD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,qBAAqB,MAAM,CAAC,IAAI,6BAA6B;wBAC3D,OAAO,cAAc,CAAC,MAAM,IAAI,WAAW,IAAI;wBAC/C,OAAO,MAAM,CAAC,MAAM,IAAI,WAAW,EAAE,CACxC,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,mCAAmC;IAC3B,cAAc,CAAC,MAAc;QACnC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB;QACxF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,yDAAyD;IACjD,KAAK,CAAC,cAAc,CAAC,YAAoB;QAC/C,2CAA2C;QAC3C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACnE,IAAI,qBAAqB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,kCAAkC,YAAY,mEAAmE,CAClH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,WAAoB;QAChE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CACb,mDAAmD,MAAM,GAAG,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,gDAAgD,MAAM,GAAG,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,uDAAuD,WAAW,GAAG,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC;QACjD,MAAM,eAAe,GAAG,IAAI,CAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAChC,YAAY,CACb,CAAC;QACF,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;QAEvD,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAExC,cAAc;QACd,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,OAA8B;QACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,MAAM;YAChB,GAAG,OAAO;SACX,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;QACzE,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC;QAC/D,MAAM,eAAe,GAAG,IAAI,CAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAChC,YAAY,CACb,CAAC;QACF,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACxD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM;QACjB,6EAA6E;QAC7E,SAAS,KAAK;YACZ,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACnE,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,qCAAqC;QACrC,SAAS,QAAQ,CAAC,QAAwB,EAAE,OAAiB;YAC3D,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAErB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;QACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,EAAE,CAAC;QAE5B,sDAAsD;QACtD,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,aAAa,GAAoB,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,QAAQ,CACN,WAAW,EACX,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACvC,CAAC;YAEF,2BAA2B;YAC3B,MAAM,QAAQ,GAAoB,EAAE,CAAC;YACrC,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACzC,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE5B,MAAM,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"module-manager.js","sourceRoot":"","sources":["../src/module-manager.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  License along with this program. If not, see <https://www.gnu.org/licenses/>.
12
12
  */
13
13
  import { writeJsonFile as atomicWrite } from 'write-json-file';
14
+ import { resolve } from 'path';
14
15
  import { readJsonFileSync } from './utils/json.js';
15
16
  import { Validate } from './commands/index.js';
16
17
  /**
@@ -86,6 +87,11 @@ export class ProjectConfiguration {
86
87
  if (exists) {
87
88
  throw new Error(`Module '${module.name}' already imported`);
88
89
  }
90
+ // Ensure that module file location is absolute
91
+ if (module.location && module.location.startsWith('file:')) {
92
+ const filePath = module.location.substring(5, module.location.length);
93
+ module.location = `file:${resolve(filePath)}`;
94
+ }
89
95
  this.modules.push(module);
90
96
  return this.save();
91
97
  }
@@ -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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"}
@@ -69,11 +69,16 @@ export class ArrayHandler {
69
69
  if (targetIndex === -1) {
70
70
  throw new Error(`Item '${JSON.stringify(target)}' not found`);
71
71
  }
72
+ const actualTarget = array[targetIndex];
72
73
  const parsedTo = this.tryParseJSON(to);
73
74
  if (typeof to === 'string' && (to.startsWith('[') || to.startsWith('{'))) {
74
75
  return parsedTo;
75
76
  }
76
- return array.map((item) => deepCompare(item, target) ? parsedTo : item);
77
+ const updatedArray = array.map((item) => deepCompare(item, actualTarget) ? parsedTo : item);
78
+ if (deepCompare(updatedArray, array)) {
79
+ throw new Error('Cannot change value. Target was not found.');
80
+ }
81
+ return updatedArray;
77
82
  }
78
83
  handleRank(operation, array) {
79
84
  const { target, newIndex } = operation;
@@ -1 +1 @@
1
- {"version":3,"file":"array-handler.js","sourceRoot":"","sources":["../../src/resources/array-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array-handler.js","sourceRoot":"","sources":["../../src/resources/array-handler.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
1
  /**
2
- Cyberismo
3
- Copyright © Cyberismo Ltd and contributors 2024
2
+ Cyberismo
3
+ Copyright © Cyberismo Ltd and contributors 2024
4
4
 
5
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation.
6
-
7
- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
8
-
9
- You should have received a copy of the GNU Affero General Public
10
- License along with this program. If not, see <https://www.gnu.org/licenses/>.
5
+ This program is free software: you can redistribute it and/or modify it under
6
+ the terms of the GNU Affero General Public License version 3 as published by
7
+ the Free Software Foundation. This program is distributed in the hope that it
8
+ will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
9
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
+ See the GNU Affero General Public License for more details.
11
+ You should have received a copy of the GNU Affero General Public
12
+ License along with this program. If not, see <https://www.gnu.org/licenses/>.
11
13
  */
12
14
  import type { CardType } from '../interfaces/resource-interfaces.js';
13
15
  import { type Card, FileResource, type Operation, type Project, type ResourceName } from './file-resource.js';
@@ -17,17 +19,19 @@ import { type Card, FileResource, type Operation, type Project, type ResourceNam
17
19
  export declare class CardTypeResource extends FileResource {
18
20
  constructor(project: Project, name: ResourceName);
19
21
  private cardsWithCardType;
20
- private collectCards;
22
+ private fieldTypeExists;
21
23
  private handleCustomFieldsChange;
22
24
  private handleAddNewField;
23
25
  private handleNameChange;
24
26
  private handleRemoveField;
27
+ private hasFieldType;
25
28
  private removeValue;
26
29
  private relevantLinkTypes;
27
30
  private removeValueFromOtherArrays;
28
31
  private setContainerValues;
29
32
  private updateLinkTypes;
30
33
  private updateCardMetadata;
34
+ private validateFieldType;
31
35
  /**
32
36
  * Creates a new card type object. Base class writes the object to disk automatically.
33
37
  * @param workflowName Workflow name that this card type uses.