diff --git a/.idea/mysite.iml b/.idea/mysite.iml index 24643cc..bdb9fcf 100644 --- a/.idea/mysite.iml +++ b/.idea/mysite.iml @@ -8,5 +8,6 @@ + \ No newline at end of file diff --git a/bun.lockb b/bun.lockb new file mode 100644 index 0000000..717935c Binary files /dev/null and b/bun.lockb differ diff --git a/index.html b/index.html index d9db8b4..81d07ac 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,15 @@ - - - - - Vite App - - -
- - + + + + + + my site + + +
+ + + diff --git a/package-lock.json b/package-lock.json index f5e80f4..cf748af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "devDependencies": { "@rushstack/eslint-patch": "^1.8.0", "@tsconfig/node20": "^20.1.4", + "@types/bun": "latest", "@types/node": "^20.12.5", "@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue-jsx": "^3.1.0", @@ -1389,6 +1390,16 @@ "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==", "dev": true }, + "node_modules/@types/bun": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.1.6.tgz", + "integrity": "sha512-uJgKjTdX0GkWEHZzQzFsJkWp5+43ZS7HC8sZPFnOwnSo1AsNl2q9o2bFeS23disNDqbggEgyFkKCHl/w8iZsMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bun-types": "1.1.17" + } + }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -1416,6 +1427,16 @@ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, + "node_modules/@types/ws": { + "version": "8.5.11", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", + "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz", @@ -2168,6 +2189,17 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bun-types": { + "version": "1.1.17", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.1.17.tgz", + "integrity": "sha512-Z4+OplcSd/YZq7ZsrfD00DKJeCwuNY96a1IDJyR73+cTBaFIS7SC6LhpY/W3AMEXO9iYq5NJ58WAwnwL1p5vKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "~20.12.8", + "@types/ws": "~8.5.10" + } + }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", diff --git a/package.json b/package.json index 13bdb03..81f7e6c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "dev": "vite", + "dev": "vite --host", "build": "run-p type-check \"build-only {@}\" --", "preview": "vite preview", "build-only": "vite build", @@ -12,6 +12,8 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" }, "dependencies": { + "@vueuse/core": "^10.11.0", + "consola": "^3.2.3", "pinia": "^2.1.7", "vue": "^3.4.21", "vue-router": "^4.3.0" @@ -20,6 +22,7 @@ "@rushstack/eslint-patch": "^1.8.0", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.12.5", + "@types/bun": "latest", "@vitejs/plugin-vue": "^5.0.4", "@vitejs/plugin-vue-jsx": "^3.1.0", "@vue/eslint-config-typescript": "^13.0.0", diff --git a/src/App.vue b/src/App.vue index 378960a..6b1fcc1 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,11 +1,25 @@ - - + + + \ No newline at end of file diff --git a/src/components/TheFoot.vue b/src/components/TheFoot.vue new file mode 100644 index 0000000..64d1988 --- /dev/null +++ b/src/components/TheFoot.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/components/TheNav.vue b/src/components/TheNav.vue new file mode 100644 index 0000000..f5da6d3 --- /dev/null +++ b/src/components/TheNav.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/components/TheWelcome.vue b/src/components/TheWelcome.vue index aaa8322..fbf7e96 100644 --- a/src/components/TheWelcome.vue +++ b/src/components/TheWelcome.vue @@ -1,21 +1,29 @@ \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 5dcad83..eb9a2fc 100644 --- a/src/main.ts +++ b/src/main.ts @@ -12,3 +12,4 @@ app.use(createPinia()) app.use(router) app.mount('#app') + diff --git a/src/router/index.ts b/src/router/index.ts index a49ae50..2e09847 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,23 +1,24 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' +import {createRouter, createWebHistory} from "vue-router"; +import HomeView from "../views/HomeView.vue"; const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes: [ - { - path: '/', - name: 'home', - component: HomeView - }, - { - path: '/about', - name: 'about', - // route level code-splitting - // this generates a separate chunk (About.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import('../views/AboutView.vue') - } - ] -}) + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: "/", + name: "~Home🍩🏡", + component: HomeView + }, + { + path: "/about", + name: "💻About👨🏿‍🦱", + // route level code-splitting + // this generates a separate chunk (About.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import("../views/AboutView.vue") + } + ], + linkActiveClass: "is-active", +}); -export default router +export default router; diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 74d326c..77ffdea 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -3,7 +3,10 @@ diff --git a/vite.config.ts b/vite.config.ts index 01f6c2c..ce31798 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,20 +1,23 @@ -import { fileURLToPath, URL } from 'node:url' +import {fileURLToPath, URL} from "node:url"; -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import VueDevTools from 'vite-plugin-vue-devtools' +import {defineConfig} from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueJsx from "@vitejs/plugin-vue-jsx"; +import VueDevTools from "vite-plugin-vue-devtools"; // https://vitejs.dev/config/ export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - VueDevTools(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) + plugins: [ + vue(), + vueJsx(), + VueDevTools(), + ], + resolve: { + alias: { + "@": fileURLToPath(new URL("./src/", import.meta.url)) + } + }, + experimental: { + hmrPartialAccept: true } - } -}) +});