35 Commits

Author SHA1 Message Date
afed42de49 updated Nav-Search + removed string-sanitizer + added csgo-sharecode
Some checks failed
CSGOWTF/csgowtf/pipeline/head There was a failure building this commit
2022-03-27 21:11:18 +02:00
9ac3228f5d updated MatchChat 2022-03-27 14:56:09 +02:00
106ef97ede wip
Some checks failed
CSGOWTF/csgowtf/pipeline/head There was a failure building this commit
2022-03-26 17:45:14 +01:00
552188c8a9 updated InfoModal.vue + infoState.ts 2022-03-25 20:32:57 +01:00
ce70fa2e6f updated FooterComponent.vue to use script setup 2022-03-25 20:19:23 +01:00
5591e75c86 updated MatchRounds type 2022-03-25 20:18:55 +01:00
1236c2ca2d updated DetailsComponent.vue 2022-03-25 16:22:01 +01:00
9cbbfe9393 updated DamageSite.vue 2022-03-25 16:19:13 +01:00
f6dd2ea1c4 updated CookieConsentBtn.vue 2022-03-25 16:09:58 +01:00
70fb352d7f updated PlayerView.vue 2022-03-25 16:09:39 +01:00
67cc06abdf updated MatchesTable.vue 2022-03-25 16:05:38 +01:00
3ad55c7fc4 updated MatchView.vue 2022-03-25 15:49:54 +01:00
0a355ff2bd updated Match.ts to use correct type 2022-03-25 15:48:43 +01:00
16addf0bca updated playersArr.ts to use correct type 2022-03-25 15:48:15 +01:00
5cb339483a updated ExploreView.vue 2022-03-24 11:35:03 +01:00
7daa47bb64 updated PlayerView.vue to use <script setup lang="ts"> 2022-03-24 11:12:24 +01:00
8ed371d5fb updated HomeView.vue to use <script setup lang="ts"> 2022-03-24 11:12:01 +01:00
a45215dce1 updated PrivacyPolicy.vue 2022-03-24 11:11:37 +01:00
a03dad2a0e updated router 2022-03-24 11:11:20 +01:00
18cd1ecdc9 updated statusCode 2022-03-24 11:10:50 +01:00
7a866c9d50 fixed types and LocalStoragePlayer.ts 2022-03-24 11:10:31 +01:00
fe7b851157 updated infoState.ts 2022-03-24 10:20:20 +01:00
53225dffd4 added lib "es2021" to tsconfig 2022-03-24 10:20:05 +01:00
0c9d6e7975 updated ApiRequests.ts 2022-03-24 10:19:18 +01:00
640eddc365 added custom types 2022-03-24 10:18:57 +01:00
190064497e removed api due to missing types 2022-03-24 10:18:22 +01:00
d0d17ccd3d updated NavComponent.vue to use new <script setup lang="ts"> syntax 2022-03-22 10:11:27 +01:00
d479573f41 updated ExploreView.vue to use new <script setup lang="ts"> syntax 2022-03-22 10:11:12 +01:00
012b56f184 updated App.vue to use new <script setup lang="ts"> syntax 2022-03-22 10:10:56 +01:00
0e727716a3 updated utils from js to ts 2022-03-22 10:09:57 +01:00
7523286236 added pinia store 2022-03-22 10:09:28 +01:00
2c3685f594 updated constants 2022-03-22 10:08:57 +01:00
cbe770ecd7 added api 2022-03-22 10:08:24 +01:00
328f463cdb updated gitignore
Some checks failed
CSGOWTF/csgowtf/pipeline/head There was a failure building this commit
2022-03-18 11:43:44 +01:00
9a6d24193d upgrade from webpack to vite + typescript
Some checks failed
CSGOWTF/csgowtf/pipeline/head There was a failure building this commit
2022-03-18 11:40:43 +01:00
490 changed files with 105663 additions and 115273 deletions

View File

@@ -1,3 +0,0 @@
> 1%
last 2 versions
not dead

