fragment-ts 1.1.14 → 1.1.15

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.
@@ -183,7 +183,7 @@ class InitCommand {
183
183
  "migrate:revert": "fragment migrate:revert",
184
184
  },
185
185
  dependencies: {
186
- "fragment-ts": "^1.1.14",
186
+ "fragment-ts": "^1.1.15",
187
187
  "reflect-metadata": "^0.1.13",
188
188
  sqlite3: "^5.1.7",
189
189
  },
@@ -11,7 +11,6 @@ export declare class MigrateCommand {
11
11
  private static dropSchema;
12
12
  private static runSeeds;
13
13
  private static createSeed;
14
- private static verifyTsNode;
15
14
  private static verifyEntities;
16
15
  private static extractMigrationDirectory;
17
16
  private static buildQueryStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAgFlB,iBAAiB;mBA8GjB,aAAa;mBA4Cb,eAAe;mBAqCf,eAAe;mBA4Cf,iBAAiB;mBA6CjB,UAAU;mBAwEV,UAAU;mBAoCV,UAAU;mBAoCV,QAAQ;mBAkDR,UAAU;IAgC/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B,OAAO,CAAC,MAAM,CAAC,cAAc;IAY7B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAcxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoBlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CA0BtC"}
1
+ {"version":3,"file":"migrate.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAgFlB,iBAAiB;mBA2GjB,aAAa;mBAyCb,eAAe;mBAgCf,eAAe;mBAyCf,iBAAiB;mBA0CjB,UAAU;mBAqEV,UAAU;mBAiCV,UAAU;mBAiCV,QAAQ;mBA+CR,UAAU;IAgC/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAY7B,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAcxC,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAoBlC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CA0BtC"}
@@ -117,13 +117,10 @@ class MigrateCommand {
117
117
  static async generateMigration(nameOrPath, options) {
118
118
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
119
119
  runtime_resolver_1.RuntimeResolver.printMode();
120
- // Verify ts-node is available in development mode
121
- if (mode.useTypeScript) {
122
- this.verifyTsNode();
123
- }
124
120
  const spinner = (0, ora_1.default)(`Generating ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migration...`).start();
125
121
  let dataSource = null;
126
122
  try {
123
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
127
124
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
128
125
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities, dbConfig.migrations);
129
126
  spinner.info(`Entity paths: ${paths.entities.join(", ")}`);
@@ -192,13 +189,10 @@ class MigrateCommand {
192
189
  static async runMigrations() {
193
190
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
194
191
  runtime_resolver_1.RuntimeResolver.printMode();
195
- // Verify ts-node is available in development mode
196
- if (mode.useTypeScript) {
197
- this.verifyTsNode();
198
- }
199
192
  const spinner = (0, ora_1.default)(`Running ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migrations...`).start();
200
193
  let dataSource = null;
201
194
  try {
195
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
202
196
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
203
197
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities, dbConfig.migrations);
204
198
  const configOverride = {
@@ -224,21 +218,19 @@ class MigrateCommand {
224
218
  const spinner = (0, ora_1.default)("Creating migration...").start();
225
219
  try {
226
220
  // Always create TS migrations
227
- const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(undefined, [
228
- "src/migrations/**/*.ts",
229
- ]);
221
+ const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(undefined, ["src/migrations/**/*.ts"]);
230
222
  const migrationsDir = paths.migrations[0].replace("/migrations/**/*.ts", "/migrations");
231
223
  await fs.ensureDir(migrationsDir);
232
224
  const timestamp = Date.now();
233
225
  const fileName = `${timestamp}-${name}.ts`;
234
226
  const filePath = path.join(migrationsDir, fileName);
235
227
  const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
236
-
237
- export class ${name}${timestamp} implements MigrationInterface {
238
- async up(queryRunner: QueryRunner): Promise<void> {}
239
-
240
- async down(queryRunner: QueryRunner): Promise<void> {}
241
- }`;
228
+
229
+ export class ${name}${timestamp} implements MigrationInterface {
230
+ async up(queryRunner: QueryRunner): Promise<void> {}
231
+
232
+ async down(queryRunner: QueryRunner): Promise<void> {}
233
+ }`;
242
234
  await fs.ensureDir(path.dirname(filePath));
243
235
  await fs.writeFile(filePath, content);
244
236
  spinner.succeed(`Migration created: ${fileName}`);
@@ -252,13 +244,10 @@ export class ${name}${timestamp} implements MigrationInterface {
252
244
  static async revertMigration() {
253
245
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
254
246
  runtime_resolver_1.RuntimeResolver.printMode();
255
- // Verify ts-node is available in development mode
256
- if (mode.useTypeScript) {
257
- this.verifyTsNode();
258
- }
259
247
  const spinner = (0, ora_1.default)(`Reverting ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migration...`).start();
260
248
  let dataSource = null;
261
249
  try {
250
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
262
251
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
263
252
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities, dbConfig.migrations);
264
253
  const configOverride = {
@@ -283,13 +272,10 @@ export class ${name}${timestamp} implements MigrationInterface {
283
272
  static async refreshMigrations() {
284
273
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
285
274
  runtime_resolver_1.RuntimeResolver.printMode();
286
- // Verify ts-node is available in development mode
287
- if (mode.useTypeScript) {
288
- this.verifyTsNode();
289
- }
290
275
  const spinner = (0, ora_1.default)(`Refreshing ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migrations...`).start();
291
276
  let dataSource = null;
292
277
  try {
278
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
293
279
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
294
280
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities, dbConfig.migrations);
295
281
  const configOverride = {
@@ -315,12 +301,9 @@ export class ${name}${timestamp} implements MigrationInterface {
315
301
  static async showStatus() {
316
302
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
317
303
  runtime_resolver_1.RuntimeResolver.printMode(true);
318
- // Verify ts-node is available in development mode
319
- if (mode.useTypeScript) {
320
- this.verifyTsNode();
321
- }
322
304
  let dataSource = null;
323
305
  try {
306
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
324
307
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
325
308
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities, dbConfig.migrations);
326
309
  const configOverride = {
@@ -364,13 +347,10 @@ export class ${name}${timestamp} implements MigrationInterface {
364
347
  static async syncSchema() {
365
348
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
366
349
  runtime_resolver_1.RuntimeResolver.printMode();
367
- // Verify ts-node is available in development mode
368
- if (mode.useTypeScript) {
369
- this.verifyTsNode();
370
- }
371
350
  const spinner = (0, ora_1.default)(`Synchronizing ${mode.useTypeScript ? "TypeScript" : "JavaScript"} schema...`).start();
372
351
  let dataSource = null;
373
352
  try {
353
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
374
354
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
375
355
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities);
376
356
  const configOverride = { entities: paths.entities };
@@ -392,13 +372,10 @@ export class ${name}${timestamp} implements MigrationInterface {
392
372
  static async dropSchema() {
393
373
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
394
374
  runtime_resolver_1.RuntimeResolver.printMode();
395
- // Verify ts-node is available in development mode
396
- if (mode.useTypeScript) {
397
- this.verifyTsNode();
398
- }
399
375
  const spinner = (0, ora_1.default)(`Dropping ${mode.useTypeScript ? "TypeScript" : "JavaScript"} schema...`).start();
400
376
  let dataSource = null;
401
377
  try {
378
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
402
379
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
403
380
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities);
404
381
  const configOverride = { entities: paths.entities };
@@ -420,12 +397,9 @@ export class ${name}${timestamp} implements MigrationInterface {
420
397
  static async runSeeds() {
421
398
  const mode = runtime_resolver_1.RuntimeResolver.detectRuntimeMode();
422
399
  runtime_resolver_1.RuntimeResolver.printMode();
423
- // Verify ts-node is available in development mode
424
- if (mode.useTypeScript) {
425
- this.verifyTsNode();
426
- }
427
400
  const spinner = (0, ora_1.default)(`Running ${mode.useTypeScript ? "TypeScript" : "JavaScript"} seeds...`).start();
428
401
  try {
402
+ runtime_resolver_1.RuntimeResolver.registerTypeScriptRuntime();
429
403
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
430
404
  const paths = runtime_resolver_1.RuntimeResolver.resolvePaths(dbConfig.entities, dbConfig.migrations);
431
405
  const seedsDir = paths.seeds;
@@ -477,16 +451,6 @@ export class ${name}${timestamp} implements MigrationInterface {
477
451
  }
478
452
  }
479
453
  // Helper methods
480
- static verifyTsNode() {
481
- try {
482
- require.resolve("ts-node", { paths: [process.cwd()] });
483
- }
484
- catch {
485
- console.error(chalk_1.default.red("❌ ts-node not found in project"));
486
- console.log(chalk_1.default.yellow("Install it with: npm install --save-dev ts-node"));
487
- process.exit(1);
488
- }
489
- }
490
454
  static verifyEntities(dataSource) {
491
455
  const entities = dataSource.entityMetadatas;
492
456
  if (entities.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.command.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.command.js","sourceRoot":"","sources":["../../../src/cli/commands/migrate.command.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,20 @@ export interface RuntimePaths {
7
7
  export interface RuntimeMode {
8
8
  useTypeScript: boolean;
9
9
  reason: string;
10
+ tsNodeAvailable: boolean;
10
11
  hasDecoratorSupport: boolean;
11
12
  hasTypeScriptFiles: boolean;
12
13
  }
13
14
  export declare class RuntimeResolver {
15
+ private static tsNodeAvailable;
16
+ private static tsNodeRegistered;
14
17
  private static cachedMode;
15
18
  static detectRuntimeMode(): RuntimeMode;
16
19
  static resolvePaths(explicitEntities?: string[], explicitMigrations?: string[]): RuntimePaths;
20
+ static registerTypeScriptRuntime(): void;
17
21
  static printMode(verbose?: boolean): void;
18
22
  static clearCache(): void;
23
+ private static checkTsNodeAvailable;
19
24
  private static checkTypeScriptFilesExist;
20
25
  }
21
26
  //# sourceMappingURL=runtime.resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.resolver.d.ts","sourceRoot":"","sources":["../../src/shared/runtime.resolver.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4B;IAErD,MAAM,CAAC,iBAAiB,IAAI,WAAW;IAkCvC,MAAM,CAAC,YAAY,CACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,YAAY;IAwCf,MAAM,CAAC,SAAS,CAAC,OAAO,UAAQ,GAAG,IAAI;IA2BvC,MAAM,CAAC,UAAU,IAAI,IAAI;IAIzB,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAczC"}
1
+ {"version":3,"file":"runtime.resolver.d.ts","sourceRoot":"","sources":["../../src/shared/runtime.resolver.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAwB;IACtD,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAS;IACxC,OAAO,CAAC,MAAM,CAAC,UAAU,CAA4B;IAErD,MAAM,CAAC,iBAAiB,IAAI,WAAW;IAqCvC,MAAM,CAAC,YAAY,CACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,YAAY;IAkCf,MAAM,CAAC,yBAAyB,IAAI,IAAI;IAiBxC,MAAM,CAAC,SAAS,CAAC,OAAO,UAAQ,GAAG,IAAI;IA4BvC,MAAM,CAAC,UAAU,IAAI,IAAI;IAKzB,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAyBnC,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAYzC"}
@@ -49,6 +49,7 @@ class RuntimeResolver {
49
49
  const isProduction = env_utils_1.EnvUtils.getEnvironmentMode() === "production";
50
50
  const tsConfigExists = tsconfig_utils_1.TsConfigUtils.exists();
51
51
  const hasDecoratorSupport = tsconfig_utils_1.TsConfigUtils.hasDecoratorSupport();
52
+ const tsNodeAvailable = this.checkTsNodeAvailable();
52
53
  const hasTypeScriptFiles = this.checkTypeScriptFilesExist();
53
54
  let useTypeScript = false;
54
55
  let reason = "";
@@ -61,17 +62,20 @@ class RuntimeResolver {
61
62
  else if (!hasDecoratorSupport) {
62
63
  reason = "TypeScript decorators not enabled in tsconfig.json";
63
64
  }
65
+ else if (!tsNodeAvailable) {
66
+ reason = "ts-node not installed (run: npm install --save-dev ts-node)";
67
+ }
64
68
  else if (!hasTypeScriptFiles) {
65
69
  reason = "No TypeScript files found in project";
66
70
  }
67
71
  else {
68
- // Assume user has ts-node if they're in dev mode with TS files
69
72
  useTypeScript = true;
70
- reason = "TypeScript development environment detected (requires ts-node)";
73
+ reason = "TypeScript development environment detected";
71
74
  }
72
75
  this.cachedMode = {
73
76
  useTypeScript,
74
77
  reason,
78
+ tsNodeAvailable,
75
79
  hasDecoratorSupport,
76
80
  hasTypeScriptFiles,
77
81
  };
@@ -93,12 +97,12 @@ class RuntimeResolver {
93
97
  return {
94
98
  entities: explicitEntities
95
99
  ? explicitEntities.map((p) => p
96
- .replace(new RegExp(`^${rootDir.replace(/\\/g, "\\\\")}/`), `${outDir.replace(/\\/g, "\\\\")}/`)
100
+ .replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
97
101
  .replace(/\.ts$/, ".js"))
98
102
  : [`${outDir}/**/*.entity.js`],
99
103
  migrations: explicitMigrations
100
104
  ? explicitMigrations.map((p) => p
101
- .replace(new RegExp(`^${rootDir.replace(/\\/g, "\\\\")}/`), `${outDir.replace(/\\/g, "\\\\")}/`)
105
+ .replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
102
106
  .replace(/\.ts$/, ".js"))
103
107
  : [`${outDir}/migrations/**/*.js`],
104
108
  subscribers: [`${outDir}/**/*.subscriber.js`],
@@ -106,6 +110,22 @@ class RuntimeResolver {
106
110
  };
107
111
  }
108
112
  }
113
+ static registerTypeScriptRuntime() {
114
+ const mode = this.detectRuntimeMode();
115
+ if (mode.useTypeScript && !this.tsNodeRegistered) {
116
+ require("ts-node").register({
117
+ transpileOnly: true,
118
+ compilerOptions: {
119
+ module: "commonjs",
120
+ experimentalDecorators: true,
121
+ emitDecoratorMetadata: true,
122
+ esModuleInterop: true,
123
+ target: "ES2020",
124
+ },
125
+ });
126
+ this.tsNodeRegistered = true;
127
+ }
128
+ }
109
129
  static printMode(verbose = false) {
110
130
  const mode = this.detectRuntimeMode();
111
131
  if (mode.useTypeScript) {
@@ -117,6 +137,7 @@ class RuntimeResolver {
117
137
  if (verbose) {
118
138
  console.log(chalk_1.default.gray("\nRuntime Configuration:"));
119
139
  console.log(chalk_1.default.gray(` • Environment: ${env_utils_1.EnvUtils.getEnvironmentMode()}`));
140
+ console.log(chalk_1.default.gray(` • ts-node available: ${mode.tsNodeAvailable}`));
120
141
  console.log(chalk_1.default.gray(` • Decorator support: ${mode.hasDecoratorSupport}`));
121
142
  console.log(chalk_1.default.gray(` • TypeScript files: ${mode.hasTypeScriptFiles}`));
122
143
  console.log(chalk_1.default.gray(` • Root directory: ${tsconfig_utils_1.TsConfigUtils.getRootDir()}`));
@@ -125,23 +146,44 @@ class RuntimeResolver {
125
146
  }
126
147
  static clearCache() {
127
148
  this.cachedMode = null;
149
+ this.tsNodeRegistered = false;
150
+ }
151
+ static checkTsNodeAvailable() {
152
+ if (this.tsNodeAvailable !== null)
153
+ return this.tsNodeAvailable;
154
+ try {
155
+ require.resolve("ts-node");
156
+ this.tsNodeAvailable = true;
157
+ return true;
158
+ }
159
+ catch { }
160
+ const localTsNode = path.join(process.cwd(), "node_modules", "ts-node");
161
+ if (fs.existsSync(localTsNode)) {
162
+ this.tsNodeAvailable = true;
163
+ return true;
164
+ }
165
+ try {
166
+ require.resolve("ts-node", { paths: [process.cwd()] });
167
+ this.tsNodeAvailable = true;
168
+ return true;
169
+ }
170
+ catch { }
171
+ this.tsNodeAvailable = false;
172
+ return false;
128
173
  }
129
174
  static checkTypeScriptFilesExist() {
130
175
  const srcDir = path.join(process.cwd(), "src");
131
176
  if (!fs.existsSync(srcDir))
132
177
  return false;
133
- try {
134
- const files = fs.readdirSync(srcDir, { recursive: true });
135
- return files.some((file) => {
136
- const filename = typeof file === "string" ? file : file.toString();
137
- return filename.endsWith(".ts") && !filename.endsWith(".d.ts");
138
- });
139
- }
140
- catch {
141
- return false;
142
- }
178
+ const files = fs.readdirSync(srcDir, {
179
+ recursive: true,
180
+ withFileTypes: true,
181
+ });
182
+ return files.some((f) => f.isFile() && f.name.endsWith(".ts") && !f.name.endsWith(".d.ts"));
143
183
  }
144
184
  }
145
185
  exports.RuntimeResolver = RuntimeResolver;
186
+ RuntimeResolver.tsNodeAvailable = null;
187
+ RuntimeResolver.tsNodeRegistered = false;
146
188
  RuntimeResolver.cachedMode = null;
147
189
  //# sourceMappingURL=runtime.resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.resolver.js","sourceRoot":"","sources":["../../src/shared/runtime.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.resolver.js","sourceRoot":"","sources":["../../src/shared/runtime.resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fragment-ts",
3
- "version": "1.1.14",
3
+ "version": "1.1.15",
4
4
  "description": "Spring Boot-style framework for TypeScript with Express and TypeORM",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -176,7 +176,7 @@ export class InitCommand {
176
176
  "migrate:revert": "fragment migrate:revert",
177
177
  },
178
178
  dependencies: {
179
- "fragment-ts": "^1.1.14",
179
+ "fragment-ts": "^1.1.15",
180
180
  "reflect-metadata": "^0.1.13",
181
181
  sqlite3: "^5.1.7",
182
182
  },
@@ -96,17 +96,14 @@ export class MigrateCommand {
96
96
  const mode = RuntimeResolver.detectRuntimeMode();
97
97
  RuntimeResolver.printMode();
98
98
 
99
- // Verify ts-node is available in development mode
100
- if (mode.useTypeScript) {
101
- this.verifyTsNode();
102
- }
103
-
104
99
  const spinner = ora(
105
100
  `Generating ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migration...`,
106
101
  ).start();
107
102
  let dataSource: DataSource | null = null;
108
103
 
109
104
  try {
105
+ RuntimeResolver.registerTypeScriptRuntime();
106
+
110
107
  const dbConfig = ConfigUtils.getDatabaseConfig();
111
108
  const paths = RuntimeResolver.resolvePaths(
112
109
  dbConfig.entities,
@@ -203,17 +200,14 @@ export class MigrateCommand {
203
200
  const mode = RuntimeResolver.detectRuntimeMode();
204
201
  RuntimeResolver.printMode();
205
202
 
206
- // Verify ts-node is available in development mode
207
- if (mode.useTypeScript) {
208
- this.verifyTsNode();
209
- }
210
-
211
203
  const spinner = ora(
212
204
  `Running ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migrations...`,
213
205
  ).start();
214
206
  let dataSource: DataSource | null = null;
215
207
 
216
208
  try {
209
+ RuntimeResolver.registerTypeScriptRuntime();
210
+
217
211
  const dbConfig = ConfigUtils.getDatabaseConfig();
218
212
  const paths = RuntimeResolver.resolvePaths(
219
213
  dbConfig.entities,
@@ -244,29 +238,24 @@ export class MigrateCommand {
244
238
  }
245
239
 
246
240
  private static async createMigration(name: string): Promise<void> {
247
- const spinner = ora("Creating migration...").start();
248
- try {
249
- // Always create TS migrations
250
- const paths = RuntimeResolver.resolvePaths(undefined, [
251
- "src/migrations/**/*.ts",
252
- ]);
253
- const migrationsDir = paths.migrations[0].replace(
254
- "/migrations/**/*.ts",
255
- "/migrations",
256
- );
257
- await fs.ensureDir(migrationsDir);
258
-
259
- const timestamp = Date.now();
260
- const fileName = `${timestamp}-${name}.ts`;
261
- const filePath = path.join(migrationsDir, fileName);
262
-
263
- const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
264
-
265
- export class ${name}${timestamp} implements MigrationInterface {
266
- async up(queryRunner: QueryRunner): Promise<void> {}
267
-
268
- async down(queryRunner: QueryRunner): Promise<void> {}
269
- }`;
241
+ const spinner = ora("Creating migration...").start();
242
+ try {
243
+ // Always create TS migrations
244
+ const paths = RuntimeResolver.resolvePaths(undefined, ["src/migrations/**/*.ts"]);
245
+ const migrationsDir = paths.migrations[0].replace("/migrations/**/*.ts", "/migrations");
246
+ await fs.ensureDir(migrationsDir);
247
+
248
+ const timestamp = Date.now();
249
+ const fileName = `${timestamp}-${name}.ts`;
250
+ const filePath = path.join(migrationsDir, fileName);
251
+
252
+ const content = `import { MigrationInterface, QueryRunner } from 'typeorm';
253
+
254
+ export class ${name}${timestamp} implements MigrationInterface {
255
+ async up(queryRunner: QueryRunner): Promise<void> {}
256
+
257
+ async down(queryRunner: QueryRunner): Promise<void> {}
258
+ }`;
270
259
 
271
260
  await fs.ensureDir(path.dirname(filePath));
272
261
  await fs.writeFile(filePath, content);
@@ -284,17 +273,14 @@ export class ${name}${timestamp} implements MigrationInterface {
284
273
  const mode = RuntimeResolver.detectRuntimeMode();
285
274
  RuntimeResolver.printMode();
286
275
 
287
- // Verify ts-node is available in development mode
288
- if (mode.useTypeScript) {
289
- this.verifyTsNode();
290
- }
291
-
292
276
  const spinner = ora(
293
277
  `Reverting ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migration...`,
294
278
  ).start();
295
279
  let dataSource: DataSource | null = null;
296
280
 
297
281
  try {
282
+ RuntimeResolver.registerTypeScriptRuntime();
283
+
298
284
  const dbConfig = ConfigUtils.getDatabaseConfig();
299
285
  const paths = RuntimeResolver.resolvePaths(
300
286
  dbConfig.entities,
@@ -328,17 +314,14 @@ export class ${name}${timestamp} implements MigrationInterface {
328
314
  const mode = RuntimeResolver.detectRuntimeMode();
329
315
  RuntimeResolver.printMode();
330
316
 
331
- // Verify ts-node is available in development mode
332
- if (mode.useTypeScript) {
333
- this.verifyTsNode();
334
- }
335
-
336
317
  const spinner = ora(
337
318
  `Refreshing ${mode.useTypeScript ? "TypeScript" : "JavaScript"} migrations...`,
338
319
  ).start();
339
320
  let dataSource: DataSource | null = null;
340
321
 
341
322
  try {
323
+ RuntimeResolver.registerTypeScriptRuntime();
324
+
342
325
  const dbConfig = ConfigUtils.getDatabaseConfig();
343
326
  const paths = RuntimeResolver.resolvePaths(
344
327
  dbConfig.entities,
@@ -373,14 +356,11 @@ export class ${name}${timestamp} implements MigrationInterface {
373
356
  const mode = RuntimeResolver.detectRuntimeMode();
374
357
  RuntimeResolver.printMode(true);
375
358
 
376
- // Verify ts-node is available in development mode
377
- if (mode.useTypeScript) {
378
- this.verifyTsNode();
379
- }
380
-
381
359
  let dataSource: DataSource | null = null;
382
360
 
383
361
  try {
362
+ RuntimeResolver.registerTypeScriptRuntime();
363
+
384
364
  const dbConfig = ConfigUtils.getDatabaseConfig();
385
365
  const paths = RuntimeResolver.resolvePaths(
386
366
  dbConfig.entities,
@@ -445,17 +425,14 @@ export class ${name}${timestamp} implements MigrationInterface {
445
425
  const mode = RuntimeResolver.detectRuntimeMode();
446
426
  RuntimeResolver.printMode();
447
427
 
448
- // Verify ts-node is available in development mode
449
- if (mode.useTypeScript) {
450
- this.verifyTsNode();
451
- }
452
-
453
428
  const spinner = ora(
454
429
  `Synchronizing ${mode.useTypeScript ? "TypeScript" : "JavaScript"} schema...`,
455
430
  ).start();
456
431
  let dataSource: DataSource | null = null;
457
432
 
458
433
  try {
434
+ RuntimeResolver.registerTypeScriptRuntime();
435
+
459
436
  const dbConfig = ConfigUtils.getDatabaseConfig();
460
437
  const paths = RuntimeResolver.resolvePaths(dbConfig.entities);
461
438
 
@@ -481,17 +458,14 @@ export class ${name}${timestamp} implements MigrationInterface {
481
458
  const mode = RuntimeResolver.detectRuntimeMode();
482
459
  RuntimeResolver.printMode();
483
460
 
484
- // Verify ts-node is available in development mode
485
- if (mode.useTypeScript) {
486
- this.verifyTsNode();
487
- }
488
-
489
461
  const spinner = ora(
490
462
  `Dropping ${mode.useTypeScript ? "TypeScript" : "JavaScript"} schema...`,
491
463
  ).start();
492
464
  let dataSource: DataSource | null = null;
493
465
 
494
466
  try {
467
+ RuntimeResolver.registerTypeScriptRuntime();
468
+
495
469
  const dbConfig = ConfigUtils.getDatabaseConfig();
496
470
  const paths = RuntimeResolver.resolvePaths(dbConfig.entities);
497
471
 
@@ -517,15 +491,12 @@ export class ${name}${timestamp} implements MigrationInterface {
517
491
  const mode = RuntimeResolver.detectRuntimeMode();
518
492
  RuntimeResolver.printMode();
519
493
 
520
- // Verify ts-node is available in development mode
521
- if (mode.useTypeScript) {
522
- this.verifyTsNode();
523
- }
524
-
525
494
  const spinner = ora(
526
495
  `Running ${mode.useTypeScript ? "TypeScript" : "JavaScript"} seeds...`,
527
496
  ).start();
528
497
  try {
498
+ RuntimeResolver.registerTypeScriptRuntime();
499
+
529
500
  const dbConfig = ConfigUtils.getDatabaseConfig();
530
501
  const paths = RuntimeResolver.resolvePaths(
531
502
  dbConfig.entities,
@@ -595,18 +566,6 @@ export class ${name}${timestamp} implements MigrationInterface {
595
566
  }
596
567
 
597
568
  // Helper methods
598
- private static verifyTsNode(): void {
599
- try {
600
- require.resolve("ts-node", { paths: [process.cwd()] });
601
- } catch {
602
- console.error(chalk.red("❌ ts-node not found in project"));
603
- console.log(
604
- chalk.yellow("Install it with: npm install --save-dev ts-node"),
605
- );
606
- process.exit(1);
607
- }
608
- }
609
-
610
569
  private static verifyEntities(dataSource: DataSource): void {
611
570
  const entities = dataSource.entityMetadatas;
612
571
  if (entities.length === 0) {
@@ -3,6 +3,7 @@ import { TsConfigUtils } from "./tsconfig.utils";
3
3
  import chalk from "chalk";
4
4
  import * as path from "path";
5
5
  import * as fs from "fs";
6
+ import ora from "ora";
6
7
 
7
8
  export interface RuntimePaths {
8
9
  entities: string[];
@@ -14,11 +15,14 @@ export interface RuntimePaths {
14
15
  export interface RuntimeMode {
15
16
  useTypeScript: boolean;
16
17
  reason: string;
18
+ tsNodeAvailable: boolean;
17
19
  hasDecoratorSupport: boolean;
18
20
  hasTypeScriptFiles: boolean;
19
21
  }
20
22
 
21
23
  export class RuntimeResolver {
24
+ private static tsNodeAvailable: boolean | null = null;
25
+ private static tsNodeRegistered = false;
22
26
  private static cachedMode: RuntimeMode | null = null;
23
27
 
24
28
  static detectRuntimeMode(): RuntimeMode {
@@ -27,6 +31,7 @@ export class RuntimeResolver {
27
31
  const isProduction = EnvUtils.getEnvironmentMode() === "production";
28
32
  const tsConfigExists = TsConfigUtils.exists();
29
33
  const hasDecoratorSupport = TsConfigUtils.hasDecoratorSupport();
34
+ const tsNodeAvailable = this.checkTsNodeAvailable();
30
35
  const hasTypeScriptFiles = this.checkTypeScriptFilesExist();
31
36
 
32
37
  let useTypeScript = false;
@@ -38,17 +43,19 @@ export class RuntimeResolver {
38
43
  reason = "No tsconfig.json found";
39
44
  } else if (!hasDecoratorSupport) {
40
45
  reason = "TypeScript decorators not enabled in tsconfig.json";
46
+ } else if (!tsNodeAvailable) {
47
+ reason = "ts-node not installed (run: npm install --save-dev ts-node)";
41
48
  } else if (!hasTypeScriptFiles) {
42
49
  reason = "No TypeScript files found in project";
43
50
  } else {
44
- // Assume user has ts-node if they're in dev mode with TS files
45
51
  useTypeScript = true;
46
- reason = "TypeScript development environment detected (requires ts-node)";
52
+ reason = "TypeScript development environment detected";
47
53
  }
48
54
 
49
55
  this.cachedMode = {
50
56
  useTypeScript,
51
57
  reason,
58
+ tsNodeAvailable,
52
59
  hasDecoratorSupport,
53
60
  hasTypeScriptFiles,
54
61
  };
@@ -75,20 +82,14 @@ export class RuntimeResolver {
75
82
  entities: explicitEntities
76
83
  ? explicitEntities.map((p) =>
77
84
  p
78
- .replace(
79
- new RegExp(`^${rootDir.replace(/\\/g, "\\\\")}/`),
80
- `${outDir.replace(/\\/g, "\\\\")}/`,
81
- )
85
+ .replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
82
86
  .replace(/\.ts$/, ".js"),
83
87
  )
84
88
  : [`${outDir}/**/*.entity.js`],
85
89
  migrations: explicitMigrations
86
90
  ? explicitMigrations.map((p) =>
87
91
  p
88
- .replace(
89
- new RegExp(`^${rootDir.replace(/\\/g, "\\\\")}/`),
90
- `${outDir.replace(/\\/g, "\\\\")}/`,
91
- )
92
+ .replace(new RegExp(`^${rootDir}/`), `${outDir}/`)
92
93
  .replace(/\.ts$/, ".js"),
93
94
  )
94
95
  : [`${outDir}/migrations/**/*.js`],
@@ -98,6 +99,23 @@ export class RuntimeResolver {
98
99
  }
99
100
  }
100
101
 
102
+ static registerTypeScriptRuntime(): void {
103
+ const mode = this.detectRuntimeMode();
104
+ if (mode.useTypeScript && !this.tsNodeRegistered) {
105
+ require("ts-node").register({
106
+ transpileOnly: true,
107
+ compilerOptions: {
108
+ module: "commonjs",
109
+ experimentalDecorators: true,
110
+ emitDecoratorMetadata: true,
111
+ esModuleInterop: true,
112
+ target: "ES2020",
113
+ },
114
+ });
115
+ this.tsNodeRegistered = true;
116
+ }
117
+ }
118
+
101
119
  static printMode(verbose = false): void {
102
120
  const mode = this.detectRuntimeMode();
103
121
  if (mode.useTypeScript) {
@@ -110,6 +128,7 @@ export class RuntimeResolver {
110
128
  console.log(
111
129
  chalk.gray(` • Environment: ${EnvUtils.getEnvironmentMode()}`),
112
130
  );
131
+ console.log(chalk.gray(` • ts-node available: ${mode.tsNodeAvailable}`));
113
132
  console.log(
114
133
  chalk.gray(` • Decorator support: ${mode.hasDecoratorSupport}`),
115
134
  );
@@ -127,20 +146,44 @@ export class RuntimeResolver {
127
146
 
128
147
  static clearCache(): void {
129
148
  this.cachedMode = null;
149
+ this.tsNodeRegistered = false;
130
150
  }
131
151
 
132
- private static checkTypeScriptFilesExist(): boolean {
133
- const srcDir = path.join(process.cwd(), "src");
134
- if (!fs.existsSync(srcDir)) return false;
152
+ private static checkTsNodeAvailable(): boolean {
153
+ if (this.tsNodeAvailable !== null) return this.tsNodeAvailable;
135
154
 
136
155
  try {
137
- const files = fs.readdirSync(srcDir, { recursive: true });
138
- return files.some((file) => {
139
- const filename = typeof file === "string" ? file : file.toString();
140
- return filename.endsWith(".ts") && !filename.endsWith(".d.ts");
141
- });
142
- } catch {
143
- return false;
156
+ require.resolve("ts-node");
157
+ this.tsNodeAvailable = true;
158
+ return true;
159
+ } catch {}
160
+
161
+ const localTsNode = path.join(process.cwd(), "node_modules", "ts-node");
162
+ if (fs.existsSync(localTsNode)) {
163
+ this.tsNodeAvailable = true;
164
+ return true;
144
165
  }
166
+
167
+ try {
168
+ require.resolve("ts-node", { paths: [process.cwd()] });
169
+ this.tsNodeAvailable = true;
170
+ return true;
171
+ } catch {}
172
+
173
+ this.tsNodeAvailable = false;
174
+ return false;
175
+ }
176
+
177
+ private static checkTypeScriptFilesExist(): boolean {
178
+ const srcDir = path.join(process.cwd(), "src");
179
+ if (!fs.existsSync(srcDir)) return false;
180
+ const files = fs.readdirSync(srcDir, {
181
+ recursive: true,
182
+ withFileTypes: true,
183
+ });
184
+ return files.some(
185
+ (f: any) =>
186
+ f.isFile() && f.name.endsWith(".ts") && !f.name.endsWith(".d.ts"),
187
+ );
145
188
  }
146
189
  }