@automattic/vip 2.12.0 → 2.14.0

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 (109) hide show
  1. package/README.md +27 -3
  2. package/dist/bin/vip-cache-purge-url.js +93 -0
  3. package/{package/dist/bin/vip-config.js → dist/bin/vip-cache.js} +6 -3
  4. package/dist/bin/vip-dev-env-exec.js +9 -2
  5. package/dist/bin/vip-dev-env-import-sql.js +8 -1
  6. package/dist/bin/vip-dev-env-start.js +2 -1
  7. package/dist/bin/vip-dev-env-update.js +1 -0
  8. package/dist/bin/vip.js +1 -1
  9. package/dist/lib/api/cache-purge.js +76 -0
  10. package/dist/lib/dev-environment/dev-environment-cli.js +2 -2
  11. package/dist/lib/dev-environment/dev-environment-core.js +3 -3
  12. package/dist/lib/dev-environment/dev-environment-lando.js +38 -7
  13. package/dist/lib/envvar/read-file.js +2 -18
  14. package/{package/dist/lib/envvar → dist/lib}/read-file.js +3 -6
  15. package/dist/lib/validations/sql.js +175 -53
  16. package/npm-shrinkwrap.json +82 -82
  17. package/package.json +5 -3
  18. package/.circleci/config.yml +0 -67
  19. package/package/dist/bin/vip-app-list.js +0 -73
  20. package/package/dist/bin/vip-app.js +0 -76
  21. package/package/dist/bin/vip-config-envvar-delete.js +0 -97
  22. package/package/dist/bin/vip-config-envvar-get-all.js +0 -94
  23. package/package/dist/bin/vip-config-envvar-get.js +0 -79
  24. package/package/dist/bin/vip-config-envvar-list.js +0 -91
  25. package/package/dist/bin/vip-config-envvar-set.js +0 -123
  26. package/package/dist/bin/vip-config-envvar.js +0 -23
  27. package/package/dist/bin/vip-dev-env-create.js +0 -105
  28. package/package/dist/bin/vip-dev-env-destroy.js +0 -56
  29. package/package/dist/bin/vip-dev-env-exec.js +0 -67
  30. package/package/dist/bin/vip-dev-env-import-media.js +0 -51
  31. package/package/dist/bin/vip-dev-env-import-sql.js +0 -83
  32. package/package/dist/bin/vip-dev-env-import.js +0 -32
  33. package/package/dist/bin/vip-dev-env-info.js +0 -61
  34. package/package/dist/bin/vip-dev-env-list.js +0 -46
  35. package/package/dist/bin/vip-dev-env-start.js +0 -77
  36. package/package/dist/bin/vip-dev-env-stop.js +0 -52
  37. package/package/dist/bin/vip-dev-env-update.js +0 -89
  38. package/package/dist/bin/vip-dev-env.js +0 -23
  39. package/package/dist/bin/vip-import-media-abort.js +0 -132
  40. package/package/dist/bin/vip-import-media-status.js +0 -84
  41. package/package/dist/bin/vip-import-media.js +0 -168
  42. package/package/dist/bin/vip-import-sql-status.js +0 -83
  43. package/package/dist/bin/vip-import-sql.js +0 -580
  44. package/package/dist/bin/vip-import-validate-files.js +0 -191
  45. package/package/dist/bin/vip-import-validate-sql.js +0 -34
  46. package/package/dist/bin/vip-import.js +0 -20
  47. package/package/dist/bin/vip-logs.js +0 -232
  48. package/package/dist/bin/vip-search-replace.js +0 -71
  49. package/package/dist/bin/vip-sync.js +0 -191
  50. package/package/dist/bin/vip-whoami.js +0 -67
  51. package/package/dist/bin/vip-wp.js +0 -555
  52. package/package/dist/bin/vip.js +0 -149
  53. package/package/dist/lib/analytics/clients/client.js +0 -1
  54. package/package/dist/lib/analytics/clients/pendo.js +0 -92
  55. package/package/dist/lib/analytics/clients/stub.js +0 -19
  56. package/package/dist/lib/analytics/clients/tracks.js +0 -128
  57. package/package/dist/lib/analytics/index.js +0 -45
  58. package/package/dist/lib/api/app.js +0 -70
  59. package/package/dist/lib/api/feature-flags.js +0 -39
  60. package/package/dist/lib/api/user.js +0 -58
  61. package/package/dist/lib/api.js +0 -136
  62. package/package/dist/lib/app-logs/app-logs.js +0 -70
  63. package/package/dist/lib/cli/apiConfig.js +0 -90
  64. package/package/dist/lib/cli/command.js +0 -606
  65. package/package/dist/lib/cli/envAlias.js +0 -60
  66. package/package/dist/lib/cli/exit.js +0 -33
  67. package/package/dist/lib/cli/format.js +0 -213
  68. package/package/dist/lib/cli/pager.js +0 -52
  69. package/package/dist/lib/cli/progress.js +0 -208
  70. package/package/dist/lib/cli/prompt.js +0 -37
  71. package/package/dist/lib/cli/repo.js +0 -77
  72. package/package/dist/lib/client-file-uploader.js +0 -602
  73. package/package/dist/lib/constants/dev-environment.js +0 -42
  74. package/package/dist/lib/constants/file-size.js +0 -14
  75. package/package/dist/lib/dev-environment/dev-environment-cli.js +0 -508
  76. package/package/dist/lib/dev-environment/dev-environment-core.js +0 -620
  77. package/package/dist/lib/dev-environment/dev-environment-lando.js +0 -330
  78. package/package/dist/lib/dev-environment/types.js +0 -1
  79. package/package/dist/lib/env.js +0 -36
  80. package/package/dist/lib/envvar/api-delete.js +0 -56
  81. package/package/dist/lib/envvar/api-get-all.js +0 -59
  82. package/package/dist/lib/envvar/api-get.js +0 -24
  83. package/package/dist/lib/envvar/api-list.js +0 -60
  84. package/package/dist/lib/envvar/api-set.js +0 -58
  85. package/package/dist/lib/envvar/api.js +0 -104
  86. package/package/dist/lib/envvar/input.js +0 -55
  87. package/package/dist/lib/envvar/logging.js +0 -33
  88. package/package/dist/lib/http/socks-proxy-agent.js +0 -25
  89. package/package/dist/lib/keychain/browser.js +0 -35
  90. package/package/dist/lib/keychain/insecure.js +0 -63
  91. package/package/dist/lib/keychain/keychain.js +0 -1
  92. package/package/dist/lib/keychain/secure.js +0 -36
  93. package/package/dist/lib/keychain.js +0 -36
  94. package/package/dist/lib/media-import/media-file-import.js +0 -34
  95. package/package/dist/lib/media-import/progress.js +0 -86
  96. package/package/dist/lib/media-import/status.js +0 -335
  97. package/package/dist/lib/rollbar.js +0 -35
  98. package/package/dist/lib/search-and-replace.js +0 -203
  99. package/package/dist/lib/site-import/db-file-import.js +0 -46
  100. package/package/dist/lib/site-import/status.js +0 -444
  101. package/package/dist/lib/token.js +0 -132
  102. package/package/dist/lib/tracker.js +0 -96
  103. package/package/dist/lib/validations/is-multi-site-sql-dump.js +0 -59
  104. package/package/dist/lib/validations/is-multi-site.js +0 -99
  105. package/package/dist/lib/validations/line-by-line.js +0 -92
  106. package/package/dist/lib/validations/site-type.js +0 -66
  107. package/package/dist/lib/validations/sql.js +0 -371
  108. package/package/dist/lib/vip-import-validate-files.js +0 -548
  109. package/package/vip.iml +0 -11
