@microtronics/studio-cli 0.4.0 → 0.5.0

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.
@@ -14,7 +14,7 @@ var DefaultFiles;
14
14
  mainAmxReport: 'main.xml',
15
15
  ddeXml: 'dde.xml',
16
16
  ddeOpenApi: 'main.yaml',
17
- ddeJson: 'history.json',
17
+ historyJson: 'history.json',
18
18
  mainDDE: 'main.dde',
19
19
  // autogenerated dlo files
20
20
  autoInc: 'auto.inc',
@@ -58,7 +58,7 @@ var DefaultFiles;
58
58
  ddeApiPath: `${deployDirectoryName}api/`,
59
59
  ddeApi: `${deployDirectoryName}api/${DefaultFiles.fileNames.ddeOpenApi}`,
60
60
  // ddeJson has changed to history.json and is now in dde/ dir
61
- ddeJson: `${ddeDirectoryName}${DefaultFiles.fileNames.ddeJson}`,
61
+ historyJson: `${ddeDirectoryName}${DefaultFiles.fileNames.historyJson}`,
62
62
  povPath: `${deployDirectoryName}pov`,
63
63
  povDetailsPath: `${deployDirectoryName}pov/details`,
64
64
  dfilesPath: `${deployDirectoryName}dfiles`,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../src/globals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,OAAO,EAAE,MAAM,MAAM,CAAC;AACpD,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AAQxC,yBAAiB,OAAO,CAAC;IACxB,UAAiB,OAAO;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB;IAED;;;;OAIG;IACH,SAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBlE;CACD"}
package/out/globals.js ADDED
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Globals = void 0;
27
+ const FS_1 = require("./FS");
28
+ const vscode_uri_1 = require("vscode-uri");
29
+ const dependencies_1 = require("./dependencies");
30
+ const manifest_1 = require("./manifest");
31
+ const defaultFiles_1 = require("./defaultFiles");
32
+ const ini = __importStar(require("ini"));
33
+ const DLO_PATH = defaultFiles_1.DefaultFiles.filePaths.dlo.path;
34
+ var Globals;
35
+ (function (Globals) {
36
+ /**
37
+ * Read all ini files from the project directory
38
+ * @param cwd
39
+ * @param fs
40
+ */
41
+ async function read(cwd, fs) {
42
+ const manifest = await manifest_1.Manifest.read(cwd, fs);
43
+ const allDependencies = await dependencies_1.Dependencies.getAll(manifest);
44
+ const allDefines = {};
45
+ for (const dependencyId in allDependencies) {
46
+ const depPath = dependencies_1.Dependencies.dependencyToPath(cwd, dependencyId);
47
+ const name = dependencies_1.Dependencies.dependencyIdToName(dependencyId);
48
+ const libIniPath = vscode_uri_1.Utils.joinPath(depPath, DLO_PATH, `${name}.ini`);
49
+ const hasIni = await fs.stat(libIniPath);
50
+ if (hasIni) {
51
+ const iniContent = await readIniFile(fs, libIniPath);
52
+ Object.assign(allDefines, iniContent);
53
+ }
54
+ }
55
+ // load the projects main.ini and overwrite existing defines
56
+ const mainIni = vscode_uri_1.Utils.joinPath(cwd, defaultFiles_1.DefaultFiles.filePaths.dlo.mainINI);
57
+ if (await fs.stat(mainIni)) {
58
+ const iniContent = await readIniFile(fs, mainIni);
59
+ Object.assign(allDefines, iniContent);
60
+ }
61
+ return allDefines;
62
+ }
63
+ Globals.read = read;
64
+ })(Globals || (exports.Globals = Globals = {}));
65
+ /**
66
+ * Read given ini file from disk
67
+ * @param filePath
68
+ * @param fs
69
+ */
70
+ async function readIniFile(fs, filePath) {
71
+ const iniContent = await fs.readFile(filePath);
72
+ return ini.parse((0, FS_1.convertBlobToString)(iniContent));
73
+ }
74
+ //# sourceMappingURL=globals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAE1C,yBAAiB,MAAM,CAAC;IACvB;;;;OAIG;IACH,SAAgB,0BAA0B,CACzC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,KAAK,GACf;QACF,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACrB,CAQA;CACD"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAG1C,yBAAiB,MAAM,CAAC;IACvB;;;;OAIG;IACH,SAAgB,0BAA0B,CACzC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,KAAK,GACf;QACF,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACrB,CAQA;IAID;;;OAGG;IACH,SAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,UAE7D;IAED,SAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,UAEvD;IAED;;;OAGG;IACH,SAAgB,2BAA2B,CAAC,OAAO,EAAE,UAAU,UAE9D;CACD"}
package/out/helper.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Helper = void 0;
4
+ const crc_1 = require("./crc");
4
5
  var Helper;
