Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: JS Lint

on:
push:
tags:
- v*
branches:
- master
- main
paths-ignore:
- '**.md'
pull_request:
paths:
- 'frontend/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
check_and_build:
name: Check and Build
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
- name: mise
uses: jdx/mise-action@v2
- name: Change directory to frontend
run: cd frontend
- name: npm install
run: npm install --no-audit
working-directory: ./frontend
- name: npm lint
run: npm run lint --if-present
working-directory: ./frontend
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml → .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Rust Check & Build
name: Rust Lint

on:
push:
Expand All @@ -10,8 +10,8 @@ on:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
paths:
- 'src/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

Expand Down
2 changes: 2 additions & 0 deletions .mise.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[tools]
node = '22'
Empty file removed frontend/.env
Empty file.
1 change: 0 additions & 1 deletion frontend/.env.development

This file was deleted.

1 change: 0 additions & 1 deletion frontend/.env.production

This file was deleted.

5 changes: 3 additions & 2 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for commiting if needed)
# .env*
# env files (can opt-in for committing if needed)
.env*

# vercel
.vercel
Expand Down
43 changes: 14 additions & 29 deletions frontend/README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,21 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
# Parallel EVM Explorer Frontend

## Getting Started
## Checks before push

First, run the development server:

```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```sh
npm run format
npm run lint
```

Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.

You can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.

This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.

## Learn More

To learn more about Next.js, take a look at the following resources:
## Run

- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
.env

You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!

## Deploy on Vercel

The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
```sh
PARALLEL_EVM_EXPLORER_SERVER=http://<your-server-host>:<port>
```

Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details.
```sh
npm install
npm run dev
```
111 changes: 111 additions & 0 deletions frontend/biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"vcs": {
"enabled": false,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignoreUnknown": false,
"ignore": [".next", "node_modules", "src/static"]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"formatWithErrors": true
},
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"a11y": {
"noAriaHiddenOnFocusable": "off",
"noAutofocus": "off",
"noBlankTarget": "error",
"noNoninteractiveElementToInteractiveRole": "off",
"noNoninteractiveTabindex": "off",
"noPositiveTabindex": "off",
"noSvgWithoutTitle": "off",
"useAltText": "off",
"useButtonType": "off",
"useHtmlLang": "off",
"useIframeTitle": "off",
"useKeyWithClickEvents": "off",
"useKeyWithMouseEvents": "off",
"useValidAnchor": "off"
},
"complexity": {
"noBannedTypes": "off",
"noExtraBooleanCast": "error",
"noForEach": "off",
"noStaticOnlyClass": "error",
"noUselessCatch": "error",
"noUselessConstructor": "error",
"noUselessFragments": "off",
"noUselessRename": "error",
"noUselessSwitchCase": "error",
"useArrowFunction": "error",
"useLiteralKeys": "off",
"useOptionalChain": "error"
},
"correctness": {
"noConstantCondition": "error",
"noEmptyPattern": "error",
"noSwitchDeclarations": "error",
"noUnreachable": "error",
"noUnsafeOptionalChaining": "error",
"useExhaustiveDependencies": "off"
},
"performance": {
"noAccumulatingSpread": "off",
"noDelete": "off"
},
"security": {
"noDangerouslySetInnerHtml": "error"
},
"style": {
"noCommaOperator": "error",
"noNonNullAssertion": "off",
"noParameterAssign": "off",
"noUnusedTemplateLiteral": "error",
"noUselessElse": "error",
"useConst": "error",
"useDefaultParameterLast": "off",
"useSelfClosingElements": "error",
"useSingleVarDeclarator": "error",
"useTemplate": "error"
},
"suspicious": {
"noArrayIndexKey": "off",
"noAssignInExpressions": "error",
"noAsyncPromiseExecutor": "error",
"noConfusingVoidType": "off",
"noControlCharactersInRegex": "error",
"noDoubleEquals": "error",
"noDuplicateJsxProps": "error",
"noDuplicateObjectKeys": "error",
"noEmptyInterface": "error",
"noExplicitAny": "off",
"noFallthroughSwitchClause": "error",
"noGlobalIsNan": "error",
"noImplicitAnyLet": "off",
"noPrototypeBuiltins": "error",
"noRedeclare": "error",
"noRedundantUseStrict": "error",
"noSelfCompare": "error",
"noShadowRestrictedNames": "off",
"useDefaultSwitchClauseLast": "error",
"useValidTypeof": "error"
}
}
},
"javascript": {
"formatter": {
"quoteStyle": "double"
}
}
}
Loading
Loading