Skip to content

Commit b97cf0e

Browse files
first commit
0 parents  commit b97cf0e

Some content is hidden

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

81 files changed

+10710
-0
lines changed

.editorconfig

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# EditorConfig is awesome: https://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
[*]
7+
indent_style = tab
8+
indent_size = 4
9+
end_of_line = lf
10+
charset = utf-8
11+
trim_trailing_whitespace = false
12+
insert_final_newline = false

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
VITE_URL=http://127.0.0.1:5173/

.eslintignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# build output
2+
dist
3+
# dependencies
4+
node_modules
5+
# config files
6+
cypress.config.ts
7+
vite.config.ts

.eslintrc.cjs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
module.exports = {
2+
root: true,
3+
env: {
4+
browser: true,
5+
es2020: true
6+
},
7+
extends: [
8+
'eslint:recommended',
9+
'plugin:@typescript-eslint/recommended-type-checked',
10+
'plugin:@typescript-eslint/stylistic-type-checked',
11+
'plugin:react-hooks/recommended',
12+
'prettier'
13+
],
14+
ignorePatterns: [
15+
'dist',
16+
'.eslintrc.cjs'
17+
],
18+
parser: '@typescript-eslint/parser',
19+
parserOptions: {
20+
ecmaVersion: 'latest',
21+
sourceType: 'module',
22+
project: [
23+
'./tsconfig.json',
24+
'./tsconfig.node.json'
25+
],
26+
tsconfigRootDir: __dirname,
27+
},
28+
plugins: [
29+
'react-refresh',
30+
'simple-import-sort'
31+
],
32+
rules: {
33+
'prettier/prettier': 'off',
34+
'simple-import-sort/imports': 'error',
35+
'simple-import-sort/exports': 'error',
36+
'react-refresh/only-export-components': [
37+
'warn',
38+
{ allowConstantExport: true },
39+
],
40+
'@typescript-eslint/no-namespace': 'warn'
41+
},
42+
}

.github/renovate.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": [
4+
"config:base"
5+
],
6+
"packageRules": [
7+
{
8+
"packageNames": [
9+
"*"
10+
],
11+
"packagePatterns": [
12+
"^vite$",
13+
"^react$",
14+
"^react-dom$"
15+
],
16+
"depTypeList": [
17+
"devDependencies",
18+
"dependencies"
19+
],
20+
"groupName": "Vite React Updates",
21+
"automerge": false,
22+
"enabled": true,
23+
"timezone": "America/Wyoming",
24+
"packageRules": [
25+
{
26+
"updateTypes": [
27+
"minor",
28+
"patch"
29+
],
30+
"automerge": false
31+
}
32+
],
33+
"vulnerabilityAlerts": {
34+
"enabled": true,
35+
"schedule": [
36+
"after 9am on Sunday"
37+
],
38+
"commitMessagePrefix": "[SECURITY]"
39+
},
40+
"packageFileRules": [
41+
{
42+
"packageFile": "pnpm-lock.yaml",
43+
"groupName": "Vite React Updates"
44+
}
45+
]
46+
}
47+
]
48+
}

.github/workflows/build.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Build
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
branches:
8+
- main
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
node-version: [18.x]
15+
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Use Node.js ${{ matrix.node-version }}
19+
uses: actions/setup-node@v4
20+
- name: Setup Node.js and pnpm
21+
uses: pnpm/action-setup@v2
22+
with:
23+
version: 8
24+
- run: pnpm install --frozen-lockfile
25+
- run: pnpm run lint
26+
- run: pnpm run build

.github/workflows/cypress-e2e.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Cypress e2e
2+
on:
3+
push:
4+
branches-ignore:
5+
- "renovate/**"
6+
jobs:
7+
basic-pnpm:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout
11+
uses: actions/checkout@v4
12+
- name: Install pnpm
13+
run: npm install -g pnpm@8
14+
- name: Get pnpm store directory
15+
shell: bash
16+
run: |
17+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
18+
- name: Setup pnpm cache
19+
uses: actions/cache@v4
20+
with:
21+
path: ${{ env.STORE_PATH }}
22+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('./pnpm-lock.yaml') }}
23+
restore-keys: |
24+
${{ runner.os }}-pnpm-store-
25+
- name: Cypress run
26+
uses: cypress-io/github-action@v6
27+
with:
28+
working-directory: .
29+
build: pnpm run build
30+
env: host=localhost,port=4222
31+
start: pnpm run dev
32+
browser: chrome
33+
record: true
34+
env:
35+
# pass GitHub token to allow accurately detecting a build vs a re-run build
36+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37+
# pass the Cypress Cloud record key as an environment variable
38+
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
39+
# pass the project ID from the secrets through environment variable
40+
CYPRESS_PROJECT_ID: ${{ secrets.PROJECT_ID }}

.gitignore

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
19+
.DS_Store
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?
25+
26+
# Vite
27+
*.mjs
28+
29+
# Cypress
30+
cypress/screenshots/*
31+
cypress/videos/*

.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+
npx lint-staged

.npmrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
shamefully-hoist=true
2+
strict-peer-dependencies=false
3+
auto-install-peers=true
4+
public-hoist-pattern[]=workbox-window

0 commit comments

Comments
 (0)