mirror of
https://github.com/tenrok/bootstrap.git
synced 2026-06-11 18:02:28 +03:00
Merge remote-tracking branch 'upstream/master' into node-requirable
Conflicts: Gruntfile.js
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"extends" : "../js/.jshintrc",
|
||||
"asi" : false,
|
||||
"browser" : false,
|
||||
"es3" : false,
|
||||
"node" : true
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap Grunt task for Glyphicons data generation
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2014 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
'use strict';
|
||||
var fs = require('fs');
|
||||
|
||||
module.exports = function generateGlyphiconsData(grunt) {
|
||||
// Pass encoding, utf8, so `readFileSync` will return a string instead of a
|
||||
// buffer
|
||||
var glyphiconsFile = fs.readFileSync('less/glyphicons.less', 'utf8');
|
||||
var glyphiconsLines = glyphiconsFile.split('\n');
|
||||
|
||||
// Use any line that starts with ".glyphicon-" and capture the class name
|
||||
var iconClassName = /^\.(glyphicon-[^\s]+)/;
|
||||
var glyphiconsData = '# This file is generated via Grunt task. **Do not edit directly.**\n' +
|
||||
'# See the \'build-glyphicons-data\' task in Gruntfile.js.\n\n';
|
||||
var glyphiconsYml = 'docs/_data/glyphicons.yml';
|
||||
for (var i = 0, len = glyphiconsLines.length; i < len; i++) {
|
||||
var match = glyphiconsLines[i].match(iconClassName);
|
||||
|
||||
if (match !== null) {
|
||||
glyphiconsData += '- ' + match[1] + '\n';
|
||||
}
|
||||
}
|
||||
|
||||
// Create the `_data` directory if it doesn't already exist
|
||||
if (!fs.existsSync('docs/_data')) {
|
||||
fs.mkdirSync('docs/_data');
|
||||
}
|
||||
|
||||
try {
|
||||
fs.writeFileSync(glyphiconsYml, glyphiconsData);
|
||||
}
|
||||
catch (err) {
|
||||
grunt.fail.warn(err);
|
||||
}
|
||||
grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.');
|
||||
};
|
||||
+14
-15
@@ -5,11 +5,10 @@
|
||||
browserName: "safari",
|
||||
platform: "OS X 10.9"
|
||||
},
|
||||
# {
|
||||
# browserName: "chrome",
|
||||
# platform: "OS X 10.9",
|
||||
# version: "31"
|
||||
# },
|
||||
{
|
||||
browserName: "chrome",
|
||||
platform: "OS X 10.9"
|
||||
},
|
||||
{
|
||||
browserName: "firefox",
|
||||
platform: "OS X 10.9"
|
||||
@@ -27,16 +26,16 @@
|
||||
version: "10",
|
||||
platform: "Windows 8"
|
||||
},
|
||||
# {
|
||||
# browserName: "internet explorer",
|
||||
# version: "9",
|
||||
# platform: "Windows 7"
|
||||
# },
|
||||
# {
|
||||
# browserName: "internet explorer",
|
||||
# version: "8",
|
||||
# platform: "Windows 7"
|
||||
# },
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "9",
|
||||
platform: "Windows 7"
|
||||
},
|
||||
{
|
||||
browserName: "internet explorer",
|
||||
version: "8",
|
||||
platform: "Windows 7"
|
||||
},
|
||||
|
||||
# { # Unofficial
|
||||
# browserName: "internet explorer",
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
/*!
|
||||
* Bootstrap Grunt task for generating npm-shrinkwrap.canonical.json
|
||||
* http://getbootstrap.com
|
||||
* Copyright 2014 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
/*
|
||||
This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache.
|
||||
This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
|
||||
*/
|
||||
'use strict';
|
||||
var canonicallyJsonStringify = require('canonical-json');
|
||||
var NON_CANONICAL_FILE = 'npm-shrinkwrap.json';
|
||||
var DEST_FILE = 'test-infra/npm-shrinkwrap.canonical.json';
|
||||
|
||||
|
||||
function cleanup(shrinkwrap) {
|
||||
// Remove `resolved` property to avoid irrelevant changes
|
||||
// See https://github.com/npm/npm/issues/3581
|
||||
if (typeof shrinkwrap === 'string') {
|
||||
return shrinkwrap;
|
||||
}
|
||||
delete shrinkwrap.resolved;
|
||||
for (var key in shrinkwrap) {
|
||||
shrinkwrap[key] = cleanup(shrinkwrap[key]);
|
||||
}
|
||||
return shrinkwrap;
|
||||
}
|
||||
|
||||
function updateShrinkwrap(grunt) {
|
||||
// Assumption: Non-canonical shrinkwrap already generated by prerequisite Grunt task
|
||||
var shrinkwrapData = grunt.file.readJSON(NON_CANONICAL_FILE);
|
||||
grunt.log.writeln('Deleting ' + NON_CANONICAL_FILE.cyan + '...');
|
||||
grunt.file.delete(NON_CANONICAL_FILE);
|
||||
// Output as Canonical JSON in correct location
|
||||
grunt.file.write(DEST_FILE, canonicallyJsonStringify(cleanup(shrinkwrapData)));
|
||||
grunt.log.writeln('File ' + DEST_FILE.cyan + ' updated.');
|
||||
}
|
||||
|
||||
|
||||
module.exports = updateShrinkwrap;
|
||||
Reference in New Issue
Block a user