feat:babel 6 升级 babel7 (使其可以编译 可选链 语法)

This commit is contained in:
zhangyu
2023-10-08 18:31:55 +08:00
parent a79d04daa1
commit 84115ec7b1
17 changed files with 4065 additions and 431 deletions

View File

@@ -1,40 +1,50 @@
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
[
"@babel/preset-env",
{
"modules": false,
"targets": {
"browsers": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
}
}],
"stage-2"
]
],
"plugins": [
"transform-vue-jsx",
[
"@babel/plugin-transform-runtime",
{
"absoluteRuntime": false,
"corejs": false,
"helpers": true,
"regenerator": true,
"useESModules": false
}
],
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
],
"@babel/plugin-proposal-optional-chaining"
],
"plugins": ["transform-vue-jsx", "transform-runtime"],
"env": {
"utils": {
"test": {
"presets": [
[
"env",
{
"loose": true,
"modules": "commonjs",
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}
],
"@babel/preset-env"
],
"plugins": [
["module-resolver", {
"root": ["element-ui"],
"alias": {
"element-ui/src": "element-ui/lib"
}
}]
"transform-vue-jsx",
"transform-es2015-modules-commonjs",
"dynamic-import-node"
]
},
"test": {
"presets": ["env"],
"plugins": ["transform-es2015-modules-commonjs"]
}
}
}

View File

@@ -35,7 +35,7 @@ const baseConfig = {
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
},{
}, {
test: /\.less$/,
use: [
'vue-style-loader',
@@ -59,20 +59,13 @@ const baseConfig = {
resolve('test'),
resolve('node_modules/element-ui/packages/scrollbar'),
resolve('node_modules/@interactjs'),
resolve('node_modules/vue-grid-layout')
resolve('node_modules/vue-grid-layout'),
resolve('node_modules/pl-table/package'),
resolve('node_modules/uplot'),
],
exclude: '/node_modules/',
options: {
presets: [
['env', {
modules: false,
targets: {
browsers: ['> 1%', 'last 2 versions', 'not ie <= 8']
}
}],
'stage-2'
],
plugins: ['transform-vue-jsx', 'transform-runtime']
presets: ['@babel/preset-env', '@babel/preset-react']
}
},
{
@@ -153,7 +146,7 @@ if (arg === 'html' || devStart === 'dev:html') {
resolve('src/components/common/project'),
resolve('src/components/common/rightBox'),
resolve('src/components/common/table'),
resolve('src/components/common/v-selectpagenew'),
resolve('src/components/common/v-selectpagenew')
// resolve('src/components/page')
],
loader: 'url-loader',
@@ -179,4 +172,7 @@ if (arg === 'html' || devStart === 'dev:html') {
}
})
}
module.exports = { ...baseConfig }
module.exports = {
...baseConfig,
// transpileDependencies: ['uplot']
}

File diff suppressed because it is too large Load Diff

View File

@@ -14,6 +14,11 @@
"unit": "jest --config test/unit/jest.conf.js --coverage"
},
"dependencies": {
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/polyfill": "^7.12.1",
"@babel/preset-react": "^7.22.15",
"@babel/register": "^7.22.15",
"@babel/runtime": "^7.23.1",
"@codemirror/autocomplete": "^6.7.1",
"@codemirror/commands": "^6.2.4",
"@codemirror/language": "^6.7.0",
@@ -47,6 +52,8 @@
"@topology/sequence-diagram": "^1.1.0",
"awesome-qr": "^2.1.5-rc.0",
"axios": "^0.19.0",
"babel-loader": "^8.3.0",
"babel-preset-mobx": "^2.0.0",
"browserslist": "^4.21.4",
"caniuse-lite": "^1.0.30001412",
"css-minimizer-webpack-plugin": "^1.0.0",
@@ -81,6 +88,8 @@
"showdown": "^2.1.0",
"spark-md5": "^3.0.2",
"speed-measure-webpack-plugin": "^1.5.0",
"uplot": "^1.6.26",
"uplot-vue": "^1.1.5",
"v-selectpage": "^2.1.4",
"vue": "^2.6.10",
"vue-clipboard2": "^0.3.3",
@@ -104,19 +113,35 @@
"xterm-addon-fit": "^0.7.0"
},
"devDependencies": {
"@babel/plugin-transform-modules-commonjs": "^7.17.9",
"@vue/test-utils": "^1.0.0-beta.13",
"autoprefixer": "^7.1.2",
"babel-core": "^6.26.3",
"@babel/cli": "^7.7.0",
"@babel/core": "^7.7.2",
"@babel/plugin-syntax-jsx": "^7.2.0",
"@babel/plugin-transform-runtime": "^7.6.2",
"@babel/preset-env": "^7.7.1",
"@babel/register": "^7.7.0",
"@vue/test-utils": "^1.0.0-beta.29",
"autoprefixer": "^9.6.4",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^10.0.3",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-jest": "^23.6.0",
"babel-loader": "^7.1.5",
"babel-loader": "^8.0.6",
"babel-plugin-component": "^1.1.1",
"babel-plugin-dynamic-import-node": "^2.3.0",
"babel-plugin-syntax-jsx": "^6.18.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.26.2",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-plugin-transform-vue-jsx": "^3.7.0",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-2": "^6.22.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-decorators": "^7.0.0",
"@babel/plugin-proposal-export-namespace-from": "^7.0.0",
"@babel/plugin-proposal-function-sent": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-proposal-numeric-separator": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
"@babel/plugin-proposal-throw-expressions": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.0.0",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-transform-modules-commonjs": "^7.0.0",
"babel-jest": "^23.4.2",
"cache-loader": "^4.1.0",
"chalk": "^2.0.1",
"copy-webpack-plugin": "^4.0.1",

View File

@@ -510,7 +510,7 @@ textarea {
.document-copy-block {
display: flex;
flex-wrap: nowrap;
justify-content: start;
justify-content: flex-start;
}
.document-copy-text{
margin-right: 10px;

View File

@@ -59,7 +59,7 @@
text-overflow: ellipsis;
white-space: nowrap;
display: flex;
justify-content: start;
justify-content: flex-start;
.el-dropdown-menu__item.nz-dropdown-menu__item-hover{
flex-shrink: 0;
}

View File

@@ -20,7 +20,7 @@
color:$--color-text-regular;
.dialog-header-l{
display: flex;
justify-content: start;
justify-content: flex-start;
align-items: center;
i.nz-icon{
width: 70px;
@@ -106,11 +106,11 @@
padding-right: 0;
}
}
}
}
&:nth-last-of-type(1){
td{
border-color: transparent;
}
}
}
}
}
@@ -133,4 +133,4 @@
font-weight: 600;
}
}
}
}

View File

@@ -44,7 +44,7 @@
width: 100%;
.el-checkbox-group{
display: flex;
justify-content: start;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
.el-checkbox-button{
@@ -70,7 +70,7 @@
.el-checkbox-button.is-checked{
border: 1px solid #fbb569 !important;
}
.el-checkbox-button.is-checked .el-checkbox-button__inner {
color: #fff;
border-radius: 0;
@@ -199,7 +199,7 @@
.nz-icon-mimabukejian{
font-size: 17px;
}
}
}
.is-item-box-error .variable-title {
border-color: #F56C6C
}
@@ -216,7 +216,7 @@
}
}
}
.el-form-item__content{
.el-checkbox-button{
width: calc(100% / 7) !important;
@@ -224,7 +224,7 @@
width: 100%;
padding: 11px 3px;
}
}
.el-checkbox-button.is-focus .el-checkbox-button__inner{
border-color: $--border-color-base;
@@ -242,11 +242,11 @@
}
.query-variable-table{
}
.multiTip{
max-width:200px;
}
.allOptionTip{
max-width:208px;
}
}

View File

