@flexsiteio/cli 1.0.2 → 1.0.4

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/README.md CHANGED
@@ -104,6 +104,49 @@ flexsite config set env <envId>
104
104
  flexsite config path
105
105
  ```
106
106
 
107
+ ### Composer Migration
108
+
109
+ Transform `composer.json` from other platforms (Pantheon, Acquia, Platform.sh) to FlexSite format.
110
+
111
+ ```bash
112
+ # Check composer.json for FlexSite compatibility
113
+ flexsite composer check
114
+
115
+ # Fix composer.json for FlexSite (interactive)
116
+ flexsite composer fix
117
+
118
+ # Fix with project name specified
119
+ flexsite composer fix --name my-project
120
+
121
+ # Preview changes without modifying files
122
+ flexsite composer fix --dry-run
123
+
124
+ # Create backup before modifying
125
+ flexsite composer fix --backup
126
+
127
+ # Skip adding performance packages
128
+ flexsite composer fix --skip-performance
129
+
130
+ # Specify custom file path
131
+ flexsite composer fix -f path/to/composer.json
132
+ ```
133
+
134
+ **What `composer fix` does:**
135
+
136
+ | Change | Description |
137
+ |--------|-------------|
138
+ | Name | Updates to `flexsite/{project-name}` |
139
+ | Repositories | Adds FlexSite package repository, removes platform-specific paths |
140
+ | Packages | Removes Pantheon/Acquia packages, adds `flexsite/fs_performance`, `drupal/redis`, `drupal/purge`, `drupal/varnish_purge` |
141
+ | Installer paths | Adds `recipes/{$name}` for Drupal recipes, removes Quicksilver |
142
+ | Scaffold | Removes platform-specific file mappings |
143
+ | Scripts | Removes platform-specific composer scripts |
144
+
145
+ **Supported platforms:**
146
+ - Pantheon (`pantheon-upstreams/drupal-composer-managed`)
147
+ - Acquia (`acquia/blt`)
148
+ - Platform.sh (`platformsh/config-reader`)
149
+
107
150
  ## Local Environment Support
108
151
 
109
152
  The CLI automatically detects Lando and DDEV environments and uses the appropriate commands for importing databases and files.
@@ -161,6 +204,8 @@ When creating a personal access token, you can limit its permissions:
161
204
  | `projects:read` | List projects |
162
205
  | `environments:read` | List environments |
163
206
 
207
+ > **Note:** The `flexsite composer` commands work locally and do not require authentication or any token scopes.
208
+
164
209
  ## License
165
210
 
166
211
  MIT
@@ -11,6 +11,7 @@ const db_js_1 = require("../commands/db.js");
11
11
  const files_js_1 = require("../commands/files.js");
12
12
  const sync_js_1 = require("../commands/sync.js");
13
13
  const config_js_1 = require("../commands/config.js");
14
+ const composer_js_1 = require("../commands/composer.js");
14
15
  // Version is managed in package.json
15
16
  const VERSION = '1.0.2';
16
17
  const program = new commander_1.Command();
@@ -24,6 +25,7 @@ program.addCommand(db_js_1.dbCommand);
24
25
  program.addCommand(files_js_1.filesCommand);
25
26
  program.addCommand(sync_js_1.syncCommand);
26
27
  program.addCommand(config_js_1.configCommand);
28
+ program.addCommand(composer_js_1.composerCommand);
27
29
  // Parse arguments
28
30
  program.parse(process.argv);
29
31
  // Show help if no command provided
@@ -1 +1 @@
1
- {"version":3,"file":"flexsite.js","sourceRoot":"","sources":["../../src/bin/flexsite.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;AAEH,yCAAoC;AACpC,iDAAkD;AAClD,6CAA8C;AAC9C,mDAAoD;AACpD,iDAAkD;AAClD,qDAAsD;AAEtD,qCAAqC;AACrC,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,qBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,iBAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,qBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,yBAAa,CAAC,CAAC;AAElC,kBAAkB;AAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"flexsite.js","sourceRoot":"","sources":["../../src/bin/flexsite.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;AAEH,yCAAoC;AACpC,iDAAkD;AAClD,6CAA8C;AAC9C,mDAAoD;AACpD,iDAAkD;AAClD,qDAAsD;AACtD,yDAA0D;AAE1D,qCAAqC;AACrC,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,oEAAoE,CAAC;KACjF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,qBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,iBAAS,CAAC,CAAC;AAC9B,OAAO,CAAC,UAAU,CAAC,uBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,qBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,yBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,6BAAe,CAAC,CAAC;AAEpC,kBAAkB;AAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Composer command for FlexSite CLI.
3
+ * Transforms composer.json from other platforms (Pantheon, Acquia, etc.) to FlexSite format.
4
+ */
5
+ import { Command } from 'commander';
6
+ export declare const composerCommand: Command;
7
+ //# sourceMappingURL=composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../../src/commands/composer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAubpC,eAAO,MAAM,eAAe,SACqC,CAAC"}
@@ -0,0 +1,615 @@
1
+ "use strict";
2
+ /**
3
+ * Composer command for FlexSite CLI.
4
+ * Transforms composer.json from other platforms (Pantheon, Acquia, etc.) to FlexSite format.
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.composerCommand = void 0;
11
+ const commander_1 = require("commander");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const inquirer_1 = __importDefault(require("inquirer"));
14
+ const ora_1 = __importDefault(require("ora"));
15
+ const fs_1 = __importDefault(require("fs"));
16
+ const path_1 = __importDefault(require("path"));
17
+ /**
18
+ * Sanitize project name to be valid for Composer
19
+ * Composer package names must be lowercase alphanumeric with -_.
20
+ */
21
+ function sanitizeProjectName(name) {
22
+ return name
23
+ .toLowerCase()
24
+ .replace(/[^a-z0-9._-]/g, '-') // Replace invalid chars with -
25
+ .replace(/^[^a-z0-9]+/, '') // Remove leading non-alphanumeric
26
+ .replace(/[^a-z0-9]+$/, '') // Remove trailing non-alphanumeric
27
+ .replace(/-+/g, '-'); // Collapse multiple dashes
28
+ }
29
+ // FlexSite required packages for performance
30
+ const FLEXSITE_PERFORMANCE_PACKAGES = {
31
+ 'flexsite/fs_performance': '^1.0',
32
+ 'drupal/redis': '^1.7',
33
+ 'drupal/purge': '^3.5',
34
+ 'drupal/varnish_purge': '^2.2',
35
+ 'drupal/ultimate_cron': '^2.0@beta',
36
+ };
37
+ // FlexSite repository
38
+ const FLEXSITE_REPOSITORY = {
39
+ type: 'composer',
40
+ url: 'https://packages.flexsite.io/packages.json'
41
+ };
42
+ // Drupal.org repository
43
+ const DRUPAL_REPOSITORY = {
44
+ type: 'composer',
45
+ url: 'https://packages.drupal.org/8'
46
+ };
47
+ // Pantheon-specific packages to remove
48
+ const PANTHEON_PACKAGES = [
49
+ 'pantheon-upstreams/upstream-configuration',
50
+ 'pantheon-systems/drupal-integrations',
51
+ ];
52
+ // Acquia-specific packages to remove
53
+ const ACQUIA_PACKAGES = [
54
+ 'acquia/blt',
55
+ 'acquia/blt-require-dev',
56
+ 'acquia/drupal-recommended-settings',
57
+ 'acquia/memcache-settings',
58
+ ];
59
+ // Platform.sh specific packages to remove
60
+ const PLATFORMSH_PACKAGES = [
61
+ 'platformsh/config-reader',
62
+ ];
63
+ // All platform-specific packages
64
+ const PLATFORM_PACKAGES = [
65
+ ...PANTHEON_PACKAGES,
66
+ ...ACQUIA_PACKAGES,
67
+ ...PLATFORMSH_PACKAGES,
68
+ ];
69
+ // FlexSite recipe installer path
70
+ const RECIPE_INSTALLER_PATH = {
71
+ 'recipes/{$name}': ['type:drupal-recipe']
72
+ };
73
+ // Pantheon-specific installer paths to remove
74
+ const PANTHEON_INSTALLER_PATHS = [
75
+ 'web/private/scripts/quicksilver/{$name}/'
76
+ ];
77
+ /**
78
+ * Detect which platform the composer.json is from
79
+ */
80
+ function detectPlatform(composer) {
81
+ if (composer.name?.includes('pantheon') ||
82
+ composer.require?.['pantheon-upstreams/upstream-configuration'] ||
83
+ composer.require?.['pantheon-systems/drupal-integrations']) {
84
+ return 'pantheon';
85
+ }
86
+ if (composer.name?.includes('acquia') ||
87
+ composer.require?.['acquia/blt'] ||
88
+ composer.require?.['acquia/drupal-recommended-settings']) {
89
+ return 'acquia';
90
+ }
91
+ if (composer.require?.['platformsh/config-reader']) {
92
+ return 'platformsh';
93
+ }
94
+ if (composer.name?.includes('flexsite')) {
95
+ return 'flexsite';
96
+ }
97
+ return 'unknown';
98
+ }
99
+ /**
100
+ * Detect Drupal version from composer.json
101
+ */
102
+ function detectDrupalVersion(composer) {
103
+ const coreVersion = composer.require?.['drupal/core-recommended'] ||
104
+ composer.require?.['drupal/core'] || '';
105
+ if (coreVersion.includes('^11') || coreVersion.includes('~11')) {
106
+ return 11;
107
+ }
108
+ if (coreVersion.includes('^10') || coreVersion.includes('~10')) {
109
+ return 10;
110
+ }
111
+ if (coreVersion.includes('^9') || coreVersion.includes('~9')) {
112
+ return 9;
113
+ }
114
+ return 11; // Default to latest
115
+ }
116
+ /**
117
+ * Fix composer.json for FlexSite compatibility
118
+ */
119
+ function fixComposerJson(composer, options) {
120
+ const result = {
121
+ changes: [],
122
+ warnings: [],
123
+ removedPackages: [],
124
+ addedPackages: [],
125
+ };
126
+ const fixed = JSON.parse(JSON.stringify(composer));
127
+ const drupalVersion = detectDrupalVersion(composer);
128
+ const platform = detectPlatform(composer);
129
+ // 1. Update name
130
+ const projectName = options.projectName || 'my-project';
131
+ const newName = `flexsite/${projectName}`;
132
+ if (fixed.name !== newName) {
133
+ const oldName = fixed.name || '(none)';
134
+ fixed.name = newName;
135
+ result.changes.push(`Changed name: ${oldName} → ${fixed.name}`);
136
+ }
137
+ // 2. Update description
138
+ if (fixed.description?.toLowerCase().includes('pantheon') ||
139
+ fixed.description?.toLowerCase().includes('acquia') ||
140
+ fixed.description?.toLowerCase().includes('platform.sh')) {
141
+ fixed.description = `Drupal ${drupalVersion} project for FlexSite platform`;
142
+ result.changes.push('Updated description for FlexSite');
143
+ }
144
+ // 3. Update license
145
+ if (fixed.license !== 'GPL-2.0-or-later') {
146
+ fixed.license = 'GPL-2.0-or-later';
147
+ result.changes.push('Updated license to GPL-2.0-or-later');
148
+ }
149
+ // 4. Fix repositories
150
+ const newRepositories = [];
151
+ // Always add Drupal.org first
152
+ newRepositories.push(DRUPAL_REPOSITORY);
153
+ // Add FlexSite repository
154
+ newRepositories.push(FLEXSITE_REPOSITORY);
155
+ // Keep any custom/path repositories that aren't platform-specific
156
+ if (fixed.repositories) {
157
+ for (const repo of fixed.repositories) {
158
+ // Skip drupal.org (we already added it)
159
+ if (repo.url === 'https://packages.drupal.org/8')
160
+ continue;
161
+ // Skip FlexSite repo (we already added it)
162
+ if (repo.url === 'https://packages.flexsite.io/packages.json')
163
+ continue;
164
+ // Skip Pantheon upstream-configuration path
165
+ if (repo.type === 'path' && repo.url === 'upstream-configuration') {
166
+ result.changes.push('Removed Pantheon upstream-configuration repository');
167
+ continue;
168
+ }
169
+ // Keep other repositories (custom package sources, etc.)
170
+ newRepositories.push(repo);
171
+ }
172
+ }
173
+ fixed.repositories = newRepositories;
174
+ result.changes.push('Updated repositories (added FlexSite package source)');
175
+ // 5. Remove platform-specific packages from require
176
+ if (fixed.require) {
177
+ for (const pkg of PLATFORM_PACKAGES) {
178
+ if (fixed.require[pkg]) {
179
+ delete fixed.require[pkg];
180
+ result.removedPackages.push(pkg);
181
+ }
182
+ }
183
+ }
184
+ // 6. Remove platform-specific packages from require-dev
185
+ if (fixed['require-dev']) {
186
+ for (const pkg of PLATFORM_PACKAGES) {
187
+ if (fixed['require-dev'][pkg]) {
188
+ delete fixed['require-dev'][pkg];
189
+ result.removedPackages.push(`${pkg} (dev)`);
190
+ }
191
+ }
192
+ }
193
+ // 7. Add FlexSite performance packages
194
+ if (!options.skipPerformance) {
195
+ for (const [pkg, version] of Object.entries(FLEXSITE_PERFORMANCE_PACKAGES)) {
196
+ if (!fixed.require?.[pkg]) {
197
+ fixed.require = fixed.require || {};
198
+ fixed.require[pkg] = version;
199
+ result.addedPackages.push(pkg);
200
+ }
201
+ }
202
+ }
203
+ // 7b. Upgrade composer/installers to v2 (required for drupal-recipe type support)
204
+ if (fixed.require?.['composer/installers']) {
205
+ const currentVersion = fixed.require['composer/installers'];
206
+ // Check if it's v1.x (e.g., ^1.9, ~1.9, 1.x, etc.)
207
+ if (currentVersion.match(/^[\^~]?1\./)) {
208
+ fixed.require['composer/installers'] = '^2.0';
209
+ result.changes.push('Upgraded composer/installers to ^2.0 (required for recipe support)');
210
+ }
211
+ }
212
+ // 8. Ensure PHP requirement
213
+ if (!fixed.require?.['php']) {
214
+ fixed.require = fixed.require || {};
215
+ fixed.require['php'] = '>=8.2';
216
+ result.changes.push('Added PHP >=8.2 requirement');
217
+ }
218
+ // 9. Ensure drush is present
219
+ if (!fixed.require?.['drush/drush']) {
220
+ fixed.require = fixed.require || {};
221
+ fixed.require['drush/drush'] = '^13.6';
222
+ result.addedPackages.push('drush/drush');
223
+ }
224
+ // 10. Fix drupal-scaffold section
225
+ if (fixed.extra?.['drupal-scaffold']) {
226
+ const scaffold = fixed.extra['drupal-scaffold'];
227
+ // Remove Pantheon-specific allowed-packages
228
+ if (scaffold['allowed-packages']) {
229
+ const filtered = scaffold['allowed-packages'].filter((pkg) => !pkg.includes('pantheon') && !pkg.includes('acquia'));
230
+ if (filtered.length === 0) {
231
+ delete scaffold['allowed-packages'];
232
+ }
233
+ else {
234
+ scaffold['allowed-packages'] = filtered;
235
+ }
236
+ result.changes.push('Cleaned up drupal-scaffold allowed-packages');
237
+ }
238
+ // Remove Pantheon-specific file-mapping
239
+ if (scaffold['file-mapping']) {
240
+ const newMapping = {};
241
+ for (const [key, value] of Object.entries(scaffold['file-mapping'])) {
242
+ // Skip Pantheon-specific files
243
+ if (key.includes('pantheon') || key.includes('acquia')) {
244
+ continue;
245
+ }
246
+ newMapping[key] = value;
247
+ }
248
+ if (Object.keys(newMapping).length > 0) {
249
+ scaffold['file-mapping'] = newMapping;
250
+ }
251
+ else {
252
+ delete scaffold['file-mapping'];
253
+ }
254
+ }
255
+ // Normalize web-root
256
+ if (scaffold.locations?.['web-root']) {
257
+ scaffold.locations['web-root'] = 'web/';
258
+ }
259
+ }
260
+ // 11. Fix installer-paths
261
+ if (fixed.extra?.['installer-paths']) {
262
+ const installerPaths = fixed.extra['installer-paths'];
263
+ // Remove Pantheon quicksilver paths
264
+ for (const pathToRemove of PANTHEON_INSTALLER_PATHS) {
265
+ if (installerPaths[pathToRemove]) {
266
+ delete installerPaths[pathToRemove];
267
+ result.changes.push('Removed Pantheon quicksilver installer path');
268
+ }
269
+ }
270
+ // Add recipe installer path if not present
271
+ const recipeKey = 'recipes/{$name}';
272
+ if (!installerPaths[recipeKey]) {
273
+ installerPaths[recipeKey] = ['type:drupal-recipe'];
274
+ result.changes.push('Added recipe installer path');
275
+ }
276
+ }
277
+ // 12. Remove Pantheon-specific autoload
278
+ if (fixed.autoload?.classmap) {
279
+ const filteredClassmap = fixed.autoload.classmap.filter((path) => !path.includes('upstream-configuration') && !path.includes('ComposerScripts'));
280
+ if (filteredClassmap.length === 0) {
281
+ delete fixed.autoload.classmap;
282
+ if (Object.keys(fixed.autoload).length === 0) {
283
+ delete fixed.autoload;
284
+ }
285
+ }
286
+ else {
287
+ fixed.autoload.classmap = filteredClassmap;
288
+ }
289
+ result.changes.push('Removed Pantheon autoload entries');
290
+ }
291
+ // 13. Clean up scripts
292
+ if (fixed.scripts) {
293
+ const scriptsToRemove = ['pre-update-cmd', 'post-update-cmd'];
294
+ for (const script of scriptsToRemove) {
295
+ if (fixed.scripts[script]) {
296
+ const commands = Array.isArray(fixed.scripts[script])
297
+ ? fixed.scripts[script]
298
+ : [fixed.scripts[script]];
299
+ const filtered = commands.filter((cmd) => !cmd.includes('ComposerScripts') &&
300
+ !cmd.includes('Pantheon') &&
301
+ !cmd.includes('Acquia'));
302
+ if (filtered.length === 0) {
303
+ delete fixed.scripts[script];
304
+ }
305
+ else {
306
+ fixed.scripts[script] = filtered;
307
+ }
308
+ }
309
+ }
310
+ // Add post-install-cmd for custom directories if not present
311
+ if (!fixed.scripts['post-install-cmd']) {
312
+ fixed.scripts['post-install-cmd'] = [
313
+ 'mkdir -p web/themes/custom',
314
+ 'mkdir -p web/modules/custom'
315
+ ];
316
+ result.changes.push('Added post-install-cmd for custom directories');
317
+ }
318
+ }
319
+ // 14. Update config section
320
+ if (fixed.config) {
321
+ // Remove platform-specific php version pinning if it's too restrictive
322
+ if (fixed.config.platform?.php) {
323
+ // Keep it but warn if it's below 8.2
324
+ const phpVersion = fixed.config.platform.php;
325
+ if (phpVersion.startsWith('8.0') || phpVersion.startsWith('8.1')) {
326
+ result.warnings.push(`PHP version ${phpVersion} is set in config.platform.php. FlexSite uses PHP 8.3.`);
327
+ }
328
+ }
329
+ // Ensure sort-packages is true
330
+ fixed.config['sort-packages'] = true;
331
+ // Add optimize-autoloader
332
+ fixed.config['optimize-autoloader'] = true;
333
+ // Ensure necessary plugins are allowed
334
+ const allowPlugins = fixed.config['allow-plugins'] || {};
335
+ allowPlugins['composer/installers'] = true;
336
+ allowPlugins['drupal/core-composer-scaffold'] = true;
337
+ allowPlugins['drupal/core-project-message'] = true;
338
+ allowPlugins['php-http/discovery'] = true;
339
+ allowPlugins['tbachert/spi'] = true;
340
+ // Remove platform-specific plugins
341
+ delete allowPlugins['pantheon-systems/upstream-management'];
342
+ fixed.config['allow-plugins'] = allowPlugins;
343
+ }
344
+ // 15. Set minimum-stability
345
+ fixed['minimum-stability'] = 'dev';
346
+ fixed['prefer-stable'] = true;
347
+ // Generate summary
348
+ if (result.removedPackages.length > 0) {
349
+ result.changes.push(`Removed ${result.removedPackages.length} platform-specific package(s)`);
350
+ }
351
+ if (result.addedPackages.length > 0) {
352
+ result.changes.push(`Added ${result.addedPackages.length} FlexSite package(s)`);
353
+ }
354
+ return { fixed, result };
355
+ }
356
+ exports.composerCommand = new commander_1.Command('composer')
357
+ .description('Manage composer.json for FlexSite compatibility');
358
+ exports.composerCommand
359
+ .command('fix')
360
+ .description('Transform composer.json from other platforms (Pantheon, Acquia, etc.) to FlexSite format')
361
+ .option('-f, --file <path>', 'Path to composer.json', 'composer.json')
362
+ .option('-o, --output <path>', 'Output file (default: overwrite input)')
363
+ .option('-n, --name <name>', 'Project name for FlexSite')
364
+ .option('--dry-run', 'Show changes without modifying files')
365
+ .option('--skip-performance', 'Skip adding FlexSite performance packages')
366
+ .option('--backup', 'Create a backup before modifying')
367
+ .action(async (options) => {
368
+ try {
369
+ const composerPath = path_1.default.resolve(options.file);
370
+ // Check if file exists
371
+ if (!fs_1.default.existsSync(composerPath)) {
372
+ console.error(chalk_1.default.red(`File not found: ${composerPath}`));
373
+ process.exit(1);
374
+ }
375
+ // Read composer.json
376
+ const spinner = (0, ora_1.default)('Reading composer.json...').start();
377
+ const content = fs_1.default.readFileSync(composerPath, 'utf-8');
378
+ let composer;
379
+ try {
380
+ composer = JSON.parse(content);
381
+ }
382
+ catch (e) {
383
+ spinner.fail('Invalid JSON in composer.json');
384
+ process.exit(1);
385
+ }
386
+ spinner.succeed('Read composer.json');
387
+ // Detect platform
388
+ const platform = detectPlatform(composer);
389
+ const drupalVersion = detectDrupalVersion(composer);
390
+ console.log(chalk_1.default.cyan(`\nDetected platform: ${chalk_1.default.bold(platform.toUpperCase())}`));
391
+ console.log(chalk_1.default.cyan(`Drupal version: ${chalk_1.default.bold(drupalVersion)}`));
392
+ if (platform === 'flexsite') {
393
+ console.log(chalk_1.default.green('\nThis composer.json is already configured for FlexSite!'));
394
+ const { continueAnyway } = await inquirer_1.default.prompt([
395
+ {
396
+ type: 'confirm',
397
+ name: 'continueAnyway',
398
+ message: 'Do you want to run the fix anyway?',
399
+ default: false
400
+ }
401
+ ]);
402
+ if (!continueAnyway) {
403
+ process.exit(0);
404
+ }
405
+ }
406
+ // Get project name if not provided
407
+ let projectName = options.name;
408
+ if (!projectName) {
409
+ // Try to extract from current name or directory
410
+ const dirName = path_1.default.basename(path_1.default.dirname(composerPath));
411
+ const currentName = composer.name?.split('/').pop() || dirName;
412
+ const { name } = await inquirer_1.default.prompt([
413
+ {
414
+ type: 'input',
415
+ name: 'name',
416
+ message: 'Project name for FlexSite:',
417
+ default: sanitizeProjectName(currentName),
418
+ validate: (input) => {
419
+ const sanitized = sanitizeProjectName(input);
420
+ if (!sanitized) {
421
+ return 'Project name must contain at least one valid character (a-z, 0-9)';
422
+ }
423
+ if (!/^[a-z0-9]([_.-]?[a-z0-9]+)*$/.test(sanitized)) {
424
+ return 'Invalid project name. Use only lowercase letters, numbers, and -_.';
425
+ }
426
+ return true;
427
+ }
428
+ }
429
+ ]);
430
+ // Always sanitize the input
431
+ projectName = sanitizeProjectName(name);
432
+ }
433
+ else {
434
+ // Sanitize provided name
435
+ projectName = sanitizeProjectName(projectName);
436
+ }
437
+ // Fix composer.json
438
+ const fixSpinner = (0, ora_1.default)('Analyzing composer.json...').start();
439
+ const { fixed, result } = fixComposerJson(composer, {
440
+ projectName,
441
+ dryRun: options.dryRun,
442
+ skipPerformance: options.skipPerformance
443
+ });
444
+ fixSpinner.succeed('Analysis complete');
445
+ // Show changes
446
+ console.log(chalk_1.default.cyan('\n--- Changes ---'));
447
+ if (result.changes.length === 0) {
448
+ console.log(chalk_1.default.dim(' No changes needed'));
449
+ }
450
+ else {
451
+ for (const change of result.changes) {
452
+ console.log(chalk_1.default.green(` ✓ ${change}`));
453
+ }
454
+ }
455
+ if (result.removedPackages.length > 0) {
456
+ console.log(chalk_1.default.cyan('\n--- Removed Packages ---'));
457
+ for (const pkg of result.removedPackages) {
458
+ console.log(chalk_1.default.yellow(` - ${pkg}`));
459
+ }
460
+ }
461
+ if (result.addedPackages.length > 0) {
462
+ console.log(chalk_1.default.cyan('\n--- Added Packages ---'));
463
+ for (const pkg of result.addedPackages) {
464
+ console.log(chalk_1.default.green(` + ${pkg}`));
465
+ }
466
+ }
467
+ if (result.warnings.length > 0) {
468
+ console.log(chalk_1.default.cyan('\n--- Warnings ---'));
469
+ for (const warning of result.warnings) {
470
+ console.log(chalk_1.default.yellow(` ⚠ ${warning}`));
471
+ }
472
+ }
473
+ // Dry run - don't write
474
+ if (options.dryRun) {
475
+ console.log(chalk_1.default.dim('\n(Dry run - no files modified)'));
476
+ console.log(chalk_1.default.cyan('\nPreview of fixed composer.json:'));
477
+ console.log(JSON.stringify(fixed, null, 4));
478
+ process.exit(0);
479
+ }
480
+ // Confirm before writing
481
+ const { confirm } = await inquirer_1.default.prompt([
482
+ {
483
+ type: 'confirm',
484
+ name: 'confirm',
485
+ message: 'Apply these changes?',
486
+ default: true
487
+ }
488
+ ]);
489
+ if (!confirm) {
490
+ console.log(chalk_1.default.dim('Cancelled'));
491
+ process.exit(0);
492
+ }
493
+ // Create backup if requested
494
+ if (options.backup) {
495
+ const backupPath = `${composerPath}.backup.${Date.now()}`;
496
+ fs_1.default.writeFileSync(backupPath, content);
497
+ console.log(chalk_1.default.dim(`Backup created: ${backupPath}`));
498
+ }
499
+ // Write fixed composer.json
500
+ const outputPath = options.output ? path_1.default.resolve(options.output) : composerPath;
501
+ fs_1.default.writeFileSync(outputPath, JSON.stringify(fixed, null, 4) + '\n');
502
+ console.log(chalk_1.default.green(`\n✓ Updated ${outputPath}`));
503
+ // Post-fix instructions
504
+ console.log(chalk_1.default.cyan('\n--- Next Steps ---'));
505
+ console.log(' 1. Review the changes to composer.json');
506
+ console.log(' 2. Run: ' + chalk_1.default.bold('composer install'));
507
+ console.log(' 3. If you have upstream-configuration directory, you can delete it');
508
+ console.log(' 4. Commit your changes to git');
509
+ if (platform === 'pantheon') {
510
+ console.log(chalk_1.default.yellow('\n--- Pantheon-specific cleanup ---'));
511
+ console.log(' • Delete: upstream-configuration/');
512
+ console.log(' • Delete: pantheon.yml (if exists)');
513
+ console.log(' • Delete: pantheon.upstream.yml (if exists)');
514
+ }
515
+ }
516
+ catch (error) {
517
+ if (error instanceof Error) {
518
+ console.error(chalk_1.default.red(`\nError: ${error.message}`));
519
+ }
520
+ process.exit(1);
521
+ }
522
+ });
523
+ exports.composerCommand
524
+ .command('check')
525
+ .description('Check composer.json for FlexSite compatibility')
526
+ .option('-f, --file <path>', 'Path to composer.json', 'composer.json')
527
+ .action(async (options) => {
528
+ try {
529
+ const composerPath = path_1.default.resolve(options.file);
530
+ if (!fs_1.default.existsSync(composerPath)) {
531
+ console.error(chalk_1.default.red(`File not found: ${composerPath}`));
532
+ process.exit(1);
533
+ }
534
+ const content = fs_1.default.readFileSync(composerPath, 'utf-8');
535
+ const composer = JSON.parse(content);
536
+ const platform = detectPlatform(composer);
537
+ const drupalVersion = detectDrupalVersion(composer);
538
+ console.log(chalk_1.default.cyan('=== Composer.json Analysis ===\n'));
539
+ console.log(`Platform: ${chalk_1.default.bold(platform.toUpperCase())}`);
540
+ console.log(`Drupal version: ${chalk_1.default.bold(drupalVersion)}`);
541
+ console.log(`Name: ${chalk_1.default.bold(composer.name || 'Not set')}`);
542
+ // Check FlexSite compatibility
543
+ const issues = [];
544
+ const good = [];
545
+ // Check repositories
546
+ const hasFlexSiteRepo = composer.repositories?.some(r => r.url === 'https://packages.flexsite.io/packages.json');
547
+ if (hasFlexSiteRepo) {
548
+ good.push('FlexSite repository configured');
549
+ }
550
+ else {
551
+ issues.push('Missing FlexSite repository (packages.flexsite.io)');
552
+ }
553
+ // Check performance packages
554
+ const hasPerformancePackage = composer.require?.['flexsite/fs_performance'];
555
+ if (hasPerformancePackage) {
556
+ good.push('FlexSite performance package installed');
557
+ }
558
+ else {
559
+ issues.push('Missing flexsite/fs_performance package');
560
+ }
561
+ // Check Redis
562
+ const hasRedis = composer.require?.['drupal/redis'];
563
+ if (hasRedis) {
564
+ good.push('Redis module configured');
565
+ }
566
+ else {
567
+ issues.push('Missing drupal/redis package');
568
+ }
569
+ // Check recipe path
570
+ const hasRecipePath = composer.extra?.['installer-paths']?.['recipes/{$name}'];
571
+ if (hasRecipePath) {
572
+ good.push('Recipe installer path configured');
573
+ }
574
+ else {
575
+ issues.push('Missing recipe installer path');
576
+ }
577
+ // Check for platform-specific packages
578
+ const platformPackages = [];
579
+ for (const pkg of PLATFORM_PACKAGES) {
580
+ if (composer.require?.[pkg] || composer['require-dev']?.[pkg]) {
581
+ platformPackages.push(pkg);
582
+ }
583
+ }
584
+ if (platformPackages.length > 0) {
585
+ issues.push(`Platform-specific packages found: ${platformPackages.join(', ')}`);
586
+ }
587
+ else {
588
+ good.push('No platform-specific packages');
589
+ }
590
+ // Print results
591
+ if (good.length > 0) {
592
+ console.log(chalk_1.default.green('\n✓ Good:'));
593
+ for (const item of good) {
594
+ console.log(chalk_1.default.green(` • ${item}`));
595
+ }
596
+ }
597
+ if (issues.length > 0) {
598
+ console.log(chalk_1.default.yellow('\n⚠ Issues:'));
599
+ for (const item of issues) {
600
+ console.log(chalk_1.default.yellow(` • ${item}`));
601
+ }
602
+ console.log(chalk_1.default.cyan(`\nRun ${chalk_1.default.bold('flexsite composer fix')} to resolve these issues.`));
603
+ }
604
+ else {
605
+ console.log(chalk_1.default.green('\n✓ composer.json is fully compatible with FlexSite!'));
606
+ }
607
+ }
608
+ catch (error) {
609
+ if (error instanceof Error) {
610
+ console.error(chalk_1.default.red(`\nError: ${error.message}`));
611
+ }
612
+ process.exit(1);
613
+ }
614
+ });
615
+ //# sourceMappingURL=composer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/commands/composer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,WAAW,SA6MpB,CAAC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,eAAO,MAAM,WAAW,SA6OpB,CAAC"}
@@ -105,31 +105,49 @@ exports.syncCommand = new commander_1.Command('sync')
105
105
  if (syncDb) {
106
106
  console.log(chalk_1.default.cyan('\n--- Database Sync ---'));
107
107
  const dbSpinner = (0, ora_1.default)('Fetching latest database backup...').start();
108
+ let dbPath = null;
108
109
  try {
109
110
  const backup = await (0, api_js_1.getLatestDatabaseBackup)(environmentId);
110
111
  if (!backup || !backup.url) {
111
112
  dbSpinner.fail('No database backup found');
112
113
  console.log(chalk_1.default.yellow(' No database backups available for this environment.'));
113
114
  console.log(chalk_1.default.cyan(' Create a backup in the FlexSite dashboard:'));
114
- console.log(` https://flexsite.io/dashboard/project/${projectId}/environment/${environmentId}/backups`);
115
+ console.log(` https://flexsite.io/dashboard/${tokenConfig?.organizationId}/project/${projectId}/environment/${environmentId}`);
115
116
  }
