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

@markuplint/rules

Package Overview
Dependencies
Maintainers
1
Versions
228
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@markuplint/rules - npm Package Compare versions

Comparing version 1.0.0-alpha.13 to 1.0.0-alpha.14

2

lib/indentation/index.js

@@ -106,3 +106,3 @@ "use strict";

// [node.raw]: node.indentation.width,
// // rule: node.rule,
// rule: node.rule,
// parentIndentWidth,

@@ -109,0 +109,0 @@ // childIndentWidth,

@@ -187,6 +187,33 @@ "use strict";

}
var targetsMaybeIncludesNotAllowedDescendants = Array.from(new Set(matched.split(/><|<|>/g).filter(function (_) { return _; })));
var _a = groupName.split(/(?<=[a-z0-9])_/gi), type = _a[0], _selector = _a.slice(2);
// console.log({ type, _selector });
switch (type) {
case 'ACM': {
var model = _selector[0], tag_1 = _selector[1];
var selectors = unfold_content_models_to_tags_1.default("#" + model).filter(function (selector) {
var _a = /^([^[\]]+)(?:\[[^\]]+\])?$/.exec(selector) || [], tagName = _a[1];
return tagName.toLowerCase() === tag_1.toLowerCase();
});
for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
var node = nodes_1[_i];
if (node.type === 'Text') {
continue;
}
if (node.nodeName.toLowerCase() !== tag_1.toLowerCase()) {
continue;
}
for (var _b = 0, selectors_1 = selectors; _b < selectors_1.length; _b++) {
var selector = selectors_1[_b];
var matched_1 = node.matches(selector);
// console.log({ raw: node.raw, selector, matched });
if (matched_1) {
return { value: true };
}
}
return { value: false };
}
break;
}
case 'NAD': {
var targetsMaybeIncludesNotAllowedDescendants = Array.from(new Set(matched.split(/><|<|>/g).filter(function (_) { return _; })));
var contents_1 = new Set();

@@ -217,6 +244,6 @@ var transparentGroupName = groupNames.find(function (name) { return /^TRANSPARENT_[0-9]+$/.test(name); });

// });
for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {
var node = nodes_1[_i];
for (var _b = 0, targetsMaybeIncludesNotAllowedDescendants_1 = targetsMaybeIncludesNotAllowedDescendants; _b < targetsMaybeIncludesNotAllowedDescendants_1.length; _b++) {
var target_1 = targetsMaybeIncludesNotAllowedDescendants_1[_b];
for (var _c = 0, nodes_2 = nodes; _c < nodes_2.length; _c++) {
var node = nodes_2[_c];
for (var _d = 0, targetsMaybeIncludesNotAllowedDescendants_1 = targetsMaybeIncludesNotAllowedDescendants; _d < targetsMaybeIncludesNotAllowedDescendants_1.length; _d++) {
var target_1 = targetsMaybeIncludesNotAllowedDescendants_1[_d];
if (node.type === 'Text') {

@@ -231,4 +258,4 @@ if (selectors.includes('#text')) {

}
for (var _c = 0, selectors_1 = selectors; _c < selectors_1.length; _c++) {
var selector = selectors_1[_c];
for (var _e = 0, selectors_2 = selectors; _e < selectors_2.length; _e++) {
var selector = selectors_2[_e];
// console.log({ selector, target });

@@ -235,0 +262,0 @@ // Self

@@ -9,2 +9,4 @@ import { PermittedContent } from '@markuplint/ml-spec';

private _interleavePattern;
private _targetTags;
private _resolveTags;
}

@@ -68,3 +68,3 @@ "use strict";

if (isTarget(contentRule)) {
return targetTags(contentRule, ignore, min, max);
return this._targetTags(contentRule, ignore, min, max);
}

@@ -85,3 +85,3 @@ var notAllowedDescendantsNamedCapture = '';

}
pattern = targetTags(nodeRule.require, nodeRule.ignore || null, nodeRule.min || 1, nodeRule.max || nodeRule.min || 1);
pattern = this._targetTags(nodeRule.require, nodeRule.ignore || null, nodeRule.min || 1, nodeRule.max || nodeRule.min || 1);
}

@@ -97,3 +97,3 @@ else if (isOptionalContents(nodeRule)) {

}
pattern = targetTags(nodeRule.optional, nodeRule.ignore || null, 0, nodeRule.max || 1);
pattern = this._targetTags(nodeRule.optional, nodeRule.ignore || null, 0, nodeRule.max || 1);
}

@@ -154,2 +154,53 @@ else if (isOneOrMoreContents(nodeRule)) {

};
ExpGenerator.prototype._targetTags = function (target, ignore, min, max) {
var tagList = this._resolveTags(target);
var ignoreList = ignore ? this._resolveTags(ignore) : null;
if (ignoreList) {
ignoreList.forEach(function (ignore) { return tagList.delete(ignore); });
}
return join(Array.from(tagList), createRange(min, max));
};
ExpGenerator.prototype._resolveTags = function (target) {
var _this = this;
var list = Array.isArray(target) ? target : [target];
var tagList = new Set();
var _loop_1 = function (name_1) {
if (name_1 !== '#text' && name_1[0] === '#') {
switch (name_1) {
case '#transparent': {
tagList.add(___TRANSPARENT___);
break;
}
case '#custom': {
tagList.add(CUSTOM_ELEMENT);
break;
}
default: {
var selectors = unfold_content_models_to_tags_1.default(name_1);
selectors.forEach(function (selector) {
if (selector === '#custom') {
tagList.add(CUSTOM_ELEMENT);
return;
}
if (/]$/i.test(selector)) {
var _a = /^([^[\]]+)\[[^\]]+\]$/.exec(selector) || [], tagName = _a[1];
// ACM = Attributes by comtent model
var exp = "(?<ACM_" + _this._id + "_" + name_1.slice(1) + "_" + tagName + "><" + tagName + ">)";
tagList.add(exp);
return;
}
tagList.add("<" + selector + ">");
});
}
}
return "continue";
}
tagList.add("<" + name_1 + ">");
};
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
var name_1 = list_1[_i];
_loop_1(name_1);
}
return tagList;
};
return ExpGenerator;

@@ -176,42 +227,2 @@ }());

}
function resolveTags(target) {
var list = Array.isArray(target) ? target : [target];
var tagList = new Set();
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
var name_1 = list_1[_i];
if (name_1 !== '#text' && name_1[0] === '#') {
switch (name_1) {
case '#transparent': {
tagList.add(___TRANSPARENT___);
break;
}
case '#custom': {
tagList.add(CUSTOM_ELEMENT);
break;
}
default: {
var tags = unfold_content_models_to_tags_1.default(name_1);
tags.forEach(function (tag) {
if (tag === '#custom') {
tagList.add(CUSTOM_ELEMENT);
return;
}
tagList.add("<" + espace(tag) + ">");
});
}
}
continue;
}
tagList.add("<" + espace(name_1) + ">");
}
return tagList;
}
function targetTags(target, ignore, min, max) {
var tagList = resolveTags(target);
var ignoreList = ignore ? resolveTags(ignore) : null;
if (ignoreList) {
ignoreList.forEach(function (ignore) { return tagList.delete(ignore); });
}
return join(Array.from(tagList), createRange(min, max));
}
function createRange(min, max) {

@@ -248,4 +259,1 @@ var result = "{" + min + "," + max + "}";

}
function espace(selector) {
return selector.replace(/\[/g, '【').replace(/\]/g, '】');
}
{
"name": "@markuplint/rules",
"version": "1.0.0-alpha.13",
"version": "1.0.0-alpha.14",
"description": "Rules for markuplint",

@@ -23,5 +23,5 @@ "repository": "git@github.com:markuplint/markuplint.git",

"devDependencies": {
"@markuplint/ml-core": "^1.0.0-alpha.11"
"@markuplint/ml-core": "^1.0.0-alpha.12"
},
"gitHead": "5966e1fa119ba9813e5a19d760a794abd88da08c"
"gitHead": "81b3d6bf0e833f0e79c4f65a32203136de6edd23"
}

Sorry, the diff of this file is not supported yet

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