Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
65f095a
Merge pull request #3 from SauravBeginner/ui_fixed
hkirat May 22, 2024
cdcd26e
feat: added mines game backend, modified backend folder structure and…
nimit9 Jul 14, 2024
53a1ca2
feat: added mines game backend, modified backend folder structure and…
nimit9 Jul 14, 2024
0bd5383
feat: added limbo game
nimit9 Jul 14, 2024
34886fb
feat: added limbo game
nimit9 Jul 14, 2024
ad79acd
fix: dont need to pass cursor
nimit9 Jul 14, 2024
009f225
fix: dont need to pass cursor
nimit9 Jul 14, 2024
3677b1d
fix: modified Plinkoo to use rng seeding
nimit9 Jul 14, 2024
6d059c9
fix: modified Plinkoo to use rng seeding
nimit9 Jul 14, 2024
e8b91f0
added dice and keno backend
nimit9 Jul 19, 2024
f10db08
added dice and keno backend
nimit9 Jul 19, 2024
7002e4c
feat: initialize project structure with frontend and backend setup, i…
nimit9 Mar 14, 2025
523dbcf
chore: remove obsolete audio assets including images, videos, and doc…
nimit9 Mar 14, 2025
2c96fd1
Merge branch 'main' of github.com:nimit9/plinkoo
nimit9 Mar 14, 2025
6b31292
Revert "Merge branch 'main' of github.com:nimit9/plinkoo"
nimit9 Mar 14, 2025
361f240
chore: update pnpm-lock.yaml with new Radix UI packages and versions;…
nimit9 Mar 15, 2025
f86141b
feat: enhance dice betting functionality by adding bet amount validat…
nimit9 Mar 15, 2025
c497196
refactor: standardize import statements and formatting in routeTree.g…
nimit9 Mar 15, 2025
de10493
feat: implement provably fair system with seed management, verificati…
nimit9 Mar 17, 2025
0e73d4b
feat: add functionality to reveal server seed by its hash, including …
nimit9 Mar 18, 2025
b634bdc
refactor: remove RevealedSeed component and update database schema wi…
nimit9 Mar 18, 2025
c7d5877
fix: update button styling in UnhashServerSeed component for improved…
nimit9 Mar 18, 2025
4c484c4
feat: add fetch bets list api and added ui on FE
nimit9 Mar 20, 2025
c77fcec
refactor: update betting functionality to handle amounts in cents, en…
nimit9 Mar 21, 2025
fb0134a
feat: implement roulette game components including betting controls, …
nimit9 Mar 22, 2025
4b18d65
refactor: remove unnecessary React imports from multiple components t…
nimit9 Mar 22, 2025
fed62c7
feat: implement new betting components and enhance drag-and-drop func…
nimit9 Mar 22, 2025
1672b8d
refactor: simplify betting component labels and enhance hover effects…
nimit9 Mar 22, 2025
76ba4da
feat: enhance roulette betting functionality with improved state mana…
nimit9 Mar 23, 2025
8255b5a
fix: correct betId assignment in BottomNumberBets component and remov…
nimit9 Mar 23, 2025
4ece0db
refactor: streamline imports and enhance type usage across various co…
nimit9 Mar 23, 2025
8fbe0dd
refactor: remove balance store and transition to react-query for bala…
nimit9 Mar 29, 2025
0c07510
feat: integrate framer-motion for enhanced animations in roulette gam…
nimit9 Mar 31, 2025
e442807
feat: implement mines game functionality with enhanced validation, us…
nimit9 Mar 31, 2025
85423aa
feat: add mines game integration with enhanced API responses, user au…
nimit9 Apr 3, 2025
3b354b1
Setup husky and lint-staged for pre-commit checks
nimit9 Apr 3, 2025
dbb3444
refactor: update user balance handling to store as string and improve…
nimit9 Apr 5, 2025
ec1f807
refactor: standardize code formatting and improve consistency across …
nimit9 Apr 12, 2025
187db55
chore: add GitHub Actions workflow for linting and formatting on pull…
nimit9 Apr 12, 2025
6c368a8
feat: add GitHub Actions workflow for deploying frontend to S3 and Cl…
nimit9 Apr 13, 2025
6ebcd4e
chore: remove cache configuration for PNPM in frontend deployment wor…
nimit9 Apr 13, 2025
93216b4
feat: add GitHub Actions workflow for deploying backend to production…
nimit9 Apr 13, 2025
bec96ae
feat: add Dockerfile for API service setup, including Node.js environ…
nimit9 Apr 13, 2025
cf44b3e
feat: add TypeScript configuration file for compiler options and modu…
nimit9 Apr 13, 2025
62a3c33
fix: update SSH configuration in backend deployment workflow to use s…
nimit9 Apr 13, 2025
c7fbebc
feat: add build step for API service in Dockerfile to ensure proper c…
nimit9 Apr 13, 2025
ccc1457
chore: add .dockerignore file to exclude unnecessary files from Docke…
nimit9 Apr 13, 2025
617643e
chore: update Dockerfile.api to install OpenSSL 1.1 and other require…
nimit9 Apr 13, 2025
c4c26ff
chore: update Dockerfile.api to use node:22-slim and install OpenSSL …
nimit9 Apr 13, 2025
f06fe23
chore: add VITE_APP_API_URL to environment variables in turbo.json fo…
nimit9 Apr 13, 2025
3f67647
chore: add vercel.json configuration file for routing setup in fronte…
nimit9 Apr 13, 2025
f18d4ec
chore: update deployment workflows to trigger on 'dont-deploy' branch…
nimit9 Apr 13, 2025
b04c79c
chore: update text sizes in various components for improved readabili…
nimit9 May 10, 2025
fccef22
chore: add db:migrate script to package.json and update packageManage…
nimit9 May 10, 2025
e2e20bb
feat(keno): implement keno game functionality and UI components
nimit9 May 10, 2025
b724952
feat(keno): implement betting functionality with user balance checks …
nimit9 May 10, 2025
6aec100
feat(keno): enhance betting functionality with request validation and…
nimit9 May 11, 2025
5a142f7
feat(keno): add Keno game support with UI components and verification…
nimit9 May 11, 2025
cd20501
feat(blackjack): implement initial Blackjack game functionality with …
nimit9 May 11, 2025
12e4a82
feat(blackjack): add Blackjack game implementation with betting contr…
nimit9 May 27, 2025
b92f01d
feat(blackjack): implement comprehensive Blackjack game features incl…
nimit9 Jun 1, 2025
f28002a
feat: add playing card component and assets for blackjack game
nimit9 Aug 1, 2025
ce3e086
feat(user): add active bet check in rotateSeed to prevent seed rotati…
nimit9 Aug 23, 2025
d482f9c
feat: update page title to 'Sim Casino' in index.html
nimit9 Aug 23, 2025
aafd82f
feat: add react-hot-toast for notification handling and implement err…
nimit9 Aug 23, 2025
11e29e8
feat(blackjack): implement game table and betting controls; enhance c…
nimit9 Aug 23, 2025
1c3892b
feat(blackjack): add unique IDs to cards in game state and actions fo…
nimit9 Aug 23, 2025
09843ea
feat(blackjack): enhance card and game state management with new card…
nimit9 Aug 23, 2025
c2d6f2f
feat: Add landing page with hero section, featured games, core featur…
nimit9 Aug 24, 2025
65f9079
feat(betting): implement centralized betting middleware and utilities…
nimit9 Aug 24, 2025
37a9fa4
feat(header): wrap logo image in Link component for improved navigation
nimit9 Aug 24, 2025
c0fd26e
feat(mines): enhance game logic with user instance handling and valid…
nimit9 Aug 24, 2025
ef42e04
feat(keno): refactor placeBet to use centralized transaction handling…
nimit9 Aug 24, 2025
633c798
feat(roulette): implement validation middleware for roulette bets and…
nimit9 Aug 24, 2025
d4bbc82
feat: add responsive viewport handling and update betting tables with…
nimit9 Aug 25, 2025
c2b189b
feat(mines): update tile sizes for responsiveness and enhance layout …
nimit9 Aug 25, 2025
dcf5c0a
feat(mines): update tile sizes for responsiveness and enhance layout …
nimit9 Aug 25, 2025
7a9499d
feat(keno): enhance responsive design for BettingControls and KenoTil…
nimit9 Aug 25, 2025
b41c6e4
feat(roulette): enhance component structure and responsiveness in Rou…
nimit9 Aug 26, 2025
18c6c2d
feat: enhance responsiveness and layout adjustments in various compon…
nimit9 Aug 27, 2025
e9427d6
feat(blackjack): add result breakdown and preview components; enhance…
nimit9 Aug 27, 2025
ddf004b
feat: enhance provably fair documentation and routing
nimit9 Aug 28, 2025
e4dfa87
feat: add Bets, Logout, and User icons; enhance Header with dropdown …
nimit9 Aug 30, 2025
9fd4c07
feat: update turbo.json formatting and add BetData interface
nimit9 Aug 30, 2025
df866cb
feat(dice): implement DiceBetViz component and integrate game control…
nimit9 Aug 30, 2025
9a40323
feat(mines): implement MinesBetViz and MinesContainer components; enh…
nimit9 Aug 30, 2025
24d9bac
feat(bets): filter inactive bets in getTopBets and getUserBets functions
nimit9 Aug 31, 2025
41c1626
feat(auth): remove deprecated authentication middleware
nimit9 Aug 31, 2025
51351a1
feat(games): throw NotFoundError for inactive games in blackjack and …
nimit9 Aug 31, 2025
f81d09e
refactor(auth): replace requireAuth middleware with isAuthenticated i…
nimit9 Aug 31, 2025
86f01e3
feat(blackjack, keno): add BlackjackBetViz and KenoBetViz components;…
nimit9 Aug 31, 2025
0f077ad
feat: enhance betting functionality and user experience
nimit9 Sep 7, 2025
2a7f46d
feat: update bet handling and remove roulette references across compo…
nimit9 Sep 12, 2025
8bfd0a6
feat: implement rate limiting for betting endpoints and add Redis sup…
nimit9 Sep 27, 2025
da37ab4
refactor: rename server variable to app and improve graceful shutdown…
nimit9 Sep 27, 2025
a77307d
refactor: remove Redis store configuration from rate limiting middlew…
nimit9 Sep 27, 2025
945d52b
refactor: update deployment workflow for AWS EC2 with improved naming…
nimit9 Sep 27, 2025
4590bfd
refactor: enhance Dockerfile for improved build process and security …
nimit9 Sep 27, 2025
8aa12a7
refactor: update Dockerfile to copy Prisma schema from the new databa…
nimit9 Sep 27, 2025
339e5b9
refactor: remove console.log statements from game visualization compo…
nimit9 Sep 27, 2025
19bda85
refactor: comment out push trigger and paths in backend deployment wo…
nimit9 Sep 27, 2025
4ba6a28
refactor: comment out local authentication routes in auth.router.ts
nimit9 Sep 27, 2025
b908aa2
refactor: update keyGenerator to use ipKeyGenerator for improved requ…
nimit9 Sep 27, 2025
8f9eab4
Refactor authentication flow and remove unused components
nimit9 Sep 27, 2025
515480e
feat: add backend deployment workflow for DigitalOcean
nimit9 Sep 27, 2025
482b46c
refactor: update backend deployment workflow for DigitalOcean
nimit9 Sep 27, 2025
0501aea
refactor: update backend deployment workflow to AWS EC2 and improve d…
nimit9 Sep 27, 2025
13e791c
fix: change exposed port from 3000 to 5000 in Dockerfile.api
nimit9 Sep 27, 2025
0099a72
feat: enhance DigitalOcean deployment with environment variables and …
nimit9 Sep 27, 2025
348494e
fix: update CMD in Dockerfile.api to point to the correct entry file
nimit9 Sep 27, 2025
c35d0da
refactor: streamline Dockerfile.api by removing dev dependencies and …
nimit9 Sep 27, 2025
ed6d162
refactor: simplify Dockerfile.api by removing multi-stage build and u…
nimit9 Sep 27, 2025
5e4ee2e
feat: enhance Google OAuth integration with improved error handling a…
nimit9 Sep 27, 2025
36c28b3
refactor: improve code readability in server.ts by formatting comment…
nimit9 Sep 27, 2025
8d2baeb
refactor: format fetchPost call in cashOut function for improved read…
nimit9 Sep 27, 2025
2161018
feat: add Privacy Policy and Terms and Conditions pages with structur…
nimit9 Sep 27, 2025
8749e73
feat: add Privacy Policy and Terms and Conditions routes
nimit9 Sep 27, 2025
62386c3
feat: Update Privacy Policy and Terms and Conditions pages
nimit9 Sep 27, 2025
ddded34
feat: update featured games list with Mines and Blackjack details
nimit9 Sep 27, 2025
b54b952
feat: add showCloseIcon prop to DialogContent for conditional close b…
nimit9 Sep 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
41 changes: 41 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Dependencies
node_modules
.pnpm-store

