tasks/helper.js (38 lines of code) (raw):

// Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy of // the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations under // the License. var fs = require('fs'), path = require('path'); exports.devServerPort = 8000; exports.couch = 'http://couch:5984/'; exports.init = function () { return { readSettingsFile: function () { if (fs.existsSync(path.join(__dirname, "../settings.json"))) { return require(path.join(__dirname, "../settings.json")); } else if (fs.existsSync(path.join(__dirname, '../settings.json.default.json'))) { return require(path.join(__dirname, '../settings.json.default.json')); } throw new Error('settings.json file missing'); }, readI18nFile: function () { if (fs.existsSync(path.join(__dirname, '../i18n.json'))) { return require(path.join(__dirname, '../i18n.json')); } if (fs.existsSync(path.join(__dirname, '../i18n.json.default.json'))) { return require(path.join(__dirname, '../i18n.json.default.json')); } throw new Error('i18n file missing'); }, processAddons: function (callback) { this.readSettingsFile().deps.forEach(callback); }, getFileList: function (fileExtensions, defaults) { return this.readSettingsFile().deps.reduce((files, dep) => { if (dep.path) { fileExtensions.forEach(fileExtension => { files.push(path.join(dep.path, '**/*' + fileExtension)); }); } return files; }, defaults); } }; };