Skip to content

kktjs/babel-plugin-transform-replace-export-default

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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