Skip to content

chore: update development tooling and configurations #49

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

RMNCLDYO
Copy link

Description

This PR updates the project's development tooling and configurations to their latest versions and best practices. The changes include updates to TypeScript, ESLint, Vite, and React, along with configuration improvements.

Changes

1. TypeScript Configuration

  • Restructured TypeScript configuration using project references
  • Split configurations into multiple files for better organization:
    • tsconfig.json - Base configuration
    • tsconfig.app.json - Application-specific settings
    • tsconfig.node.json - Node.js specific settings
  • Updated to TypeScript 5.8.3

2. ESLint Configuration

  • Migrated from .eslintrc.cjs to new flat config format in eslint.config.js
  • Updated to ESLint 9 with new plugins and rules
  • Added support for TypeScript and React with improved type checking
  • Configured React Hooks and Fast Refresh rules

3. Package Updates

  • Updated React from 18 to 19
  • Updated Vite from 5 to 6.3.5
  • Updated TypeScript from 5.3.3 to 5.8.3
  • Updated @xyflow/react from 12.3.6 to 12.6.4
  • Added new dev dependencies:
    • @eslint/js
    • globals
    • typescript-eslint

4. Build System

  • Updated build script to use tsc -b for project references
  • Simplified lint script to leverage new ESLint flat config
  • Added "private": true to prevent accidental publishing
  • Moved license field to top-level for better visibility

5. main.tsx Modernization

  • Updated to use named imports from 'react' and 'react-dom/client'
  • Removed need for React import in JSX
  • Added .tsx extension to App import for better module resolution
  • Improved code style consistency

6. CSS File Reorganization

  • Moved global styles to index.css
  • Created new App.css for layout-specific styles
  • Improved separation of concerns between global and component styles
  • Updated imports in respective components

7. TypeScript Optimizations

  • Updated imports to use import type for type-only imports
  • Improved tree-shaking by explicitly marking type imports
  • Enhanced code clarity by making type imports explicit

8. Vite Configuration

  • Updated Vite documentation URL to new domain

Testing

  • Verify TypeScript compilation for both application and build scripts
  • Check for any new type errors in the codebase
  • Test build process and development server
  • Verify Vite configuration works correctly with the new TypeScript setup
  • Ensure React components compile correctly with JSX transform
  • Run ESLint to verify no new linting errors
  • Test React Fast Refresh functionality
  • Verify editor integration with the new ESLint configuration
  • Test production build and preview

Breaking Changes

  • ESLint configuration has been migrated to the new flat config format
  • Build script now uses tsc -b for project references
  • Node.js 18+ is now required due to updated dependencies
  • Some ESLint rules may behave differently with the new configuration

RMNCLDYO added 8 commits May 22, 2025 09:33
- Split tsconfig into base, app, and node configurations
- Updated target to ES2022/ES2023
- Enabled strict type checking and linting rules
- Added build info files for incremental compilation
- Replaced .eslintrc.cjs with eslint.config.js
- Updated to ESLint 9 with new plugins
- Added TypeScript and React support
- Configured React Hooks and Fast Refresh rules
- React 18 → 19
- Vite 5 → 6.3.5
- TypeScript 5.3.3 → 5.8.3
- @xyflow/react 12.3.6 → 12.6.4
- Added new dev dependencies
- Marked project as private
- Updated Vite config documentation URL to new domain
- Moved global styles to index.css
- Created App.css for layout-specific styles
- Improved separation of concerns
- Updated to use 'import type' for type-only imports
- Improves tree-shaking and code clarity
- Follows TypeScript best practices
- Changed DOCTYPE to lowercase for consistency
- Follows HTML5 standards
- Updated to use named imports from 'react' and 'react-dom/client'
- Removed React namespace usage
- Added .tsx extensions for better module resolution
- Improved code style consistency
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant