heroku 8.7.1 → 9.0.0-dev.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 (141) hide show
  1. package/README.md +4 -1
  2. package/lib/commands/apps/favorites/add.d.ts +9 -0
  3. package/lib/commands/apps/favorites/add.js +37 -0
  4. package/lib/commands/apps/favorites/index.d.ts +9 -0
  5. package/lib/commands/apps/favorites/index.js +25 -0
  6. package/lib/commands/apps/favorites/remove.d.ts +9 -0
  7. package/lib/commands/apps/favorites/remove.js +27 -0
  8. package/lib/commands/apps/stacks/index.d.ts +10 -0
  9. package/lib/commands/apps/stacks/index.js +43 -0
  10. package/lib/commands/apps/stacks/set.d.ts +14 -0
  11. package/lib/commands/apps/stacks/set.js +41 -0
  12. package/lib/commands/auth/logout.js +1 -0
  13. package/lib/commands/authorizations/create.d.ts +3 -3
  14. package/lib/commands/authorizations/info.d.ts +1 -1
  15. package/lib/commands/authorizations/revoke.d.ts +1 -1
  16. package/lib/commands/authorizations/rotate.d.ts +1 -1
  17. package/lib/commands/authorizations/update.d.ts +4 -4
  18. package/lib/commands/autocomplete/options.d.ts +2 -2
  19. package/lib/commands/autocomplete/script.d.ts +1 -1
  20. package/lib/commands/buildpacks/add.d.ts +4 -4
  21. package/lib/commands/buildpacks/clear.d.ts +2 -2
  22. package/lib/commands/buildpacks/index.d.ts +2 -2
  23. package/lib/commands/buildpacks/info.d.ts +1 -1
  24. package/lib/commands/buildpacks/remove.d.ts +4 -4
  25. package/lib/commands/buildpacks/search.d.ts +4 -4
  26. package/lib/commands/buildpacks/set.d.ts +4 -4
  27. package/lib/commands/buildpacks/versions.d.ts +1 -1
  28. package/lib/commands/ci/config/get.d.ts +16 -0
  29. package/lib/commands/ci/config/get.js +37 -0
  30. package/lib/commands/ci/config/index.d.ts +12 -0
  31. package/lib/commands/ci/config/index.js +43 -0
  32. package/lib/commands/ci/config/set.d.ts +12 -0
  33. package/lib/commands/ci/config/set.js +48 -0
  34. package/lib/commands/ci/config/unset.d.ts +13 -0
  35. package/lib/commands/ci/config/unset.js +35 -0
  36. package/lib/commands/ci/debug.d.ts +13 -0
  37. package/lib/commands/ci/debug.js +105 -0
  38. package/lib/commands/ci/index.d.ts +2 -2
  39. package/lib/commands/ci/index.js +1 -1
  40. package/lib/commands/ci/info.d.ts +4 -4
  41. package/lib/commands/ci/info.js +1 -1
  42. package/lib/commands/ci/last.d.ts +3 -3
  43. package/lib/commands/ci/last.js +1 -1
  44. package/lib/commands/ci/migrate-manifest.d.ts +7 -0
  45. package/lib/commands/ci/migrate-manifest.js +74 -0
  46. package/lib/commands/ci/open.d.ts +12 -0
  47. package/lib/commands/ci/open.js +23 -0
  48. package/lib/commands/ci/rerun.d.ts +3 -3
  49. package/lib/commands/ci/rerun.js +1 -1
  50. package/lib/commands/ci/run.d.ts +2 -2
  51. package/lib/commands/ci/run.js +1 -1
  52. package/lib/commands/clients/create.d.ts +2 -2
  53. package/lib/commands/clients/destroy.d.ts +1 -1
  54. package/lib/commands/clients/info.d.ts +1 -1
  55. package/lib/commands/clients/rotate.d.ts +1 -1
  56. package/lib/commands/clients/update.d.ts +3 -3
  57. package/lib/commands/config/edit.d.ts +3 -3
  58. package/lib/commands/config/get.d.ts +3 -3
  59. package/lib/commands/config/index.d.ts +2 -2
  60. package/lib/commands/config/unset.d.ts +2 -2
  61. package/lib/commands/console.d.ts +4 -4
  62. package/lib/commands/domains/add.d.ts +4 -4
  63. package/lib/commands/domains/clear.d.ts +2 -2
  64. package/lib/commands/domains/index.d.ts +9 -9
  65. package/lib/commands/domains/info.d.ts +3 -3
  66. package/lib/commands/domains/remove.d.ts +3 -3
  67. package/lib/commands/domains/update.d.ts +4 -4
  68. package/lib/commands/domains/wait.d.ts +3 -3
  69. package/lib/commands/git/clone.d.ts +3 -3
  70. package/lib/commands/git/credentials.d.ts +1 -1
  71. package/lib/commands/git/remote.d.ts +2 -2
  72. package/lib/commands/local/index.d.ts +5 -5
  73. package/lib/commands/local/run.d.ts +2 -2
  74. package/lib/commands/logs.d.ts +6 -6
  75. package/lib/commands/pipelines/add.d.ts +4 -4
  76. package/lib/commands/pipelines/add.js +1 -1
  77. package/lib/commands/pipelines/connect.d.ts +2 -2
  78. package/lib/commands/pipelines/connect.js +1 -1
  79. package/lib/commands/pipelines/create.d.ts +5 -5
  80. package/lib/commands/pipelines/create.js +1 -1
  81. package/lib/commands/pipelines/destroy.d.ts +1 -1
  82. package/lib/commands/pipelines/destroy.js +1 -1
  83. package/lib/commands/pipelines/diff.d.ts +2 -2
  84. package/lib/commands/pipelines/diff.js +1 -1
  85. package/lib/commands/pipelines/info.d.ts +1 -1
  86. package/lib/commands/pipelines/info.js +1 -1
  87. package/lib/commands/pipelines/open.d.ts +1 -1
  88. package/lib/commands/pipelines/promote.d.ts +3 -3
  89. package/lib/commands/pipelines/promote.js +1 -1
  90. package/lib/commands/pipelines/remove.d.ts +2 -2
  91. package/lib/commands/pipelines/remove.js +1 -1
  92. package/lib/commands/pipelines/rename.d.ts +2 -2
  93. package/lib/commands/pipelines/rename.js +1 -1
  94. package/lib/commands/pipelines/setup.d.ts +3 -3
  95. package/lib/commands/pipelines/setup.js +1 -1
  96. package/lib/commands/pipelines/transfer.d.ts +3 -3
  97. package/lib/commands/pipelines/transfer.js +1 -1
  98. package/lib/commands/pipelines/update.d.ts +3 -3
  99. package/lib/commands/pipelines/update.js +1 -1
  100. package/lib/commands/ps/autoscale/disable.d.ts +2 -2
  101. package/lib/commands/ps/autoscale/enable.d.ts +5 -5
  102. package/lib/commands/ps/wait.d.ts +4 -4
  103. package/lib/commands/rake.d.ts +4 -4
  104. package/lib/commands/reviewapps/disable.d.ts +3 -3
  105. package/lib/commands/reviewapps/enable.d.ts +3 -3
  106. package/lib/commands/sessions/destroy.d.ts +1 -1
  107. package/lib/commands/webhooks/add.d.ts +8 -8
  108. package/lib/commands/webhooks/deliveries/index.d.ts +4 -4
  109. package/lib/commands/webhooks/deliveries/info.d.ts +4 -4
  110. package/lib/commands/webhooks/events/index.d.ts +3 -3
  111. package/lib/commands/webhooks/events/info.d.ts +4 -4
  112. package/lib/commands/webhooks/index.d.ts +3 -3
  113. package/lib/commands/webhooks/info.d.ts +4 -4
  114. package/lib/commands/webhooks/remove.d.ts +4 -4
  115. package/lib/commands/webhooks/update.d.ts +9 -9
  116. package/lib/lib/{pipelines/api.d.ts → api.d.ts} +10 -5
  117. package/lib/lib/{pipelines/api.js → api.js} +48 -4
  118. package/lib/lib/autocomplete/base.d.ts +1 -1
  119. package/lib/lib/autocomplete/completions.d.ts +1 -1
  120. package/lib/lib/buildpacks/buildpacks.js +3 -4
  121. package/lib/lib/ci/pipelines.d.ts +3 -3
  122. package/lib/lib/ci/pipelines.js +10 -9
  123. package/lib/lib/ci/test-run.d.ts +1 -0
  124. package/lib/lib/ci/test-run.js +2 -1
  125. package/lib/lib/ci/validate.d.ts +2 -0
  126. package/lib/lib/ci/validate.js +10 -0
  127. package/lib/lib/git/git.d.ts +8 -0
  128. package/lib/lib/git/git.js +19 -0
  129. package/lib/lib/git/push.d.ts +1 -0
  130. package/lib/lib/git/push.js +6 -0
  131. package/lib/lib/pipelines/disambiguate.js +1 -1
  132. package/lib/lib/pipelines/ownership.js +1 -1
  133. package/lib/lib/pipelines/setup/create-apps.d.ts +2 -1
  134. package/lib/lib/pipelines/setup/create-apps.js +1 -1
  135. package/lib/lib/pipelines/setup/poll-app-setups.js +1 -1
  136. package/lib/lib/types/favorites.d.ts +7 -0
  137. package/lib/lib/types/favorites.js +2 -0
  138. package/oclif.manifest.json +406 -28
  139. package/package.json +18 -20
  140. package/lib/lib/buildpacks/push.d.ts +0 -0
  141. package/lib/lib/buildpacks/push.js +0 -4
