babylonjs-editor-cli 5.0.1 → 5.0.2
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/.env +5 -0
- package/build/index.node.js +85 -18
- package/build/package.json +3 -1
- package/build/src/export.mjs +2 -0
- package/build/src/export.mjs.map +1 -1
- package/build/src/index.mjs +10 -0
- package/build/src/index.mjs.map +1 -1
- package/build/src/pack/assets/assets.mjs.map +1 -1
- package/build/src/pack/assets/process.mjs +3 -0
- package/build/src/pack/assets/process.mjs.map +1 -1
- package/build/src/pack/assets/texture.mjs +3 -0
- package/build/src/pack/assets/texture.mjs.map +1 -1
- package/build/src/pack/geometry.mjs +1 -1
- package/build/src/pack/geometry.mjs.map +1 -1
- package/build/src/pack/pack.mjs +21 -9
- package/build/src/pack/pack.mjs.map +1 -1
- package/build/src/s3/s3.mjs +132 -0
- package/build/src/s3/s3.mjs.map +1 -0
- package/build/src/tools/fs.mjs +9 -0
- package/build/src/tools/fs.mjs.map +1 -1
- package/build/src/tools/ktx.mjs +1 -1
- package/build/src/tools/ktx.mjs.map +1 -1
- package/build/src/tools/worker.mjs +7 -3
- package/build/src/tools/worker.mjs.map +1 -1
- package/declaration/src/export.d.mts +3 -1
- package/declaration/src/pack/assets/assets.d.mts +2 -0
- package/declaration/src/pack/assets/texture.d.mts +2 -1
- package/declaration/src/pack/pack.d.mts +6 -0
- package/declaration/src/s3/s3.d.mts +11 -0
- package/declaration/src/tools/fs.d.mts +1 -0
- package/declaration/src/tools/worker.d.mts +3 -2
- package/package.json +4 -2
package/build/package.json
CHANGED
|
@@ -21,14 +21,16 @@
|
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {},
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@aws-sdk/client-s3": "3.975.0",
|
|
24
25
|
"chalk": "5.6.2",
|
|
25
26
|
"cli-spinners": "3.4.0",
|
|
26
27
|
"commander": "14.0.2",
|
|
27
28
|
"dotenv": "17.2.3",
|
|
28
29
|
"fs-extra": "11.2.0",
|
|
29
30
|
"glob": "11.1.0",
|
|
30
|
-
"
|
|
31
|
+
"md5": "2.3.0",
|
|
31
32
|
"ora": "9.1.0",
|
|
33
|
+
"pngjs": "7.0.0",
|
|
32
34
|
"sharp": "0.34.3"
|
|
33
35
|
}
|
|
34
36
|
}
|
package/build/src/export.mjs
CHANGED
package/build/src/export.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.mjs","sourceRoot":"","sources":["../../src/export.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"export.mjs","sourceRoot":"","sources":["../../src/export.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAgD,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,EAAE,EAAc,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/build/src/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import dotEnv from "dotenv";
|
|
2
2
|
import { Command } from "commander";
|
|
3
3
|
import packageJson from "../package.json" with { type: "json" };
|
|
4
|
+
import { s3 } from "./s3/s3.mjs";
|
|
4
5
|
import { pack } from "./pack/pack.mjs";
|
|
5
6
|
dotEnv.config();
|
|
6
7
|
const program = new Command();
|
|
@@ -18,5 +19,14 @@ program
|
|
|
18
19
|
optimize: true,
|
|
19
20
|
});
|
|
20
21
|
});
|
|
22
|
+
program
|
|
23
|
+
.command("s3")
|
|
24
|
+
.description("Packs and deploys the project located in the specified directory into a S3 bucket. Current directory is used by default.")
|
|
25
|
+
.argument("[projectDir]", "The root directory of the project to package and deploy into a S3 bucket.", process.cwd())
|
|
26
|
+
.action((projectDir) => {
|
|
27
|
+
s3(projectDir, {
|
|
28
|
+
optimize: true,
|
|
29
|
+
});
|
|
30
|
+
});
|
|
21
31
|
program.parse();
|
|
22
32
|
//# sourceMappingURL=index.mjs.map
|
package/build/src/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,IAAI,CAAC,uBAAuB,CAAC;KAC7B,WAAW,CAAC,oHAAoH,CAAC;KACjI,MAAM,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAEnD,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6FAA6F,CAAC;KAC1G,QAAQ,CAAC,cAAc,EAAE,8CAA8C,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACvF,MAAM,CAAC,CAAC,UAAkB,EAAE,EAAE;IAC9B,IAAI,CAAC,UAAU,EAAE;QAChB,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/index.mts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;KAC5B,IAAI,CAAC,uBAAuB,CAAC;KAC7B,WAAW,CAAC,oHAAoH,CAAC;KACjI,MAAM,CAAC,YAAY,EAAE,0BAA0B,CAAC,CAAC;AAEnD,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6FAA6F,CAAC;KAC1G,QAAQ,CAAC,cAAc,EAAE,8CAA8C,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACvF,MAAM,CAAC,CAAC,UAAkB,EAAE,EAAE;IAC9B,IAAI,CAAC,UAAU,EAAE;QAChB,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,0HAA0H,CAAC;KACvI,QAAQ,CAAC,cAAc,EAAE,2EAA2E,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACpH,MAAM,CAAC,CAAC,UAAkB,EAAE,EAAE;IAC9B,EAAE,CAAC,UAAU,EAAE;QACd,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.mjs","sourceRoot":"","sources":["../../../../src/pack/assets/assets.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"assets.mjs","sourceRoot":"","sources":["../../../../src/pack/assets/assets.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAejD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA6B;IAC/D,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE;QACvE,KAAK,EAAE,IAAI;QACX,MAAM,EAAE;YACP,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ;SACpD;KACD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,SAAS,SAAS,4BAA4B,CAAC,CAAC;IAE5D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,QAAQ,CAAC,IAAI,CACZ,gBAAgB,CAAC,IAAI,EAAE;YACtB,GAAG,OAAO;SACV,CAAC,CACF,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -47,6 +47,9 @@ export async function processAssetFile(file, options) {
|
|
|
47
47
|
if (isNewFile || !finalPathExists) {
|
|
48
48
|
await fs.copyFile(file, finalPath);
|
|
49
49
|
}
|
|
50
|
+
options.onStepChanged?.("assets", {
|
|
51
|
+
message: `Processed asset: ${relativePath}`,
|
|
52
|
+
});
|
|
50
53
|
options.exportedAssets.push(finalPath);
|
|
51
54
|
if (options.optimize && options.compressedTexturesEnabled) {
|
|
52
55
|
await compressFileToKtx(finalPath, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.mjs","sourceRoot":"","sources":["../../../../src/pack/assets/process.mts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process.mjs","sourceRoot":"","sources":["../../../../src/pack/assets/process.mts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,9 @@ export async function processExportedTexture(absolutePath, options) {
|
|
|
46
46
|
const buffer = await sharp(absolutePath).resize(size.width, size.height).toBuffer();
|
|
47
47
|
await fs.writeFile(finalPath, buffer);
|
|
48
48
|
console.log(`Exported scaled texture "${finalName}"`);
|
|
49
|
+
options.onStepChanged?.("assets", {
|
|
50
|
+
message: `Exported scaled texture "${finalName}"`,
|
|
51
|
+
});
|
|
49
52
|
}
|
|
50
53
|
catch (e) {
|
|
51
54
|
console.error(`Failed to export image scaled image "${finalName}"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture.mjs","sourceRoot":"","sources":["../../../../src/pack/assets/texture.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"texture.mjs","sourceRoot":"","sources":["../../../../src/pack/assets/texture.mts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,13 @@ import { join } from "node:path/posix";
|
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
export async function createGeometryFiles(options) {
|
|
4
4
|
await fs.ensureDir(join(options.publicDir, options.sceneName));
|
|
5
|
-
await fs.ensureDir(join(options.publicDir, options.sceneName, "morphTargets"));
|
|
6
5
|
await Promise.all(options.directories.geometryFiles.map(async (file) => {
|
|
7
6
|
const destination = join(options.publicDir, options.sceneName, file);
|
|
8
7
|
await fs.copyFile(join(options.sceneFile, "geometries", file), destination);
|
|
9
8
|
options.exportedAssets.push(destination);
|
|
10
9
|
}));
|
|
11
10
|
if (options.babylonjsEditorToolsVersion >= "5.2.6") {
|
|
11
|
+
await fs.ensureDir(join(options.publicDir, options.sceneName, "morphTargets"));
|
|
12
12
|
await Promise.all(options.directories.morphTargetFiles.map(async (file) => {
|
|
13
13
|
const destination = join(options.publicDir, options.sceneName, "morphTargets", file);
|
|
14
14
|
await fs.copyFile(join(options.sceneFile, "morphTargets", file), destination);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.mjs","sourceRoot":"","sources":["../../../src/pack/geometry.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,MAAM,UAAU,CAAC;AAc1B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAoC;IAC7E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"geometry.mjs","sourceRoot":"","sources":["../../../src/pack/geometry.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,MAAM,UAAU,CAAC;AAc1B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAoC;IAC7E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAE/D,MAAM,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;QAC5E,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC,CAAC,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,2BAA2B,IAAI,OAAO,EAAE,CAAC;QACpD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAE/E,MAAM,OAAO,CAAC,GAAG,CAChB,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;YACrF,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;YAC9E,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CACF,CAAC;IACH,CAAC;AACF,CAAC"}
|
package/build/src/pack/pack.mjs
CHANGED
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
|
-
import { resolve } from "node:path";
|
|
3
2
|
import { basename, extname, join } from "node:path/posix";
|
|
4
3
|
import ora from "ora";
|
|
5
4
|
import cliSpinners from "cli-spinners";
|
|
6
|
-
import { normalizedGlob } from "../tools/fs.mjs";
|
|
5
|
+
import { getProjectDir, normalizedGlob } from "../tools/fs.mjs";
|
|
7
6
|
import { locatePVRTexTool, setPVRTexToolAbsolutePath } from "../tools/ktx.mjs";
|
|
8
7
|
import { ensureSceneDirectories, readSceneDirectories } from "../tools/scene.mjs";
|
|
9
8
|
import { createAssets } from "./assets/assets.mjs";
|
|
10
9
|
import { createBabylonScene } from "./scene.mjs";
|
|
11
10
|
import { createGeometryFiles } from "./geometry.mjs";
|
|
12
11
|
export async function pack(projectDir, options) {
|
|
13
|
-
|
|
14
|
-
if (projectDir !== cwd) {
|
|
15
|
-
projectDir = resolve(cwd, projectDir);
|
|
16
|
-
}
|
|
17
|
-
projectDir = projectDir.replace(/\\/g, "/");
|
|
12
|
+
projectDir = getProjectDir(projectDir);
|
|
18
13
|
// Load project configuration
|
|
19
14
|
const projectFiles = await fs.readdir(projectDir);
|
|
20
15
|
const projectConfigurationFile = projectFiles.find((file) => extname(file).toLowerCase() === ".bjseditor");
|
|
@@ -48,9 +43,12 @@ export async function pack(projectDir, options) {
|
|
|
48
43
|
// Catch silently.
|
|
49
44
|
}
|
|
50
45
|
// Pack assets
|
|
51
|
-
const assetsLog = ora(
|
|
46
|
+
const assetsLog = ora("Packing assets...");
|
|
52
47
|
assetsLog.spinner = cliSpinners.dots14;
|
|
53
48
|
assetsLog.start();
|
|
49
|
+
options.onStepChanged?.("assets", {
|
|
50
|
+
message: "Packing assets...",
|
|
51
|
+
});
|
|
54
52
|
await createAssets({
|
|
55
53
|
...options,
|
|
56
54
|
...projectConfiguration,
|
|
@@ -61,7 +59,11 @@ export async function pack(projectDir, options) {
|
|
|
61
59
|
outputAssetsDir,
|
|
62
60
|
exportedAssets,
|
|
63
61
|
});
|
|
64
|
-
assetsLog.succeed(
|
|
62
|
+
assetsLog.succeed("Packed assets");
|
|
63
|
+
options.onStepChanged?.("assets", {
|
|
64
|
+
success: true,
|
|
65
|
+
message: "Packed assets",
|
|
66
|
+
});
|
|
65
67
|
// Get babylonjs-editor-tools version
|
|
66
68
|
let babylonjsEditorToolsVersion = "5.0.0";
|
|
67
69
|
try {
|
|
@@ -87,6 +89,9 @@ export async function pack(projectDir, options) {
|
|
|
87
89
|
await ensureSceneDirectories(sceneFile);
|
|
88
90
|
const directories = await readSceneDirectories(sceneFile);
|
|
89
91
|
const config = await fs.readJSON(join(sceneFile, "config.json"));
|
|
92
|
+
options.onStepChanged?.("scenes", {
|
|
93
|
+
message: `Packing scene ${sceneName}...`,
|
|
94
|
+
});
|
|
90
95
|
await createBabylonScene({
|
|
91
96
|
...options,
|
|
92
97
|
...projectConfiguration,
|
|
@@ -98,6 +103,9 @@ export async function pack(projectDir, options) {
|
|
|
98
103
|
exportedAssets,
|
|
99
104
|
babylonjsEditorToolsVersion,
|
|
100
105
|
});
|
|
106
|
+
options.onStepChanged?.("scenes", {
|
|
107
|
+
message: `Packing scene ${sceneName} geometries...`,
|
|
108
|
+
});
|
|
101
109
|
// Copy geometry files
|
|
102
110
|
await createGeometryFiles({
|
|
103
111
|
directories,
|
|
@@ -109,6 +117,10 @@ export async function pack(projectDir, options) {
|
|
|
109
117
|
});
|
|
110
118
|
sceneLog.succeed(`Packed ${sceneFilename}`);
|
|
111
119
|
}
|
|
120
|
+
options.onStepChanged?.("scenes", {
|
|
121
|
+
success: true,
|
|
122
|
+
message: "Packed scenes",
|
|
123
|
+
});
|
|
112
124
|
// Save cache
|
|
113
125
|
await fs.writeJSON(join(projectDir, "assets/.export-cache.json"), cache, {
|
|
114
126
|
encoding: "utf-8",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pack.mjs","sourceRoot":"","sources":["../../../src/pack/pack.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pack.mjs","sourceRoot":"","sources":["../../../src/pack/pack.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { basename, extname, join } from "node:path/posix";
|
|
2
|
+
import fs from "fs-extra";
|
|
3
|
+
import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
|
|
4
|
+
import ora from "ora";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
import cliSpinners from "cli-spinners";
|
|
7
|
+
import { pack } from "../pack/pack.mjs";
|
|
8
|
+
import { executeSimpleWorker } from "../tools/worker.mjs";
|
|
9
|
+
import { getProjectDir, normalizedGlob } from "../tools/fs.mjs";
|
|
10
|
+
export async function s3(projectDir, options) {
|
|
11
|
+
const region = options.region ?? process.env.SPACE_REGION;
|
|
12
|
+
if (!region) {
|
|
13
|
+
throw new Error("SPACE_REGION is not defined in environment variables.");
|
|
14
|
+
}
|
|
15
|
+
const endpoint = options.endpoint ?? process.env.SPACE_END_POINT;
|
|
16
|
+
if (!endpoint) {
|
|
17
|
+
throw new Error("SPACE_END_POINT is not defined in environment variables.");
|
|
18
|
+
}
|
|
19
|
+
const accessKeyId = options.accessKeyId ?? process.env.SPACE_KEY;
|
|
20
|
+
if (!accessKeyId) {
|
|
21
|
+
throw new Error("SPACE_KEY is not defined in environment variables.");
|
|
22
|
+
}
|
|
23
|
+
const secretAccessKey = options.secretAccessKey ?? process.env.SPACE_SECRET;
|
|
24
|
+
if (!secretAccessKey) {
|
|
25
|
+
throw new Error("SPACE_SECRET is not defined in environment variables.");
|
|
26
|
+
}
|
|
27
|
+
const rootKey = options.rootKey ?? process.env.SPACE_ROOT_KEY;
|
|
28
|
+
if (!rootKey) {
|
|
29
|
+
throw new Error("SPACE_ROOT_KEY is not defined in environment variables and no rootKey option was provided.");
|
|
30
|
+
}
|
|
31
|
+
projectDir = getProjectDir(projectDir);
|
|
32
|
+
if (!options.noPack) {
|
|
33
|
+
await pack(projectDir, {
|
|
34
|
+
...options,
|
|
35
|
+
optimize: options.optimize ?? false,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const client = new S3Client({
|
|
39
|
+
region,
|
|
40
|
+
endpoint,
|
|
41
|
+
credentials: {
|
|
42
|
+
accessKeyId,
|
|
43
|
+
secretAccessKey,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
const sceneFolder = join(projectDir, "public/scene");
|
|
47
|
+
const files = await normalizedGlob(`${sceneFolder}/**/*.*`, {
|
|
48
|
+
nodir: true,
|
|
49
|
+
});
|
|
50
|
+
const promises = [];
|
|
51
|
+
const maxConnections = options.maxConnections ?? 10;
|
|
52
|
+
const assetsLog = ora("Uploading assets...");
|
|
53
|
+
assetsLog.spinner = cliSpinners.dots14;
|
|
54
|
+
assetsLog.start();
|
|
55
|
+
const step = 100 / files.length;
|
|
56
|
+
let currentStep = 0;
|
|
57
|
+
let errorsCount = 0;
|
|
58
|
+
let cache = {};
|
|
59
|
+
try {
|
|
60
|
+
cache = await fs.readJSON(join(projectDir, "assets/.s3-cache.json"));
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
// Catch silently.
|
|
64
|
+
}
|
|
65
|
+
function notifyStep() {
|
|
66
|
+
assetsLog.text = `Uploading assets... ${(currentStep += step).toFixed(2)}%`;
|
|
67
|
+
}
|
|
68
|
+
for (const file of files) {
|
|
69
|
+
if (promises.length >= maxConnections) {
|
|
70
|
+
await Promise.all(promises);
|
|
71
|
+
promises.splice(0, promises.length);
|
|
72
|
+
}
|
|
73
|
+
const relativeFilePath = file.replace(`${sceneFolder}/`, "");
|
|
74
|
+
const s3Key = join(rootKey, relativeFilePath);
|
|
75
|
+
// Upload
|
|
76
|
+
promises.push(new Promise(async (resolve) => {
|
|
77
|
+
// Check if already uploaded
|
|
78
|
+
const fileStat = await fs.stat(file);
|
|
79
|
+
let hash = fileStat.mtimeMs.toString();
|
|
80
|
+
if (cache[relativeFilePath] && cache[relativeFilePath] === hash) {
|
|
81
|
+
notifyStep();
|
|
82
|
+
return resolve();
|
|
83
|
+
}
|
|
84
|
+
const fileContent = await fs.readFile(file);
|
|
85
|
+
const extension = extname(relativeFilePath).toLowerCase();
|
|
86
|
+
if (extension === ".babylonbinarymeshdata" || extension === ".babylon") {
|
|
87
|
+
hash = await executeSimpleWorker("workers/md5.mjs", fileContent);
|
|
88
|
+
if (cache[relativeFilePath] && cache[relativeFilePath] === hash) {
|
|
89
|
+
notifyStep();
|
|
90
|
+
return resolve();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
await client.send(new PutObjectCommand({
|
|
95
|
+
Key: s3Key,
|
|
96
|
+
Body: fileContent,
|
|
97
|
+
Bucket: "babylonjs-editor",
|
|
98
|
+
ContentType: "application/octet-stream",
|
|
99
|
+
}));
|
|
100
|
+
options.onStepChanged?.("upload", {
|
|
101
|
+
message: `Successfully uploaded ${basename(file)}.`,
|
|
102
|
+
});
|
|
103
|
+
console.log(`${chalk.green("Successfully")} uploaded ${s3Key}.`);
|
|
104
|
+
cache[relativeFilePath] = hash;
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
errorsCount++;
|
|
108
|
+
console.error(`${chalk.red("Failed")} to upload ${s3Key} to S3 bucket`);
|
|
109
|
+
console.error(e);
|
|
110
|
+
}
|
|
111
|
+
notifyStep();
|
|
112
|
+
resolve();
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
await Promise.all(promises);
|
|
116
|
+
if (errorsCount > 0) {
|
|
117
|
+
assetsLog.fail(`Uploaded assets with ${errorsCount} errors.`);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
assetsLog.succeed("Uploaded all assets successfully.");
|
|
121
|
+
}
|
|
122
|
+
options.onStepChanged?.("upload", {
|
|
123
|
+
success: true,
|
|
124
|
+
message: "Uploaded all assets successfully.",
|
|
125
|
+
});
|
|
126
|
+
// Save cache
|
|
127
|
+
await fs.writeJSON(join(projectDir, "assets/.s3-cache.json"), cache, {
|
|
128
|
+
encoding: "utf-8",
|
|
129
|
+
spaces: "\t",
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=s3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.mjs","sourceRoot":"","sources":["../../../src/s3/s3.mts"],"names":[],"mappings":"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"}
|
package/build/src/tools/fs.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
1
2
|
import { glob } from "glob";
|
|
2
3
|
export async function normalizedGlob(...args) {
|
|
3
4
|
const result = await glob(...args);
|
|
@@ -6,4 +7,12 @@ export async function normalizedGlob(...args) {
|
|
|
6
7
|
});
|
|
7
8
|
return result;
|
|
8
9
|
}
|
|
10
|
+
export function getProjectDir(projectDir) {
|
|
11
|
+
const cwd = process.cwd();
|
|
12
|
+
if (projectDir !== cwd) {
|
|
13
|
+
projectDir = resolve(cwd, projectDir);
|
|
14
|
+
}
|
|
15
|
+
projectDir = projectDir.replace(/\\/g, "/");
|
|
16
|
+
return projectDir;
|
|
17
|
+
}
|
|
9
18
|
//# sourceMappingURL=fs.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.mjs","sourceRoot":"","sources":["../../../src/tools/fs.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAG,IAA6B;IACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,KAAa,EAAE,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAkB,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"fs.mjs","sourceRoot":"","sources":["../../../src/tools/fs.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAG,IAA6B;IACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAEnC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,KAAa,EAAE,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,OAAO,MAAkB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACxB,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE5C,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
package/build/src/tools/ktx.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
|
-
import { normalizedGlob } from "./fs.mjs";
|
|
3
2
|
import { join } from "node:path/posix";
|
|
3
|
+
import { normalizedGlob } from "./fs.mjs";
|
|
4
4
|
export let pvrTexToolAbsolutePath;
|
|
5
5
|
export function setPVRTexToolAbsolutePath(absolutePath) {
|
|
6
6
|
pvrTexToolAbsolutePath = absolutePath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx.mjs","sourceRoot":"","sources":["../../../src/tools/ktx.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ktx.mjs","sourceRoot":"","sources":["../../../src/tools/ktx.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,CAAC,IAAI,sBAA0C,CAAC;AAEtD,MAAM,UAAU,yBAAyB,CAAC,YAAoB;IAC7D,sBAAsB,GAAG,YAAY,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,sBAAsB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE/B,IAAI,mBAAmB,GAAkB,IAAI,CAAC;IAC9C,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ;YACZ,mBAAmB,GAAG,4BAA4B,CAAC;YACnD,MAAM;QACP,KAAK,OAAO;YACX,mBAAmB,GAAG,8BAA8B,CAAC;YACrD,MAAM;QACP;YACC,MAAM;IACR,CAAC;IAED,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE;QACnE,KAAK,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ;YACZ,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9F,KAAK,OAAO;YACX,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -4,12 +4,12 @@ import { Worker } from "node:worker_threads";
|
|
|
4
4
|
* Creates a new worker and returns its reference.
|
|
5
5
|
* @param path defines the relative path to the worker entry point relative to THIS file.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
7
|
+
export let loadWorker = (path, workerData) => {
|
|
8
8
|
path = join(import.meta.dirname.replace(/\\/g, "/"), path);
|
|
9
9
|
return new Worker(path, {
|
|
10
10
|
workerData,
|
|
11
11
|
});
|
|
12
|
-
}
|
|
12
|
+
};
|
|
13
13
|
/**
|
|
14
14
|
* Creates a new worker and returns the result computed by the worker.
|
|
15
15
|
* Posts the given message data to the worker and waits until the worker posts a message back.
|
|
@@ -18,7 +18,7 @@ export function loadWorker(path, workerData) {
|
|
|
18
18
|
* @param transfer defines the optional transferable objects to pass to the worker.
|
|
19
19
|
* @returns a promise that resolves with the data posted by the worker.
|
|
20
20
|
*/
|
|
21
|
-
export async
|
|
21
|
+
export let executeSimpleWorker = async (pathOrWorker, data) => {
|
|
22
22
|
const worker = loadWorker(pathOrWorker, data);
|
|
23
23
|
return new Promise((resolve) => {
|
|
24
24
|
worker.on("message", (result) => {
|
|
@@ -31,5 +31,9 @@ export async function executeSimpleWorker(pathOrWorker, data) {
|
|
|
31
31
|
resolve(result);
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
|
+
};
|
|
35
|
+
export function overrideWorkerMethods(newLoadWorker, newExecuteSimpleWorker) {
|
|
36
|
+
loadWorker = newLoadWorker;
|
|
37
|
+
executeSimpleWorker = newExecuteSimpleWorker;
|
|
34
38
|
}
|
|
35
39
|
//# sourceMappingURL=worker.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.mjs","sourceRoot":"","sources":["../../../src/tools/worker.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"worker.mjs","sourceRoot":"","sources":["../../../src/tools/worker.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,IAAI,UAAU,GAAG,CAAC,IAAY,EAAE,UAA8B,EAAE,EAAE;IACxE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE;QACvB,UAAU;KACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAIF;;;;;;;GAOG;AACH,MAAM,CAAC,IAAI,mBAAmB,GAAG,KAAK,EAAM,YAAoB,EAAE,IAAuB,EAAE,EAAE;IAC5F,MAAM,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAE9C,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QACjC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,IAAI,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;gBACtC,OAAO;YACR,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACrB,MAAM,CAAC,SAAS,EAAE,CAAC;YACpB,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,aAAkB,EAAE,sBAA2B;IACpF,UAAU,GAAG,aAAa,CAAC;IAC3B,mBAAmB,GAAG,sBAAsB,CAAC;AAC9C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IPackStepDetails, PackStepType } from "../pack.mjs";
|
|
1
2
|
export interface ICreateAssetsOptions {
|
|
2
3
|
projectDir: string;
|
|
3
4
|
publicDir: string;
|
|
@@ -7,5 +8,6 @@ export interface ICreateAssetsOptions {
|
|
|
7
8
|
exportedAssets: string[];
|
|
8
9
|
cache: Record<string, string>;
|
|
9
10
|
compressedTexturesEnabled: boolean;
|
|
11
|
+
onStepChanged?: (step: PackStepType, detail?: IPackStepDetails) => void;
|
|
10
12
|
}
|
|
11
13
|
export declare function createAssets(options: ICreateAssetsOptions): Promise<void>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { IProcessAssetFileOptions } from "./process.mjs";
|
|
1
2
|
export declare function getExtractedTextureOutputPath(publicDir: string): string;
|
|
2
|
-
export interface IComputeExportedTextureOptions {
|
|
3
|
+
export interface IComputeExportedTextureOptions extends IProcessAssetFileOptions {
|
|
3
4
|
force: boolean;
|
|
4
5
|
exportedAssets: string[];
|
|
5
6
|
compressedTexturesEnabled: boolean;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
export type PackStepType = "assets" | "scenes" | "upload";
|
|
2
|
+
export interface IPackStepDetails {
|
|
3
|
+
message?: string;
|
|
4
|
+
success?: boolean;
|
|
5
|
+
}
|
|
1
6
|
export interface IPackOptions {
|
|
2
7
|
optimize: boolean;
|
|
3
8
|
pvrTexToolAbsolutePath?: string;
|
|
9
|
+
onStepChanged?: (step: PackStepType, detail?: IPackStepDetails) => void;
|
|
4
10
|
}
|
|
5
11
|
export declare function pack(projectDir: string, options: IPackOptions): Promise<void>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IPackOptions } from "../pack/pack.mjs";
|
|
2
|
+
export interface IS3Options extends Partial<IPackOptions> {
|
|
3
|
+
noPack?: boolean;
|
|
4
|
+
maxConnections?: number;
|
|
5
|
+
region?: string;
|
|
6
|
+
endpoint?: string;
|
|
7
|
+
accessKeyId?: string;
|
|
8
|
+
secretAccessKey?: string;
|
|
9
|
+
rootKey?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function s3(projectDir: string, options: IS3Options): Promise<void>;
|
|
@@ -3,7 +3,7 @@ import { Worker } from "node:worker_threads";
|
|
|
3
3
|
* Creates a new worker and returns its reference.
|
|
4
4
|
* @param path defines the relative path to the worker entry point relative to THIS file.
|
|
5
5
|
*/
|
|
6
|
-
export declare
|
|
6
|
+
export declare let loadWorker: (path: string, workerData?: WorkerMessageData) => Worker;
|
|
7
7
|
export type WorkerMessageData = {
|
|
8
8
|
id?: string;
|
|
9
9
|
} & Record<string, any>;
|
|
@@ -15,4 +15,5 @@ export type WorkerMessageData = {
|
|
|
15
15
|
* @param transfer defines the optional transferable objects to pass to the worker.
|
|
16
16
|
* @returns a promise that resolves with the data posted by the worker.
|
|
17
17
|
*/
|
|
18
|
-
export declare
|
|
18
|
+
export declare let executeSimpleWorker: <T>(pathOrWorker: string, data: WorkerMessageData) => Promise<T>;
|
|
19
|
+
export declare function overrideWorkerMethods(newLoadWorker: any, newExecuteSimpleWorker: any): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor-cli",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.2",
|
|
4
4
|
"description": "Babylon.js Editor CLI is a command line interface to help you package your scenes made using the Babylon.js Editor",
|
|
5
5
|
"productName": "Babylon.js Editor CLI",
|
|
6
6
|
"scripts": {
|
|
@@ -21,14 +21,16 @@
|
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {},
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@aws-sdk/client-s3": "3.975.0",
|
|
24
25
|
"chalk": "5.6.2",
|
|
25
26
|
"cli-spinners": "3.4.0",
|
|
26
27
|
"commander": "14.0.2",
|
|
27
28
|
"dotenv": "17.2.3",
|
|
28
29
|
"fs-extra": "11.2.0",
|
|
29
30
|
"glob": "11.1.0",
|
|
30
|
-
"
|
|
31
|
+
"md5": "2.3.0",
|
|
31
32
|
"ora": "9.1.0",
|
|
33
|
+
"pngjs": "7.0.0",
|
|
32
34
|
"sharp": "0.34.3"
|
|
33
35
|
}
|
|
34
36
|
}
|