🦙
This repository contains the public front-end of the Llama Airforce website, excluding the Union page & scripts. The primary goal of this repository is to be open and transparant about our methods, and to give people the opportunity to contribute.
The front-end makes use of the following technologies, frameworks and libraries:
- TypeScript and ESLint
- Vite and Vitest
- Vue 3, Vue Router and Pinia
- Ethers, Web3-Onboard and TypeChain
- ApexCharts, TradingView Lightweight Charts and Vue 3 Popper.
npm installUnion functionality is disabled by default, as its source is behind a private git submodule. The Union is a key revenue generator for Llama Airforce, and although we welcome any competition, we don't feel like we should hand our work on a silver platter.
The Union functionality can be enabled by adding VITE_UNION=true to .env. By doing so, the Union page imported into main.ts will no longer be aliased in vite.config.js to a mock Union page, and instead will be pointing towards the real implementation. The import in main.ts is also shimmed in shims-vue.d.ts so that compilation and linting will not fail when the git submodule is empty.
| Command | Description |
|---|---|
lint |
Lints the entire codebase using ESLint. |
typecheck |
Typechecks the project using the Typescript compiler, not emitting files. |
dev |
Starts a local development server. |
build |
Builds a website distribution into the dist folder. |
build contracts |
Builds Typescript contract definitions using TypeChain. It reads ABI files from /src/ABI and places the contract definition files into /src/Contracts. |
test |
Runs all unit tests. |
union |
Runs the Union airdrop generation script. This is for Llama Airforce devs only, as the Union is behind a private git submodule. |
