in scripts/generate.js [72:125]
  function onArtifactsDownloaded () {
    log = ora('Generating APIs').start()
    log.text = 'Cleaning API folder...'
    rimraf.sync(join(apiOutputFolder, '*.js'))
    const allSpec = readdirSync(downloadArtifacts.locations.specFolder)
      .filter(file => file !== '_common.json')
      .filter(file => !file.includes('deprecated'))
      .sort()
      .map(file => require(join(downloadArtifacts.locations.specFolder, file)))
    const namespaces = namespacify(readdirSync(downloadArtifacts.locations.specFolder))
    for (const namespace in namespaces) {
      if (namespace === '_common') continue
      const code = generate(namespace, namespaces[namespace], downloadArtifacts.locations.specFolder, opts.version)
      const filePath = join(apiOutputFolder, `${namespace}.js`)
      writeFileSync(filePath, code, { encoding: 'utf8' })
    }
    writeFileSync(
      requestParamsOutputFile,
      generateRequestTypes(opts.version, allSpec),
      { encoding: 'utf8' }
    )
    const { fn: factory, types } = genFactory(apiOutputFolder, downloadArtifacts.locations.specFolder, namespaces)
    writeFileSync(
      mainOutputFile,
      factory,
      { encoding: 'utf8' }
    )
    const oldTypeDefString = readFileSync(typeDefFile, 'utf8')
    const start = oldTypeDefString.indexOf('/* GENERATED */')
    const end = oldTypeDefString.indexOf('/* /GENERATED */')
    const newTypeDefString = oldTypeDefString.slice(0, start + 15) + '\n' + types + '\n  ' + oldTypeDefString.slice(end)
    writeFileSync(
      typeDefFile,
      newTypeDefString,
      { encoding: 'utf8' }
    )
    lintFiles(log, () => {
      log.text = 'Generating documentation'
      writeFileSync(
        docOutputFile,
        generateDocs(require(join(downloadArtifacts.locations.specFolder, '_common.json')), allSpec),
        { encoding: 'utf8' }
      )
      log.succeed('Done!')
    })
  }