You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

cssx-framework

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cssx-framework - npm Package Compare versions

Comparing version

to
0.0.19

2

package.json
{
"name": "cssx-framework",
"version": "0.0.18",
"version": "0.0.19",
"description": "A CSS driven web framework that compiles semi-standard CSS into HTML content + styles at runtime",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -8,4 +8,16 @@ import { ariaAttributes } from 'aria-attributes'

const GET_PROPERTY_VALUE_REGEX = /\:\s*(.*)\s*\;/
const GET_PROPERTY_VALUE_REGEX_TEXT = /\:\s*(.*)\s*\;/
const GET_PROPERTY_VALUE_REGEX = /[^:\s][^:\n]*$/
const getRegex = (text) =>
text.split(CHARS.COLON).length - 1 > 1 || !text.includes(CHARS.DOUBLE_QUOTE)
? {
string: GET_PROPERTY_VALUE_REGEX_TEXT,
index: 1
}
: {
string: GET_PROPERTY_VALUE_REGEX,
index: 0
}
/**

@@ -19,3 +31,3 @@ * Used to unescape strings that are wrapped in double quotes.

const parseAttributeValue = (text) =>
JSON.parse(text.startsWith(CHARS.DOUBLE_QUOTE) ? text : `${CHARS.DOUBLE_QUOTE}${text}${CHARS.DOUBLE_QUOTE}`)
JSON.parse(text.startsWith(CHARS.DOUBLE_QUOTE) ? text.substring(0, text.lastIndexOf(CHARS.DOUBLE_QUOTE) + 1) : `${CHARS.DOUBLE_QUOTE}${text}${CHARS.DOUBLE_QUOTE}`)

@@ -68,7 +80,9 @@ /**

.forEach(attribute => {
var value = text.match(GET_PROPERTY_VALUE_REGEX)[1]
var regex = getRegex(text)
var value = (text.match(regex.string) ?? [])[regex.index] ?? ''
html = {
name: attribute,
value: parseAttributeValue(value),
type: 'attribute'
type: 'attribute',
isEndMultiline: value.trim().endsWith(`${CHARS.DOUBLE_QUOTE}${CHARS.SEMICOLON}`)
}

@@ -102,3 +116,4 @@ })

if (obj.name.includes(`${CHARS.DOUBLE_HYPHEN}text`)) {
var value = obj.name.match(GET_PROPERTY_VALUE_REGEX)[1]
var regex = getRegex(obj.name)
var value = obj.name.match(regex.string)[regex.index]
returnText = parseAttributeValue(value)

@@ -105,0 +120,0 @@ }

@@ -25,2 +25,3 @@ import { readFileSync } from 'fs'

var mixins = []
var trackedMultilineAttribute = null

@@ -40,2 +41,8 @@ var recursion = function(input) {

if (trackedMultilineAttribute)
treeNode = {
...treeNode,
name: `${CHARS.DOUBLE_HYPHEN}${trackedMultilineAttribute.name}${CHARS.COLON} ${treeNode.name}`
}
// If the current line is an import statement, process the file to retrieve any relevant mixins into memory

@@ -57,2 +64,10 @@ // This block doesn't return anything because the import statement is not a part of the final tree, it's just providing code references

if (trackedMultilineAttribute && treeNode.isEndMultiline)
trackedMultilineAttribute = null
if (treeNode.type === 'attribute' && treeNode.value === '') {
trackedMultilineAttribute = treeNode
return
}
// Add or remove parents from tracked hierarchy based on braces

@@ -59,0 +74,0 @@ // If a mixin was the most recent parent being dropped from the list, add it to the list of known mixins