create-prisma-php-app 3.3.1 → 3.3.2
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 +45 -26
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -173,29 +173,11 @@ async function main() {
|
|
|
173
173
|
let projectName = args[0];
|
|
174
174
|
let answer = null;
|
|
175
175
|
if (projectName) {
|
|
176
|
-
|
|
177
|
-
let useSwaggerDocs = args.includes("--swagger-docs");
|
|
178
|
-
let useTailwind = args.includes("--tailwindcss");
|
|
179
|
-
let useWebsocket = args.includes("--websocket");
|
|
180
|
-
let usePrisma = args.includes("--prisma");
|
|
181
|
-
let useDocker = args.includes("--docker");
|
|
182
|
-
const predefinedAnswers = {
|
|
183
|
-
projectName,
|
|
184
|
-
backendOnly: useBackendOnly,
|
|
185
|
-
swaggerDocs: useSwaggerDocs,
|
|
186
|
-
tailwindcss: useTailwind,
|
|
187
|
-
websocket: useWebsocket,
|
|
188
|
-
prisma: usePrisma,
|
|
189
|
-
docker: useDocker,
|
|
190
|
-
};
|
|
191
|
-
answer = await getAnswer(predefinedAnswers);
|
|
192
|
-
if (answer === null) {
|
|
193
|
-
console.log(chalk.red("Installation cancelled."));
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
176
|
+
// Check if it's an update FIRST
|
|
196
177
|
const currentDir = process.cwd();
|
|
197
178
|
const configPath = path.join(currentDir, "prisma-php.json");
|
|
198
179
|
if (fs.existsSync(configPath)) {
|
|
180
|
+
// It's an update - read existing settings
|
|
199
181
|
const localSettings = readJsonFile(configPath);
|
|
200
182
|
let excludeFiles = [];
|
|
201
183
|
localSettings.excludeFiles?.map((file) => {
|
|
@@ -205,19 +187,56 @@ async function main() {
|
|
|
205
187
|
});
|
|
206
188
|
updateAnswer = {
|
|
207
189
|
projectName,
|
|
208
|
-
backendOnly:
|
|
209
|
-
swaggerDocs:
|
|
210
|
-
tailwindcss:
|
|
211
|
-
websocket:
|
|
212
|
-
prisma:
|
|
213
|
-
docker:
|
|
190
|
+
backendOnly: localSettings.backendOnly,
|
|
191
|
+
swaggerDocs: localSettings.swaggerDocs,
|
|
192
|
+
tailwindcss: localSettings.tailwindcss,
|
|
193
|
+
websocket: localSettings.websocket,
|
|
194
|
+
prisma: localSettings.prisma,
|
|
195
|
+
docker: localSettings.docker,
|
|
214
196
|
isUpdate: true,
|
|
215
197
|
excludeFiles: localSettings.excludeFiles ?? [],
|
|
216
198
|
excludeFilePath: excludeFiles ?? [],
|
|
217
199
|
filePath: currentDir,
|
|
218
200
|
};
|
|
201
|
+
// For updates, use existing settings but allow CLI overrides
|
|
202
|
+
const predefinedAnswers = {
|
|
203
|
+
projectName,
|
|
204
|
+
backendOnly:
|
|
205
|
+
args.includes("--backend-only") || localSettings.backendOnly,
|
|
206
|
+
swaggerDocs:
|
|
207
|
+
args.includes("--swagger-docs") || localSettings.swaggerDocs,
|
|
208
|
+
tailwindcss:
|
|
209
|
+
args.includes("--tailwindcss") || localSettings.tailwindcss,
|
|
210
|
+
websocket: args.includes("--websocket") || localSettings.websocket,
|
|
211
|
+
prisma: args.includes("--prisma") || localSettings.prisma,
|
|
212
|
+
docker: args.includes("--docker") || localSettings.docker,
|
|
213
|
+
};
|
|
214
|
+
answer = await getAnswer(predefinedAnswers);
|
|
215
|
+
} else {
|
|
216
|
+
// It's a new project - use CLI arguments
|
|
217
|
+
let useBackendOnly = args.includes("--backend-only");
|
|
218
|
+
let useSwaggerDocs = args.includes("--swagger-docs");
|
|
219
|
+
let useTailwind = args.includes("--tailwindcss");
|
|
220
|
+
let useWebsocket = args.includes("--websocket");
|
|
221
|
+
let usePrisma = args.includes("--prisma");
|
|
222
|
+
let useDocker = args.includes("--docker");
|
|
223
|
+
const predefinedAnswers = {
|
|
224
|
+
projectName,
|
|
225
|
+
backendOnly: useBackendOnly,
|
|
226
|
+
swaggerDocs: useSwaggerDocs,
|
|
227
|
+
tailwindcss: useTailwind,
|
|
228
|
+
websocket: useWebsocket,
|
|
229
|
+
prisma: usePrisma,
|
|
230
|
+
docker: useDocker,
|
|
231
|
+
};
|
|
232
|
+
answer = await getAnswer(predefinedAnswers);
|
|
233
|
+
}
|
|
234
|
+
if (answer === null) {
|
|
235
|
+
console.log(chalk.red("Installation cancelled."));
|
|
236
|
+
return;
|
|
219
237
|
}
|
|
220
238
|
} else {
|
|
239
|
+
// No project name provided - interactive mode
|
|
221
240
|
answer = await getAnswer();
|
|
222
241
|
}
|
|
223
242
|
if (answer === null) {
|