@riktajs/core 0.2.1 → 0.2.3

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/README.md CHANGED
@@ -78,7 +78,11 @@ export class UserController {
78
78
  }
79
79
 
80
80
  // 4. Run it!
81
- const app = await Rikta.create({ port: 3000, autowired: [__dirname] });
81
+ // autowired paths are resolved relative to your project, not node_modules!
82
+ const app = await Rikta.create({
83
+ port: 3000,
84
+ autowired: ['./src'] // Relative paths are resolved from YOUR project directory
85
+ });
82
86
  await app.listen();
83
87
  console.log('šŸš€ Server running on http://localhost:3000');
84
88
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAe1B,OAAO,EAAe,WAAW,EAAE,gBAAgB,EAAqB,MAAM,SAAS,CAAC;AASxF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;;;;;;OAcG;WACU,MAAM,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkBzE;AAsUD,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAe1B,OAAO,EAAe,WAAW,EAAE,gBAAgB,EAAqB,MAAM,SAAS,CAAC;AASxF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;;;;;;OAcG;WACU,MAAM,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAoBzE;AAsUD,OAAO,EAAE,YAAY,IAAI,KAAK,EAAE,CAAC"}
@@ -37,7 +37,9 @@ class RiktaFactory {
37
37
  * ```
38
38
  */
39
39
  static async create(config = {}) {
40
+ console.log('\nšŸš€ Rikta Framework Starting...\n');
40
41
  const callerDir = (0, discovery_1.getCallerDirectory)();
42
+ console.log(' Caller Directory:', callerDir);
41
43
  let discoveredFiles = [];
42
44
  // Auto-discovery: scan for controllers and services
43
45
  if (!config.controllers) {
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/core/application.ts"],"names":[],"mappings":"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"}
@@ -3,15 +3,20 @@
3
3
  *
4
4
  * Only imports files that contain @Controller, @Injectable, or @Provider decorators.
5
5
  *
6
- * @param patterns - Glob patterns to search for files (default: ['./**'])
7
- * @param cwd - Base directory for pattern matching (default: process.cwd())
6
+ * @param patterns - Glob patterns or directory paths to search for files (default: ['./**'])
7
+ * @param cwd - Base directory for pattern matching. If not provided, it will be
8
+ * automatically resolved from the caller's location (useful when rikta-core
9
+ * is used as an external library from node_modules)
8
10
  * @returns Promise resolving to list of imported files
9
11
  *
10
12
  * @example
11
13
  * ```typescript
12
- * // Scan specific directories
14
+ * // Scan specific directories (relative paths resolved from caller's location)
13
15
  * await discoverModules(['./src/controllers', './src/services']);
14
16
  *
17
+ * // Scan with absolute path
18
+ * await discoverModules(['/absolute/path/to/src']);
19
+ *
15
20
  * // Scan everything (default)
16
21
  * await discoverModules();
17
22
  * ```
@@ -19,6 +24,12 @@
19
24
  export declare function discoverModules(patterns?: string[], cwd?: string): Promise<string[]>;
20
25
  /**
21
26
  * Get the caller's directory (useful for relative pattern resolution)
27
+ *
28
+ * This function walks the stack trace to find the first file that is NOT
29
+ * part of rikta-core, making it work correctly when rikta-core is installed
30
+ * as an external library in node_modules.
31
+ *
32
+ * @returns The directory of the calling file, or process.cwd() if it cannot be determined
22
33
  */
23
34
  export declare function getCallerDirectory(): string;
24
35
  //# sourceMappingURL=discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,GAAE,MAAM,EAAuB,EACvC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,EAAE,CAAC,CAgDnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CA+B3C"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"AAgFA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CACnC,QAAQ,GAAE,MAAM,EAAuB,EACvC,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,EAAE,CAAC,CAqEnB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
@@ -52,6 +52,44 @@ const DEFAULT_IGNORE_PATTERNS = [
52
52
  '**/*.spec.ts',
53
53
  '**/*.d.ts',
54
54
  ];
55
+ /**
56
+ * Get the caller's directory from the stack trace
57
+ * This is used to resolve relative paths from the caller's context,
58
+ * not from where rikta-core is installed (e.g., node_modules)
59
+ */
60
+ function getCallerDirectoryFromStack() {
61
+ const originalPrepareStackTrace = Error.prepareStackTrace;
62
+ try {
63
+ const err = new Error();
64
+ let callerFile;
65
+ Error.prepareStackTrace = (_, stack) => stack;
66
+ const stack = err.stack;
67
+ // Find the first file that's not part of rikta-core
68
+ for (const site of stack) {
69
+ const filename = site.getFileName();
70
+ if (filename &&
71
+ !filename.includes('discovery.ts') &&
72
+ !filename.includes('discovery.js') &&
73
+ !filename.includes('application.ts') &&
74
+ !filename.includes('application.js') &&
75
+ !filename.includes('rikta-core')) {
76
+ callerFile = filename;
77
+ break;
78
+ }
79
+ }
80
+ if (callerFile) {
81
+ // Handle file:// URLs (ESM) and regular paths
82
+ const filePath = callerFile.startsWith('file://')
83
+ ? new URL(callerFile).pathname
84
+ : callerFile;
85
+ return path_1.default.dirname(filePath);
86
+ }
87
+ return process.cwd();
88
+ }
89
+ finally {
90
+ Error.prepareStackTrace = originalPrepareStackTrace;
91
+ }
92
+ }
55
93
  /**
56
94
  * Regex patterns to detect Rikta decorators
57
95
  */
@@ -77,34 +115,56 @@ async function containsRiktaDecorators(filePath) {
77
115
  *
78
116
  * Only imports files that contain @Controller, @Injectable, or @Provider decorators.
79
117
  *
80
- * @param patterns - Glob patterns to search for files (default: ['./**'])
81
- * @param cwd - Base directory for pattern matching (default: process.cwd())
118
+ * @param patterns - Glob patterns or directory paths to search for files (default: ['./**'])
119
+ * @param cwd - Base directory for pattern matching. If not provided, it will be
120
+ * automatically resolved from the caller's location (useful when rikta-core
121
+ * is used as an external library from node_modules)
82
122
  * @returns Promise resolving to list of imported files
83
123
  *
84
124
  * @example
85
125
  * ```typescript
86
- * // Scan specific directories
126
+ * // Scan specific directories (relative paths resolved from caller's location)
87
127
  * await discoverModules(['./src/controllers', './src/services']);
88
128
  *
129
+ * // Scan with absolute path
130
+ * await discoverModules(['/absolute/path/to/src']);
131
+ *
89
132
  * // Scan everything (default)
90
133
  * await discoverModules();
91
134
  * ```
92
135
  */
93
- async function discoverModules(patterns = ['./**/*.{ts,js}'], cwd = process.cwd()) {
136
+ async function discoverModules(patterns = ['./**/*.{ts,js}'], cwd) {
137
+ // If no cwd provided, resolve from caller's directory
138
+ // This is crucial when rikta-core is installed in node_modules
139
+ const baseDir = cwd ?? getCallerDirectoryFromStack();
140
+ // Resolve the base directory to absolute if needed
141
+ const absoluteBaseDir = path_1.default.isAbsolute(baseDir)
142
+ ? baseDir
143
+ : path_1.default.resolve(process.cwd(), baseDir);
94
144
  // Normalize patterns to include file extensions if not present
95
145
  const normalizedPatterns = patterns.map(pattern => {
146
+ // Resolve the pattern if it's an absolute path
147
+ // For absolute paths, we need to make them relative to cwd for fast-glob
148
+ let normalizedPattern = pattern;
149
+ if (path_1.default.isAbsolute(pattern)) {
150
+ // Convert absolute path to relative from baseDir
151
+ normalizedPattern = path_1.default.relative(absoluteBaseDir, pattern);
152
+ if (!normalizedPattern.startsWith('.')) {
153
+ normalizedPattern = './' + normalizedPattern;
154
+ }
155
+ }
96
156
  // If pattern already has extension, use as-is
97
- if (/\.\w+$/.test(pattern) || pattern.endsWith('*')) {
98
- return pattern;
157
+ if (/\.\w+$/.test(normalizedPattern) || normalizedPattern.endsWith('*')) {
158
+ return normalizedPattern;
99
159
  }
100
160
  // Add file extension pattern
101
- return pattern.endsWith('/')
102
- ? `${pattern}**/*.{ts,js}`
103
- : `${pattern}/**/*.{ts,js}`;
161
+ return normalizedPattern.endsWith('/')
162
+ ? `${normalizedPattern}**/*.{ts,js}`
163
+ : `${normalizedPattern}/**/*.{ts,js}`;
104
164
  });
105
165
  // Find all matching files
106
166
  const files = await (0, fast_glob_1.default)(normalizedPatterns, {
107
- cwd,
167
+ cwd: absoluteBaseDir,
108
168
  absolute: true,
109
169
  ignore: DEFAULT_IGNORE_PATTERNS,
110
170
  onlyFiles: true,
@@ -136,33 +196,14 @@ async function discoverModules(patterns = ['./**/*.{ts,js}'], cwd = process.cwd(
136
196
  }
137
197
  /**
138
198
  * Get the caller's directory (useful for relative pattern resolution)
199
+ *
200
+ * This function walks the stack trace to find the first file that is NOT
201
+ * part of rikta-core, making it work correctly when rikta-core is installed
202
+ * as an external library in node_modules.
203
+ *
204
+ * @returns The directory of the calling file, or process.cwd() if it cannot be determined
139
205
  */
140
206
  function getCallerDirectory() {
141
- const originalPrepareStackTrace = Error.prepareStackTrace;
142
- try {
143
- const err = new Error();
144
- let callerFile;
145
- Error.prepareStackTrace = (_, stack) => stack;
146
- const stack = err.stack;
147
- // Find the first file that's not this module
148
- for (const site of stack) {
149
- const filename = site.getFileName();
150
- if (filename && !filename.includes('discovery.ts') && !filename.includes('application.ts')) {
151
- callerFile = filename;
152
- break;
153
- }
154
- }
155
- if (callerFile) {
156
- // Handle file:// URLs (ESM) and regular paths
157
- const filePath = callerFile.startsWith('file://')
158
- ? new URL(callerFile).pathname
159
- : callerFile;
160
- return path_1.default.dirname(filePath);
161
- }
162
- return process.cwd();
163
- }
164
- finally {
165
- Error.prepareStackTrace = originalPrepareStackTrace;
166
- }
207
+ return getCallerDirectoryFromStack();
167
208
  }
168
209
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/core/discovery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riktajs/core",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "A fast and modern TypeScript backend framework with zero-config autowiring, powered by Fastify",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",