@markw65/monkeyc-optimizer 1.1.38 → 1.1.39
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 +8 -0
- package/build/api.cjs +34 -34
- package/build/{chunk-IMIM4BE2.cjs → chunk-3H4GE7RU.cjs} +23 -5
- package/build/optimizer.cjs +16 -16
- package/build/sdk-util.cjs +14 -14
- package/build/src/type-flow/types.d.ts +1 -1
- package/build/worker-thread.cjs +3 -3
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the "monkeyc-optimizer" package will be documented in this file.
|
|
4
4
|
|
|
5
|
+
### 1.1.39
|
|
6
|
+
|
|
7
|
+
- Update to [@markw65/prettier-plugin-monkeyc@1.0.54](https://github.com/markw65/prettier-plugin-monkeyc/blob/main/CHANGELOG.md#1054)
|
|
8
|
+
|
|
9
|
+
- Fixes the parser to understand tuples
|
|
10
|
+
|
|
11
|
+
- Add basic type analysis for tuples
|
|
12
|
+
|
|
5
13
|
### 1.1.38
|
|
6
14
|
|
|
7
15
|
- Fix a bug introduced in 1.1.37 that could lead to duplicate diagnostics, and diagnostics with strange contents.
|
package/build/api.cjs
CHANGED
|
@@ -18,47 +18,47 @@ 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: () =>
|
|
22
|
-
collectNamespaces: () =>
|
|
23
|
-
createDocumentationMap: () =>
|
|
24
|
-
diagnostic: () =>
|
|
25
|
-
diagnosticHelper: () =>
|
|
26
|
-
findNamesInScope: () =>
|
|
27
|
-
findUsingForNode: () =>
|
|
28
|
-
formatAst: () =>
|
|
29
|
-
formatAstLongLines: () =>
|
|
30
|
-
formatScopedName: () =>
|
|
31
|
-
getApiFunctionInfo: () =>
|
|
32
|
-
getApiMapping: () =>
|
|
33
|
-
getSuperClasses: () =>
|
|
21
|
+
checkCompilerVersion: () => import_chunk_3H4GE7RU.checkCompilerVersion,
|
|
22
|
+
collectNamespaces: () => import_chunk_3H4GE7RU.collectNamespaces,
|
|
23
|
+
createDocumentationMap: () => import_chunk_3H4GE7RU.createDocumentationMap,
|
|
24
|
+
diagnostic: () => import_chunk_3H4GE7RU.diagnostic,
|
|
25
|
+
diagnosticHelper: () => import_chunk_3H4GE7RU.diagnosticHelper,
|
|
26
|
+
findNamesInScope: () => import_chunk_3H4GE7RU.findNamesInScope,
|
|
27
|
+
findUsingForNode: () => import_chunk_3H4GE7RU.findUsingForNode,
|
|
28
|
+
formatAst: () => import_chunk_3H4GE7RU.formatAst,
|
|
29
|
+
formatAstLongLines: () => import_chunk_3H4GE7RU.formatAstLongLines,
|
|
30
|
+
formatScopedName: () => import_chunk_3H4GE7RU.formatScopedName,
|
|
31
|
+
getApiFunctionInfo: () => import_chunk_3H4GE7RU.getApiFunctionInfo,
|
|
32
|
+
getApiMapping: () => import_chunk_3H4GE7RU.getApiMapping,
|
|
33
|
+
getSuperClasses: () => import_chunk_3H4GE7RU.getSuperClasses,
|
|
34
34
|
hasProperty: () => import_chunk_MBTLUWXR.hasProperty,
|
|
35
|
-
isClassVariable: () =>
|
|
36
|
-
isLocal: () =>
|
|
37
|
-
isLookupCandidate: () =>
|
|
38
|
-
isStateNode: () =>
|
|
39
|
-
lookupByFullName: () =>
|
|
40
|
-
lookupNext: () =>
|
|
41
|
-
lookupResultContains: () =>
|
|
42
|
-
lookupWithType: () =>
|
|
43
|
-
makeToyboxLink: () =>
|
|
44
|
-
mapVarDeclsByType: () =>
|
|
45
|
-
markInvokeClassMethod: () =>
|
|
46
|
-
parseSdkVersion: () =>
|
|
47
|
-
resolveDiagnostics: () =>
|
|
48
|
-
resolveDiagnosticsMap: () =>
|
|
49
|
-
sameLookupResult: () =>
|
|
35
|
+
isClassVariable: () => import_chunk_3H4GE7RU.isClassVariable,
|
|
36
|
+
isLocal: () => import_chunk_3H4GE7RU.isLocal,
|
|
37
|
+
isLookupCandidate: () => import_chunk_3H4GE7RU.isLookupCandidate,
|
|
38
|
+
isStateNode: () => import_chunk_3H4GE7RU.isStateNode,
|
|
39
|
+
lookupByFullName: () => import_chunk_3H4GE7RU.lookupByFullName,
|
|
40
|
+
lookupNext: () => import_chunk_3H4GE7RU.lookupNext,
|
|
41
|
+
lookupResultContains: () => import_chunk_3H4GE7RU.lookupResultContains,
|
|
42
|
+
lookupWithType: () => import_chunk_3H4GE7RU.lookupWithType,
|
|
43
|
+
makeToyboxLink: () => import_chunk_3H4GE7RU.makeToyboxLink,
|
|
44
|
+
mapVarDeclsByType: () => import_chunk_3H4GE7RU.mapVarDeclsByType,
|
|
45
|
+
markInvokeClassMethod: () => import_chunk_3H4GE7RU.markInvokeClassMethod,
|
|
46
|
+
parseSdkVersion: () => import_chunk_3H4GE7RU.parseSdkVersion,
|
|
47
|
+
resolveDiagnostics: () => import_chunk_3H4GE7RU.resolveDiagnostics,
|
|
48
|
+
resolveDiagnosticsMap: () => import_chunk_3H4GE7RU.resolveDiagnosticsMap,
|
|
49
|
+
sameLookupResult: () => import_chunk_3H4GE7RU.sameLookupResult,
|
|
50
50
|
traverseAst: () => import_chunk_MBTLUWXR.traverseAst,
|
|
51
|
-
variableDeclarationName: () =>
|
|
52
|
-
visitReferences: () =>
|
|
53
|
-
visit_resources: () =>
|
|
54
|
-
visitorNode: () =>
|
|
51
|
+
variableDeclarationName: () => import_chunk_3H4GE7RU.variableDeclarationName,
|
|
52
|
+
visitReferences: () => import_chunk_3H4GE7RU.visitReferences,
|
|
53
|
+
visit_resources: () => import_chunk_3H4GE7RU.visit_resources,
|
|
54
|
+
visitorNode: () => import_chunk_3H4GE7RU.visitorNode
|
|
55
55
|
});
|
|
56
56
|
module.exports = __toCommonJS(api_exports);
|
|
57
|
-
var
|
|
57
|
+
var import_chunk_3H4GE7RU = require("./chunk-3H4GE7RU.cjs");
|
|
58
58
|
var import_chunk_SG7ODKRM = require("./chunk-SG7ODKRM.cjs");
|
|
59
59
|
var import_chunk_MBTLUWXR = require("./chunk-MBTLUWXR.cjs");
|
|
60
60
|
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
61
|
-
(0,
|
|
61
|
+
(0, import_chunk_3H4GE7RU.init_api)();
|
|
62
62
|
// Annotate the CommonJS export names for ESM import in node:
|
|
63
63
|
0 && (module.exports = {
|
|
64
64
|
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
|
|
30
|
-
__export(
|
|
29
|
+
var chunk_3H4GE7RU_exports = {};
|
|
30
|
+
__export(chunk_3H4GE7RU_exports, {
|
|
31
31
|
EnumTagsConst: () => EnumTagsConst,
|
|
32
32
|
LastTypeTag: () => LastTypeTag,
|
|
33
33
|
ObjectLikeTagsConst: () => ObjectLikeTagsConst,
|
|
@@ -130,7 +130,7 @@ __export(chunk_IMIM4BE2_exports, {
|
|
|
130
130
|
visitorNode: () => visitorNode,
|
|
131
131
|
xml_util_exports: () => xml_util_exports
|
|
132
132
|
});
|
|
133
|
-
module.exports = __toCommonJS(
|
|
133
|
+
module.exports = __toCommonJS(chunk_3H4GE7RU_exports);
|
|
134
134
|
var import_chunk_SG7ODKRM = require("./chunk-SG7ODKRM.cjs");
|
|
135
135
|
var import_chunk_MBTLUWXR = require("./chunk-MBTLUWXR.cjs");
|
|
136
136
|
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
@@ -11077,6 +11077,24 @@ function typeFromSingleTypeSpec(state, type, stack) {
|
|
|
11077
11077
|
type = { type: "TypeSpecPart", name: type };
|
|
11078
11078
|
}
|
|
11079
11079
|
switch (type.type) {
|
|
11080
|
+
case "ArrayExpression": {
|
|
11081
|
+
return {
|
|
11082
|
+
type: 512,
|
|
11083
|
+
value: type.elements.reduce(
|
|
11084
|
+
(prev, cur) => {
|
|
11085
|
+
unionInto(
|
|
11086
|
+
prev,
|
|
11087
|
+
typeFromTypespec(state, cur)
|
|
11088
|
+
);
|
|
11089
|
+
return prev;
|
|
11090
|
+
},
|
|
11091
|
+
{
|
|
11092
|
+
type: 0
|
|
11093
|
+
/* Never */
|
|
11094
|
+
}
|
|
11095
|
+
)
|
|
11096
|
+
};
|
|
11097
|
+
}
|
|
11080
11098
|
case "ObjectExpression": {
|
|
11081
11099
|
const fields = /* @__PURE__ */ new Map();
|
|
11082
11100
|
type.properties.forEach((property) => {
|
|
@@ -28093,7 +28111,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
|
|
|
28093
28111
|
const opt_time = await (0, import_chunk_SG7ODKRM.first_modified)(
|
|
28094
28112
|
Object.values(fnMap).map((v) => v.output)
|
|
28095
28113
|
);
|
|
28096
|
-
if (source_time < opt_time &&
|
|
28114
|
+
if (source_time < opt_time && 1706308945548 < opt_time) {
|
|
28097
28115
|
return {
|
|
28098
28116
|
hasTests,
|
|
28099
28117
|
diagnostics: prevDiagnostics,
|
|
@@ -28132,7 +28150,7 @@ async function generateOneConfig(buildConfig, manifestXML, dependencyFiles, conf
|
|
|
28132
28150
|
hasTests: hasTests2,
|
|
28133
28151
|
diagnostics,
|
|
28134
28152
|
sdkVersion,
|
|
28135
|
-
optimizerVersion: "1.1.
|
|
28153
|
+
optimizerVersion: "1.1.39",
|
|
28136
28154
|
...Object.fromEntries(
|
|
28137
28155
|
configOptionsToCheck.map((option) => [option, config[option]])
|
|
28138
28156
|
)
|
package/build/optimizer.cjs
CHANGED
|
@@ -18,28 +18,28 @@ 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: () =>
|
|
22
|
-
buildOptimizedProject: () =>
|
|
21
|
+
StateNodeAttributes: () => import_chunk_3H4GE7RU.StateNodeAttributes,
|
|
22
|
+
buildOptimizedProject: () => import_chunk_3H4GE7RU.buildOptimizedProject,
|
|
23
23
|
copyRecursiveAsNeeded: () => import_chunk_SG7ODKRM.copyRecursiveAsNeeded,
|
|
24
|
-
defaultConfig: () =>
|
|
25
|
-
display: () =>
|
|
26
|
-
generateOneConfig: () =>
|
|
27
|
-
generateOptimizedProject: () =>
|
|
28
|
-
getConfig: () =>
|
|
29
|
-
getProjectAnalysis: () =>
|
|
30
|
-
get_jungle: () =>
|
|
31
|
-
isErrorWithLocation: () =>
|
|
32
|
-
launchSimulator: () =>
|
|
33
|
-
manifestProducts: () =>
|
|
34
|
-
mctree: () =>
|
|
35
|
-
simulateProgram: () =>
|
|
24
|
+
defaultConfig: () => import_chunk_3H4GE7RU.defaultConfig,
|
|
25
|
+
display: () => import_chunk_3H4GE7RU.display,
|
|
26
|
+
generateOneConfig: () => import_chunk_3H4GE7RU.generateOneConfig,
|
|
27
|
+
generateOptimizedProject: () => import_chunk_3H4GE7RU.generateOptimizedProject,
|
|
28
|
+
getConfig: () => import_chunk_3H4GE7RU.getConfig,
|
|
29
|
+
getProjectAnalysis: () => import_chunk_3H4GE7RU.getProjectAnalysis,
|
|
30
|
+
get_jungle: () => import_chunk_3H4GE7RU.get_jungle,
|
|
31
|
+
isErrorWithLocation: () => import_chunk_3H4GE7RU.isErrorWithLocation,
|
|
32
|
+
launchSimulator: () => import_chunk_3H4GE7RU.launchSimulator,
|
|
33
|
+
manifestProducts: () => import_chunk_3H4GE7RU.manifestProducts,
|
|
34
|
+
mctree: () => import_chunk_3H4GE7RU.mctree,
|
|
35
|
+
simulateProgram: () => import_chunk_3H4GE7RU.simulateProgram
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(optimizer_exports);
|
|
38
|
-
var
|
|
38
|
+
var import_chunk_3H4GE7RU = require("./chunk-3H4GE7RU.cjs");
|
|
39
39
|
var import_chunk_SG7ODKRM = require("./chunk-SG7ODKRM.cjs");
|
|
40
40
|
var import_chunk_MBTLUWXR = require("./chunk-MBTLUWXR.cjs");
|
|
41
41
|
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
42
|
-
(0,
|
|
42
|
+
(0, import_chunk_3H4GE7RU.init_optimizer)();
|
|
43
43
|
// Annotate the CommonJS export names for ESM import in node:
|
|
44
44
|
0 && (module.exports = {
|
|
45
45
|
StateNodeAttributes,
|
package/build/sdk-util.cjs
CHANGED
|
@@ -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: () =>
|
|
22
|
-
appSupport: () =>
|
|
23
|
-
connectiq: () =>
|
|
24
|
-
getDeviceInfo: () =>
|
|
25
|
-
getFunctionDocumentation: () =>
|
|
26
|
-
getLanguages: () =>
|
|
27
|
-
getSdkPath: () =>
|
|
28
|
-
isWin: () =>
|
|
29
|
-
optimizeProgram: () =>
|
|
30
|
-
readPrg: () =>
|
|
31
|
-
readPrgWithOffsets: () =>
|
|
32
|
-
xmlUtil: () =>
|
|
21
|
+
SectionKinds: () => import_chunk_3H4GE7RU.SectionKinds,
|
|
22
|
+
appSupport: () => import_chunk_3H4GE7RU.appSupport,
|
|
23
|
+
connectiq: () => import_chunk_3H4GE7RU.connectiq,
|
|
24
|
+
getDeviceInfo: () => import_chunk_3H4GE7RU.getDeviceInfo,
|
|
25
|
+
getFunctionDocumentation: () => import_chunk_3H4GE7RU.getFunctionDocumentation,
|
|
26
|
+
getLanguages: () => import_chunk_3H4GE7RU.getLanguages,
|
|
27
|
+
getSdkPath: () => import_chunk_3H4GE7RU.getSdkPath,
|
|
28
|
+
isWin: () => import_chunk_3H4GE7RU.isWin,
|
|
29
|
+
optimizeProgram: () => import_chunk_3H4GE7RU.optimizeProgram,
|
|
30
|
+
readPrg: () => import_chunk_3H4GE7RU.readPrg,
|
|
31
|
+
readPrgWithOffsets: () => import_chunk_3H4GE7RU.readPrgWithOffsets,
|
|
32
|
+
xmlUtil: () => import_chunk_3H4GE7RU.xml_util_exports
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(sdk_util_exports);
|
|
35
|
-
var
|
|
35
|
+
var import_chunk_3H4GE7RU = require("./chunk-3H4GE7RU.cjs");
|
|
36
36
|
var import_chunk_SG7ODKRM = require("./chunk-SG7ODKRM.cjs");
|
|
37
37
|
var import_chunk_MBTLUWXR = require("./chunk-MBTLUWXR.cjs");
|
|
38
38
|
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
39
|
-
(0,
|
|
39
|
+
(0, import_chunk_3H4GE7RU.init_sdk_util)();
|
|
40
40
|
// Annotate the CommonJS export names for ESM import in node:
|
|
41
41
|
0 && (module.exports = {
|
|
42
42
|
SectionKinds,
|
|
@@ -193,7 +193,7 @@ export declare function typeFromTypeStateNodes(state: ProgramStateAnalysis, sns:
|
|
|
193
193
|
export declare function objectLiteralKeyFromExpr(key: mctree.Expression): string | null;
|
|
194
194
|
export declare function objectLiteralKeyFromType(key: ExactOrUnion): string | null;
|
|
195
195
|
export declare function typeFromObjectLiteralKey(key: string): ValueTypes;
|
|
196
|
-
export declare function typeFromSingleTypeSpec(state: ProgramStateAnalysis, type: mctree.
|
|
196
|
+
export declare function typeFromSingleTypeSpec(state: ProgramStateAnalysis, type: mctree.SingleTypeSpec, stack?: ProgramStateStack | undefined): ExactOrUnion;
|
|
197
197
|
export declare function typeFromTypespec(state: ProgramStateAnalysis, ts: mctree.TypeSpecList, stack?: ProgramStateStack | undefined): ExactOrUnion;
|
|
198
198
|
export declare function typeFromLiteral(literal: mctree.Literal): ExactTypes;
|
|
199
199
|
export declare function mcExprFromType(type: ValueTypes): mctree.Expression | null;
|
package/build/worker-thread.cjs
CHANGED
|
@@ -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
|
|
24
|
+
var import_chunk_3H4GE7RU = require("./chunk-3H4GE7RU.cjs");
|
|
25
25
|
var import_chunk_SG7ODKRM = require("./chunk-SG7ODKRM.cjs");
|
|
26
26
|
var import_chunk_MBTLUWXR = require("./chunk-MBTLUWXR.cjs");
|
|
27
27
|
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
28
28
|
var import_node_worker_threads = require("node:worker_threads");
|
|
29
29
|
var require_worker_thread = (0, import_chunk_ABYVSU2C.__commonJS)({
|
|
30
30
|
"src/worker-thread.ts"() {
|
|
31
|
-
(0,
|
|
31
|
+
(0, import_chunk_3H4GE7RU.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,
|
|
34
|
+
return import_node_worker_threads.parentPort.postMessage(await (0, import_chunk_3H4GE7RU.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.
|
|
4
|
+
"version": "1.1.39",
|
|
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",
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"scripts": {
|
|
19
19
|
"watch": "node esbuild.mjs --watch",
|
|
20
20
|
"prettier-live": "test -z \"$(git status --untracked-files=no --porcelain || echo dirty)\" && npm install ../prettier-plugin-monkeyc && git commit -am 'prettier-plugin-monkeyc-live'",
|
|
21
|
+
"prettier-package": "npm install; npm install @markw65/prettier-plugin-monkeyc; git commit -am \"Update to $(npm list @markw65/prettier-plugin-monkeyc | sed -ne 's/^.*\\(@markw65\\/prettier-plugin-monkeyc\\)/\\1/p')\"",
|
|
21
22
|
"build-debug": "node esbuild.mjs",
|
|
22
23
|
"build-release": "node esbuild.mjs --release",
|
|
23
24
|
"prepack": "node esbuild.mjs --release && mkdir -p bin && cp test/cft-font-info.js bin",
|
|
@@ -50,7 +51,7 @@
|
|
|
50
51
|
"license": "MIT",
|
|
51
52
|
"dependencies": {
|
|
52
53
|
"@markw65/peggy-optimizer": "^1.0.1",
|
|
53
|
-
"@markw65/prettier-plugin-monkeyc": "^1.0.
|
|
54
|
+
"@markw65/prettier-plugin-monkeyc": "^1.0.54"
|
|
54
55
|
},
|
|
55
56
|
"devDependencies": {
|
|
56
57
|
"@types/chai": "^4.3.4",
|