babel-plugin-transform-cup-globals

raw JSON →
1.0.2 verified Sat Apr 25 auth: no javascript maintenance

Babel plugin that transforms global references for create-universal-package (CUP). At version 1.0.2 (last released in 2019), it is in maintenance mode with no active development. Converts environment-specific globals (e.g., `__BROWSER__`, `__SERVER__`) to boolean literals at compile time. Compared to general-purpose Babel macros or DefinePlugin, this plugin is tightly coupled to CUP and may not work with newer Babel versions (v7+). Requires Node >=6 and a Babel preset or plugin pipeline that invokes it before other transforms.

error Error: Cannot find module 'babel-plugin-transform-cup-globals'
cause Plugin not installed or not in node_modules.
fix
Run npm install --save-dev babel-plugin-transform-cup-globals
error TypeError: this.plugin is not a function
cause Plugin is not properly registered in Babel config.
fix
Ensure plugin is listed as a string in the plugins array, e.g., "plugins": ["transform-cup-globals"]
gotcha Plugin is designed specifically for create-universal-package (CUP). It may not work correctly in other Babel setups, especially if custom global definitions are not provided.
fix If not using CUP, consider alternatives like babel-plugin-transform-define or setting environment-specific globals via DefinePlugin.
breaking Incompatible with Babel 7+ if the plugin explicitly checks for Babel 6 API. The last release predates Babel 7 and may rely on deprecated APIs.
fix Use a newer Babel 6 environment or adapt the plugin source code for Babel 7+.
npm install babel-plugin-transform-cup-globals
yarn add babel-plugin-transform-cup-globals
pnpm add babel-plugin-transform-cup-globals

Demonstrates installing the plugin and configuring Babel to transform CUP globals like __BROWSER__ into boolean literals.

// Install: npm install --save-dev babel-plugin-transform-cup-globals
// Then add to .babelrc:
{
  "plugins": ["transform-cup-globals"]
}
// Input:
const isBrowser = __BROWSER__;
// Output:
const isBrowser = true; // or false, depending on environment