aboutsummaryrefslogtreecommitdiffstats
path: root/src/index.ts
blob: 2a2834b696623581c21c1f91b2426467a3097c53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env node

import * as fs from 'fs-extra';
import * as program from 'commander';
import tag from './tag/tag';
import scss from './tag/scss';
import index from './tag/index';

async function main(tagName: string) {
  const name = tagName.toLocaleLowerCase();
  console.log(`Creating component ${name}...`);

  fs.mkdir(name);
  await fs.writeFile(`${name}/${name}.tag`, tag.replace(/\$name/g, name));
  await fs.writeFile(`${name}/${name}.scss`, scss.replace(/\$name/g, name));
  await fs.writeFile(`${name}/${name}.js`, index.replace(/\$name/g, name));
};

program
  .version('1.0.0')
  .arguments('<name>')
  .action(name => {
    main(name);
  })
  .usage('create-riot-component [name]')
  .parse(process.argv);