@automattic/vip 2.10.0 → 2.12.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.
- package/CONTRIBUTING.md +7 -2
- package/README.md +27 -0
- package/config/{config.json → config.publish.json} +0 -0
- package/dist/bin/vip-dev-env-create.js +1 -0
- package/dist/bin/vip-dev-env-destroy.js +1 -0
- package/dist/bin/vip-dev-env-exec.js +1 -0
- package/dist/bin/vip-dev-env-import-media.js +1 -0
- package/dist/bin/vip-dev-env-import-sql.js +1 -0
- package/dist/bin/vip-dev-env-info.js +1 -0
- package/dist/bin/vip-dev-env-list.js +1 -0
- package/dist/bin/vip-dev-env-start.js +4 -3
- package/dist/bin/vip-dev-env-stop.js +7 -1
- package/dist/bin/vip-dev-env-update.js +1 -0
- package/dist/bin/vip-import-sql.js +7 -1
- package/dist/bin/vip-wp.js +2 -2
- package/dist/bin/vip.js +1 -1
- package/dist/lib/analytics/clients/pendo.js +92 -0
- package/dist/lib/analytics/clients/stub.js +1 -1
- package/dist/lib/analytics/clients/tracks.js +0 -5
- package/dist/lib/analytics/index.js +21 -4
- package/dist/lib/api.js +2 -2
- package/dist/lib/cli/config.js +30 -0
- package/dist/lib/dev-environment/dev-environment-cli.js +25 -2
- package/dist/lib/dev-environment/dev-environment-lando.js +17 -0
- package/dist/lib/http/proxy-agent.js +94 -0
- package/dist/lib/rollbar.js +1 -1
- package/dist/lib/tracker.js +13 -4
- package/npm-shrinkwrap.json +319 -133
- package/package/dist/bin/vip-app-list.js +73 -0
- package/package/dist/bin/vip-app.js +76 -0
- package/package/dist/bin/vip-config-envvar-delete.js +97 -0
- package/package/dist/bin/vip-config-envvar-get-all.js +94 -0
- package/package/dist/bin/vip-config-envvar-get.js +79 -0
- package/package/dist/bin/vip-config-envvar-list.js +91 -0
- package/package/dist/bin/vip-config-envvar-set.js +123 -0
- package/package/dist/bin/vip-config-envvar.js +23 -0
- package/package/dist/bin/vip-config.js +20 -0
- package/package/dist/bin/vip-dev-env-create.js +105 -0
- package/package/dist/bin/vip-dev-env-destroy.js +56 -0
- package/package/dist/bin/vip-dev-env-exec.js +67 -0
- package/package/dist/bin/vip-dev-env-import-media.js +51 -0
- package/package/dist/bin/vip-dev-env-import-sql.js +83 -0
- package/package/dist/bin/vip-dev-env-import.js +32 -0
- package/package/dist/bin/vip-dev-env-info.js +61 -0
- package/package/dist/bin/vip-dev-env-list.js +46 -0
- package/package/dist/bin/vip-dev-env-start.js +77 -0
- package/package/dist/bin/vip-dev-env-stop.js +52 -0
- package/package/dist/bin/vip-dev-env-update.js +89 -0
- package/package/dist/bin/vip-dev-env.js +23 -0
- package/package/dist/bin/vip-import-media-abort.js +132 -0
- package/package/dist/bin/vip-import-media-status.js +84 -0
- package/package/dist/bin/vip-import-media.js +168 -0
- package/package/dist/bin/vip-import-sql-status.js +83 -0
- package/package/dist/bin/vip-import-sql.js +580 -0
- package/package/dist/bin/vip-import-validate-files.js +191 -0
- package/package/dist/bin/vip-import-validate-sql.js +34 -0
- package/package/dist/bin/vip-import.js +20 -0
- package/package/dist/bin/vip-logs.js +232 -0
- package/package/dist/bin/vip-search-replace.js +71 -0
- package/package/dist/bin/vip-sync.js +191 -0
- package/package/dist/bin/vip-whoami.js +67 -0
- package/package/dist/bin/vip-wp.js +555 -0
- package/package/dist/bin/vip.js +149 -0
- package/package/dist/lib/analytics/clients/client.js +1 -0
- package/package/dist/lib/analytics/clients/pendo.js +92 -0
- package/package/dist/lib/analytics/clients/stub.js +19 -0
- package/package/dist/lib/analytics/clients/tracks.js +128 -0
- package/package/dist/lib/analytics/index.js +45 -0
- package/package/dist/lib/api/app.js +70 -0
- package/package/dist/lib/api/feature-flags.js +39 -0
- package/package/dist/lib/api/user.js +58 -0
- package/package/dist/lib/api.js +136 -0
- package/package/dist/lib/app-logs/app-logs.js +70 -0
- package/package/dist/lib/cli/apiConfig.js +90 -0
- package/package/dist/lib/cli/command.js +606 -0
- package/package/dist/lib/cli/envAlias.js +60 -0
- package/package/dist/lib/cli/exit.js +33 -0
- package/package/dist/lib/cli/format.js +213 -0
- package/package/dist/lib/cli/pager.js +52 -0
- package/package/dist/lib/cli/progress.js +208 -0
- package/package/dist/lib/cli/prompt.js +37 -0
- package/package/dist/lib/cli/repo.js +77 -0
- package/package/dist/lib/client-file-uploader.js +602 -0
- package/package/dist/lib/constants/dev-environment.js +42 -0
- package/package/dist/lib/constants/file-size.js +14 -0
- package/package/dist/lib/dev-environment/dev-environment-cli.js +508 -0
- package/package/dist/lib/dev-environment/dev-environment-core.js +620 -0
- package/package/dist/lib/dev-environment/dev-environment-lando.js +330 -0
- package/package/dist/lib/dev-environment/types.js +1 -0
- package/package/dist/lib/env.js +36 -0
- package/package/dist/lib/envvar/api-delete.js +56 -0
- package/package/dist/lib/envvar/api-get-all.js +59 -0
- package/package/dist/lib/envvar/api-get.js +24 -0
- package/package/dist/lib/envvar/api-list.js +60 -0
- package/package/dist/lib/envvar/api-set.js +58 -0
- package/package/dist/lib/envvar/api.js +104 -0
- package/package/dist/lib/envvar/input.js +55 -0
- package/package/dist/lib/envvar/logging.js +33 -0
- package/package/dist/lib/envvar/read-file.js +43 -0
- package/{dist → package/dist}/lib/http/socks-proxy-agent.js +0 -0
- package/package/dist/lib/keychain/browser.js +35 -0
- package/package/dist/lib/keychain/insecure.js +63 -0
- package/package/dist/lib/keychain/keychain.js +1 -0
- package/package/dist/lib/keychain/secure.js +36 -0
- package/package/dist/lib/keychain.js +36 -0
- package/package/dist/lib/media-import/media-file-import.js +34 -0
- package/package/dist/lib/media-import/progress.js +86 -0
- package/package/dist/lib/media-import/status.js +335 -0
- package/package/dist/lib/rollbar.js +35 -0
- package/package/dist/lib/search-and-replace.js +203 -0
- package/package/dist/lib/site-import/db-file-import.js +46 -0
- package/package/dist/lib/site-import/status.js +444 -0
- package/package/dist/lib/token.js +132 -0
- package/package/dist/lib/tracker.js +96 -0
- package/package/dist/lib/validations/is-multi-site-sql-dump.js +59 -0
- package/package/dist/lib/validations/is-multi-site.js +99 -0
- package/package/dist/lib/validations/line-by-line.js +92 -0
- package/package/dist/lib/validations/site-type.js +66 -0
- package/package/dist/lib/validations/sql.js +371 -0
- package/package/dist/lib/vip-import-validate-files.js +548 -0
- package/package/vip.iml +11 -0
- package/package.json +12 -9
- package/helpers/prepare-config.js +0 -19
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _socksProxyAgent = require("socks-proxy-agent");
|
|
4
|
+
|
|
5
|
+
var _httpsProxyAgent = require("https-proxy-agent");
|
|
6
|
+
|
|
7
|
+
var _httpProxyAgent = require("http-proxy-agent");
|
|
8
|
+
|
|
9
|
+
var _proxyFromEnv = require("proxy-from-env");
|
|
10
|
+
|
|
11
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
12
|
+
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* External dependencies
|
|
17
|
+
*/
|
|
18
|
+
const debug = (0, _debug.default)('vip:proxy-agent');
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
// Note: This module requires the use of a special environment variable "VIP_USE_SYSTEM_PROXY"
|
|
23
|
+
// The setting of it to any value allows this module to create a proxy agent based on proxy environment variables
|
|
24
|
+
// If not set, this module will revert back to the previous functionality (hence being fully backward compatible and non-breaking for users)
|
|
25
|
+
// This function returns a proxy given a few scenarios (in order of precedence):
|
|
26
|
+
// 1. VIP_PROXY is set: a SOCKS proxy is returned same as the previous version of this module
|
|
27
|
+
// 2. No applicable variables are set: null is returned (thus, no proxy agent is returned)
|
|
28
|
+
// 3. VIP_USE_SYSTEM_PROXY and SOCKS_PROXY are set: a SOCKS_PROXY is returned
|
|
29
|
+
// 4. VIP_USE_SYSTEM_PROXY and HTTPS_PROXY are set: an HTTPS_PROXY is returned
|
|
30
|
+
// 5. VIP_USE_SYSTEM_PROXY and HTTP_PROXY are set: an HTTP_PROXY is returned
|
|
31
|
+
// 6. NO_PROXY is set along with VIP_USE_SYSTEM_PROXY and any system proxy: null is returned if the no proxy applies, otherwise the first active proxy is used
|
|
32
|
+
// This allows near full customization by the client of what proxy should be used, instead of making assumptions based on the URL string
|
|
33
|
+
|
|
34
|
+
function createProxyAgent(url) {
|
|
35
|
+
const VIP_PROXY = process.env.VIP_PROXY || process.env.vip_proxy || null;
|
|
36
|
+
const SOCKS_PROXY = process.env.SOCKS_PROXY || process.env.socks_proxy || null;
|
|
37
|
+
const HTTPS_PROXY = process.env.HTTPS_PROXY || process.env.https_proxy || null;
|
|
38
|
+
const HTTP_PROXY = process.env.HTTP_PROXY || process.env.http_proxy || null;
|
|
39
|
+
const NO_PROXY = process.env.NO_PROXY || process.env.no_proxy || null; // VIP Socks Proxy should take precedence and should be fully backward compatible
|
|
40
|
+
|
|
41
|
+
if (VIP_PROXY) {
|
|
42
|
+
debug(`Enabling VIP_PROXY proxy support using config: ${VIP_PROXY}`);
|
|
43
|
+
return new _socksProxyAgent.SocksProxyAgent(VIP_PROXY);
|
|
44
|
+
} // Now check for any system proxy usage
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
if (process.env.VIP_USE_SYSTEM_PROXY && !coveredInNoProxy(url, NO_PROXY)) {
|
|
48
|
+
if (SOCKS_PROXY) {
|
|
49
|
+
debug(`Enabling SOCKS proxy support using config: ${SOCKS_PROXY}`);
|
|
50
|
+
return new _socksProxyAgent.SocksProxyAgent(SOCKS_PROXY);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (HTTPS_PROXY) {
|
|
54
|
+
debug(`Enabling HTTPS proxy support using config: ${HTTPS_PROXY}`);
|
|
55
|
+
return new _httpsProxyAgent.HttpsProxyAgent(HTTPS_PROXY);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (HTTP_PROXY) {
|
|
59
|
+
debug(`Enabling HTTP proxy support using config: ${HTTP_PROXY}`);
|
|
60
|
+
return new _httpProxyAgent.HttpProxyAgent(HTTP_PROXY);
|
|
61
|
+
}
|
|
62
|
+
} // If no environment variables are set, the no proxy is in effect, or if the proxy enable is not set return null (equivilant of no Proxy agent)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
return null;
|
|
66
|
+
} // Determine if a NO_PROXY variable is applicable to a given URL
|
|
67
|
+
// Parameters:
|
|
68
|
+
// - url (string): absolute desintation URL (including the protocol)
|
|
69
|
+
// - noProxyString (string | null): string representation of the environments current NO_PROXY or no_proxy variable (NO_PROXY takes precedence)
|
|
70
|
+
// Returns:
|
|
71
|
+
// - (boolean) true/false depending on result
|
|
72
|
+
// NO_PROXY Rules (based directly on underlying dependency):
|
|
73
|
+
// 1. * (alone): proxy nothing
|
|
74
|
+
// 2. *.site: do not proxy any subdomain of a domain (top level domain must still be given)
|
|
75
|
+
// Example: '.api' does NOT match wp.api.org, but '.api.org' does (see tests)
|
|
76
|
+
// 3. abc.com: do not proxy www.abc.com, abc.com, etc.
|
|
77
|
+
// See proxy-from-env on npmjs.org for full "ruleset"
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
function coveredInNoProxy(url, noProxyString) {
|
|
81
|
+
// If the NO_PROXY env variable is not set, then the URL is not covered in the NO_PROXY (utility below does not handle this case)
|
|
82
|
+
if (!noProxyString) {
|
|
83
|
+
return false;
|
|
84
|
+
} // If getProxyForUrl returns an empty string, then the host should not be proxied
|
|
85
|
+
// This isn't the most straight forward way to determine if a NO_PROXY is applicable, but the only package I could find that is relatively new and maintained
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
return (0, _proxyFromEnv.getProxyForUrl)(url) === '';
|
|
89
|
+
} // Exports
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
module.exports = {
|
|
93
|
+
createProxyAgent
|
|
94
|
+
};
|
package/dist/lib/rollbar.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.rollbar = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _env = _interopRequireDefault(require("./env"));
|
|
9
9
|
|
|
10
|
-
var _config = _interopRequireDefault(require("
|
|
10
|
+
var _config = _interopRequireDefault(require("./cli/config"));
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
package/dist/lib/tracker.js
CHANGED
|
@@ -11,9 +11,11 @@ var _index = _interopRequireDefault(require("./analytics/index"));
|
|
|
11
11
|
|
|
12
12
|
var _tracks = _interopRequireDefault(require("./analytics/clients/tracks"));
|
|
13
13
|
|
|
14
|
+
var _pendo = _interopRequireDefault(require("./analytics/clients/pendo"));
|
|
15
|
+
|
|
14
16
|
var _token = _interopRequireDefault(require("./token"));
|
|
15
17
|
|
|
16
|
-
var _config = _interopRequireDefault(require("
|
|
18
|
+
var _config = _interopRequireDefault(require("./cli/config"));
|
|
17
19
|
|
|
18
20
|
var _env = _interopRequireDefault(require("./env"));
|
|
19
21
|
|
|
@@ -32,15 +34,22 @@ let analytics = null;
|
|
|
32
34
|
|
|
33
35
|
async function init() {
|
|
34
36
|
const uuid = await _token.default.uuid();
|
|
35
|
-
const clients =
|
|
37
|
+
const clients = [];
|
|
36
38
|
const tracksUserType = _config.default.tracksUserType;
|
|
37
39
|
const tracksEventPrefix = _config.default.tracksEventPrefix;
|
|
38
40
|
|
|
39
41
|
if (tracksUserType && tracksEventPrefix) {
|
|
40
|
-
clients.
|
|
42
|
+
clients.push(new _tracks.default(uuid, tracksUserType, tracksEventPrefix, _env.default));
|
|
43
|
+
clients.push(new _pendo.default({
|
|
44
|
+
env: _env.default,
|
|
45
|
+
eventPrefix: tracksEventPrefix,
|
|
46
|
+
userId: uuid
|
|
47
|
+
}));
|
|
41
48
|
}
|
|
42
49
|
|
|
43
|
-
analytics = new _index.default(
|
|
50
|
+
analytics = new _index.default({
|
|
51
|
+
clients
|
|
52
|
+
});
|
|
44
53
|
return analytics;
|
|
45
54
|
}
|
|
46
55
|
|