@@ -106,8 +106,21 @@ public struct TuistCommand: AsyncParsableCommand {
106106 if processedArguments. first == ScaffoldCommand . configuration. commandName {
107107 try await ScaffoldCommand . preprocess ( processedArguments)
108108 }
109- let config = try await ConfigLoader ( ) . loadConfig ( path: path)
110- let serverURL = try ServerEnvironmentService ( ) . url ( configServerURL: config. url)
109+ let shouldTrackAnalytics = processedArguments. prefix ( 2 ) != [ " inspect " , " build " ]
110+ && processedArguments. prefix ( 2 ) != [ " inspect " , " test " ]
111+ && processedArguments. prefix ( 2 ) != [ " auth " , " refresh-token " ]
112+ && processedArguments. first != " analytics-upload "
113+
114+ let config : TuistCore . Tuist ?
115+ let serverURL : URL ?
116+ if shouldTrackAnalytics {
117+ let loadedConfig = try await ConfigLoader ( ) . loadConfig ( path: path)
118+ config = loadedConfig
119+ serverURL = try ServerEnvironmentService ( ) . url ( configServerURL: loadedConfig. url)
120+ } else {
121+ config = nil
122+ serverURL = nil
123+ }
111124 let command = try parseAsRoot ( processedArguments)
112125
113126 if command is RecentPathRememberableCommand {
@@ -123,23 +136,20 @@ public struct TuistCommand: AsyncParsableCommand {
123136 command: command,
124137 commandArguments: processedArguments
125138 )
126- let shouldTrackAnalytics = processedArguments. prefix ( 2 ) != [ " inspect " , " build " ]
127- && processedArguments. prefix ( 2 ) != [ " auth " , " refresh-token " ]
128- && processedArguments. first != " analytics-upload "
129139 if let nooraReadyCommand = command as? NooraReadyCommand {
130140 let jsonThroughNoora = nooraReadyCommand. jsonThroughNoora
131141 try await withLoggerForNoora ( logFilePath: logFilePath) {
132142 try await Noora . $current. withValue ( initNoora ( jsonThroughNoora: jsonThroughNoora) ) {
133143 try await trackableCommand. run (
134- fullHandle: config. fullHandle,
144+ fullHandle: config? . fullHandle,
135145 serverURL: serverURL,
136146 shouldTrackAnalytics: shouldTrackAnalytics
137147 )
138148 }
139149 }
140150 } else {
141151 try await trackableCommand. run (
142- fullHandle: config. fullHandle,
152+ fullHandle: config? . fullHandle,
143153 serverURL: serverURL,
144154 shouldTrackAnalytics: shouldTrackAnalytics
145155 )
0 commit comments