(
path: string,
persist = true,
)
| 245 | } |
| 246 | |
| 247 | async addAdditionalDir( |
| 248 | path: string, |
| 249 | persist = true, |
| 250 | ): Promise<WorkspaceAdditionalDirsLoadResult & { readonly persisted: boolean }> { |
| 251 | const cwd = this.toolKaos.getcwd(); |
| 252 | const systemKaos = this.systemContextKaos(cwd); |
| 253 | if (persist) { |
| 254 | const result = await appendWorkspaceAdditionalDir(systemKaos, cwd, path, this.additionalDirs); |
| 255 | const additionalDirs = normalizeAdditionalDirs([...this.additionalDirs, ...result.additionalDirs]); |
| 256 | await this.setAdditionalDirs(additionalDirs); |
| 257 | this.notifyAdditionalDirAdded(path, true, result.configPath); |
| 258 | return { ...result, additionalDirs, persisted: true }; |
| 259 | } |
| 260 | |
| 261 | const workspace = await readWorkspaceAdditionalDirs(systemKaos, cwd); |
| 262 | const additionalDirs = await resolveWorkspaceAdditionalDirs(systemKaos, cwd, [path]); |
| 263 | const nextAdditionalDirs = normalizeAdditionalDirs([...this.additionalDirs, ...additionalDirs]); |
| 264 | await this.setAdditionalDirs(nextAdditionalDirs); |
| 265 | this.notifyAdditionalDirAdded(path, false, workspace.configPath); |
| 266 | return { |
| 267 | projectRoot: workspace.projectRoot, |
| 268 | configPath: workspace.configPath, |
| 269 | additionalDirs: nextAdditionalDirs, |
| 270 | persisted: false, |
| 271 | }; |
| 272 | } |
| 273 | |
| 274 | private notifyAdditionalDirAdded(path: string, persisted: boolean, configPath: string): void { |
| 275 | const message = persisted |
no test coverage detected