source: frontend/node_modules/resolve-from/index.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 1.2 KB
RevLine 
[9af201e]1'use strict';
2const path = require('path');
3const Module = require('module');
4const fs = require('fs');
5
6const resolveFrom = (fromDirectory, moduleId, silent) => {
7 if (typeof fromDirectory !== 'string') {
8 throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``);
9 }
10
11 if (typeof moduleId !== 'string') {
12 throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);
13 }
14
15 try {
16 fromDirectory = fs.realpathSync(fromDirectory);
17 } catch (error) {
18 if (error.code === 'ENOENT') {
19 fromDirectory = path.resolve(fromDirectory);
20 } else if (silent) {
21 return;
22 } else {
23 throw error;
24 }
25 }
26
27 const fromFile = path.join(fromDirectory, 'noop.js');
28
29 const resolveFileName = () => Module._resolveFilename(moduleId, {
30 id: fromFile,
31 filename: fromFile,
32 paths: Module._nodeModulePaths(fromDirectory)
33 });
34
35 if (silent) {
36 try {
37 return resolveFileName();
38 } catch (error) {
39 return;
40 }
41 }
42
43 return resolveFileName();
44};
45
46module.exports = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId);
47module.exports.silent = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId, true);
Note: See TracBrowser for help on using the repository browser.