當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript semver.sort函數代碼示例

本文整理匯總了TypeScript中semver.sort函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript sort函數的具體用法?TypeScript sort怎麽用?TypeScript sort使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了sort函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: walkFolder

	function walkFolder(dir: string, scope?: string) {
		const contents = fs.readdirSync(dir)

		for (const pkg of contents) {
			const packagePath = path.join(dir, pkg)
			if (!fs.statSync(packagePath).isDirectory()) {
				continue
			}

			if (pkg.indexOf('@') !== -1) {
				walkFolder(packagePath, pkg)
			} else if (pkg[0] === '-' || pkg[0] === '_') {
				continue
			} else {
				const versions = semver
					.sort(
						fs.readdirSync(packagePath).filter(ver => {
							return fs.statSync(path.join(packagePath, ver)).isDirectory
						})
					)
					.reverse() as string[]

				const manifest = JSON.parse(
					fs.readFileSync(path.join(packagePath, versions[0], 'index.json')).toString()
				).reflection.manifest

				packages.push({
					name: scope ? `${scope}/${pkg}` : pkg,
					description: manifest.description,
					versions: versions
				})
			}
		}
	}
開發者ID:docscript,項目名稱:docscript,代碼行數:34,代碼來源:index.ts

示例2: run

export async function run(args: ReadonlyArray<string>): Promise<void> {
  try {
    await spawn('git', ['--version'])
  } catch {
    throw new Error('Unable to find Git on your PATH, aborting...')
  }

  try {
    await spawn('git', ['rev-parse', '--show-cdup'])
  } catch {
    throw new Error(
      `The current directory '${process.cwd()}' is not a Git repository, aborting...`
    )
  }

  if (args.length === 0) {
    // work out the latest tag created in the repository
    const allTags = await spawn('git', ['tag'])
    const releaseTags = allTags
      .split('\n')
      .filter(tag => tag.startsWith('release-'))
      .filter(tag => tag.indexOf('-linux') === -1)
      .filter(tag => tag.indexOf('-test') === -1)
      .map(tag => tag.substr(8))

    const sortedTags = semverSort(releaseTags)
    const latestTag = sortedTags[sortedTags.length - 1]

    throw new Error(
      `No tag specified to use as a starting point.\nThe latest tag specified is 'release-${latestTag}' - did you mean that?`
    )
  }

  const previousVersion = args[0]
  try {
    await spawn('git', ['rev-parse', previousVersion])
  } catch {
    throw new Error(
      `Unable to find ref '${previousVersion}' in your repository, aborting...`
    )
  }

  const lines = await getLogLines(previousVersion)
  const changelogEntries = await convertToChangelogFormat(lines)
  console.log(jsonStringify(changelogEntries))
}
開發者ID:ghmoore,項目名稱:desktop,代碼行數:46,代碼來源:run.ts

示例3: getLatestRelease

async function getLatestRelease(options: {
  excludeBetaReleases: boolean
}): Promise<string> {
  const allTags = await spawn('git', ['tag'])
  let releaseTags = allTags
    .split('\n')
    .filter(tag => tag.startsWith('release-'))
    .filter(tag => tag.indexOf('-linux') === -1)
    .filter(tag => tag.indexOf('-test') === -1)

  if (options.excludeBetaReleases) {
    releaseTags = releaseTags.filter(tag => tag.indexOf('-beta') === -1)
  }

  const releaseVersions = releaseTags.map(tag => tag.substr(8))

  const sortedTags = semverSort(releaseVersions)
  const latestTag = sortedTags[sortedTags.length - 1]

  return latestTag instanceof SemVer ? latestTag.raw : latestTag
}
開發者ID:ghmoore,項目名稱:desktop,代碼行數:21,代碼來源:run.ts

示例4:

num = semver.patch(str, loose);
strArr = semver.prerelease(str, loose);

// Comparison
bool = semver.gt(v1, v2, loose);
bool = semver.gte(v1, v2, loose);
bool = semver.lt(v1, v2, loose);
bool = semver.lte(v1, v2, loose);
bool = semver.eq(v1, v2, loose);
bool = semver.neq(v1, v2, loose);
bool = semver.cmp(v1, op, v2, loose);
comparatorResult = semver.compare(v1, v2, loose);
comparatorResult = semver.rcompare(v1, v2, loose);
comparatorResult = semver.compareIdentifiers(str, str);
comparatorResult = semver.rcompareIdentifiers(str, str);
versionsArr = semver.sort(['', new semver.SemVer('')]);
versionsArr = semver.rsort(['', new semver.SemVer('')]);
diff = semver.diff(v1, v2, loose);

// Ranges
str = semver.validRange(str, loose);
bool = semver.satisfies(version, str, loose);
str = semver.maxSatisfying(versions, str, loose);
str = semver.minSatisfying(versions, str, loose);
bool = semver.gtr(version, str, loose);
bool = semver.ltr(version, str, loose);
bool = semver.outside(version, str, '<', loose);
bool = semver.intersects(str, str, loose);

let ver = new semver.SemVer(str, bool);
str = ver.raw;
開發者ID:PriceSpider-NeuIntel,項目名稱:DefinitelyTyped,代碼行數:31,代碼來源:semver-tests.ts


注:本文中的semver.sort函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。