@@ -1,92 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _api = _interopRequireDefault(require("../../api"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
-
14
- /**
15
- * External dependencies
16
- */
17
- const debug = require('debug')('@automattic/vip:analytics:clients:pendo');
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
-
23
- /**
24
- * Pendo analytics client.
25
- */
26
- class Pendo {
27
- static get ENDPOINT() {
28
- return '/pendo';
29
- }
30
-
31
- constructor({
32
- userId,
33
- eventPrefix,
34
- env
35
- }) {
36
- _defineProperty(this, "context", {});
37
-
38
- this.eventPrefix = eventPrefix;
39
- this.userAgent = env.userAgent;
40
- this.userId = userId;
41
- this.context = { ...env
42
- };
43
- }
44
-
45
- async trackEvent(eventName, eventProps = {}) {
46
- if (!eventName.startsWith(this.eventPrefix)) {
47
- eventName = this.eventPrefix + eventName;
48
- }
49
-
50
- debug('trackEvent()', eventProps);
51
- this.context = { ...this.context,
52
- org_id: eventProps.org_slug,
53
- org_slug: eventProps.org_slug,
54
- userAgent: this.userAgent,
55
- userId: this.userId
56
- };
57
-
58
- try {
59
- return await this.send(eventName, eventProps);
60
- } catch (error) {
61
- debug(error);
62
- } // Resolve to false instead of rejecting
63
-
64
-
65
- return Promise.resolve(false);
66
- }
67
-
68
- async send(eventName, eventProps) {
69
- const body = {
70
- context: this.context,
71
- event: eventName,
72
- properties: eventProps,
73
- timestamp: Date.now(),
74
- type: 'track',
75
- visitorId: `${this.context.userId}`
76
- };
77
- debug('send()', body);
78
- const {
79
- apiFetch
80
- } = await (0, _api.default)();
81
- const response = await apiFetch(Pendo.ENDPOINT, {
82
- method: 'POST',
83
- body
84
- });
85
- const responseText = await response.text();
86
- debug('response', responseText);
87
- return responseText;
88
- }
89
-
90
- }
91
-
92
- exports.default = Pendo;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- class AnalyticsClientStub {
12
- // eslint-disable-next-line no-unused-vars
13
- trackEvent(name, props) {
14
- return new Promise(resolve => resolve());
15
- }
16
-
17
- }
18
-
19
- exports.default = AnalyticsClientStub;
@@ -1,128 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _nodeFetch = _interopRequireDefault(require("node-fetch"));
9
-
10
- var _querystring = _interopRequireDefault(require("querystring"));
11
-
12
- var _apiConfig = require("../../cli/apiConfig");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- /**
17
- * External dependencies
18
- */
19
- const debug = require('debug')('@automattic/vip:analytics:clients:tracks');
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
-
25
- const validEventOrPropNamePattern = /^[a-z_][a-z0-9_]*$/;
26
- /**
27
- * Simple class for tracking using Automattic Tracks.
28
- *
29
- * Implementation reference can be found in the Field Guide.
30
- */
31
- // TODO: add batch support (can include multiples in `events` array)
32
-
33
- class Tracks {
34
- static get ENDPOINT() {
35
- return 'https://public-api.wordpress.com/rest/v1.1/tracks/record';
36
- }
37
-
38
- constructor(userId, userType, eventPrefix, env) {
39
- this.eventPrefix = eventPrefix;
40
- this.userAgent = env.userAgent;
41
- this.baseParams = {
42
- 'commonProps[_ui]': userId,
43
- 'commonProps[_ut]': userType,
44
- 'commonProps[_via_ua]': this.userAgent
45
- };
46
- }
47
-
48
- async trackEvent(name, eventProps = {}) {
49
- if (!name.startsWith(this.eventPrefix)) {
50
- name = this.eventPrefix + name;
51
- }
52
-
53
- if (!validEventOrPropNamePattern.test(name)) {
54
- debug(`Error: Invalid event name detected: ${name} -- this event will be rejected during ETL`);
55
- }
56
-
57
- Object.keys(eventProps).forEach(propName => {
58
- if (!validEventOrPropNamePattern.test(propName)) {
59
- debug(`Error: Invalid prop name detected: ${propName} -- this event will be rejected during ETL`);
60
- }
61
- });
62
- eventProps.is_vip = await (0, _apiConfig.checkIfUserIsVip)(); // Add `is_vip` flag to every Tracks event recorded
63
-
64
- const event = Object.assign({
65
- _en: name
66
- }, eventProps); // For when we want to support batched events
67
-
68
- const events = [event];
69
- /**
70
- * The API expects an indexed events array with event data.
71
- *
72
- * `querystring.stringify` does not handle nested arrays and objects very well.
73
- *
74
- * So we can just do it ourselves instead.
75
- *
76
- * Should end up with something like:
77
- * - events[0][_en]=clickButton // event name
78
- * - events[0][buttonName]=Deploy // event custom prop
79
- * - events[1][_en]=loadPage
80
- */
81
-
82
- const params = events.reduce((reduced, ev, index) => {
83
- Object.keys(ev).forEach(key => {
84
- const param = `events[${index}][${key}]`;
85
- const value = event[key];
86
- reduced[param] = value;
87
- });
88
- return reduced;
89
- }, {});
90
- debug('trackEvent()', params);
91
-
92
- try {
93
- return await this.send(params);
94
- } catch (error) {
95
- debug(error);
96
- } // Resolve to false instead of rejecting
97
-
98
-
99
- return Promise.resolve(false);
100
- }
101
-
102
- send(extraParams) {
103
- if (process.env.DO_NOT_TRACK) {
104
- debug('send() => skipping per DO_NOT_TRACK variable');
105
- return Promise.resolve('tracks disabled per DO_NOT_TRACK variable');
106
- }
107
-
108
- const params = Object.assign({}, this.baseParams, extraParams);
109
- const method = 'POST';
110
-
111
- const body = _querystring.default.stringify(params);
112
-
113
- const headers = {
114
- 'Content-Type': 'application/x-www-form-urlencoded',
115
- 'User-Agent': this.userAgent
116
- };
117
- debug('send()', body); // eslint-disable-next-line no-undef
118
-
119
- return (0, _nodeFetch.default)(Tracks.ENDPOINT, {
120
- method,
121
- body,
122
- headers
123
- });
124
- }
125
-
126
- }
127
-
128
- exports.default = Tracks;
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _stub = _interopRequireDefault(require("./clients/stub"));
9
-
10
- var _env = _interopRequireDefault(require("../env"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- /**
15
- * Internal dependencies
16
- */
17
-
18
- /* eslint-disable camelcase */
19
- const client_info = {
20
- cli_version: _env.default.app.version,
21
- os_name: _env.default.os.name,
22
- os_version: _env.default.os.version,
23
- node_version: _env.default.node.version
24
- };
25
- /* eslint-enable camelcase */
26
-
27
- class Analytics {
28
- constructor({
29
- clients = new _stub.default()
30
- }) {
31
- this.clients = clients;
32
- }
33
-
34
- async trackEvent(name, props = {}) {
35
- return Promise.all(this.clients.map(client => {
36
- return client.trackEvent(name, { // eslint-disable-next-line camelcase
37
- ...client_info,
38
- ...props
39
- });
40
- }));
41
- }
42
-
43
- }
44
-
45
- exports.default = Analytics;
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
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
- async function _default(app, fields) {
22
- if (!fields) {
23
- fields = 'id,name';
24
- }
25
-
26
- const api = await (0, _api.default)();
27
-
28
- if (isNaN(app)) {
29
- const res = await api.query({
30
- // $FlowFixMe: gql template is not supported by flow
31
- query: (0, _graphqlTag.default)`query App( $name: String ) {
32
- apps( first: 1, name: $name ) {
33
- total,
34
- nextCursor,
35
- edges {
36
- ${fields}
37
- }
38
- }
39
- }`,
40
- variables: {
41
- name: app
42
- }
43
- });
44
-
45
- if (!res || !res.data || !res.data.apps || !res.data.apps.edges || !res.data.apps.edges.length) {
46
- return {};
47
- }
48
-
49
- return res.data.apps.edges[0];
50
- }
51
-
52
- app = parseInt(app, 10);
53
- const res = await api.query({
54
- // $FlowFixMe: gql template is not supported by flow
55
- query: (0, _graphqlTag.default)`query App( $id: Int ) {
56
- app( id: $id ){
57
- ${fields}
58
- }
59
- }`,
60
- variables: {
61
- id: app
62
- }
63
- });
64
-
65
- if (!res || !res.data || !res.data.app) {
66
- return {};
67
- }
68
-
69
- return res.data.app;
70
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.get = get;
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
- let api;
22
- (0, _api.default)().then(client => {
23
- api = client;
24
- });
25
- const isVipQuery = (0, _graphqlTag.default)`
26
- query isVIP {
27
- me {
28
- isVIP
29
- }
30
- }
31
- `;
32
-
33
- async function get() {
34
- const res = await api.query({
35
- query: isVipQuery,
36
- fetchPolicy: 'cache-first'
37
- });
38
- return res;
39
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getCurrentUserInfo = getCurrentUserInfo;
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
- *
16
- * @format
17
- */
18
-
19
- /**
20
- * External dependencies
21
- */
22
-
23
- /**
24
- * Internal dependencies
25
- */
26
- const QUERY_CURRENT_USER = (0, _graphqlTag.default)`
27
- query Me {
28
- me {
29
- id
30
- displayName
31
- isVIP
32
- organizationRoles {
33
- nodes {
34
- organizationId
35
- roleId
36
- }
37
- }
38
- }
39
- }
40
- `;
41
-
42
- async function getCurrentUserInfo() {
43
- const api = await (0, _api.default)();
44
- const response = await api.query({
45
- query: QUERY_CURRENT_USER
46
- });
47
- const {
48
- data: {
49
- me
50
- }
51
- } = response;
52
-
53
- if (!me) {
54
- throw new Error('The API did not return any information about the user.');
55
- }
56
-
57
- return me;
58
- }
@@ -1,136 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.disableGlobalGraphQLErrorHandling = disableGlobalGraphQLErrorHandling;
7
- exports.default = API;
8
- exports.API_URL = exports.API_HOST = exports.PRODUCTION_API_HOST = void 0;
9
-
10
- var _nodeFetch = _interopRequireDefault(require("node-fetch"));
11
-
12
- var _core = require("@apollo/client/core");
13
-
14
- var _core2 = require("@apollo/client/link/core");
15
-
16
- var _context = require("@apollo/client/link/context");
17
-
18
- var _error = require("@apollo/client/link/error");
19
-
20
- var _chalk = _interopRequireDefault(require("chalk"));
21
-
22
- var _token = _interopRequireDefault(require("./token"));
23
-
24
- var _env = _interopRequireDefault(require("./env"));
25
-
26
- var _socksProxyAgent = _interopRequireDefault(require("./http/socks-proxy-agent"));
27
-
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
-
30
- /**
31
- *
32
- * @format
33
- */
34
-
35
- /**
36
- * External dependencies
37
- */
38
-
39
- /**
40
- * Internal dependencies
41
- */
42
- // Config
43
- const PRODUCTION_API_HOST = 'https://api.wpvip.com';
44
- exports.PRODUCTION_API_HOST = PRODUCTION_API_HOST;
45
- const API_HOST = process.env.API_HOST || PRODUCTION_API_HOST;
46
- exports.API_HOST = API_HOST;
47
- const API_URL = `${API_HOST}/graphql`;
48
- exports.API_URL = API_URL;
49
- let globalGraphQLErrorHandlingEnabled = true;
50
-
51
- function disableGlobalGraphQLErrorHandling() {
52
- globalGraphQLErrorHandlingEnabled = false;
53
- }
54
-
55
- async function API({
56
- exitOnError = true
57
- } = {}) {
58
- const authToken = await _token.default.get();
59
- const headers = {
60
- 'User-Agent': _env.default.userAgent,
61
- Authorization: authToken ? `Bearer ${authToken.raw}` : null
62
- };
63
- const errorLink = (0, _error.onError)(({
64
- networkError,
65
- graphQLErrors
66
- }) => {
67
- if (networkError && networkError.statusCode === 401) {
68
- console.error(_chalk.default.red('Unauthorized:'), 'You are unauthorized to perform this request, please logout with `vip logout` then try again.');
69
- process.exit();
70
- }
71
-
72
- if (graphQLErrors && graphQLErrors.length && globalGraphQLErrorHandlingEnabled) {
73
- graphQLErrors.forEach(error => {
74
- console.error(_chalk.default.red('Error:'), error.message);
75
- });
76
-
77
- if (exitOnError) {
78
- process.exit();
79
- }
80
- }
81
- });
82
- const withToken = (0, _context.setContext)(async () => {
83
- const token = await _token.default.get();
84
- return {
85
- token
86
- };
87
- });
88
- const authLink = new _core2.ApolloLink((operation, forward) => {
89
- const {
90
- token
91
- } = operation.getContext();
92
- operation.setContext({
93
- headers: {
94
- Authorization: token ? `Bearer ${token.raw}` : null
95
- }
96
- });
97
- return forward(operation);
98
- });
99
- const proxyAgent = (0, _socksProxyAgent.default)();
100
- const httpLink = new _core.HttpLink({
101
- uri: API_URL,
102
- headers,
103
- fetch: _nodeFetch.default,
104
- fetchOptions: {
105
- agent: proxyAgent
106
- }
107
- });
108
- const apiClient = new _core.ApolloClient({
109
- link: _core2.ApolloLink.from([withToken, errorLink, authLink, httpLink]),
110
- cache: new _core.InMemoryCache()
111
- });
112
- /**
113
- * Call the Public API with an arbitrary path (e.g. to connect to REST endpoints).
114
- * This will include the token in an Authorization header so requests are "logged-in."
115
- * @param {string} path API path to pass to `fetch` -- will be prefixed by the API_HOST
116
- * @param {object} options options to pass to `fetch`
117
- * @returns {Promise} Return value of the `fetch` call
118
- */
119
-
120
- apiClient.apiFetch = (path, options = {}) => (0, _nodeFetch.default)(`${API_HOST}${path}`, { ...options,
121
- ...{
122
- agent: proxyAgent,
123
- headers: { ...headers,
124
- ...{
125
- 'Content-Type': 'application/json'
126
- },
127
- ...options.headers
128
- }
129
- },
130
- ...{
131
- body: typeof options.body === 'object' ? JSON.stringify(options.body) : options.body
132
- }
133
- });
134
-
135
- return apiClient;
136
- }
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getRecentLogs = getRecentLogs;
7
- exports.LIMIT_MAX = void 0;
8
-
9
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
10
-
11
- var _api = _interopRequireDefault(require("../api"));
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- /**
16
- *
17
- * @format
18
- */
19
-
20
- /**
21
- * External dependencies
22
- */
23
-
24
- /**
25
- * Internal dependencies
26
- */
27
- const LIMIT_MAX = 5000;
28
- exports.LIMIT_MAX = LIMIT_MAX;
29
- const QUERY_ENVIRONMENT_LOGS = (0, _graphqlTag.default)`
30
- query GetAppLogs( $appId: Int, $envId: Int, $type: AppEnvironmentLogType, $limit: Int, $after: String ) {
31
- app( id: $appId ) {
32
- environments( id: $envId ) {
33
- id
34
- logs( type: $type, limit: $limit, after: $after ) {
35
- nodes {
36
- timestamp
37
- message
38
- }
39
- nextCursor
40
- pollingDelaySeconds
41
- }
42
- }
43
- }
44
- }
45
- `;
46
-
47
- async function getRecentLogs(appId, envId, type, limit, after) {
48
- var _response$data, _response$data$app, _response$data$app$en;
49
-
50
- const api = await (0, _api.default)({
51
- exitOnError: false
52
- });
53
- const response = await api.query({
54
- query: QUERY_ENVIRONMENT_LOGS,
55
- variables: {
56
- appId,
57
- envId,
58
- type,
59
- limit,
60
- after
61
- }
62
- });
63
- const logs = response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : (_response$data$app = _response$data.app) === null || _response$data$app === void 0 ? void 0 : (_response$data$app$en = _response$data$app.environments[0]) === null || _response$data$app$en === void 0 ? void 0 : _response$data$app$en.logs;
64
-
65
- if (!(logs !== null && logs !== void 0 && logs.nodes)) {
66
- throw new Error('Unable to query logs');
67
- }
68
-
69
- return logs;
70
- }