Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

postcss-add-block-lint

dbtedman25MIT1.0.1

A PostCSS plugin that is used to lint css for existence of classes that might trigger add blockers.

css, nodejs, yarn, postcss, postcss-plugin, typescript

readme

PostCSS Add Block Lint

IMPORTANT: This project is no longer maintained.

A PostCSS plugin that is used to lint css for existence of classes that might trigger add blockers.

Where do I start?

These instructions are only for this plugin. See the PostCSS website for framework information.

Install

Using Yarn

yarn add postcss-add-block-lint --exact --dev

Using NPM

npm install postcss-add-block-lint --save-dev --save-exact

Configure

Add to your PostCSS configuration.

With Gulp

const Gulp = require("gulp");
const PostCSS = require("gulp-postcss");
const AddBlockLint = require("postcss-add-block-lint");

Gulp.task("css", () =>
    Gulp.src("./src/*.css").pipe(
        PostCSS([
            AddBlockLint({
                rules: [
                    `${__dirname}/data/easylist.txt`,
                    `${__dirname}/data/easylist-cookie.txt`,
                    `${__dirname}/data/fanboy-social.txt`,
                    `${__dirname}/data/fanboy-annoyance.txt`,
                ],
            }),
        ])
    )
);

With WebPack

const AddBlockLint = require("postcss-add-block-lint");

module.exports = {
    module: {
        rules: [
            {
                test: /\.css$/,
                use: [
                    "style-loader",
                    { loader: "css-loader", options: { importLoaders: 1 } },
                    {
                        loader: "postcss-loader",
                        options: {
                            plugins: [
                                AddBlockLint({
                                    rules: [
                                        `${__dirname}/data/easylist.txt`,
                                        `${__dirname}/data/easylist-cookie.txt`,
                                        `${__dirname}/data/fanboy-social.txt`,
                                        `${__dirname}/data/fanboy-annoyance.txt`,
                                    ],
                                }),
                            ],
                        },
                    },
                ],
            },
        ],
    },
};

Based on example from https://webpack.js.org/loaders/postcss-loader/.

Prepare

Ensure that ad blocking lists are downloaded to ./data directory.

yarn prepare

Review

When matches are found, they will be outputted to the console.

Error Display

What options does it have?

Minimal

The minimal required configuration is the rules list, as shown in the above example.

AddBlockLint({
    rules: [
        `${__dirname}/data/easylist.txt`,
        `${__dirname}/data/easylist-cookie.txt`,
        `${__dirname}/data/fanboy-social.txt`,
        `${__dirname}/data/fanboy-annoyance.txt`,
    ],
});

Lists shown in the above example can be accessed from the following locations:

Want to lean more?

  • See our Contributing Guide for details on how this repository is developed.
  • See our Changelog for details on which features, improvements, and bug fixes have been implemented
  • See our License for details on how you can use the code in this repository.
  • See our Security Guide for details on how security is considered.

changelog

PostCSS Add Block Lint / Changelog

Releases ordered so that the most recent are displayed at the top, with the currently being developed release at the top, labeled as In Development. This release will be given a number once it is ready to be released. Each release can contain both a Features and Improvements and Bug Fixes sections.

In Development

Features and Improvements

  • ESLint support

1.0.0

Features and Improvements

  • Prepare 1.0.0 release

Bug Fixes

  • Dependency updates to keep current

0.3.1

Features and Improvements

  • #14 Support any lists for Adblock, Adblock Plus and uBlock Origin

Bug Fixes

  • Dependency updates to keep current
  • Fix linting config

0.2.0

Features and Improvements

  • Basic Implementation