forked from nsjcy/frontEnd/nsjcy

Mr Ke
2020-03-29 9a6f61a093e1da9b269eb4f5aa9c240ed87f24bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const content = require('./content');
const chalk = require('chalk');
const path = require('path');
const fs = require('fs');
module.exports = function (base, name, args) {
  if (!/^([A-Z][a-z0-9]*){2,}$/.test(name)) {
    console.log(chalk.red(`${name}: Incorrect name convention...`));
    process.exit();
  }
  const files = ['index.jsx', 'style.scss'];
  if (fs.existsSync(path.join(base, name))) {
    console.log(chalk.red(`${path.join(base, name)} exists...`));
    process.exit();
  } else {
    fs.mkdirSync(path.join(base, name));
  }
  files.forEach(file => {
    fs.createWriteStream(path.join(base, name, file)).write(
      content(file, name, args)
    );
    console.log(chalk.green('Created: ' + path.join(base, name, file)));
  });
 
}