12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- var abbrev = require('abbrev');
- var mout = require('mout');
- var commands = require('./commands');
- var pkg = require('../package.json');
- var abbreviations = abbrev(expandNames(commands));
- abbreviations.i = 'install';
- abbreviations.rm = 'uninstall';
- abbreviations.unlink = 'uninstall';
- abbreviations.ls = 'list';
- function expandNames(obj, prefix, stack) {
- prefix = prefix || '';
- stack = stack || [];
- mout.object.forOwn(obj, function (value, name) {
- name = prefix + name;
- stack.push(name);
- if (typeof value === 'object' && !value.line) {
- expandNames(value, name + ' ', stack);
- }
- });
- return stack;
- }
- function clearRuntimeCache() {
- // Note that in edge cases, some architecture components instance's
- // in-memory cache might be skipped.
- // If that's a problem, you should create and fresh instances instead.
- var PackageRepository = require('./core/PackageRepository');
- PackageRepository.clearRuntimeCache();
- }
- module.exports = {
- version: pkg.version,
- commands: commands,
- config: require('./config')(),
- abbreviations: abbreviations,
- reset: clearRuntimeCache
- };
|