rapidkit 1.0.0-beta.7 → 1.0.0-beta.8

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
@@ -1,5 +1,10 @@
1
1
  # rapidkit
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/rapidkit.svg?style=flat-square)](https://www.npmjs.com/package/rapidkit)
4
+ [![npm downloads](https://img.shields.io/npm/dm/rapidkit.svg?style=flat-square)](https://www.npmjs.com/package/rapidkit)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
6
+ [![GitHub Stars](https://img.shields.io/github/stars/getrapidkit/rapidkit-npm.svg?style=flat-square)](https://github.com/getrapidkit/rapidkit-npm/stargazers)
7
+
3
8
  > ⚠️ **BETA VERSION** - This is a companion tool for RapidKit Python framework.
4
9
  > The stable production version of RapidKit will be released soon on PyPI.
5
10
  > Until then, use `--demo` mode to create demo workspaces with bundled templates, or `--test-mode` to try the full RapidKit installation locally.
package/dist/create.js CHANGED
@@ -387,7 +387,7 @@ if (!projectName) {
387
387
  process.exit(1);
388
388
  }
389
389
 
390
- // Use npx to run create-rapidkit in demo mode, targeting the current directory
390
+ // Use npx to run rapidkit in demo mode, targeting the current directory
391
391
  const targetPath = path.join(process.cwd(), projectName);
392
392
 
393
393
  try {
@@ -494,7 +494,7 @@ ${name}/
494
494
 
495
495
  ---
496
496
 
497
- **Generated with create-rapidkit** | [GitHub](https://github.com/getrapidkit/rapidkit-npm)
497
+ **Generated with RapidKit** | [GitHub](https://github.com/getrapidkit/rapidkit-npm)
498
498
  `;
499
499
  await fsPromises.writeFile(path.join(projectPath, 'README.md'), readmeContent, 'utf-8');
500
500
  spinner.succeed('Demo workspace setup complete');
package/dist/index.js CHANGED
@@ -15,7 +15,7 @@ let currentProjectPath = null;
15
15
  let cleanupInProgress = false;
16
16
  const program = new Command();
17
17
  program
18
- .name('create-rapidkit')
18
+ .name('rapidkit')
19
19
  .description('Create a RapidKit development environment or workspace')
20
20
  .version(getVersion())
21
21
  .argument('[directory-name]', 'Name of the workspace or project directory')
@@ -37,7 +37,7 @@ program
37
37
  if (options.updateCheck !== false) {
38
38
  await checkForUpdates();
39
39
  }
40
- console.log(chalk.blue.bold('\n🚀 Welcome to create-rapidkit!\n'));
40
+ console.log(chalk.blue.bold('\n🚀 Welcome to RapidKit!\n'));
41
41
  if (options.demoOnly) {
42
42
  const projectName = directoryName || 'my-fastapi-project';
43
43
  try {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAGpC,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAC7C,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,UAAU,EAAE,CAAC;KACrB,QAAQ,CAAC,kBAAkB,EAAE,4CAA4C,CAAC;KAC1E,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAAC;KAC/C,MAAM,CAAC,aAAa,EAAE,iEAAiE,CAAC;KACxF,MAAM,CAAC,QAAQ,EAAE,4EAA4E,CAAC;KAC9F,MAAM,CAAC,aAAa,EAAE,uEAAuE,CAAC;KAC9F,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,WAAW,EAAE,gDAAgD,CAAC;KACrE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;IACvC,IAAI,CAAC;QAEH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;QAGD,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;QAC1C,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAG/C,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,eAAe,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAG5D,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,aAAa,IAAI,oBAAoB,CAAC;YAG1D,IAAI,CAAC;gBACH,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBAClB,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;oBACvC,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;YAC7D,kBAAkB,GAAG,WAAW,CAAC;YAGjC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;oBACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACrC,OAAO,oDAAoD,CAAC;wBAC9D,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,eAAe;iBAC7C;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,sBAAsB;oBAC/B,OAAO,EAAE,yCAAyC;iBACnD;aACF,CAAC,CAAC;YAEH,MAAM,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,aAAa,IAAI,oBAAoB,CAAC;QAG5D,IAAI,CAAC;YACH,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAEjB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,oIAAoI,CACrI,CACF,CAAC;YAEF,MAAM,aAAa,CAAC,aAAa,EAAE;gBACjC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO;gBAC9C,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU;aACX,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAGD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,yDAAyD;YACvD,kDAAkD,CACrD,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;QAErF,MAAM,aAAa,CAAC,aAAa,EAAE;YACjC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO;YAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC,CAAC;AAGL,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,IAAI,iBAAiB;QAAE,OAAO;IAE9B,iBAAiB,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAEzD,IAAI,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAGH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,IAAI,iBAAiB;QAAE,OAAO;IAE9B,iBAAiB,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAEjC,IAAI,kBAAkB,IAAI,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -24,7 +24,7 @@ export function validateProjectName(name) {
24
24
  'node',
25
25
  'npm',
26
26
  'rapidkit',
27
- 'create-rapidkit',
27
+ 'rapidkit',
28
28
  ];
29
29
  if (reservedNames.includes(name.toLowerCase())) {
30
30
  throw new InvalidProjectNameError(name, `"${name}" is a reserved name. Please choose a different name.`);
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAE9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAID,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,aAAa,GAAG;QACpB,MAAM;QACN,OAAO;QACP,KAAK;QACL,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,MAAM;QACN,KAAK;QACL,UAAU;QACV,iBAAiB;KAClB,CAAC;IAEF,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,IAAI,IAAI,uDAAuD,CAChE,CAAC;IACJ,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAKtD,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAE9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAE9C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAID,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,0GAA0G,CAC3G,CAAC;IACJ,CAAC;IAGD,MAAM,aAAa,GAAG;QACpB,MAAM;QACN,OAAO;QACP,KAAK;QACL,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,MAAM;QACN,KAAK;QACL,UAAU;QACV,UAAU;KACX,CAAC;IAEF,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,uBAAuB,CAC/B,IAAI,EACJ,IAAI,IAAI,uDAAuD,CAChE,CAAC;IACJ,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAKD,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rapidkit",
3
- "version": "1.0.0-beta.7",
3
+ "version": "1.0.0-beta.8",
4
4
  "type": "module",
5
5
  "description": "Create RapidKit projects with a single command - The official CLI for RapidKit framework",
6
6
  "keywords": [
@@ -21,7 +21,7 @@
21
21
  "url": "git+https://github.com/getrapidkit/rapidkit-npm.git"
22
22
  },
23
23
  "bin": {
24
- "create-rapidkit": "dist/index.js"
24
+ "rapidkit": "dist/index.js"
25
25
  },
26
26
  "files": [
27
27
  "dist",
@@ -76,5 +76,6 @@
76
76
  "eslint --fix",
77
77
  "prettier --write"
78
78
  ]
79
- }
79
+ },
80
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
80
81
  }
@@ -1,12 +0,0 @@
1
- export interface ProjectConfig {
2
- projectName: string;
3
- framework: 'fastapi-standard' | 'fastapi-advanced' | 'nestjs-standard' | 'nestjs-advanced';
4
- pythonVersion: '3.10' | '3.11' | '3.12';
5
- packageManager: 'poetry' | 'pip' | 'npm';
6
- selectedModules: string[];
7
- includeDocker: boolean;
8
- includeTesting: boolean;
9
- includeCI: boolean;
10
- }
11
- export declare function generateProjectFiles(config: ProjectConfig): Record<string, string>;
12
- //# sourceMappingURL=generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;IAC3F,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACxC,cAAc,EAAE,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;IACzC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgFlF"}
package/dist/generator.js DELETED
@@ -1,877 +0,0 @@
1
- export function generateProjectFiles(config) {
2
- const files = {};
3
- const isFastAPI = config.framework.startsWith('fastapi');
4
- files['README.md'] = generateReadme(config);
5
- files['.gitignore'] = generateGitignore();
6
- files['.env.example'] = generateEnvExample(config);
7
- if (isFastAPI) {
8
- if (config.packageManager === 'poetry') {
9
- files['pyproject.toml'] = generatePyProjectToml(config);
10
- }
11
- else {
12
- files['requirements.txt'] = generateRequirementsTxt(config);
13
- files['setup.py'] = generateSetupPy(config);
14
- }
15
- files['src/__init__.py'] = '';
16
- files['src/main.py'] = generateMainPy(config);
17
- files['src/config.py'] = generateConfigPy(config);
18
- files['src/core/__init__.py'] = '';
19
- files['src/core/database.py'] = generateDatabasePy(config);
20
- files['src/core/dependencies.py'] = generateDependenciesPy(config);
21
- files['src/api/__init__.py'] = '';
22
- files['src/api/routes.py'] = generateRoutesPy(config);
23
- config.selectedModules.forEach((moduleSlug) => {
24
- const moduleFiles = generateModuleFiles(moduleSlug, config);
25
- Object.entries(moduleFiles).forEach(([path, content]) => {
26
- files[path] = content;
27
- });
28
- });
29
- }
30
- else {
31
- files['package.json'] = generatePackageJson(config);
32
- files['tsconfig.json'] = generateTsConfig();
33
- files['nest-cli.json'] = generateNestCliJson();
34
- files['src/main.ts'] = generateMainTs(config);
35
- files['src/app.module.ts'] = generateAppModule(config);
36
- files['src/app.controller.ts'] = generateAppController();
37
- files['src/app.service.ts'] = generateAppService();
38
- }
39
- if (config.includeDocker) {
40
- files['Dockerfile'] = generateDockerfile(config);
41
- files['docker-compose.yml'] = generateDockerCompose(config);
42
- files['.dockerignore'] = generateDockerignore();
43
- }
44
- if (config.includeTesting) {
45
- if (isFastAPI) {
46
- files['tests/__init__.py'] = '';
47
- files['tests/conftest.py'] = generateConftestPy(config);
48
- files['tests/test_main.py'] = generateTestMainPy(config);
49
- files['pytest.ini'] = generatePytestIni();
50
- }
51
- else {
52
- files['test/app.e2e-spec.ts'] = generateE2ETest();
53
- files['test/jest-e2e.json'] = generateJestE2EConfig();
54
- }
55
- }
56
- if (config.includeCI) {
57
- files['.github/workflows/ci.yml'] = generateGitHubActions(config);
58
- }
59
- return files;
60
- }
61
- function generateReadme(config) {
62
- return `# ${config.projectName}
63
-
64
- Generated by [RapidKit](https://rapidkit.dev)
65
-
66
- ## Description
67
-
68
- A production-ready ${config.framework} project with Clean Architecture patterns.
69
-
70
- ## Features
71
-
72
- ${config.selectedModules.map((m) => `- ${m}`).join('\n')}
73
-
74
- ## Prerequisites
75
-
76
- ${config.framework.startsWith('fastapi')
77
- ? `- Python ${config.pythonVersion}+
78
- - ${config.packageManager === 'poetry' ? 'Poetry' : 'pip'}`
79
- : '- Node.js 18+\n- npm or yarn'}
80
-
81
- ## Installation
82
-
83
- \`\`\`bash
84
- ${config.framework.startsWith('fastapi')
85
- ? config.packageManager === 'poetry'
86
- ? 'poetry install'
87
- : 'pip install -r requirements.txt'
88
- : 'npm install'}
89
- \`\`\`
90
-
91
- ## Configuration
92
-
93
- Copy \`.env.example\` to \`.env\` and update the values:
94
-
95
- \`\`\`bash
96
- cp .env.example .env
97
- \`\`\`
98
-
99
- ## Running the Application
100
-
101
- ### Development Mode
102
-
103
- \`\`\`bash
104
- ${config.framework.startsWith('fastapi')
105
- ? config.packageManager === 'poetry'
106
- ? 'poetry run uvicorn src.main:app --reload'
107
- : 'uvicorn src.main:app --reload'
108
- : 'npm run start:dev'}
109
- \`\`\`
110
-
111
- ${config.includeDocker
112
- ? `### Using Docker
113
-
114
- \`\`\`bash
115
- docker-compose up
116
- \`\`\`
117
- `
118
- : ''}
119
-
120
- ## API Documentation
121
-
122
- Once running, visit:
123
- - Swagger UI: http://localhost:8000/docs
124
- - ReDoc: http://localhost:8000/redoc
125
-
126
- ## Testing
127
-
128
- \`\`\`bash
129
- ${config.framework.startsWith('fastapi')
130
- ? config.packageManager === 'poetry'
131
- ? 'poetry run pytest'
132
- : 'pytest'
133
- : 'npm run test'}
134
- \`\`\`
135
-
136
- ## Project Structure
137
-
138
- \`\`\`
139
- ${config.projectName}/
140
- ├── src/
141
- │ ├── main.${config.framework.startsWith('fastapi') ? 'py' : 'ts'}
142
- │ ├── api/
143
- │ ├── core/
144
- ${config.selectedModules.map((m) => `│ ├── ${m}/`).join('\n')}
145
- │ └── ...
146
- ${config.includeTesting ? '├── tests/\n' : ''}${config.includeDocker ? '├── Dockerfile\n├── docker-compose.yml\n' : ''}└── README.md
147
- \`\`\`
148
-
149
- ## License
150
-
151
- MIT
152
-
153
- ## Support
154
-
155
- For issues and questions, visit [RapidKit GitHub](https://github.com/getrapidkit/community)
156
- `;
157
- }
158
- function generateGitignore() {
159
- return `# Python
160
- __pycache__/
161
- *.py[cod]
162
- *$py.class
163
- *.so
164
- .Python
165
- build/
166
- develop-eggs/
167
- dist/
168
- downloads/
169
- eggs/
170
- .eggs/
171
- lib/
172
- lib64/
173
- parts/
174
- sdist/
175
- var/
176
- wheels/
177
- *.egg-info/
178
- .installed.cfg
179
- *.egg
180
-
181
- # Virtual environments
182
- venv/
183
- ENV/
184
- env/
185
- .venv
186
-
187
- # IDEs
188
- .vscode/
189
- .idea/
190
- *.swp
191
- *.swo
192
- *~
193
-
194
- # Environment variables
195
- .env
196
- .env.local
197
- .env.*.local
198
-
199
- # Testing
200
- .coverage
201
- .pytest_cache/
202
- htmlcov/
203
- .tox/
204
-
205
- # Node
206
- node_modules/
207
- npm-debug.log*
208
- yarn-debug.log*
209
- yarn-error.log*
210
-
211
- # OS
212
- .DS_Store
213
- Thumbs.db
214
-
215
- # Logs
216
- *.log
217
- logs/
218
- `;
219
- }
220
- function generateEnvExample(config) {
221
- return `# Application
222
- APP_NAME="${config.projectName}"
223
- APP_ENV=development
224
- DEBUG=True
225
- ${config.framework.startsWith('fastapi') ? 'HOST=0.0.0.0\nPORT=8000' : 'PORT=3000'}
226
-
227
- # Database${config.selectedModules.includes('database') ||
228
- config.selectedModules.includes('database-orm-pro')
229
- ? `
230
- DATABASE_URL=postgresql://user:password@localhost:5432/${config.projectName}
231
- # or for SQLite:
232
- # DATABASE_URL=sqlite:///./database.db`
233
- : `
234
- # DATABASE_URL=postgresql://user:password@localhost:5432/${config.projectName}`}
235
-
236
- # Authentication${config.selectedModules.includes('auth')
237
- ? `
238
- JWT_SECRET=your-secret-key-here-change-in-production
239
- JWT_ALGORITHM=HS256
240
- JWT_EXPIRATION=3600`
241
- : `
242
- # JWT_SECRET=your-secret-key-here`}
243
-
244
- # Redis${config.selectedModules.includes('cache')
245
- ? `
246
- REDIS_URL=redis://localhost:6379/0`
247
- : `
248
- # REDIS_URL=redis://localhost:6379/0`}
249
-
250
- # Email${config.selectedModules.includes('email')
251
- ? `
252
- SMTP_HOST=smtp.gmail.com
253
- SMTP_PORT=587
254
- SMTP_USER=your-email@gmail.com
255
- SMTP_PASSWORD=your-app-password
256
- EMAIL_FROM=noreply@${config.projectName}.com`
257
- : `
258
- # SMTP_HOST=smtp.gmail.com
259
- # SMTP_PORT=587`}
260
-
261
- # AWS S3${config.selectedModules.includes('storage')
262
- ? `
263
- AWS_ACCESS_KEY_ID=your-access-key
264
- AWS_SECRET_ACCESS_KEY=your-secret-key
265
- AWS_REGION=us-east-1
266
- S3_BUCKET_NAME=your-bucket-name`
267
- : `
268
- # AWS_ACCESS_KEY_ID=your-access-key
269
- # AWS_SECRET_ACCESS_KEY=your-secret-key`}
270
- `;
271
- }
272
- function generatePyProjectToml(config) {
273
- const dependencies = [
274
- 'fastapi = "^0.115.0"',
275
- 'uvicorn = { extras = ["standard"], version = "^0.32.0" }',
276
- 'pydantic = "^2.9.0"',
277
- 'pydantic-settings = "^2.5.0"',
278
- ];
279
- if (config.selectedModules.includes('database') ||
280
- config.selectedModules.includes('database-orm-pro')) {
281
- dependencies.push('sqlalchemy = "^2.0.0"', 'alembic = "^1.13.0"');
282
- }
283
- if (config.selectedModules.includes('auth')) {
284
- dependencies.push('python-jose = { extras = ["cryptography"], version = "^3.3.0" }', 'passlib = { extras = ["bcrypt"], version = "^1.7.4" }');
285
- }
286
- if (config.selectedModules.includes('cache')) {
287
- dependencies.push('redis = "^5.0.0"');
288
- }
289
- return `[tool.poetry]
290
- name = "${config.projectName}"
291
- version = "0.1.0"
292
- description = "Generated by RapidKit"
293
- authors = ["Your Name <you@example.com>"]
294
- readme = "README.md"
295
-
296
- [tool.poetry.dependencies]
297
- python = "^${config.pythonVersion}"
298
- ${dependencies.join('\n')}
299
-
300
- [tool.poetry.group.dev.dependencies]
301
- pytest = "^8.3.0"
302
- pytest-asyncio = "^0.24.0"
303
- httpx = "^0.27.0"
304
- black = "^24.8.0"
305
- flake8 = "^7.1.0"
306
- mypy = "^1.11.0"
307
-
308
- [build-system]
309
- requires = ["poetry-core"]
310
- build-backend = "poetry.core.masonry.api"
311
-
312
- [tool.black]
313
- line-length = 100
314
- target-version = ["py${config.pythonVersion.replace('.', '')}"]
315
-
316
- [tool.mypy]
317
- python_version = "${config.pythonVersion}"
318
- warn_return_any = true
319
- warn_unused_configs = true
320
- disallow_untyped_defs = true
321
- `;
322
- }
323
- function generateRequirementsTxt(config) {
324
- const deps = [
325
- 'fastapi>=0.115.0',
326
- 'uvicorn[standard]>=0.32.0',
327
- 'pydantic>=2.9.0',
328
- 'pydantic-settings>=2.5.0',
329
- ];
330
- if (config.selectedModules.includes('database') ||
331
- config.selectedModules.includes('database-orm-pro')) {
332
- deps.push('sqlalchemy>=2.0.0', 'alembic>=1.13.0');
333
- }
334
- if (config.selectedModules.includes('auth')) {
335
- deps.push('python-jose[cryptography]>=3.3.0', 'passlib[bcrypt]>=1.7.4');
336
- }
337
- if (config.selectedModules.includes('cache')) {
338
- deps.push('redis>=5.0.0');
339
- }
340
- return deps.join('\n') + '\n';
341
- }
342
- function generateSetupPy(config) {
343
- return `from setuptools import setup, find_packages
344
-
345
- setup(
346
- name="${config.projectName}",
347
- version="0.1.0",
348
- description="Generated by RapidKit",
349
- packages=find_packages(),
350
- python_requires=">=${config.pythonVersion}",
351
- )
352
- `;
353
- }
354
- function generateMainPy(config) {
355
- return `from fastapi import FastAPI
356
- from fastapi.middleware.cors import CORSMiddleware
357
- from src.config import settings
358
- from src.api.routes import api_router
359
-
360
- app = FastAPI(
361
- title=settings.APP_NAME,
362
- description="Generated by RapidKit",
363
- version="0.1.0",
364
- docs_url="/docs",
365
- redoc_url="/redoc",
366
- )
367
-
368
- # CORS middleware
369
- app.add_middleware(
370
- CORSMiddleware,
371
- allow_origins=["*"], # Update in production
372
- allow_credentials=True,
373
- allow_methods=["*"],
374
- allow_headers=["*"],
375
- )
376
-
377
- # Include routers
378
- app.include_router(api_router, prefix="/api")
379
-
380
- @app.get("/")
381
- async def root():
382
- return {
383
- "message": "Welcome to ${config.projectName}",
384
- "status": "running",
385
- "docs": "/docs",
386
- }
387
-
388
- @app.get("/health")
389
- async def health_check():
390
- return {"status": "healthy"}
391
-
392
- if __name__ == "__main__":
393
- import uvicorn
394
- uvicorn.run(app, host="0.0.0.0", port=8000)
395
- `;
396
- }
397
- function generateConfigPy(config) {
398
- return `from pydantic_settings import BaseSettings
399
-
400
- class Settings(BaseSettings):
401
- APP_NAME: str = "${config.projectName}"
402
- APP_ENV: str = "development"
403
- DEBUG: bool = True
404
- HOST: str = "0.0.0.0"
405
- PORT: int = 8000
406
-
407
- ${config.selectedModules.includes('database') ||
408
- config.selectedModules.includes('database-orm-pro')
409
- ? 'DATABASE_URL: str = "sqlite:///./database.db"'
410
- : '# DATABASE_URL: str = ""'}
411
-
412
- ${config.selectedModules.includes('auth')
413
- ? `JWT_SECRET: str = "your-secret-key"
414
- JWT_ALGORITHM: str = "HS256"
415
- JWT_EXPIRATION: int = 3600`
416
- : '# JWT_SECRET: str = ""'}
417
-
418
- class Config:
419
- env_file = ".env"
420
- case_sensitive = True
421
-
422
- settings = Settings()
423
- `;
424
- }
425
- function generateDatabasePy(config) {
426
- if (!config.selectedModules.includes('database') &&
427
- !config.selectedModules.includes('database-orm-pro')) {
428
- return '# Database configuration will be added when database module is included\n';
429
- }
430
- return `from sqlalchemy import create_engine
431
- from sqlalchemy.ext.declarative import declarative_base
432
- from sqlalchemy.orm import sessionmaker
433
- from src.config import settings
434
-
435
- engine = create_engine(
436
- settings.DATABASE_URL,
437
- connect_args={"check_same_thread": False} if "sqlite" in settings.DATABASE_URL else {},
438
- )
439
-
440
- SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
441
-
442
- Base = declarative_base()
443
-
444
- def get_db():
445
- db = SessionLocal()
446
- try:
447
- yield db
448
- finally:
449
- db.close()
450
- `;
451
- }
452
- function generateDependenciesPy(config) {
453
- return `from typing import Generator
454
- from fastapi import Depends, HTTPException, status
455
- ${config.selectedModules.includes('database') || config.selectedModules.includes('database-orm-pro')
456
- ? 'from sqlalchemy.orm import Session\nfrom src.core.database import get_db'
457
- : ''}
458
-
459
- # Add your dependencies here
460
- `;
461
- }
462
- function generateRoutesPy(config) {
463
- return `from fastapi import APIRouter
464
-
465
- api_router = APIRouter()
466
-
467
- @api_router.get("/status")
468
- async def status():
469
- return {"status": "ok", "message": "API is running"}
470
-
471
- # Import and include module routers here
472
- ${config.selectedModules.map((m) => `# from src.${m}.routes import router as ${m}_router\n# api_router.include_router(${m}_router, prefix="/${m}", tags=["${m}"])`).join('\n')}
473
- `;
474
- }
475
- function generateModuleFiles(moduleSlug, _config) {
476
- const files = {};
477
- const moduleName = moduleSlug.replace(/-/g, '_');
478
- files[`src/${moduleName}/__init__.py`] = '';
479
- files[`src/${moduleName}/models.py`] = `# ${moduleSlug} models\n`;
480
- files[`src/${moduleName}/schemas.py`] =
481
- `# ${moduleSlug} schemas\nfrom pydantic import BaseModel\n`;
482
- files[`src/${moduleName}/routes.py`] =
483
- `# ${moduleSlug} routes\nfrom fastapi import APIRouter\n\nrouter = APIRouter()\n`;
484
- files[`src/${moduleName}/services.py`] = `# ${moduleSlug} services\n`;
485
- return files;
486
- }
487
- function generatePackageJson(config) {
488
- return `{
489
- "name": "${config.projectName}",
490
- "version": "0.1.0",
491
- "description": "Generated by RapidKit",
492
- "author": "",
493
- "private": true,
494
- "license": "MIT",
495
- "scripts": {
496
- "build": "nest build",
497
- "format": "prettier --write \\"src/**/*.ts\\"",
498
- "start": "nest start",
499
- "start:dev": "nest start --watch",
500
- "start:debug": "nest start --debug --watch",
501
- "start:prod": "node dist/main",
502
- "lint": "eslint \\"{src,apps,libs,test}/**/*.ts\\" --fix",
503
- "test": "jest",
504
- "test:watch": "jest --watch",
505
- "test:cov": "jest --coverage",
506
- "test:e2e": "jest --config ./test/jest-e2e.json"
507
- },
508
- "dependencies": {
509
- "@nestjs/common": "^10.0.0",
510
- "@nestjs/core": "^10.0.0",
511
- "@nestjs/platform-express": "^10.0.0",
512
- "reflect-metadata": "^0.2.0",
513
- "rxjs": "^7.8.1"
514
- },
515
- "devDependencies": {
516
- "@nestjs/cli": "^10.0.0",
517
- "@nestjs/schematics": "^10.0.0",
518
- "@nestjs/testing": "^10.0.0",
519
- "@types/express": "^4.17.17",
520
- "@types/jest": "^29.5.2",
521
- "@types/node": "^20.3.1",
522
- "@typescript-eslint/eslint-plugin": "^6.0.0",
523
- "@typescript-eslint/parser": "^6.0.0",
524
- "eslint": "^8.42.0",
525
- "jest": "^29.5.0",
526
- "prettier": "^3.0.0",
527
- "ts-jest": "^29.1.0",
528
- "ts-loader": "^9.4.3",
529
- "ts-node": "^10.9.1",
530
- "tsconfig-paths": "^4.2.0",
531
- "typescript": "^5.1.3"
532
- }
533
- }
534
- `;
535
- }
536
- function generateTsConfig() {
537
- return `{
538
- "compilerOptions": {
539
- "module": "commonjs",
540
- "declaration": true,
541
- "removeComments": true,
542
- "emitDecoratorMetadata": true,
543
- "experimentalDecorators": true,
544
- "allowSyntheticDefaultImports": true,
545
- "target": "ES2021",
546
- "sourceMap": true,
547
- "outDir": "./dist",
548
- "baseUrl": "./",
549
- "incremental": true,
550
- "skipLibCheck": true,
551
- "strictNullChecks": false,
552
- "noImplicitAny": false,
553
- "strictBindCallApply": false,
554
- "forceConsistentCasingInFileNames": false,
555
- "noFallthroughCasesInSwitch": false
556
- }
557
- }
558
- `;
559
- }
560
- function generateNestCliJson() {
561
- return `{
562
- "$schema": "https://json.schemastore.org/nest-cli",
563
- "collection": "@nestjs/schematics",
564
- "sourceRoot": "src",
565
- "compilerOptions": {
566
- "deleteOutDir": true
567
- }
568
- }
569
- `;
570
- }
571
- function generateMainTs(_config) {
572
- return `import { NestFactory } from '@nestjs/core';
573
- import { AppModule } from './app.module';
574
-
575
- async function bootstrap() {
576
- const app = await NestFactory.create(AppModule);
577
- app.enableCors();
578
- await app.listen(3000);
579
- console.log(\`Application is running on: \${await app.getUrl()}\`);
580
- }
581
- bootstrap();
582
- `;
583
- }
584
- function generateAppModule(_config) {
585
- return `import { Module } from '@nestjs/common';
586
- import { AppController } from './app.controller';
587
- import { AppService } from './app.service';
588
-
589
- @Module({
590
- imports: [],
591
- controllers: [AppController],
592
- providers: [AppService],
593
- })
594
- export class AppModule {}
595
- `;
596
- }
597
- function generateAppController() {
598
- return `import { Controller, Get } from '@nestjs/common';
599
- import { AppService } from './app.service';
600
-
601
- @Controller()
602
- export class AppController {
603
- constructor(private readonly appService: AppService) {}
604
-
605
- @Get()
606
- getHello(): string {
607
- return this.appService.getHello();
608
- }
609
-
610
- @Get('health')
611
- healthCheck() {
612
- return { status: 'healthy' };
613
- }
614
- }
615
- `;
616
- }
617
- function generateAppService() {
618
- return `import { Injectable } from '@nestjs/common';
619
-
620
- @Injectable()
621
- export class AppService {
622
- getHello(): string {
623
- return 'Welcome to your NestJS application!';
624
- }
625
- }
626
- `;
627
- }
628
- function generateDockerfile(config) {
629
- if (config.framework.startsWith('fastapi')) {
630
- return `FROM python:${config.pythonVersion}-slim
631
-
632
- WORKDIR /app
633
-
634
- # Install dependencies
635
- ${config.packageManager === 'poetry'
636
- ? `RUN pip install poetry
637
- COPY pyproject.toml poetry.lock* ./
638
- RUN poetry config virtualenvs.create false && poetry install --no-dev --no-interaction --no-ansi`
639
- : `COPY requirements.txt .
640
- RUN pip install --no-cache-dir -r requirements.txt`}
641
-
642
- # Copy application
643
- COPY . .
644
-
645
- EXPOSE 8000
646
-
647
- CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8000"]
648
- `;
649
- }
650
- else {
651
- return `FROM node:18-alpine
652
-
653
- WORKDIR /app
654
-
655
- COPY package*.json ./
656
- RUN npm ci --only=production
657
-
658
- COPY . .
659
- RUN npm run build
660
-
661
- EXPOSE 3000
662
-
663
- CMD ["node", "dist/main"]
664
- `;
665
- }
666
- }
667
- function generateDockerCompose(config) {
668
- const hasDatabase = config.selectedModules.includes('database') ||
669
- config.selectedModules.includes('database-orm-pro');
670
- const hasCache = config.selectedModules.includes('cache');
671
- return `version: '3.8'
672
-
673
- services:
674
- app:
675
- build: .
676
- ports:
677
- - "${config.framework.startsWith('fastapi') ? '8000:8000' : '3000:3000'}"
678
- environment:
679
- - APP_ENV=production
680
- ${hasDatabase ? ` - DATABASE_URL=postgresql://postgres:postgres@db:5432/${config.projectName}` : ''}
681
- ${hasCache ? ' - REDIS_URL=redis://redis:6379/0' : ''}
682
- depends_on:
683
- ${hasDatabase ? ' - db' : ''}
684
- ${hasCache ? ' - redis' : ''}
685
- volumes:
686
- - .:/app
687
- ${hasDatabase
688
- ? `
689
- db:
690
- image: postgres:15-alpine
691
- environment:
692
- - POSTGRES_USER=postgres
693
- - POSTGRES_PASSWORD=postgres
694
- - POSTGRES_DB=${config.projectName}
695
- ports:
696
- - "5432:5432"
697
- volumes:
698
- - postgres_data:/var/lib/postgresql/data`
699
- : ''}
700
- ${hasCache
701
- ? `
702
- redis:
703
- image: redis:7-alpine
704
- ports:
705
- - "6379:6379"`
706
- : ''}
707
-
708
- ${hasDatabase || hasCache
709
- ? `volumes:${hasDatabase ? '\n postgres_data:' : ''}${hasCache ? '\n redis_data:' : ''}`
710
- : ''}
711
- `;
712
- }
713
- function generateDockerignore() {
714
- return `__pycache__
715
- *.pyc
716
- *.pyo
717
- *.pyd
718
- .Python
719
- env
720
- venv
721
- .venv
722
- node_modules
723
- .git
724
- .gitignore
725
- .dockerignore
726
- .env
727
- .env.local
728
- *.log
729
- .pytest_cache
730
- .coverage
731
- htmlcov
732
- dist
733
- build
734
- *.egg-info
735
- `;
736
- }
737
- function generateConftestPy(_config) {
738
- return `import pytest
739
- from fastapi.testclient import TestClient
740
- from src.main import app
741
-
742
- @pytest.fixture
743
- def client():
744
- with TestClient(app) as c:
745
- yield c
746
- `;
747
- }
748
- function generateTestMainPy(_config) {
749
- return `def test_root(client):
750
- response = client.get("/")
751
- assert response.status_code == 200
752
- assert "message" in response.json()
753
-
754
- def test_health_check(client):
755
- response = client.get("/health")
756
- assert response.status_code == 200
757
- assert response.json() == {"status": "healthy"}
758
- `;
759
- }
760
- function generatePytestIni() {
761
- return `[pytest]
762
- testpaths = tests
763
- python_files = test_*.py
764
- python_classes = Test*
765
- python_functions = test_*
766
- addopts = -v --tb=short
767
- `;
768
- }
769
- function generateE2ETest() {
770
- return `import { Test, TestingModule } from '@nestjs/testing';
771
- import { INestApplication } from '@nestjs/common';
772
- import * as request from 'supertest';
773
- import { AppModule } from './../src/app.module';
774
-
775
- describe('AppController (e2e)', () => {
776
- let app: INestApplication;
777
-
778
- beforeEach(async () => {
779
- const moduleFixture: TestingModule = await Test.createTestingModule({
780
- imports: [AppModule],
781
- }).compile();
782
-
783
- app = moduleFixture.createNestApplication();
784
- await app.init();
785
- });
786
-
787
- it('/ (GET)', () => {
788
- return request(app.getHttpServer())
789
- .get('/')
790
- .expect(200)
791
- .expect('Welcome to your NestJS application!');
792
- });
793
- });
794
- `;
795
- }
796
- function generateJestE2EConfig() {
797
- return `{
798
- "moduleFileExtensions": ["js", "json", "ts"],
799
- "rootDir": ".",
800
- "testEnvironment": "node",
801
- "testRegex": ".e2e-spec.ts$",
802
- "transform": {
803
- "^.+\\\\.(t|j)s$": "ts-jest"
804
- }
805
- }
806
- `;
807
- }
808
- function generateGitHubActions(config) {
809
- if (config.framework.startsWith('fastapi')) {
810
- return `name: CI
811
-
812
- on:
813
- push:
814
- branches: [ main, develop ]
815
- pull_request:
816
- branches: [ main, develop ]
817
-
818
- jobs:
819
- test:
820
- runs-on: ubuntu-latest
821
-
822
- steps:
823
- - uses: actions/checkout@v3
824
-
825
- - name: Set up Python ${config.pythonVersion}
826
- uses: actions/setup-python@v4
827
- with:
828
- python-version: ${config.pythonVersion}
829
-
830
- - name: Install dependencies
831
- run: |
832
- ${config.packageManager === 'poetry'
833
- ? 'pip install poetry\npoetry install'
834
- : 'pip install -r requirements.txt'}
835
-
836
- - name: Run tests
837
- run: |
838
- ${config.packageManager === 'poetry' ? 'poetry run pytest' : 'pytest'}
839
-
840
- - name: Lint with flake8
841
- run: |
842
- ${config.packageManager === 'poetry' ? 'poetry run flake8 src' : 'flake8 src'}
843
- `;
844
- }
845
- else {
846
- return `name: CI
847
-
848
- on:
849
- push:
850
- branches: [ main, develop ]
851
- pull_request:
852
- branches: [ main, develop ]
853
-
854
- jobs:
855
- test:
856
- runs-on: ubuntu-latest
857
-
858
- steps:
859
- - uses: actions/checkout@v3
860
-
861
- - name: Set up Node.js
862
- uses: actions/setup-node@v3
863
- with:
864
- node-version: '18'
865
-
866
- - name: Install dependencies
867
- run: npm ci
868
-
869
- - name: Run tests
870
- run: npm test
871
-
872
- - name: Build
873
- run: npm run build
874
- `;
875
- }
876
- }
877
- //# sourceMappingURL=generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}