UNPKG

1.68 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.getPackageJsonDependency = exports.addPackageJsonDependency = exports.NodeDependencyType = void 0;
4const json_file_util_1 = require("./json-file.util");
5const PKG_JSON_PATH = '/package.json';
6var NodeDependencyType;
7(function (NodeDependencyType) {
8 NodeDependencyType["Default"] = "dependencies";
9 NodeDependencyType["Dev"] = "devDependencies";
10 NodeDependencyType["Peer"] = "peerDependencies";
11 NodeDependencyType["Optional"] = "optionalDependencies";
12})(NodeDependencyType || (exports.NodeDependencyType = NodeDependencyType = {}));
13const ALL_DEPENDENCY_TYPE = [
14 NodeDependencyType.Default,
15 NodeDependencyType.Dev,
16 NodeDependencyType.Optional,
17 NodeDependencyType.Peer,
18];
19function addPackageJsonDependency(tree, dependency, pkgJsonPath = PKG_JSON_PATH) {
20 const json = new json_file_util_1.JSONFile(tree, pkgJsonPath);
21 const { overwrite, type, name, version } = dependency;
22 const path = [type, name];
23 if (overwrite || !json.get(path)) {
24 json.modify(path, version);
25 }
26}
27exports.addPackageJsonDependency = addPackageJsonDependency;
28function getPackageJsonDependency(tree, name, pkgJsonPath = PKG_JSON_PATH) {
29 const json = new json_file_util_1.JSONFile(tree, pkgJsonPath);
30 for (const depType of ALL_DEPENDENCY_TYPE) {
31 const version = json.get([depType, name]);
32 if (typeof version === 'string') {
33 return {
34 type: depType,
35 name: name,
36 version,
37 };
38 }
39 }
40 return null;
41}
42exports.getPackageJsonDependency = getPackageJsonDependency;