@veloxts/core 0.3.3 → 0.3.5

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 (54) hide show
  1. package/README.md +697 -16
  2. package/dist/app.d.ts +67 -10
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +79 -12
  5. package/dist/app.js.map +1 -1
  6. package/dist/context.d.ts +26 -1
  7. package/dist/context.d.ts.map +1 -1
  8. package/dist/context.js +29 -0
  9. package/dist/context.js.map +1 -1
  10. package/dist/di/container.d.ts +406 -0
  11. package/dist/di/container.d.ts.map +1 -0
  12. package/dist/di/container.js +699 -0
  13. package/dist/di/container.js.map +1 -0
  14. package/dist/di/decorators.d.ts +235 -0
  15. package/dist/di/decorators.d.ts.map +1 -0
  16. package/dist/di/decorators.js +297 -0
  17. package/dist/di/decorators.js.map +1 -0
  18. package/dist/di/index.d.ts +65 -0
  19. package/dist/di/index.d.ts.map +1 -0
  20. package/dist/di/index.js +73 -0
  21. package/dist/di/index.js.map +1 -0
  22. package/dist/di/providers.d.ts +397 -0
  23. package/dist/di/providers.d.ts.map +1 -0
  24. package/dist/di/providers.js +380 -0
  25. package/dist/di/providers.js.map +1 -0
  26. package/dist/di/scope.d.ts +230 -0
  27. package/dist/di/scope.d.ts.map +1 -0
  28. package/dist/di/scope.js +294 -0
  29. package/dist/di/scope.js.map +1 -0
  30. package/dist/di/tokens.d.ts +227 -0
  31. package/dist/di/tokens.d.ts.map +1 -0
  32. package/dist/di/tokens.js +192 -0
  33. package/dist/di/tokens.js.map +1 -0
  34. package/dist/errors/catalog.d.ts +79 -0
  35. package/dist/errors/catalog.d.ts.map +1 -0
  36. package/dist/errors/catalog.js +492 -0
  37. package/dist/errors/catalog.js.map +1 -0
  38. package/dist/errors/formatter.d.ts +101 -0
  39. package/dist/errors/formatter.d.ts.map +1 -0
  40. package/dist/errors/formatter.js +330 -0
  41. package/dist/errors/formatter.js.map +1 -0
  42. package/dist/errors/index.d.ts +14 -0
  43. package/dist/errors/index.d.ts.map +1 -0
  44. package/dist/errors/index.js +16 -0
  45. package/dist/errors/index.js.map +1 -0
  46. package/dist/errors.d.ts +35 -5
  47. package/dist/errors.d.ts.map +1 -1
  48. package/dist/errors.js +57 -4
  49. package/dist/errors.js.map +1 -1
  50. package/dist/index.d.ts +10 -6
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +29 -6
  53. package/dist/index.js.map +1 -1
  54. package/package.json +14 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,gCAAgC;AAChC,eAAO,MAAM,aAAa,EAAE,MAA+C,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpD,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExD,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,kBAAkB,CAAC;AAQ1B,gCAAgC;AAChC,eAAO,MAAM,aAAa,EAAE,MAA+C,CAAC;AAG5E,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EAEjB,cAAc,EAEd,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO,EAEP,SAAS,EACT,SAAS,EACT,eAAe,EAEf,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EAEN,UAAU,EAEV,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EAEjB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ,EAER,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe,EAEf,SAAS,EAET,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAElG,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAElF,YAAY,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,19 +1,22 @@
1
1
  /**
2
2
  * @veloxts/core - Foundation package for the VeloxTS framework
3
3
  *
4
- * Provides the core Fastify wrapper, plugin system, and base context
5
- * that all other framework packages build upon.
4
+ * Provides the core Fastify wrapper, plugin system, base context,
5
+ * and dependency injection container that all other framework
6
+ * packages build upon.
6
7
  *
7
8
  * @example
8
9
  * ```typescript
9
- * import { createVeloxApp, definePlugin } from '@veloxts/core';
10
+ * import { veloxApp, definePlugin, Container, Injectable } from '@veloxts/core';
10
11
  *
11
- * const app = await createVeloxApp({ port: 3210 });
12
+ * const app = await veloxApp({ port: 3210 });
12
13
  * await app.start();
13
14
  * ```
14
15
  *
15
16
  * @module @veloxts/core
16
17
  */
