@@ -140,11 +140,22 @@ export function validateWorkspace(json: JsonObject) {
140
140
return true ;
141
141
}
142
142
143
+ function getProjectByCwd ( workspace : experimental . workspace . Workspace ) : string | null {
144
+ try {
145
+ return workspace . getProjectByPath ( normalize ( process . cwd ( ) ) ) ;
146
+ } catch ( e ) {
147
+ if ( e instanceof experimental . workspace . AmbiguousProjectPathException ) {
148
+ return workspace . getDefaultProjectName ( ) ;
149
+ }
150
+ throw e ;
151
+ }
152
+ }
153
+
143
154
export function getPackageManager ( ) : string {
144
155
let workspace = getWorkspace ( 'local' ) ;
145
156
146
157
if ( workspace ) {
147
- const project = workspace . getProjectByPath ( normalize ( process . cwd ( ) ) ) ;
158
+ const project = getProjectByCwd ( workspace ) ;
148
159
if ( project && workspace . getProjectCli ( project ) ) {
149
160
const value = workspace . getProjectCli ( project ) [ 'packageManager' ] ;
150
161
if ( typeof value == 'string' ) {
@@ -258,7 +269,7 @@ export function getDefaultSchematicCollection(): string {
258
269
let workspace = getWorkspace ( 'local' ) ;
259
270
260
271
if ( workspace ) {
261
- const project = workspace . getProjectByPath ( normalize ( process . cwd ( ) ) ) ;
272
+ const project = getProjectByCwd ( workspace ) ;
262
273
if ( project && workspace . getProjectCli ( project ) ) {
263
274
const value = workspace . getProjectCli ( project ) [ 'defaultCollection' ] ;
264
275
if ( typeof value == 'string' ) {
@@ -319,7 +330,7 @@ export function getSchematicDefaults(
319
330
}
320
331
}
321
332
322
- project = project || workspace . getProjectByPath ( normalize ( process . cwd ( ) ) ) ;
333
+ project = project || getProjectByCwd ( workspace ) ;
323
334
if ( project && workspace . getProjectSchematics ( project ) ) {
324
335
const schematicObject = workspace . getProjectSchematics ( project ) [ fullName ] ;
325
336
if ( schematicObject ) {
@@ -339,7 +350,7 @@ export function isWarningEnabled(warning: string): boolean {
339
350
let workspace = getWorkspace ( 'local' ) ;
340
351
341
352
if ( workspace ) {
342
- const project = workspace . getProjectByPath ( normalize ( process . cwd ( ) ) ) ;
353
+ const project = getProjectByCwd ( workspace ) ;
343
354
if ( project && workspace . getProjectCli ( project ) ) {
344
355
const warnings = workspace . getProjectCli ( project ) [ 'warnings' ] ;
345
356
if ( typeof warnings == 'object' && ! Array . isArray ( warnings ) ) {
0 commit comments