1
0
Fork 0
mirror of https://github.com/twbs/bootstrap.git synced 2022-11-09 12:25:43 -05:00

build/*.js: ES6-ify files. (#24112)

This commit is contained in:
XhmikosR 2017-09-26 15:14:52 +03:00 committed by GitHub
parent 17fd2c9f84
commit 3bc9402350
2 changed files with 22 additions and 26 deletions

View file

@ -11,34 +11,30 @@
/* global Set */
var fs = require('fs')
var path = require('path')
var sh = require('shelljs')
const fs = require('fs')
const path = require('path')
const sh = require('shelljs')
sh.config.fatal = true
var sed = sh.sed
const sed = sh.sed
// Blame TC39... https://github.com/benjamingr/RegExp.escape/issues/37
RegExp.quote = function (string) {
return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
}
RegExp.quoteReplacement = function (string) {
return string.replace(/[$]/g, '$$')
}
RegExp.quote = (string) => string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&')
RegExp.quoteReplacement = (string) => string.replace(/[$]/g, '$$')
var DRY_RUN = false
const DRY_RUN = false
function walkAsync(directory, excludedDirectories, fileCallback, errback) {
if (excludedDirectories.has(path.parse(directory).base)) {
return
}
fs.readdir(directory, function (err, names) {
fs.readdir(directory, (err, names) => {
if (err) {
errback(err)
return
}
names.forEach(function (name) {
var filepath = path.join(directory, name)
fs.lstat(filepath, function (err, stats) {
names.forEach((name) => {
const filepath = path.join(directory, name)
fs.lstat(filepath, (err, stats) => {
if (err) {
process.nextTick(errback, err)
return
@ -60,19 +56,19 @@ function walkAsync(directory, excludedDirectories, fileCallback, errback) {
function replaceRecursively(directory, excludedDirectories, allowedExtensions, original, replacement) {
original = new RegExp(RegExp.quote(original), 'g')
replacement = RegExp.quoteReplacement(replacement)
var updateFile = !DRY_RUN ? function (filepath) {
const updateFile = !DRY_RUN ? (filepath) => {
if (allowedExtensions.has(path.parse(filepath).ext)) {
sed('-i', original, replacement, filepath)
}
} : function (filepath) {
} : (filepath) => {
if (allowedExtensions.has(path.parse(filepath).ext)) {
console.log('FILE: ' + filepath)
console.log(`FILE: ${filepath}`)
}
else {
console.log('EXCLUDED:' + filepath)
console.log(`EXCLUDED:${filepath}`)
}
}
walkAsync(directory, excludedDirectories, updateFile, function (err) {
walkAsync(directory, excludedDirectories, updateFile, (err) => {
console.error('ERROR while traversing directory!:')
console.error(err)
process.exit(1)
@ -85,14 +81,14 @@ function main(args) {
console.error('Got arguments:', args)
process.exit(1)
}
var oldVersion = args[0]
var newVersion = args[1]
var EXCLUDED_DIRS = new Set([
const oldVersion = args[0]
const newVersion = args[1]
const EXCLUDED_DIRS = new Set([
'.git',
'node_modules',
'vendor'
])
var INCLUDED_EXTENSIONS = new Set([
const INCLUDED_EXTENSIONS = new Set([
// This extension whitelist is how we avoid modifying binary files
'',
'.css',

View file

@ -5,8 +5,8 @@ const pkg = require(path.resolve(__dirname, '../package.json'))
const BUNDLE = process.env.BUNDLE === 'true'
const year = new Date().getFullYear()
var fileDest = 'bootstrap.js'
var external = ['jquery', 'popper.js']
let fileDest = 'bootstrap.js'
const external = ['jquery', 'popper.js']
const plugins = [
babel({
exclude: 'node_modules/**', // only transpile our source code