aboutsummaryrefslogtreecommitdiff
path: root/node_modules/shelljs/src/cd.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-24 15:10:37 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-24 15:11:17 +0200
commit7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch)
tree70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/shelljs/src/cd.js
parentaca1143cb9eed16cf37f04e475e4257418dd18ac (diff)
downloadwallet-core-7a3df06eb573d36142bd1a8e03c5ce8752d300b3.tar.xz
fix build issues and add typedoc
Diffstat (limited to 'node_modules/shelljs/src/cd.js')
-rw-r--r--node_modules/shelljs/src/cd.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/node_modules/shelljs/src/cd.js b/node_modules/shelljs/src/cd.js
new file mode 100644
index 000000000..634ed835c
--- /dev/null
+++ b/node_modules/shelljs/src/cd.js
@@ -0,0 +1,38 @@
+var fs = require('fs');
+var common = require('./common');
+
+common.register('cd', _cd, {});
+
+//@
+//@ ### cd([dir])
+//@ Changes to directory `dir` for the duration of the script. Changes to home
+//@ directory if no argument is supplied.
+function _cd(options, dir) {
+ if (!dir) dir = common.getUserHome();
+
+ if (dir === '-') {
+ if (!process.env.OLDPWD) {
+ common.error('could not find previous directory');
+ } else {
+ dir = process.env.OLDPWD;
+ }
+ }
+
+ try {
+ var curDir = process.cwd();
+ process.chdir(dir);
+ process.env.OLDPWD = curDir;
+ } catch (e) {
+ // something went wrong, let's figure out the error
+ var err;
+ try {
+ fs.statSync(dir); // if this succeeds, it must be some sort of file
+ err = 'not a directory: ' + dir;
+ } catch (e2) {
+ err = 'no such file or directory: ' + dir;
+ }
+ if (err) common.error(err);
+ }
+ return '';
+}
+module.exports = _cd;