UNPKG

@nxrocks/common

Version:

Common library to share code among the `@nxrocks/*` plugins.

48 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getProjectRoot = getProjectRoot; exports.getProjectFilePath = getProjectFilePath; exports.hasProjectFile = hasProjectFile; exports.getProjectFileContent = getProjectFileContent; exports.getNameAndRoot = getNameAndRoot; exports.getProjectRootFromFile = getProjectRootFromFile; exports.isNxCrystalEnabled = isNxCrystalEnabled; const path_1 = require("path"); const devkit_1 = require("@nx/devkit"); const fs_1 = require("fs"); const semver_1 = require("semver"); function getProjectRoot(project) { return (0, path_1.resolve)(devkit_1.workspaceRoot, project.root); } function getProjectFilePath(project, relativeFile) { return (0, path_1.join)(getProjectRoot(project), ...relativeFile.split(/[/\\]/)); } function hasProjectFile(project, relativeFile) { const filePath = getProjectFilePath(project, relativeFile); return (0, fs_1.existsSync)(filePath); } function getProjectFileContent(project, relativeFile) { const filePath = getProjectFilePath(project, relativeFile); return (0, fs_1.readFileSync)(filePath, 'utf8'); } function getNameAndRoot(cwd) { const name = (0, path_1.basename)((0, path_1.resolve)(cwd)); const root = (0, path_1.dirname)(cwd); return { name, root }; } function getProjectRootFromFile(filePath) { const absoluteFilePath = (0, path_1.isAbsolute)(filePath) ? filePath : (0, path_1.resolve)(devkit_1.workspaceRoot, filePath); const projectRootFilePath = (0, path_1.relative)(devkit_1.workspaceRoot, absoluteFilePath); return (0, devkit_1.normalizePath)((0, path_1.dirname)(projectRootFilePath)); } function isNxCrystalEnabled() { const nxJson = (0, devkit_1.readJsonFile)(`${devkit_1.workspaceRoot}/nx.json`); if ((0, semver_1.lt)(devkit_1.NX_VERSION, '18.1.0')) { return process.env['NX_ADD_PLUGINS'] !== 'false'; } return (process.env['NX_ADD_PLUGINS'] !== 'false' && nxJson.useInferencePlugins !== false); } //# sourceMappingURL=utils.js.map