create-vxrn 1.27.1 → 2.0.0-beta.45.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.
- package/.turbo/turbo-build.log +1 -1
- package/dist/cjs/create.cjs +193 -194
- package/dist/cjs/create.native.cjs +262 -0
- package/dist/cjs/create.native.js +218 -227
- package/dist/cjs/create.native.js.map +1 -1
- package/dist/cjs/helpers/cloneStarter.cjs +83 -95
- package/dist/cjs/helpers/cloneStarter.native.cjs +114 -0
- package/dist/cjs/helpers/cloneStarter.native.js +86 -97
- package/dist/cjs/helpers/cloneStarter.native.js.map +1 -1
- package/dist/cjs/helpers/getProjectName.cjs +56 -65
- package/dist/cjs/helpers/getProjectName.native.cjs +75 -0
- package/dist/cjs/helpers/getProjectName.native.js +56 -64
- package/dist/cjs/helpers/getProjectName.native.js.map +1 -1
- package/dist/cjs/helpers/getTemplateInfo.cjs +39 -52
- package/dist/cjs/helpers/getTemplateInfo.native.cjs +67 -0
- package/dist/cjs/helpers/getTemplateInfo.native.js +48 -60
- package/dist/cjs/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/cjs/helpers/installDependencies.cjs +37 -43
- package/dist/cjs/helpers/installDependencies.native.cjs +51 -0
- package/dist/cjs/helpers/installDependencies.native.js +37 -42
- package/dist/cjs/helpers/installDependencies.native.js.map +1 -1
- package/dist/cjs/helpers/validateNpmPackage.cjs +25 -36
- package/dist/cjs/helpers/validateNpmPackage.native.cjs +42 -0
- package/dist/cjs/helpers/validateNpmPackage.native.js +25 -35
- package/dist/cjs/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/cjs/index.cjs +60 -69
- package/dist/cjs/index.native.cjs +92 -0
- package/dist/cjs/index.native.js +61 -69
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/steps/bare.cjs +51 -61
- package/dist/cjs/steps/bare.native.cjs +121 -0
- package/dist/cjs/steps/bare.native.js +71 -82
- package/dist/cjs/steps/bare.native.js.map +1 -1
- package/dist/cjs/steps/fullstack.cjs +23 -35
- package/dist/cjs/steps/fullstack.native.cjs +50 -0
- package/dist/cjs/steps/fullstack.native.js +25 -36
- package/dist/cjs/steps/fullstack.native.js.map +1 -1
- package/dist/cjs/steps/one.cjs +42 -57
- package/dist/cjs/steps/one.native.cjs +97 -0
- package/dist/cjs/steps/one.native.js +46 -60
- package/dist/cjs/steps/one.native.js.map +1 -1
- package/dist/cjs/steps/types.cjs +9 -11
- package/dist/cjs/steps/types.native.cjs +18 -0
- package/dist/cjs/steps/types.native.js +9 -10
- package/dist/cjs/steps/types.native.js.map +1 -1
- package/dist/cjs/templates.cjs +54 -59
- package/dist/cjs/templates.native.cjs +70 -0
- package/dist/cjs/templates.native.js +55 -59
- package/dist/cjs/templates.native.js.map +1 -1
- package/dist/esm/create.mjs +179 -169
- package/dist/esm/create.mjs.map +1 -1
- package/dist/esm/create.native.js +204 -203
- package/dist/esm/create.native.js.map +1 -1
- package/dist/esm/helpers/cloneStarter.mjs +71 -77
- package/dist/esm/helpers/cloneStarter.mjs.map +1 -1
- package/dist/esm/helpers/cloneStarter.native.js +74 -80
- package/dist/esm/helpers/cloneStarter.native.js.map +1 -1
- package/dist/esm/helpers/getProjectName.mjs +41 -39
- package/dist/esm/helpers/getProjectName.mjs.map +1 -1
- package/dist/esm/helpers/getProjectName.native.js +41 -39
- package/dist/esm/helpers/getProjectName.native.js.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.mjs +25 -27
- package/dist/esm/helpers/getTemplateInfo.mjs.map +1 -1
- package/dist/esm/helpers/getTemplateInfo.native.js +33 -35
- package/dist/esm/helpers/getTemplateInfo.native.js.map +1 -1
- package/dist/esm/helpers/installDependencies.mjs +25 -25
- package/dist/esm/helpers/installDependencies.mjs.map +1 -1
- package/dist/esm/helpers/installDependencies.native.js +25 -25
- package/dist/esm/helpers/installDependencies.native.js.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.mjs +10 -10
- package/dist/esm/helpers/validateNpmPackage.mjs.map +1 -1
- package/dist/esm/helpers/validateNpmPackage.native.js +10 -10
- package/dist/esm/helpers/validateNpmPackage.native.js.map +1 -1
- package/dist/esm/index.js +51 -53
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +51 -53
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +52 -54
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/steps/bare.mjs +35 -36
- package/dist/esm/steps/bare.mjs.map +1 -1
- package/dist/esm/steps/bare.native.js +55 -58
- package/dist/esm/steps/bare.native.js.map +1 -1
- package/dist/esm/steps/fullstack.mjs +8 -9
- package/dist/esm/steps/fullstack.mjs.map +1 -1
- package/dist/esm/steps/fullstack.native.js +10 -11
- package/dist/esm/steps/fullstack.native.js.map +1 -1
- package/dist/esm/steps/one.mjs +26 -32
- package/dist/esm/steps/one.mjs.map +1 -1
- package/dist/esm/steps/one.native.js +30 -36
- package/dist/esm/steps/one.native.js.map +1 -1
- package/dist/esm/steps/types.mjs +0 -2
- package/dist/esm/steps/types.native.js +0 -2
- package/dist/esm/templates.mjs +40 -34
- package/dist/esm/templates.mjs.map +1 -1
- package/dist/esm/templates.native.js +40 -34
- package/dist/esm/templates.native.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/steps/types.mjs.map +0 -1
- package/dist/esm/steps/types.native.js.map +0 -1
package/dist/esm/index.mjs
CHANGED
|
@@ -7,68 +7,66 @@ import { getTemplateInfo } from "./helpers/getTemplateInfo.mjs";
|
|
|
7
7
|
import { create } from "./create.mjs";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
9
9
|
import { readFileSync } from "node:fs";
|
|
10
|
+
|
|
10
11
|
function exit() {
|
|
11
|
-
|
|
12
|
+
process.exit(0);
|
|
12
13
|
}
|
|
13
14
|
process.on("SIGTERM", exit);
|
|
14
15
|
process.on("SIGINT", exit);
|
|
15
16
|
const main = defineCommand({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
await create({
|
|
54
|
-
template: args.template
|
|
55
|
-
});
|
|
56
|
-
}
|
|
17
|
+
meta: {
|
|
18
|
+
name: "main",
|
|
19
|
+
version: "0.0.0",
|
|
20
|
+
description: "Welcome to vxrn"
|
|
21
|
+
},
|
|
22
|
+
args: {
|
|
23
|
+
directory: {
|
|
24
|
+
type: "positional",
|
|
25
|
+
description: "Directory to copy into",
|
|
26
|
+
default: ""
|
|
27
|
+
},
|
|
28
|
+
template: {
|
|
29
|
+
type: "string",
|
|
30
|
+
required: false,
|
|
31
|
+
description: "Choose a template in advance (avoid selection screen)."
|
|
32
|
+
},
|
|
33
|
+
info: {
|
|
34
|
+
type: "boolean",
|
|
35
|
+
description: "Output the post-install instructions for the template."
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
async run({ args }) {
|
|
39
|
+
if (args.info) {
|
|
40
|
+
let template = await getTemplateInfo(args.template);
|
|
41
|
+
if ("extraSteps" in template) {
|
|
42
|
+
await template.extraSteps({
|
|
43
|
+
isFullClone: false,
|
|
44
|
+
projectName: path.basename(cwd()),
|
|
45
|
+
projectPath: cwd()
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
console.info();
|
|
51
|
+
console.info(ansis.bold("Creating vxrn app..."));
|
|
52
|
+
await create({ template: args.template });
|
|
53
|
+
}
|
|
57
54
|
});
|
|
58
55
|
runMain(main);
|
|
59
56
|
function getPackageVersion() {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
57
|
+
let dirname;
|
|
58
|
+
if (typeof __dirname !== "undefined") {
|
|
59
|
+
dirname = __dirname;
|
|
60
|
+
} else {
|
|
61
|
+
dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
62
|
+
}
|
|
63
|
+
const packagePath = path.join(dirname, "..", "..", "package.json");
|
|
64
|
+
const packageJson = JSON.parse(readFileSync(packagePath, "utf-8"));
|
|
65
|
+
return packageJson.version;
|
|
69
66
|
}
|
|
70
67
|
if (process.argv.includes("--version")) {
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
console.info(getPackageVersion());
|
|
69
|
+
process.exit(0);
|
|
73
70
|
}
|
|
71
|
+
|
|
74
72
|
//# sourceMappingURL=index.mjs.map
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["esm/index.js"],"sourcesContent":["#!/usr/bin/env node\nimport ansis from \"ansis\";\nimport { defineCommand, runMain } from \"citty\";\nimport path from \"node:path\";\nimport { cwd } from \"node:process\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { create } from \"./create\";\nimport { fileURLToPath } from \"node:url\";\nimport { readFileSync } from \"node:fs\";\nfunction exit() {\n process.exit(0);\n}\nprocess.on(\"SIGTERM\", exit);\nprocess.on(\"SIGINT\", exit);\nconst main = defineCommand({\n meta: {\n name: \"main\",\n version: \"0.0.0\",\n description: \"Welcome to vxrn\"\n },\n args: {\n directory: {\n type: \"positional\",\n description: \"Directory to copy into\",\n default: \"\"\n },\n template: {\n type: \"string\",\n required: false,\n description: \"Choose a template in advance (avoid selection screen).\"\n },\n info: {\n type: \"boolean\",\n description: \"Output the post-install instructions for the template.\"\n }\n },\n async run({ args }) {\n if (args.info) {\n let template = await getTemplateInfo(args.template);\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n isFullClone: false,\n projectName: path.basename(cwd()),\n projectPath: cwd()\n });\n }\n return;\n }\n console.info();\n console.info(ansis.bold(\"Creating vxrn app...\"));\n await create({ template: args.template });\n }\n});\nrunMain(main);\nfunction getPackageVersion() {\n let dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n const packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n const packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nif (process.argv.includes(\"--version\")) {\n console.info(getPackageVersion());\n process.exit(0);\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;;;;;;AASA,SAAS,OAAO;CACd,QAAQ,KAAK,CAAC;AAChB;AACA,QAAQ,GAAG,WAAW,IAAI;AAC1B,QAAQ,GAAG,UAAU,IAAI;AACzB,MAAM,OAAO,cAAc;CACzB,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa;CACf;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;EACX;EACA,UAAU;GACR,MAAM;GACN,UAAU;GACV,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,EAAE,QAAQ;EAClB,IAAI,KAAK,MAAM;GACb,IAAI,WAAW,MAAM,gBAAgB,KAAK,QAAQ;GAClD,IAAI,gBAAgB,UAAU;IAC5B,MAAM,SAAS,WAAW;KACxB,aAAa;KACb,aAAa,KAAK,SAAS,IAAI,CAAC;KAChC,aAAa,IAAI;IACnB,CAAC;GACH;GACA;EACF;EACA,QAAQ,KAAK;EACb,QAAQ,KAAK,MAAM,KAAK,sBAAsB,CAAC;EAC/C,MAAM,OAAO,EAAE,UAAU,KAAK,SAAS,CAAC;CAC1C;AACF,CAAC;AACD,QAAQ,IAAI;AACZ,SAAS,oBAAoB;CAC3B,IAAI;CACJ,IAAI,OAAO,cAAc,aAAa;EACpC,UAAU;CACZ,OAAO;EACL,UAAU,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;CACvD;CACA,MAAM,cAAc,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc;CACjE,MAAM,cAAc,KAAK,MAAM,aAAa,aAAa,OAAO,CAAC;CACjE,OAAO,YAAY;AACrB;AACA,IAAI,QAAQ,KAAK,SAAS,WAAW,GAAG;CACtC,QAAQ,KAAK,kBAAkB,CAAC;CAChC,QAAQ,KAAK,CAAC;AAChB"}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -7,69 +7,67 @@ import { getTemplateInfo } from "./helpers/getTemplateInfo.native.js";
|
|
|
7
7
|
import { create } from "./create.native.js";
|
|
8
8
|
import { fileURLToPath } from "url";
|
|
9
9
|
import { readFileSync } from "fs";
|
|
10
|
+
|
|
10
11
|
function exit() {
|
|
11
|
-
|
|
12
|
+
process.exit(0);
|
|
12
13
|
}
|
|
13
14
|
process.on("SIGTERM", exit);
|
|
14
15
|
process.on("SIGINT", exit);
|
|
15
16
|
var main = defineCommand({
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
await create({
|
|
55
|
-
template: args.template
|
|
56
|
-
});
|
|
57
|
-
}
|
|
17
|
+
meta: {
|
|
18
|
+
name: "main",
|
|
19
|
+
version: "0.0.0",
|
|
20
|
+
description: "Welcome to vxrn"
|
|
21
|
+
},
|
|
22
|
+
args: {
|
|
23
|
+
directory: {
|
|
24
|
+
type: "positional",
|
|
25
|
+
description: "Directory to copy into",
|
|
26
|
+
default: ""
|
|
27
|
+
},
|
|
28
|
+
template: {
|
|
29
|
+
type: "string",
|
|
30
|
+
required: false,
|
|
31
|
+
description: "Choose a template in advance (avoid selection screen)."
|
|
32
|
+
},
|
|
33
|
+
info: {
|
|
34
|
+
type: "boolean",
|
|
35
|
+
description: "Output the post-install instructions for the template."
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
async run(param) {
|
|
39
|
+
var { args } = param;
|
|
40
|
+
if (args.info) {
|
|
41
|
+
var template = await getTemplateInfo(args.template);
|
|
42
|
+
if ("extraSteps" in template) {
|
|
43
|
+
await template.extraSteps({
|
|
44
|
+
isFullClone: false,
|
|
45
|
+
projectName: path.basename(cwd()),
|
|
46
|
+
projectPath: cwd()
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
console.info();
|
|
52
|
+
console.info(ansis.bold("Creating vxrn app..."));
|
|
53
|
+
await create({ template: args.template });
|
|
54
|
+
}
|
|
58
55
|
});
|
|
59
56
|
runMain(main);
|
|
60
57
|
function getPackageVersion() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
58
|
+
var dirname;
|
|
59
|
+
if (typeof __dirname !== "undefined") {
|
|
60
|
+
dirname = __dirname;
|
|
61
|
+
} else {
|
|
62
|
+
dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
63
|
+
}
|
|
64
|
+
var packagePath = path.join(dirname, "..", "..", "package.json");
|
|
65
|
+
var packageJson = JSON.parse(readFileSync(packagePath, "utf-8"));
|
|
66
|
+
return packageJson.version;
|
|
70
67
|
}
|
|
71
68
|
if (process.argv.includes("--version")) {
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
console.info(getPackageVersion());
|
|
70
|
+
process.exit(0);
|
|
74
71
|
}
|
|
72
|
+
|
|
75
73
|
//# sourceMappingURL=index.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"file":"index.native.js","names":[],"sources":["esm/index.native.js"],"sourcesContent":["#!/usr/bin/env node\nimport ansis from \"ansis\";\nimport { defineCommand, runMain } from \"citty\";\nimport path from \"path\";\nimport { cwd } from \"process\";\nimport { getTemplateInfo } from \"./helpers/getTemplateInfo\";\nimport { create } from \"./create\";\nimport { fileURLToPath } from \"url\";\nimport { readFileSync } from \"fs\";\nfunction exit() {\n process.exit(0);\n}\nprocess.on(\"SIGTERM\", exit);\nprocess.on(\"SIGINT\", exit);\nvar main = defineCommand({\n meta: {\n name: \"main\",\n version: \"0.0.0\",\n description: \"Welcome to vxrn\"\n },\n args: {\n directory: {\n type: \"positional\",\n description: \"Directory to copy into\",\n default: \"\"\n },\n template: {\n type: \"string\",\n required: false,\n description: \"Choose a template in advance (avoid selection screen).\"\n },\n info: {\n type: \"boolean\",\n description: \"Output the post-install instructions for the template.\"\n }\n },\n async run(param) {\n var { args } = param;\n if (args.info) {\n var template = await getTemplateInfo(args.template);\n if (\"extraSteps\" in template) {\n await template.extraSteps({\n isFullClone: false,\n projectName: path.basename(cwd()),\n projectPath: cwd()\n });\n }\n return;\n }\n console.info();\n console.info(ansis.bold(\"Creating vxrn app...\"));\n await create({\n template: args.template\n });\n }\n});\nrunMain(main);\nfunction getPackageVersion() {\n var dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = path.dirname(fileURLToPath(import.meta.url));\n }\n var packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n var packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nif (process.argv.includes(\"--version\")) {\n console.info(getPackageVersion());\n process.exit(0);\n}\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;;;;;;;;;AASA,SAAS,OAAO;CACd,QAAQ,KAAK,CAAC;AAChB;AACA,QAAQ,GAAG,WAAW,IAAI;AAC1B,QAAQ,GAAG,UAAU,IAAI;AACzB,IAAI,OAAO,cAAc;CACvB,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa;CACf;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;GACb,SAAS;EACX;EACA,UAAU;GACR,MAAM;GACN,UAAU;GACV,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,KAAK,MAAM;GACb,IAAI,WAAW,MAAM,gBAAgB,KAAK,QAAQ;GAClD,IAAI,gBAAgB,UAAU;IAC5B,MAAM,SAAS,WAAW;KACxB,aAAa;KACb,aAAa,KAAK,SAAS,IAAI,CAAC;KAChC,aAAa,IAAI;IACnB,CAAC;GACH;GACA;EACF;EACA,QAAQ,KAAK;EACb,QAAQ,KAAK,MAAM,KAAK,sBAAsB,CAAC;EAC/C,MAAM,OAAO,EACX,UAAU,KAAK,SACjB,CAAC;CACH;AACF,CAAC;AACD,QAAQ,IAAI;AACZ,SAAS,oBAAoB;CAC3B,IAAI;CACJ,IAAI,OAAO,cAAc,aAAa;EACpC,UAAU;CACZ,OAAO;EACL,UAAU,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;CACvD;CACA,IAAI,cAAc,KAAK,KAAK,SAAS,MAAM,MAAM,cAAc;CAC/D,IAAI,cAAc,KAAK,MAAM,aAAa,aAAa,OAAO,CAAC;CAC/D,OAAO,YAAY;AACrB;AACA,IAAI,QAAQ,KAAK,SAAS,WAAW,GAAG;CACtC,QAAQ,KAAK,kBAAkB,CAAC;CAChC,QAAQ,KAAK,CAAC;AAChB"}
|
package/dist/esm/steps/bare.mjs
CHANGED
|
@@ -1,51 +1,49 @@
|
|
|
1
1
|
import ansis from "ansis";
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
import { basename, dirname, join } from "node:path";
|
|
4
|
+
|
|
4
5
|
function shouldIgnoreFile(filePath) {
|
|
5
|
-
|
|
6
|
+
return filePath.match(/node_modules|yarn.lock|package-lock.json/g);
|
|
6
7
|
}
|
|
7
8
|
function shouldRenameFile(filePath, nameToReplace) {
|
|
8
|
-
|
|
9
|
+
return basename(filePath).includes(nameToReplace);
|
|
9
10
|
}
|
|
10
11
|
async function renameFile(filePath, oldName, newName) {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
const newFileName = join(dirname(filePath), basename(filePath).replace(new RegExp(oldName, "g"), newName));
|
|
13
|
+
await fs.rename(filePath, newFileName);
|
|
13
14
|
}
|
|
14
15
|
function walk(current) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
if (!fs.lstatSync(current).isDirectory()) {
|
|
17
|
+
return [current];
|
|
18
|
+
}
|
|
19
|
+
const files = fs.readdirSync(current).map((child) => walk(join(current, child)));
|
|
20
|
+
const result = [];
|
|
21
|
+
return result.concat.apply([current], files);
|
|
21
22
|
}
|
|
22
23
|
async function replaceNameInUTF8File(filePath, projectName, templateName) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const fileContent = await fs.readFile(filePath, "utf8");
|
|
25
|
+
const replacedFileContent = fileContent.replace(new RegExp(templateName, "g"), projectName).replace(new RegExp(templateName.toLowerCase(), "g"), projectName.toLowerCase());
|
|
26
|
+
if (fileContent !== replacedFileContent) {
|
|
27
|
+
await fs.writeFile(filePath, replacedFileContent, "utf8");
|
|
28
|
+
}
|
|
28
29
|
}
|
|
29
|
-
const main = async ({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
if (isFullClone) {
|
|
48
|
-
console.info(`
|
|
30
|
+
const main = async ({ isFullClone, projectName }) => {
|
|
31
|
+
const placeholderName = "bare";
|
|
32
|
+
for (const filePath of walk(process.cwd()).reverse()) {
|
|
33
|
+
if (shouldIgnoreFile(filePath)) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (!(await fs.stat(filePath)).isDirectory()) {
|
|
37
|
+
await replaceNameInUTF8File(filePath, projectName, "bare");
|
|
38
|
+
}
|
|
39
|
+
if (shouldRenameFile(filePath, placeholderName)) {
|
|
40
|
+
await renameFile(filePath, placeholderName, projectName);
|
|
41
|
+
} else if (shouldRenameFile(filePath, placeholderName.toLowerCase())) {
|
|
42
|
+
await renameFile(filePath, placeholderName.toLowerCase(), projectName.toLowerCase());
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (isFullClone) {
|
|
46
|
+
console.info(`
|
|
49
47
|
${ansis.green.bold("Done!")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:
|
|
50
48
|
\u2022 ${ansis.green("cd")} ${projectName}
|
|
51
49
|
|
|
@@ -65,8 +63,9 @@ ${ansis.blue(`Run instructions for ${ansis.bold("iOS")}:`)}
|
|
|
65
63
|
\u2022 Hit the Run button
|
|
66
64
|
|
|
67
65
|
`);
|
|
68
|
-
|
|
66
|
+
}
|
|
69
67
|
};
|
|
70
68
|
var bare_default = main;
|
|
69
|
+
|
|
71
70
|
export { bare_default as default, replaceNameInUTF8File };
|
|
72
71
|
//# sourceMappingURL=bare.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"bare.js","names":[],"sources":["esm/steps/bare.js"],"sourcesContent":["import ansis from \"ansis\";\nimport fs from \"fs-extra\";\nimport { basename, dirname, join } from \"node:path\";\nfunction shouldIgnoreFile(filePath) {\n return filePath.match(/node_modules|yarn.lock|package-lock.json/g);\n}\nfunction shouldRenameFile(filePath, nameToReplace) {\n return basename(filePath).includes(nameToReplace);\n}\nasync function renameFile(filePath, oldName, newName) {\n const newFileName = join(\n dirname(filePath),\n basename(filePath).replace(new RegExp(oldName, \"g\"), newName)\n );\n await fs.rename(filePath, newFileName);\n}\nfunction walk(current) {\n if (!fs.lstatSync(current).isDirectory()) {\n return [current];\n }\n const files = fs.readdirSync(current).map((child) => walk(join(current, child)));\n const result = [];\n return result.concat.apply([current], files);\n}\nasync function replaceNameInUTF8File(filePath, projectName, templateName) {\n const fileContent = await fs.readFile(filePath, \"utf8\");\n const replacedFileContent = fileContent.replace(new RegExp(templateName, \"g\"), projectName).replace(new RegExp(templateName.toLowerCase(), \"g\"), projectName.toLowerCase());\n if (fileContent !== replacedFileContent) {\n await fs.writeFile(filePath, replacedFileContent, \"utf8\");\n }\n}\nconst main = async ({ isFullClone, projectName }) => {\n const placeholderName = \"bare\";\n for (const filePath of walk(process.cwd()).reverse()) {\n if (shouldIgnoreFile(filePath)) {\n continue;\n }\n if (!(await fs.stat(filePath)).isDirectory()) {\n await replaceNameInUTF8File(filePath, projectName, \"bare\");\n }\n if (shouldRenameFile(filePath, placeholderName)) {\n await renameFile(filePath, placeholderName, projectName);\n } else if (shouldRenameFile(filePath, placeholderName.toLowerCase())) {\n await renameFile(filePath, placeholderName.toLowerCase(), projectName.toLowerCase());\n }\n }\n if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:\n \\u2022 ${ansis.green(\"cd\")} ${projectName}\n\n${ansis.green(`Run instructions for ${ansis.bold(\"Android\")}:`)}\n \\u2022 Have an Android emulator running (quickest way to get started), or a device connected.\n \\u2022 npx react-native run-android\n\n${ansis.blue(`Run instructions for ${ansis.bold(\"iOS\")}:`)}\n \\u2022 Install Cocoapods\n \\u2022 bundle install # you need to run this only once in your project.\n \\u2022 bundle exec pod install\n \\u2022 cd ..\n\n \\u2022 npx react-native run-ios\n ${ansis.gray(\"- or -\")}\n \\u2022 Open ${projectName}/ios/${projectName}.xcworkspace in Xcode or run \"xed -b ios\"\n \\u2022 Hit the Run button\n\n`);\n }\n};\nvar bare_default = main;\nexport {\n bare_default as default,\n replaceNameInUTF8File\n};\n//# sourceMappingURL=bare.js.map\n"],"mappings":";;;;;AAGA,SAAS,iBAAiB,UAAU;CAClC,OAAO,SAAS,MAAM,2CAA2C;AACnE;AACA,SAAS,iBAAiB,UAAU,eAAe;CACjD,OAAO,SAAS,QAAQ,CAAC,CAAC,SAAS,aAAa;AAClD;AACA,eAAe,WAAW,UAAU,SAAS,SAAS;CACpD,MAAM,cAAc,KAClB,QAAQ,QAAQ,GAChB,SAAS,QAAQ,CAAC,CAAC,QAAQ,IAAI,OAAO,SAAS,GAAG,GAAG,OAAO,CAC9D;CACA,MAAM,GAAG,OAAO,UAAU,WAAW;AACvC;AACA,SAAS,KAAK,SAAS;CACrB,IAAI,CAAC,GAAG,UAAU,OAAO,CAAC,CAAC,YAAY,GAAG;EACxC,OAAO,CAAC,OAAO;CACjB;CACA,MAAM,QAAQ,GAAG,YAAY,OAAO,CAAC,CAAC,KAAK,UAAU,KAAK,KAAK,SAAS,KAAK,CAAC,CAAC;CAC/E,MAAM,SAAS,CAAC;CAChB,OAAO,OAAO,OAAO,MAAM,CAAC,OAAO,GAAG,KAAK;AAC7C;AACA,eAAe,sBAAsB,UAAU,aAAa,cAAc;CACxE,MAAM,cAAc,MAAM,GAAG,SAAS,UAAU,MAAM;CACtD,MAAM,sBAAsB,YAAY,QAAQ,IAAI,OAAO,cAAc,GAAG,GAAG,WAAW,CAAC,CAAC,QAAQ,IAAI,OAAO,aAAa,YAAY,GAAG,GAAG,GAAG,YAAY,YAAY,CAAC;CAC1K,IAAI,gBAAgB,qBAAqB;EACvC,MAAM,GAAG,UAAU,UAAU,qBAAqB,MAAM;CAC1D;AACF;AACA,MAAM,OAAO,OAAO,EAAE,aAAa,kBAAkB;CACnD,MAAM,kBAAkB;CACxB,KAAK,MAAM,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,GAAG;EACpD,IAAI,iBAAiB,QAAQ,GAAG;GAC9B;EACF;EACA,IAAI,EAAE,MAAM,GAAG,KAAK,QAAQ,EAAC,CAAE,YAAY,GAAG;GAC5C,MAAM,sBAAsB,UAAU,aAAa,MAAM;EAC3D;EACA,IAAI,iBAAiB,UAAU,eAAe,GAAG;GAC/C,MAAM,WAAW,UAAU,iBAAiB,WAAW;EACzD,OAAO,IAAI,iBAAiB,UAAU,gBAAgB,YAAY,CAAC,GAAG;GACpE,MAAM,WAAW,UAAU,gBAAgB,YAAY,GAAG,YAAY,YAAY,CAAC;EACrF;CACF;CACA,IAAI,aAAa;EACf,QAAQ,KAAK;EACf,MAAM,MAAM,KAAK,OAAO,EAAE,iCAAiC,MAAM,YAAY,WAAW,EAAE;WACjF,MAAM,MAAM,IAAI,EAAE,GAAG,YAAY;;EAE1C,MAAM,MAAM,wBAAwB,MAAM,KAAK,SAAS,EAAE,EAAE,EAAE;;;;EAI9D,MAAM,KAAK,wBAAwB,MAAM,KAAK,KAAK,EAAE,EAAE,EAAE;;;;;;;IAOvD,MAAM,KAAK,QAAQ,EAAE;gBACT,YAAY,OAAO,YAAY;;;CAG9C;CACC;AACF;AACA,IAAI,eAAe"}
|
|
@@ -1,73 +1,69 @@
|
|
|
1
1
|
import ansis from "ansis";
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
import { basename, dirname, join } from "path";
|
|
4
|
+
|
|
4
5
|
function shouldIgnoreFile(filePath) {
|
|
5
|
-
|
|
6
|
+
return filePath.match(/node_modules|yarn.lock|package-lock.json/g);
|
|
6
7
|
}
|
|
7
8
|
function shouldRenameFile(filePath, nameToReplace) {
|
|
8
|
-
|
|
9
|
+
return basename(filePath).includes(nameToReplace);
|
|
9
10
|
}
|
|
10
11
|
async function renameFile(filePath, oldName, newName) {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
var newFileName = join(dirname(filePath), basename(filePath).replace(new RegExp(oldName, "g"), newName));
|
|
13
|
+
await fs.rename(filePath, newFileName);
|
|
13
14
|
}
|
|
14
15
|
function walk(current) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
if (!fs.lstatSync(current).isDirectory()) {
|
|
17
|
+
return [current];
|
|
18
|
+
}
|
|
19
|
+
var files = fs.readdirSync(current).map(function(child) {
|
|
20
|
+
return walk(join(current, child));
|
|
21
|
+
});
|
|
22
|
+
var result = [];
|
|
23
|
+
return result.concat.apply([current], files);
|
|
23
24
|
}
|
|
24
25
|
async function replaceNameInUTF8File(filePath, projectName, templateName) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
var fileContent = await fs.readFile(filePath, "utf8");
|
|
27
|
+
var replacedFileContent = fileContent.replace(new RegExp(templateName, "g"), projectName).replace(new RegExp(templateName.toLowerCase(), "g"), projectName.toLowerCase());
|
|
28
|
+
if (fileContent !== replacedFileContent) {
|
|
29
|
+
await fs.writeFile(filePath, replacedFileContent, "utf8");
|
|
30
|
+
}
|
|
30
31
|
}
|
|
31
|
-
var main = async function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (isFullClone) {
|
|
70
|
-
console.info(`
|
|
32
|
+
var main = async function(param) {
|
|
33
|
+
var { isFullClone, projectName } = param;
|
|
34
|
+
var placeholderName = "bare";
|
|
35
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
|
|
36
|
+
try {
|
|
37
|
+
for (var _iterator = walk(process.cwd()).reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
|
|
38
|
+
var filePath = _step.value;
|
|
39
|
+
if (shouldIgnoreFile(filePath)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (!(await fs.stat(filePath)).isDirectory()) {
|
|
43
|
+
await replaceNameInUTF8File(filePath, projectName, "bare");
|
|
44
|
+
}
|
|
45
|
+
if (shouldRenameFile(filePath, placeholderName)) {
|
|
46
|
+
await renameFile(filePath, placeholderName, projectName);
|
|
47
|
+
} else if (shouldRenameFile(filePath, placeholderName.toLowerCase())) {
|
|
48
|
+
await renameFile(filePath, placeholderName.toLowerCase(), projectName.toLowerCase());
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} catch (err) {
|
|
52
|
+
_didIteratorError = true;
|
|
53
|
+
_iteratorError = err;
|
|
54
|
+
} finally {
|
|
55
|
+
try {
|
|
56
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
57
|
+
_iterator.return();
|
|
58
|
+
}
|
|
59
|
+
} finally {
|
|
60
|
+
if (_didIteratorError) {
|
|
61
|
+
throw _iteratorError;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (isFullClone) {
|
|
66
|
+
console.info(`
|
|
71
67
|
${ansis.green.bold("Done!")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:
|
|
72
68
|
\u2022 ${ansis.green("cd")} ${projectName}
|
|
73
69
|
|
|
@@ -87,8 +83,9 @@ ${ansis.blue(`Run instructions for ${ansis.bold("iOS")}:`)}
|
|
|
87
83
|
\u2022 Hit the Run button
|
|
88
84
|
|
|
89
85
|
`);
|
|
90
|
-
|
|
86
|
+
}
|
|
91
87
|
};
|
|
92
88
|
var bare_default = main;
|
|
89
|
+
|
|
93
90
|
export { bare_default as default, replaceNameInUTF8File };
|
|
94
91
|
//# sourceMappingURL=bare.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"bare.native.js","names":[],"sources":["esm/steps/bare.native.js"],"sourcesContent":["import ansis from \"ansis\";\nimport fs from \"fs-extra\";\nimport { basename, dirname, join } from \"path\";\nfunction shouldIgnoreFile(filePath) {\n return filePath.match(/node_modules|yarn.lock|package-lock.json/g);\n}\nfunction shouldRenameFile(filePath, nameToReplace) {\n return basename(filePath).includes(nameToReplace);\n}\nasync function renameFile(filePath, oldName, newName) {\n var newFileName = join(dirname(filePath), basename(filePath).replace(new RegExp(oldName, \"g\"), newName));\n await fs.rename(filePath, newFileName);\n}\nfunction walk(current) {\n if (!fs.lstatSync(current).isDirectory()) {\n return [\n current\n ];\n }\n var files = fs.readdirSync(current).map(function(child) {\n return walk(join(current, child));\n });\n var result = [];\n return result.concat.apply([\n current\n ], files);\n}\nasync function replaceNameInUTF8File(filePath, projectName, templateName) {\n var fileContent = await fs.readFile(filePath, \"utf8\");\n var replacedFileContent = fileContent.replace(new RegExp(templateName, \"g\"), projectName).replace(new RegExp(templateName.toLowerCase(), \"g\"), projectName.toLowerCase());\n if (fileContent !== replacedFileContent) {\n await fs.writeFile(filePath, replacedFileContent, \"utf8\");\n }\n}\nvar main = async function(param) {\n var { isFullClone, projectName } = param;\n var placeholderName = \"bare\";\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = walk(process.cwd()).reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var filePath = _step.value;\n if (shouldIgnoreFile(filePath)) {\n continue;\n }\n if (!(await fs.stat(filePath)).isDirectory()) {\n await replaceNameInUTF8File(filePath, projectName, \"bare\");\n }\n if (shouldRenameFile(filePath, placeholderName)) {\n await renameFile(filePath, placeholderName, projectName);\n } else if (shouldRenameFile(filePath, placeholderName.toLowerCase())) {\n await renameFile(filePath, placeholderName.toLowerCase(), projectName.toLowerCase());\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (isFullClone) {\n console.info(`\n${ansis.green.bold(\"Done!\")} Created a new project under ./${ansis.greenBright(projectName)} visit your project:\n \\u2022 ${ansis.green(\"cd\")} ${projectName}\n\n${ansis.green(`Run instructions for ${ansis.bold(\"Android\")}:`)}\n \\u2022 Have an Android emulator running (quickest way to get started), or a device connected.\n \\u2022 npx react-native run-android\n\n${ansis.blue(`Run instructions for ${ansis.bold(\"iOS\")}:`)}\n \\u2022 Install Cocoapods\n \\u2022 bundle install # you need to run this only once in your project.\n \\u2022 bundle exec pod install\n \\u2022 cd ..\n\n \\u2022 npx react-native run-ios\n ${ansis.gray(\"- or -\")}\n \\u2022 Open ${projectName}/ios/${projectName}.xcworkspace in Xcode or run \"xed -b ios\"\n \\u2022 Hit the Run button\n\n`);\n }\n};\nvar bare_default = main;\nexport {\n bare_default as default,\n replaceNameInUTF8File\n};\n//# sourceMappingURL=bare.js.map\n"],"mappings":";;;;;AAGA,SAAS,iBAAiB,UAAU;CAClC,OAAO,SAAS,MAAM,2CAA2C;AACnE;AACA,SAAS,iBAAiB,UAAU,eAAe;CACjD,OAAO,SAAS,QAAQ,CAAC,CAAC,SAAS,aAAa;AAClD;AACA,eAAe,WAAW,UAAU,SAAS,SAAS;CACpD,IAAI,cAAc,KAAK,QAAQ,QAAQ,GAAG,SAAS,QAAQ,CAAC,CAAC,QAAQ,IAAI,OAAO,SAAS,GAAG,GAAG,OAAO,CAAC;CACvG,MAAM,GAAG,OAAO,UAAU,WAAW;AACvC;AACA,SAAS,KAAK,SAAS;CACrB,IAAI,CAAC,GAAG,UAAU,OAAO,CAAC,CAAC,YAAY,GAAG;EACxC,OAAO,CACL,OACF;CACF;CACA,IAAI,QAAQ,GAAG,YAAY,OAAO,CAAC,CAAC,IAAI,SAAS,OAAO;EACtD,OAAO,KAAK,KAAK,SAAS,KAAK,CAAC;CAClC,CAAC;CACD,IAAI,SAAS,CAAC;CACd,OAAO,OAAO,OAAO,MAAM,CACzB,OACF,GAAG,KAAK;AACV;AACA,eAAe,sBAAsB,UAAU,aAAa,cAAc;CACxE,IAAI,cAAc,MAAM,GAAG,SAAS,UAAU,MAAM;CACpD,IAAI,sBAAsB,YAAY,QAAQ,IAAI,OAAO,cAAc,GAAG,GAAG,WAAW,CAAC,CAAC,QAAQ,IAAI,OAAO,aAAa,YAAY,GAAG,GAAG,GAAG,YAAY,YAAY,CAAC;CACxK,IAAI,gBAAgB,qBAAqB;EACvC,MAAM,GAAG,UAAU,UAAU,qBAAqB,MAAM;CAC1D;AACF;AACA,IAAI,OAAO,eAAe,OAAO;CAC/B,IAAI,EAAE,aAAa,gBAAgB;CACnC,IAAI,kBAAkB;CACtB,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;CACvF,IAAI;EACF,KAAK,IAAI,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;GAC9K,IAAI,WAAW,MAAM;GACrB,IAAI,iBAAiB,QAAQ,GAAG;IAC9B;GACF;GACA,IAAI,EAAE,MAAM,GAAG,KAAK,QAAQ,EAAC,CAAE,YAAY,GAAG;IAC5C,MAAM,sBAAsB,UAAU,aAAa,MAAM;GAC3D;GACA,IAAI,iBAAiB,UAAU,eAAe,GAAG;IAC/C,MAAM,WAAW,UAAU,iBAAiB,WAAW;GACzD,OAAO,IAAI,iBAAiB,UAAU,gBAAgB,YAAY,CAAC,GAAG;IACpE,MAAM,WAAW,UAAU,gBAAgB,YAAY,GAAG,YAAY,YAAY,CAAC;GACrF;EACF;CACF,SAAS,KAAK;EACZ,oBAAoB;EACpB,iBAAiB;CACnB,UAAU;EACR,IAAI;GACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;IAC1D,UAAU,OAAO;GACnB;EACF,UAAU;GACR,IAAI,mBAAmB;IACrB,MAAM;GACR;EACF;CACF;CACA,IAAI,aAAa;EACf,QAAQ,KAAK;EACf,MAAM,MAAM,KAAK,OAAO,EAAE,iCAAiC,MAAM,YAAY,WAAW,EAAE;WACjF,MAAM,MAAM,IAAI,EAAE,GAAG,YAAY;;EAE1C,MAAM,MAAM,wBAAwB,MAAM,KAAK,SAAS,EAAE,EAAE,EAAE;;;;EAI9D,MAAM,KAAK,wBAAwB,MAAM,KAAK,KAAK,EAAE,EAAE,EAAE;;;;;;;IAOvD,MAAM,KAAK,QAAQ,EAAE;gBACT,YAAY,OAAO,YAAY;;;CAG9C;CACC;AACF;AACA,IAAI,eAAe"}
|