Skip to content
Permalink
9bfb9ba527
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
github-actions[bot] Update checked-in dependencies
Latest commit 40a500c Jul 13, 2023 History
0 contributors

Users who have contributed to this file

306 lines (300 sloc) 9.06 KB
'use strict';
var node_child_process = require('node:child_process');
var path = require('node:path');
var node_url = require('node:url');
var spawn = require('cross-spawn');
var picocolors = require('picocolors');
var node_module = require('node:module');
var fs = require('node:fs');
var isGlob = require('is-glob');
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const import_meta$1 = {};
const OSX_CHROME = "google chrome";
function getBrowserEnv() {
const value = process.env.BROWSER;
const args = process.env.BROWSER_ARGS ? process.env.BROWSER_ARGS.split(" ") : [];
let action;
if (!value) {
action = 1 /* BROWSER */;
} else if (value.toLowerCase().endsWith(".js")) {
action = 2 /* SCRIPT */;
} else if (value.toLowerCase() === "none") {
action = 0 /* NONE */;
} else {
action = 1 /* BROWSER */;
}
return { action, value, args };
}
function executeNodeScript(scriptPath, url) {
const extraArgs = process.argv.slice(2);
const child = spawn(process.execPath, [scriptPath, ...extraArgs, url], {
stdio: "inherit"
});
child.on("close", (code) => {
if (code !== 0) {
console.log();
console.log(
picocolors.red(
"The script specified as BROWSER environment variable failed."
)
);
console.log(`${picocolors.cyan(scriptPath)} exited with code ${code}`);
console.log();
}
});
return true;
}
function startBrowserProcess(browser, url, args) {
return __async(this, null, function* () {
const shouldTryOpenChromiumWithAppleScript = process.platform === "darwin" && (typeof browser !== "string" || browser === OSX_CHROME);
if (shouldTryOpenChromiumWithAppleScript) {
const supportedChromiumBrowsers = [
"Google Chrome Canary",
"Google Chrome",
"Microsoft Edge",
"Brave Browser",
"Vivaldi",
"Chromium"
];
const _dirname = typeof __dirname === "undefined" ? path.dirname(node_url.fileURLToPath(import_meta$1.url)) : __dirname;
for (const chromiumBrowser of supportedChromiumBrowsers) {
try {
node_child_process.execSync('ps cax | grep "' + chromiumBrowser + '"');
node_child_process.execSync(
'osascript ../openChrome.applescript "' + // lgtm [js/shell-command-constructed-from-input]
encodeURI(url) + '" "' + chromiumBrowser + '"',
{
cwd: _dirname,
stdio: "ignore"
}
);
return true;
} catch (e) {
}
}
}
if (process.platform === "darwin" && browser === "open") {
browser = void 0;
}
try {
const open = (yield import('open')).default;
open(url, {
app: browser ? {
name: browser,
arguments: args
} : void 0,
wait: false
}).catch(() => {
});
return true;
} catch (e) {
return false;
}
});
}
function openBrowser(url) {
return __async(this, null, function* () {
const { action, value, args } = getBrowserEnv();
switch (action) {
case 0 /* NONE */: {
return false;
}
case 2 /* SCRIPT */: {
return executeNodeScript(value, url);
}
case 1 /* BROWSER */: {
return startBrowserProcess(value, url, args);
}
default: {
throw new Error("Not implemented.");
}
}
});
}
const import_meta = {};
var _a$1;
const DEV = "development";
const PROD = "production";
const NODE_ENV = (_a$1 = process.env.NODE_ENV) != null ? _a$1 : DEV;
const __DEV__ = NODE_ENV === DEV;
const __PROD__ = NODE_ENV === PROD;
const NODE_MODULES_REG = /[/\\]node_modules[/\\]/;
const CWD = process.cwd();
const cjsRequire = typeof require === "undefined" ? node_module.createRequire(import_meta.url) : require;
const EXTENSIONS = [".ts", ".tsx", ...Object.keys(cjsRequire.extensions)];
const SCRIPT_RUNNERS = {
npm: "npx",
pnpm: "pnpm",
yarn: "yarn"
};
const SCRIPT_EXECUTORS = {
npm: "npx",
pnpm: "pnpx",
// same as 'pnpm dlx'
yarn: "yarn dlx"
};
const tryPkg = (pkg) => {
try {
return cjsRequire.resolve(pkg);
} catch (e) {
}
};
const tryRequirePkg = (pkg) => {
try {
return cjsRequire(pkg);
} catch (e) {
}
};
const isPkgAvailable = (pkg) => !!tryPkg(pkg);
const isTsAvailable = isPkgAvailable("typescript");
const isAngularAvailable = isPkgAvailable("@angular/core/package.json");
const isMdxAvailable = isPkgAvailable("@mdx-js/mdx/package.json") || isPkgAvailable("@mdx-js/react/package.json");
const isReactAvailable = isPkgAvailable("react");
const isSvelteAvailable = isPkgAvailable("svelte");
const isVueAvailable = isPkgAvailable("vue");
const tryFile = (filePath, includeDir = false) => {
if (typeof filePath === "string") {
return fs.existsSync(filePath) && (includeDir || fs.statSync(filePath).isFile()) ? filePath : "";
}
for (const file of filePath != null ? filePath : []) {
if (tryFile(file, includeDir)) {
return file;
}
}
return "";
};
const tryExtensions = (filepath, extensions = EXTENSIONS) => {
const ext = [...extensions, ""].find((ext2) => tryFile(filepath + ext2));
return ext == null ? "" : filepath + ext;
};
const tryGlob = (paths, options = {}) => {
const {
absolute = true,
baseDir = CWD,
ignore = ["**/node_modules/**"]
} = typeof options === "string" ? { baseDir: options } : options;
return paths.reduce(
(acc, pkg) => [
...acc,
...isGlob(pkg) ? tryRequirePkg("fast-glob").sync(pkg, {
cwd: baseDir,
ignore,
onlyFiles: false
}).map((file) => absolute ? path.resolve(baseDir, file) : file) : [tryFile(path.resolve(baseDir, pkg), true)]
].filter(Boolean),
[]
);
};
const identify = (_) => !!_;
const findUp = (searchEntry, searchFile = "package.json") => {
console.assert(path.isAbsolute(searchEntry));
if (!tryFile(searchEntry, true) || searchEntry !== CWD && !searchEntry.startsWith(CWD + path.sep)) {
return "";
}
searchEntry = path.resolve(
fs.statSync(searchEntry).isDirectory() ? searchEntry : path.resolve(searchEntry, "..")
);
do {
const searched = tryFile(path.resolve(searchEntry, searchFile));
if (searched) {
return searched;
}
searchEntry = path.resolve(searchEntry, "..");
} while (searchEntry === CWD || searchEntry.startsWith(CWD + path.sep));
return "";
};
const arrayify = (...args) => args.reduce((arr, curr) => {
arr.push(...Array.isArray(curr) ? curr : curr == null ? [] : [curr]);
return arr;
}, []);
const getPackageManager = () => {
const execPath = process.env.npm_execpath;
if (!execPath) {
return;
}
if (/\byarn\b/.test(execPath)) {
return "yarn";
}
if (/\bpnpm\b/.test(execPath)) {
return "pnpm";
}
if (/\bnpm\b/.test(execPath)) {
return "npm";
}
console.warn("unknown package manager:", execPath);
};
const getScriptRunner = () => {
const pm = getPackageManager();
if (!pm) {
return;
}
return SCRIPT_RUNNERS[pm];
};
const getScriptExecutor = () => {
const pm = getPackageManager();
if (!pm) {
return;
}
return SCRIPT_EXECUTORS[pm];
};
var _a, _b, _c, _d;
const pkg = (_a = tryRequirePkg(path.resolve("package.json"))) != null ? _a : {};
const lernaConfig = (_b = tryRequirePkg(path.resolve("lerna.json"))) != null ? _b : {};
const pkgsPath = (_d = (_c = lernaConfig.packages) != null ? _c : pkg.workspaces) != null ? _d : [];
const isMonorepo = Array.isArray(pkgsPath) && pkgsPath.length > 0;
const monorepoPkgs = isMonorepo ? tryGlob(
pkgsPath.map(
(pkg2) => pkg2.endsWith("/package.json") ? pkg2 : `${pkg2}/package.json`
)
) : [];
exports.CWD = CWD;
exports.DEV = DEV;
exports.EXTENSIONS = EXTENSIONS;
exports.NODE_ENV = NODE_ENV;
exports.NODE_MODULES_REG = NODE_MODULES_REG;
exports.PROD = PROD;
exports.SCRIPT_EXECUTORS = SCRIPT_EXECUTORS;
exports.SCRIPT_RUNNERS = SCRIPT_RUNNERS;
exports.__DEV__ = __DEV__;
exports.__PROD__ = __PROD__;
exports.arrayify = arrayify;
exports.cjsRequire = cjsRequire;
exports.findUp = findUp;
exports.getPackageManager = getPackageManager;
exports.getScriptExecutor = getScriptExecutor;
exports.getScriptRunner = getScriptRunner;
exports.identify = identify;
exports.isAngularAvailable = isAngularAvailable;
exports.isMdxAvailable = isMdxAvailable;
exports.isMonorepo = isMonorepo;
exports.isPkgAvailable = isPkgAvailable;
exports.isReactAvailable = isReactAvailable;
exports.isSvelteAvailable = isSvelteAvailable;
exports.isTsAvailable = isTsAvailable;
exports.isVueAvailable = isVueAvailable;
exports.monorepoPkgs = monorepoPkgs;
exports.openBrowser = openBrowser;
exports.tryExtensions = tryExtensions;
exports.tryFile = tryFile;
exports.tryGlob = tryGlob;
exports.tryPkg = tryPkg;
exports.tryRequirePkg = tryRequirePkg;