@flexsiteio/cli 1.0.4 → 1.0.6
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/bin/flexsite.js +15 -17
- package/dist/bin/flexsite.js.map +1 -1
- package/dist/commands/auth.js +64 -70
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/composer.d.ts.map +1 -1
- package/dist/commands/composer.js +59 -64
- package/dist/commands/composer.js.map +1 -1
- package/dist/commands/config.js +17 -23
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/db.js +57 -63
- package/dist/commands/db.js.map +1 -1
- package/dist/commands/files.js +56 -62
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +150 -77
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +4 -20
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +21 -2
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +55 -34
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/config.js +14 -31
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/detector.d.ts.map +1 -1
- package/dist/lib/detector.js +53 -55
- package/dist/lib/detector.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/package.json +2 -1
package/dist/lib/api.js
CHANGED
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* API client for FlexSite CLI.
|
|
4
3
|
* Handles all HTTP requests to the FlexSite API.
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.getCurrentTokenInfo = getCurrentTokenInfo;
|
|
11
|
-
exports.createApiClient = createApiClient;
|
|
12
|
-
exports.verifyAuth = verifyAuth;
|
|
13
|
-
exports.listProjects = listProjects;
|
|
14
|
-
exports.listEnvironments = listEnvironments;
|
|
15
|
-
exports.getLatestDatabaseBackup = getLatestDatabaseBackup;
|
|
16
|
-
exports.listDatabaseBackups = listDatabaseBackups;
|
|
17
|
-
exports.getLatestFilesBackup = getLatestFilesBackup;
|
|
18
|
-
exports.listFilesBackups = listFilesBackups;
|
|
19
|
-
exports.downloadFile = downloadFile;
|
|
20
|
-
const axios_1 = __importDefault(require("axios"));
|
|
21
|
-
const config_js_1 = require("./config.js");
|
|
5
|
+
import axios from 'axios';
|
|
6
|
+
import { getToken } from './config.js';
|
|
22
7
|
// API base URL
|
|
23
8
|
// Note: The custom domain maps root to v1 stage, so no /v1 suffix needed
|
|
24
9
|
const API_BASE_URL = process.env.FLEXSITE_API_URL || 'https://cli-api.flexsite.io';
|
|
@@ -27,21 +12,21 @@ let currentTokenInfo = null;
|
|
|
27
12
|
/**
|
|
28
13
|
* Get current token info being used
|
|
29
14
|
*/
|
|
30
|
-
function getCurrentTokenInfo() {
|
|
15
|
+
export function getCurrentTokenInfo() {
|
|
31
16
|
return currentTokenInfo;
|
|
32
17
|
}
|
|
33
18
|
/**
|
|
34
19
|
* Create an authenticated API client
|
|
35
20
|
*/
|
|
36
|
-
function createApiClient(token) {
|
|
37
|
-
const tokenConfig = token ? null :
|
|
21
|
+
export function createApiClient(token) {
|
|
22
|
+
const tokenConfig = token ? null : getToken();
|
|
38
23
|
const authToken = token || tokenConfig?.token;
|
|
39
24
|
// Store for error messages
|
|
40
25
|
currentTokenInfo = tokenConfig;
|
|
41
26
|
if (!authToken) {
|
|
42
27
|
throw new Error('No authentication token found. Run "flexsite auth login" first.');
|
|
43
28
|
}
|
|
44
|
-
return
|
|
29
|
+
return axios.create({
|
|
45
30
|
baseURL: API_BASE_URL,
|
|
46
31
|
timeout: 30000,
|
|
47
32
|
headers: {
|
|
@@ -55,7 +40,7 @@ function createApiClient(token) {
|
|
|
55
40
|
* Handle API errors consistently
|
|
56
41
|
*/
|
|
57
42
|
function handleError(error) {
|
|
58
|
-
if (
|
|
43
|
+
if (axios.isAxiosError(error)) {
|
|
59
44
|
const axiosError = error;
|
|
60
45
|
if (axiosError.response) {
|
|
61
46
|
const status = axiosError.response.status;
|
|
@@ -89,7 +74,7 @@ function handleError(error) {
|
|
|
89
74
|
/**
|
|
90
75
|
* Verify authentication token
|
|
91
76
|
*/
|
|
92
|
-
async function verifyAuth(token) {
|
|
77
|
+
export async function verifyAuth(token) {
|
|
93
78
|
try {
|
|
94
79
|
const client = createApiClient(token);
|
|
95
80
|
const response = await client.get('/cli/auth/verify');
|
|
@@ -102,7 +87,7 @@ async function verifyAuth(token) {
|
|
|
102
87
|
/**
|
|
103
88
|
* List projects for the authenticated organization
|
|
104
89
|
*/
|
|
105
|
-
async function listProjects() {
|
|
90
|
+
export async function listProjects() {
|
|
106
91
|
try {
|
|
107
92
|
const client = createApiClient();
|
|
108
93
|
const response = await client.get('/cli/projects');
|
|
@@ -115,7 +100,7 @@ async function listProjects() {
|
|
|
115
100
|
/**
|
|
116
101
|
* List environments for a project
|
|
117
102
|
*/
|
|
118
|
-
async function listEnvironments(projectId) {
|
|
103
|
+
export async function listEnvironments(projectId) {
|
|
119
104
|
try {
|
|
120
105
|
const client = createApiClient();
|
|
121
106
|
const response = await client.get('/cli/environments', {
|
|
@@ -128,9 +113,10 @@ async function listEnvironments(projectId) {
|
|
|
128
113
|
}
|
|
129
114
|
}
|
|
130
115
|
/**
|
|
131
|
-
* Get latest database backup download URL
|
|
116
|
+
* Get latest database backup download URL.
|
|
117
|
+
* The CLI API prefers DatabaseBackupsList (newest-first nested entries); falls back to legacy DatabaseBackup rows.
|
|
132
118
|
*/
|
|
133
|
-
async function getLatestDatabaseBackup(environmentId) {
|
|
119
|
+
export async function getLatestDatabaseBackup(environmentId) {
|
|
134
120
|
try {
|
|
135
121
|
const client = createApiClient();
|
|
136
122
|
const response = await client.get(`/cli/environments/${environmentId}/database/latest`);
|
|
@@ -141,13 +127,33 @@ async function getLatestDatabaseBackup(environmentId) {
|
|
|
141
127
|
}
|
|
142
128
|
}
|
|
143
129
|
/**
|
|
144
|
-
* List database backups for an environment
|
|
130
|
+
* List database backups for an environment (newest first; matches aggregate order when migrated).
|
|
145
131
|
*/
|
|
146
|
-
async function listDatabaseBackups(environmentId) {
|
|
132
|
+
export async function listDatabaseBackups(environmentId) {
|
|
147
133
|
try {
|
|
148
134
|
const client = createApiClient();
|
|
149
135
|
const response = await client.get(`/cli/environments/${environmentId}/database`);
|
|
150
|
-
|
|
136
|
+
const items = response.data.backups || [];
|
|
137
|
+
return [...items].sort((a, b) => {
|
|
138
|
+
const ta = new Date(a.createdAt || 0).getTime();
|
|
139
|
+
const tb = new Date(b.createdAt || 0).getTime();
|
|
140
|
+
return tb - ta;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
handleError(error);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Trigger creation of a new database backup for an environment.
|
|
149
|
+
* Returns immediately (202); the backup is created asynchronously and becomes
|
|
150
|
+
* available via getLatestDatabaseBackup once the worker finishes.
|
|
151
|
+
*/
|
|
152
|
+
export async function createDatabaseBackup(environmentId) {
|
|
153
|
+
try {
|
|
154
|
+
const client = createApiClient();
|
|
155
|
+
const response = await client.post(`/cli/environments/${environmentId}/database/backup`);
|
|
156
|
+
return response.data;
|
|
151
157
|
}
|
|
152
158
|
catch (error) {
|
|
153
159
|
handleError(error);
|
|
@@ -156,7 +162,7 @@ async function listDatabaseBackups(environmentId) {
|
|
|
156
162
|
/**
|
|
157
163
|
* Get latest files backup download URL
|
|
158
164
|
*/
|
|
159
|
-
async function getLatestFilesBackup(environmentId) {
|
|
165
|
+
export async function getLatestFilesBackup(environmentId) {
|
|
160
166
|
try {
|
|
161
167
|
const client = createApiClient();
|
|
162
168
|
const response = await client.get(`/cli/environments/${environmentId}/files/latest`);
|
|
@@ -169,7 +175,7 @@ async function getLatestFilesBackup(environmentId) {
|
|
|
169
175
|
/**
|
|
170
176
|
* List files backups for an environment
|
|
171
177
|
*/
|
|
172
|
-
async function listFilesBackups(environmentId) {
|
|
178
|
+
export async function listFilesBackups(environmentId) {
|
|
173
179
|
try {
|
|
174
180
|
const client = createApiClient();
|
|
175
181
|
const response = await client.get(`/cli/environments/${environmentId}/files`);
|
|
@@ -179,12 +185,27 @@ async function listFilesBackups(environmentId) {
|
|
|
179
185
|
handleError(error);
|
|
180
186
|
}
|
|
181
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Trigger creation of a new files backup for an environment.
|
|
190
|
+
* Returns immediately (202); the backup is created asynchronously and becomes
|
|
191
|
+
* available via getLatestFilesBackup once the worker finishes.
|
|
192
|
+
*/
|
|
193
|
+
export async function createFilesBackup(environmentId) {
|
|
194
|
+
try {
|
|
195
|
+
const client = createApiClient();
|
|
196
|
+
const response = await client.post(`/cli/environments/${environmentId}/files/backup`);
|
|
197
|
+
return response.data;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
handleError(error);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
182
203
|
/**
|
|
183
204
|
* Download a file from a presigned URL
|
|
184
205
|
*/
|
|
185
|
-
async function downloadFile(url, onProgress) {
|
|
206
|
+
export async function downloadFile(url, onProgress) {
|
|
186
207
|
try {
|
|
187
|
-
const response = await
|
|
208
|
+
const response = await axios.get(url, {
|
|
188
209
|
responseType: 'arraybuffer',
|
|
189
210
|
timeout: 300000, // 5 minutes for large files
|
|
190
211
|
onDownloadProgress: (progressEvent) => {
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -1,28 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Configuration management for FlexSite CLI.
|
|
4
3
|
* Stores tokens and preferences in ~/.flexsite/config.json
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
-
};
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.getConfig = getConfig;
|
|
11
|
-
exports.saveToken = saveToken;
|
|
12
|
-
exports.getToken = getToken;
|
|
13
|
-
exports.removeToken = removeToken;
|
|
14
|
-
exports.getAllTokens = getAllTokens;
|
|
15
|
-
exports.setDefaultOrganization = setDefaultOrganization;
|
|
16
|
-
exports.setDefaultProject = setDefaultProject;
|
|
17
|
-
exports.setDefaultEnvironment = setDefaultEnvironment;
|
|
18
|
-
exports.getDefaults = getDefaults;
|
|
19
|
-
exports.clearConfig = clearConfig;
|
|
20
|
-
exports.clearDefaults = clearDefaults;
|
|
21
|
-
exports.getConfigPath = getConfigPath;
|
|
22
|
-
const conf_1 = __importDefault(require("conf"));
|
|
5
|
+
import Conf from 'conf';
|
|
23
6
|
const CONFIG_VERSION = 1;
|
|
24
7
|
// Initialize configuration store
|
|
25
|
-
const store = new
|
|
8
|
+
const store = new Conf({
|
|
26
9
|
projectName: 'flexsite',
|
|
27
10
|
projectVersion: '1.0.0',
|
|
28
11
|
defaults: {
|
|
@@ -34,13 +17,13 @@ const store = new conf_1.default({
|
|
|
34
17
|
/**
|
|
35
18
|
* Get the entire configuration
|
|
36
19
|
*/
|
|
37
|
-
function getConfig() {
|
|
20
|
+
export function getConfig() {
|
|
38
21
|
return store.store;
|
|
39
22
|
}
|
|
40
23
|
/**
|
|
41
24
|
* Save a token for an organization
|
|
42
25
|
*/
|
|
43
|
-
function saveToken(orgPrefix, tokenConfig) {
|
|
26
|
+
export function saveToken(orgPrefix, tokenConfig) {
|
|
44
27
|
const tokens = store.get('tokens', {});
|
|
45
28
|
tokens[orgPrefix] = tokenConfig;
|
|
46
29
|
store.set('tokens', tokens);
|
|
@@ -52,7 +35,7 @@ function saveToken(orgPrefix, tokenConfig) {
|
|
|
52
35
|
/**
|
|
53
36
|
* Get token for an organization (by prefix or full ID)
|
|
54
37
|
*/
|
|
55
|
-
function getToken(orgId) {
|
|
38
|
+
export function getToken(orgId) {
|
|
56
39
|
const tokens = store.get('tokens', {});
|
|
57
40
|
let searchId = orgId;
|
|
58
41
|
if (!searchId) {
|
|
@@ -81,7 +64,7 @@ function getToken(orgId) {
|
|
|
81
64
|
/**
|
|
82
65
|
* Remove a token
|
|
83
66
|
*/
|
|
84
|
-
function removeToken(orgId) {
|
|
67
|
+
export function removeToken(orgId) {
|
|
85
68
|
const tokens = store.get('tokens', {});
|
|
86
69
|
const orgPrefix = orgId.substring(0, 8);
|
|
87
70
|
if (tokens[orgPrefix]) {
|
|
@@ -102,49 +85,49 @@ function removeToken(orgId) {
|
|
|
102
85
|
/**
|
|
103
86
|
* Get all stored tokens
|
|
104
87
|
*/
|
|
105
|
-
function getAllTokens() {
|
|
88
|
+
export function getAllTokens() {
|
|
106
89
|
return store.get('tokens', {});
|
|
107
90
|
}
|
|
108
91
|
/**
|
|
109
92
|
* Set default organization
|
|
110
93
|
*/
|
|
111
|
-
function setDefaultOrganization(orgId) {
|
|
94
|
+
export function setDefaultOrganization(orgId) {
|
|
112
95
|
store.set('defaults.organizationId', orgId);
|
|
113
96
|
}
|
|
114
97
|
/**
|
|
115
98
|
* Set default project
|
|
116
99
|
*/
|
|
117
|
-
function setDefaultProject(projectId) {
|
|
100
|
+
export function setDefaultProject(projectId) {
|
|
118
101
|
store.set('defaults.projectId', projectId);
|
|
119
102
|
}
|
|
120
103
|
/**
|
|
121
104
|
* Set default environment
|
|
122
105
|
*/
|
|
123
|
-
function setDefaultEnvironment(envId) {
|
|
106
|
+
export function setDefaultEnvironment(envId) {
|
|
124
107
|
store.set('defaults.environmentId', envId);
|
|
125
108
|
}
|
|
126
109
|
/**
|
|
127
110
|
* Get defaults
|
|
128
111
|
*/
|
|
129
|
-
function getDefaults() {
|
|
112
|
+
export function getDefaults() {
|
|
130
113
|
return store.get('defaults', {});
|
|
131
114
|
}
|
|
132
115
|
/**
|
|
133
116
|
* Clear all configuration
|
|
134
117
|
*/
|
|
135
|
-
function clearConfig() {
|
|
118
|
+
export function clearConfig() {
|
|
136
119
|
store.clear();
|
|
137
120
|
}
|
|
138
121
|
/**
|
|
139
122
|
* Clear only defaults (keep tokens)
|
|
140
123
|
*/
|
|
141
|
-
function clearDefaults() {
|
|
124
|
+
export function clearDefaults() {
|
|
142
125
|
store.set('defaults', {});
|
|
143
126
|
}
|
|
144
127
|
/**
|
|
145
128
|
* Get the config file path
|
|
146
129
|
*/
|
|
147
|
-
function getConfigPath() {
|
|
130
|
+
export function getConfigPath() {
|
|
148
131
|
return store.path;
|
|
149
132
|
}
|
|
150
133
|
//# sourceMappingURL=config.js.map
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.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;AAyDD;;GAEG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
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,CA+KvF;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"}
|
package/dist/lib/detector.js
CHANGED
|
@@ -1,26 +1,16 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Local environment detection and import utilities.
|
|
4
3
|
* Detects Lando and DDEV environments and provides import functionality.
|
|
5
4
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.importDatabase = importDatabase;
|
|
12
|
-
exports.importFiles = importFiles;
|
|
13
|
-
exports.clearCache = clearCache;
|
|
14
|
-
exports.getLoginUrl = getLoginUrl;
|
|
15
|
-
const fs_1 = __importDefault(require("fs"));
|
|
16
|
-
const path_1 = __importDefault(require("path"));
|
|
17
|
-
const child_process_1 = require("child_process");
|
|
18
|
-
const util_1 = require("util");
|
|
19
|
-
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { exec } from 'child_process';
|
|
8
|
+
import { promisify } from 'util';
|
|
9
|
+
const execAsync = promisify(exec);
|
|
20
10
|
/**
|
|
21
11
|
* Detect if running in a Lando or DDEV environment
|
|
22
12
|
*/
|
|
23
|
-
function detectLocalEnvironment() {
|
|
13
|
+
export function detectLocalEnvironment() {
|
|
24
14
|
// Check environment variables first (when running inside container)
|
|
25
15
|
if (process.env.LANDO === 'ON') {
|
|
26
16
|
return 'lando';
|
|
@@ -30,11 +20,11 @@ function detectLocalEnvironment() {
|
|
|
30
20
|
}
|
|
31
21
|
// Check for configuration files (when running on host)
|
|
32
22
|
const cwd = process.cwd();
|
|
33
|
-
if (
|
|
34
|
-
|
|
23
|
+
if (fs.existsSync(path.join(cwd, '.lando.yml')) ||
|
|
24
|
+
fs.existsSync(path.join(cwd, '.lando.local.yml'))) {
|
|
35
25
|
return 'lando';
|
|
36
26
|
}
|
|
37
|
-
if (
|
|
27
|
+
if (fs.existsSync(path.join(cwd, '.ddev', 'config.yaml'))) {
|
|
38
28
|
return 'ddev';
|
|
39
29
|
}
|
|
40
30
|
return null;
|
|
@@ -57,21 +47,21 @@ async function commandExists(command) {
|
|
|
57
47
|
function getFilesDirectory() {
|
|
58
48
|
const cwd = process.cwd();
|
|
59
49
|
// Check for Drupal 10/11 structure (web/sites/default/files)
|
|
60
|
-
if (
|
|
61
|
-
return
|
|
50
|
+
if (fs.existsSync(path.join(cwd, 'web', 'sites', 'default', 'files'))) {
|
|
51
|
+
return path.join(cwd, 'web', 'sites', 'default', 'files');
|
|
62
52
|
}
|
|
63
53
|
// Check for Drupal 7 structure (sites/default/files)
|
|
64
|
-
if (
|
|
65
|
-
return
|
|
54
|
+
if (fs.existsSync(path.join(cwd, 'sites', 'default', 'files'))) {
|
|
55
|
+
return path.join(cwd, 'sites', 'default', 'files');
|
|
66
56
|
}
|
|
67
57
|
// Check for WordPress structure (wp-content/uploads)
|
|
68
|
-
if (
|
|
69
|
-
return
|
|
58
|
+
if (fs.existsSync(path.join(cwd, 'wp-content', 'uploads'))) {
|
|
59
|
+
return path.join(cwd, 'wp-content', 'uploads');
|
|
70
60
|
}
|
|
71
61
|
// Default to web/sites/default/files for modern Drupal
|
|
72
|
-
const defaultDir =
|
|
73
|
-
if (!
|
|
74
|
-
|
|
62
|
+
const defaultDir = path.join(cwd, 'web', 'sites', 'default', 'files');
|
|
63
|
+
if (!fs.existsSync(defaultDir)) {
|
|
64
|
+
fs.mkdirSync(defaultDir, { recursive: true });
|
|
75
65
|
}
|
|
76
66
|
return defaultDir;
|
|
77
67
|
}
|
|
@@ -90,13 +80,13 @@ function isInsideDdevContainer() {
|
|
|
90
80
|
/**
|
|
91
81
|
* Import a database backup using Lando or DDEV
|
|
92
82
|
*/
|
|
93
|
-
async function importDatabase(filePath, env) {
|
|
83
|
+
export async function importDatabase(filePath, env) {
|
|
94
84
|
if (!env) {
|
|
95
85
|
throw new Error('No local environment detected');
|
|
96
86
|
}
|
|
97
|
-
const absolutePath =
|
|
87
|
+
const absolutePath = path.resolve(filePath);
|
|
98
88
|
const cwd = process.cwd();
|
|
99
|
-
if (!
|
|
89
|
+
if (!fs.existsSync(absolutePath)) {
|
|
100
90
|
throw new Error(`Database file not found: ${absolutePath}`);
|
|
101
91
|
}
|
|
102
92
|
if (env === 'lando') {
|
|
@@ -104,15 +94,18 @@ async function importDatabase(filePath, env) {
|
|
|
104
94
|
if (isInsideLandoContainer()) {
|
|
105
95
|
// Inside container - use direct mysql/drush commands
|
|
106
96
|
try {
|
|
107
|
-
// Decompress if needed and import directly
|
|
97
|
+
// Decompress if needed and import directly.
|
|
98
|
+
// Use `$(drush sql:connect) --skip-ssl` instead of `drush sql:cli`:
|
|
99
|
+
// Lando's MySQL 8 service offers TLS with a self-signed cert, and the
|
|
100
|
+
// modern mariadb client verifies the chain by default (ERROR 2026).
|
|
101
|
+
// drush invokes the client with --defaults-file, so a global my.cnf is
|
|
102
|
+
// ignored; appending --skip-ssl on the command line overrides it.
|
|
108
103
|
let importCmd;
|
|
109
104
|
if (absolutePath.endsWith('.gz')) {
|
|
110
|
-
|
|
111
|
-
// Try drush first as it handles connection automatically
|
|
112
|
-
importCmd = `gunzip -c "${absolutePath}" | drush sql:cli`;
|
|
105
|
+
importCmd = `gunzip -c "${absolutePath}" | $(drush sql:connect) --skip-ssl`;
|
|
113
106
|
}
|
|
114
107
|
else {
|
|
115
|
-
importCmd =
|
|
108
|
+
importCmd = `$(drush sql:connect) --skip-ssl < "${absolutePath}"`;
|
|
116
109
|
}
|
|
117
110
|
await execAsync(importCmd, {
|
|
118
111
|
cwd: cwd,
|
|
@@ -127,12 +120,13 @@ async function importDatabase(filePath, env) {
|
|
|
127
120
|
const dbUser = process.env.DB_USER || 'drupal';
|
|
128
121
|
const dbPass = process.env.DB_PASSWORD || 'drupal';
|
|
129
122
|
const dbName = process.env.DB_NAME || 'drupal';
|
|
123
|
+
// --skip-ssl avoids the MySQL 8 self-signed cert TLS error (ERROR 2026).
|
|
130
124
|
let mysqlCmd;
|
|
131
125
|
if (absolutePath.endsWith('.gz')) {
|
|
132
|
-
mysqlCmd = `gunzip -c "${absolutePath}" | mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName}`;
|
|
126
|
+
mysqlCmd = `gunzip -c "${absolutePath}" | mysql --skip-ssl -h${dbHost} -u${dbUser} -p${dbPass} ${dbName}`;
|
|
133
127
|
}
|
|
134
128
|
else {
|
|
135
|
-
mysqlCmd = `mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName} < "${absolutePath}"`;
|
|
129
|
+
mysqlCmd = `mysql --skip-ssl -h${dbHost} -u${dbUser} -p${dbPass} ${dbName} < "${absolutePath}"`;
|
|
136
130
|
}
|
|
137
131
|
await execAsync(mysqlCmd, {
|
|
138
132
|
cwd: cwd,
|
|
@@ -155,13 +149,13 @@ async function importDatabase(filePath, env) {
|
|
|
155
149
|
let importPath;
|
|
156
150
|
if (absolutePath.startsWith(cwd)) {
|
|
157
151
|
// File is inside the project directory, use relative path
|
|
158
|
-
importPath =
|
|
152
|
+
importPath = path.relative(cwd, absolutePath);
|
|
159
153
|
}
|
|
160
154
|
else {
|
|
161
155
|
// File is outside project directory - copy it to project root first
|
|
162
|
-
const fileName =
|
|
163
|
-
const tempPath =
|
|
164
|
-
|
|
156
|
+
const fileName = path.basename(absolutePath);
|
|
157
|
+
const tempPath = path.join(cwd, fileName);
|
|
158
|
+
fs.copyFileSync(absolutePath, tempPath);
|
|
165
159
|
importPath = fileName;
|
|
166
160
|
}
|
|
167
161
|
// Use lando db-import with relative path
|
|
@@ -188,14 +182,17 @@ async function importDatabase(filePath, env) {
|
|
|
188
182
|
if (isInsideDdevContainer()) {
|
|
189
183
|
// Inside container - use direct mysql/drush commands
|
|
190
184
|
try {
|
|
191
|
-
// Decompress if needed and import directly
|
|
185
|
+
// Decompress if needed and import directly.
|
|
186
|
+
// `$(drush sql:connect) --skip-ssl` avoids the self-signed cert TLS
|
|
187
|
+
// error (ERROR 2026) when the DB service offers TLS and the modern
|
|
188
|
+
// client verifies the chain by default. CLI args override the
|
|
189
|
+
// --defaults-file drush generates, so --skip-ssl takes effect.
|
|
192
190
|
let importCmd;
|
|
193
191
|
if (absolutePath.endsWith('.gz')) {
|
|
194
|
-
|
|
195
|
-
importCmd = `gunzip -c "${absolutePath}" | drush sql:cli`;
|
|
192
|
+
importCmd = `gunzip -c "${absolutePath}" | $(drush sql:connect) --skip-ssl`;
|
|
196
193
|
}
|
|
197
194
|
else {
|
|
198
|
-
importCmd =
|
|
195
|
+
importCmd = `$(drush sql:connect) --skip-ssl < "${absolutePath}"`;
|
|
199
196
|
}
|
|
200
197
|
await execAsync(importCmd, {
|
|
201
198
|
cwd: cwd,
|
|
@@ -210,12 +207,13 @@ async function importDatabase(filePath, env) {
|
|
|
210
207
|
const dbUser = 'db';
|
|
211
208
|
const dbPass = 'db';
|
|
212
209
|
const dbName = 'db';
|
|
210
|
+
// --skip-ssl avoids the self-signed cert TLS error (ERROR 2026).
|
|
213
211
|
let mysqlCmd;
|
|
214
212
|
if (absolutePath.endsWith('.gz')) {
|
|
215
|
-
mysqlCmd = `gunzip -c "${absolutePath}" | mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName}`;
|
|
213
|
+
mysqlCmd = `gunzip -c "${absolutePath}" | mysql --skip-ssl -h${dbHost} -u${dbUser} -p${dbPass} ${dbName}`;
|
|
216
214
|
}
|
|
217
215
|
else {
|
|
218
|
-
mysqlCmd = `mysql -h${dbHost} -u${dbUser} -p${dbPass} ${dbName} < "${absolutePath}"`;
|
|
216
|
+
mysqlCmd = `mysql --skip-ssl -h${dbHost} -u${dbUser} -p${dbPass} ${dbName} < "${absolutePath}"`;
|
|
219
217
|
}
|
|
220
218
|
await execAsync(mysqlCmd, {
|
|
221
219
|
cwd: cwd,
|
|
@@ -252,18 +250,18 @@ async function importDatabase(filePath, env) {
|
|
|
252
250
|
/**
|
|
253
251
|
* Import/extract a files backup
|
|
254
252
|
*/
|
|
255
|
-
async function importFiles(filePath, env) {
|
|
253
|
+
export async function importFiles(filePath, env) {
|
|
256
254
|
if (!env) {
|
|
257
255
|
throw new Error('No local environment detected');
|
|
258
256
|
}
|
|
259
|
-
const absolutePath =
|
|
260
|
-
if (!
|
|
257
|
+
const absolutePath = path.resolve(filePath);
|
|
258
|
+
if (!fs.existsSync(absolutePath)) {
|
|
261
259
|
throw new Error(`Files archive not found: ${absolutePath}`);
|
|
262
260
|
}
|
|
263
261
|
const filesDir = getFilesDirectory();
|
|
264
262
|
// Ensure files directory exists
|
|
265
|
-
if (!
|
|
266
|
-
|
|
263
|
+
if (!fs.existsSync(filesDir)) {
|
|
264
|
+
fs.mkdirSync(filesDir, { recursive: true });
|
|
267
265
|
}
|
|
268
266
|
// Extract the archive
|
|
269
267
|
try {
|
|
@@ -313,7 +311,7 @@ async function importFiles(filePath, env) {
|
|
|
313
311
|
/**
|
|
314
312
|
* Clear cache in the local environment
|
|
315
313
|
*/
|
|
316
|
-
async function clearCache(env) {
|
|
314
|
+
export async function clearCache(env) {
|
|
317
315
|
if (!env) {
|
|
318
316
|
throw new Error('No local environment detected');
|
|
319
317
|
}
|
|
@@ -362,7 +360,7 @@ async function clearCache(env) {
|
|
|
362
360
|
/**
|
|
363
361
|
* Get a login URL for the local environment
|
|
364
362
|
*/
|
|
365
|
-
async function getLoginUrl(env) {
|
|
363
|
+
export async function getLoginUrl(env) {
|
|
366
364
|
if (!env) {
|
|
367
365
|
return null;
|
|
368
366
|
}
|
package/dist/lib/detector.js.map
CHANGED
|
@@ -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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"}
|