Skip to content

Commit

Permalink
feat(devkit): move runTasksInSerial to devkit (#15467)
Browse files Browse the repository at this point in the history
  • Loading branch information
Coly010 committed Mar 6, 2023
1 parent ffac350 commit 8744698
Show file tree
Hide file tree
Showing 60 changed files with 226 additions and 106 deletions.
19 changes: 19 additions & 0 deletions docs/generated/devkit/nrwl_devkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ It only uses language primitives and immutable objects
- [removeProjectConfiguration](../../devkit/documents/nrwl_devkit#removeprojectconfiguration)
- [reverse](../../devkit/documents/nrwl_devkit#reverse)
- [runExecutor](../../devkit/documents/nrwl_devkit#runexecutor)
- [runTasksInSerial](../../devkit/documents/nrwl_devkit#runtasksinserial)
- [serializeJson](../../devkit/documents/nrwl_devkit#serializejson)
- [sharePackages](../../devkit/documents/nrwl_devkit#sharepackages)
- [shareWorkspaceLibraries](../../devkit/documents/nrwl_devkit#shareworkspacelibraries)
Expand Down Expand Up @@ -2050,6 +2051,24 @@ Note that the return value is a promise of an iterator, so you need to await bef

---

### runTasksInSerial

**runTasksInSerial**(...`tasks`): [`GeneratorCallback`](../../devkit/documents/nrwl_devkit#generatorcallback)

Run tasks in serial

#### Parameters

| Name | Type | Description |
| :--------- | :---------------------------------------------------------------------------- | :-------------------------- |
| `...tasks` | [`GeneratorCallback`](../../devkit/documents/nrwl_devkit#generatorcallback)[] | The tasks to run in serial. |

#### Returns

[`GeneratorCallback`](../../devkit/documents/nrwl_devkit#generatorcallback)

---

### serializeJson

**serializeJson**<`T`\>(`input`, `options?`): `string`
Expand Down
19 changes: 19 additions & 0 deletions docs/generated/packages/devkit/documents/nrwl_devkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ It only uses language primitives and immutable objects
- [removeProjectConfiguration](../../devkit/documents/nrwl_devkit#removeprojectconfiguration)
- [reverse](../../devkit/documents/nrwl_devkit#reverse)
- [runExecutor](../../devkit/documents/nrwl_devkit#runexecutor)
- [runTasksInSerial](../../devkit/documents/nrwl_devkit#runtasksinserial)
- [serializeJson](../../devkit/documents/nrwl_devkit#serializejson)
- [sharePackages](../../devkit/documents/nrwl_devkit#sharepackages)
- [shareWorkspaceLibraries](../../devkit/documents/nrwl_devkit#shareworkspacelibraries)
Expand Down Expand Up @@ -2050,6 +2051,24 @@ Note that the return value is a promise of an iterator, so you need to await bef

---

### runTasksInSerial

**runTasksInSerial**(...`tasks`): [`GeneratorCallback`](../../devkit/documents/nrwl_devkit#generatorcallback)

Run tasks in serial

#### Parameters

| Name | Type | Description |
| :--------- | :---------------------------------------------------------------------------- | :-------------------------- |
| `...tasks` | [`GeneratorCallback`](../../devkit/documents/nrwl_devkit#generatorcallback)[] | The tasks to run in serial. |

#### Returns

[`GeneratorCallback`](../../devkit/documents/nrwl_devkit#generatorcallback)

---

### serializeJson

**serializeJson**<`T`\>(`input`, `options?`): `string`
Expand Down
2 changes: 1 addition & 1 deletion packages/angular/src/generators/add-linting/add-linting.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import {
GeneratorCallback,
joinPathFragments,
runTasksInSerial,
Tree,
updateJson,
} from '@nrwl/devkit';
import { Linter, lintProjectGenerator } from '@nrwl/linter';
import { mapLintPattern } from '@nrwl/linter/src/generators/lint-project/lint-project';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
import { join } from 'path';
import { getGeneratorDirectoryForInstalledAngularVersion } from '../utils/version-utils';
import { addAngularEsLintDependencies } from './lib/add-angular-eslint-dependencies';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import {
GeneratorCallback,
joinPathFragments,
runTasksInSerial,
Tree,
updateJson,
} from '@nrwl/devkit';
import { Linter, lintProjectGenerator } from '@nrwl/linter';
import { mapLintPattern } from '@nrwl/linter/src/generators/lint-project/lint-project';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { addAngularEsLintDependencies } from './lib/add-angular-eslint-dependencies';
import { extendAngularEslintJson } from './lib/create-eslint-configuration';
import type { AddLintingGeneratorSchema } from './schema';
Expand Down
10 changes: 8 additions & 2 deletions packages/angular/src/generators/host/host.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
import { formatFiles, getProjects, stripIndents, Tree } from '@nrwl/devkit';
import {
formatFiles,
getProjects,
runTasksInSerial,
stripIndents,
Tree,
} from '@nrwl/devkit';
import type { Schema } from './schema';
import applicationGenerator from '../application/application';
import remoteGenerator from '../remote/remote';
import { normalizeProjectName } from '../utils/project';
import { setupMf } from '../setup-mf/setup-mf';
import { E2eTestRunner } from '../../utils/test-runners';
import { addSsr } from './lib';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { getInstalledAngularVersionInfo } from '../utils/version-utils';
import { lt } from 'semver';

Expand Down
3 changes: 2 additions & 1 deletion packages/angular/src/generators/init/angular-v14/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ import {
GeneratorCallback,
logger,
readNxJson,
runTasksInSerial,
Tree,
updateNxJson,
} from '@nrwl/devkit';
import { jestInitGenerator } from '@nrwl/jest';
import { Linter } from '@nrwl/linter';
import { initGenerator as jsInitGenerator } from '@nrwl/js';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { backwardCompatibleVersions } from '../../../utils/backward-compatible-versions';
import { E2eTestRunner, UnitTestRunner } from '../../../utils/test-runners';
import { karmaGenerator } from '../../karma/karma';
Expand Down
3 changes: 2 additions & 1 deletion packages/angular/src/generators/init/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,14 @@ import {
GeneratorCallback,
logger,
readNxJson,
runTasksInSerial,
Tree,
updateNxJson,
} from '@nrwl/devkit';
import { jestInitGenerator } from '@nrwl/jest';
import { Linter } from '@nrwl/linter';
import { initGenerator as jsInitGenerator } from '@nrwl/js';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { join } from 'path';
import { E2eTestRunner, UnitTestRunner } from '../../utils/test-runners';
import {
Expand Down
10 changes: 8 additions & 2 deletions packages/angular/src/generators/remote/remote.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
import { formatFiles, getProjects, stripIndents, Tree } from '@nrwl/devkit';
import {
formatFiles,
getProjects,
runTasksInSerial,
stripIndents,
Tree,
} from '@nrwl/devkit';
import type { Schema } from './schema';
import applicationGenerator from '../application/application';
import { normalizeProjectName } from '../utils/project';
import { setupMf } from '../setup-mf/setup-mf';
import { E2eTestRunner } from '../../utils/test-runners';
import { addSsr, findNextAvailablePort } from './lib';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { getInstalledAngularVersionInfo } from '../utils/version-utils';
import { lt } from 'semver';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ import {
offsetFromRoot,
ProjectConfiguration,
readProjectConfiguration,
runTasksInSerial,
stripIndents,
toJS,
Tree,
updateJson,
} from '@nrwl/devkit';
import { Linter, lintProjectGenerator } from '@nrwl/linter';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { getRelativePathToRootTsConfig } from '@nrwl/js';
import {
globalJavaScriptOverrides,
Expand Down
2 changes: 1 addition & 1 deletion packages/cypress/src/generators/init/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import {
GeneratorCallback,
readNxJson,
removeDependenciesFromPackageJson,
runTasksInSerial,
Tree,
updateNxJson,
} from '@nrwl/devkit';
Expand All @@ -14,7 +15,6 @@ import {
} from '../../utils/versions';
import { Schema } from './schema';
import { initGenerator } from '@nrwl/js';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

function setupE2ETargetDefaults(tree: Tree) {
const nxJson = readNxJson(tree);
Expand Down
8 changes: 6 additions & 2 deletions packages/detox/src/generators/application/application.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import { convertNxGenerator, formatFiles, Tree } from '@nrwl/devkit';
import {
convertNxGenerator,
formatFiles,
runTasksInSerial,
Tree,
} from '@nrwl/devkit';

import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
import detoxInitGenerator from '../init/init';
import { addGitIgnoreEntry } from './lib/add-git-ignore-entry';
import { addLinting } from './lib/add-linting';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
import { Linter, lintProjectGenerator } from '@nrwl/linter';
import {
addDependenciesToPackageJson,
joinPathFragments,
runTasksInSerial,
Tree,
updateJson,
} from '@nrwl/devkit';
Expand Down
3 changes: 2 additions & 1 deletion packages/detox/src/generators/init/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ import {
formatFiles,
GeneratorCallback,
removeDependenciesFromPackageJson,
runTasksInSerial,
Tree,
} from '@nrwl/devkit';
import { jestVersion, typesNodeVersion } from '@nrwl/jest/src/utils/versions';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { Schema } from './schema';
import {
detoxVersion,
Expand Down
5 changes: 5 additions & 0 deletions packages/devkit/public-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ export { toJS } from './src/generators/to-js';
*/
export { updateTsConfigsToJs } from './src/generators/update-ts-configs-to-js';

/**
* @category Generators
*/
export { runTasksInSerial } from './src/generators/run-tasks-in-serial';

/**
* @category Generators
*/
Expand Down
16 changes: 16 additions & 0 deletions packages/devkit/src/generators/run-tasks-in-serial.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import type { GeneratorCallback } from 'nx/src/config/misc-interfaces';

/**
* Run tasks in serial
*
* @param tasks The tasks to run in serial.
*/
export function runTasksInSerial(
...tasks: GeneratorCallback[]
): GeneratorCallback {
return async () => {
for (const task of tasks) {
await task();
}
};
}
6 changes: 3 additions & 3 deletions packages/expo/src/generators/application/application.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
import {
convertNxGenerator,
Tree,
formatFiles,
joinPathFragments,
GeneratorCallback,
joinPathFragments,
runTasksInSerial,
Tree,
} from '@nrwl/devkit';

import { addLinting } from '../../utils/add-linting';
Expand Down
30 changes: 15 additions & 15 deletions packages/expo/src/generators/init/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,34 @@ import {
formatFiles,
GeneratorCallback,
removeDependenciesFromPackageJson,
runTasksInSerial,
Tree,
} from '@nrwl/devkit';
import { Schema } from './schema';
import {
expoVersion,
babelPresetExpoVersion,
deprecatedExpoCliVersion,
easCliVersion,
expoCliVersion,
expoMetroConfigVersion,
expoSplashScreenVersion,
expoStatusBarVersion,
nxVersion,
reactNativeVersion,
reactNativeWebVersion,
typesReactNativeVersion,
expoMetroConfigVersion,
expoVersion,
metroVersion,
testingLibraryReactNativeVersion,
testingLibraryJestNativeVersion,
nxVersion,
reactDomVersion,
reactNativeSvgTransformerVersion,
reactNativeSvgVersion,
expoCliVersion,
babelPresetExpoVersion,
easCliVersion,
deprecatedExpoCliVersion,
reactVersion,
reactNativeVersion,
reactNativeWebVersion,
reactTestRendererVersion,
reactVersion,
testingLibraryJestNativeVersion,
testingLibraryReactNativeVersion,
typesReactNativeVersion,
typesReactVersion,
reactDomVersion,
} from '../../utils/versions';

import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
import { jestInitGenerator } from '@nrwl/jest';
import { detoxInitGenerator } from '@nrwl/detox';
import { initGenerator as jsInitGenerator } from '@nrwl/js';
Expand Down
3 changes: 2 additions & 1 deletion packages/expo/src/generators/library/library.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,13 @@ import {
joinPathFragments,
names,
offsetFromRoot,
runTasksInSerial,
TargetConfiguration,
toJS,
Tree,
updateJson,
} from '@nrwl/devkit';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { updateRootTsConfig } from '@nrwl/js';

import init from '../init/init';
Expand Down
2 changes: 1 addition & 1 deletion packages/expo/src/utils/add-linting.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';
import { Linter, lintProjectGenerator } from '@nrwl/linter';
import {
addDependenciesToPackageJson,
joinPathFragments,
runTasksInSerial,
Tree,
updateJson,
} from '@nrwl/devkit';
Expand Down
3 changes: 2 additions & 1 deletion packages/jest/src/generators/init/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ import {
getProjects,
readNxJson,
removeDependenciesFromPackageJson,
runTasksInSerial,
stripIndents,
Tree,
updateJson,
updateNxJson,
updateProjectConfiguration,
} from '@nrwl/devkit';
import { initGenerator as jsInitGenerator } from '@nrwl/js';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import { findRootJestConfig } from '../../utils/config/find-root-jest-files';
import {
babelJestVersion,
Expand Down
5 changes: 3 additions & 2 deletions packages/js/src/generators/library/library.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,21 @@ import {
names,
offsetFromRoot,
ProjectConfiguration,
runTasksInSerial,
toJS,
Tree,
updateJson,
writeJson,
} from '@nrwl/devkit';
import { getImportPath } from 'nx/src/utils/path';
import { runTasksInSerial } from '@nrwl/workspace/src/utilities/run-tasks-in-serial';

import {
getRelativePathToRootTsConfig,
updateRootTsConfig,
} from '../../utils/typescript/ts-config';
import { join } from 'path';
import { addMinimalPublishScript } from '../../utils/minimal-publish-script';
import { LibraryGeneratorSchema, Bundler } from '../../utils/schema';
import { Bundler, LibraryGeneratorSchema } from '../../utils/schema';
import { addSwcConfig } from '../../utils/swc/add-swc-config';
import { addSwcDependencies } from '../../utils/swc/add-swc-dependencies';
import {
Expand Down
Loading

1 comment on commit 8744698

@vercel
Copy link

@vercel vercel bot commented on 8744698 Mar 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

nx-dev – ./

nx-dev-nrwl.vercel.app
nx-five.vercel.app
nx.dev
nx-dev-git-master-nrwl.vercel.app

Please sign in to comment.