@forgedevstack/harbor 1.0.0

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 (130) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/README.md +927 -0
  3. package/dist/changelog/index.d.ts +3 -0
  4. package/dist/changelog/index.d.ts.map +1 -0
  5. package/dist/changelog/manager.d.ts +29 -0
  6. package/dist/changelog/manager.d.ts.map +1 -0
  7. package/dist/changelog/types.d.ts +41 -0
  8. package/dist/changelog/types.d.ts.map +1 -0
  9. package/dist/cli/index.d.ts +3 -0
  10. package/dist/cli/index.d.ts.map +1 -0
  11. package/dist/cli/index.js +43 -0
  12. package/dist/cli/index.js.map +1 -0
  13. package/dist/constants/config.const.d.ts +11 -0
  14. package/dist/constants/config.const.d.ts.map +1 -0
  15. package/dist/constants/defaults.const.d.ts +10 -0
  16. package/dist/constants/defaults.const.d.ts.map +1 -0
  17. package/dist/constants/http.const.d.ts +43 -0
  18. package/dist/constants/http.const.d.ts.map +1 -0
  19. package/dist/constants/index.d.ts +5 -0
  20. package/dist/constants/index.d.ts.map +1 -0
  21. package/dist/constants/validation.const.d.ts +35 -0
  22. package/dist/constants/validation.const.d.ts.map +1 -0
  23. package/dist/core/config.d.ts +6 -0
  24. package/dist/core/config.d.ts.map +1 -0
  25. package/dist/core/errorHandler.d.ts +25 -0
  26. package/dist/core/errorHandler.d.ts.map +1 -0
  27. package/dist/core/index.d.ts +6 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/router.d.ts +68 -0
  30. package/dist/core/router.d.ts.map +1 -0
  31. package/dist/core/server.d.ts +4 -0
  32. package/dist/core/server.d.ts.map +1 -0
  33. package/dist/database/connection.d.ts +39 -0
  34. package/dist/database/connection.d.ts.map +1 -0
  35. package/dist/database/index.d.ts +28 -0
  36. package/dist/database/index.d.ts.map +1 -0
  37. package/dist/database/model.d.ts +118 -0
  38. package/dist/database/model.d.ts.map +1 -0
  39. package/dist/database/schema.d.ts +63 -0
  40. package/dist/database/schema.d.ts.map +1 -0
  41. package/dist/database/types.d.ts +270 -0
  42. package/dist/database/types.d.ts.map +1 -0
  43. package/dist/docker/index.d.ts +3 -0
  44. package/dist/docker/index.d.ts.map +1 -0
  45. package/dist/docker/index.js +2 -0
  46. package/dist/docker/index.js.map +1 -0
  47. package/dist/docker/manager.d.ts +21 -0
  48. package/dist/docker/manager.d.ts.map +1 -0
  49. package/dist/i18n/index.d.ts +38 -0
  50. package/dist/i18n/index.d.ts.map +1 -0
  51. package/dist/i18n/locales/en.d.ts +2 -0
  52. package/dist/i18n/locales/en.d.ts.map +1 -0
  53. package/dist/i18n/locales/he.d.ts +2 -0
  54. package/dist/i18n/locales/he.d.ts.map +1 -0
  55. package/dist/index.cjs.js +24 -0
  56. package/dist/index.cjs.js.map +1 -0
  57. package/dist/index.d.ts +21 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.es.js +2094 -0
  60. package/dist/index.es.js.map +1 -0
  61. package/dist/logger-D7aJSi62.mjs +102 -0
  62. package/dist/logger-D7aJSi62.mjs.map +1 -0
  63. package/dist/logger-DEnWXtpk.js +3 -0
  64. package/dist/logger-DEnWXtpk.js.map +1 -0
  65. package/dist/manager-B1UKMjXW.js +4 -0
  66. package/dist/manager-B1UKMjXW.js.map +1 -0
  67. package/dist/manager-B6vqJgEn.mjs +152 -0
  68. package/dist/manager-B6vqJgEn.mjs.map +1 -0
  69. package/dist/portal.d.ts +13 -0
  70. package/dist/portal.d.ts.map +1 -0
  71. package/dist/types/config.types.d.ts +83 -0
  72. package/dist/types/config.types.d.ts.map +1 -0
  73. package/dist/types/docker.types.d.ts +92 -0
  74. package/dist/types/docker.types.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +7 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/dist/types/logger.types.d.ts +35 -0
  78. package/dist/types/logger.types.d.ts.map +1 -0
  79. package/dist/types/route.types.d.ts +78 -0
  80. package/dist/types/route.types.d.ts.map +1 -0
  81. package/dist/types/server.types.d.ts +67 -0
  82. package/dist/types/server.types.d.ts.map +1 -0
  83. package/dist/types/validation.types.d.ts +64 -0
  84. package/dist/types/validation.types.d.ts.map +1 -0
  85. package/dist/utils/helpers.d.ts +7 -0
  86. package/dist/utils/helpers.d.ts.map +1 -0
  87. package/dist/utils/httpLogger.d.ts +52 -0
  88. package/dist/utils/httpLogger.d.ts.map +1 -0
  89. package/dist/utils/index.d.ts +6 -0
  90. package/dist/utils/index.d.ts.map +1 -0
  91. package/dist/utils/logger.d.ts +6 -0
  92. package/dist/utils/logger.d.ts.map +1 -0
  93. package/dist/utils/object.d.ts +6 -0
  94. package/dist/utils/object.d.ts.map +1 -0
  95. package/dist/validation/index.d.ts +5 -0
  96. package/dist/validation/index.d.ts.map +1 -0
  97. package/dist/validation/index.js +2 -0
  98. package/dist/validation/index.js.map +1 -0
  99. package/dist/validation/mongo.d.ts +13 -0
  100. package/dist/validation/mongo.d.ts.map +1 -0
  101. package/dist/validation/paramValidators.d.ts +18 -0
  102. package/dist/validation/paramValidators.d.ts.map +1 -0
  103. package/dist/validation/validators.d.ts +9 -0
  104. package/dist/validation/validators.d.ts.map +1 -0
  105. package/harbor.config.example.json +72 -0
  106. package/package.json +107 -0
  107. package/templates/default/.eslintrc.json +45 -0
  108. package/templates/default/README.md +97 -0
  109. package/templates/default/constants/config.ts +26 -0
  110. package/templates/default/constants/http.ts +32 -0
  111. package/templates/default/constants/index.ts +3 -0
  112. package/templates/default/controllers/index.ts +6 -0
  113. package/templates/default/controllers/user.controller.ts +77 -0
  114. package/templates/default/env.example +22 -0
  115. package/templates/default/harbor.version.json +7 -0
  116. package/templates/default/models/index.ts +6 -0
  117. package/templates/default/models/user.model.ts +68 -0
  118. package/templates/default/package.json +44 -0
  119. package/templates/default/routes/index.ts +12 -0
  120. package/templates/default/routes/user.routes.ts +21 -0
  121. package/templates/default/server.ts +45 -0
  122. package/templates/default/services/index.ts +6 -0
  123. package/templates/default/services/user.service.ts +84 -0
  124. package/templates/default/tsconfig.json +35 -0
  125. package/templates/default/types/index.ts +57 -0
  126. package/templates/default/utils/asyncHandler.ts +14 -0
  127. package/templates/default/utils/index.ts +5 -0
  128. package/templates/default/utils/logger.ts +52 -0
  129. package/templates/default/utils/response.ts +24 -0
  130. package/templates/default/utils/validation.ts +23 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,126 @@
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.3.1] - 2026-01-13
9
+
10
+ ### Added
11
+
12
+ - **Version Dropdown** - Click on version badge to see changelog history with highlights
13
+ - **Project Templates Link** - Homepage now links to templates documentation
14
+ - **Template Init Flag** - `harbor init --template` to initialize with full boilerplate
15
+ - **Template Version Tracking** - Each project tracks Harbor and template versions
16
+
17
+ ### Changed
18
+
19
+ - Navbar version badge now shows dropdown with all versions
20
+ - Sidebar version badge now shows dropdown with changelog
21
+ - Hero code block centered properly
22
+ - Docs navigation uses React Router (no page reload)
23
+
24
+ ## [1.3.0] - 2026-01-13
25
+
26
+ ### Added
27
+
28
+ - **Project Scaffolding CLI** - New `harbor create <project-name>` command:
29
+ - Full boilerplate with routes, controllers, services, models, types, utils, constants
30
+ - Pre-configured ESLint, TypeScript, and Vitest
31
+ - Example User CRUD implementation
32
+ - Environment configuration with `.env.example`
33
+ - Clean architecture with `index.ts` exports
34
+
35
+ - **Subpath Exports** - Enhanced package exports for better tree-shaking:
36
+ - `import { ... } from 'harbor'` - Main exports
37
+ - `import { Schema, model, connect } from 'harbor/database'` - Database-specific
38
+ - `import { ... } from 'harbor/validations'` - Validation utilities
39
+ - `import { ... } from 'harbor/docker'` - Docker management
40
+ - `import { ... } from 'harbor/utils'` - Utility functions
41
+
42
+ - **GitHub Integration** - Added repository links:
43
+ - Repository: https://github.com/yaghobieh/Harbor
44
+ - Homepage and issue tracker configured in package.json
45
+
46
+ ### Changed
47
+
48
+ - **Portal Improvements**:
49
+ - Navbar is now solid (not floating/transparent)
50
+ - Added copy button to all code blocks with visual feedback
51
+ - Light/Dark mode toggle with system option
52
+ - Restructured all components with `index.ts`, `ComponentName.tsx`, `types.ts` pattern
53
+ - All GitHub links now point to official repository
54
+
55
+ - Portal version updated to 1.3.0
56
+ - CLI version updated to 1.2.0
57
+
58
+ ## [1.2.0] - 2026-01-12
59
+
60
+ ### Added
61
+
62
+ - **MongoDB ODM (Mongoose Replacement)** - Complete database module that replaces Mongoose:
63
+ - `connect()` / `disconnect()` - MongoDB connection management with events
64
+ - `Schema` class - Mongoose-compatible schema definition with all field types
65
+ - `model()` function - Create models from schemas
66
+ - **All Query Methods**: `find()`, `findOne()`, `findById()`, `create()`, `insertMany()`, `updateOne()`, `updateMany()`, `findOneAndUpdate()`, `findByIdAndUpdate()`, `deleteOne()`, `deleteMany()`, `findOneAndDelete()`, `findByIdAndDelete()`, `countDocuments()`, `estimatedDocumentCount()`, `aggregate()`, `distinct()`, `exists()`
67
+ - **Query Builder**: `.where()`, `.select()`, `.sort()`, `.limit()`, `.skip()`, `.lean()`, `.populate()`, `.gt()`, `.gte()`, `.lt()`, `.lte()`, `.in()`, `.nin()`, `.ne()`, `.regex()`, `.exists()`, `.or()`, `.and()`, `.nor()`
68
+ - **Schema Features**: virtuals, instance methods, static methods, pre/post hooks (middleware)
69
+ - **Index Management**: `createIndex()`, `createIndexes()`, `listIndexes()`, `dropIndex()`
70
+ - **Transactions**: `startSession()`, `withTransaction()`
71
+ - `Types.ObjectId` - ObjectId type support
72
+
73
+ - **Database Translations** - Added i18n support for all database operations (English & Hebrew)
74
+
75
+ - **Comprehensive Documentation**:
76
+ - Updated README.md with full MongoDB documentation
77
+ - Added Database examples to portal
78
+ - API reference for all database methods
79
+
80
+ ### Changed
81
+
82
+ - Portal version updated to 1.2.0
83
+ - Portal now includes Database tab in code examples
84
+ - Features section now highlights MongoDB ODM capability
85
+
86
+ ## [1.1.0] - 2026-01-12
87
+
88
+ ### Added
89
+
90
+ - **Simplified Route API** - New `GET`, `POST`, `PUT`, `PATCH`, `DELETE` functions that don't require `.build()`
91
+ - **i18n/Translation System** - Full internationalization support with `t()`, `setLocale()`, includes English and Hebrew
92
+ - **Morgan-like HTTP Logger** - In-house `httpLogger()` middleware with formats: tiny, short, dev, combined, common
93
+ - **React Portal** - Complete React-based documentation portal with proper component structure
94
+ - `route()` function for creating routes with any HTTP method
95
+ - Skip functions for HTTP logger: `successOnly`, `healthChecks`, `staticFiles`, `paths`
96
+
97
+ ### Changed
98
+
99
+ - `RouteBuilder.handler()` now returns `RouteDefinition` directly (no need to call `.build()`)
100
+ - Portal converted from static HTML to React project with components, constants, types pattern
101
+
102
+ ## [1.0.0] - 2026-01-12
103
+
104
+ ### Added
105
+
106
+ - Initial release of Harbor
107
+ - Fast server creation with `createServer()`
108
+ - Route management with `RouteBuilder` fluent API
109
+ - Pre and post function middleware support
110
+ - Request validation with schema definitions
111
+ - MongoDB-compatible validation with `MongoValidator`
112
+ - Custom validation adapter support
113
+ - Config-driven error handling
114
+ - CORS middleware with configurable options
115
+ - Body parser with size limits
116
+ - Request timeout handling
117
+ - Docker container management
118
+ - Docker Compose integration
119
+ - Changelog manager for version tracking
120
+ - API Portal documentation generator
121
+ - CLI tools for project initialization
122
+ - TypeScript-first with full type definitions
123
+ - Graceful shutdown handling
124
+ - Environment variable overrides
125
+ - Comprehensive logging system
126
+