moment-locales-webpack-plugin

Image for: moment-locales-webpack-plugin
1.2.0 • Public • Published

moment-locales-webpack-plugin

Easily remove unused Moment.js locales when building with webpack

Why

Image for: Why

75% (160 minified KBs)¹ of Moment.js’ size are files used for localization. They are always included when you build your app with webpack.

You don’t need most of these files if your app is only available in a few languages. Use this plugin to strip these KBs and optimize the app!

¹ – tested with Moment.js 2.18.1

Install

Image for: Install
npm install --save-dev moment-locales-webpack-plugin

Usage

Image for: Usage
// webpack.config.js
const MomentLocalesPlugin = require('moment-locales-webpack-plugin');
 
module.exports = {
    plugins: [
        // To strip all locales except “en”
        new MomentLocalesPlugin(),
 
        // Or: To strip all locales except “en”, “es-us” and “ru”
        // (“en” is built into Moment and can’t be removed)
        new MomentLocalesPlugin({
            localesToKeep: ['es-us', 'ru'],
        }),
    ],
};

Plugin Options

Image for: Plugin Options

localesToKeep: String[]

An array of locales to keep bundled (other locales would be removed).

Locale names follow Moment.js behavior – if a specific locale name (e.g. ru-ru) is absent, but a more generic locale (ru) is available, the generic one will be kept bundled.

ignoreInvalidLocales: Boolean

A flag to ignore invalid or unsupported locales in the localesToKeep array.

Be careful! A typo in the localesToKeep array with this flag enabled will silently exclude the desired locale from your bundle.

Related projects

Image for: Related projects

Contributing

Image for: Contributing

See CONTRIBUTING.md for how to contribute.

License

Image for: License

MIT © Ivan Akulov

Readme

Image for: Readme

Keywords

none

Package Sidebar

Image for: Package Sidebar

Install

npm i moment-locales-webpack-plugin

Weekly Downloads

244,473

Version

1.2.0

License

MIT

Unpacked Size

10.1 kB

Total Files

8

Last publish

Collaborators