aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2017-01-03 19:24:31 -0800
committerMark Otto <[email protected]>2017-01-03 19:24:31 -0800
commit7a087b69b705979e631367a92d7669674fbb05a3 (patch)
treec448cf1ba016a9a8731de3517bcbeb3af87f9153
parentf3d0fee91ec30aa6cde08de821b06fd6f337a3a3 (diff)
parentdd19670b3277d4726d224cb43f56ed805b66e297 (diff)
downloadbootstrap-7a087b69b705979e631367a92d7669674fbb05a3.tar.xz
bootstrap-7a087b69b705979e631367a92d7669674fbb05a3.zip
Merge branch 'v4-dev' of https://github.com/twbs/bootstrap into v4-dev
-rw-r--r--Gruntfile.js19
-rw-r--r--docs/getting-started/build-tools.md13
-rw-r--r--grunt/bs-sass-compile/libsass.js33
-rw-r--r--grunt/bs-sass-compile/sass.js37
-rw-r--r--grunt/npm-shrinkwrap.json565
-rw-r--r--package.json5
6 files changed, 118 insertions, 554 deletions
diff --git a/Gruntfile.js b/Gruntfile.js
index c7b6caca1..7d16ff432 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -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'])
diff --git a/docs/getting-started/build-tools.md b/docs/getting-started/build-tools.md
index a48304ebc..0d441d216 100644
--- a/docs/getting-started/build-tools.md
+++ b/docs/getting-started/build-tools.md
@@ -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
diff --git a/grunt/bs-sass-compile/libsass.js b/grunt/bs-sass-compile/libsass.js
deleted file mode 100644
index 06b9dcc0c..000000000
--- a/grunt/bs-sass-compile/libsass.js
+++ /dev/null
@@ -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')
-}
diff --git a/grunt/bs-sass-compile/sass.js b/grunt/bs-sass-compile/sass.js
deleted file mode 100644
index dadd93d40..000000000
--- a/grunt/bs-sass-compile/sass.js
+++ /dev/null
@@ -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')
-}
diff --git a/grunt/npm-shrinkwrap.json b/grunt/npm-shrinkwrap.json
index 06435123e..22da376c7 100644
--- a/grunt/npm-shrinkwrap.json
+++ b/grunt/npm-shrinkwrap.json
@@ -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": "[email protected]",
- "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": "[email protected]",
- "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": "[email protected]",
@@ -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": "[email protected]",
+ "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+ "dev": true
+ },
+ "wordwrap": {
+ "version": "0.0.2",
+ "from": "[email protected]",
+ "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": "[email protected]",
@@ -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": "[email protected]",
- "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",
diff --git a/package.json b/package.json
index bace75722..ee7c2a26d 100644
--- a/package.json
+++ b/package.json
@@ -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",