JSPM

  • Created
  • Published
  • Downloads 149044
  • Score
    100M100P100Q168461F
  • License Apache-2.0

Amazon States Language validator

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (asl-validator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    asl-validator

    license npm version

    NPM

    A simple Amazon States Language validator based on JSON schemas. It also validates JSON paths syntax in InputPath, OutputPath and ResultPath.

    When writing your state machine (for AWS step functions), you can't locally validate you state machine definition without creating it. asl-validator makes it possible.

    Install

    # Use via the CLI
    npm install -g asl-validator
    # Use in your code
    npm install asl-validator

    CLI

    $ asl-validator --help
    
      Usage: asl-validator [options]
    
      Amazon States Language validator
    
    
      Options:
    
        --json-definition <jsonDefinition>  JSON definition
        --json-path <jsonPath>              JSON path
        --silent                            silent mode
        -h, --help                          output usage information

    Return status:

    • 0 if state machine definition is valid
    • 1 if state machine definition is invalid
    • 2 if an exception occurs

    In your code

    const aslValidator = require('asl-validator');
    const definition = require('./path/to/my/state/machine/json/definition');
    const { isValid, errors, errorsText } = aslValidator(definition);
    if (isValid) {
      console.log('✓ State machine definition is valid')
    } else {
      // Either go through the errors object
      console.error('✕ State machine definition is invalid:', errors.map(({ message }) => message).join('\n'));
      // Or display the preformatted errors text
      console.error('✕ State machine definition is invalid:', errorsText('\n'));
    }

    Test

    npm run test

    Lint

    npm run lint

    See also

    License

    See LICENSE.