@@ -38,6 +38,11 @@ const ModulesToLookFor = [
38
38
'hapi' ,
39
39
'socket.io' ,
40
40
'restify' ,
41
+ 'next' ,
42
+ 'nuxt' ,
43
+ '@nestjs/core' ,
44
+ 'strapi' ,
45
+ 'gatsby' ,
41
46
// JS frameworks
42
47
'react' ,
43
48
'react-native' ,
@@ -48,6 +53,7 @@ const ModulesToLookFor = [
48
53
'@ionic' ,
49
54
'vue' ,
50
55
'tns-core-modules' ,
56
+ '@nativescript/core' ,
51
57
'electron' ,
52
58
// Other interesting packages
53
59
'aws-sdk' ,
@@ -297,6 +303,8 @@ export class WorkspaceTagsService implements IWorkspaceTagsService {
297
303
"workspace.grunt" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
298
304
"workspace.gulp" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
299
305
"workspace.jake" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
306
+ "workspace.devcontainer" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
307
+ "workspace.docker" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
300
308
"workspace.tsconfig" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
301
309
"workspace.jsconfig" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
302
310
"workspace.config.xml" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
@@ -311,6 +319,11 @@ export class WorkspaceTagsService implements IWorkspaceTagsService {
311
319
"workspace.npm.hapi" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
312
320
"workspace.npm.socket.io" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
313
321
"workspace.npm.restify" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
322
+ "workspace.npm.next" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
323
+ "workspace.npm.nuxt" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
324
+ "workspace.npm.@nestjs/core" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
325
+ "workspace.npm.strapi" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
326
+ "workspace.npm.gatsby" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
314
327
"workspace.npm.rnpm-plugin-windows" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
315
328
"workspace.npm.react" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
316
329
"workspace.npm.@angular/core" : { "classification": "SystemMetaData", "purpose": "FeatureInsight", "isMeasurement": true },
@@ -566,6 +579,8 @@ export class WorkspaceTagsService implements IWorkspaceTagsService {
566
579
tags [ 'workspace.grunt' ] = nameSet . has ( 'gruntfile.js' ) ;
567
580
tags [ 'workspace.gulp' ] = nameSet . has ( 'gulpfile.js' ) ;
568
581
tags [ 'workspace.jake' ] = nameSet . has ( 'jakefile.js' ) ;
582
+ tags [ 'workspace.devcontainer' ] = nameSet . has ( 'devcontainer.json' ) ;
583
+ tags [ 'workspace.docker' ] = nameSet . has ( 'Dockerfile' ) || nameSet . has ( 'docker-compose.yml' ) ;
569
584
570
585
tags [ 'workspace.tsconfig' ] = nameSet . has ( 'tsconfig.json' ) ;
571
586
tags [ 'workspace.jsconfig' ] = nameSet . has ( 'jsconfig.json' ) ;
@@ -696,9 +711,9 @@ export class WorkspaceTagsService implements IWorkspaceTagsService {
696
711
let dependencies = Object . keys ( packageJsonContents [ 'dependencies' ] || { } ) . concat ( Object . keys ( packageJsonContents [ 'devDependencies' ] || { } ) ) ;
697
712
698
713
for ( let dependency of dependencies ) {
699
- if ( 'react-native' === dependency ) {
714
+ if ( dependency . startsWith ( 'react-native' ) ) {
700
715
tags [ 'workspace.reactNative' ] = true ;
701
- } else if ( 'tns-core-modules' === dependency ) {
716
+ } else if ( 'tns-core-modules' === dependency || '@nativescript/core' === dependency ) {
702
717
tags [ 'workspace.nativescript' ] = true ;
703
718
} else if ( ModulesToLookFor . indexOf ( dependency ) > - 1 ) {
704
719
tags [ 'workspace.npm.' + dependency ] = true ;
@@ -755,6 +770,7 @@ export class WorkspaceTagsService implements IWorkspaceTagsService {
755
770
// Ignore errors when resolving android
756
771
} ) ;
757
772
} ) ;
773
+
758
774
return Promise . all ( [ ...packageJsonPromises , ...requirementsTxtPromises , ...pipfilePromises , ...pomPromises , ...gradlePromises , ...androidPromises ] ) . then ( ( ) => tags ) ;
759
775
} ) ;
760
776
}
0 commit comments