diff --git a/node_modules/bin-links/CHANGELOG.md b/node_modules/bin-links/CHANGELOG.md index fb6bd0bd1e7b0..e5293027887bb 100644 --- a/node_modules/bin-links/CHANGELOG.md +++ b/node_modules/bin-links/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + +## [1.1.3](https://github.com/npm/bin-links/compare/v1.1.2...v1.1.3) (2019-08-14) + + + ## [1.1.2](https://github.com/npm/bin-links/compare/v1.1.1...v1.1.2) (2018-03-22) diff --git a/node_modules/bin-links/node_modules/cmd-shim/.travis.yml b/node_modules/bin-links/node_modules/cmd-shim/.travis.yml deleted file mode 100644 index 1d38b470c67ed..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: node_js - -node_js: - - node - - 12 - - 10 - - 8 - - 6 - -os: - - linux - - windows - -cache: - directories: - - $HOME/.npm - -notifications: - email: false diff --git a/node_modules/bin-links/node_modules/cmd-shim/LICENSE b/node_modules/bin-links/node_modules/cmd-shim/LICENSE deleted file mode 100644 index 20a4762540923..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) npm, Inc. 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/bin-links/node_modules/cmd-shim/README.md b/node_modules/bin-links/node_modules/cmd-shim/README.md deleted file mode 100644 index 2b8b2f468f2c3..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# cmd-shim - -The cmd-shim used in npm to create executable scripts on Windows, -since symlinks are not suitable for this purpose there. - -On Unix systems, you should use a symbolic link instead. - -[![Build Status](https://img.shields.io/travis/npm/cmd-shim/master.svg)](https://travis-ci.org/npm/cmd-shim) -[![Dependency Status](https://img.shields.io/david/npm/cmd-shim.svg)](https://david-dm.org/npm/cmd-shim) -[![NPM version](https://img.shields.io/npm/v/cmd-shim.svg)](https://www.npmjs.com/package/cmd-shim) - -## Installation - -``` -npm install cmd-shim -``` - -## API - -### cmdShim(from, to, cb) - -Create a cmd shim at `to` for the command line program at `from`. -e.g. - -```javascript -var cmdShim = require('cmd-shim'); -cmdShim(__dirname + '/cli.js', '/usr/bin/command-name', function (err) { - if (err) throw err; -}); -``` - -### cmdShim.ifExists(from, to, cb) - -The same as above, but will just continue if the file does not exist. -Source: - -```javascript -function cmdShimIfExists (from, to, cb) { - fs.stat(from, function (er) { - if (er) return cb() - cmdShim(from, to, cb) - }) -} -``` diff --git a/node_modules/bin-links/node_modules/cmd-shim/cmd-shim-2.0.2.tgz b/node_modules/bin-links/node_modules/cmd-shim/cmd-shim-2.0.2.tgz deleted file mode 100644 index 2d4a9707554ab..0000000000000 Binary files a/node_modules/bin-links/node_modules/cmd-shim/cmd-shim-2.0.2.tgz and /dev/null differ diff --git a/node_modules/bin-links/node_modules/cmd-shim/index.js b/node_modules/bin-links/node_modules/cmd-shim/index.js deleted file mode 100644 index 722ad9158b02e..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/index.js +++ /dev/null @@ -1,247 +0,0 @@ -// On windows, create a .cmd file. -// Read the #! in the file to see what it uses. The vast majority -// of the time, this will be either: -// "#!/usr/bin/env " -// or: -// "#! " -// -// Write a binroot/pkg.bin + ".cmd" file that has this line in it: -// @ %~dp0 %* - -module.exports = cmdShim -cmdShim.ifExists = cmdShimIfExists - -var fs = require("graceful-fs") - -var mkdir = require("mkdirp") - , path = require("path") - , toBatchSyntax = require("./lib/to-batch-syntax") - , shebangExpr = /^#\!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+=[^ \t]+\s+)*\s*([^ \t]+)(.*)$/ - -function cmdShimIfExists (from, to, cb) { - fs.stat(from, function (er) { - if (er) return cb() - cmdShim(from, to, cb) - }) -} - -// Try to unlink, but ignore errors. -// Any problems will surface later. -function rm (path, cb) { - fs.unlink(path, function(er) { - cb() - }) -} - -function cmdShim (from, to, cb) { - fs.stat(from, function (er, stat) { - if (er) - return cb(er) - - cmdShim_(from, to, cb) - }) -} - -function cmdShim_ (from, to, cb) { - var then = times(2, next, cb) - rm(to, then) - rm(to + ".cmd", then) - - function next(er) { - writeShim(from, to, cb) - } -} - -function writeShim (from, to, cb) { - // make a cmd file and a sh script - // First, check if the bin is a #! of some sort. - // If not, then assume it's something that'll be compiled, or some other - // sort of script, and just call it directly. - mkdir(path.dirname(to), function (er) { - if (er) - return cb(er) - fs.readFile(from, "utf8", function (er, data) { - if (er) return writeShim_(from, to, null, null, cb) - var firstLine = data.trim().split(/\r*\n/)[0] - , shebang = firstLine.match(shebangExpr) - if (!shebang) return writeShim_(from, to, null, null, null, cb) - var vars = shebang[1] || "" - , prog = shebang[2] - , args = shebang[3] || "" - return writeShim_(from, to, prog, args, vars, cb) - }) - }) -} - - -function writeShim_ (from, to, prog, args, variables, cb) { - var shTarget = path.relative(path.dirname(to), from) - , target = shTarget.split("/").join("\\") - , longProg - , shProg = prog && prog.split("\\").join("/") - , shLongProg - , pwshProg = shProg && "\"" + shProg + "$exe\"" - , pwshLongProg - shTarget = shTarget.split("\\").join("/") - args = args || "" - variables = variables || "" - if (!prog) { - prog = "\"%~dp0\\" + target + "\"" - shProg = "\"$basedir/" + shTarget + "\"" - pwshProg = shProg - args = "" - target = "" - shTarget = "" - } else { - longProg = "\"%~dp0\\" + prog + ".exe\"" - shLongProg = "\"$basedir/" + prog + "\"" - pwshLongProg = "\"$basedir/" + prog + "$exe\"" - target = "\"%~dp0\\" + target + "\"" - shTarget = "\"$basedir/" + shTarget + "\"" - } - - // @SETLOCAL - // - // @IF EXIST "%~dp0\node.exe" ( - // @SET "_prog=%~dp0\node.exe" - // ) ELSE ( - // @SET "_prog=node" - // @SET PATHEXT=%PATHEXT:;.JS;=;% - // ) - // - // "%_prog%" "%~dp0\.\node_modules\npm\bin\npm-cli.js" %* - // @ENDLOCAL - var cmd - if (longProg) { - shLongProg = shLongProg.trim(); - args = args.trim(); - var variableDeclarationsAsBatch = toBatchSyntax.convertToSetCommands(variables) - cmd = "@SETLOCAL\r\n" - + variableDeclarationsAsBatch - + "\r\n" - + "@IF EXIST " + longProg + " (\r\n" - + " @SET \"_prog=" + longProg.replace(/(^")|("$)/g, '') + "\"\r\n" - + ") ELSE (\r\n" - + " @SET \"_prog=" + prog.replace(/(^")|("$)/g, '') + "\"\r\n" - + " @SET PATHEXT=%PATHEXT:;.JS;=;%\r\n" - + ")\r\n" - + "\r\n" - + "\"%_prog%\" " + args + " " + target + " %*\r\n" - + '@ENDLOCAL\r\n' - } else { - cmd = "@" + prog + " " + args + " " + target + " %*\r\n" - } - - // #!/bin/sh - // basedir=`dirname "$0"` - // - // case `uname` in - // *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; - // esac - // - // if [ -x "$basedir/node.exe" ]; then - // "$basedir/node.exe" "$basedir/node_modules/npm/bin/npm-cli.js" "$@" - // ret=$? - // else - // node "$basedir/node_modules/npm/bin/npm-cli.js" "$@" - // ret=$? - // fi - // exit $ret - - var sh = "#!/bin/sh\n" - - sh = sh - + "basedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")\n" - + "\n" - + "case `uname` in\n" - + " *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;\n" - + "esac\n" - + "\n" - - if (shLongProg) { - sh = sh - + "if [ -x "+shLongProg+" ]; then\n" - + " " + variables + shLongProg + " " + args + " " + shTarget + " \"$@\"\n" - + " ret=$?\n" - + "else \n" - + " " + variables + shProg + " " + args + " " + shTarget + " \"$@\"\n" - + " ret=$?\n" - + "fi\n" - + "exit $ret\n" - } else { - sh = sh - + shProg + " " + args + " " + shTarget + " \"$@\"\n" - + "exit $?\n" - } - - // #!/usr/bin/env pwsh - // $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent - // - // $ret=0 - // $exe = "" - // if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { - // # Fix case when both the Windows and Linux builds of Node - // # are installed in the same directory - // $exe = ".exe" - // } - // if (Test-Path "$basedir/node") { - // & "$basedir/node$exe" "$basedir/node_modules/npm/bin/npm-cli.js" $args - // $ret=$LASTEXITCODE - // } else { - // & "node$exe" "$basedir/node_modules/npm/bin/npm-cli.js" $args - // $ret=$LASTEXITCODE - // } - // exit $ret - var pwsh = "#!/usr/bin/env pwsh\n" - + "$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n" - + "\n" - + "$exe=\"\"\n" - + "if ($PSVersionTable.PSVersion -lt \"6.0\" -or $IsWindows) {\n" - + " # Fix case when both the Windows and Linux builds of Node\n" - + " # are installed in the same directory\n" - + " $exe=\".exe\"\n" - + "}\n" - if (shLongProg) { - pwsh = pwsh - + "$ret=0\n" - + "if (Test-Path " + pwshLongProg + ") {\n" - + " & " + pwshLongProg + " " + args + " " + shTarget + " $args\n" - + " $ret=$LASTEXITCODE\n" - + "} else {\n" - + " & " + pwshProg + " " + args + " " + shTarget + " $args\n" - + " $ret=$LASTEXITCODE\n" - + "}\n" - + "exit $ret\n" - } else { - pwsh = pwsh - + "& " + pwshProg + " " + args + " " + shTarget + " $args\n" - + "exit $LASTEXITCODE\n" - } - - var then = times(3, next, cb) - fs.writeFile(to + ".ps1", pwsh, "utf8", then) - fs.writeFile(to + ".cmd", cmd, "utf8", then) - fs.writeFile(to, sh, "utf8", then) - function next () { - chmodShim(to, cb) - } -} - -function chmodShim (to, cb) { - var then = times(2, cb, cb) - fs.chmod(to, "0755", then) - fs.chmod(to + ".cmd", "0755", then) - fs.chmod(to + ".ps1", "0755", then) -} - -function times(n, ok, cb) { - var errState = null - return function(er) { - if (!errState) { - if (er) - cb(errState = er) - else if (--n === 0) - ok() - } - } -} diff --git a/node_modules/bin-links/node_modules/cmd-shim/lib/to-batch-syntax.js b/node_modules/bin-links/node_modules/cmd-shim/lib/to-batch-syntax.js deleted file mode 100644 index d8bed1a634a01..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/lib/to-batch-syntax.js +++ /dev/null @@ -1,52 +0,0 @@ -exports.replaceDollarWithPercentPair = replaceDollarWithPercentPair -exports.convertToSetCommand = convertToSetCommand -exports.convertToSetCommands = convertToSetCommands - -function convertToSetCommand(key, value) { - var line = "" - key = key || "" - key = key.trim() - value = value || "" - value = value.trim() - if(key && value && value.length > 0) { - line = "@SET " + key + "=" + replaceDollarWithPercentPair(value) + "\r\n" - } - return line -} - -function extractVariableValuePairs(declarations) { - var pairs = {} - declarations.map(function(declaration) { - var split = declaration.split("=") - pairs[split[0]]=split[1] - }) - return pairs -} - -function convertToSetCommands(variableString) { - var variableValuePairs = extractVariableValuePairs(variableString.split(" ")) - var variableDeclarationsAsBatch = "" - Object.keys(variableValuePairs).forEach(function (key) { - variableDeclarationsAsBatch += convertToSetCommand(key, variableValuePairs[key]) - }) - return variableDeclarationsAsBatch -} - -function replaceDollarWithPercentPair(value) { - var dollarExpressions = /\$\{?([^\$@#\?\- \t{}:]+)\}?/g - var result = "" - var startIndex = 0 - value = value || "" - do { - var match = dollarExpressions.exec(value) - if(match) { - var betweenMatches = value.substring(startIndex, match.index) || "" - result += betweenMatches + "%" + match[1] + "%" - startIndex = dollarExpressions.lastIndex - } - } while (dollarExpressions.lastIndex > 0) - result += value.substr(startIndex) - return result -} - - diff --git a/node_modules/bin-links/node_modules/cmd-shim/package.json b/node_modules/bin-links/node_modules/cmd-shim/package.json deleted file mode 100644 index 02ff407be2fbf..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/package.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "_from": "cmd-shim@^2.0.2", - "_id": "cmd-shim@2.1.0", - "_inBundle": false, - "_integrity": "sha512-A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==", - "_location": "/bin-links/cmd-shim", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "cmd-shim@^2.0.2", - "name": "cmd-shim", - "escapedName": "cmd-shim", - "rawSpec": "^2.0.2", - "saveSpec": null, - "fetchSpec": "^2.0.2" - }, - "_requiredBy": [ - "/bin-links" - ], - "_resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.1.0.tgz", - "_shasum": "e59a08d4248dda3bb502044083a4db4ac890579a", - "_spec": "cmd-shim@^2.0.2", - "_where": "/Users/isaacs/dev/npm/cli/node_modules/bin-links", - "bugs": { - "url": "https://github.com/npm/cmd-shim/issues" - }, - "bundleDependencies": false, - "dependencies": { - "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" - }, - "deprecated": false, - "description": "Used in npm for command line application support", - "devDependencies": { - "rimraf": "~2.2.8", - "tap": "^1.2.0" - }, - "homepage": "https://github.com/npm/cmd-shim#readme", - "license": "ISC", - "name": "cmd-shim", - "repository": { - "type": "git", - "url": "git+https://github.com/npm/cmd-shim.git" - }, - "scripts": { - "test": "tap test/*.js" - }, - "version": "2.1.0" -} diff --git a/node_modules/bin-links/node_modules/cmd-shim/test/00-setup.js b/node_modules/bin-links/node_modules/cmd-shim/test/00-setup.js deleted file mode 100644 index c9a7d3920748a..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/test/00-setup.js +++ /dev/null @@ -1,35 +0,0 @@ -var test = require('tap').test -var mkdirp = require('mkdirp') -var fs = require('fs') -var path = require('path') -var fixtures = path.resolve(__dirname, 'fixtures') - -var froms = { - 'from.exe': 'exe', - 'from.env': '#!/usr/bin/env node\nconsole.log(/hi/)\n', - 'from.env.args': '#!/usr/bin/env node --expose_gc\ngc()\n', - 'from.env.variables': '#!/usr/bin/env NODE_PATH=./lib:$NODE_PATH node', - 'from.sh': '#!/usr/bin/sh\necho hi\n', - 'from.sh.args': '#!/usr/bin/sh -x\necho hi\n' -} - -var cmdShim = require('../') - -test('create fixture', function (t) { - mkdirp(fixtures, function (er) { - if (er) - throw er - t.pass('made dir') - Object.keys(froms).forEach(function (f) { - t.test('write ' + f, function (t) { - fs.writeFile(path.resolve(fixtures, f), froms[f], function (er) { - if (er) - throw er - t.pass('wrote ' + f) - t.end() - }) - }) - }) - t.end() - }) -}) diff --git a/node_modules/bin-links/node_modules/cmd-shim/test/basic.js b/node_modules/bin-links/node_modules/cmd-shim/test/basic.js deleted file mode 100755 index 4d92557f4e0f7..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/test/basic.js +++ /dev/null @@ -1,330 +0,0 @@ -var test = require('tap').test -var mkdirp = require('mkdirp') -var fs = require('fs') -var path = require('path') -var fixtures = path.resolve(__dirname, 'fixtures') - -var cmdShim = require('../') - -test('no shebang', function (t) { - var from = path.resolve(fixtures, 'from.exe') - var to = path.resolve(fixtures, 'exe.shim') - cmdShim(from, to, function(er) { - if (er) - throw er - t.equal(fs.readFileSync(to, 'utf8'), - "#!/bin/sh"+ - "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")"+ - "\n"+ - "\ncase `uname` in"+ - "\n *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;"+ - "\nesac"+ - "\n"+ - "\n\"$basedir/from.exe\" \"$@\"\nexit $?\n") - t.equal(fs.readFileSync(to + '.cmd', 'utf8'), - "@\"%~dp0\\from.exe\" %*\r\n") - t.equal(fs.readFileSync(to + '.ps1', 'utf8'), - '#!/usr/bin/env pwsh'+ - '\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent'+ - '\n'+ - '\n$exe=""'+ - '\nif ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {'+ - '\n # Fix case when both the Windows and Linux builds of Node'+ - '\n # are installed in the same directory'+ - '\n $exe=".exe"'+ - '\n}'+ - '\n& "$basedir/from.exe" $args'+ - '\nexit $LASTEXITCODE'+ - '\n') - t.end() - }) -}) - -test('env shebang', function (t) { - var from = path.resolve(fixtures, 'from.env') - var to = path.resolve(fixtures, 'env.shim') - cmdShim(from, to, function(er) { - if (er) - throw er - - t.equal(fs.readFileSync(to, 'utf8'), - "#!/bin/sh" + - "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")" + - "\n" + - "\ncase `uname` in" + - "\n *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;" + - "\nesac" + - "\n" + - "\nif [ -x \"$basedir/node\" ]; then" + - "\n \"$basedir/node\" \"$basedir/from.env\" \"$@\"" + - "\n ret=$?" + - "\nelse " + - "\n node \"$basedir/from.env\" \"$@\"" + - "\n ret=$?" + - "\nfi" + - "\nexit $ret" + - "\n") - t.equal(fs.readFileSync(to + '.cmd', 'utf8'), - "@SETLOCAL\r" + - "\n\r" + - "\n@IF EXIST \"%~dp0\\node.exe\" (\r" + - "\n @SET \"_prog=%~dp0\\node.exe\"\r" + - "\n) ELSE (\r" + - "\n @SET \"_prog=node\"\r" + - "\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r" + - "\n)\r" + - "\n\r" + - "\n\"%_prog%\" \"%~dp0\\from.env\" %*\r" + - "\n@ENDLOCAL\r" + - "\n") - t.end() - }) -}) - -test('env shebang with args', function (t) { - var from = path.resolve(fixtures, 'from.env.args') - var to = path.resolve(fixtures, 'env.args.shim') - cmdShim(from, to, function(er) { - if (er) - throw er - - t.equal(fs.readFileSync(to, 'utf8'), - "#!/bin/sh"+ - "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")"+ - "\n"+ - "\ncase `uname` in"+ - "\n *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;"+ - "\nesac"+ - "\n"+ - "\nif [ -x \"$basedir/node\" ]; then"+ - "\n \"$basedir/node\" --expose_gc \"$basedir/from.env.args\" \"$@\""+ - "\n ret=$?"+ - "\nelse "+ - "\n node --expose_gc \"$basedir/from.env.args\" \"$@\""+ - "\n ret=$?"+ - "\nfi"+ - "\nexit $ret"+ - "\n") - t.equal(fs.readFileSync(to + '.cmd', 'utf8'), - "@SETLOCAL\r" + - "\n\r" + - "\n@IF EXIST \"%~dp0\\node.exe\" (\r" + - "\n @SET \"_prog=%~dp0\\node.exe\"\r" + - "\n) ELSE (\r" + - "\n @SET \"_prog=node\"\r" + - "\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r" + - "\n)\r" + - "\n\r" + - "\n\"%_prog%\" --expose_gc \"%~dp0\\from.env.args\" %*\r" + - "\n@ENDLOCAL\r" + - "\n") - t.equal(fs.readFileSync(to + '.ps1', 'utf8'), - '#!/usr/bin/env pwsh'+ - '\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent'+ - '\n'+ - '\n$exe=""'+ - '\nif ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {'+ - '\n # Fix case when both the Windows and Linux builds of Node'+ - '\n # are installed in the same directory'+ - '\n $exe=".exe"'+ - '\n}'+ - '\n$ret=0'+ - '\nif (Test-Path "$basedir/node$exe") {'+ - '\n & "$basedir/node$exe" --expose_gc "$basedir/from.env.args" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n} else {'+ - '\n & "node$exe" --expose_gc "$basedir/from.env.args" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n}'+ - '\nexit $ret'+ - '\n') - t.end() - }) -}) - -test('env shebang with variables', function (t) { - var from = path.resolve(fixtures, 'from.env.variables') - var to = path.resolve(fixtures, 'env.variables.shim') - cmdShim(from, to, function(er) { - if (er) - throw er - - t.equal(fs.readFileSync(to, 'utf8'), - "#!/bin/sh"+ - "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")" + - "\n"+ - "\ncase `uname` in"+ - "\n *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;"+ - "\nesac"+ - "\n"+ - "\nif [ -x \"$basedir/node\" ]; then"+ - "\n NODE_PATH=./lib:$NODE_PATH \"$basedir/node\" \"$basedir/from.env.variables\" \"$@\""+ - "\n ret=$?"+ - "\nelse "+ - "\n NODE_PATH=./lib:$NODE_PATH node \"$basedir/from.env.variables\" \"$@\""+ - "\n ret=$?"+ - "\nfi"+ - "\nexit $ret"+ - "\n") - t.equal(fs.readFileSync(to + '.cmd', 'utf8'), - "@SETLOCAL\r"+ - "\n@SET NODE_PATH=./lib:%NODE_PATH%\r"+ - "\n\r" + - "\n@IF EXIST \"%~dp0\\node.exe\" (\r"+ - "\n @SET \"_prog=%~dp0\\node.exe\"\r" + - "\n) ELSE (\r"+ - "\n @SET \"_prog=node\"\r"+ - "\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r" + - "\n)\r"+ - "\n\r"+ - "\n\"%_prog%\" \"%~dp0\\from.env.variables\" %*\r"+ - "\n@ENDLOCAL\r\n") - t.equal(fs.readFileSync(to + '.ps1', 'utf8'), - '#!/usr/bin/env pwsh'+ - '\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent'+ - '\n'+ - '\n$exe=""'+ - '\nif ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {'+ - '\n # Fix case when both the Windows and Linux builds of Node'+ - '\n # are installed in the same directory'+ - '\n $exe=".exe"'+ - '\n}'+ - '\n$ret=0'+ - '\nif (Test-Path "$basedir/node$exe") {'+ - '\n & "$basedir/node$exe" "$basedir/from.env.variables" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n} else {'+ - '\n & "node$exe" "$basedir/from.env.variables" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n}'+ - '\nexit $ret'+ - '\n') - t.end() - }) -}) - -test('explicit shebang', function (t) { - var from = path.resolve(fixtures, 'from.sh') - var to = path.resolve(fixtures, 'sh.shim') - cmdShim(from, to, function(er) { - if (er) - throw er - - t.equal(fs.readFileSync(to, 'utf8'), - "#!/bin/sh" + - "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")" + - "\n" + - "\ncase `uname` in" + - "\n *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;" + - "\nesac" + - "\n" + - "\nif [ -x \"$basedir//usr/bin/sh\" ]; then" + - "\n \"$basedir//usr/bin/sh\" \"$basedir/from.sh\" \"$@\"" + - "\n ret=$?" + - "\nelse " + - "\n /usr/bin/sh \"$basedir/from.sh\" \"$@\"" + - "\n ret=$?" + - "\nfi" + - "\nexit $ret" + - "\n") - - t.equal(fs.readFileSync(to + '.cmd', 'utf8'), - "@SETLOCAL\r" + - "\n\r" + - "\n@IF EXIST \"%~dp0\\/usr/bin/sh.exe\" (\r" + - "\n @SET \"_prog=%~dp0\\/usr/bin/sh.exe\"\r" + - "\n) ELSE (\r" + - "\n @SET \"_prog=/usr/bin/sh\"\r" + - "\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r" + - "\n)\r" + - "\n\r" + - "\n\"%_prog%\" \"%~dp0\\from.sh\" %*\r" + - "\n@ENDLOCAL\r" + - "\n") - - t.equal(fs.readFileSync(to + '.ps1', 'utf8'), - '#!/usr/bin/env pwsh'+ - '\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent'+ - '\n'+ - '\n$exe=""'+ - '\nif ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {'+ - '\n # Fix case when both the Windows and Linux builds of Node'+ - '\n # are installed in the same directory'+ - '\n $exe=".exe"'+ - '\n}'+ - '\n$ret=0'+ - '\nif (Test-Path "$basedir//usr/bin/sh$exe") {'+ - '\n & "$basedir//usr/bin/sh$exe" "$basedir/from.sh" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n} else {'+ - '\n & "/usr/bin/sh$exe" "$basedir/from.sh" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n}'+ - '\nexit $ret'+ - '\n') - t.end() - }) -}) - -test('explicit shebang with args', function (t) { - var from = path.resolve(fixtures, 'from.sh.args') - var to = path.resolve(fixtures, 'sh.args.shim') - cmdShim(from, to, function(er) { - if (er) - throw er - - t.equal(fs.readFileSync(to, 'utf8'), - "#!/bin/sh" + - "\nbasedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")" + - "\n" + - "\ncase `uname` in" + - "\n *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w \"$basedir\"`;;" + - "\nesac" + - "\n" + - "\nif [ -x \"$basedir//usr/bin/sh\" ]; then" + - "\n \"$basedir//usr/bin/sh\" -x \"$basedir/from.sh.args\" \"$@\"" + - "\n ret=$?" + - "\nelse " + - "\n /usr/bin/sh -x \"$basedir/from.sh.args\" \"$@\"" + - "\n ret=$?" + - "\nfi" + - "\nexit $ret" + - "\n") - - t.equal(fs.readFileSync(to + '.cmd', 'utf8'), - "@SETLOCAL\r" + - "\n\r" + - "\n@IF EXIST \"%~dp0\\/usr/bin/sh.exe\" (\r" + - "\n @SET \"_prog=%~dp0\\/usr/bin/sh.exe\"\r" + - "\n) ELSE (\r" + - "\n @SET \"_prog=/usr/bin/sh\"\r" + - "\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r" + - "\n)\r" + - "\n\r" + - "\n\"%_prog%\" -x \"%~dp0\\from.sh.args\" %*\r" + - "\n@ENDLOCAL\r" + - "\n") - - t.equal(fs.readFileSync(to + '.ps1', 'utf8'), - '#!/usr/bin/env pwsh'+ - '\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent'+ - '\n'+ - '\n$exe=""'+ - '\nif ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {'+ - '\n # Fix case when both the Windows and Linux builds of Node'+ - '\n # are installed in the same directory'+ - '\n $exe=".exe"'+ - '\n}'+ - '\n$ret=0'+ - '\nif (Test-Path "$basedir//usr/bin/sh$exe") {'+ - '\n & "$basedir//usr/bin/sh$exe" -x "$basedir/from.sh.args" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n} else {'+ - '\n & "/usr/bin/sh$exe" -x "$basedir/from.sh.args" $args'+ - '\n $ret=$LASTEXITCODE'+ - '\n}'+ - '\nexit $ret'+ - '\n') - t.end() - }) -}) diff --git a/node_modules/bin-links/node_modules/cmd-shim/test/to-batch-syntax-tests.js b/node_modules/bin-links/node_modules/cmd-shim/test/to-batch-syntax-tests.js deleted file mode 100644 index 3645fd0a577a3..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/test/to-batch-syntax-tests.js +++ /dev/null @@ -1,25 +0,0 @@ -var test = require('tap').test -var toBatchSyntax = require('../lib/to-batch-syntax') - -test('replace $ expressions with % pair', function (t) { - var assertReplacement = function(string, expected) { - t.equal(toBatchSyntax.replaceDollarWithPercentPair(string), expected) - } - assertReplacement("$A", "%A%") - assertReplacement("$A:$B", "%A%:%B%") - assertReplacement("$A bla", "%A% bla") - assertReplacement("${A}bla", "%A%bla") - assertReplacement("$A $bla bla", "%A% %bla% bla") - assertReplacement("${A}bla ${bla}bla", "%A%bla %bla%bla") - assertReplacement("./lib:$NODE_PATH", "./lib:%NODE_PATH%") - t.end() -}) - -test('convert variable declaration to set command', function(t) { - t.equal(toBatchSyntax.convertToSetCommand("A",".lib:$A "), "@SET A=.lib:%A%\r\n") - t.equal(toBatchSyntax.convertToSetCommand("", ""), "") - t.equal(toBatchSyntax.convertToSetCommand(" ", ""), "") - t.equal(toBatchSyntax.convertToSetCommand(" ", " "), "") - t.equal(toBatchSyntax.convertToSetCommand(" ou", " ou "), "@SET ou=ou\r\n") - t.end() -}) diff --git a/node_modules/bin-links/node_modules/cmd-shim/test/zz-cleanup.js b/node_modules/bin-links/node_modules/cmd-shim/test/zz-cleanup.js deleted file mode 100644 index 9425031001cb0..0000000000000 --- a/node_modules/bin-links/node_modules/cmd-shim/test/zz-cleanup.js +++ /dev/null @@ -1,13 +0,0 @@ -var test = require('tap').test -var path = require('path') -var fixtures = path.resolve(__dirname, 'fixtures') -var rimraf = require('rimraf') - -test('cleanup', function(t) { - rimraf(fixtures, function(er) { - if (er) - throw er - t.pass('cleaned up') - t.end() - }) -}) diff --git a/node_modules/bin-links/package.json b/node_modules/bin-links/package.json index 0a1af20fdaec4..e14be1e6926df 100644 --- a/node_modules/bin-links/package.json +++ b/node_modules/bin-links/package.json @@ -1,54 +1,53 @@ { - "_args": [ - [ - "bin-links@1.1.2", - "/Users/rebecca/code/npm" - ] - ], - "_from": "bin-links@1.1.2", - "_id": "bin-links@1.1.2", + "_from": "bin-links@1.1.3", + "_id": "bin-links@1.1.3", "_inBundle": false, - "_integrity": "sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg==", + "_integrity": "sha512-TEwmH4PHU/D009stP+fkkazMJgkBNCv60z01lQ/Mn8E6+ThHoD03svMnBVuCowwXo2nP2qKyKZxKxp58OHRzxw==", "_location": "/bin-links", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "bin-links@1.1.2", + "raw": "bin-links@1.1.3", "name": "bin-links", "escapedName": "bin-links", - "rawSpec": "1.1.2", + "rawSpec": "1.1.3", "saveSpec": null, - "fetchSpec": "1.1.2" + "fetchSpec": "1.1.3" }, "_requiredBy": [ + "#USER", "/", - "/libcipm" + "/libcipm", + "/libnpm" ], - "_resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.2.tgz", - "_spec": "1.1.2", - "_where": "/Users/rebecca/code/npm", + "_resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.3.tgz", + "_shasum": "702fd59552703727313bc624bdbc4c0d3431c2ca", + "_spec": "bin-links@1.1.3", + "_where": "/Users/isaacs/dev/npm/cli", "author": { "name": "Mike Sherov" }, "bugs": { "url": "https://github.com/npm/bin-links/issues" }, + "bundleDependencies": false, "dependencies": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.0.1", + "graceful-fs": "^4.1.15", "write-file-atomic": "^2.3.0" }, + "deprecated": false, "description": "JavaScript package binary linker", "devDependencies": { "mkdirp": "^0.5.1", - "nyc": "^11.1.0", - "rimraf": "^2.6.2", + "nyc": "^13.1.0", + "rimraf": "^2.6.3", "standard": "^10.0.3", - "standard-version": "^4.2.0", - "tap": "^10.7.2", + "standard-version": "^4.4.0", + "tap": "^12.1.3", "weallbehave": "^1.2.0", "weallcontribute": "^1.0.8" }, @@ -77,5 +76,5 @@ "update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'", "update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'" }, - "version": "1.1.2" + "version": "1.1.3" } diff --git a/package-lock.json b/package-lock.json index 9e2429eb65d4d..aa9606eb1a7cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -463,26 +463,15 @@ } }, "bin-links": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.2.tgz", - "integrity": "sha512-8eEHVgYP03nILphilltWjeIjMbKyJo3wvp9K816pHbhP301ismzw15mxAAEVQ/USUwcP++1uNrbERbp8lOA6Fg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.3.tgz", + "integrity": "sha512-TEwmH4PHU/D009stP+fkkazMJgkBNCv60z01lQ/Mn8E6+ThHoD03svMnBVuCowwXo2nP2qKyKZxKxp58OHRzxw==", "requires": { - "bluebird": "^3.5.0", - "cmd-shim": "^2.0.2", - "gentle-fs": "^2.0.0", - "graceful-fs": "^4.1.11", + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.0.1", + "graceful-fs": "^4.1.15", "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "cmd-shim": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.1.0.tgz", - "integrity": "sha512-A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==", - "requires": { - "graceful-fs": "^4.1.2", - "mkdirp": "~0.5.0" - } - } } }, "bind-obj-methods": { diff --git a/package.json b/package.json index 968f1775ce1df..c054ea09736d0 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "ansistyles": "~0.1.3", "aproba": "^2.0.0", "archy": "~1.0.0", - "bin-links": "^1.1.2", + "bin-links": "^1.1.3", "bluebird": "^3.5.5", "byte-size": "^5.0.1", "cacache": "^12.0.2",