mirror of
https://github.com/github/codeql-action.git
synced 2026-01-06 22:50:17 +08:00
Use @actions/io to locate binaries
This commit is contained in:
4
node_modules/.package-lock.json
generated
vendored
4
node_modules/.package-lock.json
generated
vendored
@@ -555,10 +555,6 @@
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@chrisgavin/safe-which": {
|
||||
"version": "1.0.2",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@eslint-community/eslint-utils": {
|
||||
"version": "4.4.0",
|
||||
"dev": true,
|
||||
|
||||
2
node_modules/@chrisgavin/safe-which/README.md
generated
vendored
2
node_modules/@chrisgavin/safe-which/README.md
generated
vendored
@@ -1,2 +0,0 @@
|
||||
# safe-which
|
||||
A NodeJS library to guard against Windows binary planting attacks.
|
||||
2
node_modules/@chrisgavin/safe-which/build/index.d.ts
generated
vendored
2
node_modules/@chrisgavin/safe-which/build/index.d.ts
generated
vendored
@@ -1,2 +0,0 @@
|
||||
export declare const isWindows: boolean;
|
||||
export declare function safeWhich(program: string): Promise<string>;
|
||||
40
node_modules/@chrisgavin/safe-which/build/index.js
generated
vendored
40
node_modules/@chrisgavin/safe-which/build/index.js
generated
vendored
@@ -1,40 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.safeWhich = exports.isWindows = void 0;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
exports.isWindows = process.platform === "win32";
|
||||
const pathSeparator = exports.isWindows ? ";" : ":";
|
||||
const defaultPathExt = exports.isWindows ? [".com", ".exe", ".bat", ".cmd"] : [""];
|
||||
async function safeWhich(program) {
|
||||
if (program.includes("/") || (program.includes("\\") && exports.isWindows)) {
|
||||
// If the path contains slashes it's either absolute or relative and should not be searched for.
|
||||
return program;
|
||||
}
|
||||
let pathValue = process.env.PATH;
|
||||
if (pathValue === undefined) {
|
||||
throw new Error(`Could not resolve program ${program} because no PATH environment variable was set.`);
|
||||
}
|
||||
let searchPaths = pathValue.split(pathSeparator);
|
||||
let pathExts = defaultPathExt;
|
||||
if (exports.isWindows && process.env.PATHEXT !== undefined) {
|
||||
pathExts = process.env.PATHEXT.split(pathSeparator);
|
||||
}
|
||||
for (let searchPath of searchPaths) {
|
||||
for (let pathExt of pathExts) {
|
||||
let completePath = path.join(searchPath, program + pathExt);
|
||||
try {
|
||||
await fs.promises.access(completePath, fs.constants.X_OK);
|
||||
return completePath;
|
||||
}
|
||||
catch (err) {
|
||||
if (err.code !== "ENOENT") {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
throw new Error(`Could not find program ${program} on PATH.`);
|
||||
}
|
||||
exports.safeWhich = safeWhich;
|
||||
//# sourceMappingURL=index.js.map
|
||||
1
node_modules/@chrisgavin/safe-which/build/index.js.map
generated
vendored
1
node_modules/@chrisgavin/safe-which/build/index.js.map
generated
vendored
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAEhB,QAAA,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACtD,MAAM,aAAa,GAAG,iBAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC5C,MAAM,cAAc,GAAG,iBAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEpE,KAAK,UAAU,SAAS,CAAC,OAAe;IAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,iBAAS,CAAC,EAAE;QACnE,gGAAgG;QAChG,OAAO,OAAO,CAAC;KACf;IAED,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IACjC,IAAI,SAAS,KAAK,SAAS,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,gDAAgD,CAAC,CAAC;KACtG;IACD,IAAI,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,QAAQ,GAAG,cAAc,CAAC;IAC9B,IAAI,iBAAS,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE;QACnD,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KACpD;IAED,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;QACnC,KAAK,IAAI,OAAO,IAAI,QAAQ,EAAE;YAC7B,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC;YAC5D,IAAI;gBACH,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC1D,OAAO,YAAY,CAAC;aACpB;YACD,OAAO,GAAG,EAAE;gBACX,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;oBAC1B,MAAM,GAAG,CAAC;iBACV;aACD;SACD;KACD;IAED,MAAM,IAAI,KAAK,CAAC,0BAA0B,OAAO,WAAW,CAAC,CAAC;AAC/D,CAAC;AAhCD,8BAgCC"}
|
||||
1
node_modules/@chrisgavin/safe-which/build/index.test.d.ts
generated
vendored
1
node_modules/@chrisgavin/safe-which/build/index.test.d.ts
generated
vendored
@@ -1 +0,0 @@
|
||||
export {};
|
||||
75
node_modules/@chrisgavin/safe-which/build/index.test.js
generated
vendored
75
node_modules/@chrisgavin/safe-which/build/index.test.js
generated
vendored
@@ -1,75 +0,0 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const ava_1 = require("ava");
|
||||
const index_1 = require("./index");
|
||||
const path = require("path");
|
||||
const originalEnv = process.env;
|
||||
const originalWorkingDirectory = process.cwd();
|
||||
const testResources = path.resolve(path.join("src", "index.test"));
|
||||
ava_1.default.beforeEach(_ => {
|
||||
process.env = { ...originalEnv };
|
||||
});
|
||||
ava_1.default.afterEach(_ => {
|
||||
process.env = originalEnv;
|
||||
process.chdir(originalWorkingDirectory);
|
||||
});
|
||||
ava_1.default("relative path with forward-slash is returned as-is", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich("./anything"), "./anything");
|
||||
});
|
||||
ava_1.default("absolute path with forward-slash is returned as-is", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich("/usr/bin/anything"), "/usr/bin/anything");
|
||||
});
|
||||
ava_1.default("binaries in cwd are not returned", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "empty");
|
||||
process.chdir(path.join(testResources, "path"));
|
||||
await t.throwsAsync(index_1.safeWhich("program"));
|
||||
await t.throwsAsync(index_1.safeWhich("has-an-extension"));
|
||||
await t.throwsAsync(index_1.safeWhich("has-an-extension.exe"));
|
||||
});
|
||||
if (index_1.isWindows) {
|
||||
ava_1.default("program is found if on path with correct extension preference", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
process.env.PATHEXT = ".com;.exe";
|
||||
t.deepEqual(await index_1.safeWhich("has-an-extension"), path.join(testResources, "path", "has-an-extension.com"));
|
||||
process.env.PATHEXT = ".exe;.com";
|
||||
t.deepEqual(await index_1.safeWhich("has-an-extension"), path.join(testResources, "path", "has-an-extension.exe"));
|
||||
});
|
||||
ava_1.default("program is not found if no extension", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
await t.throwsAsync(index_1.safeWhich("program"));
|
||||
});
|
||||
ava_1.default("relative path with backward-slash is returned as-is", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich(".\\anything"), ".\\anything");
|
||||
});
|
||||
ava_1.default("absolute path with backward-slash is returned as-is", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich("C:\\Python27\\python.exe"), "C:\\Python27\\python.exe");
|
||||
});
|
||||
ava_1.default("path order is respected", async (t) => {
|
||||
process.env.PATHEXT = ".com;.exe;.bat";
|
||||
process.env.PATH = path.join(testResources, "path") + ";" + path.join(testResources, "second-path");
|
||||
t.deepEqual(await index_1.safeWhich("has-an-extension"), path.join(testResources, "path", "has-an-extension.com"));
|
||||
process.env.PATH = path.join(testResources, "second-path") + ";" + path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich("has-an-extension"), path.join(testResources, "second-path", "has-an-extension.bat"));
|
||||
});
|
||||
}
|
||||
else {
|
||||
ava_1.default("program is found if on path and executable", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich("program"), path.join(testResources, "path", "program"));
|
||||
});
|
||||
ava_1.default("program is not found if not executable", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path");
|
||||
await t.throwsAsync(index_1.safeWhich("non-executable-file"));
|
||||
});
|
||||
ava_1.default("path order is respected", async (t) => {
|
||||
process.env.PATH = path.join(testResources, "path") + ":" + path.join(testResources, "second-path");
|
||||
t.deepEqual(await index_1.safeWhich("program"), path.join(testResources, "path", "program"));
|
||||
process.env.PATH = path.join(testResources, "second-path") + ":" + path.join(testResources, "path");
|
||||
t.deepEqual(await index_1.safeWhich("program"), path.join(testResources, "second-path", "program"));
|
||||
});
|
||||
}
|
||||
//# sourceMappingURL=index.test.js.map
|
||||
1
node_modules/@chrisgavin/safe-which/build/index.test.js.map
generated
vendored
1
node_modules/@chrisgavin/safe-which/build/index.test.js.map
generated
vendored
@@ -1 +0,0 @@
|
||||
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
||||
32
node_modules/@chrisgavin/safe-which/package.json
generated
vendored
32
node_modules/@chrisgavin/safe-which/package.json
generated
vendored
@@ -1,32 +0,0 @@
|
||||
{
|
||||
"name": "@chrisgavin/safe-which",
|
||||
"version": "1.0.2",
|
||||
"description": "A NodeJS library to guard against Windows binary planting attacks.",
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/chrisgavin/safe-which/",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
"main": "./build/index.js",
|
||||
"types": "./build/index.d.ts",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
"pretest": "npm install && npm run build",
|
||||
"test": "ava --verbose --serial ./src/**",
|
||||
"prepublishOnly": "npm install && npm run build && npm version --allow-same-version=true --git-tag-version=false ${GITHUB_REF#refs/tags/}"
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"@ava/typescript": "^1.1.1",
|
||||
"@types/node": "^14.14.7",
|
||||
"ava": "^3.13.0",
|
||||
"typescript": "^3.8.3"
|
||||
},
|
||||
"ava": {
|
||||
"typescript": {
|
||||
"rewritePaths": {
|
||||
"./src/": "./build/"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user