forked from nsjcy/frontEnd/nsjcy

1
liuwh
2020-03-05 c79f4fea5045445c40cd417c3bdcf78c843f87ae
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)));
  });
 
}