mirror of
https://github.com/jbranchaud/til
synced 2026-01-04 15:48:01 +00:00
Add Execute A Command From The Workspace Root as a pnpm TIL
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||||
|
|
||||||
_1246 TILs and counting..._
|
_1247 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -43,6 +43,7 @@ _1246 TILs and counting..._
|
|||||||
* [Netlify](#netlify)
|
* [Netlify](#netlify)
|
||||||
* [Next.js](#nextjs)
|
* [Next.js](#nextjs)
|
||||||
* [Phoenix](#phoenix)
|
* [Phoenix](#phoenix)
|
||||||
|
* [pnpm](#pnpm)
|
||||||
* [PostgreSQL](#postgresql)
|
* [PostgreSQL](#postgresql)
|
||||||
* [Prisma](#prisma)
|
* [Prisma](#prisma)
|
||||||
* [Python](#python)
|
* [Python](#python)
|
||||||
@@ -552,6 +553,10 @@ _1246 TILs and counting..._
|
|||||||
- [Specifying The Digest Directory](phoenix/specifying-the-digest-directory.md)
|
- [Specifying The Digest Directory](phoenix/specifying-the-digest-directory.md)
|
||||||
- [Specifying The Server Port](phoenix/specifying-the-server-port.md)
|
- [Specifying The Server Port](phoenix/specifying-the-server-port.md)
|
||||||
|
|
||||||
|
### pnpm
|
||||||
|
|
||||||
|
- [Execute A Command From The Workspace Root](pnpm/execute-a-command-from-the-workspace-root.md)
|
||||||
|
|
||||||
### PostgreSQL
|
### PostgreSQL
|
||||||
|
|
||||||
- [A Better Null Display Character](postgres/a-better-null-display-character.md)
|
- [A Better Null Display Character](postgres/a-better-null-display-character.md)
|
||||||
|
|||||||
30
pnpm/execute-a-command-from-the-workspace-root.md
Normal file
30
pnpm/execute-a-command-from-the-workspace-root.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Execute A Command From The Workspace Root
|
||||||
|
|
||||||
|
[`pnpm`](https://pnpm.io/) is designed to work with monorepos. In a monorepo
|
||||||
|
project you'll have a root `package.json` (in the top-level directory of the
|
||||||
|
repository) as well as individual `package.json` files per app and package. If
|
||||||
|
you're working from within the directory of one of your apps and you invoke a
|
||||||
|
command, `pnpm` should execute that command for this app. The `pnpm` CLI does
|
||||||
|
give you control to execute the command from the workspace root instead if
|
||||||
|
you'd like.
|
||||||
|
|
||||||
|
A likely setup is that both your root `package.json` and your individual app
|
||||||
|
`package.json` files have a `build` command.
|
||||||
|
|
||||||
|
Invoking the build command from `apps/my-app`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm build
|
||||||
|
```
|
||||||
|
|
||||||
|
will run the `my-app` build command, as specified in its `package.json`.
|
||||||
|
|
||||||
|
You could instead throw in [the `--workspace-root`
|
||||||
|
flag](https://pnpm.io/pnpm-cli#-w---workspace-root).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pnpm --workspace-root build
|
||||||
|
```
|
||||||
|
|
||||||
|
This will ignore whatever subdirectory you are in and invoke the `build`
|
||||||
|
command defined in your top-level `package.json` file.
|
||||||
Reference in New Issue
Block a user