From c39372b434b4d262b9627df02ad6ee8bf7453231 Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Wed, 20 Jun 2018 09:23:34 -0700 Subject: [PATCH] fix(certs): load certs commands dynamically --- .../commands/certs/{auto.js => auto/index.js} | 2 +- packages/certs-v5/index.js | 40 ------------------- packages/certs-v5/package.json | 5 +-- .../commands/certs/{auto.js => auto/index.js} | 2 +- 4 files changed, 3 insertions(+), 46 deletions(-) rename packages/certs-v5/commands/certs/{auto.js => auto/index.js} (97%) delete mode 100644 packages/certs-v5/index.js rename packages/certs-v5/test/commands/certs/{auto.js => auto/index.js} (99%) diff --git a/packages/certs-v5/commands/certs/auto.js b/packages/certs-v5/commands/certs/auto/index.js similarity index 97% rename from packages/certs-v5/commands/certs/auto.js rename to packages/certs-v5/commands/certs/auto/index.js index dedfd024c7..e252e51654 100644 --- a/packages/certs-v5/commands/certs/auto.js +++ b/packages/certs-v5/commands/certs/auto/index.js @@ -2,7 +2,7 @@ let co = require('co') let cli = require('heroku-cli-util') -let certificateDetails = require('../../lib/certificate_details.js') +let certificateDetails = require('../../../lib/certificate_details.js') let _ = require('lodash') let distanceInWordsToNow = require('date-fns/distance_in_words_to_now') diff --git a/packages/certs-v5/index.js b/packages/certs-v5/index.js deleted file mode 100644 index 3cf7dcadd3..0000000000 --- a/packages/certs-v5/index.js +++ /dev/null @@ -1,40 +0,0 @@ -'use strict' - -let _ = require('lodash') - -exports.topics = [ - {name: 'certs', description: 'a topic for the ssl plugin'}, - {name: '_certs', hidden: true} -] - -let commands = [ - require('./commands/certs/index.js'), - require('./commands/certs/add.js'), - require('./commands/certs/chain.js'), - require('./commands/certs/generate.js'), - require('./commands/certs/info.js'), - require('./commands/certs/key.js'), - require('./commands/certs/remove.js'), - require('./commands/certs/rollback.js'), - require('./commands/certs/update.js') -] - -let auto = [ - require('./commands/certs/auto.js'), - require('./commands/certs/auto/enable.js'), - require('./commands/certs/auto/disable.js'), - require('./commands/certs/auto/refresh.js') -] - -function deprecate (cmd) { - let deprecatedRun = function (context) { - let cli = require('heroku-cli-util') - let topicAndCommand = _.select([cmd.topic, cmd.command]).join(':') - cli.warn(`${cli.color.cmd(`heroku _${topicAndCommand}`)} has been deprecated. Please use ${cli.color.cmd(`heroku ${topicAndCommand}`)} instead.`) - return cmd.run(context) - } - - return Object.assign({}, cmd, {topic: '_certs', hidden: true, run: deprecatedRun}) -} - -exports.commands = commands.concat(commands.map((cmd) => deprecate(cmd))).concat(auto) diff --git a/packages/certs-v5/package.json b/packages/certs-v5/package.json index 6328f03f01..0dabcf471c 100644 --- a/packages/certs-v5/package.json +++ b/packages/certs-v5/package.json @@ -39,7 +39,6 @@ "heroku-plugin" ], "license": "ISC", - "main": "index.js", "repository": "heroku/cli", "scripts": { "test": "TZ=utc nyc mocha && standard", @@ -49,12 +48,10 @@ }, "cli-engine": { "bin": "heroku", + "commands": "./commands", "topics": { "certs": { "description": "a topic for the ssl plugin" - }, - "_certs": { - "hidden": true } } } diff --git a/packages/certs-v5/test/commands/certs/auto.js b/packages/certs-v5/test/commands/certs/auto/index.js similarity index 99% rename from packages/certs-v5/test/commands/certs/auto.js rename to packages/certs-v5/test/commands/certs/auto/index.js index fc0a6835f4..ae4b93980e 100644 --- a/packages/certs-v5/test/commands/certs/auto.js +++ b/packages/certs-v5/test/commands/certs/auto/index.js @@ -3,7 +3,7 @@ let expect = require('chai').expect let nock = require('nock') -let certs = require('../../../commands/certs/auto.js') +let certs = require('../../../../commands/certs/auto') let letsEncrypt = { ssl_cert: {