frgen 0.4.4 → 0.4.6

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.
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var e=require("../_virtual/_rollupPluginBabelHelpers.js"),t=require("fs"),n=require("path"),r=require("./utils.js"),a=function(){var a=e.asyncToGenerator(e.regeneratorRuntime().mark((function a(c,o){var s,i,u,l,p,d,x,m,q,f,v,w,y,R,b,g;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{c||(console.error("table name undefined"),process.exit(1)),s=r.removePluralSuffix(c),i="".concat(r.toPascalCase(s),"Resource"),u="".concat(r.toKebabCase(s),".resource"),l="".concat(r.toKebabCase(s),".service"),p="".concat(r.toKebabCase(s),".validation"),d="create".concat(r.toPascalCase(s),"Schema"),x="update".concat(r.toPascalCase(s),"Schema"),m="".concat(r.toPascalCase(s),"Controller"),q=r.toPascalCase(s),f="const validated = await req.validation(".concat(x,");"),v="const validated = await req.validation(".concat(d,");"),w="".concat(r.toKebabCase(s),".controller.ts"),y=r.toKebabCase(s),R=n.join(process.cwd(),"src","app","http","controller",w),"default"!==o&&(R=n.join(process.cwd(),o,w)),b='\nimport { NextFunction, Request, Response } from "express";\nimport { Controller, Get, Post, Put, Delete } from "frexp/lib/Decorator";\nimport { getPaginate, get'.concat(q,"ID, create").concat(q,", update").concat(q,", delete").concat(q,'} from "@service/').concat(l,'";\nimport ').concat(i,' from "@resource/').concat(u,'";\nimport { ').concat(d,",").concat(x,' } from "@validation/').concat(p,'";\n\n@Controller("/').concat(y,'")\nexport class ').concat(m,' {\n\n @Get("/")\n async get').concat(q,"Paginate(req: Request, res: Response, next: NextFunction){\n try {\n const results = await getPaginate(req.query);\n res.json(").concat(i,'.paginate(results));\n } catch (error) {\n next(error);\n }\n };\n\n @Get("/:id")\n async get').concat(q,"View(req: Request, res: Response, next: NextFunction){\n try {\n const result = await get").concat(q,"ID(+req.params.id)\n res.json(new ").concat(i,'(result, true));\n } catch (error) {\n next(error);\n }\n };\n\n @Post("/")\n async create').concat(q,"(req: Request, res: Response, next: NextFunction){\n try {\n ").concat(v,"\n const result = await create").concat(q,"(validated);\n res.json(new ").concat(i,'(result, true));\n } catch (error) {\n next(error);\n }\n };\n\n @Put("/")\n async update').concat(q,"(req: Request, res: Response, next: NextFunction){\n try {\n ").concat(f,"\n const result = await update").concat(q,"(validated);\n res.json(new ").concat(i,'(result, true));\n } catch (error) {\n next(error);\n }\n };\n\n @Delete("/:id")\n async delete$').concat(q,"(req: Request, res: Response, next: NextFunction){\n try {\n await delete").concat(q,"(+req.params.id)\n res.sendStatus(204);\n } catch (error) {\n next(error);\n }\n };\n}\n"),g=n.dirname(R),t.existsSync(g)||t.mkdirSync(g,{recursive:!0}),t.writeFile(R,b,(function(e){e?console.error("err: ",e):console.log("File ".concat(w," has been created"))}))}catch(e){console.error("err::",e)}case 1:case"end":return e.stop()}}),a)})));return function(e,t){return a.apply(this,arguments)}}();module.exports=a;
2
+ "use strict";var e=require("../_virtual/_rollupPluginBabelHelpers.js"),t=require("fs"),n=require("path"),r=require("./utils.js"),a=function(){var a=e.asyncToGenerator(e.regeneratorRuntime().mark((function a(c,o){var s,i,u,l,p,d,x,m,q,f,v,w,y,R,b,g;return e.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{c||(console.error("table name undefined"),process.exit(1)),s=r.removePluralSuffix(c),i="".concat(r.toPascalCase(s),"Resource"),u="".concat(r.toKebabCase(s),".resource"),l="".concat(r.toKebabCase(s),".service"),p="".concat(r.toKebabCase(s),".validation"),d="create".concat(r.toPascalCase(s),"Schema"),x="update".concat(r.toPascalCase(s),"Schema"),m="".concat(r.toPascalCase(s),"Controller"),q=r.toPascalCase(s),f="const validated = await req.validation(".concat(x,");"),v="const validated = await req.validation(".concat(d,");"),w="".concat(r.toKebabCase(s),".controller.ts"),y=r.toKebabCase(s),R=n.join(process.cwd(),"src","app","http","controller",w),"default"!==o&&(R=n.join(process.cwd(),o,w)),b='\nimport { NextFunction, Request, Response } from "express";\nimport { Controller, Get, Post, Put, Delete } from "frexp/lib/Decorator";\nimport { getPaginate, get'.concat(q,"ID, create").concat(q,", update").concat(q,", delete").concat(q,'} from "@service/').concat(l,'";\nimport ').concat(i,' from "@resource/').concat(u,'";\nimport { ').concat(d,",").concat(x,' } from "@validation/').concat(p,'";\n\n@Controller("/').concat(y,'")\nexport class ').concat(m,' {\n\n @Get("/")\n async get').concat(q,"Paginate(req: Request, res: Response, next: NextFunction){\n try {\n const results = await getPaginate(req.query);\n res.json(").concat(i,'.paginate(results));\n } catch (error) {\n next(error);\n }\n };\n\n @Get("/:id")\n async get').concat(q,"View(req: Request, res: Response, next: NextFunction){\n try {\n const result = await get").concat(q,"ID(+req.params.id)\n res.json(new ").concat(i,'(result, true));\n } catch (error) {\n next(error);\n }\n };\n\n @Post("/")\n async create').concat(q,"(req: Request, res: Response, next: NextFunction){\n try {\n ").concat(v,"\n const result = await create").concat(q,"(validated);\n res.json(new ").concat(i,'(result, true));\n } catch (error) {\n next(error);\n }\n };\n\n @Put("/")\n async update').concat(q,"(req: Request, res: Response, next: NextFunction){\n try {\n ").concat(f,"\n const result = await update").concat(q,"(validated);\n res.json(new ").concat(i,'(result, true));\n } catch (error) {\n next(error);\n }\n };\n\n @Delete("/:id")\n async delete').concat(q,"(req: Request, res: Response, next: NextFunction){\n try {\n await delete").concat(q,"(+req.params.id)\n res.sendStatus(204);\n } catch (error) {\n next(error);\n }\n };\n}\n"),g=n.dirname(R),t.existsSync(g)||t.mkdirSync(g,{recursive:!0}),t.writeFile(R,b,(function(e){e?console.error("err: ",e):console.log("File ".concat(w," has been created"))}))}catch(e){console.error("err::",e)}case 1:case"end":return e.stop()}}),a)})));return function(e,t){return a.apply(this,arguments)}}();module.exports=a;
package/lib/main.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var e,r=require("./_virtual/_rollupPluginBabelHelpers.js"),a=require("./express/utils.js"),t=require("./express/make_model.js"),n=require("./express/make_resource.js"),s=require("./express/make_controller.js"),c=require("./express/make_crud.js"),o=require("./express/make_validation.js"),l=require("./express/make_service.js"),i=require("./db.js"),u=r.toArray(process.argv);u[0],u[1];var p=u[2],m=u.slice(3);p||(console.error("❌ action undefined."),process.exit(1));var f="",v="default",d=null!==(e=process.env.DB_SCHEMA)&&void 0!==e?e:"public",k=process.env.DB_CLIENT||"pg",x=!1;if(m.length>0){var b,h=r.createForOfIteratorHelper(m);try{for(h.s();!(b=h.n()).done;){var y=b.value.split("="),g=r.slicedToArray(y,2),q=g[0],_=g[1];"--schema"===q&&(d=_),"--path"===q&&(v=_),"--prisma"===q&&(x=!0),"--mysql"===q&&(k="mysql"),"--pg"===q&&(k="pg"),"--skip-controller"===q&&(skipController=!0),"--table"===q&&(f=_)}}catch(e){h.e(e)}finally{h.f()}f||"make:crud"===p||(console.error("❌ table undefined."),process.exit(1))}if("--help"===p&&(console.log("\n Usage:npx frgen <action> [options]\n \n Actions:\n make:model Generate model file\n make:resource Generate resource file\n make:controller Generate controller, service, validation, and resource files\n make:crud Generate all files for CRUD operations\n make:validation Generate validation files\n make:service Generate service files\n --help Show this help message\n\n Options:\n --table=<table_name> Specify the table name (required)\n --schema=<schema_name> Specify the database schema (default: public)\n --path=<output_path> Specify the output path (default: default)\n --prisma Generate Prisma-compatible service files\n --mysql Use MySQL as the database client\n --pg Use PostgreSQL as the database client\n "),process.exit(0)),"make:crud"===p){var C=r.toArray(process.argv);C[0],C[1],C[2];var j=C.slice(3);if(j.length>0){var G,S=r.createForOfIteratorHelper(j);try{for(S.s();!(G=S.n()).done;){var A=G.value.split("="),D=r.slicedToArray(A,2),P=D[0],R=D[1];"--schema"===P&&(d=R),"--prisma"===P&&(x=!0),"--pg"===P&&(k="pg"),"--mysql"===P&&(k="mysql",d=process.env.DB_NAME)}}catch(e){S.e(e)}finally{S.f()}}}(function(){var e=r.asyncToGenerator(r.regeneratorRuntime().mark((function e(){var u,m,b,h;return r.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,process.env.DB_CLIENT=k,e.next=4,i.createPool();case 4:return u=e.sent,e.next=7,a.checkDatabaseConnection(u);case 7:e.t0=p,e.next="make:model"===e.t0?10:"make:resource"===e.t0?14:"make:controller"===e.t0?17:"make:crud"===e.t0?26:"make:validation"===e.t0?29:"make:service"===e.t0?32:35;break;case 10:return m="".concat(a.toPascalCase(a.removePluralSuffix(f)),"Controller"),e.next=13,t(m,f,u,d,k);case 13:return e.abrupt("break",37);case 14:return e.next=16,n(f,u,d,k,v);case 16:return e.abrupt("break",37);case 17:return e.next=19,s(f,v);case 19:return e.next=21,l(f,v,x);case 21:return e.next=23,o(f,u,d,k,v);case 23:return e.next=25,n(f,u,d,k,v);case 25:return e.abrupt("break",37);case 26:return e.next=28,c(v,u,d,x,k);case 28:return e.abrupt("break",37);case 29:return e.next=31,o(f,u,d,k,v);case 31:return e.abrupt("break",37);case 32:return e.next=34,l(f,v,x);case 34:return e.abrupt("break",37);case 35:console.error("❌ Unknown action: ".concat(p)),process.exit(1);case 37:e.next=43;break;case 39:e.prev=39,e.t1=e.catch(0),console.error("❌ ERROR:",e.t1),process.exit(1);case 43:if(e.prev=43,null===(b=u)||void 0===b||!b.end){e.next=49;break}return e.next=47,u.end();case 47:e.next=52;break;case 49:if(null===(h=u)||void 0===h||!h.releaseConnection){e.next=52;break}return e.next=52,u.releaseConnection();case 52:return e.finish(43);case 53:case"end":return e.stop()}}),e,null,[[0,39,43,53]])})));return function(){return e.apply(this,arguments)}})()();
2
+ "use strict";var e,r=require("./_virtual/_rollupPluginBabelHelpers.js"),a=require("./express/utils.js"),t=require("./express/make_model.js"),n=require("./express/make_resource.js"),s=require("./express/make_controller.js"),c=require("./express/make_crud.js"),o=require("./express/make_validation.js"),l=require("./express/make_service.js"),i=require("./db.js"),u=r.toArray(process.argv);u[0],u[1];var p=u[2],m=u.slice(3);p||(console.error("❌ action undefined."),process.exit(1));var v="",d="default",f=null!==(e=process.env.DB_SCHEMA)&&void 0!==e?e:"public",k=process.env.DB_CLIENT||"pg",x=!1,b=!1;if(m.length>0){var h,y=r.createForOfIteratorHelper(m);try{for(y.s();!(h=y.n()).done;){var g=h.value.split("="),q=r.slicedToArray(g,2),_=q[0],j=q[1];"--schema"===_&&(f=j),"--path"===_&&(d=j),"--prisma"===_&&(x=!0),"--mysql"===_&&(k="mysql"),"--pg"===_&&(k="pg"),"--skip-controller"===_&&!0,"--controller-only"===_&&(b=!0),"--table"===_&&(v=j)}}catch(e){y.e(e)}finally{y.f()}v||"make:crud"===p||(console.error("❌ table undefined."),process.exit(1))}if("--help"===p&&(console.log("\n Usage:npx frgen <action> [options]\n \n Actions:\n make:model Generate model file\n make:resource Generate resource file\n make:controller Generate controller, service, validation, and resource files\n make:crud Generate all files for CRUD operations\n make:validation Generate validation files\n make:service Generate service files\n --help Show this help message\n\n Options:\n --table=<table_name> Specify the table name (required)\n --schema=<schema_name> Specify the database schema (default: public)\n --path=<output_path> Specify the output path (default: default)\n --prisma Generate Prisma-compatible service files\n --mysql Use MySQL as the database client\n --pg Use PostgreSQL as the database client\n "),process.exit(0)),"make:crud"===p){var C=r.toArray(process.argv);C[0],C[1],C[2];var G=C.slice(3);if(G.length>0){var S,A=r.createForOfIteratorHelper(G);try{for(A.s();!(S=A.n()).done;){var D=S.value.split("="),P=r.slicedToArray(D,2),R=P[0],B=P[1];"--schema"===R&&(f=B),"--prisma"===R&&(x=!0),"--pg"===R&&(k="pg"),"--mysql"===R&&(k="mysql",f=process.env.DB_NAME)}}catch(e){A.e(e)}finally{A.f()}}}(function(){var e=r.asyncToGenerator(r.regeneratorRuntime().mark((function e(){var u,m,h,y,g,q,_,j,C,G;return r.regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,process.env.DB_CLIENT=k,e.next=4,i.createPool();case 4:return u=e.sent,e.next=7,a.checkDatabaseConnection(u);case 7:e.t0=p,e.next="make:model"===e.t0?10:"make:resource"===e.t0?14:"make:controller"===e.t0?17:"make:crud"===e.t0?33:"make:validation"===e.t0?36:"make:service"===e.t0?39:42;break;case 10:return m="".concat(a.toPascalCase(a.removePluralSuffix(v)),"Controller"),e.next=13,t(m,v,u,f,k);case 13:return e.abrupt("break",44);case 14:return e.next=16,n(v,u,f,k,d);case 16:return e.abrupt("break",44);case 17:return h=d.endsWith("/")?d.slice(0,-1):d,y=h.includes("controller"),g=y?h:"".concat(h,"/controller"),q=y?h.replace("controller","service"):"".concat(h,"/service"),_=y?h.replace("controller","validation"):"".concat(h,"/validation"),j=y?h.replace("controller","resource"):"".concat(h,"/resource"),e.next=25,s(v,g);case 25:if(b){e.next=32;break}return e.next=28,l(v,q,x);case 28:return e.next=30,o(v,u,f,k,_);case 30:return e.next=32,n(v,u,f,k,j);case 32:return e.abrupt("break",44);case 33:return e.next=35,c(d,u,f,x,k);case 35:return e.abrupt("break",44);case 36:return e.next=38,o(v,u,f,k,d);case 38:return e.abrupt("break",44);case 39:return e.next=41,l(v,d,x);case 41:return e.abrupt("break",44);case 42:console.error("❌ Unknown action: ".concat(p)),process.exit(1);case 44:e.next=50;break;case 46:e.prev=46,e.t1=e.catch(0),console.error("❌ ERROR:",e.t1),process.exit(1);case 50:if(e.prev=50,null===(C=u)||void 0===C||!C.end){e.next=56;break}return e.next=54,u.end();case 54:e.next=59;break;case 56:if(null===(G=u)||void 0===G||!G.releaseConnection){e.next=59;break}return e.next=59,u.releaseConnection();case 59:return e.finish(50);case 60:case"end":return e.stop()}}),e,null,[[0,46,50,60]])})));return function(){return e.apply(this,arguments)}})()();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frgen",
3
- "version": "0.4.4",
3
+ "version": "0.4.6",
4
4
  "description": "helper generator",
5
5
  "main": "lib/main.jss",
6
6
  "types": "lib/index.d.ts",