Skip to content
This repository has been archived by the owner on Aug 22, 2023. It is now read-only.

Commit

Permalink
Use helpClass instead of helpPlugin
Browse files Browse the repository at this point in the history
  • Loading branch information
chadian committed Apr 13, 2020
1 parent a4b686c commit c4869a7
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 43 deletions.
6 changes: 3 additions & 3 deletions src/command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {format, inspect} from 'util'

import * as flags from './flags'
import {sortBy, uniqBy} from './util'
import {getHelpPlugin} from '@oclif/plugin-help'
import {getHelpClass} from '@oclif/plugin-help'

/**
* swallows stdout epipe errors
Expand Down Expand Up @@ -187,8 +187,8 @@ export default abstract class Command {
}

protected _help() {
const HelpPlugin = getHelpPlugin(this.config)
const help: HelpBase = new HelpPlugin(this.config)
const HelpClass = getHelpClass(this.config)
const help: HelpBase = new HelpClass(this.config)
const cmd = Config.Command.toCached(this.ctor as any as Config.Command.Class)
if (!cmd.id) cmd.id = ''
let topics = this.config.topics
Expand Down
6 changes: 3 additions & 3 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import * as Config from '@oclif/config'
import {HelpBase} from '@oclif/plugin-help'

import {Command} from '.'
import {getHelpPlugin} from '@oclif/plugin-help'
import {getHelpClass} from '@oclif/plugin-help'

export class Main extends Command {
static run(argv = process.argv.slice(2), options?: Config.LoadOptions) {
Expand Down Expand Up @@ -37,8 +37,8 @@ export class Main extends Command {
}

protected _help() {
const HelpPlugin = getHelpPlugin(this.config)
const help: HelpBase = new HelpPlugin(this.config)
const HelpClass = getHelpClass(this.config)
const help: HelpBase = new HelpClass(this.config)
help.showHelp(this.argv)
return this.exit(0)
}
Expand Down
40 changes: 20 additions & 20 deletions test/command.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import * as Config from '@oclif/config'
import {expect, fancy} from 'fancy-test'

import Base, {flags} from '../src'
import {TestHelpPluginConfig} from './helpers/test-help-in-src/src/test-help-plugin'
import {TestHelpClassConfig} from './helpers/test-help-in-src/src/test-help-plugin'
import * as PluginHelp from '@oclif/plugin-help'

const originalGetHelpPlugin = PluginHelp.getHelpPlugin
const originalgetHelpClass = PluginHelp.getHelpClass

// const pjson = require('../package.json')

Expand Down Expand Up @@ -275,8 +275,8 @@ USAGE
fancy
.stdout()
.add('config', async () => {
const config: TestHelpPluginConfig = await Config.load()
config.pjson.oclif.helpPlugin = 'plugin-does-not-exist'
const config: TestHelpClassConfig = await Config.load()
config.pjson.oclif.helpClass = 'plugin-does-not-exist'
return config
})
.do(async ({config}) => {
Expand All @@ -290,12 +290,12 @@ USAGE

fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: any) {
return originalGetHelpPlugin(config, '')
.stub(PluginHelp, 'getHelpClass', function (config: any) {
return originalgetHelpClass(config, '')
})
.add('config', async () => {
const config: TestHelpPluginConfig = await Config.load()
config.pjson.oclif.helpPlugin = undefined
const config: TestHelpClassConfig = await Config.load()
config.pjson.oclif.helpClass = undefined
return config
})
.do(async ({config}) => {
Expand All @@ -310,17 +310,17 @@ USAGE
describe('from a help plugin', () => {
fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: Config.IConfig) {
.stub(PluginHelp, 'getHelpClass', function (config: Config.IConfig) {
const patchedConfig = {
...config,
root: `${__dirname}/helpers/test-help-in-lib/`,
}

return originalGetHelpPlugin(patchedConfig)
return originalgetHelpClass(patchedConfig)
})
.add('config', async () => {
const config: TestHelpPluginConfig = await Config.load()
config.pjson.oclif.helpPlugin = './lib/test-help-plugin'
const config: TestHelpClassConfig = await Config.load()
config.pjson.oclif.helpClass = './lib/test-help-plugin'
return config
})
.do(async ({config}) => {
Expand All @@ -343,17 +343,17 @@ USAGE

fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: Config.IConfig) {
.stub(PluginHelp, 'getHelpClass', function (config: Config.IConfig) {
const patchedConfig = {
...config,
root: `${__dirname}/helpers/test-help-in-src/`,
}

return originalGetHelpPlugin(patchedConfig)
return originalgetHelpClass(patchedConfig)
})
.add('config', async () => {
const config: TestHelpPluginConfig = await Config.load()
config.pjson.oclif.helpPlugin = './lib/test-help-plugin'
const config: TestHelpClassConfig = await Config.load()
config.pjson.oclif.helpClass = './lib/test-help-plugin'
return config
})
.do(async ({config}) => {
Expand All @@ -376,17 +376,17 @@ USAGE

fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: Config.IConfig) {
.stub(PluginHelp, 'getHelpClass', function (config: Config.IConfig) {
const patchedConfig = {
...config,
root: `${__dirname}/helpers/test-help-in-src/`,
}

return originalGetHelpPlugin(patchedConfig)
return originalgetHelpClass(patchedConfig)
})
.add('config', async () => {
const config: TestHelpPluginConfig = await Config.load()
config.pjson.oclif.helpPlugin = './lib/test-help-plugin'
const config: TestHelpClassConfig = await Config.load()
config.pjson.oclif.helpClass = './lib/test-help-plugin'
return config
})
.do(async ({config}) => {
Expand Down
2 changes: 1 addition & 1 deletion test/helpers/test-help-in-src/src/test-help-plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {HelpBase} from '@oclif/plugin-help'
import {spy, SinonSpy} from 'sinon'
import {IConfig} from '@oclif/config'

export type TestHelpPluginConfig = IConfig & { showCommandHelpSpy?: SinonSpy; showHelpSpy?: SinonSpy }
export type TestHelpClassConfig = IConfig & { showCommandHelpSpy?: SinonSpy; showHelpSpy?: SinonSpy }

export default class extends HelpBase {
constructor(config: any, opts: any) {
Expand Down
32 changes: 16 additions & 16 deletions test/main.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import {expect, fancy} from 'fancy-test'
import {Main} from '../src/main'
import * as PluginHelp from '@oclif/plugin-help'
import * as Config from '@oclif/config'
import {TestHelpPluginConfig} from './helpers/test-help-in-src/src/test-help-plugin'
import {TestHelpClassConfig} from './helpers/test-help-in-src/src/test-help-plugin'

const pjson = require('../package.json')
const version = `@oclif/command/${pjson.version} ${process.platform}-${process.arch} node-${process.version}`
const originalGetHelpPlugin = PluginHelp.getHelpPlugin
const originalgetHelpClass = PluginHelp.getHelpClass

describe('main', () => {
fancy
Expand Down Expand Up @@ -43,58 +43,58 @@ COMMANDS
.it('runs -h')

describe('with an alternative help plugin', async () => {
const getMainWithHelpPlugin = async () => {
const config: TestHelpPluginConfig = await Config.load()
config.pjson.oclif.helpPlugin = './lib/test-help-plugin'
const getMainWithHelpClass = async () => {
const config: TestHelpClassConfig = await Config.load()
config.pjson.oclif.helpClass = './lib/test-help-plugin'

class MainWithHelpPlugin extends Main {
class MainWithHelpClass extends Main {
config = config
}

return MainWithHelpPlugin
return MainWithHelpClass
}

fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: Config.IConfig) {
.stub(PluginHelp, 'getHelpClass', function (config: Config.IConfig) {
const patchedConfig = {
...config,
root: `${__dirname}/helpers/test-help-in-src/`,
}

return originalGetHelpPlugin(patchedConfig)
return originalgetHelpClass(patchedConfig)
})
.do(async () => (await getMainWithHelpPlugin()).run(['-h']))
.do(async () => (await getMainWithHelpClass()).run(['-h']))
.catch('EEXIT: 0')
.do(output => expect(output.stdout).to.equal('hello showHelp\n'))
.it('works with -h')

fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: Config.IConfig) {
.stub(PluginHelp, 'getHelpClass', function (config: Config.IConfig) {
const patchedConfig = {
...config,
root: `${__dirname}/helpers/test-help-in-src/`,
}

return originalGetHelpPlugin(patchedConfig)
return originalgetHelpClass(patchedConfig)
})
.do(async () => (await getMainWithHelpPlugin()).run(['--help']))
.do(async () => (await getMainWithHelpClass()).run(['--help']))
.catch('EEXIT: 0')
.do(output => expect(output.stdout).to.equal('hello showHelp\n'))
.it('works with --help')

fancy
.stdout()
.stub(PluginHelp, 'getHelpPlugin', function (config: Config.IConfig) {
.stub(PluginHelp, 'getHelpClass', function (config: Config.IConfig) {
const patchedConfig = {
...config,
root: `${__dirname}/helpers/test-help-in-src/`,
}

return originalGetHelpPlugin(patchedConfig)
return originalgetHelpClass(patchedConfig)
})
.do(async () => (await getMainWithHelpPlugin()).run(['help']))
.do(async () => (await getMainWithHelpClass()).run(['help']))
.catch('EEXIT: 0')
.do(output => expect(output.stdout).to.equal('hello showHelp\n'))
.it('works with help')
Expand Down

0 comments on commit c4869a7

Please sign in to comment.