Commit 6881d2e
authored
chore: update documentation (#61)
* feat: Enhance troubleshooting and documentation for geospatial and datetime 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.
* feat: add comprehensive TypeScript type safety documentation
- 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.
* feat: enhance TypeScript type safety documentation with examples and best practices
* Refactor code structure for improved readability and maintainability
* feat(errors): introduce comprehensive error handling for filter operations
- 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.
* feat: enhance documentation and examples for @mcabreradev/filter
- 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.
* fix(ci): update workflows to pnpm 10 and regenerate lockfile
- Update all GitHub Actions workflows to use pnpm 10
- Regenerate pnpm-lock.yaml with compatible version
- Fix CI frozen-lockfile compatibility error
* chore: update bundle size limit to 66 KB
- 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
* fix(ci): remove incompatible size-limit-action
- Remove andresz1/size-limit-action@v1 (incompatible with pnpm)
- Use direct pnpm size command instead
- Fixes JSON parsing error in CI
* perf: reduce bundle size from 65.63 KB to 12.02 KB (81% reduction)
- 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
* perf: reduce bundle size from 65.63 KB to 12.02 KB (81% reduction)
- 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
* docs: update VitePress documentation for zero dependencies
- 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 achievement1 parent 0f43cdd commit 6881d2e
File tree
80 files changed
+13879
-868
lines changed- .github
- ISSUE_TEMPLATE
- workflows
- __test__
- docs
- .vitepress
- theme/components/playground/composables
- advanced
- backend
- frameworks
- guide
- implementation
- project
- examples
- src
- config
- constants
- core
- errors
- operators
- predicate
- types
- utils
- validation
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
80 files changed
+13879
-868
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
18 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
19 | 38 | | |
20 | 39 | | |
21 | 40 | | |
22 | 41 | | |
23 | 42 | | |
24 | 43 | | |
25 | 44 | | |
26 | | - | |
27 | | - | |
| 45 | + | |
| 46 | + | |
28 | 47 | | |
29 | 48 | | |
30 | 49 | | |
31 | | - | |
32 | | - | |
| 50 | + | |
33 | 51 | | |
34 | | - | |
35 | | - | |
| 52 | + | |
| 53 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
37 | | - | |
| 37 | + | |
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
0 commit comments