postcss-custom-selectors
Advanced tools
Comparing version 5.1.2 to 6.0.0
# Changes to PostCSS Custom Selectors | ||
### 6.0.0 (January 12, 2021) | ||
- Added: Support for PostCSS v8 | ||
- Added: Support for Node v10+ | ||
- Fixed: importing from multiple sources ([#42](https://github.com/postcss/postcss-custom-selectors/pull/42)) | ||
### 5.1.2 (September 20, 2018) | ||
@@ -4,0 +10,0 @@ |
504
index.cjs.js
'use strict'; | ||
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } | ||
var parser = require('postcss-selector-parser'); | ||
var fs = require('fs'); | ||
var path = require('path'); | ||
var postcss = require('postcss'); | ||
var parser = _interopDefault(require('postcss-selector-parser')); | ||
var fs = _interopDefault(require('fs')); | ||
var path = _interopDefault(require('path')); | ||
var postcss = _interopDefault(require('postcss')); | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { | ||
try { | ||
var info = gen[key](arg); | ||
var value = info.value; | ||
} catch (error) { | ||
reject(error); | ||
return; | ||
} | ||
if (info.done) { | ||
resolve(value); | ||
} else { | ||
Promise.resolve(value).then(_next, _throw); | ||
} | ||
function _interopNamespace(e) { | ||
if (e && e.__esModule) return e; | ||
var n = Object.create(null); | ||
if (e) { | ||
Object.keys(e).forEach(function (k) { | ||
if (k !== 'default') { | ||
var d = Object.getOwnPropertyDescriptor(e, k); | ||
Object.defineProperty(n, k, d.get ? d : { | ||
enumerable: true, | ||
get: function () { | ||
return e[k]; | ||
} | ||
}); | ||
} | ||
}); | ||
} | ||
n['default'] = e; | ||
return Object.freeze(n); | ||
} | ||
function _asyncToGenerator(fn) { | ||
return function () { | ||
var self = this, | ||
args = arguments; | ||
return new Promise(function (resolve, reject) { | ||
var gen = fn.apply(self, args); | ||
var parser__default = /*#__PURE__*/_interopDefaultLegacy(parser); | ||
var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); | ||
var path__default = /*#__PURE__*/_interopDefaultLegacy(path); | ||
var postcss__default = /*#__PURE__*/_interopDefaultLegacy(postcss); | ||
function _next(value) { | ||
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); | ||
} | ||
function _throw(err) { | ||
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); | ||
} | ||
_next(undefined); | ||
}); | ||
}; | ||
} | ||
function _defineProperty(obj, key, value) { | ||
if (key in obj) { | ||
Object.defineProperty(obj, key, { | ||
value: value, | ||
enumerable: true, | ||
configurable: true, | ||
writable: true | ||
}); | ||
} else { | ||
obj[key] = value; | ||
} | ||
return obj; | ||
} | ||
function _objectSpread(target) { | ||
for (var i = 1; i < arguments.length; i++) { | ||
var source = arguments[i] != null ? arguments[i] : {}; | ||
var ownKeys = Object.keys(source); | ||
if (typeof Object.getOwnPropertySymbols === 'function') { | ||
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { | ||
return Object.getOwnPropertyDescriptor(source, sym).enumerable; | ||
})); | ||
} | ||
ownKeys.forEach(function (key) { | ||
_defineProperty(target, key, source[key]); | ||
}); | ||
} | ||
return target; | ||
} | ||
function _slicedToArray(arr, i) { | ||
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); | ||
} | ||
function _arrayWithHoles(arr) { | ||
if (Array.isArray(arr)) return arr; | ||
} | ||
function _iterableToArrayLimit(arr, i) { | ||
var _arr = []; | ||
var _n = true; | ||
var _d = false; | ||
var _e = undefined; | ||
try { | ||
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { | ||
_arr.push(_s.value); | ||
if (i && _arr.length === i) break; | ||
} | ||
} catch (err) { | ||
_d = true; | ||
_e = err; | ||
} finally { | ||
try { | ||
if (!_n && _i["return"] != null) _i["return"](); | ||
} finally { | ||
if (_d) throw _e; | ||
} | ||
} | ||
return _arr; | ||
} | ||
function _nonIterableRest() { | ||
throw new TypeError("Invalid attempt to destructure non-iterable instance"); | ||
} | ||
/* Return a Selectors AST from a Selectors String | ||
@@ -123,3 +40,3 @@ /* ========================================================================== */ | ||
let selectorAST; | ||
parser(selectors => { | ||
parser__default['default'](selectors => { | ||
selectorAST = selectors; | ||
@@ -137,8 +54,4 @@ }).processSync(selectorString); | ||
// extract the name and selectors from the params of the custom selector | ||
const _node$params$match = node.params.match(customSelectorParamsRegExp), | ||
_node$params$match2 = _slicedToArray(_node$params$match, 3), | ||
name = _node$params$match2[1], | ||
selectors = _node$params$match2[2]; // write the parsed selectors to the custom selector | ||
const [, name, selectors] = node.params.match(customSelectorParamsRegExp); // write the parsed selectors to the custom selector | ||
customSelectors[name] = getSelectorsAstFromSelectorsString(selectors); // conditionally remove the custom selector atrule | ||
@@ -181,42 +94,24 @@ | ||
for (const index in selector.nodes) { | ||
const _selector$nodes$index = selector.nodes[index], | ||
value = _selector$nodes$index.value, | ||
nodes = _selector$nodes$index.nodes; | ||
const { | ||
value, | ||
nodes | ||
} = selector.nodes[index]; | ||
if (value in customSelectors) { | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
for (const replacementSelector of customSelectors[value].nodes) { | ||
const selectorClone = selector.clone(); | ||
selectorClone.nodes.splice(index, 1, ...replacementSelector.clone().nodes.map(node => { | ||
// use spacing from the current usage | ||
node.spaces = { ...selector.nodes[index].spaces | ||
}; | ||
return node; | ||
})); | ||
const retranspiledSelectors = transformSelector(selectorClone, customSelectors); | ||
adjustNodesBySelectorEnds(selectorClone.nodes, Number(index)); | ||
try { | ||
for (var _iterator = customSelectors[value].nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
const replacementSelector = _step.value; | ||
const selectorClone = selector.clone(); | ||
selectorClone.nodes.splice(index, 1, ...replacementSelector.clone().nodes.map(node => { | ||
// use spacing from the current usage | ||
node.spaces = _objectSpread({}, selector.nodes[index].spaces); | ||
return node; | ||
})); | ||
const retranspiledSelectors = transformSelector(selectorClone, customSelectors); | ||
adjustNodesBySelectorEnds(selectorClone.nodes, Number(index)); | ||
if (retranspiledSelectors.length) { | ||
transpiledSelectors.push(...retranspiledSelectors); | ||
} else { | ||
transpiledSelectors.push(selectorClone); | ||
} | ||
if (retranspiledSelectors.length) { | ||
transpiledSelectors.push(...retranspiledSelectors); | ||
} else { | ||
transpiledSelectors.push(selectorClone); | ||
} | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator.return != null) { | ||
_iterator.return(); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
} | ||
@@ -266,4 +161,4 @@ | ||
root.walkRules(customPseudoRegExp, rule => { | ||
const selector = parser(selectors => { | ||
transformSelectorList(selectors, customSelectors, opts); | ||
const selector = parser__default['default'](selectors => { | ||
transformSelectorList(selectors, customSelectors); | ||
}).processSync(rule.selector); | ||
@@ -292,4 +187,8 @@ | ||
function importCustomSelectorsFromCSSFile(_x) { | ||
return _importCustomSelectorsFromCSSFile.apply(this, arguments); | ||
async function importCustomSelectorsFromCSSFile(from) { | ||
const css = await readFile(path__default['default'].resolve(from)); | ||
const root = postcss__default['default'].parse(css, { | ||
from: path__default['default'].resolve(from) | ||
}); | ||
return importCustomSelectorsFromCSSAST(root); | ||
} | ||
@@ -300,13 +199,2 @@ /* Import Custom Selectors from Object | ||
function _importCustomSelectorsFromCSSFile() { | ||
_importCustomSelectorsFromCSSFile = _asyncToGenerator(function* (from) { | ||
const css = yield readFile(path.resolve(from)); | ||
const root = postcss.parse(css, { | ||
from: path.resolve(from) | ||
}); | ||
return importCustomSelectorsFromCSSAST(root); | ||
}); | ||
return _importCustomSelectorsFromCSSFile.apply(this, arguments); | ||
} | ||
function importCustomSelectorsFromObject(object) { | ||
@@ -325,4 +213,5 @@ const customSelectors = Object.assign({}, Object(object).customSelectors || Object(object)['custom-selectors']); | ||
function importCustomSelectorsFromJSONFile(_x2) { | ||
return _importCustomSelectorsFromJSONFile.apply(this, arguments); | ||
async function importCustomSelectorsFromJSONFile(from) { | ||
const object = await readJSON(path__default['default'].resolve(from)); | ||
return importCustomSelectorsFromObject(object); | ||
} | ||
@@ -333,13 +222,6 @@ /* Import Custom Selectors from JS file | ||
function _importCustomSelectorsFromJSONFile() { | ||
_importCustomSelectorsFromJSONFile = _asyncToGenerator(function* (from) { | ||
const object = yield readJSON(path.resolve(from)); | ||
return importCustomSelectorsFromObject(object); | ||
}); | ||
return _importCustomSelectorsFromJSONFile.apply(this, arguments); | ||
async function importCustomSelectorsFromJSFile(from) { | ||
const object = await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(path__default['default'].resolve(from))); }); | ||
return importCustomSelectorsFromObject(object); | ||
} | ||
function importCustomSelectorsFromJSFile(_x3) { | ||
return _importCustomSelectorsFromJSFile.apply(this, arguments); | ||
} | ||
/* Import Custom Selectors from Sources | ||
@@ -349,10 +231,2 @@ /* ========================================================================== */ | ||
function _importCustomSelectorsFromJSFile() { | ||
_importCustomSelectorsFromJSFile = _asyncToGenerator(function* (from) { | ||
const object = yield Promise.resolve(require(path.resolve(from))); | ||
return importCustomSelectorsFromObject(object); | ||
}); | ||
return _importCustomSelectorsFromJSFile.apply(this, arguments); | ||
} | ||
function importCustomSelectorsFromSources(sources) { | ||
@@ -378,3 +252,3 @@ return sources.map(source => { | ||
const type = (opts.type || path.extname(from).slice(1)).toLowerCase(); | ||
const type = (opts.type || path__default['default'].extname(from).slice(1)).toLowerCase(); | ||
return { | ||
@@ -384,33 +258,27 @@ type, | ||
}; | ||
}).reduce( | ||
/*#__PURE__*/ | ||
function () { | ||
var _ref = _asyncToGenerator(function* (customSelectors, source) { | ||
const _ref2 = yield source, | ||
type = _ref2.type, | ||
from = _ref2.from; | ||
}).reduce(async (customSelectorsPromise, source) => { | ||
const customSelectors = await customSelectorsPromise; | ||
const { | ||
type, | ||
from | ||
} = await source; | ||
if (type === 'ast') { | ||
return Object.assign(customSelectors, importCustomSelectorsFromCSSAST(from)); | ||
} | ||
if (type === 'ast') { | ||
return Object.assign(customSelectors, importCustomSelectorsFromCSSAST(from)); | ||
} | ||
if (type === 'css') { | ||
return Object.assign(customSelectors, (yield importCustomSelectorsFromCSSFile(from))); | ||
} | ||
if (type === 'css') { | ||
return Object.assign(customSelectors, await importCustomSelectorsFromCSSFile(from)); | ||
} | ||
if (type === 'js') { | ||
return Object.assign(customSelectors, (yield importCustomSelectorsFromJSFile(from))); | ||
} | ||
if (type === 'js') { | ||
return Object.assign(customSelectors, await importCustomSelectorsFromJSFile(from)); | ||
} | ||
if (type === 'json') { | ||
return Object.assign(customSelectors, (yield importCustomSelectorsFromJSONFile(from))); | ||
} | ||
if (type === 'json') { | ||
return Object.assign(customSelectors, await importCustomSelectorsFromJSONFile(from)); | ||
} | ||
return Object.assign(customSelectors, importCustomSelectorsFromObject((yield source))); | ||
}); | ||
return function (_x4, _x5) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}(), {}); | ||
return Object.assign(customSelectors, importCustomSelectorsFromObject(await source)); | ||
}, Promise.resolve({})); | ||
} | ||
@@ -421,3 +289,3 @@ /* Helper utilities | ||
const readFile = from => new Promise((resolve, reject) => { | ||
fs.readFile(from, 'utf8', (error, result) => { | ||
fs__default['default'].readFile(from, 'utf8', (error, result) => { | ||
if (error) { | ||
@@ -431,19 +299,14 @@ reject(error); | ||
const readJSON = | ||
/*#__PURE__*/ | ||
function () { | ||
var _ref3 = _asyncToGenerator(function* (from) { | ||
return JSON.parse((yield readFile(from))); | ||
}); | ||
const readJSON = async from => JSON.parse(await readFile(from)); | ||
return function readJSON(_x6) { | ||
return _ref3.apply(this, arguments); | ||
}; | ||
}(); | ||
/* Import Custom Selectors from CSS File | ||
/* ========================================================================== */ | ||
function exportCustomSelectorsToCssFile(_x, _x2) { | ||
return _exportCustomSelectorsToCssFile.apply(this, arguments); | ||
async function exportCustomSelectorsToCssFile(to, customSelectors) { | ||
const cssContent = Object.keys(customSelectors).reduce((cssLines, name) => { | ||
cssLines.push(`@custom-selector ${name} ${customSelectors[name]};`); | ||
return cssLines; | ||
}, []).join('\n'); | ||
const css = `${cssContent}\n`; | ||
await writeFile(to, css); | ||
} | ||
@@ -454,17 +317,9 @@ /* Import Custom Selectors from JSON file | ||
function _exportCustomSelectorsToCssFile() { | ||
_exportCustomSelectorsToCssFile = _asyncToGenerator(function* (to, customSelectors) { | ||
const cssContent = Object.keys(customSelectors).reduce((cssLines, name) => { | ||
cssLines.push(`@custom-selector ${name} ${customSelectors[name]};`); | ||
return cssLines; | ||
}, []).join('\n'); | ||
const css = `${cssContent}\n`; | ||
yield writeFile(to, css); | ||
}); | ||
return _exportCustomSelectorsToCssFile.apply(this, arguments); | ||
async function exportCustomSelectorsToJsonFile(to, customSelectors) { | ||
const jsonContent = JSON.stringify({ | ||
'custom-selectors': customSelectors | ||
}, null, ' '); | ||
const json = `${jsonContent}\n`; | ||
await writeFile(to, json); | ||
} | ||
function exportCustomSelectorsToJsonFile(_x3, _x4) { | ||
return _exportCustomSelectorsToJsonFile.apply(this, arguments); | ||
} | ||
/* Import Custom Selectors from Common JS file | ||
@@ -474,16 +329,10 @@ /* ========================================================================== */ | ||
function _exportCustomSelectorsToJsonFile() { | ||
_exportCustomSelectorsToJsonFile = _asyncToGenerator(function* (to, customSelectors) { | ||
const jsonContent = JSON.stringify({ | ||
'custom-selectors': customSelectors | ||
}, null, ' '); | ||
const json = `${jsonContent}\n`; | ||
yield writeFile(to, json); | ||
}); | ||
return _exportCustomSelectorsToJsonFile.apply(this, arguments); | ||
async function exportCustomSelectorsToCjsFile(to, customSelectors) { | ||
const jsContents = Object.keys(customSelectors).reduce((jsLines, name) => { | ||
jsLines.push(`\t\t'${escapeForJS(name)}': '${escapeForJS(customSelectors[name])}'`); | ||
return jsLines; | ||
}, []).join(',\n'); | ||
const js = `module.exports = {\n\tcustomSelectors: {\n${jsContents}\n\t}\n};\n`; | ||
await writeFile(to, js); | ||
} | ||
function exportCustomSelectorsToCjsFile(_x5, _x6) { | ||
return _exportCustomSelectorsToCjsFile.apply(this, arguments); | ||
} | ||
/* Import Custom Selectors from Module JS file | ||
@@ -493,17 +342,10 @@ /* ========================================================================== */ | ||
function _exportCustomSelectorsToCjsFile() { | ||
_exportCustomSelectorsToCjsFile = _asyncToGenerator(function* (to, customSelectors) { | ||
const jsContents = Object.keys(customSelectors).reduce((jsLines, name) => { | ||
jsLines.push(`\t\t'${escapeForJS(name)}': '${escapeForJS(customSelectors[name])}'`); | ||
return jsLines; | ||
}, []).join(',\n'); | ||
const js = `module.exports = {\n\tcustomSelectors: {\n${jsContents}\n\t}\n};\n`; | ||
yield writeFile(to, js); | ||
}); | ||
return _exportCustomSelectorsToCjsFile.apply(this, arguments); | ||
async function exportCustomSelectorsToMjsFile(to, customSelectors) { | ||
const mjsContents = Object.keys(customSelectors).reduce((mjsLines, name) => { | ||
mjsLines.push(`\t'${escapeForJS(name)}': '${escapeForJS(customSelectors[name])}'`); | ||
return mjsLines; | ||
}, []).join(',\n'); | ||
const mjs = `export const customSelectors = {\n${mjsContents}\n};\n`; | ||
await writeFile(to, mjs); | ||
} | ||
function exportCustomSelectorsToMjsFile(_x7, _x8) { | ||
return _exportCustomSelectorsToMjsFile.apply(this, arguments); | ||
} | ||
/* Export Custom Selectors to Destinations | ||
@@ -513,66 +355,46 @@ /* ========================================================================== */ | ||
function _exportCustomSelectorsToMjsFile() { | ||
_exportCustomSelectorsToMjsFile = _asyncToGenerator(function* (to, customSelectors) { | ||
const mjsContents = Object.keys(customSelectors).reduce((mjsLines, name) => { | ||
mjsLines.push(`\t'${escapeForJS(name)}': '${escapeForJS(customSelectors[name])}'`); | ||
return mjsLines; | ||
}, []).join(',\n'); | ||
const mjs = `export const customSelectors = {\n${mjsContents}\n};\n`; | ||
yield writeFile(to, mjs); | ||
}); | ||
return _exportCustomSelectorsToMjsFile.apply(this, arguments); | ||
} | ||
function exportCustomSelectorsToDestinations(customSelectors, destinations) { | ||
return Promise.all(destinations.map( | ||
/*#__PURE__*/ | ||
function () { | ||
var _ref = _asyncToGenerator(function* (destination) { | ||
if (destination instanceof Function) { | ||
yield destination(defaultCustomSelectorsToJSON(customSelectors)); | ||
} else { | ||
// read the destination as an object | ||
const opts = destination === Object(destination) ? destination : { | ||
to: String(destination) | ||
}; // transformer for custom selectors into a JSON-compatible object | ||
return Promise.all(destinations.map(async destination => { | ||
if (destination instanceof Function) { | ||
await destination(defaultCustomSelectorsToJSON(customSelectors)); | ||
} else { | ||
// read the destination as an object | ||
const opts = destination === Object(destination) ? destination : { | ||
to: String(destination) | ||
}; // transformer for custom selectors into a JSON-compatible object | ||
const toJSON = opts.toJSON || defaultCustomSelectorsToJSON; | ||
const toJSON = opts.toJSON || defaultCustomSelectorsToJSON; | ||
if ('customSelectors' in opts) { | ||
// write directly to an object as customSelectors | ||
opts.customSelectors = toJSON(customSelectors); | ||
} else if ('custom-selectors' in opts) { | ||
// write directly to an object as custom-selectors | ||
opts['custom-selectors'] = toJSON(customSelectors); | ||
} else { | ||
// destination pathname | ||
const to = String(opts.to || ''); // type of file being written to | ||
if ('customSelectors' in opts) { | ||
// write directly to an object as customSelectors | ||
opts.customSelectors = toJSON(customSelectors); | ||
} else if ('custom-selectors' in opts) { | ||
// write directly to an object as custom-selectors | ||
opts['custom-selectors'] = toJSON(customSelectors); | ||
} else { | ||
// destination pathname | ||
const to = String(opts.to || ''); // type of file being written to | ||
const type = (opts.type || path.extname(opts.to).slice(1)).toLowerCase(); // transformed custom selectors | ||
const type = (opts.type || path__default['default'].extname(opts.to).slice(1)).toLowerCase(); // transformed custom selectors | ||
const customSelectorsJSON = toJSON(customSelectors); | ||
const customSelectorsJSON = toJSON(customSelectors); | ||
if (type === 'css') { | ||
yield exportCustomSelectorsToCssFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'css') { | ||
await exportCustomSelectorsToCssFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'js') { | ||
yield exportCustomSelectorsToCjsFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'js') { | ||
await exportCustomSelectorsToCjsFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'json') { | ||
yield exportCustomSelectorsToJsonFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'json') { | ||
await exportCustomSelectorsToJsonFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'mjs') { | ||
yield exportCustomSelectorsToMjsFile(to, customSelectorsJSON); | ||
} | ||
if (type === 'mjs') { | ||
await exportCustomSelectorsToMjsFile(to, customSelectorsJSON); | ||
} | ||
} | ||
}); | ||
return function (_x9) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}())); | ||
} | ||
})); | ||
} | ||
@@ -590,3 +412,3 @@ /* Helper utilities | ||
const writeFile = (to, text) => new Promise((resolve, reject) => { | ||
fs.writeFile(to, text, error => { | ||
fs__default['default'].writeFile(to, text, error => { | ||
if (error) { | ||
@@ -602,3 +424,3 @@ reject(error); | ||
var index = postcss.plugin('postcss-custom-selectors', opts => { | ||
const postcssCustomSelectors = opts => { | ||
// whether to preserve custom selectors and rules using them | ||
@@ -612,23 +434,21 @@ const preserve = Boolean(Object(opts).preserve); // sources to import custom selectors from | ||
const customSelectorsPromise = importCustomSelectorsFromSources(importFrom); | ||
return ( | ||
/*#__PURE__*/ | ||
function () { | ||
var _ref = _asyncToGenerator(function* (root) { | ||
const customProperties = Object.assign((yield customSelectorsPromise), getCustomSelectors(root, { | ||
preserve | ||
})); | ||
yield exportCustomSelectorsToDestinations(customProperties, exportTo); | ||
transformRules(root, customProperties, { | ||
preserve | ||
}); | ||
return { | ||
postcssPlugin: 'postcss-custom-selectors', | ||
async Once(root) { | ||
const customProperties = Object.assign({}, await customSelectorsPromise, getCustomSelectors(root, { | ||
preserve | ||
})); | ||
await exportCustomSelectorsToDestinations(customProperties, exportTo); | ||
transformRules(root, customProperties, { | ||
preserve | ||
}); | ||
} | ||
return function (_x) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}() | ||
); | ||
}); | ||
}; | ||
}; | ||
module.exports = index; | ||
postcssCustomSelectors.postcss = true; | ||
module.exports = postcssCustomSelectors; | ||
//# sourceMappingURL=index.cjs.js.map |
{ | ||
"name": "postcss-custom-selectors", | ||
"version": "5.1.2", | ||
"version": "6.0.0", | ||
"description": "Use Custom Selectors in CSS", | ||
@@ -30,7 +30,6 @@ "author": "Jonathan Neal <jonathantneal@hotmail.com>", | ||
"engines": { | ||
"node": ">=6.0.0" | ||
"node": ">=10.0.0" | ||
}, | ||
"dependencies": { | ||
"postcss": "^7.0.2", | ||
"postcss-selector-parser": "^5.0.0-rc.3" | ||
"postcss-selector-parser": "^6.0.4" | ||
}, | ||
@@ -41,10 +40,14 @@ "devDependencies": { | ||
"@babel/preset-env": "^7.1.0", | ||
"babel-eslint": "^9.0.0", | ||
"eslint": "^5.6.0", | ||
"@rollup/plugin-babel": "^5.2.1", | ||
"babel-eslint": "^10.0.0", | ||
"eslint": "^7.0.0", | ||
"eslint-config-dev": "^2.0.0", | ||
"postcss-tape": "^2.2.0", | ||
"postcss": "^8.1.2", | ||
"postcss-tape": "^6.0.0", | ||
"pre-commit": "^1.2.2", | ||
"rollup": "^0.66.1", | ||
"rollup-plugin-babel": "^4.0.3" | ||
"rollup": "^2.0.0" | ||
}, | ||
"peerDependencies": { | ||
"postcss": "^8.1.2" | ||
}, | ||
"eslintConfig": { | ||
@@ -51,0 +54,0 @@ "extends": "dev", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
95592
11
661
+ Addedcssesc@3.0.0(transitive)
+ Addednanoid@3.3.7(transitive)
+ Addedpicocolors@1.1.1(transitive)
+ Addedpostcss@8.4.49(transitive)
+ Addedpostcss-selector-parser@6.1.2(transitive)
+ Addedsource-map-js@1.2.1(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
- Removedpostcss@^7.0.2
- Removedcssesc@2.0.0(transitive)
- Removedindexes-of@1.0.1(transitive)
- Removedpicocolors@0.2.1(transitive)
- Removedpostcss@7.0.39(transitive)
- Removedpostcss-selector-parser@5.0.0(transitive)
- Removedsource-map@0.6.1(transitive)
- Removeduniq@1.0.1(transitive)