# Lockfile backups
pnpm-lock.yaml.bak

# Build outputs
dist
build
.next
.turbo

# Git
.git
.gitignore

# Environment
.env*
!.env.example

# Docker
.dockerignore
**/Dockerfile
docker-compose.yml

# Debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# System Files
.DS_Store
Thumbs.db

# Testing
coverage

# Cache
.eslintcache
88 changes: 88 additions & 0 deletions .github/workflows/backend-deploy-do.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# This workflow deploys the backend application to a DigitalOcean Droplet.
# It builds a simple Docker image (without PM2) and runs it on the server.

name: Deploy Backend to Production (DigitalOcean - Simple)

on:
push:
branches:
- main
paths:
- 'apps/api/**'
- 'packages/**'
- 'pnpm-lock.yaml'
- '.github/workflows/backend-deploy-do.yml'
- 'Docker/Dockerfile.api'
workflow_dispatch: # Allow manual triggering

jobs:
deploy:
name: Build and Deploy Backend to DigitalOcean Droplet
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

- name: Build and Push Docker Image
uses: docker/build-push-action@v5
with:
context: .
# This should point to your simplified Dockerfile
file: ./Docker/Dockerfile.api
push: true
tags: |
${{ secrets.DOCKER_USERNAME }}/simcasino-api:latest
${{ secrets.DOCKER_USERNAME }}/simcasino-api:${{ github.sha }}

