UNPKG

nx

Version:

The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.

41 lines (40 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readPackageJsonConfigurationCache = readPackageJsonConfigurationCache; const plugins_1 = require("../src/project-graph/plugins"); const workspace_root_1 = require("../src/utils/workspace-root"); const package_json_1 = require("../src/plugins/package-json"); const cache_directory_1 = require("../src/utils/cache-directory"); const path_1 = require("path"); const fileutils_1 = require("../src/utils/fileutils"); const plugin_cache_utils_1 = require("../src/utils/plugin-cache-utils"); const package_manager_1 = require("../src/utils/package-manager"); const cachePath = (0, path_1.join)(cache_directory_1.workspaceDataDirectory, 'package-json.hash'); let packageJsonPluginCache = null; function readPackageJsonConfigurationCache() { packageJsonPluginCache = new plugin_cache_utils_1.PluginCache(cachePath); return packageJsonPluginCache; } function writeCache() { if (packageJsonPluginCache) { packageJsonPluginCache.writeToDisk(); } } const plugin = { name: 'nx-all-package-jsons-plugin', createNodes: [ '*/**/package.json', (configFiles, options, context) => { const cache = readPackageJsonConfigurationCache(); const patterns = (0, package_json_1.buildPackageJsonPatterns)(context.workspaceRoot, (f) => (0, fileutils_1.readJsonFile)((0, path_1.join)(context.workspaceRoot, f))); const isInPackageJsonWorkspaces = (0, package_json_1.buildPackageJsonWorkspacesMatcher)(patterns); const packageManagerCommand = (0, package_manager_1.getPackageManagerCommand)((0, package_manager_1.detectPackageManager)(context.workspaceRoot), context.workspaceRoot); const result = (0, plugins_1.createNodesFromFiles)((packageJsonPath) => (0, package_json_1.createNodeFromPackageJson)(packageJsonPath, workspace_root_1.workspaceRoot, cache, isInPackageJsonWorkspaces(packageJsonPath), packageManagerCommand), configFiles, options, context); writeCache(); return result; }, ], }; module.exports = plugin; module.exports.readPackageJsonConfigurationCache = readPackageJsonConfigurationCache;