mirror of
https://github.com/mdbootstrap/mdb-ui-kit.git
synced 2025-02-02 12:54:13 +03:00
wip update babel to 6.x, but demodulized version not working.
This commit is contained in:
parent
9ec932cf72
commit
77e58a2335
245
Gruntfile.js
245
Gruntfile.js
|
@ -59,6 +59,46 @@ module.exports = function (grunt) {
|
|||
var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js');
|
||||
var configBridge = grunt.file.readJSON('./grunt/configBridge.json', {encoding: 'utf8'});
|
||||
|
||||
// dynamically create js file list (we do this for several different directories)
|
||||
function coreFileArray(path) {
|
||||
var result = []
|
||||
configBridge.core.files.forEach(
|
||||
function (element, index, array) {
|
||||
result[index] = (path + element)
|
||||
}
|
||||
);
|
||||
return result;
|
||||
}
|
||||
|
||||
function fileMap(result, fileArray, destPath, sourcPath) {
|
||||
fileArray.forEach(
|
||||
function (element, index, array) {
|
||||
result[destPath + element] = (sourcPath + element)
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
function coreFileMap(destPath, sourcePath) {
|
||||
var result = {}
|
||||
fileMap(result, configBridge.core.files, destPath, sourcePath)
|
||||
return result;
|
||||
}
|
||||
|
||||
function docsFileMap() {
|
||||
var result = {}
|
||||
|
||||
var sourcePath = 'docs/assets/js/src/'
|
||||
var destPath = 'docs/assets/js/dist/'
|
||||
fileMap(result, configBridge.docs.files, destPath, sourcePath)
|
||||
|
||||
// generate core so we have local debugging
|
||||
var sourcePath = 'js/src/'
|
||||
var destPath = 'docs/dist/js/demoduled/'
|
||||
fileMap(result, configBridge.core.files, destPath, sourcePath)
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Object.keys(configBridge.paths).forEach(function (key) {
|
||||
configBridge.paths[key].forEach(function (val, i, arr) {
|
||||
arr[i] = path.join('./docs/assets', val);
|
||||
|
@ -88,101 +128,26 @@ module.exports = function (grunt) {
|
|||
// Task configuration.
|
||||
clean: {
|
||||
dist: 'dist',
|
||||
'dist-js': 'dist/js',
|
||||
docs: 'docs/dist'
|
||||
},
|
||||
|
||||
// JS build configuration
|
||||
lineremover: {
|
||||
es6Import: {
|
||||
files: {
|
||||
'<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>'
|
||||
},
|
||||
options: {
|
||||
exclusionPattern: /^(import|export)/g
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
babel: {
|
||||
options: {
|
||||
sourceMap: true,
|
||||
presets: ['babel-preset-es2015-rollup'] // the following is the es2015 preset minus the commonjs requirement
|
||||
},
|
||||
core: {
|
||||
options: {
|
||||
sourceMap: true,
|
||||
modules: 'ignore'
|
||||
},
|
||||
files: {
|
||||
'dist/js/babel/baseInput.js': 'js/src/baseInput.js',
|
||||
'dist/js/babel/baseSelection.js': 'js/src/baseSelection.js',
|
||||
'dist/js/babel/util.js': 'js/src/util.js',
|
||||
'dist/js/babel/ripples.js': 'js/src/ripples.js',
|
||||
'dist/js/babel/autofill.js': 'js/src/autofill.js',
|
||||
'dist/js/babel/text.js': 'js/src/text.js',
|
||||
'dist/js/babel/textarea.js': 'js/src/textarea.js',
|
||||
'dist/js/babel/select.js': 'js/src/select.js',
|
||||
'dist/js/babel/checkbox.js': 'js/src/checkbox.js',
|
||||
'dist/js/babel/checkboxInline.js': 'js/src/checkboxInline.js',
|
||||
'dist/js/babel/switch.js': 'js/src/switch.js',
|
||||
'dist/js/babel/radio.js': 'js/src/radio.js',
|
||||
'dist/js/babel/radioInline.js': 'js/src/radioInline.js',
|
||||
'dist/js/babel/file.js': 'js/src/file.js',
|
||||
'dist/js/babel/bootstrapMaterialDesign.js': 'js/src/bootstrapMaterialDesign.js',
|
||||
}
|
||||
files: coreFileMap('dist/js/demoduled/', 'js/src/')
|
||||
},
|
||||
docs: {
|
||||
options: {
|
||||
sourceMap: true,
|
||||
modules: 'ignore'
|
||||
},
|
||||
files: {
|
||||
'docs/assets/js/dist/style.js': 'docs/assets/js/src/style.js',
|
||||
'docs/assets/js/dist/application.js': 'docs/assets/js/src/application.js',
|
||||
|
||||
// generate core so we have local debugging
|
||||
'docs/dist/js/babel/baseInput.js': 'js/src/baseInput.js',
|
||||
'docs/dist/js/babel/baseSelection.js': 'js/src/baseSelection.js',
|
||||
'docs/dist/js/babel/util.js': 'js/src/util.js',
|
||||
'docs/dist/js/babel/ripples.js': 'js/src/ripples.js',
|
||||
'docs/dist/js/babel/autofill.js': 'js/src/autofill.js',
|
||||
'docs/dist/js/babel/text.js': 'js/src/text.js',
|
||||
'docs/dist/js/babel/textarea.js': 'js/src/textarea.js',
|
||||
'docs/dist/js/babel/select.js': 'js/src/select.js',
|
||||
'docs/dist/js/babel/checkbox.js': 'js/src/checkbox.js',
|
||||
'docs/dist/js/babel/checkboxInline.js': 'js/src/checkboxInline.js',
|
||||
'docs/dist/js/babel/switch.js': 'js/src/switch.js',
|
||||
'docs/dist/js/babel/radio.js': 'js/src/radio.js',
|
||||
'docs/dist/js/babel/radioInline.js': 'js/src/radioInline.js',
|
||||
'docs/dist/js/babel/file.js': 'js/src/file.js',
|
||||
'docs/dist/js/babel/bootstrapMaterialDesign.js': 'js/src/bootstrapMaterialDesign.js',
|
||||
}
|
||||
},
|
||||
dist: {
|
||||
options: {
|
||||
modules: 'ignore'
|
||||
},
|
||||
files: {
|
||||
'<%= concat.bootstrap.dest %>': '<%= concat.bootstrap.dest %>'
|
||||
}
|
||||
files: docsFileMap()
|
||||
},
|
||||
umd: {
|
||||
options: {
|
||||
modules: 'umd'
|
||||
plugins: ['transform-es2015-modules-umd']
|
||||
},
|
||||
files: {
|
||||
'dist/js/umd/baseInput.js': 'js/src/baseInput.js',
|
||||
'dist/js/umd/baseSelection.js': 'js/src/baseSelection.js',
|
||||
'dist/js/umd/util.js': 'js/src/util.js',
|
||||
'dist/js/umd/ripples.js': 'js/src/ripples.js',
|
||||
'dist/js/umd/autofill.js': 'js/src/autofill.js',
|
||||
'dist/js/umd/text.js': 'js/src/text.js',
|
||||
'dist/js/umd/textarea.js': 'js/src/textarea.js',
|
||||
'dist/js/umd/select.js': 'js/src/select.js',
|
||||
'dist/js/umd/checkbox.js': 'js/src/checkbox.js',
|
||||
'dist/js/umd/checkboxInline.js': 'js/src/checkboxInline.js',
|
||||
'dist/js/umd/switch.js': 'js/src/switch.js',
|
||||
'dist/js/umd/radio.js': 'js/src/radio.js',
|
||||
'dist/js/umd/radioInline.js': 'js/src/radioInline.js',
|
||||
'dist/js/umd/file.js': 'js/src/file.js',
|
||||
'dist/js/umd/bootstrapMaterialDesign.js': 'js/src/bootstrapMaterialDesign.js',
|
||||
}
|
||||
files: coreFileMap('dist/js/umd/', 'js/src/')
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -220,50 +185,43 @@ module.exports = function (grunt) {
|
|||
footer: '\n}(jQuery);'
|
||||
//banner: '<%= banner %>\n'
|
||||
},
|
||||
bootstrap: {
|
||||
core: {
|
||||
files: {
|
||||
src: '<%= concat.bootstrap.dest %>'
|
||||
src: 'dist/js/<%= pkg.name %>.js'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
concat: {
|
||||
options: {
|
||||
stripBanners: false,
|
||||
sourceMap: true
|
||||
},
|
||||
bootstrap: {
|
||||
src: [
|
||||
'dist/js/babel/baseInput.js',
|
||||
'dist/js/babel/baseSelection.js',
|
||||
'dist/js/babel/util.js',
|
||||
'dist/js/babel/ripples.js',
|
||||
'dist/js/babel/autofill.js',
|
||||
'dist/js/babel/text.js',
|
||||
'dist/js/babel/textarea.js',
|
||||
'dist/js/babel/select.js',
|
||||
'dist/js/babel/checkbox.js',
|
||||
'dist/js/babel/checkboxInline.js',
|
||||
'dist/js/babel/switch.js',
|
||||
'dist/js/babel/radio.js',
|
||||
'dist/js/babel/radioInline.js',
|
||||
'dist/js/babel/file.js',
|
||||
'dist/js/babel/bootstrapMaterialDesign.js',
|
||||
],
|
||||
dest: 'dist/js/<%= pkg.name %>.js'
|
||||
dist_demoduled: {
|
||||
options: {
|
||||
stripBanners: false,
|
||||
sourceMap: true
|
||||
},
|
||||
dest: 'dist/js/<%= pkg.name %>.js',
|
||||
src: coreFileArray('dist/js/demoduled/')
|
||||
}
|
||||
},
|
||||
|
||||
lineremover: {
|
||||
core: {
|
||||
options: {
|
||||
exclusionPattern: /^(import|export)/g
|
||||
},
|
||||
files: coreFileMap('dist/js/demoduled/', 'dist/js/demoduled/')
|
||||
},
|
||||
},
|
||||
|
||||
uglify: {
|
||||
options: {
|
||||
compress: { // this was causing problems on docs vendor js
|
||||
compress: {
|
||||
warnings: true
|
||||
},
|
||||
mangle: false,
|
||||
preserveComments: /^!|@preserve|@license|@cc_on/i
|
||||
},
|
||||
core: {
|
||||
src: '<%= concat.bootstrap.dest %>',
|
||||
src: 'dist/js/<%= pkg.name %>.js',
|
||||
dest: 'dist/js/<%= pkg.name %>.min.js'
|
||||
},
|
||||
docs: {
|
||||
|
@ -334,15 +292,13 @@ module.exports = function (grunt) {
|
|||
advanced: false
|
||||
},
|
||||
core: {
|
||||
files: [
|
||||
{
|
||||
expand: true,
|
||||
cwd: 'dist/css',
|
||||
src: ['*.css', '!*.min.css'],
|
||||
dest: 'dist/css',
|
||||
ext: '.min.css'
|
||||
}
|
||||
]
|
||||
files: [{
|
||||
expand: true,
|
||||
cwd: 'dist/css',
|
||||
src: ['*.css', '!*.min.css'],
|
||||
dest: 'dist/css',
|
||||
ext: '.min.css'
|
||||
}]
|
||||
},
|
||||
docs: {
|
||||
src: 'docs/assets/css/docs.css',
|
||||
|
@ -378,10 +334,14 @@ module.exports = function (grunt) {
|
|||
cwd: 'dist/',
|
||||
src: [
|
||||
'**/*',
|
||||
'!js/babel',
|
||||
'!js/babel/**/*',
|
||||
'!js/demoduled',
|
||||
'!js/demoduled/**/*',
|
||||
'!js/umd',
|
||||
'!js/umd/**/*',
|
||||
//'!js/commonjs',
|
||||
//'!js/commonjs/**/*',
|
||||
//'!js/systemjs',
|
||||
//'!js/systemjs/**/*',
|
||||
'!js/npm.js'
|
||||
],
|
||||
dest: 'docs/dist/'
|
||||
|
@ -528,17 +488,6 @@ module.exports = function (grunt) {
|
|||
}
|
||||
},
|
||||
|
||||
//sed: {
|
||||
// versionNumber: {
|
||||
// pattern: (function () {
|
||||
// var old = grunt.option('oldver');
|
||||
// return old ? RegExp.quote(old) : old;
|
||||
// })(),
|
||||
// replacement: grunt.option('newver'),
|
||||
// recursive: true
|
||||
// }
|
||||
//},
|
||||
|
||||
'saucelabs-qunit': {
|
||||
all: {
|
||||
options: {
|
||||
|
@ -651,7 +600,17 @@ module.exports = function (grunt) {
|
|||
grunt.registerTask('test-js', ['eslint', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']);
|
||||
|
||||
// JS distribution task.
|
||||
grunt.registerTask('dist-js', ['eslint', 'babel:core', 'concat', 'lineremover', 'babel:dist', 'stamp', 'uglify:core', 'commonjs', 'copy:dist-to-docs']);
|
||||
grunt.registerTask('dist-js', [
|
||||
'clean:dist-js',
|
||||
'eslint',
|
||||
'babel:core',
|
||||
'lineremover:core',
|
||||
'concat',
|
||||
'stamp',
|
||||
'uglify:core',
|
||||
'commonjs',
|
||||
'copy:dist-to-docs'
|
||||
]);
|
||||
|
||||
grunt.registerTask('test-scss', ['scsslint']);
|
||||
|
||||
|
@ -671,11 +630,6 @@ module.exports = function (grunt) {
|
|||
// Default task.
|
||||
grunt.registerTask('default', ['clean:dist', 'test']);
|
||||
|
||||
// Version numbering task.
|
||||
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
|
||||
// This can be overzealous, so its changes should always be manually reviewed!
|
||||
//grunt.registerTask('change-version-number', 'sed');
|
||||
|
||||
grunt.registerTask('commonjs', ['babel:umd', 'npm-js']);
|
||||
|
||||
grunt.registerTask('npm-js', 'Generate npm-js entrypoint module in dist dir.', function () {
|
||||
|
@ -701,7 +655,13 @@ module.exports = function (grunt) {
|
|||
]);
|
||||
grunt.registerTask('docs-css', ['sass:docs', 'postcss:docs', 'postcss:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']);
|
||||
grunt.registerTask('lint-docs-js', ['jscs:assets']);
|
||||
grunt.registerTask('docs-js', ['babel:docs', 'uglify:docs', 'lint-docs-js', 'copy:dist-to-docs']);
|
||||
grunt.registerTask('docs-js', [
|
||||
'babel:docs',
|
||||
'lineremover:docs',
|
||||
'uglify:docs',
|
||||
'lint-docs-js',
|
||||
'copy:dist-to-docs'
|
||||
]);
|
||||
grunt.registerTask('docs', ['clean:docs', 'docs-css', 'docs-js']);
|
||||
//------
|
||||
|
||||
|
@ -727,4 +687,9 @@ module.exports = function (grunt) {
|
|||
done();
|
||||
});
|
||||
});
|
||||
|
||||
grunt.registerTask('debug', function () {
|
||||
|
||||
console.log(coreFileArray('dist/js/demoduled/'));
|
||||
});
|
||||
};
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import 'babel-polyfill'
|
||||
import Style from './style'
|
||||
import Clipboard from 'clipboard'
|
||||
import anchors from 'anchor'
|
||||
|
|
|
@ -1,4 +1,29 @@
|
|||
{
|
||||
"core": {
|
||||
"files": [
|
||||
"baseInput.js",
|
||||
"baseSelection.js",
|
||||
"util.js",
|
||||
"ripples.js",
|
||||
"autofill.js",
|
||||
"text.js",
|
||||
"textarea.js",
|
||||
"select.js",
|
||||
"checkbox.js",
|
||||
"checkboxInline.js",
|
||||
"switch.js",
|
||||
"radio.js",
|
||||
"radioInline.js",
|
||||
"file.js",
|
||||
"bootstrapMaterialDesign.js"
|
||||
]
|
||||
},
|
||||
"docs": {
|
||||
"files": [
|
||||
"style.js",
|
||||
"application.js"
|
||||
]
|
||||
},
|
||||
"paths": {
|
||||
"docsJs": [
|
||||
"../assets/js/vendor/anchor.min.js",
|
||||
|
@ -7,23 +32,22 @@
|
|||
"../assets/js/dist/style.js",
|
||||
"../assets/js/dist/application.js"
|
||||
],
|
||||
|
||||
"coreJs": [
|
||||
"../dist/js/babel/baseInput.js",
|
||||
"../dist/js/babel/baseSelection.js",
|
||||
"../dist/js/babel/autofill.js",
|
||||
"../dist/js/babel/bootstrapMaterialDesign.js",
|
||||
"../dist/js/babel/checkbox.js",
|
||||
"../dist/js/babel/checkboxInline.js",
|
||||
"../dist/js/babel/file.js",
|
||||
"../dist/js/babel/text.js",
|
||||
"../dist/js/babel/textarea.js",
|
||||
"../dist/js/babel/select.js",
|
||||
"../dist/js/babel/radio.js",
|
||||
"../dist/js/babel/radioInline.js",
|
||||
"../dist/js/babel/ripples.js",
|
||||
"../dist/js/babel/switch.js",
|
||||
"../dist/js/babel/util.js"
|
||||
"../dist/js/demoduled/baseInput.js",
|
||||
"../dist/js/demoduled/baseSelection.js",
|
||||
"../dist/js/demoduled/autofill.js",
|
||||
"../dist/js/demoduled/bootstrapMaterialDesign.js",
|
||||
"../dist/js/demoduled/checkbox.js",
|
||||
"../dist/js/demoduled/checkboxInline.js",
|
||||
"../dist/js/demoduled/file.js",
|
||||
"../dist/js/demoduled/text.js",
|
||||
"../dist/js/demoduled/textarea.js",
|
||||
"../dist/js/demoduled/select.js",
|
||||
"../dist/js/demoduled/radio.js",
|
||||
"../dist/js/demoduled/radioInline.js",
|
||||
"../dist/js/demoduled/ripples.js",
|
||||
"../dist/js/demoduled/switch.js",
|
||||
"../dist/js/demoduled/util.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
2
js/src/bootstrapMaterialDesign.js
vendored
2
js/src/bootstrapMaterialDesign.js
vendored
|
@ -1,3 +1,5 @@
|
|||
//import 'babel-polyfill' // necessary for firefox
|
||||
|
||||
/**
|
||||
* $.bootstrapMaterialDesign(config) is a macro class to configure the components generally
|
||||
* used in Material Design for Bootstrap. You may pass overrides to the configurations
|
||||
|
|
|
@ -34,10 +34,15 @@
|
|||
"devDependencies": {
|
||||
"autoprefixer": "^6.0.3",
|
||||
"babel-eslint": "^4.1.6",
|
||||
"babel-plugin-transform-es2015-modules-umd": "^6.0",
|
||||
"babel-polyfill": "^6.0",
|
||||
"babel-preset-es2015-rollup": "*",
|
||||
|
||||
|
||||
"btoa": "~1.1.2",
|
||||
"glob": "~6.0.1",
|
||||
"grunt": "~0.4.5",
|
||||
"grunt-babel": "^5.0.3",
|
||||
"grunt-babel": "^6.0",
|
||||
"grunt-build-control": "~0.6.0",
|
||||
"grunt-contrib-clean": "~0.7.0",
|
||||
"grunt-contrib-compress": "~0.14.0",
|
||||
|
|
Loading…
Reference in New Issue
Block a user