modernize js and use babel (#8973)
* modernize js and use babel - add babel toolchain to transform modern JS to ES5 - extend eslint config for modern rules - fixes linting issues via `eslint --fix` and manual fixes * run 'make css' to satisfy CI * code style tweaks and set js indendation to 2 in .editorconfig * regenerate js
This commit is contained in:
parent
4b5ebb93e4
commit
3621944c2d
10 changed files with 5309 additions and 3823 deletions
|
@ -24,7 +24,7 @@ indent_size = 2
|
||||||
|
|
||||||
[*.js]
|
[*.js]
|
||||||
indent_style = space
|
indent_style = space
|
||||||
indent_size = 4
|
indent_size = 2
|
||||||
|
|
||||||
[Makefile]
|
[Makefile]
|
||||||
indent_style = tab
|
indent_style = tab
|
||||||
|
|
39
.eslintrc
39
.eslintrc
|
@ -1,28 +1,51 @@
|
||||||
root: true
|
root: true
|
||||||
|
|
||||||
extends:
|
extends:
|
||||||
|
- eslint-config-airbnb-base
|
||||||
- eslint:recommended
|
- eslint:recommended
|
||||||
|
|
||||||
parserOptions:
|
parserOptions:
|
||||||
ecmaVersion: 2015
|
ecmaVersion: 2020
|
||||||
|
|
||||||
env:
|
env:
|
||||||
browser: true
|
browser: true
|
||||||
jquery: true
|
|
||||||
es6: true
|
es6: true
|
||||||
|
jquery: true
|
||||||
node: true
|
node: true
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
Clipboard: false
|
Clipboard: false
|
||||||
CodeMirror: false
|
CodeMirror: false
|
||||||
emojify: false
|
|
||||||
SimpleMDE: false
|
|
||||||
Vue: false
|
|
||||||
Dropzone: false
|
Dropzone: false
|
||||||
u2fApi: false
|
emojify: false
|
||||||
hljs: false
|
hljs: false
|
||||||
|
SimpleMDE: false
|
||||||
|
u2fApi: false
|
||||||
|
Vue: false
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
no-unused-vars: [error, {args: all, argsIgnorePattern: ^_, varsIgnorePattern: ^_, ignoreRestSiblings: true}]
|
camelcase: [0]
|
||||||
prefer-const: [2, {destructuring: all}]
|
comma-dangle: [2, only-multiline]
|
||||||
|
consistent-return: [0]
|
||||||
|
default-case: [0]
|
||||||
|
func-names: [0]
|
||||||
|
max-len: [0]
|
||||||
|
newline-per-chained-call: [0]
|
||||||
|
arrow-body-style: [0]
|
||||||
|
no-alert: [0]
|
||||||
|
no-continue: [0]
|
||||||
|
no-mixed-operators: [0]
|
||||||
|
no-multi-assign: [0]
|
||||||
|
no-new: [0]
|
||||||
|
no-param-reassign: [0]
|
||||||
|
no-plusplus: [0]
|
||||||
|
no-restricted-syntax: [0]
|
||||||
|
no-shadow: [0]
|
||||||
|
no-unused-vars: [2, {args: all, argsIgnorePattern: ^_, varsIgnorePattern: ^_, ignoreRestSiblings: true}]
|
||||||
|
no-use-before-define: [0]
|
||||||
no-var: [2]
|
no-var: [2]
|
||||||
|
one-var-declaration-per-line: [0]
|
||||||
|
one-var: [0]
|
||||||
|
prefer-const: [2, {destructuring: all}]
|
||||||
|
prefer-destructuring: [0]
|
||||||
|
radix: [2, as-needed]
|
||||||
|
|
2778
package-lock.json
generated
2778
package-lock.json
generated
File diff suppressed because it is too large
Load diff
17
package.json
17
package.json
|
@ -5,14 +5,21 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "9.6.1",
|
"@babel/core": "7.7.2",
|
||||||
"eslint": "6.3.0",
|
"@babel/preset-env": "7.7.1",
|
||||||
|
"autoprefixer": "9.7.1",
|
||||||
|
"babel-loader": "8.0.6",
|
||||||
|
"core-js": "3.4.1",
|
||||||
|
"eslint": "6.6.0",
|
||||||
|
"eslint-config-airbnb-base": "14.0.0",
|
||||||
|
"eslint-plugin-import": "2.18.2",
|
||||||
"less": "3.10.3",
|
"less": "3.10.3",
|
||||||
"less-plugin-clean-css": "1.5.1",
|
"less-plugin-clean-css": "1.5.1",
|
||||||
"postcss-cli": "6.1.3",
|
"postcss-cli": "6.1.3",
|
||||||
"stylelint": "10.1.0",
|
"stylelint": "11.1.1",
|
||||||
"stylelint-config-standard": "18.3.0",
|
"stylelint-config-standard": "19.0.0",
|
||||||
"updates": "8.5.3",
|
"terser-webpack-plugin": "2.2.1",
|
||||||
|
"updates": "9.0.1",
|
||||||
"webpack": "4.41.2",
|
"webpack": "4.41.2",
|
||||||
"webpack-cli": "3.3.10"
|
"webpack-cli": "3.3.10"
|
||||||
},
|
},
|
||||||
|
|
|
@ -73,7 +73,7 @@ a{cursor:pointer}
|
||||||
.right.stackable.menu{margin-left:auto;display:flex;align-items:inherit;flex-direction:inherit}
|
.right.stackable.menu{margin-left:auto;display:flex;align-items:inherit;flex-direction:inherit}
|
||||||
.ui.left{float:left}
|
.ui.left{float:left}
|
||||||
.ui.right{float:right}
|
.ui.right{float:right}
|
||||||
.ui.button,.ui.menu .item{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}
|
.ui.button,.ui.menu .item{-webkit-user-select:auto;-ms-user-select:auto;user-select:auto}
|
||||||
.ui.container.fluid.padded{padding:0 10px 0 10px}
|
.ui.container.fluid.padded{padding:0 10px 0 10px}
|
||||||
.ui.form .ui.button{font-weight:400}
|
.ui.form .ui.button{font-weight:400}
|
||||||
.ui.floating.label{z-index:10}
|
.ui.floating.label{z-index:10}
|
||||||
|
@ -233,14 +233,14 @@ i.icons .icon:first-child{margin-right:0}
|
||||||
i.icon.centerlock{top:1.5em}
|
i.icon.centerlock{top:1.5em}
|
||||||
.ui.label>.detail .icons{margin-right:.25em}
|
.ui.label>.detail .icons{margin-right:.25em}
|
||||||
.ui.label>.detail .icons .icon{margin-right:0}
|
.ui.label>.detail .icons .icon{margin-right:0}
|
||||||
.lines-num{vertical-align:top;text-align:right!important;color:#999;background:#f5f5f5;width:1%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
.lines-num{vertical-align:top;text-align:right!important;color:#999;background:#f5f5f5;width:1%;-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
||||||
.lines-num span:before{content:attr(data-line-number);line-height:20px!important;padding:0 10px;cursor:pointer;display:block}
|
.lines-num span:before{content:attr(data-line-number);line-height:20px!important;padding:0 10px;cursor:pointer;display:block}
|
||||||
.lines-code,.lines-num{padding:0!important}
|
.lines-code,.lines-num{padding:0!important}
|
||||||
.lines-code .hljs,.lines-code ol,.lines-code pre,.lines-num .hljs,.lines-num ol,.lines-num pre{background-color:#fff;margin:0;padding:0!important}
|
.lines-code .hljs,.lines-code ol,.lines-code pre,.lines-num .hljs,.lines-num ol,.lines-num pre{background-color:#fff;margin:0;padding:0!important}
|
||||||
.lines-code .hljs li,.lines-code ol li,.lines-code pre li,.lines-num .hljs li,.lines-num ol li,.lines-num pre li{display:block;width:100%}
|
.lines-code .hljs li,.lines-code ol li,.lines-code pre li,.lines-num .hljs li,.lines-num ol li,.lines-num pre li{display:block;width:100%}
|
||||||
.lines-code .hljs li:before,.lines-code ol li:before,.lines-code pre li:before,.lines-num .hljs li:before,.lines-num ol li:before,.lines-num pre li:before{content:' '}
|
.lines-code .hljs li:before,.lines-code ol li:before,.lines-code pre li:before,.lines-num .hljs li:before,.lines-num ol li:before,.lines-num pre li:before{content:' '}
|
||||||
.lines-commit{vertical-align:top;color:#999;padding:0!important;background:#f5f5f5;width:1%;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}
|
.lines-commit{vertical-align:top;color:#999;padding:0!important;background:#f5f5f5;width:1%;-ms-user-select:none;-webkit-user-select:none;user-select:none}
|
||||||
.lines-commit .blame-info{width:350px;max-width:350px;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 0 0 10px}
|
.lines-commit .blame-info{width:350px;max-width:350px;display:block;-webkit-user-select:none;-ms-user-select:none;user-select:none;padding:0 0 0 10px}
|
||||||
.lines-commit .blame-info .blame-data{display:flex;font-family:-apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',Roboto,Helvetica,Arial}
|
.lines-commit .blame-info .blame-data{display:flex;font-family:-apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',Roboto,Helvetica,Arial}
|
||||||
.lines-commit .blame-info .blame-data .blame-message{flex-grow:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:20px}
|
.lines-commit .blame-info .blame-data .blame-message{flex-grow:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:20px}
|
||||||
.lines-commit .blame-info .blame-data .blame-avatar,.lines-commit .blame-info .blame-data .blame-time{flex-shrink:0}
|
.lines-commit .blame-info .blame-data .blame-avatar,.lines-commit .blame-info .blame-data .blame-time{flex-shrink:0}
|
||||||
|
@ -333,7 +333,7 @@ i.icon.centerlock{top:1.5em}
|
||||||
.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header{margin-top:0}
|
.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header{margin-top:0}
|
||||||
.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header .sub.header{padding-left:52px;word-break:break-word}
|
.repository.wiki.revisions .ui.container>.ui.stackable.grid>.header .sub.header{padding-left:52px;word-break:break-word}
|
||||||
.file-revisions-btn{display:block;float:left;margin-bottom:2px!important;padding:11px!important;margin-right:10px!important}
|
.file-revisions-btn{display:block;float:left;margin-bottom:2px!important;padding:11px!important;margin-right:10px!important}
|
||||||
.file-revisions-btn i{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
.file-revisions-btn i{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
||||||
.home .logo{max-width:220px}
|
.home .logo{max-width:220px}
|
||||||
@media only screen and (max-width:767px){.home .hero h1{font-size:3.5em}
|
@media only screen and (max-width:767px){.home .hero h1{font-size:3.5em}
|
||||||
.home .hero h2{font-size:2em}
|
.home .hero h2{font-size:2em}
|
||||||
|
@ -687,7 +687,7 @@ i.icon.centerlock{top:1.5em}
|
||||||
.repository .diff-box .header .file{flex:1;color:#888;word-break:break-all}
|
.repository .diff-box .header .file{flex:1;color:#888;word-break:break-all}
|
||||||
.repository .diff-box .header .button{margin:-5px 0 -5px 12px;padding:8px 10px;flex:0 0 auto}
|
.repository .diff-box .header .button{margin:-5px 0 -5px 12px;padding:8px 10px;flex:0 0 auto}
|
||||||
.repository .diff-file-box .header{background-color:#f7f7f7}
|
.repository .diff-file-box .header{background-color:#f7f7f7}
|
||||||
.repository .diff-file-box .file-body.file-code .lines-num{text-align:right;color:#a6a6a6;background:#fafafa;width:1%;min-width:50px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top}
|
.repository .diff-file-box .file-body.file-code .lines-num{text-align:right;color:#a6a6a6;background:#fafafa;width:1%;min-width:50px;-webkit-user-select:none;-ms-user-select:none;user-select:none;vertical-align:top}
|
||||||
.repository .diff-file-box .file-body.file-code .lines-num span.fold{display:block;text-align:center}
|
.repository .diff-file-box .file-body.file-code .lines-num span.fold{display:block;text-align:center}
|
||||||
.repository .diff-file-box .file-body.file-code .lines-num-old{border-right:1px solid #ddd}
|
.repository .diff-file-box .file-body.file-code .lines-num-old{border-right:1px solid #ddd}
|
||||||
.repository .diff-file-box .code-diff{font-size:12px}
|
.repository .diff-file-box .code-diff{font-size:12px}
|
||||||
|
@ -698,7 +698,7 @@ i.icon.centerlock{top:1.5em}
|
||||||
.repository .diff-file-box .code-diff tbody tr .removed-code{background-color:#f99}
|
.repository .diff-file-box .code-diff tbody tr .removed-code{background-color:#f99}
|
||||||
.repository .diff-file-box .code-diff tbody tr .added-code{background-color:#9f9}
|
.repository .diff-file-box .code-diff tbody tr .added-code{background-color:#9f9}
|
||||||
.repository .diff-file-box .code-diff tbody tr [data-line-num]::before{content:attr(data-line-num);text-align:right}
|
.repository .diff-file-box .code-diff tbody tr [data-line-num]::before{content:attr(data-line-num);text-align:right}
|
||||||
.repository .diff-file-box .code-diff tbody tr .lines-type-marker{width:10px;min-width:10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
|
.repository .diff-file-box .code-diff tbody tr .lines-type-marker{width:10px;min-width:10px;-webkit-user-select:none;-ms-user-select:none;user-select:none}
|
||||||
.repository .diff-file-box .code-diff tbody tr [data-type-marker]::before{content:attr(data-type-marker);text-align:right;display:inline-block}
|
.repository .diff-file-box .code-diff tbody tr [data-type-marker]::before{content:attr(data-type-marker);text-align:right;display:inline-block}
|
||||||
.repository .diff-file-box .code-diff-unified tbody tr.del-code td{background-color:#ffe0e0!important;border-color:#f1c0c0!important}
|
.repository .diff-file-box .code-diff-unified tbody tr.del-code td{background-color:#ffe0e0!important;border-color:#f1c0c0!important}
|
||||||
.repository .diff-file-box .code-diff-unified tbody tr.add-code td{background-color:#d6fcd6!important;border-color:#c1e9c1!important}
|
.repository .diff-file-box .code-diff-unified tbody tr.add-code td{background-color:#d6fcd6!important;border-color:#c1e9c1!important}
|
||||||
|
|
|
@ -14,7 +14,7 @@ body{background:#383c4a;color:#9e9e9e}
|
||||||
*{scrollbar-width:thin;scrollbar-color:#87ab63 rgba(255,255,255,.1)}
|
*{scrollbar-width:thin;scrollbar-color:#87ab63 rgba(255,255,255,.1)}
|
||||||
::-webkit-scrollbar{-webkit-appearance:none!important;width:10px!important;height:10px!important}
|
::-webkit-scrollbar{-webkit-appearance:none!important;width:10px!important;height:10px!important}
|
||||||
::-webkit-scrollbar-track{border-radius:0!important;background:rgba(255,255,255,.1)!important}
|
::-webkit-scrollbar-track{border-radius:0!important;background:rgba(255,255,255,.1)!important}
|
||||||
::-webkit-scrollbar-thumb{cursor:pointer!important;border-radius:5px!important;transition:color .2s ease!important;background:#87ab63!important}
|
::-webkit-scrollbar-thumb{cursor:pointer!important;border-radius:5px!important;-webkit-transition:color .2s ease!important;transition:color .2s ease!important;background:#87ab63!important}
|
||||||
::-webkit-scrollbar-thumb:window-inactive{background:#87ab63!important}
|
::-webkit-scrollbar-thumb:window-inactive{background:#87ab63!important}
|
||||||
::-webkit-scrollbar-thumb:hover{background:#87ab63!important}
|
::-webkit-scrollbar-thumb:hover{background:#87ab63!important}
|
||||||
a{color:#87ab63}
|
a{color:#87ab63}
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
6246
web_src/js/index.js
6246
web_src/js/index.js
File diff suppressed because it is too large
Load diff
|
@ -9,12 +9,34 @@ module.exports = {
|
||||||
devtool: 'source-map',
|
devtool: 'source-map',
|
||||||
output: {
|
output: {
|
||||||
path: path.resolve(__dirname, 'public/js'),
|
path: path.resolve(__dirname, 'public/js'),
|
||||||
filename: "[name].js"
|
filename: '[name].js'
|
||||||
},
|
},
|
||||||
optimization: {
|
optimization: {
|
||||||
minimize: true,
|
minimize: true,
|
||||||
minimizer: [new TerserPlugin({
|
minimizer: [new TerserPlugin({
|
||||||
sourceMap: true
|
sourceMap: true,
|
||||||
})],
|
})],
|
||||||
},
|
},
|
||||||
|
module: {
|
||||||
|
rules: [
|
||||||
|
{
|
||||||
|
test: /\.js$/,
|
||||||
|
exclude: /node_modules/,
|
||||||
|
use: {
|
||||||
|
loader: 'babel-loader',
|
||||||
|
options: {
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'@babel/preset-env',
|
||||||
|
{
|
||||||
|
useBuiltIns: 'entry',
|
||||||
|
corejs: 3,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
Reference in a new issue