emails-renderer/webpack-utils/intl-json-loader/index.js
ErickSkrauch cb84df8f96 Upgrade project structure to webpack 4.
Remove unused dependencies.
Rename all .jsx files into .js.
2019-03-17 01:37:00 +03:00

26 lines
669 B
JavaScript

const path = require('path');
module.exports = function(input) {
this.cacheable && this.cacheable();
const moduleId = this.context
.replace(path.join(this.rootContext, 'src'), '')
.replace(/^\/|\/$/g, '')
.replace(/\//g, '.');
const json = JSON.parse(input);
const result = JSON.stringify(Object.keys(json).reduce((translations, key) => {
translations[key] = {
id: `${moduleId}.${key}`,
defaultMessage: json[key],
};
return translations;
}, {}));
return `
import { defineMessages } from 'react-intl';
export default defineMessages(${result})
`;
};