@metrists/webpack v0.0.3
Description
The Metrists webpack is a WebPack plugin that helps you include your localization files in your webpack build.
Metrists webpack is intended to be used with a Metrists CLI, and a internationalization library. We highly recommend that you use i18next with Metrists.
Table of Contents
- Installation
- Creating a .metristsrc file
- Webpack Configuration
- No .metristsrc File
- Contributing
- Code of Conduct
- LICENSE
Installation
npm install @metrists/webpackor using yarn
yarn add @metrists/webpackCreating a .metristsrc file
The best way to configure Metrists on your repository is to create a .metristsrc file in the root directory of your project. This way this package, and Metrists CLI will reference a single source of truth about your localization.
an example .metristsrc:
{
"resolvePath": "src/locals",
"fetcher": "github",
"envPath": ".env",
"fetcherParams": {
"repo": "env.LOCALS_REPO",
"org": "env.LOCALS_ORG"
}
}Differentiating Build Path from Development
By default, Metrists will copy paste the contents of your resolvePath argument in your build folder. If you wish to configure a different route inside the build, you can use the resolvePathBuild parameter, to differentiate your build path:
{
"resolvePath": "src/locals",
"resolvePathBuild": "locals",
"fetcher": "github",
"envPath": ".env",
"fetcherParams": {
"repo": "env.LOCALS_REPO",
"org": "env.LOCALS_ORG"
}
}Webpack Configuration
Once installed, you need use CopyMetristsFiles inside your webpack configuration, as a plugin:
Webpack config file:
const CopyMetristsFiles = require('@metrists/webpack');
// Webpack config object
return {
plugins: [CopyMetristsFiles()],
};If you have created and configured your .metristsrc, the plugin will read your configuration and move the file to the correct spot inside the build. If you are not using .metristsrc, you can pass your resolvePath directly to the plugin.
No .metristsrc File
If you wish to not create a .metristsrc configuration file, you can pass a resolvePath and optionally a resolvePathBuild to the plugin directly:
The output of all fetchers should look like this:
const CopyMetristsFiles = require('@metrists/webpack');
// Webpack config object
return {
plugins: [
// plugins here...
CopyMetristsFiles(
resolvePath: 'src/locals',
resolvePathBuild : 'locals'
)
],
};🌕 If you do not pass in a
resolvePathBuildto the plugin, the plugin will useresolvePathas the build path too.
Contributing
This package is a beginner-friendly package. If you don't know where to start, visit Make a Pull Request to learn how to make pull requests.
Please visit Contributing for more info.
Code of Conduct
Please visit Code of Conduct.
License
MIT