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 🙏

© 2026 – Pkg Stats / Ryan Hefner

ysn_eslint_npm

v1.0.0

Published

node_modules/

Readme

忽略 node_modules

node_modules/

忽略构建输出

dist/ build/

忽略特定文件 - 使用绝对路径从项目根目录开始

*/injected/1688/utils/antiContent.js

// ESlint 检查配置 module.exports = { // 根配置文件,ESLint将停止在父级目录中查找配置 root: true,

// 解析器配置 parserOptions: { parser: 'babel-eslint', // 使用babel-eslint解析器,支持实验性语法 sourceType: 'module' // 使用ES模块语法 },

// 代码运行环境 env: { browser: true, // 浏览器全局变量 node: true, // Node.js全局变量 es6: true // 启用ES6语法支持 },

// 继承的规则集 extends: [ 'plugin:vue/recommended', // Vue.js官方推荐规则 'eslint:recommended' // ESLint推荐规则 ],

// 自定义规则配置 rules: { // Vue相关规则 'vue/max-attributes-per-line': [ // 每行最大属性数 'error', { singleline: 9, // 单行元素最多个属性 multiline: { max: 1, // 多行元素每行最多1个属性 allowFirstLine: false // 不允许属性与开始标签在同一行 } } ], 'vue/singleline-html-element-content-newline': 'off', // 关闭单行HTML元素内容换行要求 'vue/multiline-html-element-content-newline': 'off', // 关闭多行HTML元素内容换行要求 'vue/name-property-casing': ['error', 'PascalCase'], // 组件名必须使用帕斯卡命名法 'vue/no-v-html': 'off', // 允许使用v-html指令

