create-domis 1.0.49 → 1.0.51
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/dist/index.js +16 -23
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9,8 +9,7 @@ import path from "path";
|
|
|
9
9
|
import os from "os";
|
|
10
10
|
import extract from "extract-zip";
|
|
11
11
|
var API_VERIFY = "https://verifyprokey-rk2ogbbeja-uc.a.run.app";
|
|
12
|
-
|
|
13
|
-
console.log(chalk.green.bold("\n\u{1F525} DomisPacks Technical v1.0.49\n"));
|
|
12
|
+
console.log(chalk.green.bold("\n\u{1F525} DomisPacks Technical v1.0.51\n"));
|
|
14
13
|
function copyRecursive(src, dest) {
|
|
15
14
|
const stat = fs.lstatSync(src);
|
|
16
15
|
if (stat.isDirectory()) {
|
|
@@ -23,21 +22,16 @@ function copyRecursive(src, dest) {
|
|
|
23
22
|
fs.copyFileSync(src, dest);
|
|
24
23
|
}
|
|
25
24
|
}
|
|
26
|
-
async function fetchWithTimeout(url, opts = {}) {
|
|
27
|
-
const c = new AbortController();
|
|
28
|
-
const id = setTimeout(() => c.abort(), TIMEOUT_MS);
|
|
29
|
-
try {
|
|
30
|
-
return await fetch(url, { ...opts, signal: c.signal });
|
|
31
|
-
} finally {
|
|
32
|
-
clearTimeout(id);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
25
|
async function getDownloadUrl(pack, proKey) {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
const body = proKey ? { key: proKey, pack } : { pack };
|
|
27
|
+
const res = await fetch(
|
|
28
|
+
API_VERIFY,
|
|
29
|
+
{
|
|
30
|
+
method: "POST",
|
|
31
|
+
headers: { "Content-Type": "application/json" },
|
|
32
|
+
body: JSON.stringify(body)
|
|
33
|
+
}
|
|
34
|
+
);
|
|
41
35
|
const data = await res.json();
|
|
42
36
|
if (!res.ok || !data.valid) throw new Error(data.detail || data.reason || data.error || `HTTP ${res.status}`);
|
|
43
37
|
if (!data.downloadUrl) throw new Error("API n\xE3o retornou downloadUrl");
|
|
@@ -46,26 +40,25 @@ async function getDownloadUrl(pack, proKey) {
|
|
|
46
40
|
async function main() {
|
|
47
41
|
const ans = await inquirer.prompt([
|
|
48
42
|
{ type: "list", name: "pack", message: "Qual pack voc\xEA quer acelerar hoje?", choices: [
|
|
49
|
-
{ name: "\u{1F525} DomisDocs Free
|
|
43
|
+
{ name: "\u{1F525} DomisDocs Free - Firebase", value: "free" },
|
|
50
44
|
{ name: "\u{1F525} DomisDocs Lite \u2014 Next.Js 15 + SaaS", value: "lite" },
|
|
51
45
|
{ name: "\u{1F525} DomisDocs PRO \u2014 Stripe + Rules", value: "pro" }
|
|
52
46
|
] },
|
|
53
47
|
{ type: "password", name: "proKey", message: "Digite sua PRO_KEY:", mask: "*", when: (a) => a.pack !== "free", validate: (v) => v.startsWith("DOMIS-") ? true : "Formato: DOMIS-XXXX-XXXX-XXXX" },
|
|
54
|
-
{ type: "input", name: "projectName", message: "Nome do projeto:", default: "meu-app", validate: (v) => v.trim()
|
|
48
|
+
{ type: "input", name: "projectName", message: "Nome do projeto:", default: "meu-app", validate: (v) => v.trim() ? true : "Digite um nome" }
|
|
55
49
|
]);
|
|
56
50
|
if (fs.existsSync(ans.projectName)) {
|
|
57
51
|
console.log(chalk.red(`\u274C Pasta "${ans.projectName}" j\xE1 existe!`));
|
|
58
52
|
process.exit(1);
|
|
59
53
|
}
|
|
60
|
-
const spinner = ora("
|
|
54
|
+
const spinner = ora("Baixando...").start();
|
|
61
55
|
try {
|
|
62
|
-
spinner.text = ans.pack === "free" ? "Baixando FREE..." : "Verificando PRO_KEY...";
|
|
63
56
|
const url = await getDownloadUrl(ans.pack, ans.proKey);
|
|
64
|
-
spinner.text = `Baixando
|
|
57
|
+
spinner.text = `Baixando ${ans.pack.toUpperCase()}...`;
|
|
65
58
|
const zipTmp = path.join(os.tmpdir(), `domis-${Date.now()}.zip`);
|
|
66
59
|
const extractTmp = path.join(os.tmpdir(), `domis-extract-${Date.now()}`);
|
|
67
|
-
const zipRes = await
|
|
68
|
-
if (!zipRes.ok) throw new Error(`Falha
|
|
60
|
+
const zipRes = await fetch(url);
|
|
61
|
+
if (!zipRes.ok) throw new Error(`Falha ao baixar (${zipRes.status})`);
|
|
69
62
|
fs.writeFileSync(zipTmp, Buffer.from(await zipRes.arrayBuffer()));
|
|
70
63
|
fs.mkdirSync(extractTmp, { recursive: true });
|
|
71
64
|
await extract(zipTmp, { dir: extractTmp });
|