sb-edit-custom 0.20.26 → 0.20.28

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 (2) hide show
  1. package/lib/models/game.js +51 -3
  2. package/package.json +1 -1
@@ -12,12 +12,60 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.generateIndexJS = void 0;
14
14
  var toLeopard_1 = require("../io/leopard/toLeopard");
15
+ // export function generateIndexJS(game: GameModel): string {
16
+ // const toLeopardJS = getPathsToRelativeOrAbsolute(defaultOptions.leopardJSURL);
17
+ // return `
18
+ // import { Sprite, Trigger, Watcher, Costume, Color, Sound, Project } from ${JSON.stringify(toLeopardJS({ from: "index" }))};
19
+ // export const CostumeScale = ${game.costumeScale}; // Adjust this value to scale costumes
20
+ // ${[game.stage, ...Object.values(game.sprites)]
21
+ // .map(
22
+ // target =>
23
+ // `import ${target.name} from ${JSON.stringify(defaultOptions.getTargetURL({ name: target.name, from: "index" }))};`
24
+ // )
25
+ // .join("\n")}
26
+ // const stage = new Stage(${JSON.stringify({ costumeNumber: game.stage.costumeNumber + 1, width: game.stage.width, height: game.stage.height })});
27
+ // const sprites = {
28
+ // ${Object.values(game.sprites)
29
+ // .map(
30
+ // sprite =>
31
+ // `${sprite.name}: new ${sprite.name}({${Object.entries({
32
+ // x: sprite.x,
33
+ // y: sprite.y,
34
+ // direction: sprite.direction,
35
+ // rotationStyle: `Sprite.RotationStyle.${{
36
+ // normal: "ALL_AROUND",
37
+ // leftRight: "LEFT_RIGHT",
38
+ // none: "DONT_ROTATE"
39
+ // }[sprite.rotationStyle!]
40
+ // }`,
41
+ // costumeNumber: sprite.costumeNumber + 1,
42
+ // size: sprite.size,
43
+ // visible: sprite.visible,
44
+ // layerOrder: sprite.layerOrder
45
+ // })
46
+ // .map(([key, value]) => `${key}:${value!.toString()}`)
47
+ // .join(",")}})`
48
+ // )
49
+ // .join(",\n")}
50
+ // };
51
+ // const project = new Project(stage, sprites, {
52
+ // frameRate: 30 // Set to 60 to make your project run faster
53
+ // });
54
+ // project.attach('#project');
55
+ // document.querySelector('#greenFlag').addEventListener('click', () => {
56
+ // project.greenFlag();
57
+ // });
58
+ // // Autoplay
59
+ // project.greenFlag();
60
+ // export default project;
61
+ // `;
62
+ // }
15
63
  function generateIndexJS(game) {
16
64
  var toLeopardJS = (0, toLeopard_1.getPathsToRelativeOrAbsolute)(toLeopard_1.defaultOptions.leopardJSURL);
17
65
  return "\n import { Sprite, Trigger, Watcher, Costume, Color, Sound, Project } from ".concat(JSON.stringify(toLeopardJS({ from: "index" })), ";\n\n export const CostumeScale = ").concat(game.costumeScale, "; // Adjust this value to scale costumes\n\n ").concat(__spreadArray([game.stage], Object.values(game.sprites), true).map(function (target) {
18
66
  return "import ".concat(target.name, " from ").concat(JSON.stringify(toLeopard_1.defaultOptions.getTargetURL({ name: target.name, from: "index" })), ";");
19
67
  })
20
- .join("\n"), "\n\n const stage = new Stage(").concat(JSON.stringify({ costumeNumber: game.stage.costumeNumber + 1, width: game.stage.width, height: game.stage.height }), ");\n\n const sprites = {\n ").concat(Object.values(game.sprites)
68
+ .join("\n"), "\n\n // Wrap initialization in an async function to avoid temporal dead zone issues\n async function initProject() {\n try {\n const stage = new Stage(").concat(JSON.stringify({ costumeNumber: game.stage.costumeNumber + 1, width: game.stage.width, height: game.stage.height }), ");\n\n const sprites = {\n ").concat(Object.values(game.sprites)
21
69
  .map(function (sprite) {
22
70
  return "".concat(sprite.name, ": new ").concat(sprite.name, "({").concat(Object.entries({
23
71
  x: sprite.x,
@@ -39,7 +87,7 @@ function generateIndexJS(game) {
39
87
  })
40
88
  .join(","), "})");
41
89
  })
42
- .join(",\n"), "\n };\n\n const project = new Project(stage, sprites, {\n frameRate: 30 // Set to 60 to make your project run faster\n });\n\n project.attach('#project');\n\n document.querySelector('#greenFlag').addEventListener('click', () => {\n project.greenFlag();\n });\n\n // Autoplay\n project.greenFlag();\n\n export default project;\n ");
90
+ .join(",\n"), "\n };\n\n const project = new Project(stage, sprites, {\n frameRate: 30 // Set to 60 to make your project run faster\n });\n\n project.attach('#project');\n\n document.querySelector('#greenFlag')?.addEventListener('click', () => {\n project.greenFlag();\n });\n\n // Autoplay\n project.greenFlag();\n\n // Export for external access\n window.project = project;\n return project;\n } catch (error) {\n console.error('Error initializing Scratch project:', error);\n throw error;\n }\n }\n\n // Initialize when DOM is ready\n let project;\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', async () => {\n project = await initProject();\n });\n } else {\n initProject().then(p => { project = p; });\n }\n\n export default project;\n ");
43
91
  }
