snippets-cli
v1.0.0
Published
snippets-cli
Downloads
13
Readme
snippets-cli
In the project, some repeated code snippets are often initialized (for example: Controller/Model/Component/...), we may create new files, copy, paste, and modify names.
The thing to do with Snippets-cli
is to configure this part of the repeated initialization work and generate it with commands. It will help improve efficiency, reduce the repeated work.
Quick start
Installation
$ npm i snippets-cli -D
Configuration
- Create a new
.snippetrc
file, for example
{
"snippets": {
"controller": {
// prompt message
"name": "Create a new controller",
// The relative path where the template is located
"template": "./snippets/controller.js.snippet",
// target generation path
"target": "./controller"
},
"model": {
"name": "新建模型",
"template": "./snippets/model.js.snippet",
"target": "./model"
},
"component": {
"name": "新建组件",
"template": "./snippets/component.js.snippet",
"target": "./component"
},
...
}
}
the following properties:
name
: prompt messagetemplate
: Note: The file name format is {custom name}.{filename suffix}.snippettarget
: target generation directory
- In the
.snippet
template file, write your template code, and replace the file name variable with {{}}
import React, { Component } from 'react';
import PropTypes from 'prop-types';
export default class {{ }} extends Component {
static propTypes = {
}
render() {
return (
<div>
</div>
);
}
}
- Configure
scripts: { 'tpl': 'snippets' } in
package.json`
Usage
After configuration, execute npm run tpl
in the project root directory, select the corresponding template, and enter the file name to generate the template.
Screenshot
TODO
- [ ] add test cases
- [ ] plugin to extend the fragment (eg React / Vue / Koa / Express / Eggjs snippets, or use others' great code snippets)
- [ ] not only in FE, it can be used in any programming language
Changelog
- 2018.8.19 v1.0.0
Contribution
snippets-cli
is still just a prototype, hope the community will build together.