Advertisement
Guest User

Untitled

a guest
Nov 15th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (async function(){
  2.     const prompt = require('prompt');
  3.     const fs = require('fs');
  4.     const path = require('path');
  5.     const { promisify } = require('util');
  6.     const write = promisify(fs.writeFile);
  7.     const mkdir = promisify(fs.mkdir);
  8.  
  9.     function setup(){
  10.         const schema = {
  11.             properties: {
  12.                 module_name: {
  13.                     default: 'newModule'
  14.                 },
  15.             }
  16.         }
  17.  
  18.         const SRC_PATH = path.join(__dirname, './../../src');
  19.  
  20.         console.log('Veuillez renseigner le nom du module :');
  21.         prompt.start();
  22.  
  23.         prompt.get(schema, async (err, result) => {
  24.  
  25.             let name = result.module_name;
  26.  
  27.             const validationSchema = {
  28.                 properties: {
  29.                     confirm: {
  30.                         pattern: /^[On]/,
  31.                         description: "Êtes vous sure ? (O/n)",
  32.                         default: "O",
  33.                         message: "Désolé, je n'ai pas compris. Êtes vous sure ? (O/n)",
  34.                     }
  35.                 }
  36.             }
  37.             prompt.start();
  38.             prompt.get(validationSchema, async (arr, result) => {
  39.                 if (result.confirm === "O"){
  40.                     await mkdir(path.join(SRC_PATH, `${name}`));
  41.                     await mkdir(path.join(SRC_PATH, `${name}/js`));
  42.                     await write(path.join(SRC_PATH, `${name}/js/index.js`), '// Script JS');
  43.                     await mkdir(path.join(SRC_PATH, `${name}/sass`));
  44.                     await write(path.join(SRC_PATH, `${name}/sass/index.sass`), '// Imports des fichiers sass');
  45.                     await write(path.join(SRC_PATH, `${name}.js`), '// Entry Point Webpack');
  46.                     console.log(`
  47.                         Le module ${name} à  était généré avec succés avec :\n
  48.                           - Un fichier ${name}.js à sa racine qui est l'entry point pour webpack,\n
  49.                          - Un dossier sass avec un index.sass pour les imports des feuilles de style,\n
  50.                          - Un dossier js avec un index.js pour éditer votre premier script (vous pouvez renommer ce fichier)
  51.                      `);
  52.                } else {
  53.                    setup();
  54.                }
  55.            })
  56.        });
  57.    }
  58.  
  59.    setup();
  60. })()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement