Skip to content

Commit 5b8096b

Browse files
committed
feat(init): initialize project
0 parents  commit 5b8096b

335 files changed

Lines changed: 51949 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
node_modules
2+
.output
3+
.nuxt

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 2
7+
indent_style = space
8+
tab_width = 2
9+
insert_final_newline = true
10+
max_line_length = 120
11+
trim_trailing_whitespace = true

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
VERCEL_TOKEN=
2+
VERCEL_ORG_ID=
3+
VERCEL_PROJECT_ID=

.eslintrc.cjs

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
es2021: true,
5+
node: true
6+
},
7+
8+
extends: [
9+
"eslint:recommended",
10+
"plugin:compat/recommended",
11+
"plugin:editorconfig/all",
12+
"plugin:@typescript-eslint/recommended",
13+
"plugin:vue/vue3-recommended",
14+
"plugin:unicorn/recommended",
15+
"plugin:yml/standard",
16+
"plugin:vuejs-accessibility/recommended"
17+
],
18+
19+
ignorePatterns: [ "pnpm-lock.yaml", ".artifacts/*" ],
20+
overrides: [
21+
{
22+
files: [ "*.ts", "*.vue" ],
23+
rules: {
24+
"no-undef": "off",
25+
},
26+
},
27+
28+
// YAML/JSON files
29+
{
30+
files: [ "*.yaml", "*.yml" ],
31+
parser: "yaml-eslint-parser",
32+
},
33+
34+
// ESLint config
35+
{
36+
env: {
37+
node: true
38+
},
39+
files: [
40+
".eslintrc.{js,cjs}"
41+
],
42+
parserOptions: {
43+
sourceType: "script"
44+
},
45+
rules: {
46+
"unicorn/prefer-module": "off",
47+
}
48+
}
49+
],
50+
51+
parserOptions: {
52+
ecmaVersion: "latest",
53+
parser: "@typescript-eslint/parser",
54+
sourceType: "module"
55+
},
56+
57+
plugins: [
58+
"@typescript-eslint",
59+
"vue",
60+
"unicorn",
61+
"compat",
62+
"editorconfig",
63+
"simple-import-sort",
64+
"vuejs-accessibility"
65+
],
66+
67+
rules: {
68+
"sort-imports": "off",
69+
"quote-props": [ "error", "as-needed" ],
70+
quotes: [
71+
"error",
72+
"double"
73+
],
74+
semi: [
75+
"error",
76+
"always"
77+
],
78+
"simple-import-sort/imports": [
79+
"error",
80+
{
81+
groups: [
82+
[
83+
// Internal
84+
"^\\u0000",
85+
"#imports",
86+
"#app",
87+
88+
// Imports from @
89+
"^@(/.*|$)",
90+
91+
// Relative imports
92+
"^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$",
93+
"^\\.\\.(?!/?$)", "^\\.\\./?$",
94+
95+
// Types
96+
"^@(t|/types)(/.*|$)",
97+
98+
// Styles
99+
"^@(s|/styles)(/.*|$)",
100+
"^.+\\.s?css$"
101+
]
102+
]
103+
}
104+
],
105+
"simple-import-sort/exports": "error",
106+
"vue/multi-word-component-names": "off",
107+
"object-curly-spacing": [ "error", "always" ],
108+
"array-bracket-spacing": [ "error", "always", { objectsInArrays: false }],
109+
"vue/component-name-in-template-casing": [ "error", "PascalCase", {
110+
registeredComponentsOnly: false,
111+
ignores: []
112+
}],
113+
"unicorn/no-null": "off",
114+
"comma-spacing": [ "error", { before: false, after: true }],
115+
"vuejs-accessibility/aria-role": [ "error", { ignoreNonDOM: false }],
116+
"vuejs-accessibility/alt-text": [
117+
"error",
118+
{
119+
elements: [ "img", "object", "area", "input[type=\"image\"]" ],
120+
components: [ "Image", "NuxtImage", "NuxtImg", "Img" ],
121+
img: [ "Image" ],
122+
object: [ "Object" ],
123+
area: [ "Area" ],
124+
"input[type=\"image\"]": [ "ImageInput" ]
125+
}
126+
],
127+
}
128+
};

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# These are supported funding model platforms
2+
custom: https://boosty.to/tokiory

.github/workflows/build.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Build
2+
on:
3+
push:
4+
branches: [ main, master ]
5+
pull_request:
6+
branches: [ main, master ]
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
- name: Install pnpm
13+
uses: pnpm/action-setup@v2.2.1
14+
with:
15+
version: "8.x"
16+
- name: Use Node.js
17+
uses: actions/setup-node@v3
18+
with:
19+
node-version: "18.x"
20+
cache: 'pnpm'
21+
- name: Install dependencies
22+
run: pnpm install
23+
- name: Build the project
24+
run: pnpm app:build

.github/workflows/deploy.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Deploy
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
env:
7+
type: choice
8+
description: Environment
9+
options:
10+
- dev
11+
- prod
12+
required: true
13+
jobs:
14+
deploy:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v3
18+
19+
- name: Install pnpm
20+
uses: pnpm/action-setup@v2.2.1
21+
with:
22+
version: "8.x"
23+
24+
- name: Use Node.js
25+
uses: actions/setup-node@v3
26+
with:
27+
node-version: "18.x"
28+
cache: 'pnpm'
29+
30+
- name: Install dependencies
31+
run: pnpm install
32+
33+
- uses: amondnet/vercel-action@v20
34+
with:
35+
vercel-token: ${{ secrets.VERCEL_TOKEN }}
36+
github-token: ${{ secrets.GITHUB_TOKEN }}
37+
vercel-args: ${{ inputs.env == 'prod' && '--prod' || '' }}
38+
vercel-org-id: ${{ secrets.VERCEL_ORG_ID}}
39+
vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID}}

.github/workflows/lint.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Lint
2+
on:
3+
push:
4+
branches: [ main, master ]
5+
pull_request:
6+
branches: [ main, master ]
7+
jobs:
8+
lint:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: actions/checkout@v3
12+
13+
- name: Install pnpm
14+
uses: pnpm/action-setup@v2.2.1
15+
with:
16+
version: "8.x"
17+
18+
- name: Use Node.js
19+
uses: actions/setup-node@v3
20+
with:
21+
node-version: "20.x"
22+
cache: 'pnpm'
23+
24+
- name: Install dependencies
25+
run: pnpm install
26+
27+
- name: ESLint
28+
run: "pnpm lint:eslint ."
29+
30+
- name: Stylelint
31+
run: "pnpm lint:stylelint **/*.vue"
32+
33+
- name: SVGLint
34+
run: "pnpm lint:svglint **/*.svg"

.husky/commit-msg

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
pnpm commitlint --edit

.husky/pre-commit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env sh
2+
. "$(dirname -- "$0")/_/husky.sh"
3+
4+
pnpm lint-staged

0 commit comments

Comments
 (0)