laconic-deployer-frontend/standards/current-tech-reference.md

12 KiB

Comprehensive Technology Documentation & GitHub Links (March 2025)

Last updated: March 3, 2025

Core Toolchain

Technology Current Version Documentation GitHub Repository
Turborepo 2.4.0 turbo.build/repo vercel/turborepo
Next.js 15 App Router 15.0.0 nextjs.org/docs/app vercel/next.js
Biome 2.0.0 biomejs.dev biomejs/biome
PNPM 10.5.2 pnpm.io pnpm/pnpm

Styling & UI

Technology Current Version Documentation GitHub Repository
Tailwind CSS v4 4.0.0 tailwindcss.com/docs/v4 tailwindlabs/tailwindcss
ShadCN UI 2.0.0 ui.shadcn.com shadcn-ui/ui
Radix UI 3.0.0 radix-ui.com radix-ui/primitives
Lucide (icons library) 1.0.0 lucide.dev lucide-icons/lucide
Sonner 2.1.0 sonner.dev sonnerjs/sonner

Language & Validation

Technology Current Version Documentation GitHub Repository
TypeScript 6.0.0 typescriptlang.org/docs microsoft/TypeScript
Zod 4.0.0 zod.dev colinhacks/zod

React Ecosystem

Technology Current Version Documentation GitHub Repository
React 19.2.0 react.dev facebook/react
React Hook Form 9.0.0 react-hook-form.com react-hook-form/react-hook-form
React OAuth Popup 3.0.1 react-oauth-popup.dev react-oauth/popup
React Testing Library 15.0.0 testing-library.com/react testing-library/react-testing-library

Data & Utilities

Technology Current Version Documentation GitHub Repository
GraphQL June 2021 Specification graphql.org graphql/graphql-spec
Axios 1.8.1 axios-http.com/docs axios/axios
Date-FNS 4.1.0 date-fns.org date-fns/date-fns
Recharts 3.0.0 recharts.org recharts/recharts
UUID 9.0.1 uuid.dev uuidjs/uuid

Testing & Development Tools

Technology Current Version Documentation GitHub Repository
Vitest 2.0.0 vitest.dev vitest-dev/vitest
Jest 30.0.0 jestjs.io jestjs/jest
Playwright 1.45.0 playwright.dev microsoft/playwright
Cypress 13.6.0 cypress.io cypress-io/cypress
Storybook 8.0.0 storybook.js.org storybookjs/storybook
Left Hook 0.9.4 lefthook.dev evilmartians/lefthook
GitHub N/A (Platform) docs.github.com N/A
Gitea 2.5.0 docs.gitea.com go-gitea/gitea
Octokit 8.0.0 octokit.github.io octokit/rest.js

Web3 & Authentication

Technology Current Version Documentation GitHub Repository
Web3Modal 3.0.0 web3modal.com WalletConnect/web3modal
SIWE (Sign-In with Ethereum) 2.0.0 login.xyz spruceid/siwe
Reown Wallet Kit 3.0.0 walletconnect.com WalletConnect/walletconnect-monorepo
Clerk 5.0.0 clerk.com/docs clerkinc/javascript

Laconic Network & Infrastructure

Technology Current Version Documentation GitHub Repository
Laconic Network 2.1.0 laconic.com/docs laconic-network
Laconic.com N/A laconic.com laconic-network/portal
Laconic Web Wallet 1.4.0 wallet.laconic.com laconic-network/wallet

Additional Web3 Tools for React

Technology Current Version Purpose Documentation GitHub Repository
Wagmi 2.0.0 Ethereum Hooks wagmi.sh wagmi-dev/wagmi
The Graph 2.1.0 Blockchain Indexing thegraph.com/docs graphprotocol/graph-node
Hardhat 3.0.0 Smart Contract Development hardhat.org NomicFoundation/hardhat
IPFS 0.28.0 Decentralized Storage docs.ipfs.tech ipfs/js-ipfs
Viem 2.0.0 Ethereum Interface viem.sh wagmi-dev/viem
Ethers.js 6.1.0 Ethereum Library docs.ethers.org ethers-io/ethers.js

