aboutsummaryrefslogtreecommitdiff
path: root/node_modules/osenv
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
committerFlorian Dold <florian.dold@gmail.com>2016-10-10 03:43:44 +0200
commitabd94a7f5a50f43c797a11b53549ae48fff667c3 (patch)
treeab8ed457f65cdd72e13e0571d2975729428f1551 /node_modules/osenv
parenta0247c6a3fd6a09a41a7e35a3441324c4dcb58be (diff)
downloadwallet-core-abd94a7f5a50f43c797a11b53549ae48fff667c3.tar.xz
add node_modules to address #4364
Diffstat (limited to 'node_modules/osenv')
-rw-r--r--node_modules/osenv/.npmignore13
-rw-r--r--node_modules/osenv/.travis.yml9
-rw-r--r--node_modules/osenv/LICENSE15
-rw-r--r--node_modules/osenv/README.md63
-rw-r--r--node_modules/osenv/osenv.js72
-rw-r--r--node_modules/osenv/package.json109
-rw-r--r--node_modules/osenv/test/unix.js71
-rw-r--r--node_modules/osenv/test/windows.js74
-rw-r--r--node_modules/osenv/x.tap39
9 files changed, 465 insertions, 0 deletions
diff --git a/node_modules/osenv/.npmignore b/node_modules/osenv/.npmignore
new file mode 100644
index 000000000..8c23deeb3
--- /dev/null
+++ b/node_modules/osenv/.npmignore
@@ -0,0 +1,13 @@
+*.swp
+.*.swp
+
+.DS_Store
+*~
+.project
+.settings
+npm-debug.log
+coverage.html
+.idea
+lib-cov
+
+node_modules
diff --git a/node_modules/osenv/.travis.yml b/node_modules/osenv/.travis.yml
new file mode 100644
index 000000000..99f2bbf50
--- /dev/null
+++ b/node_modules/osenv/.travis.yml
@@ -0,0 +1,9 @@
+language: node_js
+language: node_js
+node_js:
+ - '0.8'
+ - '0.10'
+ - '0.12'
+ - 'iojs'
+before_install:
+ - npm install -g npm@latest
diff --git a/node_modules/osenv/LICENSE b/node_modules/osenv/LICENSE
new file mode 100644
index 000000000..19129e315
--- /dev/null
+++ b/node_modules/osenv/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/osenv/README.md b/node_modules/osenv/README.md
new file mode 100644
index 000000000..08fd90023
--- /dev/null
+++ b/node_modules/osenv/README.md
@@ -0,0 +1,63 @@
+# osenv
+
+Look up environment settings specific to different operating systems.
+
+## Usage
+
+```javascript
+var osenv = require('osenv')
+var path = osenv.path()
+var user = osenv.user()
+// etc.
+
+// Some things are not reliably in the env, and have a fallback command:
+var h = osenv.hostname(function (er, hostname) {
+ h = hostname
+})
+// This will still cause it to be memoized, so calling osenv.hostname()
+// is now an immediate operation.
+
+// You can always send a cb, which will get called in the nextTick
+// if it's been memoized, or wait for the fallback data if it wasn't
+// found in the environment.
+osenv.hostname(function (er, hostname) {
+ if (er) console.error('error looking up hostname')
+ else console.log('this machine calls itself %s', hostname)
+})
+```
+
+## osenv.hostname()
+
+The machine name. Calls `hostname` if not found.
+
+## osenv.user()
+
+The currently logged-in user. Calls `whoami` if not found.
+
+## osenv.prompt()
+
+Either PS1 on unix, or PROMPT on Windows.
+
+## osenv.tmpdir()
+
+The place where temporary files should be created.
+
+## osenv.home()
+
+No place like it.
+
+## osenv.path()
+
+An array of the places that the operating system will search for
+executables.
+
+## osenv.editor()
+
+Return the executable name of the editor program. This uses the EDITOR
+and VISUAL environment variables, and falls back to `vi` on Unix, or
+`notepad.exe` on Windows.
+
+## osenv.shell()
+
+The SHELL on Unix, which Windows calls the ComSpec. Defaults to 'bash'
+or 'cmd'.
diff --git a/node_modules/osenv/osenv.js b/node_modules/osenv/osenv.js
new file mode 100644
index 000000000..702a95b98
--- /dev/null
+++ b/node_modules/osenv/osenv.js
@@ -0,0 +1,72 @@
+var isWindows = process.platform === 'win32'
+var path = require('path')
+var exec = require('child_process').exec
+var osTmpdir = require('os-tmpdir')
+var osHomedir = require('os-homedir')
+
+// looking up envs is a bit costly.
+// Also, sometimes we want to have a fallback
+// Pass in a callback to wait for the fallback on failures
+// After the first lookup, always returns the same thing.
+function memo (key, lookup, fallback) {
+ var fell = false
+ var falling = false
+ exports[key] = function (cb) {
+ var val = lookup()
+ if (!val && !fell && !falling && fallback) {
+ fell = true
+ falling = true
+ exec(fallback, function (er, output, stderr) {
+ falling = false
+ if (er) return // oh well, we tried
+ val = output.trim()
+ })
+ }
+ exports[key] = function (cb) {
+ if (cb) process.nextTick(cb.bind(null, null, val))
+ return val
+ }
+ if (cb && !falling) process.nextTick(cb.bind(null, null, val))
+ return val
+ }
+}
+
+memo('user', function () {
+ return ( isWindows
+ ? process.env.USERDOMAIN + '\\' + process.env.USERNAME
+ : process.env.USER
+ )
+}, 'whoami')
+
+memo('prompt', function () {
+ return isWindows ? process.env.PROMPT : process.env.PS1
+})
+
+memo('hostname', function () {
+ return isWindows ? process.env.COMPUTERNAME : process.env.HOSTNAME
+}, 'hostname')
+
+memo('tmpdir', function () {
+ return osTmpdir()
+})
+
+memo('home', function () {
+ return osHomedir()
+})
+
+memo('path', function () {
+ return (process.env.PATH ||
+ process.env.Path ||
+ process.env.path).split(isWindows ? ';' : ':')
+})
+
+memo('editor', function () {
+ return process.env.EDITOR ||
+ process.env.VISUAL ||
+ (isWindows ? 'notepad.exe' : 'vi')
+})
+
+memo('shell', function () {
+ return isWindows ? process.env.ComSpec || 'cmd'
+ : process.env.SHELL || 'bash'
+})
diff --git a/node_modules/osenv/package.json b/node_modules/osenv/package.json
new file mode 100644
index 000000000..383144579
--- /dev/null
+++ b/node_modules/osenv/package.json
@@ -0,0 +1,109 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "osenv@^0.1.3",
+ "scope": null,
+ "escapedName": "osenv",
+ "name": "osenv",
+ "rawSpec": "^0.1.3",
+ "spec": ">=0.1.3 <0.2.0",
+ "type": "range"
+ },
+ "/home/dold/repos/taler/wallet-webex/node_modules/global-prefix"
+ ]
+ ],
+ "_from": "osenv@>=0.1.3 <0.2.0",
+ "_id": "osenv@0.1.3",
+ "_inCache": true,
+ "_location": "/osenv",
+ "_nodeVersion": "2.2.1",
+ "_npmUser": {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ },
+ "_npmVersion": "3.0.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "osenv@^0.1.3",
+ "scope": null,
+ "escapedName": "osenv",
+ "name": "osenv",
+ "rawSpec": "^0.1.3",
+ "spec": ">=0.1.3 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/global-prefix"
+ ],
+ "_resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
+ "_shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
+ "_shrinkwrap": null,
+ "_spec": "osenv@^0.1.3",
+ "_where": "/home/dold/repos/taler/wallet-webex/node_modules/global-prefix",
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me/"
+ },
+ "bugs": {
+ "url": "https://github.com/npm/osenv/issues"
+ },
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ },
+ "description": "Look up environment settings specific to different operating systems",
+ "devDependencies": {
+ "tap": "^1.2.0"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "83cf05c6d6458fc4d5ac6362ea325d92f2754217",
+ "tarball": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz"
+ },
+ "gitHead": "f746b3405d8f9e28054d11b97e1436f6a15016c4",
+ "homepage": "https://github.com/npm/osenv#readme",
+ "keywords": [
+ "environment",
+ "variable",
+ "home",
+ "tmpdir",
+ "path",
+ "prompt",
+ "ps1"
+ ],
+ "license": "ISC",
+ "main": "osenv.js",
+ "maintainers": [
+ {
+ "name": "isaacs",
+ "email": "i@izs.me"
+ },
+ {
+ "name": "robertkowalski",
+ "email": "rok@kowalski.gd"
+ },
+ {
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
+ },
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "osenv",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/osenv.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "version": "0.1.3"
+}
diff --git a/node_modules/osenv/test/unix.js b/node_modules/osenv/test/unix.js
new file mode 100644
index 000000000..f87cbfb32
--- /dev/null
+++ b/node_modules/osenv/test/unix.js
@@ -0,0 +1,71 @@
+// only run this test on windows
+// pretending to be another platform is too hacky, since it breaks
+// how the underlying system looks up module paths and runs
+// child processes, and all that stuff is cached.
+if (process.platform === 'win32') {
+ console.log('TAP Version 13\n' +
+ '1..0\n' +
+ '# Skip unix tests, this is not unix\n')
+ return
+}
+var tap = require('tap')
+
+// like unix, but funny
+process.env.USER = 'sirUser'
+process.env.HOME = '/home/sirUser'
+process.env.HOSTNAME = 'my-machine'
+process.env.TMPDIR = '/tmpdir'
+process.env.TMP = '/tmp'
+process.env.TEMP = '/temp'
+process.env.PATH = '/opt/local/bin:/usr/local/bin:/usr/bin/:bin'
+process.env.PS1 = '(o_o) $ '
+process.env.EDITOR = 'edit'
+process.env.VISUAL = 'visualedit'
+process.env.SHELL = 'zsh'
+
+tap.test('basic unix sanity test', function (t) {
+ var osenv = require('../osenv.js')
+
+ t.equal(osenv.user(), process.env.USER)
+ t.equal(osenv.home(), process.env.HOME)
+ t.equal(osenv.hostname(), process.env.HOSTNAME)
+ t.same(osenv.path(), process.env.PATH.split(':'))
+ t.equal(osenv.prompt(), process.env.PS1)
+ t.equal(osenv.tmpdir(), process.env.TMPDIR)
+
+ // mildly evil, but it's for a test.
+ process.env.TMPDIR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TMP)
+
+ process.env.TMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TEMP)
+
+ process.env.TEMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ osenv.home = function () { return null }
+ t.equal(osenv.tmpdir(), '/tmp')
+
+ t.equal(osenv.editor(), 'edit')
+ process.env.EDITOR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'visualedit')
+
+ process.env.VISUAL = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'vi')
+
+ t.equal(osenv.shell(), 'zsh')
+ process.env.SHELL = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.shell(), 'bash')
+
+ t.end()
+})
diff --git a/node_modules/osenv/test/windows.js b/node_modules/osenv/test/windows.js
new file mode 100644
index 000000000..c9d837a32
--- /dev/null
+++ b/node_modules/osenv/test/windows.js
@@ -0,0 +1,74 @@
+// only run this test on windows
+// pretending to be another platform is too hacky, since it breaks
+// how the underlying system looks up module paths and runs
+// child processes, and all that stuff is cached.
+if (process.platform !== 'win32') {
+ console.log('TAP version 13\n' +
+ '1..0 # Skip windows tests, this is not windows\n')
+ return
+}
+
+// load this before clubbing the platform name.
+var tap = require('tap')
+
+process.env.windir = 'c:\\windows'
+process.env.USERDOMAIN = 'some-domain'
+process.env.USERNAME = 'sirUser'
+process.env.USERPROFILE = 'C:\\Users\\sirUser'
+process.env.COMPUTERNAME = 'my-machine'
+process.env.TMPDIR = 'C:\\tmpdir'
+process.env.TMP = 'C:\\tmp'
+process.env.TEMP = 'C:\\temp'
+process.env.Path = 'C:\\Program Files\\;C:\\Binary Stuff\\bin'
+process.env.PROMPT = '(o_o) $ '
+process.env.EDITOR = 'edit'
+process.env.VISUAL = 'visualedit'
+process.env.ComSpec = 'some-com'
+
+tap.test('basic windows sanity test', function (t) {
+ var osenv = require('../osenv.js')
+
+ t.equal(osenv.user(),
+ process.env.USERDOMAIN + '\\' + process.env.USERNAME)
+ t.equal(osenv.home(), process.env.USERPROFILE)
+ t.equal(osenv.hostname(), process.env.COMPUTERNAME)
+ t.same(osenv.path(), process.env.Path.split(';'))
+ t.equal(osenv.prompt(), process.env.PROMPT)
+ t.equal(osenv.tmpdir(), process.env.TMPDIR)
+
+ // mildly evil, but it's for a test.
+ process.env.TMPDIR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TMP)
+
+ process.env.TMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.tmpdir(), process.env.TEMP)
+
+ process.env.TEMP = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ osenv.home = function () { return null }
+ t.equal(osenv.tmpdir(), 'c:\\windows\\temp')
+
+ t.equal(osenv.editor(), 'edit')
+ process.env.EDITOR = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'visualedit')
+
+ process.env.VISUAL = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.editor(), 'notepad.exe')
+
+ t.equal(osenv.shell(), 'some-com')
+ process.env.ComSpec = ''
+ delete require.cache[require.resolve('../osenv.js')]
+ var osenv = require('../osenv.js')
+ t.equal(osenv.shell(), 'cmd')
+
+ t.end()
+})
diff --git a/node_modules/osenv/x.tap b/node_modules/osenv/x.tap
new file mode 100644
index 000000000..90d847208
--- /dev/null
+++ b/node_modules/osenv/x.tap
@@ -0,0 +1,39 @@
+TAP version 13
+ # Subtest: test/unix.js
+ TAP version 13
+ # Subtest: basic unix sanity test
+ ok 1 - should be equal
+ ok 2 - should be equal
+ ok 3 - should be equal
+ ok 4 - should be equivalent
+ ok 5 - should be equal
+ ok 6 - should be equal
+ ok 7 - should be equal
+ ok 8 - should be equal
+ ok 9 - should be equal
+ ok 10 - should be equal
+ ok 11 - should be equal
+ ok 12 - should be equal
+ ok 13 - should be equal
+ ok 14 - should be equal
+ 1..14
+ ok 1 - basic unix sanity test # time=10.712ms
+
+ 1..1
+ # time=18.422ms
+ok 1 - test/unix.js # time=169.827ms
+
+ # Subtest: test/windows.js
+ TAP version 13
+ 1..0 # Skip windows tests, this is not windows
+
+ok 2 - test/windows.js # SKIP Skip windows tests, this is not windows
+
+ # Subtest: test/nada.js
+ TAP version 13
+ 1..0
+
+ok 2 - test/nada.js
+
+1..3
+# time=274.247ms