- name: Deploy to DigitalOcean Droplet
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.DO_SSH_HOST }}
username: ${{ secrets.DO_SSH_USERNAME }}
key: ${{ secrets.DO_SSH_KEY }}
script: |
set -e
echo "🚀 Starting simple deployment on the server..."

# 1. Pull the latest image
echo "1/3: Pulling latest Docker image..."
docker pull ${{ secrets.DOCKER_USERNAME }}/simcasino-api:latest

# 2. Stop and remove the existing container
echo "2/3: Stopping and removing existing container..."
docker stop simcasino-api || true
docker rm simcasino-api || true

# Run the new container with environment variables from GitHub Secrets
docker run -d \
--name simcasino-api \
--restart always \
-p 5000:5000 \
-e NODE_ENV=production \
-e DATABASE_URL="${{ secrets.DATABASE_URL }}" \
-e COOKIE_SECRET="${{ secrets.COOKIE_SECRET }}" \
-e CORS_ORIGIN="${{ secrets.CORS_ORIGIN }}" \
-e GOOGLE_CLIENT_ID="${{ secrets.GOOGLE_CLIENT_ID }}" \
-e GOOGLE_CLIENT_SECRET="${{ secrets.GOOGLE_CLIENT_SECRET }}" \
-e CLIENT_URL="${{ secrets.CLIENT_URL }}" \
-e API_BASE_URL="${{ secrets.API_BASE_URL }}" \
-e GOOGLE_CALLBACK_URL="${{ secrets.GOOGLE_CALLBACK_URL }}" \
-e COOKIE_DOMAIN="${{ secrets.COOKIE_DOMAIN }}" \
${{ secrets.DOCKER_USERNAME }}/simcasino-api:latest

