在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):pgilad/gulp-todo开源软件地址(OpenSource Url):https://github.com/pgilad/gulp-todo开源编程语言(OpenSource Language):JavaScript 100.0%开源软件介绍(OpenSource Introduction):gulp-todo
Parse your files in a gulp-stream, extracting todos/fixmes from comments and reporting them in a reporter to your choosing using leasot. Issues with the output should be reported on the leasot issue tracker Supports latest Please upgrade carefully to version InstallInstall with npm $ npm install --save-dev gulp-todo Usageconst gulp = require('gulp');
const todo = require('gulp-todo');
// generate a todo.md from your javascript files
gulp.task('todo', function() {
gulp.src('js/**/*.js')
.pipe(todo())
.pipe(gulp.dest('./'));
// -> Will output a TODO.md with your todos
});
// generate todo from your jade files
gulp.task('todo-jade', function() {
gulp.src('partials/**/*.jade')
.pipe(todo({ fileName: 'jade-todo.md' }))
.pipe(gulp.dest('./'));
// -> Will output a jade-todo.md with your todos
});
// get filenames relative to project root (where your gulpfile is)
gulp.task('todo-absolute', function() {
gulp.src('js/**/*.js')
.pipe(todo({
absolute: true
}))
.pipe(gulp.dest('./'));
});
// get relative path filenames
gulp.task('todo-absolute', function() {
gulp.src('js/**/*.js', { base: '/' })
.pipe(todo())
.pipe(gulp.dest('./'));
});
// create a json output of the comments (useful for CI such as jenkins)
gulp.task('todo-json', function () {
gulp.src('./**/*.js', {
base: './'
})
.pipe(todo({
fileName: 'todo.json',
reporter: 'json'
}))
.pipe(gulp.dest('./'));
});
// output once in markdown and then output a json file as well
gulp.task('todo-reporters', function() {
gulp.src('js/**/*.js')
.pipe(todo())
.pipe(gulp.dest('./')) //output todo.md as markdown
.pipe(todo.reporter('json', {fileName: 'todo.json'}))
.pipe(gulp.dest('./')) //output todo.json as json
});
// Delete the todo.md file if no todos were found
const gulpIf = require('gulp-if');
const del = require('del');
const vinylPaths = require('vinyl-paths');
gulp.task('todo-delete', function() {
gulp.src('js/**/*.js')
.pipe(todo())
.pipe(gulpIf(function (file) {
return file.todos && Boolean(file.todos.length);
}, gulp.dest('./'), vinylPaths(del)));
}); Injecting the todo generated file into another templateIf you want to inject the generated todo stream into another file (say a
### some previous content
<%= marker %>
const fs = require('fs');
const path = require('path');
const gulp = require('gulp');
const todo = require('gulp-todo');
const template = require('lodash.template');
const through = require('through2');
gulp.task('default', function () {
gulp.src('./js/**/*.js')
.pipe(todo())
.pipe(through.obj(function (file, enc, cb) {
//read and interpolate template
const tmpl = fs.readFileSync('./readme.md.template', 'utf8');
const compiledTpl = template(tmpl);
const newContents = compiledTpl({
'marker': file.contents.toString()
});
//change file name
file.path = path.join(file.base, 'readme-new.md');
//replace old contents
file.contents = Buffer.from(newContents);
//push new file
this.push(file);
cb();
}))
.pipe(gulp.dest('./'));
}); Supported FiletypesSee https://github.com/pgilad/leasot#supported-languages APItodo(options)
todo.reporter(reporter, options)
Use another reporter in stream, will replace the contents of the output file.
Must be used after See the example in the usage LicenseMIT © Gilad Peleg |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论