@loopmode/babel-plugin-react-intl-messages-generator
Version:
Extracts explicit texts from react components and generate a componentNameMessages.js files. Forked from https://github.com/p10ns11y/babel-plugin-react-intl-messages-generator, added Windows compatibility
34 lines (23 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createDescriptorsWithKey = exports.removeDefindeMessageFormat = exports.defineMessageFormat = undefined;
var _stringify = require('babel-runtime/core-js/json/stringify');
var _stringify2 = _interopRequireDefault(_stringify);
var _eol = require('eol');
var _eol2 = _interopRequireDefault(_eol);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var defineMessageFormat = exports.defineMessageFormat = function defineMessageFormat(descriptors) {
return 'import { defineMessages } from \'react-intl\';\n\nexport default defineMessages({\n' + descriptors + '});\n\n';
};
var removeDefindeMessageFormat = exports.removeDefindeMessageFormat = function removeDefindeMessageFormat(fileContent) {
return _eol2.default.lf(fileContent).replace('import { defineMessages } from \'react-intl\';\n\n', '').replace('export default defineMessages({\n', '').replace('\n});', '');
};
var createDescriptorsWithKey = exports.createDescriptorsWithKey = function createDescriptorsWithKey(descriptor, _ref) {
var _ref$intendation = _ref.intendation,
intendation = _ref$intendation === undefined ? ' ' : _ref$intendation;
var lintFixedDescriptor = (0, _stringify2.default)(descriptor, null, 4).replace('}', intendation + '}').replace('"id"', intendation + 'id').replace('"defaultMessage"', intendation + 'defaultMessage').replace(/\"/g, "'");
var descriptorsWithKey = intendation + 'NameTheKey: ' + lintFixedDescriptor + ',\n';
return descriptorsWithKey;
};