ts-runtime-validation 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +143 -0
  2. package/package.json +10 -9
package/CHANGELOG.md ADDED
@@ -0,0 +1,143 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.8.1] - 2024-08-25
9
+
10
+ ### Changed
11
+ - **Major dependency updates** to latest versions for security and performance
12
+ - Updated Jest from 29.7.0 to 30.0.5
13
+ - Updated ts-json-schema-generator from 1.5.1 to 2.4.0
14
+ - Updated ts-morph from 19.0.0 to 26.0.0
15
+ - Updated Commander from 11.1.0 to 14.0.0
16
+ - Updated picomatch from 2.3.1 to 4.0.3
17
+ - Updated all @types packages to latest versions
18
+
19
+ ### Fixed
20
+ - Added missing ajv peer dependency
21
+ - Resolved all dependency version conflicts
22
+
23
+ ### Security
24
+ - Zero vulnerabilities reported by yarn audit
25
+ - All dependencies updated to secure versions
26
+
27
+ ## [1.8.0] - 2024-08-25
28
+
29
+ ### Added
30
+ - Comprehensive deterministic output tests for various scenarios
31
+ - Extended test coverage for circular references, mixed export types, and parallel processing
32
+ - Troubleshooting section in README with common issues and solutions
33
+ - Clear cache instructions and documentation
34
+ - Project marketing page link in README
35
+
36
+ ### Fixed
37
+ - **Critical**: Non-deterministic hash generation causing different output on each run
38
+ - File processing order inconsistencies in parallel mode
39
+ - Schema map iteration order issues
40
+ - Import statement ordering in generated files
41
+
42
+ ### Changed
43
+ - All test output directories now use consistent `.test-tmp/` pattern
44
+ - Simplified `.gitignore` to use single test output pattern
45
+ - Improved README description to better reflect project capabilities
46
+
47
+ ### Internal
48
+ - Added sorting to file discovery process
49
+ - Ensured consistent ordering in schema processing pipeline
50
+ - Fixed Map iteration order throughout codebase
51
+ - Sorted all collections before iteration in code generation
52
+
53
+ ## [1.7.0] - 2024
54
+
55
+ ### Added
56
+ - **Performance overhaul** with intelligent caching system
57
+ - **Parallel processing** support for faster schema generation
58
+ - **Progress reporting** with visual feedback
59
+ - **Minification** option for production builds
60
+ - **Tree-shaking** friendly exports
61
+ - **Lazy loading** support for validators
62
+ - File-based caching with MD5 hash change detection
63
+ - Verbose logging mode for debugging
64
+ - Enhanced CLI with new performance options
65
+
66
+ ### Changed
67
+ - Refactored library entry point
68
+ - Improved README documentation
69
+ - Better TypeScript compilation handling
70
+
71
+ ### Fixed
72
+ - TTY handling issues
73
+ - Windows POSIX path handling in helpers
74
+ - TypeScript compilation errors
75
+
76
+ ## [1.6.16] - 2024
77
+
78
+ ### Added
79
+ - Progress indicator support
80
+ - Namespaced exports feature
81
+
82
+ ### Changed
83
+ - Updated dependencies
84
+ - Allow duplicate symbols if definitions are identical
85
+
86
+ ### Fixed
87
+ - Windows test compatibility
88
+ - Non-boolean CLI options handling
89
+
90
+ ## [1.6.15] - 2024
91
+
92
+ ### Added
93
+ - Custom tsconfig path support
94
+
95
+ ### Changed
96
+ - Documentation updates
97
+
98
+ ## Earlier Versions
99
+
100
+ For changes in earlier versions, please refer to the git history or npm release notes.
101
+
102
+ ## Migration Guide
103
+
104
+ ### Upgrading to 1.8.0
105
+
106
+ If you're experiencing hash inconsistencies between runs:
107
+
108
+ 1. Update to version 1.8.0 or later
109
+ 2. Clear your cache: `rm -rf .ts-runtime-validation-cache`
110
+ 3. Regenerate your schemas: `ts-runtime-validation --cache`
111
+
112
+ The deterministic output fix ensures consistent file generation across multiple runs, which is essential for:
113
+ - CI/CD pipelines
114
+ - Git diff stability
115
+ - Build reproducibility
116
+ - Cache effectiveness
117
+
118
+ ### Upgrading to 1.7.0
119
+
120
+ To take advantage of the new performance features:
121
+
122
+ 1. Enable caching for faster incremental builds: `--cache`
123
+ 2. Keep parallel processing enabled (default): `--parallel`
124
+ 3. Use progress reporting for long operations: `--progress`
125
+ 4. For production builds, add: `--minify --tree-shaking`
126
+
127
+ Example migration:
128
+ ```bash
129
+ # Old command
130
+ ts-runtime-validation
131
+
132
+ # New command with performance optimizations
133
+ ts-runtime-validation --cache --progress --minify --tree-shaking
134
+ ```
135
+
136
+ ---
137
+
138
+ [Unreleased]: https://github.com/thegalah/ts-runtime-validation/compare/v1.8.1...HEAD
139
+ [1.8.1]: https://github.com/thegalah/ts-runtime-validation/compare/v1.8.0...v1.8.1
140
+ [1.8.0]: https://github.com/thegalah/ts-runtime-validation/compare/v1.7.0...v1.8.0
141
+ [1.7.0]: https://github.com/thegalah/ts-runtime-validation/compare/v1.6.16...v1.7.0
142
+ [1.6.16]: https://github.com/thegalah/ts-runtime-validation/compare/v1.6.15...v1.6.16
143
+ [1.6.15]: https://github.com/thegalah/ts-runtime-validation/releases/tag/v1.6.15
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "ts-runtime-validation",
3
- "version": "1.8.0",
3
+ "version": "1.8.1",
4
4
  "author": "Matthew Duong <thegalah@gmail.com>",
5
5
  "license": "MIT",
6
6
  "dependencies": {
7
- "commander": "^11.0.0",
7
+ "ajv": "^8.11.0",
8
+ "commander": "^14.0.0",
8
9
  "fdir": "^6.0.1",
9
- "picomatch": "^2.3.1",
10
- "ts-json-schema-generator": "^1.2.0",
11
- "ts-morph": "^19.0.0"
10
+ "picomatch": "^4.0.3",
11
+ "ts-json-schema-generator": "^2.4.0",
12
+ "ts-morph": "^26.0.0"
12
13
  },
13
14
  "bin": {
14
15
  "ts-runtime-validation": "dist/index.js"
@@ -19,10 +20,10 @@
19
20
  "test": "jest --silent --collectCoverage false"
20
21
  },
21
22
  "devDependencies": {
22
- "@types/jest": "^29.5.2",
23
- "@types/node": "^20.4.1",
24
- "@types/picomatch": "^2.3.0",
25
- "jest": "^29.6.1",
23
+ "@types/jest": "^30.0.0",
24
+ "@types/node": "^24.3.0",
25
+ "@types/picomatch": "^4.0.2",
26
+ "jest": "^30.0.5",
26
27
  "prettier": "^3.0.0",
27
28
  "ts-jest": "^29.1.1",
28
29
  "ts-node": "^10.9.1",