Skip to content
This repository was archived by the owner on Aug 8, 2025. It is now read-only.

Commit 0776918

Browse files
authored
Initial commit
0 parents  commit 0776918

Some content is hidden

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

53 files changed

+11297
-0
lines changed

.eslintignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.eslintrc.js

.eslintrc.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
module.exports = {
2+
env: {
3+
browser: true,
4+
commonjs: true,
5+
es2021: true,
6+
},
7+
extends: [
8+
'plugin:react/recommended',
9+
'airbnb',
10+
'airbnb-typescript',
11+
],
12+
parser: '@typescript-eslint/parser',
13+
parserOptions: {
14+
ecmaFeatures: {
15+
jsx: true,
16+
},
17+
ecmaVersion: 'latest',
18+
project: './tsconfig.json',
19+
},
20+
plugins: [
21+
'react',
22+
'@typescript-eslint',
23+
],
24+
rules: {
25+
// General
26+
'no-use-before-define': 'off',
27+
'@typescript-eslint/no-use-before-define': ['error'],
28+
'no-shadow': 'off',
29+
'@typescript-eslint/no-shadow': ['error'],
30+
'no-unused-vars': 'off',
31+
'@typescript-eslint/no-unused-vars': ['error'],
32+
// React and JSX
33+
'react/jsx-filename-extension': [1, { extensions: ['.tsx'] }],
34+
'react/jsx-one-expression-per-line': 'off',
35+
'react/function-component-definition': [2, { namedComponents: 'arrow-function', unnamedComponents: 'arrow-function' }],
36+
// Code styling related
37+
'react/jsx-curly-newline': 'off',
38+
'object-curly-newline': 'off',
39+
'function-paren-newline': 'off',
40+
'implicit-arrow-linebreak': 'off',
41+
'react/jsx-wrap-multilines': [
42+
'error',
43+
{
44+
declaration: 'parens-new-line',
45+
assignment: 'parens-new-line',
46+
return: 'parens-new-line',
47+
arrow: 'parens-new-line',
48+
condition: 'parens-new-line',
49+
logical: 'ignore',
50+
prop: 'ignore',
51+
},
52+
],
53+
'operator-linebreak': [1, 'after'],
54+
'linebreak-style': 'off',
55+
// Import related
56+
'import/prefer-default-export': 'off',
57+
'import/no-default-export': 'error',
58+
'react/require-default-props': 'off',
59+
'import/extensions': [
60+
'error',
61+
'ignorePackages',
62+
{
63+
js: 'never',
64+
jsx: 'never',
65+
ts: 'never',
66+
tsx: 'never',
67+
},
68+
],
69+
},
70+
};

.github/workflows/lighthouse.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Lighthouse Report Generation
2+
3+
4+
on:
5+
push:
6+
branches: [ main ]
7+
pull_request:
8+
branches: [ main ]
9+
10+
jobs:
11+
lighthouse:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
17+
- name: 'Installing Build Deps'
18+
run: npm i -g pnpm
19+
20+
- name: 'Installing deps'
21+
run: |
22+
pnpm i
23+
npm i -g @lhci/[email protected] serve
24+
25+
- name: 'Build Prodcution'
26+
run: pnpm build
27+
28+
- name: 'Serve Prodcution Server'
29+
run: serve -s build &
30+
31+
- name: 'Run Lighthouse tests'
32+
continue-on-error: true
33+
run: lhci autorun
34+
35+
- name: 'Upload report'
36+
uses: actions/upload-artifact@v4
37+
if: always()
38+
with:
39+
name: lhci-reports
40+
path: |
41+
.lighthouseci/
42+
# if-no-files-found: error
43+
# if: ${{ success() && steps.lighthouse.outputs.hasHtmlReport == 'true' && steps.lighthouse.outputs.hasJsonReport == 'true' }}

.github/workflows/mr.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Action before Merge
2+
3+
on:
4+
pull_request:
5+
branches: [ main ]
6+
7+
jobs:
8+
build:
9+
10+
runs-on: ubuntu-latest
11+
12+
strategy:
13+
matrix:
14+
node-version: [18.x]
15+
16+
steps:
17+
- uses: actions/checkout@v1
18+
- name: Use Node.js ${{ matrix.node-version }}
19+
uses: actions/setup-node@v1
20+
with:
21+
node-version: ${{ matrix.node-version }}
22+
- name: 'Installing deps'
23+
run: npm i -g pnpm && pnpm i
24+
- name: 'Predeploy' # no need to add test and everything seperately, we ensure everything with predeploy
25+
run: pnpm predeploy

.github/workflows/pipeline.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Build and Publish to GH Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
7+
jobs:
8+
build:
9+
10+
runs-on: ubuntu-latest
11+
12+
strategy:
13+
matrix:
14+
node-version: [18.x]
15+
16+
steps:
17+
- uses: actions/checkout@v1
18+
- name: Use Node.js ${{ matrix.node-version }}
19+
uses: actions/setup-node@v1
20+
with:
21+
node-version: ${{ matrix.node-version }}
22+
23+
- name: 'Installing build deps'
24+
run: npm i -g pnpm
25+
- name: 'Installing deps'
26+
run: pnpm i
27+
# - name: 'Test'
28+
# run: pnpm test
29+
- name: 'Build'
30+
run: pnpm build #--if-present
31+
- name: 'Deploy'
32+
uses: peaceiris/actions-gh-pages@v4
33+
with:
34+
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
35+
publish_dir: ./build
36+
allow_empty_commit: true

.github/workflows/snap.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Take Snap of Rendered Page
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
7+
jobs:
8+
snap:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- uses: actions/checkout@v2
13+
14+
- name: 'Installing build deps'
15+
run: npm i -g pnpm
16+
17+
- name: 'Installing deps'
18+
run: pnpm i && npm i -g serve && npx --yes puppeteer browsers install chrome
19+
20+
- name: 'Build Prodcution'
21+
run: pnpm build
22+
23+
- name: 'Serve Prodcution Server'
24+
run: serve -s build -p 5173 &
25+
26+
- name: 'Installing System Deps'
27+
run: sudo apt update -y && sudo apt install -y libgbm1
28+
29+
- name: 'Take Snap'
30+
run: node puppeteer/snap.js
31+
32+
- name: 'Upload report'
33+
uses: actions/upload-artifact@v4
34+
if: always()
35+
with:
36+
name: snap-of-homepage
37+
path: |
38+
homepage.png

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2+
3+
# dependencies
4+
/node_modules
5+
/.pnp
6+
.pnp.js
7+
8+
# testing
9+
/coverage
10+
11+
# production
12+
/build
13+
14+
# misc
15+
.DS_Store
16+
.env.local
17+
.env.development.local
18+
.env.test.local
19+
.env.production.local
20+
21+
npm-debug.log*
22+
yarn-debug.log*
23+
yarn-error.log*
24+
25+
# cypress
26+
cypress/screenshots

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)