116
117
  else {
117
118
  dbSpinner.succeed(`Found backup: ${backup.fileName}`);
118
119
  // Download
119
120
  const downloadSpinner = (0, ora_1.default)('Downloading database...').start();
120
- const dbPath = path_1.default.join(process.cwd(), backup.fileName);
121
- const data = await (0, api_js_1.downloadFile)(backup.url, (progress) => {
122
- downloadSpinner.text = `Downloading database... ${progress}%`;
123
- });
124
- fs_1.default.writeFileSync(dbPath, data);
125
- downloadSpinner.succeed(`Downloaded to: ${dbPath}`);
126
- // Import
127
- if (options.import !== false) {
121
+ dbPath = path_1.default.join(process.cwd(), backup.fileName);
122
+ try {
123
+ const data = await (0, api_js_1.downloadFile)(backup.url, (progress) => {
124
+ downloadSpinner.text = `Downloading database... ${progress}%`;
125
+ });
126
+ fs_1.default.writeFileSync(dbPath, data);
127
+ downloadSpinner.succeed(`Downloaded to: ${dbPath}`);
128
+ }
129
+ catch (downloadError) {
130
+ downloadSpinner.fail('Download failed');
131
+ console.error(chalk_1.default.red(` Error: ${downloadError.message}`));
132
+ dbPath = null;
133
+ }
134
+ // Import (only if download succeeded)
135
+ if (dbPath && options.import !== false) {
128
136
  const importSpinner = (0, ora_1.default)('Importing database...').start();
129
- await (0, detector_js_1.importDatabase)(dbPath, localEnv);
130
- importSpinner.succeed('Database imported successfully!');
131
- // Clean up downloaded file
132
- fs_1.default.unlinkSync(dbPath);
137
+ try {
138
+ await (0, detector_js_1.importDatabase)(dbPath, localEnv);
139
+ importSpinner.succeed('Database imported successfully!');
140
+ // Clean up downloaded file
141
+ fs_1.default.unlinkSync(dbPath);
142
+ }
143
+ catch (importError) {
144
+ importSpinner.fail('Database import failed');
145
+ console.error(chalk_1.default.red(` Error: ${importError.message}`));
146
+ // Clean up downloaded file even on failure
147
+ if (fs_1.default.existsSync(dbPath)) {
148
+ fs_1.default.unlinkSync(dbPath);
149
+ }
150
+ }
133
151
  }
134
152
  }
135
153
  }
