summaryrefslogtreecommitdiffstats
path: root/front/odiparpack/internals/generators/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'front/odiparpack/internals/generators/index.js')
-rw-r--r--front/odiparpack/internals/generators/index.js41
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;
+ });
+};