mirror of
https://github.com/twbs/bootstrap.git
synced 2025-01-17 21:49:09 +01:00
Merge branch 'master' into gradient-prefix-cleanup
Conflicts: dist/css/bootstrap.min.css docs-assets/js/raw-files.js
This commit is contained in:
commit
cf81cb60ef
@ -6,6 +6,5 @@ before_script:
|
||||
- npm install -g grunt-cli
|
||||
env:
|
||||
global:
|
||||
- secure: Besg41eyU+2mfxrywQ4ydOShMdc34ImaO0S0ENP+aCOBuyNBIgP59wy5tBMmyai2/8eInYeVps4Td96mWInMMxzTe3Bar7eTLG5tWVKRSr/wc4NBPZ/ppoPAmCEsz9Y+VptRH9/FO8n7hsL9EFZ+xBKbG+C0SccGoyBDpA5j7/w=
|
||||
- secure: Ptiv7phCImFP3ALIz+sMQzrZg8k7C1gLZbFBhWxjnQr3g06wIfX3Ls5y9OHvxid+lOZZjISui3wzBVgpVHqwHUYf96+r0mo6/mJ+F4ffUmShZANVaIMD/JRTnXhUQJbvntGLvxn1EYWPdNM+2IHJrMipnjHxU9tkgAnlel4Zdew=
|
||||
- TWBS_HAVE_OWN_BROWSERSTACK_KEY: ""
|
||||
- SAUCE_USERNAME: bootstrap
|
||||
- secure: "pJkBwnuae9dKU5tEcCqccfS1QQw7/meEcfz63fM7ba7QJNjoA6BaXj08L5Z3Vb5vBmVPwBawxo5Hp0jC0r/Z/O0hGnAmz/Cz09L+cy7dSAZ9x4hvZePSja/UAusaB5ogMoO8l2b773MzgQeSmrLbExr9BWLeqEfjC2hFgdgHLaQ="
|
||||
|
@ -58,7 +58,7 @@ We only accept issues that are bug reports or feature requests. Bugs must be iso
|
||||
|
||||
With v3.1, we're moving from the Apache 2 to the MIT license for the Bootstrap code (not the docs). We're in the process of collecting permissions from all Bootstrap contributors with code still part of the project to make this happen. For details, please see [#2054](https://github.com/twbs/bootstrap/issues/2054).
|
||||
|
||||
By contributing your code, you agree to dual-license your contribution under the [Apache 2](https://github.com/twbs/bootstrap/blob/master/LICENSE) and [MIT](https://github.com/twbs/bootstrap/blob/master/MIT) licenses.
|
||||
By contributing your code, you agree to dual-license your contribution under the [Apache 2](https://github.com/twbs/bootstrap/blob/master/LICENSE) and [MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE-MIT) licenses.
|
||||
|
||||
|
||||
|
||||
|
106
Gruntfile.js
106
Gruntfile.js
@ -169,12 +169,105 @@ module.exports = function(grunt) {
|
||||
replacement: grunt.option('newver'),
|
||||
recursive: true
|
||||
}
|
||||
},
|
||||
|
||||
'saucelabs-qunit': {
|
||||
all: {
|
||||
options: {
|
||||
build: process.env.TRAVIS_JOB_ID,
|
||||
concurrency: 3,
|
||||
urls: ['http://127.0.0.1:3000/js/tests/index.html'],
|
||||
browsers: [
|
||||
// See https://saucelabs.com/docs/platforms/webdriver
|
||||
{
|
||||
browserName: 'safari',
|
||||
version: '6',
|
||||
platform: 'OS X 10.8'
|
||||
},
|
||||
{
|
||||
browserName: 'chrome',
|
||||
version: '28',
|
||||
platform: 'OS X 10.6'
|
||||
},
|
||||
/* FIXME: currently fails 1 tooltip test
|
||||
{
|
||||
browserName: 'firefox',
|
||||
version: '25',
|
||||
platform: 'OS X 10.6'
|
||||
},*/
|
||||
// Mac Opera not currently supported by Sauce Labs
|
||||
/* FIXME: currently fails 1 tooltip test
|
||||
{
|
||||
browserName: 'internet explorer',
|
||||
version: '11',
|
||||
platform: 'Windows 8.1'
|
||||
},*/
|
||||
/*
|
||||
{
|
||||
browserName: 'internet explorer',
|
||||
version: '10',
|
||||
platform: 'Windows 8'
|
||||
},
|
||||
{
|
||||
browserName: 'internet explorer',
|
||||
version: '9',
|
||||
platform: 'Windows 7'
|
||||
},
|
||||
{
|
||||
browserName: 'internet explorer',
|
||||
version: '8',
|
||||
platform: 'Windows 7'
|
||||
},
|
||||
{// unofficial
|
||||
browserName: 'internet explorer',
|
||||
version: '7',
|
||||
platform: 'Windows XP'
|
||||
},
|
||||
*/
|
||||
{
|
||||
browserName: 'chrome',
|
||||
version: '31',
|
||||
platform: 'Windows 8.1'
|
||||
},
|
||||
{
|
||||
browserName: 'firefox',
|
||||
version: '25',
|
||||
platform: 'Windows 8.1'
|
||||
},
|
||||
// Win Opera 15+ not currently supported by Sauce Labs
|
||||
{
|
||||
browserName: 'iphone',
|
||||
version: '6.1',
|
||||
platform: 'OS X 10.8'
|
||||
},
|
||||
// iOS Chrome not currently supported by Sauce Labs
|
||||
// Linux (unofficial)
|
||||
{
|
||||
browserName: 'chrome',
|
||||
version: '30',
|
||||
platform: 'Linux'
|
||||
},
|
||||
{
|
||||
browserName: 'firefox',
|
||||
version: '25',
|
||||
platform: 'Linux'
|
||||
}
|
||||
// Android Chrome not currently supported by Sauce Labs
|
||||
/* Android Browser (super-unofficial)
|
||||
{
|
||||
browserName: 'android',
|
||||
version: '4.0',
|
||||
platform: 'Linux'
|
||||
}
|
||||
*/
|
||||
],
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// These plugins provide necessary tasks.
|
||||
grunt.loadNpmTasks('browserstack-runner');
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks('grunt-contrib-connect');
|
||||
@ -186,6 +279,7 @@ module.exports = function(grunt) {
|
||||
grunt.loadNpmTasks('grunt-html-validation');
|
||||
grunt.loadNpmTasks('grunt-jekyll');
|
||||
grunt.loadNpmTasks('grunt-recess');
|
||||
grunt.loadNpmTasks('grunt-saucelabs');
|
||||
grunt.loadNpmTasks('grunt-sed');
|
||||
|
||||
// Docs HTML validation task
|
||||
@ -193,12 +287,10 @@ module.exports = function(grunt) {
|
||||
|
||||
// Test task.
|
||||
var testSubtasks = ['dist-css', 'jshint', 'qunit', 'validate-html'];
|
||||
// Only run BrowserStack tests under Travis
|
||||
if (process.env.TRAVIS) {
|
||||
// Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key
|
||||
if ((process.env.TRAVIS_REPO_SLUG === 'twbs/bootstrap' && process.env.TRAVIS_PULL_REQUEST === 'false') || process.env.TWBS_HAVE_OWN_BROWSERSTACK_KEY) {
|
||||
testSubtasks.push('browserstack_runner');
|
||||
}
|
||||
// Only run Sauce Labs tests if there's a Sauce access key
|
||||
if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined') {
|
||||
testSubtasks.push('connect');
|
||||
testSubtasks.push('saucelabs-qunit');
|
||||
}
|
||||
grunt.registerTask('test', testSubtasks);
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
# [Bootstrap](http://getbootstrap.com) [![Build Status](https://secure.travis-ci.org/twbs/bootstrap.png)](http://travis-ci.org/twbs/bootstrap) [![devDependency Status](https://david-dm.org/twbs/bootstrap/dev-status.png)](https://david-dm.org/twbs/bootstrap#info=devDependencies)
|
||||
[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap)
|
||||
|
||||
Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created and maintained by [Mark Otto](http://twitter.com/mdo) and [Jacob Thornton](http://twitter.com/fat).
|
||||
|
||||
|
@ -1,37 +0,0 @@
|
||||
{
|
||||
"username": "--secure--",
|
||||
"key": "--secure--",
|
||||
"test_path": "js/tests/index.html",
|
||||
"browsers": [
|
||||
{
|
||||
"browser": "firefox",
|
||||
"browser_version": "latest",
|
||||
"os": "OS X",
|
||||
"os_version": "Mountain Lion"
|
||||
},
|
||||
{
|
||||
"browser": "safari",
|
||||
"browser_version": "latest",
|
||||
"os": "OS X",
|
||||
"os_version": "Mountain Lion"
|
||||
},
|
||||
{
|
||||
"browser": "chrome",
|
||||
"browser_version": "latest",
|
||||
"os": "OS X",
|
||||
"os_version": "Mountain Lion"
|
||||
},
|
||||
{
|
||||
"browser": "firefox",
|
||||
"browser_version": "latest",
|
||||
"os": "Windows",
|
||||
"os_version": "7"
|
||||
},
|
||||
{
|
||||
"browser": "chrome",
|
||||
"browser_version": "latest",
|
||||
"os": "Windows",
|
||||
"os_version": "7"
|
||||
}
|
||||
]
|
||||
}
|
@ -1171,7 +1171,7 @@ base_url: "../"
|
||||
<a class="btn btn-default" role="button">Left</a>
|
||||
<a class="btn btn-default" role="button">Middle</a>
|
||||
<div class="btn-group">
|
||||
<a type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
<a class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||
Right dropdown <span class="caret"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
|
3
css.html
3
css.html
@ -54,7 +54,8 @@ base_url: "../"
|
||||
<p>For improved cross-browser rendering, we use <a href="http://necolas.github.io/normalize.css/" target="_blank">Normalize</a>, a project by <a href="http://twitter.com/necolas" target="_blank">Nicolas Gallagher</a> and <a href="http://twitter.com/jon_neal" target="_blank">Jonathan Neal</a>.</p>
|
||||
|
||||
<h3 id="overview-container">Containers</h3>
|
||||
<p>Easily center a page's contents by wrapping its contents in a <code>.container</code>. Containers set <code>max-width</code> at various media query breakpoints to match our grid system.</p>
|
||||
<p>Easily center a page's contents by wrapping its contents in a <code>.container</code>. Containers set <code>width</code> at various media query breakpoints to match our grid system.</p>
|
||||
<p>Note that, due to <code>padding</code> and fixed widths, containers are not nestable by default.</p>
|
||||
{% highlight html %}
|
||||
<div class="container">
|
||||
...
|
||||
|
79
dist/css/bootstrap.css
vendored
79
dist/css/bootstrap.css
vendored
@ -2622,8 +2622,7 @@ fieldset[disabled] .btn-link:focus {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.btn-sm,
|
||||
.btn-xs {
|
||||
.btn-sm {
|
||||
padding: 5px 10px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
@ -2632,6 +2631,9 @@ fieldset[disabled] .btn-link:focus {
|
||||
|
||||
.btn-xs {
|
||||
padding: 1px 5px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.btn-block {
|
||||
@ -3754,7 +3756,6 @@ input[type="button"].btn-block {
|
||||
}
|
||||
|
||||
.btn-group-xs > .btn {
|
||||
padding: 5px 10px;
|
||||
padding: 1px 5px;
|
||||
font-size: 12px;
|
||||
line-height: 1.5;
|
||||
@ -5709,6 +5710,11 @@ a.list-group-item.active:focus .list-group-item-text {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.panel > .table-responsive {
|
||||
margin-bottom: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.panel-heading {
|
||||
padding: 10px 15px;
|
||||
border-bottom: 1px solid transparent;
|
||||
@ -6597,6 +6603,9 @@ td.visible-xs {
|
||||
.visible-xs {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-xs {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-xs {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6610,6 +6619,9 @@ td.visible-xs {
|
||||
.visible-xs.visible-sm {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-xs.visible-sm {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-xs.visible-sm {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6623,6 +6635,9 @@ td.visible-xs {
|
||||
.visible-xs.visible-md {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-xs.visible-md {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-xs.visible-md {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6636,6 +6651,9 @@ td.visible-xs {
|
||||
.visible-xs.visible-lg {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-xs.visible-lg {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-xs.visible-lg {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6656,6 +6674,9 @@ td.visible-sm {
|
||||
.visible-sm.visible-xs {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-sm.visible-xs {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-sm.visible-xs {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6669,6 +6690,9 @@ td.visible-sm {
|
||||
.visible-sm {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-sm {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-sm {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6682,6 +6706,9 @@ td.visible-sm {
|
||||
.visible-sm.visible-md {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-sm.visible-md {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-sm.visible-md {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6695,6 +6722,9 @@ td.visible-sm {
|
||||
.visible-sm.visible-lg {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-sm.visible-lg {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-sm.visible-lg {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6715,6 +6745,9 @@ td.visible-md {
|
||||
.visible-md.visible-xs {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-md.visible-xs {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-md.visible-xs {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6728,6 +6761,9 @@ td.visible-md {
|
||||
.visible-md.visible-sm {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-md.visible-sm {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-md.visible-sm {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6741,6 +6777,9 @@ td.visible-md {
|
||||
.visible-md {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-md {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-md {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6754,6 +6793,9 @@ td.visible-md {
|
||||
.visible-md.visible-lg {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-md.visible-lg {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-md.visible-lg {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6774,6 +6816,9 @@ td.visible-lg {
|
||||
.visible-lg.visible-xs {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-lg.visible-xs {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-lg.visible-xs {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6787,6 +6832,9 @@ td.visible-lg {
|
||||
.visible-lg.visible-sm {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-lg.visible-sm {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-lg.visible-sm {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6800,6 +6848,9 @@ td.visible-lg {
|
||||
.visible-lg.visible-md {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-lg.visible-md {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-lg.visible-md {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6813,6 +6864,9 @@ td.visible-lg {
|
||||
.visible-lg {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-lg {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-lg {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6826,6 +6880,10 @@ td.visible-lg {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
table.hidden-xs {
|
||||
display: table;
|
||||
}
|
||||
|
||||
tr.hidden-xs {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6875,6 +6933,10 @@ td.hidden-xs {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
table.hidden-sm {
|
||||
display: table;
|
||||
}
|
||||
|
||||
tr.hidden-sm {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6924,6 +6986,10 @@ td.hidden-sm {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
table.hidden-md {
|
||||
display: table;
|
||||
}
|
||||
|
||||
tr.hidden-md {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -6973,6 +7039,10 @@ td.hidden-md {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
table.hidden-lg {
|
||||
display: table;
|
||||
}
|
||||
|
||||
tr.hidden-lg {
|
||||
display: table-row !important;
|
||||
}
|
||||
@ -7029,6 +7099,9 @@ td.visible-print {
|
||||
.visible-print {
|
||||
display: block !important;
|
||||
}
|
||||
table.visible-print {
|
||||
display: table;
|
||||
}
|
||||
tr.visible-print {
|
||||
display: table-row !important;
|
||||
}
|
||||
|
2
dist/css/bootstrap.min.css
vendored
2
dist/css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
2
dist/js/bootstrap.js
vendored
2
dist/js/bootstrap.js
vendored
@ -704,7 +704,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
|
||||
var backdrop = '.dropdown-backdrop'
|
||||
var toggle = '[data-toggle=dropdown]'
|
||||
var Dropdown = function (element) {
|
||||
var $el = $(element).on('click.bs.dropdown', this.toggle)
|
||||
$(element).on('click.bs.dropdown', this.toggle)
|
||||
}
|
||||
|
||||
Dropdown.prototype.toggle = function (e) {
|
||||
|
2
dist/js/bootstrap.min.js
vendored
2
dist/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 119 KiB |
@ -456,6 +456,14 @@ bootstrap/
|
||||
<td><code>.muted</code></td>
|
||||
<td><code>.text-muted</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.label</code></td>
|
||||
<td><code>.label .label-default</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.label-important</code></td>
|
||||
<td><code>.label-danger</code></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>.text-error</code></td>
|
||||
<td><code>.text-danger</code></td>
|
||||
|
@ -26,7 +26,7 @@
|
||||
var backdrop = '.dropdown-backdrop'
|
||||
var toggle = '[data-toggle=dropdown]'
|
||||
var Dropdown = function (element) {
|
||||
var $el = $(element).on('click.bs.dropdown', this.toggle)
|
||||
$(element).on('click.bs.dropdown', this.toggle)
|
||||
}
|
||||
|
||||
Dropdown.prototype.toggle = function (e) {
|
||||
|
@ -122,13 +122,12 @@
|
||||
// line-height: ensure even-numbered height of button next to large input
|
||||
.button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
|
||||
}
|
||||
.btn-sm,
|
||||
.btn-xs {
|
||||
.btn-sm {
|
||||
// line-height: ensure proper height of button next to small input
|
||||
.button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
||||
}
|
||||
.btn-xs {
|
||||
padding: 1px 5px;
|
||||
.button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @border-radius-small);
|
||||
}
|
||||
|
||||
|
||||
|
@ -547,9 +547,10 @@
|
||||
// More easily include all the states for responsive-utilities.less.
|
||||
.responsive-visibility() {
|
||||
display: block !important;
|
||||
tr& { display: table-row !important; }
|
||||
table& { display: table; }
|
||||
tr& { display: table-row !important; }
|
||||
th&,
|
||||
td& { display: table-cell !important; }
|
||||
td& { display: table-cell !important; }
|
||||
}
|
||||
|
||||
.responsive-invisibility() {
|
||||
|
@ -91,6 +91,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
> .table-responsive {
|
||||
border: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -84,6 +84,9 @@
|
||||
@padding-small-vertical: 5px;
|
||||
@padding-small-horizontal: 10px;
|
||||
|
||||
@padding-xs-vertical: 1px;
|
||||
@padding-xs-horizontal: 5px;
|
||||
|
||||
@line-height-large: 1.33;
|
||||
@line-height-small: 1.5;
|
||||
|
||||
|
@ -20,8 +20,7 @@
|
||||
}
|
||||
]
|
||||
, "devDependencies": {
|
||||
"browserstack-runner": "~0.0.12"
|
||||
, "btoa": "~1.1.1"
|
||||
"btoa": "~1.1.1"
|
||||
, "grunt": "~0.4.1"
|
||||
, "grunt-contrib-clean": "~0.5.0"
|
||||
, "grunt-contrib-concat": "~0.3.0"
|
||||
@ -34,6 +33,7 @@
|
||||
, "grunt-html-validation": "~0.1.6"
|
||||
, "grunt-jekyll": "~0.4.0"
|
||||
, "grunt-recess": "~0.5.0"
|
||||
, "grunt-saucelabs": "~4.1.2"
|
||||
, "grunt-sed": "~0.1.1"
|
||||
, "regexp-quote": "~0.0.0"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user