@@ -138,7 +156,7 @@ exports.syncCommand = new commander_1.Command('sync')
138
156
  if (error.message?.includes('No backup') || error.message?.includes('not found')) {
139
157
  console.log(chalk_1.default.yellow(' No database backups available for this environment.'));
140
158
  console.log(chalk_1.default.cyan(' Create a backup in the FlexSite dashboard:'));
141
- console.log(` https://flexsite.io/dashboard/project/${projectId}/environment/${environmentId}/backups`);
159
+ console.log(` https://flexsite.io/dashboard/${tokenConfig?.organizationId}/project/${projectId}/environment/${environmentId}`);
142
160
  }
143
161
  else if (error instanceof Error) {
144
162
  console.error(chalk_1.default.red(` Error: ${error.message}`));
@@ -150,31 +168,49 @@ exports.syncCommand = new commander_1.Command('sync')
150
168
  if (syncFiles) {
151
169
  console.log(chalk_1.default.cyan('\n--- Files Sync ---'));
152
170
  const filesSpinner = (0, ora_1.default)('Fetching latest files backup...').start();
171
+ let filesPath = null;
153
172
  try {
154
173
  const backup = await (0, api_js_1.getLatestFilesBackup)(environmentId);
155
174
  if (!backup || !backup.url) {
156
175
  filesSpinner.fail('No files backup found');
157
176
  console.log(chalk_1.default.yellow(' No files backups available for this environment.'));
158
177
  console.log(chalk_1.default.cyan(' Create a backup in the FlexSite dashboard:'));
159
- console.log(` https://flexsite.io/dashboard/project/${projectId}/environment/${environmentId}/backups`);
178
+ console.log(` https://flexsite.io/dashboard/${tokenConfig?.organizationId}/project/${projectId}/environment/${environmentId}`);
160
179
  }
161
180
  else {
162
181
  filesSpinner.succeed(`Found backup: ${backup.fileName}`);
163
182
  // Download
164
183
  const downloadSpinner = (0, ora_1.default)('Downloading files...').start();
165
- const filesPath = path_1.default.join(process.cwd(), backup.fileName);
166
- const data = await (0, api_js_1.downloadFile)(backup.url, (progress) => {
167
- downloadSpinner.text = `Downloading files... ${progress}%`;
168
- });
169
- fs_1.default.writeFileSync(filesPath, data);
170
- downloadSpinner.succeed(`Downloaded to: ${filesPath}`);
171
- // Import
172
- if (options.import !== false) {
184
+ filesPath = path_1.default.join(process.cwd(), backup.fileName);
185
+ try {
186
+ const data = await (0, api_js_1.downloadFile)(backup.url, (progress) => {
187
+ downloadSpinner.text = `Downloading files... ${progress}%`;
188
+ });
189
+ fs_1.default.writeFileSync(filesPath, data);
190
+ downloadSpinner.succeed(`Downloaded to: ${filesPath}`);
191
+ }
192
+ catch (downloadError) {
193
+ downloadSpinner.fail('Download failed');
194
+ console.error(chalk_1.default.red(` Error: ${downloadError.message}`));
195
+ filesPath = null;
196
+ }
197
+ // Import (only if download succeeded)
198
+ if (filesPath && options.import !== false) {
173
199
  const importSpinner = (0, ora_1.default)('Extracting files...').start();
174
- await (0, detector_js_1.importFiles)(filesPath, localEnv);
175
- importSpinner.succeed('Files extracted successfully!');
176
- // Clean up downloaded file
177
- fs_1.default.unlinkSync(filesPath);
200
+ try {
201
+ await (0, detector_js_1.importFiles)(filesPath, localEnv);
202
+ importSpinner.succeed('Files extracted successfully!');
203
+ // Clean up downloaded file
204
+ fs_1.default.unlinkSync(filesPath);
205
+ }
206
+ catch (importError) {
207
+ importSpinner.fail('Files extraction failed');
208
+ console.error(chalk_1.default.red(` Error: ${importError.message}`));
209
+ // Clean up downloaded file even on failure
210
+ if (fs_1.default.existsSync(filesPath)) {
211
+ fs_1.default.unlinkSync(filesPath);
212
+ }
213
+ }
178
214
  }
179
215
  }
180
216
  }
@@ -183,7 +219,7 @@ exports.syncCommand = new commander_1.Command('sync')
183
219
  if (error.message?.includes('No backup') || error.message?.includes('not found')) {
184
220
  console.log(chalk_1.default.yellow(' No files backups available for this environment.'));
185
221
  console.log(chalk_1.default.cyan(' Create a backup in the FlexSite dashboard:'));
186
- console.log(` https://flexsite.io/dashboard/project/${projectId}/environment/${environmentId}/backups`);
222
+ console.log(` https://flexsite.io/dashboard/${tokenConfig?.organizationId}/project/${projectId}/environment/${environmentId}`);
187
223
  }
188
224
  else if (error instanceof Error) {
189
225
  console.error(chalk_1.default.red(` Error: ${error.message}`));
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/lib/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAuBrD;AA2CD;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwEvF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DpF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwC3E"}
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/lib/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAuBrD;AAyDD;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAuKvF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DpF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwC3E"}
@@ -75,6 +75,18 @@ function getFilesDirectory() {
75
75
  }
76
76
  return defaultDir;
77
77
  }
78
+ /**
79
+ * Check if running INSIDE a Lando container (vs on the host)
80
+ */
81
+ function isInsideLandoContainer() {
82
+ return process.env.LANDO === 'ON' && process.env.LANDO_INFO !== undefined;
83
+ }
84
+ /**
85
+ * Check if running INSIDE a DDEV container (vs on the host)
86
+ */
87
+ function isInsideDdevContainer() {
88
+ return process.env.IS_DDEV_PROJECT === 'true' && process.env.DDEV_HOSTNAME !== undefined;
89
+ }
78
90
  /**
79
91
  * Import a database backup using Lando or DDEV
80
92
  */
@@ -88,59 +100,152 @@ async function importDatabase(filePath, env) {
88
100
  throw new Error(`Database file not found: ${absolutePath}`);
89
101
  }
90
102
  if (env === 'lando') {
91
- // Check if lando is available
92
- if (!(await commandExists('lando'))) {
93
- throw new Error('Lando command not found. Please install Lando: https://lando.dev/download/');
94
- }
95
- // Lando needs a relative path from the project root
96
- // because it maps the project directory to /app inside the container
97
- let importPath;
98
- if (absolutePath.startsWith(cwd)) {
99
- // File is inside the project directory, use relative path
100
- importPath = path_1.default.relative(cwd, absolutePath);
103
+ // Check if we're running INSIDE the Lando container
104
+ if (isInsideLandoContainer()) {
105
+ // Inside container - use direct mysql/drush commands
106
+ try {
107
+ // Decompress if needed and import directly
108
+ let importCmd;
109
+ if (absolutePath.endsWith('.gz')) {
110
+ // For gzipped files, use gunzip and pipe to mysql or drush
111
+ // Try drush first as it handles connection automatically
112
+ importCmd = `gunzip -c "${absolutePath}" | drush sql:cli`;
113
+ }
114
+ else {
115
+ importCmd = `drush sql:cli < "${absolutePath}"`;
116
+ }
117
+ await execAsync(importCmd, {
118
+ cwd: cwd,
119
+ timeout: 300000, // 5 minutes
120
+ maxBuffer: 50 * 1024 * 1024 // 50MB buffer for large imports
121
+ });
122
+ }
123
+ catch (drushError) {
124
+ // If drush fails, try direct mysql with Lando environment variables
125
+ try {
126
+ const dbHost = process.env.DB_HOST || 'database';
127
+ const dbUser = process.env.DB_USER || 'drupal';
128
+ const dbPass = process.env.DB_PASSWORD || 'drupal';
129
+ const dbName = process.env.DB_NAME || 'drupal';
130
+ let mysqlCmd;
131
+ if (absolutePath.endsWith('.gz')) {
132
+ mysqlCmd = `gunzip -c "${absolutePath}" | mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName}`;
133
+ }
134
+ else {
135
+ mysqlCmd = `mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName} < "${absolutePath}"`;
136
+ }
137
+ await execAsync(mysqlCmd, {
138
+ cwd: cwd,
139
+ timeout: 300000,
140
+ maxBuffer: 50 * 1024 * 1024
141
+ });
142
+ }
143
+ catch (mysqlError) {
144
+ throw new Error(`Database import failed: ${drushError.message || drushError}`);
145
+ }
146
+ }
101
147
  }
102
148
  else {
103
- // File is outside project directory - copy it to project root first
104
- const fileName = path_1.default.basename(absolutePath);
105
- const tempPath = path_1.default.join(cwd, fileName);
106
- fs_1.default.copyFileSync(absolutePath, tempPath);
107
- importPath = fileName;
108
- }
109
- // Use lando db-import with relative path
110
- try {
111
- const { stdout, stderr } = await execAsync(`lando db-import "${importPath}"`, {
112
- cwd: cwd,
113
- timeout: 300000 // 5 minutes
114
- });
115
- if (stderr && !stderr.includes('SUCCESS')) {
116
- console.warn(`Warning: ${stderr}`);
149
+ // Running on host - use lando db-import command
150
+ if (!(await commandExists('lando'))) {
151
+ throw new Error('Lando command not found. Please install Lando: https://lando.dev/download/');
117
152
  }
118
- }
119
- catch (error) {
120
- // Lando db-import may exit with error even on success, check message
121
- if (error.message && error.message.includes('SUCCESS')) {
122
- return; // Actually successful
153
+ // Lando needs a relative path from the project root
154
+ // because it maps the project directory to /app inside the container
155
+ let importPath;
156
+ if (absolutePath.startsWith(cwd)) {
157
+ // File is inside the project directory, use relative path
158
+ importPath = path_1.default.relative(cwd, absolutePath);
159
+ }
160
+ else {
161
+ // File is outside project directory - copy it to project root first
162
+ const fileName = path_1.default.basename(absolutePath);
163
+ const tempPath = path_1.default.join(cwd, fileName);
164
+ fs_1.default.copyFileSync(absolutePath, tempPath);
165
+ importPath = fileName;
166
+ }
167
+ // Use lando db-import with relative path
168
+ try {
169
+ const { stdout, stderr } = await execAsync(`lando db-import "${importPath}"`, {
170
+ cwd: cwd,
171
+ timeout: 300000 // 5 minutes
172
+ });
173
+ if (stderr && !stderr.includes('SUCCESS')) {
174
+ console.warn(`Warning: ${stderr}`);
175
+ }
176
+ }
177
+ catch (error) {
178
+ // Lando db-import may exit with error even on success, check message
179
+ if (error.message && error.message.includes('SUCCESS')) {
180
+ return; // Actually successful
181
+ }
182
+ throw new Error(`Lando import failed: ${error.message || error}`);
123
183
  }
124
- throw new Error(`Lando import failed: ${error.message || error}`);
125
184
  }
126
185
  }
127
186
  else if (env === 'ddev') {
128
- // Check if ddev is available
129
- if (!(await commandExists('ddev'))) {
130
- throw new Error('DDEV command not found. Please install DDEV: https://ddev.readthedocs.io/en/stable/users/install/');
131
- }
132
- // Use ddev import-db
133
- try {
134
- const { stdout, stderr } = await execAsync(`ddev import-db --file="${absolutePath}"`, {
135
- cwd: process.cwd(),
136
- timeout: 300000 // 5 minutes
137
- });
138
- if (stderr && !stderr.includes('SUCCESS') && !stderr.includes('Successfully')) {
139
- console.warn(`Warning: ${stderr}`);
187
+ // Check if we're running INSIDE the DDEV container
188
+ if (isInsideDdevContainer()) {
189
+ // Inside container - use direct mysql/drush commands
190
+ try {
191
+ // Decompress if needed and import directly
192
+ let importCmd;
193
+ if (absolutePath.endsWith('.gz')) {
194
+ // For gzipped files, use gunzip and pipe to drush
195
+ importCmd = `gunzip -c "${absolutePath}" | drush sql:cli`;
196
+ }
197
+ else {
198
+ importCmd = `drush sql:cli < "${absolutePath}"`;
199
+ }
200
+ await execAsync(importCmd, {
201
+ cwd: cwd,
202
+ timeout: 300000, // 5 minutes
203
+ maxBuffer: 50 * 1024 * 1024 // 50MB buffer for large imports
204
+ });
205
+ }
206
+ catch (drushError) {
207
+ // If drush fails, try direct mysql with DDEV environment variables
208
+ try {
209
+ const dbHost = process.env.DDEV_DBIMAGE ? 'db' : 'localhost';
210
+ const dbUser = 'db';
211
+ const dbPass = 'db';
212
+ const dbName = 'db';
213
+ let mysqlCmd;
214
+ if (absolutePath.endsWith('.gz')) {
215
+ mysqlCmd = `gunzip -c "${absolutePath}" | mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName}`;
216
+ }
217
+ else {
218
+ mysqlCmd = `mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName} < "${absolutePath}"`;
219
+ }
220
+ await execAsync(mysqlCmd, {
221
+ cwd: cwd,
222
+ timeout: 300000,
223
+ maxBuffer: 50 * 1024 * 1024
224
+ });
225
+ }
226
+ catch (mysqlError) {
227
+ throw new Error(`Database import failed: ${drushError.message || drushError}`);
228
+ }
140
229
  }
141
230
  }
142
- catch (error) {
143
- throw new Error(`DDEV import failed: ${error.message || error}`);
231
+ else {
232
+ // Running on host - use ddev import-db command
233
+ if (!(await commandExists('ddev'))) {
234
+ throw new Error('DDEV command not found. Please install DDEV: https://ddev.readthedocs.io/en/stable/users/install/');
235
+ }
236
+ // Use ddev import-db
237
+ try {
238
+ const { stdout, stderr } = await execAsync(`ddev import-db --file="${absolutePath}"`, {
239
+ cwd: process.cwd(),
240
+ timeout: 300000 // 5 minutes
241
+ });
242
+ if (stderr && !stderr.includes('SUCCESS') && !stderr.includes('Successfully')) {
243
+ console.warn(`Warning: ${stderr}`);
244
+ }
245
+ }
246
+ catch (error) {
247
+ throw new Error(`DDEV import failed: ${error.message || error}`);
248
+ }
144
249
  }
145
250
  }
146
251
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/lib/detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/lib/detector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexsiteio/cli",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "FlexSite CLI - Command-line tool for managing FlexSite projects",
5
5
  "main": "dist/index.js",
6
6
  "bin": {