shelljs

Portable Unix shell commands for Node.js

BSD-3-CLAUSE License

Downloads
30.8M
Stars
14.1K
Committers
91

Bot releases are hidden (Show)

shelljs - v0.8.5 Latest Release

Published by nfischer almost 3 years ago

This was a small security fix for #1058.

shelljs -

Published by nfischer over 4 years ago

Small patch release to fix a circular dependency warning in node v14. See #973.

shelljs -

Published by nfischer about 5 years ago

Closed issues:

  • Shelljs print stderr to console even if exec-only "silent" is true #905
  • refactor: remove common.state.tempDir #902
  • Can't suppress stdout for echo #899
  • exec() doesn't apply the arguments correctly #895
  • shell.exec('npm pack') painfully slow #885
  • shelljs.exec cannot find app.asar/node_modules/shelljs/src/exec-child.js #881
  • test infra: mocks and skipOnWin conflict #862
  • Support for shell function completion on IDE #859
  • echo command shows options in stdout #855
  • silent does not always work #851
  • Appveyor installs the latest npm, instead of the latest compatible npm #844
  • Force symbolic link (ln -sf) does not overwrite/recreate existing destination #830
  • inconsistent result when trying to echo to a file #798
  • Prevent require()ing executable-only files #789
  • Cannot set property to of [object String] which has only a getter #752
  • which() should check executability before returning a value #657
  • Bad encoding experience #456
  • phpcs very slow #440
  • Error shown when triggering a sigint during shelljs.exec if process.on sigint is defined #254
  • .to\(file\) does not mute STDIO output #146
  • Escaping shell arguments to exec() #143
  • Allow multiple string arguments for exec() #103
  • cp does not recursively copy from readonly location #98
  • Handling permissions errors on file I/O #64

Merged pull requests:

shelljs -

Published by nfischer about 5 years ago

Closed issues:

  • High severity vulnerability in shelljs 0.8.1 #842
  • Add test for ls() on a symlink to a directory #795
  • Harden shell.exec by writing the child process in a source file #782
  • shell.exec() doesn't respond correctly to config.fatal = true #735
  • Merge 'exec: internal error' with ShellJSInternalError #734
  • exec returning null from command #724
  • Only Get Stderr from Exec #371
  • Execute child.stdout.on before child.on("exit") #224

