Socket
Socket
Sign inDemoInstall

postcss-safe-parser

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-safe-parser - npm Package Compare versions

Comparing version 4.0.1 to 4.0.2

3

CHANGELOG.md
# Change Log
This project adheres to [Semantic Versioning](http://semver.org/).
## 4.0.2
* Fix parsing `:;`.
## 4.0.1

@@ -5,0 +8,0 @@ * Remove development file from npm package.

6

lib/safe-parse.js

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -9,8 +9,6 @@ var Input = require('postcss/lib/input');

var input = new Input(css, opts);
var parser = new SafeParser(input);
parser.parse();
return parser.root;
};
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhZmUtcGFyc2UuZXM2Il0sIm5hbWVzIjpbIklucHV0IiwicmVxdWlyZSIsIlNhZmVQYXJzZXIiLCJtb2R1bGUiLCJleHBvcnRzIiwic2FmZVBhcnNlIiwiY3NzIiwib3B0cyIsImlucHV0IiwicGFyc2VyIiwicGFyc2UiLCJyb290Il0sIm1hcHBpbmdzIjoiOztBQUFBLElBQU1BLFFBQVFDLFFBQVEsbUJBQVIsQ0FBZDs7QUFFQSxJQUFNQyxhQUFhRCxRQUFRLGVBQVIsQ0FBbkI7O0FBRUFFLE9BQU9DLE9BQVAsR0FBaUIsU0FBU0MsU0FBVCxDQUFvQkMsR0FBcEIsRUFBeUJDLElBQXpCLEVBQStCO0FBQzlDLE1BQU1DLFFBQVEsSUFBSVIsS0FBSixDQUFVTSxHQUFWLEVBQWVDLElBQWYsQ0FBZDs7QUFFQSxNQUFNRSxTQUFTLElBQUlQLFVBQUosQ0FBZU0sS0FBZixDQUFmO0FBQ0FDLFNBQU9DLEtBQVA7O0FBRUEsU0FBT0QsT0FBT0UsSUFBZDtBQUNELENBUEQiLCJmaWxlIjoic2FmZS1wYXJzZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IElucHV0ID0gcmVxdWlyZSgncG9zdGNzcy9saWIvaW5wdXQnKVxuXG5jb25zdCBTYWZlUGFyc2VyID0gcmVxdWlyZSgnLi9zYWZlLXBhcnNlcicpXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gc2FmZVBhcnNlIChjc3MsIG9wdHMpIHtcbiAgY29uc3QgaW5wdXQgPSBuZXcgSW5wdXQoY3NzLCBvcHRzKVxuXG4gIGNvbnN0IHBhcnNlciA9IG5ldyBTYWZlUGFyc2VyKGlucHV0KVxuICBwYXJzZXIucGFyc2UoKVxuXG4gIHJldHVybiBwYXJzZXIucm9vdFxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhZmUtcGFyc2UuZXM2Il0sIm5hbWVzIjpbIklucHV0IiwicmVxdWlyZSIsIlNhZmVQYXJzZXIiLCJtb2R1bGUiLCJleHBvcnRzIiwic2FmZVBhcnNlIiwiY3NzIiwib3B0cyIsImlucHV0IiwicGFyc2VyIiwicGFyc2UiLCJyb290Il0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLEtBQUssR0FBR0MsT0FBTyxDQUFDLG1CQUFELENBQW5COztBQUVBLElBQUlDLFVBQVUsR0FBR0QsT0FBTyxDQUFDLGVBQUQsQ0FBeEI7O0FBRUFFLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixTQUFTQyxTQUFULENBQW9CQyxHQUFwQixFQUF5QkMsSUFBekIsRUFBK0I7QUFDOUMsTUFBSUMsS0FBSyxHQUFHLElBQUlSLEtBQUosQ0FBVU0sR0FBVixFQUFlQyxJQUFmLENBQVo7QUFFQSxNQUFJRSxNQUFNLEdBQUcsSUFBSVAsVUFBSixDQUFlTSxLQUFmLENBQWI7QUFDQUMsRUFBQUEsTUFBTSxDQUFDQyxLQUFQO0FBRUEsU0FBT0QsTUFBTSxDQUFDRSxJQUFkO0FBQ0QsQ0FQRCIsInNvdXJjZXNDb250ZW50IjpbImxldCBJbnB1dCA9IHJlcXVpcmUoJ3Bvc3Rjc3MvbGliL2lucHV0JylcblxubGV0IFNhZmVQYXJzZXIgPSByZXF1aXJlKCcuL3NhZmUtcGFyc2VyJylcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBzYWZlUGFyc2UgKGNzcywgb3B0cykge1xuICBsZXQgaW5wdXQgPSBuZXcgSW5wdXQoY3NzLCBvcHRzKVxuXG4gIGxldCBwYXJzZXIgPSBuZXcgU2FmZVBhcnNlcihpbnB1dClcbiAgcGFyc2VyLnBhcnNlKClcblxuICByZXR1cm4gcGFyc2VyLnJvb3Rcbn1cbiJdLCJmaWxlIjoic2FmZS1wYXJzZS5qcyJ9

