UNPKG

4.77 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/util/repositoryInfo.ts"],"names":[],"mappings":"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","sourcesContent":["import { orNullIfFileNotExist } from \"builder-util/out/promise\"\nimport { readFile } from \"fs-extra-p\"\nimport { fromUrl, Info } from \"hosted-git-info\"\nimport * as path from \"path\"\nimport { SourceRepositoryInfo } from \"../core\"\nimport { Metadata, RepositoryInfo } from \"..\"\n\nexport function getRepositoryInfo(projectDir: string, metadata?: Metadata, devMetadata?: Metadata | null): Promise<SourceRepositoryInfo | null> {\n return _getInfo(projectDir, (devMetadata == null ? null : devMetadata.repository) || (metadata == null ? null : metadata.repository))\n}\n\nasync function getGitUrlFromGitConfig(projectDir: string): Promise<string | null> {\n const data = await orNullIfFileNotExist(readFile(path.join(projectDir, \".git\", \"config\"), \"utf8\"))\n if (data == null) {\n return null\n }\n\n const conf = data.split(/\\r?\\n/)\n const i = conf.indexOf('[remote \"origin\"]')\n if (i !== -1) {\n let u = conf[i + 1]\n if (!u.match(/^\\s*url =/)) {\n u = conf[i + 2]\n }\n\n if (u.match(/^\\s*url =/)) {\n return u.replace(/^\\s*url = /, \"\")\n }\n }\n return null\n}\n\nasync function _getInfo(projectDir: string, repo?: RepositoryInfo | string | null): Promise<SourceRepositoryInfo | null> {\n if (repo != null) {\n return parseRepositoryUrl(typeof repo === \"string\" ? repo : repo.url)\n }\n\n const slug = process.env.TRAVIS_REPO_SLUG || process.env.APPVEYOR_REPO_NAME\n if (slug != null) {\n const splitted = slug.split(\"/\")\n return {\n user: splitted[0],\n project: splitted[1],\n }\n }\n\n const user = process.env.CIRCLE_PROJECT_USERNAME\n const project = process.env.CIRCLE_PROJECT_REPONAME\n if (user != null && project != null) {\n return {\n user,\n project,\n }\n }\n\n const url = await getGitUrlFromGitConfig(projectDir)\n return url == null ? null : parseRepositoryUrl(url)\n}\n\nfunction parseRepositoryUrl(url: string): Info {\n const info: any = fromUrl(url)\n if (info != null) {\n delete info.protocols\n delete info.treepath\n delete info.filetemplate\n delete info.bugstemplate\n delete info.gittemplate\n delete info.tarballtemplate\n delete info.sshtemplate\n delete info.sshurltemplate\n delete info.browsetemplate\n delete info.docstemplate\n delete info.httpstemplate\n delete info.shortcuttemplate\n delete info.pathtemplate\n delete info.pathmatch\n delete info.protocols_re\n delete info.committish\n delete info.default\n delete info.opts\n delete info.browsefiletemplate\n delete info.auth\n }\n return info\n}"],"sourceRoot":""}