Natty Precise Maverick

    babel-plugin-transform-replace-export-default
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.4 • Public • Published

    babel-plugin-transform-replace-export-default

    NPM version CI Coverage Status Downloadss

    Replace export default with return, or just remove export default.

    Usage

    npm install babel-plugin-transform-replace-export-default --save-dev

    Via .babelrc or babel-loader.

    {
      "plugins": [
        "babel-plugin-transform-replace-export-default"
      ]
    }

    Or

    {
      "plugins": [
        ["babel-plugin-transform-replace-export-default", {
          "removeExportDefault": true
        }]
      ]
    }

    Replace export default to return

    Example 1

    // Input Code
    const demo = 0;
    export default demo;
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    const demo = 0;
    return demo;

    Output Result

    const demo = 0;
    - export default demo;
    + return demo;

    Example 2

    // Input Code
    function demo() {};
    export default demo;
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    function demo() {};
    return demo;

    Output Result

    function demo() {};
    - export default demo;
    + return demo;

    Example 3

    // Input Code
    class demo { constructor() { } };
    export default demo;
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    class demo { constructor() { } };
    return demo;

    Output Result

    class demo { constructor() { } };
    - export default demo;
    + return demo;

    Example 4

    // Input Code
    export default class demo { constructor() { } };
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    return class demo { constructor() { } };

    Output Result

    - export default class demo { constructor() { } };
    + return class demo { constructor() { } };

    Example 5

    // Input Code
    export default class demo { constructor() { } };
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    return class demo { constructor() { } };

    Output Result

    - export default function demo() {};
    + return function demo() {};

    Remove export default

    {
      "plugins": [
        ["babel-plugin-transform-replace-export-default", {
          "removeExportDefault": true
        }]
      ]
    }

    Example 1

    // Input Code
    export default class demo {}
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    class demo {}

    Output Result

    - export default class demo {}
    + class demo {}

    Example 2

    // Input Code
    export default function demo() {}
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    function demo() {}

    Output Result

    - export default function demo() {}
    + function demo() {}

    Example 3

    // Input Code
    class demo {}
    export default demo;
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    class demo {}

    Output Result

    class demo {}
    - export default demo;

    Example 4

    // Input Code
    function demo() {}
    export default demo;
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    function demo() {}

    Output Result

    function demo() {}
    - export default demo;

    Example 5

    // Input Code
    const demo = 0;
    export default demo;
    
    // 👇👇👇 Output   ↓ ↓ ↓ ↓ ↓ ↓
    const demo = 0;

    Output Result

    const demo = 0;
    - export default demo;

    Programmatic Usage

    import plugin from 'babel-plugin-transform-replace-export-default';
    import { transformSync } from '@babel/core';
     
    function replace(code) {
      return transformSync(code, {
        babelrc: false,
        plugins: [
          [plugin, {
            removeExportDefault: true
          }]
        ],
      }).code;
    }
     
    replace("export default function demo() {}");
    //=> "function demo() {}"

    Related

    Contributors

    As always, thanks to our amazing contributors!

    Made with github-action-contributors.

    License

    MIT © Kenny Wong

    Install

    npm i babel-plugin-transform-replace-export-default

    DownloadsWeekly Downloads

    74

    Version

    1.0.4

    License

    MIT

    Unpacked Size

    10 kB

    Total Files

    6

    Last publish

    Collaborators

    • wcjiang