Uniswap / interface

🦄 Open source interfaces for the Uniswap protocol
https://app.uniswap.org
GNU General Public License v3.0
4.96k stars 5.02k forks source link

how to install this project? #7663

Open xmdszzz opened 8 months ago

xmdszzz commented 8 months ago

i don't know how to run this project.

SKfraz04 commented 8 months ago

same issue

steebtom commented 8 months ago

@xmdszzz Did you have a look at the Readme? Could you not find the instructions or are you stuck at a step?

SKfraz04 commented 8 months ago

Contributing

Thank you for your interest in contributing to the Uniswap interface! 🦄

Development

Before running anything, you'll need to install the dependencies:

yarn install

Running the web app locally

yarn web start

The interface should automatically open. If it does not, navigate to [http://localhost:3000].

Creating a production build

yarn web build:production

To serve the production build:

yarn web serve

Then, navigate to [http://localhost:3000] to see it.

Running unit tests

yarn web test

By default, this runs only unit tests that have been affected since the last commit. To run all unit tests:

yarn web test --watchAll

Running integration tests (cypress)

Integration tests require a server to be running. In order to see your changes quickly, run start in its own tab/window:

yarn web start

Integration tests are run using cypress. When developing locally, use cypress:open for an interactive UI, and to inspect the rendered page:

yarn web cypress:open

To run all cypress integration tests from the command line:

yarn web cypress:run

Adding a new dependency

Adding many new dependencies would cause bloat, so we have a test to guard against this: scripts/test-size.js. This will run as part of CI with every PR.

If you need to add a new dependency, and it causes the generated build to exceed its size quota, you'll need to increase the quota. Do so in scripts/test-size.js.

You can also run the test on your last build using yarn build && yarn test:size. If you exceed the size quota, it will let you know what to do :).

Engineering standards

Code merged into the main branch of this repository should adhere to high standards of correctness and maintainability. Use your best judgment when applying these standards. If code is in the critical path, will be frequently visited, or makes large architectural changes, consider following all the standards.

Guidelines

The following points should help guide your development:

Release process

Releases are cut automatically from the main branch Monday-Thursday in the morning according to the release workflow.

Fix pull requests should be merged whenever ready and tested. If a fix is urgently needed in production, releases can be manually triggered on GitHub after the fix is merged into main.

Features should not be merged into main until they are ready for users. When building larger features or collaborating with other developers, create a new branch from main to track its development. Use the automatic Vercel preview for sharing the feature to collect feedback.
When the feature is ready for review, create a new pull request from the feature branch into main and request reviews from the appropriate UX reviewers (PMs or designers).

Finding a first issue

Start with issues with the label good first issue.

Translations

Uniswap uses Crowdin for managing translations. This workflow uploads new strings for translation to the Crowdin project whenever code using the lingui translation macros is merged into main.

Every hour, translations are synced back down from Crowdin to the repository in this other workflow. We sync to the repository on a schedule, rather than download translations at build time, so that builds are always reproducible.

You can contribute by joining Crowdin to proofread existing translations here

Or, ask to join us as a translator in the Discord!!

steebtom commented 8 months ago

@SKfraz04 Did you have any issues following these steps?

SKfraz04 commented 8 months ago

@steebtom No now it work properly

mauyin commented 8 months ago

@SKfraz04 Hi, may I know how do you solve it?

humblemodulo commented 5 months ago

Unable to install as well. Tried permutations of yarn, bun, pnpm with node 16, 18, 21, 22. Errors each time, generally in the context of:

Error: ENOENT: no such file or directory, open '/Users/me/code/uniswap-interface/apps/web/src/utils/__generated__/validateTokenList.js
davidfurlong commented 5 months ago

Unable to install as well. Tried permutations of yarn, bun, pnpm with node 16, 18, 21, 22. Errors each time, generally in the context of:

solution here: https://github.com/Uniswap/interface/issues/7631#issuecomment-1883338748

m-kolomoyets commented 5 months ago

Facing such issue described in here: https://github.com/Uniswap/interface/issues/7380