npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

file-comments-webpack-plugin

v1.2.8

Published

A webpack plugin that checks whether the specified comment headers are included in the source files of a project and fixes it automatically.

Downloads

101

Readme

file-comments-webpack-plugin

A Webpack plugin that checks whether the specified comment headers are included in the source files of a project and fixes it automatically.

  • It can insert the comment headers to a file in case it does not exist.
  • It can replace the comment headers of a file in case it is slightly different than the target, after matching pattern.
  • It can prepend the specified comment headers if a different comment is detected in a file.
  • Only the selected file extensions will be processed.
  • Specific folders, files and paths can be ignored.
  • Comments can be specified in a file or as a template string.
  • It can automatically fix the comments or warn users about it.

Installation

npm i -D file-comments-webpack-plugin

Configuration

const  FileCommentsPlugin = require('file-comments-webpack-plugin');

const  config = {
    plugins: [
        new FileCommentsPlugin({
            templateText: `/**
            * Copyright © {{year}} {{author}}. All rights reserved.
            */`,
            fix: true,
            templateVariables: {
                year: new Date().getFullYear(),
                author: 'Saurabh Sharma'
            },
            onFileCommentMismatch: "replace", //'prepend' or 'replace'
            commentRegex: /\/\*\*[\s\S]*?Copyright[\s\S]*?All rights[\s\S]*?\*\//
        });
    ]
}
module.exports = config;

With source directory and ignore patterns

const  FileCommentsPlugin = require('file-comments-webpack-plugin');

const  config = {
    plugins: [
        new FileCommentsPlugin({
            srcDir: './src',
            ignorePatterns: ['**/package.json', '**/*.test.{js,jsx}'],
            templateText: `/**
            * Copyright © {{year}} {{author}}. All rights reserved.
            */`,
            fix: true,
            templateVariables: {
                year: new Date().getFullYear(),
                author: 'Saurabh Sharma'
            },
            onFileCommentMismatch: "replace", //'prepend' or 'replace'
            commentRegex: /\/\*\*[\s\S]*?Copyright[\s\S]*?All rights[\s\S]*?\*\//
        });
    ]
}
module.exports = config;

With template file

const  FileCommentsPlugin = require('file-comments-webpack-plugin');

const  config = {
    plugins: [
        new FileCommentsPlugin({
            templateFile: './config/copyright-template.txt', //templateFile has more precedence over templateText
            fix: true,
            templateVariables: {
                year: new Date().getFullYear(),
                author: 'Saurabh Sharma'
            },
            onFileCommentMismatch: "replace", //'prepend' or 'replace'
            commentRegex: /\/\*\*[\s\S]*?Copyright[\s\S]*?All rights[\s\S]*?\*\//
        });
    ]
}
module.exports = config;

Options

| Option | Value | Default value | Description | | ----------------------- | ---------------------- | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | | srcDir | <source dir> | webpack context | The source directory to process files in. | | fix | Boolean | false | Whether to automatically fix missing or mismatched comments. | | extensions | Array<string> | ['js', 'jsx', 'ts', 'tsx', 'json', 'css', 'scss'] | The file extensions to include. | | ignorePatterns | Array<string> | [] | The source directory to process files in. | | templateFile | <file path> | | The template file path to use. | | templateText | String | | The template text to use. | | templateVariables | Object | {} | The template variables to use. | | onFileCommentMismatch | "prepend"\|"replace" | "prepend" | How to handle mismatched comment. | | commentRegex | RegExp | // | The regular expression for matching comments to perform the action on comment mismatch (onFileCommentMismatch). |