aboutsummaryrefslogtreecommitdiffstats
path: root/src/index.ts
blob: 0202d62feeb99ab29715f342681d916f3cd6f8cf (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
27
#!/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';
import * as pkg from '../package.json';

async function main(tagName: string): Promise<void> {
  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((<any> pkg).version)
  .arguments('<name>')
  .action(name => {
    main(name);
  })
  .usage('[name]')
  .parse(process.argv);