aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-11-19 04:40:02 -0800
committerFuwn <[email protected]>2023-11-19 04:40:02 -0800
commitb1454872a74a955ff2dca7014b4549f153686bea (patch)
tree66a2e1fa53d0615421aa084dd5eb12641a071d3a
parentfix(npm): remove lockfile (diff)
downloadfrontend-next-b1454872a74a955ff2dca7014b4549f153686bea.tar.xz
frontend-next-b1454872a74a955ff2dca7014b4549f153686bea.zip
feat(svelte): complete sveltekit upgrade
-rw-r--r--.eslintrc.cjs20
-rw-r--r--.npmrc1
-rwxr-xr-xbun.lockbbin164012 -> 122410 bytes
-rw-r--r--package.json45
-rw-r--r--playwright.config.js9
-rw-r--r--src/app.html25
-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.js11
-rw-r--r--tests/test.js6
-rw-r--r--tsconfig.json26
-rw-r--r--vite.config.ts6
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",
+ },
+ },
+ ],
};
diff --git a/.npmrc b/.npmrc
index b6f27f1..159e258 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1 +1,2 @@
engine-strict=true
+resolution-mode=highest \ No newline at end of file
diff --git a/bun.lockb b/bun.lockb
index cd286b7..e15cd98 100755
--- a/bun.lockb
+++ b/bun.lockb
Binary files differ
diff --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()],
+});