@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.
Files changed (43) hide show
  1. package/README.md +28 -0
  2. package/bin/cft-font-info.js +63 -0
  3. package/build/api.cjs +36 -34
  4. package/build/cftinfo.cjs +112 -0
  5. package/build/chunk-ABYVSU2C.cjs +74 -0
  6. package/build/{chunk-SNWJ2FZL.cjs → chunk-DD4VX53Y.cjs} +1052 -1160
  7. package/build/chunk-MBTLUWXR.cjs +375 -0
  8. package/build/{chunk-QFQPBQSO.cjs → chunk-PVBIKZYZ.cjs} +110 -153
  9. package/build/optimizer.cjs +21 -19
  10. package/build/sdk-util.cjs +17 -15
  11. package/build/src/api.d.ts +1 -1
  12. package/build/src/ast.d.ts +1 -1
  13. package/build/src/cftinfo.d.ts +32 -0
  14. package/build/src/control-flow.d.ts +3 -3
  15. package/build/src/data-flow.d.ts +5 -5
  16. package/build/src/inliner.d.ts +2 -2
  17. package/build/src/jungles.d.ts +16 -12
  18. package/build/src/manifest.d.ts +1 -1
  19. package/build/src/optimizer-types.d.ts +25 -22
  20. package/build/src/optimizer.d.ts +2 -2
  21. package/build/src/projects.d.ts +1 -1
  22. package/build/src/readprg/bytecode.d.ts +5 -5
  23. package/build/src/readprg/cflow.d.ts +3 -2
  24. package/build/src/readprg/emit.d.ts +3 -3
  25. package/build/src/readprg/exceptions.d.ts +2 -2
  26. package/build/src/readprg/header.d.ts +2 -2
  27. package/build/src/readprg/interp.d.ts +1 -1
  28. package/build/src/readprg/linenum.d.ts +1 -1
  29. package/build/src/readprg/opcodes.d.ts +2 -2
  30. package/build/src/resources.d.ts +2 -2
  31. package/build/src/sdk-util.d.ts +1 -1
  32. package/build/src/type-flow/dead-store.d.ts +1 -1
  33. package/build/src/type-flow/interp-call.d.ts +2 -2
  34. package/build/src/type-flow/interp.d.ts +4 -3
  35. package/build/src/type-flow/type-flow-util.d.ts +1 -1
  36. package/build/src/type-flow/types.d.ts +18 -18
  37. package/build/src/type-flow.d.ts +1 -1
  38. package/build/src/util.d.ts +1 -1
  39. package/build/src/worker-task.d.ts +3 -3
  40. package/build/src/xml-util.d.ts +9 -9
  41. package/build/util.cjs +25 -24
  42. package/build/worker-thread.cjs +7 -7
  43. 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 declare type TypeStateKey = Exclude<EventDecl, {
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
- declare 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 declare type EnumeratedTypeTags = ExactTypeTags | TypeTag.Never | TypeTag.Any;
38
- export declare type UnionTypeTags = number;
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 declare type ExactTypes = NullType | FalseType | TrueType | NumberType | LongType | FloatType | DoubleType | CharType | StringType | ArrayType | DictionaryType | MethodType | ModuleType | FunctionType | ClassType | ObjectType | EnumType | SymbolType | TypedefType;
44
- declare type ExactPairHelper<T> = T extends ExactTypes ? {
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 declare type ExactPairs = ExactPairHelper<ExactTypes>;
50
- export declare type ValuePairs = ExactPairHelper<ValueTypes>;
51
- declare type WithValue<T> = T extends ExactTypes ? T extends SingletonType ? T : {
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 declare type ExactData<T extends ExactTypeTags> = T extends SingletonType ? undefined : NonNullable<Extract<ExactTypes, {
55
+ export type ExactData<T extends ExactTypeTags> = T extends SingletonType ? undefined : NonNullable<Extract<ExactTypes, {
56
56
  type: T;
57
57
  }>["value"]>;
58
- export declare type ValueTypes = WithValue<ExactTypes>;
59
- export declare type ExtendedTypes = ExactTypes | NeverType | AnyType;
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 declare type SingletonType = NullType | FalseType | TrueType;
160
- export declare type UnionData = {
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 declare type UnionDataKey = Exclude<keyof UnionData, "mask">;
171
+ export type UnionDataKey = Exclude<keyof UnionData, "mask">;
172
172
  export interface UnionType extends AbstractValue {
173
173
  value?: UnionData | undefined;
174
174
  }
175
- export declare type ExactOrUnion = UnionType | ExactTypes;
176
- export declare type SingleValue = NonNullable<ValueTypes["value"]>;
177
- declare type TagValue<TAG> = Extract<ValueTypes, {
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 declare type EnumValueType = TagValue<TypeTag.Enum>;
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;
@@ -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 declare type NodeEquivMap = Map<mctree.Node, {
7
+ export type NodeEquivMap = Map<mctree.Node, {
8
8
  decl: EventDecl;
9
9
  equiv: Array<EventDecl>;
10
10
  }>;
@@ -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 declare type LineHandler = (line: string) => void;
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 declare type WorkerTask = BuildOptimizedProject | GenerateOptimizedProject | GenerateOneConfig | OptimizePrgAndDebug;
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
- declare type RemovePromise<T> = T extends Promise<infer U> ? U : T;
85
- export declare type WorkerTaskResult<T> = T extends WorkerTask ? RemovePromise<ReturnType<typeof workerTaskHandlers[T["type"]]>> : never;
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 {};
@@ -62,9 +62,9 @@ interface XValue extends BaseNode {
62
62
  extid?: System;
63
63
  ndecl?: NData;
64
64
  }
65
- declare type Reference = CharRef | EntityRef;
66
- declare type PEReference = PERef;
67
- declare type SystemLiteral = string;
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
- declare type ExternalID = System | Public;
90
- declare type MarkupDecl = EntityDecl | NotationDecl | PI | Comment;
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 declare type Misc = Comment | PI | CharData;
101
- export declare type Content = Element | Reference | CData | Misc;
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
- declare type ElementMatcher = string | ((c: Element) => boolean);
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 declare type Visitor = {
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: () => import_chunk_QFQPBQSO.GenericQueue,
22
- bumpLogging: () => import_chunk_QFQPBQSO.bumpLogging,
23
- copyRecursiveAsNeeded: () => import_chunk_QFQPBQSO.copyRecursiveAsNeeded,
24
- every: () => import_chunk_QFQPBQSO.every,
25
- first_modified: () => import_chunk_QFQPBQSO.first_modified,
26
- forEach: () => import_chunk_QFQPBQSO.forEach,
27
- globSome: () => import_chunk_QFQPBQSO.globSome,
28
- globa: () => import_chunk_QFQPBQSO.globa,
29
- last_modified: () => import_chunk_QFQPBQSO.last_modified,
30
- log: () => import_chunk_QFQPBQSO.log,
31
- logger: () => import_chunk_QFQPBQSO.logger,
32
- map: () => import_chunk_QFQPBQSO.map,
33
- popcount: () => import_chunk_QFQPBQSO.popcount,
34
- promiseAll: () => import_chunk_QFQPBQSO.promiseAll,
35
- pushUnique: () => import_chunk_QFQPBQSO.pushUnique,
36
- readByLine: () => import_chunk_QFQPBQSO.readByLine,
37
- reduce: () => import_chunk_QFQPBQSO.reduce,
38
- sameArrays: () => import_chunk_QFQPBQSO.sameArrays,
39
- setBanner: () => import_chunk_QFQPBQSO.setBanner,
40
- some: () => import_chunk_QFQPBQSO.some,
41
- spawnByLine: () => import_chunk_QFQPBQSO.spawnByLine,
42
- wouldLog: () => import_chunk_QFQPBQSO.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 import_chunk_QFQPBQSO = require("./chunk-QFQPBQSO.cjs");
46
- (0, import_chunk_QFQPBQSO.init_util)();
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,
@@ -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 import_chunk_SNWJ2FZL = require("./chunk-SNWJ2FZL.cjs");
25
- var import_chunk_QFQPBQSO = require("./chunk-QFQPBQSO.cjs");
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, import_chunk_QFQPBQSO.__commonJS)({
29
+ var require_worker_thread = (0, import_chunk_ABYVSU2C.__commonJS)({
28
30
  "src/worker-thread.ts"() {
29
- (0, import_chunk_SNWJ2FZL.init_worker_task)();
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, import_chunk_SNWJ2FZL.performTask)(task));
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.25",
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.46"
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.10",
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": "^2.0.1",
69
+ "peggy": "^3.0.2",
65
70
  "prettier": "^2.6.2",
66
- "prettier-plugin-pegjs": "https://github.com/markw65/prettier-plugin-pegjs/releases/download/v0.5.2/prettier-plugin-pegjs-0.5.2.tgz",
71
+ "prettier-plugin-pegjs": "^1.0.1",
67
72
  "priorityqueuejs": "^2.0.0",
68
- "typescript": "^4.6.4",
73
+ "typescript": "^5.0.4",
69
74
  "yauzl": "^2.10.0",
70
75
  "yazl": "^2.5.1"
71
76
  },