Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *
- * @author Martin Herweg <martin@martinherweg.de>
- *
- */
- const memFs = require('mem-fs');
- const argv = require('yargs').argv;
- const editor = require('mem-fs-editor');
- const inquirer = require('inquirer');
- const path = require('path');
- const pkg = require('../package.json');
- function createModule(moduleName) {
- var store = memFs.create();
- var fs = editor.create(store);
- const srcPath = path.resolve(pkg.srcPaths.views);
- const dist = {
- path: moduleName.includes('/') ? moduleName.split('/')[0] + '/' : '',
- name: moduleName.includes('/') ? '_' + moduleName.split('/')[1] : `${moduleName}/_${moduleName}`,
- template: moduleName.includes('/') ? moduleName.split('/')[1] : `${moduleName}`,
- };
- const fileName = dist.path + dist.name;
- try {
- fs.copyTpl(path.resolve(__dirname, './module/_script.js'), `${srcPath}/modules/${fileName}.scripts.js`, {
- moduleName: dist.template,
- });
- console.log(`${srcPath}/modules/${fileName}.scripts.js`);
- fs.copyTpl(path.resolve(__dirname, './module/_style.scss'), `${srcPath}/modules/${fileName}.styles.scss`, {
- moduleName: dist.template,
- });
- fs.copyTpl(path.resolve(__dirname, './module/_template.blade.php'), `${srcPath}/modules/${fileName}-template.blade.php`, {
- moduleName: dist.template,
- });
- console.log('Everything created');
- fs.commit(function(done) {
- console.log('done');
- });
- } catch(e) { console.error(e); }
- }
- if(argv._) {
- return createModule(argv._[0]);
- }
- inquirer
- .prompt([
- {
- type: 'input',
- name: 'moduleName',
- message: 'Please input module name',
- default: 'module',
- },
- ])
- .then(async (answers) => {
- createModule(answers.moduleName);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement