Skip to content

winjs-dev/winjs-plugin-check-syntax

Repository files navigation

@winner-fed/plugin-check-syntax

WinJS plugin for checking ECMAScript syntax compatibility using @winner-fed/unplugin-check-syntax.

npm version license downloads

功能特性

  • 🔍 检查 ECMAScript 语法兼容性
  • 🎯 支持自定义目标浏览器范围
  • 📦 支持 Vite、Webpack、Rspack 构建工具
  • ⚙️ 灵活的配置选项
  • 🚫 支持排除特定文件

安装

npm add @winner-fed/plugin-check-syntax -D

使用方法

.winrc.ts 配置文件中添加插件:

// .winrc.ts
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  // 启用语法检查
  checkSyntax: {
    // 目标浏览器范围
    targets: ['> 1%', 'last 2 versions'],
    
    // 排除文件
    exclude: ['node_modules', '\\.min\\.js$'],
    
    // ECMAScript 版本
    ecmaVersion: 2018
  }
};

配置选项

targets

指定项目的目标浏览器范围,值为标准的 browserslist 数组。

  • 类型: string[]
  • 默认值: undefined
  • 示例:
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: {
    targets: ['> 1%', 'last 2 versions', 'not ie <= 8']
  }
};

exclude

用于在检测期间排除部分源文件。可以传入一个或多个正则表达式来匹配源文件的路径。

  • 类型: string | string[]
  • 默认值: undefined
  • 示例:
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: {
    exclude: [
      'node_modules',
      '\\.min\\.js$',
      'vendor/'
    ]
  }
};

ecmaVersion

指定构建产物中可以使用的最低 ECMAScript 语法版本。ecmaVersion 的优先级高于 targets

  • 类型: 3 | 5 | 6 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 'latest'
  • 默认值: undefined
  • 示例:
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: {
    ecmaVersion: 2018
  }
};

简单配置

如果你只想启用默认的语法检查,可以直接设置为 true

export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: true
};

支持的构建工具

  • ✅ Vite
  • ✅ Webpack
  • ✅ Rspack

License

MIT.

About

A winjs plugin for checking ECMAScript syntax compatibility across different bundlers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published