chore: remove eslint.config.js
Docker Image CI / build-and-push-image (push) Waiting to run
Maintain Release Merge PR / update-release-pr (push) Waiting to run
release-please / release-please (push) Waiting to run
test / test (18.x) (push) Waiting to run
test / test (20.x) (push) Waiting to run
test / test (22.x) (push) Waiting to run

ESLint cannot support our preferred code style for backend without
writing custom plugins. On frontend, we already decided ESLint wasn't a
good fit several months ago. This commit removes the eslint config to
avoid other developer's editors making unwanted whitespace changes.

In backend, we use spaces within control structure parens. This really
does make the code easier to read. In the future, maybe we'll write our
own linter.
This commit is contained in:
KernelDeimos
2025-03-16 00:47:45 -04:00
parent 004e47a4a9
commit 947dca96a2
-139
View File
@@ -1,139 +0,0 @@
import js from "@eslint/js";
import globals from "globals";
export default [
js.configs.recommended,
{
// Global ignores
ignores: [
"**/*.min.js",
"**/src/lib/**",
"**/dist/",
"src/backend/src/public/assets/**",
"incubator/**"
],
},
{
// Top-level and tools use Node
files: [
"tools/**/*.js",
],
languageOptions: {
globals: {
...globals.node,
}
}
},
{
// Back end
files: [
"src/backend/**/*.js",
"mods/**/*.js",
"dev-server.js",
"utils.js",
],
languageOptions: {
globals: {
...globals.node,
"kv": true,
"def": true,
"use": true,
"ll":true,
}
}
},
{
// Front end
files: [
"src/**/*.js",
],
ignores: [
"src/backend/**/*.js",
],
languageOptions: {
globals: {
...globals.browser,
...globals.commonjs,
// Weird false positives
"Buffer": true,
// Puter Common
"puter": true,
"i18n": true,
"html_encode": true,
"html_decode": true,
"isMobile": true,
// Class Registry
"logger": true,
"def": true,
"use": true,
// Libraries
"saveAs": true, // FileSaver
"iro": true, // iro.js color picker
"$": true, // jQuery
"jQuery": true, // jQuery
"fflate": true, // fflate
"_": true, // lodash
"QRCode": true, // qrcode
"io": true, // socket.io
"timeago": true, // timeago
"SelectionArea": true, // viselect
// Puter GUI Globals
"set_menu_item_prop": true,
"determine_active_container_parent": true,
"privacy_aware_path": true,
"api_origin": true,
"auth_token": true,
"logout": true,
"is_email": true,
"select_ctxmenu_item": true,
}
}
},
{
// Mods
// NOTE: Mods have backend and frontend parts, so this just includes the globals for both.
files: [
"mods/**/*.js",
],
languageOptions: {
globals: {
...globals.node,
"use": true,
"window": true,
"puter": true,
}
}
},
{
// Tests
files: [
"**/test/**/*.js",
],
languageOptions: {
globals: {
...globals.mocha,
}
}
},
{
// Phoenix
files: [
"src/phoenix/**/*.js",
],
languageOptions: {
globals: {
...globals.node,
}
}
},
{
// Global rule settings
rules: {
"no-prototype-builtins": "off", // Complains about any use of hasOwnProperty()
"no-unused-vars": "off", // Temporary, we just have a lot of these
"no-debugger": "warn",
"no-async-promise-executor": "off", // We do this quite often and it's fine
}
},
];