This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
662 B
34 lines
662 B
'use strict'; |
|
const path = require('path'); |
|
const commonDir = require('commondir'); |
|
const pkgDir = require('pkg-dir'); |
|
const makeDir = require('make-dir'); |
|
|
|
module.exports = options => { |
|
const name = options.name; |
|
let dir = options.cwd; |
|
|
|
if (options.files) { |
|
dir = commonDir(dir, options.files); |
|
} else { |
|
dir = dir || process.cwd(); |
|
} |
|
|
|
dir = pkgDir.sync(dir); |
|
|
|
if (dir) { |
|
dir = path.join(dir, 'node_modules', '.cache', name); |
|
|
|
if (dir && options.create) { |
|
makeDir.sync(dir); |
|
} |
|
|
|
if (options.thunk) { |
|
return function () { |
|
return path.join.apply(path, [dir].concat(Array.prototype.slice.call(arguments))); |
|
}; |
|
} |
|
} |
|
|
|
return dir; |
|
};
|
|
|