44
92
  exports.generateIndexJS = generateIndexJS;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvZ2FtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDOzs7Ozs7Ozs7Ozs7QUFFL0MscURBQXVGO0FBVXZGLFNBQWdCLGVBQWUsQ0FBQyxJQUFlO0lBQzdDLElBQU0sV0FBVyxHQUFHLElBQUEsd0NBQTRCLEVBQUMsMEJBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU5RSxPQUFPLHlGQUNzRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLGtEQUUzRixJQUFJLENBQUMsWUFBWSw2REFFN0MsZUFBQyxJQUFJLENBQUMsS0FBSyxHQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUMxQyxHQUFHLENBQ0YsVUFBQSxNQUFNO1FBQ0osT0FBQSxpQkFBVSxNQUFNLENBQUMsSUFBSSxtQkFBUyxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBRztJQUFsSCxDQUFrSCxDQUNySDtTQUNBLElBQUksQ0FBQyxJQUFJLENBQUMsNkNBRWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLGdEQUd6SSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDNUIsR0FBRyxDQUNGLFVBQUEsTUFBTTtRQUNKLE9BQUEsVUFBRyxNQUFNLENBQUMsSUFBSSxtQkFBUyxNQUFNLENBQUMsSUFBSSxlQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDcEQsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ1gsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1lBQzNCLGFBQWEsRUFBRSwrQkFBd0I7Z0JBQ3JDLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixTQUFTLEVBQUUsWUFBWTtnQkFDdkIsSUFBSSxFQUFFLGFBQWE7YUFDcEIsQ0FBQyxNQUFNLENBQUMsYUFBYyxDQUFDLENBQ3BCO1lBQ0osYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLEdBQUcsQ0FBQztZQUN2QyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO1lBQ3ZCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM5QixDQUFDO2FBQ0MsR0FBRyxDQUFDLFVBQUMsRUFBWTtnQkFBWCxHQUFHLFFBQUEsRUFBRSxLQUFLLFFBQUE7WUFBTSxPQUFBLFVBQUcsR0FBRyxjQUFJLEtBQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBRTtRQUE3QixDQUE2QixDQUFDO2FBQ3BELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBSTtJQWhCaEIsQ0FnQmdCLENBQ25CO1NBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxtWEFpQmYsQ0FBQztBQUNKLENBQUM7QUF6REQsMENBeURDIn0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvZ2FtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0NBQStDOzs7Ozs7Ozs7Ozs7QUFFL0MscURBQXVGO0FBVXZGLDZEQUE2RDtBQUM3RCxtRkFBbUY7QUFFbkYsYUFBYTtBQUNiLGtJQUFrSTtBQUVsSSwrRkFBK0Y7QUFFL0YscURBQXFEO0FBQ3JELGNBQWM7QUFDZCxvQkFBb0I7QUFDcEIsK0hBQStIO0FBQy9ILFVBQVU7QUFDVixxQkFBcUI7QUFFckIsdUpBQXVKO0FBRXZKLHdCQUF3QjtBQUN4QixzQ0FBc0M7QUFDdEMsY0FBYztBQUNkLG9CQUFvQjtBQUNwQixvRUFBb0U7QUFDcEUsMkJBQTJCO0FBQzNCLDJCQUEyQjtBQUMzQiwyQ0FBMkM7QUFDM0MsdURBQXVEO0FBQ3ZELHNDQUFzQztBQUN0Qyx5Q0FBeUM7QUFDekMsb0NBQW9DO0FBQ3BDLHVDQUF1QztBQUN2QyxvQkFBb0I7QUFDcEIsdURBQXVEO0FBQ3ZELGlDQUFpQztBQUNqQyx1Q0FBdUM7QUFDdkMsNENBQTRDO0FBQzVDLGVBQWU7QUFDZixvRUFBb0U7QUFDcEUsNkJBQTZCO0FBQzdCLFVBQVU7QUFDVixzQkFBc0I7QUFDdEIsU0FBUztBQUVULG9EQUFvRDtBQUNwRCxtRUFBbUU7QUFDbkUsVUFBVTtBQUVWLGtDQUFrQztBQUVsQyw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLFVBQVU7QUFFVixrQkFBa0I7QUFDbEIsMkJBQTJCO0FBRTNCLDhCQUE4QjtBQUM5QixPQUFPO0FBQ1AsSUFBSTtBQUlKLFNBQWdCLGVBQWUsQ0FBQyxJQUFlO0lBQzdDLElBQU0sV0FBVyxHQUFHLElBQUEsd0NBQTRCLEVBQUMsMEJBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUU5RSxPQUFPLHlGQUNzRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLGtEQUUzRixJQUFJLENBQUMsWUFBWSw2REFFN0MsZUFBQyxJQUFJLENBQUMsS0FBSyxHQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUMxQyxHQUFHLENBQ0YsVUFBQSxNQUFNO1FBQ0osT0FBQSxpQkFBVSxNQUFNLENBQUMsSUFBSSxtQkFBUyxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUFjLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBRztJQUFsSCxDQUFrSCxDQUNySDtTQUNBLElBQUksQ0FBQyxJQUFJLENBQUMsc0xBS2lCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyx3REFHekksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ2hDLEdBQUcsQ0FDRixVQUFBLE1BQU07UUFDSixPQUFBLFVBQUcsTUFBTSxDQUFDLElBQUksbUJBQVMsTUFBTSxDQUFDLElBQUksZUFBSyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3BELENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNYLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNYLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixhQUFhLEVBQUUsK0JBQXdCO2dCQUNyQyxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLElBQUksRUFBRSxhQUFhO2FBQ3BCLENBQUMsTUFBTSxDQUFDLGFBQWMsQ0FBQyxDQUNwQjtZQUNKLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxHQUFHLENBQUM7WUFDdkMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ2pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7U0FDOUIsQ0FBQzthQUNDLEdBQUcsQ0FBQyxVQUFDLEVBQVk7Z0JBQVgsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO1lBQU0sT0FBQSxVQUFHLEdBQUcsY0FBSSxLQUFNLENBQUMsUUFBUSxFQUFFLENBQUU7UUFBN0IsQ0FBNkIsQ0FBQzthQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQUk7SUFoQmhCLENBZ0JnQixDQUNuQjtTQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsMDZCQW9DZixDQUFDO0FBQ0osQ0FBQztBQS9FRCwwQ0ErRUMifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sb-edit-custom",
3
- "version": "0.20.26",
3
+ "version": "0.20.28",
4
4
  "description": "Import, edit, and export Scratch project files",
5
5
  "keywords": [
6
6
  "Scratch",