Skip to content

Analyze Build Output Advanced Syntax

Used to analyze build output syntax compatibility and determine if there are advanced syntax features that may cause compatibility issues.

npm versionlicensedownloads

Features

  • 🔍 Check ECMAScript syntax compatibility
  • 🎯 Support for custom target browser ranges
  • 📦 Support for Vite, Webpack, Rspack build tools
  • ⚙️ Flexible configuration options
  • 🚫 Support for excluding specific files

Installation

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

Usage

Add the plugin to your .winrc.ts configuration file:

ts
// .winrc.ts
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  // Enable syntax checking
  checkSyntax: {
    // Target browser range
    targets: ['> 1%', 'last 2 versions'],
    
    // Exclude files
    exclude: ['node_modules', '\\.min\\.js$'],
    
    // ECMAScript version
    ecmaVersion: 2018
  }
};

Configuration Options

targets

Specify the target browser range for your project as a standard browserslist array.

  • Type: string[]
  • Default: undefined
  • Example:
js
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: {
    targets: ['> 1%', 'last 2 versions', 'not ie <= 8']
  }
};

exclude

Used to exclude certain source files during detection. You can pass one or more regular expressions to match source file paths.

  • Type: string | string[]
  • Default: undefined
  • Example:
js
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: {
    exclude: [
      'node_modules',
      '\\.min\\.js$',
      'vendor/'
    ]
  }
};

ecmaVersion

Specify the minimum ECMAScript syntax version that can be used in build outputs. ecmaVersion has higher priority than targets.

  • Type: 3 | 5 | 6 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 'latest'
  • Default: undefined
  • Example:
js
export default {
  plugins: ['@winner-fed/plugin-check-syntax'],
  checkSyntax: {
    ecmaVersion: 2018
  }
};

Simple Configuration

If you just want to enable default syntax checking, you can set it directly to true:

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

Supported Build Tools

  • ✅ Vite
  • ✅ Webpack
  • ✅ Rspack

Released under the MIT License.