91 Commits

Author SHA1 Message Date
Nate Fischer
8ab0a3a393
chore: update nyc dependency (#805)
This is to fix an issue related to the most recent node 8.x.y versions.

Fixes #803
2017-11-13 22:55:41 -08:00
Nate Fischer
cd1aabab39 chore: set AVA options (#780)
This sets 2 AVA options:

 * `serial`: same behavior as the CLI flag, which this replaces
 * `powerAssert`: if an assert fails, it will inspect all objects involved in
   the failed assert. This causes readability issues if `t.falsy(shell.error())`
   breaks, since it inspects all of `shell` (which is way too large).

AVA options are a little easier to manage than CLI options (we only update one
place instead of 2 in `package.json`).
2017-10-12 23:23:09 -07:00
Nate Fischer
2ee83ebf74 refactor(test): update AVA and refactor tests (#760)
This updates tests for `AVA` 19.0.0+.

`AVA` 0.18.0 has a breaking change which changes the current working directory
for tests. As a result, we need to change 'resources' -> 'test/resources' (and
 similar path changes).

`AVA` 0.19.0 has a breaking change that all tests must run at least one assert.
This breaking change was already resolved by #746, so no change was necessary in
this PR.

This updates to `AVA` 0.21.0, since there are no other breaking changes.
2017-08-11 11:03:13 -07:00
Nate Fischer
38b57c8942 chore: add skipOnWin and skipOnUnix test helpers (#746)
This adds `skipOnWin` and `skipOnUnix` to help us manage our platform-dependent
tests. These methods give a nice warning message when we skip tests. We may also
consider adding warnings when running platform-dependent tests.

Part of the motivation for this is if we ever update to AVA v0.19. This version
requires at least one assertion per test case. While this could be disabled with
an AVA setting, we instead benefit from warnings for any case when we
unintentionally skip assertions.

This adds chalk as a dev dependency to enable colored messages.
2017-06-18 11:51:01 -07:00
Nate Fischer
f74e783890 chore: remove v0.12 and iojs support (#648)
Fixes #647
2017-06-06 21:10:27 -07:00
Nate Fischer
38645675f1 0.7.8 2017-06-06 21:01:21 -07:00
Nate Fischer
95638cc773 0.7.7 2017-03-08 22:37:03 -08:00
Nate Fischer
fb09c6aab8 chore: add codecov script to appveyor CI (#686)
Invoke codecov on appveyor builds too, so that we can get coverage for
Windows-specific lines of code.

Partial fix for #671
2017-03-05 10:25:44 -08:00
Nate Fischer
eb5230a53c chore: add codecov (#682)
* chore: add codecov

Add codecov to ShellJS

Partial fix for #671

* Add codecov badge to README
2017-03-04 17:53:37 -08:00
Nate Fischer
2d0428b1c9 Switch commands.json -> commands.js (#668)
WebPack has issues with importing JSON directly and using JavaScript
methods on it. For this reason, using the `.forEach()` method on the
imported JSON array caused a method-not-found error.

Instead, we can make this a real JavaScript array by keeping it in a
JavaScript file and exporting it as a field.

It should be noted that exporting it as `exports = [...]` does not work,
because Node won't actually interpret it as a JavaScript array (with
the required methods). So instead we can export it as
`exports.list = [...]` and access the `list` field to get the real
JavaScript array of command names.

Fixes #667
2017-02-28 01:34:51 -08:00
Brandon Freitag
2e29ba29e6 0.7.6 2017-01-08 14:28:27 -08:00
Nate Fischer
ac0ff873f1 refactor: add config.reset() and .resetForTesting() (#641)
Add .reset() and .resetForTesting() to shell.config and use .resetForTesting()
as a standard set-up for unit tests.
2017-01-07 22:40:38 -08:00
Nate Fischer
a3e622ba0d chore: set up test coverage (#638)
Use nyc for test coverage and ignore all nyc-related files in git & eslint.
This increases testing time (~35sec -> ~60sec on my 4-core machine).
2016-12-27 19:39:13 -08:00
Brandon Freitag
7fa4b995bf Finalize moving to ava (#630)
* Move ava-test/ directory to test/

* Remove unnecessary run-tests.js script

* Run only ava during npm test script
2016-12-20 11:27:02 -08:00
Nate Fischer
1548b3da00 refactor: list all commands in commands.json (#616)
* refactor: list all commands in commands.json

This also changes the order of commands in the docs, due to how I changed
the doc-generating script.

* fix lint error and alphabetize command list
2016-12-14 17:57:11 -08:00
Nate Fischer
ffb1cf3db9 chore: switch to files attribute from npmignore (#613)
Prefer the `files` attribute over `.npmignore` to minimize the bytes users
download when installing ShellJS. This cuts the size down from ~1.8M to ~1.2M.
2016-12-08 22:26:49 -08:00
Nate Fischer
81e2803c45 test: set up ava and move cd.js (#561)
* test: set up ava and move cd.js

Set up ava as the new test framework. Migrate the tests for the cd command to
use the ava framework.

* refactor: reorder imports, remove useless dep
2016-11-18 19:50:36 -08:00
Brandon Freitag
c6e4c40b5a Add Brandon Freitag to maintainers/contributors (#553) 2016-11-10 00:36:47 -08:00
Nathan Phillip Brink
3bc0852702 Get pipe tests running on Windows. (#550)
* Get pipe tests running on Windows.

I used the FIND command which ships with Windows as something to
pass data through.

The test checks that a POSIX-like find(1) exists and skips the tests
if this condition is true because Windows-provided FIND is incompatible
with find(1).

* Remove obvious comments.

Requested by @nfischer. I removed both the unix-specific and Windows
specific comments because I figure they both fall under being too
obvious based on being in the process.platform conditional.

* Make FIND usage cleaner and document it.

* Use shx grep to make pipe tests portable.

Discussed in #550. To test piping and its interaction with
real processes, a shellout is necessary. But on Windows,
you cannot rely on utilities like grep(1) being around.
Using shx, we can write portable code. Otherwise, the
tests have to be conditional on the platform and be
way more complicated.
2016-11-08 20:51:06 -08:00
Nate Fischer
1a15022f27 0.7.5 2016-10-26 22:50:10 -07:00
Nate Fischer
9eb9bf9773 0.7.4 2016-08-25 18:27:14 -07:00
Nate Fischer
2395214fee chore: switch to eslint (#504)
* chore: switch to eslint

* fix: works on older versions of NodeJS now

* chore: fix curly braces

* chore: fix indents and remove jshint references
2016-08-07 12:16:29 -07:00
Nate Fischer
cb8b6a7e11 0.7.3 2016-07-27 16:44:55 -07:00
Nate Fischer
dee29a07b2 0.7.2 2016-07-24 23:40:09 -07:00
Nate Fischer
2c80e2e02c 0.7.1 2016-07-22 15:25:03 -07:00
Nate Fischer
0bab3e9b47 chore: update release process (#459) 2016-06-20 10:06:27 -07:00
Nate Fischer
fbe7458ad2 chore: switch to shelljs-changelog (#460) 2016-06-17 11:22:38 -07:00
Nate Fischer
4134727490 chore: clarify message for when docs are not generated (#457) 2016-06-09 07:35:37 -07:00
Nate Fischer
2e87f14c07 chore: update jshint and move it to an npm script (#454) 2016-06-07 16:57:42 -07:00
Nate Fischer
36cc243efd chore(gendocs): add npm run gendocs command (#455) 2016-06-04 17:06:00 -07:00
Levi Thomason
87aaefa498 chore: setup changelog (#443)
* chore(changelog): add scripts

* docs(release): update release docs

* chore(editorconfig): add config

* docs(changelog): updated by levithomason
2016-05-16 21:03:26 -07:00
Nate Fischer
bce3a53bb1 chore: bump version (#429) 2016-04-25 14:37:14 -07:00
Nate Fischer
c4822ad20e Add shelljs and bash as keywords in package.json 2016-03-13 15:55:05 -07:00
Kenneth Powers
852abff910 Use rechoir and interpret for scripts. 2016-03-10 16:52:27 -08:00
Ari Porad
e5b9fe7ba7 chore(travis): don't require v0.10 to pass
Also document that we don't support v0.10, and build on iojs. (And don't
send travis emails).
2016-02-24 10:46:03 -08:00
Nate Fischer
04f891f785 feat(glob): use glob module for globbing
Switch to the glob module to do shell globbing. Fixes a bug in `cp()` where
hidden files were not copied recursively.
2016-02-16 03:11:04 -08:00
Ari Porad
3dddadfb40 chore(package): add @ariporad and @nfischer as contributors and bump version 2016-02-04 16:11:08 -08:00
Nate Fischer
f47a8e2eb8 Merge pull request #304 from ariporad/shjs-tests
test(shjs): add tests for shjs
2016-01-24 20:50:29 -08:00
Nate Fischer
9a22a95672 chore(package): remove v0.8 from engines list 2016-01-24 15:56:20 -08:00
Ari Porad
b60ab70f02 test(shjs): add tests for shjs 2016-01-24 14:24:26 -08:00
Nate Fischer
dcdf55b0c9 chore: update github URL in package.json 2016-01-14 00:25:59 -08:00
Artur Adib
7a40ea8ffa Update package.json 2015-08-29 15:37:20 -04:00
Artur Adib
22d0975040 version bump 2015-08-11 14:47:28 -04:00
Artur Adib
85ac1807fd bump ver 2015-08-10 11:58:24 -04:00
Artur Adib
fe6dedcf40 bump ver 2015-06-05 10:12:14 -04:00
Artur Adib
fdf633003e Bump version, update README for new make args 2015-05-19 10:51:03 -04:00
Artur Adib
72e34fa881 bump ver 2015-03-17 10:51:02 -04:00
Tristan Davies
4dca63ac33 100% more execSync, 99% less busywait 2015-02-25 09:28:06 -05:00
Artur Adib
6ff5fe0ebd 0.3.0 2014-05-08 10:00:35 -04:00
Tero Keski-Valkama
4d0131cc67 Added the New BSD license to the package.json. 2014-02-06 11:38:35 +02:00