@microtronics/studio-cli 0.8.0 → 0.9.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
 
2
2
 
3
+ ## 0.9.1 (2024-12-19)
4
+
5
+ ## 0.9.0 (2024-12-19)
6
+
7
+
8
+ ### Features
9
+
10
+ * **studio-cli:** dlo-core 0.3.0 requires APM_VERSION to be semver ([62188e0](https://bitbucket.org/microtronics-core/vscode-studio/commits/62188e089769c0d5d37eecf7b1bddc656381700e))
11
+
3
12
  ## 0.8.0 (2024-12-19)
4
13
 
5
14
 
@@ -1754,6 +1754,11 @@ export declare namespace Helper {
1754
1754
  export function convertBlobToString(blob: Uint8Array | any): string;
1755
1755
  export function normalizeLF(stringToNormalize?: string): string;
1756
1756
  export function convertBlobToStringArray(blob: Uint8Array | any): string[];
1757
+ /**
1758
+ * Check if the given value is numeric
1759
+ * @param v
1760
+ */
1761
+ const isNumeric: (v: any) => boolean;
1757
1762
  }
1758
1763
 
1759
1764
  declare interface LocalFS {
@@ -1 +1 @@
1
- {"version":3,"file":"dlo.d.ts","sourceRoot":"","sources":["../../../src/dde/fileGenerators/dlo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAUlC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAuBnC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,UA+LlH;AAED,qBAAa,gBAAgB;IAWhB,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,OAAO;IAVpD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA+F;gBAC7F,MAAM,EAAE,OAAO,EAAU,OAAO,EAAE,IAAI,GAAG,MAAM;IAGnE,OAAO,CAAC,IAAI;IAiBL,QAAQ;;;;IAoCf,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,uBAAuB;IA8D/B,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,2BAA2B;IAmBnC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,mBAAmB;IAiD3B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,iBAAiB;IAoDzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CA6B7B;AAGD,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,OAAO;AACf;;GAEG;AACH,gBAAgB,EAAE,MAAM,EAAE,UAsI1B;AAID,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,UAqExD;AAqBD;;GAEG;AAEH;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,mBAmB1D"}
1
+ {"version":3,"file":"dlo.d.ts","sourceRoot":"","sources":["../../../src/dde/fileGenerators/dlo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAUlC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,GAAG,EAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA8CnC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,UA4LlH;AAED,qBAAa,gBAAgB;IAWhB,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,OAAO;IAVpD,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAA+F;gBAC7F,MAAM,EAAE,OAAO,EAAU,OAAO,EAAE,IAAI,GAAG,MAAM;IAGnE,OAAO,CAAC,IAAI;IAiBL,QAAQ;;;;IAoCf,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,8BAA8B;IAoEtC,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,yBAAyB;IAgBjC,OAAO,CAAC,uBAAuB;IA8D/B,OAAO,CAAC,6BAA6B;IASrC,OAAO,CAAC,2BAA2B;IAmBnC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,0BAA0B;IA8BlC,OAAO,CAAC,mBAAmB;IAiD3B;;;;;;OAMG;IACH,OAAO,CAAC,4BAA4B;IAIpC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,sBAAsB;IAmC9B,OAAO,CAAC,iBAAiB;IAoDzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CA6B7B;AAGD,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,OAAO;AACf;;GAEG;AACH,gBAAgB,EAAE,MAAM,EAAE,UAsI1B;AAID,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,UAqExD;AAqBD;;GAEG;AAEH;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,mBAmB1D"}
@@ -31,6 +31,7 @@ exports.buildDefaultInc = buildDefaultInc;
31
31
  const semver = __importStar(require("semver"));
32
32
  const coreDefinitions_1 = require("../coreDefinitions");
33
33
  const DeviceProfiles_1 = require("../../DeviceProfiles");
34
+ const manifest_1 = require("../../manifest");
34
35
  const helper_1 = require("../../helper");
35
36
  var ContainerType = coreDefinitions_1.DDE_Core.ContainerType;
36
37
  var TransferDirection = coreDefinitions_1.DDE_Core.TransferDirection;
@@ -42,6 +43,7 @@ var fieldTypeDefinitions = coreDefinitions_1.DDE_Core.fieldTypeDefinitions;
42
43
  const vscode_uri_1 = require("vscode-uri");
43
44
  const defaultFiles_1 = require("../../defaultFiles");
44
45
  const dependencies_1 = require("../../dependencies");
46
+ var isNumeric = helper_1.Helper.isNumeric;
45
47
  /** get effective field type for pawn access (may be overriden or skipped using attribute dlorw=...)
46
48
  * @return {*} | 'skip' | null - null=error occured
47
49
  */
@@ -57,6 +59,28 @@ function getPawnTypeDefinition(field) {
57
59
  // regular pawn access
58
60
  return tdef.pwn;
59
61
  }
62
+ const MICROTRONICS_DLO_CORE = 'Microtronics/dlo-core';
63
+ function getRequiredDloCoreVersion(manifest) {
64
+ if (manifest_1.Manifest.isLibraryProject(manifest) && manifest.name === 'dlo-core') {
65
+ return manifest.version;
66
+ }
67
+ else if (manifest.libraryDependencies && Object.hasOwn(manifest.libraryDependencies, MICROTRONICS_DLO_CORE)) {
68
+ return dependencies_1.Dependencies.rangeToVersion(manifest.libraryDependencies[MICROTRONICS_DLO_CORE]);
69
+ }
70
+ else if (manifest.libraryDevDependencies && Object.hasOwn(manifest.libraryDevDependencies, MICROTRONICS_DLO_CORE)) {
71
+ return dependencies_1.Dependencies.rangeToVersion(manifest.libraryDevDependencies[MICROTRONICS_DLO_CORE]);
72
+ }
73
+ return null;
74
+ }
75
+ function getApmVersion(manifest) {
76
+ const requiredVersion = getRequiredDloCoreVersion(manifest);
77
+ if (requiredVersion === null || semver.gte(requiredVersion, '0.3.0')) {
78
+ return semver.valid(manifest.version) ? manifest.version : semver.coerce(`${manifest.version}`);
79
+ }
80
+ else {
81
+ return semver.coerce(manifest.version)?.major;
82
+ }
83
+ }
60
84
  // eslint-disable-next-line sonarjs/cognitive-complexity
61
85
  function generateAutoIncFromMap(ddeMap, globalDefines, manifest) {
62
86
  const _pwn = []; // sample code output for pawn
@@ -68,9 +92,6 @@ function generateAutoIncFromMap(ddeMap, globalDefines, manifest) {
68
92
  * generate PROJECT META definitions
69
93
  */
70
94
  pwn_section('PROJECT META');
71
- const isNumeric = (v) => {
72
- return !Array.isArray(v) && v - parseFloat(v) + 1 >= 0;
73
- };
74
95
  function addDefinition(name, value, noString = false) {
75
96
  let quotes = isNumeric(value) ? '' : '"';
76
97
  if (noString) {
@@ -84,7 +105,8 @@ function generateAutoIncFromMap(ddeMap, globalDefines, manifest) {
84
105
  addDefinition(`APM_DPID_${dpid}`, `1`);
85
106
  addDefinition(`APM_DPID_${dpid.toUpperCase()}`, `1`);
86
107
  addDefinition(`APM_ID`, registry?.id || ''); //
87
- addDefinition(`APM_VERSION`, `${semver.coerce(manifest.version)?.major}`); // 1,
108
+ const currVersion = getApmVersion(manifest);
109
+ addDefinition(`APM_VERSION`, `${currVersion}`); // 1,
88
110
  addDefinition(`APM_NAME`, `${manifest.name}`); // "project X",
89
111
  addDefinition(`APM_AUTHOR`, `${manifest.publisher}`);
90
112
  for (const [name, value] of Object.entries(auto_inc)) {
@@ -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;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;IAED,SAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG,UAazD;IACD,SAAgB,WAAW,CAAC,iBAAiB,GAAE,MAAW,UAEzD;IAED,SAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,MAAM,EAAE,CAOzE;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;IAED,SAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG,UAazD;IACD,SAAgB,WAAW,CAAC,iBAAiB,GAAE,MAAW,UAEzD;IAED,SAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,MAAM,EAAE,CAOzE;IAED;;;OAGG;IACI,MAAM,SAAS,MAAO,GAAG,YAE/B,CAAC;CACF"}
package/out/helper.js CHANGED
@@ -71,5 +71,12 @@ var Helper;
71
71
  }
72
72
  }
73
73
  Helper.convertBlobToStringArray = convertBlobToStringArray;
74
+ /**
75
+ * Check if the given value is numeric
76
+ * @param v
77
+ */
78
+ Helper.isNumeric = (v) => {
79
+ return !Array.isArray(v) && v - parseFloat(v) + 1 >= 0;
80
+ };
74
81
  })(Helper || (exports.Helper = Helper = {}));
75
82
  //# sourceMappingURL=helper.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microtronics/studio-cli",
3
- "version": "0.8.0",
3
+ "version": "0.9.1",
4
4
  "description": "Microtronics Studio CLI Tool",
5
5
  "main": "./out/api.js",
6
6
  "typings": "./dist/studio-cli.d.ts",