Merged pull requests:

  • Workaround codecov bug of miscalculation of coverage (#795) #838 (dwi2)
  • Update doc comments and regenerate README.md. #825 (Zearin)
  • chore: update contributing guidelines #817 (nfischer)
  • chore(lint): don't allow excess trailing newlines #816 (nfischer)
  • Remove separate "internal error" from exec #802 (freitagbr)
shelljs -

Published by nfischer over 6 years ago

Closed issues:

  • Exec failing with internal error when piping large output #818
  • using sed to replace just the first occurrence of a string #813

Merged pull requests:

  • Revert "refactor(exec): remove paramsFile (#807)" #819 (nfischer)
shelljs - v0.8.0

Published by nfischer almost 7 years ago

Closed issues:

  • Snyk vulnerability DB reporting command injection vulnerability in ShellJS #810
  • chore: upgrade nyc #803
  • Update CI to use Node v9 #799
  • Link to FAQ wiki section in our issue template #787
  • Is it possible to get a js library(file) for ShellJS #776
  • 48, #774
  • 47 #773
  • Exec function calls JSON.stringify on command #772
  • getting different result from terminal and with shelljs #769
  • test() does not support -w and -x options #768
  • Snyk "high severity" issue #766
  • Snyk "high security #765
  • ShellJS doesn't respect NPM Registry being set outside of it #761
  • Run second shell script #756
  • shelljs seems NOT compatible with nexe under CentOS 6.5 #754
  • Feature request: pushd/popd -q option #753
  • cat doesn't support '-n' option #750
  • shelljs run xcodebuild error #749
  • Add wrappers around fs.statSync and fs.lstatSync #745
  • Improve coverage for exec() #742
  • Improve coverage for head() #741
  • shelljs is no longer used in PDF.js #737
  • ls doesn't follow links to directories #733
  • Add test for ls regular-file.txt #732
  • shelljs.exec hangs when password it's asked #716
  • Clean up common tests #714
  • Can't run docker with exec() (the input device is not a TTY) #680
  • Cant get encoding buffer to work on exec #675
  • Set up Codecov for the project #671
  • ShellJS: internal error Error: EBUSY: resource busy or locked, lstat 'C:\pagefile.sys' #514
  • Feature request: provide a way to skip option parsing #778
  • Switch to os.homedir() when we move to v4+ #683
  • Drop support for v0.12 #647
  • feature: echo -n #559
  • Don't kill the node process upon unexpected error #483
  • Echo doesn't return value ending in a trailing newline #476
  • Synchronous exec stalls permenantly when there is an error/w the shell #7

Merged pull requests:

shelljs -

Published by nfischer over 7 years ago

Closed issues:

  • Add node v8 to CI #729
  • Exec not working in Electron ! #726
  • is rechoir used anywhere? #723
  • ShellJS: internal error on shelljs.mkdir('myFile/myDir') #720
  • Can't make sed perform global replace #719
  • grep: option not recognized: l #717
  • Problems getting code, stdout, stderr #715
  • Copying hidden files fails on Windows 10 #711
  • How am I suppose to handle errors with ShellJS? #707
  • use cp('-r', './src', './dist') bug #705
  • Way to ignore files in globs. #699
  • Buffer constructor is deprecated #694
  • source command not working via exec method. #693
  • Would you be interested in a PR for open? #692
  • Get rid of common.platform in favor of process.platform #670
  • Passing empty string to cp throws internal error #664
  • Why does sed split files into an array, call replace on each line and rejoin? #645
  • feat: cp & mv should not overwrite recently created files #631
  • Echo tests unnecessarily run tests in own process #622
  • rm -rf on a symbolic link to a dir deletes its contents #587
  • "Cannot extract package" with node-webkit #181
  • EBADF, bad file descriptor #180

Merged pull requests:

shelljs - v0.7.7

Published by freitagbr over 7 years ago

Closed issues:

  • Error output should be consistent across all platforms. #681
  • *CRITICAL data loss* shell.cp() Content of file is erased when trying to copy it to the folder it already belongs to #678
  • Use with webpack broken in 0.7.6 #667
  • Difference between bash ls -R and ShellJS ls -R with symlinks #666
  • Refactor which() (too many repeated code blocks) #656
  • find() raises error when unable to find any files matching, expected to return empty array. #653
  • Drop support for v0.12 #647
  • Reformat the markdown in RELEASE.md #642
  • rm -rf doesn't work if the directory contains an asar archive in Electron #618
  • Add support for other file types in rm #617
  • Feature request: ls -L option #563
  • How to send SIGINT signal to child process launched with exec #518
  • exec doesnt seem to be working #480
  • feature request: option to add node_modules to the path for shelljs scripts #469
  • high cpu usage during synchronous exec #167

Merged pull requests:

shelljs - v0.7.1

Published by nfischer almost 8 years ago

Closed issues:

  • cp -n doesn't work correctly #465
  • how can i run sudo apt-get install xtodotool by your plugin? #448
  • shell.js grep: internal error, Invalid regular expression #447
  • Stdout is empty on Git log command #439
  • Cannot read toString of null when using execSync #415
  • cp -R dir/ target fails to copy hidden files in dir #140
  • Adding callback to basic commands #102
  • #mv Won't Work Across Disks #1

Merged pull requests:

shelljs - v0.7.2

Published by nfischer almost 8 years ago

Closed issues:

  • shelljs should not kill process if node call throws exception #473
  • cp work incorrectly when folder name contains '@' #463
  • Something went wrong #158

Merged pull requests:

  • fix: resolve a cylcic-dependency problem #482 (nfischer)
  • refactor: add wrapOutput option to auto-ShellString-ify command output #481 (nfischer)
  • refactor: move option parsing into common.wrap() #479 (nfischer)
  • refactor: hook new uniq() command using new format #478 (nfischer)
  • Fix mkdir malformed path #477 (nfischer)
  • fix: mkdir for invalid perms does not kill process #474 (nfischer)
  • feat(command): new command: uniq() #453 (joshi-sh)
shelljs - v0.7.3

Published by nfischer almost 8 years ago

Closed issues:

  • expose execSync #494
  • Add a way to create commands that can receive from a pipe without being standalone commands #487
  • cp -r breaks when the directory contains a softlink #193
  • Redirect output to file fails #60
  • We need sed -n ? #38

Merged pull requests:

  • refactor: allow pipeOnly commands (methods on ShellStrings) #493 (nfischer)
  • refactor: glob by default for commands #492 (nfischer)
  • refactor: switch from notUnix to unix in wrap() #491 (nfischer)
  • refactor: switch common.extend() to Object.assign ponyfill #490 (nfischer)
  • fix: conflicting options now properly override each other #489 (nfischer)
  • refactor: expose plugin utils & add initial tests #484 (nfischer)
shelljs - v0.7.4

Published by nfischer almost 8 years ago

Closed issues:

  • fix: echo -e should not print "-e" #510
  • Wrong method signature in doc #498
  • readFromPipe should be a function with no arguments #485
  • TypeError: Cannot read property 'toString' of undefined #471

Merged pull requests:

shelljs - v0.7.5

Published by nfischer almost 8 years ago

Closed issues:

  • Project objectives: there is some higher goal to achieve? #533
  • fs.existsSync is un-deprecated #531
  • Inadvertent breaking change to shell.test() #529
  • Add -u flag support for cp #526
  • API request: allow plugin.error\(\) to take an options parameter #522
  • FS Real Path error thrown when requiring shelljs #521
  • Question: passing code via pipe? #520
  • The performance in cp is different between 0.6.0 and 0.7.4 #517
  • ShellJS in Electron package don't find ffmpeg anymore #516
  • Exec issues with string option introduced in 0.7.4 #515
  • [ Feature ] SSH command #435
  • Synchronous exec stalls permenantly when there is an error/w the shell #7

Merged pull requests:

shelljs - v0.7.6

Published by nfischer almost 8 years ago

Closed issues:

  • unable to execute ionic command with shell js #640
  • How to increase ShellJS buffer size? #639
  • mkdir fails with non-normalized path #634
  • Move execPath into common #633
  • QUESTION: Feedback while an operation is running? #629
  • Test setup/cleanup is broken #621
  • Ignore temp directories when running lint #620
  • parseOptions should throw an error if the option string doesn't start with '-' #614
  • chore: LGTM.co is gone #595
  • refactor: objectAssign should refer to Object.assign if it exists, or the internal polyfill otherwise #592
  • parseOptions: allow a way to keep errors silent (exception only) #591
  • [Question] commands with multiple options / arguments? #589
  • feature: GNU Parallel #585
  • write to file #568
  • Cannot figure out how to disable globbing for rm #567
  • Switch to the ava test framework #560
  • feature: echo -n #559
  • Option not recognized #556
  • chore: add @freitagbr to LGTM maintainers #552
  • chore: set up dev branch #548
  • bug: cp() doesn't always copy everything #547
  • User-friendly lint command #544
  • Lint warning #542
  • Possible Regression: cp from 0.6.0 to 0.7.x version #538
  • chore: add nodejs v7 to CI #537
  • error.code is not always available #536
  • Add shx as a dependency for testing #525
  • Feature request: allow common.error\(\) to optionally not insert a prefix and optionally not print to console #523
  • Feature request: Add "shelljs.unlink" #519
  • Sed should allow a replacement string to contain \1 for match groups #507
  • Don't kill the node process upon unexpected error #483
  • Usage with neodoc #445
  • [ Feature idea ] synchronous sleep command #441
  • Improve test coverage #347
  • Add a way to prevent shell-expansion on commands (this issue is not for exec) #345
  • Chown #183
  • spawn EMFILE #81
  • Rewrite exec using execsync-ng (which uses node-ffi) #66
  • exec gets stuck on my Debian box #51
  • 100% cpu usage when a nodejs script goes side ways executing a command. #5

Merged pull requests:

shelljs - v0.7.0

Published by nfischer over 8 years ago

Changelog from v0.6.0...v0.7.0:

Bug Fixes

  • fix: null is no longer confused for an object
  • fix(ls): no trailing newline for empty directories (#425)
  • fix: error message now printed for fatal failures
  • refactor(cp): clean up code and fix #376
  • Perf improvement for ls, and fix for Windows
  • Improved cd performance and fix error messages
  • fix(exec): properly handles paths with spaces and quotes
  • fix(verbose): verbose-style logging is consistent
  • fix(exec): now actually supports shell option
  • fix(exec): temp files are now cleaned up

Features

  • feat(cp): -P option, plus better handling of symlinks (#421)
  • feat(command): new command: tail()
  • feat(command): new command: head()
  • feat(command): new command: sort()
  • feat(glob): expose config.globOptions.
  • feat(cp): add -L/follow symlink option
  • feat: adding error codes to ShellJS
  • feat(pipe): add support for pipes between commands
  • feat(touch): supports multiple files
  • feat(set): add -f option to disable shell globbing
  • feat(glob): use glob module for globbing
  • feat(glob): glob support for (almost) all commands
  • feat(grep): add -l option
shelljs - v0.6.0

Published by ariporad over 8 years ago

v0.6.0! Mine and @nfischer's first release!

We're really exited to be a part of the shelljs team.

Changelog:

0.6.0 (2016-02-04)

Bug Fixes

  • regexes: make regexes more consistent with sed and grep (1ee696d)
  • cat: make behavior more like unix (580d6d3)
  • cp: add -n option, make -f default behavior (8377b92)
  • mv: add -n option, make -f default behavior (2d1ee4d)
  • windows: fix shjs tests for windows (985ac20)
  • windows: fix symlinking on windows (fb5a7ec), closes #301.
  • which: properly search PATHEXT on Windows (eaa7710), closes #301.
  • electron: fix electron compatibility by not doing console.log.apply(this, ...) (9e9b500), closes #255.

Features

  • expand: add tilde expansion to expand() (b3f2664)
  • cd: cd() (no args) changes to home directory (dfaa78a)
  • ls: add -d flag to ls() (c6da9e7)
  • ls: add -l option (e918c75)
  • sed: support multiple file names (bccf620), closes #231
  • set: add new set() command (ca045ea)
  • cd: cd('-') now returns you to the previous directory, as in bash (1979d07)
  • chmod: add X for directories (766c2dd)
  • exec: add exec(...).stdout (8a7f7ce)
  • exec: allow passing options to child_process.exec (c0d9cf7)
  • options: options with values (see touch -r for an example) (f9c8fc0)