Skip to content

Conversation

@NewKrok
Copy link
Owner

@NewKrok NewKrok commented Oct 16, 2025

No description provided.

- Update package.json with modern npm package configuration
- Add comprehensive devDependencies for build, test, and code quality
- Create tsconfig.json with ES2020 target and strict TypeScript settings
- Convert JavaScript modules to TypeScript with proper typing
- Add new src/ structure with TypeScript files
- Maintain backward compatibility with existing exports
- Prepare for build system with webpack and testing with jest
- Add webpack.config.js with ES module output and TypeScript support
- Configure terser minification with console removal
- Add bundle analyzer for build size monitoring
- Set THREE.js as external dependency to avoid bundling
- Generate complete dist/ folder with compiled JS and TypeScript definitions
- Successfully create 3.8KB minified bundle
- Include source maps for debugging
- Add eslint.config.mjs with TypeScript and import rules
- Configure Prettier with consistent formatting rules
- Apply automatic code formatting to all source files
- Set up import ordering and newline enforcement
- Configure TypeScript-specific linting rules
- Enable prettier integration with ESLint
- Fix all formatting issues across the codebase
- Add jest.config.js with TypeScript and ESM support
- Configure Babel for Jest with TypeScript preset
- Create test infrastructure in src/__tests__ directory
- Add unit tests for TokenUtils with incremental ID validation
- Add comprehensive TimeUtils tests with various time patterns
- Achieve 100% test coverage on tested modules
- Configure coverage reporting with text and lcov formats
- Enable ES module transformation for testing
- Add commitlint configuration for conventional commits
- Set up Husky pre-commit hooks for linting and testing
- Add commit-msg hook for commit message validation
- Create GitHub Actions workflow for automated testing
- Configure CI to run on master and v2 branches
- Update .gitignore with comprehensive patterns
- Enable automatic quality checks before commits
- Ensure build verification in CI pipeline
- Remove coverage/ directory from version control
- Remove dist/bundle-report.json from tracking
- These files are now properly ignored by .gitignore
- Generated files should not be committed to repository
- Remove deprecated husky.sh sourcing from hook files
- Simplify hook scripts for Husky v9+ compatibility
- Maintain pre-commit linting and testing functionality
- Keep commit message validation with commitlint
- Bump version to 2.0.0 reflecting major modernization
- Add TypeDoc configuration for automatic documentation generation
- Configure typedoc-plugin-markdown for enhanced docs
- Create .npmignore to exclude development files from package
- Add docs generation to prepublishOnly script
- Update .gitignore to exclude generated documentation
- Ensure clean package distribution with only essential files
- Move webpack bundle report to project root instead of dist folder
- Update .npmignore to exclude bundle-report.json from root
- Reduce npm package size from 7.9kB to 7.5kB
- Ensure only essential files are included in published package
- Add lint.yml for isolated linting on pull requests
- Add bundle-size-check.yml for tracking bundle size changes
- Add circular-dependencies.yml using madge for dependency analysis
- Add publish-npm.yml for automated NPM publishing on releases
- Add typedoc.yml for automated documentation deployment
- Add codeql-analysis.yml for security vulnerability scanning
- Update all workflows to use Node.js 20 and latest GitHub Actions
- Configure proper permissions and caching for optimal performance
- Update TypeDoc workflow to use contents: write permission
- Upgrade to peaceiris/actions-gh-pages@v4 for better compatibility
- Add explicit user credentials for github-actions[bot]
- Remove redundant Jekyll disable step (handled by action)
- Enable proper GitHub Pages deployment from v2 and master branches
- Remove pull_request trigger to avoid unnecessary docs generation
- Focus on master and v2 branch deployments only
- Reduce GitHub Actions usage while maintaining functionality
- Add professional badges (GitHub Actions, NPM, Bundle Size)
- Add detailed Features section with all utility modules
- Add Live Demo section with 'Coming Soon' placeholder
- Add comprehensive Installation section (NPM + CDN)
- Add detailed Usage examples with multiple import patterns
- Add modular import examples for tree-shaking
- Add Asset/Audio module usage examples
- Add Used In section referencing three-game project
- Add Contributing and License sections
- Follow structure similar to three-particles repository
- converted JavaScript audio implementation to TypeScript with proper types
- added complete audio functionality (playAudio, stopAudio, volume controls)
- implemented registerAudioBuffer and getAudioBuffer in assets.ts
- added proper TypeScript interfaces for AudioConfig, PlayAudioParams, AudioCacheEntry
- fixed module exports and imports for proper ES module resolution
- integrated audio and assets modules into main exports
- applied code formatting with prettier
- build now completes successfully without errors
- converted JavaScript assets.js to TypeScript with comprehensive type definitions
- created loaders.ts with proper TypeScript implementations for all asset types
- added detailed interfaces for MaterialConfig, LoadAssetsParams, and asset entries
- implemented complete asset registry system with proper THREE.js types
- converted all register/get functions for FBX, GLTF, texture, and audio assets
- added createMaterial and applyMaterialConfig functions with type safety
- converted main loadAssets function with proper async/Promise handling
- updated deepDispose function to handle THREE.Object3D types properly
- fixed all module imports/exports for ES module compatibility
- applied code formatting with prettier
- build completes successfully with full TypeScript asset system
- Removed legacy JS files from src/js/newkrok/three-utils/
- All files have been successfully converted to TypeScript
- Cleanup includes main utility files, assets, and audio modules
- Project now uses pure TypeScript source structure
- Add complete test coverage for all utility modules
- callback-utils: 10 tests covering CallLimits constants and timing logic
- dispose-utils: 13 tests with Three.js mocking for material/geometry disposal
- geom-utils: 14 tests for geometric calculations with Vector3
- object-utils: 21 tests for complex object operations (patch, merge, diff)
- vector3-utils: 8 tests for Vector3 absolute value mutations
- Enhanced time-utils: additional edge cases and TimePattern validation
- Enhanced token-utils: rapid calls and consistency testing

Total: 81 tests with 100% statement coverage, 96.8% branch coverage
All tests passing with comprehensive edge case handling
@github-actions
Copy link
Contributor

Bundle Size Report

$(cat bundle-report.json)

@github-advanced-security
Copy link

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

@NewKrok NewKrok merged commit 8b62813 into master Oct 16, 2025
9 checks passed
@NewKrok NewKrok deleted the v2 branch October 16, 2025 20:44
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