feat: modernize align with dancing links#7
Open
TimBeyer wants to merge 14 commits into
Open
Conversation
- 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>
There was a problem hiding this comment.
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)
🤖 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.