diff --git a/docs/vercel/.eslintrc.cjs b/docs/vercel/.eslintrc.cjs new file mode 100644 index 000000000..350ec23d1 --- /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'], + 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/README.md b/docs/vercel/README.md index aac3c0d85..8f2fb18ab 100644 --- a/docs/vercel/README.md +++ b/docs/vercel/README.md @@ -8,5 +8,5 @@ npm i # run server with hot reloading -npm run dev +npm start ``` diff --git a/docs/vercel/index.html b/docs/vercel/index.html index 898af4a90..159e5aff5 100644 --- a/docs/vercel/index.html +++ b/docs/vercel/index.html @@ -4,7 +4,7 @@ - + Onefetch 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 2922a0048..2055502c0 100644 --- a/docs/vercel/package.json +++ b/docs/vercel/package.json @@ -4,14 +4,14 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "vite", + "start": "vite", "build": "vite build", "format": "prettier -w .", "preview": "vite preview", - "check": "check:svelte && check:prettier && check:eslint", + "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}'" + "check:lint": "eslint src/**/*.{ts,js,svelte}" }, "devDependencies": { "@rollup/plugin-yaml": "^4.1.2", diff --git a/docs/vercel/public/sakura.css b/docs/vercel/public/sakura-dark.css similarity index 86% rename from docs/vercel/public/sakura.css rename to docs/vercel/public/sakura-dark.css index 304e1b1ac..2fd58722d 100644 --- a/docs/vercel/public/sakura.css +++ b/docs/vercel/public/sakura-dark.css @@ -1,3 +1,4 @@ +/* $color-text: #dedce5; */ /* Sakura.css v1.5.0 * ================ * Minimal css theme. @@ -15,8 +16,8 @@ body { line-height: 1.618; max-width: 38em; margin: auto; - color: #222222; - background-color: #ffffff; + color: #c9c9c9; + background-color: #222222; padding: 13px; } @@ -84,19 +85,19 @@ sup { } hr { - border-color: #007559; + border-color: #ffffff; } a { text-decoration: none; - color: #007559; + color: #ffffff; } a:visited { - color: #004232; + color: #e6e6e6; } a:hover { - color: #006994; - border-bottom: 2px solid #222222; + color: #c9c9c9; + border-bottom: 2px solid #c9c9c9; } ul { @@ -116,9 +117,9 @@ blockquote { padding-top: 0.8em; padding-bottom: 0.8em; padding-right: 0.8em; - border-left: 5px solid #007559; + border-left: 5px solid #ffffff; margin-bottom: 2.5rem; - background-color: #f7f7f7; + background-color: #4a4a4a; } blockquote p { @@ -135,7 +136,7 @@ video { /* Pre and Code */ pre { - background-color: #f7f7f7; + background-color: #4a4a4a; display: block; padding: 1em; overflow-x: auto; @@ -149,7 +150,7 @@ kbd, samp { font-size: 0.9em; padding: 0 0.5em; - background-color: #f7f7f7; + background-color: #4a4a4a; white-space: pre-wrap; } @@ -171,17 +172,17 @@ table { td, th { padding: 0.5em; - border-bottom: 1px solid #f7f7f7; + border-bottom: 1px solid #4a4a4a; } /* Buttons, forms and input */ input, textarea { - border: 1px solid #222222; + border: 1px solid #c9c9c9; } input:focus, textarea:focus { - border: 1px solid #007559; + border: 1px solid #ffffff; } textarea { @@ -199,10 +200,10 @@ input[type='file']::file-selector-button { text-align: center; text-decoration: none; white-space: nowrap; - background-color: #007559; - color: #ffffff; + background-color: #ffffff; + color: #222222; border-radius: 1px; - border: 1px solid #007559; + border: 1px solid #ffffff; cursor: pointer; box-sizing: border-box; } @@ -221,8 +222,8 @@ input[type='submit']:hover, input[type='reset']:hover, input[type='button']:hover, input[type='file']::file-selector-button:hover { - background-color: #006994; - color: #ffffff; + background-color: #c9c9c9; + color: #222222; outline: 0; } .button:focus-visible, @@ -238,11 +239,11 @@ input[type='file']::file-selector-button:focus-visible { textarea, select, input { - color: #222222; + color: #c9c9c9; padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */ margin-bottom: 10px; - background-color: #f7f7f7; - border: 1px solid #f7f7f7; + background-color: #4a4a4a; + border: 1px solid #4a4a4a; border-radius: 4px; box-shadow: none; box-sizing: border-box; @@ -250,12 +251,12 @@ input { textarea:focus, select:focus, input:focus { - border: 1px solid #007559; + border: 1px solid #ffffff; outline: 0; } input[type='checkbox']:focus { - outline: 1px dotted #007559; + outline: 1px dotted #ffffff; } label, diff --git a/docs/vercel/src/Index.svelte b/docs/vercel/src/Index.svelte index 5225471df..8a9b984ed 100644 --- a/docs/vercel/src/Index.svelte +++ b/docs/vercel/src/Index.svelte @@ -1,5 +1,5 @@
@@ -59,6 +56,7 @@ .logo-container { display: flex; justify-content: center; + background-color: white; } .logo-container.dark { 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/components/TitleLink.svelte b/docs/vercel/src/components/TitleLink.svelte new file mode 100644 index 000000000..617fcceb8 --- /dev/null +++ b/docs/vercel/src/components/TitleLink.svelte @@ -0,0 +1,5 @@ + + +

{name}

diff --git a/docs/vercel/src/lib/TitleLink.svelte b/docs/vercel/src/lib/TitleLink.svelte deleted file mode 100644 index 5ca939ecf..000000000 --- a/docs/vercel/src/lib/TitleLink.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - -

{name}

- - 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" ] }