Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b547dd9
feat(ui): add search clear icon and update button shapes
ProjectAJ14 Jul 25, 2025
fdd1421
fix(upload): increase file size limit and add error feedback
ProjectAJ14 Jul 25, 2025
613c0eb
feat(branding): update company info and add footer
ProjectAJ14 Jul 25, 2025
27bccf3
feat(ui): enhance SEO and add comprehensive copy functionality
ProjectAJ14 Jul 25, 2025
8d20d14
feat: add prettier formatting and enhance code quality
ProjectAJ14 Jul 25, 2025
f3ac338
feat(ui): implement JSON error cursor positioning with manual jump bu…
ProjectAJ14 Jul 25, 2025
181c4d8
docs(setup): add Claude Code instructions and available commands
ProjectAJ14 Jul 25, 2025
79c0bfd
docs(readme): enhance readme with badges, live demo link and improved…
ProjectAJ14 Jul 25, 2025
afa0de6
feat(json-parser): integrate professional error handling with auto-ju…
ProjectAJ14 Jul 25, 2025
20f2e1c
ci(pipeline): add comprehensive CI/CD workflows with quality gates an…
ProjectAJ14 Jul 25, 2025
93e934f
ci(workflows): simplify GitHub Actions to deploy and PR checks only
ProjectAJ14 Jul 25, 2025
ffa56fe
docs(counter): update visit counter URL to use HTTPS and consistent s…
ProjectAJ14 Jul 25, 2025
fe8124b
feat(fullscreen): add native browser fullscreen mode for JSON tree vi…
ProjectAJ14 Jul 25, 2025
e461bf5
fix(ui): improve json viewer usability and property display
ProjectAJ14 Jul 25, 2025
43b78e6
feat(ui): add dotted connecting lines to JSON tree structure
ProjectAJ14 Jul 25, 2025
2c97e6e
chore(deps): remove unused dependencies and tree line implementation
ProjectAJ14 Jul 25, 2025
5570552
feat(ui): update sample data structure for company and user information
ProjectAJ14 Jul 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
module.exports = {
root: true,
env: { browser: true, es2020: true },
env: {browser: true, es2020: true},
extends: [
'eslint:recommended',
'@typescript-eslint/recommended',
'eslint-plugin-react-hooks/recommended',
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:react-hooks/recommended",
],
ignorePatterns: ['dist', '.eslintrc.cjs'],
parser: '@typescript-eslint/parser',
plugins: ['react-refresh'],
ignorePatterns: ["dist", ".eslintrc.cjs"],
parser: "@typescript-eslint/parser",
plugins: ["react-refresh", "@typescript-eslint"],
rules: {
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
"react-refresh/only-export-components": [
"warn",
{allowConstantExport: true},
],
},
}
};
62 changes: 62 additions & 0 deletions .github/BRANCH_PROTECTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Branch Protection Setup

To ensure deployment only happens after linting passes, configure these branch protection rules in GitHub:

## Main Branch Protection

Navigate to: **Settings** > **Branches** > **Add rule**

### Protection Rules for `main` branch:

#### ✅ **Required Status Checks**
- [x] Require status checks to pass before merging
- [x] Require branches to be up to date before merging

**Required checks:**
- `code-quality` (from PR workflow)

#### ✅ **Additional Protection**
- [x] Require pull request reviews before merging
- [x] Dismiss stale PR approvals when new commits are pushed
- [x] Require review from code owners (if CODEOWNERS file exists)
- [x] Restrict pushes that create files that match protected paths
- [x] Require signed commits (recommended)

#### ✅ **Merge Options**
- [x] Require linear history
- [x] Include administrators (applies rules to admins too)
- [x] Allow force pushes: **DISABLED**
- [x] Allow deletions: **DISABLED**

## Workflow Dependencies

The simplified pipeline:

1. **Deployment Pipeline** (`deploy.yml`):
- Only runs on `main` branch
- Builds and deploys automatically

2. **PR Checks** (`pr-checks.yml`):
- Runs on all pull requests to `main`
- Executes `npm run code-quality` for code validation

## Quick Setup Commands

Run these in your repository settings:

```bash
# Enable branch protection via GitHub CLI (if available)
gh api repos/{owner}/{repo}/branches/main/protection \
--method PUT \
--field required_status_checks='{"strict":true,"checks":[{"context":"code-quality"}]}' \
--field enforce_admins=true \
--field required_pull_request_reviews='{"dismiss_stale_reviews":true,"require_code_owner_reviews":true}' \
--field restrictions=null
```

## Benefits

✅ **Code quality checks on all PRs**
✅ **Automatic deployment on main branch**
✅ **Simple and maintainable workflow**
✅ **Fast feedback loop for developers**
15 changes: 12 additions & 3 deletions .github/DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,19 @@ To enable automatic deployment, you need to add these secrets in your GitHub rep

## How It Works

- **Automatic Deployment**: Every push to `main` branch triggers a build and deployment
- **Pull Request Previews**: PRs create preview deployments for testing
### 🔄 **Simple CI/CD Pipeline**
1. **Deployment** (`deploy.yml`):
- **Only runs on `main` branch**
- Builds and deploys to Netlify automatically

2. **Pull Request Checks** (`pr-checks.yml`):
- Runs on all PRs to `main` branch
- Executes `npm run code-quality` (formatting, linting, build)

### 🚀 **Deployment Process**
- **Automatic Deployment**: Every push to `main` branch triggers build and deployment
- **Build Caching**: npm dependencies are cached for faster builds
- **Security Headers**: Netlify.toml includes security and performance headers
- **Quality Assurance**: PRs are checked for code quality before merging

## Manual Deployment

Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Build and Deploy to Netlify
name: Deploy to Netlify

on:
push:
branches: [ main ]

jobs:
build-and-deploy:
deploy:
runs-on: ubuntu-latest

steps:
Expand All @@ -21,9 +21,6 @@ jobs:
- name: Install Dependencies
run: npm ci

- name: Run Tests (if any)
run: npm run test --if-present

- name: Build Project
run: npm run build

Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: PR Code Quality Check

on:
pull_request:
branches: [ main ]

jobs:
code-quality:
runs-on: ubuntu-latest

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

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'

- name: Install Dependencies
run: npm ci

- name: Run Code Quality
run: npm run code-quality
35 changes: 35 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Build output
dist/
build/
*.js.map

# Dependencies
node_modules/

# Logs
*.log

# Environment files
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# IDE
.vscode/
.idea/

# OS
.DS_Store
Thumbs.db

# Test coverage
coverage/

# Package lock files
package-lock.json
yarn.lock

# Vite specific
dist/
20 changes: 20 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"semi": true,
"trailingComma": "es5",
"singleQuote": false,
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"bracketSpacing": false,
"bracketSameLine": false,
"arrowParens": "always",
"endOfLine": "lf",
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"embeddedLanguageFormatting": "auto",
"htmlWhitespaceSensitivity": "css",
"vueIndentScriptAndStyle": false,
"proseWrap": "preserve",
"insertPragma": false,
"requirePragma": false
}
19 changes: 19 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Claude Code Instructions

## Code Quality
After any code changes, always run:
```bash
npm run code-quality
```

This command runs:
- `npm run format` - Prettier formatting
- `npm run lint:fix` - ESLint with auto-fix
- `npm run build` - TypeScript compilation check

## Available Commands
- `npm run dev` - Start development server
- `npm run build` - Build for production
- `npm run lint` - Run ESLint
- `npm run format` - Format code with Prettier
- `npm run preview` - Preview production build
Loading