MCPcopy
hub / github.com/browserless/browserless / start

Function start

bin/browserless.js:174–297  ·  view source on GitHub ↗
(dev = false)

Source from the content-addressed store, hash-verified

172const isConstructor = (reference) => typeof reference === 'function';
173
174const 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

Callers 1

browserless.jsFile · 0.70

Calls 12

setStaticSDKDirMethod · 0.95
disableRoutesMethod · 0.95
addHTTPRouteMethod · 0.95
addWebSocketRouteMethod · 0.95
startMethod · 0.95
stopMethod · 0.95
buildFunction · 0.85
getSourceFilesFunction · 0.85
importDefaultFunction · 0.85
isConstructorFunction · 0.85
errorMethod · 0.80
debugMethod · 0.80

Tested by

no test coverage detected