aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/index.ts26
-rw-r--r--src/tag/index.ts5
-rw-r--r--src/tag/scss.ts4
-rw-r--r--src/tag/tag.ts11
4 files changed, 46 insertions, 0 deletions
diff --git a/src/index.ts b/src/index.ts
new file mode 100644
index 0000000..2a2834b
--- /dev/null
+++ b/src/index.ts
@@ -0,0 +1,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); \ No newline at end of file
diff --git a/src/tag/index.ts b/src/tag/index.ts
new file mode 100644
index 0000000..cc2c768
--- /dev/null
+++ b/src/tag/index.ts
@@ -0,0 +1,5 @@
+const output = `import tag from './$name.tag';
+export default tag;
+`;
+
+export default output; \ No newline at end of file
diff --git a/src/tag/scss.ts b/src/tag/scss.ts
new file mode 100644
index 0000000..0c3e74e
--- /dev/null
+++ b/src/tag/scss.ts
@@ -0,0 +1,4 @@
+const output = `/* Write your SCSS here */
+`;
+
+export default output; \ No newline at end of file
diff --git a/src/tag/tag.ts b/src/tag/tag.ts
new file mode 100644
index 0000000..db1fc93
--- /dev/null
+++ b/src/tag/tag.ts
@@ -0,0 +1,11 @@
+const output = `<$name>
+ <!-- Write your HTML here -->
+
+ <script type="es6">
+ import style from './$name.scss'
+ /* Write your ES6 JS here */
+ </script>
+</$name>
+`;
+
+export default output; \ No newline at end of file