Blame view
node_modules/eslint/lib/config/environments.js
2.08 KB
f7563de62
|
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
/** * @fileoverview Environments manager * @author Nicholas C. Zakas */ "use strict"; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const envs = require("../../conf/environments"); //------------------------------------------------------------------------------ // Private //------------------------------------------------------------------------------ let environments = new Map(); /** * Loads the default environments. * @returns {void} * @private */ function load() { Object.keys(envs).forEach(envName => { environments.set(envName, envs[envName]); }); } // always load default environments upfront load(); //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ module.exports = { load, /** * Gets the environment with the given name. * @param {string} name The name of the environment to retrieve. * @returns {Object?} The environment object or null if not found. */ get(name) { return environments.get(name) || null; }, /** * Defines an environment. * @param {string} name The name of the environment. * @param {Object} env The environment settings. * @returns {void} */ define(name, env) { environments.set(name, env); }, /** * Imports all environments from a plugin. * @param {Object} plugin The plugin object. * @param {string} pluginName The name of the plugin. * @returns {void} */ importPlugin(plugin, pluginName) { if (plugin.environments) { Object.keys(plugin.environments).forEach(envName => { this.define(`${pluginName}/${envName}`, plugin.environments[envName]); }); } }, /** * Resets all environments. Only use for tests! * @returns {void} */ testReset() { environments = new Map(); load(); } }; |