@zeecoder/postcss-container-query
Advanced tools
Comparing version 2.6.0 to 2.7.0-alpha.0c3d1cbe
@@ -1,2 +0,2 @@ | ||
'use strict';function _interopDefault(a){return a&&'object'==typeof a&&'default'in a?a['default']:a}var fs=require('fs'),postcss=_interopDefault(require('postcss')),MetaBuilder=_interopDefault(require('@zeecoder/container-query-meta-builder'));// | ||
'use strict';Object.defineProperty(exports,'__esModule',{value:!0});function _interopDefault(a){return a&&'object'==typeof a&&'default'in a?a['default']:a}var fs=require('fs'),postcss=_interopDefault(require('postcss')),MetaBuilder=_interopDefault(require('@zeecoder/container-query-meta-builder'));// | ||
/** | ||
@@ -23,3 +23,3 @@ * Checks whether a `@define-container` declaration is present or not. | ||
function extractPropsFromNode(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{isContainer:!1,onlyContainerUnits:!1,stripContainerUnits:!1};if('rule'!==a.type)throw new Error('`ruleNode` must be of type "rule".');if(!1===Array.isArray(a.nodes))return{};for(var c={styles:{},values:{}},d=a.nodes.length,e=0;e<d;e++){var f=a.nodes[e],g=isValueUsingContainerUnits(f.value);if('decl'===f.type&&(!b.onlyContainerUnits||g)){if(b.isContainer&&g){if(('width'===f.prop||'height'===f.prop)&&(-1!==f.value.indexOf('rmin')||-1!==f.value.indexOf('rmax')))throw f.error('Width and height properties on containers cannot use rmin or rmax units.');if('width'===f.prop&&-1!==f.value.indexOf('rw'))throw f.error('Containers cannot use rw for the width property.');if('height'===f.prop&&-1!==f.value.indexOf('rh'))throw f.error('Containers cannot use rh for the height property.')}g?c.values[f.prop]=f.value:c.styles[f.prop]=f.value,b.stripContainerUnits&&g&&(a.nodes.splice(e,1),e--,d--)}}// Getting rid of empty objects | ||
return 0===Object.keys(c.styles).length&&delete c.styles,0===Object.keys(c.values).length&&delete c.values,c}var saveJSON=function(a,b){return new Promise(function(c){var d=JSON.stringify(b),e=a+'.json',f=function(){return fs.writeFile(e,d,function(a){a&&console.error('Failed to save container query json file: '+a),c()})};fs.readFile(e,'utf8',function(a,b){a||b!==d?f():c()})})},isContainerQuery=function(a){return'atrule'===a.type&&'container'===a.name},walkRules=function(a,b,c){var d=[],e=function(a){return-1!==d.indexOf(a)},f=function(a,f){var g=hasContainerDefinition(a)||e(a.selector)||':self'===a.selector||b.singleContainer&&0===d.length,h={rule:a,isContainer:g};g&&!e(a.selector)&&d.push(a.selector),f&&(h.parentCQAtRule=f),c(h)};a.walk(function(a){if('rule'===a.type)f(a);else if('atrule'===a.type){if(!isContainerQuery(a))return;a.nodes.forEach(function(b){'rule'!==b.type||f(b,a)}),a.remove()}})};/** | ||
return 0===Object.keys(c.styles).length&&delete c.styles,0===Object.keys(c.values).length&&delete c.values,c}var saveMeta=function(a,b){return new Promise(function(c){var d=JSON.stringify(b),e=a+'.json',f=function(){return fs.writeFile(e,d,function(a){a&&console.error('Failed to save container query json file: '+a),c()})};fs.readFile(e,'utf8',function(a,b){a||b!==d?f():c()})})},plugin='postcss-container-query',isContainerQuery=function(a){return'atrule'===a.type&&'container'===a.name},walkRules=function(a,b,c){var d=[],e=function(a){return-1!==d.indexOf(a)},f=function(a,f){var g=hasContainerDefinition(a)||e(a.selector)||':self'===a.selector||b.singleContainer&&0===d.length,h={rule:a,isContainer:g};g&&!e(a.selector)&&d.push(a.selector),f&&(h.parentCQAtRule=f),c(h)};a.walk(function(a){if('rule'===a.type)f(a);else if('atrule'===a.type){if(!isContainerQuery(a))return;a.nodes.forEach(function(b){'rule'!==b.type||f(b,a)}),a.remove()}})};/** | ||
* @param {{ | ||
@@ -29,7 +29,10 @@ * getJSON: function, | ||
* }} options | ||
*/function containerQuery(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=a.getJSON||saveJSON,c=!1!==a.singleContainer;return function(a){var d={},e=null;// Map builders to metadata | ||
for(var f in walkRules(a,{singleContainer:c},function(a){var b=a.rule,f=a.isContainer,g=a.parentCQAtRule;if(f&&':self'!==b.selector&&!d[b.selector]){var h=b.selector;if(c&&e)throw b.error('define-container declaration detected in singleContainer mode. Tried to override "'+e+'" with "'+h+'".');// Register new container's meta builder | ||
e=h,d[h]=new MetaBuilder(h)}var i=extractPropsFromNode(b,{isContainer:f,stripContainerUnits:!0});// Only proceed if there are container units to be extracted, or if there | ||
*/function containerQuery(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=a.getJSON||saveMeta,c=!1!==a.singleContainer;return function(a,d){var e={},f=null;// Map builders to metadata | ||
for(var g in walkRules(a,{singleContainer:c},function(a){var b=a.rule,d=a.isContainer,g=a.parentCQAtRule;if(d&&':self'!==b.selector&&!e[b.selector]){var h=b.selector;if(c&&f)throw b.error('define-container declaration detected in singleContainer mode. Tried to override "'+f+'" with "'+h+'".');// Register new container's meta builder | ||
f=h,e[h]=new MetaBuilder(h)}var i=extractPropsFromNode(b,{isContainer:d,stripContainerUnits:!0});// Only proceed if there are container units to be extracted, or if there | ||
// are styles under a container query at-rule | ||
if(i.values||g&&i.styles){if(!e)throw b.error('Missing @define-container declaration before the processed node.');var j=d[e];if(j.resetQuery().resetDescendant(),g&&j.setQuery(g.params),f||j.setDescendant(b.selector),i.values)// store values only | ||
for(var k in i.values){var l=i.values[k];j.addStyle({prop:k,value:l})}if(g&&i.styles)for(var m in i.styles){var n=i.styles[m];j.addStyle({prop:m,value:n})}}}),d)d[f]=d[f].build();var g=c?e?d[e]:{}:d;b(a.source.input.file,g)}}var containerQuery$1=postcss.plugin('postcss-container-query',containerQuery);module.exports=containerQuery$1; | ||
if(i.values||g&&i.styles){if(!f)throw b.error('Missing @define-container declaration before the processed node.');var j=e[f];if(j.resetQuery().resetDescendant(),g&&j.setQuery(g.params),d||j.setDescendant(b.selector),i.values)// store values only | ||
for(var k in i.values){var l=i.values[k];j.addStyle({prop:k,value:l})}if(g&&i.styles)for(var m in i.styles){var n=i.styles[m];j.addStyle({prop:m,value:n})}}}),e)e[g]=e[g].build();var h=c?f?e[f]:{}:e,i=a.source.input.file;d.messages.push({type:'metadata',plugin:plugin,meta:h,filepath:i}),b(i,h)}}/** | ||
* @param {Array<{plugin: string, type: string, [meta]: {}}>} messages | ||
* @return {null|{}} | ||
*/function getMetadataFromMessages(a){var b=a.filter(function(a){return'postcss-container-query'===a.plugin&&'metadata'===a.type});return b.length?b[0].meta:null}var containerQuery$1=postcss.plugin(plugin,containerQuery);exports.getMetadataFromMessages=getMetadataFromMessages,exports.saveMeta=saveMeta,exports.default=containerQuery$1; |
@@ -6,3 +6,3 @@ { | ||
"license": "MIT", | ||
"version": "2.6.0", | ||
"version": "2.7.0-alpha.0c3d1cbe", | ||
"author": "Viktor Hubert <rpgmorpheus@gmail.com>", | ||
@@ -36,3 +36,3 @@ "engines": { | ||
"dependencies": { | ||
"@zeecoder/container-query-meta-builder": "^2.6.0", | ||
"@zeecoder/container-query-meta-builder": "^2.7.0-alpha.0c3d1cbe", | ||
"lodash": "^4.17.4", | ||
@@ -39,0 +39,0 @@ "postcss": "^6.0.1" |
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
8433
58
2