View File

@@ -1,10 +0,0 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
[*.{js,json,yml}]
charset = utf-8
indent_style = space
indent_size = 2

15
.eslintrc.cjs Normal file
View File

@@ -0,0 +1,15 @@
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution");
module.exports = {
"root": true,
"extends": [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/eslint-config-typescript/recommended",
"@vue/eslint-config-prettier"
],
"env": {
"vue/setup-compiler-macros": true,
}
}

View File

@@ -1,17 +0,0 @@
module.exports = {
root: true,
env: {
node: true
},
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended'
],
parserOptions: {
parser: '@babel/eslint-parser'
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
}
}

7
.gitignore vendored
View File

@@ -3,6 +3,7 @@
### Linux ### ### Linux ###
*~ *~
.env
# temporary files which can be created if a process still has a handle open of a deleted file # temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden* .fuse_hidden*
@@ -89,7 +90,7 @@ web_modules/
.yarn-integrity .yarn-integrity
# dotenv environment variables file # dotenv environment variables file
.env .env.local
.env.test .env.test
.env.production .env.production
@@ -220,7 +221,7 @@ fabric.properties
# Editor-based Rest Client # Editor-based Rest Client
.idea/httpRequests .idea/httpRequests
# Android studio 3.1+ serialized cache file # Android studio 3.1+ serialized cche file
.idea/caches/build_file_checksums.ser .idea/caches/build_file_checksums.ser
### WebStorm+all Patch ### ### WebStorm+all Patch ###
@@ -283,4 +284,4 @@ $RECYCLE.BIN/
# End of https://www.toptal.com/developers/gitignore/api/webstorm+all,yarn,windows,linux,node,vuejs # End of https://www.toptal.com/developers/gitignore/api/webstorm+all,yarn,windows,linux,node,vuejs
a

View File

@@ -1,43 +0,0 @@
pipeline:
install dependencies:
image: node:19
commands:
- yarn install --immutable
pull: true
build:
image: node:19
commands:
- yarn build
secrets: [ vue_app_api_url, vue_app_track_url, vue_app_track_id, vue_app_tracking ]
pull: true
deploy:
image: cschlosser/drone-ftps
settings:
hostname:
from_secret: ftp_host
src_dir: "/dist/"
clean_dir: true
secrets: [ ftp_username, ftp_password ]
when:
branch: master
event: [ push, tag ]
status: success
deploy (dev):
image: cschlosser/drone-ftps
settings:
hostname:
from_secret: ftp_host
src_dir: "/dist/"
clean_dir: true
secrets:
- source: ftp_username_dev
target: ftp_username
- source: ftp_password_dev
target: ftp_password
when:
branch: dev
event: [push, tag]
status: success

File diff suppressed because one or more lines are too long

785
.yarn/releases/yarn-3.2.0.cjs vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,4 +4,4 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools" spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-3.4.1.cjs yarnPath: .yarn/releases/yarn-3.2.0.cjs