- name: Deployment Notification
if: success()
run: |
echo "✅ Backend successfully deployed to AWS EC2."
echo " Commit: ${{ github.sha }}"
echo " Image Tag: ${{ secrets.DOCKER_USERNAME }}/simcasino-api:${{ github.sha }}"
78 changes: 78 additions & 0 deletions .github/workflows/backend-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Deploy Backend to Production (AWS EC2)

on:
# push:
# branches:
# - main
# paths:
# - 'apps/api/**'
# - 'packages/**'
# - 'pnpm-lock.yaml'
# - '.github/workflows/backend-deploy.yml'
# - 'Docker/Dockerfile.api'
workflow_dispatch: # Allow manual triggering

jobs:
deploy:
name: Build and Deploy Backend to AWS EC2
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}

- name: Build and Push Docker Image
uses: docker/build-push-action@v5
with:
context: .
file: ./Docker/Dockerfile.api
push: true
tags: |
${{ secrets.DOCKER_USERNAME }}/simcasino-api:latest
${{ secrets.DOCKER_USERNAME }}/simcasino-api:${{ github.sha }}

- name: Deploy to AWS EC2
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
script: |
# Pull the latest Docker image from Docker Hub
docker pull ${{ secrets.DOCKER_USERNAME }}/simcasino-api:latest

# Stop and remove the existing container to prevent conflicts
# '|| true' ensures the script doesn't fail if the container doesn't exist
docker stop simcasino-api || true
docker rm simcasino-api || true

