ba-memorial-lobby-wallpaper-toolkit 0.4.0 → 0.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/dist/asset-layout.d.ts +6 -0
- package/dist/asset-layout.d.ts.map +1 -0
- package/dist/asset-layout.js +23 -0
- package/dist/asset-layout.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/media.d.ts +6 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +37 -0
- package/dist/media.js.map +1 -0
- package/dist/project-contract.d.ts +15 -0
- package/dist/project-contract.d.ts.map +1 -0
- package/dist/project-contract.js +45 -0
- package/dist/project-contract.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-layout.d.ts","sourceRoot":"","sources":["../src/asset-layout.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;aAAK,IAAI,EAAE,CAAC;aAAE,IAAI,EAAE,CAAC;CAAW,CAAC;AAEzD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAgB5E"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
export const TIER_SCALES = { "4k": 2, "8k": 4 };
|
|
3
|
+
export function assetLayout(config) {
|
|
4
|
+
const { PROJECT, WALLPAPER_DEFINITION: definition, VOICE_LOCALES, DIALOGUES } = config;
|
|
5
|
+
const binary = definition.model.binary;
|
|
6
|
+
const binaryBase = path.posix.basename(binary).replace(/\.(skel|json)$/, "");
|
|
7
|
+
const binaryDir = path.posix.dirname(binary);
|
|
8
|
+
const atlases = Object.entries(definition.model.atlases);
|
|
9
|
+
const baseTierEntry = atlases.find(([, atlasPath]) => path.posix.dirname(atlasPath) === binaryDir);
|
|
10
|
+
if (!baseTierEntry)
|
|
11
|
+
throw new Error("config.model.atlases must include one tier whose path shares the model.binary directory");
|
|
12
|
+
const [baseTier, baseAtlasPath] = baseTierEntry;
|
|
13
|
+
const tierFolders = new Map(atlases.map(([tier, atlasPath]) => [tier, path.posix.dirname(atlasPath).split("/").pop()]));
|
|
14
|
+
const voice = [];
|
|
15
|
+
for (const locale of VOICE_LOCALES)
|
|
16
|
+
for (const dialogue of DIALOGUES)
|
|
17
|
+
for (const line of dialogue.lines) {
|
|
18
|
+
const id = line.id.toLowerCase();
|
|
19
|
+
voice.push({ locale, id, relative: `audio/${locale}/${id}.ogg` });
|
|
20
|
+
}
|
|
21
|
+
return { slug: PROJECT.slug, binaryBase, baseTier, baseAtlasPath, tierFolders, voice, bgmFile: definition.audio?.bgm ? path.posix.basename(definition.audio.bgm.path) : null, bgm: definition.audio?.bgm ?? null, dialogueCount: DIALOGUES.length };
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=asset-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-layout.js","sourceRoot":"","sources":["../src/asset-layout.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAW,CAAC;AAEzD,MAAM,UAAU,WAAW,CAAC,MAA2B;IACrD,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACvF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;IAC/E,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC;IACnG,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC/H,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,aAAa,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACxH,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,MAAM,IAAI,aAAa;QAAE,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACxG,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;AACtP,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from "./checksums.js";
|
|
2
2
|
export * from "./asset-preparation.js";
|
|
3
|
+
export * from "./asset-layout.js";
|
|
4
|
+
export * from "./project-contract.js";
|
|
5
|
+
export * from "./media.js";
|
|
3
6
|
export * from "./distribution-validation.js";
|
|
4
7
|
export * from "./model-assets.js";
|
|
5
|
-
export * from "./model-assets.js";
|
|
6
8
|
export * from "./offline-package.js";
|
|
7
9
|
export * from "./spine-inspection.js";
|
|
8
10
|
export * from "./template-initialization.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from "./checksums.js";
|
|
2
2
|
export * from "./asset-preparation.js";
|
|
3
|
+
export * from "./asset-layout.js";
|
|
4
|
+
export * from "./project-contract.js";
|
|
5
|
+
export * from "./media.js";
|
|
3
6
|
export * from "./distribution-validation.js";
|
|
4
7
|
export * from "./model-assets.js";
|
|
5
|
-
export * from "./model-assets.js";
|
|
6
8
|
export * from "./offline-package.js";
|
|
7
9
|
export * from "./spine-inspection.js";
|
|
8
10
|
export * from "./template-initialization.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC"}
|
package/dist/media.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAc5G"}
|
package/dist/media.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export function gifMetadata(bytes, source = "GIF") {
|
|
2
|
+
const signature = bytes.subarray(0, 6).toString("ascii");
|
|
3
|
+
if (signature !== "GIF87a" && signature !== "GIF89a")
|
|
4
|
+
throw new Error(`Invalid GIF file: ${source}`);
|
|
5
|
+
const width = bytes.readUInt16LE(6);
|
|
6
|
+
const height = bytes.readUInt16LE(8);
|
|
7
|
+
const packed = bytes[10];
|
|
8
|
+
let offset = 13 + ((packed & 0x80) ? 3 * (2 ** ((packed & 0x07) + 1)) : 0);
|
|
9
|
+
let frames = 0;
|
|
10
|
+
const skipSubBlocks = () => { while (offset < bytes.length) {
|
|
11
|
+
const length = bytes[offset++];
|
|
12
|
+
if (length === 0)
|
|
13
|
+
return;
|
|
14
|
+
offset += length;
|
|
15
|
+
} throw new Error(`Truncated GIF data: ${source}`); };
|
|
16
|
+
while (offset < bytes.length) {
|
|
17
|
+
const marker = bytes[offset++];
|
|
18
|
+
if (marker === 0x3b)
|
|
19
|
+
break;
|
|
20
|
+
if (marker === 0x21) {
|
|
21
|
+
offset += 1;
|
|
22
|
+
skipSubBlocks();
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
if (marker !== 0x2c || offset + 9 > bytes.length)
|
|
26
|
+
throw new Error(`Invalid GIF block: ${source}`);
|
|
27
|
+
frames += 1;
|
|
28
|
+
const imagePacked = bytes[offset + 8];
|
|
29
|
+
offset += 9;
|
|
30
|
+
if (imagePacked & 0x80)
|
|
31
|
+
offset += 3 * (2 ** ((imagePacked & 0x07) + 1));
|
|
32
|
+
offset += 1;
|
|
33
|
+
skipSubBlocks();
|
|
34
|
+
}
|
|
35
|
+
return { width, height, frames };
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,MAAM,GAAG,KAAK;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;IACrG,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,IAAI,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAC3F,MAAM,aAAa,GAAG,GAAG,EAAE,GAAG,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAAC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO;QAAC,MAAM,IAAI,MAAM,CAAC;IAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChM,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM;QAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAAC,MAAM,IAAI,CAAC,CAAC;YAAC,aAAa,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAChE,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QAClG,MAAM,IAAI,CAAC,CAAC;QAAC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAAC,MAAM,IAAI,CAAC,CAAC;QAChE,IAAI,WAAW,GAAG,IAAI;YAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,IAAI,CAAC,CAAC;QAAC,aAAa,EAAE,CAAC;IACxG,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare function projectDefaultsFromProperties(properties: Record<string, {
|
|
2
|
+
value: any;
|
|
3
|
+
}>): Record<string, any>;
|
|
4
|
+
export declare function projectDefaultsIssues(properties: Record<string, {
|
|
5
|
+
value: any;
|
|
6
|
+
}>, runtimeDefaults: Record<string, any>): string[];
|
|
7
|
+
export declare function assertProjectDefaults(properties: Record<string, {
|
|
8
|
+
value: any;
|
|
9
|
+
}>, runtimeDefaults: Record<string, any>): void;
|
|
10
|
+
export interface WallpaperProjectMetadataOptions {
|
|
11
|
+
allowWorkshopMetadata?: boolean;
|
|
12
|
+
requireTags?: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare function validateWallpaperProjectMetadata(project: Record<string, any>, options?: WallpaperProjectMetadataOptions): string[];
|
|
15
|
+
//# sourceMappingURL=project-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-contract.d.ts","sourceRoot":"","sources":["../src/project-contract.ts"],"names":[],"mappings":"AAAA,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAS7G;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAGhI;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAG5H;AAED,MAAM,WAAW,+BAA+B;IAC9C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAE,+BAAoC,GAAG,MAAM,EAAE,CAatI"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export function projectDefaultsFromProperties(properties) {
|
|
2
|
+
return {
|
|
3
|
+
modelScale: properties.modelscale.value, modelX: properties.modelx.value, modelY: properties.modely.value, modelRotation: properties.modelrotation.value,
|
|
4
|
+
positionPreset: properties.positionpreset.value, panelPositionPreset: properties.panelpositionpreset.value, panelScale: properties.panelscale.value, panelX: properties.panelx.value, panelY: properties.panely.value,
|
|
5
|
+
interactionPreset: properties.interactionpreset.value, dialogueLanguagePreset: properties.dialoguelanguagepreset.value, muted: properties.muted.value, dialogueAutoPlay: properties.dialogueautoplay.value,
|
|
6
|
+
subtitlesEnabled: properties.showsubtitles.value, primarySubtitleLocale: properties.subtitlelanguage.value, secondarySubtitlesEnabled: properties.showsecondarysubtitles.value, secondarySubtitleLocale: properties.secondarysubtitlelanguage.value,
|
|
7
|
+
subtitleAlignment: properties.subtitlealignment.value, subtitlePosition: properties.subtitleposition.value, subtitleX: properties.subtitlex.value, subtitleY: properties.subtitley.value, debugPreset: properties.debugpreset.value,
|
|
8
|
+
bgmVolume: properties.bgmvolume.value / 100, voiceVolume: properties.voicevolume.value / 100, qualityPreset: properties.qualitypreset.value, renderResolution: properties.renderresolution.value, modelResolution: properties.modelresolution.value, fpsLimit: properties.fpslimit.value,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function projectDefaultsIssues(properties, runtimeDefaults) {
|
|
12
|
+
const projectDefaults = projectDefaultsFromProperties(properties);
|
|
13
|
+
return Object.keys(projectDefaults).filter((key) => !Object.is(projectDefaults[key], runtimeDefaults[key]));
|
|
14
|
+
}
|
|
15
|
+
export function assertProjectDefaults(properties, runtimeDefaults) {
|
|
16
|
+
const issues = projectDefaultsIssues(properties, runtimeDefaults);
|
|
17
|
+
if (issues.length > 0)
|
|
18
|
+
throw new Error(`Project defaults differ from runtime defaults: ${issues.join(", ")}`);
|
|
19
|
+
}
|
|
20
|
+
export function validateWallpaperProjectMetadata(project, options = {}) {
|
|
21
|
+
const issues = [];
|
|
22
|
+
if (project.type !== "web")
|
|
23
|
+
issues.push("type");
|
|
24
|
+
if (project.file !== "index.html")
|
|
25
|
+
issues.push("file");
|
|
26
|
+
if (project.version !== 2)
|
|
27
|
+
issues.push("version");
|
|
28
|
+
if (project.preview !== "preview.gif")
|
|
29
|
+
issues.push("preview");
|
|
30
|
+
if (project.visibility !== "public")
|
|
31
|
+
issues.push("visibility");
|
|
32
|
+
if (project.contentrating !== "Everyone")
|
|
33
|
+
issues.push("contentrating");
|
|
34
|
+
if (project.ratingsex !== "none")
|
|
35
|
+
issues.push("ratingsex");
|
|
36
|
+
if (project.ratingviolence !== "none")
|
|
37
|
+
issues.push("ratingviolence");
|
|
38
|
+
for (const tag of options.requireTags ?? [])
|
|
39
|
+
if (!Array.isArray(project.tags) || !project.tags.includes(tag))
|
|
40
|
+
issues.push(`tag:${tag}`);
|
|
41
|
+
if (!options.allowWorkshopMetadata && (Object.prototype.hasOwnProperty.call(project, "workshopid") || Object.prototype.hasOwnProperty.call(project, "workshopurl")))
|
|
42
|
+
issues.push("workshop-metadata");
|
|
43
|
+
return issues;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=project-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-contract.js","sourceRoot":"","sources":["../src/project-contract.ts"],"names":[],"mappings":"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"}
|