@dotcms/create-app 1.2.3 → 1.2.4-next.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.
@@ -10,6 +10,10 @@ exports.finalStepsForAstro = finalStepsForAstro;
10
10
  exports.finalStepsForAngularAndAngularSSR = finalStepsForAngularAndAngularSSR;
11
11
  exports.installDependenciesForProject = installDependenciesForProject;
12
12
  exports.displayDependencies = displayDependencies;
13
+ exports.checkDockerAvailability = checkDockerAvailability;
14
+ exports.checkPortsAvailability = checkPortsAvailability;
15
+ exports.getDockerDiagnostics = getDockerDiagnostics;
16
+ exports.getDisplayPath = getDisplayPath;
13
17
  const tslib_1 = require("tslib");
14
18
  const axios_1 = tslib_1.__importDefault(require("axios"));
15
19
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -17,16 +21,82 @@ const execa_1 = require("execa");
17
21
  const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
18
22
  const ts_results_1 = require("ts-results");
19
23
  const https_1 = tslib_1.__importDefault(require("https"));
24
+ const net_1 = tslib_1.__importDefault(require("net"));
25
+ const path_1 = tslib_1.__importDefault(require("path"));
26
+ const validation_1 = require("./validation");
20
27
  const constants_1 = require("../constants");
21
- async function fetchWithRetry(url, retries = 5, delay = 5000) {
28
+ /**
29
+ * Fetches a URL with retry logic for health checks and connection validation
30
+ *
31
+ * @param url - The URL to fetch
32
+ * @param retries - Number of retry attempts (default: 5)
33
+ * @param delay - Delay between retries in milliseconds (default: 5000)
34
+ * @param requestTimeout - Per-request timeout in milliseconds (default: 10000)
35
+ * @returns Promise resolving to axios response
36
+ * @throws Error with detailed failure information after all retries exhausted
37
+ *
38
+ * @remarks
39
+ * - Accepts any 2xx HTTP status code (200-299) as success
40
+ * - Designed for health check endpoints that may return various success codes
41
+ * - Provides detailed error messages including timeout configuration
42
+ */
43
+ async function fetchWithRetry(url, retries = 5, delay = 5000, requestTimeout = 10000 // Per-request timeout in milliseconds
44
+ ) {
45
+ const errors = [];
46
+ let lastError;
22
47
  for (let i = 0; i < retries; i++) {
23
48
  try {
24
- return await axios_1.default.get(url, { timeout: 5000 });
49
+ return await axios_1.default.get(url, {
50
+ timeout: requestTimeout,
51
+ // Accept any 2xx status code as success (health endpoints may return 200, 201, 204, etc.)
52
+ validateStatus: (status) => status >= 200 && status < 300
53
+ });
25
54
  }
26
55
  catch (err) {
27
- console.log(`dotCMS still not up 😓 ${i + 1}. Retrying in ${delay / 1000}s...`);
28
- if (i === retries - 1)
29
- throw err; // throw after last attempt
56
+ lastError = err;
57
+ // Track error for debugging with more context
58
+ let errorMsg = '';
59
+ if (axios_1.default.isAxiosError(err)) {
60
+ if (err.code === 'ECONNREFUSED') {
61
+ errorMsg = 'Connection refused - service not accepting connections';
62
+ }
63
+ else if (err.code === 'ETIMEDOUT' || err.code === 'ECONNABORTED') {
64
+ errorMsg = 'Connection timeout - service too slow or not responding';
65
+ }
66
+ else if (err.response) {
67
+ errorMsg = `HTTP ${err.response.status}: ${err.response.statusText}`;
68
+ }
69
+ else {
70
+ errorMsg = err.code || err.message;
71
+ }
72
+ }
73
+ else {
74
+ errorMsg = String(err);
75
+ }
76
+ errors.push(`Attempt ${i + 1}: ${errorMsg}`);
77
+ if (i === retries - 1) {
78
+ // Last attempt failed - provide comprehensive error
79
+ const errorType = axios_1.default.isAxiosError(lastError) && lastError.code === 'ECONNREFUSED'
80
+ ? 'Connection Refused'
81
+ : axios_1.default.isAxiosError(lastError) &&
82
+ (lastError.code === 'ETIMEDOUT' || lastError.code === 'ECONNABORTED')
83
+ ? 'Timeout'
84
+ : 'Connection Failed';
85
+ throw new Error(chalk_1.default.red(`\nāŒ Failed to connect to dotCMS after ${retries} attempts (${errorType})\n\n`) +
86
+ chalk_1.default.white(`URL: ${url}\n`) +
87
+ chalk_1.default.gray(`Request timeout: ${requestTimeout}ms per attempt\n`) +
88
+ chalk_1.default.gray(`Total retry window: ~${(retries * (delay + requestTimeout)) / 1000}s\n\n`) +
89
+ chalk_1.default.yellow('Common causes:\n') +
90
+ chalk_1.default.white(' • dotCMS is still starting up (may need more time)\n') +
91
+ chalk_1.default.white(' • Container crashed or failed to start\n') +
92
+ chalk_1.default.white(' • Port conflict (8082 already in use)\n') +
93
+ chalk_1.default.white(' • Network/firewall blocking connection\n') +
94
+ chalk_1.default.white(` • Request timeout too short (current: ${requestTimeout}ms)\n\n`) +
95
+ chalk_1.default.gray('Detailed error history:\n' + errors.map((e) => ` • ${e}`).join('\n')));
96
+ }
97
+ console.log(chalk_1.default.yellow(`ā³ dotCMS not ready (attempt ${i + 1}/${retries})`) +
98
+ chalk_1.default.gray(` - ${errorMsg}`) +
99
+ chalk_1.default.gray(` - Retrying in ${delay / 1000}s...`));
30
100
  await new Promise((r) => setTimeout(r, delay));
31
101
  }
32
102
  }
@@ -57,7 +127,10 @@ function getPortByFramework(framework) {
57
127
  }
58
128
  function getDotcmsApisByBaseUrl(baseUrl) {
59
129
  return {
60
- DOTCMS_HEALTH_API: `${baseUrl}/api/v1/probes/alive`,
130
+ // Note: Using /appconfiguration instead of /probes/alive because the probe endpoints
131
+ // have IP ACL restrictions that block requests from Docker host.
132
+ // See: https://github.com/dotCMS/core/issues/34509
133
+ DOTCMS_HEALTH_API: `${baseUrl}/api/v1/appconfiguration`,
61
134
  DOTCMS_TOKEN_API: `${baseUrl}/api/v1/authentication/api-token`,
62
135
  DOTCMS_EMA_CONFIG_API: `${baseUrl}/api/v1/apps/dotema-config-v2/`,
63
136
  DOTCMS_DEMO_SITE: `${baseUrl}/api/v1/site/`
@@ -85,7 +158,8 @@ function finalStepsForNextjs({ projectPath, urlDotCMSInstance, siteId, token })
85
158
  console.log('\n');
86
159
  console.log(chalk_1.default.white('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
87
160
  console.log(chalk_1.default.greenBright('šŸ“‹ Next Steps:\n'));
88
- console.log(chalk_1.default.white('1. Navigate to your project:\n') + chalk_1.default.gray(` $ cd ${projectPath}\n`));
161
+ console.log(chalk_1.default.white('1. Navigate to your project:\n') +
162
+ chalk_1.default.gray(` $ cd ${(0, validation_1.escapeShellPath)(projectPath)}\n`));
89
163
  console.log(chalk_1.default.white('2. Create your environment file:\n') + chalk_1.default.gray(' $ touch .env\n'));
90
164
  console.log(chalk_1.default.white('3. Add your dotCMS configuration to ') + chalk_1.default.green('.env') + ':\n');
91
165
  console.log(chalk_1.default.white('──────────────────────────────────────────────\n'));
@@ -104,7 +178,8 @@ function finalStepsForAstro({ projectPath, urlDotCMSInstance, siteId, token }) {
104
178
  console.log('\n');
105
179
  console.log(chalk_1.default.white('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
106
180
  console.log(chalk_1.default.greenBright('šŸ“‹ Next Steps:\n'));
107
- console.log(chalk_1.default.white('1. Navigate to your project:\n') + chalk_1.default.gray(` $ cd ${projectPath}\n`));
181
+ console.log(chalk_1.default.white('1. Navigate to your project:\n') +
182
+ chalk_1.default.gray(` $ cd ${(0, validation_1.escapeShellPath)(projectPath)}\n`));
108
183
  console.log(chalk_1.default.white('2. Create your environment file:\n') + chalk_1.default.gray(' $ touch .env\n'));
109
184
  console.log(chalk_1.default.white('3. Add your dotCMS configuration to ') + chalk_1.default.green('.env') + ':\n');
110
185
  console.log(chalk_1.default.white('──────────────────────────────────────────────\n'));
@@ -124,7 +199,7 @@ function finalStepsForAngularAndAngularSSR({ projectPath, urlDotCMSInstance, sit
124
199
  console.log(chalk_1.default.white('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'));
125
200
  console.log(chalk_1.default.greenBright('šŸ“‹ Next Steps:\n'));
126
201
  console.log(chalk_1.default.white('1. Navigate to your environments directory:\n') +
127
- chalk_1.default.gray(` $ cd ${projectPath}/src/environments\n`));
202
+ chalk_1.default.gray(` $ cd ${(0, validation_1.escapeShellPath)(projectPath)}/src/environments\n`));
128
203
  console.log(chalk_1.default.white('2. Update the environment files:\n') +
129
204
  chalk_1.default.gray(' Replace the contents of the following files:\n' +
130
205
  ' • environment.ts\n' +
@@ -203,4 +278,184 @@ function formatDependencies(dependencies, devDependencies) {
203
278
  devDependencies.forEach((item) => lines.push(chalk_1.default.grey(`- ${item}`)));
204
279
  return lines.join('\n');
205
280
  }
281
+ /**
282
+ * Checks if Docker is installed and running
283
+ * @returns Result with true if available, or error message if not
284
+ */
285
+ async function checkDockerAvailability() {
286
+ try {
287
+ // Check if Docker is installed and running by executing 'docker info'
288
+ await (0, execa_1.execa)('docker', ['info']);
289
+ return (0, ts_results_1.Ok)(true);
290
+ }
291
+ catch {
292
+ // Docker is either not installed or not running
293
+ const errorMsg = chalk_1.default.red('\nāŒ Docker is not available\n\n') +
294
+ chalk_1.default.white('Docker is required to run dotCMS locally.\n\n') +
295
+ chalk_1.default.yellow('How to fix:\n') +
296
+ chalk_1.default.white(' 1. Install Docker Desktop:\n') +
297
+ chalk_1.default.cyan(' → https://www.docker.com/products/docker-desktop\n\n') +
298
+ chalk_1.default.white(' 2. Start Docker Desktop\n') +
299
+ chalk_1.default.white(' 3. Wait for Docker to be running (check the Docker icon in your system tray)\n') +
300
+ chalk_1.default.white(' 4. Run this command again\n\n') +
301
+ chalk_1.default.gray('Alternative: Use --url flag to connect to an existing dotCMS instance');
302
+ return (0, ts_results_1.Err)(errorMsg);
303
+ }
304
+ }
305
+ /**
306
+ * Checks if a specific port is available
307
+ * @param port - Port number to check
308
+ * @returns Promise resolving to true if available, false if in use
309
+ */
310
+ function isPortAvailable(port) {
311
+ return new Promise((resolve) => {
312
+ const server = net_1.default.createServer();
313
+ server.once('error', (err) => {
314
+ if (err.code === 'EADDRINUSE') {
315
+ resolve(false); // Port is in use
316
+ }
317
+ else {
318
+ // Unexpected error while checking port; log and treat as unavailable
319
+ console.warn(chalk_1.default.yellow(`Warning: Unexpected error while checking port ${port}: ${err.message}`));
320
+ resolve(false); // Conservative: treat as unavailable
321
+ }
322
+ });
323
+ server.once('listening', () => {
324
+ server.close();
325
+ resolve(true); // Port is available
326
+ });
327
+ server.listen(port, '0.0.0.0');
328
+ });
329
+ }
330
+ /**
331
+ * Checks if required dotCMS ports are available
332
+ * @returns Result with true if all ports available, or error message with busy ports
333
+ */
334
+ async function checkPortsAvailability() {
335
+ const requiredPorts = [
336
+ { port: 8082, service: 'dotCMS HTTP' },
337
+ { port: 8443, service: 'dotCMS HTTPS' },
338
+ { port: 9200, service: 'Elasticsearch HTTP' },
339
+ { port: 9600, service: 'Elasticsearch Transport' }
340
+ ];
341
+ const busyPorts = [];
342
+ // Check all ports
343
+ for (const { port, service } of requiredPorts) {
344
+ const available = await isPortAvailable(port);
345
+ if (!available) {
346
+ busyPorts.push({ port, service });
347
+ }
348
+ }
349
+ if (busyPorts.length > 0) {
350
+ const errorMsg = chalk_1.default.red('\nāŒ Required ports are already in use\n\n') +
351
+ chalk_1.default.white('The following ports are busy:\n') +
352
+ busyPorts
353
+ .map(({ port, service }) => chalk_1.default.yellow(` • Port ${port}`) + chalk_1.default.gray(` (${service})`))
354
+ .join('\n') +
355
+ '\n\n' +
356
+ chalk_1.default.yellow('How to fix:\n') +
357
+ chalk_1.default.white(' 1. Stop services using these ports:\n') +
358
+ chalk_1.default.gray(" • Check what's using the ports: ") +
359
+ chalk_1.default.cyan(process.platform === 'win32'
360
+ ? `netstat -ano | findstr ":<port>"`
361
+ : `lsof -i :<port>`) +
362
+ '\n' +
363
+ chalk_1.default.gray(' • Stop the conflicting service\n\n') +
364
+ chalk_1.default.white(' 2. Or stop existing dotCMS containers:\n') +
365
+ chalk_1.default.cyan(' $ docker compose down\n\n') +
366
+ chalk_1.default.white(' 3. Run this command again\n\n') +
367
+ chalk_1.default.gray('Alternative: Use --url flag to connect to an existing dotCMS instance');
368
+ return (0, ts_results_1.Err)(errorMsg);
369
+ }
370
+ return (0, ts_results_1.Ok)(true);
371
+ }
372
+ /**
373
+ * Gets comprehensive Docker diagnostics including container status and logs
374
+ * @param directory - Optional directory where docker-compose was run
375
+ * @returns Formatted diagnostic information string
376
+ */
377
+ async function getDockerDiagnostics(directory) {
378
+ const diagnostics = [];
379
+ // Reuse the Docker availability check
380
+ const dockerAvailable = await checkDockerAvailability();
381
+ if (!dockerAvailable.ok) {
382
+ return dockerAvailable.val; // Return the detailed error message (Err value is string)
383
+ }
384
+ try {
385
+ // Get container status
386
+ const { stdout: psOutput } = await (0, execa_1.execa)('docker', ['ps', '-a', '--format', '{{.Names}}\t{{.Status}}\t{{.Ports}}'], { cwd: directory });
387
+ if (!psOutput.trim()) {
388
+ diagnostics.push(chalk_1.default.yellow('\nāš ļø No Docker containers found'));
389
+ diagnostics.push(chalk_1.default.white('The docker-compose.yml may not have been started correctly\n'));
390
+ return diagnostics.join('\n');
391
+ }
392
+ diagnostics.push(chalk_1.default.cyan('\nšŸ“‹ Container Status:'));
393
+ const containers = psOutput.trim().split('\n');
394
+ for (const container of containers) {
395
+ const [name, status, ports] = container.split('\t');
396
+ const isHealthy = status.includes('Up') && !status.includes('unhealthy');
397
+ const icon = isHealthy ? 'āœ…' : 'āŒ';
398
+ diagnostics.push(` ${icon} ${chalk_1.default.white(name)}: ${chalk_1.default.gray(status)}`);
399
+ if (ports) {
400
+ diagnostics.push(` ${chalk_1.default.gray('Ports:')} ${chalk_1.default.white(ports)}`);
401
+ }
402
+ }
403
+ // Check for unhealthy containers and get their logs
404
+ const unhealthyContainers = containers.filter((c) => !c.includes('Up') || c.includes('unhealthy') || c.includes('Exited'));
405
+ if (unhealthyContainers.length > 0) {
406
+ diagnostics.push(chalk_1.default.yellow('\nšŸ” Recent logs from problematic containers:\n'));
407
+ for (const container of unhealthyContainers) {
408
+ const name = container.split('\t')[0];
409
+ try {
410
+ const { stdout: logs } = await (0, execa_1.execa)('docker', ['logs', '--tail', '20', name], {
411
+ cwd: directory,
412
+ reject: false
413
+ });
414
+ diagnostics.push(chalk_1.default.white(`\n--- ${name} ---`));
415
+ diagnostics.push(chalk_1.default.gray(logs.split('\n').slice(-10).join('\n')));
416
+ }
417
+ catch {
418
+ diagnostics.push(chalk_1.default.gray(` Unable to fetch logs for ${name}`));
419
+ }
420
+ }
421
+ }
422
+ }
423
+ catch (error) {
424
+ diagnostics.push(chalk_1.default.red('\nāŒ Failed to get Docker diagnostics'));
425
+ diagnostics.push(chalk_1.default.gray(String(error)));
426
+ }
427
+ diagnostics.push(chalk_1.default.yellow('\nšŸ’” Troubleshooting steps:'));
428
+ diagnostics.push(chalk_1.default.white(' 1. Check if all containers are running:'));
429
+ diagnostics.push(chalk_1.default.gray(' docker ps'));
430
+ diagnostics.push(chalk_1.default.white(' 2. View logs for a specific container:'));
431
+ diagnostics.push(chalk_1.default.gray(' docker logs <container-name>'));
432
+ diagnostics.push(chalk_1.default.white(' 3. Restart the containers:'));
433
+ diagnostics.push(chalk_1.default.gray(' docker compose down && docker compose up -d'));
434
+ diagnostics.push(chalk_1.default.white(' 4. Check if ports 8082, 8443, 9200, and 9600 are available\n'));
435
+ return diagnostics.join('\n');
436
+ }
437
+ /**
438
+ * Returns a user-friendly display path for CLI output
439
+ * Uses absolute path if cleaner, otherwise uses relative path
440
+ *
441
+ * @param targetPath - Absolute path to the target directory
442
+ * @param cwd - Current working directory
443
+ * @returns Formatted path string for display (relative or absolute)
444
+ *
445
+ * @remarks
446
+ * - Uses absolute path when relative path would contain 3+ parent directory traversals (../)
447
+ * - Uses relative path for simpler navigation (e.g., './my-project')
448
+ * - Prevents confusing output like 'cd ../../../../tmp/test-dir'
449
+ */
450
+ function getDisplayPath(targetPath, cwd) {
451
+ const relativePath = path_1.default.relative(cwd, targetPath);
452
+ // Count the number of parent directory traversals in the relative path
453
+ const parentDirCount = (relativePath.match(/\.\.\//g) || []).length;
454
+ // If relative path has 3+ parent directories, use absolute path instead
455
+ if (parentDirCount >= 3) {
456
+ return targetPath;
457
+ }
458
+ // Otherwise use relative path (e.g., './my-project' or 'my-project')
459
+ return relativePath.startsWith('.') ? relativePath : `./${relativePath}`;
460
+ }
206
461
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/sdk/create-app/src/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/sdk/create-app/src/utils/index.ts"],"names":[],"mappings":";;AAwCA,wCA8EC;AAED,8CASC;AAED,gDAaC;AAED,wDAUC;AAGD,oCAkBC;AACD,kDAmDC;AAED,gDAmDC;AAED,8EAwDC;AA8BD,sEAaC;AAED,kDAaC;AAoBD,0DAsBC;AAsCD,wDAgDC;AAOD,oDA2EC;AAeD,wCAaC;;AA5nBD,0DAA0B;AAC1B,0DAA0B;AAC1B,iCAA8B;AAC9B,gEAA0B;AAC1B,2CAA6C;AAE7C,0DAA0B;AAC1B,sDAAsB;AACtB,wDAAwB;AAExB,6CAA+C;AAE/C,4CASsB;AAItB;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,cAAc,CAChC,GAAW,EACX,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,IAAI,EACZ,cAAc,GAAG,KAAK,CAAC,sCAAsC;;IAE7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,CAAC;YACD,OAAO,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBACxB,OAAO,EAAE,cAAc;gBACvB,0FAA0F;gBAC1F,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;aAC5D,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,SAAS,GAAG,GAAG,CAAC;YAEhB,8CAA8C;YAC9C,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,eAAK,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAC9B,QAAQ,GAAG,wDAAwD,CAAC;gBACxE,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACjE,QAAQ,GAAG,yDAAyD,CAAC;gBACzE,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACtB,QAAQ,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACJ,QAAQ,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC;gBACvC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,OAAO,GAAG,CAAC,EAAE,CAAC;gBACpB,oDAAoD;gBACpD,MAAM,SAAS,GACX,eAAK,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc;oBAC9D,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,eAAK,CAAC,YAAY,CAAC,SAAS,CAAC;wBAC3B,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC;wBACvE,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,mBAAmB,CAAC;gBAEhC,MAAM,IAAI,KAAK,CACX,eAAK,CAAC,GAAG,CACL,yCAAyC,OAAO,cAAc,SAAS,OAAO,CACjF;oBACG,eAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAC5B,eAAK,CAAC,IAAI,CAAC,oBAAoB,cAAc,kBAAkB,CAAC;oBAChE,eAAK,CAAC,IAAI,CACN,wBAAwB,CAAC,OAAO,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC,CAAC,GAAG,IAAI,OAAO,CAC7E;oBACD,eAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;oBAChC,eAAK,CAAC,KAAK,CAAC,wDAAwD,CAAC;oBACrE,eAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC;oBACzD,eAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC;oBACxD,eAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC;oBACzD,eAAK,CAAC,KAAK,CACP,2CAA2C,cAAc,SAAS,CACrE;oBACD,eAAK,CAAC,IAAI,CACN,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACzE,CACR,CAAC;YACN,CAAC;YAED,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC;gBAC5D,eAAK,CAAC,IAAI,CAAC,MAAM,QAAQ,EAAE,CAAC;gBAC5B,eAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAG,IAAI,MAAM,CAAC,CACvD,CAAC;YACF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB,CAAC,WAAmB;IACjD,OAAO,IAAI,CAAC,SAAS,CAAC;QAClB,MAAM,EAAE;YACJ;gBACI,OAAO,EAAE,IAAI;gBACb,GAAG,EAAE,WAAW;aACnB;SACJ;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,kBAAkB,CAAC,SAAsC;IACrE,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,MAAM,CAAC;QAClB,KAAK,aAAa;YACd,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC;QAClB,KAAK,OAAO;YACR,OAAO,MAAM,CAAC;QAClB;YACI,MAAM,IAAI,KAAK,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IAClD,OAAO;QACH,qFAAqF;QACrF,iEAAiE;QACjE,mDAAmD;QACnD,iBAAiB,EAAE,GAAG,OAAO,0BAA0B;QACvD,gBAAgB,EAAE,GAAG,OAAO,kCAAkC;QAC9D,qBAAqB,EAAE,GAAG,OAAO,gCAAgC;QACjE,gBAAgB,EAAE,GAAG,OAAO,eAAe;KAC9C,CAAC;AACN,CAAC;AAED,6CAA6C;AAC7C,SAAgB,YAAY,CAAC,GAAW,EAAE,IAAY;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,kBAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAExC,eAAK;aACA,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE;YACnB,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAChF,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,kBAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC;AACD,SAAgB,mBAAmB,CAAC,EAChC,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,KAAK,EAMR;IACG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC;QACzC,eAAK,CAAC,IAAI,CAAC,WAAW,IAAA,4BAAe,EAAC,WAAW,CAAC,IAAI,CAAC,CAC9D,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CACtF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAE/F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAE3F,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACxF,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CACtF,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC;QACjD,eAAK,CAAC,IAAI,CAAC,QAAQ,iBAAiB,oCAAoC,CAAC,CAChF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE5F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAgB,kBAAkB,CAAC,EAC/B,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,KAAK,EAMR;IACG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC;QACzC,eAAK,CAAC,IAAI,CAAC,WAAW,IAAA,4BAAe,EAAC,WAAW,CAAC,IAAI,CAAC,CAC9D,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CACtF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC;IAE/F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAE3F,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CACxF,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CACtF,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC;QACjD,eAAK,CAAC,IAAI,CAAC,QAAQ,iBAAiB,oCAAoC,CAAC,CAChF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE5F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,SAAgB,iCAAiC,CAAC,EAC9C,WAAW,EACX,iBAAiB,EACjB,MAAM,EACN,KAAK,EAMR;IACG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC;QACxD,eAAK,CAAC,IAAI,CAAC,WAAW,IAAA,4BAAe,EAAC,WAAW,CAAC,qBAAqB,CAAC,CAC/E,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC;QAC7C,eAAK,CAAC,IAAI,CACN,mDAAmD;YAC/C,uBAAuB;YACvB,qCAAqC,CAC5C,CACR,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE/E,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAC3F,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEhG,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CACtF,CAAC;IAEF,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC;QACjD,eAAK,CAAC,IAAI,CAAC,QAAQ,iBAAiB,oCAAoC,CAAC,CAChF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAE7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAE5F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;AACpG,CAAC;AACD,SAAS,wBAAwB,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa;IACzE,OAAO;wCAC6B,KAAK;kCACX,IAAI;qCACD,MAAM;;KAEtC,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa;IACxE,OAAO;mCACwB,KAAK;6BACX,IAAI;gCACD,MAAM;;;KAGjC,CAAC;AACN,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa;IAC1E,OAAO;;sBAEW,IAAI;sBACJ,KAAK;mBACR,MAAM;;KAEpB,CAAC;AACN,CAAC;AAEM,KAAK,UAAU,6BAA6B,CAC/C,WAAmB;IAEnB,IAAI,CAAC;QACD,MAAM,IAAA,aAAK,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YAC5B,GAAG,EAAE,WAAW;YAChB,8DAA8D;SACjE,CAAC,CAAC;QAEH,OAAO,IAAA,eAAE,EAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAA,gBAAG,EAAC,mEAAmE,CAAC,CAAC;IACpF,CAAC;AACL,CAAC;AAED,SAAgB,mBAAmB,CAAC,iBAA8C;IAC9E,QAAQ,iBAAiB,EAAE,CAAC;QACxB,KAAK,QAAQ;YACT,OAAO,kBAAkB,CAAC,+BAAmB,EAAE,mCAAuB,CAAC,CAAC;QAC5E,KAAK,OAAO;YACR,OAAO,kBAAkB,CAAC,8BAAkB,EAAE,kCAAsB,CAAC,CAAC;QAC1E,KAAK,SAAS;YACV,OAAO,kBAAkB,CAAC,gCAAoB,EAAE,oCAAwB,CAAC,CAAC;QAC9E,KAAK,aAAa;YACd,OAAO,kBAAkB,CAAC,oCAAwB,EAAE,wCAA4B,CAAC,CAAC;QACtF;YACI,OAAO,EAAE,CAAC;IAClB,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAsB,EAAE,eAAyB;IACzE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACzC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;IAE7B,KAAK,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,uBAAuB;IACzC,IAAI,CAAC;QACD,sEAAsE;QACtE,MAAM,IAAA,aAAK,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,OAAO,IAAA,eAAE,EAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACL,gDAAgD;QAChD,MAAM,QAAQ,GACV,eAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC;YAC5C,eAAK,CAAC,KAAK,CAAC,+CAA+C,CAAC;YAC5D,eAAK,CAAC,MAAM,CAAC,eAAe,CAAC;YAC7B,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC;YAC7C,eAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC;YACvE,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC;YAC1C,eAAK,CAAC,KAAK,CACP,kFAAkF,CACrF;YACD,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC;YAC9C,eAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAExF,OAAO,IAAA,gBAAG,EAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAG,CAAC,YAAY,EAAE,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAChD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB;YACrC,CAAC;iBAAM,CAAC;gBACJ,qEAAqE;gBACrE,OAAO,CAAC,IAAI,CACR,eAAK,CAAC,MAAM,CACR,iDAAiD,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAC1E,CACJ,CAAC;gBACF,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,qCAAqC;YACzD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;QACvC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB;IACxC,MAAM,aAAa,GAAG;QAClB,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE;QACtC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE;QACvC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE;QAC7C,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,EAAE;KACrD,CAAC;IAEF,MAAM,SAAS,GAAwC,EAAE,CAAC;IAE1D,kBAAkB;IAClB,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,aAAa,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,QAAQ,GACV,eAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC;YACtD,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC;YAC9C,SAAS;iBACJ,GAAG,CACA,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAClB,eAAK,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,CAAC,CACrE;iBACA,IAAI,CAAC,IAAI,CAAC;YACf,MAAM;YACN,eAAK,CAAC,MAAM,CAAC,eAAe,CAAC;YAC7B,eAAK,CAAC,KAAK,CAAC,yCAAyC,CAAC;YACtD,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC;YACnD,eAAK,CAAC,IAAI,CACN,OAAO,CAAC,QAAQ,KAAK,OAAO;gBACxB,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,iBAAiB,CAC1B;YACD,IAAI;YACJ,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC;YACrD,eAAK,CAAC,KAAK,CAAC,4CAA4C,CAAC;YACzD,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC;YAC5C,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC;YAC9C,eAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAExF,OAAO,IAAA,gBAAG,EAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAA,eAAE,EAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CAAC,SAAkB;IACzD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,sCAAsC;IACtC,MAAM,eAAe,GAAG,MAAM,uBAAuB,EAAE,CAAC;IACxD,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAa,CAAC,CAAC,0DAA0D;IACpG,CAAC;IAED,IAAI,CAAC;QACD,uBAAuB;QACvB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,aAAK,EACpC,QAAQ,EACR,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,qCAAqC,CAAC,EAC/D,EAAE,GAAG,EAAE,SAAS,EAAE,CACrB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YACnE,WAAW,CAAC,IAAI,CACZ,eAAK,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAC9E,CAAC;YACF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE,CAAC;gBACR,WAAW,CAAC,IAAI,CAAC,QAAQ,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,oDAAoD;QACpD,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC9E,CAAC;QAEF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC,CAAC;YAElF,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC;oBACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,aAAK,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;wBAC3E,GAAG,EAAE,SAAS;wBACd,MAAM,EAAE,KAAK;qBAChB,CAAC,CAAC;oBACH,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC;oBACnD,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzE,CAAC;gBAAC,MAAM,CAAC;oBACL,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvE,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACpE,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC9D,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/C,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAC1E,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAClE,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC9D,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IACjF,WAAW,CAAC,IAAI,CAAC,eAAK,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC,CAAC;IAEhG,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAAC,UAAkB,EAAE,GAAW;IAC1D,MAAM,YAAY,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAEpD,uEAAuE;IACvE,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAEpE,wEAAwE;IACxE,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { DotCmsCliOptions, SupportedFrontEndFrameworks } from '../types';
2
+ /**
3
+ * Validates and normalizes framework name
4
+ * Supports case-insensitive matching and common aliases
5
+ *
6
+ * @param framework - The framework name from CLI flag
7
+ * @returns Normalized framework name or undefined if not provided
8
+ * @throws Error if framework is invalid
9
+ */
10
+ export declare function validateAndNormalizeFramework(framework: string | undefined): SupportedFrontEndFrameworks | undefined;
11
+ /**
12
+ * Normalizes a URL by removing trailing slashes
13
+ * @param url - The URL to normalize
14
+ * @returns URL without trailing slash
15
+ */
16
+ export declare function normalizeUrl(url: string): string;
17
+ /**
18
+ * Validates URL format
19
+ * Checks for protocol, valid format, and hostname
20
+ *
21
+ * @param url - The URL from CLI flag
22
+ * @throws Error if URL format is invalid
23
+ */
24
+ export declare function validateUrl(url: string | undefined): void;
25
+ /**
26
+ * Validates project name for filesystem safety and best practices
27
+ *
28
+ * @param projectName - The project name from CLI flag or prompt
29
+ * @returns Validated project name (preserves original casing)
30
+ * @throws Error if project name is invalid
31
+ */
32
+ export declare function validateProjectName(projectName: string | undefined): string | undefined;
33
+ /**
34
+ * Escapes a file path for safe use in shell commands across platforms
35
+ * Handles spaces, special characters, and cross-platform compatibility
36
+ *
37
+ * @param filePath - The file path to escape
38
+ * @returns Shell-safe escaped path
39
+ */
40
+ export declare function escapeShellPath(filePath: string): string;
41
+ /**
42
+ * Validates CLI options for conflicting parameters
43
+ * Warns user when both local and cloud parameters are provided
44
+ *
45
+ * @param options - CLI options to validate
46
+ */
47
+ export declare function validateConflictingParameters(options: DotCmsCliOptions): void;