UNPKG

esa-cli

Version:

A CLI for operating Alibaba Cloud ESA Functions and Pages.

32 lines (31 loc) 800 B
import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const cliConfigFile = 'cliconfig.toml'; export const getDirName = (metaUrl) => { const __filename = fileURLToPath(metaUrl); const __dirname = path.dirname(__filename); return __dirname; }; export const getRoot = (root) => { if (typeof root === 'undefined') { root = process.cwd(); } if (path.parse(root).root === root) { return process.cwd(); } const file = path.join(root, cliConfigFile); const prev = path.resolve(root, '../'); try { const hasToml = fs.existsSync(file); if (hasToml) { return root; } else { return getRoot(prev); } } catch (err) { return getRoot(prev); } };