| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // TODO: This file was created by bulk-decaffeinate.
- // Sanity-check the conversion and remove this comment.
- /*
- * decaffeinate suggestions:
- * DS101: Remove unnecessary use of Array.from
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- let defaults, possibleConfigFiles, settingsExist;
- const fs = require("fs");
- const path = require("path");
- const env = (process.env.NODE_ENV || "development").toLowerCase();
- var merge = function(settings, defaults) {
- for (let key in settings) {
- const value = settings[key];
- if ((typeof(value) === "object") && !(value instanceof Array)) {
- defaults[key] = merge(settings[key], defaults[key] || {});
- } else {
- defaults[key] = value;
- }
- }
- return defaults;
- };
- const defaultSettingsPath = path.normalize(__dirname + "/../../config/settings.defaults");
- if (fs.existsSync(`${defaultSettingsPath}.js`)) {
- console.log(`Using default settings from ${defaultSettingsPath}.js`);
- defaults = require(`${defaultSettingsPath}.js`);
- settingsExist = true;
- } else if (fs.existsSync(`${defaultSettingsPath}.coffee`)) {
- console.warn(`CoffeeScript settings file ${defaultSettingsPath}.coffee is deprecated, please convert to JavaScript`);
- console.log(`Using default settings from ${defaultSettingsPath}.coffee`);
- defaults = require(`${defaultSettingsPath}.coffee`);
- settingsExist = true;
- } else {
- defaults = {};
- settingsExist = false;
- }
- if (process.env.SHARELATEX_CONFIG != null) {
- possibleConfigFiles = [process.env.SHARELATEX_CONFIG];
- } else {
- possibleConfigFiles = [
- process.cwd() + `/config/settings.${env}.js`,
- path.normalize(__dirname + `/../../config/settings.${env}.js`),
- process.cwd() + `/config/settings.${env}.coffee`,
- path.normalize(__dirname + `/../../config/settings.${env}.coffee`)
- ];
- }
- for (let file of Array.from(possibleConfigFiles)) {
- if (fs.existsSync(file)) {
- if (file.endsWith('.coffee')) {
- console.warn(`CoffeeScript settings file ${file} is deprecated, please convert to JavaScript`);
- }
- console.log("Using settings from " + file);
- module.exports = merge(require(file), defaults);
- settingsExist = true;
- break;
- }
- }
- if (!settingsExist) {
- console.warn("No settings or defaults found. I'm flying blind.");
- }
- module.exports = defaults;
|