# @zk-tech/services-common

从 `@zk-tech/bedrock` 拆分出的通用服务层，提供 DynamicDependency、ExtensionService、ContainerFactory 等能力。依赖 `@zk-tech/bedrock` 的 di、dispose、scheduler、lodash-es 等模块。
> 解决构建问题

## 安装

```bash
pnpm add @zk-tech/services-common @zk-tech/bedrock
```

## 导出子路径

- **`@zk-tech/services-common/container-factory`**  
  `AbstractContainerFactory`、`generateRegisterLazyServiceTask`、`RegisterChildLevelServiceOptions`

- **`@zk-tech/services-common/services/dynamic-dependency`**  
  `DynamicDependencyService`、`IDynamicDependencyService`

- **`@zk-tech/services-common/services/service-extension`**  
  `ExtensionService`、`IExtensionService`、`IContributionDescriptor`、`InstantiationPhase`

## 使用示例

```ts
import { DynamicDependencyService } from '@zk-tech/services-common/services/dynamic-dependency';
import { ContainerService, ServiceRegistry, ServiceCollection } from '@zk-tech/bedrock/di';

const registry = new ServiceRegistry();
const container = new ContainerService(registry.makeCollection());
const dynamicDep = new DynamicDependencyService(container);
const childRegistry = new ServiceRegistry();
const child = dynamicDep.createChild(childRegistry.makeCollection());
```

## 脚本

- `pnpm run build` - 构建
- `pnpm run test` / `pnpm run test:run` - 运行测试
- `pnpm run clean` - 清理 dist
