Setting up dev tools

This commit is contained in:
Jamie Hewitt 2022-09-30 12:00:55 +03:00
parent a20f29f2ce
commit 5e38b85500
12 changed files with 3906 additions and 247 deletions

16
.eslintrc Normal file
View File

@ -0,0 +1,16 @@
{
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["./tsconfig.json"]
},
"extends": [
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:prettier/recommended"
],
"plugins": ["@typescript-eslint", "prettier"],
"rules": {
"@typescript-eslint/explicit-function-return-type": "off"
},
"env": { "es6": true, "node": true }
}

View File

@ -1,3 +0,0 @@
{
"extends": "next/core-web-vitals"
}

1
.husky/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
_

4
.husky/pre-commit Executable file
View File

@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
node_modules/.bin/pretty-quick --staged

7
.prettierrc Normal file
View File

@ -0,0 +1,7 @@
{
"semi": false,
"singleQuote": true,
"trailingComma": "none",
"tabWidth": 2,
"endOfLine": "auto"
}

7
.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,7 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"wix.vscode-import-cost"
]
}

17
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,17 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
"search.exclude": {
"**/.cache": true,
"**/public": true
}
}

109
@types/index.d.ts vendored Normal file
View File

@ -0,0 +1,109 @@
import { BigNumber } from 'ethers'
export enum State {
Up = 'UP',
Down = 'DOWN',
Warning = 'WARNING'
}
export interface Status {
network: string
currentBlock: number
market: State
port: State
faucet: FaucetStatus | Record<string, never>
aquarius: AquariusStatus
provider: ProviderStatus
subgraph: SubgraphStatus
operator: OperatorStatus
dataFarming: State
daoGrants: State
lastUpdatedOn: number
}
export interface ProviderStatus {
status?: State
response?: number
version?: string
latestRelease?: string
}
export interface AquariusStatus {
status?: State
response?: number
chain?: boolean
version?: string
latestRelease?: string
block?: number
validQuery?: boolean
}
export interface SubgraphStatus {
status?: State
response?: number
version?: string
latestRelease?: string
block?: number
}
export interface OperatorStatus {
status?: State
response?: number
version?: string
latestRelease?: string
environments?: number
limitReached?: boolean
}
export interface FaucetStatus {
status?: State
response?: number
ethBalance?: BigNumber
ethBalanceSufficient?: boolean
oceanBalance?: BigNumber
oceanBalanceSufficient?: boolean
}
export interface Network {
name: string
chainId: string
test?: boolean
faucetWallet?: string
rpcUrl?: string
oceanAddress?: string
}
export interface dbRow {
network: string
currentBlock: number
aquariusStatus: State
aquariusResponse: number
aquariusChain: number
aquariusVersion: string
aquariusLatestRelease: string
aquariusBlock: number
aquariusValidQuery: number
providerStatus: State
providerResponse: number
providerVersion: string
providerLatestRelease: string
subgraphStatus: State
subgraphResponse: number
subgraphVersion: string
subgraphLatestRelease: string
subgraphBlock: number
operatorStatus: State
operatorResponse: number
operatorVersion: string
operatorLatestRelease: string
operatorEnvironments: number
operatorLimitReached: number
market: State
port: State
faucetStatus: State
faucetResponse: number
faucetEthBalance: BigNumber
faucetEthBalanceSufficient: number | string
faucetOceanBalance: BigNumber
faucetOceanBalanceSufficient: number | string
dataFarming: State
daoGrants: State
lastUpdatedOn: number
}

1306
node_modules/.package-lock.json generated vendored

File diff suppressed because it is too large Load Diff

2616
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,7 @@
"lint": "next lint"
},
"dependencies": {
"axios": "^0.27.2",
"next": "12.3.1",
"react": "18.2.0",
"react-dom": "18.2.0"
@ -19,6 +20,12 @@
"@types/react-dom": "18.0.6",
"eslint": "8.24.0",
"eslint-config-next": "12.3.1",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.0.0",
"ethers": "^5.7.1",
"husky": "^7.0.0",
"prettier": "^2.7.1",
"pretty-quick": "^3.1.3",
"typescript": "4.8.4"
}
}

View File

@ -1,20 +1,54 @@
// {
// "compilerOptions": {
// "target": "es5",
// "lib": ["dom", "dom.iterable", "esnext"],
// "allowJs": true,
// "skipLibCheck": true,
// "strict": true,
// "forceConsistentCasingInFileNames": true,
// "noEmit": true,
// "esModuleInterop": true,
// "module": "esnext",
// "moduleResolution": "node",
// "resolveJsonModule": true,
// "isolatedModules": true,
// "jsx": "preserve",
// "incremental": true
// },
// "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
// "exclude": ["node_modules"]
// }
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"target": "esnext",
"module": "ES2020",
"lib": ["dom", "ES2020"],
"resolveJsonModule": true,
"isolatedModules": true,
"moduleResolution": "node",
"jsx": "preserve",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noEmit": true,
"sourceMap": true,
"noImplicitAny": true,
"paths": {
"@shared/*": ["./src/components/@shared/*"],
"@hooks/*": ["./src/@hooks/*"],
"@context/*": ["./src/@context/*"],
"@images/*": ["./src/@images/*"],
"@utils/*": ["./src/@utils/*"],
"@content/*": ["./@content/*"]
},
"baseUrl": ".",
"strict": false,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"skipLibCheck": true,
"allowJs": true,
"esModuleInterop": true,
"incremental": true
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
"exclude": ["node_modules", ".next", "*.js"],
"include": ["./src/**/*", "./tests/**/*", "./next-env.d.ts", "./content/**/*"]
}