60
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,60 @@
pipeline {
agent any
environment {
FTP_HOST = credentials('csgowtf-deploy-host')
LFTP_PASSWORD = credentials('csgowtf-deploy-password')
API_HOST = credentials('csgowtf-api-host')
TRACK_HOST = credentials('csgowtf-track-host')
TRACK_ID = credentials('csgowtf-track-id')
TRACK_DOMAINS = credentials('csgowtf-track-domains')
TRACK = credentials('csgowtf-track')
}
stages {
stage('Prepare') {
steps {
writeFile file: '.env.production', text: 'VUE_APP_API_URL=$API_HOST\nVUE_APP_TRACK_URL=$TRACK_HOST\nVUE_APP_TRACK_ID=$TRACK_ID\nVUE_APP_TRACK_DOMAINS=$TRACK_DOMAINS\nVUE_APP_TRACKING=$TRACK'
}
}
stage('Install Dependencies') {
steps {
sh 'yarn install'
}
}
stage('Build') {
steps {
sh 'yarn build'
archiveArtifacts artifacts: '**/dist/**', excludes: '**/node_modules/**'
}
}
stage('Deploy') {
when {
branch 'master'
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
environment {
FTP_USERNAME = credentials('csgowtf-deploy-user')
}
steps {
sh 'lftp -u $FTP_USERNAME --env-password -e \'mirror --reverse --verbose --delete --recursion=always dist/ /\' $FTP_HOST'
}
}
stage('Deploy Dev') {
when {
branch 'dev'
expression {
currentBuild.result == null || currentBuild.result == 'SUCCESS'
}
}
environment {
FTP_USERNAME = credentials('csgowtf-deploy-user-dev')
}
steps {
sh 'lftp -u $FTP_USERNAME --env-password -e \'mirror --reverse --verbose --delete --recursion=always dist/ /\' $FTP_HOST'
}
}
}
}

View File

@@ -7,7 +7,6 @@
[![Liberapay patrons](https://img.shields.io/liberapay/patrons/csgowtf?style=flat-square)](https://liberapay.com/CSGOWTF/) [![Liberapay patrons](https://img.shields.io/liberapay/patrons/csgowtf?style=flat-square)](https://liberapay.com/CSGOWTF/)
[![Website](https://img.shields.io/website?down_message=down&label=csgow.tf&style=flat-square&up_message=up&url=https%3A%2F%2Fcsgow.tf)](https://csgow.tf/) [![Website](https://img.shields.io/website?down_message=down&label=csgow.tf&style=flat-square&up_message=up&url=https%3A%2F%2Fcsgow.tf)](https://csgow.tf/)
<!--[![Typescript](https://img.shields.io/badge/created%20with-typescript-%233178c6?style=flat-square)](https://www.typescriptlang.org/)--> <!--[![Typescript](https://img.shields.io/badge/created%20with-typescript-%233178c6?style=flat-square)](https://www.typescriptlang.org/)-->
[![status-badge](https://ci.somegit.dev/api/badges/CSGOWTF/csgowtf/status.svg?branch=master)](https://ci.somegit.dev/CSGOWTF/csgowtf)
### Statistics for CS:GO matchmaking matches. ### Statistics for CS:GO matchmaking matches.

View File

@@ -1,5 +0,0 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
}

1
env.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
/// <reference types="vite/client" />

View File

@@ -40,11 +40,11 @@
<meta content="https://csgow.tf/images/logo.png" <meta content="https://csgow.tf/images/logo.png"
property="og:image:secure_url"> property="og:image:secure_url">
<link href="<%= BASE_URL %>images/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"> <link href="/images/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180">
<link href="<%= BASE_URL %>images/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png"> <link href="/images/favicon-32x32.png" rel="icon" sizes="32x32" type="image/png">
<link href="<%= BASE_URL %>images/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png"> <link href="/images/favicon-16x16.png" rel="icon" sizes="16x16" type="image/png">
<link href="<%= BASE_URL %>site.webmanifest" rel="manifest"> <link href="/site.webmanifest" rel="manifest">
<link rel="preconnect" href="https://steamcdn-a.akamaihd.net" crossorigin> <link rel="preconnect" href="https://steamcdn-a.akamaihd.net" crossorigin>
<link rel="dns-prefetch" href="https://steamcdn-a.akamaihd.net"> <link rel="dns-prefetch" href="https://steamcdn-a.akamaihd.net">
@@ -53,14 +53,10 @@
<link rel="preconnect" href="https://piwik.harting.hosting" crossorigin> <link rel="preconnect" href="https://piwik.harting.hosting" crossorigin>
<link rel="dns-prefetch" href="https://piwik.harting.hosting"> <link rel="dns-prefetch" href="https://piwik.harting.hosting">
<title><%= htmlWebpackPlugin.options.title %></title> <title>csgoWTF</title>
</head> </head>
<body> <body>
<noscript> <div id="app"></div>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. <script type="module" src="/src/main.ts"></script>
Please enable it to continue.</strong>
</noscript>
<div id="app" class="d-flex flex-column min-vh-100"></div>
<!-- built files will be auto injected -->
</body> </body>
</html> </html>

View File

@@ -1,46 +1,49 @@
{ {
"name": "csgowtf", "name": "csgowtf",
"version": "1.0.9", "version": "1.0.7",
"private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "dev": "vite",
"build": "vue-cli-service build --mode production", "host": "vite --host",
"lint": "vue-cli-service lint" "build": "vue-tsc --noEmit && vite build",
"preview": "vite preview --port 5050",
"typecheck": "vue-tsc --noEmit",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
}, },
"dependencies": { "dependencies": {
"@fontsource/open-sans": "^4.5.14", "@popperjs/core": "^2.11.4",
"@fontsource/orbitron": "^4.5.11", "axios": "^0.26.1",
"@popperjs/core": "^2.11.6", "bootstrap": "^5.1.3",
"axios": "^1.3.4", "bootstrap-icons": "^1.8.1",
"bootstrap": "^5.2.3", "csgo-sharecode": "^3.0.1",
"core-js": "^3.29.0", "echarts": "^5.3.1",
"dotenv-webpack": "^8.0.1",
"echarts": "^5.4.1",
"fork-awesome": "^1.2.0", "fork-awesome": "^1.2.0",
"http-status-codes": "^2.2.0", "http-status-codes": "^2.2.0",
"iso-639-1": "^2.1.15", "iso-639-1": "^2.1.13",
"jquery": "^3.6.3", "jquery": "^3.6.0",
"luxon": "^3.2.1", "luxon": "^2.3.1",
"string-sanitizer": "^2.0.2", "pinia": "^2.0.12",
"vue": "^3.2.47", "vue": "^3.2.31",
"vue-matomo": "^4.2.0", "vue-matomo": "^4.1.0",
"vue-router": "^4.1.6", "vue-router": "^4.0.14",
"vue3-cookies": "^1.0.6", "vue3-cookies": "^1.0.6",
"vuex": "^4.1.0" "vuex": "^4.0.2"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.21.0", "@rushstack/eslint-patch": "^1.1.1",
"@babel/eslint-parser": "^7.19.1", "@types/echarts": "^4.9.13",
"@vue/cli-plugin-babel": "~5.0.8", "@types/luxon": "^2.3.1",
"@vue/cli-plugin-eslint": "~5.0.8", "@types/node": "^16.11.26",
"@vue/cli-plugin-router": "~5.0.8", "@vitejs/plugin-vue": "^2.2.4",
"@vue/cli-plugin-vuex": "~5.0.8", "@vue/eslint-config-prettier": "^7.0.0",
"@vue/cli-service": "~5.0.8", "@vue/eslint-config-typescript": "^10.0.0",
"@vue/compiler-sfc": "^3.2.47", "@vue/tsconfig": "^0.1.3",
"eslint": "^8.35.0", "eslint": "^8.11.0",
"eslint-plugin-vue": "^9.9.0", "eslint-plugin-vue": "^8.5.0",
"sass": "^1.58.3", "prettier": "^2.6.0",
"sass-loader": "^13.2.0" "sass": "^1.49.9",
"typescript": "~4.6.2",
"vite": "^2.8.6",
"vue-tsc": "^0.33.2"
}, },
"packageManager": "yarn@3.4.1" "packageManager": "yarn@3.2.0"
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 211 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 213 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 214 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 326 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 KiB

After

Width:  |  Height:  |  Size: 493 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 KiB

After

Width:  |  Height:  |  Size: 615 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 821 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 511 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 466 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 503 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 289 KiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

After

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 768 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 443 KiB

After

Width:  |  Height:  |  Size: 765 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 140 KiB

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 306 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 458 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 413 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 588 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 484 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 KiB

After

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 410 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 544 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 KiB

After

Width:  |  Height:  |  Size: 620 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Some files were not shown because too many files have changed in this diff Show More