@@ -1,31 +0,35 @@

'use strict';
"use strict";
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
var tokenizer = require('postcss/lib/tokenize');
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Comment = require('postcss/lib/comment');
var tokenizer = require('postcss/lib/tokenize');
var Comment = require('postcss/lib/comment');
var Parser = require('postcss/lib/parser');
var SafeParser = function (_Parser) {
_inherits(SafeParser, _Parser);
var SafeParser =
/*#__PURE__*/
function (_Parser) {
_inheritsLoose(SafeParser, _Parser);
function SafeParser() {
_classCallCheck(this, SafeParser);
return _possibleConstructorReturn(this, _Parser.apply(this, arguments));
return _Parser.apply(this, arguments) || this;
}
SafeParser.prototype.createTokenizer = function createTokenizer() {
this.tokenizer = tokenizer(this.input, { ignoreErrors: true });
var _proto = SafeParser.prototype;
_proto.createTokenizer = function createTokenizer() {
this.tokenizer = tokenizer(this.input, {
ignoreErrors: true
});
};
SafeParser.prototype.comment = function comment(token) {
_proto.comment = function comment(token) {
var node = new Comment();
this.init(node, token[2], token[3]);
node.source.end = { line: token[4], column: token[5] };
node.source.end = {
line: token[4],
column: token[5]
};
var text = token[1].slice(2);

@@ -39,3 +43,3 @@ if (text.slice(-2) === '*/') text = text.slice(0, -2);

} else {
var match = text.match(/^(\s*)([^]*[^\s])(\s*)$/);
var match = text.match(/^(\s*)([^]*\S)(\s*)$/);
node.text = match[2];

@@ -47,4 +51,6 @@ node.raws.left = match[1];

SafeParser.prototype.decl = function decl(tokens) {
if (tokens.length > 1) {
_proto.decl = function decl(tokens) {
if (tokens.length > 1 && tokens.some(function (i) {
return i[0] === 'word';
})) {
_Parser.prototype.decl.call(this, tokens);

@@ -54,5 +60,5 @@ }

SafeParser.prototype.unclosedBracket = function unclosedBracket() {};
_proto.unclosedBracket = function unclosedBracket() {};
SafeParser.prototype.unknownWord = function unknownWord(tokens) {
_proto.unknownWord = function unknownWord(tokens) {
this.spaces += tokens.map(function (i) {

@@ -63,20 +69,21 @@ return i[1];

SafeParser.prototype.unexpectedClose = function unexpectedClose() {
_proto.unexpectedClose = function unexpectedClose() {
this.current.raws.after += '}';
};
SafeParser.prototype.doubleColon = function doubleColon() {};
_proto.doubleColon = function doubleColon() {};
SafeParser.prototype.unnamedAtrule = function unnamedAtrule(node) {
_proto.unnamedAtrule = function unnamedAtrule(node) {
node.name = '';
};
SafeParser.prototype.precheckMissedSemicolon = function precheckMissedSemicolon(tokens) {
_proto.precheckMissedSemicolon = function precheckMissedSemicolon(tokens) {
var colon = this.colon(tokens);
if (colon === false) return;
var split;
var split = void 0;
for (split = colon - 1; split >= 0; split--) {
if (tokens[split][0] === 'word') break;
}
for (split -= 1; split >= 0; split--) {

@@ -88,2 +95,3 @@ if (tokens[split][0] !== 'space') {

}
var other = tokens.splice(split, tokens.length - split);

@@ -93,8 +101,9 @@ this.decl(other);

SafeParser.prototype.checkMissedSemicolon = function checkMissedSemicolon() {};
_proto.checkMissedSemicolon = function checkMissedSemicolon() {};
SafeParser.prototype.endFile = function endFile() {
_proto.endFile = function endFile() {
if (this.current.nodes && this.current.nodes.length) {
this.current.raws.semicolon = this.semicolon;
}
this.current.raws.after = (this.current.raws.after || '') + this.spaces;

@@ -112,2 +121,2 @@

module.exports = SafeParser;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhZmUtcGFyc2VyLmVzNiJdLCJuYW1lcyI6WyJ0b2tlbml6ZXIiLCJyZXF1aXJlIiwiQ29tbWVudCIsIlBhcnNlciIsIlNhZmVQYXJzZXIiLCJjcmVhdGVUb2tlbml6ZXIiLCJpbnB1dCIsImlnbm9yZUVycm9ycyIsImNvbW1lbnQiLCJ0b2tlbiIsIm5vZGUiLCJpbml0Iiwic291cmNlIiwiZW5kIiwibGluZSIsImNvbHVtbiIsInRleHQiLCJzbGljZSIsInRlc3QiLCJyYXdzIiwibGVmdCIsInJpZ2h0IiwibWF0Y2giLCJkZWNsIiwidG9rZW5zIiwibGVuZ3RoIiwidW5jbG9zZWRCcmFja2V0IiwidW5rbm93bldvcmQiLCJzcGFjZXMiLCJtYXAiLCJpIiwiam9pbiIsInVuZXhwZWN0ZWRDbG9zZSIsImN1cnJlbnQiLCJhZnRlciIsImRvdWJsZUNvbG9uIiwidW5uYW1lZEF0cnVsZSIsIm5hbWUiLCJwcmVjaGVja01pc3NlZFNlbWljb2xvbiIsImNvbG9uIiwic3BsaXQiLCJvdGhlciIsInNwbGljZSIsImNoZWNrTWlzc2VkU2VtaWNvbG9uIiwiZW5kRmlsZSIsIm5vZGVzIiwic2VtaWNvbG9uIiwicGFyZW50IiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFNQSxZQUFZQyxRQUFRLHNCQUFSLENBQWxCO0FBQ0EsSUFBTUMsVUFBVUQsUUFBUSxxQkFBUixDQUFoQjtBQUNBLElBQU1FLFNBQVNGLFFBQVEsb0JBQVIsQ0FBZjs7SUFFTUcsVTs7Ozs7Ozs7O3VCQUNKQyxlLDhCQUFtQjtBQUNqQixTQUFLTCxTQUFMLEdBQWlCQSxVQUFVLEtBQUtNLEtBQWYsRUFBc0IsRUFBRUMsY0FBYyxJQUFoQixFQUF0QixDQUFqQjtBQUNELEc7O3VCQUVEQyxPLG9CQUFTQyxLLEVBQU87QUFDZCxRQUFNQyxPQUFPLElBQUlSLE9BQUosRUFBYjtBQUNBLFNBQUtTLElBQUwsQ0FBVUQsSUFBVixFQUFnQkQsTUFBTSxDQUFOLENBQWhC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Q0FBQyxLQUFLRCxPQUFMLENBQWFkLElBQWIsQ0FBa0JlLEtBQWxCLElBQTJCLEVBQTVCLElBQWtDLEtBQUtOLE1BQWpFOztBQUVBLFdBQU8sS0FBS0ssT0FBTCxDQUFhYyxNQUFwQixFQUE0QjtBQUMxQixXQUFLZCxPQUFMLEdBQWUsS0FBS0EsT0FBTCxDQUFhYyxNQUE1QjtBQUNBLFdBQUtkLE9BQUwsQ0FBYWQsSUFBYixDQUFrQmUsS0FBbEIsR0FBMEIsRUFBMUI7QUFDRDtBQUNGLEc7OztFQTdFc0IvQixNOztBQWdGekI2QyxPQUFPQyxPQUFQLEdBQWlCN0MsVUFBakIiLCJmaWxlIjoic2FmZS1wYXJzZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0b2tlbml6ZXIgPSByZXF1aXJlKCdwb3N0Y3NzL2xpYi90b2tlbml6ZScpXG5jb25zdCBDb21tZW50ID0gcmVxdWlyZSgncG9zdGNzcy9saWIvY29tbWVudCcpXG5jb25zdCBQYXJzZXIgPSByZXF1aXJlKCdwb3N0Y3NzL2xpYi9wYXJzZXInKVxuXG5jbGFzcyBTYWZlUGFyc2VyIGV4dGVuZHMgUGFyc2VyIHtcbiAgY3JlYXRlVG9rZW5pemVyICgpIHtcbiAgICB0aGlzLnRva2VuaXplciA9IHRva2VuaXplcih0aGlzLmlucHV0LCB7IGlnbm9yZUVycm9yczogdHJ1ZSB9KVxuICB9XG5cbiAgY29tbWVudCAodG9rZW4pIHtcbiAgICBjb25zdCBub2RlID0gbmV3IENvbW1lbnQoKVxuICAgIHRoaXMuaW5pdChub2RlLCB0b2tlblsyXSwgdG9rZW5bM10pXG4gICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiB0b2tlbls0XSwgY29sdW1uOiB0b2tlbls1XSB9XG5cbiAgICBsZXQgdGV4dCA9IHRva2VuWzFdLnNsaWNlKDIpXG4gICAgaWYgKHRleHQuc2xpY2UoLTIpID09PSAnKi8nKSB0ZXh0ID0gdGV4dC5zbGljZSgwLCAtMilcblxuICAgIGlmICgvXlxccyokLy50ZXN0KHRleHQpKSB7XG4gICAgICBub2RlLnRleHQgPSAnJ1xuICAgICAgbm9kZS5yYXdzLmxlZnQgPSB0ZXh0XG4gICAgICBub2RlLnJhd3MucmlnaHQgPSAnJ1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHRleHQubWF0Y2goL14oXFxzKikoW15dKlteXFxzXSkoXFxzKikkLylcbiAgICAgIG5vZGUudGV4dCA9IG1hdGNoWzJdXG4gICAgICBub2RlLnJhd3MubGVmdCA9IG1hdGNoWzFdXG4gICAgICBub2RlLnJhd3MucmlnaHQgPSBtYXRjaFszXVxuICAgIH1cbiAgfVxuXG4gIGRlY2wgKHRva2Vucykge1xuICAgIGlmICh0b2tlbnMubGVuZ3RoID4gMSkge1xuICAgICAgc3VwZXIuZGVjbCh0b2tlbnMpXG4gICAgfVxuICB9XG5cbiAgdW5jbG9zZWRCcmFja2V0ICgpIHsgfVxuXG4gIHVua25vd25Xb3JkICh0b2tlbnMpIHtcbiAgICB0aGlzLnNwYWNlcyArPSB0b2tlbnMubWFwKGkgPT4gaVsxXSkuam9pbignJylcbiAgfVxuXG4gIHVuZXhwZWN0ZWRDbG9zZSAoKSB7XG4gICAgdGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXIgKz0gJ30nXG4gIH1cblxuICBkb3VibGVDb2xvbiAoKSB7IH1cblxuICB1bm5hbWVkQXRydWxlIChub2RlKSB7XG4gICAgbm9kZS5uYW1lID0gJydcbiAgfVxuXG4gIHByZWNoZWNrTWlzc2VkU2VtaWNvbG9uICh0b2tlbnMpIHtcbiAgICBjb25zdCBjb2xvbiA9IHRoaXMuY29sb24odG9rZW5zKVxuICAgIGlmIChjb2xvbiA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgbGV0IHNwbGl0XG4gICAgZm9yIChzcGxpdCA9IGNvbG9uIC0gMTsgc3BsaXQgPj0gMDsgc3BsaXQtLSkge1xuICAgICAgaWYgKHRva2Vuc1tzcGxpdF1bMF0gPT09ICd3b3JkJykgYnJlYWtcbiAgICB9XG4gICAgZm9yIChzcGxpdCAtPSAxOyBzcGxpdCA+PSAwOyBzcGxpdC0tKSB7XG4gICAgICBpZiAodG9rZW5zW3NwbGl0XVswXSAhPT0gJ3NwYWNlJykge1xuICAgICAgICBzcGxpdCArPSAxXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG90aGVyID0gdG9rZW5zLnNwbGljZShzcGxpdCwgdG9rZW5zLmxlbmd0aCAtIHNwbGl0KVxuICAgIHRoaXMuZGVjbChvdGhlcilcbiAgfVxuXG4gIGNoZWNrTWlzc2VkU2VtaWNvbG9uICgpIHsgfVxuXG4gIGVuZEZpbGUgKCkge1xuICAgIGlmICh0aGlzLmN1cnJlbnQubm9kZXMgJiYgdGhpcy5jdXJyZW50Lm5vZGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uID0gdGhpcy5zZW1pY29sb25cbiAgICB9XG4gICAgdGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXIgPSAodGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXIgfHwgJycpICsgdGhpcy5zcGFjZXNcblxuICAgIHdoaWxlICh0aGlzLmN1cnJlbnQucGFyZW50KSB7XG4gICAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLmN1cnJlbnQucGFyZW50XG4gICAgICB0aGlzLmN1cnJlbnQucmF3cy5hZnRlciA9ICcnXG4gICAgfVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gU2FmZVBhcnNlclxuIl19
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNhZmUtcGFyc2VyLmVzNiJdLCJuYW1lcyI6WyJ0b2tlbml6ZXIiLCJyZXF1aXJlIiwiQ29tbWVudCIsIlBhcnNlciIsIlNhZmVQYXJzZXIiLCJjcmVhdGVUb2tlbml6ZXIiLCJpbnB1dCIsImlnbm9yZUVycm9ycyIsImNvbW1lbnQiLCJ0b2tlbiIsIm5vZGUiLCJpbml0Iiwic291cmNlIiwiZW5kIiwibGluZSIsImNvbHVtbiIsInRleHQiLCJzbGljZSIsInRlc3QiLCJyYXdzIiwibGVmdCIsInJpZ2h0IiwibWF0Y2giLCJkZWNsIiwidG9rZW5zIiwibGVuZ3RoIiwic29tZSIsImkiLCJ1bmNsb3NlZEJyYWNrZXQiLCJ1bmtub3duV29yZCIsInNwYWNlcyIsIm1hcCIsImpvaW4iLCJ1bmV4cGVjdGVkQ2xvc2UiLCJjdXJyZW50IiwiYWZ0ZXIiLCJkb3VibGVDb2xvbiIsInVubmFtZWRBdHJ1bGUiLCJuYW1lIiwicHJlY2hlY2tNaXNzZWRTZW1pY29sb24iLCJjb2xvbiIsInNwbGl0Iiwib3RoZXIiLCJzcGxpY2UiLCJjaGVja01pc3NlZFNlbWljb2xvbiIsImVuZEZpbGUiLCJub2RlcyIsInNlbWljb2xvbiIsInBhcmVudCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFJQSxTQUFTLEdBQUdDLE9BQU8sQ0FBQyxzQkFBRCxDQUF2Qjs7QUFDQSxJQUFJQyxPQUFPLEdBQUdELE9BQU8sQ0FBQyxxQkFBRCxDQUFyQjs7QUFDQSxJQUFJRSxNQUFNLEdBQUdGLE9BQU8sQ0FBQyxvQkFBRCxDQUFwQjs7SUFFTUcsVTs7Ozs7Ozs7Ozs7U0FDSkMsZSxHQUFBLDJCQUFtQjtBQUNqQixTQUFLTCxTQUFMLEdBQWlCQSxTQUFTLENBQUMsS0FBS00sS0FBTixFQUFhO0FBQUVDLE1BQUFBLFlBQVksRUFBRTtBQUFoQixLQUFiLENBQTFCO0FBQ0QsRzs7U0FFREMsTyxHQUFBLGlCQUFTQyxLQUFULEVBQWdCO0FBQ2QsUUFBSUMsSUFBSSxH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QUFpQkEsS0FBSyxJQUFJLENBQTFCLEVBQTZCQSxLQUFLLEVBQWxDLEVBQXNDO0FBQ3BDLFVBQUlqQixNQUFNLENBQUNpQixLQUFELENBQU4sQ0FBYyxDQUFkLE1BQXFCLE9BQXpCLEVBQWtDO0FBQ2hDQSxRQUFBQSxLQUFLLElBQUksQ0FBVDtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxRQUFJQyxLQUFLLEdBQUdsQixNQUFNLENBQUNtQixNQUFQLENBQWNGLEtBQWQsRUFBcUJqQixNQUFNLENBQUNDLE1BQVAsR0FBZ0JnQixLQUFyQyxDQUFaO0FBQ0EsU0FBS2xCLElBQUwsQ0FBVW1CLEtBQVY7QUFDRCxHOztTQUVERSxvQixHQUFBLGdDQUF3QixDQUFHLEM7O1NBRTNCQyxPLEdBQUEsbUJBQVc7QUFDVCxRQUFJLEtBQUtYLE9BQUwsQ0FBYVksS0FBYixJQUFzQixLQUFLWixPQUFMLENBQWFZLEtBQWIsQ0FBbUJyQixNQUE3QyxFQUFxRDtBQUNuRCxXQUFLUyxPQUFMLENBQWFmLElBQWIsQ0FBa0I0QixTQUFsQixHQUE4QixLQUFLQSxTQUFuQztBQUNEOztBQUNELFNBQUtiLE9BQUwsQ0FBYWYsSUFBYixDQUFrQmdCLEtBQWxCLEdBQTBCLENBQUMsS0FBS0QsT0FBTCxDQUFhZixJQUFiLENBQWtCZ0IsS0FBbEIsSUFBMkIsRUFBNUIsSUFBa0MsS0FBS0wsTUFBakU7O0FBRUEsV0FBTyxLQUFLSSxPQUFMLENBQWFjLE1BQXBCLEVBQTRCO0FBQzFCLFdBQUtkLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFjLE1BQTVCO0FBQ0EsV0FBS2QsT0FBTCxDQUFhZixJQUFiLENBQWtCZ0IsS0FBbEIsR0FBMEIsRUFBMUI7QUFDRDtBQUNGLEc7OztFQTdFc0JoQyxNOztBQWdGekI4QyxNQUFNLENBQUNDLE9BQVAsR0FBaUI5QyxVQUFqQiIsInNvdXJjZXNDb250ZW50IjpbImxldCB0b2tlbml6ZXIgPSByZXF1aXJlKCdwb3N0Y3NzL2xpYi90b2tlbml6ZScpXG5sZXQgQ29tbWVudCA9IHJlcXVpcmUoJ3Bvc3Rjc3MvbGliL2NvbW1lbnQnKVxubGV0IFBhcnNlciA9IHJlcXVpcmUoJ3Bvc3Rjc3MvbGliL3BhcnNlcicpXG5cbmNsYXNzIFNhZmVQYXJzZXIgZXh0ZW5kcyBQYXJzZXIge1xuICBjcmVhdGVUb2tlbml6ZXIgKCkge1xuICAgIHRoaXMudG9rZW5pemVyID0gdG9rZW5pemVyKHRoaXMuaW5wdXQsIHsgaWdub3JlRXJyb3JzOiB0cnVlIH0pXG4gIH1cblxuICBjb21tZW50ICh0b2tlbikge1xuICAgIGxldCBub2RlID0gbmV3IENvbW1lbnQoKVxuICAgIHRoaXMuaW5pdChub2RlLCB0b2tlblsyXSwgdG9rZW5bM10pXG4gICAgbm9kZS5zb3VyY2UuZW5kID0geyBsaW5lOiB0b2tlbls0XSwgY29sdW1uOiB0b2tlbls1XSB9XG5cbiAgICBsZXQgdGV4dCA9IHRva2VuWzFdLnNsaWNlKDIpXG4gICAgaWYgKHRleHQuc2xpY2UoLTIpID09PSAnKi8nKSB0ZXh0ID0gdGV4dC5zbGljZSgwLCAtMilcblxuICAgIGlmICgvXlxccyokLy50ZXN0KHRleHQpKSB7XG4gICAgICBub2RlLnRleHQgPSAnJ1xuICAgICAgbm9kZS5yYXdzLmxlZnQgPSB0ZXh0XG4gICAgICBub2RlLnJhd3MucmlnaHQgPSAnJ1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbWF0Y2ggPSB0ZXh0Lm1hdGNoKC9eKFxccyopKFteXSpcXFMpKFxccyopJC8pXG4gICAgICBub2RlLnRleHQgPSBtYXRjaFsyXVxuICAgICAgbm9kZS5yYXdzLmxlZnQgPSBtYXRjaFsxXVxuICAgICAgbm9kZS5yYXdzLnJpZ2h0ID0gbWF0Y2hbM11cbiAgICB9XG4gIH1cblxuICBkZWNsICh0b2tlbnMpIHtcbiAgICBpZiAodG9rZW5zLmxlbmd0aCA+IDEgJiYgdG9rZW5zLnNvbWUoaSA9PiBpWzBdID09PSAnd29yZCcpKSB7XG4gICAgICBzdXBlci5kZWNsKHRva2VucylcbiAgICB9XG4gIH1cblxuICB1bmNsb3NlZEJyYWNrZXQgKCkgeyB9XG5cbiAgdW5rbm93bldvcmQgKHRva2Vucykge1xuICAgIHRoaXMuc3BhY2VzICs9IHRva2Vucy5tYXAoaSA9PiBpWzFdKS5qb2luKCcnKVxuICB9XG5cbiAgdW5leHBlY3RlZENsb3NlICgpIHtcbiAgICB0aGlzLmN1cnJlbnQucmF3cy5hZnRlciArPSAnfSdcbiAgfVxuXG4gIGRvdWJsZUNvbG9uICgpIHsgfVxuXG4gIHVubmFtZWRBdHJ1bGUgKG5vZGUpIHtcbiAgICBub2RlLm5hbWUgPSAnJ1xuICB9XG5cbiAgcHJlY2hlY2tNaXNzZWRTZW1pY29sb24gKHRva2Vucykge1xuICAgIGxldCBjb2xvbiA9IHRoaXMuY29sb24odG9rZW5zKVxuICAgIGlmIChjb2xvbiA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgbGV0IHNwbGl0XG4gICAgZm9yIChzcGxpdCA9IGNvbG9uIC0gMTsgc3BsaXQgPj0gMDsgc3BsaXQtLSkge1xuICAgICAgaWYgKHRva2Vuc1tzcGxpdF1bMF0gPT09ICd3b3JkJykgYnJlYWtcbiAgICB9XG4gICAgZm9yIChzcGxpdCAtPSAxOyBzcGxpdCA+PSAwOyBzcGxpdC0tKSB7XG4gICAgICBpZiAodG9rZW5zW3NwbGl0XVswXSAhPT0gJ3NwYWNlJykge1xuICAgICAgICBzcGxpdCArPSAxXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIGxldCBvdGhlciA9IHRva2Vucy5zcGxpY2Uoc3BsaXQsIHRva2Vucy5sZW5ndGggLSBzcGxpdClcbiAgICB0aGlzLmRlY2wob3RoZXIpXG4gIH1cblxuICBjaGVja01pc3NlZFNlbWljb2xvbiAoKSB7IH1cblxuICBlbmRGaWxlICgpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50Lm5vZGVzICYmIHRoaXMuY3VycmVudC5ub2Rlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY3VycmVudC5yYXdzLnNlbWljb2xvbiA9IHRoaXMuc2VtaWNvbG9uXG4gICAgfVxuICAgIHRoaXMuY3VycmVudC5yYXdzLmFmdGVyID0gKHRoaXMuY3VycmVudC5yYXdzLmFmdGVyIHx8ICcnKSArIHRoaXMuc3BhY2VzXG5cbiAgICB3aGlsZSAodGhpcy5jdXJyZW50LnBhcmVudCkge1xuICAgICAgdGhpcy5jdXJyZW50ID0gdGhpcy5jdXJyZW50LnBhcmVudFxuICAgICAgdGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXIgPSAnJ1xuICAgIH1cbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IFNhZmVQYXJzZXJcbiJdLCJmaWxlIjoic2FmZS1wYXJzZXIuanMifQ==
{
"name": "postcss-safe-parser",
"version": "4.0.1",
"version": "4.0.2",
"description": "Fault-tolerant CSS parser for PostCSS",

@@ -12,2 +12,7 @@ "keywords": [

],
"scripts": {
"clean": "del-cli build/ lib/*.js",
"build": "yarn clean && gulp build",
"test": "gulp build && eslint-ci . && jest && ./test/integration.js"
},
"author": "Andrey Sitnik <andrey@sitnik.ru>",

@@ -20,41 +25,34 @@ "license": "MIT",

"dependencies": {
"postcss": "^7.0.0"
"postcss": "^7.0.26"
},
"devDependencies": {
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.6",
"babel-plugin-add-module-exports": "^0.2.1",
"babel-plugin-precompile-charcodes": "^1.1.0",
"babel-preset-env": "^1.7.0",
"del": "^3.0.0",
"eslint": "^5.1.0",
"eslint-config-logux": "^23.0.2",
"eslint-config-postcss": "^3.0.2",
"eslint-config-standard": "^11.0.0",
"eslint-plugin-import": "^2.13.0",
"eslint-plugin-jest": "^21.17.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-promise": "^3.8.0",
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@logux/eslint-config": "^35.0.4",
"babel-plugin-add-module-exports": "^1.0.2",
"ci-job-number": "^0.3.1",
"del-cli": "^3.0.0",
"eslint": "^6.8.0",
"eslint-ci": "^1.0.0",
"eslint-config-standard": "^14.1.0",
"eslint-plugin-es5": "^1.5.0",
"eslint-plugin-import": "^2.20.1",
"eslint-plugin-jest": "^23.6.0",
"eslint-plugin-node": "^11.0.0",
"eslint-plugin-prefer-let": "^1.0.1",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-security": "^1.4.0",
"eslint-plugin-standard": "^3.1.0",
"gulp": "^3.9.1",
"gulp-babel": "^7.0.1",
"gulp-changed": "^3.2.0",
"gulp-eslint": "^5.0.0",
"gulp-jest": "^4.0.2",
"gulp-sourcemaps": "^2.6.4",
"jest": "^23.4.1",
"jest-cli": "^23.4.1",
"lint-staged": "^7.2.0",
"postcss-parser-tests": "^6.3.0",
"pre-commit": "^1.1.3",
"run-sequence": "^2.2.1"
"eslint-plugin-standard": "^4.0.1",
"eslint-plugin-unicorn": "^16.0.0",
"gulp": "^4.0.2",
"gulp-babel": "^8.0.0",
"gulp-sourcemaps": "^2.6.5",
"husky": "^4.2.1",
"jest": "^25.1.0",
"lint-staged": "^10.0.7",
"postcss-parser-tests": "^6.5.0",
"pre-commit": "^1.1.3"
},
"scripts": {
"lint-staged": "lint-staged",
"test": "gulp"
},
"eslintConfig": {
"parser": "babel-eslint",
"extends": "eslint-config-postcss",
"extends": "@logux/eslint-config/node",
"overrides": [

@@ -72,2 +70,6 @@ {

},
"eslintIgnore": [
"build/",
"lib/*.js"
],
"jest": {

@@ -82,13 +84,4 @@ "testEnvironment": "node",

[
"env",
"@babel/env",
{
"targets": {
"browsers": [
"last 2 version",
"not dead",
"not Explorer 11",
"not ExplorerMobile 11"
],
"node": 6
},
"loose": true

@@ -99,14 +92,16 @@ }

"plugins": [
"add-module-exports",
"precompile-charcodes"
"add-module-exports"
]
},
"main": "lib/safe-parse",
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"gulpfile.js": "eslint",
"test/*.js": "eslint",
"lib/*.es6": "eslint"
},
"pre-commit": [
"lint-staged"
]
}
}
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