@salesforce/cli 1.16.0 → 1.19.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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [1.19.0](https://github.com/salesforcecli/cli/compare/v1.18.0...v1.19.0) (2022-03-16)
6
+
7
+ ## [1.18.0](https://github.com/salesforcecli/cli/compare/v1.17.0...v1.18.0) (2022-03-09)
8
+
9
+ ## [1.17.0](https://github.com/salesforcecli/cli/compare/v1.16.0...v1.17.0) (2022-03-02)
10
+
5
11
  ## [1.16.0](https://github.com/salesforcecli/cli/compare/v1.15.0...v1.16.0) (2022-02-23)
6
12
 
7
13
  ## [1.15.0](https://github.com/salesforcecli/cli/compare/v1.14.0...v1.15.0) (2022-02-16)
package/README.md CHANGED
@@ -31,7 +31,7 @@ $ npm install -g @salesforce/cli
31
31
  $ sf COMMAND
32
32
  running command...
33
33
  $ sf (--version|-v)
34
- @salesforce/cli/1.16.0 linux-x64 node-v14.19.0
34
+ @salesforce/cli/1.19.0 linux-x64 node-v14.19.0
35
35
  $ sf --help [COMMAND]
36
36
  USAGE
37
37
  $ sf COMMAND
@@ -52,6 +52,7 @@ USAGE
52
52
  - [`sf deploy`](#sf-deploy)
53
53
  - [`sf deploy functions`](#sf-deploy-functions)
54
54
  - [`sf deploy metadata`](#sf-deploy-metadata)
55
+ - [`sf env compute collaborator add`](#sf-env-compute-collaborator-add)
55
56
  - [`sf env create compute`](#sf-env-create-compute)
56
57
  - [`sf env delete`](#sf-env-delete)
57
58
  - [`sf env display`](#sf-env-display)
@@ -322,7 +323,7 @@ EXAMPLES
322
323
  $ sf deploy --interactive
323
324
  ```
324
325
 
325
- _See code: [@salesforce/plugin-deploy-retrieve](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/v1.0.6/src/commands/deploy.ts)_
326
+ _See code: [@salesforce/plugin-deploy-retrieve](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/v1.1.3/src/commands/deploy.ts)_
326
327
 
327
328
  ## `sf deploy functions`
328
329
 
@@ -460,6 +461,24 @@ ENVIRONMENT VARIABLES
460
461
  SFDX_DEFAULTUSERNAME Username or alias of your default org. Overrides the defaultusername configuration value.
461
462
  SFDX_USE_PROGRESS_BAR Set to false to disable the progress bar when running force:mdapi:deploy, force:source:deploy,
462
463
  or force:source:push.
464
+ SF_USE_PROGRESS_BAR Set to false to disable the progress bar when running the metadata deploy command.
465
+ ```
466
+
467
+ ## `sf env compute collaborator add`
468
+
469
+ Add a Heroku user as a collaborator on this Functions account, allowing them to attach Heroku add-ons to compute environments.
470
+
471
+ ```
472
+ USAGE
473
+ $ sf env compute collaborator add -h <value>
474
+
475
+ FLAGS
476
+ -h, --heroku-user=<value> (required) Email address of the Heroku user you're adding as a collaborator.
477
+
478
+ EXAMPLES
479
+ Add a Heroku user as a collaborator on this Functions account.
480
+
481
+ $ sf env compute collaborator add --heroku-user example@heroku.com
463
482
  ```
464
483
 
465
484
  ## `sf env create compute`
@@ -1003,7 +1022,7 @@ DESCRIPTION
1003
1022
  Display help for sf.
1004
1023
  ```
1005
1024
 
1006
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.10/src/commands/help.ts)_
1025
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.12/src/commands/help.ts)_
1007
1026
 
1008
1027
  ## `sf info:releasenotes:display [-v <string>] [--json] [--loglevel trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]`
1009
1028
 
@@ -1070,7 +1089,7 @@ EXAMPLES
1070
1089
  $ sf login
1071
1090
  ```
1072
1091
 
1073
- _See code: [@salesforce/plugin-login](https://github.com/salesforcecli/plugin-login/blob/v1.0.7/src/commands/login.ts)_
1092
+ _See code: [@salesforce/plugin-login](https://github.com/salesforcecli/plugin-login/blob/v1.0.8/src/commands/login.ts)_
1074
1093
 
1075
1094
  ## `sf login functions`
1076
1095
 
@@ -1337,7 +1356,7 @@ EXAMPLES
1337
1356
  $ sf logout --no-prompt
1338
1357
  ```
1339
1358
 
1340
- _See code: [@salesforce/plugin-login](https://github.com/salesforcecli/plugin-login/blob/v1.0.7/src/commands/logout.ts)_
1359
+ _See code: [@salesforce/plugin-login](https://github.com/salesforcecli/plugin-login/blob/v1.0.8/src/commands/logout.ts)_
1341
1360
 
1342
1361
  ## `sf logout functions`
1343
1362
 
@@ -1677,7 +1696,7 @@ USAGE
1677
1696
 
1678
1697
  FLAGS
1679
1698
  -b, --debug-port=<value> [default: 9229] Port for remote debugging.
1680
- -l, --language=(javascript|typescript|java|auto) [default: auto]
1699
+ -l, --language=(javascript|typescript|java|auto) [default: auto] The language that the function runs in.
1681
1700
  -p, --port=<value> [default: 8080] Port for running the function.
1682
1701
  -v, --verbose Output additional logs.
1683
1702
 
package/bin/run CHANGED
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ /* tslint:disable:no-var-requires only-arrow-functions */
4
+ /* eslint-disable global-require, prefer-arrow-callback */
5
+
3
6
  // Since the CLI is a single process, we can have a larger amount of max listeners since
4
7
  // the process gets shut down. Don't set it to 0 (no limit) since we should still be aware
5
8
  // of rouge event listeners
@@ -8,6 +11,26 @@ process.setMaxListeners(parseInt(process.env.SF_MAX_EVENT_LISTENERS, 10) || 1000
8
11
  // Don't let other plugins override the CLI specified max listener count
9
12
  process.setMaxListeners = () => {};
10
13
 
11
- require('@oclif/core').run()
12
- .then(require('@oclif/core/flush'))
13
- .catch(require('@oclif/core/handle'))
14
+ // Check node version before requiring additional packages
15
+ require('../dist/versions').checkNodeVersion();
16
+
17
+ const cli = require('../dist/cli');
18
+ const pjson = require('../package.json');
19
+
20
+ // OVERRIDES gets replaced with particular values for binary builds,
21
+ // but simply use defaults for npm and local invocations
22
+ const overrides = {
23
+ /* @OVERRIDES@ */
24
+ };
25
+ const version = overrides.version || pjson.version;
26
+ const channel = overrides.channel || 'stable';
27
+
28
+ cli
29
+ .create(version, channel)
30
+ .run()
31
+ .then(function (result) {
32
+ require('@oclif/core/flush')();
33
+ })
34
+ .catch(function (err) {
35
+ require('@oclif/core/handle')(err);
36
+ });
package/dist/cli.js ADDED
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, salesforce.com, inc.
4
+ * All rights reserved.
5
+ * Licensed under the BSD 3-Clause license.
6
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.create = exports.configureAutoUpdate = exports.configureUpdateSites = exports.UPDATE_DISABLED_DEMO = exports.UPDATE_DISABLED_NPM = exports.UPDATE_DISABLED_INSTALLER = void 0;
10
+ const os = require("os");
11
+ const path = require("path");
12
+ const core_1 = require("@oclif/core");
13
+ const kit_1 = require("@salesforce/kit");
14
+ const ts_types_1 = require("@salesforce/ts-types");
15
+ const Debug = require("debug");
16
+ const env_1 = require("./util/env");
17
+ const debug = Debug('sf');
18
+ const envVars = [
19
+ ...new Set([
20
+ ...Object.keys(process.env).filter((e) => e.startsWith('SF_') || e.startsWith('SFDX_')),
21
+ 'NODE_OPTIONS',
22
+ env_1.Env.SF_AUTOUPDATE_DISABLE,
23
+ 'SF_BINPATH',
24
+ 'SF_COMPILE_CACHE',
25
+ env_1.Env.SF_DISABLE_AUTOUPDATE,
26
+ env_1.Env.SF_ENV,
27
+ env_1.Env.SF_INSTALLER,
28
+ env_1.Env.SF_LAZY_LOAD_MODULES,
29
+ env_1.Env.SF_NPM_REGISTRY,
30
+ 'SF_REDIRECTED',
31
+ env_1.Env.SF_S3_HOST,
32
+ env_1.Env.SF_UPDATE_INSTRUCTIONS,
33
+ ]),
34
+ ];
35
+ exports.UPDATE_DISABLED_INSTALLER = 'Manual and automatic CLI updates have been disabled by setting "SF_AUTOUPDATE_DISABLE=true". ' +
36
+ 'To check for a new version, unset that environment variable.';
37
+ exports.UPDATE_DISABLED_NPM = 'Use "npm update --global @salesforce/cli" to update npm-based installations.';
38
+ exports.UPDATE_DISABLED_DEMO = 'Manual and automatic CLI updates have been disabled in DEMO mode. ' +
39
+ 'To check for a new version, unset the environment variable SF_ENV.';
40
+ function configureUpdateSites(config, env = env_1.default) {
41
+ const s3Host = env.getS3HostOverride();
42
+ if (s3Host) {
43
+ // Override config value if set via envar
44
+ (0, kit_1.set)(config, 'pjson.oclif.update.s3.host', s3Host);
45
+ }
46
+ const npmRegistry = env.getNpmRegistryOverride();
47
+ if (npmRegistry) {
48
+ // Override config value if set via envar
49
+ (0, kit_1.set)(config, 'pjson.oclif.warn-if-update-available.registry', npmRegistry);
50
+ }
51
+ }
52
+ exports.configureUpdateSites = configureUpdateSites;
53
+ function configureAutoUpdate(envars) {
54
+ if (envars.isDemoMode()) {
55
+ // Disable autoupdates in demo mode
56
+ envars.setAutoupdateDisabled(true);
57
+ envars.setUpdateInstructions(exports.UPDATE_DISABLED_DEMO);
58
+ return;
59
+ }
60
+ if (envars.isInstaller()) {
61
+ envars.normalizeAutoupdateDisabled();
62
+ if (envars.isAutoupdateDisabled()) {
63
+ envars.setUpdateInstructions(exports.UPDATE_DISABLED_INSTALLER);
64
+ }
65
+ return;
66
+ }
67
+ // Not an installer, so this must be running from an npm installation
68
+ if (!envars.isAutoupdateDisabledSet()) {
69
+ // Disable autoupdates if run from an npm install or in local dev, if not explicitly set
70
+ envars.setAutoupdateDisabled(true);
71
+ }
72
+ if (envars.isAutoupdateDisabled()) {
73
+ envars.setUpdateInstructions(exports.UPDATE_DISABLED_NPM);
74
+ }
75
+ }
76
+ exports.configureAutoUpdate = configureAutoUpdate;
77
+ function debugCliInfo(version, channel, env, config) {
78
+ function debugSection(section, items) {
79
+ const pad = 25;
80
+ debug('%s:', section.padStart(pad));
81
+ items.forEach(([name, value]) => debug('%s: %s', name.padStart(pad), value));
82
+ }
83
+ debugSection('OS', [
84
+ ['platform', os.platform()],
85
+ ['architecture', os.arch()],
86
+ ['release', os.release()],
87
+ ['shell', config.shell],
88
+ ]);
89
+ debugSection('NODE', [['version', process.versions.node]]);
90
+ debugSection('CLI', [
91
+ ['version', version],
92
+ ['channel', channel],
93
+ ['bin', config.bin],
94
+ ['data', config.dataDir],
95
+ ['cache', config.cacheDir],
96
+ ['config', config.configDir],
97
+ ]);
98
+ debugSection('ENV', [...envVars].map((key) => [key, env.getString(key, '<not set>')]));
99
+ debugSection('ARGS', process.argv.map((arg, i) => [i.toString(), arg]));
100
+ }
101
+ function create(version, channel, run, env = env_1.default) {
102
+ const root = path.resolve(__dirname, '..');
103
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
104
+ const pjson = require(path.resolve(__dirname, '..', 'package.json'));
105
+ const args = process.argv.slice(2);
106
+ return {
107
+ async run() {
108
+ const config = new core_1.Config({ name: (0, ts_types_1.get)(pjson, 'oclif.bin'), root, version, channel });
109
+ await config.load();
110
+ configureUpdateSites(config, env);
111
+ configureAutoUpdate(env);
112
+ debugCliInfo(version, channel, env, config);
113
+ // Example of how run is used in a test https://github.com/salesforcecli/cli/pull/171/files#diff-1deee0a575599b2df117c280da319f7938aaf6fdb0c04bcdbde769dbf464be69R46
114
+ return run ? run(args, config) : await (0, core_1.run)(args, config);
115
+ },
116
+ };
117
+ }
118
+ exports.create = create;
119
+ //# sourceMappingURL=cli.js.map
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SfCommandHelp = void 0;
4
4
  /*
5
- * Copyright (c) 2020, salesforce.com, inc.
5
+ * Copyright (c) 2022, salesforce.com, inc.
6
6
  * All rights reserved.
7
7
  * Licensed under the BSD 3-Clause license.
8
8
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /*
4
- * Copyright (c) 2020, salesforce.com, inc.
4
+ * Copyright (c) 2022, salesforce.com, inc.
5
5
  * All rights reserved.
6
6
  * Licensed under the BSD 3-Clause license.
7
7
  * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022, salesforce.com, inc.
4
+ * All rights reserved.
5
+ * Licensed under the BSD 3-Clause license.
6
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ const core_1 = require("@oclif/core");
10
+ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
11
+ const hook = async function ({ config, matches, argv }) {
12
+ const prompter = new sf_plugins_core_1.Prompter();
13
+ const { command } = await prompter.timedPrompt([
14
+ {
15
+ name: 'command',
16
+ type: 'list',
17
+ message: 'Which of these commands do you mean',
18
+ choices: matches.map((p) => (0, core_1.toConfiguredId)(p.id, config)),
19
+ },
20
+ ]);
21
+ if (argv.includes('--help') || argv.includes('-h')) {
22
+ return config.runCommand('help', [(0, core_1.toStandardizedId)(command, config)]);
23
+ }
24
+ return config.runCommand((0, core_1.toStandardizedId)(command, config), argv);
25
+ };
26
+ exports.default = hook;
27
+ //# sourceMappingURL=incomplete.js.map
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Env = void 0;
4
+ /*
5
+ * Copyright (c) 2022, salesforce.com, inc.
6
+ * All rights reserved.
7
+ * Licensed under the BSD 3-Clause license.
8
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
9
+ */
10
+ const core_1 = require("@salesforce/core");
11
+ class Env extends core_1.EnvVars {
12
+ constructor(env = process.env) {
13
+ super(env);
14
+ }
15
+ isAutoupdateDisabled() {
16
+ return this.getBoolean(Env.SF_AUTOUPDATE_DISABLE) || this.getBoolean(Env.SF_DISABLE_AUTOUPDATE);
17
+ }
18
+ isAutoupdateDisabledSet() {
19
+ return !!this.getString(Env.SF_AUTOUPDATE_DISABLE) || !!this.getString(Env.SF_DISABLE_AUTOUPDATE);
20
+ }
21
+ setAutoupdateDisabled(value, updateInstructions) {
22
+ this.setBoolean(Env.SF_AUTOUPDATE_DISABLE, value);
23
+ this.setBoolean(Env.SF_DISABLE_AUTOUPDATE, value);
24
+ if (updateInstructions) {
25
+ this.setUpdateInstructions(updateInstructions);
26
+ }
27
+ }
28
+ setUpdateInstructions(value) {
29
+ this.setString(Env.SF_UPDATE_INSTRUCTIONS, value);
30
+ }
31
+ isDemoMode() {
32
+ return (this.getString(Env.SF_ENV, 'production') || '').toLowerCase() === 'demo';
33
+ }
34
+ isInstaller() {
35
+ // Check SFDX_INSTALLER instead of SF_INSTALLER until such time sf has its own installers
36
+ return this.getBoolean(Env.SFDX_INSTALLER);
37
+ }
38
+ getS3HostOverride() {
39
+ return this.getString(Env.SF_S3_HOST);
40
+ }
41
+ setS3HostOverride(value) {
42
+ return this.setString(Env.SF_S3_HOST, value);
43
+ }
44
+ getNpmRegistryOverride() {
45
+ return this.getString(Env.SF_NPM_REGISTRY);
46
+ }
47
+ setNpmRegistryOverride(value) {
48
+ return this.setString(Env.SF_NPM_REGISTRY, value);
49
+ }
50
+ isLazyRequireEnabled() {
51
+ return this.getBoolean(Env.SF_LAZY_LOAD_MODULES);
52
+ }
53
+ normalizeAutoupdateDisabled() {
54
+ // Ensure that the legacy envar always causes the oclif counterpart to be set
55
+ // see https://github.com/oclif/plugin-update/blob/3946fb296a0a95544ab6364b36a1f7422c8aeddf/src/hooks/init.ts#L22
56
+ if (this.getBoolean(Env.SF_AUTOUPDATE_DISABLE)) {
57
+ this.setBoolean(Env.SF_DISABLE_AUTOUPDATE, true);
58
+ }
59
+ else if (this.getBoolean(Env.SF_DISABLE_AUTOUPDATE)) {
60
+ this.setBoolean(Env.SF_AUTOUPDATE_DISABLE, true);
61
+ }
62
+ }
63
+ }
64
+ exports.Env = Env;
65
+ Env.SF_AUTOUPDATE_DISABLE = 'SF_AUTOUPDATE_DISABLE';
66
+ Env.SF_DISABLE_AUTOUPDATE = 'SF_DISABLE_AUTOUPDATE';
67
+ Env.SF_ENV = 'SF_ENV';
68
+ Env.SF_INSTALLER = 'SF_INSTALLER';
69
+ Env.SFDX_INSTALLER = 'SFDX_INSTALLER';
70
+ Env.SF_LAZY_LOAD_MODULES = 'SF_LAZY_LOAD_MODULES';
71
+ Env.SF_NPM_REGISTRY = 'SF_NPM_REGISTRY';
72
+ Env.SF_S3_HOST = 'SF_S3_HOST';
73
+ Env.SF_UPDATE_INSTRUCTIONS = 'SF_UPDATE_INSTRUCTIONS';
74
+ exports.default = new Env();
75
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ /*
4
+ * Copyright (c) 2022, salesforce.com, inc.
5
+ * All rights reserved.
6
+ * Licensed under the BSD 3-Clause license.
7
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.checkNodeVersion = exports.isVersion = void 0;
11
+ const semver = require("semver");
12
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
13
+ const pjson = require('../package.json');
14
+ /**
15
+ * Determines whether or not a tag string is a semantic version.
16
+ *
17
+ * @param {*} tag The possible version string
18
+ * @returns {boolean} True, if the string is recognized as a semantic version
19
+ */
20
+ function isVersion(tag) {
21
+ if (!tag) {
22
+ return false;
23
+ }
24
+ return !!semver.valid(tag) || false;
25
+ }
26
+ exports.isVersion = isVersion;
27
+ module.exports.isVersion = isVersion;
28
+ /**
29
+ * Checks the current Node version for compatibility before launching the CLI.
30
+ */
31
+ function checkNodeVersion(preferThrow = false, currentVersion = process.versions.node, requiredVersion = pjson.engines.node.slice(2)) {
32
+ if (semver.compare(currentVersion, requiredVersion) < 0) {
33
+ const message = `Unsupported Node.js version ${currentVersion}, version ${requiredVersion} or later is required.`;
34
+ if (!preferThrow) {
35
+ // eslint-disable-next-line no-console
36
+ console.error(message);
37
+ process.exit(1);
38
+ }
39
+ else {
40
+ throw new Error(message);
41
+ }
42
+ }
43
+ }
44
+ exports.checkNodeVersion = checkNodeVersion;
45
+ module.exports.checkNodeVersion = checkNodeVersion;
46
+ //# sourceMappingURL=versions.js.map