1.5.0 • Published 3 years ago

@redhat-actions/action-io-generator v1.5.0

Weekly downloads
435
License
MIT
Repository
github
Last release
3 years ago

GitHub Action Input-Output Generator

action-io-generator CI

npm badge Tag License

This is a utility to generate JavaScript/TypeScript enums from an action.yml file. It can be invoked as a command-line tool or programmatically.

By using this tool, you can reduce duplication and the errors that come with it by allowing the action.yml to work as the single source of truth for your action's inputs and outputs. This reduces the maintainence required to add, edit, and remove inputs or outputs, and ensures everything is named correctly.

Install

$ npm i -D @redhat-actions/action-io-generator

Usage

$ npx action-io-generator --actionYml ./action.yml --outFile ./src/generated/inputs-outputs.ts
Loading action file from ./action.yml
Found 8 inputs and 0 outputs.
Outputting input and output enums to src/generated/inputs-outputs.ts

Example

See test for an example. generated/inputs-outputs.ts is generated from test.action.yml.

inputs:
  foo:
    required: true
    description: This is the foo input.
    default: foo-default

becomes:

export enum Inputs {
    /**
     * This is the foo input.
     * Required: true
     * Default: "foo-default"
     */
    FOO = "foo",
}

Options

The only required option is -o / --outFile. For example, npx action-io-generator -o generated/inputs-outputs.ts.

ShortLongDefaultDescription
-o--outFileNoneJS/TS file to write out enums to. The directory must exist. If the file exists, it is overwritten.
-a--actionYml./action.ymlPath to action.yml to process into enums.
-s--silentfalseProduce no output, except errors to stderr.
-w--watchfalseKeep running after generating once, and re-run the generator each time the actionYml is edited.
1.5.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago