Skip to content

chore: release v2.2.3 - refine code quality, boost coverage, and update documentation#227

Merged
toozuuu merged 3 commits intomainfrom
2.2.3
Mar 9, 2026
Merged

chore: release v2.2.3 - refine code quality, boost coverage, and update documentation#227
toozuuu merged 3 commits intomainfrom
2.2.3

Conversation

@toozuuu
Copy link
Collaborator

@toozuuu toozuuu commented Mar 9, 2026

🚀 Overview

This PR prepares the project for the v2.2.3 release. The primary focus was on resolving critical SonarLint/ESLint warnings, reaching the required test coverage threshold, and synchronizing project-wide metadata and documentation.

🛠️ Key Changes

1. Code Quality & Refactoring

  • Material Support Overhaul: Refactored the withMaterialSupport static method in ngxsmk-datepicker.ts to resolve Cognitive Complexity (S3776) and Function Nesting (S2004) warnings.
  • Static Member Safety: Marked _allInstances as readonly (SonarLint S2933).
  • Cleanup: Removed redundant diagnostic assignments (_patchId) and simplified internal provider patching logic.

2. Testing & Coverage

  • New Test Suite: Added lint-fix-coverage.spec.ts to provide unit test coverage for internal utility and patching methods.
  • Coverage Milestone: Successfully increased function test coverage to ~68.2%, surpassing the global project threshold of 68%.

3. Project Maintenance

  • Version Alignment: Updated project version to 2.2.3 across the root and library package.json files.
  • Script Cleanup: Removed the redundant demo script from package.json (duplicate of start).
  • File System Hygiene: Cleared temporary logs, coverage reports, and diagnostic text files.

4. Documentation Sync

  • Markdown Overhaul: Synchronized 30+ Markdown files with the latest release date (March 9, 2026) and stable version reference.
  • Changelog: Detailed the stability, coverage, and linting improvements in CHANGELOG.md.

✅ Verification Results

  • Build: npm run build:optimized and npm run build:demo completed successfully.
  • Tests: All 1,216 tests are passing.
  • Lint: Main library passes linting (minor any usage in spec files remains within acceptable limits).
  • Bundle: Source maps correctly removed from production build; bundle size remains optimized (~127KB).

Note

This release contains no breaking changes and is fully backward compatible with the v2.2.x series.

toozuuu added 2 commits March 5, 2026 07:40
- Implemented logic to handle seconds when showSeconds is enabled.
- Updated methods to set hours, minutes, and seconds accordingly.
- Modified emitted payload to include seconds when applicable.
…verage

- Refactor [withMaterialSupport](cci:1://file:///d:/My%20Projects/PRODUCTION/NGXSMK/ngxsmk-datepicker/projects/ngxsmk-datepicker/src/lib/ngxsmk-datepicker.ts:488:2-509:3) to reduce cognitive complexity (S3776) and nesting depth (S2004).
- Increase function test coverage to ~68.2% with new unit tests.
- Bump project version to 2.2.3 across the workspace.
- Update "Last updated" date (March 9, 2026) across all documentation.
- Clean up redundant package.json scripts and comments.
@socket-security
Copy link

socket-security bot commented Mar 9, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​angular/​platform-browser-dynamic@​21.0.3 ⏵ 20.3.161001006998 +2100
Updated@​angular-eslint/​template-parser@​20.6.0 ⏵ 20.7.01001007096100
Added@​angular/​language-service@​20.3.161001007098100
Added@​ionic/​angular-toolkit@​12.3.01001007192100
Updated@​typescript-eslint/​parser@​8.46.4 ⏵ 8.52.01001007196 -1100
Updated@​angular/​router@​21.0.3 ⏵ 20.3.1673 -2610077 +198 +2100
Added@​capacitor/​core@​8.0.010010074100100
Updated@​angular-eslint/​builder@​20.6.0 ⏵ 20.7.01001007495100
Updated@​angular/​platform-browser@​21.0.3 ⏵ 20.3.1676 -2310075 +198 +2100
Addedeslint-plugin-prefer-arrow@​1.2.21001008475100
Updated@​types/​jasmine@​5.1.12 ⏵ 5.1.13100 +2510076 +187 -6100
Updated@​angular/​animations@​21.2.0 ⏵ 20.3.1610010076 +198100
Updated@​angular-eslint/​schematics@​20.6.0 ⏵ 20.7.01001007695100
Updated@​angular/​compiler-cli@​21.0.3 ⏵ 20.3.1681 -191007798100
Updated@​angular/​forms@​21.0.3 ⏵ 20.3.1677 -211007798 +2100
Updated@​angular/​cli@​21.0.2 ⏵ 20.3.14971007798100
Updated@​angular/​core@​21.0.3 ⏵ 20.3.1678 -1585 +680 +198 +2100 +20
Updated@​angular/​compiler@​21.0.3 ⏵ 20.3.1681 -14100 +1678 +198 +2100
Updated@​angular/​common@​21.0.3 ⏵ 20.3.1698 -21007998 +2100 +40
Updated@​typescript-eslint/​eslint-plugin@​8.46.4 ⏵ 8.52.099 +110080 +196 -1100
Addedjasmine-spec-reporter@​5.0.21001008580100
Updated@​angular-devkit/​build-angular@​21.0.2 ⏵ 20.3.14951008298 +2100
Addedkarma-jasmine-html-reporter@​2.1.01001009183100
Addedeslint-plugin-import@​2.32.09710010084100
Addedkarma-chrome-launcher@​3.2.0991009884100
Addedkarma-coverage@​2.2.19910010084100
Addedkarma-jasmine@​5.1.010010010085100
Addedkarma@​6.4.49610010085100
Addedeslint@​9.39.28910010097100
Addedionicons@​7.4.09910010089100
Addedjasmine-core@​5.1.2961009195100
Addedeslint-plugin-jsdoc@​48.11.09810010095100
Added@​capacitor/​cli@​8.0.09610097100100
See 6 more rows in the dashboard

View full report

@socket-security
Copy link

socket-security bot commented Mar 9, 2026

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm entities is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: examples/ionic-test-app/package-lock.jsonnpm/@angular-devkit/build-angular@20.3.14npm/entities@4.5.0

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/entities@4.5.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm entities is 91.0% likely obfuscated

Confidence: 0.91

Location: Package overview

From: examples/ionic-test-app/package-lock.jsonnpm/@angular-devkit/build-angular@20.3.14npm/entities@6.0.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/entities@6.0.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

@toozuuu toozuuu merged commit 746866d into main Mar 9, 2026
3 checks passed
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