or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

index.md
tile.json

tessl/npm-babel-plugin-syntax-trailing-function-commas

Babel syntax plugin that enables parsing of trailing commas in function parameters and function calls

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/babel-plugin-syntax-trailing-function-commas@6.22.x

To install, run

npx @tessl/cli install tessl/npm-babel-plugin-syntax-trailing-function-commas@6.22.0

index.mddocs/

Babel Plugin Syntax Trailing Function Commas

Babel syntax plugin that enables parsing of trailing commas in function parameters and function calls. This is a syntax-only plugin that allows the Babel parser to recognize ES2017 trailing function comma syntax without transforming the code. This allows developers to write cleaner, more maintainable code by supporting trailing commas in function contexts, which simplifies diffs when adding or removing function parameters.

Package Information

  • Package Name: babel-plugin-syntax-trailing-function-commas
  • Package Type: npm
  • Language: JavaScript
  • Installation: npm install --save-dev babel-plugin-syntax-trailing-function-commas

Core Imports

This plugin is consumed by Babel's plugin system and does not require direct imports in your code. The plugin itself exports a factory function:

// Direct access to plugin (for advanced usage)
import syntaxTrailingFunctionCommas from "babel-plugin-syntax-trailing-function-commas";

For CommonJS:

const syntaxTrailingFunctionCommas = require("babel-plugin-syntax-trailing-function-commas");

Basic Usage

Via .babelrc (Recommended)

{
  "plugins": ["syntax-trailing-function-commas"]
}

Via CLI

babel --plugins syntax-trailing-function-commas script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["syntax-trailing-function-commas"]
});

Example Syntax Support

Once enabled, the plugin allows parsing of trailing commas in various contexts:

// Function declarations
function clownPuppiesEverywhere(
  param1,
  param2, // <- Trailing comma now allowed
) { 
  return 'magic'; 
}

// Function calls
clownPuppiesEverywhere(
  'foo',
  'bar', // <- Trailing comma now allowed
);

// Arrow functions  
const arrow = (
  a,
  b, // <- Trailing comma now allowed
) => a + b;

// Constructor calls
new Date(
  2023,
  11,
  25, // <- Trailing comma now allowed
);

Capabilities

Plugin Factory Function

The main export is a factory function that returns a Babel plugin configuration object.

/**
 * Creates a Babel plugin that enables parsing of trailing function commas
 * @returns {Object} Babel plugin configuration object
 */
export default function(): BabelPluginConfig;

interface BabelPluginConfig {
  /** Hook to manipulate parser options */
  manipulateOptions(opts: any, parserOpts: ParserOptions): void;
}

interface ParserOptions {
  /** Array of parser plugins to enable */
  plugins: string[];
}

Parser Configuration

The plugin works by adding the trailingFunctionCommas parser option to Babel's parser configuration.

/**
 * Babel plugin hook that modifies parser options to enable trailing function comma parsing
 * @param opts - Babel transformation options (unused by this plugin)
 * @param parserOpts - Parser options object that will be modified by adding "trailingFunctionCommas" to the plugins array
 */
manipulateOptions(opts: any, parserOpts: ParserOptions): void;

The manipulateOptions method:

  • Pushes "trailingFunctionCommas" to the parserOpts.plugins array
  • Enables the Babel parser to recognize trailing comma syntax in function parameters, function calls, arrow functions, and constructor calls
  • Does not transform or modify code - only enables parsing of the syntax
  • Is called during Babel's option processing phase before parsing begins

Types

interface BabelPluginConfig {
  /** Hook called during Babel's option processing phase */
  manipulateOptions(opts: any, parserOpts: ParserOptions): void;
}

interface ParserOptions {
  /** Array of parser plugin names to enable specific syntax features */
  plugins: string[];
}

Important Notes

  • Syntax Only: This plugin only enables parsing of trailing function commas - it does not transform the code
  • ES2017 Feature: Trailing function commas are native in ES2017+ environments
  • Development Tool: Typically used as a development dependency for build tooling
  • Parser Plugin: Works at the parsing stage, not the transformation stage
  • Zero Dependencies: The plugin has no runtime dependencies