box-exec

2.0.1 • Public • Published

Box Execute

Build Status npm 1.0.3 node >=6 dependencies null examples 5

What Is Box-Execute?

Box execute is an npm package to compile/run codes (c,cpp,pyhton) in a virtualized environment, Here virtualized environment used is a docker container. This packages is built to ease the task of running a code against test cases as done by websites used to practice algorithmic coding.

Using Box-Execute

Box-Execute Structure

Language supported by Box-Execute are:

  • c
  • cpp
  • python 2
  • python 3

NOTE: Language support is to be extended.

For each language supported a docker container is present in which all the codes are executed to get the output.

Under the hood

Box-Execute utilises staging architecture in order to run a code an get the output.

  • Stage One:

Container for a particular language is checked for it's status and in case of container "absence" or "not running status" container is started or restarted based on the container status.

NOTE: This stage is executed in all conditions.

  • Stage Two

Source code file is copied in the running container.

NOTE: This stage is executed in all conditions.

  • Stage Three

This stage is only executed in case when source code file is "C" or "CPP" file. Used for compiling C/CPP code.

NOTE: This stage is executed only when source code file is in C/CPP

  • Stage Four

This is the final stage where code is executed to get the output. Streams are used to write data to STDIN.

NOTE: This stage is executed in all conditions.

Future Work

  • Update Error Return On Command Failure

  • Extend Language Support

  • Add CLI tool

  • Explore For Erroneous Conditions

Package Sidebar

Install

npm i box-exec

Weekly Downloads

3

Version

2.0.1

License

Apache-2.0

Unpacked Size

45.4 kB

Total Files

37

Last publish

Collaborators

  • akshitgrover