Shadcn migration to standalone#1
Merged
Merged
Conversation
- Add Vitest for testing framework - Add Stryker for mutation testing - Add ESLint configuration - Add TypeScript configuration updates - Update package.json scripts for testing and building - Update .gitignore for new build artifacts
- Add Vitest configuration for unit testing - Add Stryker mutation testing configuration - Add integration test scripts for component processing - Add test result comparison utilities - Add test coverage and mutation testing support
- Add comprehensive TypeScript interfaces for registry items - Define schema for component metadata, files, and dependencies - Add type definitions for CSS variables and configuration - Add core registry functionality and type exports
- Add schema validation for registry items - Add dependency tree resolution utilities - Add file path processing and content transformation - Add comprehensive test coverage for utility functions - Add error handling and validation helpers
- Add main processor for handling registry item installation - Add dependency installation and npm package management - Add file creation with path replacement and content transformation - Add CSS variables and TypeScript path configuration - Add comprehensive test coverage for processor functionality
- Add process orchestration for registry operations - Add base functionality for file operations and path handling - Add support for local file and remote URL processing - Add component name resolution and error handling - Add comprehensive test coverage for process functionality
- Add configuration validation and management - Add support for registry-specific configuration options - Add test coverage for configuration functionality - Update configuration to work with new registry system
- Update main app to use new registry functionality - Add support for registry-based component installation - Add test coverage for app functionality - Remove old test file and update app structure
- Update README with comprehensive registry system documentation - Add usage examples and configuration details - Add architecture overview and component descriptions - Add TODO tracking for completed and future features - Document registry format and configuration options
- Add ESLint configuration for code quality - Remove old lib.ts file (replaced by modular structure) - Remove old test.tsx file (replaced by comprehensive test suite) - Clean up project structure
- Convert eslint.config.js to eslint.config.ts with proper ESM syntax - Convert stryker.conf.cjs to stryker.conf.ts for mutation testing - Convert vitest.config.js to vitest.config.ts for test configuration - Remove .cjs and .js config files to maintain ESM consistency - This ensures all configuration files use modern ES modules syntax
- Convert scripts/compare-results.cjs to scripts/compare-results.ts - Convert scripts/test-integration.cjs to scripts/test-integration.ts - Add proper ES module imports and exports - Use fileURLToPath for __dirname equivalent in ESM - Remove old .cjs script files to maintain consistency - This enables modern ES module syntax in all script files
- Convert scripts/compare-results.test.js to scripts/compare-results.test.ts - Add proper TypeScript types and imports - Update test imports to use ES module syntax - Remove old .js test file to maintain consistency - This ensures all test files use TypeScript for better type safety
- Update package.json scripts to use ts-node/esm for TypeScript execution - Add scripts directory to tsconfig.json include paths - Ensure all scripts can be executed with proper TypeScript support - This enables running TypeScript files directly with ES module support
- Fix generateCSSVars method to properly iterate nested CSSVars objects - Previously output '--theme: [object Object]' instead of individual variables - Now correctly outputs '--foo: red; --bar: blue;' for nested objects - Maintains backward compatibility for flat string values - Fixes failing test 'appends CSS variables to globals.css'
- Wrap case blocks with lexical declarations in curly braces - Fixes 3 ESLint errors: 'Unexpected lexical declaration in case block' - Affects tsconfig.json handling and package.json script addition logic - Ensures proper scoping of variables declared within case statements - Required for build process to pass linting checks
- Replace (fs as any) with proper type assertions using 'unknown' - Change errorArgs: any[] to errorArgs: unknown[] for better type safety - Fixes 4 ESLint errors: 'Unexpected any. Specify a different type' - Maintains test functionality while improving type safety - Required for build process to pass linting checks
- Add jiti@^2.4.2 as a runtime dependency - Required by ESLint to load TypeScript configuration files - Fixes build error: 'The jiti library is required for loading TypeScript configuration files' - jiti provides runtime TypeScript support for configuration files - Enables ESLint to properly parse tsconfig.json and other TypeScript configs
- Comment out console.warn statements for file system operations - Suppresses 'Could not read directory', 'Could not stat', and 'Skipping symlink' warnings - Maintains error handling functionality while reducing test output noise - Improves readability of test results and CI output - Warnings were expected behavior for edge case testing but cluttered output
…er before each commit
Moves the integration test step to after the build in the CI workflow. This ensures the codebase is built and all build artifacts are available before running integration tests, which depend on a successful build for accurate results.
I had forgotten to use --save-dev at one point
also added --yes to skip confirmations
JeremiahSecrist
force-pushed
the
shadcn-migraation-to-standalone
branch
from
August 5, 2025 02:46
185efde to
8b1a884
Compare
doesnt work in ci cd right now will fix soon
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.
This pr while rather large has been tested to make sure it works without relying on shadcn's cli tool.
This was done in part to make sure we are not limited in what features we can add going forward or the exact implementation that we must constrain to.