Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const icons = pluginOptions.icons || defaultIcons
const legacy =
typeof pluginOptions.legacy !== `undefined` ? pluginOptions.legacy : true
const cacheBusting =
typeof pluginOptions.cache_busting_mode !== `undefined`
? pluginOptions.cache_busting_mode
: `query`
// If icons were generated, also add a favicon link.
if (srcIconExists) {
const favicon = icons && icons.length ? icons[0].src : null
if (cacheBusting !== `none`) {
iconDigest = createContentDigest(fs.readFileSync(pluginOptions.icon))
}
const insertFaviconLinkTag =
typeof pluginOptions.include_favicon !== `undefined`
? pluginOptions.include_favicon
: true
if (favicon && insertFaviconLinkTag) {
headComponents.push(
)
}
// (there will always be one active connection since the dev server
// keeps a connection open for hot module reloading so we can't wait
// for networkidle0)
//
// unfortunately, this increases the minimum load time per route to
// ~500ms, which adds up quickly on large sites; there may be room
// for optimization here
logger.info(`visit`, route)
await page.goto(endpoint(route), { waitUntil: `networkidle2` })
bar.tick()
}
await browser.close()
logger.resetAdapter()
cache.hash = createContentDigest(routes)
cache.timestamp = Date.now()
await save(cache)
logger.print(`
${green(`ok!`)} a mapping between your application's routes and
font requirements has been generated; make sure to
add ${bold(`\`gatsby-plugin-preload-fonts\``)} to your app config
- ${dim(`output`)} ${bold(cacheFile)}
`)
}
${red(`err`)} could not establish a connection with the dev server
attempted connection to ${endpoint}
make sure you've run \`gatsby develop\` and set the
following env variables (if necessary)
- ${bold(`HOST`)} ${dim(`(default: localhost)`)}
- ${bold(`PORT`)} ${dim(`(default: 8000)`)}
- ${bold(`LOG_LEVEL`)} ${dim(`(default: error)`)}
- ${bold(`GRAPHQL_PATH`)} ${dim(`(default: /___graphql)`)}
`)
}
const routesHash = createContentDigest(routes)
if (cache.hash === routesHash) {
const lastRun = formatRelative(new Date(cache.timestamp), new Date())
const ok = await logger.confirm(`
${blue(`note`)} routes have not changed from the last run; if you haven't
added any new routes or font requirements since then, you
should be good to go! would you like to crawl them anyways?
- ${dim(`last run`)} ${bold(lastRun)}
- ${dim(`route hash`)} ${bold(cache.hash)}
`)
if (!ok) process.exit(0)
}
return routes