Socket
Socket
Sign inDemoInstall

extract-from-css

Package Overview
Dependencies
9
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.1 to 0.2.0

2

lib/index.js
var cssParser = require('css');
var rClassNameInSelector = /\.((?:[\w-]|\\(?:[^A-Fa-f0-9]|[A-Fa-f0-9]{1,6} ?))+)/gm;
var rClassNameInSelector = /\.((?:[^\0-\237]|[A-Za-z0-9_-]|\\(?:[^A-Fa-f0-9]|[A-Fa-f0-9]{1,6} ?))+)/gm;
var rEscapedCharacter = /\\([^A-Fa-f0-9]|[A-Fa-f0-9]{1,6} ?)/g;

@@ -6,0 +6,0 @@ var rEscapedHex = /\\([A-Fa-f0-9]+)/;

{
"name": "extract-from-css",
"version": "0.1.1",
"version": "0.2.0",
"description": "Extract information from CSS code",

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

@@ -7,3 +7,3 @@ # Extract from CSS

Depencencies:
Dependencies:

@@ -28,6 +28,4 @@ * node >=0.8.0

Works with nested rules (inside media queries, supports...), complex selectors, escaped characters... See tests.
Works with nested rules (inside media queries, supports...), complex selectors, escaped characters and utf-8 symbols (♠, ♥, ★...) in class names. See tests.
Pending support for UTF-8 symbols (♠, ♥, ★...).
## Tests

@@ -34,0 +32,0 @@

@@ -62,2 +62,6 @@

});
it('should extract class names with utf-8 characters', function() {
var classNames = extractClasses('.list-★-item { prop: value; }');
expect(classNames).toEqualIgnoreOrder(['list-★-item']);
});
});

@@ -67,11 +71,11 @@

it('should extract class names at the beginning of a complex selector', function() {
var classNames = extractClasses('.class-name#identifier[attr]:hover:after { prop: value; }');
var classNames = extractClasses('.class-name * > tag ~ [attr~="test"] + #identifier:hover:after { prop: value; }');
expect(classNames).toEqualIgnoreOrder(['class-name']);
});
it('should extract class names at the middle of a complex selector', function() {
var classNames = extractClasses('#identifier[attr].class-name:hover:after { prop: value; }');
var classNames = extractClasses('* > tag ~ [attr~="test"].class-name + #identifier:hover:after { prop: value; }');
expect(classNames).toEqualIgnoreOrder(['class-name']);
});
it('should extract class names at the end of a complex selector', function() {
var classNames = extractClasses('#identifier[attr]:hover:after.class-name { prop: value; }');
var classNames = extractClasses('* > tag ~ [attr~="test"] + #identifier:hover:after.class-name { prop: value; }');
expect(classNames).toEqualIgnoreOrder(['class-name']);

@@ -78,0 +82,0 @@ });

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc