UNPKG

nx-mesh

Version:
56 lines 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPackageJson = void 0; const tslib_1 = require("tslib"); const devkit_1 = require("@nrwl/devkit"); const node_path_1 = require("node:path"); const mesh_packages_1 = require("./mesh-packages"); const get_mesh_packages_1 = require("./get-mesh-packages"); const get_package_versions_1 = require("./get-package-versions"); const get_source_file_1 = require("./get-source-file"); const get_wildcard_packages_1 = require("./get-wildcard-packages"); function createPackageJson(options, context) { return tslib_1.__awaiter(this, void 0, void 0, function* () { if (context.projectName === undefined) { throw new Error('project name is undefined'); } const depGraph = (0, devkit_1.readCachedProjectGraph)(); const packageJson = (0, devkit_1.createPackageJson)(context.projectName, depGraph, { root: context.root, // projectRoot: // options.projectRoot ?? // context.workspace.projects[context.projectName].sourceRoot, }); if (!packageJson.name) { packageJson.name = context.projectName; } if (!packageJson.scripts) { packageJson.scripts = {}; } packageJson.scripts['start'] = 'graphql-mesh start'; if (!packageJson.devDependencies) { packageJson.devDependencies = {}; } const sourceFile = yield (0, get_source_file_1.getSourceFile)({ dir: options.dir, root: context.root, }); let packages = [ '@graphql-mesh/cli', 'graphql', ...(0, get_mesh_packages_1.getMeshPackages)(sourceFile, mesh_packages_1.meshPackages), ]; if (packageJson.dependencies) { packages = [...packages, ...(0, get_wildcard_packages_1.getWildcardPackages)(packageJson.dependencies)]; } packageJson.dependencies = Object.assign(Object.assign({}, packageJson.dependencies), (0, get_package_versions_1.getPackageVersions)(packages, depGraph.externalNodes)); const outputFile = (0, node_path_1.join)(options.outputPath, 'package.json'); (0, devkit_1.writeJsonFile)(outputFile, packageJson); return { outputFile, packageJson, }; }); } exports.createPackageJson = createPackageJson; //# sourceMappingURL=create-package-json.js.map