18
+ // Import reflect-metadata for decorator support
19
+ import 'reflect-metadata';
17
20
  import { createRequire } from 'node:module';
18
21
  // Read version from package.json dynamically
19
22
  const require = createRequire(import.meta.url);
@@ -21,8 +24,28 @@ const packageJson = require('../package.json');
21
24
  /** VeloxTS framework version */
22
25
  export const VELOX_VERSION = packageJson.version ?? '0.0.0-unknown';
23
26
  // App creation and types
24
- export { createVeloxApp, VeloxApp } from './app.js';
25
- export { createContext, isContext } from './context.js';
27
+ export { createVeloxApp, VeloxApp, veloxApp } from './app.js';
28
+ export { createContext, isContext, setupTestContext } from './context.js';
29
+ // Dependency Injection
30
+ export {
31
+ // Provider helpers (legacy)
32
+ asClass, asExisting, asFactory, asValue,
33
+ // Container
34
+ Container, container, createContainer,
35
+ // Tokens (legacy - deprecated)
36
+ createStringToken, createSymbolToken, factory, getConstructorTokens, getExplicitInjectTokens, getInjectableScope, getOptionalParams, getTokenName, Inject,
37
+ // Decorators
38
+ Injectable,
39
+ // Provider type guards
40
+ isClassProvider, isClassToken, isExistingProvider, isFactoryProvider,
41
+ // Decorator utilities
42
+ isInjectable, isStringToken, isSymbolToken, isValueProvider, makeInjectable, Optional,
43
+ // Scope
44
+ Scope, ScopeManager, scoped, setInjectTokens,
45
+ // Provider helpers (succinct API)
46
+ singleton,
47
+ // Tokens (succinct API)
48
+ token, transient, validateProvider, validateToken, value, } from './di/index.js';
26
49
  export { assertNever, ConfigurationError, isConfigurationError, isNotFoundError, isNotFoundErrorResponse, isValidationError, isValidationErrorResponse, isVeloxError, NotFoundError, ValidationError, VeloxError, } from './errors.js';
27
50
  // Plugin system
28
51
  export { definePlugin, isVeloxPlugin, validatePluginMetadata } from './plugin.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAE5E,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAWxD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoBlF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,gDAAgD;AAChD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,gCAAgC;AAChC,MAAM,CAAC,MAAM,aAAa,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAE5E,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAqB1E,uBAAuB;AACvB,OAAO;AACL,4BAA4B;AAC5B,OAAO,EACP,UAAU,EACV,SAAS,EACT,OAAO;AACP,YAAY;AACZ,SAAS,EACT,SAAS,EACT,eAAe;AACf,+BAA+B;AAC/B,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,MAAM;AACN,aAAa;AACb,UAAU;AACV,uBAAuB;AACvB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB;AACjB,sBAAsB;AACtB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,QAAQ;AACR,QAAQ;AACR,KAAK,EACL,YAAY,EACZ,MAAM,EACN,eAAe;AACf,kCAAkC;AAClC,SAAS;AACT,wBAAwB;AACxB,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,MAAM,eAAe,CAAC;AAWvB,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAoBlF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veloxts/core",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "Fastify wrapper, DI container, and plugin system for VeloxTS framework",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -15,9 +15,20 @@
15
15
  "dist",
16
16
  "README.md"
17
17
  ],
18
+ "tsd": {
19
+ "directory": "src/__type-tests__",
20
+ "compilerOptions": {
21
+ "paths": {
22
+ "@veloxts/core": [
23
+ "dist"
24
+ ]
25
+ }
26
+ }
27
+ },
18
28
  "dependencies": {
19
29
  "fastify": "5.6.2",
20
- "fastify-plugin": "5.1.0"
30
+ "fastify-plugin": "5.1.0",
31
+ "reflect-metadata": "0.2.2"
21
32
  },
22
33
  "devDependencies": {
23
34
  "@types/node": "24.10.1",
@@ -47,6 +58,7 @@
47
58
  "build": "tsc",
48
59
  "dev": "tsc --watch",
49
60
  "type-check": "tsc --noEmit",
61
+ "test:types": "tsd",
50
62
  "clean": "rm -rf dist tsconfig.tsbuildinfo",
51
63
  "test": "vitest run",
52
64
  "test:watch": "vitest",