Skip to content
Nate Fischer edited this page Oct 19, 2016 · 1 revision

If you're interested in contributing, take a look at where the project is headed in the short-term:

0.7.x releases

  • Begin drafting and implementing a plugin API
    • Allow users to implement their own ShellJS commands
    • Add methods on the ShellString class
    • Create commands that have subcommands (of the form git.add('file.txt'))
  • Improve the collaboration experience
    • Comments to document confusing parts of the code
    • Implement all commands as internal plugins (almost all changes are in the src file and test file)
  • Write simple plugins to dogfood this API
  • More unix compatibility with existing commands
  • Switch to a standard test framework (to facilitate community contributions)

0.8.x releases

  • More secure replacement to shell.exec() (see #524)
    • Try to minimize how much this relies on the file system plugin API (we might release the plugin API before implementing subcommands)
  • Don't exit the process for internal failures, throw an exception instead (shell.exit() should be the only part of our API that kills the process)
  • Stricter style linting
  • Track (and improve) test coverage (goal: 80% line coverage or higher before 0.9)
  • Improve performance for commonly used commands

0.9.x releases (if we have these)

  • No goals so far

1.x.x releases

  • Allow commands to be async (#2)
  • Run & publish benchmarks on each version (https://github.com/shelljs/benchmarks)
  • Release ShellJS unix commands as separate packages (similar to how cash commands can be installed individually)