GithubHelp home page GithubHelp logo

rakesh-mohanta / cash Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dthree/cash

0.0 2.0 0.0 391 KB

:dollar: Cross-platform Linux without the suck

License: MIT License

JavaScript 100.00%

cash's Introduction

Cash

Cross-platform Linux commands in pure ES6

Build Status Windows Build Status Coverage Status Gitter XO code style

Cash is a cross-platform implementation of Unix shell commands written in pure ES6.

Huh? Okay - think Cygwin, except:

  • No native compiling
  • No ugly DLLs
  • Works in any terminal
  • 1/15th of the size
  • Just:
> npm install cash -g
> cash
$

Cash

Woah.

Yeah. But it gets better.

Let's mix some Windows & Unix commands together:

$ ipconfig | grep IPv4 | sort
IPv4 Address. . . . . . . . . . . : 10.10.40.50
IPv4 Address. . . . . . . . . . . : 192.168.100.11
$

Learn more

But I don't want to type "cash"

No problem. Let's make all commands global on your system:

> npm install cash-global -g
> ls -lah

Learn more

Nice, but I only want certain commands

You're covered!

> npm install cash-ls -g
> npm install cash-grep -g

Learn more

Wow. But I want this programmatically!

Again, you're in business:

const $ = require('cash');
const out = $.ls('.', {l: true});

Not terse enough? How about this:

const out = $('ls -lah');

Not ๐Ÿ˜Ž enough? Try this:

require('cash') `
  cp -R ./src ./dest
  ls | grep *-spec.js | cat
  rm ./specResults.html 
`;

For even better programmatic Unix commands, check out Shell.JS.

Learn more

Isn't this impossible to do in Node?

It was, before Vorpal.

Made with โค by dthree.

Love it? Cash is brand new! Give it a โญ or a tweet to help spread the word!

Contents

Introduction

Cash is a project working on a cross-platform implementation of the most used Unix-based commands in pure JavaScript and with no external dependencies.

The goal of Cash is to open up these commands to the massive JavaScript community for the first time, and to provide a cleaner, simpler and flexible alternative to applications like Cygwin for those wanting the Linux feel on Windows.

Cash was built with strict attention to nearly exact implementations and excellent test coverage of over 200 unit tests.

Supported commands

The following commands are currently implemented:

  • alias
  • cat
  • clear
  • cd
  • cp
  • echo
  • export
  • false
  • grep
  • head
  • kill
  • less
  • ls
  • mkdir
  • mv
  • pwd
  • rm
  • sort
  • source
  • tail
  • touch
  • true
  • unalias

Want more commands?

Contributing

We are currently looking for Core Team members who can push forward Cash at a rapid rate. Are you an awesome developer up to the challenge? Send me a ping.

Awesome contributors

  • @nfischer: Added source, export, true and false commands, among several other contributions.
  • @safinn: Added clear and tail commands.
  • @legien: Added head command.
  • @cspotcode: Implemented template literal execution.

FAQ

Why Cash?

In its very essence, Cash replaces the Windows CLI prompt (>) with the Unix one ($), the dollar symbol.

Cash was most fitting in this sense:

Ask and ye shall receive

> cash
$

Cash is also a play on the word bash, and is actually[1] a recursive acronym for Cash Shell.

Shout out to @aseemk for donating the name.

Doesn't Shell.js do this?

No.

For those who don't know, Shell.JS is an awesome Node package that implements UNIX shell commands programatically in JavaScript. Check it out - really. While Shell.JS was tremendously helpful in figuring out how to accomplish Cash, the two do not really conflict.

Shell.JS gives the feel of UNIX commands in a code environment, but aims to implement the commands in a way that makes sense for a JavaScript library. This means that many commands return JavaScript objects, and some of the rougher and more dangerous edges of bash have been softened a bit.

For example, with cash:

$('ls'); // 'node_modules\n'

$('echo foo > foo.txt');

With Shell.JS:

ls(); // ['node_modules'];

echo('foo').to('foo.txt');

Team

David Caccavella | Nate Fischer ---|---|---|---|--- David Caccavella | Nate Fischer

License

MIT ยฉ David Caccavella

cash's People

Contributors

ariporad avatar cspotcode avatar dthree avatar i-am-steve-oh avatar j-em avatar nfischer avatar nicoder avatar obastemur avatar safinn avatar sonnyp avatar tcyrus avatar tooolbox avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.