| | |
| | 'use strict'; |
| |
|
| | var path = require('path'); |
| |
|
| | |
| | |
| | |
| |
|
| | module.exports = function(proto) { |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | proto.usingPreset = |
| | proto.preset = function(preset) { |
| | if (typeof preset === 'function') { |
| | preset(this); |
| | } else { |
| | try { |
| | var modulePath = path.join(this.options.presets, preset); |
| | var module = require(modulePath); |
| |
|
| | if (typeof module.load === 'function') { |
| | module.load(this); |
| | } else { |
| | throw new Error('preset ' + modulePath + ' has no load() function'); |
| | } |
| | } catch (err) { |
| | throw new Error('preset ' + modulePath + ' could not be loaded: ' + err.message); |
| | } |
| | } |
| |
|
| | return this; |
| | }; |
| | }; |
| |
|