@markw65/monkeyc-optimizer 1.1.25 → 1.1.27
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/README.md +28 -0
- package/bin/cft-font-info.js +63 -0
- package/build/api.cjs +36 -34
- package/build/cftinfo.cjs +112 -0
- package/build/chunk-ABYVSU2C.cjs +74 -0
- package/build/{chunk-SNWJ2FZL.cjs → chunk-DD4VX53Y.cjs} +1052 -1160
- package/build/chunk-MBTLUWXR.cjs +375 -0
- package/build/{chunk-QFQPBQSO.cjs → chunk-PVBIKZYZ.cjs} +110 -153
- package/build/optimizer.cjs +21 -19
- package/build/sdk-util.cjs +17 -15
- package/build/src/api.d.ts +1 -1
- package/build/src/ast.d.ts +1 -1
- package/build/src/cftinfo.d.ts +32 -0
- package/build/src/control-flow.d.ts +3 -3
- package/build/src/data-flow.d.ts +5 -5
- package/build/src/inliner.d.ts +2 -2
- package/build/src/jungles.d.ts +16 -12
- package/build/src/manifest.d.ts +1 -1
- package/build/src/optimizer-types.d.ts +25 -22
- package/build/src/optimizer.d.ts +2 -2
- package/build/src/projects.d.ts +1 -1
- package/build/src/readprg/bytecode.d.ts +5 -5
- package/build/src/readprg/cflow.d.ts +3 -2
- package/build/src/readprg/emit.d.ts +3 -3
- package/build/src/readprg/exceptions.d.ts +2 -2
- package/build/src/readprg/header.d.ts +2 -2
- package/build/src/readprg/interp.d.ts +1 -1
- package/build/src/readprg/linenum.d.ts +1 -1
- package/build/src/readprg/opcodes.d.ts +2 -2
- package/build/src/resources.d.ts +2 -2
- package/build/src/sdk-util.d.ts +1 -1
- package/build/src/type-flow/dead-store.d.ts +1 -1
- package/build/src/type-flow/interp-call.d.ts +2 -2
- package/build/src/type-flow/interp.d.ts +4 -3
- package/build/src/type-flow/type-flow-util.d.ts +1 -1
- package/build/src/type-flow/types.d.ts +18 -18
- package/build/src/type-flow.d.ts +1 -1
- package/build/src/util.d.ts +1 -1
- package/build/src/worker-task.d.ts +3 -3
- package/build/src/xml-util.d.ts +9 -9
- package/build/util.cjs +25 -24
- package/build/worker-thread.cjs +7 -7
- package/package.json +14 -9
|
@@ -8,7 +8,7 @@ export declare function isTypeStateKey(decl: EventDecl): decl is TypeStateKey;
|
|
|
8
8
|
export declare function declIsLocal(decl: EventDecl): decl is VariableStateNode | VariableStateNode[] | mctree.TypedIdentifier;
|
|
9
9
|
export declare function declIsNonLocal(decl: EventDecl): decl is VariableStateNode | VariableStateNode[];
|
|
10
10
|
export declare function localDeclName(decl: EventDecl): string;
|
|
11
|
-
export
|
|
11
|
+
export type TypeStateKey = Exclude<EventDecl, {
|
|
12
12
|
type: "MemberDecl" | "Unknown";
|
|
13
13
|
}>;
|
|
14
14
|
export declare function tsKey(key: TypeStateKey): string;
|
|
@@ -33,30 +33,30 @@ export declare const UnionDataTypeTagsConst: number;
|
|
|
33
33
|
export declare const ValueTypeTagsConst: number;
|
|
34
34
|
export declare const ObjectLikeTagsConst: number;
|
|
35
35
|
export declare const EnumTagsConst: number;
|
|
36
|
-
|
|
37
|
-
export
|
|
38
|
-
export
|
|
36
|
+
type ExactTypeTags = TypeTag.Null | TypeTag.False | TypeTag.True | TypeTag.Number | TypeTag.Long | TypeTag.Float | TypeTag.Double | TypeTag.Char | TypeTag.String | TypeTag.Array | TypeTag.Dictionary | TypeTag.Method | TypeTag.Module | TypeTag.Function | TypeTag.Class | TypeTag.Object | TypeTag.Enum | TypeTag.Symbol | TypeTag.Typedef;
|
|
37
|
+
export type EnumeratedTypeTags = ExactTypeTags | TypeTag.Never | TypeTag.Any;
|
|
38
|
+
export type UnionTypeTags = number;
|
|
39
39
|
interface AbstractValue {
|
|
40
40
|
type: UnionTypeTags;
|
|
41
41
|
value?: unknown;
|
|
42
42
|
}
|
|
43
|
-
export
|
|
44
|
-
|
|
43
|
+
export type ExactTypes = NullType | FalseType | TrueType | NumberType | LongType | FloatType | DoubleType | CharType | StringType | ArrayType | DictionaryType | MethodType | ModuleType | FunctionType | ClassType | ObjectType | EnumType | SymbolType | TypedefType;
|
|
44
|
+
type ExactPairHelper<T> = T extends ExactTypes ? {
|
|
45
45
|
type: T["type"];
|
|
46
46
|
avalue: T["value"];
|
|
47
47
|
bvalue: T["value"];
|
|
48
48
|
} : never;
|
|
49
|
-
export
|
|
50
|
-
export
|
|
51
|
-
|
|
49
|
+
export type ExactPairs = ExactPairHelper<ExactTypes>;
|
|
50
|
+
export type ValuePairs = ExactPairHelper<ValueTypes>;
|
|
51
|
+
type WithValue<T> = T extends ExactTypes ? T extends SingletonType ? T : {
|
|
52
52
|
type: T["type"];
|
|
53
53
|
value: NonNullable<T["value"]>;
|
|
54
54
|
} : never;
|
|
55
|
-
export
|
|
55
|
+
export type ExactData<T extends ExactTypeTags> = T extends SingletonType ? undefined : NonNullable<Extract<ExactTypes, {
|
|
56
56
|
type: T;
|
|
57
57
|
}>["value"]>;
|
|
58
|
-
export
|
|
59
|
-
export
|
|
58
|
+
export type ValueTypes = WithValue<ExactTypes>;
|
|
59
|
+
export type ExtendedTypes = ExactTypes | NeverType | AnyType;
|
|
60
60
|
export interface NeverType extends AbstractValue {
|
|
61
61
|
type: 0;
|
|
62
62
|
value?: undefined;
|
|
@@ -156,8 +156,8 @@ export interface AnyType extends AbstractValue {
|
|
|
156
156
|
type: TypeTag.Any;
|
|
157
157
|
value?: undefined;
|
|
158
158
|
}
|
|
159
|
-
export
|
|
160
|
-
export
|
|
159
|
+
export type SingletonType = NullType | FalseType | TrueType;
|
|
160
|
+
export type UnionData = {
|
|
161
161
|
mask: TypeTag;
|
|
162
162
|
[TypeTag.Array]?: NonNullable<ArrayType["value"]>;
|
|
163
163
|
[TypeTag.Dictionary]?: NonNullable<DictionaryType["value"]>;
|
|
@@ -168,16 +168,16 @@ export declare type UnionData = {
|
|
|
168
168
|
[TypeTag.Object]?: NonNullable<ObjectType["value"]>;
|
|
169
169
|
[TypeTag.Enum]?: NonNullable<EnumType["value"]>;
|
|
170
170
|
};
|
|
171
|
-
export
|
|
171
|
+
export type UnionDataKey = Exclude<keyof UnionData, "mask">;
|
|
172
172
|
export interface UnionType extends AbstractValue {
|
|
173
173
|
value?: UnionData | undefined;
|
|
174
174
|
}
|
|
175
|
-
export
|
|
176
|
-
export
|
|
177
|
-
|
|
175
|
+
export type ExactOrUnion = UnionType | ExactTypes;
|
|
176
|
+
export type SingleValue = NonNullable<ValueTypes["value"]>;
|
|
177
|
+
type TagValue<TAG> = Extract<ValueTypes, {
|
|
178
178
|
type: TAG;
|
|
179
179
|
}>["value"];
|
|
180
|
-
export
|
|
180
|
+
export type EnumValueType = TagValue<TypeTag.Enum>;
|
|
181
181
|
export declare function isExact(v: AbstractValue): v is ExactTypes;
|
|
182
182
|
export declare function isUnion(v: AbstractValue): v is UnionType;
|
|
183
183
|
export declare function isSingleton(v: AbstractValue): v is SingletonType;
|
package/build/src/type-flow.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { FunctionStateNode, ProgramStateAnalysis } from "./optimizer-types";
|
|
|
4
4
|
import { InterpState } from "./type-flow/interp";
|
|
5
5
|
import { TypeStateKey } from "./type-flow/type-flow-util";
|
|
6
6
|
export declare const missingNullWorkaround = true;
|
|
7
|
-
export
|
|
7
|
+
export type NodeEquivMap = Map<mctree.Node, {
|
|
8
8
|
decl: EventDecl;
|
|
9
9
|
equiv: Array<EventDecl>;
|
|
10
10
|
}>;
|
package/build/src/util.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare function last_modified(inputs: string[]): Promise<number>;
|
|
|
15
15
|
export declare function first_modified(inputs: string[]): Promise<number>;
|
|
16
16
|
export declare function pushUnique<T, U extends T>(arr: T[], value: U): boolean;
|
|
17
17
|
export declare function sameArrays<T>(a1: T[], a2: T[], check: (a: T, b: T) => boolean): boolean;
|
|
18
|
-
export
|
|
18
|
+
export type LineHandler = (line: string) => void;
|
|
19
19
|
export declare function spawnByLine(command: string, args: string[], lineHandlers: LineHandler | LineHandler[], options?: {
|
|
20
20
|
[key: string]: unknown;
|
|
21
21
|
}): Promise<void>;
|
|
@@ -44,7 +44,7 @@ interface OptimizePrgAndDebug extends BaseNode {
|
|
|
44
44
|
config: BuildConfig | undefined;
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
export
|
|
47
|
+
export type WorkerTask = BuildOptimizedProject | GenerateOptimizedProject | GenerateOneConfig | OptimizePrgAndDebug;
|
|
48
48
|
export declare const workerTaskHandlers: {
|
|
49
49
|
readonly buildOptimizedProject: (data: BuildOptimizedProject["data"]) => Promise<{
|
|
50
50
|
exe: string;
|
|
@@ -81,7 +81,7 @@ export declare const workerTaskHandlers: {
|
|
|
81
81
|
debugXml: string;
|
|
82
82
|
}>;
|
|
83
83
|
};
|
|
84
|
-
|
|
85
|
-
export
|
|
84
|
+
type RemovePromise<T> = T extends Promise<infer U> ? U : T;
|
|
85
|
+
export type WorkerTaskResult<T> = T extends WorkerTask ? RemovePromise<ReturnType<typeof workerTaskHandlers[T["type"]]>> : never;
|
|
86
86
|
export declare function performTask<T extends WorkerTask>(task: T): Promise<WorkerTaskResult<T>>;
|
|
87
87
|
export {};
|
package/build/src/xml-util.d.ts
CHANGED
|
@@ -62,9 +62,9 @@ interface XValue extends BaseNode {
|
|
|
62
62
|
extid?: System;
|
|
63
63
|
ndecl?: NData;
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
type Reference = CharRef | EntityRef;
|
|
66
|
+
type PEReference = PERef;
|
|
67
|
+
type SystemLiteral = string;
|
|
68
68
|
interface EntityRef extends BaseNode {
|
|
69
69
|
type: "entityref";
|
|
70
70
|
name: string;
|
|
@@ -86,8 +86,8 @@ interface NData extends BaseNode {
|
|
|
86
86
|
type: "ndata";
|
|
87
87
|
value: string;
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
type ExternalID = System | Public;
|
|
90
|
+
type MarkupDecl = EntityDecl | NotationDecl | PI | Comment;
|
|
91
91
|
interface System extends BaseNode {
|
|
92
92
|
type: "system";
|
|
93
93
|
value: SystemLiteral;
|
|
@@ -97,8 +97,8 @@ interface Public extends BaseNode {
|
|
|
97
97
|
value: SystemLiteral;
|
|
98
98
|
pubid: string;
|
|
99
99
|
}
|
|
100
|
-
export
|
|
101
|
-
export
|
|
100
|
+
export type Misc = Comment | PI | CharData;
|
|
101
|
+
export type Content = Element | Reference | CData | Misc;
|
|
102
102
|
export interface CData extends BaseNode {
|
|
103
103
|
type: "cdata";
|
|
104
104
|
value: string;
|
|
@@ -144,7 +144,7 @@ export declare class Document {
|
|
|
144
144
|
processRefs(text: string): string;
|
|
145
145
|
}
|
|
146
146
|
export declare function elementKids(e: Element): Element[];
|
|
147
|
-
|
|
147
|
+
type ElementMatcher = string | ((c: Element) => boolean);
|
|
148
148
|
export declare class Nodes {
|
|
149
149
|
elements: Array<Element>;
|
|
150
150
|
constructor(elements: Element | Element[]);
|
|
@@ -164,7 +164,7 @@ export declare function attrString(value: string | AttrStr): AttrStr | {
|
|
|
164
164
|
export declare function makeAttribute(name: string | AttrStr, value: string | AttrStr): Attribute;
|
|
165
165
|
export declare function parseXml(content: string, fileName?: string | null): Document;
|
|
166
166
|
export declare function writeXml(doc: Document): string;
|
|
167
|
-
export
|
|
167
|
+
export type Visitor = {
|
|
168
168
|
pre?: (node: Content) => boolean | null | undefined | void;
|
|
169
169
|
post?: (node: Content) => void;
|
|
170
170
|
};
|
package/build/util.cjs
CHANGED
|
@@ -18,32 +18,33 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var util_exports = {};
|
|
20
20
|
__export(util_exports, {
|
|
21
|
-
GenericQueue: () =>
|
|
22
|
-
bumpLogging: () =>
|
|
23
|
-
copyRecursiveAsNeeded: () =>
|
|
24
|
-
every: () =>
|
|
25
|
-
first_modified: () =>
|
|
26
|
-
forEach: () =>
|
|
27
|
-
globSome: () =>
|
|
28
|
-
globa: () =>
|
|
29
|
-
last_modified: () =>
|
|
30
|
-
log: () =>
|
|
31
|
-
logger: () =>
|
|
32
|
-
map: () =>
|
|
33
|
-
popcount: () =>
|
|
34
|
-
promiseAll: () =>
|
|
35
|
-
pushUnique: () =>
|
|
36
|
-
readByLine: () =>
|
|
37
|
-
reduce: () =>
|
|
38
|
-
sameArrays: () =>
|
|
39
|
-
setBanner: () =>
|
|
40
|
-
some: () =>
|
|
41
|
-
spawnByLine: () =>
|
|
42
|
-
wouldLog: () =>
|
|
21
|
+
GenericQueue: () => import_chunk_PVBIKZYZ.GenericQueue,
|
|
22
|
+
bumpLogging: () => import_chunk_PVBIKZYZ.bumpLogging,
|
|
23
|
+
copyRecursiveAsNeeded: () => import_chunk_PVBIKZYZ.copyRecursiveAsNeeded,
|
|
24
|
+
every: () => import_chunk_PVBIKZYZ.every,
|
|
25
|
+
first_modified: () => import_chunk_PVBIKZYZ.first_modified,
|
|
26
|
+
forEach: () => import_chunk_PVBIKZYZ.forEach,
|
|
27
|
+
globSome: () => import_chunk_PVBIKZYZ.globSome,
|
|
28
|
+
globa: () => import_chunk_PVBIKZYZ.globa,
|
|
29
|
+
last_modified: () => import_chunk_PVBIKZYZ.last_modified,
|
|
30
|
+
log: () => import_chunk_PVBIKZYZ.log,
|
|
31
|
+
logger: () => import_chunk_PVBIKZYZ.logger,
|
|
32
|
+
map: () => import_chunk_PVBIKZYZ.map,
|
|
33
|
+
popcount: () => import_chunk_PVBIKZYZ.popcount,
|
|
34
|
+
promiseAll: () => import_chunk_PVBIKZYZ.promiseAll,
|
|
35
|
+
pushUnique: () => import_chunk_PVBIKZYZ.pushUnique,
|
|
36
|
+
readByLine: () => import_chunk_PVBIKZYZ.readByLine,
|
|
37
|
+
reduce: () => import_chunk_PVBIKZYZ.reduce,
|
|
38
|
+
sameArrays: () => import_chunk_PVBIKZYZ.sameArrays,
|
|
39
|
+
setBanner: () => import_chunk_PVBIKZYZ.setBanner,
|
|
40
|
+
some: () => import_chunk_PVBIKZYZ.some,
|
|
41
|
+
spawnByLine: () => import_chunk_PVBIKZYZ.spawnByLine,
|
|
42
|
+
wouldLog: () => import_chunk_PVBIKZYZ.wouldLog
|
|
43
43
|
});
|
|
44
44
|
module.exports = __toCommonJS(util_exports);
|
|
45
|
-
var
|
|
46
|
-
(
|
|
45
|
+
var import_chunk_PVBIKZYZ = require("./chunk-PVBIKZYZ.cjs");
|
|
46
|
+
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
47
|
+
(0, import_chunk_PVBIKZYZ.init_util)();
|
|
47
48
|
// Annotate the CommonJS export names for ESM import in node:
|
|
48
49
|
0 && (module.exports = {
|
|
49
50
|
GenericQueue,
|
package/build/worker-thread.cjs
CHANGED
|
@@ -21,19 +21,19 @@ __export(worker_thread_exports, {
|
|
|
21
21
|
default: () => worker_thread_default
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(worker_thread_exports);
|
|
24
|
-
var
|
|
25
|
-
var
|
|
24
|
+
var import_chunk_DD4VX53Y = require("./chunk-DD4VX53Y.cjs");
|
|
25
|
+
var import_chunk_PVBIKZYZ = require("./chunk-PVBIKZYZ.cjs");
|
|
26
|
+
var import_chunk_MBTLUWXR = require("./chunk-MBTLUWXR.cjs");
|
|
27
|
+
var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
|
|
26
28
|
var import_node_worker_threads = require("node:worker_threads");
|
|
27
|
-
var require_worker_thread = (0,
|
|
29
|
+
var require_worker_thread = (0, import_chunk_ABYVSU2C.__commonJS)({
|
|
28
30
|
"src/worker-thread.ts"() {
|
|
29
|
-
(0,
|
|
31
|
+
(0, import_chunk_DD4VX53Y.init_worker_task)();
|
|
30
32
|
if (import_node_worker_threads.parentPort) {
|
|
31
33
|
import_node_worker_threads.parentPort.on("message", async (task) => {
|
|
32
|
-
return import_node_worker_threads.parentPort.postMessage(await (0,
|
|
34
|
+
return import_node_worker_threads.parentPort.postMessage(await (0, import_chunk_DD4VX53Y.performTask)(task));
|
|
33
35
|
});
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
});
|
|
37
39
|
var worker_thread_default = require_worker_thread();
|
|
38
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
39
|
-
0 && (module.exports = {});
|
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.27",
|
|
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",
|
|
@@ -20,30 +20,35 @@
|
|
|
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
21
|
"build-debug": "node esbuild.mjs",
|
|
22
22
|
"build-release": "node esbuild.mjs --release",
|
|
23
|
-
"prepack": "node esbuild.mjs --release",
|
|
24
|
-
"test": "npm run test-mocha && npm run test-optimized && npm run test-unopt && npm run test-post-only && npm run test-remote && npm run test-remote-tests",
|
|
23
|
+
"prepack": "node esbuild.mjs --release && mkdir -p bin && cp test/cft-font-info.js bin",
|
|
24
|
+
"test": "npm run test-mocha && npm run test-optimized && npm run test-unopt && npm run test-post-only && npm run test-remote && npm run test-remote-tests && npm run test-personality",
|
|
25
25
|
"test-mocha": "npx mocha --timeout 999999 build/mocha.cjs",
|
|
26
26
|
"test-remote": "node ./test/test.js --showInfo --postOptimize --product=pick-one --github",
|
|
27
27
|
"test-remote-tests": "node ./test/test.js --showInfo --postOptimize --product=pick-one --run-tests --github",
|
|
28
28
|
"test-optimized": "node test/test.js --showInfo --postOptimize --typeCheckLevel Strict --run-tests --product=fenix5 --product=fr235 --jungle ./test/OptimizerTests/monkey.jungle",
|
|
29
29
|
"test-unopt": "node test/test.js --typeCheckLevel Strict --skipOptimization --run-tests --product=fenix5 --product=fr235 --jungle ./test/OptimizerTests/monkey.jungle",
|
|
30
|
-
"test-post-only": "node test/test.js --typeCheckLevel Strict --skipOptimization --postOptimize --run-tests --product=fenix5 --product=fr235 --jungle ./test/OptimizerTests/monkey.jungle",
|
|
30
|
+
"test-post-only": "node test/test.js --showInfo --typeCheckLevel Strict --skipOptimization --postOptimize --run-tests --product=fenix5 --product=fr235 --jungle ./test/OptimizerTests/monkey.jungle",
|
|
31
31
|
"test-garmin-opt": "node test/test.js --typeCheckLevel Strict --skipOptimization --garminOptLevel=2 --run-tests --product=fenix5 --product=fr235 --jungle ./test/OptimizerTests/monkey.jungle",
|
|
32
|
+
"test-personality": "node test/test-personality.js",
|
|
32
33
|
"eslint": "npx eslint ."
|
|
33
34
|
},
|
|
35
|
+
"bin": {
|
|
36
|
+
"cft-font-info": "bin/cft-font-info.js"
|
|
37
|
+
},
|
|
34
38
|
"files": [
|
|
35
39
|
"build/optimizer.cjs",
|
|
36
40
|
"build/util.cjs",
|
|
37
41
|
"build/sdk-util.cjs",
|
|
38
42
|
"build/api.cjs",
|
|
39
43
|
"build/worker-thread.cjs",
|
|
44
|
+
"build/cftinfo.cjs",
|
|
40
45
|
"build/chunk-*.cjs",
|
|
41
46
|
"build/src/**/*.d.ts"
|
|
42
47
|
],
|
|
43
48
|
"author": "markw65",
|
|
44
49
|
"license": "MIT",
|
|
45
50
|
"dependencies": {
|
|
46
|
-
"@markw65/prettier-plugin-monkeyc": "^1.0.
|
|
51
|
+
"@markw65/prettier-plugin-monkeyc": "^1.0.49"
|
|
47
52
|
},
|
|
48
53
|
"devDependencies": {
|
|
49
54
|
"@types/chai": "^4.3.4",
|
|
@@ -56,16 +61,16 @@
|
|
|
56
61
|
"@typescript-eslint/eslint-plugin": "^5.28.0",
|
|
57
62
|
"@typescript-eslint/parser": "^5.28.0",
|
|
58
63
|
"chai": "^4.3.7",
|
|
59
|
-
"esbuild": "^0.17.
|
|
64
|
+
"esbuild": "^0.17.16",
|
|
60
65
|
"eslint": "^8.12.0",
|
|
61
66
|
"extract-zip": "^2.0.1",
|
|
62
67
|
"fast-glob": "^3.2.12",
|
|
63
68
|
"mocha": "^10.2.0",
|
|
64
|
-
"peggy": "^
|
|
69
|
+
"peggy": "^3.0.2",
|
|
65
70
|
"prettier": "^2.6.2",
|
|
66
|
-
"prettier-plugin-pegjs": "
|
|
71
|
+
"prettier-plugin-pegjs": "^1.0.1",
|
|
67
72
|
"priorityqueuejs": "^2.0.0",
|
|
68
|
-
"typescript": "^
|
|
73
|
+
"typescript": "^5.0.4",
|
|
69
74
|
"yauzl": "^2.10.0",
|
|
70
75
|
"yazl": "^2.5.1"
|
|
71
76
|
},
|