mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Remove CoffeeScript
This commit is contained in:
parent
93f618a980
commit
9c0dbbc5c8
5 changed files with 19 additions and 36 deletions
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
require("coffee-script")
|
||||
module.exports = require('./Settings');
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue