Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
6d0ca56
feat(website-v2): scaffold Next.js 15 with design system, UI lib, lay…
Mar 15, 2026
056b708
fix: remove unused imports in AnimatedCounter and Navbar
Mar 15, 2026
0b72f6d
feat(website-v2): hero section with gradient mesh + static playground…
Mar 15, 2026
52cc431
feat(website-v2): complete homepage - stats, features, code, MCP, VS …
Mar 15, 2026
a9bed4b
feat(website-v2): VS Code, Benchmarks, Privacy, 404 pages
Mar 15, 2026
a6e7d77
feat(website-v2): full playground page with 4 tabs and WASM
Mar 15, 2026
7b94189
feat(website-v2): docs system with sidebar, TOC, MDX rendering
Mar 15, 2026
a6f43b6
feat(website-v2): blog system with changelog splitting + sitemap
Mar 15, 2026
5fd706a
chore: add CC-BY-4.0 and MPL-2.0 to license allowlist (caniuse-lite, …
Mar 16, 2026
b247866
fix(website-v2): address review - CSP headers, typed props, error bou…
Mar 16, 2026
7b92e17
ci: add automated Lighthouse CI checks for website
Mar 17, 2026
9fe09d2
feat(website-v2): bundle analyzer, next/image, WASM service worker ca…
Mar 17, 2026
7cfe576
fix(ci): use next start instead of serve for Lighthouse CI
Mar 17, 2026
1939d38
security: bump Go from 1.23 to 1.25.8 - fixes 5 stdlib vulnerabilities
Mar 17, 2026
e31eca6
fix(ci): use Go 1.26 in all workflows (1.25 unavailable on macOS/Wind…
Mar 17, 2026
fde7304
fix: update golangci-lint for Go 1.26 compatibility
Mar 17, 2026
56a6b35
fix(ci): scope Claude review to code files and enable sticky comments
Mar 17, 2026
3c4f5d0
fix(ci): grant pull-requests write permission for Claude review
Mar 17, 2026
230f749
fix(ci): bypass OIDC workflow validation by passing github_token expl…
Mar 17, 2026
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
12 changes: 12 additions & 0 deletions .github/lighthouse/lighthouserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"ci": {
"assert": {
"assertions": {
"categories:performance": ["warn", { "minScore": 0.85 }],
"categories:accessibility": ["error", { "minScore": 0.95 }],
"categories:seo": ["error", { "minScore": 0.95 }],
"categories:best-practices": ["warn", { "minScore": 0.85 }]
}
}
}
}
20 changes: 11 additions & 9 deletions .github/workflows/claude-code-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@ name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
# Optional: Only run on specific file changes
# paths:
# - "src/**/*.ts"
# - "src/**/*.tsx"
# - "src/**/*.js"
# - "src/**/*.jsx"
paths:
- "**/*.go"
- "**/*.ts"
- "**/*.tsx"
- "**/*.js"
- "**/*.jsx"
- "go.mod"
- "go.sum"

jobs:
claude-review:
Expand All @@ -21,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
pull-requests: write
issues: read
id-token: write

Expand All @@ -36,6 +38,7 @@ jobs:
uses: anthropics/claude-code-action@beta
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}

# Optional: Specify model (defaults to Claude Sonnet 4, uncomment for Claude Opus 4.1)
# model: "claude-opus-4-1-20250805"
Expand All @@ -51,8 +54,7 @@ jobs:

Be constructive and helpful in your feedback.

# Optional: Use sticky comments to make Claude reuse the same comment on subsequent pushes to the same PR
# use_sticky_comment: true
use_sticky_comment: true

# Optional: Customize review based on file types
# direct_prompt: |
Expand Down
51 changes: 51 additions & 0 deletions .github/workflows/lighthouse.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Lighthouse CI

on:
push:
branches: [main]
paths:
- 'website/**'
pull_request:
paths:
- 'website/**'
workflow_dispatch:

jobs:
lighthouse:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
cache-dependency-path: website/package-lock.json

- name: Install and build website
run: |
cd website
npm ci
npm run build

- name: Start local server
run: |
cd website
npx next start -p 3000 &
sleep 5

- name: Run Lighthouse
uses: treosh/lighthouse-ci-action@v12
with:
urls: |
http://localhost:3000/
http://localhost:3000/playground
http://localhost:3000/docs
configPath: '.github/lighthouse/lighthouserc.json'
uploadArtifacts: true

- name: Check scores
run: |
echo "Lighthouse audit complete. Check artifacts for detailed results."
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: '1.26'

- name: golangci-lint
uses: golangci/golangci-lint-action@v7
with:
version: v2.6.2
version: v2.11.3
args: --timeout=10m --config=.golangci.yml
verify: false

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: '1.26'

- name: Run tests
run: go test -race ./...
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21' # Match project requirements in go.mod
go-version: '1.26' # Match project requirements in go.mod
cache: true

- name: Run GoSec Security Scanner
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
# to handle golang.org/x packages which report as compound license
allow-licenses: >-
MIT, Apache-2.0, BSD-2-Clause, BSD-3-Clause, ISC,
BlueOak-1.0.0, OFL-1.1,
BlueOak-1.0.0, OFL-1.1, CC-BY-4.0, MPL-2.0,
LicenseRef-scancode-google-patent-license-golang,
BSD-3-Clause AND LicenseRef-scancode-google-patent-license-golang

Expand All @@ -182,7 +182,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21' # Match project requirements in go.mod
go-version: '1.26' # Match project requirements in go.mod
cache: true

- name: Install govulncheck
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: ['1.23', '1.24']
go-version: ['1.26']

steps:
- uses: actions/checkout@v4
Expand All @@ -34,7 +34,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
go: ['1.23', '1.24']
go: ['1.26']
env:
# Prevent Go from auto-downloading toolchain which conflicts with setup-go cache
GOTOOLCHAIN: local
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: '1.26'
cache: true

- name: Run tests with race detector
Expand All @@ -87,7 +87,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: '1.26'
cache: true

- name: Run benchmarks
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/vscode-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version: '1.26'

- name: Cross-compile binary
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.23'
go-version: '1.26'

- name: Build WASM
run: |
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co

GoSQLX is a **production-ready**, **race-free**, high-performance SQL parsing SDK for Go that provides lexing, parsing, and AST generation with zero-copy optimizations. The library is designed for enterprise use with comprehensive object pooling for memory efficiency.

**Requirements**: Go 1.23+ (upgraded from 1.21 when MCP server was added; `mark3labs/mcp-go` requires 1.23)
**Requirements**: Go 1.25+ (upgraded from 1.23 to fix stdlib vulnerabilities; `mark3labs/mcp-go` requires 1.23)

**Production Status**: ✅ Validated for production deployment (v1.6.0+, current: v1.12.0)
- Thread-safe with zero race conditions (20,000+ concurrent operations tested)
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Stage 1: Build
FROM golang:1.23-alpine AS builder
FROM golang:1.25-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

### Parse SQL at the speed of Go

[![Go Version](https://img.shields.io/badge/Go-1.23+-00ADD8?style=for-the-badge&logo=go)](https://go.dev)
[![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?style=for-the-badge&logo=go)](https://go.dev)
[![Release](https://img.shields.io/github/v/release/ajitpratap0/GoSQLX?style=for-the-badge&color=orange)](https://github.com/ajitpratap0/GoSQLX/releases)
[![License](https://img.shields.io/badge/License-Apache--2.0-blue.svg?style=for-the-badge)](LICENSE)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com)
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/ajitpratap0/GoSQLX

go 1.23.0
go 1.26.1

require (
github.com/fsnotify/fsnotify v1.9.0
Expand Down
46 changes: 43 additions & 3 deletions website/.gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,44 @@
node_modules/
dist/
.astro/
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

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

# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts

# WASM binary (built in CI)
public/wasm/gosqlx.wasm
36 changes: 36 additions & 0 deletions website/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app).

## Getting Started

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
14 changes: 0 additions & 14 deletions website/astro.config.mjs

This file was deleted.

Loading
Loading