@automattic/vip 2.11.2 → 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +7 -2
- package/README.md +30 -2
- package/config/{config.json → config.publish.json} +0 -0
- package/dist/bin/vip-cache-purge-url.js +93 -0
- package/{package/dist/bin/vip-config.js → dist/bin/vip-cache.js} +6 -3
- package/dist/bin/vip-dev-env-import-sql.js +8 -1
- package/dist/bin/vip-dev-env-start.js +2 -1
- package/dist/bin/vip-dev-env-update.js +1 -0
- package/dist/bin/vip-wp.js +2 -2
- package/dist/bin/vip.js +2 -2
- package/dist/lib/analytics/clients/stub.js +1 -1
- package/dist/lib/analytics/clients/tracks.js +0 -5
- package/dist/lib/analytics/index.js +13 -1
- package/dist/lib/api/cache-purge.js +76 -0
- package/dist/lib/api.js +2 -2
- package/dist/lib/cli/config.js +30 -0
- package/dist/lib/dev-environment/dev-environment-cli.js +3 -0
- package/dist/lib/dev-environment/dev-environment-lando.js +31 -3
- package/dist/lib/envvar/read-file.js +2 -18
- package/dist/lib/http/proxy-agent.js +94 -0
- package/{package/dist/lib/envvar → dist/lib}/read-file.js +3 -6
- package/dist/lib/rollbar.js +1 -1
- package/dist/lib/tracker.js +1 -1
- package/dist/lib/validations/sql.js +134 -52
- package/npm-shrinkwrap.json +388 -202
- package/package.json +14 -9
- package/.circleci/config.yml +0 -67
- package/dist/lib/http/socks-proxy-agent.js +0 -25
- package/helpers/prepare-config.js +0 -19
- package/package/dist/bin/vip-app-list.js +0 -73
- package/package/dist/bin/vip-app.js +0 -76
- package/package/dist/bin/vip-config-envvar-delete.js +0 -97
- package/package/dist/bin/vip-config-envvar-get-all.js +0 -94
- package/package/dist/bin/vip-config-envvar-get.js +0 -79
- package/package/dist/bin/vip-config-envvar-list.js +0 -91
- package/package/dist/bin/vip-config-envvar-set.js +0 -123
- package/package/dist/bin/vip-config-envvar.js +0 -23
- package/package/dist/bin/vip-dev-env-create.js +0 -105
- package/package/dist/bin/vip-dev-env-destroy.js +0 -56
- package/package/dist/bin/vip-dev-env-exec.js +0 -67
- package/package/dist/bin/vip-dev-env-import-media.js +0 -51
- package/package/dist/bin/vip-dev-env-import-sql.js +0 -83
- package/package/dist/bin/vip-dev-env-import.js +0 -32
- package/package/dist/bin/vip-dev-env-info.js +0 -61
- package/package/dist/bin/vip-dev-env-list.js +0 -46
- package/package/dist/bin/vip-dev-env-start.js +0 -77
- package/package/dist/bin/vip-dev-env-stop.js +0 -52
- package/package/dist/bin/vip-dev-env-update.js +0 -89
- package/package/dist/bin/vip-dev-env.js +0 -23
- package/package/dist/bin/vip-import-media-abort.js +0 -132
- package/package/dist/bin/vip-import-media-status.js +0 -84
- package/package/dist/bin/vip-import-media.js +0 -168
- package/package/dist/bin/vip-import-sql-status.js +0 -83
- package/package/dist/bin/vip-import-sql.js +0 -580
- package/package/dist/bin/vip-import-validate-files.js +0 -191
- package/package/dist/bin/vip-import-validate-sql.js +0 -34
- package/package/dist/bin/vip-import.js +0 -20
- package/package/dist/bin/vip-logs.js +0 -232
- package/package/dist/bin/vip-search-replace.js +0 -71
- package/package/dist/bin/vip-sync.js +0 -191
- package/package/dist/bin/vip-whoami.js +0 -67
- package/package/dist/bin/vip-wp.js +0 -555
- package/package/dist/bin/vip.js +0 -149
- package/package/dist/lib/analytics/clients/client.js +0 -1
- package/package/dist/lib/analytics/clients/pendo.js +0 -92
- package/package/dist/lib/analytics/clients/stub.js +0 -19
- package/package/dist/lib/analytics/clients/tracks.js +0 -128
- package/package/dist/lib/analytics/index.js +0 -45
- package/package/dist/lib/api/app.js +0 -70
- package/package/dist/lib/api/feature-flags.js +0 -39
- package/package/dist/lib/api/user.js +0 -58
- package/package/dist/lib/api.js +0 -136
- package/package/dist/lib/app-logs/app-logs.js +0 -70
- package/package/dist/lib/cli/apiConfig.js +0 -90
- package/package/dist/lib/cli/command.js +0 -606
- package/package/dist/lib/cli/envAlias.js +0 -60
- package/package/dist/lib/cli/exit.js +0 -33
- package/package/dist/lib/cli/format.js +0 -213
- package/package/dist/lib/cli/pager.js +0 -52
- package/package/dist/lib/cli/progress.js +0 -208
- package/package/dist/lib/cli/prompt.js +0 -37
- package/package/dist/lib/cli/repo.js +0 -77
- package/package/dist/lib/client-file-uploader.js +0 -602
- package/package/dist/lib/constants/dev-environment.js +0 -42
- package/package/dist/lib/constants/file-size.js +0 -14
- package/package/dist/lib/dev-environment/dev-environment-cli.js +0 -508
- package/package/dist/lib/dev-environment/dev-environment-core.js +0 -620
- package/package/dist/lib/dev-environment/dev-environment-lando.js +0 -330
- package/package/dist/lib/dev-environment/types.js +0 -1
- package/package/dist/lib/env.js +0 -36
- package/package/dist/lib/envvar/api-delete.js +0 -56
- package/package/dist/lib/envvar/api-get-all.js +0 -59
- package/package/dist/lib/envvar/api-get.js +0 -24
- package/package/dist/lib/envvar/api-list.js +0 -60
- package/package/dist/lib/envvar/api-set.js +0 -58
- package/package/dist/lib/envvar/api.js +0 -104
- package/package/dist/lib/envvar/input.js +0 -55
- package/package/dist/lib/envvar/logging.js +0 -33
- package/package/dist/lib/http/socks-proxy-agent.js +0 -25
- package/package/dist/lib/keychain/browser.js +0 -35
- package/package/dist/lib/keychain/insecure.js +0 -63
- package/package/dist/lib/keychain/keychain.js +0 -1
- package/package/dist/lib/keychain/secure.js +0 -36
- package/package/dist/lib/keychain.js +0 -36
- package/package/dist/lib/media-import/media-file-import.js +0 -34
- package/package/dist/lib/media-import/progress.js +0 -86
- package/package/dist/lib/media-import/status.js +0 -335
- package/package/dist/lib/rollbar.js +0 -35
- package/package/dist/lib/search-and-replace.js +0 -203
- package/package/dist/lib/site-import/db-file-import.js +0 -46
- package/package/dist/lib/site-import/status.js +0 -444
- package/package/dist/lib/token.js +0 -132
- package/package/dist/lib/tracker.js +0 -96
- package/package/dist/lib/validations/is-multi-site-sql-dump.js +0 -59
- package/package/dist/lib/validations/is-multi-site.js +0 -99
- package/package/dist/lib/validations/line-by-line.js +0 -92
- package/package/dist/lib/validations/site-type.js +0 -66
- package/package/dist/lib/validations/sql.js +0 -371
- package/package/dist/lib/vip-import-validate-files.js +0 -548
- package/package/vip.iml +0 -11
- package/vip.iml +0 -11
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.landoStart = landoStart;
|
|
7
|
-
exports.landoRebuild = landoRebuild;
|
|
8
|
-
exports.landoStop = landoStop;
|
|
9
|
-
exports.landoDestroy = landoDestroy;
|
|
10
|
-
exports.landoInfo = landoInfo;
|
|
11
|
-
exports.landoExec = landoExec;
|
|
12
|
-
exports.validateDockerInstalled = validateDockerInstalled;
|
|
13
|
-
|
|
14
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
15
|
-
|
|
16
|
-
var _os = _interopRequireDefault(require("os"));
|
|
17
|
-
|
|
18
|
-
var _path = _interopRequireDefault(require("path"));
|
|
19
|
-
|
|
20
|
-
var _lando = _interopRequireDefault(require("lando/lib/lando"));
|
|
21
|
-
|
|
22
|
-
var _utils = _interopRequireDefault(require("lando/plugins/lando-core/lib/utils"));
|
|
23
|
-
|
|
24
|
-
var _build = _interopRequireDefault(require("lando/plugins/lando-tooling/lib/build"));
|
|
25
|
-
|
|
26
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
27
|
-
|
|
28
|
-
var _app = _interopRequireDefault(require("lando/lib/app"));
|
|
29
|
-
|
|
30
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
* @format
|
|
35
|
-
*/
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* External dependencies
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Internal dependencies
|
|
43
|
-
*/
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* This file will hold all the interactions with lando library
|
|
47
|
-
*/
|
|
48
|
-
const DEBUG_KEY = '@automattic/vip:bin:dev-environment';
|
|
49
|
-
const debug = (0, _debug.default)(DEBUG_KEY);
|
|
50
|
-
let landoConfRoot;
|
|
51
|
-
/**
|
|
52
|
-
* @returns {string} User configuration root directory (aka userConfRoot in Lando)
|
|
53
|
-
*/
|
|
54
|
-
|
|
55
|
-
function getLandoUserConfigurationRoot() {
|
|
56
|
-
if (!landoConfRoot) {
|
|
57
|
-
landoConfRoot = _path.default.join(_os.default.tmpdir(), 'lando');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return landoConfRoot;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* @returns {object} Lando configuration
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
function getLandoConfig() {
|
|
68
|
-
const landoPath = _path.default.join(__dirname, '..', '..', '..', 'node_modules', 'lando');
|
|
69
|
-
|
|
70
|
-
debug(`Getting lando config, using path '${landoPath}' for plugins`);
|
|
71
|
-
const isLandoDebugSelected = (process.env.DEBUG || '').includes(DEBUG_KEY);
|
|
72
|
-
const isAllDebugSelected = process.env.DEBUG === '*';
|
|
73
|
-
const logLevelConsole = isAllDebugSelected || isLandoDebugSelected ? 'debug' : 'warn';
|
|
74
|
-
return {
|
|
75
|
-
logLevelConsole,
|
|
76
|
-
landoFile: '.lando.yml',
|
|
77
|
-
preLandoFiles: ['.lando.base.yml', '.lando.dist.yml', '.lando.upstream.yml'],
|
|
78
|
-
postLandoFiles: ['.lando.local.yml'],
|
|
79
|
-
pluginDirs: [landoPath, {
|
|
80
|
-
path: _path.default.join(landoPath, 'integrations'),
|
|
81
|
-
subdir: '.'
|
|
82
|
-
}],
|
|
83
|
-
proxyName: 'vip-dev-env-proxy',
|
|
84
|
-
userConfRoot: getLandoUserConfigurationRoot()
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
async function landoStart(instancePath) {
|
|
89
|
-
debug('Will start lando app on path:', instancePath);
|
|
90
|
-
const lando = new _lando.default(getLandoConfig());
|
|
91
|
-
await lando.bootstrap();
|
|
92
|
-
const app = lando.getApp(instancePath);
|
|
93
|
-
await app.init();
|
|
94
|
-
addHooks(app, lando);
|
|
95
|
-
await app.start();
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
async function landoRebuild(instancePath) {
|
|
99
|
-
debug('Will rebuild lando app on path:', instancePath);
|
|
100
|
-
const lando = new _lando.default(getLandoConfig());
|
|
101
|
-
await lando.bootstrap();
|
|
102
|
-
const app = lando.getApp(instancePath);
|
|
103
|
-
await app.init();
|
|
104
|
-
await ensureNoOrphantProxyContainer(lando);
|
|
105
|
-
addHooks(app, lando);
|
|
106
|
-
await app.rebuild();
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
function addHooks(app, lando) {
|
|
110
|
-
app.events.on('post-start', 1, () => healthcheckHook(app, lando));
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
async function healthcheckHook(app, lando) {
|
|
114
|
-
try {
|
|
115
|
-
await lando.Promise.retry(async () => {
|
|
116
|
-
const list = await lando.engine.list({
|
|
117
|
-
project: app.project
|
|
118
|
-
});
|
|
119
|
-
const containersWithHealthCheck = list.filter(container => container.status.includes('health'));
|
|
120
|
-
const notHealthyContainers = containersWithHealthCheck.filter(container => !container.status.includes('healthy'));
|
|
121
|
-
|
|
122
|
-
if (notHealthyContainers.length) {
|
|
123
|
-
for (const container of notHealthyContainers) {
|
|
124
|
-
console.log(`Waiting for service ${container.service} ...`);
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return Promise.reject(notHealthyContainers);
|
|
128
|
-
}
|
|
129
|
-
}, {
|
|
130
|
-
max: 20,
|
|
131
|
-
backoff: 1000
|
|
132
|
-
});
|
|
133
|
-
} catch (containersWithFailingHealthCheck) {
|
|
134
|
-
for (const container of containersWithFailingHealthCheck) {
|
|
135
|
-
console.log(_chalk.default.yellow('WARNING:') + ` Service ${container.service} failed healthcheck`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
async function landoStop(instancePath) {
|
|
141
|
-
debug('Will stop lando app on path:', instancePath);
|
|
142
|
-
const lando = new _lando.default(getLandoConfig());
|
|
143
|
-
await lando.bootstrap();
|
|
144
|
-
const app = lando.getApp(instancePath);
|
|
145
|
-
await app.init();
|
|
146
|
-
await app.stop();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
async function landoDestroy(instancePath) {
|
|
150
|
-
debug('Will destroy lando app on path:', instancePath);
|
|
151
|
-
const lando = new _lando.default(getLandoConfig());
|
|
152
|
-
await lando.bootstrap();
|
|
153
|
-
const app = lando.getApp(instancePath);
|
|
154
|
-
await app.init();
|
|
155
|
-
await app.destroy();
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
async function landoInfo(instancePath) {
|
|
159
|
-
var _app$info$find;
|
|
160
|
-
|
|
161
|
-
const lando = new _lando.default(getLandoConfig());
|
|
162
|
-
await lando.bootstrap();
|
|
163
|
-
const app = lando.getApp(instancePath);
|
|
164
|
-
await app.init();
|
|
165
|
-
|
|
166
|
-
let appInfo = _utils.default.startTable(app);
|
|
167
|
-
|
|
168
|
-
const reachableServices = app.info.filter(service => service.urls.length);
|
|
169
|
-
reachableServices.forEach(service => appInfo[`${service.service} urls`] = service.urls);
|
|
170
|
-
const isUp = await isEnvUp(app);
|
|
171
|
-
const frontEndUrl = (_app$info$find = app.info.find(service => 'nginx' === service.service)) === null || _app$info$find === void 0 ? void 0 : _app$info$find.urls[0];
|
|
172
|
-
const extraService = await getExtraServicesConnections(lando, app);
|
|
173
|
-
appInfo = { ...appInfo,
|
|
174
|
-
...extraService
|
|
175
|
-
};
|
|
176
|
-
appInfo.status = isUp ? _chalk.default.green('UP') : _chalk.default.yellow('DOWN'); // Drop vipdev prefix
|
|
177
|
-
|
|
178
|
-
appInfo.name = appInfo.name.replace(/^vipdev/, ''); // Add login information
|
|
179
|
-
|
|
180
|
-
if (frontEndUrl) {
|
|
181
|
-
const loginUrl = `${frontEndUrl}wp-admin/`;
|
|
182
|
-
appInfo['Login URL'] = loginUrl;
|
|
183
|
-
appInfo['Default username'] = 'vipgo';
|
|
184
|
-
appInfo['Default password'] = 'password';
|
|
185
|
-
} // Add documentation link
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
appInfo.Documentation = 'https://docs.wpvip.com/technical-references/vip-local-development-environment/tips/';
|
|
189
|
-
return appInfo;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
const extraServiceDisplayConfiguration = [{
|
|
193
|
-
name: 'vip-search',
|
|
194
|
-
label: 'enterprise search',
|
|
195
|
-
protocol: 'http'
|
|
196
|
-
}, {
|
|
197
|
-
name: 'phpmyadmin',
|
|
198
|
-
// Skipping, as the phpmyadmin was already printed by the regular services
|
|
199
|
-
skip: true
|
|
200
|
-
}];
|
|
201
|
-
|
|
202
|
-
async function getExtraServicesConnections(lando, app) {
|
|
203
|
-
const extraServices = {};
|
|
204
|
-
const allServices = await lando.engine.list({
|
|
205
|
-
project: app.project
|
|
206
|
-
});
|
|
207
|
-
|
|
208
|
-
for (const service of allServices) {
|
|
209
|
-
var _containerScan$Networ;
|
|
210
|
-
|
|
211
|
-
const displayConfiguration = extraServiceDisplayConfiguration.find(conf => conf.name === service.service) || {};
|
|
212
|
-
|
|
213
|
-
if (displayConfiguration.skip) {
|
|
214
|
-
continue;
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
const containerScan = service !== null && service !== void 0 && service.id ? await lando.engine.docker.scan(service === null || service === void 0 ? void 0 : service.id) : null;
|
|
218
|
-
|
|
219
|
-
if (containerScan !== null && containerScan !== void 0 && (_containerScan$Networ = containerScan.NetworkSettings) !== null && _containerScan$Networ !== void 0 && _containerScan$Networ.Ports) {
|
|
220
|
-
const mappings = Object.keys(containerScan.NetworkSettings.Ports).map(internalPort => containerScan.NetworkSettings.Ports[internalPort]).filter(externalMapping => externalMapping === null || externalMapping === void 0 ? void 0 : externalMapping.length);
|
|
221
|
-
|
|
222
|
-
if (mappings !== null && mappings !== void 0 && mappings.length) {
|
|
223
|
-
const {
|
|
224
|
-
HostIp: host,
|
|
225
|
-
HostPort: port
|
|
226
|
-
} = mappings[0][0];
|
|
227
|
-
const label = displayConfiguration.label || service.service;
|
|
228
|
-
const value = (displayConfiguration.protocol ? `${displayConfiguration.protocol}://` : '') + `${host}:${port}`;
|
|
229
|
-
extraServices[label] = value;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
return extraServices;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
async function isEnvUp(app) {
|
|
238
|
-
const reachableServices = app.info.filter(service => service.urls.length);
|
|
239
|
-
const urls = reachableServices.map(service => service.urls).flat();
|
|
240
|
-
const scanResult = await app.scanUrls(urls, {
|
|
241
|
-
max: 1
|
|
242
|
-
}); // If all the URLs are reachable than the app is considered 'up'
|
|
243
|
-
|
|
244
|
-
return (scanResult === null || scanResult === void 0 ? void 0 : scanResult.length) && scanResult.filter(result => result.status).length === scanResult.length;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
async function landoExec(instancePath, toolName, args) {
|
|
248
|
-
const lando = new _lando.default(getLandoConfig());
|
|
249
|
-
await lando.bootstrap();
|
|
250
|
-
const app = lando.getApp(instancePath);
|
|
251
|
-
await app.init();
|
|
252
|
-
const isUp = await isEnvUp(app);
|
|
253
|
-
|
|
254
|
-
if (!isUp) {
|
|
255
|
-
throw new Error('environment needs to be started before running wp command');
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
const tool = app.config.tooling[toolName];
|
|
259
|
-
|
|
260
|
-
if (!tool) {
|
|
261
|
-
throw new Error('wp is not a known lando task');
|
|
262
|
-
}
|
|
263
|
-
/*
|
|
264
|
-
lando is looking in both passed args and process.argv so we need to do a bit of hack to fake process.argv
|
|
265
|
-
so that lando doesn't try to interpret args not meant for wp.
|
|
266
|
-
Lando drops first 3 args (<node> <lando> <command>) from process.argv and process rest, so we will fake 3 args + the real args
|
|
267
|
-
*/
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
process.argv = ['0', '1', '3'].concat(args);
|
|
271
|
-
tool.app = app;
|
|
272
|
-
tool.name = toolName;
|
|
273
|
-
const task = (0, _build.default)(tool, lando);
|
|
274
|
-
const argv = {
|
|
275
|
-
_: args // eslint-disable-line
|
|
276
|
-
|
|
277
|
-
};
|
|
278
|
-
await task.run(argv);
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Sometimes the proxy network seems to disapper leaving only orphant stopped proxy container.
|
|
282
|
-
* It seems to happen while restarting/powering off computer. This container would then failed
|
|
283
|
-
* to start due to missing network.
|
|
284
|
-
*
|
|
285
|
-
* This function tries to detect such scenario and remove the orphant. So that regular flow
|
|
286
|
-
* can safelly add a network and a new proxy container.
|
|
287
|
-
*
|
|
288
|
-
* @param {object} lando Bootstrapped Lando object
|
|
289
|
-
*/
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
async function ensureNoOrphantProxyContainer(lando) {
|
|
293
|
-
var _status$State;
|
|
294
|
-
|
|
295
|
-
const proxyContainerName = lando.config.proxyContainer;
|
|
296
|
-
const docker = lando.engine.docker;
|
|
297
|
-
const containers = await docker.listContainers({
|
|
298
|
-
all: true
|
|
299
|
-
});
|
|
300
|
-
const proxyContainerExists = containers.some(container => container.Names.includes(`/${proxyContainerName}`));
|
|
301
|
-
|
|
302
|
-
if (!proxyContainerExists) {
|
|
303
|
-
return;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
const proxyContainer = await docker.getContainer(proxyContainerName);
|
|
307
|
-
const status = await proxyContainer.inspect();
|
|
308
|
-
|
|
309
|
-
if (status !== null && status !== void 0 && (_status$State = status.State) !== null && _status$State !== void 0 && _status$State.Running) {
|
|
310
|
-
return;
|
|
311
|
-
}
|
|
312
|
-
|
|
313
|
-
await proxyContainer.remove();
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
async function validateDockerInstalled() {
|
|
317
|
-
const lando = new _lando.default(getLandoConfig());
|
|
318
|
-
await lando.bootstrap();
|
|
319
|
-
lando.log.verbose('docker-engine exists: %s', lando.engine.dockerInstalled);
|
|
320
|
-
|
|
321
|
-
if (lando.engine.dockerInstalled === false) {
|
|
322
|
-
throw Error('docker could not be located! Please follow the following instructions to install it - https://docs.docker.com/engine/install/');
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
lando.log.verbose('docker-compose exists: %s', lando.engine.composeInstalled);
|
|
326
|
-
|
|
327
|
-
if (lando.engine.composeInstalled === false) {
|
|
328
|
-
throw Error('docker-compose could not be located! Please follow the following instructions to install it - https://docs.docker.com/compose/install/');
|
|
329
|
-
}
|
|
330
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/package/dist/lib/env.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _os = _interopRequireDefault(require("os"));
|
|
9
|
-
|
|
10
|
-
var _package = _interopRequireDefault(require("../../package.json"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* External dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Internal dependencies
|
|
20
|
-
*/
|
|
21
|
-
const env = {
|
|
22
|
-
app: {
|
|
23
|
-
name: _package.default.name,
|
|
24
|
-
version: _package.default.version
|
|
25
|
-
},
|
|
26
|
-
os: {
|
|
27
|
-
name: _os.default.platform(),
|
|
28
|
-
version: _os.default.release()
|
|
29
|
-
},
|
|
30
|
-
node: {
|
|
31
|
-
version: process.version
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
env.userAgent = `vip-cli/${_package.default.version} (node/${env.node.version}; ${env.os.name}/${env.os.version}; +https://wpvip.com)`;
|
|
35
|
-
var _default = env;
|
|
36
|
-
exports.default = _default;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = deleteEnvVar;
|
|
7
|
-
|
|
8
|
-
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
9
|
-
|
|
10
|
-
var _api = _interopRequireDefault(require("../api"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* External dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Internal dependencies
|
|
20
|
-
*/
|
|
21
|
-
const mutation = (0, _graphqlTag.default)`
|
|
22
|
-
mutation DeleteEnvironmentVariable(
|
|
23
|
-
$appId: Int!
|
|
24
|
-
$envId: Int!
|
|
25
|
-
$name: String!
|
|
26
|
-
) {
|
|
27
|
-
deleteEnvironmentVariable(
|
|
28
|
-
input: {
|
|
29
|
-
applicationId: $appId
|
|
30
|
-
environmentId: $envId
|
|
31
|
-
name: $name
|
|
32
|
-
value: ""
|
|
33
|
-
}
|
|
34
|
-
) {
|
|
35
|
-
environmentVariables {
|
|
36
|
-
total
|
|
37
|
-
nodes {
|
|
38
|
-
name
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
`;
|
|
44
|
-
|
|
45
|
-
async function deleteEnvVar(appId, envId, name) {
|
|
46
|
-
const api = await (0, _api.default)();
|
|
47
|
-
const variables = {
|
|
48
|
-
appId,
|
|
49
|
-
envId,
|
|
50
|
-
name
|
|
51
|
-
};
|
|
52
|
-
return api.mutate({
|
|
53
|
-
mutation,
|
|
54
|
-
variables
|
|
55
|
-
});
|
|
56
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = getEnvVars;
|
|
7
|
-
|
|
8
|
-
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
9
|
-
|
|
10
|
-
var _api = _interopRequireDefault(require("../api"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* External dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Internal dependencies
|
|
20
|
-
*/
|
|
21
|
-
const query = (0, _graphqlTag.default)`
|
|
22
|
-
query GetEnvironmentVariablesWithValues(
|
|
23
|
-
$appId: Int!
|
|
24
|
-
$envId: Int!
|
|
25
|
-
) {
|
|
26
|
-
app(
|
|
27
|
-
id: $appId
|
|
28
|
-
) {
|
|
29
|
-
id
|
|
30
|
-
environments(
|
|
31
|
-
id: $envId
|
|
32
|
-
) {
|
|
33
|
-
id
|
|
34
|
-
environmentVariables {
|
|
35
|
-
total
|
|
36
|
-
nodes {
|
|
37
|
-
name
|
|
38
|
-
value
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
45
|
-
|
|
46
|
-
async function getEnvVars(appId, envId) {
|
|
47
|
-
const api = await (0, _api.default)();
|
|
48
|
-
const variables = {
|
|
49
|
-
appId,
|
|
50
|
-
envId
|
|
51
|
-
};
|
|
52
|
-
const {
|
|
53
|
-
data
|
|
54
|
-
} = await api.query({
|
|
55
|
-
query,
|
|
56
|
-
variables
|
|
57
|
-
});
|
|
58
|
-
return data.app.environments[0].environmentVariables.nodes;
|
|
59
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = getEnvVar;
|
|
7
|
-
|
|
8
|
-
var _apiGetAll = _interopRequireDefault(require("./api-get-all"));
|
|
9
|
-
|
|
10
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* External dependencies
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Internal dependencies
|
|
18
|
-
*/
|
|
19
|
-
async function getEnvVar(appId, envId, name) {
|
|
20
|
-
const envvars = await (0, _apiGetAll.default)(appId, envId);
|
|
21
|
-
return envvars.find(({
|
|
22
|
-
name: foundName
|
|
23
|
-
}) => name === foundName);
|
|
24
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = listEnvVars;
|
|
7
|
-
|
|
8
|
-
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
9
|
-
|
|
10
|
-
var _api = _interopRequireDefault(require("../api"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* External dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Internal dependencies
|
|
20
|
-
*/
|
|
21
|
-
const query = (0, _graphqlTag.default)`
|
|
22
|
-
query GetEnvironmentVariables(
|
|
23
|
-
$appId: Int!
|
|
24
|
-
$envId: Int!
|
|
25
|
-
) {
|
|
26
|
-
app(
|
|
27
|
-
id: $appId
|
|
28
|
-
) {
|
|
29
|
-
id
|
|
30
|
-
environments(
|
|
31
|
-
id: $envId
|
|
32
|
-
) {
|
|
33
|
-
id
|
|
34
|
-
environmentVariables {
|
|
35
|
-
total
|
|
36
|
-
nodes {
|
|
37
|
-
name
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
`; // List the names (but not values) of environment variables.
|
|
44
|
-
|
|
45
|
-
async function listEnvVars(appId, envId) {
|
|
46
|
-
const api = await (0, _api.default)();
|
|
47
|
-
const variables = {
|
|
48
|
-
appId,
|
|
49
|
-
envId
|
|
50
|
-
};
|
|
51
|
-
const {
|
|
52
|
-
data
|
|
53
|
-
} = await api.query({
|
|
54
|
-
query,
|
|
55
|
-
variables
|
|
56
|
-
});
|
|
57
|
-
return data.app.environments[0].environmentVariables.nodes.map(({
|
|
58
|
-
name
|
|
59
|
-
}) => name);
|
|
60
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = setEnvVar;
|
|
7
|
-
|
|
8
|
-
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
9
|
-
|
|
10
|
-
var _api = _interopRequireDefault(require("../api"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* External dependencies
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Internal dependencies
|
|
20
|
-
*/
|
|
21
|
-
const mutation = (0, _graphqlTag.default)`
|
|
22
|
-
mutation AddEnvironmentVariable(
|
|
23
|
-
$appId: Int!
|
|
24
|
-
$envId: Int!
|
|
25
|
-
$name: String!
|
|
26
|
-
$value: String!
|
|
27
|
-
) {
|
|
28
|
-
addEnvironmentVariable(
|
|
29
|
-
input: {
|
|
30
|
-
applicationId: $appId
|
|
31
|
-
environmentId: $envId
|
|
32
|
-
name: $name
|
|
33
|
-
value: $value
|
|
34
|
-
}
|
|
35
|
-
) {
|
|
36
|
-
environmentVariables {
|
|
37
|
-
total
|
|
38
|
-
nodes {
|
|
39
|
-
name
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
45
|
-
|
|
46
|
-
async function setEnvVar(appId, envId, name, value) {
|
|
47
|
-
const api = await (0, _api.default)();
|
|
48
|
-
const variables = {
|
|
49
|
-
appId,
|
|
50
|
-
envId,
|
|
51
|
-
name,
|
|
52
|
-
value
|
|
53
|
-
};
|
|
54
|
-
return api.mutate({
|
|
55
|
-
mutation,
|
|
56
|
-
variables
|
|
57
|
-
});
|
|
58
|
-
}
|