5
6
  (function (Helper) {
6
7
  /**
@@ -18,5 +19,26 @@ var Helper;
18
19
  };
19
20
  }
20
21
  Helper.yamlRangeToLineInformation = yamlRangeToLineInformation;
22
+ const textEncoder = new TextEncoder();
23
+ /**
24
+ * Generates based on the name of the library a CRC16 Modbus hash
25
+ * @param libraryName
26
+ */
27
+ function generateHashForLibraryName(libraryName) {
28
+ return (0, crc_1.crc32_ethernet)(textEncoder.encode(libraryName)).toString(16);
29
+ }
30
+ Helper.generateHashForLibraryName = generateHashForLibraryName;
31
+ function generateHashForFilePath(filePath) {
32
+ return (0, crc_1.crc32_ethernet)(textEncoder.encode(filePath)).toString(16);
33
+ }
34
+ Helper.generateHashForFilePath = generateHashForFilePath;
35
+ /**
36
+ * Generate CRC32 for any binary blob
37
+ * @param content
38
+ */
39
+ function generateCRC32ForFileContent(content) {
40
+ return (0, crc_1.crc32_ethernet)(content).toString(16).toUpperCase().padStart(8, '0');
41
+ }
42
+ Helper.generateCRC32ForFileContent = generateCRC32ForFileContent;
21
43
  })(Helper || (exports.Helper = Helper = {}));
22
44
  //# sourceMappingURL=helper.js.map
package/out/main.js CHANGED
@@ -60,6 +60,9 @@ program
60
60
  // todo log warning and errors!
61
61
  if (result.ddeJSON) {
62
62
  await dde_1.DDE.exportMyDatanetXML(cwd, cliFS_1.cliFS, result.ddeJSON);
63
+ await dde_1.DDE.exportHistoryJson(cwd, cliFS_1.cliFS, result.ddeJSON);
64
+ await dde_1.DDE.exportAutoDloFiles(cwd, cliFS_1.cliFS, result.ddeJSON);
65
+ await dde_1.DDE.exportOpenApi(cwd, cliFS_1.cliFS, result.ddeJSON);
63
66
  }
64
67
  }
65
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAuB,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpD,yBAAiB,QAAQ,CAAC;IACzB,UAAiB,QAAQ;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;QACF,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,mBAAmB,CAAC,EAAE,YAAY,CAAC;QACnC,sBAAsB,CAAC,EAAE,YAAY,CAAC;QACtC;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,EAAE,MAAM,EAAE,CAAC;SACzB,CAAC;QACF,QAAQ,CAAC,EAAE;YACV,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,eAAe,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;SACvC,CAAC;QACF;;WAEG;QACH,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;QACvC,GAAG,CAAC,EAAE;YACL,OAAO,CAAC,EAAE,cAAc,CAAC;SACzB,CAAC;QACF,GAAG,CAAC,EAAE,cAAc,CAAC;KACrB;IAED,UAAiB,YAAY;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB;IAED,UAAiB,cAAc;QAC9B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACpB;IAED;;;;OAIG;IACH,SAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAInE;IAED;;;;;OAKG;IACH,SAAsB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAExF;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAErE;CACD"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAuB,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpD,yBAAiB,QAAQ,CAAC;IACzB,KAAY,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,CAAC;IAE9F,UAAiB,QAAQ;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,cAAc,CAAC;QACrB,OAAO,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACrB,CAAC;QACF,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,mBAAmB,CAAC,EAAE,YAAY,CAAC;QACnC,sBAAsB,CAAC,EAAE,YAAY,CAAC;QACtC;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,EAAE,MAAM,EAAE,CAAC;SACzB,CAAC;QACF,QAAQ,CAAC,EAAE;YACV,EAAE,CAAC,EAAE,MAAM,CAAC;YACZ,eAAe,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;SACvC,CAAC;QACF;;WAEG;QACH,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;QACvC,GAAG,CAAC,EAAE;YACL,OAAO,CAAC,EAAE,cAAc,CAAC;SACzB,CAAC;QACF,GAAG,CAAC,EAAE,cAAc,CAAC;KACrB;IAED,UAAiB,YAAY;QAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACtB;IAED,UAAiB,cAAc;QAC9B,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACpB;IAED;;;;OAIG;IACH,SAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAInE;IAED;;;;;OAKG;IACH,SAAsB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAExF;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAErE;CACD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microtronics/studio-cli",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Microtronics Studio CLI Tool",
5
5
  "main": "./out/api.js",
6
6
  "typings": "./dist/studio-cli.d.ts",
@@ -26,9 +26,11 @@
26
26
  "license": "ISC",
27
27
  "dependencies": {
28
28
  "ajv": "^8.17.1",
29
+ "ajv-formats": "^3.0.1",
29
30
  "ajv-keywords": "^5.1.0",
30
31
  "commander": "^12.1.0",
31
32
  "cross-fetch": "^4.0.0",
33
+ "ini": "^5.0.0",
32
34
  "openapi-fetch": "^0.13.0",
33
35
  "pako": "^2.1.0",
34
36
  "semver": "^7.6.3",
@@ -41,6 +43,7 @@
41
43
  "node": ">= 20"
42
44
  },
43
45
  "devDependencies": {
46
+ "@types/ini": "^4.1.1",
44
47
  "@microsoft/api-extractor": "^7.47.11",
45
48
  "@types/chai": "^4.3.6",
46
49
  "@types/chai-as-promised": "^7.1.5",