React 19 Key Features (New in 2025)

React 19, released in December 2024, includes several major improvements:

  1. React Server Components (RSC): Now fully integrated in the stable release
  2. Actions: Simplifies data fetching and state updates, especially for forms
  3. Document Metadata: Built-in support for managing document metadata (titles, descriptions, meta tags)
  4. Concurrent Rendering: Improved performance for complex UI updates
  5. Enhanced Hooks: New hooks and improvements to existing ones
  6. Performance Optimization: Significant improvements in rendering speed and memory usage
  7. Better Developer Experience: Improved error messages and debugging tools

Migration Notes

When upgrading between major versions, consider these important points:

  1. Turborepo 2.x to 3.x: Expected in late 2025, will likely focus on improved remote caching and better integration with CI/CD pipelines
  2. Next.js 15 to 16: Will likely focus on enhanced server components and improved data fetching patterns
  3. Tailwind CSS 4 to 5: May introduce new utility classes and performance optimizations
  4. React 19 to 20: Will continue the focus on concurrent rendering and server components
  5. Testing Framework Migrations:
    • Jest to Vitest: Use the compatibility mode for easier migration, then leverage Vitest's faster performance
    • Cypress to Playwright: Consider migrating for better parallel test execution and multi-browser support

Best Practices for 2025

  1. Adopt Server Components: Leverage React Server Components for improved performance and reduced client-side JavaScript
  2. Embrace Type Safety: Use TypeScript and Zod together for end-to-end type safety
  3. Component Libraries: Consider using ShadCN UI with Tailwind CSS for rapid UI development
  4. Monorepo Structure: Use Turborepo and PNPM for efficient management of monorepos
  5. Testing Strategy: Implement comprehensive testing with a layered approach:
    • Unit Testing: Vitest (faster than Jest, better ESM support) or Jest
    • Component Testing: React Testing Library with either Vitest or Jest
    • E2E Testing: Playwright (recommended for Next.js 15) or Cypress
  1. AI Integration: More tools integrating AI capabilities for code generation and optimization
  2. Edge Computing: Increased focus on edge rendering and computing
  3. Web3 Mainstream Adoption: Simplified Web3 integration in traditional applications
  4. Zero-Bundle Size: Components that ship no JavaScript to the client
  5. Hybrid Rendering Strategies: Combination of static, server, and client rendering based on content type
  6. Automated Testing: Increased adoption of AI-assisted test generation and maintenance
  7. Visual Testing: Growing importance of visual regression testing in the UI development workflow

Next.js 15 Testing Setup Guide

Setting up a robust testing environment for Next.js 15 applications involves configuring multiple testing tools for different layers of your application:

1. Unit and Component Testing

Choose between Vitest (recommended) or Jest:

# For Vitest (faster, better ESM support)
npm install -D vitest @testing-library/react @testing-library/jest-dom happy-dom

# For Jest
npm install -D jest @testing-library/react @testing-library/jest-dom jest-environment-jsdom
# Install Playwright
npm init playwright@latest

# Or with specific browsers
npx playwright install --with-deps chromium firefox webkit

Example Next.js 15 Playwright Test:

// e2e/example.spec.ts
import { test, expect } from '@playwright/test';

test('homepage has the correct title', async ({ page }) => {
  await page.goto('/');
  await expect(page).toHaveTitle(/My Next.js App/);
});

test('navigation works correctly', async ({ page }) => {
  await page.goto('/');
  await page.click('text=About');
  await expect(page).toHaveURL(/.*about/);
});

3. Playwright Configuration for Next.js 15

// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  testDir: './e2e',
  webServer: {
    command: 'npm run dev',
    url: 'http://localhost:3000',
    reuseExistingServer: !process.env.CI,
  },
  use: {
    baseURL: 'http://localhost:3000',
    trace: 'on-first-retry',
  },
});

4. Adding Scripts to package.json

{
  "scripts": {
    "test": "vitest", // or "jest"
    "test:e2e": "playwright test",
    "test:e2e:ui": "playwright test --ui"
  }
}

This documentation is current as of March 2025. Version numbers and links are subject to change as technologies evolve.