(dev = false)
| 172 | const isConstructor = (reference) => typeof reference === 'function'; |
| 173 | |
| 174 | const start = async (dev = false) => { |
| 175 | const { httpRoutes, webSocketRoutes, files } = dev |
| 176 | ? await build() |
| 177 | : await getSourceFiles(projectDir); |
| 178 | |
| 179 | log(`Importing all class overrides if present`); |
| 180 | |
| 181 | const [ |
| 182 | BrowserManager, |
| 183 | Config, |
| 184 | FileSystem, |
| 185 | Limiter, |
| 186 | Logger, |
| 187 | Metrics, |
| 188 | Monitoring, |
| 189 | Router, |
| 190 | Token, |
| 191 | Webhooks, |
| 192 | disabledRoutes, |
| 193 | Hooks, |
| 194 | ] = await Promise.all([ |
| 195 | importDefault(files, 'browser-manager'), |
| 196 | importDefault(files, 'config'), |
| 197 | importDefault(files, 'file-system'), |
| 198 | importDefault(files, 'limiter'), |
| 199 | importDefault(files, 'logger'), |
| 200 | importDefault(files, 'metrics'), |
| 201 | importDefault(files, 'monitoring'), |
| 202 | importDefault(files, 'router'), |
| 203 | importDefault(files, 'token'), |
| 204 | importDefault(files, 'webhooks'), |
| 205 | importDefault(files, 'disabled-routes'), |
| 206 | importDefault(files, 'hooks'), |
| 207 | ]); |
| 208 | |
| 209 | log(`Starting Browserless`); |
| 210 | |
| 211 | const config = isConstructor(Config) ? new Config() : Config; |
| 212 | const metrics = isConstructor(Metrics) ? new Metrics() : Metrics; |
| 213 | const token = isConstructor(Token) ? new Token(config) : Token; |
| 214 | const webhooks = isConstructor(Webhooks) ? new Webhooks(config) : Webhooks; |
| 215 | const hooks = isConstructor(Hooks) ? new Hooks() : Hooks; |
| 216 | const browserManager = isConstructor(BrowserManager) |
| 217 | ? new BrowserManager(config) |
| 218 | : BrowserManager; |
| 219 | const monitoring = isConstructor(Monitoring) |
| 220 | ? new Monitoring(config) |
| 221 | : Monitoring; |
| 222 | const fileSystem = isConstructor(FileSystem) |
| 223 | ? new FileSystem(config) |
| 224 | : FileSystem; |
| 225 | const limiter = isConstructor(Limiter) |
| 226 | ? new Limiter(config, metrics, monitoring, webhooks) |
| 227 | : Limiter; |
| 228 | const router = isConstructor(Router) |
| 229 | ? new Router(config, browserManager, limiter) |
| 230 | : Router; |
| 231 |
no test coverage detected