National Preventative Mechanism

    babel-plugin-transform-define

    2.0.1 • Public • Published

    babel-plugin-transform-define

    npm version

    Compile time code replacement for babel similar to Webpack's DefinePlugin


    Quick Start

    $ npm install --save-dev babel-plugin-transform-define

    .babelrc

    {
      "plugins": [
        ["transform-define", {
          "process.env.NODE_ENV": "production",
          "typeof window": "object"
        }]
      ]
    }

    .babelrc.js

    // E.g., any dynamic logic with JS, environment variables, etc.
    const overrides = require("./another-path.js");
    
    module.exports = {
      plugins: [
        ["transform-define", {
          "process.env.NODE_ENV": "production",
          "typeof window": "object",
          ...overrides
        }]
      ]
    };

    Reference Documentation

    babel-plugin-transform-define can transform certain types of code as a babel transformation.

    Identifiers

    .babelrc

    {
      "plugins": [
        ["transform-define", {
          "VERSION": "1.0.0",
        }]
      ]
    }

    Source Code

    VERSION;
    
    window.__MY_COMPANY__ = {
      version: VERSION
    };

    Output Code

    "1.0.0";
    
    window.__MY_COMPANY__ = {
      version: "1.0.0"
    };

    Member Expressions

    .babelrc

    {
      "plugins": [
        ["transform-define", {
          "process.env.NODE_ENV": "production"
        }]
      ]
    }

    Source Code

    if (process.env.NODE_ENV === "production") {
      console.log(true);
    }

    Output Code

    if (true) {
      console.log(true);
    }

    Unary Expressions

    .babelrc

    {
      "plugins": [
        ["transform-define", {
          "typeof window": "object"
        }]
      ]
    }

    Source Code

    typeof window;
    typeof window === "object";

    Output Code

    'object';
    true;

    License

    MIT License

    Install

    npm i babel-plugin-transform-define

    DownloadsWeekly Downloads

    304,751

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    12.1 kB

    Total Files

    5

    Last publish

    Collaborators

    • beccanelson
    • michaelmerrill
    • sarmeyer
    • mariano-formidable
    • carlospaelinck
    • ryanisinallofus
    • samwhale
    • bmathews
    • ryan.roemer
    • paulathevalley
    • tptee
    • formidable-owner
    • ebrillhart
    • stefvhuynh
    • eastridge
    • exogen
    • boygirl
    • philpl
    • hartzis
    • mfulgham
    • jmcbee1
    • formidablelabs
    • carbonrobot
    • manosim
    • masiddee
    • gksander
    • mjackson