1 | "use strict";
|
2 | var __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 | };
|
11 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
12 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
13 | };
|
14 | Object.defineProperty(exports, "__esModule", { value: true });
|
15 | const resolve_from_1 = __importDefault(require("resolve-from"));
|
16 | const fs_extra_1 = require("fs-extra");
|
17 | const path_1 = require("path");
|
18 | const Errors_1 = require("./Errors");
|
19 | function resolveModule(request, projectRoot, exp) {
|
20 | const fromDir = exp.nodeModulesPath ? exp.nodeModulesPath : projectRoot;
|
21 | return resolve_from_1.default(fromDir, request);
|
22 | }
|
23 | exports.resolveModule = resolveModule;
|
24 | function projectHasModule(modulePath, projectRoot, exp) {
|
25 | const fromDir = exp.nodeModulesPath ? exp.nodeModulesPath : projectRoot;
|
26 | return resolve_from_1.default.silent(fromDir, modulePath);
|
27 | }
|
28 | exports.projectHasModule = projectHasModule;
|
29 | function 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 | }
|
40 | exports.moduleNameFromPath = moduleNameFromPath;
|
41 | function 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 | }
|
51 | exports.fileExistsAsync = fileExistsAsync;
|
52 | function fileExists(file) {
|
53 | try {
|
54 | return fs_extra_1.statSync(file).isFile();
|
55 | }
|
56 | catch (e) {
|
57 | return false;
|
58 | }
|
59 | }
|
60 | exports.fileExists = fileExists;
|
61 | function 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 | }
|
70 | exports.getRootPackageJsonPath = getRootPackageJsonPath;
|
71 |
|
\ | No newline at end of file |