New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

merge-jsons-webpack-plugin

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

merge-jsons-webpack-plugin

This plugin is used to merge json files into single json file,using glob or file names

  • 1.0.16
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Merge json files

Merge Json files using this webpack plugin.

For example,it will be useful to merge i18n json files which are in different modules into a single final json files in angular2 or react modules.

Usage

Install with npm

npm i merge-jsons-webpack-plugin
var MergeJsonWebpackPlugin = require("merge-jsons-webpack-plugin");
new MergeJsonWebpackPlugin({
    "files": [
        "./jsons/file1.json",
        "./jsons/file3.json",
        "./jsons/file2.json"
    ],
    "output": {
        "fileName": "./dist/result.json"
    }
});

Details

You can specify either files or groupBy under output.

1) By files
If you want to merge group of files use like this.

new MergeJsonWebpackPlugin({
    "debug":true,
    "files": [
        "./jsons/file1.json",
        "./jsons/file3.json",
        "./jsons/file2.json"
    ],
    "output": {
        "fileName": "./dist/result.json"
    }
});
Field NameDescription
filesArray of json files to be merged
output.fileNameName of merged output file ,relative path from output.path entry

2) By Patterns
This plugin uses glob for searching file patterns,please refer glob for usage for sample pattern. You can specify a pattern to pull all the files that satify the particular pattern and output a single json file.

new MergeJsonWebpackPlugin({
    "encoding": "ascii",
    "debug": true,
    "output": {
        "groupBy": [
            {
                "pattern": "{./jsons/module*/en.json,./jsons/file1.json}", 
                "fileName": "./dist/en.json" 
            },
            {
                "pattern": "{./jsons/module*/es.json,./jsons/file2.json}", 
                "fileName":"./dist/es.json"
            }
        ]
    },
    "globOptions": {
        "nosort": true
    }
});
groupByArray of patterns and corresponding fileNames.
groupBy[].patternPattern to search files for. eg: **/en.json will pull all en.json files under current working directory and sub directories
Do not use curly brackets if there is only single pattern to considerpattern:"./node_modules/**/en.json"
Use curly brackets to group more than one pattern togetherpattern:"{./node_modules/**/en.json,./src/assets/i18n/en.json}"
groupBy[].fileNameoutput file name for the corresponding pattern.Relative path from output.path entry

3) Run time files

Files generated at run time can also be specified as input to the pattern.The plugin will lookup in the compilation.assets of webpack and try to load it for processing.

Options

keyDescription.
debugif true ,logs will be enabled, by default debug is false.
encodingOptional, encoding to be used default is utf-8.
globOptionsOptional, glob options to change pattern matching behavior.
prefixFileNameif true ,file names will be prefixed to each file content and merged with outfile.

Change Logs

VersionChanges
1.0.8Error handling improved. Now fileName is relative path to output path specified
1.0.10File watching feature added, result will be automatically refreshed if json files are modified
1.0.11Publish issues with previous version
1.0.12Added glob options handling
1.0.13When using groupBy,fixed issue of compilation more than once, added capability to read dynamically generated files,and conditional logging
1.0.14Webpack 4 breaking changes fix
1.0.15prefixFileName option added, for feature request #31
1.0.16Webpack 4 compatibile api changes

Sample

Please navigate to example folder

   cd example
   > npm install
   > npm start

Access the web application at

 http://localhost:8080

References

Keywords

FAQs

Package last updated on 16 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc