https://github.com/yanhaijing/cdkit
code kit 代码助手
https://github.com/yanhaijing/cdkit
Last synced: 4 months ago
JSON representation
code kit 代码助手
- Host: GitHub
- URL: https://github.com/yanhaijing/cdkit
- Owner: yanhaijing
- License: mit
- Created: 2018-06-20T07:51:26.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-28T15:21:11.000Z (over 6 years ago)
- Last Synced: 2025-01-31T11:01:43.216Z (5 months ago)
- Language: JavaScript
- Homepage:
- Size: 23.4 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# [cdkit](https://github.com/yanhaijing/cdkit) [](https://www.npmjs.com/package/cdkit) [](https://github.com/yanhaijing/cdkit/blob/master/LICENSE)
code kit 代码助手,支持查找,删除,替换等功能,批量执行,可连续运行
## 适合场景
1. 想要查找代码中的指定内容,需要多次查找,规则复杂时
2. 想要删除代码中的指定内容,需要持续删除时
3. 想要将代码中的指定代码替换为其他代码时,需要多次替换时## 安装方式
依赖node,请确保本地已经安装[node](https://nodejs.org/en/),使用npm进行安装```bash
$ npm install -g cdkit # 全局安装,适合作为命令使用
$ npm install --save cdkit # 本地安装,适合api使用
```## 命令使用
cdkit支持作为命令使用,全局安装后会有一个全局命令```bash
$ npm install -g cdkit # 安装命令$ cdkit --version # 1.0.0
```cdkit支持三个子命令,`-c`是必选的配置文件,关于配置文件请看下面配置文件的说明
```bash
# -c 需要提供配置文件的路径
$ cdkit find -c 'xxxx.js' # 查找
$ cdkit del -c 'xxxx.js' # 删除
$ cdkit replace -c 'xxxx.js' # 替换
```## API使用
cdkit也支持作为接口调用```bash
$ npm install --save cdkit # 本地安装,适合api使用
```在js中可引用cdkit提供的接口,返回值为匹配内容的信息,包括行列
```js
var cdkit = require('cdkit');// config 是配置信息
cdkit.run('find', config); // 查找
cdkit.run('del', config); // 删除
cdkit.run('replace', config); // 替换
```## 配置文件
cdkit的配置规则比较复杂,所以需要通过一个js文件来配置,配置文件需要返回一个js对象- config 配置信息,可以包含多个配置对象
- root 绝对路径,要进行操作的根目录
- excludePath 排除的目录
- rules 进行替换的规则,可以包含多个
- test 正则,可以对文件进行过滤;也可是函数
- from 查找,删除,替换的内容,字符串或正则
- to 替换的内容,支持正则或函数,支持捕获引用```js
const config = [
{
root: '/demo',
rules: [
{
test: /.*\.js/,
replace: [
{
from: /aa(a)/,
to: 'bbb$1',
}
]
}
]
},
{
root: '/demo',
excludePath: [
'aaa',
/aaa/,
function (path) {
return path.indexOf('aaa') !== -1;
}
],
rules: [
{
test: function (path) {
return path.indexOf('.css') > -1;
},
replace: [
{
from: 'aaa',
to: function () {
return '123'
},
}
]
}
]
}
];module.exports = config;
```## 贡献者指南
修改CHANGELOG.md,修改package.json和README.md中的版本号,然后发布版本```
$ npm run release
```