feat: nuxt project setup

This commit is contained in:
2026-03-18 00:01:45 +01:00
parent c912594d7a
commit 9703fa77e2
13 changed files with 10492 additions and 1 deletions

13
.editorconfig Executable file
View File

@@ -0,0 +1,13 @@
# editorconfig.org
root = true
[*]
indent_size = 2
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

34
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,34 @@
name: ci
on: push
jobs:
ci:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
node: [22]
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Install node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node }}
cache: pnpm
- name: Install dependencies
run: pnpm install
- name: Lint
run: pnpm run lint
- name: Typecheck
run: pnpm run typecheck

24
.gitignore vendored Normal file
View File

@@ -0,0 +1,24 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist
# Node dependencies
node_modules
# Logs
logs
*.log
# Misc
.DS_Store
.fleet
.idea
# Local env files
.env
.env.*
!.env.example

View File

@@ -1,4 +1,4 @@
Copyright (c) 2025 Pihkaal <hello@pihkaal.me> Copyright (c) 2026 Pihkaal <hello@pihkaal.me>
Permission is hereby granted, free of charge, to any person Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without files (the "Software"), to deal in the Software without

7
app/app.vue Normal file
View File

@@ -0,0 +1,7 @@
<template>
<UApp>
<UMain>
<NuxtPage />
</UMain>
</UApp>
</template>

2
app/assets/css/main.css Normal file
View File

@@ -0,0 +1,2 @@
@import "tailwindcss";
@import "@nuxt/ui";

3
app/pages/index.vue Normal file
View File

@@ -0,0 +1,3 @@
<template>
<div>ok</div>
</template>

4
eslint.config.mjs Normal file
View File

@@ -0,0 +1,4 @@
// @ts-check
import withNuxt from "./.nuxt/eslint.config.mjs";
export default withNuxt();

28
nuxt.config.ts Normal file
View File

@@ -0,0 +1,28 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
modules: [
'@nuxt/eslint',
'@nuxt/ui'
],
devtools: {
enabled: true
},
css: ['~/assets/css/main.css'],
routeRules: {
'/': { prerender: true }
},
compatibilityDate: '2025-01-15',
eslint: {
config: {
stylistic: {
commaDangle: 'never',
braceStyle: '1tbs'
}
}
}
})

25
package.json Normal file
View File

@@ -0,0 +1,25 @@
{
"name": "pihka-al",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"preview": "nuxt preview",
"postinstall": "nuxt prepare",
"lint": "eslint .",
"typecheck": "nuxt typecheck"
},
"dependencies": {
"@nuxt/ui": "^4.5.1",
"nuxt": "^4.4.2",
"tailwindcss": "^4.2.1"
},
"devDependencies": {
"@nuxt/eslint": "^1.15.2",
"eslint": "^10.0.3",
"typescript": "^5.9.3",
"vue-tsc": "^3.2.5"
},
"packageManager": "pnpm@10.32.1"
}

10335
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

6
pnpm-workspace.yaml Normal file
View File

@@ -0,0 +1,6 @@
ignoredBuiltDependencies:
- '@parcel/watcher'
- '@tailwindcss/oxide'
- esbuild
- unrs-resolver
- vue-demi

10
tsconfig.json Normal file
View File

@@ -0,0 +1,10 @@
{
// https://nuxt.com/docs/guide/concepts/typescript
"files": [],
"references": [
{ "path": "./.nuxt/tsconfig.app.json" },
{ "path": "./.nuxt/tsconfig.server.json" },
{ "path": "./.nuxt/tsconfig.shared.json" },
{ "path": "./.nuxt/tsconfig.node.json" }
]
}