Socket
Socket
Sign inDemoInstall

@riotjs/parser

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@riotjs/parser - npm Package Compare versions

Comparing version 4.0.0-rc.1 to 4.0.0-rc.2

4

CHANGELOG.md
# Changes for riot-parser
### v4.0.0-rc.2
- Fix: support spread attributes together with other attribute expressions on the same DOM node
### v4.0.0-rc.1
- Fix https://github.com/riot/riot/issues/2679

@@ -6,0 +8,0 @@ - Add support for `<a {href}>` expression attributes shortcuts

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

const expressionsContentRe = memoize(brackets => RegExp(`(${brackets[0]}[^${brackets[1]}]*?${brackets[1]})`));
const expressionsContentRe = memoize(brackets => RegExp(`(${brackets[0]}[^${brackets[1]}]*?${brackets[1]})`, 'g'));
const isSpreadAttribute = name => SPREAD_OPERATOR.test(name);

@@ -1068,3 +1068,3 @@ const isAttributeExpression = (name, brackets) => name[0] === brackets[0];

const re = ATTR_START; // (\S[^>/=\s]*)(?:\s*=\s*([^>/])?)? g
const start = re.lastIndex = pos; // first non-whitespace
const start = re.lastIndex = expressionContent.lastIndex = pos; // first non-whitespace
const attrMatches = re.exec(data);

@@ -1173,11 +1173,10 @@ const isExpressionName = isAttributeExpression(attrMatches[1], state.options.brackets);

if (isExpressionName) {
if (isSpreadAttribute(attr.name)) {
return parseSpreadAttribute(state, attr)
}
switch (true) {
case isSpreadAttribute(attr.name):
return parseSpreadAttribute(state, attr)
case isExpressionName === true:
return parseExpressionNameAttribute(state, attr)
default:
return parseNomalAttribute(state, attr, quote)
}
return parseNomalAttribute(state, attr, quote)
}

@@ -1184,0 +1183,0 @@

{
"name": "@riotjs/parser",
"version": "4.0.0-rc.1",
"version": "4.0.0-rc.2",
"description": "The parser for Riot tags",

@@ -53,3 +53,3 @@ "main": "./index.js",

"eslint-config-riot": "^2.0.0",
"mocha": "^6.0.2",
"mocha": "^6.1.4",
"nyc": "^13.3.0",

@@ -56,0 +56,0 @@ "rollup": "^1.8.0",

@@ -11,3 +11,3 @@ import {ATTR, TEXT} from '../node-types'

const expressionsContentRe = memoize(brackets => RegExp(`(${brackets[0]}[^${brackets[1]}]*?${brackets[1]})`))
const expressionsContentRe = memoize(brackets => RegExp(`(${brackets[0]}[^${brackets[1]}]*?${brackets[1]})`, 'g'))
const isSpreadAttribute = name => SPREAD_OPERATOR.test(name)

@@ -72,3 +72,3 @@ const isAttributeExpression = (name, brackets) => name[0] === brackets[0]

const re = ATTR_START // (\S[^>/=\s]*)(?:\s*=\s*([^>/])?)? g
const start = re.lastIndex = pos // first non-whitespace
const start = re.lastIndex = expressionContent.lastIndex = pos // first non-whitespace
const attrMatches = re.exec(data)

@@ -177,11 +177,10 @@ const isExpressionName = isAttributeExpression(attrMatches[1], state.options.brackets)

if (isExpressionName) {
if (isSpreadAttribute(attr.name)) {
return parseSpreadAttribute(state, attr)
}
switch (true) {
case isSpreadAttribute(attr.name):
return parseSpreadAttribute(state, attr)
case isExpressionName === true:
return parseExpressionNameAttribute(state, attr)
default:
return parseNomalAttribute(state, attr, quote)
}
return parseNomalAttribute(state, attr, quote)
}
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