Alf Eaton 5 лет назад
Родитель
Сommit
9c0dbbc5c8

+ 1 - 1
libraries/settings/LICENSE

@@ -1,6 +1,6 @@
 The MIT License (MIT)
 
-Copyright (c) 2014 ShareLaTeX
+Copyright (c) 2014-2021 Overleaf
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal

+ 4 - 4
libraries/settings/README.md

@@ -1,4 +1,4 @@
-overleaf/settings-module
+@overleaf/settings-module
 ===================
 
 A small module to allow global config settings to be set for all services
@@ -10,10 +10,10 @@ Settings file location
 You can specify a custom location for the settings file by setting the
 `SHARELATEX_CONFIG` environment variable. E.g.
 
-	$ export SHARELATEX_CONFIG=/home/james/config/settings.development.coffee
+	$ export SHARELATEX_CONFIG=/home/james/config/settings.development.js
 
-Otherwise, the settings will be loaded from `config/settings.NODE_ENV.coffee`,
-where `NODE_ENV` is another evnironment variable, or defaults to `development`.
+Otherwise, the settings will be loaded from `config/settings.NODE_ENV.js`,
+where `NODE_ENV` is another environment variable, or defaults to `development`.
 
 The config directory is first looked for in the current directory, and then relative
 to the settings module directory.

+ 10 - 19
libraries/settings/Settings.js

@@ -1,21 +1,12 @@
-// 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];
+const merge = function(settings, defaults) {
+	for (const [key, value] of Object.entries(settings)) {
 		if ((typeof(value) === "object") && !(value instanceof Array)) {
-			defaults[key] = merge(settings[key], defaults[key] || {});
+			defaults[key] = merge(value, defaults[key] || {});
 		} else {
 			defaults[key] = value;
 		}
@@ -30,30 +21,30 @@ if (fs.existsSync(`${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;
+	// TODO: remove this in the next major version
+	throw new Error(`CoffeeScript settings file ${defaultSettingsPath}.coffee is no longer supported, please convert to JavaScript`);
 } else {
 	defaults = {};
 	settingsExist = false;
 }
 
-if (process.env.SHARELATEX_CONFIG != null) {
+if (process.env.SHARELATEX_CONFIG) {
 	possibleConfigFiles = [process.env.SHARELATEX_CONFIG];
 } else {
 	possibleConfigFiles = [
 		process.cwd() + `/config/settings.${env}.js`,
 		path.normalize(__dirname + `/../../config/settings.${env}.js`),
+		// TODO: remove these in the next major version
 		process.cwd() + `/config/settings.${env}.coffee`,
 		path.normalize(__dirname + `/../../config/settings.${env}.coffee`)
 	];
 }
 
-for (let file of Array.from(possibleConfigFiles)) {
+for (let file of possibleConfigFiles) {
 	if (fs.existsSync(file)) {
+		// TODO: remove this in the next major version
 		if (file.endsWith('.coffee')) {
-			console.warn(`CoffeeScript settings file ${file} is deprecated, please convert to JavaScript`);
+			throw new Error(`CoffeeScript settings file ${file} is no longer supported, please convert to JavaScript`);
 		}
 		console.log("Using settings from " + file);
 		module.exports = merge(require(file), defaults);

+ 0 - 1
libraries/settings/index.js

@@ -1,2 +1 @@
-require("coffee-script")
 module.exports = require('./Settings');

+ 4 - 11
libraries/settings/package.json

@@ -1,13 +1,6 @@
 {
-  "name": "settings-sharelatex",
-  "homepage": "www.sharelatex.com",
-  "description": "A centralised settings system for ShareLaTeX",
-  "version": "1.3.0",
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/sharelatex/settings-sharelatex.git"
-  },
-  "dependencies": {
-    "coffee-script": "1.6.0"
-  }
+  "name": "@overleaf/settings-module",
+  "description": "A centralised settings system for Overleaf",
+  "version": "2.0.0",
+  "repository": "overleaf/settings-module"
 }