@currentjs/gen 0.2.2 → 0.3.0

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 (37) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +256 -0
  3. package/dist/cli.js +26 -0
  4. package/dist/commands/createApp.js +2 -0
  5. package/dist/commands/generateAll.js +153 -29
  6. package/dist/commands/migrateCommit.d.ts +1 -0
  7. package/dist/commands/migrateCommit.js +201 -0
  8. package/dist/generators/controllerGenerator.d.ts +7 -0
  9. package/dist/generators/controllerGenerator.js +60 -29
  10. package/dist/generators/domainModelGenerator.d.ts +7 -0
  11. package/dist/generators/domainModelGenerator.js +57 -3
  12. package/dist/generators/serviceGenerator.d.ts +16 -1
  13. package/dist/generators/serviceGenerator.js +125 -12
  14. package/dist/generators/storeGenerator.d.ts +8 -0
  15. package/dist/generators/storeGenerator.js +133 -7
  16. package/dist/generators/templateGenerator.d.ts +19 -0
  17. package/dist/generators/templateGenerator.js +216 -11
  18. package/dist/generators/templates/appTemplates.d.ts +8 -7
  19. package/dist/generators/templates/appTemplates.js +11 -1572
  20. package/dist/generators/templates/data/appTsTemplate +39 -0
  21. package/dist/generators/templates/data/appYamlTemplate +4 -0
  22. package/dist/generators/templates/data/cursorRulesTemplate +671 -0
  23. package/dist/generators/templates/data/errorTemplate +28 -0
  24. package/dist/generators/templates/data/frontendScriptTemplate +739 -0
  25. package/dist/generators/templates/data/mainViewTemplate +16 -0
  26. package/dist/generators/templates/data/translationsTemplate +68 -0
  27. package/dist/generators/templates/data/tsConfigTemplate +19 -0
  28. package/dist/generators/templates/viewTemplates.d.ts +10 -1
  29. package/dist/generators/templates/viewTemplates.js +138 -6
  30. package/dist/generators/validationGenerator.d.ts +5 -0
  31. package/dist/generators/validationGenerator.js +51 -0
  32. package/dist/utils/constants.d.ts +3 -0
  33. package/dist/utils/constants.js +5 -2
  34. package/dist/utils/migrationUtils.d.ts +49 -0
  35. package/dist/utils/migrationUtils.js +291 -0
  36. package/howto.md +157 -65
  37. package/package.json +3 -2
@@ -0,0 +1,39 @@
1
+ import { createWebServer } from '@currentjs/router';
2
+ import { createTemplateEngine } from '@currentjs/templating';
3
+ import * as path from 'path';
4
+
5
+ /** DO NOT CHANGE THESE LINES **/
6
+ // currentjs:controllers:start
7
+ // currentjs:controllers:end
8
+ /** END OF DO NOT CHANGE THESE LINES **/
9
+
10
+ export async function main() {
11
+ await Promise.all(Object.values(providers).map(provider => provider.init()));
12
+ const webDir = path.join(process.cwd(), 'web');
13
+ const renderEngine = createTemplateEngine({ directories: [process.cwd()] });
14
+ const app = createWebServer({ controllers, webDir }, {
15
+ port: 3000,
16
+ renderer: (template, data, layout) => {
17
+ try {
18
+ return layout ? renderEngine.renderWithLayout(layout, template, data) : renderEngine.render(template, data);
19
+ } catch (e) {
20
+ return String(e instanceof Error ? e.message : e);
21
+ }
22
+ },
23
+ errorTemplate: 'error'
24
+ });
25
+ await app.listen();
26
+ console.log('Server started on http://localhost:3000');
27
+
28
+ const handleTermination = async () => {
29
+ try { await app.close(); } catch {}
30
+ const shutdowns = Object.values(providers).map(provider => provider.shutdown ?? (() => {}));
31
+ await Promise.all(shutdowns);
32
+ process.exit(0);
33
+ };
34
+
35
+ process.on('SIGINT', handleTermination);
36
+ process.on('SIGTERM', handleTermination);
37
+ }
38
+
39
+ void main();
@@ -0,0 +1,4 @@
1
+ providers:
2
+ mysql: '@currentjs/provider-mysql'
3
+ database: mysql
4
+ modules: []