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

fabric-demo

v1.2.14

Published

eslint+prettier+stylelint for vue@2 and egg.js

Downloads

2,963

Readme

fabric-demo

eslint+prettier+stylelint + husky+Lint-staged for vue@2 and egg.js(excluding .ts).

针对Node.js 16.17.0+

  1. 起步(安装方式二选一)

    1. 方案一

      1. 🗑删除冲突的依赖(删除eslint、stylelint、prettier、以及他们仨的各种依赖库、config、plugin)

        npm uninstall @umijs/fabric stylelint-config-prettier stylelint-declaration-block-no-ignored-properties @typescript-eslint/eslint-plugin && npm uninstall eslint eslint-plugin-vue @html-eslint/parser @html-eslint/eslint-plugin eslint-plugin-html eslint-config-egg eslint-config-prettier stylelint stylelint-config-standard stylelint-config-css-modules stylelint-scss stylelint-config-standard-less postcss-less stylelint-config-standard-scss postcss-scss postcss-html stylelint-config-html stylelint-config-standard-vue prettier

      2. 🔨安装依赖

        npm i --save-dev fabric-demo@1

      1. 🗑删除冲突的依赖

        npm uninstall @umijs/fabric stylelint-config-prettier stylelint-declaration-block-no-ignored-properties @typescript-eslint/eslint-plugin

      2. 🔨安装依赖

        npm i --save-dev eslint@8 eslint-plugin-vue@9 @html-eslint/parser@0 @html-eslint/eslint-plugin@0 eslint-plugin-html@8 eslint-config-egg@13 eslint-config-prettier@9 stylelint@15 stylelint-config-standard@34 [email protected] stylelint-scss@5 stylelint-config-standard-less@2 postcss-less@6 stylelint-config-standard-scss@11 postcss-scss@4 postcss-html@1 stylelint-config-html@1 stylelint-config-standard-vue@1 prettier@2 fabric-demo@0

  2. eslint@8

    1. 🔧配置 项目根目录/.eslintrc.js

      module.exports = {
        extends: [require.resolve('fabric-demo/eslint')],
        root: true,
        // 其他自定义配置
      };
    2. 🔧(可选)按需配置项目根目录/.eslintignore,如:

      **/app/public
      *.min.*
  3. stylelint@15

    1. 🔧配置项目根目录/.stylelintrc.js

      module.exports = {
        extends: [ require.resolve("fabric-demo/stylelint")],
        // 其他自定义配置
      };
    2. 🔧(可选)按需配置项目根目录/.stylelintignore,如:

      **/app/public
      *.min.*
  4. prettier@2

    1. 🔧配置 项目根目录/.prettierrc.js

      module.exports = Object.assign({}, require("fabric-demo").prettier, {
        // 其他自定义配置
      })
    2. 🔧(可选)按需配置项目根目录/.prettierignore,如:

      **/app/public
      package-lock.json
      *.min.*
  • 🔧新增package.json的scripts

    "eslint": "eslint --fix --cache --ext .js,.vue,.html .",
    "stylelint": "stylelint **/*.{css,less,scss,vue,html} *.{css,less,scss,vue,html} --fix --cache --quiet",
    "prettier": "prettier **/*.{js,jsx,vue,flow,ts,tsx,css,less,scss,html,json,yml,yaml} *.{js,jsx,vue,flow,ts,tsx,css,less,scss,html,json,yml,yaml} --write --cache --no-error-on-unmatched-pattern"
  1. husky@8

    1. 🗑删除package.json内配置:

      # 删除以下全部:
      "husky": {
        "hooks": {
          "pre-commit": "npm run lint-staged",
          "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
        }
      }
    2. 🛠️安装和配置husky

      npx husky-init@8 && npm i && npx husky@8 set .husky/pre-commit "npm run lint-staged" && npx husky@8 set .husky/commit-msg 'npx --no -- commitlint --edit "$1"'

    3. 🛠️安装和配置commitlint

      npm i --save-dev @commitlint/config-conventional@17 @commitlint/cli@17 && echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js

  2. lint-staged@14

    1. 🔨安装依赖

      npm i --save-dev lint-staged@14

    2. 🔧配置package.json

      "lint-staged": {
        "*.{js,vue,html}": "eslint --fix --cache --ext .js,.vue,.html",
        "*.{css,less,scss,vue,html}": "stylelint --fix --cache",
        "*.{js,jsx,vue,flow,ts,tsx,css,less,scss,html,json,yml,yaml}": "prettier --write --cache"
      },
    3. 🔧新增package.json的scripts

      "lint-staged": "lint-staged -p false"
  3. 其他

    1. 🔧(可选)按需新增项目根目录/.gitignore,如:

      # 保留之前的配置,新增:
      .eslintcache
      .stylelintcache

理念

  1. 最简单的安装和配置

  2. 支持添加自定义配置进行覆盖

  3. 规则按照已在使用库的相关config推荐(egg@2、vue@2)

    选择最基本的规则配置,如:eslint:recommendedplugin:vue/recommended,暂不使用社区第三方的规则。