@microtronics/studio-cli 0.8.0 → 0.9.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
 
2
2
 
3
+ ## 0.9.0 (2024-12-19)
4
+
5
+
6
+ ### Features
7
+
8
+ * **studio-cli:** dlo-core 0.3.0 requires APM_VERSION to be semver ([62188e0](https://bitbucket.org/microtronics-core/vscode-studio/commits/62188e089769c0d5d37eecf7b1bddc656381700e))
9
+
3
10
  ## 0.8.0 (2024-12-19)
4
11
 
5
12
 
@@ -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;AA6CnC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,UAgMlH;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;
@@ -57,6 +58,28 @@ function getPawnTypeDefinition(field) {
57
58
  // regular pawn access
58
59
  return tdef.pwn;
59
60
  }
61
+ const MICROTRONICS_DLO_CORE = 'Microtronics/dlo-core';
62
+ function getRequiredDloCoreVersion(manifest) {
63
+ if (manifest_1.Manifest.isLibraryProject(manifest) && manifest.name === 'dlo-core') {
64
+ return manifest.version;
65
+ }
66
+ else if (manifest.libraryDependencies && Object.hasOwn(manifest.libraryDependencies, MICROTRONICS_DLO_CORE)) {
67
+ return dependencies_1.Dependencies.rangeToVersion(manifest.libraryDependencies[MICROTRONICS_DLO_CORE]);
68
+ }
69
+ else if (manifest.libraryDevDependencies && Object.hasOwn(manifest.libraryDevDependencies, MICROTRONICS_DLO_CORE)) {
70
+ return dependencies_1.Dependencies.rangeToVersion(manifest.libraryDevDependencies[MICROTRONICS_DLO_CORE]);
71
+ }
72
+ return null;
73
+ }
74
+ function getApmVersion(manifest) {
75
+ const requiredVersion = getRequiredDloCoreVersion(manifest);
76
+ if (requiredVersion === null || semver.gte(requiredVersion, '0.3.0')) {
77
+ return semver.valid(manifest.version) ? manifest.version : semver.coerce(`${manifest.version}`);
78
+ }
79
+ else {
80
+ return semver.coerce(manifest.version)?.major;
81
+ }
82
+ }
60
83
  // eslint-disable-next-line sonarjs/cognitive-complexity
61
84
  function generateAutoIncFromMap(ddeMap, globalDefines, manifest) {
62
85
  const _pwn = []; // sample code output for pawn
@@ -84,7 +107,8 @@ function generateAutoIncFromMap(ddeMap, globalDefines, manifest) {
84
107
  addDefinition(`APM_DPID_${dpid}`, `1`);
85
108
  addDefinition(`APM_DPID_${dpid.toUpperCase()}`, `1`);
86
109
  addDefinition(`APM_ID`, registry?.id || ''); //
87
- addDefinition(`APM_VERSION`, `${semver.coerce(manifest.version)?.major}`); // 1,
110
+ const currVersion = getApmVersion(manifest);
111
+ addDefinition(`APM_VERSION`, `${currVersion}`); // 1,
88
112
  addDefinition(`APM_NAME`, `${manifest.name}`); // "project X",
89
113
  addDefinition(`APM_AUTHOR`, `${manifest.publisher}`);
90
114
  for (const [name, value] of Object.entries(auto_inc)) {
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.0",
4
4
  "description": "Microtronics Studio CLI Tool",
5
5
  "main": "./out/api.js",
6
6
  "typings": "./dist/studio-cli.d.ts",