mirror of
https://github.com/tiennm99/miti99bot.git
synced 2026-04-17 13:21:31 +00:00
chore: add ESLint with eslint-plugin-jsdoc and central typedefs
- flat config, JSDoc-only rules (no stylistic — Biome owns those) - src/types.js defines Env, Module, Command, Cron, ModuleContext, Trade - lint script now runs biome check + eslint src
This commit is contained in:
57
eslint.config.js
Normal file
57
eslint.config.js
Normal file
@@ -0,0 +1,57 @@
|
||||
import jsdoc from "eslint-plugin-jsdoc";
|
||||
|
||||
// Cloudflare Workers globals + custom codebase types that no-undefined-types
|
||||
// must treat as defined (no tsc/jsconfig — plain ESM JS).
|
||||
const DEFINED_TYPES = [
|
||||
// Cloudflare Workers runtime globals
|
||||
"KVNamespace",
|
||||
"D1Database",
|
||||
"D1PreparedStatement",
|
||||
// Web globals not always in eslint's scope
|
||||
"Request",
|
||||
"Response",
|
||||
"URL",
|
||||
// KV interface types (src/db/kv-store-interface.js)
|
||||
"KVStore",
|
||||
"KVStorePutOptions",
|
||||
"KVStoreListOptions",
|
||||
"KVStoreListResult",
|
||||
// SQL interface types (src/db/sql-store-interface.js)
|
||||
"SqlStore",
|
||||
"SqlRunResult",
|
||||
// Central typedefs (src/types.js)
|
||||
"Env",
|
||||
"Module",
|
||||
"Command",
|
||||
"Cron",
|
||||
"ModuleContext",
|
||||
"Trade",
|
||||
"Portfolio",
|
||||
"PortfolioMeta",
|
||||
// Module sub-types (registry, validate-*)
|
||||
"BotModule",
|
||||
"RegistryEntry",
|
||||
"Registry",
|
||||
"ModuleCommand",
|
||||
"ModuleCron",
|
||||
"CronEntry",
|
||||
// Trading sub-types
|
||||
"ResolvedSymbol",
|
||||
];
|
||||
|
||||
export default [
|
||||
{
|
||||
files: ["src/**/*.js"],
|
||||
plugins: { jsdoc },
|
||||
rules: {
|
||||
"jsdoc/check-alignment": "warn",
|
||||
"jsdoc/check-param-names": "error",
|
||||
"jsdoc/check-tag-names": "error",
|
||||
"jsdoc/check-types": "error",
|
||||
"jsdoc/no-undefined-types": ["error", { definedTypes: DEFINED_TYPES }],
|
||||
"jsdoc/require-param-type": "error",
|
||||
"jsdoc/require-returns-type": "error",
|
||||
"jsdoc/valid-types": "error",
|
||||
},
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user