fragment-ts 1.0.43 → 1.0.45

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 (55) hide show
  1. package/dist/cli/commands/diagnostics.command.d.ts.map +1 -1
  2. package/dist/cli/commands/diagnostics.command.js +17 -73
  3. package/dist/cli/commands/diagnostics.command.js.map +1 -1
  4. package/dist/cli/commands/env.command.d.ts +10 -0
  5. package/dist/cli/commands/env.command.d.ts.map +1 -0
  6. package/dist/cli/commands/env.command.js +222 -0
  7. package/dist/cli/commands/env.command.js.map +1 -0
  8. package/dist/cli/commands/generate.command.js +9 -9
  9. package/dist/cli/commands/init.command.d.ts.map +1 -1
  10. package/dist/cli/commands/init.command.js +65 -35
  11. package/dist/cli/commands/init.command.js.map +1 -1
  12. package/dist/cli/commands/migrate.command.d.ts +14 -41
  13. package/dist/cli/commands/migrate.command.d.ts.map +1 -1
  14. package/dist/cli/commands/migrate.command.js +182 -424
  15. package/dist/cli/commands/migrate.command.js.map +1 -1
  16. package/dist/cli/commands/test.command.d.ts.map +1 -1
  17. package/dist/cli/commands/test.command.js +5 -51
  18. package/dist/cli/commands/test.command.js.map +1 -1
  19. package/dist/cli/index.js +50 -0
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/core/scanner/component-scanner.d.ts +0 -4
  22. package/dist/core/scanner/component-scanner.d.ts.map +1 -1
  23. package/dist/core/scanner/component-scanner.js +0 -15
  24. package/dist/core/scanner/component-scanner.js.map +1 -1
  25. package/dist/shared/config.utils.d.ts +0 -27
  26. package/dist/shared/config.utils.d.ts.map +1 -1
  27. package/dist/shared/config.utils.js +7 -38
  28. package/dist/shared/config.utils.js.map +1 -1
  29. package/dist/shared/env.utils.d.ts +6 -18
  30. package/dist/shared/env.utils.d.ts.map +1 -1
  31. package/dist/shared/env.utils.js +84 -39
  32. package/dist/shared/env.utils.js.map +1 -1
  33. package/dist/testing/runner.d.ts.map +1 -1
  34. package/dist/testing/runner.js +2 -12
  35. package/dist/testing/runner.js.map +1 -1
  36. package/dist/typeorm/typeorm-module.d.ts.map +1 -1
  37. package/dist/typeorm/typeorm-module.js +4 -16
  38. package/dist/typeorm/typeorm-module.js.map +1 -1
  39. package/dist/web/application.d.ts.map +1 -1
  40. package/dist/web/application.js +1 -20
  41. package/dist/web/application.js.map +1 -1
  42. package/package.json +2 -1
  43. package/src/cli/commands/diagnostics.command.ts +16 -87
  44. package/src/cli/commands/env.command.ts +224 -0
  45. package/src/cli/commands/generate.command.ts +9 -9
  46. package/src/cli/commands/init.command.ts +68 -37
  47. package/src/cli/commands/migrate.command.ts +244 -528
  48. package/src/cli/commands/test.command.ts +5 -61
  49. package/src/cli/index.ts +21 -0
  50. package/src/core/scanner/component-scanner.ts +0 -15
  51. package/src/shared/config.utils.ts +10 -54
  52. package/src/shared/env.utils.ts +50 -44
  53. package/src/testing/runner.ts +2 -11
  54. package/src/typeorm/typeorm-module.ts +5 -14
  55. package/src/web/application.ts +1 -21
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diagnostics.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAgDlB,UAAU;mBAkCV,SAAS;mBAmCT,mBAAmB;IAgNxC,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,OAAO,CAAC,MAAM,CAAC,WAAW;IAW1B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAyBvB,OAAO,CAAC,MAAM,CAAC,UAAU;IA6CzB,OAAO,CAAC,MAAM,CAAC,WAAW;IAS1B,OAAO,CAAC,MAAM,CAAC,eAAe;WAShB,uBAAuB,IAAI,GAAG;CAmB7C"}
1
+ {"version":3,"file":"diagnostics.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diagnostics.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;mBAsClB,UAAU;mBAkCV,SAAS;mBAmCT,mBAAmB;IA0KxC,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B,OAAO,CAAC,MAAM,CAAC,aAAa;IAW5B,OAAO,CAAC,MAAM,CAAC,WAAW;IAW1B,OAAO,CAAC,MAAM,CAAC,QAAQ;IAyBvB,OAAO,CAAC,MAAM,CAAC,UAAU;IAsBzB,OAAO,CAAC,MAAM,CAAC,WAAW;IAS1B,OAAO,CAAC,MAAM,CAAC,eAAe;WAShB,uBAAuB,IAAI,GAAG;CAmB7C"}
@@ -49,17 +49,15 @@ class DiagnosticsCommand {
49
49
  program
50
50
  .command("routes")
51
51
  .description("List all registered routes")
52
- .option("--env <environment>", "Environment mode: dev (use src/) or prod (use dist/)", "auto")
53
- .action(async (options) => {
54
- await this.showRoutes(options.env);
52
+ .action(async () => {
53
+ await this.showRoutes();
55
54
  });
56
55
  program
57
56
  .command("beans")
58
57
  .description("List all registered beans")
59
58
  .option("--tree", "Show as tree")
60
- .option("--env <environment>", "Environment mode: dev (use src/) or prod (use dist/)", "auto")
61
59
  .action(async (options) => {
62
- await this.showBeans(options.tree, options.env);
60
+ await this.showBeans(options.tree);
63
61
  });
64
62
  program
65
63
  .command("info")
@@ -82,7 +80,7 @@ class DiagnosticsCommand {
82
80
  }
83
81
  static async showRoutes(env = "auto") {
84
82
  console.log(chalk_1.default.blue("\nšŸ“ Scanning for routes...\n"));
85
- const result = await this.runDiagnosticScript("routes", env);
83
+ const result = await this.runDiagnosticScript("routes");
86
84
  if (!result.success) {
87
85
  console.log(chalk_1.default.yellow(" Unable to load routes."));
88
86
  if (result.error) {
@@ -108,7 +106,7 @@ class DiagnosticsCommand {
108
106
  }
109
107
  static async showBeans(tree, env = "auto") {
110
108
  console.log(chalk_1.default.blue("\n🫘 Scanning for beans...\n"));
111
- const result = await this.runDiagnosticScript("beans", env);
109
+ const result = await this.runDiagnosticScript("beans");
112
110
  if (!result.success) {
113
111
  console.log(chalk_1.default.yellow(" Unable to load beans."));
114
112
  if (result.error) {
@@ -130,67 +128,28 @@ class DiagnosticsCommand {
130
128
  console.log("");
131
129
  });
132
130
  }
133
- static async runDiagnosticScript(type, env = "auto") {
131
+ static async runDiagnosticScript(type) {
134
132
  return new Promise((resolve) => {
135
133
  const cwd = process.cwd();
136
- // Use EnvUtils for consistent environment detection
137
134
  const hasSource = fs.existsSync(path.join(cwd, "src"));
138
135
  const hasDist = fs.existsSync(path.join(cwd, "dist"));
139
- // Determine which mode to use based on --env flag
140
136
  let useTypeScript;
141
137
  let mode;
142
- if (env === "dev") {
143
- // Force development mode (TypeScript source)
144
- if (!hasSource) {
145
- resolve({
146
- success: false,
147
- error: "Development mode requested but src/ directory not found",
148
- });
149
- return;
150
- }
138
+ // Always prefer source if available (for diagnostics during dev)
139
+ if (hasSource) {
151
140
  useTypeScript = true;
152
141
  mode = "development (src/)";
153
142
  }
154
- else if (env === "prod") {
155
- // Force production mode (compiled JavaScript)
156
- if (!hasDist) {
157
- resolve({
158
- success: false,
159
- error: "Production mode requested but dist/ directory not found. Run: fragment build",
160
- });
161
- return;
162
- }
143
+ else if (hasDist) {
163
144
  useTypeScript = false;
164
145
  mode = "production (dist/)";
165
146
  }
166
147
  else {
167
- // Auto-detect using same logic as EnvUtils
168
- const isDevMode = env_utils_1.EnvUtils.isDevelopmentMode();
169
- if (isDevMode && hasSource) {
170
- useTypeScript = true;
171
- mode = "auto-detected development (src/)";
172
- }
173
- else if (!isDevMode && hasDist) {
174
- useTypeScript = false;
175
- mode = "auto-detected production (dist/)";
176
- }
177
- else if (hasSource) {
178
- // Fallback to source if available
179
- useTypeScript = true;
180
- mode = "auto-detected development (src/)";
181
- }
182
- else if (hasDist) {
183
- // Fallback to dist if available
184
- useTypeScript = false;
185
- mode = "auto-detected production (dist/)";
186
- }
187
- else {
188
- resolve({
189
- success: false,
190
- error: "No src/ or dist/ directory found. Run: fragment init",
191
- });
192
- return;
193
- }
148
+ resolve({
149
+ success: false,
150
+ error: "No src/ or dist/ directory found. Run: fragment init",
151
+ });
152
+ return;
194
153
  }
195
154
  const userBasePath = useTypeScript ? "src" : "dist";
196
155
  console.log(chalk_1.default.gray(` Mode: ${mode}\n`));
@@ -370,7 +329,7 @@ diagnose();
370
329
  console.log(` Node: ${process.version}`);
371
330
  console.log(` Platform: ${process.platform}`);
372
331
  console.log(` Architecture: ${process.arch}`);
373
- console.log(` Environment: ${env_utils_1.EnvUtils.getEnvironmentMode()}`);
332
+ console.log(` Environment: ${env_utils_1.EnvUtils.getEnv()}`);
374
333
  console.log(` Source: ${hasSource ? `āœ“ ${getRootDir}` : `āœ— ${getRootDir}`}`);
375
334
  console.log(` Built: ${hasDist ? `āœ“ ${getOutDir}` : `āœ— ${getOutDir}`}`);
376
335
  console.log("");
@@ -380,25 +339,13 @@ diagnose();
380
339
  const configPath = path.join(process.cwd(), "fragment.json");
381
340
  if (fs.existsSync(configPath)) {
382
341
  try {
383
- const configRaw = config_utils_1.ConfigUtils.getFullConfig();
384
- const mode = env_utils_1.EnvUtils.getEnvironmentMode();
385
- console.log(chalk_1.default.gray(` Detected mode: ${mode}`));
386
- // Show the relevant section
387
342
  const dbConfig = config_utils_1.ConfigUtils.getDatabaseConfig();
388
343
  if (Object.keys(dbConfig).length > 0) {
389
- console.log(`\n ${mode} database config:`);
344
+ console.log("Database config:");
390
345
  console.log(" " + JSON.stringify(dbConfig, null, 2).replace(/\n/g, "\n "));
391
346
  }
392
- else if (configRaw.database) {
393
- // Fallback to legacy flat structure
394
- const interpolated = config_utils_1.ConfigUtils.interpolateEnvVars
395
- ? config_utils_1.ConfigUtils.interpolateEnvVars(configRaw.database)
396
- : configRaw.database;
397
- console.log("\n legacy database config:");
398
- console.log(" " + JSON.stringify(interpolated, null, 2).replace(/\n/g, "\n "));
399
- }
400
347
  else {
401
- console.log(chalk_1.default.yellow(` No database config found for ${mode} mode`));
348
+ console.log(chalk_1.default.yellow(" No database config found"));
402
349
  }
403
350
  }
404
351
  catch (error) {
@@ -407,10 +354,7 @@ diagnose();
407
354
  }
408
355
  else {
409
356
  console.log(chalk_1.default.yellow(" No fragment.json found"));
410
- console.log(chalk_1.default.gray("\n Create one with:"));
411
- console.log(chalk_1.default.cyan(" fragment init"));
412
357
  }
413
- console.log("");
414
358
  }
415
359
  static showVersion() {
416
360
  const packageJson = this.loadFragmentPackageJson();
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.command.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnostics.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.command.js","sourceRoot":"","sources":["../../../src/cli/commands/diagnostics.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Command } from "commander";
2
+ export declare class EnvCommand {
3
+ static register(program: Command): void;
4
+ private static useEnv;
5
+ private static listEnvs;
6
+ private static currentEnv;
7
+ private static diffEnv;
8
+ private static initEnv;
9
+ }
10
+ //# sourceMappingURL=env.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/env.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAyCvC,OAAO,CAAC,MAAM,CAAC,MAAM;IAqCrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAwBvB,OAAO,CAAC,MAAM,CAAC,UAAU;IA6CzB,OAAO,CAAC,MAAM,CAAC,OAAO;IA6CtB,OAAO,CAAC,MAAM,CAAC,OAAO;CAwBvB"}
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.EnvCommand = void 0;
40
+ const fs = __importStar(require("fs-extra"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const diff_1 = require("diff");
44
+ class EnvCommand {
45
+ static register(program) {
46
+ const envCmd = program
47
+ .command("env")
48
+ .description("Manage environment configuration files");
49
+ envCmd
50
+ .command("use <envFile>")
51
+ .description("Activate an environment by copying it to .env")
52
+ .action((envFile) => {
53
+ this.useEnv(envFile);
54
+ });
55
+ envCmd
56
+ .command("list")
57
+ .description("List all available .env files")
58
+ .action(() => {
59
+ this.listEnvs();
60
+ });
61
+ envCmd
62
+ .command("current")
63
+ .description("Show the currently active environment")
64
+ .action(() => {
65
+ this.currentEnv();
66
+ });
67
+ envCmd
68
+ .command("diff [envFile]")
69
+ .description("Compare .env with another env file (default: .env.example)")
70
+ .action((envFile = ".env.example") => {
71
+ this.diffEnv(envFile);
72
+ });
73
+ envCmd
74
+ .command("init")
75
+ .description("Initialize .env from .env.example if missing")
76
+ .action(() => {
77
+ this.initEnv();
78
+ });
79
+ }
80
+ static useEnv(envFile) {
81
+ const cwd = process.cwd();
82
+ const sourcePath = path.join(cwd, envFile);
83
+ const targetPath = path.join(cwd, ".env");
84
+ const modePath = path.join(cwd, ".env.mode");
85
+ if (!fs.existsSync(sourcePath)) {
86
+ console.error(chalk_1.default.red(`āŒ Source file not found: ${envFile}`));
87
+ process.exit(1);
88
+ }
89
+ // Backup current .env if it exists and differs
90
+ if (fs.existsSync(targetPath)) {
91
+ const sourceContent = fs.readFileSync(sourcePath, "utf8");
92
+ const targetContent = fs.readFileSync(targetPath, "utf8");
93
+ if (sourceContent !== targetContent) {
94
+ fs.copyFileSync(targetPath, path.join(cwd, ".env.backup"));
95
+ console.log(chalk_1.default.gray("šŸ“Ž Backed up current .env to .env.backup"));
96
+ }
97
+ }
98
+ // Copy and write mode
99
+ fs.copyFileSync(sourcePath, targetPath);
100
+ let envName = "local";
101
+ const match = envFile.match(/^\.env\.(.+)$/);
102
+ if (match) {
103
+ envName = match[1];
104
+ }
105
+ fs.writeFileSync(modePath, envName, "utf8");
106
+ console.log(chalk_1.default.green(`āœ… Environment activated: ${chalk_1.default.bold(envFile)}`));
107
+ console.log(chalk_1.default.gray(` → Copied to .env | Mode: ${envName}`));
108
+ }
109
+ static listEnvs() {
110
+ const cwd = process.cwd();
111
+ try {
112
+ const files = fs.readdirSync(cwd);
113
+ const envFiles = files
114
+ .filter((file) => /^\.env(\..*)?$/.test(file))
115
+ .sort();
116
+ if (envFiles.length === 0) {
117
+ console.log(chalk_1.default.yellow("No .env files found in project root."));
118
+ return;
119
+ }
120
+ console.log(chalk_1.default.blue("\nAvailable environment files:"));
121
+ envFiles.forEach((file) => {
122
+ const isActive = file === ".env" ? " ← active" : "";
123
+ console.log(` ${chalk_1.default.cyan(file)}${isActive}`);
124
+ });
125
+ console.log();
126
+ }
127
+ catch (err) {
128
+ console.error(chalk_1.default.red("Failed to read directory"));
129
+ }
130
+ }
131
+ static currentEnv() {
132
+ const cwd = process.cwd();
133
+ const envPath = path.join(cwd, ".env");
134
+ if (!fs.existsSync(envPath)) {
135
+ console.log(chalk_1.default.yellow("No .env file found. Run `fragment env:init` to create one."));
136
+ return;
137
+ }
138
+ const modePath = path.join(cwd, ".env.mode");
139
+ if (fs.existsSync(modePath)) {
140
+ const mode = fs.readFileSync(modePath, "utf8").trim();
141
+ if (mode) {
142
+ console.log(chalk_1.default.green(`Active environment: ${chalk_1.default.bold(mode)}`));
143
+ console.log(chalk_1.default.gray(`(from .env.mode)`));
144
+ return;
145
+ }
146
+ }
147
+ // Fallback: content match
148
+ const envContent = fs.readFileSync(envPath, "utf8");
149
+ const files = fs.readdirSync(cwd).filter((f) => /^\.env\..+$/.test(f));
150
+ for (const file of files) {
151
+ const fullPath = path.join(cwd, file);
152
+ try {
153
+ const content = fs.readFileSync(fullPath, "utf8");
154
+ if (content === envContent) {
155
+ const name = file.replace(/\.env\./, "");
156
+ console.log(chalk_1.default.green(`Active environment: ${chalk_1.default.bold(name)}`));
157
+ console.log(chalk_1.default.gray(`(matched by content)`));
158
+ return;
159
+ }
160
+ }
161
+ catch {
162
+ // skip
163
+ }
164
+ }
165
+ console.log(chalk_1.default.gray("Active environment: custom/local (modified)"));
166
+ }
167
+ static diffEnv(envFile) {
168
+ const cwd = process.cwd();
169
+ const currentPath = path.join(cwd, ".env");
170
+ const comparePath = path.join(cwd, envFile);
171
+ if (!fs.existsSync(currentPath)) {
172
+ console.error(chalk_1.default.red("āŒ No .env file found. Run `fragment env:init` first."));
173
+ process.exit(1);
174
+ }
175
+ if (!fs.existsSync(comparePath)) {
176
+ console.error(chalk_1.default.red(`āŒ Comparison file not found: ${envFile}`));
177
+ process.exit(1);
178
+ }
179
+ const currentContent = fs.readFileSync(currentPath, "utf8");
180
+ const compareContent = fs.readFileSync(comparePath, "utf8");
181
+ const diffs = (0, diff_1.diffLines)(compareContent, currentContent);
182
+ if (diffs.length === 1 && !diffs[0].added && !diffs[0].removed) {
183
+ console.log(chalk_1.default.green(`āœ… .env matches ${envFile} exactly.`));
184
+ return;
185
+ }
186
+ console.log(chalk_1.default.blue(`\nChanges between ${chalk_1.default.bold(envFile)} → .env:\n`));
187
+ diffs.forEach((part) => {
188
+ const color = part.added
189
+ ? chalk_1.default.green
190
+ : part.removed
191
+ ? chalk_1.default.red
192
+ : chalk_1.default.gray;
193
+ const prefix = part.added ? "+ " : part.removed ? "- " : " ";
194
+ const lines = part.value.split("\n").slice(0, -1); // remove trailing empty
195
+ lines.forEach((line) => {
196
+ console.log(color(prefix + line));
197
+ });
198
+ });
199
+ console.log();
200
+ }
201
+ static initEnv() {
202
+ const cwd = process.cwd();
203
+ const examplePath = path.join(cwd, ".env.example");
204
+ const envPath = path.join(cwd, ".env");
205
+ if (fs.existsSync(envPath)) {
206
+ console.log(chalk_1.default.yellow("āš ļø .env already exists. Skipping initialization."));
207
+ return;
208
+ }
209
+ if (!fs.existsSync(examplePath)) {
210
+ console.log(chalk_1.default.gray("šŸ“ Creating empty .env (no .env.example found)"));
211
+ fs.writeFileSync(envPath, "# Environment variables\n", "utf8");
212
+ console.log(chalk_1.default.green("āœ… Created empty .env"));
213
+ return;
214
+ }
215
+ fs.copyFileSync(examplePath, envPath);
216
+ fs.writeFileSync(path.join(cwd, ".env.mode"), "local", "utf8");
217
+ console.log(chalk_1.default.green("āœ… Initialized .env from .env.example"));
218
+ console.log(chalk_1.default.gray(" Edit .env with your local settings."));
219
+ }
220
+ }
221
+ exports.EnvCommand = EnvCommand;
222
+ //# sourceMappingURL=env.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.command.js","sourceRoot":"","sources":["../../../src/cli/commands/env.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAC/B,2CAA6B;AAC7B,kDAA0B;AAC1B,+BAAiC;AAEjC,MAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAgB;QAC9B,MAAM,MAAM,GAAG,OAAO;aACnB,OAAO,CAAC,KAAK,CAAC;aACd,WAAW,CAAC,wCAAwC,CAAC,CAAC;QAEzD,MAAM;aACH,OAAO,CAAC,eAAe,CAAC;aACxB,WAAW,CAAC,+CAA+C,CAAC;aAC5D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEL,MAAM;aACH,OAAO,CAAC,MAAM,CAAC;aACf,WAAW,CAAC,+BAA+B,CAAC;aAC5C,MAAM,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEL,MAAM;aACH,OAAO,CAAC,SAAS,CAAC;aAClB,WAAW,CAAC,uCAAuC,CAAC;aACpD,MAAM,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEL,MAAM;aACH,OAAO,CAAC,gBAAgB,CAAC;aACzB,WAAW,CAAC,4DAA4D,CAAC;aACzE,MAAM,CAAC,CAAC,OAAO,GAAG,cAAc,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEL,MAAM;aACH,OAAO,CAAC,MAAM,CAAC;aACf,WAAW,CAAC,8CAA8C,CAAC;aAC3D,MAAM,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,MAAM,CAAC,OAAe;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAE7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,+CAA+C;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1D,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;gBACpC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAExC,IAAI,OAAO,GAAG,OAAO,CAAC;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE5C,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CAAC,4BAA4B,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAC/D,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,MAAM,CAAC,QAAQ;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,KAAK;iBACnB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7C,IAAI,EAAE,CAAC;YAEV,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;YAC1D,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxB,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,UAAU;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,4DAA4D,CAC7D,CACF,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAClD,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAChD,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACzE,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,OAAe;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAClE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE5D,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,OAAO,WAAW,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,qBAAqB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CACjE,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;gBACtB,CAAC,CAAC,eAAK,CAAC,KAAK;gBACb,CAAC,CAAC,IAAI,CAAC,OAAO;oBACZ,CAAC,CAAC,eAAK,CAAC,GAAG;oBACX,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;YAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,OAAO;QACpB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAEvC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CACjE,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC1E,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,2BAA2B,EAAE,MAAM,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AAzND,gCAyNC"}
@@ -195,21 +195,21 @@ export class ${className} {${repositoryProp}
195
195
  const fileName = this.kebabCase(name) + ".entity.ts";
196
196
  const srcDir = tsconfig_utils_1.TsConfigUtils.getRootDir();
197
197
  const filePath = path.join(srcDir, "entities", fileName);
198
- const content = `import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'typeorm';
198
+ const content = `import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn } from 'fragment-ts';
199
199
 
200
200
  @Entity()
201
201
  export class ${className} {
202
202
  @PrimaryGeneratedColumn()
203
- id: number;
203
+ id!: number;
204
204
 
205
- @Column()
206
- name: string;
205
+ @Column({name: 'name'})
206
+ name!: string;
207
207
 
208
- @CreateDateColumn()
209
- createdAt: Date;
208
+ @CreateDateColumn({name: 'created_at'})
209
+ createdAt?: Date;
210
210
 
211
- @UpdateDateColumn()
212
- updatedAt: Date;
211
+ @UpdateDateColumn({name: 'updated_at'})
212
+ updatedAt?: Date;
213
213
  }
214
214
  `;
215
215
  await fs.ensureDir(path.dirname(filePath));
@@ -235,7 +235,7 @@ export class ${className} {
235
235
  const filePath = path.join(srcDir, "repositories", fileName);
236
236
  const content = `import { Repository, InjectRepository } from 'fragment-ts';
237
237
  import { ${entityName} } from '../entities/${this.kebabCase(name)}.entity';
238
- import { Repository as TypeOrmRepository } from 'typeorm';
238
+ import { Repository as TypeOrmRepository } from 'fragment-ts';
239
239
 
240
240
  @Repository()
241
241
  export class ${className} {
@@ -1 +1 @@
1
- {"version":3,"file":"init.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAe1B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;mBAsF/C,wBAAwB;mBAgDxB,iBAAiB;mBA8GjB,gBAAgB;mBA+BhB,yBAAyB;mBA6BzB,sBAAsB;mBAmBtB,qBAAqB;mBA8BrB,iBAAiB;mBAgDjB,mBAAmB;CA4BzC"}
1
+ {"version":3,"file":"init.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAe1B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;mBAuF/C,wBAAwB;mBAgDxB,iBAAiB;mBA4IjB,gBAAgB;mBA+BhB,yBAAyB;mBA6BzB,sBAAsB;mBAmBtB,qBAAqB;mBA8BrB,iBAAiB;mBAgDjB,mBAAmB;CA4BzC"}
@@ -121,6 +121,7 @@ class InitCommand {
121
121
  if (options.skipInstall) {
122
122
  console.log(chalk_1.default.cyan(" npm install"));
123
123
  }
124
+ console.log(chalk_1.default.cyan(" fragment env:init"));
124
125
  console.log(chalk_1.default.cyan(" fragment serve"));
125
126
  console.log("");
126
127
  }
@@ -183,7 +184,7 @@ class InitCommand {
183
184
  "migrate:revert": "fragment migrate:revert",
184
185
  },
185
186
  dependencies: {
186
- "fragment-ts": "^1.0.43",
187
+ "fragment-ts": "^1.0.45",
187
188
  "reflect-metadata": "^0.1.13",
188
189
  },
189
190
  devDependencies: {
@@ -219,41 +220,70 @@ class InitCommand {
219
220
  // Create fragment.json with proper environment structure
220
221
  const fragmentConfig = {};
221
222
  if (features.includes("database")) {
222
- fragmentConfig.development = {
223
- database: {
224
- type: "sqlite",
225
- database: process.env.DATABASE_FILE || "database.sqlite",
226
- synchronize: true, // Enable sync in development for easy setup
227
- logging: false,
228
- entities: ["src/**/*.entity.ts"],
229
- migrations: ["src/migrations/**/*.ts"],
230
- subscribers: [],
231
- },
232
- };
233
- fragmentConfig.production = {
234
- database: {
235
- type: "sqlite",
236
- database: process.env.DATABASE_FILE || "database.sqlite",
237
- synchronize: false, // Disable sync in production
238
- logging: true,
239
- entities: ["dist/**/*.entity.js"],
240
- migrations: ["dist/migrations/**/*.js"],
241
- subscribers: [],
242
- },
223
+ fragmentConfig.database = {
224
+ type: "sqlite",
225
+ database: "${DATABASE_FILE}",
226
+ synchronize: true,
227
+ logging: false,
228
+ entities: ["src/**/*.entity.ts"],
229
+ migrations: ["src/migrations/**/*.ts"],
230
+ subscribers: [],
243
231
  };
244
232
  }
245
- await fs.writeJSON(path.join(projectPath, "fragment.json"), fragmentConfig, { spaces: 2 });
246
- const envContent = `NODE_ENV=development
247
- PORT=3000
248
- ${features.includes("database") ? "DATABASE_FILE=database.sqlite" : ""}
249
- `;
250
- await fs.writeFile(path.join(projectPath, ".env"), envContent);
251
- await fs.writeFile(path.join(projectPath, ".gitignore"), `node_modules/
252
- dist/
253
- .env
254
- *.sqlite
255
- coverage/
256
- `);
233
+ await fs.writeJSON(path.join(projectPath, "fragment.json"), fragmentConfig, {
234
+ spaces: 2,
235
+ });
236
+ // Create .env.example
237
+ const envExampleContent = `# Environment variables
238
+ NODE_ENV=development
239
+ PORT=3000
240
+ ${features.includes("database") ? "DATABASE_FILE=database.sqlite" : ""}
241
+ `;
242
+ await fs.writeFile(path.join(projectPath, ".env.example"), envExampleContent);
243
+ await fs.writeFile(path.join(projectPath, ".gitignore"), `# Dependencies
244
+ node_modules/
245
+
246
+ # Build output
247
+ dist/
248
+ build/
249
+ .out/
250
+
251
+ # Environment files
252
+ .env
253
+ .env.local
254
+ .env.backup
255
+ .env.mode
256
+ .env.production
257
+
258
+ # Database
259
+ *.sqlite
260
+ *.db
261
+ *.mdb
262
+
263
+ # Logs
264
+ logs
265
+ *.log
266
+
267
+ # Testing
268
+ coverage/
269
+ .nyc_output/
270
+
271
+ # IDE / Editors
272
+ .vscode/
273
+ .idea/
274
+ *.swp
275
+ *.swo
276
+ .DS_Store
277
+
278
+ # Fragment CLI temp files
279
+ .fragment-diagnostic-temp.js
280
+ .fragment-test-runner.js
281
+
282
+ # Misc
283
+ npm-debug.log*
284
+ yarn-debug.log*
285
+ yarn-error.log*
286
+ `);
257
287
  }
258
288
  static async generateMainFile(projectPath, config) {
259
289
  const content = `import 'reflect-metadata';
@@ -316,7 +346,7 @@ export class AppService {
316
346
  await fs.writeFile(path.join(projectPath, "src", "services", "app.service.ts"), content);
317
347
  }
318
348
  static async generateExampleEntity(projectPath) {
319
- const content = `import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn } from 'typeorm';
349
+ const content = `import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn } from 'fragment-ts';
320
350
 
321
351
  @Entity()
322
352
  export class User {