0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-18 15:54:26 +01:00

Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev

This commit is contained in:
Mark Otto 2017-01-03 19:24:31 -08:00
commit 7a087b69b7
6 changed files with 118 additions and 554 deletions

View File

@ -226,6 +226,12 @@ module.exports = function (grunt) {
htmlhint: {
command: 'npm run htmlhint'
},
sass: {
command: 'npm run sass'
},
'sass-docs': {
command: 'npm run sass-docs'
},
'scss-lint': {
command: 'npm run scss-lint'
},
@ -278,9 +284,7 @@ module.exports = function (grunt) {
// These plugins provide necessary tasks.
require('load-grunt-tasks')(grunt, { scope: 'devDependencies',
// Exclude Sass compilers. We choose the one to load later on.
pattern: ['grunt-*', '!grunt-sass', '!grunt-contrib-sass'] })
require('load-grunt-tasks')(grunt)
require('time-grunt')(grunt)
// Docs HTML validation task
@ -324,15 +328,10 @@ module.exports = function (grunt) {
// JS distribution task.
grunt.registerTask('dist-js', ['babel:dev', 'concat', 'babel:dist', 'stamp', 'exec:uglify'])
grunt.registerTask('test-scss', ['exec:scss-lint']);
grunt.registerTask('test-scss', ['exec:scss-lint'])
// CSS distribution task.
// Supported Compilers: sass (Ruby) and libsass.
(function (sassCompilerName) {
require('./grunt/bs-sass-compile/' + sassCompilerName + '.js')(grunt)
}(process.env.TWBS_SASS || 'libsass'))
// grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs']);
grunt.registerTask('sass-compile', ['sass:core', 'sass:extras', 'sass:docs'])
grunt.registerTask('sass-compile', ['exec:sass', 'exec:sass-docs'])
grunt.registerTask('dist-css', ['sass-compile', 'exec:postcss', 'exec:clean-css', 'exec:clean-css-docs'])

View File

@ -39,15 +39,6 @@ Our Gruntfile includes the following commands and tasks:
| `grunt docs` | Builds and tests CSS, JavaScript, and other assets which are used when running the documentation locally via `jekyll serve`. |
| `grunt watch` | This is a convenience method for watching just Sass files and automatically building them whenever you save. |
## Switching Sass compilers
Bootstrap will be compiled with [libsass][libsass] by default, but you can opt into traditional Ruby Sass by setting the `TWBS_SASS` environment variable. Two options are supported:
* `libsass` (default) to use [libsass][libsass] via [grunt-sass][grunt-sass].
* `sass` to use [Ruby Sass][ruby-sass] via [grunt-contrib-sass][grunt-contrib-sass].
For example, run `TWBS_SASS=sass grunt` to test and build Bootstrap with Ruby Sass.
## Autoprefixer
Bootstrap uses [Autoprefixer][autoprefixer] (included in our Gruntfile and build process) to automatically add vendor prefixes to some CSS properties at build time. Doing so saves us time and code by allowing us to write key parts of our CSS a single time while eliminating the need for vendor mixins like those found in v3.
@ -68,8 +59,4 @@ Learn more about using Jekyll by reading its [documentation](https://jekyllrb.co
Should you encounter problems with installing dependencies or running Grunt commands, uninstall all previous dependency versions (global and local). Then, rerun `npm install`.
[ruby-sass]: https://github.com/sass/sass
[grunt-contrib-sass]: https://github.com/gruntjs/grunt-contrib-sass
[libsass]: https://github.com/sass/libsass
[grunt-sass]: https://github.com/sindresorhus/grunt-sass
[autoprefixer]: https://github.com/postcss/autoprefixer

View File

@ -1,33 +0,0 @@
// Compile Bootstrap with [libsass][1] using [grunt-sass][2]
// [1]: https://github.com/sass/libsass
// [2]: https://github.com/sindresorhus/grunt-sass
module.exports = function configureLibsass(grunt) {
grunt.config.merge({
sass: {
options: {
includePaths: ['scss'],
precision: 6,
sourceComments: false,
sourceMap: true,
outputStyle: 'expanded'
},
core: {
files: {
'dist/css/<%= pkg.name %>.css': 'scss/<%= pkg.name %>.scss'
}
},
extras: {
files: {
'dist/css/<%= pkg.name %>-grid.css': 'scss/<%= pkg.name %>-grid.scss',
'dist/css/<%= pkg.name %>-reboot.css': 'scss/<%= pkg.name %>-reboot.scss'
}
},
docs: {
files: {
'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss'
}
}
}
})
grunt.loadNpmTasks('grunt-sass')
}

View File

@ -1,37 +0,0 @@
// Compile Bootstrap with [Ruby Sass][1] using [grunt-contrib-sass][2]
// [1]: https://github.com/sass/sass
// [2]: https://github.com/gruntjs/grunt-contrib-sass
module.exports = function configureRubySass(grunt) {
var options = {
loadPath: ['scss'],
precision: 6,
sourcemap: 'auto',
style: 'expanded',
trace: true,
bundleExec: true
}
grunt.config.merge({
sass: {
core: {
options: options,
files: {
'dist/css/<%= pkg.name %>.css': 'scss/<%= pkg.name %>.scss'
}
},
extras: {
options: options,
files: {
'dist/css/<%= pkg.name %>-grid.css': 'scss/<%= pkg.name %>-grid.scss',
'dist/css/<%= pkg.name %>-reboot.css': 'scss/<%= pkg.name %>-reboot.scss'
}
},
docs: {
options: options,
files: {
'docs/assets/css/docs.min.css': 'docs/assets/scss/docs.scss'
}
}
}
})
grunt.loadNpmTasks('grunt-contrib-sass')
}

View File

@ -49,15 +49,15 @@
}
},
"ajv": {
"version": "4.10.0",
"version": "4.10.3",
"from": "ajv@>=4.7.0 <5.0.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.10.0.tgz",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.10.3.tgz",
"dev": true
},
"ajv-keywords": {
"version": "1.3.0",
"version": "1.5.0",
"from": "ajv-keywords@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.3.0.tgz",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.0.tgz",
"dev": true
},
"align-text": {
@ -230,9 +230,9 @@
"dev": true
},
"autoprefixer": {
"version": "6.5.4",
"version": "6.6.0",
"from": "autoprefixer@>=6.5.0 <7.0.0",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.5.4.tgz",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.6.0.tgz",
"dev": true
},
"aws-sign2": {
@ -645,9 +645,9 @@
"optional": true
},
"browserslist": {
"version": "1.4.0",
"from": "browserslist@>=1.4.0 <1.5.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.4.0.tgz",
"version": "1.5.1",
"from": "browserslist@>=1.5.1 <1.6.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.5.1.tgz",
"dev": true
},
"buffer-crc32": {
@ -700,7 +700,7 @@
},
"caniuse-db": {
"version": "1.0.30000602",
"from": "caniuse-db@>=1.0.30000597 <2.0.0",
"from": "caniuse-db@>=1.0.30000602 <2.0.0",
"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000602.tgz",
"dev": true
},
@ -783,20 +783,6 @@
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz",
"dev": true
},
"cli-table": {
"version": "0.3.1",
"from": "cli-table@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
"dev": true,
"dependencies": {
"colors": {
"version": "1.0.3",
"from": "colors@1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"dev": true
}
}
},
"cli-width": {
"version": "2.1.0",
"from": "cli-width@>=2.0.0 <3.0.0",
@ -804,18 +790,10 @@
"dev": true
},
"cliui": {
"version": "2.1.0",
"from": "cliui@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"dev": true,
"dependencies": {
"wordwrap": {
"version": "0.0.2",
"from": "wordwrap@0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"dev": true
}
}
"version": "3.2.0",
"from": "cliui@>=3.2.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"dev": true
},
"co": {
"version": "4.6.0",
@ -853,12 +831,6 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"dev": true
},
"comment-parser": {
"version": "0.3.1",
"from": "comment-parser@>=0.3.1 <0.4.0",
"resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.1.tgz",
"dev": true
},
"compress-commons": {
"version": "1.1.0",
"from": "compress-commons@>=1.1.0 <2.0.0",
@ -946,10 +918,18 @@
"dev": true
},
"cross-spawn": {
"version": "0.2.9",
"from": "cross-spawn@>=0.2.3 <0.3.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz",
"dev": true
"version": "3.0.1",
"from": "cross-spawn@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
"dev": true,
"dependencies": {
"lru-cache": {
"version": "4.0.2",
"from": "lru-cache@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
"dev": true
}
}
},
"cryptiles": {
"version": "2.0.5",
@ -963,36 +943,18 @@
"resolved": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz",
"dev": true
},
"cst": {
"version": "0.4.9",
"from": "cst@>=0.4.3 <0.5.0",
"resolved": "https://registry.npmjs.org/cst/-/cst-0.4.9.tgz",
"dev": true
},
"currently-unhandled": {
"version": "0.4.1",
"from": "currently-unhandled@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"dev": true
},
"cycle": {
"version": "1.0.3",
"from": "cycle@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
"dev": true
},
"d": {
"version": "0.1.1",
"from": "d@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/d/-/d-0.1.1.tgz",
"dev": true
},
"dargs": {
"version": "4.1.0",
"from": "dargs@>=4.0.0 <5.0.0",
"resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
"dev": true
},
"dashdash": {
"version": "1.14.1",
"from": "dashdash@>=1.12.0 <2.0.0",
@ -1026,9 +988,9 @@
"dev": true
},
"debug": {
"version": "2.5.1",
"version": "2.6.0",
"from": "debug@>=2.2.0 <3.0.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.5.1.tgz",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz",
"dev": true
},
"decamelize": {
@ -1037,12 +999,6 @@
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"dev": true
},
"deep-equal": {
"version": "1.0.1",
"from": "deep-equal@*",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
"dev": true
},
"deep-is": {
"version": "0.1.3",
"from": "deep-is@>=0.1.3 <0.2.0",
@ -1129,12 +1085,6 @@
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
"dev": true
},
"each-async": {
"version": "1.1.1",
"from": "each-async@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz",
"dev": true
},
"ecc-jsbn": {
"version": "0.1.1",
"from": "ecc-jsbn@>=0.1.1 <0.2.0",
@ -1198,6 +1148,12 @@
"resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz",
"dev": true
},
"es6-object-assign": {
"version": "1.0.3",
"from": "es6-object-assign@>=1.0.3 <2.0.0",
"resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.0.3.tgz",
"dev": true
},
"es6-promise": {
"version": "4.0.5",
"from": "es6-promise@>=4.0.3 <4.1.0",
@ -1379,16 +1335,10 @@
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"dev": true
},
"eyes": {
"version": "0.1.8",
"from": "eyes@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
"dev": true
},
"fast-levenshtein": {
"version": "2.0.5",
"version": "2.0.6",
"from": "fast-levenshtein@>=2.0.4 <2.1.0",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.5.tgz",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"dev": true
},
"faye-websocket": {
@ -1769,20 +1719,6 @@
"resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-1.2.0.tgz",
"dev": true
},
"grunt-contrib-sass": {
"version": "1.0.0",
"from": "grunt-contrib-sass@>=1.0.0 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-contrib-sass/-/grunt-contrib-sass-1.0.0.tgz",
"dev": true,
"dependencies": {
"async": {
"version": "0.9.2",
"from": "async@>=0.9.0 <0.10.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
"dev": true
}
}
},
"grunt-contrib-watch": {
"version": "1.0.0",
"from": "grunt-contrib-watch@>=1.0.0 <2.0.0",
@ -1877,12 +1813,6 @@
"resolved": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz",
"dev": true
},
"grunt-sass": {
"version": "1.2.1",
"from": "grunt-sass@>=1.2.1 <2.0.0",
"resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-1.2.1.tgz",
"dev": true
},
"grunt-saucelabs": {
"version": "9.0.0",
"from": "grunt-saucelabs@>=9.0.0 <10.0.0",
@ -2053,12 +1983,6 @@
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
"dev": true
},
"i": {
"version": "0.3.5",
"from": "i@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/i/-/i-0.3.5.tgz",
"dev": true
},
"iconv-lite": {
"version": "0.4.15",
"from": "iconv-lite@>=0.4.13 <0.5.0",
@ -2095,12 +2019,6 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"dev": true
},
"inherit": {
"version": "2.2.6",
"from": "inherit@>=2.2.2 <3.0.0",
"resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.6.tgz",
"dev": true
},
"inherits": {
"version": "2.0.3",
"from": "inherits@>=2.0.3 <3.0.0",
@ -2313,7 +2231,7 @@
},
"jquery": {
"version": "3.1.1",
"from": "jquery@>=1.9.1 <4.0.0",
"from": "jquery@>=1.9.1",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.1.1.tgz"
},
"js-base64": {
@ -2341,76 +2259,6 @@
"dev": true,
"optional": true
},
"jscs": {
"version": "3.0.7",
"from": "jscs@>=3.0.7 <4.0.0",
"resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz",
"dev": true,
"dependencies": {
"commander": {
"version": "2.9.0",
"from": "commander@>=2.9.0 <2.10.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
"dev": true
},
"glob": {
"version": "5.0.15",
"from": "glob@>=5.0.1 <6.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
"dev": true
},
"js-yaml": {
"version": "3.4.6",
"from": "js-yaml@>=3.4.0 <3.5.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz",
"dev": true
},
"lodash": {
"version": "3.10.1",
"from": "lodash@>=3.10.0 <3.11.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
},
"natural-compare": {
"version": "1.2.2",
"from": "natural-compare@>=1.2.2 <1.3.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz",
"dev": true
},
"strip-bom": {
"version": "2.0.0",
"from": "strip-bom@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"dev": true
}
}
},
"jscs-jsdoc": {
"version": "2.0.0",
"from": "jscs-jsdoc@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz",
"dev": true
},
"jscs-preset-wikimedia": {
"version": "1.0.0",
"from": "jscs-preset-wikimedia@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.0.tgz",
"dev": true
},
"jsdoctypeparser": {
"version": "1.2.0",
"from": "jsdoctypeparser@>=1.2.0 <1.3.0",
"resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz",
"dev": true,
"dependencies": {
"lodash": {
"version": "3.10.1",
"from": "lodash@>=3.7.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
}
}
},
"jsesc": {
"version": "0.5.0",
"from": "jsesc@>=0.5.0 <0.6.0",
@ -2479,12 +2327,6 @@
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"dev": true
},
"jsonlint": {
"version": "1.6.2",
"from": "jsonlint@>=1.6.2 <1.7.0",
"resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.2.tgz",
"dev": true
},
"jsonpointer": {
"version": "4.0.1",
"from": "jsonpointer@>=4.0.0 <5.0.0",
@ -2497,12 +2339,6 @@
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz",
"dev": true
},
"JSV": {
"version": "4.0.2",
"from": "JSV@>=4.0.0",
"resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
"dev": true
},
"kew": {
"version": "0.7.0",
"from": "kew@>=0.7.0 <0.8.0",
@ -2572,14 +2408,14 @@
}
},
"lodash": {
"version": "4.17.2",
"version": "4.17.4",
"from": "lodash@>=4.2.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
"dev": true
},
"lodash.assign": {
"version": "4.2.0",
"from": "lodash.assign@>=4.0.9 <5.0.0",
"from": "lodash.assign@>=4.2.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"dev": true
},
@ -2589,6 +2425,12 @@
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"dev": true
},
"lodash.mergewith": {
"version": "4.6.0",
"from": "lodash.mergewith@>=4.6.0 <5.0.0",
"resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz",
"dev": true
},
"lodash.pickby": {
"version": "4.6.0",
"from": "lodash.pickby@>=4.6.0 <5.0.0",
@ -2615,7 +2457,7 @@
},
"lru-cache": {
"version": "2.7.3",
"from": "lru-cache@>=2.5.0 <3.0.0",
"from": "lru-cache@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"dev": true
},
@ -2738,12 +2580,6 @@
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"dev": true
},
"ncp": {
"version": "0.4.2",
"from": "ncp@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
"dev": true
},
"negotiator": {
"version": "0.6.1",
"from": "negotiator@0.6.1",
@ -2771,50 +2607,10 @@
}
},
"node-sass": {
"version": "3.13.1",
"from": "node-sass@>=3.7.0 <4.0.0",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-3.13.1.tgz",
"dev": true,
"dependencies": {
"cross-spawn": {
"version": "3.0.1",
"from": "cross-spawn@>=3.0.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
"dev": true
},
"lru-cache": {
"version": "4.0.2",
"from": "lru-cache@>=4.0.1 <5.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.2.tgz",
"dev": true
}
}
},
"nomnom": {
"version": "1.8.1",
"from": "nomnom@>=1.5.0",
"resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
"dev": true,
"dependencies": {
"ansi-styles": {
"version": "1.0.0",
"from": "ansi-styles@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
"dev": true
},
"chalk": {
"version": "0.4.0",
"from": "chalk@>=0.4.0 <0.5.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
"dev": true
},
"strip-ansi": {
"version": "0.1.1",
"from": "strip-ansi@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
"dev": true
}
}
"version": "4.1.1",
"from": "node-sass@>=4.1.1 <5.0.0",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.1.1.tgz",
"dev": true
},
"nopt": {
"version": "3.0.6",
@ -3017,12 +2813,6 @@
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"dev": true
},
"pathval": {
"version": "0.1.1",
"from": "pathval@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz",
"dev": true
},
"pend": {
"version": "1.2.0",
"from": "pend@>=1.2.0 <1.3.0",
@ -3059,12 +2849,6 @@
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
"dev": true
},
"pkginfo": {
"version": "0.4.0",
"from": "pkginfo@>=0.0.0 <1.0.0",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz",
"dev": true
},
"plur": {
"version": "1.0.0",
"from": "plur@>=1.0.0 <2.0.0",
@ -3084,9 +2868,9 @@
"dev": true
},
"postcss": {
"version": "5.2.6",
"version": "5.2.8",
"from": "postcss@>=5.2.6 <6.0.0",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.6.tgz",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.8.tgz",
"dev": true
},
"postcss-cli": {
@ -3095,12 +2879,6 @@
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-2.6.0.tgz",
"dev": true,
"dependencies": {
"cliui": {
"version": "3.2.0",
"from": "cliui@>=3.2.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"dev": true
},
"glob": {
"version": "6.0.4",
"from": "glob@>=6.0.1 <7.0.0",
@ -3112,18 +2890,6 @@
"from": "globby@>=4.1.0 <5.0.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
"dev": true
},
"window-size": {
"version": "0.2.0",
"from": "window-size@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"dev": true
},
"yargs": {
"version": "4.8.1",
"from": "yargs@>=4.7.1 <5.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"dev": true
}
}
},
@ -3182,12 +2948,6 @@
"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
"dev": true
},
"prompt": {
"version": "0.2.14",
"from": "prompt@>=0.2.14 <0.3.0",
"resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"from": "pseudomap@>=1.0.1 <2.0.0",
@ -3245,12 +3005,6 @@
}
}
},
"read": {
"version": "1.0.7",
"from": "read@>=1.0.0 <1.1.0",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
"dev": true
},
"read-file-stdin": {
"version": "0.2.1",
"from": "read-file-stdin@>=0.2.0 <0.3.0",
@ -3397,12 +3151,6 @@
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
"dev": true
},
"reserved-words": {
"version": "0.1.1",
"from": "reserved-words@>=0.1.1 <0.2.0",
"resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.1.tgz",
"dev": true
},
"resolve": {
"version": "1.2.0",
"from": "resolve@>=1.1.6 <2.0.0",
@ -3435,12 +3183,6 @@
"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz",
"dev": true
},
"revalidator": {
"version": "0.1.8",
"from": "revalidator@>=0.1.0 <0.2.0",
"resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
"dev": true
},
"right-align": {
"version": "0.1.3",
"from": "right-align@>=0.1.1 <0.2.0",
@ -3469,27 +3211,7 @@
"version": "2.1.2",
"from": "sass-graph@>=2.1.1 <3.0.0",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.1.2.tgz",
"dev": true,
"dependencies": {
"cliui": {
"version": "3.2.0",
"from": "cliui@>=3.2.0 <4.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"dev": true
},
"window-size": {
"version": "0.2.0",
"from": "window-size@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"dev": true
},
"yargs": {
"version": "4.8.1",
"from": "yargs@>=4.7.1 <5.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"dev": true
}
}
"dev": true
},
"sauce-tunnel": {
"version": "2.5.0",
@ -3563,9 +3285,10 @@
},
"set-immediate-shim": {
"version": "1.0.1",
"from": "set-immediate-shim@>=1.0.0 <2.0.0",
"from": "set-immediate-shim@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
"dev": true
"dev": true,
"optional": true
},
"setprototypeof": {
"version": "1.0.2",
@ -3580,9 +3303,9 @@
"dev": true
},
"shx": {
"version": "0.1.4",
"from": "shx@>=0.1.4 <0.2.0",
"resolved": "https://registry.npmjs.org/shx/-/shx-0.1.4.tgz",
"version": "0.2.1",
"from": "shx@>=0.2.1 <0.3.0",
"resolved": "https://registry.npmjs.org/shx/-/shx-0.2.1.tgz",
"dev": true,
"dependencies": {
"minimist": {
@ -3630,9 +3353,9 @@
"dev": true
},
"source-map-support": {
"version": "0.4.7",
"version": "0.4.8",
"from": "source-map-support@>=0.4.2 <0.5.0",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.7.tgz",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.8.tgz",
"dev": true
},
"spdx-correct": {
@ -3679,18 +3402,18 @@
}
}
},
"stack-trace": {
"version": "0.0.9",
"from": "stack-trace@>=0.0.0 <0.1.0",
"resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz",
"dev": true
},
"statuses": {
"version": "1.3.1",
"from": "statuses@>=1.3.0 <1.4.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
"dev": true
},
"stdout-stream": {
"version": "1.4.0",
"from": "stdout-stream@>=1.4.0 <2.0.0",
"resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
"dev": true
},
"stream-buffers": {
"version": "2.2.0",
"from": "stream-buffers@>=2.1.0 <3.0.0",
@ -3850,24 +3573,12 @@
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz",
"dev": true
},
"to-double-quotes": {
"version": "2.0.0",
"from": "to-double-quotes@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz",
"dev": true
},
"to-fast-properties": {
"version": "1.0.2",
"from": "to-fast-properties@>=1.0.1 <2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.2.tgz",
"dev": true
},
"to-single-quotes": {
"version": "2.0.1",
"from": "to-single-quotes@>=2.0.0 <3.0.0",
"resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz",
"dev": true
},
"tough-cookie": {
"version": "2.3.2",
"from": "tough-cookie@>=2.3.0 <2.4.0",
@ -3919,7 +3630,7 @@
},
"uglify-js": {
"version": "2.7.5",
"from": "uglify-js@latest",
"from": "uglify-js@>=2.7.5 <3.0.0",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz",
"dev": true,
"dependencies": {
@ -3928,6 +3639,36 @@
"from": "async@>=0.2.6 <0.3.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"dev": true
},
"camelcase": {
"version": "1.2.1",
"from": "camelcase@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"dev": true
},
"cliui": {
"version": "2.1.0",
"from": "cliui@>=2.1.0 <3.0.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"dev": true
},
"window-size": {
"version": "0.1.0",
"from": "window-size@0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"dev": true
},
"wordwrap": {
"version": "0.0.2",
"from": "wordwrap@0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"dev": true
},
"yargs": {
"version": "3.10.0",
"from": "yargs@>=3.10.0 <3.11.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"dev": true
}
}
},
@ -3937,12 +3678,6 @@
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
"dev": true
},
"underscore": {
"version": "1.6.0",
"from": "underscore@>=1.6.0 <1.7.0",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
"dev": true
},
"underscore.string": {
"version": "3.2.3",
"from": "underscore.string@>=3.2.3 <3.3.0",
@ -3967,20 +3702,6 @@
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"dev": true
},
"utile": {
"version": "0.2.1",
"from": "utile@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
"dev": true,
"dependencies": {
"async": {
"version": "0.2.10",
"from": "async@>=0.2.9 <0.3.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"dev": true
}
}
},
"utils-merge": {
"version": "1.0.0",
"from": "utils-merge@1.0.0",
@ -4011,32 +3732,6 @@
"resolved": "https://registry.npmjs.org/vnu-jar/-/vnu-jar-16.6.29.tgz",
"dev": true
},
"vow": {
"version": "0.4.13",
"from": "vow@>=0.4.8 <0.5.0",
"resolved": "https://registry.npmjs.org/vow/-/vow-0.4.13.tgz",
"dev": true
},
"vow-fs": {
"version": "0.3.6",
"from": "vow-fs@>=0.3.4 <0.4.0",
"resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz",
"dev": true,
"dependencies": {
"uuid": {
"version": "2.0.3",
"from": "uuid@>=2.0.2 <3.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
"dev": true
}
}
},
"vow-queue": {
"version": "0.4.2",
"from": "vow-queue@>=0.4.1 <0.5.0",
"resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.2.tgz",
"dev": true
},
"walkdir": {
"version": "0.0.11",
"from": "walkdir@>=0.0.11 <0.0.12",
@ -4080,37 +3775,11 @@
"dev": true
},
"window-size": {
"version": "0.1.0",
"from": "window-size@0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"version": "0.2.0",
"from": "window-size@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
"dev": true
},
"winston": {
"version": "0.8.3",
"from": "winston@>=0.8.0 <0.9.0",
"resolved": "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
"dev": true,
"dependencies": {
"async": {
"version": "0.2.10",
"from": "async@>=0.2.0 <0.3.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz",
"dev": true
},
"colors": {
"version": "0.6.2",
"from": "colors@>=0.6.0 <0.7.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
"dev": true
},
"pkginfo": {
"version": "0.3.1",
"from": "pkginfo@>=0.3.0 <0.4.0",
"resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
"dev": true
}
}
},
"wordwrap": {
"version": "1.0.0",
"from": "wordwrap@>=1.0.0 <1.1.0",
@ -4141,20 +3810,6 @@
"resolved": "https://registry.npmjs.org/xml/-/xml-1.0.0.tgz",
"dev": true
},
"xmlbuilder": {
"version": "3.1.0",
"from": "xmlbuilder@>=3.1.0 <4.0.0",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
"dev": true,
"dependencies": {
"lodash": {
"version": "3.10.1",
"from": "lodash@>=3.5.0 <4.0.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
"dev": true
}
}
},
"xtend": {
"version": "4.0.1",
"from": "xtend@>=4.0.0 <5.0.0",
@ -4174,18 +3829,10 @@
"dev": true
},
"yargs": {
"version": "3.10.0",
"from": "yargs@>=3.10.0 <3.11.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"dev": true,
"dependencies": {
"camelcase": {
"version": "1.2.1",
"from": "camelcase@>=1.0.2 <2.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"dev": true
}
}
"version": "4.8.1",
"from": "yargs@>=4.7.1 <5.0.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
"dev": true
},
"yargs-parser": {
"version": "2.4.1",

View File

@ -24,6 +24,8 @@
"htmlhint": "htmlhint --config docs/.htmlhintrc _gh_pages/",
"postcss": "postcss --config grunt/postcss.js --replace dist/css/*.css",
"postcss-docs": "postcss --config grunt/postcss.js --no-map --replace docs/assets/css/docs.min.css && postcss --config grunt/postcss.js --no-map --replace docs/examples/**/*.css",
"sass": "node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css",
"sass-docs": "node-sass --output-style expanded --source-map true --precision 6 docs/assets/scss/docs.scss docs/assets/css/docs.min.css",
"scss-lint": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude scss/_normalize.scss scss/*.scss",
"scss-lint-docs": "bundle exec scss-lint --config scss/.scss-lint.yml --exclude docs/assets/scss/docs.scss docs/assets/scss/*.scss",
"uglify": "uglifyjs --compress warnings=false --mangle --comments '/^!/' --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
@ -62,17 +64,16 @@
"grunt-contrib-connect": "^1.0.2",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-qunit": "^1.2.0",
"grunt-contrib-sass": "^1.0.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-exec": "^1.0.1",
"grunt-html": "^8.0.2",
"grunt-jekyll": "^0.4.4",
"grunt-sass": "2.0.0",
"grunt-saucelabs": "^9.0.0",
"grunt-stamp": "^0.3.0",
"htmlhint": "^0.9.13",
"is-travis": "^1.0.0",
"load-grunt-tasks": "^3.5.2",
"node-sass": "^4.1.1",
"postcss-cli": "^2.6.0",
"postcss-flexbugs-fixes": "^2.0.0",
"shelljs": "^0.7.4",