pax_global_header00006660000000000000000000000064137774554760014543gustar00rootroot0000000000000052 comment=97c9af06c6848b99604134c519806915e28ae650 postcss-media-minmax-5.0.0/000077500000000000000000000000001377745547600156075ustar00rootroot00000000000000postcss-media-minmax-5.0.0/.editorconfig000066400000000000000000000003171377745547600202650ustar00rootroot00000000000000# editorconfig.org root = true [*] charset = utf-8 indent_style = space indent_size = 2 end_of_line = lf trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false postcss-media-minmax-5.0.0/.gitignore000066400000000000000000000001071377745547600175750ustar00rootroot00000000000000.DS_Store node_modules test/fixtures/*.actual.css *.sublime-workspace postcss-media-minmax-5.0.0/.travis.yml000066400000000000000000000002131377745547600177140ustar00rootroot00000000000000# https://docs.travis-ci.com/user/travis-lint language: node_js node_js: - 14 - 12 - 10 install: - npm install --ignore-scripts postcss-media-minmax-5.0.0/CHANGELOG.md000066400000000000000000000014161377745547600174220ustar00rootroot00000000000000# Change Log This project adheres to [Semantic Versioning](https://semver.org/). ## 5.0.0 2021-01-12 - Updated: Support for PostCSS v8+ - Updated: Support for Node v10+ ## 4.0.0 2017-09-17 - Updated: Support for PostCSS v7+ - Updated: Support for Node v6+ ## 3.0.0 2017-05-10 Change: Use PostCSS 6 API. ## 2.1.2 2016-04-01 Fix: incorrect output when using both > and >= (or similar).(#12) ## 2.1.1 2015-11-26 Fix: Pixels rounding errors in fractional pixels media queries. ## 2.1.0 2015-09-08 Add: Support for `<` and `>` without `=`. ## 2.0.0 2015-09-05 Change: Use PostCSS 5.0 API. ## 1.2.0 2015-07-06 Change: Use PostCSS 4.1 plugin API. ## 1.1.0 2014-12-15 Add: `( 300px <= width <= 900px)` or `( 900px >= width >= 300px)` syntax. ## 1.0.0 The first release. postcss-media-minmax-5.0.0/LICENSE000066400000000000000000000020631377745547600166150ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2014 PostCSS Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. postcss-media-minmax-5.0.0/README-zh.md000066400000000000000000000163051377745547600175120ustar00rootroot00000000000000# PostCSS Media Minmax [![Build Status](https://travis-ci.org/postcss/postcss-media-minmax.svg?branch=master)](https://travis-ci.org/postcss/postcss-media-minmax) [![NPM Downloads](https://img.shields.io/npm/dm/postcss-media-minmax.svg?style=flat)](https://www.npmjs.com/package/postcss-media-minmax) [![NPM Version](http://img.shields.io/npm/v/postcss-media-minmax.svg?style=flat)](https://www.npmjs.com/package/postcss-media-minmax) [![License](https://img.shields.io/npm/l/postcss-media-minmax.svg?style=flat)](http://opensource.org/licenses/MIT) > 写简单优雅的 Media Queries! Media Queries 中的 `min-width` 和 `max-width` 等属性非常容易混淆,每次看到他们,我都想哭。现在[新的规范](https://drafts.csswg.org/mediaqueries/#mq-range-context)中,可以使用更加直观的 `>=`或`<=` 替代 media queries 中的 min-/max- 前缀。 **V2.1.0 开始支持 `>` 或 `<` 符号。** 这是一个实现 [CSS Media Queries Level 4](http://dev.w3.org/csswg/mediaqueries/) Polyfill 的插件,让你现在就可以使用这些特性,妈妈再也不用担心我记不住了,鹅妹子嘤! [English](README.md) ----- ![Gif Demo](http://gtms02.alicdn.com/tps/i2/TB1UIjyGVXXXXcCaXXXx274FpXX-877-339.gif) ## 安装 $ npm install postcss-media-minmax ## 快速开始 示例 1: ```js var fs = require('fs') var postcss = require('postcss') var minmax = require('postcss-media-minmax') var css = fs.readFileSync('input.css', 'utf8') var output = postcss() .use(minmax()) .process(css) .css console.log('\n====>Output CSS:\n', output) ``` 或者只需: ```js var output = postcss(minmax()) .process(css) .css ``` input.css: ```css @media screen and (width >= 500px) and (width <= 1200px) { .bar { display: block; } } ``` 你将得到: ```css @media screen and (min-width: 500px) and (max-width: 1200px) { .bar { display: block; } } ``` ## CSS 语法 ### [语法](http://dev.w3.org/csswg/mediaqueries/#mq-syntax) ``` = [ '<' | '>' ]? '='? | [ '<' | '>' ]? '='? | '<' '='? '<' '='? | '>' '='? '>' '='? ``` ![syntax](http://gtms03.alicdn.com/tps/i3/TB1Rje0HXXXXXXeXpXXccZJ0FXX-640-290.png) PostCSS Media Minmax 目前并没有实现 `200px >= width` 或者 `200px <= width` 这样的语法,因为这样的语法可读性并不不是太好。 ## [取值(Values)](http://dev.w3.org/csswg/mediaqueries/#values) **The special values:** * [](http://dev.w3.org/csswg/mediaqueries/#typedef-ratio) 是一个正(非零非负)的 (整型)取值,其后跟随0个或多个空白,接着跟随一个斜线(“/”),再跟随0个或多个空白,最后跟随一个正。 ```css @media screen and (device-aspect-ratio: 16 / 9) { /* rules */ } /* equivalent to */ @media screen and (device-aspect-ratio: 16/9) { /* rules */ } ``` * [](http://dev.w3.org/csswg/mediaqueries/#typedef-mq-boolean) 值是一个 0 或 1 的 (整型)取值。其他任何整数无效。注意, 在 CSS 中 -0 总是等价于 0 的,所以也作为一种有效的 取值。 ```css @media screen and (grid: -0) { /* rules */ } /* equivalent to */ @media screen and (grid: 0) { /* rules */ } ``` ## 如何使用 ### 简写 示例 1中同一个 Media features name 同时存在 `>=` 和 `<=` 时,可以简写为: ```css @media screen and (500px <= width <= 1200px) { .bar { display: block; } } /* 或者 */ @media screen and (1200px >= width >= 500px) { .bar { display: block; } } ``` 都会得到一样的输出结果: ```css @media screen and (min-width: 500px) and (max-width: 1200px) { .bar { display: block; } } ``` **注意**:当 Media features name 在中间的时候,一定要保证两个 `<=` 或 `>=` 的方向一致,否则不会转换。 例如在下面的示例中,width 大于等于 500px 同时又大于等于 1200px,这在语法和逻辑上都是错误的。 ```css @media screen and (1200px <= width >= 500px) { .bar { display: block; } } ``` ### 支持的 Media features name 规范中目前以下属性支持 min-/max 前缀,PostCSS Media Minmax 全部支持自动转换。 * `width` * `height` * `device-width` * `device-height` * `aspect-ratio` * `device-aspect-ratio` * `color` * `color-index` * `monochrome` * `resolution` ### 支持在 `@custom-media` 中使用 & Node Watch ```js var fs = require('fs') var chokidar = require('chokidar') var postcss = require('postcss') var minmax = require('postcss-media-minmax') var customMedia = require('postcss-custom-media') var src = 'input.css' console.info('Watching…\nModify the input.css and save.') chokidar.watch(src, { ignored: /[\/\\]\./, persistent: true }).on('all', function(event, path, stats) { var css = fs.readFileSync(src, 'utf8') var output = postcss() .use(customMedia()) .use(minmax()) .process(css) .css; fs.writeFileSync('output.css', output) }) ``` input.css: ```css @custom-media --foo (width >= 20em) and (width <= 50em); @custom-media --bar (height >= 300px) and (height <= 600px); @media (--foo) and (--bar) { } ``` output.css: ```css @media (min-width: 20em) and (max-width: 50em) and (min-height: 300px) and (max-height: 600px) { } ``` ### Grunt ```js module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), postcss: { options: { processors: [ require('autoprefixer-core')({ browsers: ['> 0%'] }).postcss, //Other plugin require('postcss-media-minmax')(), ] }, dist: { src: ['src/*.css'], dest: 'build/grunt.css' } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-postcss'); grunt.registerTask('default', ['postcss']); } ``` ### Gulp ```js var gulp = require('gulp'); var rename = require('gulp-rename'); var postcss = require('gulp-postcss'); var selector = require('postcss-media-minmax') var autoprefixer = require('autoprefixer-core') gulp.task('default', function () { var processors = [ autoprefixer({ browsers: ['> 0%'] }), //Other plugin minmax() ]; gulp.src('src/*.css') .pipe(postcss(processors)) .pipe(rename('gulp.css')) .pipe(gulp.dest('build')) }); gulp.watch('src/*.css', ['default']); ``` ## 贡献 * 安装相关的依赖模块。 * 尊重编码风格(安装 [EditorConfig](http://editorconfig.org/))。 * 在[test](test)目录添加测试用例。 * 运行测试。 ``` $ git clone https://github.com/postcss/postcss-media-minmaxs.git $ git checkout -b patch $ npm install $ npm test ``` ## 致谢 * 感谢 PostCSS 作者 [Andrey Sitnik](https://github.com/ai),带给我们如此简单易用的 CSS 语法解析工具。 * 感谢 [Tab Atkins Jr.](http://xanthir.com/contact/) 辛苦编写了 Media Queries Level 4 规范。 * 感谢 [@紫云飞](http://weibo.com/p/1005051708684567) 对本插件的建议和帮助。 ## [Changelog](CHANGELOG.md) ## [License](LICENSE) postcss-media-minmax-5.0.0/README.md000066400000000000000000000170761377745547600171010ustar00rootroot00000000000000# PostCSS Media Minmax [![CSS Standard Status](https://cssdb.org/badge/media-query-ranges.svg)](https://cssdb.org/#media-query-ranges) [![Build Status](https://travis-ci.org/postcss/postcss-media-minmax.svg?branch=master)](https://travis-ci.org/postcss/postcss-media-minmax) [![NPM Downloads](https://img.shields.io/npm/dm/postcss-media-minmax.svg?style=flat)](https://www.npmjs.com/package/postcss-media-minmax) [![NPM Version](https://img.shields.io/npm/v/postcss-media-minmax.svg?style=flat)](https://www.npmjs.com/package/postcss-media-minmax) [![License](https://img.shields.io/npm/l/postcss-media-minmax.svg?style=flat)](https://opensource.org/licenses/MIT) > Writing simple and graceful media queries! The `min-width`, `max-width` and many other properties of media queries are really confusing. I want to cry every time I see them. But right now according to the new specs, you can use more intuitive `<=` or `>=` to replace the `min-`/`max-` prefixes in media queries. V2.1.0 began to support `>` or `<` symbol. This is a polyfill plugin which supports [CSS Media Queries Level 4](https://drafts.csswg.org/mediaqueries/#mq-range-context) and gives you access to the new features right away. Mom will never worry about my study any more. So amazing! [简体中文](README-zh.md) ----- ![Gif Demo](https://gtms02.alicdn.com/tps/i2/TB1UIjyGVXXXXcCaXXXx274FpXX-877-339.gif) ## Installation $ npm install postcss-media-minmax ## Quick Start Example 1: ```js var fs = require('fs') var postcss = require('postcss') var minmax = require('postcss-media-minmax') var css = fs.readFileSync('input.css', 'utf8') var output = postcss() .use(minmax()) .process(css) .css console.log('\n====>Output CSS:\n', output) ``` Or just: ```js var output = postcss(minmax()) .process(css) .css ``` input.css: ```css @media screen and (width >= 500px) and (width <= 1200px) { .bar { display: block; } } ``` You will get: ```css @media screen and (min-width: 500px) and (max-width: 1200px) { .bar { display: block; } } ``` ## CSS syntax ### [Syntax](https://drafts.csswg.org/mediaqueries/#mq-range-context) ``` = [ '<' | '>' ]? '='? | [ '<' | '>' ]? '='? | '<' '='? '<' '='? | '>' '='? '>' '='? ``` ![syntax](https://gtms03.alicdn.com/tps/i3/TB1Rje0HXXXXXXeXpXXccZJ0FXX-640-290.png) PostCSS Media Minmax hasn't implemented syntax such as `200px > = width` or `200px < = width` currently because its readability is not good enough yet. ## [Values](https://drafts.csswg.org/mediaqueries/#values) **The special values:** * [](https://drafts.csswg.org/mediaqueries/#typedef-ratio) The value type is a positive (not zero or negative) followed by optional whitespace, followed by a solidus ('/'), followed by optional whitespace, followed by a positive . s can be ordered or compared by transforming them into the number obtained by dividing their first by their second . ```css @media screen and (device-aspect-ratio: 16 / 9) { /* rules */ } /* equivalent to */ @media screen and (device-aspect-ratio: 16/9) { /* rules */ } ``` * [](https://drafts.csswg.org/mediaqueries/#typedef-mq-boolean) The value type is an with the value 0 or 1. Any other integer value is invalid. Note that -0 is always equivalent to 0 in CSS, and so is also accepted as a valid value. ```css @media screen and (grid: -0) { /* rules */ } /* equivalent to */ @media screen and (grid: 0) { /* rules */ } ``` ## How to use ### Shorthand In Example 1, if a feature has both `>=` and `<=` logic, it can be written as follows: ```css @media screen and (500px <= width <= 1200px) { .bar { display: block; } } /* Or */ @media screen and (1200px >= width >= 500px) { .bar { display: block; } } ``` Which will output: ```css @media screen and (min-width: 500px) and (max-width: 1200px) { .bar { display: block; } } ``` **Note**: When the media feature name is in the middle, we must ensure that two `<=` or `>=` are in the same direction, otherwise which will not be converted. E.g. in the example below, `width` is greater than or equal to 500px and is greater than or equal to 1200px, which is the wrong in both grammar and logic. ```css @media screen and (1200px <= width >= 500px) { .bar { display: block; } } ``` ### Media feature names The following properties support the `min-`/`max-` prefixes in the specifications at present, and will be automatically converted by PostCSS Media Minmax. * `width` * `height` * `device-width` * `device-height` * `aspect-ratio` * `device-aspect-ratio` * `color` * `color-index` * `monochrome` * `resolution` ### Using with `@custom-media` & Node Watch ```js var fs = require('fs') var chokidar = require('chokidar') var postcss = require('postcss') var minmax = require('postcss-media-minmax') var customMedia = require('postcss-custom-media') var src = 'input.css' console.info('Watching…\nModify the input.css and save.') chokidar.watch(src, { ignored: /[\/\\]\./, persistent: true }).on('all', function(event, path, stats) { var css = fs.readFileSync(src, 'utf8') var output = postcss() .use(customMedia()) .use(minmax()) .process(css) .css; fs.writeFileSync('output.css', output) }) ``` input.css: ```css @custom-media --foo (width >= 20em) and (width <= 50em); @custom-media --bar (height >= 300px) and (height <= 600px); @media (--foo) and (--bar) { } ``` output.css: ```css @media (min-width: 20em) and (max-width: 50em) and (min-height: 300px) and (max-height: 600px) { } ``` ### Grunt ```js module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), postcss: { options: { processors: [ require('autoprefixer-core')({ browsers: ['> 0%'] }).postcss, //Other plugin require('postcss-media-minmax')(), ] }, dist: { src: ['src/*.css'], dest: 'build/grunt.css' } } }); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-postcss'); grunt.registerTask('default', ['postcss']); } ``` ### Gulp ```js var gulp = require('gulp'); var rename = require('gulp-rename'); var postcss = require('gulp-postcss'); var selector = require('postcss-media-minmax') var autoprefixer = require('autoprefixer-core') gulp.task('default', function () { var processors = [ autoprefixer({ browsers: ['> 0%'] }), //Other plugin minmax() ]; gulp.src('src/*.css') .pipe(postcss(processors)) .pipe(rename('gulp.css')) .pipe(gulp.dest('build')) }); gulp.watch('src/*.css', ['default']); ``` ## Contributing * Install all the dependent modules. * Respect the coding style (Use [EditorConfig](https://editorconfig.org/)). * Add test cases in the [test](test) directory. * Run the test cases. ``` $ git clone https://github.com/postcss/postcss-media-minmaxs.git $ git checkout -b patch $ npm install $ npm test ``` ## Acknowledgements * Thank the author of PostCSS [Andrey Sitnik](https://github.com/ai) for giving us such simple and easy CSS syntax analysis tools. * Thank [Tab Atkins Jr.](https://www.xanthir.com/contact/) for writing the specs of Media Queries Level 4. * Thank [ziyunfei](https://weibo.com/p/1005051708684567) for suggestions and help of this plugin. ## [Changelog](CHANGELOG.md) ## [License](LICENSE) postcss-media-minmax-5.0.0/index.js000066400000000000000000000067501377745547600172640ustar00rootroot00000000000000const feature_unit = { 'width': 'px', 'height': 'px', 'device-width': 'px', 'device-height': 'px', 'aspect-ratio': '', 'device-aspect-ratio': '', 'color': '', 'color-index': '', 'monochrome': '', 'resolution': 'dpi' }; // Supported min-/max- attributes const feature_name = Object.keys(feature_unit); const step = .001; // smallest even number that won’t break complex queries (1in = 96px) const power = { '>': 1, '<': -1 }; const minmax = { '>': 'min', '<': 'max' }; function create_query(name, gtlt, eq, value) { return value.replace(/([-\d\.]+)(.*)/, function (_match, number, unit) { const initialNumber = parseFloat(number); if (parseFloat(number) || eq) { // if eq is true, then number remains same if (!eq) { // change integer pixels value only on integer pixel if (unit === 'px' && initialNumber === parseInt(number, 10)) { number = initialNumber + power[gtlt]; } else { number = Number(Math.round(parseFloat(number) + step * power[gtlt] + 'e6')+'e-6'); } } } else { number = power[gtlt] + feature_unit[name]; } return '(' + minmax[gtlt] + '-' + name + ': ' + number + unit + ')'; }); } function transform(rule) { /** * 转换 <|>= * $1 $2 $3 * (width >= 300px) => (min-width: 300px) * (width <= 900px) => (max-width: 900px) */ if (!rule.params.includes('<') && !rule.params.includes('>')) { return } // The value doesn't support negative values // But -0 is always equivalent to 0 in CSS, and so is also accepted as a valid value. rule.params = rule.params.replace(/\(\s*([a-z-]+?)\s*([<>])(=?)\s*((?:-?\d*\.?(?:\s*\/?\s*)?\d+[a-z]*)?)\s*\)/gi, function($0, $1, $2, $3, $4) { if (feature_name.indexOf($1) > -1) { return create_query($1, $2, $3, $4); } // If it is not the specified attribute, don't replace return $0; }) /** * 转换 <|<= <|<= * 转换 >|>= >|>= * $1 $2$3 $4 $5$6 $7 * (500px <= width <= 1200px) => (min-width: 500px) and (max-width: 1200px) * (500px < width <= 1200px) => (min-width: 501px) and (max-width: 1200px) * (900px >= width >= 300px) => (min-width: 300px) and (max-width: 900px) */ rule.params = rule.params.replace(/\(\s*((?:-?\d*\.?(?:\s*\/?\s*)?\d+[a-z]*)?)\s*(<|>)(=?)\s*([a-z-]+)\s*(<|>)(=?)\s*((?:-?\d*\.?(?:\s*\/?\s*)?\d+[a-z]*)?)\s*\)/gi, function($0, $1, $2, $3, $4, $5, $6, $7) { if (feature_name.indexOf($4) > -1) { if ($2 === '<' && $5 === '<' || $2 === '>' && $5 === '>') { const min = ($2 === '<') ? $1 : $7; const max = ($2 === '<') ? $7 : $1; // output differently depended on expression direction // <|<= <|<= // or // >|>= >|>= let equals_for_min = $3; let equals_for_max = $6; if ($2 === '>') { equals_for_min = $6; equals_for_max = $3; } return create_query($4, '>', equals_for_min, min) + ' and ' + create_query($4, '<', equals_for_max, max); } } // If it is not the specified attribute, don't replace return $0; }); } module.exports = () => ({ postcssPlugin: 'postcss-media-minmax', AtRule: { media: (atRule) => { transform(atRule); }, 'custom-media': (atRule) => { transform(atRule); }, }, }); module.exports.postcss = true postcss-media-minmax-5.0.0/package.json000066400000000000000000000013721377745547600201000ustar00rootroot00000000000000{ "name": "postcss-media-minmax", "version": "5.0.0", "description": "Using more intuitive `>=`, `<=`, `>`, `<` instead of media queries min/max prefix.", "scripts": { "test": "tape test", "release": "npmpub" }, "repository": "https://github.com/postcss/postcss-media-minmax.git", "keywords": [ "css", "css3", "postcss", "postcss-plugin", "media querie", "media queries" ], "author": "yisi", "license": "MIT", "files": [ "CHANGELOG.md", "README.md", "README-zh.md", "LICENSE", "index.js" ], "engines": { "node": ">=10.0.0" }, "peerDependencies": { "postcss": "^8.1.0" }, "devDependencies": { "npmpub": "^4.1.0", "postcss": "^8.1.0", "tape": "^4.9.1" } } postcss-media-minmax-5.0.0/test/000077500000000000000000000000001377745547600165665ustar00rootroot00000000000000postcss-media-minmax-5.0.0/test/fixtures/000077500000000000000000000000001377745547600204375ustar00rootroot00000000000000postcss-media-minmax-5.0.0/test/fixtures/aspect-ratio.css000066400000000000000000000004211377745547600235410ustar00rootroot00000000000000@media screen and (aspect-ratio >= 1/1000) and (aspect-ratio <= 16/9) { } @media screen and (1 / 1000 <= aspect-ratio <= 16 / 9) { } @media screen and (0/0 <= aspect-ratio <= 16/9) { } @media screen and (aspect-ratio) and (1 / 1000 <= aspect-ratio <= 16 / 9) { } postcss-media-minmax-5.0.0/test/fixtures/aspect-ratio.output.css000066400000000000000000000005311377745547600251020ustar00rootroot00000000000000@media screen and (min-aspect-ratio: 1/1000) and (max-aspect-ratio: 16/9) { } @media screen and (min-aspect-ratio: 1 / 1000) and (max-aspect-ratio: 16 / 9) { } @media screen and (min-aspect-ratio: 0/0) and (max-aspect-ratio: 16/9) { } @media screen and (aspect-ratio) and (min-aspect-ratio: 1 / 1000) and (max-aspect-ratio: 16 / 9) { }postcss-media-minmax-5.0.0/test/fixtures/color-index.css000066400000000000000000000002651377745547600233770ustar00rootroot00000000000000@media screen and (color-index >= 0) and (color-index <= 8) { } @media screen and (0 <= color-index <= 8) { } @media screen and (color-index) and (6 <= color-index <= 256) { } postcss-media-minmax-5.0.0/test/fixtures/color-index.output.css000066400000000000000000000003451377745547600247350ustar00rootroot00000000000000@media screen and (min-color-index: 0) and (max-color-index: 8) { } @media screen and (min-color-index: 0) and (max-color-index: 8) { } @media screen and (color-index) and (min-color-index: 6) and (max-color-index: 256) { } postcss-media-minmax-5.0.0/test/fixtures/color.css000066400000000000000000000002271377745547600222700ustar00rootroot00000000000000@media screen and (color >= 0) and (color <= 8) { } @media screen and (0 <= color <= 8) { } @media screen and (color) and (6 <= color <= 256) { } postcss-media-minmax-5.0.0/test/fixtures/color.output.css000066400000000000000000000002731377745547600236300ustar00rootroot00000000000000@media screen and (min-color: 0) and (max-color: 8) { } @media screen and (min-color: 0) and (max-color: 8) { } @media screen and (color) and (min-color: 6) and (max-color: 256) { } postcss-media-minmax-5.0.0/test/fixtures/comment.css000066400000000000000000000004651377745547600226200ustar00rootroot00000000000000@media screen and /* comment */ (/* comment */width >= 500px) /* comment */ and (width/* comment */ <= 1200px) /* comment */{ .bar { display: block; } } @media screen and /* comment */(500px/* comment */ <= /* comment */width <= 1200px/* comment */) /* comment */{ .bar { display: block; } } postcss-media-minmax-5.0.0/test/fixtures/comment.output.css000066400000000000000000000003411377745547600241500ustar00rootroot00000000000000@media screen and (min-width: 500px) and (max-width: 1200px) /* comment */{ .bar { display: block; } } @media screen and (min-width: 500px) and (max-width: 1200px) /* comment */{ .bar { display: block; } } postcss-media-minmax-5.0.0/test/fixtures/device-aspect-ratio.css000066400000000000000000000004731377745547600250050ustar00rootroot00000000000000@media screen and (device-aspect-ratio >= 1/1000) and (device-aspect-ratio <= 16/9) { } @media screen and (1 / 1000 <= device-aspect-ratio <= 16 / 9) { } @media screen and (0/0 <= device-aspect-ratio <= 16/9) { } @media screen and (device-aspect-ratio) and (1 / 1000 <= device-aspect-ratio <= 16 / 9) { } postcss-media-minmax-5.0.0/test/fixtures/device-aspect-ratio.output.css000066400000000000000000000006311377745547600263400ustar00rootroot00000000000000@media screen and (min-device-aspect-ratio: 1/1000) and (max-device-aspect-ratio: 16/9) { } @media screen and (min-device-aspect-ratio: 1 / 1000) and (max-device-aspect-ratio: 16 / 9) { } @media screen and (min-device-aspect-ratio: 0/0) and (max-device-aspect-ratio: 16/9) { } @media screen and (device-aspect-ratio) and (min-device-aspect-ratio: 1 / 1000) and (max-device-aspect-ratio: 16 / 9) { } postcss-media-minmax-5.0.0/test/fixtures/device-width-height.css000066400000000000000000000010571377745547600247760ustar00rootroot00000000000000@media screen and (device-width >= 500px) and (device-width <= 1200px) { } @media screen and (500px <= device-width <= 1200px) { } @media screen and (0 <= device-width <= 500.58px) { } @media screen and (device-width) and (.08px <= device-width <= 0.68px) { } /* device-height */ @media screen and (device-height >= 500px) and (device-height <= 1200px) { } @media screen and (500px <= device-height <= 1200px) { } @media screen and (0 <= device-height <= 500.58px) { } @media screen and (device-height) and (.08px <= device-height <= 0.68px) { } postcss-media-minmax-5.0.0/test/fixtures/device-width-height.output.css000066400000000000000000000013041377745547600263300ustar00rootroot00000000000000@media screen and (min-device-width: 500px) and (max-device-width: 1200px) { } @media screen and (min-device-width: 500px) and (max-device-width: 1200px) { } @media screen and (min-device-width: 0) and (max-device-width: 500.58px) { } @media screen and (device-width) and (min-device-width: .08px) and (max-device-width: 0.68px) { } /* device-height */ @media screen and (min-device-height: 500px) and (max-device-height: 1200px) { } @media screen and (min-device-height: 500px) and (max-device-height: 1200px) { } @media screen and (min-device-height: 0) and (max-device-height: 500.58px) { } @media screen and (device-height) and (min-device-height: .08px) and (max-device-height: 0.68px) { } postcss-media-minmax-5.0.0/test/fixtures/line-break.css000066400000000000000000000002751377745547600231660ustar00rootroot00000000000000@media screen and (width >= 500px) and (width <= 1200px) { .foo { display: block; } } @media screen and (1200px <= width <= 500px) and (hover) { .bar { display: block; } } postcss-media-minmax-5.0.0/test/fixtures/line-break.output.css000066400000000000000000000003211377745547600245150ustar00rootroot00000000000000@media screen and (min-width: 500px) and (max-width: 1200px) { .foo { display: block; } } @media screen and (min-width: 1200px) and (max-width: 500px) and (hover) { .bar { display: block; } } postcss-media-minmax-5.0.0/test/fixtures/min-max.css000066400000000000000000000013451377745547600225220ustar00rootroot00000000000000@media screen and (width > 500px) and (width < 1200px) { } @media screen and (500px < width < 1200px) { } @media screen and (40em < width < 60em) { } @media screen and (13.8rem < width <= 51.2rem) { } @media screen and (6in < width < 9in) { } @media screen and (0 < width < 500.58px) { } @media screen and (width) and (.08px < width < 0.68px) { } /* height */ @media screen and (height > 500px) and (height < 1200px) { } @media screen and (500px < height < 1200px) { } @media screen and (40em < height < 60em) { } @media screen and (13.8rem <= height < 51.2rem) { } @media screen and (6in < height < 9in) { } @media screen and (0 < height < 500.58px) { } @media screen and (height) and (.08px < height < 0.68px) { } postcss-media-minmax-5.0.0/test/fixtures/min-max.output.css000066400000000000000000000017751377745547600240700ustar00rootroot00000000000000@media screen and (min-width: 501px) and (max-width: 1199px) { } @media screen and (min-width: 501px) and (max-width: 1199px) { } @media screen and (min-width: 40.001em) and (max-width: 59.999em) { } @media screen and (min-width: 13.801rem) and (max-width: 51.2rem) { } @media screen and (min-width: 6.001in) and (max-width: 8.999in) { } @media screen and (min-width: 1px) and (max-width: 500.579px) { } @media screen and (width) and (min-width: 0.081px) and (max-width: 0.679px) { } /* height */ @media screen and (min-height: 501px) and (max-height: 1199px) { } @media screen and (min-height: 501px) and (max-height: 1199px) { } @media screen and (min-height: 40.001em) and (max-height: 59.999em) { } @media screen and (min-height: 13.8rem) and (max-height: 51.199rem) { } @media screen and (min-height: 6.001in) and (max-height: 8.999in) { } @media screen and (min-height: 1px) and (max-height: 500.579px) { } @media screen and (height) and (min-height: 0.081px) and (max-height: 0.679px) { } postcss-media-minmax-5.0.0/test/fixtures/monochrome.css000066400000000000000000000002661377745547600233230ustar00rootroot00000000000000@media screen and (monochrome >= 0) and (monochrome <= 1000) { } @media screen and (0 <= monochrome <= 1000) { } @media screen and (monochrome) and (1 <= monochrome <= 300) { } postcss-media-minmax-5.0.0/test/fixtures/monochrome.output.css000066400000000000000000000003441377745547600246570ustar00rootroot00000000000000@media screen and (min-monochrome: 0) and (max-monochrome: 1000) { } @media screen and (min-monochrome: 0) and (max-monochrome: 1000) { } @media screen and (monochrome) and (min-monochrome: 1) and (max-monochrome: 300) { } postcss-media-minmax-5.0.0/test/fixtures/more-units.css000066400000000000000000000011231377745547600232500ustar00rootroot00000000000000@media screen and (color-index) { } @media screen and (color-index >= 0) and (color-index <= 1000) { } @media screen and (monochrome >= 0) and (monochrome <= 1000) { } @media screen and (resolution >= 96dpi) and (resolution <= 3dppx) { } @media screen and (width >= -200px) and (width <= 900.56px) { } @media screen and (width >= -0.58px) and (width <= .99px) { } @media screen and (resolution) { } @media screen and (resolution >= 1000dpi) and (resolution <= 3dppx) { } @media screen and (1000000dpi <= resolution <= 1000000dpcm) { } @media screen and (1 / 1000 <= resolution <= 16 /9) { } postcss-media-minmax-5.0.0/test/fixtures/more-units.output.css000066400000000000000000000012251377745547600246120ustar00rootroot00000000000000@media screen and (color-index) { } @media screen and (min-color-index: 0) and (max-color-index: 1000) { } @media screen and (min-monochrome: 0) and (max-monochrome: 1000) { } @media screen and (min-resolution: 96dpi) and (max-resolution: 3dppx) { } @media screen and (min-width: -200px) and (max-width: 900.56px) { } @media screen and (min-width: -0.58px) and (max-width: .99px) { } @media screen and (resolution) { } @media screen and (min-resolution: 1000dpi) and (max-resolution: 3dppx) { } @media screen and (min-resolution: 1000000dpi) and (max-resolution: 1000000dpcm) { } @media screen and (min-resolution: 1 / 1000) and (max-resolution: 16 /9) { } postcss-media-minmax-5.0.0/test/fixtures/other-name.css000066400000000000000000000006151377745547600232120ustar00rootroot00000000000000@media screen and (width >= 500px) and (height) { .bar { display: block; } } @media screen and (500px <= width <= 1200px) and (height) { .bar { display: block; } } @media screen and (any-hover) and (width >= 500px) and (device-width) { .bar { display: block; } } @media screen and (any-hover) and (width >= 500px) and (device-width) { .bar { display: block; } } postcss-media-minmax-5.0.0/test/fixtures/other-name.output.css000066400000000000000000000006431377745547600245520ustar00rootroot00000000000000@media screen and (min-width: 500px) and (height) { .bar { display: block; } } @media screen and (min-width: 500px) and (max-width: 1200px) and (height) { .bar { display: block; } } @media screen and (any-hover) and (min-width: 500px) and (device-width) { .bar { display: block; } } @media screen and (any-hover) and (min-width: 500px) and (device-width) { .bar { display: block; } } postcss-media-minmax-5.0.0/test/fixtures/resolution.css000066400000000000000000000004041377745547600233520ustar00rootroot00000000000000@media screen and (resolution >= 1dpi) and (resolution <= 192dpi) { } @media screen and (1.5dppx <= resolution <= 3dppx) { } @media screen and (.5dppx <= resolution <= 2.5dppx) { } @media screen and (resolution) and (10dpi <= resolution <= 118dpcm) { } postcss-media-minmax-5.0.0/test/fixtures/resolution.output.css000066400000000000000000000005071377745547600247150ustar00rootroot00000000000000@media screen and (min-resolution: 1dpi) and (max-resolution: 192dpi) { } @media screen and (min-resolution: 1.5dppx) and (max-resolution: 3dppx) { } @media screen and (min-resolution: .5dppx) and (max-resolution: 2.5dppx) { } @media screen and (resolution) and (min-resolution: 10dpi) and (max-resolution: 118dpcm) { } postcss-media-minmax-5.0.0/test/fixtures/shorthands.css000066400000000000000000000004431377745547600233270ustar00rootroot00000000000000@media (1024px > width >= 768px) {} @media (768px <= width < 1024px) {} @media (1024px >= width > 768px) {} @media (768px < width <= 1024px) {} @media (1024px >= width >= 768px) {} @media (768px <= width <= 1024px) {} @media (1024px > width > 768px) {} @media (768px < width < 1024px) {} postcss-media-minmax-5.0.0/test/fixtures/shorthands.output.css000066400000000000000000000006531377745547600246710ustar00rootroot00000000000000@media (min-width: 768px) and (max-width: 1023px) {} @media (min-width: 768px) and (max-width: 1023px) {} @media (min-width: 769px) and (max-width: 1024px) {} @media (min-width: 769px) and (max-width: 1024px) {} @media (min-width: 768px) and (max-width: 1024px) {} @media (min-width: 768px) and (max-width: 1024px) {} @media (min-width: 769px) and (max-width: 1023px) {} @media (min-width: 769px) and (max-width: 1023px) {} postcss-media-minmax-5.0.0/test/fixtures/width-height.css000066400000000000000000000007241377745547600235410ustar00rootroot00000000000000@media screen and (width >= 500px) and (width <= 1200px) { } @media screen and (500px <= width <= 1200px) { } @media screen and (0 <= width <= 500.58px) { } @media screen and (width) and (.08px <= width <= 0.68px) { } /* height */ @media screen and (height >= 500px) and (height <= 1200px) { } @media screen and (500px <= height <= 1200px) { } @media screen and (0 <= height <= 500.58px) { } @media screen and (height) and (.08px <= height <= 0.68px) { } postcss-media-minmax-5.0.0/test/fixtures/width-height.output.css000066400000000000000000000010771377745547600251020ustar00rootroot00000000000000@media screen and (min-width: 500px) and (max-width: 1200px) { } @media screen and (min-width: 500px) and (max-width: 1200px) { } @media screen and (min-width: 0) and (max-width: 500.58px) { } @media screen and (width) and (min-width: .08px) and (max-width: 0.68px) { } /* height */ @media screen and (min-height: 500px) and (max-height: 1200px) { } @media screen and (min-height: 500px) and (max-height: 1200px) { } @media screen and (min-height: 0) and (max-height: 500.58px) { } @media screen and (height) and (min-height: .08px) and (max-height: 0.68px) { } postcss-media-minmax-5.0.0/test/index.js000066400000000000000000000027471377745547600202450ustar00rootroot00000000000000var fs = require("fs") var test = require("tape") var postcss = require("postcss") var plugin = require("..") function filename(name) { return "test/" + name + ".css" } function read(name) { return fs.readFileSync(name, "utf8") } function compareFixtures(t, name, msg, opts, postcssOpts) { postcssOpts = postcssOpts || {} postcssOpts.from = filename("fixtures/" + name) opts = opts || {} var actual = postcss().use(plugin(opts)).process(read(postcssOpts.from), postcssOpts).css var expected = read(filename("fixtures/" + name + ".output")) fs.writeFileSync(filename("fixtures/" + name + ".actual"), actual) t.equal(actual.trim(), expected.trim(), msg) } test("@media", function(t) { compareFixtures(t, "width-height", "should transform") compareFixtures(t, "device-width-height", "should transform") compareFixtures(t, "aspect-ratio", "should transform") compareFixtures(t, "device-aspect-ratio", "should transform") compareFixtures(t, "color", "should transform") compareFixtures(t, "color-index", "should transform") compareFixtures(t, "monochrome", "should transform") compareFixtures(t, "resolution", "should transform") compareFixtures(t, "comment", "should transform") compareFixtures(t, "line-break", "should transform") compareFixtures(t, "other-name", "should transform") compareFixtures(t, "more-units", "should transform") compareFixtures(t, "min-max", "should transform") compareFixtures(t, "shorthands", "should transform shorthands") t.end() }) postcss-media-minmax-5.0.0/yarn.lock000066400000000000000000000756321377745547600174470ustar00rootroot00000000000000# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@octokit/rest@^14.0.7": version "14.0.9" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-14.0.9.tgz#d5e0a00dcb78901dd7b2ef852acfc0aea7c479ef" integrity sha512-irP9phKfTXEZIcW2R+VNCtGHZJrXMWmSYp6RRfFn4BtAqtDRXF5z9JxCEQlAhNBf6X1koNi5k49tIAAAEJNlVQ== dependencies: before-after-hook "^1.1.0" debug "^3.1.0" is-array-buffer "^1.0.0" is-stream "^1.1.0" lodash "^4.17.4" url-template "^2.0.8" "@sindresorhus/df@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-1.0.1.tgz#c69b66f52f6fcdd287c807df210305dbaf78500d" integrity sha1-xptm9S9vzdKHyAffIQMF2694UA0= "@sindresorhus/df@^2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@sindresorhus/df/-/df-2.1.0.tgz#d208cf27e06f0bb476d14d7deccd7d726e9aa389" integrity sha1-0gjPJ+BvC7R20U197M19cm6ao4k= dependencies: execa "^0.2.2" ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= dependencies: array-uniq "^1.0.1" array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= before-after-hook@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.4.0.tgz#2b6bf23dca4f32e628fd2747c10a37c74a4b484d" integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg== brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" call-bind@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" get-intrinsic "^1.0.2" chalk@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" has-ansi "^2.0.0" strip-ansi "^3.0.0" supports-color "^2.0.0" checkup@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/checkup/-/checkup-1.3.0.tgz#d3800276fea5d0f247ffc951be78c8b02f8e0d76" integrity sha1-04ACdv6l0PJH/8lRvnjIsC+ODXY= colorette@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= cross-spawn-async@^2.1.1: version "2.2.5" resolved "https://registry.yarnpkg.com/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" integrity sha1-hF/wwINKPe2dFg2sptOQkGuyiMw= dependencies: lru-cache "^4.0.0" which "^1.2.8" debug@^3.1.0: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" debug@^4.1.0: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== dependencies: ms "2.1.2" deep-equal@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== dependencies: is-arguments "^1.0.4" is-date-object "^1.0.1" is-regex "^1.0.4" object-is "^1.0.1" object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" defined@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= dotignore@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/dotignore/-/dotignore-0.1.2.tgz#f942f2200d28c3a76fbdd6f0ee9f3257c8a2e905" integrity sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw== dependencies: minimatch "^3.0.4" es-abstract@^1.17.0-next.1: version "1.17.7" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c" integrity sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" is-callable "^1.2.2" is-regex "^1.1.1" object-inspect "^1.8.0" object-keys "^1.1.1" object.assign "^4.1.1" string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" es-abstract@^1.18.0-next.1: version "1.18.0-next.1" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.1.tgz#6e3a0a4bda717e5023ab3b8e90bec36108d22c68" integrity sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== dependencies: es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" is-callable "^1.2.2" is-negative-zero "^2.0.0" is-regex "^1.1.1" object-inspect "^1.8.0" object-keys "^1.1.1" object.assign "^4.1.1" string.prototype.trimend "^1.0.1" string.prototype.trimstart "^1.0.1" es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" escape-string-applescript@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/escape-string-applescript/-/escape-string-applescript-1.0.0.tgz#6f1c2294245d82c63bc03338dc19a94aa8428892" integrity sha1-bxwilCRdgsY7wDM43BmpSqhCiJI= escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= execa@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/execa/-/execa-0.2.2.tgz#e2ead472c2c31aad6f73f1ac956eef45e12320cb" integrity sha1-4urUcsLDGq1vc/GslW7vReEjIMs= dependencies: cross-spawn-async "^2.1.1" npm-run-path "^1.0.0" object-assign "^4.0.1" path-key "^1.0.0" strip-eof "^1.0.0" execon@^1.2.0: version "1.2.9" resolved "https://registry.yarnpkg.com/execon/-/execon-1.2.9.tgz#6db11333dcc824f1f13e7317fed0d94a2f26491f" integrity sha1-bbETM9zIJPHxPnMX/tDZSi8mSR8= for-each@~0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== dependencies: is-callable "^1.1.3" fs-extra@^0.26.2: version "0.26.7" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.7.tgz#9ae1fdd94897798edab76d0918cf42d0c3184fa9" integrity sha1-muH92UiXeY7at20JGM9C0MMYT6k= dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" klaw "^1.0.0" path-is-absolute "^1.0.0" rimraf "^2.2.8" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= function-bind@^1.1.1, function-bind@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== get-intrinsic@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49" integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== dependencies: function-bind "^1.1.1" has "^1.0.3" has-symbols "^1.0.1" github-release-from-changelog@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/github-release-from-changelog/-/github-release-from-changelog-1.3.2.tgz#a4ba87e3f2a568414f724ca37d3b4ab16647c9ca" integrity sha512-3Cj5zazWfk9heJzBSXxBsh9xQSYt8ZOseresfNeHewFVC2g0Au9181xob9eXTv4hRysi9k3gRVCXOUmBH+J2bA== dependencies: grizzly "^3.0.3" minimist "^1.2.0" glob@^6.0.1: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= dependencies: inflight "^1.0.4" inherits "2" minimatch "2 || 3" once "^1.3.0" path-is-absolute "^1.0.0" glob@^7.1.3, glob@~7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" minimatch "^3.0.4" once "^1.3.0" path-is-absolute "^1.0.0" globby@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" integrity sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg= dependencies: array-union "^1.0.1" arrify "^1.0.0" glob "^6.0.1" object-assign "^4.0.1" pify "^2.0.0" pinkie-promise "^2.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== grizzly@^3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/grizzly/-/grizzly-3.0.4.tgz#960dddeb03d05a49e1d80c984792854f3af2c306" integrity sha512-I+wP97IciZXIJJObJwyaUckOHdLl+XfjrZWI1pTO32e4gr3GLATOFhIg7gMVzK8dFi4Ue0f5CoeJd+ZMdhFQMA== dependencies: "@octokit/rest" "^14.0.7" checkup "^1.3.0" debug "^4.1.0" execon "^1.2.0" minimist "^1.2.0" readjson "^1.1.0" has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= dependencies: ansi-regex "^2.0.0" has-symbols@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== has@^1.0.3, has@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" inherits@2, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== is-arguments@^1.0.4: version "1.1.0" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== dependencies: call-bind "^1.0.0" is-array-buffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-1.0.1.tgz#a4fac0cf325c1fad3f713e2b109eb241a907cf27" integrity sha512-lj035IqdAwsodoRGs9/8+Kn3HPoz9CTuZbcw63afugWonxigvUVeHY5d6Ve1O+s1N3RCk7txo2TIWQLbU0SuNA== is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.2.tgz#c7c6715cd22d4ddb48d3e19970223aceabb080d9" integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== is-date-object@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-negative-zero@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== is-regex@^1.0.4, is-regex@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9" integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== dependencies: has-symbols "^1.0.1" is-regex@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== dependencies: has "^1.0.3" is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-symbol@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== dependencies: has-symbols "^1.0.1" isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= optionalDependencies: graceful-fs "^4.1.6" klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" integrity sha1-QIhDO0azsbolnXh4XY6W9zugJDk= optionalDependencies: graceful-fs "^4.1.9" lodash@^4.17.4: version "4.17.20" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== lru-cache@^4.0.0: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== dependencies: pseudomap "^1.0.2" yallist "^2.1.2" "minimatch@2 || 3", minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@^1.2.0, minimist@~1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== mount-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/mount-point/-/mount-point-3.0.0.tgz#665cb9edebe80d110e658db56c31d0aef51a8f97" integrity sha1-Zly57evoDREOZY21bDHQrvUaj5c= dependencies: "@sindresorhus/df" "^1.0.1" pify "^2.3.0" pinkie-promise "^2.0.1" ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== nanoid@^3.1.20: version "3.1.20" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== npm-run-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" integrity sha1-9cMr9ZX+ga6Sfa7FLoL4sACsPI8= dependencies: path-key "^1.0.0" npmpub@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/npmpub/-/npmpub-4.1.0.tgz#b862fbd2e5721dfbd4c8d9da5b9ef7ac4888a4c3" integrity sha512-aFaX5gp09tl5NxpqxkHg1QCZrTx6QHBLfQkfonXR0ohwvWeNJItFVSN2R+6IVKtLis085A6zbOUi8r6lMtPO9A== dependencies: chalk "^1.1.1" github-release-from-changelog "^1.3.2" minimist "^1.2.0" shelljs "^0.5.3" trash "^3.4.1" object-assign@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-inspect@^1.8.0: version "1.9.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== object-inspect@~1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== object-is@^1.0.1: version "1.1.4" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.4.tgz#63d6c83c00a43f4cbc9434eb9757c8a5b8565068" integrity sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.1: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" has-symbols "^1.0.1" object-keys "^1.1.1" once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-key@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af" integrity sha1-XVPVeAGWRsDWiADbThRua9wqx68= path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= pinkie-promise@^2.0.0, pinkie-promise@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= postcss@^8.1.0: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.4.tgz#20a98a39cf303d15129c2865a9ec37eda0031d04" integrity sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg== dependencies: colorette "^1.2.1" nanoid "^3.1.20" source-map "^0.6.1" pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= readjson@^1.1.0: version "1.1.4" resolved "https://registry.yarnpkg.com/readjson/-/readjson-1.1.4.tgz#89501f648453dcda9b15399b3fb10c38249662c7" integrity sha512-H4dRk2S67w3HtE1apnw5wlHpN9qkJ0pen0AcEvyAfnrPfskZIyUOYLXpfN6olDQZI+eUlxg0Yo4lJ2bymujOUA== dependencies: try-catch "^2.0.0" regexp.prototype.flags@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== dependencies: define-properties "^1.1.3" es-abstract "^1.17.0-next.1" resolve@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: path-parse "^1.0.6" resumer@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" integrity sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k= dependencies: through "~2.3.4" rimraf@^2.2.8: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== dependencies: glob "^7.1.3" run-applescript@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-2.1.0.tgz#3bff2ccf95b6ceacb49723e550f00371d618510d" integrity sha1-O/8sz5W2zqy0lyPlUPADcdYYUQ0= dependencies: pify "^2.2.0" pinkie-promise "^2.0.0" shelljs@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.5.3.tgz#c54982b996c76ef0c1e6b59fbdc5825f5b713113" integrity sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM= source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== string.prototype.trim@~1.2.1: version "1.2.3" resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.3.tgz#d23a22fde01c1e6571a7fadcb9be11decd8061a7" integrity sha512-16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" es-abstract "^1.18.0-next.1" string.prototype.trimend@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" string.prototype.trimstart@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: ansi-regex "^2.0.0" strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= tape@^4.9.1: version "4.13.3" resolved "https://registry.yarnpkg.com/tape/-/tape-4.13.3.tgz#51b3d91c83668c7a45b1a594b607dee0a0b46278" integrity sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw== dependencies: deep-equal "~1.1.1" defined "~1.0.0" dotignore "~0.1.2" for-each "~0.3.3" function-bind "~1.1.1" glob "~7.1.6" has "~1.0.3" inherits "~2.0.4" is-regex "~1.0.5" minimist "~1.2.5" object-inspect "~1.7.0" resolve "~1.17.0" resumer "~0.0.0" string.prototype.trim "~1.2.1" through "~2.3.8" through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= trash@^3.4.1: version "3.4.2" resolved "https://registry.yarnpkg.com/trash/-/trash-3.4.2.tgz#fb042252fc26a022276950a2bb0ece9b9405eb19" integrity sha1-+wQiUvwmoCInaVCiuw7Om5QF6xk= dependencies: escape-string-applescript "^1.0.0" fs-extra "^0.26.2" globby "^4.0.0" path-exists "^2.0.0" pify "^2.3.0" pinkie-promise "^2.0.0" run-applescript "^2.0.0" uuid "^2.0.1" xdg-trashdir "^2.0.0" try-catch@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/try-catch/-/try-catch-2.0.1.tgz#a35d354187c422f291a0bcfd9eb77e3a4f90c1e5" integrity sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg== url-template@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE= user-home@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= dependencies: os-homedir "^1.0.0" uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= which@^1.2.8: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= xdg-basedir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" integrity sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I= dependencies: os-homedir "^1.0.0" xdg-trashdir@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/xdg-trashdir/-/xdg-trashdir-2.1.1.tgz#59a60aaf8e6f9240c1daed9a0944b2f514c27d8e" integrity sha512-KcVhPaOu2ZurYNHSRTf1+ZHORkTZGCQ+u0JHN17QixRISJq4pXOnjt/lQcehvtHL5QAKhSzKgyjrcNnPdkPBHA== dependencies: "@sindresorhus/df" "^2.1.0" mount-point "^3.0.0" pify "^2.2.0" user-home "^2.0.0" xdg-basedir "^2.0.0" yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=