UNPKG

3 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4 return new (P || (P = Promise))(function (resolve, reject) {
5 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8 step((generator = generator.apply(thisArg, _arguments || [])).next());
9 });
10};
11var __importDefault = (this && this.__importDefault) || function (mod) {
12 return (mod && mod.__esModule) ? mod : { "default": mod };
13};
14Object.defineProperty(exports, "__esModule", { value: true });
15const resolve_from_1 = __importDefault(require("resolve-from"));
16const fs_extra_1 = require("fs-extra");
17const path_1 = require("path");
18const Errors_1 = require("./Errors");
19function resolveModule(request, projectRoot, exp) {
20 const fromDir = exp.nodeModulesPath ? exp.nodeModulesPath : projectRoot;
21 return resolve_from_1.default(fromDir, request);
22}
23exports.resolveModule = resolveModule;
24function projectHasModule(modulePath, projectRoot, exp) {
25 const fromDir = exp.nodeModulesPath ? exp.nodeModulesPath : projectRoot;
26 return resolve_from_1.default.silent(fromDir, modulePath);
27}
28exports.projectHasModule = projectHasModule;
29function moduleNameFromPath(modulePath) {
30 if (modulePath.startsWith('@')) {
31 const [org, packageName] = modulePath.split('/');
32 if (org && packageName) {
33 return [org, packageName].join('/');
34 }
35 return modulePath;
36 }
37 const [packageName] = modulePath.split('/');
38 return packageName ? packageName : modulePath;
39}
40exports.moduleNameFromPath = moduleNameFromPath;
41function fileExistsAsync(file) {
42 return __awaiter(this, void 0, void 0, function* () {
43 try {
44 return (yield fs_extra_1.stat(file)).isFile();
45 }
46 catch (e) {
47 return false;
48 }
49 });
50}
51exports.fileExistsAsync = fileExistsAsync;
52function fileExists(file) {
53 try {
54 return fs_extra_1.statSync(file).isFile();
55 }
56 catch (e) {
57 return false;
58 }
59}
60exports.fileExists = fileExists;
61function getRootPackageJsonPath(projectRoot, exp) {
62 const packageJsonPath = 'nodeModulesPath' in exp && typeof exp.nodeModulesPath === 'string'
63 ? path_1.join(path_1.resolve(projectRoot, exp.nodeModulesPath), 'package.json')
64 : path_1.join(projectRoot, 'package.json');
65 if (!fileExists(packageJsonPath)) {
66 throw new Errors_1.ConfigError(`The expected package.json path: ${packageJsonPath} does not exist`, 'MODULE_NOT_FOUND');
67 }
68 return packageJsonPath;
69}
70exports.getRootPackageJsonPath = getRootPackageJsonPath;
71//# sourceMappingURL=Modules.js.map
\No newline at end of file