mirror of
https://github.com/Xevion/linkpulse.git
synced 2025-12-06 11:15:34 -06:00
Setup frontend
This commit is contained in:
6
frontend/.gitignore
vendored
Normal file
6
frontend/.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
.eslintcache
|
||||||
|
.pnpm-debug.log
|
||||||
|
node_modules/
|
||||||
|
coverage/
|
||||||
|
dist/
|
||||||
|
tsconfig.tsbuildinfo
|
||||||
3
frontend/.prettierignore
Normal file
3
frontend/.prettierignore
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
coverage/
|
||||||
|
dist/
|
||||||
|
pnpm-lock.yaml
|
||||||
1
frontend/.tool-versions
Normal file
1
frontend/.tool-versions
Normal file
@@ -0,0 +1 @@
|
|||||||
|
nodejs 22.9.0
|
||||||
16
frontend/index.html
Normal file
16
frontend/index.html
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta
|
||||||
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1, shrink-to-fit=no"
|
||||||
|
/>
|
||||||
|
<meta name="theme-color" content="#fff" />
|
||||||
|
<title>App</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="root"></div>
|
||||||
|
<script src="/src/index.tsx" type="module"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
58
frontend/package.json
Normal file
58
frontend/package.json
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
{
|
||||||
|
"name": "linkpulse",
|
||||||
|
"version": "0.0.1",
|
||||||
|
"author": "Xevion <xevion@xevion.dev>",
|
||||||
|
"type": "module",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=22.0.0",
|
||||||
|
"pnpm": ">=9.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"react": "^18.3.1",
|
||||||
|
"react-dom": "^18.3.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@ianvs/prettier-plugin-sort-imports": "^4.2.1",
|
||||||
|
"@nkzw/eslint-config": "^1.16.0",
|
||||||
|
"@swc/core": "^1.6.5",
|
||||||
|
"@types/node": "^20.14.8",
|
||||||
|
"@types/react": "^18.3.3",
|
||||||
|
"@types/react-dom": "^18.3.0",
|
||||||
|
"@vitejs/plugin-react": "^4.3.1",
|
||||||
|
"autoprefixer": "^10.4.19",
|
||||||
|
"eslint": "^8.57.0",
|
||||||
|
"npm-run-all2": "^6.2.0",
|
||||||
|
"postcss": "^8.4.38",
|
||||||
|
"prettier": "^3.3.2",
|
||||||
|
"prettier-plugin-tailwindcss": "^0.6.5",
|
||||||
|
"tailwindcss": "^3.4.4",
|
||||||
|
"ts-node": "^10.9.2",
|
||||||
|
"typescript": "^5.5.2",
|
||||||
|
"vite": "^5.3.1",
|
||||||
|
"vitest": "^1.6.0"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"preinstall": "command -v git >/dev/null 2>&1 && git config core.hooksPath git-hooks || true",
|
||||||
|
"build": "vite build",
|
||||||
|
"dev:update-deps": "rm -rf pnpm-lock.yaml node_modules/ **/node_modules && pnpm install",
|
||||||
|
"dev": "vite dev",
|
||||||
|
"format": "prettier --write .",
|
||||||
|
"lint:format": "prettier --cache --check .",
|
||||||
|
"lint": "eslint --cache .",
|
||||||
|
"test": "npm-run-all --parallel tsc:check vitest:run lint lint:format",
|
||||||
|
"tsc:check": "tsc",
|
||||||
|
"vitest:run": "vitest run"
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
">0.2%",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
|
],
|
||||||
|
"pnpm": {
|
||||||
|
"updateConfig": {
|
||||||
|
"ignoreDependencies": [
|
||||||
|
"eslint"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
5200
frontend/pnpm-lock.yaml
generated
Normal file
5200
frontend/pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
6
frontend/postcss.config.cjs
Normal file
6
frontend/postcss.config.cjs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
module.exports = {
|
||||||
|
plugins: {
|
||||||
|
autoprefixer: {},
|
||||||
|
tailwindcss: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
7
frontend/prettier.config.mjs
Normal file
7
frontend/prettier.config.mjs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
export default {
|
||||||
|
plugins: [
|
||||||
|
'@ianvs/prettier-plugin-sort-imports',
|
||||||
|
'prettier-plugin-tailwindcss',
|
||||||
|
],
|
||||||
|
singleQuote: true,
|
||||||
|
};
|
||||||
3
frontend/run.sh
Executable file
3
frontend/run.sh
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
pnpm run dev
|
||||||
13
frontend/tailwind.config.cjs
Normal file
13
frontend/tailwind.config.cjs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
/** @type {import('tailwindcss').Config} */
|
||||||
|
module.exports = {
|
||||||
|
content: ['./src/**/*.{js,jsx,ts,tsx}', './*.html'],
|
||||||
|
darkMode: 'media',
|
||||||
|
mode: 'jit',
|
||||||
|
theme: {
|
||||||
|
extend: {
|
||||||
|
fontFamily: {
|
||||||
|
inter: ['Inter', 'sans-serif'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
33
frontend/tsconfig.json
Normal file
33
frontend/tsconfig.json
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"allowJs": true,
|
||||||
|
"allowImportingTsExtensions": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"incremental": true,
|
||||||
|
"isolatedModules": true,
|
||||||
|
"jsx": "preserve",
|
||||||
|
"lib": ["dom", "dom.iterable", "esnext"],
|
||||||
|
"module": "nodenext",
|
||||||
|
"moduleResolution": "nodenext",
|
||||||
|
"noEmit": true,
|
||||||
|
"noImplicitOverride": true,
|
||||||
|
"noUnusedLocals": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"strict": true,
|
||||||
|
"target": "es2017",
|
||||||
|
"types": ["vite/client"]
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules"],
|
||||||
|
"include": ["**/*.ts", "**/*.tsx"],
|
||||||
|
"ts-node": {
|
||||||
|
"transpileOnly": true,
|
||||||
|
"transpiler": "ts-node/transpilers/swc",
|
||||||
|
"files": true,
|
||||||
|
"compilerOptions": {
|
||||||
|
"module": "esnext",
|
||||||
|
"isolatedModules": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
6
frontend/vite.config.ts
Normal file
6
frontend/vite.config.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import react from '@vitejs/plugin-react';
|
||||||
|
import { defineConfig } from 'vite';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [react()],
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user