UNPKG

1.11 kBJavaScriptView Raw
1'use strict';
2
3var cwd = process.cwd();
4var path = require('path');
5var node_modules = 'node_modules';
6var utils = require('modulex-util');
7var packages = {
8 'es5Shim': 1,
9 'normalize': 'normalize.css',
10 'consolePolyfill': 1,
11 'modulex': 1,
12 'nodeJscover': 1,
13 'mocha': 1,
14 'highlight.js': 1
15};
16
17function deCamelCase(m) {
18 return '-' + m.toLowerCase();
19}
20
21for (var p in packages) {
22 var name = p;
23 if (typeof packages[p] === 'string') {
24 name = packages[p];
25 } else {
26 name = name.replace(/[A-Z]/g, deCamelCase);
27 }
28 packages[p] = findPackage(name);
29}
30packages.highlightJs = packages['highlight.js'];
31
32function findPackage(packageName) {
33 var file = require.resolve(packageName);
34 var dir = path.dirname(file);
35 var lastDir = dir;
36 while (!utils.endsWith(dir, node_modules)) {
37 lastDir = dir;
38 dir = path.resolve(dir, '../');
39 }
40 var url = path.relative(cwd, lastDir);
41 if (!utils.startsWith(url, node_modules)) {
42 url = path.join(node_modules, url);
43 }
44 return url;
45}
46
47module.exports = {
48 findPackage: findPackage,
49
50 getPackages: function () {
51 return packages;
52 }
53};