How to use leasot - 10 common examples

To help you get started, we’ve selected a few leasot examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github mikeerickson / todo-webpack-plugin / index.js View on Github external
customTags: options.tags,
      reporter: options.reporter,
      withInlineFiles: options.withInlineFiles
    });
    todos = todos.concat(todo);
  });

  if (options.console) {
    output = leasot.reporter(todos, { reporter: 'table', spacing: 2 });
    if (options.relativeFilePath) {
      output = relativePath(output);
    }
    console.log(output + "\n"); // eslint-disable-line
  }

  output = leasot.reporter(todos, { reporter: options.reporter, spacing: 2 });

  if (output.length > 0) {
    let outputFilename = options.filename || '';
    if (outputFilename.length === 0) {
      outputFilename =
        options.reporter === 'markdown'
          ? 'TODO.md'
          : 'todo.' + options.reporter;
      if (options.reporter === 'table') {
        outputFilename = 'todo.txt';
      }
    }

    if (!options.suppressFileOutput) {
      if (options.relativeFilePath) {
        output = relativePath(output);
github mikeerickson / todo-webpack-plugin / index.js View on Github external
}
    }

    const todo = leasot.parse({
      ext: path.extname(file),
      content: fs.readFileSync(file, 'utf8'),
      fileName: file,
      customTags: options.tags,
      reporter: options.reporter,
      withInlineFiles: options.withInlineFiles
    });
    todos = todos.concat(todo);
  });

  if (options.console) {
    output = leasot.reporter(todos, { reporter: 'table', spacing: 2 });
    if (options.relativeFilePath) {
      output = relativePath(output);
    }
    console.log(output + "\n"); // eslint-disable-line
  }

  output = leasot.reporter(todos, { reporter: options.reporter, spacing: 2 });

  if (output.length > 0) {
    let outputFilename = options.filename || '';
    if (outputFilename.length === 0) {
      outputFilename =
        options.reporter === 'markdown'
          ? 'TODO.md'
          : 'todo.' + options.reporter;
      if (options.reporter === 'table') {
github mikeerickson / todo-webpack-plugin / index.js View on Github external
testFiles.forEach(file => {
    // skip source files from node_modules
    // https://github.com/mikeerickson/todo-webpack-plugin/issues/21
    if (file.match(/node_modules/g)) {
      return;
    }

    if (options.skipUnsupported) {
      if (!leasot.isExtSupported(path.extname(file))) {
        return;
      }
    }

    const todo = leasot.parse({
      ext: path.extname(file),
      content: fs.readFileSync(file, 'utf8'),
      fileName: file,
      customTags: options.tags,
      reporter: options.reporter,
      withInlineFiles: options.withInlineFiles
    });
    todos = todos.concat(todo);
  });
github mikeerickson / todo-webpack-plugin / index.js View on Github external
testFiles.forEach(file => {
    // skip source files from node_modules
    // https://github.com/mikeerickson/todo-webpack-plugin/issues/21
    if (file.match(/node_modules/g)) {
      return;
    }

    if (options.skipUnsupported) {
      if (!leasot.isExtSupported(path.extname(file))) {
        return;
      }
    }

    const todo = leasot.parse({
      ext: path.extname(file),
      content: fs.readFileSync(file, 'utf8'),
      fileName: file,
      customTags: options.tags,
      reporter: options.reporter,
      withInlineFiles: options.withInlineFiles
    });
    todos = todos.concat(todo);
  });
github pgilad / gulp-todo / lib / reporter.js View on Github external
return through.obj(function(file, enc, cb) {
        if (file.isNull()) {
            return cb(null, file);
        }

        if (file.isStream()) {
            return cb(new PluginError(pluginName, 'Streaming not supported'));
        }

        // replace contents with requested reporter contents
        if (file.todos && file.todos.length) {
            const newContents = leasot.report(file.todos, reporter, reportOptions);

            if (fileName) {
                file.path = path.join(file.base, fileName);
            }
            file.contents = Buffer.from(newContents);
        }

        cb(null, file);
    });
};
github pgilad / gulp-todo / index.js View on Github external
function reportTodos(cb) {
            if (!firstFile) {
                return cb();
            }
            const reporterContents = leasot.report(comments, reporter, reportOptions);

            const todoFile = new Vinyl({
                base: firstFile.base,
                contents: Buffer.from(reporterContents),
                cwd: firstFile.cwd,
                path: path.join(firstFile.base, fileName),
            });

            // also pass along comments object for future reporters
            todoFile.todos = comments;
            cb(null, todoFile);
        }
    );
github pgilad / gulp-todo / index.js View on Github external
//check if parser for filetype exists
            if (!leasot.isExtensionSupported(ext)) {
                if (!skipUnsupported) {
                    const msg = `File: ${file.path} with extension ${colors.red(ext)} is not supported`;
                    return cb(new PluginError(pluginName, msg));
                }
                if (verbose) {
                    const msg = `Skipping file ${file.path} with extension ${colors.red(ext)} as it is unsupported`;
                    fancyLog(msg);
                }
                return cb();
            }
            const filePath = absolute ? file.path : (file.path && file.relative) || file.path;

            const parsedComments = leasot.parse(file.contents.toString(), {
                associateParser: parseOptions.associateParser,
                customParsers: parseOptions.customParsers,
                customTags: parseOptions.customTags,
                extension: ext,
                filename: filePath,
                withInlineFiles: parseOptions.withInlineFiles,
            });
            if (verbose) {
                logCommentsToConsole(parsedComments);
            }
            comments.push(...parsedComments);
            cb();
        },
        function reportTodos(cb) {
github sivakumar-kailasam / broccoli-leasot / src / index.js View on Github external
processString(content, relativePath) {
		if (this.enabled) {
			const fileExtension = path.extname(relativePath);
			if (leasot.isExtSupported(fileExtension)) {
				this._markers.push(leasot.parse({
					ext: fileExtension, 
					content: content, 
					fileName: relativePath, 
					customTags: this.kinds
				}));
			} else {
				this._exceptions.push(fileExtension);
			}
		}
		return content;
	}
github sivakumar-kailasam / broccoli-leasot / src / index.js View on Github external
processString(content, relativePath) {
		if (this.enabled) {
			const fileExtension = path.extname(relativePath);
			if (leasot.isExtSupported(fileExtension)) {
				this._markers.push(leasot.parse({
					ext: fileExtension, 
					content: content, 
					fileName: relativePath, 
					customTags: this.kinds
				}));
			} else {
				this._exceptions.push(fileExtension);
			}
		}
		return content;
	}
github pgilad / gulp-todo / index.js View on Github external
if (file.isNull()) {
                cb(null, file);
                return;
            }

            if (file.isStream()) {
                cb(new PluginError(pluginName, 'Streaming not supported'));
                return;
            }
            firstFile = firstFile || file;

            //get extension - assume .js as default
            const ext = path.extname(file.path) || '.js';

            //check if parser for filetype exists
            if (!leasot.isExtensionSupported(ext)) {
                if (!skipUnsupported) {
                    const msg = `File: ${file.path} with extension ${colors.red(ext)} is not supported`;
                    return cb(new PluginError(pluginName, msg));
                }
                if (verbose) {
                    const msg = `Skipping file ${file.path} with extension ${colors.red(ext)} as it is unsupported`;
                    fancyLog(msg);
                }
                return cb();
            }
            const filePath = absolute ? file.path : (file.path && file.relative) || file.path;

            const parsedComments = leasot.parse(file.contents.toString(), {
                associateParser: parseOptions.associateParser,
                customParsers: parseOptions.customParsers,
                customTags: parseOptions.customTags,

leasot

Parse and output TODOs and FIXMEs from comments in your files

MIT
Latest version published 7 months ago

Package Health Score

66 / 100
Full package analysis