Skip to content

Commit

Permalink
docs(README): Adds in info about projects in the repo (#8)
Browse files Browse the repository at this point in the history
  • Loading branch information
jhechtf authored May 21, 2024
1 parent fd6bd00 commit b439139
Show file tree
Hide file tree
Showing 5 changed files with 344 additions and 296 deletions.
9 changes: 9 additions & 0 deletions .changeset/doc-changset.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@jhecht/eslint-plugin": patch
"@jhecht/arktype-utils": patch
"@jhecht/design-tokens": patch
"@jhecht/typescript-config": patch
"@jhecht/vite-plugin-design-tokens": patch
---

please hold
25 changes: 25 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,31 @@ on:
pull_request:

jobs:
changesets:
name: Changeset Present?
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: git fetch origin main:main
- uses: pnpm/action-setup@v2
name: Install PNPM
with:
versions: 8
- uses: actions/cache@v3
name: setup PNPM cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os}}-pnpm-store
- uses: actions/setup-node@v3
with:
node-version: '18.x'
- run: pnpm i --frozen-lockfile
- run: pnpm changeset:ci

test:
name: Test changed
runs-on: ubuntu-latest
Expand Down
88 changes: 21 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,81 +1,35 @@
# Turborepo starter
# Jhecht's Utility Mono Repo

This is an official starter Turborepo.
This is a repo that holds all of my random projects.

## Using this example
## Projects

Run the following command:
Currently there are 5 projects in the repo:

```sh
npx create-turbo@latest
```
1. [ArkType Utils](#arktype-utils)
2. [Design Tokens](#design-tokens)
3. [Eslint Plugin](#eslint-plugin)
4. [Typescript Config](#typescript-config)
5. [Vite Plugin Design Tokens](#vite-plugin-design-tokens)

## What's inside?
## ArkType Utils

This Turborepo includes the following packages/apps:
[ArkType](https://arktpe.io) is a 1:1 TypeScript validation library. I utilize it heavily, so I created some wrapper utils around it

### Apps and Packages
## Design Tokens

- `docs`: a [Next.js](https://nextjs.org/) app
- `web`: another [Next.js](https://nextjs.org/) app
- `@repo/ui`: a stub React component library shared by both `web` and `docs` applications
- `@repo/eslint-config`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
- `@repo/typescript-config`: `tsconfig.json`s used throughout the monorepo
This is a port over of [jhechtf/design-tokens](https://github.com/jhechtf/design-tokens). The original project was written for
Deno, but with Deno basically becoming a sandbox for Node, I've decided to move the library over to Node fully, allowing for the
[Vite Plugin](#vite-plugin-design-tokens)

Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
## Eslint Plugin

### Utilities
Common ESLint stuff I use.

This Turborepo has some additional tools already setup for you:
## TypeScript Config

- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting
Common TypeScript Config I use for most projects

### Build
## Vite Plugin Design Tokens

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

```
cd my-turborepo
pnpm build
```

### Develop

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

```
cd my-turborepo
pnpm dev
```

### Remote Caching

Turborepo can use a technique known as [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching) to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can [create one](https://vercel.com/signup), then enter the following commands:

```
cd my-turborepo
npx turbo login
```

This will authenticate the Turborepo CLI with your [Vercel account](https://vercel.com/docs/concepts/personal-accounts/overview).

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your Turborepo:

```
npx turbo link
```

## Useful Links

Learn more about the power of Turborepo:

- [Tasks](https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
- [Caching](https://turbo.build/repo/docs/core-concepts/caching)
- [Remote Caching](https://turbo.build/repo/docs/core-concepts/remote-caching)
- [Filtering](https://turbo.build/repo/docs/core-concepts/monorepos/filtering)
- [Configuration Options](https://turbo.build/repo/docs/reference/configuration)
- [CLI Usage](https://turbo.build/repo/docs/reference/command-line-reference)
WIP - added in eagerly.
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
"build": "turbo build",
"dev": "turbo dev",
"lint": "turbo lint",
"lint:fix": "turbo lint:fix",
"prettier:format": "prettier --write \"**/*.{ts,tsx,md}\"",
"prettier:check": "prettier --check \"**/*.{ts,tsx,md}\"",
"publish-packages": "turbo run build lint test && changeset version && changeset publish",
"test": "turbo run test",
"test:changed": "turbo run --filter=[main...HEAD] test:ci"
"test:changed": "turbo run --filter=[main...HEAD] test:ci",
"changeset:ci": "changeset status"
},
"devDependencies": {
"@changesets/cli": "^2.27.1",
"@jhecht/eslint-plugin": "workspace:*",
"@jhecht/typescript-config": "workspace:*",
"prettier": "^3.1.1",
Expand All @@ -20,8 +23,5 @@
"packageManager": "pnpm@8.9.0",
"engines": {
"node": ">=18"
},
"dependencies": {
"@changesets/cli": "^2.27.1"
}
}
Loading

0 comments on commit b439139

Please sign in to comment.