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.
- package/README.md +4 -1
- package/lib/commands/apps/favorites/add.d.ts +9 -0
- package/lib/commands/apps/favorites/add.js +37 -0
- package/lib/commands/apps/favorites/index.d.ts +9 -0
- package/lib/commands/apps/favorites/index.js +25 -0
- package/lib/commands/apps/favorites/remove.d.ts +9 -0
- package/lib/commands/apps/favorites/remove.js +27 -0
- package/lib/commands/apps/stacks/index.d.ts +10 -0
- package/lib/commands/apps/stacks/index.js +43 -0
- package/lib/commands/apps/stacks/set.d.ts +14 -0
- package/lib/commands/apps/stacks/set.js +41 -0
- package/lib/commands/auth/logout.js +1 -0
- package/lib/commands/authorizations/create.d.ts +3 -3
- package/lib/commands/authorizations/info.d.ts +1 -1
- package/lib/commands/authorizations/revoke.d.ts +1 -1
- package/lib/commands/authorizations/rotate.d.ts +1 -1
- package/lib/commands/authorizations/update.d.ts +4 -4
- package/lib/commands/autocomplete/options.d.ts +2 -2
- package/lib/commands/autocomplete/script.d.ts +1 -1
- package/lib/commands/buildpacks/add.d.ts +4 -4
- package/lib/commands/buildpacks/clear.d.ts +2 -2
- package/lib/commands/buildpacks/index.d.ts +2 -2
- package/lib/commands/buildpacks/info.d.ts +1 -1
- package/lib/commands/buildpacks/remove.d.ts +4 -4
- package/lib/commands/buildpacks/search.d.ts +4 -4
- package/lib/commands/buildpacks/set.d.ts +4 -4
- package/lib/commands/buildpacks/versions.d.ts +1 -1
- package/lib/commands/ci/config/get.d.ts +16 -0
- package/lib/commands/ci/config/get.js +37 -0
- package/lib/commands/ci/config/index.d.ts +12 -0
- package/lib/commands/ci/config/index.js +43 -0
- package/lib/commands/ci/config/set.d.ts +12 -0
- package/lib/commands/ci/config/set.js +48 -0
- package/lib/commands/ci/config/unset.d.ts +13 -0
- package/lib/commands/ci/config/unset.js +35 -0
- package/lib/commands/ci/debug.d.ts +13 -0
- package/lib/commands/ci/debug.js +105 -0
- package/lib/commands/ci/index.d.ts +2 -2
- package/lib/commands/ci/index.js +1 -1
- package/lib/commands/ci/info.d.ts +4 -4
- package/lib/commands/ci/info.js +1 -1
- package/lib/commands/ci/last.d.ts +3 -3
- package/lib/commands/ci/last.js +1 -1
- package/lib/commands/ci/migrate-manifest.d.ts +7 -0
- package/lib/commands/ci/migrate-manifest.js +74 -0
- package/lib/commands/ci/open.d.ts +12 -0
- package/lib/commands/ci/open.js +23 -0
- package/lib/commands/ci/rerun.d.ts +3 -3
- package/lib/commands/ci/rerun.js +1 -1
- package/lib/commands/ci/run.d.ts +2 -2
- package/lib/commands/ci/run.js +1 -1
- package/lib/commands/clients/create.d.ts +2 -2
- package/lib/commands/clients/destroy.d.ts +1 -1
- package/lib/commands/clients/info.d.ts +1 -1
- package/lib/commands/clients/rotate.d.ts +1 -1
- package/lib/commands/clients/update.d.ts +3 -3
- package/lib/commands/config/edit.d.ts +3 -3
- package/lib/commands/config/get.d.ts +3 -3
- package/lib/commands/config/index.d.ts +2 -2
- package/lib/commands/config/unset.d.ts +2 -2
- package/lib/commands/console.d.ts +4 -4
- package/lib/commands/domains/add.d.ts +4 -4
- package/lib/commands/domains/clear.d.ts +2 -2
- package/lib/commands/domains/index.d.ts +9 -9
- package/lib/commands/domains/info.d.ts +3 -3
- package/lib/commands/domains/remove.d.ts +3 -3
- package/lib/commands/domains/update.d.ts +4 -4
- package/lib/commands/domains/wait.d.ts +3 -3
- package/lib/commands/git/clone.d.ts +3 -3
- package/lib/commands/git/credentials.d.ts +1 -1
- package/lib/commands/git/remote.d.ts +2 -2
- package/lib/commands/local/index.d.ts +5 -5
- package/lib/commands/local/run.d.ts +2 -2
- package/lib/commands/logs.d.ts +6 -6
- package/lib/commands/pipelines/add.d.ts +4 -4
- package/lib/commands/pipelines/add.js +1 -1
- package/lib/commands/pipelines/connect.d.ts +2 -2
- package/lib/commands/pipelines/connect.js +1 -1
- package/lib/commands/pipelines/create.d.ts +5 -5
- package/lib/commands/pipelines/create.js +1 -1
- package/lib/commands/pipelines/destroy.d.ts +1 -1
- package/lib/commands/pipelines/destroy.js +1 -1
- package/lib/commands/pipelines/diff.d.ts +2 -2
- package/lib/commands/pipelines/diff.js +1 -1
- package/lib/commands/pipelines/info.d.ts +1 -1
- package/lib/commands/pipelines/info.js +1 -1
- package/lib/commands/pipelines/open.d.ts +1 -1
- package/lib/commands/pipelines/promote.d.ts +3 -3
- package/lib/commands/pipelines/promote.js +1 -1
- package/lib/commands/pipelines/remove.d.ts +2 -2
- package/lib/commands/pipelines/remove.js +1 -1
- package/lib/commands/pipelines/rename.d.ts +2 -2
- package/lib/commands/pipelines/rename.js +1 -1
- package/lib/commands/pipelines/setup.d.ts +3 -3
- package/lib/commands/pipelines/setup.js +1 -1
- package/lib/commands/pipelines/transfer.d.ts +3 -3
- package/lib/commands/pipelines/transfer.js +1 -1
- package/lib/commands/pipelines/update.d.ts +3 -3
- package/lib/commands/pipelines/update.js +1 -1
- package/lib/commands/ps/autoscale/disable.d.ts +2 -2
- package/lib/commands/ps/autoscale/enable.d.ts +5 -5
- package/lib/commands/ps/wait.d.ts +4 -4
- package/lib/commands/rake.d.ts +4 -4
- package/lib/commands/reviewapps/disable.d.ts +3 -3
- package/lib/commands/reviewapps/enable.d.ts +3 -3
- package/lib/commands/sessions/destroy.d.ts +1 -1
- package/lib/commands/webhooks/add.d.ts +8 -8
- package/lib/commands/webhooks/deliveries/index.d.ts +4 -4
- package/lib/commands/webhooks/deliveries/info.d.ts +4 -4
- package/lib/commands/webhooks/events/index.d.ts +3 -3
- package/lib/commands/webhooks/events/info.d.ts +4 -4
- package/lib/commands/webhooks/index.d.ts +3 -3
- package/lib/commands/webhooks/info.d.ts +4 -4
- package/lib/commands/webhooks/remove.d.ts +4 -4
- package/lib/commands/webhooks/update.d.ts +9 -9
- package/lib/lib/{pipelines/api.d.ts → api.d.ts} +10 -5
- package/lib/lib/{pipelines/api.js → api.js} +48 -4
- package/lib/lib/autocomplete/base.d.ts +1 -1
- package/lib/lib/autocomplete/completions.d.ts +1 -1
- package/lib/lib/buildpacks/buildpacks.js +3 -4
- package/lib/lib/ci/pipelines.d.ts +3 -3
- package/lib/lib/ci/pipelines.js +10 -9
- package/lib/lib/ci/test-run.d.ts +1 -0
- package/lib/lib/ci/test-run.js +2 -1
- package/lib/lib/ci/validate.d.ts +2 -0
- package/lib/lib/ci/validate.js +10 -0
- package/lib/lib/git/git.d.ts +8 -0
- package/lib/lib/git/git.js +19 -0
- package/lib/lib/git/push.d.ts +1 -0
- package/lib/lib/git/push.js +6 -0
- package/lib/lib/pipelines/disambiguate.js +1 -1
- package/lib/lib/pipelines/ownership.js +1 -1
- package/lib/lib/pipelines/setup/create-apps.d.ts +2 -1
- package/lib/lib/pipelines/setup/create-apps.js +1 -1
- package/lib/lib/pipelines/setup/poll-app-setups.js +1 -1
- package/lib/lib/types/favorites.d.ts +7 -0
- package/lib/lib/types/favorites.js +2 -0
- package/oclif.manifest.json +406 -28
- package/package.json +18 -20
- package/lib/lib/buildpacks/push.d.ts +0 -0
- package/lib/lib/buildpacks/push.js +0 -4
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const core_1 = require("@oclif/core");
|
|
4
|
+
const pipelines_1 = require("../../../lib/ci/pipelines");
|
|
5
|
+
const command_1 = require("@heroku-cli/command");
|
|
6
|
+
const api_1 = require("../../../lib/api");
|
|
7
|
+
const validate_1 = require("../../../lib/ci/validate");
|
|
8
|
+
const color_1 = require("@heroku-cli/color");
|
|
9
|
+
function validateInput(str) {
|
|
10
|
+
if (!str.includes('=')) {
|
|
11
|
+
core_1.ux.error(`${color_1.default.cyan(str)} is invalid. Must be in the format ${color_1.default.cyan('FOO=bar')}.`, { exit: 1 });
|
|
12
|
+
}
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
class CiConfigSet extends command_1.Command {
|
|
16
|
+
async run() {
|
|
17
|
+
const { argv, flags } = await this.parse(CiConfigSet);
|
|
18
|
+
(0, validate_1.validateArgvPresent)(argv);
|
|
19
|
+
const vars = {};
|
|
20
|
+
for (const str of argv) {
|
|
21
|
+
const iAmStr = str;
|
|
22
|
+
validateInput(iAmStr);
|
|
23
|
+
const [key, value] = iAmStr.split('=');
|
|
24
|
+
vars[key] = value;
|
|
25
|
+
}
|
|
26
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
27
|
+
core_1.ux.action.start(`Setting ${Object.keys(vars).join(', ')}`);
|
|
28
|
+
await (0, api_1.setPipelineConfigVars)(this.heroku, pipeline.id, vars);
|
|
29
|
+
core_1.ux.action.stop();
|
|
30
|
+
core_1.ux.styledObject(Object.keys(vars).reduce((memo, key) => {
|
|
31
|
+
memo[color_1.default.green(key)] = vars[key];
|
|
32
|
+
return memo;
|
|
33
|
+
}, {}));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.default = CiConfigSet;
|
|
37
|
+
CiConfigSet.description = 'set CI config vars';
|
|
38
|
+
CiConfigSet.topic = 'ci';
|
|
39
|
+
CiConfigSet.examples = [
|
|
40
|
+
`$ heroku ci:config:set --pipeline PIPELINE RAILS_ENV=test
|
|
41
|
+
Setting test config vars... done
|
|
42
|
+
RAILS_ENV: test`,
|
|
43
|
+
];
|
|
44
|
+
CiConfigSet.flags = {
|
|
45
|
+
app: command_1.flags.app(),
|
|
46
|
+
pipeline: command_1.flags.pipeline({ required: true }),
|
|
47
|
+
};
|
|
48
|
+
CiConfigSet.strict = false;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@heroku-cli/command';
|
|
2
|
+
export default class CiConfigUnset extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static topic: string;
|
|
5
|
+
static examples: string[];
|
|
6
|
+
static strict: boolean;
|
|
7
|
+
static flags: {
|
|
8
|
+
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
9
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
|
+
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
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 pipelines_1 = require("../../../lib/ci/pipelines");
|
|
6
|
+
const api_1 = require("../../../lib/api");
|
|
7
|
+
const validate_1 = require("../../../lib/ci/validate");
|
|
8
|
+
class CiConfigUnset extends command_1.Command {
|
|
9
|
+
async run() {
|
|
10
|
+
const { argv, flags } = await this.parse(CiConfigUnset);
|
|
11
|
+
const isUnset = true;
|
|
12
|
+
(0, validate_1.validateArgvPresent)(argv, isUnset);
|
|
13
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
14
|
+
const vars = {};
|
|
15
|
+
for (const str of argv) {
|
|
16
|
+
const iAmStr = str;
|
|
17
|
+
vars[iAmStr] = null;
|
|
18
|
+
}
|
|
19
|
+
await core_1.ux.action.start(`Unsetting ${Object.keys(vars).join(', ')}`);
|
|
20
|
+
(0, api_1.setPipelineConfigVars)(this.heroku, pipeline.id, vars);
|
|
21
|
+
core_1.ux.action.stop();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.default = CiConfigUnset;
|
|
25
|
+
CiConfigUnset.description = 'unset CI config vars';
|
|
26
|
+
CiConfigUnset.topic = 'ci';
|
|
27
|
+
CiConfigUnset.examples = [
|
|
28
|
+
'$ heroku ci:config:unset RAILS_ENV',
|
|
29
|
+
];
|
|
30
|
+
CiConfigUnset.strict = false;
|
|
31
|
+
CiConfigUnset.flags = {
|
|
32
|
+
help: command_1.flags.help({ char: 'h' }),
|
|
33
|
+
app: command_1.flags.app({ required: false }),
|
|
34
|
+
pipeline: command_1.flags.pipeline({ required: false }),
|
|
35
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from '@heroku-cli/command';
|
|
2
|
+
export default class Debug extends Command {
|
|
3
|
+
static description: string;
|
|
4
|
+
static help: string;
|
|
5
|
+
static flags: {
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
'no-cache': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
+
'no-setup': 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
|
+
static topic: string;
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
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 lodash_1 = require("lodash");
|
|
6
|
+
const api_1 = require("../../lib/api");
|
|
7
|
+
const pipelines_1 = require("../../lib/ci/pipelines");
|
|
8
|
+
const kolkrabbi_api_1 = require("../../lib/pipelines/kolkrabbi-api");
|
|
9
|
+
const dyno_1 = require("../../lib/run/dyno");
|
|
10
|
+
const git_1 = require("../../lib/git/git");
|
|
11
|
+
const source_1 = require("../../lib/ci/source");
|
|
12
|
+
const test_run_1 = require("../../lib/ci/test-run");
|
|
13
|
+
// Default command. Run setup, source profile.d scripts and open a bash session
|
|
14
|
+
const SETUP_COMMAND = 'ci setup && eval $(ci env)';
|
|
15
|
+
class Debug extends command_1.Command {
|
|
16
|
+
async run() {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
const { flags } = await this.parse(Debug);
|
|
19
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
20
|
+
const kolkrabbi = new kolkrabbi_api_1.default(this.config.userAgent, () => this.heroku.auth);
|
|
21
|
+
const pipelineRepository = await kolkrabbi.getPipelineRepository(pipeline.id);
|
|
22
|
+
const organization = pipelineRepository.organization &&
|
|
23
|
+
pipelineRepository.organization.name;
|
|
24
|
+
const git = new git_1.default();
|
|
25
|
+
const commit = await git.readCommit('HEAD');
|
|
26
|
+
core_1.ux.action.start('Preparing source');
|
|
27
|
+
const sourceBlobUrl = await (0, source_1.createSourceBlob)(commit.ref, this);
|
|
28
|
+
core_1.ux.action.stop();
|
|
29
|
+
// Create test run and wait for it to transition to `debugging`
|
|
30
|
+
core_1.ux.action.start('Creating test run');
|
|
31
|
+
const { body: run } = await (0, api_1.createTestRun)(this.heroku, {
|
|
32
|
+
commit_branch: commit.branch,
|
|
33
|
+
commit_message: commit.message,
|
|
34
|
+
commit_sha: commit.ref,
|
|
35
|
+
debug: true,
|
|
36
|
+
clear_cache: Boolean(flags['no-cache']),
|
|
37
|
+
organization,
|
|
38
|
+
pipeline: pipeline.id,
|
|
39
|
+
source_blob_url: sourceBlobUrl,
|
|
40
|
+
});
|
|
41
|
+
const testRun = await (0, test_run_1.waitForStates)(['debugging', 'errored'], run, this);
|
|
42
|
+
core_1.ux.action.stop();
|
|
43
|
+
if (testRun.status === 'errored') {
|
|
44
|
+
core_1.ux.error(`Test run creation failed while ${testRun.error_state} with message "${testRun.message}"`, { exit: 1 });
|
|
45
|
+
}
|
|
46
|
+
const { body: appSetup } = await (0, api_1.getAppSetup)(this.heroku, (_a = testRun.app_setup) === null || _a === void 0 ? void 0 : _a.id);
|
|
47
|
+
const noSetup = flags['no-setup'];
|
|
48
|
+
core_1.ux.log(`${noSetup ? 'Attaching' : 'Running setup and attaching'} to test dyno...`);
|
|
49
|
+
if (noSetup) {
|
|
50
|
+
core_1.ux.warn('Skipping test setup phase.');
|
|
51
|
+
core_1.ux.warn(`Run \`${SETUP_COMMAND}\``);
|
|
52
|
+
core_1.ux.warn('to execute a build and configure the environment');
|
|
53
|
+
}
|
|
54
|
+
const { body: testNodes } = await (0, api_1.getTestNodes)(this.heroku, testRun.id);
|
|
55
|
+
const dyno = new dyno_1.default({
|
|
56
|
+
heroku: this.heroku,
|
|
57
|
+
app: ((_b = appSetup === null || appSetup === void 0 ? void 0 : appSetup.app) === null || _b === void 0 ? void 0 : _b.id) || '',
|
|
58
|
+
showStatus: false,
|
|
59
|
+
command: '', // command is required, but is not used.
|
|
60
|
+
});
|
|
61
|
+
dyno.dyno = { attach_url: (0, lodash_1.get)(testNodes, [0, 'dyno', 'attach_url']) };
|
|
62
|
+
function sendSetup(data) {
|
|
63
|
+
if (data.toString().includes('$')) {
|
|
64
|
+
dyno.write(SETUP_COMMAND + '\n');
|
|
65
|
+
dyno.removeListener('data', sendSetup);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (!noSetup) {
|
|
69
|
+
dyno.on('data', sendSetup);
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
await dyno.attach();
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
if (error.exitCode)
|
|
76
|
+
this.error(error, { exit: error.exitCode });
|
|
77
|
+
else
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
await core_1.ux.action.start('Cleaning up');
|
|
81
|
+
await (0, api_1.updateTestRun)(this.heroku, testRun.id, {
|
|
82
|
+
status: 'cancelled',
|
|
83
|
+
message: 'debug run cancelled by Heroku CLI',
|
|
84
|
+
});
|
|
85
|
+
await core_1.ux.action.stop();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.default = Debug;
|
|
89
|
+
Debug.description = 'opens an interactive test debugging session with the contents of the current directory';
|
|
90
|
+
Debug.help = `Example:
|
|
91
|
+
|
|
92
|
+
$ heroku ci:debug --pipeline PIPELINE
|
|
93
|
+
Preparing source... done
|
|
94
|
+
Creating test run... done
|
|
95
|
+
Running setup and attaching to test dyno...
|
|
96
|
+
|
|
97
|
+
~ $
|
|
98
|
+
`;
|
|
99
|
+
Debug.flags = {
|
|
100
|
+
app: command_1.flags.app(),
|
|
101
|
+
'no-cache': command_1.flags.boolean({ description: 'start test run with an empty cache' }),
|
|
102
|
+
'no-setup': command_1.flags.boolean({ description: 'start test dyno without running test-setup' }),
|
|
103
|
+
pipeline: command_1.flags.pipeline(),
|
|
104
|
+
};
|
|
105
|
+
Debug.topic = 'ci';
|
|
@@ -3,9 +3,9 @@ export default class CiIndex extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
7
|
watch: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
|
-
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
8
|
+
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
package/lib/commands/ci/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const test_run_1 = require("../../lib/ci/test-run");
|
|
|
6
6
|
class CiIndex extends command_1.Command {
|
|
7
7
|
async run() {
|
|
8
8
|
const { flags } = await this.parse(CiIndex);
|
|
9
|
-
const pipeline = await (0, pipelines_1.getPipeline)(flags, this);
|
|
9
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
10
10
|
const { body: testRuns } = await this.heroku.get(`/pipelines/${pipeline.id}/test-runs`);
|
|
11
11
|
await (0, test_run_1.renderList)(this, testRuns, pipeline, flags.watch, flags.json);
|
|
12
12
|
}
|
|
@@ -3,12 +3,12 @@ export default class CiInfo extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
7
|
-
node: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
8
|
-
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
node: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
};
|
|
10
10
|
static args: {
|
|
11
|
-
'test-run': import("@oclif/core/lib/interfaces
|
|
11
|
+
'test-run': import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
12
12
|
};
|
|
13
13
|
run(): Promise<void>;
|
|
14
14
|
}
|
package/lib/commands/ci/info.js
CHANGED
|
@@ -7,7 +7,7 @@ const test_run_1 = require("../../lib/ci/test-run");
|
|
|
7
7
|
class CiInfo extends command_1.Command {
|
|
8
8
|
async run() {
|
|
9
9
|
const { args, flags } = await this.parse(CiInfo);
|
|
10
|
-
const pipeline = await (0, pipelines_1.getPipeline)(flags, this);
|
|
10
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
11
11
|
const { body: testRun } = await this.heroku.get(`/pipelines/${pipeline.id}/test-runs/${args['test-run']}`);
|
|
12
12
|
const { body: testNodes } = await this.heroku.get(`/test-runs/${testRun.id}/test-nodes`);
|
|
13
13
|
await (0, test_run_1.displayTestRunInfo)(this, testRun, testNodes, flags.node);
|
|
@@ -3,9 +3,9 @@ export default class CiLast extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
7
|
-
node: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
8
|
-
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
node: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
};
|
|
10
10
|
run(): Promise<void>;
|
|
11
11
|
}
|
package/lib/commands/ci/last.js
CHANGED
|
@@ -7,7 +7,7 @@ const test_run_1 = require("../../lib/ci/test-run");
|
|
|
7
7
|
class CiLast extends command_1.Command {
|
|
8
8
|
async run() {
|
|
9
9
|
const { flags } = await this.parse(CiLast);
|
|
10
|
-
const pipeline = await (0, pipelines_1.getPipeline)(flags, this);
|
|
10
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
11
11
|
const headers = { Range: 'number ..; order=desc,max=1' };
|
|
12
12
|
const { body: latestTestRuns } = await this.heroku.get(`/pipelines/${pipeline.id}/test-runs`, { headers });
|
|
13
13
|
if (latestTestRuns.length === 0) {
|
|
@@ -0,0 +1,74 @@
|
|
|
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 fs = require("async-file");
|
|
7
|
+
const writeFile = fs.writeFile;
|
|
8
|
+
const unlinkFile = fs.unlink;
|
|
9
|
+
class CiMigrateManifest extends command_1.Command {
|
|
10
|
+
async run() {
|
|
11
|
+
const appJSONPath = `${process.cwd()}/app.json`;
|
|
12
|
+
const appCiJSONPath = `${process.cwd()}/app-ci.json`;
|
|
13
|
+
let action;
|
|
14
|
+
function showWarning() {
|
|
15
|
+
core_1.ux.log(color_1.default.green('Please check the contents of your app.json before committing to your repo.'));
|
|
16
|
+
}
|
|
17
|
+
async function updateAppJson() {
|
|
18
|
+
// Updating / Creating
|
|
19
|
+
core_1.ux.action.start(`${action.charAt(0).toUpperCase() + action.slice(1)} app.json file`);
|
|
20
|
+
await writeFile(appJSONPath, `${JSON.stringify(appJSON, null, ' ')}\n`);
|
|
21
|
+
core_1.ux.action.stop();
|
|
22
|
+
}
|
|
23
|
+
let appJSON;
|
|
24
|
+
let appCiJSON;
|
|
25
|
+
try {
|
|
26
|
+
appJSON = require(appJSONPath);
|
|
27
|
+
action = 'updating';
|
|
28
|
+
}
|
|
29
|
+
catch (_a) {
|
|
30
|
+
action = 'creating';
|
|
31
|
+
appJSON = {};
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
appCiJSON = require(appCiJSONPath);
|
|
35
|
+
}
|
|
36
|
+
catch (_b) {
|
|
37
|
+
let msg = 'We couldn\'t find an app-ci.json file in the current directory';
|
|
38
|
+
// eslint-disable-next-line no-eq-null, eqeqeq
|
|
39
|
+
if (appJSON.environments == null) {
|
|
40
|
+
msg += `, but we're ${action} ${action === 'updating' ? 'your' : 'a new'} app.json manifest for you.`;
|
|
41
|
+
appJSON.environments = {};
|
|
42
|
+
core_1.ux.log(msg);
|
|
43
|
+
await updateAppJson();
|
|
44
|
+
showWarning();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
msg += ', and your app.json already has the environments key.';
|
|
48
|
+
core_1.ux.log(msg);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (appCiJSON) {
|
|
52
|
+
if (appJSON.environments && appJSON.environments.test) {
|
|
53
|
+
core_1.ux.warn('Your app.json already had a test key. We\'re overwriting it with the content of your app-ci.json');
|
|
54
|
+
}
|
|
55
|
+
// eslint-disable-next-line no-eq-null, eqeqeq
|
|
56
|
+
if (appJSON.environments == null) {
|
|
57
|
+
appJSON.environments = {};
|
|
58
|
+
}
|
|
59
|
+
appJSON.environments.test = appCiJSON;
|
|
60
|
+
await updateAppJson();
|
|
61
|
+
core_1.ux.action.start('Deleting app-ci.json file');
|
|
62
|
+
await unlinkFile(appCiJSONPath);
|
|
63
|
+
core_1.ux.action.stop();
|
|
64
|
+
showWarning();
|
|
65
|
+
}
|
|
66
|
+
core_1.ux.log('You\'re all set! 🎉');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.default = CiMigrateManifest;
|
|
70
|
+
CiMigrateManifest.description = 'app-ci.json is deprecated. Run this command to migrate to app.json with an environments key.';
|
|
71
|
+
CiMigrateManifest.topic = 'ci';
|
|
72
|
+
CiMigrateManifest.examples = [
|
|
73
|
+
'$ heroku ci:migrate-manifest',
|
|
74
|
+
];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Command } from '@heroku-cli/command';
|
|
2
|
+
export default class CiOpen 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, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
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,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const command_1 = require("@heroku-cli/command");
|
|
4
|
+
const open = require("open");
|
|
5
|
+
const pipelines_1 = require("../../lib/ci/pipelines");
|
|
6
|
+
class CiOpen extends command_1.Command {
|
|
7
|
+
async run() {
|
|
8
|
+
const { flags } = await this.parse(CiOpen);
|
|
9
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
10
|
+
await open(`https://dashboard.heroku.com/pipelines/${pipeline.id}/tests`);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.default = CiOpen;
|
|
14
|
+
CiOpen.description = 'open the Dashboard version of Heroku CI';
|
|
15
|
+
CiOpen.topic = 'ci';
|
|
16
|
+
CiOpen.examples = [
|
|
17
|
+
'$ heroku ci:open --app murmuring-headland-14719',
|
|
18
|
+
];
|
|
19
|
+
CiOpen.flags = {
|
|
20
|
+
help: command_1.flags.help({ char: 'h' }),
|
|
21
|
+
app: command_1.flags.app({ required: true }),
|
|
22
|
+
pipeline: command_1.flags.pipeline({ required: false }),
|
|
23
|
+
};
|
|
@@ -3,11 +3,11 @@ export default class CiReRun extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
7
|
-
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
8
|
};
|
|
9
9
|
static args: {
|
|
10
|
-
number: import("@oclif/core/lib/interfaces
|
|
10
|
+
number: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
11
11
|
};
|
|
12
12
|
run(): Promise<void>;
|
|
13
13
|
}
|
package/lib/commands/ci/rerun.js
CHANGED
|
@@ -8,7 +8,7 @@ const test_run_1 = require("../../lib/ci/test-run");
|
|
|
8
8
|
class CiReRun extends command_1.Command {
|
|
9
9
|
async run() {
|
|
10
10
|
const { flags, args } = await this.parse(CiReRun);
|
|
11
|
-
const pipeline = await (0, pipelines_1.getPipeline)(flags, this);
|
|
11
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
12
12
|
let sourceTestRun;
|
|
13
13
|
if (args.number) {
|
|
14
14
|
const testRunResponse = await this.heroku.get(`/pipelines/${pipeline.id}/test-runs/${args.number}`);
|
package/lib/commands/ci/run.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ export default class CiRun extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
7
|
-
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
6
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
pipeline: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
8
|
};
|
|
9
9
|
run(): Promise<void>;
|
|
10
10
|
}
|
package/lib/commands/ci/run.js
CHANGED
|
@@ -9,7 +9,7 @@ const test_run_1 = require("../../lib/ci/test-run");
|
|
|
9
9
|
class CiRun extends command_1.Command {
|
|
10
10
|
async run() {
|
|
11
11
|
const { flags } = await this.parse(CiRun);
|
|
12
|
-
const pipeline = await (0, pipelines_1.getPipeline)(flags, this);
|
|
12
|
+
const pipeline = await (0, pipelines_1.getPipeline)(flags, this.heroku);
|
|
13
13
|
const commit = await git.readCommit('HEAD');
|
|
14
14
|
core_1.ux.action.start('Preparing source');
|
|
15
15
|
const sourceBlobUrl = await (0, source_1.createSourceBlob)(commit.ref, this);
|
|
@@ -7,8 +7,8 @@ export default class ClientsCreate extends Command {
|
|
|
7
7
|
shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
8
|
};
|
|
9
9
|
static args: {
|
|
10
|
-
name: import("@oclif/core/lib/interfaces
|
|
11
|
-
redirect_uri: import("@oclif/core/lib/interfaces
|
|
10
|
+
name: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
11
|
+
redirect_uri: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
12
12
|
};
|
|
13
13
|
run(): Promise<void>;
|
|
14
14
|
}
|
|
@@ -2,7 +2,7 @@ import { Command } from '@heroku-cli/command';
|
|
|
2
2
|
export default class ClientsDestroy extends Command {
|
|
3
3
|
static description: string;
|
|
4
4
|
static args: {
|
|
5
|
-
id: import("@oclif/core/lib/interfaces
|
|
5
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
6
|
};
|
|
7
7
|
run(): Promise<void>;
|
|
8
8
|
}
|
|
@@ -7,7 +7,7 @@ export default class ClientsInfo extends Command {
|
|
|
7
7
|
shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
8
|
};
|
|
9
9
|
static args: {
|
|
10
|
-
id: import("@oclif/core/lib/interfaces
|
|
10
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
11
11
|
};
|
|
12
12
|
run(): Promise<void>;
|
|
13
13
|
}
|
|
@@ -6,7 +6,7 @@ export default class ClientsRotate extends Command {
|
|
|
6
6
|
shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
7
7
|
};
|
|
8
8
|
static args: {
|
|
9
|
-
id: import("@oclif/core/lib/interfaces
|
|
9
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
|
12
12
|
}
|
|
@@ -3,11 +3,11 @@ export default class ClientsUpdate extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
7
|
-
url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
6
|
+
name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
7
|
+
url: 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
|
|
10
|
+
id: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
11
11
|
};
|
|
12
12
|
run(): Promise<void>;
|
|
13
13
|
}
|
|
@@ -7,11 +7,11 @@ export default class ConfigEdit extends Command {
|
|
|
7
7
|
static description: string;
|
|
8
8
|
static examples: string[];
|
|
9
9
|
static flags: {
|
|
10
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces
|
|
11
|
-
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
10
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
11
|
+
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
12
|
};
|
|
13
13
|
static args: {
|
|
14
|
-
key: import("@oclif/core/lib/interfaces
|
|
14
|
+
key: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
|
|
15
15
|
};
|
|
16
16
|
app: string;
|
|
17
17
|
run(): Promise<void>;
|
|
@@ -5,11 +5,11 @@ export declare class ConfigGet extends Command {
|
|
|
5
5
|
static example: string;
|
|
6
6
|
static strict: boolean;
|
|
7
7
|
static args: {
|
|
8
|
-
KEY: import("@oclif/core/lib/interfaces
|
|
8
|
+
KEY: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
9
9
|
};
|
|
10
10
|
static flags: {
|
|
11
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces
|
|
12
|
-
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
11
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
12
|
+
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
13
|
shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<void>;
|
|
@@ -2,8 +2,8 @@ import { Command } from '@heroku-cli/command';
|
|
|
2
2
|
export declare class ConfigIndex 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
|
|
6
|
-
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
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
|
shell: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
8
8
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
9
9
|
};
|
|
@@ -5,8 +5,8 @@ export declare class ConfigUnset extends Command {
|
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static strict: boolean;
|
|
7
7
|
static flags: {
|
|
8
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces
|
|
9
|
-
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
8
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
10
|
};
|
|
11
11
|
run(): Promise<void>;
|
|
12
12
|
}
|
|
@@ -2,10 +2,10 @@ import { Command } from '@heroku-cli/command';
|
|
|
2
2
|
export default class RunConsole extends Command {
|
|
3
3
|
static hidden: boolean;
|
|
4
4
|
static flags: {
|
|
5
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces
|
|
6
|
-
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
7
|
-
size: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
8
|
-
env: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
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
|
+
size: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
8
|
+
env: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
9
|
};
|
|
10
10
|
run(): Promise<void>;
|
|
11
11
|
}
|
|
@@ -5,14 +5,14 @@ export default class DomainsAdd extends Command {
|
|
|
5
5
|
static examples: string[];
|
|
6
6
|
static flags: {
|
|
7
7
|
help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
|
|
8
|
-
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces
|
|
9
|
-
cert: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
8
|
+
app: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
9
|
+
cert: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
10
10
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
11
11
|
wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
12
|
-
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces
|
|
12
|
+
remote: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
|
|
13
13
|
};
|
|
14
14
|
static args: {
|
|
15
|
-
hostname: import("@oclif/core/lib/interfaces
|
|
15
|
+
hostname: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
|
|
16
16
|
};
|
|
17
17
|
certSelect: (certs: Array<Heroku.SniEndpoint>) => Promise<string>;
|
|
18
18
|
run(): Promise<void>;
|