This repository has no description
1import storybook from "eslint-plugin-storybook";
2import betterTailwindcss from "eslint-plugin-better-tailwindcss";
3import prettier from "eslint-config-prettier";
4import path from "node:path";
5import js from "@eslint/js";
6import svelte from "eslint-plugin-svelte";
7import { defineConfig, includeIgnoreFile } from "eslint/config";
8import globals from "globals";
9import ts from "typescript-eslint";
10
11const gitignorePath = path.resolve(import.meta.dirname, ".gitignore");
12
13export default defineConfig(
14 { ignores: ["src/lib/api/lexicons/"] },
15 includeIgnoreFile(gitignorePath),
16 js.configs.recommended,
17 ts.configs.recommended,
18 svelte.configs.recommended,
19 storybook.configs["flat/recommended"],
20 prettier,
21 svelte.configs.prettier,
22 {
23 languageOptions: { globals: { ...globals.browser, ...globals.node } },
24 rules: {
25 // typescript owns undefined-name checks.
26 "no-undef": "off"
27 }
28 },
29 {
30 files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"],
31 languageOptions: {
32 parserOptions: {
33 projectService: { allowDefaultProject: [".storybook/StoryAuthProvider.svelte"] },
34 extraFileExtensions: [".svelte"],
35 parser: ts.parser
36 }
37 }
38 },
39 {
40 files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js", "**/*.ts", "**/*.js"],
41 plugins: { "better-tailwindcss": betterTailwindcss },
42 settings: {
43 "better-tailwindcss": {
44 entryPoint: "src/app.css",
45 // without this the rule silently skips px -> spacing-scale rewrites.
46 rootFontSize: 16
47 }
48 },
49 rules: {
50 "better-tailwindcss/enforce-canonical-classes": "warn",
51 "better-tailwindcss/no-deprecated-classes": "warn"
52 }
53 },
54 {
55 rules: {}
56 }
57);