a reactive (signals based) hypermedia web framework (wip) stormlightlabs.github.io/volt/
hypermedia frontend signals
at main 37 lines 1.3 kB view raw
1import { includeIgnoreFile } from "@eslint/compat"; 2import js from "@eslint/js"; 3import unicorn from "eslint-plugin-unicorn"; 4import { defineConfig } from "eslint/config"; 5import globals from "globals"; 6import { fileURLToPath } from "node:url"; 7import ts from "typescript-eslint"; 8 9const gitignorePath = fileURLToPath(new globalThis.URL("./.gitignore", import.meta.url)); 10 11/** @type {import('eslint').Linter.Config} */ 12export default defineConfig( 13 includeIgnoreFile(gitignorePath), 14 js.configs.recommended, 15 unicorn.configs.recommended, 16 ...ts.configs.recommended, 17 { 18 languageOptions: { 19 globals: { ...globals.browser, ...globals.node }, 20 parserOptions: { project: "./tsconfig.json", tsconfigRootDir: import.meta.dirname }, 21 }, 22 rules: { 23 "no-undef": "off", 24 "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }], 25 "@typescript-eslint/no-explicit-any": "off", 26 "unicorn/prefer-ternary": "off", 27 "no-console": "off", 28 "unicorn/filename-case": ["warn", { 29 cases: { pascalCase: true, kebabCase: true }, 30 multipleFileExtensions: false, 31 }], 32 "unicorn/no-null": "off", 33 "unicorn/prevent-abbreviations": "off", 34 }, 35 }, 36 { rules: { "unicorn/prefer-top-level-await": "off" } }, 37);