-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate-taro-component.js
More file actions
executable file
·40 lines (31 loc) · 1.2 KB
/
create-taro-component.js
File metadata and controls
executable file
·40 lines (31 loc) · 1.2 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
#! /usr/bin/env node
const fs = require("fs");
const path = require("path");
const program = require("commander");
const changeCase = require("change-case");
const reactTemplate = require('./reactTemplate');
const scssTemplate = require('./scssTemplate');
const indexTemplate = require('./indexTemplate');
function run(name, options) {
const dir = path.resolve(name);
const stylesExt = options.styles || "css";
const styles = path.resolve(dir, name + ".scss")
const jsx = path.resolve(dir, name + ".jsx");
const js = path.resolve(dir, name + ".js");
const tsx = path.resolve(dir, name + ".tsx");
const index = path.resolve(dir, "index.js");
const jsxContent = reactTemplate({ name });
const scssContent = scssTemplate({ className: name });
const indexContent = indexTemplate({ name });
fs.mkdirSync("./"+name);
// fs.openSync(styles, "w");
fs.writeSync(fs.openSync(tsx, "w"), jsxContent);
fs.writeSync(fs.openSync(styles, "w"), scssContent);
console.log("Finished");
}
program
// .version('0.0.1')
// .option('-s, --styles [extension]', 'styles extension [default: scss]')
.arguments('<name>')
.action(run)
.parse(process.argv);