@markw65/monkeyc-optimizer 1.1.94 → 1.1.95

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
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to the "monkeyc-optimizer" package will be documented in this file.
4
4
 
5
+ ### 1.1.95
6
+
7
+ - Fix a regression introduced in `1.1.94`
8
+ - Fix lookup of calls in data flow to ignore locals
9
+ - Revert a fix I put in to match [a Garmin bug](https://forums.garmin.com/developer/connect-iq/i/bug-reports/relative-paths-in-local-variables-in-jungle-files-are-resolved-incorrectly) since that bug was fixed in `Sdk-8.0.0`.
10
+
5
11
  ### 1.1.94
6
12
 
7
13
  - Update to [@markw65/prettier-plugin-monkeyc@1.0.65](https://github.com/markw65/prettier-plugin-monkeyc/blob/main/CHANGELOG.md#1065)
package/build/api.cjs CHANGED
@@ -18,52 +18,52 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var api_exports = {};
20
20
  __export(api_exports, {
21
- checkCompilerVersion: () => import_chunk_5SB3QASN.checkCompilerVersion,
22
- clearDiagnostics: () => import_chunk_5SB3QASN.clearDiagnostics,
23
- collectNamespaces: () => import_chunk_5SB3QASN.collectNamespaces,
24
- createDocumentationMap: () => import_chunk_5SB3QASN.createDocumentationMap,
25
- declKey: () => import_chunk_5SB3QASN.declKey,
26
- diagnostic: () => import_chunk_5SB3QASN.diagnostic,
27
- diagnosticHelper: () => import_chunk_5SB3QASN.diagnosticHelper,
28
- findNamesInScope: () => import_chunk_5SB3QASN.findNamesInScope,
29
- findUsingForNode: () => import_chunk_5SB3QASN.findUsingForNode,
30
- formatAst: () => import_chunk_5SB3QASN.formatAst,
31
- formatAstLongLines: () => import_chunk_5SB3QASN.formatAstLongLines,
32
- formatScopedName: () => import_chunk_5SB3QASN.formatScopedName,
33
- getApiFunctionInfo: () => import_chunk_5SB3QASN.getApiFunctionInfo,
34
- getApiMapping: () => import_chunk_5SB3QASN.getApiMapping,
35
- getSuperClasses: () => import_chunk_5SB3QASN.getSuperClasses,
36
- handleImportUsing: () => import_chunk_5SB3QASN.handleImportUsing,
21
+ checkCompilerVersion: () => import_chunk_LUAKJ7GM.checkCompilerVersion,
22
+ clearDiagnostics: () => import_chunk_LUAKJ7GM.clearDiagnostics,
23
+ collectNamespaces: () => import_chunk_LUAKJ7GM.collectNamespaces,
24
+ createDocumentationMap: () => import_chunk_LUAKJ7GM.createDocumentationMap,
25
+ declKey: () => import_chunk_LUAKJ7GM.declKey,
26
+ diagnostic: () => import_chunk_LUAKJ7GM.diagnostic,
27
+ diagnosticHelper: () => import_chunk_LUAKJ7GM.diagnosticHelper,
28
+ findNamesInScope: () => import_chunk_LUAKJ7GM.findNamesInScope,
29
+ findUsingForNode: () => import_chunk_LUAKJ7GM.findUsingForNode,
30
+ formatAst: () => import_chunk_LUAKJ7GM.formatAst,
31
+ formatAstLongLines: () => import_chunk_LUAKJ7GM.formatAstLongLines,
32
+ formatScopedName: () => import_chunk_LUAKJ7GM.formatScopedName,
33
+ getApiFunctionInfo: () => import_chunk_LUAKJ7GM.getApiFunctionInfo,
34
+ getApiMapping: () => import_chunk_LUAKJ7GM.getApiMapping,
35
+ getSuperClasses: () => import_chunk_LUAKJ7GM.getSuperClasses,
36
+ handleImportUsing: () => import_chunk_LUAKJ7GM.handleImportUsing,
37
37
  hasProperty: () => import_chunk_UBAYZSM3.hasProperty,
38
- isClassVariable: () => import_chunk_5SB3QASN.isClassVariable,
39
- isLocal: () => import_chunk_5SB3QASN.isLocal,
40
- isLookupCandidate: () => import_chunk_5SB3QASN.isLookupCandidate,
41
- isStateNode: () => import_chunk_5SB3QASN.isStateNode,
42
- lookupByFullName: () => import_chunk_5SB3QASN.lookupByFullName,
43
- lookupNext: () => import_chunk_5SB3QASN.lookupNext,
44
- lookupResultContains: () => import_chunk_5SB3QASN.lookupResultContains,
45
- lookupWithType: () => import_chunk_5SB3QASN.lookupWithType,
46
- makeToyboxLink: () => import_chunk_5SB3QASN.makeToyboxLink,
47
- mapVarDeclsByType: () => import_chunk_5SB3QASN.mapVarDeclsByType,
48
- markInvokeClassMethod: () => import_chunk_5SB3QASN.markInvokeClassMethod,
49
- parseSdkVersion: () => import_chunk_5SB3QASN.parseSdkVersion,
50
- popRootNode: () => import_chunk_5SB3QASN.popRootNode,
51
- pushRootNode: () => import_chunk_5SB3QASN.pushRootNode,
52
- resolveDiagnostics: () => import_chunk_5SB3QASN.resolveDiagnostics,
53
- resolveDiagnosticsMap: () => import_chunk_5SB3QASN.resolveDiagnosticsMap,
54
- sameLookupResult: () => import_chunk_5SB3QASN.sameLookupResult,
38
+ isClassVariable: () => import_chunk_LUAKJ7GM.isClassVariable,
39
+ isLocal: () => import_chunk_LUAKJ7GM.isLocal,
40
+ isLookupCandidate: () => import_chunk_LUAKJ7GM.isLookupCandidate,
41
+ isStateNode: () => import_chunk_LUAKJ7GM.isStateNode,
42
+ lookupByFullName: () => import_chunk_LUAKJ7GM.lookupByFullName,
43
+ lookupNext: () => import_chunk_LUAKJ7GM.lookupNext,
44
+ lookupResultContains: () => import_chunk_LUAKJ7GM.lookupResultContains,
45
+ lookupWithType: () => import_chunk_LUAKJ7GM.lookupWithType,
46
+ makeToyboxLink: () => import_chunk_LUAKJ7GM.makeToyboxLink,
47
+ mapVarDeclsByType: () => import_chunk_LUAKJ7GM.mapVarDeclsByType,
48
+ markInvokeClassMethod: () => import_chunk_LUAKJ7GM.markInvokeClassMethod,
49
+ parseSdkVersion: () => import_chunk_LUAKJ7GM.parseSdkVersion,
50
+ popRootNode: () => import_chunk_LUAKJ7GM.popRootNode,
51
+ pushRootNode: () => import_chunk_LUAKJ7GM.pushRootNode,
52
+ resolveDiagnostics: () => import_chunk_LUAKJ7GM.resolveDiagnostics,
53
+ resolveDiagnosticsMap: () => import_chunk_LUAKJ7GM.resolveDiagnosticsMap,
54
+ sameLookupResult: () => import_chunk_LUAKJ7GM.sameLookupResult,
55
55
  traverseAst: () => import_chunk_UBAYZSM3.traverseAst,
56
- variableDeclarationName: () => import_chunk_5SB3QASN.variableDeclarationName,
57
- visitReferences: () => import_chunk_5SB3QASN.visitReferences,
58
- visit_resources: () => import_chunk_5SB3QASN.visit_resources,
59
- visitorNode: () => import_chunk_5SB3QASN.visitorNode
56
+ variableDeclarationName: () => import_chunk_LUAKJ7GM.variableDeclarationName,
57
+ visitReferences: () => import_chunk_LUAKJ7GM.visitReferences,
58
+ visit_resources: () => import_chunk_LUAKJ7GM.visit_resources,
59
+ visitorNode: () => import_chunk_LUAKJ7GM.visitorNode
60
60
  });
61
61
  module.exports = __toCommonJS(api_exports);
62
- var import_chunk_5SB3QASN = require("./chunk-5SB3QASN.cjs");
62
+ var import_chunk_LUAKJ7GM = require("./chunk-LUAKJ7GM.cjs");
63
63
  var import_chunk_IJS7AYMN = require("./chunk-IJS7AYMN.cjs");
64
64
  var import_chunk_UBAYZSM3 = require("./chunk-UBAYZSM3.cjs");
65
65
  var import_chunk_VS2QQHAK = require("./chunk-VS2QQHAK.cjs");
66
- (0, import_chunk_5SB3QASN.init_api)();
66
+ (0, import_chunk_LUAKJ7GM.init_api)();
67
67
  // Annotate the CommonJS export names for ESM import in node:
68
68
  0 && (module.exports = {
69
69
  checkCompilerVersion,
@@ -26,8 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_5SB3QASN_exports = {};
30
- __export(chunk_5SB3QASN_exports, {
29
+ var chunk_LUAKJ7GM_exports = {};
30
+ __export(chunk_LUAKJ7GM_exports, {
31
31
  EnumTagsConst: () => EnumTagsConst,
32
32
  LastTypeTag: () => LastTypeTag,
33
33
  ObjectLikeTagsConst: () => ObjectLikeTagsConst,
@@ -140,7 +140,7 @@ __export(chunk_5SB3QASN_exports, {
140
140
  visitorNode: () => visitorNode,
141
141
  xml_util_exports: () => xml_util_exports
142
142
  });
143
- module.exports = __toCommonJS(chunk_5SB3QASN_exports);
143
+ module.exports = __toCommonJS(chunk_LUAKJ7GM_exports);
144
144
  var import_chunk_IJS7AYMN = require("./chunk-IJS7AYMN.cjs");
145
145
  var import_chunk_UBAYZSM3 = require("./chunk-UBAYZSM3.cjs");
146
146
  var import_chunk_VS2QQHAK = require("./chunk-VS2QQHAK.cjs");
@@ -12037,27 +12037,24 @@ function propagateTypes(state, root, graph, optimizeEquivalencies, copyPropStore
12037
12037
  const modifiableDecl = (decls, callees, node) => {
12038
12038
  if (!callees) {
12039
12039
  const lv = node.type === "AssignmentExpression" ? node.left : node.type === "UpdateExpression" ? node.argument : null;
12040
- if (!lv) return true;
12041
- if (lv.type === "MemberExpression") {
12042
- if (lv.computed) {
12043
- if (lv.property.type === "Literal") {
12044
- return false;
12045
- }
12046
- if ((lv.property.type !== "UnaryExpression" || lv.property.operator !== ":") && !couldBe(
12047
- {
12048
- type: 131072
12049
- /* Symbol */
12050
- },
12051
- evaluate(istate, lv.property).value
12052
- )) {
12053
- return false;
12054
- }
12040
+ if (lv?.type === "MemberExpression" && lv.computed) {
12041
+ if (lv.property.type === "Literal") {
12042
+ return false;
12043
+ }
12044
+ if ((lv.property.type !== "UnaryExpression" || lv.property.operator !== ":") && !couldBe(
12045
+ {
12046
+ type: 131072
12047
+ /* Symbol */
12048
+ },
12049
+ evaluate(istate, lv.property).value
12050
+ )) {
12051
+ return false;
12055
12052
  }
12056
12053
  }
12057
12054
  }
12058
12055
  return (0, import_chunk_IJS7AYMN.some)(
12059
12056
  decls,
12060
- (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl) && (0, import_chunk_IJS7AYMN.some)(callees, (callee) => functionMayModify(state, callee, decl))
12057
+ (decl) => decl.type === "VariableDeclarator" && decl.node.kind === "var" && !isLocal(decl) && (!callees || (0, import_chunk_IJS7AYMN.some)(callees, (callee) => functionMayModify(state, callee, decl)))
12061
12058
  );
12062
12059
  };
12063
12060
  const mergeSuccState = (top, curState) => {
@@ -18750,17 +18747,18 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
18750
18747
  }
18751
18748
  return canon;
18752
18749
  };
18753
- const findDecl = (node) => {
18750
+ const findDecl = (node, nonLocal = false) => {
18754
18751
  const path8 = [];
18755
18752
  const root2 = node;
18756
18753
  while (node.type === "MemberExpression" && (wantsAllRefs || !node.computed)) {
18757
18754
  path8.unshift(node);
18758
18755
  node = node.object;
18756
+ nonLocal = false;
18759
18757
  }
18760
18758
  if (node.type !== "Identifier" && node.type !== "ThisExpression") {
18761
18759
  return null;
18762
18760
  }
18763
- let [, results] = state.lookup(node);
18761
+ let [, results] = nonLocal ? state.lookupNonlocal(node) : state.lookup(node);
18764
18762
  if (!results) {
18765
18763
  return wantsAllRefs ? { type: "Unknown", node: path8.pop() } : null;
18766
18764
  }
@@ -19016,7 +19014,7 @@ function buildDataFlowGraph(state, root, wantsLiteral, trackInsertionPoints, wan
19016
19014
  case "CallExpression": {
19017
19015
  liveDef(null, stmt);
19018
19016
  if (wantsAllRefs) {
19019
- const calleeDecl = findDecl(node.callee);
19017
+ const calleeDecl = findDecl(node.callee, true);
19020
19018
  if (calleeDecl) {
19021
19019
  const mod = {
19022
19020
  type: "mod",
@@ -25882,13 +25880,7 @@ function evaluate_locals(assignments) {
25882
25880
  while (true) {
25883
25881
  assignments = assignments.filter((a) => {
25884
25882
  if (a.names.length === 1 && a.values.every((v) => v.type === "Literal")) {
25885
- locals[a.names[0]] = a.values.map((v) => {
25886
- if ("source" in v) {
25887
- v = { ...v };
25888
- delete v.source;
25889
- }
25890
- return v;
25891
- });
25883
+ locals[a.names[0]] = a.values;
25892
25884
  return false;
25893
25885
  }
25894
25886
  return true;
@@ -27445,7 +27437,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
27445
27437
  const opt_time = await (0, import_chunk_IJS7AYMN.first_modified)(
27446
27438
  Object.values(fnMap).map((v) => v.output)
27447
27439
  );
27448
- if (source_time < opt_time && 1769823563413 < opt_time) {
27440
+ if (source_time < opt_time && 1769898389896 < opt_time) {
27449
27441
  return {
27450
27442
  hasTests,
27451
27443
  diagnostics: prevDiagnostics,
@@ -27483,7 +27475,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
27483
27475
  hasTests: hasTests2,
27484
27476
  diagnostics,
27485
27477
  sdkVersion,
27486
- optimizerVersion: "1.1.94",
27478
+ optimizerVersion: "1.1.95",
27487
27479
  ...Object.fromEntries(
27488
27480
  configOptionsToCheck.map((option) => [option, config[option]])
27489
27481
  )
@@ -18,30 +18,30 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var optimizer_exports = {};
20
20
  __export(optimizer_exports, {
21
- StateNodeAttributes: () => import_chunk_5SB3QASN.StateNodeAttributes,
22
- buildConfigDescription: () => import_chunk_5SB3QASN.buildConfigDescription,
23
- buildOptimizedProject: () => import_chunk_5SB3QASN.buildOptimizedProject,
21
+ StateNodeAttributes: () => import_chunk_LUAKJ7GM.StateNodeAttributes,
22
+ buildConfigDescription: () => import_chunk_LUAKJ7GM.buildConfigDescription,
23
+ buildOptimizedProject: () => import_chunk_LUAKJ7GM.buildOptimizedProject,
24
24
  copyRecursiveAsNeeded: () => import_chunk_IJS7AYMN.copyRecursiveAsNeeded,
25
- defaultConfig: () => import_chunk_5SB3QASN.defaultConfig,
26
- display: () => import_chunk_5SB3QASN.display,
27
- generateOneConfig: () => import_chunk_5SB3QASN.generateOneConfig,
28
- generateOptimizedProject: () => import_chunk_5SB3QASN.generateOptimizedProject,
29
- getConfig: () => import_chunk_5SB3QASN.getConfig,
30
- getFnMapAnalysis: () => import_chunk_5SB3QASN.getFnMapAnalysis,
31
- getProjectAnalysis: () => import_chunk_5SB3QASN.getProjectAnalysis,
32
- get_jungle: () => import_chunk_5SB3QASN.get_jungle,
33
- isErrorWithLocation: () => import_chunk_5SB3QASN.isErrorWithLocation,
34
- launchSimulator: () => import_chunk_5SB3QASN.launchSimulator,
35
- manifestProducts: () => import_chunk_5SB3QASN.manifestProducts,
36
- mctree: () => import_chunk_5SB3QASN.mctree,
37
- simulateProgram: () => import_chunk_5SB3QASN.simulateProgram
25
+ defaultConfig: () => import_chunk_LUAKJ7GM.defaultConfig,
26
+ display: () => import_chunk_LUAKJ7GM.display,
27
+ generateOneConfig: () => import_chunk_LUAKJ7GM.generateOneConfig,
28
+ generateOptimizedProject: () => import_chunk_LUAKJ7GM.generateOptimizedProject,
29
+ getConfig: () => import_chunk_LUAKJ7GM.getConfig,
30
+ getFnMapAnalysis: () => import_chunk_LUAKJ7GM.getFnMapAnalysis,
31
+ getProjectAnalysis: () => import_chunk_LUAKJ7GM.getProjectAnalysis,
32
+ get_jungle: () => import_chunk_LUAKJ7GM.get_jungle,
33
+ isErrorWithLocation: () => import_chunk_LUAKJ7GM.isErrorWithLocation,
34
+ launchSimulator: () => import_chunk_LUAKJ7GM.launchSimulator,
35
+ manifestProducts: () => import_chunk_LUAKJ7GM.manifestProducts,
36
+ mctree: () => import_chunk_LUAKJ7GM.mctree,
37
+ simulateProgram: () => import_chunk_LUAKJ7GM.simulateProgram
38
38
  });
39
39
  module.exports = __toCommonJS(optimizer_exports);
40
- var import_chunk_5SB3QASN = require("./chunk-5SB3QASN.cjs");
40
+ var import_chunk_LUAKJ7GM = require("./chunk-LUAKJ7GM.cjs");
41
41
  var import_chunk_IJS7AYMN = require("./chunk-IJS7AYMN.cjs");
42
42
  var import_chunk_UBAYZSM3 = require("./chunk-UBAYZSM3.cjs");
43
43
  var import_chunk_VS2QQHAK = require("./chunk-VS2QQHAK.cjs");
44
- (0, import_chunk_5SB3QASN.init_optimizer)();
44
+ (0, import_chunk_LUAKJ7GM.init_optimizer)();
45
45
  // Annotate the CommonJS export names for ESM import in node:
46
46
  0 && (module.exports = {
47
47
  StateNodeAttributes,
@@ -18,25 +18,25 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var sdk_util_exports = {};
20
20
  __export(sdk_util_exports, {
21
- SectionKinds: () => import_chunk_5SB3QASN.SectionKinds,
22
- appSupport: () => import_chunk_5SB3QASN.appSupport,
23
- connectiq: () => import_chunk_5SB3QASN.connectiq,
24
- getDeviceInfo: () => import_chunk_5SB3QASN.getDeviceInfo,
25
- getFunctionDocumentation: () => import_chunk_5SB3QASN.getFunctionDocumentation,
26
- getLanguages: () => import_chunk_5SB3QASN.getLanguages,
27
- getSdkPath: () => import_chunk_5SB3QASN.getSdkPath,
28
- isWin: () => import_chunk_5SB3QASN.isWin,
29
- optimizeProgram: () => import_chunk_5SB3QASN.optimizeProgram,
30
- readPrg: () => import_chunk_5SB3QASN.readPrg,
31
- readPrgWithOffsets: () => import_chunk_5SB3QASN.readPrgWithOffsets,
32
- xmlUtil: () => import_chunk_5SB3QASN.xml_util_exports
21
+ SectionKinds: () => import_chunk_LUAKJ7GM.SectionKinds,
22
+ appSupport: () => import_chunk_LUAKJ7GM.appSupport,
23
+ connectiq: () => import_chunk_LUAKJ7GM.connectiq,
24
+ getDeviceInfo: () => import_chunk_LUAKJ7GM.getDeviceInfo,
25
+ getFunctionDocumentation: () => import_chunk_LUAKJ7GM.getFunctionDocumentation,
26
+ getLanguages: () => import_chunk_LUAKJ7GM.getLanguages,
27
+ getSdkPath: () => import_chunk_LUAKJ7GM.getSdkPath,
28
+ isWin: () => import_chunk_LUAKJ7GM.isWin,
29
+ optimizeProgram: () => import_chunk_LUAKJ7GM.optimizeProgram,
30
+ readPrg: () => import_chunk_LUAKJ7GM.readPrg,
31
+ readPrgWithOffsets: () => import_chunk_LUAKJ7GM.readPrgWithOffsets,
32
+ xmlUtil: () => import_chunk_LUAKJ7GM.xml_util_exports
33
33
  });
34
34
  module.exports = __toCommonJS(sdk_util_exports);
35
- var import_chunk_5SB3QASN = require("./chunk-5SB3QASN.cjs");
35
+ var import_chunk_LUAKJ7GM = require("./chunk-LUAKJ7GM.cjs");
36
36
  var import_chunk_IJS7AYMN = require("./chunk-IJS7AYMN.cjs");
37
37
  var import_chunk_UBAYZSM3 = require("./chunk-UBAYZSM3.cjs");
38
38
  var import_chunk_VS2QQHAK = require("./chunk-VS2QQHAK.cjs");
39
- (0, import_chunk_5SB3QASN.init_sdk_util)();
39
+ (0, import_chunk_LUAKJ7GM.init_sdk_util)();
40
40
  // Annotate the CommonJS export names for ESM import in node:
41
41
  0 && (module.exports = {
42
42
  SectionKinds,
@@ -21,17 +21,17 @@ __export(worker_thread_exports, {
21
21
  default: () => worker_thread_default
22
22
  });
23
23
  module.exports = __toCommonJS(worker_thread_exports);
24
- var import_chunk_5SB3QASN = require("./chunk-5SB3QASN.cjs");
24
+ var import_chunk_LUAKJ7GM = require("./chunk-LUAKJ7GM.cjs");
25
25
  var import_chunk_IJS7AYMN = require("./chunk-IJS7AYMN.cjs");
26
26
  var import_chunk_UBAYZSM3 = require("./chunk-UBAYZSM3.cjs");
27
27
  var import_chunk_VS2QQHAK = require("./chunk-VS2QQHAK.cjs");
28
28
  var import_node_worker_threads = require("node:worker_threads");
29
29
  var require_worker_thread = (0, import_chunk_VS2QQHAK.__commonJS)({
30
30
  "src/worker-thread.ts"() {
31
- (0, import_chunk_5SB3QASN.init_worker_task)();
31
+ (0, import_chunk_LUAKJ7GM.init_worker_task)();
32
32
  if (import_node_worker_threads.parentPort) {
33
33
  import_node_worker_threads.parentPort.on("message", async (task) => {
34
- return import_node_worker_threads.parentPort.postMessage(await (0, import_chunk_5SB3QASN.performTask)(task));
34
+ return import_node_worker_threads.parentPort.postMessage(await (0, import_chunk_LUAKJ7GM.performTask)(task));
35
35
  });
36
36
  }
37
37
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@markw65/monkeyc-optimizer",
3
3
  "type": "commonjs",
4
- "version": "1.1.94",
4
+ "version": "1.1.95",
5
5
  "description": "Source to source optimizer for Garmin Monkey C code",
6
6
  "main": "build/optimizer.cjs",
7
7
  "types": "build/src/optimizer.d.ts",