diff options
| author | Fuwn <[email protected]> | 2023-11-19 04:40:02 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-11-19 04:40:02 -0800 |
| commit | b1454872a74a955ff2dca7014b4549f153686bea (patch) | |
| tree | 66a2e1fa53d0615421aa084dd5eb12641a071d3a | |
| parent | fix(npm): remove lockfile (diff) | |
| download | frontend-next-b1454872a74a955ff2dca7014b4549f153686bea.tar.xz frontend-next-b1454872a74a955ff2dca7014b4549f153686bea.zip | |
feat(svelte): complete sveltekit upgrade
| -rw-r--r-- | .eslintrc.cjs | 20 | ||||
| -rw-r--r-- | .npmrc | 1 | ||||
| -rwxr-xr-x | bun.lockb | bin | 164012 -> 122410 bytes | |||
| -rw-r--r-- | package.json | 45 | ||||
| -rw-r--r-- | playwright.config.js | 9 | ||||
| -rw-r--r-- | src/app.html | 25 | ||||
| -rw-r--r-- | src/routes/+layout.svelte (renamed from src/routes/__layout.svelte) | 0 | ||||
| -rw-r--r-- | src/routes/+page.svelte (renamed from src/routes/index.svelte) | 0 | ||||
| -rw-r--r-- | src/routes/api/+page.svelte (renamed from src/routes/api.svelte) | 0 | ||||
| -rw-r--r-- | src/routes/language/+page.svelte (renamed from src/routes/language.svelte) | 0 | ||||
| -rw-r--r-- | src/routes/languages/+page.svelte (renamed from src/routes/languages.svelte) | 0 | ||||
| -rw-r--r-- | svelte.config.js | 11 | ||||
| -rw-r--r-- | tests/test.js | 6 | ||||
| -rw-r--r-- | tsconfig.json | 26 | ||||
| -rw-r--r-- | vite.config.ts | 6 |
15 files changed, 80 insertions, 69 deletions
diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 7078b83..04fd192 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,24 +1,30 @@ module.exports = { root: true, - parser: "@typescript-eslint/parser", extends: [ "eslint:recommended", "plugin:@typescript-eslint/recommended", + "plugin:svelte/recommended", "prettier", ], - plugins: ["svelte3", "@typescript-eslint"], - ignorePatterns: ["*.cjs"], - overrides: [{ files: ["*.svelte"], processor: "svelte3/svelte3" }], - settings: { - "svelte3/typescript": () => require("typescript"), - }, + parser: "@typescript-eslint/parser", + plugins: ["@typescript-eslint"], parserOptions: { sourceType: "module", ecmaVersion: 2020, + extraFileExtensions: [".svelte"], }, env: { browser: true, es2017: true, node: true, }, + overrides: [ + { + files: ["*.svelte"], + parser: "svelte-eslint-parser", + parserOptions: { + parser: "@typescript-eslint/parser", + }, + }, + ], }; @@ -1 +1,2 @@ engine-strict=true +resolution-mode=highest
\ No newline at end of file Binary files differdiff --git a/package.json b/package.json index a0f465b..b6d1622 100644 --- a/package.json +++ b/package.json @@ -18,41 +18,36 @@ "repository": "https://github.com/senpy-club/frontend-next", "private": true, "scripts": { - "dev": "svelte-kit dev", - "build": "svelte-kit build", - "package": "svelte-kit package", - "preview": "svelte-kit preview", - "prepare": "svelte-kit sync", - "test": "playwright test", - "check": "svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --ignore-path .gitignore --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .", - "format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. ." + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check . && eslint .", + "format": "prettier --plugin-search-dir . --write ." }, "dependencies": { - "@sveltejs/adapter-static": "1.0.0-next.29", "normalize.css": "8.0.1", "rst2html": "1.0.4", "sakura.css": "1.3.1" }, "devDependencies": { - "@playwright/test": "1.20.0", - "@sveltejs/adapter-auto": "next", - "@sveltejs/adapter-cloudflare": "1.0.0-next.16", - "@sveltejs/kit": "next", + "@sveltejs/adapter-auto": "^2.0.0", + "@sveltejs/adapter-cloudflare": "^2.3.3", + "@sveltejs/kit": "^1.20.4", "@types/cookie": "0.4.1", - "@typescript-eslint/eslint-plugin": "5.15.0", - "@typescript-eslint/parser": "5.15.0", - "eslint": "8.11.0", - "eslint-config-prettier": "8.5.0", - "eslint-plugin-svelte3": "3.4.1", + "@typescript-eslint/eslint-plugin": "^5.45.0", + "@typescript-eslint/parser": "^5.45.0", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte": "^2.30.0", "prettier": "2.6.0", "prettier-plugin-svelte": "2.6.0", - "svelte": "3.46.4", - "svelte-check": "2.4.6", - "svelte-preprocess": "4.10.4", - "tslib": "2.3.1", - "typescript": "4.6.2" + "svelte": "^4.0.5", + "svelte-check": "^3.4.3", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" }, "type": "module" } diff --git a/playwright.config.js b/playwright.config.js deleted file mode 100644 index 8809fca..0000000 --- a/playwright.config.js +++ /dev/null @@ -1,9 +0,0 @@ -/** @type {import('@playwright/test').PlaywrightTestConfig} */ -const config = { - webServer: { - command: "npm run build && npm run preview", - port: 3000, - }, -}; - -export default config; diff --git a/src/app.html b/src/app.html index e70b108..e10dd2f 100644 --- a/src/app.html +++ b/src/app.html @@ -1,13 +1,16 @@ <!DOCTYPE html> <html lang="en"> - <head> - <meta charset="utf-8" /> - <meta name="description" content="Svelte demo app" /> - <link rel="icon" href="%svelte.assets%/favicon.png" /> - <meta name="viewport" content="width=device-width, initial-scale=1" /> - %svelte.head% - </head> - <body> - <div>%svelte.body%</div> - </body> -</html> + +<head> + <meta charset="utf-8" /> + <link rel="icon" href="%svelte.assets%/favicon.png" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + + %sveltekit.head% +</head> + +<body data-sveltekit-preload-data="hover" style="max-width: 90% !important"> + <div style="display: contents">%sveltekit.body%</div> +</body> + +</html>
\ No newline at end of file diff --git a/src/routes/__layout.svelte b/src/routes/+layout.svelte index 2c0f9ba..2c0f9ba 100644 --- a/src/routes/__layout.svelte +++ b/src/routes/+layout.svelte diff --git a/src/routes/index.svelte b/src/routes/+page.svelte index 241d54d..241d54d 100644 --- a/src/routes/index.svelte +++ b/src/routes/+page.svelte diff --git a/src/routes/api.svelte b/src/routes/api/+page.svelte index cf4e571..cf4e571 100644 --- a/src/routes/api.svelte +++ b/src/routes/api/+page.svelte diff --git a/src/routes/language.svelte b/src/routes/language/+page.svelte index cb1d4cf..cb1d4cf 100644 --- a/src/routes/language.svelte +++ b/src/routes/language/+page.svelte diff --git a/src/routes/languages.svelte b/src/routes/languages/+page.svelte index bcbcbec..bcbcbec 100644 --- a/src/routes/languages.svelte +++ b/src/routes/languages/+page.svelte diff --git a/svelte.config.js b/svelte.config.js index 0b32148..6322225 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -1,18 +1,11 @@ import adapter from "@sveltejs/adapter-cloudflare"; -import preprocess from "svelte-preprocess"; +import { vitePreprocess } from "@sveltejs/kit/vite"; /** @type {import('@sveltejs/kit').Config} */ const config = { - // Consult https://github.com/sveltejs/svelte-preprocess - // for more information about preprocessors - preprocess: preprocess(), - + preprocess: vitePreprocess(), kit: { adapter: adapter(), - - prerender: { - enabled: true, - }, }, }; diff --git a/tests/test.js b/tests/test.js deleted file mode 100644 index cb82a82..0000000 --- a/tests/test.js +++ /dev/null @@ -1,6 +0,0 @@ -import { expect, test } from "@playwright/test"; - -test("index page has expected h1", async ({ page }) => { - await page.goto("/"); - expect(await page.textContent("h1")).toBe("home"); -}); diff --git a/tsconfig.json b/tsconfig.json index d1deb76..2047e08 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,25 @@ { - "extends": "./.svelte-kit/tsconfig.json" -} + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + + // https://github.com/sveltejs/svelte/blob/master/packages/svelte/tsconfig.json + "stripInternal": true, + + "noImplicitThis": true, + "noUnusedLocals": true, + "noUnusedParameters": true + } + + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +}
\ No newline at end of file diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..80864b9 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,6 @@ +import { sveltekit } from "@sveltejs/kit/vite"; +import { defineConfig } from "vite"; + +export default defineConfig({ + plugins: [sveltekit()], +}); |