@stryke/path
Version:
A package containing various utilities that expand the functionality of NodeJs's built-in `path` module
2 lines (1 loc) • 942 B
JavaScript
import{findWorkspaceRootSafe as s}from"@storm-software/config-tools";import{getParentPath as e}from"./get-parent-path";import{isSystemRoot as c}from"./is-root-dir";export const getWorkspaceRoot=(t=process.cwd())=>{if(process.env.STORM_WORKSPACE_ROOT||process.env.NX_WORKSPACE_ROOT_PATH)return process.env.STORM_WORKSPACE_ROOT||process.env.NX_WORKSPACE_ROOT_PATH;const r=s(t);if(r)return r;let o=e(["package-lock.json","yarn.lock","pnpm-lock.yaml","bun.lock","nx.json","knip.json","pnpm-workspace.yaml","LICENSE",".all-contributorsrc",".whitesource","syncpack.config.js","syncpack.json","socket.yaml","lefthook.yaml",".npmrc",".log4brains.yml",".huskyrc",".husky",".lintstagedrc",".commitlintrc","lefthook.yml",".github",".nx",".vscode","patches"],t);if(o)return o;for(o=t;o&&!c(o);)if(o=e("storm.json",o,{skipCwd:!0}),o)return o;return t},getProjectRoot=(t=process.cwd())=>{const r=e(["project.json","package.json",".storm"],t);return r||t};