From e5412fdbb9afa3e2bc98986c6e288e891007c9fa Mon Sep 17 00:00:00 2001 From: ponderingdemocritus Date: Wed, 10 Jan 2024 14:45:02 +1100 Subject: [PATCH] ci --- package.json | 2 +- packages/create-dojo/bin/index.js | 2 +- packages/create-dojo/bin/index.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 67c1abb9..b6fdc8fc 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "build-state": "bun run --cwd packages/state build", "build-phaser": "bun run --cwd examples/react-phaser-example build", "build-watch": "bun run build-core --watch & bun run build-create-burner --watch & bun run build-create-dojo --watch & bun run build-utils --watch & bun run build-react --watch & bun run build-torii-wasm --watch & bun run build-torii-client --watch & bun run build-state --watch", - "build": "bun run build-core && bun run build-create-burner && bun run build-create-dojo && bun run build-utils && bun run build-torii-wasm && bun run build-torii-client && bun run build-react && bun run build-state", + "build": "bun run build-torii-wasm && bun run build-torii-client && bun run build-state && bun run build-core && bun run build-create-burner && bun run build-create-dojo && bun run build-utils && bun run build-react", "clean": "rm -rf node_modules packages/create-burner/node_modules node_modules packages/create-dojo/node_modules packages/core/node_modules packages/utils/node_modules packages/torii-client/node_modules packages/torii-wasm/node_modules packages/react/node_modules bun.lockb packages/create-burner/bun.lockb packages/core/bun.lockb packages/utils/bun.lockb packages/torii-client/bun.lockb packages/torii-wasm/bun.lockb packages/react/bun.lockb && rm -rf examples/react/react-app/node_modules examples/react/react-app/bun.lockb examples/react/react-phaser-example/node_modules examples/react/react-phaser-example/bun.lockb", "prettier-check": "bun x prettier --check .", "prettier": "bun x prettier --write .", diff --git a/packages/create-dojo/bin/index.js b/packages/create-dojo/bin/index.js index 65a91b46..a67fc657 100755 --- a/packages/create-dojo/bin/index.js +++ b/packages/create-dojo/bin/index.js @@ -23,7 +23,7 @@ async function run() { console.log(`Downloading ${template}...`); spawn.sync("npx", [ "degit", - `dojoengine/dojo.js/examples/${template}`, + `dojoengine/dojo.js/examples/react/${template}`, `${projectName}` ]); await rewritePackageJson(projectName); diff --git a/packages/create-dojo/bin/index.js.map b/packages/create-dojo/bin/index.js.map index 4db620cf..17bc9728 100644 --- a/packages/create-dojo/bin/index.js.map +++ b/packages/create-dojo/bin/index.js.map @@ -1 +1 @@ -{"version":3,"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport https from \"https\";\nimport spawn from \"cross-spawn\";\nimport path from \"path\";\nimport * as fs from \"fs\";\n\nimport { input, select } from \"@inquirer/prompts\";\n\nconst templates = [\n {\n value: \"react-app\",\n description: \"React app using Dojo\",\n },\n {\n value: \"react-phaser-example\",\n description: \"React/Phaser app using Dojo\",\n },\n];\n\nrun();\n\nasync function run() {\n try {\n const { template, projectName } = await prompt();\n\n // clone template using degit into projectName directory\n console.log(`Downloading ${template}...`);\n spawn.sync(\"npx\", [\n \"degit\",\n `dojoengine/dojo.js/examples/${template}`,\n `${projectName}`,\n ]);\n\n // rewrite package.json\n await rewritePackageJson(projectName);\n\n // clone dojo-starter\n console.log(`Downloading dojo-starter...`);\n spawn.sync(\"npx\", [\"degit\", `dojoengine/dojo-starter`, `dojo-starter`]);\n } catch (e: any) {\n console.log(e);\n }\n}\n\nasync function rewritePackageJson(projectName: string) {\n const packageJsonPath = path.join(\n process.cwd(),\n projectName,\n \"package.json\"\n );\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\"));\n const latestVersion = await getLatestVersion();\n\n // rename using projectName\n packageJson.name = projectName;\n\n // rewrite all link:dojo-packages/packages/... with latest version\n for (let dep of Object.keys(packageJson.dependencies)) {\n if (\n dep.startsWith(\"@dojoengine\") &&\n packageJson.dependencies[dep].startsWith(\"link:\")\n ) {\n packageJson.dependencies[dep] = latestVersion;\n }\n }\n\n fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));\n}\n\nasync function prompt(): Promise<{ template: string; projectName: string }> {\n const template = await select({\n message: \"Select a template\",\n choices: templates,\n });\n\n const projectName = await input({\n message: \"Project name \",\n validate: (input: string) => {\n if (/^([A-Za-z\\-\\_\\d])+$/.test(input)) return true;\n else\n return \"Project name may only include letters, numbers, underscores and hashes.\";\n },\n default: template,\n });\n\n return { template, projectName };\n}\n\nasync function getLatestVersion(): Promise {\n return new Promise((resolve, reject) => {\n https\n .get(\n \"https://registry.npmjs.org/-/package/@dojoengine/core/dist-tags\",\n (res) => {\n if (res.statusCode === 200) {\n let body = \"\";\n res.on(\"data\", (data) => (body += data));\n res.on(\"end\", () => {\n resolve(JSON.parse(body).latest);\n });\n } else {\n reject();\n }\n }\n )\n .on(\"error\", () => {\n reject();\n });\n });\n}\n"],"mappings":";;;AAEA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,YAAY,QAAQ;AAEpB,SAAS,OAAO,cAAc;AAE9B,IAAM,YAAY;AAAA,EACd;AAAA,IACI,OAAO;AAAA,IACP,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,IACI,OAAO;AAAA,IACP,aAAa;AAAA,EACjB;AACJ;AAEA,IAAI;AAEJ,eAAe,MAAM;AACjB,MAAI;AACA,UAAM,EAAE,UAAU,YAAY,IAAI,MAAM,OAAO;AAG/C,YAAQ,IAAI,eAAe,QAAQ,KAAK;AACxC,UAAM,KAAK,OAAO;AAAA,MACd;AAAA,MACA,+BAA+B,QAAQ;AAAA,MACvC,GAAG,WAAW;AAAA,IAClB,CAAC;AAGD,UAAM,mBAAmB,WAAW;AAGpC,YAAQ,IAAI,6BAA6B;AACzC,UAAM,KAAK,OAAO,CAAC,SAAS,2BAA2B,cAAc,CAAC;AAAA,EAC1E,SAAS,GAAQ;AACb,YAAQ,IAAI,CAAC;AAAA,EACjB;AACJ;AAEA,eAAe,mBAAmB,aAAqB;AACnD,QAAM,kBAAkB,KAAK;AAAA,IACzB,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACJ;AACA,QAAM,cAAc,KAAK,MAAS,gBAAa,iBAAiB,OAAO,CAAC;AACxE,QAAM,gBAAgB,MAAM,iBAAiB;AAG7C,cAAY,OAAO;AAGnB,WAAS,OAAO,OAAO,KAAK,YAAY,YAAY,GAAG;AACnD,QACI,IAAI,WAAW,aAAa,KAC5B,YAAY,aAAa,GAAG,EAAE,WAAW,OAAO,GAClD;AACE,kBAAY,aAAa,GAAG,IAAI;AAAA,IACpC;AAAA,EACJ;AAEA,EAAG,iBAAc,iBAAiB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAC1E;AAEA,eAAe,SAA6D;AACxE,QAAM,WAAW,MAAM,OAAO;AAAA,IAC1B,SAAS;AAAA,IACT,SAAS;AAAA,EACb,CAAC;AAED,QAAM,cAAc,MAAM,MAAM;AAAA,IAC5B,SAAS;AAAA,IACT,UAAU,CAACA,WAAkB;AACzB,UAAI,sBAAsB,KAAKA,MAAK;AAAG,eAAO;AAAA;AAE1C,eAAO;AAAA,IACf;AAAA,IACA,SAAS;AAAA,EACb,CAAC;AAED,SAAO,EAAE,UAAU,YAAY;AACnC;AAEA,eAAe,mBAAoC;AAC/C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,UACK;AAAA,MACG;AAAA,MACA,CAAC,QAAQ;AACL,YAAI,IAAI,eAAe,KAAK;AACxB,cAAI,OAAO;AACX,cAAI,GAAG,QAAQ,CAAC,SAAU,QAAQ,IAAK;AACvC,cAAI,GAAG,OAAO,MAAM;AAChB,oBAAQ,KAAK,MAAM,IAAI,EAAE,MAAM;AAAA,UACnC,CAAC;AAAA,QACL,OAAO;AACH,iBAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ,EACC,GAAG,SAAS,MAAM;AACf,aAAO;AAAA,IACX,CAAC;AAAA,EACT,CAAC;AACL;","names":["input"]} \ No newline at end of file +{"version":3,"sources":["../src/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport https from \"https\";\nimport spawn from \"cross-spawn\";\nimport path from \"path\";\nimport * as fs from \"fs\";\n\nimport { input, select } from \"@inquirer/prompts\";\n\nconst templates = [\n {\n value: \"react-app\",\n description: \"React app using Dojo\",\n },\n {\n value: \"react-phaser-example\",\n description: \"React/Phaser app using Dojo\",\n },\n];\n\nrun();\n\nasync function run() {\n try {\n const { template, projectName } = await prompt();\n\n // clone template using degit into projectName directory\n console.log(`Downloading ${template}...`);\n spawn.sync(\"npx\", [\n \"degit\",\n `dojoengine/dojo.js/examples/react/${template}`,\n `${projectName}`,\n ]);\n\n // rewrite package.json\n await rewritePackageJson(projectName);\n\n // clone dojo-starter\n console.log(`Downloading dojo-starter...`);\n spawn.sync(\"npx\", [\"degit\", `dojoengine/dojo-starter`, `dojo-starter`]);\n } catch (e: any) {\n console.log(e);\n }\n}\n\nasync function rewritePackageJson(projectName: string) {\n const packageJsonPath = path.join(\n process.cwd(),\n projectName,\n \"package.json\"\n );\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf-8\"));\n const latestVersion = await getLatestVersion();\n\n // rename using projectName\n packageJson.name = projectName;\n\n // rewrite all link:dojo-packages/packages/... with latest version\n for (let dep of Object.keys(packageJson.dependencies)) {\n if (\n dep.startsWith(\"@dojoengine\") &&\n packageJson.dependencies[dep].startsWith(\"link:\")\n ) {\n packageJson.dependencies[dep] = latestVersion;\n }\n }\n\n fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));\n}\n\nasync function prompt(): Promise<{ template: string; projectName: string }> {\n const template = await select({\n message: \"Select a template\",\n choices: templates,\n });\n\n const projectName = await input({\n message: \"Project name \",\n validate: (input: string) => {\n if (/^([A-Za-z\\-\\_\\d])+$/.test(input)) return true;\n else\n return \"Project name may only include letters, numbers, underscores and hashes.\";\n },\n default: template,\n });\n\n return { template, projectName };\n}\n\nasync function getLatestVersion(): Promise {\n return new Promise((resolve, reject) => {\n https\n .get(\n \"https://registry.npmjs.org/-/package/@dojoengine/core/dist-tags\",\n (res) => {\n if (res.statusCode === 200) {\n let body = \"\";\n res.on(\"data\", (data) => (body += data));\n res.on(\"end\", () => {\n resolve(JSON.parse(body).latest);\n });\n } else {\n reject();\n }\n }\n )\n .on(\"error\", () => {\n reject();\n });\n });\n}\n"],"mappings":";;;AAEA,OAAO,WAAW;AAClB,OAAO,WAAW;AAClB,OAAO,UAAU;AACjB,YAAY,QAAQ;AAEpB,SAAS,OAAO,cAAc;AAE9B,IAAM,YAAY;AAAA,EACd;AAAA,IACI,OAAO;AAAA,IACP,aAAa;AAAA,EACjB;AAAA,EACA;AAAA,IACI,OAAO;AAAA,IACP,aAAa;AAAA,EACjB;AACJ;AAEA,IAAI;AAEJ,eAAe,MAAM;AACjB,MAAI;AACA,UAAM,EAAE,UAAU,YAAY,IAAI,MAAM,OAAO;AAG/C,YAAQ,IAAI,eAAe,QAAQ,KAAK;AACxC,UAAM,KAAK,OAAO;AAAA,MACd;AAAA,MACA,qCAAqC,QAAQ;AAAA,MAC7C,GAAG,WAAW;AAAA,IAClB,CAAC;AAGD,UAAM,mBAAmB,WAAW;AAGpC,YAAQ,IAAI,6BAA6B;AACzC,UAAM,KAAK,OAAO,CAAC,SAAS,2BAA2B,cAAc,CAAC;AAAA,EAC1E,SAAS,GAAQ;AACb,YAAQ,IAAI,CAAC;AAAA,EACjB;AACJ;AAEA,eAAe,mBAAmB,aAAqB;AACnD,QAAM,kBAAkB,KAAK;AAAA,IACzB,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACJ;AACA,QAAM,cAAc,KAAK,MAAS,gBAAa,iBAAiB,OAAO,CAAC;AACxE,QAAM,gBAAgB,MAAM,iBAAiB;AAG7C,cAAY,OAAO;AAGnB,WAAS,OAAO,OAAO,KAAK,YAAY,YAAY,GAAG;AACnD,QACI,IAAI,WAAW,aAAa,KAC5B,YAAY,aAAa,GAAG,EAAE,WAAW,OAAO,GAClD;AACE,kBAAY,aAAa,GAAG,IAAI;AAAA,IACpC;AAAA,EACJ;AAEA,EAAG,iBAAc,iBAAiB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAC1E;AAEA,eAAe,SAA6D;AACxE,QAAM,WAAW,MAAM,OAAO;AAAA,IAC1B,SAAS;AAAA,IACT,SAAS;AAAA,EACb,CAAC;AAED,QAAM,cAAc,MAAM,MAAM;AAAA,IAC5B,SAAS;AAAA,IACT,UAAU,CAACA,WAAkB;AACzB,UAAI,sBAAsB,KAAKA,MAAK;AAAG,eAAO;AAAA;AAE1C,eAAO;AAAA,IACf;AAAA,IACA,SAAS;AAAA,EACb,CAAC;AAED,SAAO,EAAE,UAAU,YAAY;AACnC;AAEA,eAAe,mBAAoC;AAC/C,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,UACK;AAAA,MACG;AAAA,MACA,CAAC,QAAQ;AACL,YAAI,IAAI,eAAe,KAAK;AACxB,cAAI,OAAO;AACX,cAAI,GAAG,QAAQ,CAAC,SAAU,QAAQ,IAAK;AACvC,cAAI,GAAG,OAAO,MAAM;AAChB,oBAAQ,KAAK,MAAM,IAAI,EAAE,MAAM;AAAA,UACnC,CAAC;AAAA,QACL,OAAO;AACH,iBAAO;AAAA,QACX;AAAA,MACJ;AAAA,IACJ,EACC,GAAG,SAAS,MAAM;AACf,aAAO;AAAA,IACX,CAAC;AAAA,EACT,CAAC;AACL;","names":["input"]} \ No newline at end of file