@bscotch/stitch-config 0.4.0 → 0.5.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 +31 -0
- package/dist/cli.d.mts +3 -0
- package/dist/cli.d.mts.map +1 -0
- package/dist/cli.mjs +30 -0
- package/dist/cli.mjs.map +1 -0
- package/dist/project.d.ts +26 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +117 -0
- package/dist/project.js.map +1 -0
- package/dist/schema.d.ts +26 -376
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +17 -22
- package/dist/schema.js.map +1 -1
- package/package.json +19 -4
package/README.md
CHANGED
|
@@ -9,3 +9,34 @@ The `stitch.config.json` file is used for configuration options that:
|
|
|
9
9
|
- Are specific to the project (i.e. not general configuration)
|
|
10
10
|
- Must be followed by all collaborators on that project
|
|
11
11
|
- Are not machine-dependent nor user-dependent
|
|
12
|
+
|
|
13
|
+
It should therefore be tracked in your project's Git history.
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
### Programmatic
|
|
18
|
+
|
|
19
|
+
You can import the schemas from the main entrypoint:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { stitchConfigSchema } from '@bscotch/stitch-config';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
And a few GameMaker project-management functions from the 'projects' entrypoint:
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
import {
|
|
29
|
+
findProjectConfigPath,
|
|
30
|
+
ensureProjectConfig, // Initialize a config file
|
|
31
|
+
loadProjectConfig,
|
|
32
|
+
saveProjectConfig,
|
|
33
|
+
applyGroupAssignments, // Apply texture group and audio group assignments from a config to its project
|
|
34
|
+
} from '@bscotch/stitch-config/project';
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### CLI
|
|
38
|
+
|
|
39
|
+
If you install globally you can use the CLI via `stitch-config`. Otherwise you can call it in a local install with `npx stitch-config`.
|
|
40
|
+
|
|
41
|
+
- `stitch-config init <yypFile>`: Ensure a Stitch config file exists for the target project
|
|
42
|
+
- `stitch-config sync-groups <yypFile>`: The Stitch config allows specifying audio and texture group assignment rules. This command updates the sprites and sounds to follow those rules.
|
package/dist/cli.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.mts","sourceRoot":"","sources":["../src/cli.mts"],"names":[],"mappings":""}
|
package/dist/cli.mjs
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { applyGroupAssignments, ensureProjectConfig } from './project.js';
|
|
3
|
+
const [command, ...args] = process.argv.slice(2);
|
|
4
|
+
if (command === 'init') {
|
|
5
|
+
const [yypFile] = args;
|
|
6
|
+
if (!yypFile || askingForHelp(yypFile)) {
|
|
7
|
+
console.error('Usage: stitch-config init <yypFile>');
|
|
8
|
+
console.error('\nEnsures that a Stitch Config file exists for the target project.');
|
|
9
|
+
process.exit(1);
|
|
10
|
+
}
|
|
11
|
+
await ensureProjectConfig(yypFile);
|
|
12
|
+
}
|
|
13
|
+
else if (command === 'sync-groups') {
|
|
14
|
+
const [yypFile] = args;
|
|
15
|
+
if (!yypFile || askingForHelp(yypFile)) {
|
|
16
|
+
console.error('Usage: stitch-config sync-groups <yypFile>');
|
|
17
|
+
console.error('\nUpdate Sprites and Sounds so that their texture/audio groups match what the config says they should have.');
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
await applyGroupAssignments(yypFile);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.error(`Unknown command: ${command}`);
|
|
24
|
+
console.error(`Available commands: init, sync-groups`);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
function askingForHelp(arg) {
|
|
28
|
+
return ['-h', '--help', 'help'].includes(arg);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=cli.mjs.map
|
package/dist/cli.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.mjs","sourceRoot":"","sources":["../src/cli.mts"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CACX,oEAAoE,CACrE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC;KAAM,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;IACrC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACvB,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,KAAK,CACX,6GAA6G,CAC9G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type StitchConfig } from './schema.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Ensure that any texture/audio group assignments set in the config
|
|
4
|
+
* (if found) are being applied to the appropriate assets.
|
|
5
|
+
*/
|
|
6
|
+
export declare function applyGroupAssignments(yypPath: string): Promise<void>;
|
|
7
|
+
export declare function ensureProjectConfig(yypPath: string): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Given a path to a GameMaker project's YYP file, load
|
|
10
|
+
* its Stitch Config file if it has one. Else return an
|
|
11
|
+
* empty config.
|
|
12
|
+
*/
|
|
13
|
+
export declare function loadProjectConfig(yypPath: string): Promise<StitchConfig>;
|
|
14
|
+
export declare function saveProjectConfig(yypPath: string, config: StitchConfig): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Given a path to a GameMaker project's YYP file, get
|
|
17
|
+
* the path to where its config file should be. Asserts
|
|
18
|
+
* existence of the yyp file.
|
|
19
|
+
*/
|
|
20
|
+
export declare function findProjectConfigPath(yypPath: string): Promise<{
|
|
21
|
+
filename: string;
|
|
22
|
+
fullpath: string;
|
|
23
|
+
parent: string;
|
|
24
|
+
ext: `.${string}`;
|
|
25
|
+
}>;
|
|
26
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,iBAoE1D;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxE;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,CAAC,CAcvB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,iBAQ5E;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM;;;;;GAK1D"}
|
package/dist/project.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { ensureGroups, joinPaths, listYyFiles, parsePath, Yy, } from '@bscotch/yy';
|
|
2
|
+
import { ok } from 'node:assert';
|
|
3
|
+
import fsp from 'node:fs/promises';
|
|
4
|
+
import { stitchConfigFilename, stitchConfigSchema, } from "./schema.js";
|
|
5
|
+
/**
|
|
6
|
+
* Ensure that any texture/audio group assignments set in the config
|
|
7
|
+
* (if found) are being applied to the appropriate assets.
|
|
8
|
+
*/
|
|
9
|
+
export async function applyGroupAssignments(yypPath) {
|
|
10
|
+
const config = await loadProjectConfig(yypPath);
|
|
11
|
+
for (const kind of ['audio', 'texture']) {
|
|
12
|
+
// Make sure the group exists in the YYP file
|
|
13
|
+
const groupNames = Object.values(config[`${kind}GroupAssignments`] || {});
|
|
14
|
+
if (!groupNames.length)
|
|
15
|
+
continue;
|
|
16
|
+
await ensureGroups(yypPath, kind, groupNames);
|
|
17
|
+
// For each folder in the assignment config, find all matching
|
|
18
|
+
// resources and update their group. They apply by specificy, so
|
|
19
|
+
// can sort them by *longest* folder and apply the first match.
|
|
20
|
+
const assignments = Object.entries(config[`${kind}GroupAssignments`] || {});
|
|
21
|
+
// Sort by folder length
|
|
22
|
+
assignments.sort((a, b) => b[0].length - a[0].length);
|
|
23
|
+
const resourceParentFolder = joinPaths(parsePath(yypPath).parent, kind === 'audio' ? 'sounds' : 'sprites');
|
|
24
|
+
const yys = await listYyFiles(resourceParentFolder);
|
|
25
|
+
// Try to allow for some parallelization since we have to read a LOT
|
|
26
|
+
// of files.
|
|
27
|
+
const waits = [];
|
|
28
|
+
for (const yyFile of yys) {
|
|
29
|
+
waits.push(Yy.read(yyFile.path, kind === 'audio' ? 'sounds' : 'sprites').then(async (yy) => {
|
|
30
|
+
// Start from the *end* of the assignments and apply the first
|
|
31
|
+
// that matches (if any)
|
|
32
|
+
for (const [targetFolder, targetGroup] of assignments) {
|
|
33
|
+
const inFolder = yy.parent.path.replace(/^folders[/\\](.*)\.yy$/, '$1');
|
|
34
|
+
const isMatch = inFolder === targetFolder ||
|
|
35
|
+
inFolder.startsWith(`${targetFolder}/`);
|
|
36
|
+
if (!isMatch)
|
|
37
|
+
continue;
|
|
38
|
+
// Update the assigned group if it's different
|
|
39
|
+
if (kind === 'audio') {
|
|
40
|
+
const yySound = yy;
|
|
41
|
+
if (yySound.audioGroupId.name !== targetGroup) {
|
|
42
|
+
yySound.audioGroupId = {
|
|
43
|
+
name: targetGroup,
|
|
44
|
+
path: `audiogroups/${targetGroup}`,
|
|
45
|
+
};
|
|
46
|
+
await Yy.write(yyFile.path, yySound, 'sounds');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const yySprite = yy;
|
|
51
|
+
if (yySprite.textureGroupId.name !== targetGroup) {
|
|
52
|
+
yySprite.textureGroupId = {
|
|
53
|
+
name: targetGroup,
|
|
54
|
+
path: `texturegroups/${targetGroup}`,
|
|
55
|
+
};
|
|
56
|
+
await Yy.write(yyFile.path, yySprite, 'sprites');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// No need to keep going if we got a match!
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
await Promise.allSettled(waits);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export async function ensureProjectConfig(yypPath) {
|
|
68
|
+
const configPath = await findProjectConfigPath(yypPath);
|
|
69
|
+
if (!(await fileExists(configPath.fullpath))) {
|
|
70
|
+
await saveProjectConfig(yypPath, stitchConfigSchema.parse({}));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Given a path to a GameMaker project's YYP file, load
|
|
75
|
+
* its Stitch Config file if it has one. Else return an
|
|
76
|
+
* empty config.
|
|
77
|
+
*/
|
|
78
|
+
export async function loadProjectConfig(yypPath) {
|
|
79
|
+
const configPath = await findProjectConfigPath(yypPath);
|
|
80
|
+
if (!(await fileExists(configPath.fullpath))) {
|
|
81
|
+
return stitchConfigSchema.parse({});
|
|
82
|
+
}
|
|
83
|
+
try {
|
|
84
|
+
const raw = await fsp.readFile(configPath.fullpath, 'utf8');
|
|
85
|
+
return stitchConfigSchema.parse(JSON.parse(raw));
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
console.error('Failed to load existing Stitch config. Check for syntax and content errors.');
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
export async function saveProjectConfig(yypPath, config) {
|
|
93
|
+
const configPath = await findProjectConfigPath(yypPath);
|
|
94
|
+
config = stitchConfigSchema.parse(config);
|
|
95
|
+
await fsp.writeFile(configPath.fullpath, JSON.stringify(config, null, 2), 'utf8');
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Given a path to a GameMaker project's YYP file, get
|
|
99
|
+
* the path to where its config file should be. Asserts
|
|
100
|
+
* existence of the yyp file.
|
|
101
|
+
*/
|
|
102
|
+
export async function findProjectConfigPath(yypPath) {
|
|
103
|
+
ok(yypPath.endsWith('.yyp'), 'Target file must be a .yyp');
|
|
104
|
+
ok(await fileExists(yypPath), 'yyp file not found');
|
|
105
|
+
const configFile = joinPaths(parsePath(yypPath).parent, stitchConfigFilename);
|
|
106
|
+
return parsePath(configFile);
|
|
107
|
+
}
|
|
108
|
+
async function fileExists(path) {
|
|
109
|
+
try {
|
|
110
|
+
await fsp.access(path);
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
catch {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,33 +1,25 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const stitchConfigFilename = "stitch.config.json";
|
|
3
|
+
/**
|
|
4
|
+
* Workaround for Zod4 Record<string,string> failing
|
|
5
|
+
* when a field name matches "constructor"
|
|
6
|
+
* (See https://github.com/colinhacks/zod/issues/5066)
|
|
7
|
+
*/
|
|
8
|
+
export type PermissiveStringRecord = z.infer<typeof permissiveStringRecord>;
|
|
9
|
+
export declare const permissiveStringRecord: z.ZodObject<{}, z.core.$catchall<z.ZodString>>;
|
|
2
10
|
export declare const jsonSchemaUrl = "https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json";
|
|
3
11
|
export type NewSoundDefaults = z.infer<typeof newSoundDefaultsSchema>;
|
|
4
12
|
export declare const newSoundDefaultsSchema: z.ZodObject<{
|
|
5
13
|
mono: z.ZodOptional<z.ZodBoolean>;
|
|
6
|
-
},
|
|
7
|
-
mono?: boolean | undefined;
|
|
8
|
-
}, {
|
|
9
|
-
mono?: boolean | undefined;
|
|
10
|
-
}>;
|
|
14
|
+
}, z.core.$strip>;
|
|
11
15
|
export type GameConsoleLineStyle = z.infer<typeof gameConsoleLineStyleSchema>;
|
|
12
16
|
export declare const gameConsoleLineStyleSchema: z.ZodObject<{
|
|
13
17
|
base: z.ZodOptional<z.ZodString>;
|
|
14
18
|
description: z.ZodOptional<z.ZodString>;
|
|
15
19
|
pattern: z.ZodString;
|
|
16
20
|
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
-
styles: z.ZodOptional<z.
|
|
18
|
-
},
|
|
19
|
-
base: z.ZodOptional<z.ZodString>;
|
|
20
|
-
description: z.ZodOptional<z.ZodString>;
|
|
21
|
-
pattern: z.ZodString;
|
|
22
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
23
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
24
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
25
|
-
base: z.ZodOptional<z.ZodString>;
|
|
26
|
-
description: z.ZodOptional<z.ZodString>;
|
|
27
|
-
pattern: z.ZodString;
|
|
28
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
29
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
30
|
-
}, z.ZodTypeAny, "passthrough">>;
|
|
21
|
+
styles: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodString>>>;
|
|
22
|
+
}, z.core.$loose>;
|
|
31
23
|
export type GameConsoleStyle = z.infer<typeof gameConsoleStyleSchema>;
|
|
32
24
|
export declare const gameConsoleStyleSchema: z.ZodObject<{
|
|
33
25
|
base: z.ZodOptional<z.ZodString>;
|
|
@@ -36,312 +28,24 @@ export declare const gameConsoleStyleSchema: z.ZodObject<{
|
|
|
36
28
|
description: z.ZodOptional<z.ZodString>;
|
|
37
29
|
pattern: z.ZodString;
|
|
38
30
|
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
-
styles: z.ZodOptional<z.
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
description: z.ZodOptional<z.ZodString>;
|
|
43
|
-
pattern: z.ZodString;
|
|
44
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
46
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
47
|
-
base: z.ZodOptional<z.ZodString>;
|
|
48
|
-
description: z.ZodOptional<z.ZodString>;
|
|
49
|
-
pattern: z.ZodString;
|
|
50
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
51
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
52
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
53
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
54
|
-
base: z.ZodOptional<z.ZodString>;
|
|
55
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
56
|
-
base: z.ZodOptional<z.ZodString>;
|
|
57
|
-
description: z.ZodOptional<z.ZodString>;
|
|
58
|
-
pattern: z.ZodString;
|
|
59
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
60
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
61
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
62
|
-
base: z.ZodOptional<z.ZodString>;
|
|
63
|
-
description: z.ZodOptional<z.ZodString>;
|
|
64
|
-
pattern: z.ZodString;
|
|
65
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
67
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
68
|
-
base: z.ZodOptional<z.ZodString>;
|
|
69
|
-
description: z.ZodOptional<z.ZodString>;
|
|
70
|
-
pattern: z.ZodString;
|
|
71
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
72
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
73
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
74
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
75
|
-
base: z.ZodOptional<z.ZodString>;
|
|
76
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
77
|
-
base: z.ZodOptional<z.ZodString>;
|
|
78
|
-
description: z.ZodOptional<z.ZodString>;
|
|
79
|
-
pattern: z.ZodString;
|
|
80
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
81
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
82
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
83
|
-
base: z.ZodOptional<z.ZodString>;
|
|
84
|
-
description: z.ZodOptional<z.ZodString>;
|
|
85
|
-
pattern: z.ZodString;
|
|
86
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
87
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
88
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
89
|
-
base: z.ZodOptional<z.ZodString>;
|
|
90
|
-
description: z.ZodOptional<z.ZodString>;
|
|
91
|
-
pattern: z.ZodString;
|
|
92
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
93
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
94
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
95
|
-
}, z.ZodTypeAny, "passthrough">>;
|
|
31
|
+
styles: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodString>>>;
|
|
32
|
+
}, z.core.$loose>>>;
|
|
33
|
+
}, z.core.$loose>;
|
|
96
34
|
export type StitchConfig = z.infer<typeof stitchConfigSchema>;
|
|
97
35
|
export declare const stitchConfigSchema: z.ZodObject<{
|
|
98
|
-
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json"
|
|
99
|
-
textureGroupAssignments: z.
|
|
100
|
-
audioGroupAssignments: z.
|
|
101
|
-
runtimeVersion: z.ZodOptional<z.ZodString>;
|
|
102
|
-
newSpriteRules: z.ZodOptional<z.ZodObject<{
|
|
103
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
104
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
105
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
106
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
107
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
108
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
109
|
-
newSoundRules: z.ZodOptional<z.ZodObject<{
|
|
110
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
111
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
112
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
113
|
-
}, "strip", z.ZodTypeAny, {
|
|
114
|
-
mono?: boolean | undefined;
|
|
115
|
-
}, {
|
|
116
|
-
mono?: boolean | undefined;
|
|
117
|
-
}>>>;
|
|
118
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
119
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
120
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
121
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
122
|
-
}, "strip", z.ZodTypeAny, {
|
|
123
|
-
mono?: boolean | undefined;
|
|
124
|
-
}, {
|
|
125
|
-
mono?: boolean | undefined;
|
|
126
|
-
}>>>;
|
|
127
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
128
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
129
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
130
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
131
|
-
}, "strip", z.ZodTypeAny, {
|
|
132
|
-
mono?: boolean | undefined;
|
|
133
|
-
}, {
|
|
134
|
-
mono?: boolean | undefined;
|
|
135
|
-
}>>>;
|
|
136
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
137
|
-
gameConsoleStyle: z.ZodOptional<z.ZodObject<{
|
|
138
|
-
base: z.ZodOptional<z.ZodString>;
|
|
139
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
140
|
-
base: z.ZodOptional<z.ZodString>;
|
|
141
|
-
description: z.ZodOptional<z.ZodString>;
|
|
142
|
-
pattern: z.ZodString;
|
|
143
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
144
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
145
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
146
|
-
base: z.ZodOptional<z.ZodString>;
|
|
147
|
-
description: z.ZodOptional<z.ZodString>;
|
|
148
|
-
pattern: z.ZodString;
|
|
149
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
150
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
151
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
152
|
-
base: z.ZodOptional<z.ZodString>;
|
|
153
|
-
description: z.ZodOptional<z.ZodString>;
|
|
154
|
-
pattern: z.ZodString;
|
|
155
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
156
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
157
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
158
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
159
|
-
base: z.ZodOptional<z.ZodString>;
|
|
160
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
161
|
-
base: z.ZodOptional<z.ZodString>;
|
|
162
|
-
description: z.ZodOptional<z.ZodString>;
|
|
163
|
-
pattern: z.ZodString;
|
|
164
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
165
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
166
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
167
|
-
base: z.ZodOptional<z.ZodString>;
|
|
168
|
-
description: z.ZodOptional<z.ZodString>;
|
|
169
|
-
pattern: z.ZodString;
|
|
170
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
171
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
172
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
173
|
-
base: z.ZodOptional<z.ZodString>;
|
|
174
|
-
description: z.ZodOptional<z.ZodString>;
|
|
175
|
-
pattern: z.ZodString;
|
|
176
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
177
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
178
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
179
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
180
|
-
base: z.ZodOptional<z.ZodString>;
|
|
181
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
182
|
-
base: z.ZodOptional<z.ZodString>;
|
|
183
|
-
description: z.ZodOptional<z.ZodString>;
|
|
184
|
-
pattern: z.ZodString;
|
|
185
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
186
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
187
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
188
|
-
base: z.ZodOptional<z.ZodString>;
|
|
189
|
-
description: z.ZodOptional<z.ZodString>;
|
|
190
|
-
pattern: z.ZodString;
|
|
191
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
192
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
193
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
194
|
-
base: z.ZodOptional<z.ZodString>;
|
|
195
|
-
description: z.ZodOptional<z.ZodString>;
|
|
196
|
-
pattern: z.ZodString;
|
|
197
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
198
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
199
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
200
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
201
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
202
|
-
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>;
|
|
203
|
-
textureGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
204
|
-
audioGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
205
|
-
runtimeVersion: z.ZodOptional<z.ZodString>;
|
|
206
|
-
newSpriteRules: z.ZodOptional<z.ZodObject<{
|
|
207
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
208
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
209
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
210
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
211
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
212
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
213
|
-
newSoundRules: z.ZodOptional<z.ZodObject<{
|
|
214
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
215
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
216
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
217
|
-
}, "strip", z.ZodTypeAny, {
|
|
218
|
-
mono?: boolean | undefined;
|
|
219
|
-
}, {
|
|
220
|
-
mono?: boolean | undefined;
|
|
221
|
-
}>>>;
|
|
222
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
223
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
224
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
225
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
226
|
-
}, "strip", z.ZodTypeAny, {
|
|
227
|
-
mono?: boolean | undefined;
|
|
228
|
-
}, {
|
|
229
|
-
mono?: boolean | undefined;
|
|
230
|
-
}>>>;
|
|
231
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
232
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
233
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
234
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
235
|
-
}, "strip", z.ZodTypeAny, {
|
|
236
|
-
mono?: boolean | undefined;
|
|
237
|
-
}, {
|
|
238
|
-
mono?: boolean | undefined;
|
|
239
|
-
}>>>;
|
|
240
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
241
|
-
gameConsoleStyle: z.ZodOptional<z.ZodObject<{
|
|
242
|
-
base: z.ZodOptional<z.ZodString>;
|
|
243
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
244
|
-
base: z.ZodOptional<z.ZodString>;
|
|
245
|
-
description: z.ZodOptional<z.ZodString>;
|
|
246
|
-
pattern: z.ZodString;
|
|
247
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
248
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
249
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
250
|
-
base: z.ZodOptional<z.ZodString>;
|
|
251
|
-
description: z.ZodOptional<z.ZodString>;
|
|
252
|
-
pattern: z.ZodString;
|
|
253
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
254
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
255
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
256
|
-
base: z.ZodOptional<z.ZodString>;
|
|
257
|
-
description: z.ZodOptional<z.ZodString>;
|
|
258
|
-
pattern: z.ZodString;
|
|
259
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
260
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
261
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
262
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
263
|
-
base: z.ZodOptional<z.ZodString>;
|
|
264
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
265
|
-
base: z.ZodOptional<z.ZodString>;
|
|
266
|
-
description: z.ZodOptional<z.ZodString>;
|
|
267
|
-
pattern: z.ZodString;
|
|
268
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
269
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
270
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
271
|
-
base: z.ZodOptional<z.ZodString>;
|
|
272
|
-
description: z.ZodOptional<z.ZodString>;
|
|
273
|
-
pattern: z.ZodString;
|
|
274
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
275
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
276
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
277
|
-
base: z.ZodOptional<z.ZodString>;
|
|
278
|
-
description: z.ZodOptional<z.ZodString>;
|
|
279
|
-
pattern: z.ZodString;
|
|
280
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
281
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
282
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
283
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
284
|
-
base: z.ZodOptional<z.ZodString>;
|
|
285
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
286
|
-
base: z.ZodOptional<z.ZodString>;
|
|
287
|
-
description: z.ZodOptional<z.ZodString>;
|
|
288
|
-
pattern: z.ZodString;
|
|
289
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
290
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
291
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
292
|
-
base: z.ZodOptional<z.ZodString>;
|
|
293
|
-
description: z.ZodOptional<z.ZodString>;
|
|
294
|
-
pattern: z.ZodString;
|
|
295
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
296
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
297
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
298
|
-
base: z.ZodOptional<z.ZodString>;
|
|
299
|
-
description: z.ZodOptional<z.ZodString>;
|
|
300
|
-
pattern: z.ZodString;
|
|
301
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
302
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
303
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
304
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
305
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
306
|
-
$schema: z.ZodDefault<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>;
|
|
307
|
-
textureGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
308
|
-
audioGroupAssignments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
36
|
+
$schema: z.ZodDefault<z.ZodOptional<z.ZodLiteral<"https://raw.githubusercontent.com/bscotch/stitch/develop/packages/config/schemas/stitch.config.schema.json">>>;
|
|
37
|
+
textureGroupAssignments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
38
|
+
audioGroupAssignments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
309
39
|
runtimeVersion: z.ZodOptional<z.ZodString>;
|
|
310
40
|
newSpriteRules: z.ZodOptional<z.ZodObject<{
|
|
311
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString
|
|
312
|
-
},
|
|
313
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
314
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
315
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
316
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
41
|
+
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
}, z.core.$loose>>;
|
|
317
43
|
newSoundRules: z.ZodOptional<z.ZodObject<{
|
|
318
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString
|
|
319
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
320
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
321
|
-
}, "strip", z.ZodTypeAny, {
|
|
322
|
-
mono?: boolean | undefined;
|
|
323
|
-
}, {
|
|
324
|
-
mono?: boolean | undefined;
|
|
325
|
-
}>>>;
|
|
326
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
327
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
44
|
+
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
328
45
|
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
329
46
|
mono: z.ZodOptional<z.ZodBoolean>;
|
|
330
|
-
},
|
|
331
|
-
|
|
332
|
-
}, {
|
|
333
|
-
mono?: boolean | undefined;
|
|
334
|
-
}>>>;
|
|
335
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
336
|
-
allowedNames: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
337
|
-
defaults: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
338
|
-
mono: z.ZodOptional<z.ZodBoolean>;
|
|
339
|
-
}, "strip", z.ZodTypeAny, {
|
|
340
|
-
mono?: boolean | undefined;
|
|
341
|
-
}, {
|
|
342
|
-
mono?: boolean | undefined;
|
|
343
|
-
}>>>;
|
|
344
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
47
|
+
}, z.core.$strip>>>;
|
|
48
|
+
}, z.core.$loose>>;
|
|
345
49
|
gameConsoleStyle: z.ZodOptional<z.ZodObject<{
|
|
346
50
|
base: z.ZodOptional<z.ZodString>;
|
|
347
51
|
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
@@ -349,62 +53,8 @@ export declare const stitchConfigSchema: z.ZodObject<{
|
|
|
349
53
|
description: z.ZodOptional<z.ZodString>;
|
|
350
54
|
pattern: z.ZodString;
|
|
351
55
|
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
352
|
-
styles: z.ZodOptional<z.
|
|
353
|
-
},
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
pattern: z.ZodString;
|
|
357
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
358
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
359
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
360
|
-
base: z.ZodOptional<z.ZodString>;
|
|
361
|
-
description: z.ZodOptional<z.ZodString>;
|
|
362
|
-
pattern: z.ZodString;
|
|
363
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
364
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
365
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
366
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
367
|
-
base: z.ZodOptional<z.ZodString>;
|
|
368
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
369
|
-
base: z.ZodOptional<z.ZodString>;
|
|
370
|
-
description: z.ZodOptional<z.ZodString>;
|
|
371
|
-
pattern: z.ZodString;
|
|
372
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
373
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
374
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
375
|
-
base: z.ZodOptional<z.ZodString>;
|
|
376
|
-
description: z.ZodOptional<z.ZodString>;
|
|
377
|
-
pattern: z.ZodString;
|
|
378
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
379
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
380
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
381
|
-
base: z.ZodOptional<z.ZodString>;
|
|
382
|
-
description: z.ZodOptional<z.ZodString>;
|
|
383
|
-
pattern: z.ZodString;
|
|
384
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
385
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
386
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
387
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
388
|
-
base: z.ZodOptional<z.ZodString>;
|
|
389
|
-
lines: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
390
|
-
base: z.ZodOptional<z.ZodString>;
|
|
391
|
-
description: z.ZodOptional<z.ZodString>;
|
|
392
|
-
pattern: z.ZodString;
|
|
393
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
394
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
395
|
-
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
396
|
-
base: z.ZodOptional<z.ZodString>;
|
|
397
|
-
description: z.ZodOptional<z.ZodString>;
|
|
398
|
-
pattern: z.ZodString;
|
|
399
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
400
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
401
|
-
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
402
|
-
base: z.ZodOptional<z.ZodString>;
|
|
403
|
-
description: z.ZodOptional<z.ZodString>;
|
|
404
|
-
pattern: z.ZodString;
|
|
405
|
-
caseSensitive: z.ZodOptional<z.ZodBoolean>;
|
|
406
|
-
styles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
407
|
-
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
408
|
-
}, z.ZodTypeAny, "passthrough">>>;
|
|
409
|
-
}, z.ZodTypeAny, "passthrough">>;
|
|
56
|
+
styles: z.ZodOptional<z.ZodObject<{}, z.core.$catchall<z.ZodString>>>;
|
|
57
|
+
}, z.core.$loose>>>;
|
|
58
|
+
}, z.core.$loose>>;
|
|
59
|
+
}, z.core.$loose>;
|
|
410
60
|
//# sourceMappingURL=schema.d.ts.map
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,eAAO,MAAM,sBAAsB,gDAAoC,CAAC;AAQxE,eAAO,MAAM,aAAa,+GACoF,CAAC;AAE/G,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,sBAAsB;;iBAOjC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,eAAO,MAAM,0BAA0B;;;;;;iBA2BrC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,eAAO,MAAM,sBAAsB;;;;;;;;;iBAiBhC,CAAC;AAEJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBA6C5B,CAAC"}
|
package/dist/schema.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export const stitchConfigFilename = 'stitch.config.json';
|
|
3
|
+
export const permissiveStringRecord = z.object({}).catchall(z.string());
|
|
2
4
|
const allowedNames = z
|
|
3
5
|
.array(z.string())
|
|
4
6
|
.optional()
|
|
@@ -10,8 +12,7 @@ export const newSoundDefaultsSchema = z.object({
|
|
|
10
12
|
.optional()
|
|
11
13
|
.describe('Whether to default new sounds to mono. When not set, the default is stereo.'),
|
|
12
14
|
});
|
|
13
|
-
export const gameConsoleLineStyleSchema = z
|
|
14
|
-
.object({
|
|
15
|
+
export const gameConsoleLineStyleSchema = z.looseObject({
|
|
15
16
|
base: z
|
|
16
17
|
.string()
|
|
17
18
|
.optional()
|
|
@@ -27,14 +28,12 @@ export const gameConsoleLineStyleSchema = z
|
|
|
27
28
|
.boolean()
|
|
28
29
|
.optional()
|
|
29
30
|
.describe('If true, the pattern will be treated as case-sensitive. Default is false.'),
|
|
30
|
-
styles:
|
|
31
|
-
.record(z.string().describe('CSS string to apply to this capture group.'))
|
|
31
|
+
styles: permissiveStringRecord
|
|
32
32
|
.optional()
|
|
33
33
|
.describe("A map of CSS styles to apply to named capture groups in the line, as a CSS string (e.g. 'color: #808080')."),
|
|
34
|
-
})
|
|
35
|
-
.passthrough();
|
|
34
|
+
});
|
|
36
35
|
export const gameConsoleStyleSchema = z
|
|
37
|
-
.
|
|
36
|
+
.looseObject({
|
|
38
37
|
base: z
|
|
39
38
|
.string()
|
|
40
39
|
.optional()
|
|
@@ -44,41 +43,37 @@ export const gameConsoleStyleSchema = z
|
|
|
44
43
|
.optional()
|
|
45
44
|
.describe("An array of style rules to apply to lines of the game's STDOUT/STDERR. The first matching rule is used for a given line."),
|
|
46
45
|
})
|
|
47
|
-
.passthrough()
|
|
48
46
|
.describe("Styling rules for the game's STDOUT/STDERR for compatible runners");
|
|
49
47
|
export const stitchConfigSchema = z
|
|
50
|
-
.
|
|
51
|
-
$schema: z.literal(jsonSchemaUrl).default(jsonSchemaUrl),
|
|
48
|
+
.looseObject({
|
|
49
|
+
$schema: z.literal(jsonSchemaUrl).optional().default(jsonSchemaUrl),
|
|
52
50
|
textureGroupAssignments: z
|
|
53
|
-
.record(z.string())
|
|
54
|
-
.
|
|
55
|
-
.describe('A map of resource tree paths to texture
|
|
51
|
+
.record(z.string(), z.string())
|
|
52
|
+
.optional()
|
|
53
|
+
.describe('A map of resource tree paths to texture group names. Supported Stitch utilities will use this to assign sprites in those paths (recursively) to the specified texture group. The most specific match is the on that gets applied.'),
|
|
56
54
|
audioGroupAssignments: z
|
|
57
|
-
.record(z.string())
|
|
58
|
-
.
|
|
59
|
-
.describe('A map of resource tree paths to audio
|
|
55
|
+
.record(z.string(), z.string())
|
|
56
|
+
.optional()
|
|
57
|
+
.describe('A map of resource tree paths to audio group names. Supported Stitch utilities will use this to assign sounds in those paths (recursively) to the specified audio group. The most specific match is the on that gets applied.'),
|
|
60
58
|
runtimeVersion: z
|
|
61
59
|
.string()
|
|
62
60
|
.optional()
|
|
63
61
|
.describe('When set, supported Stitch utilities will preferentially use this GameMaker runtime version.'),
|
|
64
62
|
newSpriteRules: z
|
|
65
|
-
.
|
|
66
|
-
.passthrough()
|
|
63
|
+
.looseObject({ allowedNames })
|
|
67
64
|
.optional()
|
|
68
65
|
.describe('Rules for creating new sprite resources, followed by supported Stitch utilities.'),
|
|
69
66
|
newSoundRules: z
|
|
70
|
-
.
|
|
67
|
+
.looseObject({
|
|
71
68
|
allowedNames,
|
|
72
69
|
defaults: z
|
|
73
|
-
.record(newSoundDefaultsSchema)
|
|
70
|
+
.record(z.string(), newSoundDefaultsSchema)
|
|
74
71
|
.optional()
|
|
75
72
|
.describe('Default properties for new sound assets, by name pattern. E.g. `{".*":{ mono: true}}` defaults all new sounds to mono. The first matching pattern is used.'),
|
|
76
73
|
})
|
|
77
|
-
.passthrough()
|
|
78
74
|
.optional()
|
|
79
75
|
.describe('Rules for creating new sound resources, followed by supported Stitch utilities.'),
|
|
80
76
|
gameConsoleStyle: gameConsoleStyleSchema.optional(),
|
|
81
77
|
})
|
|
82
|
-
.passthrough()
|
|
83
78
|
.describe('Stitch configuration schema. Stitch utilities may support subsets of this configuration.');
|
|
84
79
|
//# sourceMappingURL=schema.js.map
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,YAAY,GAAG,CAAC;KACnB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjB,QAAQ,EAAE;KACV,QAAQ,CACP,8FAA8F,CAC/F,CAAC;AACJ,MAAM,CAAC,MAAM,aAAa,GACxB,4GAA4G,CAAC;AAG/G,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC;SACJ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,6EAA6E,CAC9E;CACJ,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bscotch/stitch-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Schemas and utilities for the stitch.config.json file.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"stitch",
|
|
@@ -14,20 +14,35 @@
|
|
|
14
14
|
},
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"type": "module",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"import": "./dist/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./project": {
|
|
23
|
+
"types": "./dist/project.d.ts",
|
|
24
|
+
"import": "./dist/project.js"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
17
27
|
"main": "dist/index.js",
|
|
28
|
+
"bin": {
|
|
29
|
+
"stitch-config": "./dist/cli.mjs"
|
|
30
|
+
},
|
|
18
31
|
"dependencies": {
|
|
19
|
-
"zod": "
|
|
32
|
+
"zod": "4.0.15",
|
|
33
|
+
"@bscotch/yy": "2.6.0"
|
|
20
34
|
},
|
|
21
35
|
"devDependencies": {
|
|
36
|
+
"@bscotch/pathy": "^2.12.1",
|
|
22
37
|
"source-map-support": "0.5.21",
|
|
23
|
-
"typescript": "5.
|
|
24
|
-
"zod-to-json-schema": "3.21.4"
|
|
38
|
+
"typescript": "5.9.2"
|
|
25
39
|
},
|
|
26
40
|
"publishConfig": {
|
|
27
41
|
"access": "public"
|
|
28
42
|
},
|
|
29
43
|
"scripts": {
|
|
30
44
|
"build": "tsc --build && node scripts/update-schemas.mjs",
|
|
45
|
+
"test": "node --test src/**/*.test.ts",
|
|
31
46
|
"watch": "tsc --build --watch"
|
|
32
47
|
}
|
|
33
48
|
}
|