diff --git a/CHANGELOG.md b/CHANGELOG.md index 26568742c..3dbc63121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - added new shipping method Zasilkovna - pick up places are downloaded by cron - [#15 - Company account with multiple users](https://github.com/shopsys/demoshop/pull/15) +- [#31 - Discount for customer](https://github.com/shopsys/demoshop/pull/31) + - administration of customer now contains discount field with range validation that is reflected into User entity + - prices of products are recalculated for logged customers based on custom discount + - discount works also for companies with multiple users + - `filterFormMacro.html.twig` now counts with discount coeficient ### Changed - [#1 - Basic changes in docs, readme etc. after copying from project-base](https://github.com/shopsys/demoshop/pull/1) : [@LukasHeinz] diff --git a/app/Resources/ShopsysFrameworkBundle/views/Admin/Form/orderItems.html.twig b/app/Resources/ShopsysFrameworkBundle/views/Admin/Form/orderItems.html.twig new file mode 100644 index 000000000..5e236d922 --- /dev/null +++ b/app/Resources/ShopsysFrameworkBundle/views/Admin/Form/orderItems.html.twig @@ -0,0 +1,72 @@ +{% block order_items_widget %} + + {% import '@ShopsysFramework/Admin/Content/Order/orderItem.html.twig' as orderItemMacro %} + +

{{ 'Order items'|trans }}

+
+
+ {{ form_errors(form.itemsWithoutTransportAndPayment) }} +
+ + + + + + + + + + + + + + + + {% for productItem in order.productItems %} + {{ orderItemMacro.orderItem(form.itemsWithoutTransportAndPayment[productItem.id], productItem.id, orderItemTotalPricesById, order.currency, productItem) }} + {% endfor %} + + {% for orderItemId, orderItemForm in form.itemsWithoutTransportAndPayment %} + {% if not orderItemForm.rendered %} + {{ orderItemMacro.orderItem(orderItemForm, orderItemId, orderItemTotalPricesById, order.currency, null) }} + {% endif %} + {% endfor %} + + {{ orderItemMacro.orderTransport(form.orderTransport, order, transportPricesWithVatByTransportId, transportVatPercentsByTransportId) }} + {{ orderItemMacro.orderPayment(form.orderPayment, order, paymentPricesWithVatByPaymentId, paymentVatPercentsByPaymentId) }} + + + + + + + + + + + + + + +
{{ 'Name'|trans }}{{ 'Catalogue number'|trans }}{{ 'Unit price including VAT'|trans }}{{ 'Amount'|trans }}{{ 'Unit'|trans }}{{ 'VAT rate (%)'|trans }}{{ 'Total including VAT'|trans }}{{ 'Total excluding VAT'|trans }}
+ + + + {{ 'Add item'|trans }} + + + + + {{ 'Add product'|trans }} + +
+ + {{ 'Added product will not have any individual discounts'|trans }} + +
{{ 'Total'|trans }}:{{ order.totalPriceWithVat|priceWithCurrency(order.currency) }}{{ order.totalPriceWithoutVat|priceWithCurrency(order.currency) }}
+
+
+
+{% endblock order_items_widget %} \ No newline at end of file diff --git a/composer.lock b/composer.lock index de70be0e2..df4c316a2 100644 --- a/composer.lock +++ b/composer.lock @@ -1,7 +1,7 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], "content-hash": "e2f6dd44d4787b578f75e7721a5988f3", @@ -847,43 +847,45 @@ }, { "name": "craue/formflow-bundle", - "version": "3.0.3", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/craue/CraueFormFlowBundle.git", - "reference": "13a2bac29ed7dc721506f089cafa3156af475e6a" + "reference": "965faa5b45ef31bba50c9ff99be16b2c22459e3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/craue/CraueFormFlowBundle/zipball/13a2bac29ed7dc721506f089cafa3156af475e6a", - "reference": "13a2bac29ed7dc721506f089cafa3156af475e6a", + "url": "https://api.github.com/repos/craue/CraueFormFlowBundle/zipball/965faa5b45ef31bba50c9ff99be16b2c22459e3f", + "reference": "965faa5b45ef31bba50c9ff99be16b2c22459e3f", "shasum": "" }, "require": { - "paragonie/random_compat": "^1|^2", - "php": "^5.3.9|~7.0", - "symfony/form": "~2.7|~3.0|~4.0", - "symfony/http-kernel": "~2.7|~3.0|~4.0", - "symfony/translation": "~2.7|~3.0|~4.0", - "symfony/yaml": "~2.7|~3.0|~4.0" + "php": "~7.0", + "symfony/form": "~3.4|~4.1", + "symfony/http-kernel": "~3.4|~4.1", + "symfony/translation": "~3.4|~4.1", + "symfony/yaml": "~3.4|~4.1" }, "require-dev": { - "doctrine/doctrine-bundle": "~1.0", - "phpunit/phpunit": "^4.8.35|~5.7|~6.0", - "sensio/framework-extra-bundle": "~3.0", - "symfony/phpunit-bridge": "^3.2.5|~4.0", - "symfony/symfony": "~2.7|~3.0|~4.0" + "doctrine/common": "~2.7", + "doctrine/doctrine-bundle": "~1.10", + "phpunit/phpunit": "^6.5.13|^7.5.1", + "symfony/phpunit-bridge": "~3.4|~4.1", + "symfony/symfony": "~3.4|~4.1" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { "psr-4": { "Craue\\FormFlowBundle\\": "" - } + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -902,14 +904,13 @@ "description": "Multi-step forms for your Symfony project.", "homepage": "https://github.com/craue/CraueFormFlowBundle", "keywords": [ - "Symfony2", "form", "step", "symfony3", "symfony4", "wizard" ], - "time": "2017-12-07T17:34:29+00:00" + "time": "2019-01-06T19:30:19+00:00" }, { "name": "doctrine/annotations", @@ -1264,16 +1265,16 @@ }, { "name": "doctrine/dbal", - "version": "v2.9.0", + "version": "v2.9.2", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "21fdabe2fc01e004e1966f200d900554876bc63c" + "reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/21fdabe2fc01e004e1966f200d900554876bc63c", - "reference": "21fdabe2fc01e004e1966f200d900554876bc63c", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9", + "reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9", "shasum": "" }, "require": { @@ -1342,20 +1343,20 @@ "php", "queryobject" ], - "time": "2018-12-04T04:39:48+00:00" + "time": "2018-12-31T03:27:51+00:00" }, { "name": "doctrine/doctrine-bundle", - "version": "1.10.0", + "version": "1.10.1", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "82d2c63cd09acbde2332f55d9aa7b28aefe4983d" + "reference": "98551d71f515692c2278073e0d483763ac70b341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/82d2c63cd09acbde2332f55d9aa7b28aefe4983d", - "reference": "82d2c63cd09acbde2332f55d9aa7b28aefe4983d", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/98551d71f515692c2278073e0d483763ac70b341", + "reference": "98551d71f515692c2278073e0d483763ac70b341", "shasum": "" }, "require": { @@ -1427,7 +1428,7 @@ "orm", "persistence" ], - "time": "2018-11-30T13:53:17+00:00" + "time": "2019-01-07T15:31:08+00:00" }, { "name": "doctrine/doctrine-cache-bundle", @@ -1522,33 +1523,34 @@ }, { "name": "doctrine/doctrine-fixtures-bundle", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineFixturesBundle.git", - "reference": "0438f8dd0a21bc5325c6be3ae0a09131815e10d4" + "reference": "f016565b251c2dfa32a8d6da44d1650dc9ec1498" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/0438f8dd0a21bc5325c6be3ae0a09131815e10d4", - "reference": "0438f8dd0a21bc5325c6be3ae0a09131815e10d4", + "url": "https://api.github.com/repos/doctrine/DoctrineFixturesBundle/zipball/f016565b251c2dfa32a8d6da44d1650dc9ec1498", + "reference": "f016565b251c2dfa32a8d6da44d1650dc9ec1498", "shasum": "" }, "require": { - "doctrine/data-fixtures": "~1.0", - "doctrine/doctrine-bundle": "~1.0", - "php": ">=5.5.9|^7.0", - "symfony/doctrine-bridge": "~2.7|~3.0|~4.0", - "symfony/framework-bundle": "^3.3|^4.0" + "doctrine/data-fixtures": "^1.3", + "doctrine/doctrine-bundle": "^1.6", + "php": "^7.1", + "symfony/doctrine-bridge": "~3.4|^4.1", + "symfony/framework-bundle": "^3.4|^4.1" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^7.4", - "symfony/phpunit-bridge": "^3.4 || ^4.0" + "doctrine/coding-standard": "^5.0", + "phpunit/phpunit": "^7.4", + "symfony/phpunit-bridge": "^4.1" }, "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "3.1.x-dev" } }, "autoload": { @@ -1580,7 +1582,7 @@ "Fixture", "persistence" ], - "time": "2018-11-26T19:40:34+00:00" + "time": "2018-12-21T10:10:51+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", @@ -3995,33 +3997,29 @@ }, { "name": "paragonie/random_compat", - "version": "v2.0.17", + "version": "v9.99.99", "source": { "type": "git", "url": "https://github.com/paragonie/random_compat.git", - "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d" + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/29af24f25bab834fcbb38ad2a69fa93b867e070d", - "reference": "29af24f25bab834fcbb38ad2a69fa93b867e070d", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", "shasum": "" }, "require": { - "php": ">=5.2.0" + "php": "^7" }, "require-dev": { - "phpunit/phpunit": "4.*|5.*" + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" }, "suggest": { "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, "type": "library", - "autoload": { - "files": [ - "lib/random.php" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -4040,7 +4038,7 @@ "pseudorandom", "random" ], - "time": "2018-07-04T16:31:37+00:00" + "time": "2018-07-02T15:55:56+00:00" }, { "name": "phing/phing", @@ -4137,16 +4135,16 @@ }, { "name": "presta/sitemap-bundle", - "version": "v1.5.3", + "version": "v1.5.4", "source": { "type": "git", "url": "https://github.com/prestaconcept/PrestaSitemapBundle.git", - "reference": "16a2c0eae7320e3647013e48026a6a6bd14f75df" + "reference": "b3329832d3df1954affe75b336f490e577d01035" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/prestaconcept/PrestaSitemapBundle/zipball/16a2c0eae7320e3647013e48026a6a6bd14f75df", - "reference": "16a2c0eae7320e3647013e48026a6a6bd14f75df", + "url": "https://api.github.com/repos/prestaconcept/PrestaSitemapBundle/zipball/b3329832d3df1954affe75b336f490e577d01035", + "reference": "b3329832d3df1954affe75b336f490e577d01035", "shasum": "" }, "require": { @@ -4196,7 +4194,7 @@ "symfony", "xml" ], - "time": "2018-02-20T11:33:33+00:00" + "time": "2019-01-02T14:57:49+00:00" }, { "name": "prezent/doctrine-translatable", @@ -4780,16 +4778,16 @@ }, { "name": "sensio/distribution-bundle", - "version": "v5.0.23", + "version": "v5.0.24", "source": { "type": "git", "url": "https://github.com/sensiolabs/SensioDistributionBundle.git", - "reference": "088b116a0e27faa0e1a7384dd4f3f6a9d5a8a3b6" + "reference": "59eac70f15f97ee945924948a6f5e2f6f86b7a4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/088b116a0e27faa0e1a7384dd4f3f6a9d5a8a3b6", - "reference": "088b116a0e27faa0e1a7384dd4f3f6a9d5a8a3b6", + "url": "https://api.github.com/repos/sensiolabs/SensioDistributionBundle/zipball/59eac70f15f97ee945924948a6f5e2f6f86b7a4b", + "reference": "59eac70f15f97ee945924948a6f5e2f6f86b7a4b", "shasum": "" }, "require": { @@ -4828,7 +4826,7 @@ "configuration", "distribution" ], - "time": "2018-10-25T15:26:23+00:00" + "time": "2018-12-14T17:36:15+00:00" }, { "name": "sensio/framework-extra-bundle", @@ -4956,16 +4954,16 @@ }, { "name": "sensiolabs/security-checker", - "version": "v5.0.2", + "version": "v5.0.3", "source": { "type": "git", "url": "https://github.com/sensiolabs/security-checker.git", - "reference": "728f9fb0fe815003b3bcfd331d33106c0d8a6b1e" + "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/728f9fb0fe815003b3bcfd331d33106c0d8a6b1e", - "reference": "728f9fb0fe815003b3bcfd331d33106c0d8a6b1e", + "url": "https://api.github.com/repos/sensiolabs/security-checker/zipball/46be3f58adac13084497961e10eed9a7fb4d44d1", + "reference": "46be3f58adac13084497961e10eed9a7fb4d44d1", "shasum": "" }, "require": { @@ -4998,7 +4996,7 @@ } ], "description": "A security checker for your composer.lock", - "time": "2018-12-10T06:08:43+00:00" + "time": "2018-12-19T17:14:59+00:00" }, { "name": "shopsys/doctrine-orm", @@ -5831,16 +5829,16 @@ }, { "name": "studio-42/elfinder", - "version": "2.1.43", + "version": "2.1.44", "source": { "type": "git", "url": "https://github.com/Studio-42/elFinder.git", - "reference": "878daf75321c5c81d1ae308298241d94b383ea62" + "reference": "8dadc8cb94ffb3b932b8c7af4077b548062719a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Studio-42/elFinder/zipball/878daf75321c5c81d1ae308298241d94b383ea62", - "reference": "878daf75321c5c81d1ae308298241d94b383ea62", + "url": "https://api.github.com/repos/Studio-42/elFinder/zipball/8dadc8cb94ffb3b932b8c7af4077b548062719a6", + "reference": "8dadc8cb94ffb3b932b8c7af4077b548062719a6", "shasum": "" }, "require": { @@ -5885,7 +5883,7 @@ ], "description": "File manager for web", "homepage": "http://elfinder.org", - "time": "2018-11-24T01:37:42+00:00" + "time": "2018-12-15T10:55:18+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -6607,21 +6605,21 @@ }, { "name": "symfony/swiftmailer-bundle", - "version": "v3.2.4", + "version": "v3.2.5", "source": { "type": "git", "url": "https://github.com/symfony/swiftmailer-bundle.git", - "reference": "bd47db86d0b8415f6317c2be149bbacfab11a9cf" + "reference": "ac4f38c2ec7957f2dec8b6c2f24a060b10a254f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/bd47db86d0b8415f6317c2be149bbacfab11a9cf", - "reference": "bd47db86d0b8415f6317c2be149bbacfab11a9cf", + "url": "https://api.github.com/repos/symfony/swiftmailer-bundle/zipball/ac4f38c2ec7957f2dec8b6c2f24a060b10a254f2", + "reference": "ac4f38c2ec7957f2dec8b6c2f24a060b10a254f2", "shasum": "" }, "require": { "php": ">=7.0.0", - "swiftmailer/swiftmailer": "^6.0.1", + "swiftmailer/swiftmailer": "^6.1.3", "symfony/config": "~2.8|~3.3|~4.0", "symfony/dependency-injection": "~2.7|~3.3|~4.0", "symfony/http-kernel": "~2.7|~3.3|~4.0" @@ -6665,20 +6663,20 @@ ], "description": "Symfony SwiftmailerBundle", "homepage": "http://symfony.com", - "time": "2018-10-27T16:17:38+00:00" + "time": "2019-01-05T11:51:59+00:00" }, { "name": "symfony/symfony", - "version": "v3.4.20", + "version": "v3.4.21", "source": { "type": "git", "url": "https://github.com/symfony/symfony.git", - "reference": "f6b8ddc362b1cf3fb06548693c3adbb736092412" + "reference": "c7a57e0bcc3c57ae697f072b3e862487b6fd0030" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/symfony/zipball/f6b8ddc362b1cf3fb06548693c3adbb736092412", - "reference": "f6b8ddc362b1cf3fb06548693c3adbb736092412", + "url": "https://api.github.com/repos/symfony/symfony/zipball/c7a57e0bcc3c57ae697f072b3e862487b6fd0030", + "reference": "c7a57e0bcc3c57ae697f072b3e862487b6fd0030", "shasum": "" }, "require": { @@ -6820,7 +6818,7 @@ "keywords": [ "framework" ], - "time": "2018-12-06T15:24:36+00:00" + "time": "2019-01-06T15:54:26+00:00" }, { "name": "tracy/tracy", @@ -6945,32 +6943,32 @@ }, { "name": "twig/twig", - "version": "v2.5.0", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323" + "reference": "a11dd39f5b6589e14f0ff3b36675d06047c589b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/6a5f676b77a90823c2d4eaf76137b771adf31323", - "reference": "6a5f676b77a90823c2d4eaf76137b771adf31323", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a11dd39f5b6589e14f0ff3b36675d06047c589b1", + "reference": "a11dd39f5b6589e14f0ff3b36675d06047c589b1", "shasum": "" }, "require": { "php": "^7.0", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "psr/container": "^1.0", "symfony/debug": "^2.7", - "symfony/phpunit-bridge": "^3.3" + "symfony/phpunit-bridge": "^3.4.19|^4.1.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -7008,7 +7006,7 @@ "keywords": [ "templating" ], - "time": "2018-07-13T07:18:09+00:00" + "time": "2018-12-16T10:36:48+00:00" }, { "name": "vasek-purchart/console-errors-bundle", @@ -7240,16 +7238,16 @@ }, { "name": "codeception/codeception", - "version": "2.5.1", + "version": "2.5.2", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "e0a658c64e98811a6fd4f6aa7c3222e0609066a9" + "reference": "4f89de32929fef53ca6d83b159fe329b6d484c1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/e0a658c64e98811a6fd4f6aa7c3222e0609066a9", - "reference": "e0a658c64e98811a6fd4f6aa7c3222e0609066a9", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/4f89de32929fef53ca6d83b159fe329b6d484c1c", + "reference": "4f89de32929fef53ca6d83b159fe329b6d484c1c", "shasum": "" }, "require": { @@ -7328,20 +7326,20 @@ "functional testing", "unit testing" ], - "time": "2018-10-29T21:23:19+00:00" + "time": "2019-01-02T10:28:51+00:00" }, { "name": "codeception/phpunit-wrapper", - "version": "7.5.0", + "version": "7.6.0", "source": { "type": "git", "url": "https://github.com/Codeception/phpunit-wrapper.git", - "reference": "c4272e2d140ff408c8a93fa9aec659a8621cbd58" + "reference": "7c95e2022cbde2f013d52cc87ae878f1b996ed4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/c4272e2d140ff408c8a93fa9aec659a8621cbd58", - "reference": "c4272e2d140ff408c8a93fa9aec659a8621cbd58", + "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/7c95e2022cbde2f013d52cc87ae878f1b996ed4d", + "reference": "7c95e2022cbde2f013d52cc87ae878f1b996ed4d", "shasum": "" }, "require": { @@ -7371,7 +7369,7 @@ } ], "description": "PHPUnit classes used by Codeception", - "time": "2018-12-07T10:48:17+00:00" + "time": "2018-12-31T10:33:06+00:00" }, { "name": "codeception/stub", @@ -7465,16 +7463,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v2.13.1", + "version": "v2.14.0", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "54814c62d5beef3ba55297b9b3186ed8b8a1b161" + "reference": "b788ea0af899cedc8114dca7db119c93b6685da2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/54814c62d5beef3ba55297b9b3186ed8b8a1b161", - "reference": "54814c62d5beef3ba55297b9b3186ed8b8a1b161", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/b788ea0af899cedc8114dca7db119c93b6685da2", + "reference": "b788ea0af899cedc8114dca7db119c93b6685da2", "shasum": "" }, "require": { @@ -7483,7 +7481,7 @@ "doctrine/annotations": "^1.2", "ext-json": "*", "ext-tokenizer": "*", - "php": "^5.6 || >=7.0 <7.3", + "php": "^5.6 || ^7.0", "php-cs-fixer/diff": "^1.3", "symfony/console": "^3.4.17 || ^4.1.6", "symfony/event-dispatcher": "^3.0 || ^4.0", @@ -7501,7 +7499,7 @@ "require-dev": { "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", "justinrainbow/json-schema": "^5.0", - "keradus/cli-executor": "^1.1", + "keradus/cli-executor": "^1.2", "mikey179/vfsstream": "^1.6", "php-coveralls/php-coveralls": "^2.1", "php-cs-fixer/accessible-object": "^1.0", @@ -7521,6 +7519,11 @@ "php-cs-fixer" ], "type": "application", + "extra": { + "branch-alias": { + "dev-master": "2.14-dev" + } + }, "autoload": { "psr-4": { "PhpCsFixer\\": "src/" @@ -7552,7 +7555,7 @@ } ], "description": "A tool to automatically fix PHP code style", - "time": "2018-10-21T00:32:10+00:00" + "time": "2019-01-04T18:29:47+00:00" }, { "name": "jakub-onderka/php-parallel-lint", @@ -9014,16 +9017,16 @@ }, { "name": "phpunit/phpunit", - "version": "7.5.0", + "version": "7.5.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "520723129e2b3fc1dc4c0953e43c9d40e1ecb352" + "reference": "c23d78776ad415d5506e0679723cb461d71f488f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/520723129e2b3fc1dc4c0953e43c9d40e1ecb352", - "reference": "520723129e2b3fc1dc4c0953e43c9d40e1ecb352", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c23d78776ad415d5506e0679723cb461d71f488f", + "reference": "c23d78776ad415d5506e0679723cb461d71f488f", "shasum": "" }, "require": { @@ -9094,7 +9097,7 @@ "testing", "xunit" ], - "time": "2018-12-07T07:08:12+00:00" + "time": "2018-12-12T07:20:32+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -9770,26 +9773,26 @@ }, { "name": "slam/php-cs-fixer-extensions", - "version": "v1.17.0", + "version": "v1.18.0", "source": { "type": "git", "url": "https://github.com/Slamdunk/php-cs-fixer-extensions.git", - "reference": "f2d819ff70cc098f68cd2eefd3279c2f54e0ccad" + "reference": "da18f089d1c559915d3c25d5e8783c7b7d272d1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Slamdunk/php-cs-fixer-extensions/zipball/f2d819ff70cc098f68cd2eefd3279c2f54e0ccad", - "reference": "f2d819ff70cc098f68cd2eefd3279c2f54e0ccad", + "url": "https://api.github.com/repos/Slamdunk/php-cs-fixer-extensions/zipball/da18f089d1c559915d3c25d5e8783c7b7d272d1d", + "reference": "da18f089d1c559915d3c25d5e8783c7b7d272d1d", "shasum": "" }, "require": { - "friendsofphp/php-cs-fixer": "^2.13", + "friendsofphp/php-cs-fixer": "^2.14", "php": "^7.1" }, "require-dev": { "phpstan/phpstan": "^0.10", "phpstan/phpstan-phpunit": "^0.10", - "phpunit/phpunit": "^7.3", + "phpunit/phpunit": "^7.5", "roave/security-advisories": "dev-master", "slam/php-debug-r": "^1.4", "slam/phpstan-extensions": "^2.0", @@ -9813,25 +9816,25 @@ } ], "description": "Slam extension of friendsofphp/php-cs-fixer", - "time": "2018-08-30T15:03:51+00:00" + "time": "2019-01-07T15:02:12+00:00" }, { "name": "slevomat/coding-standard", - "version": "4.8.6", + "version": "4.8.7", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "af0c0c99e84106525484ef25f15144b9831522bb" + "reference": "bff96313d8c7c2ba57a4edb13c1c141df8988c58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/af0c0c99e84106525484ef25f15144b9831522bb", - "reference": "af0c0c99e84106525484ef25f15144b9831522bb", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/bff96313d8c7c2ba57a4edb13c1c141df8988c58", + "reference": "bff96313d8c7c2ba57a4edb13c1c141df8988c58", "shasum": "" }, "require": { "php": "^7.1", - "squizlabs/php_codesniffer": "^3.3.1" + "squizlabs/php_codesniffer": "^3.4.0" }, "require-dev": { "jakub-onderka/php-parallel-lint": "1.0.0", @@ -9839,7 +9842,7 @@ "phpstan/phpstan": "0.9.2", "phpstan/phpstan-phpunit": "0.9.4", "phpstan/phpstan-strict-rules": "0.9", - "phpunit/phpunit": "7.3.5" + "phpunit/phpunit": "7.5.1" }, "type": "phpcodesniffer-standard", "autoload": { @@ -9852,20 +9855,20 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", - "time": "2018-11-03T21:28:29+00:00" + "time": "2019-01-03T13:15:50+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.3.2", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e" + "reference": "379deb987e26c7cd103a7b387aea178baec96e48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6ad28354c04b364c3c71a34e4a18b629cc3b231e", - "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/379deb987e26c7cd103a7b387aea178baec96e48", + "reference": "379deb987e26c7cd103a7b387aea178baec96e48", "shasum": "" }, "require": { @@ -9903,7 +9906,7 @@ "phpcs", "standards" ], - "time": "2018-09-23T23:08:17+00:00" + "time": "2018-12-19T23:57:18+00:00" }, { "name": "symfony/polyfill-php72", @@ -10208,16 +10211,16 @@ }, { "name": "thecodingmachine/safe", - "version": "v0.1.8", + "version": "v0.1.9", "source": { "type": "git", "url": "https://github.com/thecodingmachine/safe.git", - "reference": "4547d4684086d463b00cbd1a7763395280355e7d" + "reference": "ea277656a579cd36d652f7742a61df7c1a2e3e9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/4547d4684086d463b00cbd1a7763395280355e7d", - "reference": "4547d4684086d463b00cbd1a7763395280355e7d", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/ea277656a579cd36d652f7742a61df7c1a2e3e9c", + "reference": "ea277656a579cd36d652f7742a61df7c1a2e3e9c", "shasum": "" }, "require": { @@ -10284,6 +10287,7 @@ "generated/msql.php", "generated/mssql.php", "generated/mysql.php", + "generated/mysqli.php", "generated/mysqlndMs.php", "generated/mysqlndQc.php", "generated/network.php", @@ -10310,6 +10314,7 @@ "generated/solr.php", "generated/spl.php", "generated/sqlsrv.php", + "generated/ssdeep.php", "generated/ssh2.php", "generated/stats.php", "generated/stream.php", @@ -10334,7 +10339,7 @@ "MIT" ], "description": "PHP core functions that throw exceptions instead of returning FALSE on error", - "time": "2018-11-13T09:01:03+00:00" + "time": "2019-01-04T17:18:34+00:00" }, { "name": "theseer/tokenizer", @@ -10378,20 +10383,21 @@ }, { "name": "webmozart/assert", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a" + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", - "reference": "0df1908962e7a3071564e857d86874dad1ef204a", + "url": "https://api.github.com/repos/webmozart/assert/zipball/83e253c8e0be5b0257b881e1827274667c5c17a9", + "reference": "83e253c8e0be5b0257b881e1827274667c5c17a9", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" }, "require-dev": { "phpunit/phpunit": "^4.6", @@ -10424,7 +10430,7 @@ "check", "validate" ], - "time": "2018-01-29T19:49:41+00:00" + "time": "2018-12-25T11:19:39+00:00" } ], "aliases": [], diff --git a/migrations-lock.yml b/migrations-lock.yml index 156f0f871..a87c17d11 100644 --- a/migrations-lock.yml +++ b/migrations-lock.yml @@ -301,3 +301,6 @@ 20181114145250: class: Shopsys\FrameworkBundle\Migrations\Version20181114145250 skip: false +20190108205209: + class: Shopsys\ShopBundle\Migrations\Version20190108205209 + skip: false diff --git a/package-lock.json b/package-lock.json index 9b9c1ada4..2790695bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -38,10 +38,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -56,9 +56,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -97,8 +97,8 @@ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "dev": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "argparse": { @@ -107,7 +107,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "array-find-index": { @@ -122,7 +122,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -150,7 +150,7 @@ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "assert-plus": { @@ -177,12 +177,12 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000875", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" } }, "aws-sign2": { @@ -203,9 +203,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "balanced-match": { @@ -221,7 +221,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "bin-pack": { @@ -242,7 +242,7 @@ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "body": { @@ -251,10 +251,10 @@ "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", "dev": true, "requires": { - "continuable-cache": "0.3.1", - "error": "7.0.2", - "raw-body": "1.1.7", - "safe-json-parse": "1.0.1" + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" } }, "boom": { @@ -263,7 +263,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "brace-expansion": { @@ -272,7 +272,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -282,8 +282,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000875", - "electron-to-chromium": "1.3.56" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "buffer-from": { @@ -298,7 +298,7 @@ "integrity": "sha512-HaJnVuslRF4g2kSDeyl++AaVizoitCpL9PglzCYwy0uHHyvWerfvEb8jWmYbF1z4kiVFolGomnxSGl+GUQp2jg==", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.2" } }, "builtin-modules": { @@ -319,7 +319,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -340,8 +340,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caniuse-db": { @@ -362,8 +362,8 @@ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -372,11 +372,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "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" }, "dependencies": { "supports-color": { @@ -405,7 +405,7 @@ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "^1.1.3" } }, "cli-cursor": { @@ -414,7 +414,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -429,8 +429,8 @@ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -466,7 +466,7 @@ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "dev": true, "requires": { - "q": "1.5.1" + "q": "^1.1.2" } }, "code-point-at": { @@ -508,7 +508,7 @@ "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "concat-map": { @@ -523,10 +523,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "console-control-strings": { @@ -547,7 +547,7 @@ "integrity": "sha1-C9z6RtowRkqGzo+n7OVlQQ3G+aU=", "dev": true, "requires": { - "readable-stream": "1.0.34" + "readable-stream": "~1.0.33-1" }, "dependencies": { "isarray": { @@ -562,10 +562,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -594,9 +594,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.3", - "shebang-command": "1.2.0", - "which": "1.3.1" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cryptiles": { @@ -605,7 +605,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "css": { @@ -630,7 +630,7 @@ "integrity": "sha1-JSzL8D9yOgCb3Ydw/n6ydBca/fo=", "dev": true, "requires": { - "source-map": "0.1.43" + "source-map": "~0.1.31" }, "dependencies": { "source-map": { @@ -639,7 +639,7 @@ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -650,8 +650,8 @@ "integrity": "sha1-F4tDpEYhIhwndWCG9THgL0KQDug=", "dev": true, "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" + "clap": "^1.0.9", + "source-map": "^0.5.3" } }, "cubic2quad": { @@ -666,7 +666,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "cwise": { @@ -675,10 +675,10 @@ "integrity": "sha1-JO7mBy69/WuMb12tsXCQtkmxK+8=", "dev": true, "requires": { - "cwise-compiler": "1.1.3", - "cwise-parser": "1.0.3", - "static-module": "1.5.0", - "uglify-js": "2.8.29" + "cwise-compiler": "^1.1.1", + "cwise-parser": "^1.0.0", + "static-module": "^1.0.0", + "uglify-js": "^2.6.0" } }, "cwise-compiler": { @@ -687,7 +687,7 @@ "integrity": "sha1-9NZnQQ6FDToxOn0tt7HlBbsDTMU=", "dev": true, "requires": { - "uniq": "1.0.1" + "uniq": "^1.0.0" } }, "cwise-parser": { @@ -696,8 +696,8 @@ "integrity": "sha1-jkk8F9VPl8sDCp6YVLyGyd+zVP4=", "dev": true, "requires": { - "esprima": "1.2.5", - "uniq": "1.0.1" + "esprima": "^1.0.3", + "uniq": "^1.0.0" }, "dependencies": { "esprima": { @@ -720,7 +720,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -743,7 +743,7 @@ "integrity": "sha1-GIdtC9pMGf5w3Tv0sDTygbEqQLY=", "dev": true, "requires": { - "time-zone": "0.1.0" + "time-zone": "^0.1.0" } }, "dateformat": { @@ -752,8 +752,8 @@ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", "dev": true, "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "get-stdin": "^4.0.1", + "meow": "^3.3.0" } }, "debug": { @@ -795,13 +795,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -828,7 +828,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "duplexer2": { @@ -837,7 +837,7 @@ "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", "dev": true, "requires": { - "readable-stream": "1.1.14" + "readable-stream": "~1.1.9" }, "dependencies": { "isarray": { @@ -852,10 +852,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -873,8 +873,8 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "electron-to-chromium": { @@ -890,7 +890,7 @@ "dev": true, "optional": true, "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error": { @@ -899,8 +899,8 @@ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", "dev": true, "requires": { - "string-template": "0.2.1", - "xtend": "4.0.1" + "string-template": "~0.2.1", + "xtend": "~4.0.0" } }, "error-ex": { @@ -909,7 +909,7 @@ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es6-promise": { @@ -930,10 +930,10 @@ "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", "dev": true, "requires": { - "esprima": "1.1.1", - "estraverse": "1.5.1", - "esutils": "1.0.0", - "source-map": "0.1.43" + "esprima": "~1.1.1", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.33" }, "dependencies": { "esprima": { @@ -961,7 +961,7 @@ "dev": true, "optional": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -972,44 +972,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.4.1", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.3", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.1", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.7.0", - "ignore": "3.3.10", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.12.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.1.0", - "require-uncached": "1.0.3", - "semver": "5.5.0", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "ansi-regex": { @@ -1024,7 +1024,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1033,9 +1033,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -1050,7 +1050,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -1059,7 +1059,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1076,8 +1076,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "2.6.9", - "resolve": "1.8.1" + "debug": "^2.6.9", + "resolve": "^1.5.0" }, "dependencies": { "debug": { @@ -1097,8 +1097,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" }, "dependencies": { "debug": { @@ -1118,16 +1118,16 @@ "integrity": "sha512-t6hGKQDMIt9N8R7vLepsYXgDfeuhp6ZJSgtrLEDxonpSubyxUZHjhm6LsAaZX8q6GYVxkbT3kTsV9G5mBCFR6A==", "dev": true, "requires": { - "contains-path": "0.1.0", - "debug": "2.6.9", + "contains-path": "^0.1.0", + "debug": "^2.6.8", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.2.0", - "has": "1.0.3", - "lodash": "4.17.10", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0", - "resolve": "1.8.1" + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "debug": { @@ -1145,8 +1145,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } } } @@ -1157,9 +1157,9 @@ "integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==", "dev": true, "requires": { - "ignore": "3.3.10", - "minimatch": "3.0.4", - "resolve": "1.8.1", + "ignore": "^3.3.6", + "minimatch": "^3.0.4", + "resolve": "^1.3.3", "semver": "5.3.0" }, "dependencies": { @@ -1189,8 +1189,8 @@ "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -1205,8 +1205,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.7.1", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -1221,7 +1221,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -1230,7 +1230,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -1269,9 +1269,9 @@ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extsprintf": { @@ -1292,10 +1292,10 @@ "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", "dev": true, "requires": { - "acorn": "5.7.1", - "foreach": "2.0.5", + "acorn": "^5.0.0", + "foreach": "^2.0.5", "isarray": "0.0.1", - "object-keys": "1.0.12" + "object-keys": "^1.0.6" }, "dependencies": { "isarray": { @@ -1330,7 +1330,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "figures": { @@ -1339,7 +1339,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -1348,8 +1348,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "find-up": { @@ -1358,8 +1358,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "findup-sync": { @@ -1368,7 +1368,7 @@ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", "dev": true, "requires": { - "glob": "5.0.15" + "glob": "~5.0.0" }, "dependencies": { "glob": { @@ -1377,11 +1377,11 @@ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -1398,10 +1398,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "foreach": { @@ -1422,9 +1422,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "fs.realpath": { @@ -1439,10 +1439,10 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "function-bind": { @@ -1463,14 +1463,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.3" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" }, "dependencies": { "is-fullwidth-code-point": { @@ -1479,7 +1479,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -1488,9 +1488,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1501,7 +1501,7 @@ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", "dev": true, "requires": { - "globule": "1.2.1" + "globule": "^1.0.0" } }, "get-pixels": { @@ -1511,16 +1511,16 @@ "dev": true, "requires": { "data-uri-to-buffer": "0.0.3", - "jpeg-js": "0.3.4", - "mime-types": "2.1.19", - "ndarray": "1.0.18", - "ndarray-pack": "1.2.1", + "jpeg-js": "^0.3.2", + "mime-types": "^2.0.1", + "ndarray": "^1.0.13", + "ndarray-pack": "^1.1.1", "node-bitmap": "0.0.1", - "omggif": "1.0.9", - "parse-data-uri": "0.2.0", - "pngjs": "3.3.3", - "request": "2.81.0", - "through": "2.3.8" + "omggif": "^1.0.5", + "parse-data-uri": "^0.2.0", + "pngjs": "^3.3.3", + "request": "^2.44.0", + "through": "^2.3.4" } }, "get-stdin": { @@ -1541,7 +1541,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -1558,7 +1558,7 @@ "integrity": "sha1-iitP6MqJWkjjoLbLs0CgpqNXGJk=", "dev": true, "requires": { - "readable-stream": "1.1.14" + "readable-stream": "~1.1.9" }, "dependencies": { "isarray": { @@ -1573,10 +1573,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -1593,12 +1593,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "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" } }, "globals": { @@ -1613,12 +1613,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "globule": { @@ -1627,9 +1627,9 @@ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.10", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.10", + "minimatch": "~3.0.2" } }, "graceful-fs": { @@ -1644,23 +1644,23 @@ "integrity": "sha512-/JzmZNPfKorlCrrmxWqQO4JVodO+DVd5XX4DkocL/1WlLlKVLE9+SdEIempOAxDhWPysLle6afvn/hg7Ck2k9g==", "dev": true, "requires": { - "coffeescript": "1.10.0", - "dateformat": "1.0.12", - "eventemitter2": "0.4.14", - "exit": "0.1.2", - "findup-sync": "0.3.0", - "glob": "7.0.6", - "grunt-cli": "1.2.0", - "grunt-known-options": "1.1.0", - "grunt-legacy-log": "2.0.0", - "grunt-legacy-util": "1.1.1", - "iconv-lite": "0.4.23", - "js-yaml": "3.5.5", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "coffeescript": "~1.10.0", + "dateformat": "~1.0.12", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.3.0", + "glob": "~7.0.0", + "grunt-cli": "~1.2.0", + "grunt-known-options": "~1.1.0", + "grunt-legacy-log": "~2.0.0", + "grunt-legacy-util": "~1.1.1", + "iconv-lite": "~0.4.13", + "js-yaml": "~3.5.2", + "minimatch": "~3.0.2", + "mkdirp": "~0.5.1", + "nopt": "~3.0.6", + "path-is-absolute": "~1.0.0", + "rimraf": "~2.6.2" }, "dependencies": { "esprima": { @@ -1675,12 +1675,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "js-yaml": { @@ -1689,8 +1689,8 @@ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" + "argparse": "^1.0.2", + "esprima": "^2.6.0" } } } @@ -1701,10 +1701,10 @@ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", "dev": true, "requires": { - "findup-sync": "0.3.0", - "grunt-known-options": "1.1.0", - "nopt": "3.0.6", - "resolve": "1.1.7" + "findup-sync": "~0.3.0", + "grunt-known-options": "~1.1.0", + "nopt": "~3.0.6", + "resolve": "~1.1.0" }, "dependencies": { "resolve": { @@ -1721,10 +1721,10 @@ "integrity": "sha1-O73sC3XRLOqlXWKUNiXAsIYc328=", "dev": true, "requires": { - "async": "2.6.1", - "chalk": "1.1.3", - "less": "2.7.3", - "lodash": "4.17.10" + "async": "^2.0.0", + "chalk": "^1.0.0", + "less": "~2.7.1", + "lodash": "^4.8.2" }, "dependencies": { "async": { @@ -1733,7 +1733,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } } } @@ -1744,10 +1744,10 @@ "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==", "dev": true, "requires": { - "async": "2.6.1", - "gaze": "1.1.3", - "lodash": "4.17.10", - "tiny-lr": "1.1.1" + "async": "^2.6.0", + "gaze": "^1.1.0", + "lodash": "^4.17.10", + "tiny-lr": "^1.1.1" }, "dependencies": { "async": { @@ -1756,7 +1756,7 @@ "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.17.10" } } } @@ -1769,11 +1769,12 @@ }, "grunt-legacssy": { "version": "github:shopsys/grunt-legacssy#41720f8f7d703c86f022ee86e3d5eba2b54ccdfc", + "from": "github:shopsys/grunt-legacssy#v0.4.0-with-grunt1-support", "dev": true, "requires": { - "chalk": "0.4.0", - "css": "1.6.0", - "maxmin": "0.1.0" + "chalk": "^0.4.0", + "css": "~1.6.0", + "maxmin": "^0.1.0" }, "dependencies": { "ansi-styles": { @@ -1788,9 +1789,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "strip-ansi": { @@ -1807,10 +1808,10 @@ "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", "dev": true, "requires": { - "colors": "1.1.2", - "grunt-legacy-log-utils": "2.0.1", - "hooker": "0.2.3", - "lodash": "4.17.10" + "colors": "~1.1.2", + "grunt-legacy-log-utils": "~2.0.0", + "hooker": "~0.2.3", + "lodash": "~4.17.5" } }, "grunt-legacy-log-utils": { @@ -1819,8 +1820,8 @@ "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", "dev": true, "requires": { - "chalk": "2.4.1", - "lodash": "4.17.10" + "chalk": "~2.4.1", + "lodash": "~4.17.10" }, "dependencies": { "ansi-styles": { @@ -1829,7 +1830,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -1838,9 +1839,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -1855,7 +1856,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1866,13 +1867,13 @@ "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", "dev": true, "requires": { - "async": "1.5.2", - "exit": "0.1.2", - "getobject": "0.1.0", - "hooker": "0.2.3", - "lodash": "4.17.10", - "underscore.string": "3.3.4", - "which": "1.3.1" + "async": "~1.5.2", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~4.17.10", + "underscore.string": "~3.3.4", + "which": "~1.3.0" } }, "grunt-postcss": { @@ -1881,9 +1882,9 @@ "integrity": "sha1-jzCor2B5A84MRfAfC+QsYOMc6w4=", "dev": true, "requires": { - "chalk": "1.1.3", - "diff": "2.2.3", - "postcss": "5.2.18" + "chalk": "^1.0.0", + "diff": "^2.0.2", + "postcss": "^5.0.0" } }, "grunt-spritesmith": { @@ -1892,10 +1893,10 @@ "integrity": "sha512-Wo/fxqY2e83OsjOWJxFsvZEnhMnfMBBYWeFDd5ySUDGt0q+xNyWkgwDPyZyiOe+0eWhW9Ny9mEXi8MgG67irdg==", "dev": true, "requires": { - "async": "1.5.2", - "spritesheet-templates": "10.2.2", - "spritesmith": "3.3.1", - "underscore": "1.4.4", + "async": "~1.5.0", + "spritesheet-templates": "~10.2.0", + "spritesmith": "~3.3.0", + "underscore": "~1.4.2", "url2": "1.0.0" } }, @@ -1905,21 +1906,21 @@ "integrity": "sha1-oNeQ85BW2U80D1Cz3CTJq0vKvK4=", "dev": true, "requires": { - "async": "1.5.2", - "chalk": "1.1.3", - "glob": "7.0.6", - "lodash": "4.3.0", - "memorystream": "0.3.1", - "mkdirp": "0.5.1", - "svg2ttf": "2.1.1", - "svgicons2svgfont": "1.1.0", - "svgo": "0.6.6", - "temp": "0.8.3", - "ttf2eot": "1.3.0", - "ttf2woff": "1.3.0", - "ttf2woff2": "2.0.3", - "underscore.string": "3.2.3", - "winston": "2.1.1" + "async": "~1.5.2", + "chalk": "~1.1.1", + "glob": "~7.0.0", + "lodash": "~4.3.0", + "memorystream": "~0.3.1", + "mkdirp": "~0.5.1", + "svg2ttf": "~2.1.1", + "svgicons2svgfont": "~1.1.0", + "svgo": "~0.6.1", + "temp": "~0.8.3", + "ttf2eot": "~1.3.0", + "ttf2woff": "~1.3.0", + "ttf2woff2": "~2.0.3", + "underscore.string": "~3.2.3", + "winston": "~2.1.1" }, "dependencies": { "glob": { @@ -1928,12 +1929,12 @@ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "lodash": { @@ -1956,8 +1957,8 @@ "integrity": "sha1-rjNIO2/IIk6DQilt4Qjvk3V/duA=", "dev": true, "requires": { - "concat-stream": "1.6.2", - "zlib-browserify": "0.0.3" + "concat-stream": "^1.4.1", + "zlib-browserify": "^0.0.3" } }, "handlebars": { @@ -1966,10 +1967,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "source-map": { @@ -1978,7 +1979,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -2001,8 +2002,8 @@ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", "dev": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" }, "dependencies": { "ajv": { @@ -2011,8 +2012,8 @@ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", "dev": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } } } @@ -2023,7 +2024,7 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.1.1" } }, "has-ansi": { @@ -2032,7 +2033,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-color": { @@ -2059,10 +2060,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -2095,9 +2096,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "iconv-lite": { @@ -2106,7 +2107,7 @@ "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "dev": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore": { @@ -2134,7 +2135,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "inflight": { @@ -2143,8 +2144,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -2159,20 +2160,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.2.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -2187,7 +2188,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -2196,9 +2197,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -2213,7 +2214,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -2222,7 +2223,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -2251,7 +2252,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-finite": { @@ -2260,7 +2261,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -2281,7 +2282,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -2290,7 +2291,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-promise": { @@ -2365,8 +2366,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -2400,7 +2401,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -2447,7 +2448,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "layout": { @@ -2456,7 +2457,7 @@ "integrity": "sha1-MeRL/BjdEBmz/7II5AKku/4uavQ=", "dev": true, "requires": { - "bin-pack": "1.0.2" + "bin-pack": "~1.0.1" } }, "lazy-cache": { @@ -2471,14 +2472,14 @@ "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", "dev": true, "requires": { - "errno": "0.1.7", - "graceful-fs": "4.1.11", - "image-size": "0.5.5", - "mime": "1.6.0", - "mkdirp": "0.5.1", - "promise": "7.3.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", "request": "2.81.0", - "source-map": "0.5.7" + "source-map": "^0.5.3" } }, "levn": { @@ -2487,8 +2488,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "livereload-js": { @@ -2503,10 +2504,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "locate-path": { @@ -2515,8 +2516,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -2545,8 +2546,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lru-cache": { @@ -2555,8 +2556,8 @@ "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "map-obj": { @@ -2571,9 +2572,9 @@ "integrity": "sha1-ldgcUonjqdMPf8fcVZwCTlAwydA=", "dev": true, "requires": { - "chalk": "0.4.0", - "gzip-size": "0.1.1", - "pretty-bytes": "0.1.2" + "chalk": "^0.4.0", + "gzip-size": "^0.1.0", + "pretty-bytes": "^0.1.0" }, "dependencies": { "ansi-styles": { @@ -2588,9 +2589,9 @@ "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", "dev": true, "requires": { - "ansi-styles": "1.0.0", - "has-color": "0.1.7", - "strip-ansi": "0.1.1" + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" } }, "strip-ansi": { @@ -2613,16 +2614,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "load-json-file": { @@ -2631,11 +2632,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "minimist": { @@ -2650,9 +2651,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "read-pkg": { @@ -2661,9 +2662,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -2672,8 +2673,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "strip-bom": { @@ -2682,7 +2683,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -2712,7 +2713,7 @@ "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "dev": true, "requires": { - "mime-db": "1.35.0" + "mime-db": "~1.35.0" } }, "mimic-fn": { @@ -2727,7 +2728,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -2775,8 +2776,8 @@ "integrity": "sha1-tg06cyJOxVXQ+qeXEeUCRI/T95M=", "dev": true, "requires": { - "iota-array": "1.0.0", - "is-buffer": "1.1.6" + "iota-array": "^1.0.0", + "is-buffer": "^1.0.2" } }, "ndarray-fill": { @@ -2785,7 +2786,7 @@ "integrity": "sha1-owpg9xiODJWC/N1YiWrNy1IqHtY=", "dev": true, "requires": { - "cwise": "1.0.10" + "cwise": "^1.0.10" } }, "ndarray-ops": { @@ -2794,7 +2795,7 @@ "integrity": "sha1-WeiNLDKn7ryxvGkPrhQVeVV6YU4=", "dev": true, "requires": { - "cwise-compiler": "1.1.3" + "cwise-compiler": "^1.0.0" } }, "ndarray-pack": { @@ -2803,8 +2804,8 @@ "integrity": "sha1-jK6+qqJNXs9w/4YCBjeXfajuWFo=", "dev": true, "requires": { - "cwise-compiler": "1.1.3", - "ndarray": "1.0.18" + "cwise-compiler": "^1.1.2", + "ndarray": "^1.0.13" } }, "node-bitmap": { @@ -2819,18 +2820,18 @@ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.5", - "request": "2.87.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.1" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { "assert-plus": { @@ -2851,9 +2852,9 @@ "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "dev": true, "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.19" + "mime-types": "^2.1.12" } }, "har-schema": { @@ -2868,8 +2869,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "http-signature": { @@ -2878,9 +2879,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "performance-now": { @@ -2901,26 +2902,26 @@ "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "semver": { @@ -2937,7 +2938,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "normalize-package-data": { @@ -2946,10 +2947,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.7.1", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.4" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-range": { @@ -2964,10 +2965,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.5", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "num2fraction": { @@ -3024,7 +3025,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -3033,7 +3034,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -3042,8 +3043,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "wordwrap": { @@ -3060,12 +3061,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "os-homedir": { @@ -3086,8 +3087,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "p-limit": { @@ -3096,7 +3097,7 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -3105,7 +3106,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.3.0" + "p-limit": "^1.1.0" } }, "p-try": { @@ -3135,7 +3136,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.2" + "error-ex": "^1.2.0" } }, "parse-ms": { @@ -3150,7 +3151,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -3177,7 +3178,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "performance-now": { @@ -3204,7 +3205,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pixelsmith": { @@ -3213,15 +3214,15 @@ "integrity": "sha1-MT95MAKcZdCyj+HOKcBrjiy7OAc=", "dev": true, "requires": { - "async": "0.9.2", - "concat-stream": "1.5.2", - "get-pixels": "3.3.2", - "mime-types": "2.1.19", - "ndarray": "1.0.18", - "ndarray-fill": "1.0.2", - "obj-extend": "0.1.0", - "save-pixels": "2.3.4", - "vinyl-file": "1.3.0" + "async": "~0.9.0", + "concat-stream": "~1.5.1", + "get-pixels": "~3.3.0", + "mime-types": "~2.1.7", + "ndarray": "~1.0.15", + "ndarray-fill": "~1.0.1", + "obj-extend": "~0.1.0", + "save-pixels": "~2.3.0", + "vinyl-file": "~1.3.0" }, "dependencies": { "async": { @@ -3236,9 +3237,9 @@ "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" } }, "process-nextick-args": { @@ -3253,12 +3254,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "string_decoder": { @@ -3275,7 +3276,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } }, "pkginfo": { @@ -3314,10 +3315,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.8", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "postcss-value-parser": { @@ -3344,9 +3345,9 @@ "integrity": "sha1-QlfCVt8/sLRR1q/6qwIYhBJpgdw=", "dev": true, "requires": { - "is-finite": "1.0.2", - "parse-ms": "1.0.1", - "plur": "1.0.0" + "is-finite": "^1.0.1", + "parse-ms": "^1.0.0", + "plur": "^1.0.0" } }, "process-nextick-args": { @@ -3368,7 +3369,7 @@ "dev": true, "optional": true, "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prr": { @@ -3409,7 +3410,7 @@ "dev": true, "requires": { "minimist": "0.0.8", - "through2": "0.4.2" + "through2": "~0.4.1" }, "dependencies": { "isarray": { @@ -3430,10 +3431,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -3448,8 +3449,8 @@ "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", "dev": true, "requires": { - "readable-stream": "1.0.34", - "xtend": "2.1.2" + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" } }, "xtend": { @@ -3458,7 +3459,7 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "0.4.0" + "object-keys": "~0.4.0" } } } @@ -3469,8 +3470,8 @@ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "dev": true, "requires": { - "bytes": "1.0.0", - "string_decoder": "0.10.31" + "bytes": "1", + "string_decoder": "0.10" }, "dependencies": { "string_decoder": { @@ -3487,9 +3488,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -3498,8 +3499,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" }, "dependencies": { "find-up": { @@ -3508,7 +3509,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } } } @@ -3519,13 +3520,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "redent": { @@ -3534,8 +3535,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "regexpp": { @@ -3556,7 +3557,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "replace-ext": { @@ -3571,28 +3572,28 @@ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", "dev": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.19", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.2", - "stringstream": "0.0.6", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" } }, "require-uncached": { @@ -3601,8 +3602,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "resolve": { @@ -3611,7 +3612,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.5" } }, "resolve-from": { @@ -3626,8 +3627,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "right-align": { @@ -3636,7 +3637,7 @@ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -3645,7 +3646,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "run-async": { @@ -3654,7 +3655,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -3669,7 +3670,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -3696,13 +3697,13 @@ "integrity": "sha1-SdNJwGuNfAEn2/DaJLRKylr7Wf4=", "dev": true, "requires": { - "contentstream": "1.0.0", - "gif-encoder": "0.4.3", + "contentstream": "^1.0.0", + "gif-encoder": "~0.4.1", "jpeg-js": "0.0.4", - "ndarray": "1.0.18", - "ndarray-ops": "1.2.2", - "pngjs-nozlib": "1.0.0", - "through": "2.3.8" + "ndarray": "^1.0.18", + "ndarray-ops": "^1.2.2", + "pngjs-nozlib": "^1.0.0", + "through": "^2.3.4" }, "dependencies": { "jpeg-js": { @@ -3743,7 +3744,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -3764,7 +3765,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, "sntp": { @@ -3773,7 +3774,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "source-map": { @@ -3788,8 +3789,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -3804,8 +3805,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -3826,11 +3827,11 @@ "integrity": "sha1-6J2ihbvM20HFm1eYFnTikGeJrWY=", "dev": true, "requires": { - "handlebars": "4.0.11", - "handlebars-layouts": "1.1.0", - "json-content-demux": "0.1.3", - "underscore": "1.4.4", - "underscore.string": "3.0.3" + "handlebars": "~4.0.5", + "handlebars-layouts": "~1.1.0", + "json-content-demux": "~0.1.2", + "underscore": "~1.4.2", + "underscore.string": "~3.0.3" }, "dependencies": { "underscore.string": { @@ -3847,11 +3848,11 @@ "integrity": "sha512-7mq+oBkeHU66DvJZGeGZO6NGkCbRbQA/WXToLAPyl4YQ2dsYfT9kF2wECJ5ImskmQWllve4T1hGt7tmyaa7OqA==", "dev": true, "requires": { - "concat-stream": "1.5.2", - "layout": "2.2.0", - "pixelsmith": "2.2.1", - "semver": "5.0.3", - "through2": "2.0.3" + "concat-stream": "~1.5.1", + "layout": "~2.2.0", + "pixelsmith": "~2.2.0", + "semver": "~5.0.3", + "through2": "~2.0.0" }, "dependencies": { "concat-stream": { @@ -3860,9 +3861,9 @@ "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" } }, "process-nextick-args": { @@ -3877,12 +3878,12 @@ "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" } }, "semver": { @@ -3905,15 +3906,15 @@ "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "dev": true, "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -3936,7 +3937,7 @@ "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", "dev": true, "requires": { - "escodegen": "0.0.28" + "escodegen": "~0.0.24" }, "dependencies": { "escodegen": { @@ -3945,9 +3946,9 @@ "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", "dev": true, "requires": { - "esprima": "1.0.4", - "estraverse": "1.3.2", - "source-map": "0.5.7" + "esprima": "~1.0.2", + "estraverse": "~1.3.0", + "source-map": ">= 0.1.2" } }, "esprima": { @@ -3970,17 +3971,17 @@ "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", "dev": true, "requires": { - "concat-stream": "1.6.2", - "duplexer2": "0.0.2", - "escodegen": "1.3.3", - "falafel": "2.1.0", - "has": "1.0.3", - "object-inspect": "0.4.0", - "quote-stream": "0.0.0", - "readable-stream": "1.0.34", - "shallow-copy": "0.0.1", - "static-eval": "0.2.4", - "through2": "0.4.2" + "concat-stream": "~1.6.0", + "duplexer2": "~0.0.2", + "escodegen": "~1.3.2", + "falafel": "^2.1.0", + "has": "^1.0.0", + "object-inspect": "~0.4.0", + "quote-stream": "~0.0.0", + "readable-stream": "~1.0.27-1", + "shallow-copy": "~0.0.1", + "static-eval": "~0.2.0", + "through2": "~0.4.1" }, "dependencies": { "isarray": { @@ -4001,10 +4002,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -4019,8 +4020,8 @@ "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", "dev": true, "requires": { - "readable-stream": "1.0.34", - "xtend": "2.1.2" + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" } }, "xtend": { @@ -4029,7 +4030,7 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "0.4.0" + "object-keys": "~0.4.0" } } } @@ -4046,8 +4047,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -4062,7 +4063,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -4073,7 +4074,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -4088,7 +4089,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -4103,8 +4104,8 @@ "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", "dev": true, "requires": { - "first-chunk-stream": "1.0.0", - "strip-bom": "2.0.0" + "first-chunk-stream": "^1.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { "strip-bom": { @@ -4113,7 +4114,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -4124,7 +4125,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -4139,7 +4140,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } }, "svg-pathdata": { @@ -4148,7 +4149,7 @@ "integrity": "sha1-kPahyWPNS+E6njAPeaGj3ePIAzQ=", "dev": true, "requires": { - "readable-stream": "1.0.34" + "readable-stream": "~1.0.26-3" }, "dependencies": { "isarray": { @@ -4163,10 +4164,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -4183,12 +4184,12 @@ "integrity": "sha1-ED06I29llsR6JJDsIrZ8BR7kaS4=", "dev": true, "requires": { - "argparse": "1.0.10", - "cubic2quad": "1.1.1", - "lodash": "3.10.1", - "microbuffer": "1.0.0", - "svgpath": "2.2.1", - "xmldom": "0.1.27" + "argparse": "^1.0.3", + "cubic2quad": "^1.0.0", + "lodash": "^3.6.0", + "microbuffer": "^1.0.0", + "svgpath": "^2.1.2", + "xmldom": "~0.1.16" }, "dependencies": { "lodash": { @@ -4205,8 +4206,8 @@ "integrity": "sha1-DHEZyeWRbJ10c8hTubjkQE+gjQs=", "dev": true, "requires": { - "readable-stream": "1.1.14", - "sax": "0.6.1", + "readable-stream": "^1.0.33", + "sax": "0.6.x", "svg-pathdata": "1.0.0" }, "dependencies": { @@ -4222,10 +4223,10 @@ "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -4242,13 +4243,13 @@ "integrity": "sha1-s0CIkDbyD5tEdUMHfQ9Vc+0ETAg=", "dev": true, "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.0.0", - "js-yaml": "3.6.1", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.0.0", + "js-yaml": "~3.6.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" }, "dependencies": { "esprima": { @@ -4263,8 +4264,8 @@ "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" + "argparse": "^1.0.7", + "esprima": "^2.6.0" } }, "sax": { @@ -4287,12 +4288,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.4.1", - "lodash": "4.17.10", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-styles": { @@ -4301,7 +4302,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.2" + "color-convert": "^1.9.0" } }, "chalk": { @@ -4310,9 +4311,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -4327,7 +4328,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -4338,9 +4339,9 @@ "integrity": "sha1-ZMz6S37PSgBgAH5hcW1CR4FnFjc=", "dev": true, "requires": { - "deep-equal": "0.0.0", - "defined": "0.0.0", - "jsonify": "0.0.0" + "deep-equal": "~0.0.0", + "defined": "~0.0.0", + "jsonify": "~0.0.0" } }, "tar": { @@ -4349,9 +4350,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "temp": { @@ -4360,8 +4361,8 @@ "integrity": "sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k=", "dev": true, "requires": { - "os-tmpdir": "1.0.2", - "rimraf": "2.2.8" + "os-tmpdir": "^1.0.0", + "rimraf": "~2.2.6" }, "dependencies": { "rimraf": { @@ -4390,8 +4391,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "time-grunt": { @@ -4400,13 +4401,13 @@ "integrity": "sha1-BiIT5mDJB+hvRAVWwB6mWXtxJCA=", "dev": true, "requires": { - "chalk": "1.1.3", - "date-time": "1.1.0", - "figures": "1.7.0", - "hooker": "0.2.3", - "number-is-nan": "1.0.1", - "pretty-ms": "2.1.0", - "text-table": "0.2.0" + "chalk": "^1.0.0", + "date-time": "^1.1.0", + "figures": "^1.0.0", + "hooker": "^0.2.3", + "number-is-nan": "^1.0.0", + "pretty-ms": "^2.1.0", + "text-table": "^0.2.0" }, "dependencies": { "figures": { @@ -4415,8 +4416,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } } } @@ -4433,12 +4434,12 @@ "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", "dev": true, "requires": { - "body": "5.1.0", - "debug": "3.1.0", - "faye-websocket": "0.10.0", - "livereload-js": "2.3.0", - "object-assign": "4.1.1", - "qs": "6.4.0" + "body": "^5.1.0", + "debug": "^3.1.0", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.3.0", + "object-assign": "^4.1.0", + "qs": "^6.4.0" } }, "tmp": { @@ -4447,7 +4448,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tough-cookie": { @@ -4456,7 +4457,7 @@ "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "trim-newlines": { @@ -4471,7 +4472,7 @@ "integrity": "sha1-lGcerPpa13mc1vn1tgMPUTsDKsI=", "dev": true, "requires": { - "argparse": "0.1.16" + "argparse": "~0.1.15" }, "dependencies": { "argparse": { @@ -4480,8 +4481,8 @@ "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", "dev": true, "requires": { - "underscore": "1.7.0", - "underscore.string": "2.4.0" + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" } }, "underscore": { @@ -4504,8 +4505,8 @@ "integrity": "sha1-dqJ6bzDqA3qe1kyf9D7H7UYebSo=", "dev": true, "requires": { - "argparse": "0.1.16", - "pako": "0.2.9" + "argparse": "~ 0.1.15", + "pako": "~ 0.2.2" }, "dependencies": { "argparse": { @@ -4514,8 +4515,8 @@ "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", "dev": true, "requires": { - "underscore": "1.7.0", - "underscore.string": "2.4.0" + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" } }, "underscore": { @@ -4538,10 +4539,10 @@ "integrity": "sha1-XgIK/m5kMofzrXaHq+0g/mVOsyk=", "dev": true, "requires": { - "bindings": "1.3.0", - "bufferstreams": "1.1.3", - "nan": "2.10.0", - "node-gyp": "3.8.0" + "bindings": "^1.2.1", + "bufferstreams": "^1.1.0", + "nan": "^2.1.0", + "node-gyp": "^3.0.3" } }, "tunnel-agent": { @@ -4550,7 +4551,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -4566,7 +4567,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -4581,9 +4582,9 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, "uglify-to-browserify": { @@ -4605,8 +4606,8 @@ "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=", "dev": true, "requires": { - "sprintf-js": "1.0.3", - "util-deprecate": "1.0.2" + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" } }, "uniq": { @@ -4639,8 +4640,8 @@ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "verror": { @@ -4649,9 +4650,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" }, "dependencies": { "assert-plus": { @@ -4668,8 +4669,8 @@ "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", "dev": true, "requires": { - "clone": "1.0.4", - "clone-stats": "0.0.1", + "clone": "^1.0.0", + "clone-stats": "^0.0.1", "replace-ext": "0.0.1" } }, @@ -4679,10 +4680,10 @@ "integrity": "sha1-qgVjTTqGe6kUR77bs0r8sm9E9uc=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "strip-bom": "2.0.0", - "strip-bom-stream": "1.0.0", - "vinyl": "1.2.0" + "graceful-fs": "^4.1.2", + "strip-bom": "^2.0.0", + "strip-bom-stream": "^1.0.0", + "vinyl": "^1.1.0" }, "dependencies": { "strip-bom": { @@ -4691,7 +4692,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } } } @@ -4702,8 +4703,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.13", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -4724,7 +4725,7 @@ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "wide-align": { @@ -4733,7 +4734,7 @@ "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^1.0.2 || 2" } }, "window-size": { @@ -4748,13 +4749,13 @@ "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=", "dev": true, "requires": { - "async": "1.0.0", - "colors": "1.0.3", - "cycle": "1.0.3", - "eyes": "0.1.8", - "isstream": "0.1.2", - "pkginfo": "0.3.1", - "stack-trace": "0.0.10" + "async": "~1.0.0", + "colors": "1.0.x", + "cycle": "1.0.x", + "eyes": "0.1.x", + "isstream": "0.1.x", + "pkginfo": "0.3.x", + "stack-trace": "0.0.x" }, "dependencies": { "async": { @@ -4789,7 +4790,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "xmldom": { @@ -4816,9 +4817,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" }, "dependencies": { @@ -4836,7 +4837,7 @@ "integrity": "sha1-JAzNv9AgP6hCsTDe77FBQSLIzFA=", "dev": true, "requires": { - "tape": "0.2.2" + "tape": "~0.2.2" } } } diff --git a/src/Shopsys/ShopBundle/Controller/Front/ProductController.php b/src/Shopsys/ShopBundle/Controller/Front/ProductController.php index a569d4a73..a37562c70 100644 --- a/src/Shopsys/ShopBundle/Controller/Front/ProductController.php +++ b/src/Shopsys/ShopBundle/Controller/Front/ProductController.php @@ -17,6 +17,7 @@ use Shopsys\FrameworkBundle\Model\Product\ProductOnCurrentDomainFacade; use Shopsys\FrameworkBundle\Twig\RequestExtension; use Shopsys\ShopBundle\Form\Front\Product\ProductFilterFormType; +use Shopsys\ShopBundle\Model\Customer\CurrentCustomer; use Symfony\Component\HttpFoundation\Request; class ProductController extends FrontBaseController @@ -35,6 +36,11 @@ class ProductController extends FrontBaseController */ private $categoryFacade; + /** + * @var \Shopsys\ShopBundle\Model\Customer\CurrentCustomer + */ + private $currentCustomer; + /** * @var \Shopsys\FrameworkBundle\Component\Domain\Domain */ @@ -78,6 +84,7 @@ class ProductController extends FrontBaseController /** * @param \Shopsys\FrameworkBundle\Twig\RequestExtension $requestExtension * @param \Shopsys\FrameworkBundle\Model\Category\CategoryFacade $categoryFacade + * @param \Shopsys\ShopBundle\Model\Customer\CurrentCustomer $currentCustomer * @param \Shopsys\FrameworkBundle\Component\Domain\Domain $domain * @param \Shopsys\FrameworkBundle\Model\Product\ProductOnCurrentDomainFacade $productOnCurrentDomainFacade * @param \Shopsys\FrameworkBundle\Model\Product\Filter\ProductFilterConfigFactory $productFilterConfigFactory @@ -90,6 +97,7 @@ class ProductController extends FrontBaseController public function __construct( RequestExtension $requestExtension, CategoryFacade $categoryFacade, + CurrentCustomer $currentCustomer, Domain $domain, ProductOnCurrentDomainFacade $productOnCurrentDomainFacade, ProductFilterConfigFactory $productFilterConfigFactory, @@ -101,6 +109,7 @@ public function __construct( ) { $this->requestExtension = $requestExtension; $this->categoryFacade = $categoryFacade; + $this->currentCustomer = $currentCustomer; $this->domain = $domain; $this->productOnCurrentDomainFacade = $productOnCurrentDomainFacade; $this->productFilterConfigFactory = $productFilterConfigFactory; @@ -134,6 +143,19 @@ public function detailAction($id) ]); } + /** + * @param \Shopsys\FrameworkBundle\Model\Product\Filter\ProductFilterData $productFilterData + */ + private function applyDiscountForPriceFilter(ProductFilterData $productFilterData) + { + if ($productFilterData->minimalPrice !== null) { + $productFilterData->minimalPrice /= $this->currentCustomer->getDiscountCoeficient(); + } + if ($productFilterData->maximalPrice !== null) { + $productFilterData->maximalPrice /= $this->currentCustomer->getDiscountCoeficient(); + } + } + /** * @param \Symfony\Component\HttpFoundation\Request $request * @param int $id @@ -160,6 +182,8 @@ public function listByCategoryAction(Request $request, $id) ]); $filterForm->handleRequest($request); + $this->applyDiscountForPriceFilter($productFilterData); + $paginationResult = $this->productOnCurrentDomainFacade->getPaginatedProductDetailsInCategory( $productFilterData, $orderingModeId, @@ -185,6 +209,7 @@ public function listByCategoryAction(Request $request, $id) 'filterFormSubmited' => $filterForm->isSubmitted(), 'visibleChildren' => $this->categoryFacade->getAllVisibleChildrenByCategoryAndDomainId($category, $this->domain->getId()), 'priceRange' => $productFilterConfig->getPriceRange(), + 'discountCoeficient' => $this->currentCustomer->getDiscountCoeficient(), ]; if ($request->isXmlHttpRequest()) { @@ -283,6 +308,7 @@ public function searchAction(Request $request) 'searchText' => $searchText, 'SEARCH_TEXT_PARAMETER' => self::SEARCH_TEXT_PARAMETER, 'priceRange' => $productFilterConfig->getPriceRange(), + 'discountCoeficient' => $this->currentCustomer->getDiscountCoeficient(), ]; if ($request->isXmlHttpRequest()) { diff --git a/src/Shopsys/ShopBundle/Form/Admin/CustomerFormTypeExtension.php b/src/Shopsys/ShopBundle/Form/Admin/CustomerFormTypeExtension.php index 8dd091901..a4d27c0e0 100644 --- a/src/Shopsys/ShopBundle/Form/Admin/CustomerFormTypeExtension.php +++ b/src/Shopsys/ShopBundle/Form/Admin/CustomerFormTypeExtension.php @@ -6,8 +6,10 @@ use Shopsys\FrameworkBundle\Form\GroupType; use Shopsys\ShopBundle\Model\Customer\BillingAddress; use Symfony\Component\Form\AbstractTypeExtension; +use Symfony\Component\Form\Extension\Core\Type\IntegerType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Component\Validator\Constraints; class CustomerFormTypeExtension extends AbstractTypeExtension { @@ -16,12 +18,45 @@ class CustomerFormTypeExtension extends AbstractTypeExtension */ public function buildForm(FormBuilderInterface $builder, array $options) { + $builderUserDataGroup = $builder->get('userData'); + $builderSystemDataGroup = $builderUserDataGroup->get('systemData'); + + if ($options['user'] !== null) { + $builderRegistrationDateField = $builderSystemDataGroup->get('createdAt'); + $builderSystemDataGroup->remove('createdAt'); + } + + $builderSystemDataGroup->add('discount', IntegerType::class, [ + 'constraints' => [ + new Constraints\NotBlank([ + 'message' => 'Please enter discount percentage', + ]), + new Constraints\Range([ + 'min' => 0, + 'max' => 100, + 'maxMessage' => 'Discount percentage should be {{ limit }} or less.', + 'minMessage' => 'Discount percentage should be {{ limit }} or more.', + 'invalidMessage' => 'Discount percentage needs to be valid number with range between 0 and 100.', + ]), + ], + 'label' => t('Discount'), + ]); + + if ($options['user'] !== null) { + $builderSystemDataGroup->add($builderRegistrationDateField); + } + if ($options['billingAddress'] !== null && $options['billingAddress']->isCompanyWithMultipleUsers()) { $builder ->remove('orders') - ->remove('userData') ->remove('deliveryAddressData'); + $builderUserDataGroup + ->remove('personalData') + ->remove('registeredCustomer'); + + $builderSystemDataGroup->remove('formId'); + $builderCompanyUsersDataGroup = $builder->create('companyUsersDataGroup', GroupType::class, [ 'label' => t('Company users'), ]); diff --git a/src/Shopsys/ShopBundle/Migrations/Version20190108205209.php b/src/Shopsys/ShopBundle/Migrations/Version20190108205209.php new file mode 100644 index 000000000..c2b74abad --- /dev/null +++ b/src/Shopsys/ShopBundle/Migrations/Version20190108205209.php @@ -0,0 +1,24 @@ +sql('ALTER TABLE users ADD discount INT DEFAULT 0 NOT NULL'); + } + + /** + * @param \Doctrine\DBAL\Schema\Schema $schema + */ + public function down(Schema $schema) + { + } +} diff --git a/src/Shopsys/ShopBundle/Model/Customer/CurrentCustomer.php b/src/Shopsys/ShopBundle/Model/Customer/CurrentCustomer.php new file mode 100644 index 000000000..b27b5f2e4 --- /dev/null +++ b/src/Shopsys/ShopBundle/Model/Customer/CurrentCustomer.php @@ -0,0 +1,21 @@ +findCurrentUser(); + if ($user === null) { + return 1; + } else { + return (100 - $user->getDiscount()) / 100; + } + } +} diff --git a/src/Shopsys/ShopBundle/Model/Customer/CustomerFacade.php b/src/Shopsys/ShopBundle/Model/Customer/CustomerFacade.php index 3f6688988..865326403 100644 --- a/src/Shopsys/ShopBundle/Model/Customer/CustomerFacade.php +++ b/src/Shopsys/ShopBundle/Model/Customer/CustomerFacade.php @@ -95,6 +95,7 @@ public function editCompanyWithMultipleUsers(BillingAddress $billingAddress, Cus */ $companyDataOfCompanyUser = clone $companyData; $companyDataOfCompanyUser->userData = $companyUserData; + $companyDataOfCompanyUser->userData->discount = $companyData->userData->discount; /** * When companyUserData has set an ID, it means this is an modified existing entity. diff --git a/src/Shopsys/ShopBundle/Model/Customer/User.php b/src/Shopsys/ShopBundle/Model/Customer/User.php index 44721f438..94ce7d2de 100644 --- a/src/Shopsys/ShopBundle/Model/Customer/User.php +++ b/src/Shopsys/ShopBundle/Model/Customer/User.php @@ -29,6 +29,12 @@ class User extends BaseUser */ protected $billingAddress; + /** + * @var int + * @ORM\Column(type="integer", options={"default" : 0}) + */ + protected $discount; + /** * @param \Shopsys\ShopBundle\Model\Customer\UserData $userData * @param \Shopsys\ShopBundle\Model\Customer\BillingAddress $billingAddress @@ -39,6 +45,24 @@ public function __construct( BaseBillingAddress $billingAddress, DeliveryAddress $deliveryAddress = null ) { + $this->discount = $userData->discount; parent::__construct($userData, $billingAddress, $deliveryAddress); } + + /** + * @param \Shopsys\ShopBundle\Model\Customer\UserData $userData + */ + public function edit(BaseUserData $userData) + { + $this->discount = $userData->discount; + parent::edit($userData); + } + + /** + * @return int + */ + public function getDiscount(): int + { + return $this->discount; + } } diff --git a/src/Shopsys/ShopBundle/Model/Customer/UserData.php b/src/Shopsys/ShopBundle/Model/Customer/UserData.php index f89f56889..b6d9e277a 100644 --- a/src/Shopsys/ShopBundle/Model/Customer/UserData.php +++ b/src/Shopsys/ShopBundle/Model/Customer/UserData.php @@ -10,4 +10,15 @@ class UserData extends BaseUserData * @var int|null */ public $id; + + /** + * @var int + */ + public $discount; + + public function __construct() + { + parent::__construct(); + $this->discount = 0; + } } diff --git a/src/Shopsys/ShopBundle/Model/Customer/UserDataFactory.php b/src/Shopsys/ShopBundle/Model/Customer/UserDataFactory.php index 6223505ac..474e5431e 100644 --- a/src/Shopsys/ShopBundle/Model/Customer/UserDataFactory.php +++ b/src/Shopsys/ShopBundle/Model/Customer/UserDataFactory.php @@ -69,5 +69,6 @@ public function fillFromUser(BaseUserData $userData, BaseUser $user) $userData->pricingGroup = $user->getPricingGroup(); $userData->createdAt = $user->getCreatedAt(); $userData->telephone = $user->getTelephone(); + $userData->discount = $user->getDiscount(); } } diff --git a/src/Shopsys/ShopBundle/Model/Product/Pricing/ProductPriceCalculation.php b/src/Shopsys/ShopBundle/Model/Product/Pricing/ProductPriceCalculation.php new file mode 100644 index 000000000..4bfd37e17 --- /dev/null +++ b/src/Shopsys/ShopBundle/Model/Product/Pricing/ProductPriceCalculation.php @@ -0,0 +1,134 @@ +pricingSetting = $pricingSetting; + $this->basePriceCalculation = $basePriceCalculation; + $this->productManualInputPriceRepository = $productManualInputPriceRepository; + $this->productRepository = $productRepository; + $this->pricingService = $pricingService; + } + + /** + * @param \Shopsys\ShopBundle\Model\Product\Product $product + * @param int $domainId + * @param \Shopsys\FrameworkBundle\Model\Pricing\Group\PricingGroup $pricingGroup + * @param float $discountCoeficient + * @return \Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPrice + */ + public function calculatePrice(Product $product, $domainId, PricingGroup $pricingGroup, $discountCoeficient = 1) + { + if ($product->isMainVariant()) { + return $this->calculateMainVariantPrice($product, $domainId, $pricingGroup, $discountCoeficient); + } + + return $this->calculateProductPriceForPricingGroup($product, $pricingGroup, $discountCoeficient); + } + + /** + * @param \Shopsys\ShopBundle\Model\Product\Product $mainVariant + * @param int $domainId + * @param \Shopsys\FrameworkBundle\Model\Pricing\Group\PricingGroup $pricingGroup + * @param float $discountCoeficient + * @return \Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPrice + */ + private function calculateMainVariantPrice(Product $mainVariant, $domainId, PricingGroup $pricingGroup, $discountCoeficient) + { + $variants = $this->productRepository->getAllSellableVariantsByMainVariant( + $mainVariant, + $domainId, + $pricingGroup + ); + if (count($variants) === 0) { + $message = 'Main variant ID = ' . $mainVariant->getId() . ' has no sellable variants.'; + throw new \Shopsys\FrameworkBundle\Model\Product\Pricing\Exception\MainVariantPriceCalculationException($message); + } + + $variantPrices = []; + foreach ($variants as $variant) { + $variantPrices[] = $this->calculatePrice($variant, $domainId, $pricingGroup, $discountCoeficient); + } + + $minVariantPrice = $this->pricingService->getMinimumPriceByPriceWithoutVat($variantPrices); + $from = $this->pricingService->arePricesDifferent($variantPrices); + + return new ProductPrice($minVariantPrice, $from); + } + + /** + * @param \Shopsys\ShopBundle\Model\Product\Product $product + * @param \Shopsys\FrameworkBundle\Model\Pricing\Group\PricingGroup $pricingGroup + * @param float $discountCoeficient + * @return \Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPrice + */ + private function calculateProductPriceForPricingGroup(Product $product, PricingGroup $pricingGroup, $discountCoeficient) + { + $manualInputPrice = $this->productManualInputPriceRepository->findByProductAndPricingGroup($product, $pricingGroup); + if ($manualInputPrice !== null) { + $inputPrice = $manualInputPrice->getInputPrice() * $discountCoeficient; + } else { + $inputPrice = 0; + } + + $basePrice = $this->basePriceCalculation->calculateBasePrice( + $inputPrice, + $this->pricingSetting->getInputPriceType(), + $product->getVat() + ); + + return new ProductPrice($basePrice, false); + } +} diff --git a/src/Shopsys/ShopBundle/Model/Product/Pricing/ProductPriceCalculationForUser.php b/src/Shopsys/ShopBundle/Model/Product/Pricing/ProductPriceCalculationForUser.php new file mode 100644 index 000000000..98e7f09e2 --- /dev/null +++ b/src/Shopsys/ShopBundle/Model/Product/Pricing/ProductPriceCalculationForUser.php @@ -0,0 +1,85 @@ +productPriceCalculation = $productPriceCalculation; + $this->currentCustomer = $currentCustomer; + $this->pricingGroupSettingFacade = $pricingGroupSettingFacade; + $this->domain = $domain; + } + + /** + * @param \Shopsys\ShopBundle\Model\Product\Product $product + * @return \Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPrice + */ + public function calculatePriceForCurrentUser(Product $product) + { + return $this->productPriceCalculation->calculatePrice( + $product, + $this->domain->getId(), + $this->currentCustomer->getPricingGroup(), + $this->currentCustomer->getDiscountCoeficient() + ); + } + + /** + * @param \Shopsys\ShopBundle\Model\Product\Product $product + * @param int $domainId + * @param \Shopsys\FrameworkBundle\Model\Customer\User|null $user + * @return \Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPrice + */ + public function calculatePriceForUserAndDomainId(Product $product, $domainId, User $user = null) + { + if ($user === null) { + $pricingGroup = $this->pricingGroupSettingFacade->getDefaultPricingGroupByDomainId($domainId); + } else { + $pricingGroup = $user->getPricingGroup(); + } + + return $this->productPriceCalculation->calculatePrice($product, $domainId, $pricingGroup, $this->currentCustomer->getDiscountCoeficient()); + } +} diff --git a/src/Shopsys/ShopBundle/Resources/config/services.yml b/src/Shopsys/ShopBundle/Resources/config/services.yml index e712175dd..463b217e3 100644 --- a/src/Shopsys/ShopBundle/Resources/config/services.yml +++ b/src/Shopsys/ShopBundle/Resources/config/services.yml @@ -141,3 +141,14 @@ services: Shopsys\FrameworkBundle\Model\Advert\AdvertPositionRegistry: class: Shopsys\ShopBundle\Model\Advert\AdvertPositionRegistry + + Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPriceCalculation: + class: Shopsys\ShopBundle\Model\Product\Pricing\ProductPriceCalculation + + Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPriceCalculationForUser: + class: Shopsys\ShopBundle\Model\Product\Pricing\ProductPriceCalculationForUser + + Shopsys\ShopBundle\Model\Customer\CurrentCustomer: ~ + + Shopsys\FrameworkBundle\Model\Customer\CurrentCustomer: + alias: Shopsys\ShopBundle\Model\Customer\CurrentCustomer diff --git a/src/Shopsys/ShopBundle/Resources/config/services_test.yml b/src/Shopsys/ShopBundle/Resources/config/services_test.yml index af2242454..811c6ae5b 100644 --- a/src/Shopsys/ShopBundle/Resources/config/services_test.yml +++ b/src/Shopsys/ShopBundle/Resources/config/services_test.yml @@ -101,3 +101,11 @@ services: Shopsys\FrameworkBundle\Model\Customer\UserDataFactory: alias: Shopsys\ShopBundle\Model\Customer\UserDataFactory + Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPriceCalculation: + class: Shopsys\ShopBundle\Model\Product\Pricing\ProductPriceCalculation + + Shopsys\FrameworkBundle\Model\Product\Pricing\ProductPriceCalculationForUser: + class: Shopsys\ShopBundle\Model\Product\Pricing\ProductPriceCalculationForUser + + Shopsys\FrameworkBundle\Model\Customer\CurrentCustomer: + class: Shopsys\ShopBundle\Model\Customer\CurrentCustomer diff --git a/src/Shopsys/ShopBundle/Resources/translations/messages.cs.po b/src/Shopsys/ShopBundle/Resources/translations/messages.cs.po index e1513d7ec..c27ecee41 100644 --- a/src/Shopsys/ShopBundle/Resources/translations/messages.cs.po +++ b/src/Shopsys/ShopBundle/Resources/translations/messages.cs.po @@ -25,6 +25,9 @@ msgstr "Příslušenství" msgid "Add to cart" msgstr "Vložit do košíku" +msgid "Added product will not have any individual discounts" +msgstr "Na přidaný produkt se nebudou vztahovat žádné individuální slevy" + msgid "Address" msgstr "Adresa" diff --git a/src/Shopsys/ShopBundle/Resources/translations/messages.en.po b/src/Shopsys/ShopBundle/Resources/translations/messages.en.po index d8c722455..54a9703f2 100644 --- a/src/Shopsys/ShopBundle/Resources/translations/messages.en.po +++ b/src/Shopsys/ShopBundle/Resources/translations/messages.en.po @@ -25,6 +25,9 @@ msgstr "" msgid "Add to cart" msgstr "" +msgid "Added product will not have any individual discounts" +msgstr "" + msgid "Address" msgstr "" diff --git a/src/Shopsys/ShopBundle/Resources/translations/validators.cs.po b/src/Shopsys/ShopBundle/Resources/translations/validators.cs.po index bbf4d2e21..2d6823b5e 100644 --- a/src/Shopsys/ShopBundle/Resources/translations/validators.cs.po +++ b/src/Shopsys/ShopBundle/Resources/translations/validators.cs.po @@ -10,6 +10,15 @@ msgstr "Název města nesmí být delší než {{ limit }} znaků" msgid "Company name cannot be longer than {{ limit }} characters" msgstr "Název firmy nesmí být delší než {{ limit }} znaků" +msgid "Discount percentage should be {{ limit }} or more." +msgstr "Procentní sleva musí být větší nebo rovna {{ limit }}" + +msgid "Discount percentage should be {{ limit }} or less." +msgstr "Procentní sleva musí být menší nebo rovna {{ limit }}" + +msgid "Discount percentage needs to be valid number with range between 0 and 100" +msgstr "Procentní sleva musí být celé číslo v rozmezí 0 až 100" + msgid "Email cannot be longer then {{ limit }} characters" msgstr "E-mail nesmí být delší než {{ limit }} znaků" diff --git a/src/Shopsys/ShopBundle/Resources/translations/validators.en.po b/src/Shopsys/ShopBundle/Resources/translations/validators.en.po index 2030d5826..8b88e8bc6 100644 --- a/src/Shopsys/ShopBundle/Resources/translations/validators.en.po +++ b/src/Shopsys/ShopBundle/Resources/translations/validators.en.po @@ -10,6 +10,15 @@ msgstr "" msgid "Company name cannot be longer than {{ limit }} characters" msgstr "" +msgid "Discount percentage should be {{ limit }} or more." +msgstr "" + +msgid "Discount percentage should be {{ limit }} or less." +msgstr "" + +msgid "Discount percentage needs to be valid number with range between 0 and 100" +msgstr "" + msgid "Email cannot be longer then {{ limit }} characters" msgstr "" @@ -132,4 +141,3 @@ msgstr "" msgid "Zip code cannot be longer than {{ limit }} characters" msgstr "" - diff --git a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxList.html.twig b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxList.html.twig index a42da0070..ed7ecbc2c 100644 --- a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxList.html.twig +++ b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxList.html.twig @@ -8,7 +8,8 @@ null, 'product_list', productFilterCountData, - priceRange + priceRange, + discountCoeficient ) }} diff --git a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxSearch.html.twig b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxSearch.html.twig index d5a1d43f4..4e0788921 100644 --- a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxSearch.html.twig +++ b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/ajaxSearch.html.twig @@ -8,7 +8,8 @@ searchText, 'search', productFilterCountData, - priceRange + priceRange, + discountCoeficient ) }} diff --git a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/filterFormMacro.html.twig b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/filterFormMacro.html.twig index 480ae9fcb..638c092e6 100644 --- a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/filterFormMacro.html.twig +++ b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/filterFormMacro.html.twig @@ -1,4 +1,4 @@ -{% macro filterForm(filterForm, actionUrl, resetUrl, searchText, page, productFilterCountData, priceRange) %} +{% macro filterForm(filterForm, actionUrl, resetUrl, searchText, page, productFilterCountData, priceRange, discountCoeficient) %} {{ form_start(filterForm, { action: actionUrl }) }} {% form_theme filterForm '@ShopsysShop/Front/Content/Product/filterFormTheme.html.twig' %} @@ -19,9 +19,9 @@
diff --git a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/list.html.twig b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/list.html.twig index 92f9f2c80..46ea511fc 100644 --- a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/list.html.twig +++ b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/list.html.twig @@ -91,7 +91,8 @@ null, 'product_list', productFilterCountData, - priceRange + priceRange, + discountCoeficient ) }}
{% endif %} diff --git a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/search.html.twig b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/search.html.twig index 04c1b63f8..8280cd3c4 100644 --- a/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/search.html.twig +++ b/src/Shopsys/ShopBundle/Resources/views/Front/Content/Product/search.html.twig @@ -52,7 +52,8 @@ searchText, 'search', productFilterCountData, - priceRange + priceRange, + discountCoeficient ) }}
{% endif %}