A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/Pocket/pocket-monorepo below:

Pocket/pocket-monorepo: Monorepo of all Pocket App Typescript Backend Sevices

This repo contains all the Pocket Typescript systems built as a monorepo but deployed as microservices. For services that power Recomendations or Pocket Curated Content see the Content Monorepo

This Repo includes the following packages/servers:

Each package/app is 100% TypeScript.

This Turborepo has some additional tools already setup for you:

To build all apps and packages, run the following command:

cd pocket-monorepo
pnpm build

To develop all apps and packages, run the following commands:

cd pocket-monorepo
cp .env.example .env
docker compose up --wait
pnpm install
pnpm dev

This will bring up the docker shared services (MySQL, Memcached, Redis) and then run all the apps in a dev mode.

To run a specific server, run the following:

cd pocket-monorepo
cp .env.example .env
docker compose up --wait
pnpm install
pnpm dev --filter=annotations-api...

Where annotations-api is the server name from package.json you want to run. ... prefixed informs turborepo to include all dependent workspace packages.

You can expand this to run multiple specific servers as well like: pnpm run dev --filter=list-api... --filter=feature-flags...

This repo relies on Turbo repos caching strategies to speed up development and only execute tasks that are needed when certain files change.

More information can be found on Turbo repos site.

If you add new build outputs or inputs, you will need to add them to the necessary area in turbo.json.

If for any reason you need to bypass caching you can add --force to any command. It would be run like:

or

pnpm run test --filter=annocations-api... --force

To update packages this repository uses Renovate on a pr by pr basis and you can initiate that here

In some cases it may be easier to update packages locally, like updating all development depencies at once.

To select and update development dependencices, interactively you can use the following command ran at the root of the repository.

To select and update production and optional dependencices, interactively you can use the following command ran at the root of the repository.

When doing an integration test, if you need aws based resources, the CI is setup to run a .sh script that corresponds to the package name you are testing. So if you need aws resources for a package named annotations-api you would create a annoations-api.sh in .docker/aws-resources that created all the necessary aws resources.

Learn more about the power of Turborepo:


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3