feat: initial release v0.3.0

This commit is contained in:
saturn
2026-03-08 03:15:27 +08:00
commit 881ed44996
1311 changed files with 225407 additions and 0 deletions

52
eslint.config.mjs Normal file
View File

@@ -0,0 +1,52 @@
import { dirname } from "path";
import { fileURLToPath } from "url";
import { FlatCompat } from "@eslint/eslintrc";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
});
const eslintConfig = [
...compat.extends("next/core-web-vitals", "next/typescript"),
{
ignores: [
"node_modules/**",
".agent/**",
".next/**",
"out/**",
"build/**",
"coverage/**",
"next-env.d.ts",
],
},
{
files: ["src/**/*.{ts,tsx}"],
ignores: ["src/components/ui/icons/**"],
rules: {
"no-restricted-imports": [
"error",
{
paths: [
{
name: "lucide-react",
message: "Import icons through '@/components/ui/icons' only.",
},
],
},
],
"no-restricted-syntax": [
"error",
{
selector: "JSXOpeningElement[name.name='svg']",
message:
"Use AppIcon or icons module components instead of inline <svg>.",
},
],
},
},
];
export default eslintConfig;