package/README.md CHANGED
@@ -41,7 +41,7 @@ For other issues, [submit a support ticket](https://help.heroku.com/).
41
41
  * [`heroku autocomplete`](docs/autocomplete.md) - display autocomplete installation instructions
42
42
  * [`heroku buildpacks`](docs/buildpacks.md) - scripts used to compile apps
43
43
  * [`heroku certs`](docs/certs.md) - a topic for the ssl plugin
44
- * [`heroku ci`](docs/ci.md) - run an application test suite on Heroku
44
+ * [`heroku ci`](docs/ci.md) - test runner for Heroku Pipelines
45
45
  * [`heroku clients`](docs/clients.md) - OAuth clients on the platform
46
46
  * [`heroku config`](docs/config.md) - environment variables of apps
47
47
  * [`heroku container`](docs/container.md) - Use containers to build and deploy Heroku apps
@@ -56,13 +56,16 @@ For other issues, [submit a support ticket](https://help.heroku.com/).
56
56
  * [`heroku logs`](docs/logs.md) - display recent log output
57
57
  * [`heroku maintenance`](docs/maintenance.md) - enable/disable access to app
58
58
  * [`heroku members`](docs/members.md) - manage organization members
59
+ * [`heroku notifications`](docs/notifications.md) - display notifications
59
60
  * [`heroku orgs`](docs/orgs.md) - manage organizations
60
61
  * [`heroku pg`](docs/pg.md) - manage postgresql databases
61
62
  * [`heroku pipelines`](docs/pipelines.md) - manage pipelines
62
63
  * [`heroku plugins`](docs/plugins.md) - List installed plugins.
63
64
  * [`heroku ps`](docs/ps.md) - Client tools for Heroku Exec
65
+ * [`heroku psql`](docs/psql.md) - open a psql shell to the database
64
66
  * [`heroku redis`](docs/redis.md) - manage heroku redis instances
65
67
  * [`heroku regions`](docs/regions.md) - list available regions for deployment
68
+ * [`heroku releases`](docs/releases.md) - display the releases for an app
66
69
  * [`heroku reviewapps`](docs/reviewapps.md) - manage reviewapps in pipelines
67
70
  * [`heroku run`](docs/run.md) - run a one-off process inside a Heroku dyno
68
71
  * [`heroku sessions`](docs/sessions.md) - OAuth sessions
@@ -0,0 +1,9 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Add extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static flags: {
6
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const core_1 = require("@oclif/core");
5
+ const command_1 = require("@heroku-cli/command");
6
+ class Add extends command_1.Command {
7
+ async run() {
8
+ const { flags } = await this.parse(Add);
9
+ const { app } = flags;
10
+ core_1.ux.action.start(`Adding ${color_1.default.app(app)} to favorites`);
11
+ const { body: favorites } = await this.heroku.get('/favorites?type=app', { hostname: 'particleboard.heroku.com' });
12
+ if (favorites.find(f => f.resource_name === app)) {
13
+ throw new Error(`${color_1.default.app(app)} is already a favorite app.`);
14
+ }
15
+ try {
16
+ await this.heroku.post('/favorites', {
17
+ hostname: 'particleboard.heroku.com',
18
+ body: { type: 'app', resource_id: app },
19
+ });
20
+ }
21
+ catch (error) {
22
+ if (error.statusCode === 404) {
23
+ core_1.ux.error('App not found');
24
+ }
25
+ else {
26
+ core_1.ux.error(error.cause);
27
+ }
28
+ }
29
+ core_1.ux.action.stop();
30
+ }
31
+ }
32
+ exports.default = Add;
33
+ Add.description = 'favorites an app';
34
+ Add.topic = 'apps';
35
+ Add.flags = {
36
+ app: command_1.flags.app({ required: true }),
37
+ };
@@ -0,0 +1,9 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Index extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static flags: {
6
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const command_1 = require("@heroku-cli/command");
5
+ class Index extends command_1.Command {
6
+ async run() {
7
+ const { flags } = await this.parse(Index);
8
+ const { body: favorites } = await this.heroku.get('/favorites?type=app', { hostname: 'particleboard.heroku.com' });
9
+ if (flags.json) {
10
+ core_1.ux.styledJSON(favorites);
11
+ }
12
+ else {
13
+ core_1.ux.styledHeader('Favorited Apps');
14
+ for (const f of favorites) {
15
+ core_1.ux.log(f.resource_name);
16
+ }
17
+ }
18
+ }
19
+ }
20
+ exports.default = Index;
21
+ Index.description = 'list favorited apps';
22
+ Index.topic = 'apps';
23
+ Index.flags = {
24
+ json: command_1.flags.boolean({ char: 'j', description: 'output in json format' }),
25
+ };
@@ -0,0 +1,9 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Remove extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static flags: {
6
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<void>;
9
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const core_1 = require("@oclif/core");
5
+ const command_1 = require("@heroku-cli/command");
6
+ class Remove extends command_1.Command {
7
+ async run() {
8
+ const { flags } = await this.parse(Remove);
9
+ const { app } = flags;
10
+ core_1.ux.action.start(`Removing ${color_1.default.app(app)} from favorites`);
11
+ const { body: favorites } = await this.heroku.get('/favorites?type=app', { hostname: 'particleboard.heroku.com' });
12
+ const favorite = favorites.find(f => f.resource_name === app);
13
+ if (!favorite) {
14
+ throw new Error(`${color_1.default.app(app)} is not already a favorite app.`);
15
+ }
16
+ await this.heroku.delete(`/favorites/${favorite.id}`, {
17
+ hostname: 'particleboard.heroku.com',
18
+ });
19
+ core_1.ux.action.stop();
20
+ }
21
+ }
22
+ exports.default = Remove;
23
+ Remove.description = 'unfavorites an app';
24
+ Remove.topic = 'apps';
25
+ Remove.flags = {
26
+ app: command_1.flags.app({ required: true }),
27
+ };
@@ -0,0 +1,10 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class StacksIndex extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static aliases: string[];
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ };
9
+ run(): Promise<void>;
10
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const _ = require("lodash");
6
+ const color_1 = require("@heroku-cli/color");
7
+ function updateCedarName(stack) {
8
+ if (stack === 'cedar') {
9
+ return 'cedar-10';
10
+ }
11
+ return stack;
12
+ }
13
+ class StacksIndex extends command_1.Command {
14
+ async run() {
15
+ const { flags } = await this.parse(StacksIndex);
16
+ const [appResponse, stackResponse] = await Promise.all([
17
+ this.heroku.get(`/apps/${flags.app}`),
18
+ this.heroku.get('/stacks'),
19
+ ]);
20
+ const app = appResponse.body;
21
+ const stacks = stackResponse.body;
22
+ const sortedStacks = _.sortBy(stacks, 'name');
23
+ core_1.ux.styledHeader(`${color_1.default.app(app.name)} Available Stacks`);
24
+ for (const stack of sortedStacks) {
25
+ if (stack.name === app.stack.name) {
26
+ core_1.ux.log(color_1.default.green('* ' + updateCedarName(stack.name)));
27
+ }
28
+ else if (stack.name === app.build_stack.name) {
29
+ core_1.ux.log(` ${updateCedarName(stack.name)} (active on next deploy)`);
30
+ }
31
+ else {
32
+ core_1.ux.log(` ${updateCedarName(stack.name)}`);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ exports.default = StacksIndex;
38
+ StacksIndex.description = 'show the list of available stacks';
39
+ StacksIndex.topic = 'apps';
40
+ StacksIndex.aliases = ['stack'];
41
+ StacksIndex.flags = {
42
+ app: command_1.flags.app({ required: true }),
43
+ };
@@ -0,0 +1,14 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class Set extends Command {
3
+ static description: string;
4
+ static example: string;
5
+ static aliases: string[];
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ };
10
+ static args: {
11
+ stack: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const color_1 = require("@heroku-cli/color");
4
+ const command_1 = require("@heroku-cli/command");
5
+ const core_1 = require("@oclif/core");
6
+ const push_1 = require("../../../lib/git/push");
7
+ function map(stack) {
8
+ return stack === 'cedar-10' ? 'cedar' : stack;
9
+ }
10
+ class Set extends command_1.Command {
11
+ async run() {
12
+ var _a, _b;
13
+ const { flags, args } = await this.parse(Set);
14
+ const stack = map(args.stack);
15
+ core_1.ux.action.start(`Setting stack to ${color_1.default.green(stack)}`);
16
+ const { body: app } = await this.heroku.patch(`/apps/${flags.app}`, {
17
+ body: { build_stack: stack },
18
+ });
19
+ // A redeployment is not required for apps that have never been deployed, since
20
+ // API updates the app's `stack` to match `build_stack` immediately.
21
+ if (((_a = app.stack) === null || _a === void 0 ? void 0 : _a.name) !== ((_b = app.build_stack) === null || _b === void 0 ? void 0 : _b.name)) {
22
+ core_1.ux.log(`You will need to redeploy ${color_1.default.app(flags.app)} for the change to take effect.`);
23
+ core_1.ux.log(`Run ${color_1.default.cmd((0, push_1.default)(flags.remote))} to trigger a new build on ${color_1.default.app(flags.app)}.`);
24
+ }
25
+ core_1.ux.action.stop();
26
+ }
27
+ }
28
+ exports.default = Set;
29
+ Set.description = 'set the stack of an app';
30
+ Set.example = `$ heroku stack:set heroku-22 -a myapp
31
+ Setting stack to heroku-22... done
32
+ You will need to redeploy myapp for the change to take effect.
33
+ Run git push heroku main to trigger a new build on myapp.`;
34
+ Set.aliases = ['stack:set'];
35
+ Set.flags = {
36
+ app: command_1.flags.app({ required: true }),
37
+ remote: command_1.flags.remote(),
38
+ };
39
+ Set.args = {
40
+ stack: core_1.Args.string({ required: true }),
41
+ };
@@ -7,6 +7,7 @@ class Logout extends command_1.Command {
7
7
  core_1.ux.action.start('Logging out');
8
8
  await this.heroku.logout();
9
9
  await this.config.runHook('recache', { type: 'logout' });
10
+ core_1.ux.action.stop();
10
11
  }
11
12
  }
12
13
  exports.default = Logout;
@@ -3,11 +3,11 @@ export default class AuthorizationsCreate extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  short: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
10
- 'expires-in': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ 'expires-in': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
@@ -5,7 +5,7 @@ export default class AuthorizationsInfo extends Command {
5
5
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
6
  };
7
7
  static args: {
8
- id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
8
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
9
9
  };
10
10
  run(): Promise<void>;
11
11
  }
@@ -4,7 +4,7 @@ export default class AuthorizationsRevoke extends Command {
4
4
  static aliases: string[];
5
5
  static examples: string[];
6
6
  static args: {
7
- id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
7
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
8
8
  };
9
9
  run(): Promise<void>;
10
10
  }
@@ -2,7 +2,7 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class AuthorizationsRotate extends Command {
3
3
  static description: string;
4
4
  static args: {
5
- id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
5
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
6
  };
7
7
  run(): Promise<void>;
8
8
  }
@@ -2,12 +2,12 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class AuthorizationsUpdate extends Command {
3
3
  static description: string;
4
4
  static flags: {
5
- description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- 'client-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
- 'client-secret': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ 'client-id': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ 'client-secret': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static args: {
10
- id: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
@@ -3,10 +3,10 @@ export default class Options extends AutocompleteBase {
3
3
  static hidden: boolean;
4
4
  static description: string;
5
5
  static flags: {
6
- app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  };
8
8
  static args: {
9
- completion: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
9
+ completion: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
10
  };
11
11
  parsedArgs: {
12
12
  [name: string]: string;
@@ -3,7 +3,7 @@ export default class Script extends AutocompleteBase {
3
3
  static description: string;
4
4
  static hidden: boolean;
5
5
  static args: {
6
- shell: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
6
+ shell: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
7
  };
8
8
  run(): Promise<void>;
9
9
  private get prefix();
@@ -2,12 +2,12 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Add extends Command {
3
3
  static description: string;
4
4
  static flags: {
5
- app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
- index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static args: {
10
- buildpack: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ buildpack: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
@@ -2,8 +2,8 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Clear extends Command {
3
3
  static description: string;
4
4
  static flags: {
5
- app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  };
8
8
  run(): Promise<void>;
9
9
  }
@@ -2,8 +2,8 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Index extends Command {
3
3
  static description: string;
4
4
  static flags: {
5
- app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  };
8
8
  run(): Promise<void>;
9
9
  }
@@ -2,7 +2,7 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Info extends Command {
3
3
  static description: string;
4
4
  static args: {
5
- buildpack: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
5
+ buildpack: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
6
  };
7
7
  run(): Promise<void>;
8
8
  }
@@ -2,12 +2,12 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Remove extends Command {
3
3
  static description: string;
4
4
  static flags: {
5
- app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
- index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static args: {
10
- buildpack: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
10
+ buildpack: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
@@ -2,12 +2,12 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Search extends Command {
3
3
  static description: string;
4
4
  static flags: {
5
- namespace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
- description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ namespace: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static args: {
10
- term: import("@oclif/core/lib/interfaces/parser").Arg<string | undefined, Record<string, unknown>>;
10
+ term: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
@@ -2,12 +2,12 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Set extends Command {
3
3
  static description: 'set new app buildpack, overwriting into list of buildpacks if necessary';
4
4
  static flags: {
5
- app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
- remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
- index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
5
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ index: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static args: {
10
- buildpack: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
10
+ buildpack: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
11
11
  };
12
12
  run(): Promise<void>;
13
13
  }
@@ -2,7 +2,7 @@ import { Command } from '@heroku-cli/command';
2
2
  export default class Versions extends Command {
3
3
  static description: string;
4
4
  static args: {
5
- buildpack: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
5
+ buildpack: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
6
  };
7
7
  run(): Promise<void>;
8
8
  }
@@ -0,0 +1,16 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class CiConfigGet extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
8
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ static args: {
13
+ key: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
14
+ };
15
+ run(): Promise<void>;
16
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const shellescape = require("shell-escape");
6
+ const api_1 = require("../../../lib/api");
7
+ const pipelines_1 = require("../../../lib/ci/pipelines");
8
+ class CiConfigGet extends command_1.Command {
9
+ async run() {
10
+ const { args, flags } = await this.parse(CiConfigGet);
11
+ const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
12
+ const { body: config } = await (0, api_1.getPipelineConfigVars)(this.heroku, pipeline.id);
13
+ const value = config[args.key];
14
+ if (flags.shell) {
15
+ core_1.ux.log(`${args.key}=${shellescape([value])}`);
16
+ }
17
+ else {
18
+ core_1.ux.log((value !== null && value !== undefined) ? value : 'undefined');
19
+ }
20
+ }
21
+ }
22
+ exports.default = CiConfigGet;
23
+ CiConfigGet.description = 'get a CI config var';
24
+ CiConfigGet.topic = 'ci';
25
+ CiConfigGet.examples = [
26
+ `$ heroku ci:config:get --pipeline=PIPELINE RAILS_ENV
27
+ test`,
28
+ ];
29
+ CiConfigGet.flags = {
30
+ help: command_1.flags.help({ char: 'h' }),
31
+ app: command_1.flags.app({ required: false }),
32
+ pipeline: command_1.flags.pipeline({ required: false }),
33
+ shell: command_1.flags.boolean({ char: 's', description: 'output config var in shell format' }),
34
+ };
35
+ CiConfigGet.args = {
36
+ key: core_1.Args.string({ required: true }),
37
+ };
@@ -0,0 +1,12 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class CiConfig extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
+ pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ };
11
+ run(): Promise<void>;
12
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const command_1 = require("@heroku-cli/command");
4
+ const core_1 = require("@oclif/core");
5
+ const color_1 = require("@heroku-cli/color");
6
+ const shellescape = require("shell-escape");
7
+ const pipelines_1 = require("../../../lib/ci/pipelines");
8
+ const api_1 = require("../../../lib/api");
9
+ class CiConfig extends command_1.Command {
10
+ async run() {
11
+ const { flags } = await this.parse(CiConfig);
12
+ const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
13
+ const { body: config } = await (0, api_1.getPipelineConfigVars)(this.heroku, pipeline.id);
14
+ if (flags.shell) {
15
+ Object.keys(config).forEach(key => {
16
+ core_1.ux.log(`${key}=${shellescape([config[key]])}`);
17
+ });
18
+ }
19
+ else if (flags.json) {
20
+ core_1.ux.styledJSON(config);
21
+ }
22
+ else {
23
+ core_1.ux.styledHeader(`${pipeline.name} test config vars`);
24
+ const formattedConfig = {};
25
+ Object.keys(config).forEach(key => {
26
+ formattedConfig[color_1.default.green(key)] = config[key];
27
+ });
28
+ core_1.ux.styledObject(formattedConfig);
29
+ }
30
+ }
31
+ }
32
+ exports.default = CiConfig;
33
+ CiConfig.description = 'display CI config vars';
34
+ CiConfig.examples = [
35
+ `$ heroku ci:config --app murmuring-headland-14719 --json
36
+ `,
37
+ ];
38
+ CiConfig.flags = {
39
+ app: command_1.flags.string({ char: 'a', description: 'app name' }),
40
+ shell: command_1.flags.boolean({ char: 's', description: 'output config vars in shell format' }),
41
+ json: command_1.flags.boolean({ description: 'output config vars in json format' }),
42
+ pipeline: command_1.flags.pipeline(),
43
+ };
@@ -0,0 +1,12 @@
1
+ import { Command } from '@heroku-cli/command';
2
+ export default class CiConfigSet extends Command {
3
+ static description: string;
4
+ static topic: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ };
10
+ static strict: boolean;
11
+ run(): Promise<void>;
12
+ }