diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..2f3699d
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,44 @@
+name: CI
+
+on: [push]
+
+jobs:
+ eslint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: oven-sh/setup-bun@v2
+ with:
+ bun-version: latest
+ - name: Install modules
+ run: bun ci
+ - name: Run ESLint
+ run: bun run lint
+
+ build:
+ runs-on: ubuntu-latest
+ needs: eslint
+ steps:
+ - uses: actions/checkout@v2
+ - uses: oven-sh/setup-bun@v2
+ with:
+ bun-version: latest
+ - name: Install modules
+ run: bun ci
+ - name: Build site
+ run: bun run build
+ - name: Upload static files as artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: dist/
+
+ # deploy:
+ # environment:
+ # name: github-pages
+ # url: ${{ steps.deployment.outputs.page_url }}
+ # runs-on: ubuntu-latest
+ # needs: build
+ # steps:
+ # - name: Deploy to GitHub Pages
+ # id: deployment
+ # uses: actions/deploy-pages@v4
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
deleted file mode 100644
index b495137..0000000
--- a/.github/workflows/lint.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-name: Lint
-
-on: [push]
-
-jobs:
- eslint:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- - name: Install modules
- run: npm ci
- - name: Run ESLint
- run: npm run lint
diff --git a/.gitignore b/.gitignore
index f6d5eed..0445746 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
.idea
.vscode
-node_modules
\ No newline at end of file
+node_modules
+.eslintcache
+dist
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index 0b84df0..0000000
--- a/.prettierignore
+++ /dev/null
@@ -1 +0,0 @@
-*.html
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 9ecd5a0..0000000
--- a/.prettierrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "tabWidth": 2,
- "useTabs": false,
- "htmlWhitespaceSensitivity": "ignore"
-}
diff --git a/README.md b/README.md
index a553824..913f8dc 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ git merge template/master
> Every task is indicated with a TODO
-1. [ ] Rename app in [README.md](./README.md), [index.html](./index.html) and [package.json](./package.json)
+1. [ ] Rename app in [README.md](./README.md), [index.html](./index.html), [App.vue](./src/App.vue) and [package.json](./package.json)
2. [ ] Change app hue and saturation in [style.css](./style.css)
3. [ ] Remove this part and all TODO
@@ -29,4 +29,4 @@ git merge template/master
## Tips
* [Material design colors](https://materialui.co/colors/) are available, you can use `class="red-500"` on your HTML
-* [Lucide icons](https://lucide.dev/icons) are available, you can use `` on your HTML
\ No newline at end of file
+* [Lucide icons](https://lucide.dev/icons) are available, you can use `` on your Vue template
diff --git a/env.d.ts b/env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/eslint.config.mjs b/eslint.config.mjs
index be5f17b..f78a1d2 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -1,34 +1,24 @@
-import eslintConfigPrettier from "eslint-config-prettier";
-import globals from "globals";
-import pluginJs from "@eslint/js";
+import { globalIgnores } from "eslint/config";
+import {
+ defineConfigWithVueTs,
+ vueTsConfigs,
+} from "@vue/eslint-config-typescript";
import pluginVue from "eslint-plugin-vue";
+import skipFormatting from "@vue/eslint-config-prettier/skip-formatting";
+import { configureVueProject } from "@vue/eslint-config-typescript";
-/** @type {import('eslint').Linter.Config[]} */
-export default [
+configureVueProject({ scriptLangs: ["ts", "tsx"] });
+
+export default defineConfigWithVueTs(
{
- languageOptions: {
- globals: {
- ...globals.browser,
- lucide: "readonly",
- },
- },
+ name: "app/files-to-lint",
+ files: ["**/*.{ts,mts,tsx,vue}"],
},
- pluginJs.configs.all,
- ...pluginVue.configs["flat/recommended"],
- {
- rules: {
- "no-magic-numbers": "off",
- "sort-keys": "off",
- "no-warning-comments": "off",
- "no-ternary": "off",
- "one-var": "off",
- "max-statements": ["warn", 50],
- "max-params": ["warn", 5],
- "max-lines": "off",
- },
- },
- {
- rules: {},
- },
- eslintConfigPrettier,
-];
+
+ globalIgnores(["**/dist/**"]),
+
+ pluginVue.configs["flat/recommended"],
+ vueTsConfigs.strictTypeChecked,
+ vueTsConfigs.stylisticTypeChecked,
+ skipFormatting,
+);
diff --git a/index.html b/index.html
index 56e8a51..32b7b96 100644
--- a/index.html
+++ b/index.html
@@ -1,50 +1,24 @@
-
+
-
-
-
-
- Change this you moron
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
- Vue-Boilerplate
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+ Change this you moron
+
+
+
+
+
+
+
+
+
+
+
+
+