telefunc
Version:
Remote functions. Instead of API.
52 lines (51 loc) • 1.34 kB
JavaScript
import { toPosixPath } from '../utils.js';
export { isViteCliCall };
function isViteCliCall({ command, ssr }) {
const { isViteCli, viteCliCommand, viteCliOptions } = analyzise();
if (!isViteCli) {
return false;
}
if (ssr && !viteCliOptions.includes('--ssr')) {
return false;
}
if (command === 'dev') {
if (!['dev', 'serve', ''].includes(viteCliCommand)) {
return false;
}
}
else {
if (command !== viteCliCommand) {
return false;
}
}
return true;
}
function analyzise() {
const { argv } = process;
const viteCliOptions = [];
let viteCliCommand = '';
let isViteCli = false;
for (const arg of argv) {
if (isViteCli) {
if (arg.startsWith('-')) {
viteCliOptions.push(arg);
}
else {
if (viteCliOptions.length === 0) {
viteCliCommand = arg;
}
}
}
else {
const a = toPosixPath(arg);
if (
// pnpm
a.endsWith('/bin/vite.js') ||
// npm & yarn
a.endsWith('/.bin/vite')) {
isViteCli = true;
}
}
}
return { isViteCli, viteCliOptions, viteCliCommand };
}