mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-25 18:06:15 -04:00
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:
parent
2e2fb13268
commit
13e160cbe4
6 changed files with 53 additions and 6 deletions
|
@ -263,6 +263,7 @@ td, th {
|
|||
outline: none;
|
||||
width: 100%;
|
||||
resize: none;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
#response {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
import {useStore} from "../store/store.ts";
|
||||
import {isJSONClean} from "../utils/utils.ts";
|
||||
import {isJSONClean, cleanComments} from "../utils/utils.ts";
|
||||
import {Trans} from "react-i18next";
|
||||
import {IconButton} from "../components/IconButton.tsx";
|
||||
import {RotateCw, Save} from "lucide-react";
|
||||
|
||||
export const SettingsPage = ()=>{
|
||||
const settingsSocket = useStore(state=>state.settingsSocket)
|
||||
const settings = useStore(state=>state.settings)
|
||||
const settings = cleanComments(useStore(state=>state.settings))
|
||||
|
||||
return <div className="settings-page">
|
||||
<h1><Trans i18nKey="admin_settings.current"/></h1>
|
||||
|
|
|
@ -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 ',}'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue