@hammerbyte/lints
v0.1.14
Published
Hammerbyte ESLint lints — API (Bun/Elysia) and UI (React/PrimeReact) presets
Maintainers
Readme
@hammerbyte/lints
Shared ESLint rules for Hammerbyte projects.
| Preset | Use for |
|--------|---------|
| lints.configs.api | Bun/Elysia microservice backend |
| lints.configs.ui | React/PrimeReact frontend |
| lints.configs.recommended | Alias of api (legacy) |
Install
bun add -d @hammerbyte/lints eslint @eslint/js globalsLocal (before publish), from e.g. ums/ums_api:
bun add -d ../../hammerbyte_lintsAPI project
import js from "@eslint/js";
import globals from "globals";
import lints from "@hammerbyte/lints";
export default [
{ ignores: ["node_modules/**"] },
js.configs.recommended,
{
files: ["**/*.{js,mjs,cjs}"],
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
globals: { ...globals.node, ...globals.bunBuiltin },
},
plugins: { lints },
rules: {
...lints.configs.api.rules,
},
},
];UI project
import js from "@eslint/js";
import globals from "globals";
import lints from "@hammerbyte/lints";
export default [
{ ignores: ["node_modules/**", "dist/**"] },
js.configs.recommended,
{
files: ["app.js", "server.js", "libs/**/*.{js,mjs,cjs}"],
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
globals: { ...globals.node, ...globals.bunBuiltin },
},
plugins: { lints },
rules: {
"lints/ui-project": "error",
"lints/ui-server": "error",
"lints/ui-site-deployer": "error",
},
},
{
files: ["**/*.{js,jsx,mjs,cjs}"],
ignores: ["app.js", "server.js", "libs/**"],
languageOptions: {
ecmaVersion: "latest",
sourceType: "module",
parserOptions: { ecmaFeatures: { jsx: true } },
globals: { ...globals.browser, ...globals.es2021 },
},
plugins: { lints },
rules: {
"lints/ui-button": "error",
},
},
];Or spread all UI rules where appropriate: ...lints.configs.ui.rules (then scope files as needed).
Layout
hammerbyte_lints/
api/ # backend microservice rules
ui/ # frontend rules
index.js # plugin + configs.api / configs.uiPublish
cd /home/nisarg/Workspace/hammerbyte_lints
npm publish --access public