Clean comments (#6420)

* Add script to trigger test on utils

* Add new function to remove the comments from the settings file.
It reduces the size of the payload when we save on the admin page `.../admin/settings`

* Add     font-family: monospace; to the settings
This commit is contained in:
Helder Sepulveda 2024-06-04 13:32:21 -04:00 committed by GitHub
parent 2e2fb13268
commit 13e160cbe4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 53 additions and 6 deletions

View file

@ -1,5 +1,14 @@
const minify = (json: string)=>{
export const cleanComments = (json: string|undefined)=>{
if (json !== undefined){
json = json.replace(/\/\*.*?\*\//g, ""); // remove single line comments
json = json.replace(/ *\/\*.*(.|\n)*?\*\//g, ""); // remove multi line comments
json = json.replace(/[ \t]+$/gm, ""); // trim trailing spaces
json = json.replace(/^(\n)/gm, ""); // remove empty lines
}
return json;
}
export const minify = (json: string)=>{
let tokenizer = /"|(\/\*)|(\*\/)|(\/\/)|\n|\r/g,
in_string = false,
in_multiline_comment = false,
@ -49,9 +58,6 @@ const minify = (json: string)=>{
return new_str.join("");
}
export const isJSONClean = (data: string) => {
let cleanSettings = minify(data);
// this is a bit naive. In theory some key/value might contain the sequences ',]' or ',}'