Skip to content

feat: modernize align with dancing links#7

Open
TimBeyer wants to merge 14 commits into
masterfrom
feat/modernize-align-with-dancing-links
Open

feat: modernize align with dancing links#7
TimBeyer wants to merge 14 commits into
masterfrom
feat/modernize-align-with-dancing-links

Conversation

@TimBeyer

@TimBeyer TimBeyer commented Aug 8, 2025

Copy link
Copy Markdown
Owner

No description provided.

TimBeyer and others added 12 commits July 15, 2025 17:34
- Add comprehensive development documentation for Claude Code
- Include code quality standards and commit guidelines
- Document project architecture and constraint generation logic
- Provide performance guidelines and CLI usage instructions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Update package.json: bump dancing-links to ^4.3.0, update dependencies
- Replace TSLint with ESLint using modern flat config
- Add Prettier configuration matching dancing-links
- Update TypeScript configuration to ES2022/ESNext
- Add new npm scripts for formatting and modern builds
- Remove deprecated configuration files

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Migrate from deprecated findRaw API to new DancingLinks factory API
- Update constraint generation to use new sparse constraint format
- Remove dependency on legacy Row interface
- Add commitlint configuration for conventional commits
- Modernize benchmark structure with better organization and error handling
- Remove outdated mocha.opts file in favor of package.json configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Apply consistent code formatting across all TypeScript, JavaScript, JSON, and Markdown files
- Update all configurations to follow modern formatting standards
- Ensure consistency with dancing-links project style

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add build, test, lint, and commitlint workflows
- Configure Node.js matrix testing (20, 22, 24)
- Add coverage reporting and artifact uploads
- Include Copilot instructions adapted for sudoku domain
- Complete CI/CD alignment with dancing-links project

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove outdated .circleci/config.yml (used Node.js 10)
- Remove codecov badge from README (codecov dependency was removed)
- Complete migration from CircleCI to GitHub Actions workflows

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add type declarations for external sudoku solver dependencies
- Fix unused variable warnings in benchmark code
- Remove incorrect usage of require() in ES module
- Verified benchmarks run successfully with new dancing-links API
- Performance results show competitive speeds vs other JS implementations

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add benchmark.yml workflow for automated performance comparisons on PRs
- Add JSON output support to benchmark script with --json flag
- Create benchmark comparison script with performance analysis and emoji indicators
- Add npm scripts for benchmark:json and compare-benchmarks
- Implement multi-Node.js version testing (20, 22, 24)
- Auto-update PR comments with benchmark results vs merge-base
- Support baseline comparison with fallback for missing benchmark:json script

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com)
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Use consistent field names: benchmarkName, opsPerSec, margin, runs, deprecated
- Remove invented fields like hz, rme, samples that don't match dancing-links
- Update comparison script to use correct property names
- Ensure JSON output format matches dancing-links exactly
- Fix fastest solver detection to use numeric comparison

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Complete CI/CD alignment with dancing-links by adding automated
release workflow using conventional commits and npm publishing.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@TimBeyer TimBeyer requested a review from Copilot August 8, 2025 06:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR modernizes the sudoku-dlx package to align with the dancing-links v4.3.0 library, transitioning from CommonJS to ES modules and upgrading the build toolchain. It updates the package to use modern TypeScript, ESLint, and Prettier while maintaining the core sudoku solving functionality.

  • Upgrade dancing-links dependency from v2.1.1 to v4.3.0 with new API usage
  • Convert package to ES modules with updated imports/exports and Node.js 20+ requirement
  • Replace TSLint with ESLint and add Prettier for code formatting

Reviewed Changes

Copilot reviewed 22 out of 26 changed files in this pull request and generated no comments.

Show a summary per file
File Description
package.json Updates dependencies, adds ES module support, modernizes scripts and tooling
index.ts Refactors solver implementation to use new dancing-links v4.3.0 API
lib/index.ts Adds SudokuConstraint interface and modernizes code formatting
test/unit/index.spec.ts Updates import paths for ES modules and reformats test data
tsconfig.dev.json Simplifies config by extending base tsconfig and updating paths
eslint.config.js Adds new ESLint configuration replacing TSLint
benchmark/index.ts Modernizes benchmark script with JSON output and better organization
scripts/compare-benchmarks.ts Adds new script for comparing benchmark results
Comments suppressed due to low confidence (1)

TimBeyer and others added 2 commits August 8, 2025 08:40
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add scripts/**/*.ts configuration to ESLint using tsconfig.dev.json
- Add CHANGELOG.md exclusion to format commands for consistency
- Resolves linting errors for scripts directory

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
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.

2 participants