diff options
Diffstat (limited to 'front/odiparpack/internals/generators/index.js')
| -rw-r--r-- | front/odiparpack/internals/generators/index.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/front/odiparpack/internals/generators/index.js b/front/odiparpack/internals/generators/index.js new file mode 100644 index 0000000..e00eeea --- /dev/null +++ b/front/odiparpack/internals/generators/index.js @@ -0,0 +1,41 @@ +/** + * generator/index.js + * + * Exports the generators so plop knows them + */ + +const fs = require('fs'); +const path = require('path'); +const { exec } = require('child_process'); +const componentGenerator = require('./component/index.js'); +const containerGenerator = require('./container/index.js'); +const languageGenerator = require('./language/index.js'); + +module.exports = plop => { + plop.setGenerator('component', componentGenerator); + plop.setGenerator('container', containerGenerator); + plop.setGenerator('language', languageGenerator); + plop.addHelper('directory', comp => { + try { + fs.accessSync( + path.join(__dirname, `../../app/containers/${comp}`), + fs.F_OK, + ); + return `containers/${comp}`; + } catch (e) { + return `components/${comp}`; + } + }); + plop.addHelper('curly', (object, open) => (open ? '{' : '}')); + plop.setActionType('prettify', (answers, config) => { + const folderPath = `${path.join( + __dirname, + '/../../app/', + config.path, + plop.getHelper('properCase')(answers.name), + '**.js', + )}`; + exec(`npm run prettify -- "${folderPath}"`); + return folderPath; + }); +}; |
