@cyberismo/data-handler 0.0.2
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.
- package/LICENSE +702 -0
- package/dist/card-metadata-updater.d.ts +33 -0
- package/dist/card-metadata-updater.js +121 -0
- package/dist/card-metadata-updater.js.map +1 -0
- package/dist/command-handler.d.ts +96 -0
- package/dist/command-handler.js +557 -0
- package/dist/command-handler.js.map +1 -0
- package/dist/command-manager.d.ts +43 -0
- package/dist/command-manager.js +73 -0
- package/dist/command-manager.js.map +1 -0
- package/dist/commands/calculate.d.ts +86 -0
- package/dist/commands/calculate.js +444 -0
- package/dist/commands/calculate.js.map +1 -0
- package/dist/commands/create.d.ts +114 -0
- package/dist/commands/create.js +389 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/edit.d.ts +37 -0
- package/dist/commands/edit.js +99 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/export-site.d.ts +45 -0
- package/dist/commands/export-site.js +301 -0
- package/dist/commands/export-site.js.map +1 -0
- package/dist/commands/export.d.ts +53 -0
- package/dist/commands/export.js +251 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +53 -0
- package/dist/commands/import.js +133 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/index.d.ts +26 -0
- package/dist/commands/index.js +27 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/move.d.ts +55 -0
- package/dist/commands/move.js +341 -0
- package/dist/commands/move.js.map +1 -0
- package/dist/commands/remove.d.ts +38 -0
- package/dist/commands/remove.js +192 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/commands/rename.d.ts +46 -0
- package/dist/commands/rename.js +289 -0
- package/dist/commands/rename.js.map +1 -0
- package/dist/commands/show.d.ts +124 -0
- package/dist/commands/show.js +345 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/transition.d.ts +27 -0
- package/dist/commands/transition.js +92 -0
- package/dist/commands/transition.js.map +1 -0
- package/dist/commands/update.d.ts +29 -0
- package/dist/commands/update.js +64 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate.d.ts +143 -0
- package/dist/commands/validate.js +689 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/containers/card-container.d.ts +44 -0
- package/dist/containers/card-container.js +282 -0
- package/dist/containers/card-container.js.map +1 -0
- package/dist/containers/project/project-paths.d.ts +46 -0
- package/dist/containers/project/project-paths.js +105 -0
- package/dist/containers/project/project-paths.js.map +1 -0
- package/dist/containers/project/resource-collector.d.ts +86 -0
- package/dist/containers/project/resource-collector.js +331 -0
- package/dist/containers/project/resource-collector.js.map +1 -0
- package/dist/containers/project.d.ts +351 -0
- package/dist/containers/project.js +896 -0
- package/dist/containers/project.js.map +1 -0
- package/dist/containers/template.d.ts +108 -0
- package/dist/containers/template.js +433 -0
- package/dist/containers/template.js.map +1 -0
- package/dist/exceptions/index.d.ts +19 -0
- package/dist/exceptions/index.js +26 -0
- package/dist/exceptions/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/adoc.d.ts +12 -0
- package/dist/interfaces/adoc.js +13 -0
- package/dist/interfaces/adoc.js.map +1 -0
- package/dist/interfaces/macros.d.ts +45 -0
- package/dist/interfaces/macros.js +13 -0
- package/dist/interfaces/macros.js.map +1 -0
- package/dist/interfaces/project-interfaces.d.ts +121 -0
- package/dist/interfaces/project-interfaces.js +21 -0
- package/dist/interfaces/project-interfaces.js.map +1 -0
- package/dist/interfaces/request-status-interfaces.d.ts +28 -0
- package/dist/interfaces/request-status-interfaces.js +20 -0
- package/dist/interfaces/request-status-interfaces.js.map +1 -0
- package/dist/interfaces/resource-interfaces.d.ts +117 -0
- package/dist/interfaces/resource-interfaces.js +20 -0
- package/dist/interfaces/resource-interfaces.js.map +1 -0
- package/dist/macros/base-macro.d.ts +31 -0
- package/dist/macros/base-macro.js +126 -0
- package/dist/macros/base-macro.js.map +1 -0
- package/dist/macros/common.d.ts +17 -0
- package/dist/macros/common.js +23 -0
- package/dist/macros/common.js.map +1 -0
- package/dist/macros/createCards/index.d.ts +36 -0
- package/dist/macros/createCards/index.js +35 -0
- package/dist/macros/createCards/index.js.map +1 -0
- package/dist/macros/createCards/metadata.d.ts +14 -0
- package/dist/macros/createCards/metadata.js +18 -0
- package/dist/macros/createCards/metadata.js.map +1 -0
- package/dist/macros/graph/index.d.ts +29 -0
- package/dist/macros/graph/index.js +91 -0
- package/dist/macros/graph/index.js.map +1 -0
- package/dist/macros/graph/metadata.d.ts +14 -0
- package/dist/macros/graph/metadata.js +18 -0
- package/dist/macros/graph/metadata.js.map +1 -0
- package/dist/macros/index.d.ts +93 -0
- package/dist/macros/index.js +237 -0
- package/dist/macros/index.js.map +1 -0
- package/dist/macros/report/index.d.ts +26 -0
- package/dist/macros/report/index.js +70 -0
- package/dist/macros/report/index.js.map +1 -0
- package/dist/macros/report/metadata.d.ts +14 -0
- package/dist/macros/report/metadata.js +18 -0
- package/dist/macros/report/metadata.js.map +1 -0
- package/dist/macros/scoreCard/index.d.ts +30 -0
- package/dist/macros/scoreCard/index.js +38 -0
- package/dist/macros/scoreCard/index.js.map +1 -0
- package/dist/macros/scoreCard/metadata.d.ts +14 -0
- package/dist/macros/scoreCard/metadata.js +18 -0
- package/dist/macros/scoreCard/metadata.js.map +1 -0
- package/dist/macros/task-queue.d.ts +46 -0
- package/dist/macros/task-queue.js +69 -0
- package/dist/macros/task-queue.js.map +1 -0
- package/dist/module-manager.d.ts +62 -0
- package/dist/module-manager.js +350 -0
- package/dist/module-manager.js.map +1 -0
- package/dist/permissions/action-guard.d.ts +28 -0
- package/dist/permissions/action-guard.js +61 -0
- package/dist/permissions/action-guard.js.map +1 -0
- package/dist/project-settings.d.ts +42 -0
- package/dist/project-settings.js +120 -0
- package/dist/project-settings.js.map +1 -0
- package/dist/resources/array-handler.d.ts +28 -0
- package/dist/resources/array-handler.js +116 -0
- package/dist/resources/array-handler.js.map +1 -0
- package/dist/resources/card-type-resource.d.ts +72 -0
- package/dist/resources/card-type-resource.js +334 -0
- package/dist/resources/card-type-resource.js.map +1 -0
- package/dist/resources/create-defaults.d.ts +81 -0
- package/dist/resources/create-defaults.js +184 -0
- package/dist/resources/create-defaults.js.map +1 -0
- package/dist/resources/field-type-resource.d.ts +88 -0
- package/dist/resources/field-type-resource.js +411 -0
- package/dist/resources/field-type-resource.js.map +1 -0
- package/dist/resources/file-resource.d.ts +50 -0
- package/dist/resources/file-resource.js +301 -0
- package/dist/resources/file-resource.js.map +1 -0
- package/dist/resources/folder-resource.d.ts +66 -0
- package/dist/resources/folder-resource.js +100 -0
- package/dist/resources/folder-resource.js.map +1 -0
- package/dist/resources/graph-model-resource.d.ts +78 -0
- package/dist/resources/graph-model-resource.js +164 -0
- package/dist/resources/graph-model-resource.js.map +1 -0
- package/dist/resources/graph-view-resource.d.ts +78 -0
- package/dist/resources/graph-view-resource.js +163 -0
- package/dist/resources/graph-view-resource.js.map +1 -0
- package/dist/resources/link-type-resource.d.ts +62 -0
- package/dist/resources/link-type-resource.js +150 -0
- package/dist/resources/link-type-resource.js.map +1 -0
- package/dist/resources/report-resource.d.ts +77 -0
- package/dist/resources/report-resource.js +171 -0
- package/dist/resources/report-resource.js.map +1 -0
- package/dist/resources/resource-object.d.ts +108 -0
- package/dist/resources/resource-object.js +147 -0
- package/dist/resources/resource-object.js.map +1 -0
- package/dist/resources/template-resource.d.ts +82 -0
- package/dist/resources/template-resource.js +173 -0
- package/dist/resources/template-resource.js.map +1 -0
- package/dist/resources/workflow-resource.d.ts +67 -0
- package/dist/resources/workflow-resource.js +156 -0
- package/dist/resources/workflow-resource.js.map +1 -0
- package/dist/types/queries.d.ts +142 -0
- package/dist/types/queries.js +16 -0
- package/dist/types/queries.js.map +1 -0
- package/dist/utils/card-utils.d.ts +34 -0
- package/dist/utils/card-utils.js +78 -0
- package/dist/utils/card-utils.js.map +1 -0
- package/dist/utils/clingo-fact-builder.d.ts +58 -0
- package/dist/utils/clingo-fact-builder.js +126 -0
- package/dist/utils/clingo-fact-builder.js.map +1 -0
- package/dist/utils/clingo-facts.d.ts +97 -0
- package/dist/utils/clingo-facts.js +352 -0
- package/dist/utils/clingo-facts.js.map +1 -0
- package/dist/utils/clingo-parser.d.ts +59 -0
- package/dist/utils/clingo-parser.js +403 -0
- package/dist/utils/clingo-parser.js.map +1 -0
- package/dist/utils/clingo-program-builder.d.ts +39 -0
- package/dist/utils/clingo-program-builder.js +57 -0
- package/dist/utils/clingo-program-builder.js.map +1 -0
- package/dist/utils/common-utils.d.ts +24 -0
- package/dist/utils/common-utils.js +47 -0
- package/dist/utils/common-utils.js.map +1 -0
- package/dist/utils/constants.d.ts +18 -0
- package/dist/utils/constants.js +27 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/csv.d.ts +18 -0
- package/dist/utils/csv.js +45 -0
- package/dist/utils/csv.js.map +1 -0
- package/dist/utils/file-utils.d.ts +69 -0
- package/dist/utils/file-utils.js +158 -0
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/json.d.ts +61 -0
- package/dist/utils/json.js +108 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/lexorank.d.ts +59 -0
- package/dist/utils/lexorank.js +159 -0
- package/dist/utils/lexorank.js.map +1 -0
- package/dist/utils/log-utils.d.ts +40 -0
- package/dist/utils/log-utils.js +109 -0
- package/dist/utils/log-utils.js.map +1 -0
- package/dist/utils/random.d.ts +19 -0
- package/dist/utils/random.js +34 -0
- package/dist/utils/random.js.map +1 -0
- package/dist/utils/resource-utils.d.ts +45 -0
- package/dist/utils/resource-utils.js +137 -0
- package/dist/utils/resource-utils.js.map +1 -0
- package/dist/utils/sanitize-svg.d.ts +18 -0
- package/dist/utils/sanitize-svg.js +38 -0
- package/dist/utils/sanitize-svg.js.map +1 -0
- package/dist/utils/user-preferences.d.ts +64 -0
- package/dist/utils/user-preferences.js +106 -0
- package/dist/utils/user-preferences.js.map +1 -0
- package/dist/utils/validate.d.ts +26 -0
- package/dist/utils/validate.js +53 -0
- package/dist/utils/validate.js.map +1 -0
- package/dist/utils/value-utils.d.ts +58 -0
- package/dist/utils/value-utils.js +181 -0
- package/dist/utils/value-utils.js.map +1 -0
- package/package.json +67 -0
- package/src/card-metadata-updater.ts +182 -0
- package/src/command-handler.ts +686 -0
- package/src/command-manager.ts +99 -0
- package/src/commands/calculate.ts +591 -0
- package/src/commands/create.ts +559 -0
- package/src/commands/edit.ts +123 -0
- package/src/commands/export-site.ts +356 -0
- package/src/commands/export.ts +315 -0
- package/src/commands/import.ts +169 -0
- package/src/commands/index.ts +42 -0
- package/src/commands/move.ts +451 -0
- package/src/commands/remove.ts +244 -0
- package/src/commands/rename.ts +378 -0
- package/src/commands/show.ts +442 -0
- package/src/commands/transition.ts +127 -0
- package/src/commands/update.ts +76 -0
- package/src/commands/validate.ts +962 -0
- package/src/containers/card-container.ts +378 -0
- package/src/containers/project/project-paths.ts +127 -0
- package/src/containers/project/resource-collector.ts +379 -0
- package/src/containers/project.ts +1135 -0
- package/src/containers/template.ts +573 -0
- package/src/exceptions/index.ts +29 -0
- package/src/index.ts +33 -0
- package/src/interfaces/adoc.ts +18 -0
- package/src/interfaces/macros.ts +54 -0
- package/src/interfaces/project-interfaces.ts +208 -0
- package/src/interfaces/request-status-interfaces.ts +30 -0
- package/src/interfaces/resource-interfaces.ts +179 -0
- package/src/macros/base-macro.ts +176 -0
- package/src/macros/common.ts +24 -0
- package/src/macros/createCards/index.ts +57 -0
- package/src/macros/createCards/metadata.ts +21 -0
- package/src/macros/graph/index.ts +130 -0
- package/src/macros/graph/metadata.ts +21 -0
- package/src/macros/index.ts +321 -0
- package/src/macros/report/index.ts +88 -0
- package/src/macros/report/metadata.ts +21 -0
- package/src/macros/scoreCard/index.ts +55 -0
- package/src/macros/scoreCard/metadata.ts +21 -0
- package/src/macros/task-queue.ts +79 -0
- package/src/module-manager.ts +443 -0
- package/src/permissions/action-guard.ts +77 -0
- package/src/project-settings.ts +140 -0
- package/src/resources/array-handler.ts +141 -0
- package/src/resources/card-type-resource.ts +455 -0
- package/src/resources/create-defaults.ts +216 -0
- package/src/resources/field-type-resource.ts +533 -0
- package/src/resources/file-resource.ts +433 -0
- package/src/resources/folder-resource.ts +140 -0
- package/src/resources/graph-model-resource.ts +205 -0
- package/src/resources/graph-view-resource.ts +199 -0
- package/src/resources/link-type-resource.ts +191 -0
- package/src/resources/report-resource.ts +224 -0
- package/src/resources/resource-object.ts +246 -0
- package/src/resources/template-resource.ts +210 -0
- package/src/resources/workflow-resource.ts +205 -0
- package/src/types/queries.ts +149 -0
- package/src/utils/card-utils.ts +83 -0
- package/src/utils/clingo-fact-builder.ts +167 -0
- package/src/utils/clingo-facts.ts +550 -0
- package/src/utils/clingo-parser.ts +519 -0
- package/src/utils/clingo-program-builder.ts +71 -0
- package/src/utils/common-utils.ts +54 -0
- package/src/utils/constants.ts +32 -0
- package/src/utils/csv.ts +53 -0
- package/src/utils/file-utils.ts +182 -0
- package/src/utils/json.ts +118 -0
- package/src/utils/lexorank.ts +180 -0
- package/src/utils/log-utils.ts +127 -0
- package/src/utils/random.ts +37 -0
- package/src/utils/resource-utils.ts +180 -0
- package/src/utils/sanitize-svg.ts +46 -0
- package/src/utils/user-preferences.ts +126 -0
- package/src/utils/validate.ts +66 -0
- package/src/utils/value-utils.ts +189 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2024
|
|
4
|
+
|
|
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/>.
|
|
13
|
+
*/
|
|
14
|
+
import { type CardAttachment, type Card, type FetchCardDetails } from '../interfaces/project-interfaces.js';
|
|
15
|
+
/**
|
|
16
|
+
* Card container base class. Used for both Project and Template.
|
|
17
|
+
* Contains common card-related functionality.
|
|
18
|
+
*/
|
|
19
|
+
export declare class CardContainer {
|
|
20
|
+
basePath: string;
|
|
21
|
+
protected containerName: string;
|
|
22
|
+
static projectConfigFileName: string;
|
|
23
|
+
static cardMetadataFile: string;
|
|
24
|
+
static cardContentFile: string;
|
|
25
|
+
static schemaContentFile: string;
|
|
26
|
+
constructor(path: string, name: string);
|
|
27
|
+
private childrenCards;
|
|
28
|
+
private doCollectAttachments;
|
|
29
|
+
private doCollectCards;
|
|
30
|
+
private doFindCard;
|
|
31
|
+
private getAttachments;
|
|
32
|
+
private getChildren;
|
|
33
|
+
private getContent;
|
|
34
|
+
private getMetadata;
|
|
35
|
+
private injectLinksIfMissing;
|
|
36
|
+
private parentCard;
|
|
37
|
+
protected attachments(path: string): Promise<CardAttachment[]>;
|
|
38
|
+
protected cards(path: string, details?: FetchCardDetails, directChildrenOnly?: boolean): Promise<Card[]>;
|
|
39
|
+
protected findCard(path: string, cardKey: string, details?: FetchCardDetails): Promise<Card | undefined>;
|
|
40
|
+
protected hasCard(cardKey: string, path: string): boolean;
|
|
41
|
+
protected saveCard(card: Card): Promise<void>;
|
|
42
|
+
protected saveCardContent(card: Card): Promise<void>;
|
|
43
|
+
protected saveCardMetadata(card: Card): Promise<void>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2024
|
|
4
|
+
|
|
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/>.
|
|
13
|
+
*/
|
|
14
|
+
// node
|
|
15
|
+
import { basename, join, sep } from 'node:path';
|
|
16
|
+
import { readdir, readFile, writeFile } from 'node:fs/promises';
|
|
17
|
+
import { writeJsonFile } from '../utils/json.js';
|
|
18
|
+
import { getFilesSync } from '../utils/file-utils.js';
|
|
19
|
+
// interfaces
|
|
20
|
+
import { CardNameRegEx, } from '../interfaces/project-interfaces.js';
|
|
21
|
+
// asciidoctor
|
|
22
|
+
import asciidoctor from '@asciidoctor/core';
|
|
23
|
+
import mime from 'mime-types';
|
|
24
|
+
/**
|
|
25
|
+
* Card container base class. Used for both Project and Template.
|
|
26
|
+
* Contains common card-related functionality.
|
|
27
|
+
*/
|
|
28
|
+
export class CardContainer {
|
|
29
|
+
basePath;
|
|
30
|
+
containerName;
|
|
31
|
+
static projectConfigFileName = 'cardsConfig.json';
|
|
32
|
+
static cardMetadataFile = 'index.json';
|
|
33
|
+
static cardContentFile = 'index.adoc';
|
|
34
|
+
static schemaContentFile = '.schema';
|
|
35
|
+
constructor(path, name) {
|
|
36
|
+
this.basePath = path;
|
|
37
|
+
this.containerName = name;
|
|
38
|
+
}
|
|
39
|
+
// Lists all direct children.
|
|
40
|
+
async childrenCards(cardPath, details) {
|
|
41
|
+
const containerCards = [];
|
|
42
|
+
await this.doCollectCards(cardPath, containerCards, details, true);
|
|
43
|
+
return containerCards;
|
|
44
|
+
}
|
|
45
|
+
// Function collects attachments from all cards in one folder.
|
|
46
|
+
async doCollectAttachments(folder, attachments) {
|
|
47
|
+
const currentPaths = [];
|
|
48
|
+
let entries = [];
|
|
49
|
+
try {
|
|
50
|
+
entries = (await readdir(folder, { withFileTypes: true })).filter((item) => item.isDirectory());
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// ignore throws, if currentPaths does not have more values, recursion will stop
|
|
54
|
+
}
|
|
55
|
+
for (const entry of entries) {
|
|
56
|
+
// Investigate the content of card folders' attachment folders, but do not continue to children cards.
|
|
57
|
+
// For each attachment folder, collect all files.
|
|
58
|
+
if (CardNameRegEx.test(entry.name)) {
|
|
59
|
+
currentPaths.push(join(entry.parentPath, entry.name));
|
|
60
|
+
}
|
|
61
|
+
else if (entry.name === 'c') {
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
else if (entry.name === 'a') {
|
|
65
|
+
const attachmentFolder = join(entry.parentPath, entry.name);
|
|
66
|
+
const cardItem = basename(entry.parentPath) || '';
|
|
67
|
+
let entryAttachments = [];
|
|
68
|
+
try {
|
|
69
|
+
entryAttachments = await readdir(attachmentFolder, {
|
|
70
|
+
withFileTypes: true,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// ignore readdir errors
|
|
75
|
+
}
|
|
76
|
+
entryAttachments.forEach((attachment) => attachments.push({
|
|
77
|
+
card: cardItem,
|
|
78
|
+
fileName: attachment.name,
|
|
79
|
+
path: attachment.parentPath,
|
|
80
|
+
mimeType: mime.lookup(attachment.name) || null,
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (currentPaths) {
|
|
85
|
+
const promises = currentPaths.map((item) => this.doCollectAttachments(item, attachments));
|
|
86
|
+
await Promise.all(promises);
|
|
87
|
+
}
|
|
88
|
+
return attachments;
|
|
89
|
+
}
|
|
90
|
+
// Collects all cards from container.
|
|
91
|
+
async doCollectCards(path, cards, details = {}, directChildrenOnly = false) {
|
|
92
|
+
let entries = [];
|
|
93
|
+
try {
|
|
94
|
+
entries = await readdir(path, { withFileTypes: true });
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
return cards;
|
|
98
|
+
}
|
|
99
|
+
let finish = false;
|
|
100
|
+
const currentPaths = [];
|
|
101
|
+
for (const entry of entries) {
|
|
102
|
+
if (entry.isDirectory()) {
|
|
103
|
+
const currentPath = join(entry.parentPath, entry.name);
|
|
104
|
+
currentPaths.push(currentPath);
|
|
105
|
+
if (CardNameRegEx.test(entry.name)) {
|
|
106
|
+
if (directChildrenOnly) {
|
|
107
|
+
// Make recursion stop on the level where first children cards are found.
|
|
108
|
+
finish = true;
|
|
109
|
+
}
|
|
110
|
+
const attachmentFiles = [];
|
|
111
|
+
const promiseContainer = [
|
|
112
|
+
this.getContent(currentPath, details.content),
|
|
113
|
+
this.getMetadata(currentPath, details.metadata),
|
|
114
|
+
this.getChildren(currentPath, details),
|
|
115
|
+
this.getAttachments(currentPath, attachmentFiles, details.attachments),
|
|
116
|
+
];
|
|
117
|
+
const [cardContent, cardMetadata, cardChildren] = await Promise.all(promiseContainer);
|
|
118
|
+
cards.push({
|
|
119
|
+
key: entry.name,
|
|
120
|
+
path: currentPath,
|
|
121
|
+
children: details.children ? cardChildren : [],
|
|
122
|
+
attachments: details.attachments ? [...attachmentFiles] : [],
|
|
123
|
+
...(details.content && { content: cardContent }),
|
|
124
|
+
...(details.metadata && {
|
|
125
|
+
metadata: JSON.parse(cardMetadata),
|
|
126
|
+
}),
|
|
127
|
+
...(details.parent && { parent: this.parentCard(currentPath) }),
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Continue collecting cards from children
|
|
133
|
+
if (!finish && currentPaths) {
|
|
134
|
+
const promises = currentPaths.map((item) => this.doCollectCards(item, cards, details, directChildrenOnly));
|
|
135
|
+
await Promise.all(promises);
|
|
136
|
+
}
|
|
137
|
+
return cards;
|
|
138
|
+
}
|
|
139
|
+
// Find specific card
|
|
140
|
+
async doFindCard(path, cardKey, details = {}, foundCards) {
|
|
141
|
+
const entries = await readdir(path, { withFileTypes: true });
|
|
142
|
+
let asciiDocProcessor;
|
|
143
|
+
// optimization: do not create AsciiDoctor Processor, unless it is needed.
|
|
144
|
+
if (details.contentType && details.contentType === 'html') {
|
|
145
|
+
asciiDocProcessor = asciidoctor();
|
|
146
|
+
}
|
|
147
|
+
for (const entry of entries) {
|
|
148
|
+
if (entry.isDirectory()) {
|
|
149
|
+
const currentPath = join(entry.parentPath, entry.name);
|
|
150
|
+
if (entry.name === cardKey) {
|
|
151
|
+
const attachmentFiles = [];
|
|
152
|
+
const promiseContainer = [
|
|
153
|
+
this.getContent(currentPath, details.content),
|
|
154
|
+
this.getMetadata(currentPath, details.metadata),
|
|
155
|
+
this.getChildren(currentPath, details),
|
|
156
|
+
this.getAttachments(currentPath, attachmentFiles, details.attachments),
|
|
157
|
+
];
|
|
158
|
+
const [cardContent, cardMetadata, cardChildren] = await Promise.all(promiseContainer);
|
|
159
|
+
const content = details.contentType && details.contentType === 'html'
|
|
160
|
+
? asciiDocProcessor?.convert(cardContent)
|
|
161
|
+
: cardContent;
|
|
162
|
+
foundCards.push({
|
|
163
|
+
key: entry.name,
|
|
164
|
+
path: currentPath,
|
|
165
|
+
children: details.children ? cardChildren : [],
|
|
166
|
+
attachments: details.attachments ? [...attachmentFiles] : [],
|
|
167
|
+
...(details.content && { content: content }),
|
|
168
|
+
...(details.metadata && {
|
|
169
|
+
metadata: JSON.parse(cardMetadata),
|
|
170
|
+
}),
|
|
171
|
+
...(details.parent && { parent: this.parentCard(currentPath) }),
|
|
172
|
+
...(details.calculations && { calculations: [] }),
|
|
173
|
+
});
|
|
174
|
+
break; //optimization - there can only be one.
|
|
175
|
+
}
|
|
176
|
+
// Only continue, if the card has not been found.
|
|
177
|
+
if (foundCards.length === 0) {
|
|
178
|
+
await this.doFindCard(currentPath, cardKey, details, foundCards);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return foundCards;
|
|
183
|
+
}
|
|
184
|
+
// Gets conditionally attachments
|
|
185
|
+
async getAttachments(currentPath, files, include) {
|
|
186
|
+
return include ? this.doCollectAttachments(currentPath, files) : [];
|
|
187
|
+
}
|
|
188
|
+
// Gets conditionally children
|
|
189
|
+
async getChildren(currentPath, details = {}) {
|
|
190
|
+
return details.children ? this.childrenCards(currentPath, details) : [];
|
|
191
|
+
}
|
|
192
|
+
// Gets conditionally content
|
|
193
|
+
async getContent(currentPath, include) {
|
|
194
|
+
return include
|
|
195
|
+
? readFile(join(currentPath, CardContainer.cardContentFile), {
|
|
196
|
+
encoding: 'utf-8',
|
|
197
|
+
})
|
|
198
|
+
: '';
|
|
199
|
+
}
|
|
200
|
+
// Gets conditionally metadata
|
|
201
|
+
async getMetadata(currentPath, include) {
|
|
202
|
+
let metadata = include
|
|
203
|
+
? await readFile(join(currentPath, CardContainer.cardMetadataFile), {
|
|
204
|
+
encoding: 'utf-8',
|
|
205
|
+
})
|
|
206
|
+
: '';
|
|
207
|
+
metadata = this.injectLinksIfMissing(metadata);
|
|
208
|
+
return metadata;
|
|
209
|
+
}
|
|
210
|
+
// Injects 'links' member - if it is missing - to a string representation of a card.
|
|
211
|
+
injectLinksIfMissing(metadata) {
|
|
212
|
+
if (metadata !== '' && !metadata.includes('"links":')) {
|
|
213
|
+
const end = metadata.lastIndexOf('}');
|
|
214
|
+
metadata = metadata.slice(0, end - 1) + ',\n "links": []\n' + '}';
|
|
215
|
+
}
|
|
216
|
+
return metadata;
|
|
217
|
+
}
|
|
218
|
+
// Finds parent
|
|
219
|
+
parentCard(cardPath) {
|
|
220
|
+
const pathParts = cardPath.split(sep);
|
|
221
|
+
if (pathParts.at(pathParts.length - 2) === 'cardRoot' ||
|
|
222
|
+
(pathParts.length > 3 &&
|
|
223
|
+
pathParts.at(pathParts.length - 4) === 'templates')) {
|
|
224
|
+
return 'root';
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
return pathParts.at(pathParts.length - 3);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// Lists all attachments from container.
|
|
231
|
+
async attachments(path) {
|
|
232
|
+
const attachments = [];
|
|
233
|
+
const cards = [];
|
|
234
|
+
await this.doCollectCards(path, cards, { attachments: true });
|
|
235
|
+
cards.forEach((card) => {
|
|
236
|
+
if (card.attachments) {
|
|
237
|
+
attachments.push(...card.attachments.flat());
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
return attachments;
|
|
241
|
+
}
|
|
242
|
+
// Lists all cards from container.
|
|
243
|
+
async cards(path, details = {}, directChildrenOnly = false) {
|
|
244
|
+
const containerCards = [];
|
|
245
|
+
await this.doCollectCards(path, containerCards, details, directChildrenOnly);
|
|
246
|
+
return containerCards;
|
|
247
|
+
}
|
|
248
|
+
// Finds a specific card.
|
|
249
|
+
async findCard(path, cardKey, details = {}) {
|
|
250
|
+
const foundCards = [];
|
|
251
|
+
await this.doFindCard(path, cardKey, details, foundCards);
|
|
252
|
+
return foundCards.at(0);
|
|
253
|
+
}
|
|
254
|
+
// Checks if container has the specified card.
|
|
255
|
+
hasCard(cardKey, path) {
|
|
256
|
+
const allFiles = getFilesSync(path);
|
|
257
|
+
const cardIndexJsonFile = join(cardKey, CardContainer.cardMetadataFile);
|
|
258
|
+
const found = allFiles.findIndex((file) => file.includes(cardIndexJsonFile));
|
|
259
|
+
return found !== -1;
|
|
260
|
+
}
|
|
261
|
+
// Persists card content.
|
|
262
|
+
async saveCard(card) {
|
|
263
|
+
await this.saveCardContent(card);
|
|
264
|
+
await this.saveCardMetadata(card);
|
|
265
|
+
}
|
|
266
|
+
// Persists card metadata.
|
|
267
|
+
async saveCardContent(card) {
|
|
268
|
+
if (card.content != null) {
|
|
269
|
+
const contentFile = join(card.path, CardContainer.cardContentFile);
|
|
270
|
+
await writeFile(contentFile, card.content);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
// Persists card metadata.
|
|
274
|
+
async saveCardMetadata(card) {
|
|
275
|
+
if (card.metadata != null) {
|
|
276
|
+
const metadataFile = join(card.path, CardContainer.cardMetadataFile);
|
|
277
|
+
card.metadata.lastUpdated = new Date().toISOString();
|
|
278
|
+
await writeJsonFile(metadataFile, card.metadata);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=card-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-container.js","sourceRoot":"","sources":["../../src/containers/card-container.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
5
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
6
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
7
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
8
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
See the GNU Affero General Public License for more details.
|
|
10
|
+
You should have received a copy of the GNU Affero General Public
|
|
11
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
|
+
*/
|
|
13
|
+
import type { ResourceFolderType } from '../../interfaces/project-interfaces.js';
|
|
14
|
+
/**
|
|
15
|
+
* Handles paths for a project.
|
|
16
|
+
*/
|
|
17
|
+
export declare class ProjectPaths {
|
|
18
|
+
private path;
|
|
19
|
+
private pathMap;
|
|
20
|
+
constructor(path: string);
|
|
21
|
+
get calculationCardsFolder(): string;
|
|
22
|
+
get calculationFolder(): string;
|
|
23
|
+
get calculationProjectFolder(): string;
|
|
24
|
+
get calculationResourcesFolder(): string;
|
|
25
|
+
get cardRootFolder(): string;
|
|
26
|
+
get cardTypesFolder(): string;
|
|
27
|
+
get configurationFile(): string;
|
|
28
|
+
get fieldTypesFolder(): string;
|
|
29
|
+
get graphModelsFolder(): string;
|
|
30
|
+
get graphViewsFolder(): string;
|
|
31
|
+
get linkTypesFolder(): string;
|
|
32
|
+
get logPath(): string;
|
|
33
|
+
get modulesFolder(): string;
|
|
34
|
+
get resourcesFolder(): string;
|
|
35
|
+
get reportsFolder(): string;
|
|
36
|
+
get tempCardFolder(): string;
|
|
37
|
+
get tempFolder(): string;
|
|
38
|
+
get templatesFolder(): string;
|
|
39
|
+
get workflowsFolder(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Return path to a resource type folder.
|
|
42
|
+
* @param resourceType Type of resource
|
|
43
|
+
* @returns path to a resources folder (e.g. '.cards/local/cardTypes')
|
|
44
|
+
*/
|
|
45
|
+
resourcePath(resourceType: ResourceFolderType): string;
|
|
46
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2025
|
|
4
|
+
This program is free software: you can redistribute it and/or modify it under
|
|
5
|
+
the terms of the GNU Affero General Public License version 3 as published by
|
|
6
|
+
the Free Software Foundation. This program is distributed in the hope that it
|
|
7
|
+
will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
|
8
|
+
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
9
|
+
See the GNU Affero General Public License for more details.
|
|
10
|
+
You should have received a copy of the GNU Affero General Public
|
|
11
|
+
License along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
12
|
+
*/
|
|
13
|
+
import { join } from 'node:path';
|
|
14
|
+
/**
|
|
15
|
+
* Handles paths for a project.
|
|
16
|
+
*/
|
|
17
|
+
export class ProjectPaths {
|
|
18
|
+
path;
|
|
19
|
+
pathMap;
|
|
20
|
+
constructor(path) {
|
|
21
|
+
this.path = path;
|
|
22
|
+
this.pathMap = new Map([
|
|
23
|
+
['calculations', this.calculationProjectFolder],
|
|
24
|
+
['cardTypes', this.cardTypesFolder],
|
|
25
|
+
['fieldTypes', this.fieldTypesFolder],
|
|
26
|
+
['graphModels', this.graphModelsFolder],
|
|
27
|
+
['graphViews', this.graphViewsFolder],
|
|
28
|
+
['linkTypes', this.linkTypesFolder],
|
|
29
|
+
['modules', this.modulesFolder],
|
|
30
|
+
['reports', this.reportsFolder],
|
|
31
|
+
['templates', this.templatesFolder],
|
|
32
|
+
['workflows', this.workflowsFolder],
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
35
|
+
get calculationCardsFolder() {
|
|
36
|
+
return join(this.calculationFolder, 'cards');
|
|
37
|
+
}
|
|
38
|
+
get calculationFolder() {
|
|
39
|
+
return join(this.path, '.calc');
|
|
40
|
+
}
|
|
41
|
+
get calculationProjectFolder() {
|
|
42
|
+
return join(this.resourcesFolder, 'calculations');
|
|
43
|
+
}
|
|
44
|
+
get calculationResourcesFolder() {
|
|
45
|
+
return join(this.calculationFolder, 'resources');
|
|
46
|
+
}
|
|
47
|
+
get cardRootFolder() {
|
|
48
|
+
return join(this.path, 'cardRoot');
|
|
49
|
+
}
|
|
50
|
+
get cardTypesFolder() {
|
|
51
|
+
return join(this.resourcesFolder, 'cardTypes');
|
|
52
|
+
}
|
|
53
|
+
get configurationFile() {
|
|
54
|
+
return join(this.resourcesFolder, 'cardsConfig.json');
|
|
55
|
+
}
|
|
56
|
+
get fieldTypesFolder() {
|
|
57
|
+
return join(this.resourcesFolder, 'fieldTypes');
|
|
58
|
+
}
|
|
59
|
+
get graphModelsFolder() {
|
|
60
|
+
return join(this.resourcesFolder, 'graphModels');
|
|
61
|
+
}
|
|
62
|
+
get graphViewsFolder() {
|
|
63
|
+
return join(this.resourcesFolder, 'graphViews');
|
|
64
|
+
}
|
|
65
|
+
get linkTypesFolder() {
|
|
66
|
+
return join(this.resourcesFolder, 'linkTypes');
|
|
67
|
+
}
|
|
68
|
+
get logPath() {
|
|
69
|
+
return join(this.resourcesFolder, 'dh.log');
|
|
70
|
+
}
|
|
71
|
+
get modulesFolder() {
|
|
72
|
+
return join(this.path, '.cards', 'modules');
|
|
73
|
+
}
|
|
74
|
+
get resourcesFolder() {
|
|
75
|
+
return join(this.path, '.cards', 'local');
|
|
76
|
+
}
|
|
77
|
+
get reportsFolder() {
|
|
78
|
+
return join(this.resourcesFolder, 'reports');
|
|
79
|
+
}
|
|
80
|
+
get tempCardFolder() {
|
|
81
|
+
return join(this.tempFolder, 'cards');
|
|
82
|
+
}
|
|
83
|
+
get tempFolder() {
|
|
84
|
+
return join(this.path, '.temp');
|
|
85
|
+
}
|
|
86
|
+
get templatesFolder() {
|
|
87
|
+
return join(this.resourcesFolder, 'templates');
|
|
88
|
+
}
|
|
89
|
+
get workflowsFolder() {
|
|
90
|
+
return join(this.resourcesFolder, 'workflows');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Return path to a resource type folder.
|
|
94
|
+
* @param resourceType Type of resource
|
|
95
|
+
* @returns path to a resources folder (e.g. '.cards/local/cardTypes')
|
|
96
|
+
*/
|
|
97
|
+
resourcePath(resourceType) {
|
|
98
|
+
const resourcePath = this.pathMap.get(resourceType);
|
|
99
|
+
if (!resourcePath) {
|
|
100
|
+
throw new Error(`unknown resourceType: ${resourceType}`);
|
|
101
|
+
}
|
|
102
|
+
return resourcePath;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=project-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-paths.js","sourceRoot":"","sources":["../../../src/containers/project/project-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Cyberismo
|
|
3
|
+
Copyright © Cyberismo Ltd and contributors 2024
|
|
4
|
+
|
|
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/>.
|
|
13
|
+
*/
|
|
14
|
+
import type { Project } from '../project.js';
|
|
15
|
+
import type { Resource, ResourceFolderType } from '../../interfaces/project-interfaces.js';
|
|
16
|
+
/**
|
|
17
|
+
* Defines where resources are collected from.
|
|
18
|
+
* all - everywhere
|
|
19
|
+
* importOnly - only from imported modules
|
|
20
|
+
* localOnly - only from the project itself; excluding imported modules
|
|
21
|
+
*/
|
|
22
|
+
export declare enum ResourcesFrom {
|
|
23
|
+
all = "all",
|
|
24
|
+
importedOnly = "imported",
|
|
25
|
+
localOnly = "local"
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* This class handles local and modules resources.
|
|
29
|
+
*/
|
|
30
|
+
export declare class ResourceCollector {
|
|
31
|
+
private project;
|
|
32
|
+
private local;
|
|
33
|
+
private modules;
|
|
34
|
+
private modulesCollected;
|
|
35
|
+
private paths;
|
|
36
|
+
constructor(project: Project);
|
|
37
|
+
private addResources;
|
|
38
|
+
private addModuleResources;
|
|
39
|
+
private addResourcesFromModules;
|
|
40
|
+
private joinResources;
|
|
41
|
+
private localResources;
|
|
42
|
+
private resourcesSync;
|
|
43
|
+
/**
|
|
44
|
+
* Collects all local resources.
|
|
45
|
+
*/
|
|
46
|
+
collectLocalResources(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Collect specific resource from modules.
|
|
49
|
+
* @param type Type of resource (e.g. 'templates').
|
|
50
|
+
* @returns array of collected items.
|
|
51
|
+
*/
|
|
52
|
+
collectResourcesFromModules(type: ResourceFolderType): Promise<string[]>;
|
|
53
|
+
/**
|
|
54
|
+
* Add a given 'resource' to the local resource arrays.
|
|
55
|
+
* @param resource Resource to add.
|
|
56
|
+
*/
|
|
57
|
+
add(resource: Resource): void;
|
|
58
|
+
/**
|
|
59
|
+
* Re-collects local resources.
|
|
60
|
+
*/
|
|
61
|
+
changed(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Re-collects imported module resources.
|
|
64
|
+
*/
|
|
65
|
+
moduleImported(): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Removes a resource from Project.
|
|
68
|
+
* @param resource Resource to remove.
|
|
69
|
+
* @returns the modified array.
|
|
70
|
+
*/
|
|
71
|
+
remove(resource: Resource): Resource[];
|
|
72
|
+
/**
|
|
73
|
+
* Checks if resource of 'type' with 'name' exists.
|
|
74
|
+
* @param type Type of resource (e.g. 'templates').
|
|
75
|
+
* @param name Name of the resource.
|
|
76
|
+
* @returns true, if resource exits, false otherwise.
|
|
77
|
+
*/
|
|
78
|
+
resourceExists(type: ResourceFolderType, name: string): Promise<boolean>;
|
|
79
|
+
/**
|
|
80
|
+
* Returns resources of 'type'. Returned resources are either local, or from modules or all of them.
|
|
81
|
+
* @param type Type of resource (e.g. 'templates').
|
|
82
|
+
* @param from Defines where resources are collected from.
|
|
83
|
+
* @returns Array of resources.
|
|
84
|
+
*/
|
|
85
|
+
resources(type: ResourceFolderType, from?: ResourcesFrom): Promise<Resource[]>;
|
|
86
|
+
}
|