Check if all files have valid json (#1026)

* Check if all files have valid json

* Optimised images with calibre/image-actions

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Viktor Radchenko 2020-01-15 08:02:14 +09:00 committed by GitHub
parent 4aafce8a53
commit abbe34d2f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 49 additions and 2 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -1,4 +1,6 @@
import * as fs from "fs"
import * as path from "path"
const axios = require('axios')
const Web3 = require('web3')
const web3 = new Web3('ws://localhost:8546');
@ -25,7 +27,9 @@ const whiteList = 'whitelist.json'
const blackList = 'blacklist.json'
export const logo = `logo.png`
export const root = './'
export const chainsFolderPath = './blockchains'
export const pricingFolderPath = './pricing'
export const getChainLogoPath = chain => `${chainsFolderPath}/${chain}/info/${logo}`
export const getChainAssetsPath = (chain: string): string => `${chainsFolderPath}/${chain}/assets`
@ -88,4 +92,32 @@ export const calculateAspectRatioFit = (srcWidth: number, srcHeight: number, max
const ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight)
return { width: Math.round(srcWidth * ratio), height: Math.round(srcHeight * ratio) }
}
export const findFiles = (base: string, ext: string, files: string[] = [], result: string[] = []) => {
files = fs.readdirSync(base) || files
result = result || result
files.forEach(
function (file) {
var newbase = path.join(base, file)
if ( fs.statSync(newbase).isDirectory()) {
result = findFiles(newbase, ext, fs.readdirSync(newbase), result)
} else {
if ( file.substr(-1*(ext.length+1)) == '.' + ext) {
result.push(newbase)
}
}
}
)
return result
}
export const isValidJSON = (path: string) => {
let rawdata = fs.readFileSync(path, 'utf8')
try {
JSON.parse(rawdata)
return true
} catch {
return false
}
}

View File

@ -3,6 +3,7 @@ const eztz = require('eztz-lib')
import {
Ethereum, Binance, Cosmos, Tezos, Tron, IoTeX, Waves, Classic, POA, TomoChain, GoChain, Wanchain, ThunderCore,
chainsFolderPath,
pricingFolderPath,
getChainLogoPath,
getChainAssetsPath,
getChainAssetLogoPath,
@ -19,7 +20,9 @@ import {
isLogoOK,
getChainWhitelistPath,
getChainBlacklistPath,
mapList
mapList,
findFiles,
isValidJSON
} from "./helpers"
enum TickerType {
@ -326,3 +329,15 @@ describe.skip("Test blacklist and whitelist", () => {
})
})
describe("Test all JSON files to have valid content", () => {
const files = [
...findFiles(chainsFolderPath, 'json'),
...findFiles(pricingFolderPath, 'json')
]
files.forEach(file => {
expect(isValidJSON(file), `${file} path contains invalid JSON`).toBe(true)
});
})