async function extractRoutesFromFiles()

in compiler/src/dump/extract-routes.ts [283:317]


async function extractRoutesFromFiles (outPath: string): Promise<void> {
  const v8Spec = await readFile(
    V8SchemaUrl,
    { encoding: 'utf8' }
  )

  const v7Schema = await fetch(V7SchemaUrl)
  const v7Spec = await v7Schema.text()

  const serverlessSpec = await readFile(
    serverlessSchemaUrl,
    { encoding: 'utf8' }
  )

  const versions = new Map<string, string>()
  versions.set('7', v7Spec)
  versions.set('8', v8Spec)
  versions.set('serverless', serverlessSpec)

  const forest = new Forest()

  versions.forEach(function (spec, version) {
    const inputModel = JSON.parse(spec)
    if (debugRoutes) {
      debugTestRoutes(version, inputModel)
    }
    const routes = extractRoutes(inputModel)
    forest.byVersion.set(version, routes)
  })
  forest.byVersion.set('0', defaultRoutes())

  const str = serializeForest(forest)

  await writeFile(outPath, str)
}