diff --git a/docs/vercel/.eslintrc.cjs b/docs/vercel/.eslintrc.cjs new file mode 100644 index 000000000..be9de1deb --- /dev/null +++ b/docs/vercel/.eslintrc.cjs @@ -0,0 +1,22 @@ +module.exports = { + env: { + browser: true, + es2021: true, + node: true, + }, + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], + parser: '@typescript-eslint/parser', + parserOptions: { + ecmaVersion: 12, + sourceType: 'module', + parser: '@typescript-eslint/parser', + extraFileExtensions: ['.svelte'], + }, + plugins: ['@typescript-eslint', 'unused-imports'], + overrides: [ + { + files: ['*.svelte'], + parser: 'svelte-eslint-parser', + }, + ], +}; diff --git a/docs/vercel/.eslintrc.json b/docs/vercel/.eslintrc.json deleted file mode 100644 index 2575d7c00..000000000 --- a/docs/vercel/.eslintrc.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 2021, - "sourceType": "module" - }, - "plugins": ["@typescript-eslint"], - "extends": ["plugin:svelte/recommended"], - "overrides": [ - { - "files": ["*.svelte"], - "parser": "svelte-eslint-parser", - "parserOptions": { - "parser": "@typescript-eslint/parser" - } - } - ], - "rules": { - "svelte/no-at-html-tags": "off" - } -} diff --git a/docs/vercel/.prettierrc.json b/docs/vercel/.prettierrc similarity index 60% rename from docs/vercel/.prettierrc.json rename to docs/vercel/.prettierrc index 707f9c9d3..752f2cfb4 100644 --- a/docs/vercel/.prettierrc.json +++ b/docs/vercel/.prettierrc @@ -7,5 +7,7 @@ "bracketSameLine": true, "singleAttributePerLine": false, "quoteProps": "consistent", - "plugins": ["prettier-plugin-svelte"] + "plugins": ["prettier-plugin-svelte"], + "svelteSortOrder": "scripts-options-markup-styles", + "svelteIndentScriptAndStyle": true } diff --git a/docs/vercel/package-lock.json b/docs/vercel/package-lock.json index 9bc46209f..b52a8826b 100644 --- a/docs/vercel/package-lock.json +++ b/docs/vercel/package-lock.json @@ -15,6 +15,7 @@ "@typescript-eslint/parser": "^7.1.0", "eslint": "^8.57.0", "eslint-plugin-svelte": "^2.35.1", + "eslint-plugin-unused-imports": "^3.1.0", "prettier": "^3.2.5", "prettier-plugin-svelte": "^3.2.2", "svelte": "^4.2.12", @@ -1593,6 +1594,36 @@ } } }, + "node_modules/eslint-plugin-unused-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.1.0.tgz", + "integrity": "sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "6 - 7", + "eslint": "8" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", @@ -4196,6 +4227,21 @@ "svelte-eslint-parser": ">=0.33.0 <1.0.0" } }, + "eslint-plugin-unused-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-3.1.0.tgz", + "integrity": "sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==", + "dev": true, + "requires": { + "eslint-rule-composer": "^0.3.0" + } + }, + "eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true + }, "eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", diff --git a/docs/vercel/package.json b/docs/vercel/package.json index 8084ddee7..2055502c0 100644 --- a/docs/vercel/package.json +++ b/docs/vercel/package.json @@ -8,7 +8,7 @@ "build": "vite build", "format": "prettier -w .", "preview": "vite preview", - "check": "check:svelte && check:prettier && check:lint", + "check": "npm run check:svelte && npm run check:prettier && npm run check:lint", "check:svelte": "svelte-check", "check:prettier": "prettier --check **/*.{ts,js,svelte,css,html,json}", "check:lint": "eslint src/**/*.{ts,js,svelte}" diff --git a/docs/vercel/src/Index.svelte b/docs/vercel/src/Index.svelte index d7a624c60..8a9b984ed 100644 --- a/docs/vercel/src/Index.svelte +++ b/docs/vercel/src/Index.svelte @@ -1,5 +1,5 @@
diff --git a/docs/vercel/src/lib/Chip.svelte b/docs/vercel/src/components/Chip.svelte similarity index 100% rename from docs/vercel/src/lib/Chip.svelte rename to docs/vercel/src/components/Chip.svelte diff --git a/docs/vercel/src/lib/TitleLink.svelte b/docs/vercel/src/components/TitleLink.svelte similarity index 100% rename from docs/vercel/src/lib/TitleLink.svelte rename to docs/vercel/src/components/TitleLink.svelte diff --git a/docs/vercel/src/lib/utils.ts b/docs/vercel/src/lib/utils.ts new file mode 100644 index 000000000..83fd6af0e --- /dev/null +++ b/docs/vercel/src/lib/utils.ts @@ -0,0 +1,6 @@ +export function mapToDefaultTerminalFgColor( + color: string, + dark: boolean +): string { + return color === 'white' && !dark ? 'black' : color; +} diff --git a/docs/vercel/typings/yaml.d.ts b/docs/vercel/src/yaml.d.ts similarity index 100% rename from docs/vercel/typings/yaml.d.ts rename to docs/vercel/src/yaml.d.ts diff --git a/docs/vercel/tsconfig.json b/docs/vercel/tsconfig.json index 1d987673f..b30055489 100644 --- a/docs/vercel/tsconfig.json +++ b/docs/vercel/tsconfig.json @@ -1,17 +1,12 @@ { "extends": "@tsconfig/svelte/tsconfig.json", "compilerOptions": { - "target": "ESNext", + "target": "esnext", "useDefineForClassFields": true, - "module": "ESNext", + "module": "esnext", "resolveJsonModule": true, + "moduleResolution": "node", "baseUrl": ".", - /** - * Typecheck JS in `.svelte` and `.js` files by default. - * Disable checkJs if you'd like to use dynamic types in JS. - * Note that setting allowJs false does not prevent the use - * of JS in `.svelte` files. - */ "allowJs": true, "checkJs": true }, @@ -20,6 +15,6 @@ "src/**/*.ts", "src/**/*.js", "src/**/*.svelte", - "typings/**/*.d.ts" + "src/**/*.d.ts" ] }