From 49b00e18aefee6759093e116b0b756dbcd3b25c9 Mon Sep 17 00:00:00 2001 From: Scott Lowe Date: Tue, 24 Mar 2020 11:44:32 +0100 Subject: [PATCH] Convert command `settings` to oclif Change-type: patch Signed-off-by: Scott Lowe --- automation/capitanodoc/capitanodoc.ts | 2 +- doc/cli.markdown | 14 -------- lib/actions-oclif/settings.ts | 52 +++++++++++++++++++++++++++ lib/actions/index.coffee | 1 - lib/actions/settings.ts | 38 -------------------- lib/app-capitano.coffee | 3 -- lib/preparser.ts | 1 + 7 files changed, 54 insertions(+), 57 deletions(-) create mode 100644 lib/actions-oclif/settings.ts delete mode 100644 lib/actions/settings.ts diff --git a/automation/capitanodoc/capitanodoc.ts b/automation/capitanodoc/capitanodoc.ts index 48a95d09..75823d26 100644 --- a/automation/capitanodoc/capitanodoc.ts +++ b/automation/capitanodoc/capitanodoc.ts @@ -104,7 +104,7 @@ const capitanoDoc = { }, { title: 'Settings', - files: ['build/actions/settings.js'], + files: ['build/actions-oclif/settings.js'], }, { title: 'Local', diff --git a/doc/cli.markdown b/doc/cli.markdown index 52788c92..eceefaa8 100644 --- a/doc/cli.markdown +++ b/doc/cli.markdown @@ -229,10 +229,6 @@ If you come across any problems or would like to get in touch: - [push <applicationOrDevice>](#push-applicationordevice) -- Settings - - - [settings](#settings) - - Local - [local configure <target>](#local-configure-target) @@ -1813,16 +1809,6 @@ left hand side of the = character will be treated as the variable name. On Windows only, convert line endings from CRLF (Windows format) to LF (Unix format). Source files are not modified. -# Settings - -## settings - -Use this command to display detected settings - -Examples: - - $ balena settings - # Local ## local configure <target> diff --git a/lib/actions-oclif/settings.ts b/lib/actions-oclif/settings.ts new file mode 100644 index 00000000..4df9d864 --- /dev/null +++ b/lib/actions-oclif/settings.ts @@ -0,0 +1,52 @@ +/** + * @license + * Copyright 2020 Balena Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { flags } from '@oclif/command'; +import { stripIndent } from 'common-tags'; +import Command from '../command'; +import * as cf from '../utils/common-flags'; +import { getBalenaSdk } from '../utils/lazy'; + +interface FlagsDef { + help: void; +} + +export default class SettingsCmd extends Command { + public static description = stripIndent` + Print current settings. + + Use this command to display current balena CLI settings. +`; + public static examples = ['$ balena settings']; + + public static usage = 'settings'; + + public static flags: flags.Input = { + help: cf.help, + }; + + public async run() { + this.parse(SettingsCmd); + + const prettyjson = await import('prettyjson'); + + return getBalenaSdk() + .settings.getAll() + .then(prettyjson.render) + .then(console.log); + } +} diff --git a/lib/actions/index.coffee b/lib/actions/index.coffee index 85504045..23a2ffed 100644 --- a/lib/actions/index.coffee +++ b/lib/actions/index.coffee @@ -27,7 +27,6 @@ module.exports = notes: require('./notes') help: require('./help') os: require('./os') - settings: require('./settings') config: require('./config') ssh: require('./ssh') internal: require('./internal') diff --git a/lib/actions/settings.ts b/lib/actions/settings.ts deleted file mode 100644 index 66a27957..00000000 --- a/lib/actions/settings.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* -Copyright 2016-2017 Balena - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -import { CommandDefinition } from 'capitano'; -import { getBalenaSdk } from '../utils/lazy'; - -export const list: CommandDefinition = { - signature: 'settings', - description: 'print current settings', - help: `\ -Use this command to display detected settings - -Examples: - - $ balena settings\ -`, - async action() { - const prettyjson = await import('prettyjson'); - - return getBalenaSdk() - .settings.getAll() - .then(prettyjson.render) - .then(console.log); - }, -}; diff --git a/lib/app-capitano.coffee b/lib/app-capitano.coffee index f1ec4561..5f6c57e3 100644 --- a/lib/app-capitano.coffee +++ b/lib/app-capitano.coffee @@ -101,9 +101,6 @@ capitano.command(actions.config.inject) capitano.command(actions.config.reconfigure) capitano.command(actions.config.generate) -# ---------- Settings Module ---------- -capitano.command(actions.settings.list) - # ---------- Logs Module ---------- capitano.command(actions.logs.logs) diff --git a/lib/preparser.ts b/lib/preparser.ts index 5e890065..8b6c3e8c 100644 --- a/lib/preparser.ts +++ b/lib/preparser.ts @@ -133,6 +133,7 @@ export const convertedCommands = [ 'env:rm', 'os:configure', 'version', + 'settings', ]; /**