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

@mewjs/htmlint

v1.0.7

Published

html hint tool, focused on semantic code style.

Downloads

182

Readme

HTMLINT

HTML code style check & format tool.

Install

npm i -g @mewjs/htmlint

Usage

in CLI

Usage: htmlint <command> [options] [target...]

Commands:
    hint    Do hint given file(s)
    format  Do format given file(s)

Options:
    -h, --help      Show help                                            [boolean]
    -c, --config    Path to custom configuration file.                    [string]
    --diff          Check code style and output char diff.               [boolean]
    -i, --in-place  Edit input files in place; use with care!            [boolean]
    -v, --version   Show version number                                  [boolean]

Examples:
    htmlint hint foo.html               do hint foo.html
    htmlint hint foo.html bar.html      do hint foo.html & bar.html
    htmlint hint ./                     do hint html files under ./
    htmlint format foo.html             do format foo.html
    htmlint format --diff foo.html      do format foo.html & show diff result
    htmlint format --in-place foo.html  do format foo.html & write file in place

in Node.js

  • hint file
import htmlint from '@mewjs/htmlint';

const results = htmlint.hintFile(filePath);
results.forEach(result => console.log(result));
  • hint code (string)
import htmlint from '@mewjs/htmlint';

const results = htmlint.hint(code);
results.forEach(result => console.log(result));

// Or
htmlint.hintAsync(code).then(
    results => results.forEach(result => console.log(result))
);
  • use hint results
results.forEach(item => {
    console.log(
        '[%s] line %d, column %d: %s (%s, %s)',
        item.type,
        item.line,
        item.column,
        item.message,
        item.rule,
        item.code
    );
});
  • format file
import htmlint from '@mewjs/htmlint';

console.log(htmlint.formatFile(filePath));
  • format code (string)
import htmlint from '@mewjs/htmlint';

console.log(htmlint.format(code));
// Or
htmlint.formatAsync(code).then(
    html => console.log(html)
);
  • add rule
import htmlint from '@mewjs/htmlint';

htmlint.addRule({
    name: 'test-rule',
    desc: 'Just a test rule.',
    lint(getCfg, document, reporter) {
        reporter.warn(
            1,
            '099',
            'This is a test waring!'
        );
    }
});

const results = htmlint.hint(code);
results.forEach(item => {
    console.log(
        '[%s] line %d, column %d: %s (%s, %s)',
        item.type,
        item.line,
        item.column,
        item.message,
        item.rule,
        item.code
    );
});

Rules

src/rules/

Config

default: src/default/config.ts

custom

Custom rule file (.htmlintrc) can be placed in the same/parent directory of target file, or the ~/ directory.

If found in neither paths, the default config will be used.

inline

  • disable
<!-- htmlint-disable -->
<!-- htmlint-disable img-alt -->
<!-- htmlint-disable img-alt, img-src, attr-value-double-quotes -->
  • enable
<!-- htmlint-enable -->
<!-- htmlint-enable img-alt -->
<!-- htmlint-enable img-alt, img-src, attr-value-double-quotes -->
  • config
<!-- htmlint img-width-height: true -->
<!-- htmlint img-width-height: true, indent-char: "tab" -->