@bscotch/yy 2.4.0 → 2.6.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/README.md +41 -4
- package/dist/Yy.d.ts +2268 -9447
- package/dist/Yy.d.ts.map +1 -1
- package/dist/Yy.js +2 -4
- package/dist/Yy.js.map +1 -1
- package/dist/Yy.parse.d.ts +2 -2
- package/dist/Yy.parse.d.ts.map +1 -1
- package/dist/Yy.parse.js.map +1 -1
- package/dist/Yy.stringify.js +14 -0
- package/dist/Yy.stringify.js.map +1 -1
- package/dist/cli.d.mts +3 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.mjs +39 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/groups.d.ts +8 -0
- package/dist/groups.d.ts.map +1 -0
- package/dist/groups.js +26 -0
- package/dist/groups.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/scripts.d.ts +17 -0
- package/dist/scripts.d.ts.map +1 -0
- package/dist/scripts.js +88 -0
- package/dist/scripts.js.map +1 -0
- package/dist/types/GameMakerVersionString.js.map +1 -1
- package/dist/types/YyBase.d.ts +5 -38
- package/dist/types/YyBase.d.ts.map +1 -1
- package/dist/types/YyBase.js +4 -1
- package/dist/types/YyBase.js.map +1 -1
- package/dist/types/YyExtension.d.ts +17 -753
- package/dist/types/YyExtension.d.ts.map +1 -1
- package/dist/types/YyExtension.js +4 -8
- package/dist/types/YyExtension.js.map +1 -1
- package/dist/types/YyObject.d.ts +25 -321
- package/dist/types/YyObject.d.ts.map +1 -1
- package/dist/types/YyRoom.d.ts +184 -2867
- package/dist/types/YyRoom.d.ts.map +1 -1
- package/dist/types/YyRoom.js +45 -43
- package/dist/types/YyRoom.js.map +1 -1
- package/dist/types/YyRoomUI.d.ts +4 -50
- package/dist/types/YyRoomUI.d.ts.map +1 -1
- package/dist/types/YyRoomUI.js +2 -4
- package/dist/types/YyRoomUI.js.map +1 -1
- package/dist/types/YyScript.d.ts +4 -38
- package/dist/types/YyScript.d.ts.map +1 -1
- package/dist/types/YyShader.d.ts +4 -52
- package/dist/types/YyShader.d.ts.map +1 -1
- package/dist/types/YySound.d.ts +150 -79
- package/dist/types/YySound.d.ts.map +1 -1
- package/dist/types/YySound.js +83 -16
- package/dist/types/YySound.js.map +1 -1
- package/dist/types/YySprite.d.ts +1385 -2633
- package/dist/types/YySprite.d.ts.map +1 -1
- package/dist/types/YySprite.js +40 -24
- package/dist/types/YySprite.js.map +1 -1
- package/dist/types/YySprite.lib.d.ts +564 -123
- package/dist/types/YySprite.lib.d.ts.map +1 -1
- package/dist/types/YySprite.lib.js.map +1 -1
- package/dist/types/Yyp.d.ts +50 -1100
- package/dist/types/Yyp.d.ts.map +1 -1
- package/dist/types/Yyp.js +15 -13
- package/dist/types/Yyp.js.map +1 -1
- package/dist/types/utility.d.ts +21 -28
- package/dist/types/utility.d.ts.map +1 -1
- package/dist/types/utility.js +42 -14
- package/dist/types/utility.js.map +1 -1
- package/dist/versioning.d.ts +12 -0
- package/dist/versioning.d.ts.map +1 -0
- package/dist/versioning.js +82 -0
- package/dist/versioning.js.map +1 -0
- package/package.json +13 -13
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -17
- package/dist/cli.js.map +0 -1
package/dist/types/Yyp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Yyp.d.ts","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"Yyp.d.ts","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,QAAA,MAAM,iBAAiB;;;;;;iBAGrB,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,QAAA,MAAM,eAAe;;;;iBAMnB,CAAC;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAQD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,QAAA,MAAM,sBAAsB;;;;;iBAgB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AACxD,eAAO,MAAM,eAAe;;;;;;;kBAkB3B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACrE,eAAO,MAAM,mBAAmB;;;;;;iBAQ9B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;iBAuBhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,QAAA,MAAM,qBAAqB;;;;;;;;;iBAgBzB,CAAC;AAEH,qEAAqE;AACrE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAC5C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyCrB,CAAC"}
|
package/dist/types/Yyp.js
CHANGED
|
@@ -10,7 +10,9 @@ const yypResourceSchema = z.object({
|
|
|
10
10
|
order: z.number().optional(),
|
|
11
11
|
});
|
|
12
12
|
const yypOptionSchema = z.object({
|
|
13
|
-
ConfigValues: z
|
|
13
|
+
ConfigValues: z
|
|
14
|
+
.record(z.string(), z.record(z.string(), z.string()))
|
|
15
|
+
.optional(),
|
|
14
16
|
name: z.string(),
|
|
15
17
|
path: z.string(),
|
|
16
18
|
});
|
|
@@ -49,15 +51,18 @@ export const yypFolderSchema = z.preprocess((input) => {
|
|
|
49
51
|
resourceVersion: z.string().default('1.0'),
|
|
50
52
|
}));
|
|
51
53
|
export const yypAudioGroupSchema = z.object({
|
|
52
|
-
ConfigValues: z
|
|
54
|
+
ConfigValues: z
|
|
55
|
+
.record(z.string(), z.record(z.string(), z.string()))
|
|
56
|
+
.optional(),
|
|
53
57
|
name: z.string(),
|
|
54
58
|
targets: bigNumber().default(-1n),
|
|
55
59
|
resourceType: z.literal('GMAudioGroup').default('GMAudioGroup'),
|
|
56
60
|
resourceVersion: z.string().default('1.3'),
|
|
57
61
|
});
|
|
58
|
-
export const yypTextureGroupSchema = z
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
export const yypTextureGroupSchema = z.looseObject({
|
|
63
|
+
ConfigValues: z
|
|
64
|
+
.record(z.string(), z.record(z.string(), z.string()))
|
|
65
|
+
.optional(),
|
|
61
66
|
name: z.string(),
|
|
62
67
|
groupParent: z
|
|
63
68
|
.object({
|
|
@@ -77,17 +82,16 @@ export const yypTextureGroupSchema = z
|
|
|
77
82
|
directory: z.string().default(''),
|
|
78
83
|
resourceType: z.literal('GMTextureGroup').default('GMTextureGroup'),
|
|
79
84
|
resourceVersion: z.string().default('1.3'),
|
|
80
|
-
})
|
|
81
|
-
.passthrough();
|
|
85
|
+
});
|
|
82
86
|
const yypIncludedFileSchema = z.object({
|
|
83
87
|
ConfigValues: z
|
|
84
|
-
.record(z.object({
|
|
88
|
+
.record(z.string(), z.object({
|
|
85
89
|
CopyToMask: z.string(),
|
|
86
90
|
}))
|
|
87
91
|
.optional(),
|
|
88
92
|
/** The name of the file, including extension, without the path */
|
|
89
93
|
name: z.string(),
|
|
90
|
-
CopyToMask: bigNumber().default(-
|
|
94
|
+
CopyToMask: bigNumber().default(-1n),
|
|
91
95
|
/** `datafiles/${subdir}` */
|
|
92
96
|
filePath: z.string(),
|
|
93
97
|
resourceType: z.literal('GMIncludedFile').default('GMIncludedFile'),
|
|
@@ -104,8 +108,7 @@ export const yypSchema = z.preprocess((input) => {
|
|
|
104
108
|
delete input.Options;
|
|
105
109
|
}
|
|
106
110
|
return input;
|
|
107
|
-
}, z
|
|
108
|
-
.object({
|
|
111
|
+
}, z.looseObject({
|
|
109
112
|
[nameField]: z.string().optional(),
|
|
110
113
|
name: z.string(),
|
|
111
114
|
resourceType: z.literal('GMProject').default('GMProject'),
|
|
@@ -130,6 +133,5 @@ export const yypSchema = z.preprocess((input) => {
|
|
|
130
133
|
LibraryEmitters: z.array(z.any()).optional(),
|
|
131
134
|
resourceVersion: z.string(),
|
|
132
135
|
tags: z.array(z.string()).optional(),
|
|
133
|
-
})
|
|
134
|
-
.passthrough());
|
|
136
|
+
}));
|
|
135
137
|
//# sourceMappingURL=Yyp.js.map
|
package/dist/types/Yyp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Yyp.js","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,mBAAmB;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAGH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,YAAY,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"Yyp.js","sourceRoot":"","sources":["../../src/types/Yyp.ts"],"names":[],"mappings":"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"}
|
package/dist/types/utility.d.ts
CHANGED
|
@@ -18,23 +18,20 @@ export declare class FixedNumber extends Number {
|
|
|
18
18
|
* `z.input<>` inferred type will show this field,
|
|
19
19
|
* but that don't normally exist in the source data.
|
|
20
20
|
*/
|
|
21
|
-
export declare function hint<T extends z.ZodTypeAny>(schema: T): z.
|
|
22
|
-
export declare
|
|
21
|
+
export declare function hint<T extends z.ZodTypeAny>(schema: T): z.ZodPipe<z.ZodOptional<T>, z.ZodTransform<undefined, z.core.output<T> | undefined>>;
|
|
22
|
+
export declare const fixed0: FixedNumber;
|
|
23
|
+
export declare const fixed1: FixedNumber;
|
|
24
|
+
export declare function fixedNumber(schema?: z.ZodNumber, digits?: number): z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodNumber>, z.ZodTransform<FixedNumber, number>>;
|
|
23
25
|
/**
|
|
24
26
|
* Schema for a number or bigint cast to a bigint
|
|
25
27
|
*/
|
|
26
|
-
export declare function bigNumber(): z.
|
|
27
|
-
/**
|
|
28
|
-
* Ensure that an object is initialized to an empty
|
|
29
|
-
* object, allowing for default fields to be populated.
|
|
30
|
-
*/
|
|
31
|
-
export declare function ensureObject<T extends z.ZodTypeAny>(obj: T): z.ZodEffects<T, T["_output"], unknown>;
|
|
28
|
+
export declare function bigNumber(): z.ZodPipe<z.ZodUnion<readonly [z.ZodNumber, z.ZodBigInt]>, z.ZodTransform<bigint, number | bigint>>;
|
|
32
29
|
/**
|
|
33
30
|
* Ensure that an array is initialized to an array with
|
|
34
31
|
* at least one element, allowing for defaults to be
|
|
35
32
|
* populated in each element.
|
|
36
33
|
*/
|
|
37
|
-
export declare function ensureObjects<T extends z.
|
|
34
|
+
export declare function ensureObjects<T extends z.ZodObject>(obj: T, minItems?: number): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodArray<T>>;
|
|
38
35
|
/**
|
|
39
36
|
* Shorthand for a `ZodObject` instance that doesn't strip
|
|
40
37
|
* out any unknown keys, and that logs unexpected keys to
|
|
@@ -42,31 +39,27 @@ export declare function ensureObjects<T extends z.AnyZodObject | z.ZodEffects<an
|
|
|
42
39
|
*/
|
|
43
40
|
export declare function unstable<T extends z.ZodRawShape>(shape: T): z.ZodObject<T>;
|
|
44
41
|
export declare function getYyResourceId(yyType: YyResourceType, name: string): YypResourceId;
|
|
45
|
-
export declare function yyResourceIdSchemaGenerator(yyType: YyResourceType): z.
|
|
46
|
-
/** Object name */
|
|
42
|
+
export declare function yyResourceIdSchemaGenerator(yyType: YyResourceType): z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodObject<{
|
|
47
43
|
name: z.ZodString;
|
|
48
|
-
/** Object resource path, e.g. "objects/{name}/{name}.yy" */
|
|
49
44
|
path: z.ZodString;
|
|
50
|
-
},
|
|
51
|
-
path: string;
|
|
52
|
-
name: string;
|
|
53
|
-
}, {
|
|
54
|
-
path: string;
|
|
55
|
-
name: string;
|
|
56
|
-
}>, {
|
|
57
|
-
path: string;
|
|
58
|
-
name: string;
|
|
59
|
-
}, {
|
|
60
|
-
path: string;
|
|
61
|
-
name: string;
|
|
62
|
-
}>, {
|
|
63
|
-
path: string;
|
|
64
|
-
name: string;
|
|
65
|
-
}, unknown>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
66
46
|
export declare function yyIsNewFormat<T>(yyData: T): yyData is T & {
|
|
67
47
|
'%Name': string;
|
|
68
48
|
};
|
|
69
49
|
export declare function isObjectWithField<F extends string>(obj: unknown, field: F): obj is Record<string, unknown> & {
|
|
70
50
|
[K in F]: unknown;
|
|
71
51
|
};
|
|
52
|
+
export declare function assert(claim: any, message: string): asserts claim;
|
|
53
|
+
export declare function toPosixPath(path: string): string;
|
|
54
|
+
export declare function parsePath(path: string): {
|
|
55
|
+
filename: string;
|
|
56
|
+
fullpath: string;
|
|
57
|
+
parent: string;
|
|
58
|
+
ext: `.${string}`;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Join path parts, ensuring exactly one POSIX separator is between
|
|
62
|
+
* each part. Maintains initial and final seps.
|
|
63
|
+
*/
|
|
64
|
+
export declare function joinPaths(...parts: string[]): string;
|
|
72
65
|
//# sourceMappingURL=utility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC,wBAAgB,YAAY,CAAC,MAAM,SAAK,UAQvC;AAED,qBAAa,WAAY,SAAQ,MAAM;IAGnC,QAAQ,CAAC,MAAM;gBADf,KAAK,EAAE,MAAM,GAAG,WAAW,EAClB,MAAM,SAAI;IAKrB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM;IACxD,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAKnC,QAAQ,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;CAGjB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC,wBAAgB,YAAY,CAAC,MAAM,SAAK,UAQvC;AAED,qBAAa,WAAY,SAAQ,MAAM;IAGnC,QAAQ,CAAC,MAAM;gBADf,KAAK,EAAE,MAAM,GAAG,WAAW,EAClB,MAAM,SAAI;IAKrB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM;IACxD,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAKnC,QAAQ,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;CAGjB;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,wFAErD;AAED,eAAO,MAAM,MAAM,aAAqB,CAAC;AACzC,eAAO,MAAM,MAAM,aAAqB,CAAC;AAEzC,wBAAgB,WAAW,CAAC,MAAM,cAAa,EAAE,MAAM,SAAI,4GAO1D;AAED;;GAEG;AACH,wBAAgB,SAAS,wGAIxB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,SAAI,8DAWxE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAa1E;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,aAAa,CAKf;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc;;;mBAuBjE;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAK7E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,CAAC,GACP,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,OAAO;CAAE,CAQxD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAEjE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;CACnB,CAOA;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAQpD"}
|
package/dist/types/utility.js
CHANGED
|
@@ -33,6 +33,8 @@ export class FixedNumber extends Number {
|
|
|
33
33
|
export function hint(schema) {
|
|
34
34
|
return schema.optional().transform(() => undefined);
|
|
35
35
|
}
|
|
36
|
+
export const fixed0 = new FixedNumber(0);
|
|
37
|
+
export const fixed1 = new FixedNumber(1);
|
|
36
38
|
export function fixedNumber(schema = z.number(), digits = 1) {
|
|
37
39
|
const coercedToNumber = z.preprocess((arg) => arg instanceof FixedNumber || typeof arg === 'number' ? +arg : arg, schema);
|
|
38
40
|
return coercedToNumber.transform((value) => new FixedNumber(value, digits));
|
|
@@ -45,13 +47,6 @@ export function bigNumber() {
|
|
|
45
47
|
.union([z.number(), z.bigint()])
|
|
46
48
|
.transform((value) => (typeof value === 'bigint' ? value : BigInt(value)));
|
|
47
49
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Ensure that an object is initialized to an empty
|
|
50
|
-
* object, allowing for default fields to be populated.
|
|
51
|
-
*/
|
|
52
|
-
export function ensureObject(obj) {
|
|
53
|
-
return z.preprocess((arg) => arg || {}, obj);
|
|
54
|
-
}
|
|
55
50
|
/**
|
|
56
51
|
* Ensure that an array is initialized to an array with
|
|
57
52
|
* at least one element, allowing for defaults to be
|
|
@@ -73,13 +68,18 @@ export function ensureObjects(obj, minItems = 1) {
|
|
|
73
68
|
* the console.
|
|
74
69
|
*/
|
|
75
70
|
export function unstable(shape) {
|
|
76
|
-
return z.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
return z.looseObject(shape);
|
|
72
|
+
// return z.object(shape).catchall(
|
|
73
|
+
// z.unknown().superRefine((_arg, ctx) => {
|
|
74
|
+
// // The new format for name/resourcetype keys should be ignore, since those are handled in other ways.
|
|
75
|
+
// ctx.issues.every((iss) => {
|
|
76
|
+
// const isNewKey = `${String(iss.path?.at(-1))}`.match(/^[$%]/);
|
|
77
|
+
// if (!isNewKey) {
|
|
78
|
+
// console.log(`WARNING: Unexpected Key "${iss.path?.join('/')}"`);
|
|
79
|
+
// }
|
|
80
|
+
// });
|
|
81
|
+
// }),
|
|
82
|
+
// );
|
|
83
83
|
}
|
|
84
84
|
export function getYyResourceId(yyType, name) {
|
|
85
85
|
return {
|
|
@@ -123,4 +123,32 @@ export function isObjectWithField(obj, field) {
|
|
|
123
123
|
// @ts-expect-error
|
|
124
124
|
obj[field] !== undefined);
|
|
125
125
|
}
|
|
126
|
+
export function assert(claim, message) {
|
|
127
|
+
if (!claim)
|
|
128
|
+
throw new Error(message);
|
|
129
|
+
}
|
|
130
|
+
export function toPosixPath(path) {
|
|
131
|
+
return path.replace(/\\/g, '/');
|
|
132
|
+
}
|
|
133
|
+
export function parsePath(path) {
|
|
134
|
+
path = toPosixPath(path);
|
|
135
|
+
const parts = path.match(/^(?<parent>.*\/)?(?<filename>[^/]+?(?<ext>\.[^.]*)?)$/);
|
|
136
|
+
assert(parts, `Could not identify path parts of "${path}"`);
|
|
137
|
+
return { ...parts.groups, fullpath: path };
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Join path parts, ensuring exactly one POSIX separator is between
|
|
141
|
+
* each part. Maintains initial and final seps.
|
|
142
|
+
*/
|
|
143
|
+
export function joinPaths(...parts) {
|
|
144
|
+
return parts
|
|
145
|
+
.map((part, i) => {
|
|
146
|
+
if (i === 0)
|
|
147
|
+
return part.replace(/\/+$/, ''); // First part: trim end only
|
|
148
|
+
if (i === parts.length - 1)
|
|
149
|
+
return part.replace(/^\/+/, ''); // Last part: trim start only
|
|
150
|
+
return part.replace(/^\/+|\/+$/g, ''); // Middle parts: trim both ends
|
|
151
|
+
})
|
|
152
|
+
.join('/');
|
|
153
|
+
}
|
|
126
154
|
//# sourceMappingURL=utility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AAEjC,MAAM,UAAU,YAAY,CAAC,MAAM,GAAG,EAAE;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../src/types/utility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set the project version in all options files.
|
|
3
|
+
* (Note that the Switch options files do not include the version
|
|
4
|
+
* -- that must be set outside of GameMaker in the *.nmeta file).
|
|
5
|
+
* Can use one of:
|
|
6
|
+
* + "0.0.0.0" syntax (exactly as GameMaker stores versions)
|
|
7
|
+
* + "0.0.0" syntax (semver without prereleases -- the 4th value will always be 0)
|
|
8
|
+
* + "0.0.0-rc.0" syntax (the 4th number will be the RC number)
|
|
9
|
+
* The four numbers will appear in all cases as the string "major.minor.patch.candidate"
|
|
10
|
+
*/
|
|
11
|
+
export declare function setProjectVersion(yypPath: string, versionString: string): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=versioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioning.d.ts","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,iBAoDtB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import fsp from 'node:fs/promises';
|
|
2
|
+
import { assert, joinPaths, parsePath } from './types/utility.js';
|
|
3
|
+
const platformNames = [
|
|
4
|
+
'amazonfire',
|
|
5
|
+
'android',
|
|
6
|
+
'html5',
|
|
7
|
+
'ios',
|
|
8
|
+
'linux',
|
|
9
|
+
'mac',
|
|
10
|
+
'operagx',
|
|
11
|
+
'ps4',
|
|
12
|
+
'switch',
|
|
13
|
+
'tvos',
|
|
14
|
+
'windows',
|
|
15
|
+
'windowsuap',
|
|
16
|
+
'xbone',
|
|
17
|
+
'xboxseriesxs',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Set the project version in all options files.
|
|
21
|
+
* (Note that the Switch options files do not include the version
|
|
22
|
+
* -- that must be set outside of GameMaker in the *.nmeta file).
|
|
23
|
+
* Can use one of:
|
|
24
|
+
* + "0.0.0.0" syntax (exactly as GameMaker stores versions)
|
|
25
|
+
* + "0.0.0" syntax (semver without prereleases -- the 4th value will always be 0)
|
|
26
|
+
* + "0.0.0-rc.0" syntax (the 4th number will be the RC number)
|
|
27
|
+
* The four numbers will appear in all cases as the string "major.minor.patch.candidate"
|
|
28
|
+
*/
|
|
29
|
+
export async function setProjectVersion(yypPath, versionString) {
|
|
30
|
+
assert(yypPath.endsWith('.yyp'), 'First argument must be a path to a .yyp file');
|
|
31
|
+
const projectFolder = parsePath(yypPath).parent;
|
|
32
|
+
const parts = versionString.match(/^(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)((\.(?<revision>\d+))|(-rc.(?<candidate>\d+)))?$/);
|
|
33
|
+
if (!parts) {
|
|
34
|
+
throw new Error(`Version string ${versionString} is not a valid format.`);
|
|
35
|
+
}
|
|
36
|
+
const { major, minor, patch, revision, candidate } = parts.groups;
|
|
37
|
+
const normalizedVersionString = [
|
|
38
|
+
major,
|
|
39
|
+
minor,
|
|
40
|
+
patch,
|
|
41
|
+
candidate || revision || '0',
|
|
42
|
+
].join('.');
|
|
43
|
+
const optionsDir = joinPaths(projectFolder, 'options');
|
|
44
|
+
const optionsFiles = await listFiles(optionsDir, ['.yy', '.nmeta']);
|
|
45
|
+
for (const file of optionsFiles) {
|
|
46
|
+
// Load it, change the version, and save
|
|
47
|
+
const parsedPath = parsePath(file);
|
|
48
|
+
if (parsedPath.ext == '.yy') {
|
|
49
|
+
// Read the file and replace anything that looks like a version line with the provided version. A version line looks like "option_..._version":"x.y.z.w"
|
|
50
|
+
const content = await fsp.readFile(file, 'utf8');
|
|
51
|
+
const newContent = content.replace(new RegExp(`("option[^"]*(?:${platformNames.join('|')})_version":\\s*")[\\d.]+"`), `$1${normalizedVersionString}"`);
|
|
52
|
+
await fsp.writeFile(file, newContent);
|
|
53
|
+
}
|
|
54
|
+
// Switch *.nmeta file needs special treatment
|
|
55
|
+
else if (parsedPath.ext == '.nmeta') {
|
|
56
|
+
// Uses an XML-ish format
|
|
57
|
+
const switchSearchRegex = new RegExp(`(?<pre><DisplayVersion>)(?<versionString>.*)(?<post></DisplayVersion>)`);
|
|
58
|
+
const content = await fsp.readFile(file, 'utf8');
|
|
59
|
+
const newContent = content.replace(switchSearchRegex, `$1${normalizedVersionString}$3`);
|
|
60
|
+
await fsp.writeFile(file, newContent);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get the files found in `dir`, recursively, as full paths. Only include
|
|
66
|
+
* specified extensions.
|
|
67
|
+
*/
|
|
68
|
+
async function listFiles(dir, allowedExtensions) {
|
|
69
|
+
let results = [];
|
|
70
|
+
const list = await fsp.readdir(dir, { withFileTypes: true });
|
|
71
|
+
for (const dirent of list) {
|
|
72
|
+
const fullPath = joinPaths(dir, dirent.name);
|
|
73
|
+
if (dirent.isDirectory()) {
|
|
74
|
+
results = results.concat(await listFiles(fullPath, allowedExtensions));
|
|
75
|
+
}
|
|
76
|
+
else if (allowedExtensions.includes(parsePath(dirent.name).ext)) {
|
|
77
|
+
results.push(fullPath);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return results;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=versioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioning.js","sourceRoot":"","sources":["../src/versioning.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,kBAAkB,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,SAAS;IACT,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,SAAS;IACT,KAAK;IACL,QAAQ;IACR,MAAM;IACN,SAAS;IACT,YAAY;IACZ,OAAO;IACP,cAAc;CACf,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,aAAqB;IAErB,MAAM,CACJ,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EACxB,8CAA8C,CAC/C,CAAC;IACF,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAC/B,8FAA8F,CAC/F,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,yBAAyB,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,MAE1D,CAAC;IACF,MAAM,uBAAuB,GAAG;QAC9B,KAAK;QACL,KAAK;QACL,KAAK;QACL,SAAS,IAAI,QAAQ,IAAI,GAAG;KAC7B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,wCAAwC;QACxC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,UAAU,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;YAC5B,wJAAwJ;YACxJ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAChC,IAAI,MAAM,CACR,mBAAmB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CACtE,EACD,KAAK,uBAAuB,GAAG,CAChC,CAAC;YACF,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;QACD,8CAA8C;aACzC,IAAI,UAAU,CAAC,GAAG,IAAI,QAAQ,EAAE,CAAC;YACpC,yBAAyB;YACzB,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,wEAAwE,CACzE,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAChC,iBAAiB,EACjB,KAAK,uBAAuB,IAAI,CACjC,CAAC;YACF,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,SAAS,CACtB,GAAW,EACX,iBAAiC;IAEjC,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzE,CAAC;aAAM,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bscotch/yy",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "Stringify, parse, read, and write GameMaker yy and yyp files.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"yy",
|
|
@@ -31,23 +31,23 @@
|
|
|
31
31
|
"main": "dist/index.js",
|
|
32
32
|
"types": "dist/index.d.ts",
|
|
33
33
|
"bin": {
|
|
34
|
-
"yy": "./dist/cli.
|
|
34
|
+
"yy": "./dist/cli.mjs"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@bscotch/utility": "^7.2.0",
|
|
38
|
-
"tslib": "^2.
|
|
39
|
-
"type-fest": "^4.
|
|
40
|
-
"uuid": "^
|
|
41
|
-
"zod": "^
|
|
38
|
+
"tslib": "^2.8.1",
|
|
39
|
+
"type-fest": "^4.41.0",
|
|
40
|
+
"uuid": "^11.1.0",
|
|
41
|
+
"zod": "^4.0.15"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@types/chai": "^
|
|
45
|
-
"@types/mocha": "^10.0.
|
|
46
|
-
"@types/uuid": "^
|
|
47
|
-
"chai": "^
|
|
48
|
-
"mocha": "^
|
|
49
|
-
"rimraf": "^
|
|
50
|
-
"typescript": "5.
|
|
44
|
+
"@types/chai": "^5.2.2",
|
|
45
|
+
"@types/mocha": "^10.0.10",
|
|
46
|
+
"@types/uuid": "^10.0.0",
|
|
47
|
+
"chai": "^5.2.1",
|
|
48
|
+
"mocha": "^11.7.1",
|
|
49
|
+
"rimraf": "^6.0.1",
|
|
50
|
+
"typescript": "5.9.2"
|
|
51
51
|
},
|
|
52
52
|
"publishConfig": {
|
|
53
53
|
"access": "public"
|
package/dist/cli.d.ts
DELETED
package/dist/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ok } from 'assert';
|
|
2
|
-
import { Yy } from './Yy.js';
|
|
3
|
-
const [command, ...args] = process.argv.slice(2);
|
|
4
|
-
if (command === 'diff') {
|
|
5
|
-
const [firstYyFile, secondYyFile] = args;
|
|
6
|
-
ok(firstYyFile, 'First Yy file must be specified');
|
|
7
|
-
ok(secondYyFile, 'Second Yy file must be specified');
|
|
8
|
-
const firstYy = Yy.readSync(firstYyFile);
|
|
9
|
-
const secondYy = Yy.readSync(secondYyFile);
|
|
10
|
-
const diff = Yy.diff(firstYy, secondYy);
|
|
11
|
-
console.log(JSON.stringify(diff, null, 2));
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
console.error(`Unknown command: ${command}`);
|
|
15
|
-
process.exit(1);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAE7B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjD,IAAI,OAAO,KAAK,MAAM,EAAE;IACtB,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;IACzC,EAAE,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;IACnD,EAAE,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;CAC5C;KAAM;IACL,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB"}
|