@fps-games/editor 0.1.4-beta.4 → 0.1.4-beta.5
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/build-info.json +45 -0
- package/dist/local-editor-harness.d.ts +2 -1
- package/dist/local-editor-harness.d.ts.map +1 -1
- package/dist/local-editor-harness.js +62 -0
- package/dist/local-editor-harness.js.map +1 -1
- package/dist/playable-babylon-facade.d.ts +4 -4
- package/dist/playable-babylon-facade.d.ts.map +1 -1
- package/dist/playable-babylon-facade.js +2 -2
- package/dist/playable-babylon-facade.js.map +1 -1
- package/dist/playable-babylon-rendering.d.ts +14 -2
- package/dist/playable-babylon-rendering.d.ts.map +1 -1
- package/dist/playable-babylon-rendering.js +48 -3
- package/dist/playable-babylon-rendering.js.map +1 -1
- package/dist/playable-local-editor-host.d.ts +2 -0
- package/dist/playable-local-editor-host.d.ts.map +1 -1
- package/dist/playable-local-editor-host.js.map +1 -1
- package/dist/playable-sdk-vite.d.ts +2 -0
- package/dist/playable-sdk-vite.d.ts.map +1 -0
- package/dist/playable-sdk-vite.js +2 -0
- package/dist/playable-sdk-vite.js.map +1 -0
- package/dist/playable-sdk.d.ts +4 -4
- package/dist/playable-sdk.d.ts.map +1 -1
- package/dist/playable-sdk.js +2 -2
- package/dist/playable-sdk.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts +3 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/index.js +3 -0
- package/node_modules/@fps-games/babylon-renderer/dist/index.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.d.ts +5 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js +46 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-shaders.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.d.ts +5 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js +398 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/blob-shadow-system.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.d.ts +6 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.d.ts.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.js +717 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/static-projected-shadow-system.js.map +1 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.d.ts +131 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.d.ts.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js +76 -0
- package/node_modules/@fps-games/babylon-renderer/dist/shadows/types.js.map +1 -1
- package/node_modules/@fps-games/babylon-renderer/package.json +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/index.js +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/index.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.d.ts +49 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js +141 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection-asset-container-importer.js.map +1 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts +5 -0
- package/node_modules/@fps-games/editor-babylon/dist/projection.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/projection.js +72 -5
- package/node_modules/@fps-games/editor-babylon/dist/projection.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts +14 -3
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js +223 -8
- package/node_modules/@fps-games/editor-babylon/dist/shadow-preview-controller.js.map +1 -1
- package/node_modules/@fps-games/editor-babylon/package.json +5 -5
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js +33 -6
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-panels.js.map +1 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts +3 -1
- package/node_modules/@fps-games/editor-browser/dist/local-editor-ui-types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-browser/package.json +3 -3
- package/node_modules/@fps-games/editor-core/package.json +2 -2
- package/node_modules/@fps-games/editor-forge-play/package.json +2 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/document/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/schema.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/field-schema/validators.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js +56 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/inspector/document-sections.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js +0 -4
- package/node_modules/@fps-games/editor-playable-sdk/dist/local-harness/forge-play.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js +8 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/mutation/field-patch.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/package-resolution/aliases.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js +412 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/panel.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.d.ts +6 -2
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.js +272 -5
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/profile.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts +108 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/rendering-profile/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/nodes.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/runtime-preview/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.d.ts +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/index.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.d.ts +2 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js +37 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/inspectors.js.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.d.ts +15 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/upgrade-doctor/types.d.ts.map +1 -1
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.d.ts +36 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js +65 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-core.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.d.ts +4 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js +87 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/build-info-node.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js +5 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/index.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts +8 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js +226 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/plugin.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts +64 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.d.ts.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js +2 -0
- package/node_modules/@fps-games/editor-playable-sdk/dist/vite/types.js.map +1 -0
- package/node_modules/@fps-games/editor-playable-sdk/package.json +7 -3
- package/node_modules/@fps-games/editor-protocol/package.json +1 -1
- package/package.json +12 -8
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const PLAYABLE_EDITOR_BUILD_INFO_SCHEMA_VERSION = 1;
|
|
2
|
+
export const PLAYABLE_EDITOR_BUILD_INFO_FILE = 'dist/build-info.json';
|
|
3
|
+
export const PLAYABLE_EDITOR_VITE_CACHE_DIR_PREFIX = '.vite-fps-editor-';
|
|
4
|
+
export const PLAYABLE_EDITOR_DIST_HASH_CACHE_KEY_LENGTH = 12;
|
|
5
|
+
export function createPlayableEditorBuildCacheKey(input = {}) {
|
|
6
|
+
const version = sanitizePlayableEditorCachePart(input.version) || 'unknown';
|
|
7
|
+
const distHash = readPlayableEditorDistHashPart(input.distHash, input.distHashLength);
|
|
8
|
+
return distHash ? `${version}-${distHash}` : version;
|
|
9
|
+
}
|
|
10
|
+
export function createPlayableEditorViteCacheDir(options = {}) {
|
|
11
|
+
const env = options.env ?? readAmbientProcessEnv();
|
|
12
|
+
const override = readNonEmptyString(env.VITE_CACHE_DIR);
|
|
13
|
+
if (override)
|
|
14
|
+
return override;
|
|
15
|
+
const cacheKey = readPlayableEditorBuildInfoCacheKey(options.buildInfo)
|
|
16
|
+
?? createPlayableEditorBuildCacheKey({
|
|
17
|
+
version: options.packageVersion ?? options.buildInfo?.version,
|
|
18
|
+
distHash: options.buildInfo?.distHash,
|
|
19
|
+
distHashLength: options.distHashLength,
|
|
20
|
+
});
|
|
21
|
+
const cacheDirName = `${PLAYABLE_EDITOR_VITE_CACHE_DIR_PREFIX}${cacheKey}`;
|
|
22
|
+
const resolvePath = options.resolvePath ?? joinPlayableEditorPath;
|
|
23
|
+
return options.projectRoot
|
|
24
|
+
? resolvePath(options.projectRoot, 'node_modules', cacheDirName)
|
|
25
|
+
: resolvePath('node_modules', cacheDirName);
|
|
26
|
+
}
|
|
27
|
+
export function readPlayableEditorBuildInfoCacheKey(buildInfo) {
|
|
28
|
+
const cacheKey = sanitizePlayableEditorCachePart(buildInfo?.cacheKey);
|
|
29
|
+
if (cacheKey)
|
|
30
|
+
return cacheKey;
|
|
31
|
+
if (!buildInfo)
|
|
32
|
+
return null;
|
|
33
|
+
return createPlayableEditorBuildCacheKey({
|
|
34
|
+
version: buildInfo.version,
|
|
35
|
+
distHash: buildInfo.distHash,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export function sanitizePlayableEditorCachePart(value) {
|
|
39
|
+
return typeof value === 'string'
|
|
40
|
+
? value.trim().replace(/[^a-zA-Z0-9._-]/g, '_').replace(/^_+|_+$/g, '')
|
|
41
|
+
: '';
|
|
42
|
+
}
|
|
43
|
+
function readPlayableEditorDistHashPart(value, length) {
|
|
44
|
+
const hash = sanitizePlayableEditorCachePart(value);
|
|
45
|
+
if (!hash || hash === 'missing' || hash === 'unknown')
|
|
46
|
+
return '';
|
|
47
|
+
const maxLength = Number.isFinite(length) && length && length > 0
|
|
48
|
+
? Math.floor(length)
|
|
49
|
+
: PLAYABLE_EDITOR_DIST_HASH_CACHE_KEY_LENGTH;
|
|
50
|
+
return hash.slice(0, maxLength);
|
|
51
|
+
}
|
|
52
|
+
function readNonEmptyString(value) {
|
|
53
|
+
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
54
|
+
}
|
|
55
|
+
function readAmbientProcessEnv() {
|
|
56
|
+
const processLike = globalThis.process;
|
|
57
|
+
return processLike?.env ?? {};
|
|
58
|
+
}
|
|
59
|
+
function joinPlayableEditorPath(...segments) {
|
|
60
|
+
return segments
|
|
61
|
+
.filter(segment => segment.length > 0)
|
|
62
|
+
.join('/')
|
|
63
|
+
.replace(/\/+/g, '/');
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=build-info-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info-core.js","sourceRoot":"","sources":["../../src/vite/build-info-core.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,+BAA+B,GAAG,sBAAsB,CAAC;AACtE,MAAM,CAAC,MAAM,qCAAqC,GAAG,mBAAmB,CAAC;AACzE,MAAM,CAAC,MAAM,0CAA0C,GAAG,EAAE,CAAC;AAiC7D,MAAM,UAAU,iCAAiC,CAC/C,QAA0C,EAAE;IAE5C,MAAM,OAAO,GAAG,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;IAC5E,MAAM,QAAQ,GAAG,8BAA8B,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACtF,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,UAAmD,EAAE;IAErD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACnD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,QAAQ,GAAG,mCAAmC,CAAC,OAAO,CAAC,SAAS,CAAC;WAClE,iCAAiC,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS,EAAE,OAAO;YAC7D,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ;YACrC,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,MAAM,YAAY,GAAG,GAAG,qCAAqC,GAAG,QAAQ,EAAE,CAAC;IAC3E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,sBAAsB,CAAC;IAClE,OAAO,OAAO,CAAC,WAAW;QACxB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC;QAChE,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,SAAqD;IAErD,MAAM,QAAQ,GAAG,+BAA+B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,iCAAiC,CAAC;QACvC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAc;IAC5D,OAAO,OAAO,KAAK,KAAK,QAAQ;QAC9B,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED,SAAS,8BAA8B,CAAC,KAAc,EAAE,MAAe;IACrE,MAAM,IAAI,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,MAAM,GAAG,CAAC;QAC/D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACpB,CAAC,CAAC,0CAA0C,CAAC;IAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB;IAC5B,MAAM,WAAW,GAAI,UAEnB,CAAC,OAAO,CAAC;IACX,OAAO,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAG,QAAkB;IACnD,OAAO,QAAQ;SACZ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACrC,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type PlayableEditorBuildInfo } from './build-info-core';
|
|
2
|
+
import type { PlayableEditorBuildInfoReadOptions } from './types';
|
|
3
|
+
export declare function readPlayableEditorBuildInfo(options?: PlayableEditorBuildInfoReadOptions): PlayableEditorBuildInfo;
|
|
4
|
+
//# sourceMappingURL=build-info-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info-node.d.ts","sourceRoot":"","sources":["../../src/vite/build-info-node.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,uBAAuB,EAE7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,SAAS,CAAC;AAIlE,wBAAgB,2BAA2B,CACzC,OAAO,GAAE,kCAAuC,GAC/C,uBAAuB,CAyBzB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { createPlayableEditorBuildCacheKey, PLAYABLE_EDITOR_BUILD_INFO_FILE, } from './build-info-core.js';
|
|
4
|
+
const EDITOR_PACKAGE_NAME = '@fps-games/editor';
|
|
5
|
+
export function readPlayableEditorBuildInfo(options = {}) {
|
|
6
|
+
const editorPackageRoot = options.editorPackageRoot
|
|
7
|
+
? path.resolve(options.editorPackageRoot)
|
|
8
|
+
: path.resolve(process.cwd(), 'node_modules', '@fps-games', 'editor');
|
|
9
|
+
const buildInfoPath = options.buildInfoPath
|
|
10
|
+
? path.resolve(options.buildInfoPath)
|
|
11
|
+
: path.join(editorPackageRoot, ...PLAYABLE_EDITOR_BUILD_INFO_FILE.split('/'));
|
|
12
|
+
const packageJsonPath = options.packageJsonPath
|
|
13
|
+
? path.resolve(options.packageJsonPath)
|
|
14
|
+
: path.join(editorPackageRoot, 'package.json');
|
|
15
|
+
const fallbackVersion = readPackageVersion(packageJsonPath) ?? 'missing';
|
|
16
|
+
if (existsSync(buildInfoPath)) {
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(readFileSync(buildInfoPath, 'utf8'));
|
|
19
|
+
return normalizePlayableEditorBuildInfo(parsed, {
|
|
20
|
+
packageName: EDITOR_PACKAGE_NAME,
|
|
21
|
+
version: fallbackVersion,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return createFallbackBuildInfo(fallbackVersion);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return createFallbackBuildInfo(fallbackVersion);
|
|
29
|
+
}
|
|
30
|
+
function normalizePlayableEditorBuildInfo(value, fallback) {
|
|
31
|
+
const record = isRecord(value) ? value : {};
|
|
32
|
+
const packageName = readString(record.packageName) ?? fallback.packageName;
|
|
33
|
+
const version = readString(record.version) ?? fallback.version;
|
|
34
|
+
const distHash = readString(record.distHash) ?? 'missing';
|
|
35
|
+
const cacheKey = readString(record.cacheKey) ?? createPlayableEditorBuildCacheKey({ version, distHash });
|
|
36
|
+
const bundledPackages = Array.isArray(record.bundledPackages)
|
|
37
|
+
? record.bundledPackages.flatMap(readBundledPackage)
|
|
38
|
+
: [];
|
|
39
|
+
return {
|
|
40
|
+
schemaVersion: typeof record.schemaVersion === 'number' ? record.schemaVersion : 1,
|
|
41
|
+
packageName,
|
|
42
|
+
version,
|
|
43
|
+
gitSha: readString(record.gitSha),
|
|
44
|
+
distHash,
|
|
45
|
+
cacheKey,
|
|
46
|
+
bundledPackages,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function createFallbackBuildInfo(version) {
|
|
50
|
+
return {
|
|
51
|
+
schemaVersion: 1,
|
|
52
|
+
packageName: EDITOR_PACKAGE_NAME,
|
|
53
|
+
version,
|
|
54
|
+
gitSha: null,
|
|
55
|
+
distHash: 'missing',
|
|
56
|
+
cacheKey: createPlayableEditorBuildCacheKey({ version }),
|
|
57
|
+
bundledPackages: [],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function readPackageVersion(packageJsonPath) {
|
|
61
|
+
if (!existsSync(packageJsonPath))
|
|
62
|
+
return null;
|
|
63
|
+
try {
|
|
64
|
+
const parsed = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
65
|
+
return isRecord(parsed) ? readString(parsed.version) : null;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function readBundledPackage(value) {
|
|
72
|
+
if (!isRecord(value))
|
|
73
|
+
return [];
|
|
74
|
+
const name = readString(value.name);
|
|
75
|
+
const version = readString(value.version);
|
|
76
|
+
const distHash = readString(value.distHash);
|
|
77
|
+
if (!name || !version || !distHash)
|
|
78
|
+
return [];
|
|
79
|
+
return [{ name, version, distHash }];
|
|
80
|
+
}
|
|
81
|
+
function readString(value) {
|
|
82
|
+
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
83
|
+
}
|
|
84
|
+
function isRecord(value) {
|
|
85
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=build-info-node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-info-node.js","sourceRoot":"","sources":["../../src/vite/build-info-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type PlayableEditorDoctorReport } from '../upgrade-doctor/index';
|
|
2
|
+
import type { PlayableEditorVitePluginLike, PlayableEditorVitePluginOptions, PlayableEditorViteResolvedIntegration, PlayableEditorViteUserConfigLike } from './types';
|
|
3
|
+
export declare const PLAYABLE_EDITOR_VITE_CACHE_MARKER_FILE = "fps-editor-cache-marker.json";
|
|
4
|
+
export declare function playableEditorVitePlugin(options?: PlayableEditorVitePluginOptions): PlayableEditorVitePluginLike;
|
|
5
|
+
export declare function resolvePlayableEditorViteIntegration(config?: PlayableEditorViteUserConfigLike, options?: PlayableEditorVitePluginOptions): PlayableEditorViteResolvedIntegration;
|
|
6
|
+
export declare function writePlayableEditorViteCacheMarker(integration: PlayableEditorViteResolvedIntegration, options?: PlayableEditorVitePluginOptions): void;
|
|
7
|
+
export declare function inspectPlayableEditorViteInstalledVersion(integration: PlayableEditorViteResolvedIntegration): PlayableEditorDoctorReport;
|
|
8
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"AAUA,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAIV,4BAA4B,EAC5B,+BAA+B,EAC/B,qCAAqC,EACrC,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,sCAAsC,iCAAiC,CAAC;AAErF,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,4BAA4B,CAoC9B;AAED,wBAAgB,oCAAoC,CAClD,MAAM,GAAE,gCAAqC,EAC7C,OAAO,GAAE,+BAAoC,GAC5C,qCAAqC,CAoCvC;AAED,wBAAgB,kCAAkC,CAChD,WAAW,EAAE,qCAAqC,EAClD,OAAO,GAAE,+BAAoC,GAC5C,IAAI,CAmBN;AAED,wBAAgB,yCAAyC,CACvD,WAAW,EAAE,qCAAqC,GACjD,0BAA0B,CAe5B"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { collectMissingPlayableEditorPackageAliasFiles, createPlayableEditorBundledPackageAliasPlan, createPlayableEditorBundledPackageRoots, createPlayableEditorSourcePackageAliasPlan, formatPlayableEditorPackageAliasPlanError, } from '../package-resolution/index.js';
|
|
4
|
+
import { formatPlayableEditorDoctorReport, inspectPlayableEditorInstalledVersion, } from '../upgrade-doctor/index.js';
|
|
5
|
+
import { createPlayableEditorViteCacheDir } from './build-info-core.js';
|
|
6
|
+
import { readPlayableEditorBuildInfo } from './build-info-node.js';
|
|
7
|
+
export const PLAYABLE_EDITOR_VITE_CACHE_MARKER_FILE = 'fps-editor-cache-marker.json';
|
|
8
|
+
export function playableEditorVitePlugin(options = {}) {
|
|
9
|
+
let resolvedIntegration = null;
|
|
10
|
+
return {
|
|
11
|
+
name: 'fps-editor-playable-vite',
|
|
12
|
+
enforce: 'pre',
|
|
13
|
+
config(config) {
|
|
14
|
+
resolvedIntegration = resolvePlayableEditorViteIntegration(config, options);
|
|
15
|
+
const aliasPlan = createPlayableEditorViteAliasPlan(resolvedIntegration);
|
|
16
|
+
assertPlayableEditorViteAliasFiles(aliasPlan, resolvedIntegration, options);
|
|
17
|
+
return {
|
|
18
|
+
...(resolvedIntegration.cacheDir ? { cacheDir: resolvedIntegration.cacheDir } : {}),
|
|
19
|
+
resolve: {
|
|
20
|
+
alias: aliasPlan.entries.map(entry => ({
|
|
21
|
+
find: packageIdRegex(entry.packageId),
|
|
22
|
+
replacement: entry.file,
|
|
23
|
+
})),
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
configureServer(server) {
|
|
28
|
+
const integration = resolvedIntegration
|
|
29
|
+
?? resolvePlayableEditorViteIntegration({
|
|
30
|
+
root: server.config.root,
|
|
31
|
+
cacheDir: server.config.cacheDir,
|
|
32
|
+
}, options);
|
|
33
|
+
writePlayableEditorViteCacheMarker({
|
|
34
|
+
...integration,
|
|
35
|
+
cacheDir: server.config.cacheDir || integration.cacheDir,
|
|
36
|
+
}, options);
|
|
37
|
+
emitPlayableEditorViteVersionDiagnostics(server, integration, options);
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function resolvePlayableEditorViteIntegration(config = {}, options = {}) {
|
|
42
|
+
const env = options.env ?? process.env;
|
|
43
|
+
const projectRoot = path.resolve(options.projectRoot ?? config.root ?? process.cwd());
|
|
44
|
+
const localEditorRepo = readLocalEditorRepo(options, env);
|
|
45
|
+
const bundledRoots = createPlayableEditorBundledPackageRoots(projectRoot, {
|
|
46
|
+
resolvePath: path.resolve,
|
|
47
|
+
});
|
|
48
|
+
const editorPackageRoot = localEditorRepo
|
|
49
|
+
? path.resolve(localEditorRepo, 'packages', 'editor')
|
|
50
|
+
: path.dirname(bundledRoots.editorPackageJsonPath);
|
|
51
|
+
const buildInfoPath = path.join(editorPackageRoot, 'dist', 'build-info.json');
|
|
52
|
+
const buildInfo = readPlayableEditorBuildInfo({
|
|
53
|
+
editorPackageRoot,
|
|
54
|
+
buildInfoPath,
|
|
55
|
+
packageJsonPath: path.join(editorPackageRoot, 'package.json'),
|
|
56
|
+
});
|
|
57
|
+
const cacheDir = options.cacheDir === false
|
|
58
|
+
? null
|
|
59
|
+
: options.cacheDir
|
|
60
|
+
?? config.cacheDir
|
|
61
|
+
?? createPlayableEditorViteCacheDir({
|
|
62
|
+
projectRoot,
|
|
63
|
+
env,
|
|
64
|
+
buildInfo,
|
|
65
|
+
packageVersion: buildInfo.version,
|
|
66
|
+
resolvePath: path.resolve,
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
projectRoot,
|
|
70
|
+
localEditorRepo,
|
|
71
|
+
editorPackageRoot,
|
|
72
|
+
buildInfoPath,
|
|
73
|
+
buildInfo,
|
|
74
|
+
cacheDir,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
export function writePlayableEditorViteCacheMarker(integration, options = {}) {
|
|
78
|
+
if (!integration.cacheDir)
|
|
79
|
+
return;
|
|
80
|
+
const markerPath = path.join(integration.cacheDir, PLAYABLE_EDITOR_VITE_CACHE_MARKER_FILE);
|
|
81
|
+
const marker = {
|
|
82
|
+
packageName: integration.buildInfo.packageName,
|
|
83
|
+
version: integration.buildInfo.version,
|
|
84
|
+
cacheKey: integration.buildInfo.cacheKey,
|
|
85
|
+
distHash: integration.buildInfo.distHash,
|
|
86
|
+
buildInfoPath: integration.buildInfoPath,
|
|
87
|
+
};
|
|
88
|
+
const previous = readPlayableEditorViteCacheMarker(markerPath);
|
|
89
|
+
if (previous && previous.cacheKey !== marker.cacheKey) {
|
|
90
|
+
options.logger?.warn?.(`[fps-editor] Vite cache marker changed in ${integration.cacheDir}: `
|
|
91
|
+
+ `${previous.cacheKey} -> ${marker.cacheKey}`);
|
|
92
|
+
}
|
|
93
|
+
mkdirSync(integration.cacheDir, { recursive: true });
|
|
94
|
+
writeFileSync(markerPath, `${JSON.stringify(marker, null, 2)}\n`, 'utf8');
|
|
95
|
+
}
|
|
96
|
+
export function inspectPlayableEditorViteInstalledVersion(integration) {
|
|
97
|
+
if (integration.localEditorRepo) {
|
|
98
|
+
return inspectPlayableEditorInstalledVersion({
|
|
99
|
+
packageName: '@fps-games/editor',
|
|
100
|
+
declaredVersion: null,
|
|
101
|
+
installedVersion: integration.buildInfo.version,
|
|
102
|
+
source: 'FPS_GAME_EDITOR_REPO',
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
return inspectPlayableEditorInstalledVersion({
|
|
106
|
+
packageName: '@fps-games/editor',
|
|
107
|
+
declaredVersion: readProjectDeclaredEditorVersion(integration.projectRoot),
|
|
108
|
+
installedVersion: integration.buildInfo.version,
|
|
109
|
+
source: path.join(integration.projectRoot, 'package.json'),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function emitPlayableEditorViteVersionDiagnostics(server, integration, options) {
|
|
113
|
+
if (options.versionDiagnostics === false)
|
|
114
|
+
return;
|
|
115
|
+
const report = inspectPlayableEditorViteInstalledVersion(integration);
|
|
116
|
+
if (report.diagnostics.length === 0)
|
|
117
|
+
return;
|
|
118
|
+
const formatted = formatPlayableEditorDoctorReport(report);
|
|
119
|
+
const logger = options.logger ?? console;
|
|
120
|
+
if (report.ok) {
|
|
121
|
+
logger.warn?.(formatted);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
logger.error?.(formatted);
|
|
125
|
+
}
|
|
126
|
+
const payload = createPlayableEditorViteOverlayPayload(formatted);
|
|
127
|
+
server.ws?.send?.(payload);
|
|
128
|
+
server.ws?.on?.('connection', () => {
|
|
129
|
+
server.ws?.send?.(payload);
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function createPlayableEditorViteOverlayPayload(message) {
|
|
133
|
+
return {
|
|
134
|
+
type: 'error',
|
|
135
|
+
err: {
|
|
136
|
+
message,
|
|
137
|
+
stack: '',
|
|
138
|
+
plugin: 'fps-editor-playable-vite',
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function createPlayableEditorViteAliasPlan(integration) {
|
|
143
|
+
if (integration.localEditorRepo) {
|
|
144
|
+
return createPlayableEditorSourcePackageAliasPlan(integration.localEditorRepo, {
|
|
145
|
+
resolvePath: path.resolve,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
const roots = createPlayableEditorBundledPackageRoots(integration.projectRoot, {
|
|
149
|
+
resolvePath: path.resolve,
|
|
150
|
+
});
|
|
151
|
+
return createPlayableEditorBundledPackageAliasPlan({
|
|
152
|
+
bundledEditorPackagesRoot: roots.bundledEditorPackagesRoot,
|
|
153
|
+
directBabylonRendererPackageRoot: roots.directBabylonRendererPackageRoot,
|
|
154
|
+
resolvePath: path.resolve,
|
|
155
|
+
fileExists: existsSync,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
function assertPlayableEditorViteAliasFiles(aliasPlan, integration, options) {
|
|
159
|
+
if (options.strictAliasFiles === false)
|
|
160
|
+
return;
|
|
161
|
+
const missing = collectMissingPlayableEditorPackageAliasFiles(aliasPlan, existsSync);
|
|
162
|
+
if (missing.length === 0)
|
|
163
|
+
return;
|
|
164
|
+
const mode = integration.localEditorRepo
|
|
165
|
+
? `FPS_GAME_EDITOR_REPO=${integration.localEditorRepo}`
|
|
166
|
+
: '@fps-games/editor bundled dependencies';
|
|
167
|
+
throw new Error(formatPlayableEditorPackageAliasPlanError(missing, `[fps-editor] The playable editor Vite integration could not resolve ${mode}.`));
|
|
168
|
+
}
|
|
169
|
+
function readPlayableEditorViteCacheMarker(markerPath) {
|
|
170
|
+
if (!existsSync(markerPath))
|
|
171
|
+
return null;
|
|
172
|
+
try {
|
|
173
|
+
const parsed = JSON.parse(readFileSync(markerPath, 'utf8'));
|
|
174
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
175
|
+
return null;
|
|
176
|
+
const marker = parsed;
|
|
177
|
+
if (typeof marker.packageName !== 'string'
|
|
178
|
+
|| typeof marker.version !== 'string'
|
|
179
|
+
|| typeof marker.cacheKey !== 'string'
|
|
180
|
+
|| typeof marker.distHash !== 'string'
|
|
181
|
+
|| typeof marker.buildInfoPath !== 'string') {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
return marker;
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
function readProjectDeclaredEditorVersion(projectRoot) {
|
|
191
|
+
const packageJsonPath = path.join(projectRoot, 'package.json');
|
|
192
|
+
if (!existsSync(packageJsonPath))
|
|
193
|
+
return null;
|
|
194
|
+
try {
|
|
195
|
+
const parsed = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
196
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
197
|
+
return null;
|
|
198
|
+
const record = parsed;
|
|
199
|
+
return readDependencyVersion(record.dependencies, '@fps-games/editor')
|
|
200
|
+
?? readDependencyVersion(record.devDependencies, '@fps-games/editor')
|
|
201
|
+
?? readDependencyVersion(record.peerDependencies, '@fps-games/editor')
|
|
202
|
+
?? readDependencyVersion(record.optionalDependencies, '@fps-games/editor');
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
function readDependencyVersion(value, packageName) {
|
|
209
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
210
|
+
return null;
|
|
211
|
+
const dependencyVersion = value[packageName];
|
|
212
|
+
return typeof dependencyVersion === 'string' && dependencyVersion.trim()
|
|
213
|
+
? dependencyVersion.trim()
|
|
214
|
+
: null;
|
|
215
|
+
}
|
|
216
|
+
function readLocalEditorRepo(options, env) {
|
|
217
|
+
const value = options.localEditorRepo ?? env.FPS_GAME_EDITOR_REPO ?? null;
|
|
218
|
+
return typeof value === 'string' && value.trim() ? path.resolve(value.trim()) : null;
|
|
219
|
+
}
|
|
220
|
+
function packageIdRegex(packageId) {
|
|
221
|
+
return new RegExp(`^${escapeRegex(packageId)}$`);
|
|
222
|
+
}
|
|
223
|
+
function escapeRegex(value) {
|
|
224
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/vite/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { PlayableEditorBuildInfo } from './build-info-core';
|
|
2
|
+
export interface PlayableEditorVitePluginLike {
|
|
3
|
+
name: string;
|
|
4
|
+
enforce?: 'pre' | 'post';
|
|
5
|
+
apply?: 'serve' | 'build' | ((config: unknown, env: unknown) => boolean);
|
|
6
|
+
config?: (config: PlayableEditorViteUserConfigLike, env: unknown) => PlayableEditorViteUserConfigLike | void;
|
|
7
|
+
configureServer?: (server: PlayableEditorViteDevServerLike) => void | Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export interface PlayableEditorViteUserConfigLike {
|
|
10
|
+
root?: string;
|
|
11
|
+
cacheDir?: string;
|
|
12
|
+
resolve?: {
|
|
13
|
+
alias?: unknown;
|
|
14
|
+
};
|
|
15
|
+
[key: string]: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface PlayableEditorViteDevServerLike {
|
|
18
|
+
config: {
|
|
19
|
+
root: string;
|
|
20
|
+
cacheDir: string;
|
|
21
|
+
};
|
|
22
|
+
ws?: {
|
|
23
|
+
send?: (payload: PlayableEditorViteErrorPayload) => void;
|
|
24
|
+
on?: (event: 'connection', listener: () => void) => void;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface PlayableEditorViteErrorPayload {
|
|
28
|
+
type: 'error';
|
|
29
|
+
err: {
|
|
30
|
+
message: string;
|
|
31
|
+
stack: string;
|
|
32
|
+
plugin: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface PlayableEditorBuildInfoReadOptions {
|
|
36
|
+
editorPackageRoot?: string;
|
|
37
|
+
buildInfoPath?: string;
|
|
38
|
+
packageJsonPath?: string;
|
|
39
|
+
}
|
|
40
|
+
export interface PlayableEditorVitePluginOptions {
|
|
41
|
+
projectRoot?: string;
|
|
42
|
+
localEditorRepo?: string | null;
|
|
43
|
+
env?: Record<string, string | undefined>;
|
|
44
|
+
cacheDir?: string | false;
|
|
45
|
+
strictAliasFiles?: boolean;
|
|
46
|
+
versionDiagnostics?: boolean;
|
|
47
|
+
logger?: Pick<Console, 'info' | 'warn' | 'error'>;
|
|
48
|
+
}
|
|
49
|
+
export interface PlayableEditorViteCacheMarker {
|
|
50
|
+
packageName: string;
|
|
51
|
+
version: string;
|
|
52
|
+
cacheKey: string;
|
|
53
|
+
distHash: string;
|
|
54
|
+
buildInfoPath: string;
|
|
55
|
+
}
|
|
56
|
+
export interface PlayableEditorViteResolvedIntegration {
|
|
57
|
+
projectRoot: string;
|
|
58
|
+
localEditorRepo: string | null;
|
|
59
|
+
editorPackageRoot: string;
|
|
60
|
+
buildInfoPath: string;
|
|
61
|
+
buildInfo: PlayableEditorBuildInfo;
|
|
62
|
+
cacheDir: string | null;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gCAAgC,EAAE,GAAG,EAAE,OAAO,KAAK,gCAAgC,GAAG,IAAI,CAAC;IAC7G,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,+BAA+B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,gCAAgC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,EAAE,CAAC,EAAE;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,IAAI,CAAC;QACzD,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KAC1D,CAAC;CACH;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kCAAkC;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,6BAA6B;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,qCAAqC;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vite/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fps-games/editor-playable-sdk",
|
|
3
|
-
"version": "0.1.4-beta.
|
|
3
|
+
"version": "0.1.4-beta.5",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Playable project integration SDK for fps-game-editor.",
|
|
@@ -11,10 +11,14 @@
|
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
13
13
|
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./vite": {
|
|
16
|
+
"types": "./dist/vite/index.d.ts",
|
|
17
|
+
"import": "./dist/vite/index.js"
|
|
14
18
|
}
|
|
15
19
|
},
|
|
16
20
|
"dependencies": {
|
|
17
|
-
"@fps-games/editor-core": "0.1.4-beta.
|
|
18
|
-
"@fps-games/editor-protocol": "0.1.4-beta.
|
|
21
|
+
"@fps-games/editor-core": "0.1.4-beta.5",
|
|
22
|
+
"@fps-games/editor-protocol": "0.1.4-beta.5"
|
|
19
23
|
}
|
|
20
24
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fps-games/editor",
|
|
3
|
-
"version": "0.1.4-beta.
|
|
3
|
+
"version": "0.1.4-beta.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Aggregate public entrypoint for fps-game-editor.",
|
|
6
6
|
"repository": {
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"./playable-sdk": {
|
|
20
20
|
"types": "./dist/playable-sdk.d.ts",
|
|
21
21
|
"import": "./dist/playable-sdk.js"
|
|
22
|
+
},
|
|
23
|
+
"./playable-sdk/vite": {
|
|
24
|
+
"types": "./dist/playable-sdk-vite.d.ts",
|
|
25
|
+
"import": "./dist/playable-sdk-vite.js"
|
|
22
26
|
}
|
|
23
27
|
},
|
|
24
28
|
"files": [
|
|
@@ -30,13 +34,13 @@
|
|
|
30
34
|
"prepack": "node ../../scripts/prepare-single-package.mjs"
|
|
31
35
|
},
|
|
32
36
|
"dependencies": {
|
|
33
|
-
"@fps-games/babylon-renderer": "0.1.4-beta.
|
|
34
|
-
"@fps-games/editor-babylon": "0.1.4-beta.
|
|
35
|
-
"@fps-games/editor-browser": "0.1.4-beta.
|
|
36
|
-
"@fps-games/editor-core": "0.1.4-beta.
|
|
37
|
-
"@fps-games/editor-forge-play": "0.1.4-beta.
|
|
38
|
-
"@fps-games/editor-playable-sdk": "0.1.4-beta.
|
|
39
|
-
"@fps-games/editor-protocol": "0.1.4-beta.
|
|
37
|
+
"@fps-games/babylon-renderer": "0.1.4-beta.5",
|
|
38
|
+
"@fps-games/editor-babylon": "0.1.4-beta.5",
|
|
39
|
+
"@fps-games/editor-browser": "0.1.4-beta.5",
|
|
40
|
+
"@fps-games/editor-core": "0.1.4-beta.5",
|
|
41
|
+
"@fps-games/editor-forge-play": "0.1.4-beta.5",
|
|
42
|
+
"@fps-games/editor-playable-sdk": "0.1.4-beta.5",
|
|
43
|
+
"@fps-games/editor-protocol": "0.1.4-beta.5"
|
|
40
44
|
},
|
|
41
45
|
"bundleDependencies": [
|
|
42
46
|
"@fps-games/babylon-renderer",
|