@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.
Files changed (121) hide show
  1. package/CONTRIBUTING.md +7 -2
  2. package/README.md +30 -2
  3. package/config/{config.json → config.publish.json} +0 -0
  4. package/dist/bin/vip-cache-purge-url.js +93 -0
  5. package/{package/dist/bin/vip-config.js → dist/bin/vip-cache.js} +6 -3
  6. package/dist/bin/vip-dev-env-import-sql.js +8 -1
  7. package/dist/bin/vip-dev-env-start.js +2 -1
  8. package/dist/bin/vip-dev-env-update.js +1 -0
  9. package/dist/bin/vip-wp.js +2 -2
  10. package/dist/bin/vip.js +2 -2
  11. package/dist/lib/analytics/clients/stub.js +1 -1
  12. package/dist/lib/analytics/clients/tracks.js +0 -5
  13. package/dist/lib/analytics/index.js +13 -1
  14. package/dist/lib/api/cache-purge.js +76 -0
  15. package/dist/lib/api.js +2 -2
  16. package/dist/lib/cli/config.js +30 -0
  17. package/dist/lib/dev-environment/dev-environment-cli.js +3 -0
  18. package/dist/lib/dev-environment/dev-environment-lando.js +31 -3
  19. package/dist/lib/envvar/read-file.js +2 -18
  20. package/dist/lib/http/proxy-agent.js +94 -0
  21. package/{package/dist/lib/envvar → dist/lib}/read-file.js +3 -6
  22. package/dist/lib/rollbar.js +1 -1
  23. package/dist/lib/tracker.js +1 -1
  24. package/dist/lib/validations/sql.js +134 -52
  25. package/npm-shrinkwrap.json +388 -202
  26. package/package.json +14 -9
  27. package/.circleci/config.yml +0 -67
  28. package/dist/lib/http/socks-proxy-agent.js +0 -25
  29. package/helpers/prepare-config.js +0 -19
  30. package/package/dist/bin/vip-app-list.js +0 -73
  31. package/package/dist/bin/vip-app.js +0 -76
  32. package/package/dist/bin/vip-config-envvar-delete.js +0 -97
  33. package/package/dist/bin/vip-config-envvar-get-all.js +0 -94
  34. package/package/dist/bin/vip-config-envvar-get.js +0 -79
  35. package/package/dist/bin/vip-config-envvar-list.js +0 -91
  36. package/package/dist/bin/vip-config-envvar-set.js +0 -123
  37. package/package/dist/bin/vip-config-envvar.js +0 -23
  38. package/package/dist/bin/vip-dev-env-create.js +0 -105
  39. package/package/dist/bin/vip-dev-env-destroy.js +0 -56
  40. package/package/dist/bin/vip-dev-env-exec.js +0 -67
  41. package/package/dist/bin/vip-dev-env-import-media.js +0 -51
  42. package/package/dist/bin/vip-dev-env-import-sql.js +0 -83
  43. package/package/dist/bin/vip-dev-env-import.js +0 -32
  44. package/package/dist/bin/vip-dev-env-info.js +0 -61
  45. package/package/dist/bin/vip-dev-env-list.js +0 -46
  46. package/package/dist/bin/vip-dev-env-start.js +0 -77
  47. package/package/dist/bin/vip-dev-env-stop.js +0 -52
  48. package/package/dist/bin/vip-dev-env-update.js +0 -89
  49. package/package/dist/bin/vip-dev-env.js +0 -23
  50. package/package/dist/bin/vip-import-media-abort.js +0 -132
  51. package/package/dist/bin/vip-import-media-status.js +0 -84
  52. package/package/dist/bin/vip-import-media.js +0 -168
  53. package/package/dist/bin/vip-import-sql-status.js +0 -83
  54. package/package/dist/bin/vip-import-sql.js +0 -580
  55. package/package/dist/bin/vip-import-validate-files.js +0 -191
  56. package/package/dist/bin/vip-import-validate-sql.js +0 -34
  57. package/package/dist/bin/vip-import.js +0 -20
  58. package/package/dist/bin/vip-logs.js +0 -232
  59. package/package/dist/bin/vip-search-replace.js +0 -71
  60. package/package/dist/bin/vip-sync.js +0 -191
  61. package/package/dist/bin/vip-whoami.js +0 -67
  62. package/package/dist/bin/vip-wp.js +0 -555
  63. package/package/dist/bin/vip.js +0 -149
  64. package/package/dist/lib/analytics/clients/client.js +0 -1
  65. package/package/dist/lib/analytics/clients/pendo.js +0 -92
  66. package/package/dist/lib/analytics/clients/stub.js +0 -19
  67. package/package/dist/lib/analytics/clients/tracks.js +0 -128
  68. package/package/dist/lib/analytics/index.js +0 -45
  69. package/package/dist/lib/api/app.js +0 -70
  70. package/package/dist/lib/api/feature-flags.js +0 -39
  71. package/package/dist/lib/api/user.js +0 -58
  72. package/package/dist/lib/api.js +0 -136
  73. package/package/dist/lib/app-logs/app-logs.js +0 -70
  74. package/package/dist/lib/cli/apiConfig.js +0 -90
  75. package/package/dist/lib/cli/command.js +0 -606
  76. package/package/dist/lib/cli/envAlias.js +0 -60
  77. package/package/dist/lib/cli/exit.js +0 -33
  78. package/package/dist/lib/cli/format.js +0 -213
  79. package/package/dist/lib/cli/pager.js +0 -52
  80. package/package/dist/lib/cli/progress.js +0 -208
  81. package/package/dist/lib/cli/prompt.js +0 -37
  82. package/package/dist/lib/cli/repo.js +0 -77
  83. package/package/dist/lib/client-file-uploader.js +0 -602
  84. package/package/dist/lib/constants/dev-environment.js +0 -42
  85. package/package/dist/lib/constants/file-size.js +0 -14
  86. package/package/dist/lib/dev-environment/dev-environment-cli.js +0 -508
  87. package/package/dist/lib/dev-environment/dev-environment-core.js +0 -620
  88. package/package/dist/lib/dev-environment/dev-environment-lando.js +0 -330
  89. package/package/dist/lib/dev-environment/types.js +0 -1
  90. package/package/dist/lib/env.js +0 -36
  91. package/package/dist/lib/envvar/api-delete.js +0 -56
  92. package/package/dist/lib/envvar/api-get-all.js +0 -59
  93. package/package/dist/lib/envvar/api-get.js +0 -24
  94. package/package/dist/lib/envvar/api-list.js +0 -60
  95. package/package/dist/lib/envvar/api-set.js +0 -58
  96. package/package/dist/lib/envvar/api.js +0 -104
  97. package/package/dist/lib/envvar/input.js +0 -55
  98. package/package/dist/lib/envvar/logging.js +0 -33
  99. package/package/dist/lib/http/socks-proxy-agent.js +0 -25
  100. package/package/dist/lib/keychain/browser.js +0 -35
  101. package/package/dist/lib/keychain/insecure.js +0 -63
  102. package/package/dist/lib/keychain/keychain.js +0 -1
  103. package/package/dist/lib/keychain/secure.js +0 -36
  104. package/package/dist/lib/keychain.js +0 -36
  105. package/package/dist/lib/media-import/media-file-import.js +0 -34
  106. package/package/dist/lib/media-import/progress.js +0 -86
  107. package/package/dist/lib/media-import/status.js +0 -335
  108. package/package/dist/lib/rollbar.js +0 -35
  109. package/package/dist/lib/search-and-replace.js +0 -203
  110. package/package/dist/lib/site-import/db-file-import.js +0 -46
  111. package/package/dist/lib/site-import/status.js +0 -444
  112. package/package/dist/lib/token.js +0 -132
  113. package/package/dist/lib/tracker.js +0 -96
  114. package/package/dist/lib/validations/is-multi-site-sql-dump.js +0 -59
  115. package/package/dist/lib/validations/is-multi-site.js +0 -99
  116. package/package/dist/lib/validations/line-by-line.js +0 -92
  117. package/package/dist/lib/validations/site-type.js +0 -66
  118. package/package/dist/lib/validations/sql.js +0 -371
  119. package/package/dist/lib/vip-import-validate-files.js +0 -548
  120. package/package/vip.iml +0 -11
  121. 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";
@@ -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
- }