# Run the new container with environment variables from GitHub Secrets
docker run -d \
--name simcasino-api \
--restart always \
-p 5000:5000 \
-e NODE_ENV=production \
-e DATABASE_URL="${{ secrets.DATABASE_URL }}" \
-e COOKIE_SECRET="${{ secrets.COOKIE_SECRET }}" \
-e CORS_ORIGIN="${{ secrets.CORS_ORIGIN }}" \
-e GOOGLE_CLIENT_ID="${{ secrets.GOOGLE_CLIENT_ID }}" \
-e GOOGLE_CLIENT_SECRET="${{ secrets.GOOGLE_CLIENT_SECRET }}" \
-e CLIENT_URL="${{ secrets.CLIENT_URL }}" \
-e REDIRECT_URL="${{ secrets.REDIRECT_URL }}" \
${{ secrets.DOCKER_USERNAME }}/simcasino-api:latest

- name: Deployment Notification
if: success()
run: |
echo "✅ Backend successfully deployed to AWS EC2."
echo " Commit: ${{ github.sha }}"
echo " Image Tag: ${{ secrets.DOCKER_USERNAME }}/simcasino-api:${{ github.sha }}"
87 changes: 87 additions & 0 deletions .github/workflows/frontend-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Deploy Frontend to S3 and CloudFront

on:
push:
branches:
- dont-deploy
paths:
- 'apps/frontend/**'
- 'packages/**'
- 'pnpm-lock.yaml'
- '.github/workflows/frontend-deploy.yml'
workflow_dispatch: # Allow manual triggering

env:
NODE_VERSION: 22.14.0 # Latest LTS version
PNPM_VERSION: 9.9.0

jobs:
build-and-deploy:
name: Build and Deploy Frontend
runs-on: ubuntu-latest
permissions:
id-token: write # Needed for AWS OIDC authentication
contents: read

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install PNPM
run: npm install -g pnpm@${{ env.PNPM_VERSION }}

- name: Setup Environment Variables
run: |
echo "VITE_APP_API_URL=${{ secrets.VITE_APP_API_URL }}" >> .env
echo "VITE_APP_VERSION=${GITHUB_SHA::7}" >> .env
echo "VITE_APP_ENVIRONMENT=production" >> .env
working-directory: ./apps/frontend

- name: Install Dependencies
run: pnpm install --frozen-lockfile

- name: Build Frontend
run: pnpm run build --filter=frontend

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Deploy to S3
run: |
aws s3 sync ./apps/frontend/dist/ s3://${{ secrets.S3_BUCKET_NAME }}/ \
--delete \
--cache-control "max-age=31536000,public" \
--exclude "*.html" \
--exclude "robots.txt" \
--exclude "sitemap.xml"

# Upload HTML files with different cache settings
aws s3 sync ./apps/frontend/dist/ s3://${{ secrets.S3_BUCKET_NAME }}/ \
--cache-control "max-age=0,no-cache,no-store,must-revalidate" \
--content-type "text/html" \
--exclude "*" \
--include "*.html" \
--include "robots.txt" \
--include "sitemap.xml"

- name: Invalidate CloudFront Distribution
run: |
aws cloudfront create-invalidation \
--distribution-id ${{ secrets.CLOUDFRONT_DISTRIBUTION_ID }} \
--paths "/*"

- name: Deployment Notification
if: success()
run: |
echo "Frontend successfully deployed to production."
echo "Commit: ${GITHUB_SHA::7}"
echo "Branch: ${GITHUB_REF#refs/heads/}"
22 changes: 22 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Linting and Formatting the PR

on:
pull_request:
branches:
- '**'

jobs:
Continuous-Integration:
name: Performs linting and formatting on the PR
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@v3
- name: Setup pnpm
uses: pnpm/action-setup@v2
- name: Install dependencies
run: pnpm install
- name: Lint
run: pnpm lint
- name: Format
run: pnpm format
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.DS_Store
node_modules
.turbo
*.log
.next
dist
dist-ssr
*.local
.env
.cache
server/dist
public/dist
5 changes: 5 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

# Run lint-staged to check staged files
npx lint-staged
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
auto-install-peers = true
8 changes: 8 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"semi": true,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "es5",
"printWidth": 80,
"arrowParens": "avoid"
}
17 changes: 17 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"eslint.workingDirectories": [
{
"mode": "auto"
}
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always"
},
"editor.formatOnSave": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
]
}
Loading