13.0.0 • Published 4 months ago

@adonisjs/ace v13.0.0

Weekly downloads
12,906
License
MIT
Repository
github
Last release
4 months ago

Ace

Node.js framework for creating command line applications. Used by AdonisJs

circleci-image npm-image npm.io

Table of contents

Usage

Install the package from npm registry as follows:

npm i @adonisjs/ace

# yarn
yarn add @adonisjs/ace

And then use it as follows:

import {
  Kernel,
  BaseCommand,
  arg,
  flags
} from '@adonisjs/ace'

class Make extends BaseCommand {
  @arg()
  public resource: string

  @arg()
  public name: string

  @flags.boolean()
  public overwrite: boolean
  
  public static commandName = 'make'
  public static description = 'Make a new resource'
  
  // called when the command is executed
  async handle () {
    console.log(this.name)
    console.log(this.resource)
    console.log(this.overwrite)
  }  
}

const kernel = new Kernel()
kernel.register([Make]) 

kernel.handle(process.argv.splice(2))

Displaying help

The module comes with handful of helpers to display help for a single command or all commands.

We keep the event of displaying help decoupled from the internals of ace, giving you more freedom on how and when to display the help.

import {
  Kernel,
  BaseCommand,
  printHelpFor,
  printHelp
} from '@adonisjs/ace'

const kernel = new Kernel()
kernel.flag('help', (value, options, command) => {
  if (command) {
    printHelpFor(command)
  } else {
    printHelp(kernel.commands)
  }
  
  process.exit(0)
})

kernel.handle(process.argv.splice(2))

Decorators

The module comes with ES6 decorators to define arguments and flags for a given command.

arg

Define an argument. To make the argument optional, you can set the required property to false

arg({ required: false })

You can also define the argument description as follows:

arg({ description: 'The resource type to create' })

flags.boolean

Define a flag that accepts a boolean value.

flags.string

Define a flag that accepts a string value.

flags.array

Define a flag that accepts an array of values.

You can also define description for a flag, similar to the arg. Also, a flag can define aliases and the default values.

class Make extends BaseCommand {

  flags.string({
    alias: 'r',
    description: 'The resource name',
    default: 'controller',
  })
  resource: string
}

MIT License, see the included MIT file.

13.0.0

4 months ago

12.3.2-6

4 months ago

12.3.2-5

4 months ago

12.3.2-4

4 months ago

12.3.2-3

4 months ago

12.3.2-2

5 months ago

12.3.2-1

5 months ago

12.3.1-13

7 months ago

12.3.1-12

8 months ago

12.3.1-11

8 months ago

12.3.1-10

8 months ago

12.3.1

7 months ago

12.3.2-0

7 months ago

12.3.1-7

10 months ago

12.3.1-9

9 months ago

12.3.1-8

10 months ago

12.3.1-6

1 year ago

12.3.0-0

1 year ago

12.2.0-0

1 year ago

12.3.1-3

1 year ago

12.3.1-2

1 year ago

12.3.1-1

1 year ago

12.3.1-0

1 year ago

12.3.1-5

1 year ago

12.3.1-4

1 year ago

12.1.1-0

1 year ago

12.1.0-0

1 year ago

12.0.0-0

1 year ago

11.3.1

2 years ago

11.3.0

2 years ago

11.2.3

2 years ago

11.0.7

2 years ago

11.2.2

2 years ago

11.2.0

2 years ago

11.2.1

2 years ago

11.1.0

2 years ago

11.0.6

2 years ago

11.0.5

3 years ago

11.0.4

3 years ago

11.0.3

3 years ago

11.0.2

3 years ago

11.0.1

3 years ago

11.0.0

3 years ago

5.1.0

3 years ago

10.0.1

3 years ago

10.0.0

3 years ago

9.1.0

3 years ago

9.0.5

3 years ago

9.0.4

3 years ago

9.0.3

3 years ago

9.0.2

3 years ago

9.0.1

3 years ago

9.0.0

3 years ago

8.0.0

3 years ago

7.1.6

4 years ago

7.1.5

4 years ago

7.1.4

4 years ago

7.1.3

4 years ago

7.1.2

4 years ago

7.1.1

4 years ago

7.1.0

4 years ago

7.0.2

4 years ago

7.0.1

4 years ago

7.0.0

4 years ago

6.9.4

4 years ago

6.9.3

4 years ago

6.9.2

4 years ago

6.9.1

4 years ago

6.9.0

4 years ago

6.8.4

4 years ago

6.8.3

4 years ago

6.8.2

4 years ago

6.8.1

4 years ago

6.8.0

4 years ago

6.7.6

4 years ago

6.7.5

4 years ago

6.7.4

4 years ago

6.7.3

4 years ago

6.7.2

4 years ago

6.7.0

4 years ago

6.7.1

4 years ago

6.6.1

4 years ago

6.6.0

4 years ago

6.5.0

4 years ago

6.4.0

4 years ago

6.3.4

4 years ago

6.3.3

4 years ago

6.3.2

5 years ago

6.3.1

5 years ago

6.3.0

5 years ago

6.2.3

5 years ago

6.2.2

5 years ago

6.2.1

5 years ago

6.2.0

5 years ago

6.1.7

5 years ago

6.1.6

5 years ago

6.1.5

5 years ago

6.1.4

5 years ago

6.1.3

5 years ago

6.1.2

5 years ago

6.1.1

5 years ago

6.1.0

5 years ago

6.0.1

5 years ago

6.0.0

5 years ago

5.0.8

6 years ago

5.0.7

6 years ago

5.0.6

6 years ago

5.0.5

6 years ago

5.0.4

6 years ago

5.0.3

6 years ago

5.0.2

6 years ago

5.0.1

6 years ago

5.0.0

6 years ago

4.0.8

6 years ago

4.0.7

7 years ago

4.0.6

7 years ago

4.0.5

7 years ago

4.0.4

7 years ago

4.0.3

7 years ago

4.0.2

7 years ago

4.0.1

7 years ago

4.0.0

7 years ago