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/.turbo/turbo-build.log
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
$ tamagui-build --skip-types
|
|
2
|
-
built create-vxrn in
|
|
2
|
+
built create-vxrn in 208 ms
|
package/dist/cjs/create.cjs
CHANGED
|
@@ -5,36 +5,27 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
12
|
};
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
21
|
};
|
|
22
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
-
value: mod,
|
|
29
|
-
enumerable: true
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
30
25
|
}) : target, mod));
|
|
31
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
-
value: true
|
|
33
|
-
}), mod);
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
27
|
var create_exports = {};
|
|
35
|
-
__export(create_exports, {
|
|
36
|
-
create: () => create
|
|
37
|
-
});
|
|
28
|
+
__export(create_exports, { create: () => create });
|
|
38
29
|
module.exports = __toCommonJS(create_exports);
|
|
39
30
|
var import_ansis = __toESM(require("ansis"));
|
|
40
31
|
var import_fs_extra = __toESM(require("fs-extra"));
|
|
@@ -51,186 +42,194 @@ var import_validateNpmPackage = require("./helpers/validateNpmPackage.cjs");
|
|
|
51
42
|
var import_prompts = __toESM(require("prompts"));
|
|
52
43
|
var import_utils = require("@vxrn/utils");
|
|
53
44
|
const import_meta = {};
|
|
54
|
-
const {
|
|
55
|
-
existsSync,
|
|
56
|
-
readFileSync,
|
|
57
|
-
writeFileSync
|
|
58
|
-
} = import_fs_extra.default;
|
|
45
|
+
const { existsSync, readFileSync, writeFileSync } = import_fs_extra.default;
|
|
59
46
|
async function create(args) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
47
|
+
const gitVersionString = Number.parseFloat((0, import_node_child_process.execSync)(`git --version`).toString().replace(`git version `, "").trim());
|
|
48
|
+
if (gitVersionString < 2.27) {
|
|
49
|
+
console.error(`
|
|
63
50
|
|
|
64
51
|
! vxrn can't install: Git version must be >= 2.27
|
|
65
52
|
|
|
66
53
|
`);
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
let projectName = args.name || "";
|
|
57
|
+
let resolvedProjectPath = import_node_path.default.resolve(process.cwd(), projectName);
|
|
58
|
+
async function promptForName() {
|
|
59
|
+
projectName = await (0, import_getProjectName.getProjectName)();
|
|
60
|
+
resolvedProjectPath = import_node_path.default.resolve(process.cwd(), projectName);
|
|
61
|
+
}
|
|
62
|
+
if (projectName) {
|
|
63
|
+
if (import_node_fs.default.existsSync(resolvedProjectPath)) {
|
|
64
|
+
console.error(`Error: folder already exists: ${resolvedProjectPath}`);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
await promptForName();
|
|
69
|
+
while (import_node_fs.default.existsSync(resolvedProjectPath)) {
|
|
70
|
+
console.info();
|
|
71
|
+
console.info(import_ansis.default.yellow("!"), `The folder ${import_ansis.default.underline(import_ansis.default.blueBright(projectName))} already exists, lets try another name`);
|
|
72
|
+
console.info();
|
|
73
|
+
console.info();
|
|
74
|
+
await promptForName();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
console.info();
|
|
78
|
+
let template = await (0, import_getTemplateInfo.getTemplateInfo)(args.template);
|
|
79
|
+
if (template.type === "external-link") {
|
|
80
|
+
const url = template.externalUrl;
|
|
81
|
+
console.info();
|
|
82
|
+
console.info(import_ansis.default.green(`Opening ${url}...`));
|
|
83
|
+
console.info();
|
|
84
|
+
const openCmd = process.platform === "darwin" ? "open" : process.platform === "win32" ? "start" : "xdg-open";
|
|
85
|
+
(0, import_node_child_process.exec)(`${openCmd} ${url}`);
|
|
86
|
+
process.exit(0);
|
|
87
|
+
}
|
|
88
|
+
const { valid, problems } = (0, import_validateNpmPackage.validateNpmName)(projectName);
|
|
89
|
+
if (!valid) {
|
|
90
|
+
console.error(`Could not create a project called ${import_ansis.default.red(`"${projectName}"`)} because of npm naming restrictions:`);
|
|
91
|
+
problems.forEach((p) => console.error(` ${import_ansis.default.red.bold("*")} ${p}`));
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
console.info();
|
|
95
|
+
const Spinner = await import("yocto-spinner").then((x) => x.default);
|
|
96
|
+
const spinner = Spinner({
|
|
97
|
+
text: `Creating...`,
|
|
98
|
+
spinner: {
|
|
99
|
+
frames: [
|
|
100
|
+
"⠋",
|
|
101
|
+
"⠙",
|
|
102
|
+
"⠹",
|
|
103
|
+
"⠸",
|
|
104
|
+
"⠼",
|
|
105
|
+
"⠴",
|
|
106
|
+
"⠦",
|
|
107
|
+
"⠧",
|
|
108
|
+
"⠇",
|
|
109
|
+
"⠏"
|
|
110
|
+
],
|
|
111
|
+
interval: 100
|
|
112
|
+
}
|
|
113
|
+
}).start();
|
|
114
|
+
await import_fs_extra.default.mkdir(resolvedProjectPath);
|
|
115
|
+
try {
|
|
116
|
+
await (0, import_cloneStarter.cloneStarter)(template, resolvedProjectPath);
|
|
117
|
+
process.chdir(resolvedProjectPath);
|
|
118
|
+
} catch (e) {
|
|
119
|
+
console.error(`[vxrn] Failed to copy example into ${resolvedProjectPath}
|
|
125
120
|
|
|
126
121
|
`, e);
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
122
|
+
process.exit(1);
|
|
123
|
+
}
|
|
124
|
+
spinner.stop();
|
|
125
|
+
console.info();
|
|
126
|
+
console.info();
|
|
127
|
+
console.info(import_ansis.default.green(`${projectName} created!`));
|
|
128
|
+
console.info();
|
|
129
|
+
console.info();
|
|
130
|
+
const packageJson = await (async () => {
|
|
131
|
+
const errorMessages = [];
|
|
132
|
+
try {
|
|
133
|
+
const dirname = typeof __dirname !== "undefined" ? __dirname : import_node_path.default.dirname((0, import_node_url.fileURLToPath)(import_meta.url));
|
|
134
|
+
const possiblePaths = [
|
|
135
|
+
import_node_path.default.join(dirname, "..", "package.json"),
|
|
136
|
+
import_node_path.default.join(dirname, "..", "..", "package.json"),
|
|
137
|
+
import_node_path.default.join(dirname, "..", "..", "..", "package.json")
|
|
138
|
+
];
|
|
139
|
+
const readFile = (0, import_node_util.promisify)(import_node_fs.default.readFile);
|
|
140
|
+
for (const p of possiblePaths) {
|
|
141
|
+
try {
|
|
142
|
+
const data = JSON.parse(await readFile(p));
|
|
143
|
+
return data;
|
|
144
|
+
} catch (e) {
|
|
145
|
+
if (e instanceof Error) errorMessages.push(e.message);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
throw new Error("package.json not found in any of the expected locations.");
|
|
149
|
+
} catch (e) {
|
|
150
|
+
console.error("Failed to load package.json:", errorMessages.join("\n"));
|
|
151
|
+
throw e;
|
|
152
|
+
}
|
|
153
|
+
})();
|
|
154
|
+
updatePackageJsonName(projectName, resolvedProjectPath);
|
|
155
|
+
updatePackageJsonVersions(packageJson.version, resolvedProjectPath);
|
|
156
|
+
updateAppJsonName(projectName, resolvedProjectPath);
|
|
157
|
+
const packageManager = await (async () => {
|
|
158
|
+
if ("packageManager" in template) {
|
|
159
|
+
return template.packageManager;
|
|
160
|
+
}
|
|
161
|
+
const found = await (0, import_utils.detectPackageManager)();
|
|
162
|
+
const allFound = Object.keys(found);
|
|
163
|
+
if (allFound.length === 1) {
|
|
164
|
+
return allFound[0];
|
|
165
|
+
}
|
|
166
|
+
const response = await (0, import_prompts.default)({
|
|
167
|
+
name: "packageManager",
|
|
168
|
+
type: "select",
|
|
169
|
+
message: `Package Manager:`,
|
|
170
|
+
choices: allFound.filter((x) => found[x]).map((name) => ({
|
|
171
|
+
title: name,
|
|
172
|
+
value: name
|
|
173
|
+
}))
|
|
174
|
+
});
|
|
175
|
+
return response.packageManager;
|
|
176
|
+
})();
|
|
177
|
+
console.info();
|
|
178
|
+
if ("preInstall" in template) {
|
|
179
|
+
await template.preInstall({
|
|
180
|
+
packageManager,
|
|
181
|
+
isFullClone: true,
|
|
182
|
+
projectName,
|
|
183
|
+
projectPath: resolvedProjectPath
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
console.info();
|
|
188
|
+
console.info(import_ansis.default.green(`Installing with ${packageManager}...`));
|
|
189
|
+
console.info();
|
|
190
|
+
await (0, import_installDependencies.installDependencies)(resolvedProjectPath, packageManager);
|
|
191
|
+
} catch (e) {
|
|
192
|
+
console.error("[vxrn] error installing with " + packageManager + `
|
|
194
193
|
${e}`);
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
194
|
+
process.exit(1);
|
|
195
|
+
}
|
|
196
|
+
const envDefault = import_node_path.default.join(resolvedProjectPath, ".env.default");
|
|
197
|
+
const env = import_node_path.default.join(resolvedProjectPath, ".env");
|
|
198
|
+
if (existsSync(envDefault) && !existsSync(env)) {
|
|
199
|
+
await import_fs_extra.default.move(envDefault, env);
|
|
200
|
+
}
|
|
201
|
+
if ("extraSteps" in template) {
|
|
202
|
+
await template.extraSteps({
|
|
203
|
+
packageManager,
|
|
204
|
+
isFullClone: true,
|
|
205
|
+
projectName,
|
|
206
|
+
projectPath: resolvedProjectPath
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
console.info();
|
|
211
210
|
}
|
|
212
211
|
function updatePackageJsonName(projectName, dir) {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
212
|
+
const packageJsonPath = import_node_path.default.join(dir, "package.json");
|
|
213
|
+
if (existsSync(packageJsonPath)) {
|
|
214
|
+
const content = readFileSync(packageJsonPath).toString();
|
|
215
|
+
const contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`);
|
|
216
|
+
writeFileSync(packageJsonPath, contentWithUpdatedName);
|
|
217
|
+
}
|
|
219
218
|
}
|
|
220
219
|
function updatePackageJsonVersions(version, dir) {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
220
|
+
const packageJsonPath = import_node_path.default.join(dir, "package.json");
|
|
221
|
+
if (existsSync(packageJsonPath)) {
|
|
222
|
+
const content = readFileSync(packageJsonPath).toString();
|
|
223
|
+
const contentWithUpdatedVersions = content.replace(/"workspace:\^"/gm, `"^${version}"`).replace(/"workspace:~"/gm, `"~${version}"`).replace(/"workspace:\*"/gm, `"^${version}"`);
|
|
224
|
+
writeFileSync(packageJsonPath, contentWithUpdatedVersions);
|
|
225
|
+
}
|
|
227
226
|
}
|
|
228
227
|
function updateAppJsonName(projectName, dir) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
228
|
+
const appJsonPath = import_node_path.default.join(dir, "app.json");
|
|
229
|
+
if (existsSync(appJsonPath)) {
|
|
230
|
+
const content = readFileSync(appJsonPath).toString();
|
|
231
|
+
const projectSlug = projectName.toLowerCase().replace(/\s/g, "-");
|
|
232
|
+
const contentWithUpdatedName = content.replace(/("name": ")(.*)(",)/, `$1${projectName}$3`).replace(/("slug": ")(.*)(",)/, `$1${projectSlug}$3`);
|
|
233
|
+
writeFileSync(appJsonPath, contentWithUpdatedName);
|
|
234
|
+
}
|
|
235
|
+
}
|