Bun Workspaces
Bunのworkspaces
を試す。
Directory Structure
.
├── package.json
├── packages
│ ├── a
│ │ ├── index.ts
│ │ └── package.json
│ └── b
│ ├── index.ts
│ └── package.json
└── src
└── index.ts
packages/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"
}