Skip to content

Conversation

@mcabreradev
Copy link
Owner

Description

Brief description of changes

Type of Change

  • ✨ New feature
  • πŸ› οΈ Bug fix
  • ❌ Breaking change
  • 🧹 Code refactor
  • πŸ“ Documentation
  • πŸ—‘οΈ Chore

Changes Made

  • List specific changes
  • Include technical details
  • Mention any breaking changes

Testing

  • Unit tests added/updated
  • Type tests added/updated
  • Integration tests added/updated
  • All tests pass locally

Documentation

  • Documentation updated
  • Examples added/updated
  • API reference updated

Checklist

  • Code builds successfully
  • No TypeScript errors
  • No linter issues
  • Follows coding standards

…tetime operators

- Updated troubleshooting guide with detailed solutions for geospatial and datetime query issues.
- Added new sections for geospatial queries, datetime filters, and performance optimizations.
- Expanded operators implementation summary to include new geospatial and datetime operators.
- Updated installation instructions to include yarn and pnpm.
- Revised changelog to reflect the addition of 30+ operators and enhanced type system.
- Updated roadmap with release details for v5.6.0 focusing on geospatial and datetime features.
- Introduced a new guide on TypeScript type safety in @mcabreradev/filter, covering features like dot notation paths, operator autocomplete, and advanced type patterns.
- Added examples demonstrating basic type inference, explicit generic types, and dot notation type safety.
- Included advanced type utilities such as NestedKeyOf, PathValue, and DeepPartial for enhanced type safety in filtering operations.

refactor: enhance type helpers and utilities

- Created a new file for type helpers, implementing NestedKeyOf, PathValue, DeepPartial, PrimitiveKeys, ObjectKeys, and NestedPaths.
- Implemented utility functions for nested key access, validation, and manipulation of nested objects.

fix: improve object predicate matching with case-insensitive comparison

- Updated the createObjectPredicate function to handle case-insensitive string comparisons when caseSensitive is false.

feat: introduce typed filter utilities

- Added typedFilter function for type-safe filtering with dot notation support.
- Created a TypedFilterBuilder class for building filter expressions with type safety.

test: update vitest configuration for improved test coverage

- Modified vitest configuration to include tests from the __test__ directory.
@mcabreradev mcabreradev added the Patch Patch such as docs, chore, fix label Nov 4, 2025
@vercel
Copy link

vercel bot commented Nov 4, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
filter Ready Ready Preview Comment Nov 5, 2025 0:13am

…tions

- Added a new `error-helpers.ts` module to provide utility functions for error management.
- Created a set of specific error classes (`InvalidExpressionError`, `OperatorError`, `ValidationError`, `TypeMismatchError`, `GeospatialError`, `ConfigurationError`, `PerformanceLimitError`) to represent various filter-related errors.
- Implemented functions to create and format error messages, check for filter errors, and extract error details for logging.
- Developed unit tests for the new error handling functionality to ensure robustness and correctness.

feat(performance): implement performance monitoring for filter operations

- Introduced a `PerformanceMonitor` class to track and log performance metrics for filter operations.
- Added methods to start tracking operations, record durations, and retrieve metrics.
- Implemented a global performance monitor instance for easy access and management.
- Created unit tests to validate the performance monitoring functionality.

fix(validation): improve error handling in validation functions

- Updated `validateExpression` and `validateOptions` functions to throw specific errors (`InvalidExpressionError` and `ConfigurationError`) instead of generic errors.
- Enhanced error messages to include detailed information about validation issues.
- Updated React, Svelte, and Vue documentation to include modular import recommendations for reduced bundle size.
- Added a comprehensive installation guide covering various package managers.
- Introduced a new guide on modular imports detailing import styles and best practices.
- Expanded the quick start guide with installation and import style sections.
- Added new examples for analytics dashboard and e-commerce search scenarios.
- Created new files for lazy evaluation functions and operators, improving modularity.
- Updated core index to export relevant hooks for React integration.
- Added missing operator files for array, comparison, datetime, geospatial, logical, and string operations.
- Update all GitHub Actions workflows to use pnpm 10
- Regenerate pnpm-lock.yaml with compatible version
- Fix CI frozen-lockfile compatibility error
- Increased from 65 KB to 66 KB to accommodate new features
- Current size: 65.63 KB (within new limit)
- Growth due to geospatial operators, datetime operators, and enhanced documentation
- Remove andresz1/size-limit-action@v1 (incompatible with pnpm)
- Use direct pnpm size command instead
- Fixes JSON parsing error in CI
- Move zod to optional peer dependency (user installs if needed)
- Move @vercel/analytics, @vue-leaflet, leaflet to devDependencies
- Update size limit from 66 KB to 15 KB
- All dependencies now excluded from main bundle
- Core library is now truly zero-dependency

BREAKING CHANGE: zod is now a peer dependency. Users who need runtime
validation must install zod separately: pnpm add zod
- Move zod to optional peer dependency (user installs if needed)
- Move @vercel/analytics, @vue-leaflet, leaflet to devDependencies
- Update size limit from 66 KB to 15 KB
- All dependencies now excluded from main bundle
- Core library is now truly zero-dependency

BREAKING CHANGE: zod is now a peer dependency. Users who need runtime
validation must install zod separately: pnpm add zod
- Update installation.md: Add note about optional Zod peer dependency
- Update bundle size metrics from ~10 KB to ~12 KB throughout
- Update index.md: Change to 'truly zero dependencies' messaging
- Add v5.6.1 migration guide section in migration.md
- Clarify validation features are optional and require Zod
- Update bundle-size.md with new percentages (75%, 83%)
- Emphasize 81% bundle size reduction achievement
@mcabreradev mcabreradev added Minor Minor version such as Feat and removed Patch Patch such as docs, chore, fix labels Nov 5, 2025
@mcabreradev mcabreradev merged commit 6881d2e into main Nov 5, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Minor Minor version such as Feat

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants