Skip to content

Commit 8396128

Browse files
authored
Merge pull request #3 from siddharth-narayan-mishra/main
chore : initial setup
2 parents d88563e + 0225280 commit 8396128

17 files changed

Lines changed: 5142 additions & 0 deletions

.eslintrc.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es2021": true
5+
},
6+
"extends": [
7+
"eslint:recommended",
8+
"plugin:react/recommended",
9+
"plugin:react-hooks/recommended",
10+
"prettier"
11+
],
12+
"parserOptions": {
13+
"ecmaFeatures": {
14+
"jsx": true
15+
},
16+
"ecmaVersion": "latest",
17+
"sourceType": "module"
18+
},
19+
"plugins": ["react", "react-hooks"],
20+
"rules": {
21+
"react/react-in-jsx-scope": "off",
22+
"no-unused-vars": "warn"
23+
},
24+
"settings": {
25+
"react": {
26+
"version": "detect"
27+
}
28+
}
29+
}

.github/workflows/ci.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: CI/CD Pipeline
2+
on:
3+
push:
4+
branches: [ main ]
5+
pull_request:
6+
branches: [ main ]
7+
8+
jobs:
9+
build-and-test:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v3
13+
- name: Use Node.js
14+
uses: actions/setup-node@v3
15+
with:
16+
node-version: '22.x'
17+
cache: 'yarn'
18+
- name: Install Dependencies
19+
run: yarn install --frozen-lockfile
20+
- name: Lint
21+
run: yarn lint
22+
- name: Build
23+
run: yarn build

.gitignore

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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+
yarn.lock
15+
16+
# Editor directories and files
17+
.vscode/*
18+
!.vscode/extensions.json
19+
.idea
20+
.DS_Store
21+
*.suo
22+
*.ntvs*
23+
*.njsproj
24+
*.sln
25+
*.sw?
26+
.vercel

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
yarn lint-staged

.prettierrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"semi": true,
3+
"trailingComma": "es5",
4+
"singleQuote": true,
5+
"printWidth": 80,
6+
"tabWidth": 2,
7+
"useTabs": false
8+
}

babel.config.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export default {
2+
presets: [
3+
'@babel/preset-env',
4+
['@babel/preset-react', { runtime: 'automatic' }],
5+
],
6+
plugins: [
7+
'macros',
8+
[
9+
'styled-components',
10+
{
11+
ssr: true,
12+
displayName: true,
13+
preprocess: false,
14+
},
15+
],
16+
],
17+
};

eslint.config.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import js from '@eslint/js';
2+
import globals from 'globals';
3+
import react from 'eslint-plugin-react';
4+
import reactHooks from 'eslint-plugin-react-hooks';
5+
import reactRefresh from 'eslint-plugin-react-refresh';
6+
7+
export default [
8+
{ ignores: ['dist', 'node_modules'] },
9+
{
10+
files: ['**/*.{js,jsx}'],
11+
languageOptions: {
12+
ecmaVersion: 'latest',
13+
globals: {
14+
...globals.browser,
15+
},
16+
parserOptions: {
17+
ecmaFeatures: { jsx: true },
18+
sourceType: 'module',
19+
},
20+
},
21+
settings: {
22+
react: {
23+
version: '18.3',
24+
},
25+
},
26+
plugins: {
27+
react,
28+
'react-hooks': reactHooks,
29+
'react-refresh': reactRefresh,
30+
},
31+
rules: {
32+
...js.configs.recommended.rules,
33+
...react.configs.recommended.rules,
34+
...react.configs['jsx-runtime'].rules,
35+
...reactHooks.configs.recommended.rules,
36+
'react/jsx-no-target-blank': 'off',
37+
'react-refresh/only-export-components': [
38+
'warn',
39+
{ allowConstantExport: true },
40+
],
41+
},
42+
},
43+
];

index.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8" />
5+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7+
<title>Project Athena</title>
8+
</head>
9+
<body>
10+
<div id="root"></div>
11+
<script type="module" src="/src/main.jsx"></script>
12+
</body>
13+
</html>

package.json

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
{
2+
"name": "project-athena",
3+
"private": true,
4+
"version": "0.0.0",
5+
"type": "module",
6+
"scripts": {
7+
"dev": "vite",
8+
"build": "vite build",
9+
"preview": "vite preview",
10+
"lint": "eslint .",
11+
"lint:fix": "eslint . --fix",
12+
"prepare": "husky"
13+
},
14+
"lint-staged": {
15+
"src/**/*.{js,jsx}": [
16+
"eslint --fix",
17+
"prettier --write"
18+
]
19+
},
20+
"dependencies": {
21+
"@babel/core": "^7.0.0",
22+
"@emotion/react": "^11.13.5",
23+
"@emotion/styled": "^11.13.5",
24+
"react": "^18.3.1",
25+
"react-dom": "^18.3.1",
26+
"react-router": "^7.0.2",
27+
"styled-components": "^6.1.13",
28+
"twin.macro": "^3.4.1"
29+
},
30+
"devDependencies": {
31+
"@eslint/js": "^9.15.0",
32+
"@types/react": "^18.3.12",
33+
"@types/react-dom": "^18.3.1",
34+
"@types/styled-components": "^5.1.34",
35+
"@vitejs/plugin-react": "^4.3.4",
36+
"autoprefixer": "^10.4.20",
37+
"babel-plugin-macros": "^3.1.0",
38+
"babel-plugin-styled-components": "^2.1.4",
39+
"eslint": "^9.16.0",
40+
"eslint-config-prettier": "^9.1.0",
41+
"eslint-plugin-react": "^7.37.2",
42+
"eslint-plugin-react-hooks": "^5.1.0",
43+
"eslint-plugin-react-refresh": "^0.4.14",
44+
"globals": "^15.12.0",
45+
"husky": "^9.1.7",
46+
"lint-staged": "^15.2.10",
47+
"postcss": "^8.4.49",
48+
"prettier": "^3.4.2",
49+
"tailwindcss": "^3.4.16",
50+
"vercel": "^39.1.3",
51+
"vite": "^6.0.1"
52+
}
53+
}

postcss.config.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export default {
2+
plugins: {
3+
tailwindcss: {},
4+
autoprefixer: {},
5+
},
6+
};

0 commit comments

Comments
 (0)