npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

rollup-plugin-strip-exports

v2.0.7

Published

Remove unwanted exports from your code.

Downloads

66

Readme

rollup-plugin-strip-exports

Remove unwanted exports from your code.

ci status npm package license MIT commit style angular semantic-release Dependabot Status

rollup-plugin-strip-exports is intended to remove unwanted exports from your entry file. It does not check if an export is imported by another file, the intention is to just strip exports from the entry file. The primary use-case for this is when using iife, as exports are added to the global scope and this is often not useful if you are bundling everything together, as you have no purpose for using those exports.

As of rollup version 1.26.0 not providing a name for iife bundles will no longer cause an error (just a warning) and will not pollute the global scope. However this plugin is still useful for a few reasons.

  1. The iife will still have the exports assign to a variable which it returns. This could cause confusion when a developer is reading the rollup output, so it is cleaner to just not export anything (in my opinion).
  2. You may want to remove exports for a different reason.

Installation

yarn add rollup-plugin-strip-exports --dev
# or
npm install rollup-plugin-strip-exports --save-dev

Usage

// rollup.config.js
import stripExports from 'rollup-plugin-strip-exports';

export default {
  input: 'source/index.js',
  output: {
    file: 'build/index.js',
    format: 'iife'
  },
  plugins: [
    stripExports({ /* options */ })
  ]
};

Functionality

Function definitions or variable declerations or any other named value will be kept but the export stripped as code in the same file may use them. However if they are not used and you have tree-shaking turned on, then they will be removed anyway.

// input.js
export const variable = 6;

export function add(a, b) {
  return a + b;
}

console.log(add(variable, 4));
// output.js
const variable = 6;

function add(a, b) {
  return a + b;
}

console.log(add(variable, 4));

Exported default literals will be removed, as they serve no purpose without an export.

// input.js
export default 'literal';
// output.js

Options

None of the following options are required.

| name | description | type | default | | --- | --- | --- | --- | | sourceMap | Whether you are using sourceMaps or not. | Boolean | true |


LICENSE | CHANGELOG | ISSUES