New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@dojoengine/create-dojo

Package Overview
Dependencies
Maintainers
2
Versions
112
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dojoengine/create-dojo - npm Package Compare versions

Comparing version 0.2.0 to 0.2.1

140

bin/index.js

@@ -10,81 +10,85 @@ #!/usr/bin/env node

var templates = [
{
value: "react-app",
description: "React app using Dojo"
},
{
value: "react-phaser-example",
description: "React/Phaser app using Dojo"
}
{
value: "react-app",
description: "React app using Dojo",
},
{
value: "react-phaser-example",
description: "React/Phaser app using Dojo",
},
];
run();
async function run() {
try {
const { template, projectName } = await prompt();
console.log(`Downloading ${template}...`);
spawn.sync("npx", [
"degit",
`dojoengine/dojo.js/examples/${template}`,
`${projectName}`
]);
await rewritePackageJson(projectName);
console.log(`Downloading dojo-starter...`);
spawn.sync("npx", ["degit", `dojoengine/dojo-starter`, `dojo-starter`]);
} catch (e) {
console.log(e);
}
try {
const { template, projectName } = await prompt();
console.log(`Downloading ${template}...`);
spawn.sync("npx", [
"degit",
`dojoengine/dojo.js/examples/${template}`,
`${projectName}`,
]);
await rewritePackageJson(projectName);
console.log(`Downloading dojo-starter...`);
spawn.sync("npx", ["degit", `dojoengine/dojo-starter`, `dojo-starter`]);
} catch (e) {
console.log(e);
}
}
async function rewritePackageJson(projectName) {
const packageJsonPath = path.join(
process.cwd(),
projectName,
"package.json"
);
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
const latestVersion = await getLatestVersion();
packageJson.name = projectName;
for (let dep of Object.keys(packageJson.dependencies)) {
if (dep.startsWith("@dojoengine") && packageJson.dependencies[dep].startsWith("link:")) {
packageJson.dependencies[dep] = latestVersion;
const packageJsonPath = path.join(
process.cwd(),
projectName,
"package.json"
);
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
const latestVersion = await getLatestVersion();
packageJson.name = projectName;
for (let dep of Object.keys(packageJson.dependencies)) {
if (
dep.startsWith("@dojoengine") &&
packageJson.dependencies[dep].startsWith("link:")
) {
packageJson.dependencies[dep] = latestVersion;
}
}
}
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
}
async function prompt() {
const template = await select({
message: "Select a template",
choices: templates
});
const projectName = await input({
message: "Project name ",
validate: (input2) => {
if (/^([A-Za-z\-\_\d])+$/.test(input2))
return true;
else
return "Project name may only include letters, numbers, underscores and hashes.";
},
default: template
});
return { template, projectName };
const template = await select({
message: "Select a template",
choices: templates,
});
const projectName = await input({
message: "Project name ",
validate: (input2) => {
if (/^([A-Za-z\-\_\d])+$/.test(input2)) return true;
else
return "Project name may only include letters, numbers, underscores and hashes.";
},
default: template,
});
return { template, projectName };
}
async function getLatestVersion() {
return new Promise((resolve, reject) => {
https.get(
"https://registry.npmjs.org/-/package/@dojoengine/core/dist-tags",
(res) => {
if (res.statusCode === 200) {
let body = "";
res.on("data", (data) => body += data);
res.on("end", () => {
resolve(JSON.parse(body).latest);
});
} else {
reject();
}
}
).on("error", () => {
reject();
return new Promise((resolve, reject) => {
https
.get(
"https://registry.npmjs.org/-/package/@dojoengine/core/dist-tags",
(res) => {
if (res.statusCode === 200) {
let body = "";
res.on("data", (data) => (body += data));
res.on("end", () => {
resolve(JSON.parse(body).latest);
});
} else {
reject();
}
}
)
.on("error", () => {
reject();
});
});
});
}
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map
{
"name": "@dojoengine/create-dojo",
"version": "0.2.0",
"version": "0.2.1",
"description": "Scaffold Dojo project from examples",

@@ -28,3 +28,3 @@ "module": "index.ts",

},
"gitHead": "64c344a467131ce9b64c9eb6c2bba632ac6e3140"
"gitHead": "0a17308cd9050ddefcfe2555a558d654a50b6c48"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc