{"version":3,"sources":["../src/prompts/nest/create-module-prompt.ts","../src/utils/constants.ts","../src/actions/nest/create-module-crud-dto-action.ts","../src/generators/nest/create-module-crud-dto.generator.ts","../src/generators/nest/new-project.generator.ts","../src/generators/nest/index.ts","../src/generators/index.ts","../src/action-types/run-command.action-type.ts","../src/index.ts"],"sourcesContent":["const createModulePrompts = [\r\n    {\r\n        type: 'list',\r\n        name: 'moduleName',\r\n        message: 'Module name !',\r\n        choices: [\r\n            { name: 'Security', value: 'security' },\r\n            { name: 'Administration', value: 'administration' },\r\n            { name: 'Comptability', value: 'comptability' },\r\n            { name: 'Order management', value: 'order-management' },\r\n            { name: 'Other', value: 'other' },\r\n        ],\r\n    },\r\n    {\r\n        type: 'input',\r\n        name: 'modelName',\r\n        message: 'Model name !',\r\n    },\r\n];\r\n\r\nexport default createModulePrompts;\r\n","export const NODE_MODULE_PATH = \"./node_modules/integral-generator/dist\";\r\n","import {NODE_MODULE_PATH} from \"../../utils/constants\";\r\n\r\nconst createModuleCrudDtoActions = [\r\n    {\r\n        type: 'addMany',\r\n        destination:\r\n            'src/core/modules/{{dasherize moduleName}}/dtos/{{dasherize modelName}}',\r\n        templateFiles: `${NODE_MODULE_PATH}/templates/nest/core/modules/dtos/garment/*.hbs`,\r\n        base: `${NODE_MODULE_PATH}/templates/nest/core/modules/dtos/garment/`,\r\n    },\r\n];\r\n\r\nexport default createModuleCrudDtoActions;\r\n","import {NodePlopAPI} from \"plop\";\r\nimport createModulePrompts from \"../../prompts/nest/create-module-prompt\";\r\nimport createModuleCrudDtoActions from \"../../actions/nest/create-module-crud-dto-action\";\r\n\r\nconst generator = (plop: NodePlopAPI) => {\r\n    plop.setGenerator('nest:create:module:crud:dto', {\r\n        description: 'application ressource logic',\r\n        prompts: createModulePrompts,\r\n        actions: [...createModuleCrudDtoActions],\r\n    });\r\n}\r\n\r\nexport default generator;\r\n","import {NodePlopAPI} from \"plop\";\r\nimport {NODE_MODULE_PATH} from \"../../utils/constants\";\r\n\r\nexport default function nestNewProjectGenerator(plop: NodePlopAPI) {\r\n    plop.setGenerator('nest:new:project', {\r\n        description: 'new nest project',\r\n        prompts: [\r\n            {\r\n                type: 'input',\r\n                name: 'projectName',\r\n                message: 'Enter the project name',\r\n            },\r\n        ],\r\n        actions: [\r\n            {\r\n                type: 'runCommand',\r\n                command: 'nest new {{ projectName }} -s',\r\n            } as any,\r\n            {\r\n                type: 'addMany',\r\n                    destination: './{{ dashCase projectName }}',\r\n                templateFiles: `${NODE_MODULE_PATH}/templates/nest/new-project/**`,\r\n                base: `${NODE_MODULE_PATH}/templates/nest/new-project/`,\r\n                force: true,\r\n            },\r\n            {\r\n                type: 'runCommand',\r\n                command: 'cd {{ dashCase projectName }} && npm install'\r\n            } as any,\r\n        ],\r\n    });\r\n}\r\n","import createModuleCrudDtoGenerator from \"./create-module-crud-dto.generator\";\r\nimport {NodePlopAPI} from \"plop\";\r\nimport nestNewProjectGenerator from \"./new-project.generator\";\r\n\r\nexport default function nestGenerators(plop: NodePlopAPI) {\r\n    createModuleCrudDtoGenerator(plop);\r\n    nestNewProjectGenerator(plop);\r\n}\r\n","import {NodePlopAPI} from \"plop\";\r\nimport nestGenerators from \"./nest\";\r\n\r\nexport default function generators(plop: NodePlopAPI) {\r\n    nestGenerators(plop);\r\n}\r\n","import {NodePlopAPI} from \"plop\";\r\nimport { exec, spawn } from 'child_process';\r\nimport Handlebars from \"handlebars\";\r\n\r\nexport function runCommandActionType(plop: NodePlopAPI) {\r\n    plop.setActionType('runCommand', function (answers, config, plop) {\r\n        return new Promise((resolve, reject) => {\r\n            const command = spawn(plop.renderString(config.command, answers), { shell: true, stdio: 'inherit' });\r\n\r\n            command.on('close', (code) => {\r\n                if (code !== 0) {\r\n                    reject(`La commande a échoué avec le code : ${code}`);\r\n                } else {\r\n                    resolve('Commande exécutée avec succès');\r\n                }\r\n            });\r\n        });\r\n    });\r\n}\r\n","import {NodePlopAPI} from \"plop\";\r\nimport generators from \"./generators\";\r\nimport {runCommandActionType} from \"./action-types/run-command.action-type\";\r\n\r\nexport function integralGenerator(plop: NodePlopAPI) {\r\n    runCommandActionType(plop);\r\n    generators(plop);\r\n}\r\n"],"mappings":";AAAA,IAAM,sBAAsB;AAAA,EACxB;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,MACL,EAAE,MAAM,YAAY,OAAO,WAAW;AAAA,MACtC,EAAE,MAAM,kBAAkB,OAAO,iBAAiB;AAAA,MAClD,EAAE,MAAM,gBAAgB,OAAO,eAAe;AAAA,MAC9C,EAAE,MAAM,oBAAoB,OAAO,mBAAmB;AAAA,MACtD,EAAE,MAAM,SAAS,OAAO,QAAQ;AAAA,IACpC;AAAA,EACJ;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,EACb;AACJ;AAEA,IAAO,+BAAQ;;;ACpBR,IAAM,mBAAmB;;;ACEhC,IAAM,6BAA6B;AAAA,EAC/B;AAAA,IACI,MAAM;AAAA,IACN,aACI;AAAA,IACJ,eAAe,GAAG,gBAAgB;AAAA,IAClC,MAAM,GAAG,gBAAgB;AAAA,EAC7B;AACJ;AAEA,IAAO,wCAAQ;;;ACRf,IAAM,YAAY,CAAC,SAAsB;AACrC,OAAK,aAAa,+BAA+B;AAAA,IAC7C,aAAa;AAAA,IACb,SAAS;AAAA,IACT,SAAS,CAAC,GAAG,qCAA0B;AAAA,EAC3C,CAAC;AACL;AAEA,IAAO,2CAAQ;;;ACTA,SAAR,wBAAyC,MAAmB;AAC/D,OAAK,aAAa,oBAAoB;AAAA,IAClC,aAAa;AAAA,IACb,SAAS;AAAA,MACL;AAAA,QACI,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACb;AAAA,IACJ;AAAA,IACA,SAAS;AAAA,MACL;AAAA,QACI,MAAM;AAAA,QACN,SAAS;AAAA,MACb;AAAA,MACA;AAAA,QACI,MAAM;AAAA,QACF,aAAa;AAAA,QACjB,eAAe,GAAG,gBAAgB;AAAA,QAClC,MAAM,GAAG,gBAAgB;AAAA,QACzB,OAAO;AAAA,MACX;AAAA,MACA;AAAA,QACI,MAAM;AAAA,QACN,SAAS;AAAA,MACb;AAAA,IACJ;AAAA,EACJ,CAAC;AACL;;;AC3Be,SAAR,eAAgC,MAAmB;AACtD,2CAA6B,IAAI;AACjC,0BAAwB,IAAI;AAChC;;;ACJe,SAAR,WAA4B,MAAmB;AAClD,iBAAe,IAAI;AACvB;;;ACJA,SAAe,aAAa;AAGrB,SAAS,qBAAqB,MAAmB;AACpD,OAAK,cAAc,cAAc,SAAU,SAAS,QAAQA,OAAM;AAC9D,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,YAAM,UAAU,MAAMA,MAAK,aAAa,OAAO,SAAS,OAAO,GAAG,EAAE,OAAO,MAAM,OAAO,UAAU,CAAC;AAEnG,cAAQ,GAAG,SAAS,CAAC,SAAS;AAC1B,YAAI,SAAS,GAAG;AACZ,iBAAO,6CAAuC,IAAI,EAAE;AAAA,QACxD,OAAO;AACH,kBAAQ,wCAA+B;AAAA,QAC3C;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAAA,EACL,CAAC;AACL;;;ACdO,SAAS,kBAAkB,MAAmB;AACjD,uBAAqB,IAAI;AACzB,aAAW,IAAI;AACnB;","names":["plop"]}