Have ideas to improve npm?Join in the discussion! »


    2.0.0 • Public • Published


    Build Status

    The purpose of xOPS is to replace the manual procedure creation process for Extravehicular Activities (EVAs, AKA "spacewalks") by NASA, Johnson Space Center personnel. The goal of the application is to be able to write EVA procedures as simple YAML files and run xops build to generate Word document(s) in the standard procedure format, similar to the Space Shuttle mission "STS-134" procedures found on page FS 7-20 of this document. More EVAs can be found at the FOIA archive.


    The following are step by step instructions for how to get the NASA EVA Task Generator development environment installed and running. The software can be run on Window, Linux, and Mac OS.

    1. Install node LTS version.
    2. Install Visual Studio Code.
    3. Clone this repository from GitHub git clone https://github.com/xOPERATIONS/xOPS.git
    4. Navigate into the project directory, using command cd xOPS
    5. Use NPM to install the module, using command npm install
    6. Setup the xops command by doing npm link
    7. Check install works by running help menu xops -h or the version xops --version


    The following videos demostrate how to use the application features via the console command line.

    EVA Task Generator CSS- Customizable & scalable CSS template docs/qna/images/CSS Demo.mp4 CSS Demo

    EVA Task Generator Pandoc- HTML-to-Word Conversion docs/qna/images/Pandoc Demo.mp4 Pandoc Demo

    EVA Task Generator URL- Externally Reference Files docs/qna/images/URL Demo .mp4 URL Demo

    API Reference

    Libraries used include nunjucks for HTML/CSS template customization, chai assertion for unit testing, and pandoc for HTML-to-Word file conversion.

    See YAML Definition for an overview of YAML file syntax. This link also provides details on how NASA JSC writes procedures in the YAML files format for EVA Tasks and how the EVA Task Generator uses the data dictionary to parse YAML files.


    Unit Testing

    This directory contains unit tests for the xOPS project. Unit tests are automatically run by travis-ci after commits are made to this repo, and the build status is reported by a badge in the README.md in the project root.

    xOPS unit tests use the Chai Assertion Library for assertions in unit tests. More information here: https://www.chaijs.com/api/bdd/

    To manually execute unit tests (which you should do BEFORE committing changes):

    npm test

    Mocha will generate a nice test report for you.

    • If any of the unit tests fail, you should fix them.
    • If statement coverage is below 50%, you should add more tests.

    Integration Testing

    Run the program with sample YAML files. The following samples may be run from within the xOPS directory

    • Sample using local files `node index.js --input samples/sta-134-eva/main.yml --output sta-134-aqua.html’
    • Sample with CSS on command line node index.js --input samples/sta-134-eva/main.yml --css samples/sta-134-eva/custom.css --output sta-134-aqua.html
    • Sample with CSS specified in input YAML file node index.js --input samples/sta-134-eva/maincss.yml --output sta-134-aqua.html
    • Sample with CSS on both command line and within input file node index.js --input samples/sta-134-eva/maincss.yml --css samples/sta-134-eva/custom.css --output sta-134-aqua.html
    • Sample with docx output node index.js --input samples/sta-134-eva/maincss.yml --css samples/sta-134-eva/custom.css --output sta-134-aqua.html -d Or node index.js --input samples/sta-134-eva/maincss.yml --css samples/sta-134-eva/custom.css --output sta-134-aqua.html -d *outputfile.docx*


    Project Sponsor

    James Montalvo

    UMUC Phase III Development Team, Fall 2019


    UMUC Phase II Development Team, Spring 2019

    • Akruthi Shetty
    • Christopher Redding
    • Ebony Christian
    • Joe Bidinger
    • Ted Deloggio

    UMUC Phase I Development Team, Fall 2018

    • Jose De la Cruz
    • Jason Foley
    • Alexandra Kuntz
    • Engedawork Befekadu
    • Timothy Smith
    • Christopher Drury
    • Kevin Terry
    • John-Carlo Babin


    npm i xops-pat

    DownloadsWeekly Downloads






    Unpacked Size

    732 kB

    Total Files


    Last publish


    • avatar