diff --git a/core/lib/patternlab.js b/core/lib/patternlab.js index 55ecbb78a..1c28937b2 100644 --- a/core/lib/patternlab.js +++ b/core/lib/patternlab.js @@ -18,6 +18,7 @@ const cleanHtml = require('js-beautify').html; const inherits = require('util').inherits; const pm = require('./plugin_manager'); const packageInfo = require('../../package.json'); +const defaultConfig = require('../../patternlab-config.json'); const dataLoader = require('./data_loader')(); const logger = require('./log'); const jsonCopy = require('./json_copy'); @@ -269,7 +270,6 @@ class PatternLab { // info methods - getVersion() { return this.package.version; } @@ -422,6 +422,15 @@ function installPlugin(pluginName) { plugin_manager.install_plugin(pluginName); } +/** + * Returns the standardized default config + * + * @return {object} Returns the object representation of the patternlab-config.json + */ +function getDefaultConfig() { + return defaultConfig +} + const patternlab_engine = function (config) { const patternlab = new PatternLab(config); const paths = patternlab.config.paths; @@ -730,7 +739,7 @@ const patternlab_engine = function (config) { version: function () { return patternlab.logVersion(); }, - + /** * return current version * @@ -869,5 +878,6 @@ const patternlab_engine = function (config) { patternlab_engine.build_pattern_data = buildPatternData; patternlab_engine.process_all_patterns_iterative = processAllPatternsIterative; patternlab_engine.process_all_patterns_recursive = processAllPatternsRecursive; +patternlab_engine.getDefaultConfig = getDefaultConfig; module.exports = patternlab_engine; diff --git a/test/patternlab_tests.js b/test/patternlab_tests.js index c680058ba..872b8084e 100644 --- a/test/patternlab_tests.js +++ b/test/patternlab_tests.js @@ -4,6 +4,7 @@ const tap = require('tap'); const rewire = require("rewire"); const _ = require('lodash'); const fs = require('fs-extra'); +const defaultConfig = require('../patternlab-config.json'); var config = require('./util/patternlab-config.json'); var plEngineModule = rewire('../core/lib/patternlab'); @@ -81,3 +82,10 @@ tap.test('buildPatternData - can load json, yaml, and yml files', function(test) test.equals(dataResult.from_json, "from_json"); test.end(); }); + +tap.test('getDefaultConfig - should return the default config object', function(test) { + const requestedConfig = plEngineModule.getDefaultConfig(); + test.type(requestedConfig, 'object'); + test.equals(requestedConfig, defaultConfig); + test.end(); +});