aboutsummaryrefslogtreecommitdiff
path: root/node_modules/app-root-path/lib/app-root-path.js
blob: 03596e55e2b7b7b12e1bf3f4a9597aab7a53c1b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
'use strict';

module.exports = function(dirname) {
	var path = require('path');
	var resolve = require('./resolve.js');
	var appRootPath = resolve(dirname);

	var publicInterface = {
		resolve: function(pathToModule) {
			return path.join(appRootPath, pathToModule);
		},

		require: function(pathToModule) {
			return require(publicInterface.resolve(pathToModule));
		},

		toString: function() {
			return appRootPath;
		},

		setPath: function(explicitlySetPath) {
			appRootPath = path.resolve(explicitlySetPath);
			publicInterface.path = appRootPath;
		},

		path: appRootPath
	};

	return publicInterface;
};