DolphinScheduler/dolphinscheduler-ui/build/combo.js

116 lines
3.5 KiB
Java
Raw Normal View History

2019-03-29 14:12:09 +08:00
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var fs = require('fs')
var path = require('path')
var request = require('request')
var cdnUrl = 'https://s1.analysys.cn/libs/??'
var version = '1.0.0'
// js集合
var jslibs = {
'es5': [
'es5-shim/4.5.7/es5-shim.min.js',
'es5-shim/4.5.7/es5-sham.min.js'
],
'3rd': [
'vue/2.5.2/vue.js',
'vue-router/2.7.0/vue-router.min.js',
'vuex/3.0.0/vuex.min.js',
'jquery/3.3.1/jquery.min.js',
'lodash.js/4.17.5/lodash.min.js',
'jqueryui/1.12.1/jquery-ui.min.js',
'twitter-bootstrap/3.3.7/js/bootstrap.min.js',
'jsPlumb/2.8.5/js/jsplumb.min.js',
'clipboard.js/2.0.1/clipboard.min.js',
'd3/3.3.6/d3.min.js',
'echarts/4.1.0/echarts.min.js',
'dayjs/1.7.8/dayjs.min.js',
'codemirror/5.43.0/codemirror.min.js',
'codemirror/5.43.0/mode/sql/sql.min.js',
'codemirror/5.43.0/addon/hint/show-hint.min.js',
'codemirror/5.43.0/addon/hint/sql-hint.min.js',
'codemirror/5.43.0/mode/textile/textile.min.js',
'codemirror/5.43.0/mode/shell/shell.min.js',
'codemirror/5.43.0/mode/python/python.min.js',
'codemirror/5.43.0/addon/hint/xml-hint.min.js',
'codemirror/5.43.0/mode/xml/xml.min.js',
'html2canvas/0.5.0-beta4/html2canvas.min.js',
'canvg/1.5/canvg.min.js'
],
'local': []
}
// css集合
csslibs = {
'base': [
'normalize/7.0.0/normalize.min.css',
'twitter-bootstrap/3.3.7/css/bootstrap.min.css',
'-/@analysys/reset.css@1.0.1',
'-/@vue/animate.css@'
],
'3rd': [
'highlight.js/9.13.1/styles/vs.min.css',
'jsPlumb/2.8.5/css/jsplumbtoolkit-defaults.min.css',
'codemirror/5.43.0/codemirror.min.css',
'codemirror/5.20.0/theme/mdn-like.min.css',
'codemirror/5.43.0/addon/hint/show-hint.min.css'
]
}
// 创建文件夹目录
var dirPath = path.resolve(__dirname, '..', 'src/combo/' + version)
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath)
console.log('文件夹创建成功')
} else {
console.log('文件夹已存在')
}
var jsKeys = Object.keys(jslibs)
var jsUrl = jsKeys.map(v => {
return jslibs[v].join()
})
jsUrl.forEach((v, i) => {
var url = cdnUrl + v
console.log(url)
var stream = fs.createWriteStream(path.join(dirPath, jsKeys[i] + '.js'), { encoding: 'utf-8' })
request(url).pipe(stream).on('close', function (err) {
if (!err) {
console.log('文件[' + version + '/' + jsKeys[i] + '.js' + ']下载完毕')
}
})
})
var cssKeys = Object.keys(csslibs)
var cssUrl = cssKeys.map(v => {
return csslibs[v].join()
})
cssUrl.forEach((v, i) => {
var url = cdnUrl + v
console.log(url)
var stream = fs.createWriteStream(path.join(dirPath, cssKeys[i] + '.css'), { encoding: 'utf-8' })
request(url).pipe(stream).on('close', function (err) {
if (!err) {
console.log('文件[' + version + '/' + cssKeys[i] + '.css' + ']下载完毕')
}
})
})