refactor: restructure bastion as pnpm monorepo (@lab/shared, @lab/bastion, @lab/cli)

- Split into 3 workspace packages: shared (types/constants), bastion (server), cli
- CLI binary renamed from "bastion" to "lab"
- Cross-package imports via @lab/shared and @lab/bastion workspace references
- Extracted BastionConfig, BastionState, HardwareInfo types into @lab/shared
- Added APP_NAME/APP_VERSION constants
- tsconfig.base.json with project references for build ordering
- Root workspace scripts: build, test, typecheck, clean

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Michal
2026-03-17 11:05:41 +00:00
parent 937c01f5d9
commit 64533b2dcf
40 changed files with 344 additions and 143 deletions

56
bastion/pnpm-lock.yaml generated
View File

@@ -7,22 +7,6 @@ settings:
importers:
.:
dependencies:
'@fastify/static':
specifier: ^8.0.0
version: 8.3.0
commander:
specifier: ^13.0.0
version: 13.1.0
execa:
specifier: ^9.5.0
version: 9.6.1
fastify:
specifier: ^5.0.0
version: 5.8.2
winston:
specifier: ^3.17.0
version: 3.19.0
devDependencies:
'@types/node':
specifier: ^22.10.0
@@ -40,6 +24,46 @@ importers:
specifier: ^3.0.0
version: 3.2.4(@types/node@22.19.15)(tsx@4.21.0)
src/bastion:
dependencies:
'@fastify/static':
specifier: ^8.0.0
version: 8.3.0
'@lab/shared':
specifier: workspace:*
version: link:../shared
execa:
specifier: ^9.5.0
version: 9.6.1
fastify:
specifier: ^5.0.0
version: 5.8.2
winston:
specifier: ^3.17.0
version: 3.19.0
devDependencies:
'@types/node':
specifier: ^22.10.0
version: 22.19.15
src/cli:
dependencies:
'@lab/bastion':
specifier: workspace:*
version: link:../bastion
'@lab/shared':
specifier: workspace:*
version: link:../shared
commander:
specifier: ^13.0.0
version: 13.1.0
devDependencies:
'@types/node':
specifier: ^22.10.0
version: 22.19.15
src/shared: {}
packages:
'@colors/colors@1.6.0':