@tamyla/clodo-framework 2.0.7 → 2.0.8

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.
package/CHANGELOG.md CHANGED
@@ -1,133 +1,189 @@
1
- ## [2.0.7](https://github.com/tamylaa/clodo-framework/compare/v2.0.6...v2.0.7) (2025-10-11)
1
+ ## [2.0.8](https://github.com/tamylaa/clodo-framework/compare/v2.0.7...v2.0.8) (2025-10-12)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * correct orchestrator method name in deploy command ([b28a372](https://github.com/tamylaa/clodo-framework/commit/b28a37222cf2859449b3470b16ec6eb284cc50e2))
7
-
8
- ## [2.0.6](https://github.com/tamylaa/clodo-framework/compare/v2.0.5...v2.0.6) (2025-10-11)
9
-
10
-
11
- ### Bug Fixes
12
-
13
- * PowerShell double-echo in interactive input collection ([6a4b153](https://github.com/tamylaa/clodo-framework/commit/6a4b15380efac0ffc4b57ea4e24f320853c33137))
14
-
15
- ## [2.0.5](https://github.com/tamylaa/clodo-framework/compare/v2.0.4...v2.0.5) (2025-10-11)
16
-
17
-
18
- ### Bug Fixes
19
-
20
- * include templates directory in published package ([8d5c1ff](https://github.com/tamylaa/clodo-framework/commit/8d5c1ffc6090c35751d926042c784ae9b4d711b1))
21
-
22
- ## [2.0.4](https://github.com/tamylaa/clodo-framework/compare/v2.0.3...v2.0.4) (2025-10-11)
23
-
24
-
25
- ### Bug Fixes
26
-
27
- * ensure clodo-security deploy --help works correctly ([1f81b5f](https://github.com/tamylaa/clodo-framework/commit/1f81b5f0d0590bd3d82470485bde6c449b95c12e))
28
-
29
- ## [2.0.3](https://github.com/tamylaa/clodo-framework/compare/v2.0.2...v2.0.3) (2025-10-11)
30
-
31
-
32
- ### Bug Fixes
33
-
34
- * Add reusable deployment command with Three-Tier input architecture ([0e13bfc](https://github.com/tamylaa/clodo-framework/commit/0e13bfcdda56d0a137bcd44cfd8a9ca49af30503))
35
- * clodo-security deploy --help and cross-platform deployment scripts ([d7ebbbe](https://github.com/tamylaa/clodo-framework/commit/d7ebbbe8d41c6e4f297f64d19ea5b98172ddee3b))
36
- * test - Remove placeholder tests that require unimplemented classes ([b009b34](https://github.com/tamylaa/clodo-framework/commit/b009b34cf1f9f7542fbaab2fa2419b2766c72f10))
37
-
38
- ## [2.0.3](https://github.com/tamylaa/clodo-framework/compare/v2.0.2...v2.0.3) (2025-10-11)
39
-
40
-
41
- ### Bug Fixes
42
-
43
- * Add reusable deployment command with Three-Tier input architecture ([0e13bfc](https://github.com/tamylaa/clodo-framework/commit/0e13bfcdda56d0a137bcd44cfd8a9ca49af30503))
44
- * clodo-security deploy --help and cross-platform deployment scripts ([d7ebbbe](https://github.com/tamylaa/clodo-framework/commit/d7ebbbe8d41c6e4f297f64d19ea5b98172ddee3b))
45
- * test - Remove placeholder tests that require unimplemented classes ([b009b34](https://github.com/tamylaa/clodo-framework/commit/b009b34cf1f9f7542fbaab2fa2419b2766c72f10))
46
-
47
- ## [2.0.2](https://github.com/tamylaa/clodo-framework/compare/v2.0.1...v2.0.2) (2025-10-11)
48
-
49
-
50
- ### Bug Fixes
51
-
52
- * resolve CLI tool import paths and runtime dependencies ([6a726b9](https://github.com/tamylaa/clodo-framework/commit/6a726b95a5e55055048a262d1c146a50a4f0b46f))
53
-
54
- ## [2.0.1](https://github.com/tamylaa/clodo-framework/compare/v2.0.0...v2.0.1) (2025-10-10)
55
-
56
-
57
- ### Bug Fixes
58
-
59
- * reorganize documentation structure and fix package distribution ([598d44b](https://github.com/tamylaa/clodo-framework/commit/598d44b669f65c222d215ba33d0361d736a15ac9))
60
-
61
- # [2.0.0](https://github.com/tamylaa/clodo-framework/compare/v1.0.0...v2.0.0) (2025-10-10)
62
-
63
-
64
- ### Bug Fixes
65
-
66
- * enhance enterprise readiness with comprehensive testing roadmap and documentation ([25702d6](https://github.com/tamylaa/clodo-framework/commit/25702d624047ef40991de47eba0b8dabcfaecfa8))
67
-
68
-
69
- ### BREAKING CHANGES
70
-
71
- * Framework now requires structured testing approach for enterprise deployment
72
-
73
- # 1.0.0 (2025-10-09)
74
-
75
-
76
- ### Bug Fixes
77
-
78
- * add comprehensive security validation module ([ea6cbdf](https://github.com/tamylaa/clodo-framework/commit/ea6cbdf07790266d8b2cd779f750b5e6ef622ba6))
79
- * add customer configuration management ([ac7379b](https://github.com/tamylaa/clodo-framework/commit/ac7379b41e584bed229cd3a3b8ccb532eed9dcb4))
80
- * add missing environment parameter to WranglerDeployer validation call ([a833ca3](https://github.com/tamylaa/clodo-framework/commit/a833ca3c1006953911453e1b383c602b96a16229))
81
- * allow tests to pass when no test files exist ([70bd5b8](https://github.com/tamylaa/clodo-framework/commit/70bd5b8ee61fc7fb70e5015d1889e411c9e091b4))
82
- * complete rebranding from lego-framework to clodo-framework ([1a704ba](https://github.com/tamylaa/clodo-framework/commit/1a704ba0bdd4b649c412a8b8cc202138d64c79e2))
83
- * comprehensive documentation update for framework capabilities ([65c0284](https://github.com/tamylaa/clodo-framework/commit/65c0284e6bb916be2f5bd994d76aa198c77cf9fc))
84
- * comprehensive framework improvements and enterprise documentation ([e77b046](https://github.com/tamylaa/clodo-framework/commit/e77b046cca0dc6ed7afc16479e588d2dece333f3))
85
- * enhance deployment framework with HTTP validation, error handling, and interactive configuration ([7698f56](https://github.com/tamylaa/clodo-framework/commit/7698f56108c0b90809eaaa55e7335ac89e6dce49))
86
- * ensure semantic-release works on latest commit ([5d59903](https://github.com/tamylaa/clodo-framework/commit/5d59903cab1c74266373bd6066b045da75256645))
87
- * implement intelligent WranglerDeployer for actual Cloudflare deployments ([a656190](https://github.com/tamylaa/clodo-framework/commit/a6561909753b5bcb7ece0a0159772daee28dd37c))
88
- * include documentation in package files ([550a734](https://github.com/tamylaa/clodo-framework/commit/550a734ef9de3f4e4afc35e85226216649e84332))
89
- * Initial release of Lego Framework v1.0.0 ([6994efd](https://github.com/tamylaa/clodo-framework/commit/6994efdf0be3508ae7fe54c6d71f161d56cafef8))
90
- * major framework enhancement with enterprise features and TypeScript support ([53c94fb](https://github.com/tamylaa/clodo-framework/commit/53c94fbc3adde14852ffaab9117eda09621f3a16))
91
- * major framework reorganization and robustness improvements ([7aed0b5](https://github.com/tamylaa/clodo-framework/commit/7aed0b5b438bb02c081d533766951ccc89ff4d4c))
92
- * make database orchestrator dependency-aware ([051f722](https://github.com/tamylaa/clodo-framework/commit/051f72269aab39d4e972cad8011430dfa86b3f7a))
93
- * resolve ESLint errors and warnings ([005b591](https://github.com/tamylaa/clodo-framework/commit/005b5916faf6a57c0065d649979dcef84c466ce3))
94
- * resolve ESLint warnings to enable automated release ([200dd82](https://github.com/tamylaa/clodo-framework/commit/200dd8267af2629f3cb3a1a3a30cbc96ea5bbee9))
95
- * resolve ESM packaging conflict by preserving ES modules in build output ([0d13422](https://github.com/tamylaa/clodo-framework/commit/0d13422e5c7800006369b157b57d9440805d14dd))
96
- * resolve GitHub Actions workflow permissions and NPM token issues ([cd53e55](https://github.com/tamylaa/clodo-framework/commit/cd53e55702e0c249e26884304115537c8a3345cf))
97
- * resolve linting and type checking issues ([598e699](https://github.com/tamylaa/clodo-framework/commit/598e6999be93025d7a35c59df55c6606a59c98ac))
98
- * resolve missing health-checker dependency by moving to src/utils ([64d429b](https://github.com/tamylaa/clodo-framework/commit/64d429be674855539e5f77413d9a14151d1b0ef8))
99
- * update repository URLs to correct GitHub username (tamylaa) ([791ae3f](https://github.com/tamylaa/clodo-framework/commit/791ae3ff76589851a0ba09cef58d955272c6b343))
100
- * Windows compatibility and ES module issues ([7ed2588](https://github.com/tamylaa/clodo-framework/commit/7ed2588d8ae2f706e5646813c1d1dad99944d50f))
101
-
102
-
103
- ### Features
104
-
105
- * Add additional documentation and development tools ([0c6ca0d](https://github.com/tamylaa/clodo-framework/commit/0c6ca0d18ac7bdeef17587a592b8e7e1c549c87b))
106
- * add GitHub Actions workflow for semantic release ([e097070](https://github.com/tamylaa/clodo-framework/commit/e0970708b454d87dd124371840d0eb1c91c7641c))
107
- * implement comprehensive production hardening ([4a4c391](https://github.com/tamylaa/clodo-framework/commit/4a4c3917fc3ba624ff61ac79cde1df7c40b6aa33))
108
- * initial commercial release of Clodo Framework ([647e271](https://github.com/tamylaa/clodo-framework/commit/647e271dd0718b8a5fc4082bc1ac9be1216f9fe2))
109
- * Rebrand to Clodo Framework v3.0.6 ([03e6923](https://github.com/tamylaa/clodo-framework/commit/03e69232dc60e139601320fce7c1c88c55d6254f))
110
- * trigger initial Clodo Framework v1.0.0 release ([98bcd76](https://github.com/tamylaa/clodo-framework/commit/98bcd764a1aa1cfe4199d820e02be584619ea11c))
111
-
112
-
113
- ### BREAKING CHANGES
114
-
115
- * Deployments now require security validation by default
116
- * Enhanced framework with advanced caching, validation, and security features
117
-
118
- - Enhanced SchemaManager with comprehensive validation and SQL caching (~750 lines)
119
- - Enhanced GenericDataService with query caching and security controls (~580 lines)
120
- - Enhanced ModuleManager with enterprise hook execution (~650 lines)
121
- - Added FeatureManager for progressive enhancement with 20+ feature flags
122
- - Added VersionDetector for automatic configuration and migration
123
- - Added MigrationAdapters for backwards compatibility
124
- - Added comprehensive TypeScript definitions (500+ lines)
125
- - Enhanced build pipeline with TypeScript checking
126
- - Fixed critical parsing errors and linting issues
127
- - 60%+ code duplication reduction through framework consolidation
128
-
129
- All breaking changes include backwards compatibility via migration adapters.
6
+ * clean up skipped security validation test with proper TODO ([722afbe](https://github.com/tamylaa/clodo-framework/commit/722afbe056be6f8ccb623acbbd3ab9ac4ce75caa))
7
+ * Enhanced customer config, CloudflareAPI utility, and code consolidation ([447ed9b](https://github.com/tamylaa/clodo-framework/commit/447ed9b5d8a2bb806386fc334e2e8bf4efeff43b))
8
+ * resolve ESLint no-undef errors in cloudflare index.js ([1a2bb7f](https://github.com/tamylaa/clodo-framework/commit/1a2bb7fa175bab142f3d5be451cb44ef1b9d8747))
130
9
 
10
+ ## [2.0.7](https://github.com/tamylaa/clodo-framework/compare/v2.0.6...v2.0.7) (2025-10-12)
11
+
12
+
13
+ ### Features
14
+
15
+ * **customer-config**: Enhanced customer configuration system to read directly from wrangler.toml
16
+ - Load account_id, SERVICE_DOMAIN, and database configurations from wrangler.toml
17
+ - Read CUSTOMER_DOMAIN from customer environment files
18
+ - Display all 6 core deployment pieces (account ID, zone ID, domains, worker, database, secrets)
19
+ - Added --config-dir parameter for flexible directory specification
20
+
21
+ * **cloudflare**: New CloudflareAPI utility class for programmatic Cloudflare operations
22
+ - Direct REST API integration without CLI dependencies
23
+ - Methods: verifyToken(), listZones(), getZoneDetails(), listD1Databases(), getDeploymentInfo()
24
+ - Helper functions for zone display and selection parsing
25
+ - Organized under src/utils/cloudflare/ with unified exports
26
+
27
+ * **toml**: TOML writing capabilities for dynamic configuration updates
28
+ - updateWranglerToml() - Update wrangler.toml with new configurations
29
+ - updateEnvironmentConfig() - Modify environment-specific settings
30
+ - addD1Database() - Add database bindings dynamically
31
+ - deepMergeConfig() - Recursive configuration merging
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * **customer-config**: Removed duplicate code causing double output in customer CLI
37
+ * **deployment**: Removed 180 lines of duplicate secret management from WranglerDeployer
38
+ - Secret operations now use bin/shared/cloudflare/ops.js as single source of truth
39
+ - Better error recovery, rate limiting, and production monitoring
40
+ * correct orchestrator method name in deploy command ([b28a372](https://github.com/tamylaa/clodo-framework/commit/b28a37222cf2859449b3470b16ec6eb284cc50e2))
41
+
42
+
43
+ ### Code Quality
44
+
45
+ * **organization**: Consolidated Cloudflare utilities under src/utils/cloudflare/
46
+ - Separated API-based operations (api.js) from CLI-based operations (ops.js)
47
+ - Created unified index.js for convenient imports
48
+ - Verified no duplicate utilities across src/ and bin/shared/
49
+
50
+
51
+ ### Testing
52
+
53
+ * Added 12 new tests (132 total, all passing, +9.1%)
54
+ - test/utils/cloudflare-api.test.js - CloudflareAPI module tests (6 tests)
55
+ - test/config/customer-toml.test.js - Customer config tests (6 tests)
56
+
57
+
58
+ ### Documentation
59
+
60
+ * **architecture**: Added comprehensive architecture analysis for customer configuration system
61
+ * **capabilities**: Created inventory of existing framework capabilities
62
+ * **cleanup**: Documented 19-task cleanup plan with execution options
63
+
64
+ ## [2.0.6](https://github.com/tamylaa/clodo-framework/compare/v2.0.5...v2.0.6) (2025-10-11)
65
+
66
+
67
+ ### Bug Fixes
68
+
69
+ * PowerShell double-echo in interactive input collection ([6a4b153](https://github.com/tamylaa/clodo-framework/commit/6a4b15380efac0ffc4b57ea4e24f320853c33137))
70
+
71
+ ## [2.0.5](https://github.com/tamylaa/clodo-framework/compare/v2.0.4...v2.0.5) (2025-10-11)
72
+
73
+
74
+ ### Bug Fixes
75
+
76
+ * include templates directory in published package ([8d5c1ff](https://github.com/tamylaa/clodo-framework/commit/8d5c1ffc6090c35751d926042c784ae9b4d711b1))
77
+
78
+ ## [2.0.4](https://github.com/tamylaa/clodo-framework/compare/v2.0.3...v2.0.4) (2025-10-11)
79
+
80
+
81
+ ### Bug Fixes
82
+
83
+ * ensure clodo-security deploy --help works correctly ([1f81b5f](https://github.com/tamylaa/clodo-framework/commit/1f81b5f0d0590bd3d82470485bde6c449b95c12e))
84
+
85
+ ## [2.0.3](https://github.com/tamylaa/clodo-framework/compare/v2.0.2...v2.0.3) (2025-10-11)
86
+
87
+
88
+ ### Bug Fixes
89
+
90
+ * Add reusable deployment command with Three-Tier input architecture ([0e13bfc](https://github.com/tamylaa/clodo-framework/commit/0e13bfcdda56d0a137bcd44cfd8a9ca49af30503))
91
+ * clodo-security deploy --help and cross-platform deployment scripts ([d7ebbbe](https://github.com/tamylaa/clodo-framework/commit/d7ebbbe8d41c6e4f297f64d19ea5b98172ddee3b))
92
+ * test - Remove placeholder tests that require unimplemented classes ([b009b34](https://github.com/tamylaa/clodo-framework/commit/b009b34cf1f9f7542fbaab2fa2419b2766c72f10))
93
+
94
+ ## [2.0.3](https://github.com/tamylaa/clodo-framework/compare/v2.0.2...v2.0.3) (2025-10-11)
95
+
96
+
97
+ ### Bug Fixes
98
+
99
+ * Add reusable deployment command with Three-Tier input architecture ([0e13bfc](https://github.com/tamylaa/clodo-framework/commit/0e13bfcdda56d0a137bcd44cfd8a9ca49af30503))
100
+ * clodo-security deploy --help and cross-platform deployment scripts ([d7ebbbe](https://github.com/tamylaa/clodo-framework/commit/d7ebbbe8d41c6e4f297f64d19ea5b98172ddee3b))
101
+ * test - Remove placeholder tests that require unimplemented classes ([b009b34](https://github.com/tamylaa/clodo-framework/commit/b009b34cf1f9f7542fbaab2fa2419b2766c72f10))
102
+
103
+ ## [2.0.2](https://github.com/tamylaa/clodo-framework/compare/v2.0.1...v2.0.2) (2025-10-11)
104
+
105
+
106
+ ### Bug Fixes
107
+
108
+ * resolve CLI tool import paths and runtime dependencies ([6a726b9](https://github.com/tamylaa/clodo-framework/commit/6a726b95a5e55055048a262d1c146a50a4f0b46f))
109
+
110
+ ## [2.0.1](https://github.com/tamylaa/clodo-framework/compare/v2.0.0...v2.0.1) (2025-10-10)
111
+
112
+
113
+ ### Bug Fixes
114
+
115
+ * reorganize documentation structure and fix package distribution ([598d44b](https://github.com/tamylaa/clodo-framework/commit/598d44b669f65c222d215ba33d0361d736a15ac9))
116
+
117
+ # [2.0.0](https://github.com/tamylaa/clodo-framework/compare/v1.0.0...v2.0.0) (2025-10-10)
118
+
119
+
120
+ ### Bug Fixes
121
+
122
+ * enhance enterprise readiness with comprehensive testing roadmap and documentation ([25702d6](https://github.com/tamylaa/clodo-framework/commit/25702d624047ef40991de47eba0b8dabcfaecfa8))
123
+
124
+
125
+ ### BREAKING CHANGES
126
+
127
+ * Framework now requires structured testing approach for enterprise deployment
128
+
129
+ # 1.0.0 (2025-10-09)
130
+
131
+
132
+ ### Bug Fixes
133
+
134
+ * add comprehensive security validation module ([ea6cbdf](https://github.com/tamylaa/clodo-framework/commit/ea6cbdf07790266d8b2cd779f750b5e6ef622ba6))
135
+ * add customer configuration management ([ac7379b](https://github.com/tamylaa/clodo-framework/commit/ac7379b41e584bed229cd3a3b8ccb532eed9dcb4))
136
+ * add missing environment parameter to WranglerDeployer validation call ([a833ca3](https://github.com/tamylaa/clodo-framework/commit/a833ca3c1006953911453e1b383c602b96a16229))
137
+ * allow tests to pass when no test files exist ([70bd5b8](https://github.com/tamylaa/clodo-framework/commit/70bd5b8ee61fc7fb70e5015d1889e411c9e091b4))
138
+ * complete rebranding from lego-framework to clodo-framework ([1a704ba](https://github.com/tamylaa/clodo-framework/commit/1a704ba0bdd4b649c412a8b8cc202138d64c79e2))
139
+ * comprehensive documentation update for framework capabilities ([65c0284](https://github.com/tamylaa/clodo-framework/commit/65c0284e6bb916be2f5bd994d76aa198c77cf9fc))
140
+ * comprehensive framework improvements and enterprise documentation ([e77b046](https://github.com/tamylaa/clodo-framework/commit/e77b046cca0dc6ed7afc16479e588d2dece333f3))
141
+ * enhance deployment framework with HTTP validation, error handling, and interactive configuration ([7698f56](https://github.com/tamylaa/clodo-framework/commit/7698f56108c0b90809eaaa55e7335ac89e6dce49))
142
+ * ensure semantic-release works on latest commit ([5d59903](https://github.com/tamylaa/clodo-framework/commit/5d59903cab1c74266373bd6066b045da75256645))
143
+ * implement intelligent WranglerDeployer for actual Cloudflare deployments ([a656190](https://github.com/tamylaa/clodo-framework/commit/a6561909753b5bcb7ece0a0159772daee28dd37c))
144
+ * include documentation in package files ([550a734](https://github.com/tamylaa/clodo-framework/commit/550a734ef9de3f4e4afc35e85226216649e84332))
145
+ * Initial release of Lego Framework v1.0.0 ([6994efd](https://github.com/tamylaa/clodo-framework/commit/6994efdf0be3508ae7fe54c6d71f161d56cafef8))
146
+ * major framework enhancement with enterprise features and TypeScript support ([53c94fb](https://github.com/tamylaa/clodo-framework/commit/53c94fbc3adde14852ffaab9117eda09621f3a16))
147
+ * major framework reorganization and robustness improvements ([7aed0b5](https://github.com/tamylaa/clodo-framework/commit/7aed0b5b438bb02c081d533766951ccc89ff4d4c))
148
+ * make database orchestrator dependency-aware ([051f722](https://github.com/tamylaa/clodo-framework/commit/051f72269aab39d4e972cad8011430dfa86b3f7a))
149
+ * resolve ESLint errors and warnings ([005b591](https://github.com/tamylaa/clodo-framework/commit/005b5916faf6a57c0065d649979dcef84c466ce3))
150
+ * resolve ESLint warnings to enable automated release ([200dd82](https://github.com/tamylaa/clodo-framework/commit/200dd8267af2629f3cb3a1a3a30cbc96ea5bbee9))
151
+ * resolve ESM packaging conflict by preserving ES modules in build output ([0d13422](https://github.com/tamylaa/clodo-framework/commit/0d13422e5c7800006369b157b57d9440805d14dd))
152
+ * resolve GitHub Actions workflow permissions and NPM token issues ([cd53e55](https://github.com/tamylaa/clodo-framework/commit/cd53e55702e0c249e26884304115537c8a3345cf))
153
+ * resolve linting and type checking issues ([598e699](https://github.com/tamylaa/clodo-framework/commit/598e6999be93025d7a35c59df55c6606a59c98ac))
154
+ * resolve missing health-checker dependency by moving to src/utils ([64d429b](https://github.com/tamylaa/clodo-framework/commit/64d429be674855539e5f77413d9a14151d1b0ef8))
155
+ * update repository URLs to correct GitHub username (tamylaa) ([791ae3f](https://github.com/tamylaa/clodo-framework/commit/791ae3ff76589851a0ba09cef58d955272c6b343))
156
+ * Windows compatibility and ES module issues ([7ed2588](https://github.com/tamylaa/clodo-framework/commit/7ed2588d8ae2f706e5646813c1d1dad99944d50f))
157
+
158
+
159
+ ### Features
160
+
161
+ * Add additional documentation and development tools ([0c6ca0d](https://github.com/tamylaa/clodo-framework/commit/0c6ca0d18ac7bdeef17587a592b8e7e1c549c87b))
162
+ * add GitHub Actions workflow for semantic release ([e097070](https://github.com/tamylaa/clodo-framework/commit/e0970708b454d87dd124371840d0eb1c91c7641c))
163
+ * implement comprehensive production hardening ([4a4c391](https://github.com/tamylaa/clodo-framework/commit/4a4c3917fc3ba624ff61ac79cde1df7c40b6aa33))
164
+ * initial commercial release of Clodo Framework ([647e271](https://github.com/tamylaa/clodo-framework/commit/647e271dd0718b8a5fc4082bc1ac9be1216f9fe2))
165
+ * Rebrand to Clodo Framework v3.0.6 ([03e6923](https://github.com/tamylaa/clodo-framework/commit/03e69232dc60e139601320fce7c1c88c55d6254f))
166
+ * trigger initial Clodo Framework v1.0.0 release ([98bcd76](https://github.com/tamylaa/clodo-framework/commit/98bcd764a1aa1cfe4199d820e02be584619ea11c))
167
+
168
+
169
+ ### BREAKING CHANGES
170
+
171
+ * Deployments now require security validation by default
172
+ * Enhanced framework with advanced caching, validation, and security features
173
+
174
+ - Enhanced SchemaManager with comprehensive validation and SQL caching (~750 lines)
175
+ - Enhanced GenericDataService with query caching and security controls (~580 lines)
176
+ - Enhanced ModuleManager with enterprise hook execution (~650 lines)
177
+ - Added FeatureManager for progressive enhancement with 20+ feature flags
178
+ - Added VersionDetector for automatic configuration and migration
179
+ - Added MigrationAdapters for backwards compatibility
180
+ - Added comprehensive TypeScript definitions (500+ lines)
181
+ - Enhanced build pipeline with TypeScript checking
182
+ - Fixed critical parsing errors and linting issues
183
+ - 60%+ code duplication reduction through framework consolidation
184
+
185
+ All breaking changes include backwards compatibility via migration adapters.
186
+
131
187
  ## [3.0.6](https://github.com/tamylaa/clodo-framework/compare/v3.0.5...v3.0.6) (2025-10-07)
132
188
 
133
189
 
package/README.md CHANGED
@@ -105,6 +105,84 @@ npx @tamyla/clodo-framework security deploy customer production
105
105
  - **⚔ Performance Optimized**: Intelligent caching system for schemas, SQL queries, and validation results
106
106
  - **šŸ”„ Advanced Data Operations**: Enhanced CRUD with relationships, advanced pagination, and query optimization
107
107
 
108
+ ## šŸŽ‰ What's New in v2.0.7
109
+
110
+ ### šŸ”§ Enhanced Customer Configuration System
111
+ The customer configuration CLI now **reads directly from your wrangler.toml** file, providing a single source of truth for deployment configuration:
112
+
113
+ ```bash
114
+ # List all customers with complete deployment metadata
115
+ npx @tamyla/clodo-framework customer list
116
+
117
+ # Specify custom config directory
118
+ npx @tamyla/clodo-framework customer list --config-dir /path/to/config
119
+ ```
120
+
121
+ **What you see now:**
122
+ - āœ… Account ID from wrangler.toml
123
+ - āœ… Zone ID from wrangler.toml
124
+ - āœ… Customer domain from environment config
125
+ - āœ… Service domain from wrangler.toml
126
+ - āœ… Worker name and database info
127
+ - āœ… Secrets status
128
+
129
+ All **6 core deployment pieces** in one command - no more hunting through multiple files!
130
+
131
+ ### ā˜ļø New CloudflareAPI Utility
132
+ Programmatic Cloudflare operations without CLI dependencies:
133
+
134
+ ```javascript
135
+ import { CloudflareAPI } from '@tamyla/clodo-framework/utils/cloudflare';
136
+
137
+ const cf = new CloudflareAPI(apiToken);
138
+
139
+ // Verify token permissions
140
+ const isValid = await cf.verifyToken();
141
+
142
+ // List all zones/domains
143
+ const zones = await cf.listZones();
144
+
145
+ // Get zone details (account_id, zone_id, etc.)
146
+ const details = await cf.getZoneDetails(zoneId);
147
+
148
+ // List D1 databases
149
+ const databases = await cf.listD1Databases(accountId);
150
+
151
+ // Get complete deployment info
152
+ const info = await cf.getDeploymentInfo(zoneId);
153
+ ```
154
+
155
+ ### šŸ“ TOML Configuration Writing
156
+ Dynamic wrangler.toml updates from code:
157
+
158
+ ```javascript
159
+ import {
160
+ updateWranglerToml,
161
+ addD1Database,
162
+ updateEnvironmentConfig
163
+ } from '@tamyla/clodo-framework/config/customers';
164
+
165
+ // Add a new D1 database binding
166
+ await addD1Database('production', 'my-database', 'database-uuid-123');
167
+
168
+ // Update environment config
169
+ await updateEnvironmentConfig('production', {
170
+ vars: { SERVICE_DOMAIN: 'api.example.com' }
171
+ });
172
+
173
+ // Update any wrangler.toml section
174
+ await updateWranglerToml({
175
+ name: 'my-worker',
176
+ compatibility_date: '2025-01-01'
177
+ });
178
+ ```
179
+
180
+ ### 🧹 Code Quality Improvements
181
+ - **Removed 180 lines** of duplicate secret management code
182
+ - **Consolidated Cloudflare utilities** under `src/utils/cloudflare/`
183
+ - **Single source of truth** for Cloudflare operations (API vs CLI)
184
+ - **Better organization** - clear separation between framework and CLI utilities
185
+
108
186
  ## 🧪 Downstream Service Testing & Validation
109
187
 
110
188
  The CLODO Framework provides comprehensive capabilities for testing, validating, and deploying Cloudflare Workers in downstream environments - perfect for ensuring services work correctly in third-party accounts and production environments.
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  /**
4
4
  * Clodo Framework - Unified Three-Tier Service Management CLI
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { SecurityCLI } from '../../dist/security/SecurityCLI.js';
4
4
 
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  /**
4
4
  * Clodo Framework - Service Template Generator
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  /**
4
4
  * Clodo Framework - Service Initializer
@@ -7,12 +7,33 @@
7
7
  */
8
8
 
9
9
  import { CustomerConfigCLI } from '../../../dist/config/CustomerConfigCLI.js';
10
+ import { resolve } from 'path';
11
+
12
+ // Parse command line arguments
13
+ const argv = process.argv.slice(2);
14
+ let configDir = null;
15
+ let command = null;
16
+ let args = [];
17
+
18
+ // Extract --config-dir parameter if present
19
+ for (let i = 0; i < argv.length; i++) {
20
+ if (argv[i] === '--config-dir' && i + 1 < argv.length) {
21
+ configDir = resolve(argv[i + 1]);
22
+ i++; // Skip the next argument (the path)
23
+ } else if (!command) {
24
+ command = argv[i];
25
+ } else {
26
+ args.push(argv[i]);
27
+ }
28
+ }
10
29
 
11
- const command = process.argv[2];
12
- const args = process.argv.slice(3);
30
+ // Default to current working directory if not specified
31
+ if (!configDir) {
32
+ configDir = resolve(process.cwd(), 'config');
33
+ }
13
34
 
14
35
  async function main() {
15
- const cli = new CustomerConfigCLI();
36
+ const cli = new CustomerConfigCLI({ configDir });
16
37
  await cli.initialize();
17
38
 
18
39
  try {
@@ -105,14 +126,20 @@ async function main() {
105
126
  console.log('šŸ“‹ Configured customers:\n');
106
127
  listResult.customers.forEach(customer => {
107
128
  console.log(`šŸ¢ ${customer.name}`);
108
- console.log(` Domain: ${customer.domain || 'Not specified'}`);
129
+ console.log(` Domain: ${customer.customerDomain || customer.domain || 'Not configured'}`);
130
+ console.log(` Account ID: ${customer.accountId ? `${customer.accountId.substring(0, 8)}...${customer.accountId.substring(24)}` : 'Not configured'}`);
131
+ console.log(` Zone ID: ${customer.zoneId ? `${customer.zoneId.substring(0, 8)}...` : 'Not configured'}`);
132
+ if (customer.databaseId) {
133
+ console.log(` Database: ${customer.databaseName || 'Unnamed'} (${customer.databaseId.substring(0, 8)}...)`);
134
+ }
135
+ console.log(` Secrets: ${customer.hasSecrets ? 'āœ… Managed via wrangler secret commands' : 'āŒ Not configured'}`);
109
136
  console.log(` Environments: ${customer.environments.join(', ')}`);
110
- console.log(` Created: ${customer.createdAt}`);
111
- console.log(` Config: config/customers/${customer.name}/`);
137
+ console.log(` Config Path: config/customers/${customer.name}/`);
112
138
  console.log('');
113
139
  });
114
140
  } else if (listResult.success) {
115
141
  console.log('šŸ“‹ No customers configured');
142
+ console.log('\nšŸ’” Tip: Run "clodo-customer-config create-customer <name>" to create your first customer');
116
143
  } else {
117
144
  console.error(`āŒ Failed to list customers: ${listResult.error}`);
118
145
  process.exit(1);
@@ -121,6 +148,10 @@ async function main() {
121
148
 
122
149
  default:
123
150
  console.log('Customer Configuration Management Tool\n');
151
+ console.log('Usage:');
152
+ console.log(' clodo-customer-config [--config-dir <path>] <command> [args]\n');
153
+ console.log('Options:');
154
+ console.log(' --config-dir <path> - Path to config directory (default: ./config)\n');
124
155
  console.log('Available commands:');
125
156
  console.log(' create-customer <name> [domain] - Create new customer config from template');
126
157
  console.log(' validate - Validate configuration structure');
@@ -132,9 +163,11 @@ async function main() {
132
163
  console.log(' clodo-customer-config validate');
133
164
  console.log(' clodo-customer-config show acmecorp production');
134
165
  console.log(' clodo-customer-config list');
166
+ console.log(' clodo-customer-config --config-dir /path/to/service/config validate');
135
167
  console.log('\nIntegration:');
136
168
  console.log(' This tool integrates with Clodo Framework domain and feature flag systems.');
137
169
  console.log(' Customer configurations are automatically registered as domains.');
170
+ console.log(' When run from a service directory, it uses ./config by default.');
138
171
  break;
139
172
  }
140
173
  } catch (error) {
@@ -143,150 +176,6 @@ async function main() {
143
176
  }
144
177
  }
145
178
 
146
- main().catch(error => {
147
- console.error(`āŒ Unexpected error: ${error.message}`);
148
- process.exit(1);
149
- });
150
-
151
- async function handleCreateCustomer(args) {
152
- const [customerName, domain] = args;
153
-
154
- if (!customerName) {
155
- console.error('Usage: customer-config create-customer <customer-name> [domain]');
156
- process.exit(1);
157
- }
158
-
159
- console.log(`šŸ—ļø Creating customer configuration: ${customerName}`);
160
-
161
- // Pass framework mode flag to skip strict validation
162
- const customerInfo = await customerManager.createCustomer(customerName, domain, {
163
- skipValidation: true,
164
- isFrameworkMode: true
165
- });
166
-
167
- console.log(`\nšŸŽ‰ Customer ${customerName} configuration created successfully!`);
168
- console.log(`\nšŸ“‹ Customer Details:`);
169
- console.log(` Name: ${customerInfo.name}`);
170
- console.log(` Domain: ${customerInfo.domain || 'Not specified'}`);
171
- console.log(` Config Path: ${customerInfo.configPath}`);
172
- console.log(` Environments: ${customerInfo.environments.join(', ')}`);
173
-
174
- console.log(`\nšŸ“‹ Next steps:`);
175
- console.log(`1. Review generated configs in: config/customers/${customerName}/`);
176
- console.log(`2. Update domain-specific URLs if needed`);
177
- console.log(`3. Generate production secrets: npm run security:generate-key ${customerName}`);
178
- console.log(`4. Set production secrets: wrangler secret put KEY_NAME --env production`);
179
- }
180
-
181
- async function handleValidate() {
182
- console.log('šŸ” Validating customer configuration structure...\n');
183
-
184
- const result = await customerManager.validateConfigs();
185
-
186
- if (result.valid) {
187
- console.log('āœ… All customer configurations are valid');
188
- } else {
189
- console.log('āŒ Configuration validation failed');
190
- result.errors.forEach(error => console.log(` - ${error}`));
191
- process.exit(1);
192
- }
193
- }
194
-
195
- async function handleShow(args) {
196
- const [customerName, environment] = args;
197
-
198
- if (!customerName || !environment) {
199
- console.error('Usage: customer-config show <customer> <environment>');
200
- process.exit(1);
201
- }
202
-
203
- const config = customerManager.showConfig(customerName, environment);
204
-
205
- console.log(`šŸ” Effective configuration: ${customerName}/${environment}\n`);
206
-
207
- if (config.variables.base) {
208
- console.log('šŸ“‹ Base variables:');
209
- Object.entries(config.variables.base).slice(0, 10).forEach(([key, value]) => {
210
- console.log(` ${key}=${value}`);
211
- });
212
- if (Object.keys(config.variables.base).length > 10) {
213
- console.log(' ...');
214
- }
215
- console.log('');
216
- }
217
-
218
- if (config.variables.customer) {
219
- console.log(`šŸ“‹ Customer ${environment} variables:`);
220
- Object.entries(config.variables.customer).slice(0, 15).forEach(([key, value]) => {
221
- console.log(` ${key}=${value}`);
222
- });
223
- if (Object.keys(config.variables.customer).length > 15) {
224
- console.log(' ...');
225
- }
226
- console.log('');
227
- }
228
-
229
- if (config.features && Object.keys(config.features).length > 0) {
230
- console.log('🚩 Customer features:');
231
- Object.entries(config.features).forEach(([feature, enabled]) => {
232
- console.log(` ${feature}: ${enabled ? 'āœ…' : 'āŒ'}`);
233
- });
234
- }
235
- }
236
-
237
- async function handleDeployCommand(args) {
238
- const [customerName, environment] = args;
239
-
240
- if (!customerName || !environment) {
241
- console.error('Usage: customer-config deploy-command <customer> <environment>');
242
- process.exit(1);
243
- }
244
-
245
- const deployInfo = customerManager.getDeployCommand(customerName, environment);
246
-
247
- console.log(`šŸ“‹ Deploy command for ${customerName}/${environment}:`);
248
- console.log(` ${deployInfo.command}`);
249
- console.log(`\nšŸ’” Ensure customer config is loaded: ${deployInfo.configPath}`);
250
- }
251
-
252
- async function handleList() {
253
- const customers = customerManager.listCustomers();
254
-
255
- if (customers.length === 0) {
256
- console.log('šŸ“‹ No customers configured');
257
- return;
258
- }
259
-
260
- console.log('šŸ“‹ Configured customers:\n');
261
-
262
- customers.forEach(customer => {
263
- console.log(`šŸ¢ ${customer.name}`);
264
- console.log(` Domain: ${customer.domain || 'Not specified'}`);
265
- console.log(` Environments: ${customer.environments.join(', ')}`);
266
- console.log(` Created: ${customer.createdAt}`);
267
- console.log(` Config: config/customers/${customer.name}/`);
268
- console.log('');
269
- });
270
- }
271
-
272
- function showHelp() {
273
- console.log('Customer Configuration Management Tool\n');
274
- console.log('Available commands:');
275
- console.log(' create-customer <name> [domain] - Create new customer config from template');
276
- console.log(' validate - Validate configuration structure');
277
- console.log(' show <customer> <environment> - Show effective configuration');
278
- console.log(' deploy-command <customer> <env> - Get deployment command');
279
- console.log(' list - List all configured customers');
280
- console.log('\nExamples:');
281
- console.log(' customer-config create-customer acmecorp acmecorp.com');
282
- console.log(' customer-config validate');
283
- console.log(' customer-config show acmecorp production');
284
- console.log(' customer-config list');
285
- console.log('\nIntegration:');
286
- console.log(' This tool integrates with Clodo Framework domain and feature flag systems.');
287
- console.log(' Customer configurations are automatically registered as domains.');
288
- }
289
-
290
179
  main().catch(error => {
291
180
  console.error(`āŒ Unexpected error: ${error.message}`);
292
181
  process.exit(1);