// JavaScript/ESLint核心规则
'accessor-pairs': 2, // 强制getter/setter成对出现
'arrow-spacing': [
  // 箭头函数箭头前后空格
  2,
  {
    before: true, // 箭头前有空格
    after: true // 箭头后有空格
  }
],
'block-spacing': [2, 'always'], // 代码块花括号内必须有空格
'brace-style': [
  // 花括号风格
  2,
  '1tbs', // one true brace style风格
  {
    allowSingleLine: true // 允许单行花括号
  }
],
'camelcase': [
  // 强制使用驼峰命名法
  0, // 关闭此规则
  {
    properties: 'always'
  }
],
'comma-dangle': [2, 'never'], // 禁止使用拖尾逗号
'comma-spacing': [
  // 逗号空格
  2,
  {
    before: false, // 逗号前无空格
    after: true // 逗号后有空格
  }
],
'comma-style': [2, 'last'], // 逗号在行尾
'constructor-super': 2, // 构造函数中必须调用super()
'curly': [2, 'multi-line'], // 多行语句必须使用花括号
'dot-location': [2, 'property'], // 点操作符与属性在同一行
// 'eol-last': 2, // 文件末尾必须有空行
'eqeqeq': ['error', 'always', { null: 'ignore' }], // 必须使用===和!==,但允许== null
// 'handle-callback-err': [2, '^(err|error)$'], // 回调函数必须处理错误参数
'indent': [
  // 缩进规则
  2,
  2, // 2空格缩进
  {
    SwitchCase: 1 // switch case语句缩进1个空格
  }
],
'key-spacing': [
  // 对象键值对空格
  2,
  {
    beforeColon: false, // 冒号前无空格
    afterColon: true // 冒号后有空格
  }
],
'keyword-spacing': [
  // 关键字空格
  2,
  {
    before: true, // 关键字前有空格
    after: true // 关键字后有空格
  }
],
'new-parens': 2, // new操作符后必须有括号
'no-array-constructor': 2, // 禁止使用Array构造函数
'no-caller': 2, // 禁止使用arguments.caller和arguments.callee
'no-console': 'off', // 允许使用console(开发时有用)
'no-prototype-builtins': 'off', // 允许在对象上直接调用
'no-case-declarations': 'off',
'no-class-assign': 2, // 禁止修改类声明
'no-cond-assign': 2, // 禁止在条件语句中使用赋值语句
'no-const-assign': 2, // 禁止修改const声明的变量
'no-control-regex': 0, // 允许在正则表达式中使用控制字符
'no-delete-var': 2, // 禁止删除变量
'no-dupe-args': 2, // 禁止函数参数重名
'no-dupe-class-members': 2, // 禁止类成员重名
'no-dupe-keys': 2, // 禁止对象字面量中出现重复的key
'no-duplicate-case': 2, // 禁止switch case重复
'no-empty-character-class': 2, // 禁止正则表达式使用空字符集
'no-empty-pattern': 2, // 禁止使用空解构模式
'no-ex-assign': 2, // 禁止对catch子句的参数重新赋值
'no-extend-native': 2, // 禁止扩展原生对象
'no-async-promise-executor': 'off', // 允许在Promise使用 async 关键字。
'no-extra-bind': 2, // 禁止不必要的函数绑定
'no-extra-boolean-cast': 2, // 禁止不必要的布尔转换
'no-extra-parens': [2, 'functions'], // 禁止函数使用不必要的括号
'no-floating-decimal': 2, // 禁止浮点数省略小数点前的0
'no-func-assign': 2, // 禁止对函数声明重新赋值
'no-implied-eval': 2, // 禁止使用隐式eval
'no-inner-declarations': [2, 'functions'], // 禁止在嵌套块中声明函数
'no-invalid-regexp': 2, // 禁止无效的正则表达式
'no-irregular-whitespace': 2, // 禁止不规则的空白
'no-iterator': 2, // 禁止使用__iterator__属性
'no-label-var': 2, // 禁止标签与变量同名
'no-labels': [
  // 禁止使用标签语句
  2,
  {
    allowLoop: false, // 不允许循环使用标签
    allowSwitch: false // 不允许switch使用标签
  }
],
'no-lone-blocks': 2, // 禁止不必要的嵌套块
'no-mixed-spaces-and-tabs': 2, // 禁止混用空格和制表符
'no-multi-spaces': 2, // 禁止使用多个空格
'no-multi-str': 2, // 禁止多行字符串
'no-multiple-empty-lines': [
  // 限制空行数量
  2,
  {
    max: 1 // 最多连续1个空行
  }
],
'no-native-reassign': 2, // 禁止重新分配原生对象
'no-negated-in-lhs': 2, // 禁止在in表达式中使用否定符
'no-new-object': 2, // 禁止使用Object构造函数
'no-new-require': 2, // 禁止使用new require
'no-new-symbol': 2, // 禁止使用new Symbol
'no-new-wrappers': 2, // 禁止使用new String/Number/Boolean
'no-obj-calls': 2, // 禁止将全局对象当作函数调用
'no-octal': 2, // 禁止使用八进制字面量
'no-octal-escape': 2, // 禁止使用八进制转义序列
'no-path-concat': 2, // 禁止使用__dirname和__filename进行路径拼接
'no-proto': 2, // 禁止使用__proto__
'no-redeclare': 2, // 禁止重复声明变量
'no-regex-spaces': 2, // 禁止正则表达式字面量中出现多个空格
'no-return-assign': [2, 'except-parens'], // 禁止在return语句中使用赋值语句(除非用括号括起来)
'no-self-assign': 2, // 禁止自我赋值
'no-self-compare': 2, // 禁止自我比较
'no-sequences': 2, // 禁止使用逗号操作符
'no-shadow-restricted-names': 2, // 禁止使用保留字作为变量名
'no-spaced-func': 2, // 禁止函数名和括号之间有空格
'no-sparse-arrays': 2, // 禁止稀疏数组
'no-this-before-super': 2, // 禁止在调用super()之前使用this
'no-throw-literal': 2, // 禁止抛出字面量错误
'no-trailing-spaces': 2, // 禁止行尾空格
'no-undef': 2, // 禁止使用未声明的变量
'no-undef-init': 2, // 禁止变量初始化时为undefined
'no-unexpected-multiline': 2, // 禁止出现令人困惑的多行表达式
'no-unmodified-loop-condition': 2, // 禁止循环条件不变
'no-unneeded-ternary': [
  // 禁止不必要的三元表达式
  2,
  {
    defaultAssignment: false // 不允许默认赋值
  }
],
'no-unreachable': 2, // 禁止不可达代码
'no-unsafe-finally': 2, // 禁止在finally语句中使用控制流语句
'no-unused-vars': [
  // 禁止未使用的变量
  2,
  {
    vars: 'all', // 检查所有变量
    args: 'none' // 不检查函数参数
  }
],
'no-useless-call': 2, // 禁止不必要的.call()和.apply()
'no-useless-computed-key': 2, // 禁止不必要的计算属性
'no-useless-constructor': 2, // 禁止不必要的构造函数
'no-useless-escape': 2, // 禁止不必要的转义字符
'no-whitespace-before-property': 2, // 禁止属性前有空白
'no-with': 2, // 禁止使用with语句
'operator-linebreak': [
  // 操作符换行规则
  2,
  'after', // 操作符在行尾
  {
    overrides: {
      '?': 'before', // 三元操作符?在行首
      ':': 'before' // 三元操作符:在行首
    }
  }
],
'padded-blocks': [2, 'never'], // 代码块不需要 padding 空行
'quotes': [
  // 引号规则
  2,
  'single', // 使用单引号
  {
    avoidEscape: true, // 允许字符串包含其他引号
    allowTemplateLiterals: true // 允许使用模板字符串
  }
],
'semi-spacing': [
  // 分号空格
  2,
  {
    before: false, // 分号前无空格
    after: true // 分号后有空格
  }
],
'space-before-blocks': [2, 'always'], // 代码块前必须有空格
'space-before-function-paren': [2, 'never'], // 函数括号前不能有空格
'space-in-parens': [2, 'never'], // 括号内不能有空格
'space-infix-ops': 2, // 中缀操作符周围必须有空格
'space-unary-ops': [
  // 一元操作符空格
  2,
  {
    words: true, // 单词类一元操作符有空格
    nonwords: false // 符号类一元操作符无空格
  }
],
'spaced-comment': [
  // 注释空格
  2,
  'always', // 注释后必须有空格
  {
    markers: [
      // 一些特殊标记
      'global',
      'globals',
      'eslint',
      'eslint-disable',
      '*package',
      '!',
      ','
    ]
  }
],
'template-curly-spacing': [2, 'never'], // 模板字符串内不能有空格
'use-isnan': 2, // 必须使用isNaN()检查NaN
'valid-typeof': 2, // typeof必须与有效字符串比较
'wrap-iife': [2, 'any'], // 立即执行函数需要括号包裹
'yield-star-spacing': [2, 'both'], // yield*操作符*号前后都要有空格
'yoda': [2, 'never'], // 禁止Yoda条件(常量在前)
'prefer-const': 2, // 建议使用const声明不会重新赋值的变量
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, // 生产环境禁止debugger
'object-curly-spacing': [
  // 对象花括号内空格
  2,
  'always', // 花括号内必须有空格
  {
    objectsInObjects: false // 对象内的对象花括号内不需要空格
  }
],
'array-bracket-spacing': [2, 'never'] // 数组方括号内不能有空格

} };