@@ -6,7 +6,7 @@
}
.user-name-td{
display: flex;
align-items: start;
align-items: flex-start;
}
.flex-align-center {
display: flex;

View File

@@ -97,7 +97,7 @@
}
.about-summary{
display: flex;
justify-content: start;
justify-content: flex-start;
align-items: center;
padding-top: 6px;
line-height: 21px;

View File

@@ -122,7 +122,7 @@
}
.el-checkbox-group{
display: flex;
justify-content: start;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
.el-checkbox-button{
@@ -141,7 +141,7 @@
}
}
}
}
}
#DayOfMonth{
@@ -157,7 +157,7 @@
}
.el-checkbox-group{
display: flex;
justify-content: start;
justify-content: flex-start;
align-items: center;
flex-wrap: wrap;
.el-checkbox-button{

View File

@@ -90,7 +90,7 @@
:ref="'promql-'+(index-1)"
:showRemove="false"
:styleType="2"
@change="expressionChange"
@change="expressionChange(index - 1)"
@removeExpression="removeExpression"
></promql-input>
</el-form-item>

View File

@@ -316,7 +316,7 @@ export default {
}
this.change()
},
expressionChange: function () {
expressionChange: function (index) {
if (this.expressions.length) {
this.chartConfig.elements = []
this.expressions.forEach((expr, i) => {
@@ -336,6 +336,7 @@ export default {
} else {
this.chartConfig.elements = []
}
this.$refs.chartForm.validate('elements.' + (index) + '.expression')
this.change()
},
switchExpression (index, flag) {

View File

@@ -290,18 +290,36 @@
ref="elInput"
></div> -->
<el-input
v-model="expressionList[index]"
v-if="type === 'log'"
@input="metricKeyDown"
autosize
type="textarea"
:maxlength="styleType === 3 ? 512 : 4096"
show-word-limit
size="small" :rows="1"
class="not-fixed-height no-resize"
ref="elInput"
></el-input>
<!-- <el-input-->
<!-- v-model="expressionList[index]"-->
<!-- v-if="type === 'log'"-->
<!-- @input="metricKeyDown"-->
<!-- autosize-->
<!-- type="textarea"-->
<!-- :maxlength="styleType === 3 ? 512 : 4096"-->
<!-- show-word-limit-->
<!-- size="small" :rows="1"-->
<!-- class="not-fixed-height no-resize"-->
<!-- ref="elInput"-->
<!-- ></el-input>-->
<div>
<MonacoEditor
v-if="type == 'log'"
v-model="expressionList[index]"
theme="nz"
class="not-fixed-height no-resize"
ref="monacoEditor"
style="border: 1px solid #dedede;"
:style="{
height: monacoEditorHeight + 'px'
}"
language="logql"
:options="MONACO_EDITOR_OPTIONS"
@editorWillMount="handelBeforeMount"
@editorDidMount="handleMount"
@change="expressionChange"
/>
</div>
</div>
<div class="append-msg error" v-if="errorMsg">
<span>{{ errorMsg }}</span>

View File

@@ -0,0 +1,72 @@
npm install uplot-react uplot<template>
<div>
<input v-model="metrics" @change="getData"/>
<div id="uPlot">
<!-- <UplotVue-->
<!-- :data="data"-->
<!-- :options="options"-->
<!-- :target="target"-->
<!-- @create="onCreate"-->
<!-- @delete="onDelete"-->
<!-- />-->
</div>
<div>
<div id="chart"/>
</div>
</div>
</template>
<script>
import uPlot from 'uplot'
// import UplotVue from 'uplot-vue'
// import 'uplot/dist/uPlot.min.css'
export default {
name: 'uPlot',
components: {
// UplotVue
},
data () {
return {
metrics: '',
data: {},
options: {},
target: {}
}
},
mounted () {
this.uPlotInit()
this.chartInit()
},
methods: {
onCreate () {
},
onDelete () {
},
chartInit () {
},
uPlotInit () {
},
getData () {
let url = '/prom/api/v1/query_range?'
const nowTime = new Date().getTime()
const start = this.start ? this.start : nowTime - 60 * 60 * 10000
const end = this.end ? this.end : nowTime
console.log(start, end)
url += `start=${start}&end=${end}&step=15s&nullType=zero`
url += `&query=${encodeURIComponent(this.metrics)}`
this.$get(url).then(res => {
console.log(res)
this.oldData = res.data
})
}
}
}
</script>
<style scoped>
</style>

View File

@@ -8,7 +8,7 @@ import VueResource from 'vue-resource'
import bus from '@/libs/bus'
Vue.use(VueResource)
const loginWhiteList = ['/setup', '/sys/license/upload', '/sys/license/state', '/sys/appearance', '/i18n', '/terminal'] // 免登陆白名单
const loginWhiteList = ['/setup', '/sys/license/upload', '/sys/license/state', '/sys/appearance', '/i18n', '/terminal', 'uPlot'] // 免登陆白名单
export const permissionWhiteList = ['/profile', '/menu', ...loginWhiteList] // 权限白名单
router.beforeEach((to, from, next) => {
if (window.entrance) {

View File

@@ -243,6 +243,9 @@ export default new Router({
{
path: '/notebook',
component: resolve => require(['@/components/page/notebook/notebook'], resolve)
}, {
path: '/uPlot',
component: resolve => require(['@/components/page/uPlot'], resolve)
}
]
},