🔧(global) setup Turborepo and package.json

Add configuration files to make use of Turborepo.
Setup constraints values for package.json regarding node and package manager.
This commit is contained in:
Nathan Vasse
2022-12-01 12:01:10 +01:00
committed by NathanVss
parent 0b532742e7
commit 2a26279cc2
6 changed files with 13332 additions and 2 deletions

26
.gitignore vendored Normal file
View File

@@ -0,0 +1,26 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist-ssr
dist
*.local`
.tsbuildinfo
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.iml
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

1
.prettierignore Normal file
View File

@@ -0,0 +1 @@
dist/

View File

@@ -1,2 +1,73 @@
# cunningham
🎨 The Open FUN Design System
# Turborepo starter
This is an official Yarn v1 starter turborepo.
## What's inside?
This turborepo uses [Yarn](https://classic.yarnpkg.com/) as a package manager. It includes the following packages/apps:
### Apps and Packages
- `docs`: a [Next.js](https://nextjs.org/) app
- `web`: another [Next.js](https://nextjs.org/) app
- `ui`: a stub React component library shared by both `web` and `docs` applications
- `eslint-config-custom`: `eslint` configurations (includes `eslint-config-next` and `eslint-config-prettier`)
- `tsconfig`: `tsconfig.json`s used throughout the monorepo
Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
### Utilities
This turborepo has some additional tools already setup for you:
- [TypeScript](https://www.typescriptlang.org/) for static type checking
- [ESLint](https://eslint.org/) for code linting
- [Prettier](https://prettier.io) for code formatting
### Build
To build all apps and packages, run the following command:
```
cd my-turborepo
yarn run build
```
### Develop
To develop all apps and packages, run the following command:
```
cd my-turborepo
yarn run 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:
- [Pipelines](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)

26
package.json Normal file
View File

@@ -0,0 +1,26 @@
{
"name": "cunningham",
"version": "0.0.0",
"private": true,
"workspaces": [
"apps/*",
"packages/*"
],
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev --parallel",
"test": "turbo run test",
"lint": "turbo run lint",
"deploy": "turbo run deploy",
"format": "prettier --write \"**/*.{ts,tsx,md}\""
},
"devDependencies": {
"prettier": "2.8.0",
"turbo": "1.6.3"
},
"engines": {
"node": ">=16.0.0"
},
"dependencies": {},
"packageManager": "yarn@1.22.19"
}

39
turbo.json Normal file
View File

@@ -0,0 +1,39 @@
{
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
"dependsOn": [
"^build"
],
"outputs": [
"dist/**"
]
},
"lint": {
"outputs": []
},
"dev": {
"cache": false,
"dependsOn": [
"^dev"
]
},
"test": {
"outputs": [],
"inputs": [
"src/**/*.tsx",
"src/**/*.ts",
"test/**/*.ts",
"test/**/*.tsx"
]
},
"deploy": {
"dependsOn": [
"build",
"test",
"lint"
],
"outputs": []
}
}
}

13167
yarn.lock Normal file

File diff suppressed because it is too large Load Diff