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


TypeScript polymer-workspaces.run函數代碼示例

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


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

示例1: testWorkspaceInstallOnly

export async function testWorkspaceInstallOnly(
    localConversionMap: Map<string, string>, options: WorkspaceTestSettings) {
  const allRepos = options.reposToConvert;

  logStep(1, 4, '🔧', `Preparing Repos...`);
  const setupRepoResults =
      await setupRepos(allRepos, localConversionMap, options);
  setupRepoResults.failures.forEach(logRepoError);

  logStep(2, 4, '🔧', `Installing Dependencies...`);
  const runResults =
      await run([...setupRepoResults.successes.keys()], async (repo) => {
        try {
          return await installNpmDependencies(repo);
        } catch (err) {
          logRepoError(err, repo);
          throw err;
        }
      }, {concurrency: 1});

  logStep(3, 4, '🔧', `Restoring Repos...`);
  const restoreResults = await restoreRepos(allRepos);
  restoreResults.failures.forEach(logRepoError);

  logStep(4, 4, '🔧', `Tests Complete!`);
  return [...runResults.successes.keys()];
}
開發者ID:,項目名稱:,代碼行數:27,代碼來源:

示例2: setupRepos

/**
 * Setup the workspace repos for testing. Be sure to call restoreRepos() after
 * testing is complete.
 */
async function setupRepos(
    reposUnderTest: WorkspaceRepo[],
    localConversionMap: ConversionResultsMap,
    options: WorkspaceTestSettings) {
  return run(reposUnderTest, async (repo) => {
    await exec(repo.dir, 'git', ['checkout', '-B', localDependenciesBranch]);
    await writeTestingPackageJson(repo, localConversionMap, options);
    await exec(
        repo.dir, 'git', ['commit', '-am', 'testing commit', '--allow-empty']);
  }, {concurrency: 10});
}
開發者ID:,項目名稱:,代碼行數:15,代碼來源:

示例3: testWorkspace

export async function testWorkspace(
    localConversionMap: Map<string, string>, options: WorkspaceTestSettings) {
  const {wctFlagsRaw} = await inquirer.prompt([
    {
      type: 'input',
      name: 'wctFlagsRaw',
      message: 'wct flags:',
      default: (options.importStyle === 'path') ?
          '--npm' :
          '--npm --module-resolution=node',
    },
  ]);

  const allRepos = options.reposToConvert;
  const wctFlags: string[] = wctFlagsRaw.split(/\s+/);

  logStep(1, 4, '🔧', `Preparing Repos...`);
  const setupRepoResults =
      await setupRepos(allRepos, localConversionMap, options);
  setupRepoResults.failures.forEach(logRepoError);

  logStep(2, 4, '🔧', `Running Tests...`);
  const runResults =
      await run([...setupRepoResults.successes.keys()], async (repo) => {
        try {
          await installNpmDependencies(repo);
          return await testRepo(repo, wctFlags);
        } catch (err) {
          logRepoError(err, repo);
          throw err;
        }
      }, {concurrency: 1});

  logStep(3, 4, '🔧', `Restoring Repos...`);
  const restoreResults = await restoreRepos(allRepos);
  restoreResults.failures.forEach(logRepoError);

  logStep(4, 4, '🔧', `Tests Complete!`);
  return [...runResults.successes.keys()];
}
開發者ID:,項目名稱:,代碼行數:40,代碼來源:

示例4: convert

/**
 * Convert a set of workspace repos to npm packages and JavaScript modules.
 * Returns a map of all packages converted, keyed by npm package name.
 */
export default async function convert(options: WorkspaceConversionSettings):
    Promise<ConversionResultsMap> {
  const analyzer = configureAnalyzer(options);
  const analysis = await analyzer.analyzePackage();
  const conversionSettings = createDefaultConversionSettings(analysis, options);
  const urlHandler = new WorkspaceUrlHandler(analyzer, options.workspaceDir);
  const converter =
      new ProjectConverter(analysis, urlHandler, conversionSettings);
  const scannedPackageResults: ConversionResultsMap = new Map();

  // For each repo, convert the full package:
  for (const repo of options.reposToConvert) {
    const repoDirName = path.basename(repo.dir);
    const bowerConfigPath = path.join(repo.dir, 'bower.json');
    const npmPackageName = lookupNpmPackageName(bowerConfigPath);
    if (!npmPackageName) {
      continue;
    }
    scannedPackageResults.set(npmPackageName, repo.dir);
    await converter.convertPackage(repoDirName);
  }

  // Process & write each conversion result:
  const results = converter.getResults();
  await writeFileResults(options.workspaceDir, results);

  // update .travis.yml files for repos
  for (const repo of options.reposToConvert) {
    await transformTravisConfig(repo.dir, repo.dir);
  }

  // add `node_modules` to gitignore
  for (const repo of options.reposToConvert) {
    const gitIgnoreFile = path.join(repo.dir, '.gitignore');
    await ignoreNodeModules(gitIgnoreFile);
  }

  // Generate a new package.json for each repo:
  const packageJsonResults = await run(
      options.reposToConvert, async (repo) => await writePackageJson(repo, {
                                version: options.packageVersion,
                                flat: options.flat,
                                private: options.private,
                              }));
  packageJsonResults.failures.forEach(logRepoError);

  const manifestResults = await run(options.reposToConvert, async (repo) => {
    return writeConversionManifest(repo, converter);
  });
  manifestResults.failures.forEach(logRepoError);

  // Delete files that were explicitly requested to be deleted. Note we apply
  // the glob with each repo as the root directory (e.g. a glob of "types"
  // will delete "types" from each individual repo).
  if (options.deleteFiles !== undefined) {
    for (const repo of options.reposToConvert) {
      await deleteGlobsSafe(options.deleteFiles, repo.dir);
    }
  }

  // Commit all changes to a staging branch for easy state resetting.
  // Useful when performing actions that modify the repo, like installing deps.
  const commitResults = await run(options.reposToConvert, async (repo) => {
    await repo.git.createBranch(GIT_STAGING_BRANCH_NAME);
    await exec(repo.dir, 'git', ['add', '-A']);
    // TODO(fks): Add node_modules to .gitignore, if not found
    // https://github.com/Polymer/polymer-modulizer/issues/250
    await exec(repo.dir, 'git', ['reset', '--', 'node_modules/']);
    await repo.git.commit('auto-converted by polymer-modulizer');
  });
  commitResults.failures.forEach(logRepoError);

  // Return a map of all packages converted, keyed by npm package name.
  return scannedPackageResults;
}
開發者ID:,項目名稱:,代碼行數:79,代碼來源:

示例5: restoreRepos

/**
 * Restore the repos to their proper state.
 */
async function restoreRepos(reposUnderTest: WorkspaceRepo[]) {
  return run(reposUnderTest, async (repo) => {
    await repo.git.destroyAllUncommittedChangesAndFiles();
    await repo.git.checkout(GIT_STAGING_BRANCH_NAME);
  }, {concurrency: 10});
}
開發者ID:,項目名稱:,代碼行數:9,代碼來源:


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