steedos-cli 3.0.11-beta.5 → 3.0.11

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.
@@ -0,0 +1,9 @@
1
+ declare const Command: any, flags: any;
2
+ declare const path: any;
3
+ declare const fs: any;
4
+ declare const yaml: any;
5
+ declare class MergeCommand extends Command {
6
+ run(): Promise<void>;
7
+ getAllFiles(dirPath: string, arrayOfFiles?: string[]): string[];
8
+ processObjectFile(objectFilePath: any): Promise<void>;
9
+ }
@@ -0,0 +1,89 @@
1
+ const { Command, flags } = require("@oclif/command");
2
+ const path = require("path");
3
+ const fs = require("fs-extra");
4
+ const yaml = require("js-yaml");
5
+ class MergeCommand extends Command {
6
+ async run() {
7
+ const { flags } = this.parse(MergeCommand);
8
+ const rootPath = path.resolve(flags.path || process.cwd());
9
+ this.log(`Scanning for objects in ${rootPath}...`);
10
+ const allFiles = this.getAllFiles(rootPath);
11
+ const objectFiles = allFiles.filter((f) => f.endsWith(".object.yml"));
12
+ this.log(`Found ${objectFiles.length} object files.`);
13
+ for (const objectFile of objectFiles) {
14
+ await this.processObjectFile(objectFile);
15
+ }
16
+ this.log("Merge completed.");
17
+ }
18
+ getAllFiles(dirPath, arrayOfFiles = []) {
19
+ const files = fs.readdirSync(dirPath);
20
+ files.forEach((file) => {
21
+ const fullPath = path.join(dirPath, file);
22
+ if (fs.statSync(fullPath).isDirectory()) {
23
+ if (file !== "node_modules" && !file.startsWith(".")) {
24
+ arrayOfFiles = this.getAllFiles(fullPath, arrayOfFiles);
25
+ }
26
+ }
27
+ else {
28
+ arrayOfFiles.push(fullPath);
29
+ }
30
+ });
31
+ return arrayOfFiles;
32
+ }
33
+ async processObjectFile(objectFilePath) {
34
+ const objectDir = path.dirname(objectFilePath);
35
+ const fieldsDir = path.join(objectDir, "fields");
36
+ if (fs.existsSync(fieldsDir) && fs.statSync(fieldsDir).isDirectory()) {
37
+ try {
38
+ const fileContent = fs.readFileSync(objectFilePath, "utf8");
39
+ const objectContent = yaml.load(fileContent) || {};
40
+ if (!objectContent.fields) {
41
+ objectContent.fields = {};
42
+ }
43
+ const fieldFiles = fs
44
+ .readdirSync(fieldsDir)
45
+ .filter((f) => f.endsWith(".field.yml"));
46
+ if (fieldFiles.length > 0) {
47
+ this.log(`Processing fields for ${path.basename(objectFilePath)}`);
48
+ let objectContentChanged = false;
49
+ for (const fieldFile of fieldFiles) {
50
+ const fieldPath = path.join(fieldsDir, fieldFile);
51
+ try {
52
+ const fieldContent = yaml.load(fs.readFileSync(fieldPath, "utf8"));
53
+ const fieldName = fieldContent.name || fieldFile.replace(".field.yml", "");
54
+ objectContent.fields[fieldName] = fieldContent;
55
+ objectContentChanged = true;
56
+ }
57
+ catch (e) {
58
+ this.error(`Error processing field ${fieldFile}: ${e}`);
59
+ }
60
+ }
61
+ if (objectContentChanged) {
62
+ const newYaml = yaml.dump(objectContent, {
63
+ lineWidth: -1,
64
+ noRefs: true,
65
+ });
66
+ fs.writeFileSync(objectFilePath, newYaml, "utf8");
67
+ this.log(`Updated ${objectFilePath}`);
68
+ fs.removeSync(fieldsDir);
69
+ this.log(`Deleted ${fieldsDir}`);
70
+ }
71
+ }
72
+ }
73
+ catch (e) {
74
+ this.error(`Error processing ${objectFilePath}: ${e}`);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ MergeCommand.description =
80
+ "Merge split object fields back into the main object yaml file";
81
+ MergeCommand.flags = {
82
+ path: flags.string({
83
+ char: "p",
84
+ description: "root path to scan for objects",
85
+ required: false,
86
+ }),
87
+ };
88
+ module.exports = MergeCommand;
89
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/commands/source/merge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "steedos-cli",
3
- "version": "3.0.11-beta.5",
3
+ "version": "3.0.11",
4
4
  "description": "Develop and run your enterprise apps in miniutes",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -33,8 +33,8 @@
33
33
  "@oclif/command": "^1.8.16",
34
34
  "@oclif/config": "^1.8.3",
35
35
  "@oclif/plugin-help": "^5.1.12",
36
- "@steedos/metadata-core": "3.0.11-beta.5",
37
- "@steedos/metadata-registrar": "3.0.11-beta.5",
36
+ "@steedos/metadata-core": "3.0.11",
37
+ "@steedos/metadata-registrar": "3.0.11",
38
38
  "archiver": "^5.0.2",
39
39
  "axios": "^1.13.2",
40
40
  "chalk": "2.4.2",
@@ -76,5 +76,5 @@
76
76
  "publishConfig": {
77
77
  "access": "public"
78
78
  },
79
- "gitHead": "a7a4084925f55b61a266c7ddf1655275a9b52ea1"
79
+ "gitHead": "e7573652f9afbc29664e27865e308c67ab05aa92"
80
80
  }