Socket
Socket
Sign inDemoInstall

mjml-core

Package Overview
Dependencies
Maintainers
1
Versions
131
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mjml-core - npm Package Compare versions

Comparing version 2.0.1 to 2.0.2

lib/mjCssClasses.js

17

lib/helpers/mjml.js

@@ -20,9 +20,24 @@ 'use strict';

var _mjCssClasses = require('../mjCssClasses');
var _mjCssClasses2 = _interopRequireDefault(_mjCssClasses);
var _mjDefaultAttributes = require('../mjDefaultAttributes');
var _mjDefaultAttributes2 = _interopRequireDefault(_mjDefaultAttributes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var parseInstance = exports.parseInstance = function parseInstance(instance) {
var parseNode = function parseNode(node) {
var Component = _MJMLElementsCollection2.default[node.tagName];
var nodeClasses = node['attributes']['mj-class'];
return !Component ? {} : _extends({}, (0, _defaultsDeep2.default)(node, Component.defaultMJMLDefinition), {
var classAttributes = !nodeClasses ? {} : _defaultsDeep2.default.apply(undefined, [{}].concat(_toConsumableArray(nodeClasses.split(' ').map(function (nodeClass) {
return { attributes: _mjCssClasses2.default[nodeClass] };
}))));
return !Component ? {} : _extends({}, (0, _defaultsDeep2.default)(node, classAttributes, { attributes: _mjDefaultAttributes2.default[node.tagName] }, Component.defaultMJMLDefinition), {
// do same to children

@@ -29,0 +44,0 @@ children: (node.children || []).map(parseNode)

@@ -6,3 +6,3 @@ 'use strict';

});
exports.registerElement = exports.mjml2html = exports.version = exports.helpers = exports.elements = exports.registerMJElement = exports.MJMLRenderer = exports.MJMLElement = exports.documentParser = undefined;
exports.registerElement = exports.mjml2html = exports.version = exports.setMjCssClasses = exports.setMjDefaultAttributes = exports.MJMLHeadElements = exports.registerMJHeadElement = exports.mjDefaultAttributes = exports.mjCssClasses = exports.helpers = exports.elements = exports.registerMJElement = exports.MJMLRenderer = exports.MJMLElement = exports.documentParser = undefined;

@@ -21,2 +21,14 @@ var _warning = require('warning');

var _mjCssClasses = require('./mjCssClasses');
var _mjCssClasses2 = _interopRequireDefault(_mjCssClasses);
var _mjDefaultAttributes = require('./mjDefaultAttributes');
var _mjDefaultAttributes2 = _interopRequireDefault(_mjDefaultAttributes);
var _MJMLHead = require('./MJMLHead');
var _MJMLHead2 = _interopRequireDefault(_MJMLHead);
var _helpers = require('./helpers');

@@ -44,2 +56,8 @@

exports.helpers = helpers;
exports.mjCssClasses = _mjCssClasses2.default;
exports.mjDefaultAttributes = _mjDefaultAttributes2.default;
exports.registerMJHeadElement = _MJMLHead.registerMJHeadElement;
exports.MJMLHeadElements = _MJMLHead2.default;
exports.setMjDefaultAttributes = _mjDefaultAttributes.setMjDefaultAttributes;
exports.setMjCssClasses = _mjCssClasses.setMjCssClasses;
var version = exports.version = function version() {

@@ -46,0 +64,0 @@ return require('../package.json').version;

@@ -21,2 +21,6 @@ 'use strict';

var _each = require('lodash/each');
var _each2 = _interopRequireDefault(_each);
var _MJMLElementsCollection = require('../MJMLElementsCollection');

@@ -26,2 +30,10 @@

var _mjDefaultAttributes = require('../mjDefaultAttributes');
var _mjCssClasses = require('../mjCssClasses');
var _MJMLHead = require('../MJMLHead');
var _MJMLHead2 = _interopRequireDefault(_MJMLHead);
var _warning = require('warning');

@@ -37,8 +49,17 @@

var safeEndingTags = function safeEndingTags(content) {
var regexpBody = new RegExp('<mj-body([^>]*)>([^]*?)</mj-body>', 'gmi');
var bodyContent = content.match(regexpBody);
if (!bodyContent) {
return content;
}
bodyContent = bodyContent[0];
_MJMLElementsCollection.endingTags.forEach(function (tag) {
var regex = new RegExp('<' + tag + '([^>]*)>([^]*?)</' + tag + '>', 'gmi');
content = content.replace(regex, _dom2.default.replaceContentByCdata(tag));
bodyContent = bodyContent.replace(regex, _dom2.default.replaceContentByCdata(tag));
});
return content;
return content.replace(regexpBody, bodyContent);
};

@@ -77,2 +98,16 @@

var parseHead = function parseHead(head) {
(0, _each2.default)((0, _compact2.default)((0, _filter2.default)(_dom2.default.getChildren(head), function (child) {
return child.tagName;
})), function (element) {
var handler = _MJMLHead2.default[element.tagName.toLowerCase()];
if (handler) {
handler(element, { setMjCssClasses: _mjCssClasses.setMjCssClasses, setMjDefaultAttributes: _mjDefaultAttributes.setMjDefaultAttributes });
} else {
(0, _warning2.default)(false, 'No handler found for: ' + element.tagName + ', in mj-head, skipping it');
}
});
};
/**

@@ -86,6 +121,8 @@ * Import an html document containing some mjml

var root = void 0;
var head = void 0;
try {
var $ = _dom2.default.parseXML(safeEndingTags(content));
root = $('mjml mj-body');
root = $('mjml > mj-body');
head = $('mjml > mj-head');

@@ -106,2 +143,6 @@ if (root.length < 1) {

if (head && head.length == 1) {
parseHead(head.get(0));
}
return mjmlElementParser(root);

@@ -108,0 +149,0 @@ };

4

package.json
{
"name": "mjml-core",
"version": "2.0.1",
"version": "2.0.2",
"main": "lib/index.js",

@@ -25,3 +25,3 @@ "scripts": {

"js-beautify": "^1.6.2",
"lodash": "^4.11.2",
"lodash": "^4.12.0",
"react-dom": "^15.0.2",

@@ -28,0 +28,0 @@ "react": "^15.0.2",

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