console/patches/oclif@3.17.1.patch
2023-10-13 09:54:50 +02:00

152 lines
5.6 KiB
Diff

diff --git a/lib/tarballs/bin.js b/lib/tarballs/bin.js
index 8301c7be4c3101de9caf1c1b127cf1f940a1706c..402c146592628c6181576d01988e2f4e3bb654db 100644
--- a/lib/tarballs/bin.js
+++ b/lib/tarballs/bin.js
@@ -7,85 +7,65 @@ const node_child_process_1 = require("node:child_process");
const node_util_1 = require("node:util");
const exec = (0, node_util_1.promisify)(node_child_process_1.exec);
async function writeBinScripts({ config, baseWorkspace, nodeVersion }) {
- var _a, _b;
- const binPathEnvVar = config.scopedEnvVarKey('BINPATH');
- const redirectedEnvVar = config.scopedEnvVarKey('REDIRECTED');
- const clientHomeEnvVar = config.scopedEnvVarKey('OCLIF_CLIENT_HOME');
- const writeWin32 = async (bin) => {
- await fs.promises.writeFile(path.join(baseWorkspace, 'bin', `${bin}.cmd`), `@echo off
+ var _a, _b;
+ const writeWin32 = async (bin) => {
+ await fs.promises.writeFile(
+ path.join(baseWorkspace, "bin", `${bin}.cmd`),
+ `@echo off
setlocal enableextensions
-if not "%${redirectedEnvVar}%"=="1" if exist "%LOCALAPPDATA%\\${bin}\\client\\bin\\${bin}.cmd" (
- set ${redirectedEnvVar}=1
- "%LOCALAPPDATA%\\${bin}\\client\\bin\\${bin}.cmd" %*
- goto:EOF
-)
-
-if not defined ${binPathEnvVar} set ${binPathEnvVar}="%~dp0${bin}.cmd"
-if exist "%~dp0..\\bin\\node.exe" (
- "%~dp0..\\bin\\node.exe" "%~dp0..\\bin\\run" %*
-) else if exist "%LOCALAPPDATA%\\oclif\\node\\node-${nodeVersion}.exe" (
- "%LOCALAPPDATA%\\oclif\\node\\node-${nodeVersion}.exe" "%~dp0..\\bin\\run" %*
-) else (
- node "%~dp0..\\bin\\run" %*
-)
-`);
- };
- const writeUnix = async () => {
- const bin = path.join(baseWorkspace, 'bin', config.bin);
- await fs.promises.writeFile(bin, `#!/usr/bin/env bash
+"%~dp0..\\bin\\node.exe" "%~dp0..\\bin\\run" %*
+`
+ );
+ };
+ const writeUnix = async () => {
+ const bin = path.join(baseWorkspace, "bin", config.bin);
+ await fs.promises.writeFile(
+ bin,
+ `#!/usr/bin/env sh
set -e
-echoerr() { echo "$@" 1>&2; }
get_script_dir () {
- SOURCE="\${BASH_SOURCE[0]}"
+ SOURCE="\$0"
# While \$SOURCE is a symlink, resolve it
while [ -h "\$SOURCE" ]; do
DIR="\$( cd -P "\$( dirname "\$SOURCE" )" && pwd )"
SOURCE="\$( readlink "\$SOURCE" )"
# If \$SOURCE was a relative symlink (so no "/" as prefix, need to resolve it relative to the symlink base directory
- [[ \$SOURCE != /* ]] && SOURCE="\$DIR/\$SOURCE"
+ if [ "\$SOURCE" != /* ]; then
+ SOURCE="\$DIR/\$SOURCE"
+ fi
done
DIR="\$( cd -P "\$( dirname "\$SOURCE" )" && pwd )"
echo "\$DIR"
}
DIR=\$(get_script_dir)
-CLI_HOME=\$(cd && pwd)
-XDG_DATA_HOME=\${XDG_DATA_HOME:="\$CLI_HOME/.local/share"}
-CLIENT_HOME=\${${clientHomeEnvVar}:=$XDG_DATA_HOME/${config.dirname}/client}
-BIN_PATH="\$CLIENT_HOME/bin/${config.bin}"
-if [ -z "\$${redirectedEnvVar}" ] && [ -x "\$BIN_PATH" ] && [[ ! "\$DIR/${config.bin}" -ef "\$BIN_PATH" ]]; then
- if [ "\$DEBUG" == "*" ]; then
- echoerr "\$BIN_PATH" "\$@"
- fi
- ${binPathEnvVar}="\$BIN_PATH" ${redirectedEnvVar}=1 "\$BIN_PATH" "\$@"
-else
- export ${binPathEnvVar}=\${${binPathEnvVar}:="\$DIR/${config.bin}"}
- if [ -x "$(command -v "\$XDG_DATA_HOME/oclif/node/node-custom")" ]; then
- NODE="\$XDG_DATA_HOME/oclif/node/node-custom"
- elif [ -x "$(command -v "\$DIR/node")" ]; then
- NODE="\$DIR/node"
- elif [ -x "$(command -v "\$XDG_DATA_HOME/oclif/node/node-${nodeVersion}")" ]; then
- NODE="\$XDG_DATA_HOME/oclif/node/node-${nodeVersion}"
- elif [ -x "$(command -v node)" ]; then
- NODE=node
- else
- echoerr 'Error: node is not installed.' >&2
- exit 1
- fi
- if [ "\$DEBUG" == "*" ]; then
- echoerr ${binPathEnvVar}="\$${binPathEnvVar}" "\$NODE" "\$DIR/run" "\$@"
- fi
- "\$NODE" "\$DIR/run" "\$@"
+NODE="\$DIR/node"
+
+if [ "\$DEBUG" = "1" ]; then
+ echo "script_dir: \$DIR"
fi
-`, { mode: 0o755 });
- };
- await Promise.all([
- writeWin32(config.bin),
- writeUnix(),
- ...(_b = (_a = config.binAliases) === null || _a === void 0 ? void 0 : _a.map(alias => process.platform === 'win32' ?
- writeWin32(alias) :
- exec(`ln -sf ${config.bin} ${alias}`, { cwd: path.join(baseWorkspace, 'bin') }))) !== null && _b !== void 0 ? _b : [],
- ]);
+
+"\$NODE" "\$DIR/run" "\$@"
+`,
+ { mode: 0o755 }
+ );
+ };
+ await Promise.all([
+ writeWin32(config.bin),
+ writeUnix(),
+ ...((_b =
+ (_a = config.binAliases) === null || _a === void 0
+ ? void 0
+ : _a.map((alias) =>
+ process.platform === "win32"
+ ? writeWin32(alias)
+ : exec(`ln -sf ${config.bin} ${alias}`, {
+ cwd: path.join(baseWorkspace, "bin"),
+ })
+ )) !== null && _b !== void 0
+ ? _b
+ : []),
+ ]);
}
exports.writeBinScripts = writeBinScripts;
diff --git a/lib/tarballs/build.js b/lib/tarballs/build.js
index 384ea4be6bb7179c0622436ce41142b59b226771..943a2516bcc2079107023b9da8f27592a656a7a2 100644
--- a/lib/tarballs/build.js
+++ b/lib/tarballs/build.js
@@ -73,9 +73,10 @@ async function build(c, options = {}) {
}
else {
const lockpath = fs.existsSync(path.join(c.root, 'package-lock.json')) ?
- path.join(c.root, 'package-lock.json') :
- path.join(c.root, 'npm-shrinkwrap.json');
- await fs.copy(lockpath, path.join(c.workspace(), path.basename(lockpath)));
+ path.join(c.root, 'package-lock.json') : null;
+ if (lockpath) {
+ await fs.copy(lockpath, path.join(c.workspace(), path.basename(lockpath)));
+ }
await exec('npm install --production', { cwd: c.workspace() });
}
};