diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/index.ts | 26 | ||||
| -rw-r--r-- | src/tag/index.ts | 5 | ||||
| -rw-r--r-- | src/tag/scss.ts | 4 | ||||
| -rw-r--r-- | src/tag/tag.ts | 11 |
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 |
