Bun Workspaces
Bunのworkspacesを試す。
Directory Structure
.
├── package.json
├── packages
│ ├── a
│ │ ├── index.ts
│ │ └── package.json
│ └── b
│ ├── index.ts
│ └── package.json
└── src
└── index.tspackages/a/
json
{
"name": "@pkg/a"
}ts
export const pkga = (): string => {
return 'パッケージAです'
}packages/b/
json
{
"name": "@pkg/b"
}ts
export const pkgb = (): string => {
return 'パッケージBです'
}src/index.tsから利用
ルートパッケージを誤って後悔しないように、"private": trueをつけるのが慣例。
json
{
"private": true,
"workspaces": ["packages/*"]
}ts
import { pkga } from '@pkg/a'
import { pkgb } from '@pkg/b'
const resa: string = pkga()
const resb: string = pkgb()
console.log(resa)
console.log(resb)Execution
パッケージAです
パッケージBですWARNING
もし、ディレクトリ変更した場合
├── package.json
├── packages
│ ├── a
│ │ ├── package.json
│ │ └── src
│ │ └── index.ts
│ └── b
│ ├── package.json
│ └── src
│ └── index.ts
├── README.md
└── src
└── index.ts "main"のパスを合わせる。
json
{
"name": "@pkg/a",
"main": "src/index.ts"
}json
{
"name": "@pkg/b",
"main": "src/index.ts"
}