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

webpack-aws-externals

v2.0.1

Published

Easily exclude node_modules provided by AWS Lambda in Webpack bundle

Downloads

2,464

Readme

Webpack-AWS-Externals

Easily exclude node modules that are commonly included in AWS Lambda runtimes from Webpack

Version Downloads

This module builds on webpack-node-externals which is a super handy plugin for Webpack. Webpack-aws-externals will make sure that the core list of modules that are known to be distributed within AWS lambdaLambda node runtimes will not be bundled into your webpack - but everything else will be. This way your uploaded packages for serverless lambdas wont have unnecessary bloat, but you won't have to keep track of a whitelist.

Quick usage

npm install webpack-aws-externals --save-dev

In your webpack.config.js:

var awsExternals = require('webpack-aws-externals');
...
module.exports = {
    ...
    target: 'node', // in order to ignore built-in modules like path, fs, etc.
    externals: [awsExternals()], // in order to ignore all modules in node_modules folder
    ...
};

And that's it. All aws modules will no longer be bundled but will be left as require('module').

Detailed overview

Configuration

This library accepts an options object.

options.whitelist (=[])

An array for the externals to whitelist, so they will be included in the bundle. Can accept exact strings ('module_name'), regex patterns (/^module_name/), or a function that accepts the module name and returns whether it should be included. Important - if you have set aliases in your webpack config with the exact same names as modules in node_modules, you need to whitelist them so Webpack will know they should be bundled.

options.importType (='commonjs')

The method in which unbundled modules will be required in the code. Best to leave as commonjs for node modules. May be one of documented options or function callback(moduleName) which returns custom code to be returned as import type, e.g:

options.importType = function(moduleName) {
  return "amd " + moduleName;
};

Usage example

var awsExternals = require('webpack-aws-externals');
...
module.exports = {
    ...
    target: 'node', // important in order not to bundle built-in modules like path, fs, etc.
    externals: [awsExternals({
        // this WILL include `uuid` in the bundle
        whitelist: ['uuid']
    })],
    ...
};

For most use cases, the defaults of importType should be used.

Contribute

Contributions and pull requests are welcome.

License

MIT

Thank you

@liady made an awesome package that let us make this very quickly.