@playcademy/sandbox 0.12.1-beta.1 → 0.12.1

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.
Files changed (3) hide show
  1. package/dist/cli.js +17 -15
  2. package/dist/server.js +17 -15
  3. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -2517,7 +2517,7 @@ var package_default;
2517
2517
  var init_package = __esm(() => {
2518
2518
  package_default = {
2519
2519
  name: "@playcademy/sandbox",
2520
- version: "0.12.1-beta.1",
2520
+ version: "0.12.1",
2521
2521
  description: "Local development server for Playcademy game development",
2522
2522
  type: "module",
2523
2523
  exports: {
@@ -31883,22 +31883,24 @@ async function extractZipToDirectory(zipBuffer, targetDir) {
31883
31883
  try {
31884
31884
  const zip = await import_jszip.default.loadAsync(zipBuffer);
31885
31885
  await mkdir(targetDir, { recursive: true });
31886
- const extractPromises = [];
31887
- zip.forEach((relativePath, zipEntry) => {
31888
- if (zipEntry.dir) {
31889
- const dirPath = join2(targetDir, relativePath);
31890
- extractPromises.push(mkdir(dirPath, { recursive: true }).then(() => {}));
31891
- } else {
31886
+ const entries = Object.entries(zip.files);
31887
+ const batchSize = 32;
31888
+ for (let offset = 0;offset < entries.length; offset += batchSize) {
31889
+ const results = await Promise.allSettled(entries.slice(offset, offset + batchSize).map(async ([relativePath, zipEntry]) => {
31892
31890
  const filePath = join2(targetDir, relativePath);
31893
- const promise = zipEntry.async("uint8array").then(async (content) => {
31894
- const parentDir = join2(filePath, "..");
31895
- await mkdir(parentDir, { recursive: true });
31896
- await writeFile(filePath, content);
31897
- });
31898
- extractPromises.push(promise);
31891
+ if (zipEntry.dir) {
31892
+ await mkdir(filePath, { recursive: true });
31893
+ return;
31894
+ }
31895
+ const content = await zipEntry.async("uint8array");
31896
+ await mkdir(join2(filePath, ".."), { recursive: true });
31897
+ await writeFile(filePath, content);
31898
+ }));
31899
+ const failure = results.find((result) => result.status === "rejected");
31900
+ if (failure) {
31901
+ throw failure.reason;
31899
31902
  }
31900
- });
31901
- await Promise.all(extractPromises);
31903
+ }
31902
31904
  log.debug("[utils/zip] Extracted ZIP to directory", {
31903
31905
  targetDir,
31904
31906
  fileCount: Object.keys(zip.files).length
package/dist/server.js CHANGED
@@ -697,7 +697,7 @@ var package_default;
697
697
  var init_package = __esm(() => {
698
698
  package_default = {
699
699
  name: "@playcademy/sandbox",
700
- version: "0.12.1-beta.1",
700
+ version: "0.12.1",
701
701
  description: "Local development server for Playcademy game development",
702
702
  type: "module",
703
703
  exports: {
@@ -30063,22 +30063,24 @@ async function extractZipToDirectory(zipBuffer, targetDir) {
30063
30063
  try {
30064
30064
  const zip = await import_jszip.default.loadAsync(zipBuffer);
30065
30065
  await mkdir(targetDir, { recursive: true });
30066
- const extractPromises = [];
30067
- zip.forEach((relativePath, zipEntry) => {
30068
- if (zipEntry.dir) {
30069
- const dirPath = join2(targetDir, relativePath);
30070
- extractPromises.push(mkdir(dirPath, { recursive: true }).then(() => {}));
30071
- } else {
30066
+ const entries = Object.entries(zip.files);
30067
+ const batchSize = 32;
30068
+ for (let offset = 0;offset < entries.length; offset += batchSize) {
30069
+ const results = await Promise.allSettled(entries.slice(offset, offset + batchSize).map(async ([relativePath, zipEntry]) => {
30072
30070
  const filePath = join2(targetDir, relativePath);
30073
- const promise = zipEntry.async("uint8array").then(async (content) => {
30074
- const parentDir = join2(filePath, "..");
30075
- await mkdir(parentDir, { recursive: true });
30076
- await writeFile(filePath, content);
30077
- });
30078
- extractPromises.push(promise);
30071
+ if (zipEntry.dir) {
30072
+ await mkdir(filePath, { recursive: true });
30073
+ return;
30074
+ }
30075
+ const content = await zipEntry.async("uint8array");
30076
+ await mkdir(join2(filePath, ".."), { recursive: true });
30077
+ await writeFile(filePath, content);
30078
+ }));
30079
+ const failure = results.find((result) => result.status === "rejected");
30080
+ if (failure) {
30081
+ throw failure.reason;
30079
30082
  }
30080
- });
30081
- await Promise.all(extractPromises);
30083
+ }
30082
30084
  log.debug("[utils/zip] Extracted ZIP to directory", {
30083
30085
  targetDir,
30084
30086
  fileCount: Object.keys(zip.files).length
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@playcademy/sandbox",
3
- "version": "0.12.1-beta.1",
3
+ "version": "0.12.1",
4
4
  "description": "Local development server for Playcademy game development",
5
5
  "type": "module",
6
6
  "exports": {