Skip to content

Commit

Permalink
feat(core): extract js related code from affected and hasher (#16244)
Browse files Browse the repository at this point in the history
  • Loading branch information
meeroslav committed Apr 18, 2023
1 parent 0d7dbbc commit 2dd59c3
Show file tree
Hide file tree
Showing 77 changed files with 397 additions and 329 deletions.
49 changes: 0 additions & 49 deletions docs/generated/devkit/nrwl_devkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ It only uses language primitives and immutable objects
- [applySharedFunction](../../devkit/documents/nrwl_devkit#applysharedfunction)
- [convertNxExecutor](../../devkit/documents/nrwl_devkit#convertnxexecutor)
- [convertNxGenerator](../../devkit/documents/nrwl_devkit#convertnxgenerator)
- [createLockFile](../../devkit/documents/nrwl_devkit#createlockfile)
- [createPackageJson](../../devkit/documents/nrwl_devkit#createpackagejson)
- [createProjectGraphAsync](../../devkit/documents/nrwl_devkit#createprojectgraphasync)
- [defaultTasksRunner](../../devkit/documents/nrwl_devkit#defaulttasksrunner)
- [detectPackageManager](../../devkit/documents/nrwl_devkit#detectpackagemanager)
Expand Down Expand Up @@ -1054,53 +1052,6 @@ Convert an Nx Generator into an Angular Devkit Schematic.

---

### createLockFile

**createLockFile**(`packageJson`, `packageManager?`): `string`

**`Deprecated`**

Import this from @nrwl/js instead

#### Parameters

| Name | Type |
| :--------------- | :-------------------------------------------------------------------- |
| `packageJson` | `PackageJson` |
| `packageManager` | [`PackageManager`](../../devkit/documents/nrwl_devkit#packagemanager) |

#### Returns

`string`

---

### createPackageJson

**createPackageJson**(`projectName`, `graph`, `options?`): `PackageJson`

**`Deprecated`**

Import this from @nrwl/js instead

#### Parameters

| Name | Type |
| :---------------------------- | :---------------------------------------------------------------- |
| `projectName` | `string` |
| `graph` | [`ProjectGraph`](../../devkit/documents/nrwl_devkit#projectgraph) |
| `options` | `Object` |
| `options.helperDependencies?` | `string`[] |
| `options.isProduction?` | `boolean` |
| `options.root?` | `string` |
| `options.target?` | `string` |

#### Returns

`PackageJson`

---

### createProjectGraphAsync

**createProjectGraphAsync**(`opts?`): `Promise`<[`ProjectGraph`](../../devkit/documents/nrwl_devkit#projectgraph)\>
Expand Down
49 changes: 0 additions & 49 deletions docs/generated/packages/devkit/documents/nrwl_devkit.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ It only uses language primitives and immutable objects
- [applySharedFunction](../../devkit/documents/nrwl_devkit#applysharedfunction)
- [convertNxExecutor](../../devkit/documents/nrwl_devkit#convertnxexecutor)
- [convertNxGenerator](../../devkit/documents/nrwl_devkit#convertnxgenerator)
- [createLockFile](../../devkit/documents/nrwl_devkit#createlockfile)
- [createPackageJson](../../devkit/documents/nrwl_devkit#createpackagejson)
- [createProjectGraphAsync](../../devkit/documents/nrwl_devkit#createprojectgraphasync)
- [defaultTasksRunner](../../devkit/documents/nrwl_devkit#defaulttasksrunner)
- [detectPackageManager](../../devkit/documents/nrwl_devkit#detectpackagemanager)
Expand Down Expand Up @@ -1054,53 +1052,6 @@ Convert an Nx Generator into an Angular Devkit Schematic.

---

### createLockFile

**createLockFile**(`packageJson`, `packageManager?`): `string`

**`Deprecated`**

Import this from @nrwl/js instead

#### Parameters

| Name | Type |
| :--------------- | :-------------------------------------------------------------------- |
| `packageJson` | `PackageJson` |
| `packageManager` | [`PackageManager`](../../devkit/documents/nrwl_devkit#packagemanager) |

#### Returns

`string`

---

### createPackageJson

**createPackageJson**(`projectName`, `graph`, `options?`): `PackageJson`

**`Deprecated`**

Import this from @nrwl/js instead

#### Parameters

| Name | Type |
| :---------------------------- | :---------------------------------------------------------------- |
| `projectName` | `string` |
| `graph` | [`ProjectGraph`](../../devkit/documents/nrwl_devkit#projectgraph) |
| `options` | `Object` |
| `options.helperDependencies?` | `string`[] |
| `options.isProduction?` | `boolean` |
| `options.root?` | `string` |
| `options.target?` | `string` |

#### Returns

`PackageJson`

---

### createProjectGraphAsync

**createProjectGraphAsync**(`opts?`): `Promise`<[`ProjectGraph`](../../devkit/documents/nrwl_devkit#projectgraph)\>
Expand Down
2 changes: 1 addition & 1 deletion docs/generated/packages/jest/documents/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ In order to use Jest's global setup/teardown functions that reference nx librari
Nx provides a helper function that you can import within your setup/teardown file.

```typescript {% fileName="global-setup.ts" %}
import { registerTsProject } from 'nx/src/utils/register';
import { registerTsProject } from '@nrwl/js/src/internal';
const cleanupRegisteredPaths = registerTsProject('.', 'tsconfig.base.json');

import { yourFancyFunction } from '@some-org/my-util-library';
Expand Down
2 changes: 1 addition & 1 deletion docs/shared/packages/jest/jest-plugin.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ In order to use Jest's global setup/teardown functions that reference nx librari
Nx provides a helper function that you can import within your setup/teardown file.

```typescript {% fileName="global-setup.ts" %}
import { registerTsProject } from 'nx/src/utils/register';
import { registerTsProject } from '@nrwl/js/src/internal';
const cleanupRegisteredPaths = registerTsProject('.', 'tsconfig.base.json');

import { yourFancyFunction } from '@some-org/my-util-library';
Expand Down
29 changes: 14 additions & 15 deletions e2e/jest/src/jest.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ describe('Jest', () => {
updateFile(
`libs/${mylib}/setup.ts`,
stripIndents`
const { registerTsProject } = require('nx/src/utils/register');
const { registerTsProject } = require('@nx/js/src/internal');
const cleanup = registerTsProject('.', 'tsconfig.base.json');
import {setup} from '@global-fun/globals';
Expand All @@ -61,7 +61,7 @@ describe('Jest', () => {
updateFile(
`libs/${mylib}/teardown.ts`,
stripIndents`
import { registerTsProject } from 'nx/src/utils/register';
const { registerTsProject } = require('@nx/js/src/internal');
const cleanup = registerTsProject('.', 'tsconfig.base.json');
import {teardown} from '@global-fun/globals';
Expand All @@ -73,19 +73,18 @@ describe('Jest', () => {
updateFile(
`libs/${mylib}/jest.config.ts`,
stripIndents`
module.exports = {
testMatch: ['**/+(*.)+(spec|test).+(ts|js)?(x)'],
transform: {
'^.+\\.(ts|js|html)$': 'ts-jest'
},
resolver: '@nrwl/jest/plugins/resolver',
moduleFileExtensions: ['ts', 'js', 'html'],
coverageReporters: ['html'],
passWithNoTests: true,
globals: { testGlobal: ${testGlobal} },
globalSetup: '<rootDir>/setup.ts',
globalTeardown: '<rootDir>/teardown.ts'
};`
export default {
displayName: "${mylib}",
preset: "../../jest.preset.js",
transform: {
"^.+\\.[tj]s$": ["ts-jest", { tsconfig: "<rootDir>/tsconfig.spec.json" }],
},
moduleFileExtensions: ["ts", "js", "html"],
coverageDirectory: "../../coverage/libs/${mylib}",
globals: { testGlobal: ${testGlobal} },
globalSetup: '<rootDir>/setup.ts',
globalTeardown: '<rootDir>/teardown.ts'
};`
);

const appResult = await runCLIAsync(`test ${mylib} --no-watch`);
Expand Down
3 changes: 1 addition & 2 deletions e2e/node/src/node.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import {
packageManagerLockFile,
promisifiedTreeKill,
readFile,
readJson,
runCLI,
runCLIAsync,
runCommand,
Expand All @@ -26,7 +25,7 @@ import {
} from '@nrwl/e2e/utils';
import { exec, execSync } from 'child_process';
import * as http from 'http';
import { getLockFileName } from 'nx/src/plugins/js/lock-file/lock-file';
import { getLockFileName } from '@nx/js';
import { satisfies } from 'semver';

function getData(port, path = '/api'): Promise<any> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import type { Schema } from './schema';
import { createTmpTsConfigForBuildableLibs } from '../utilities/buildable-libs';
import { from } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { getRootTsConfigPath } from 'nx/src/utils/typescript';
import { getRootTsConfigPath } from '@nx/js';

type BuildTargetOptions = {
tsConfig: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { Tree } from '@nx/devkit';
import { ensureTypescript } from '@nx/js/src/utils/typescript/ensure-typescript';
import { findNodes } from 'nx/src/utils/typescript';
import { findNodes } from '@nx/js';
import type { PropertyAssignment } from 'typescript';

import {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {
stripIndents,
visitNotIgnoredFiles,
} from '@nx/devkit';
import { findNodes } from 'nx/src/utils/typescript';
import { findNodes } from '@nx/js';
import { extname } from 'path';
import type {
ClassDeclaration,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import type { Tree } from '@nx/devkit';
import { findNodes } from 'nx/src/utils/typescript';
import { getSourceNodes } from '@nx/js';
import { findNodes, getSourceNodes } from '@nx/js';
import type { PropertyDeclaration } from 'typescript';
import { getTsSourceFile } from '../../../utils/nx-devkit/ast-utils';
import { ensureTypescript } from '@nx/js/src/utils/typescript/ensure-typescript';
Expand Down
2 changes: 1 addition & 1 deletion packages/angular/src/utils/nx-devkit/ast-utils.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type * as ts from 'typescript';
import { findNodes } from 'nx/src/utils/typescript';
import { findNodes } from '@nx/js';
import {
getImport,
getSourceNodes,
Expand Down
3 changes: 1 addition & 2 deletions packages/devkit/src/generators/to-js.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import type { Tree } from 'nx/src/generators/tree';
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
import { typescriptVersion } from 'nx/src/utils/versions';
import { typescriptVersion } from '../utils/versions';
import { ensurePackage } from '../utils/package-json';

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/devkit/src/utils/module-federation/share.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
collectWorkspaceLibrarySecondaryEntryPoints,
} from './secondary-entry-points';
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
import { getRootTsConfigPath } from 'nx/src/utils/typescript';
import { getRootTsConfigPath } from 'nx/src/plugins/js/utils/typescript';
import type { ProjectGraph } from 'nx/src/config/project-graph';
import { requireNx } from '../../../nx';

Expand Down
2 changes: 1 addition & 1 deletion packages/devkit/src/utils/module-federation/typescript.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { existsSync } from 'fs';
import { ParsedCommandLine } from 'typescript';
// eslint-disable-next-line @typescript-eslint/no-restricted-imports
import { getRootTsConfigPath } from 'nx/src/utils/typescript';
import { getRootTsConfigPath } from 'nx/src/plugins/js/utils/typescript';
import { dirname } from 'path';

let tsConfig: ParsedCommandLine;
Expand Down
1 change: 1 addition & 0 deletions packages/devkit/src/utils/versions.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export const typescriptVersion = '~4.9.5';
5 changes: 3 additions & 2 deletions packages/eslint-plugin-nx/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,12 @@
}
},
"dependencies": {
"@nx/devkit": "file:../devkit",
"@nx/js": "file:../js",
"@typescript-eslint/utils": "^5.58.0",
"chalk": "^4.1.0",
"confusing-browser-globals": "^1.0.9",
"semver": "7.3.4",
"@nx/devkit": "file:../devkit"
"semver": "7.3.4"
},
"publishConfig": {
"access": "public"
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-nx/src/resolve-workspace-rules.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import type { TSESLint } from '@typescript-eslint/utils';
import { existsSync } from 'fs';
import { registerTsProject } from 'nx/src/utils/register';
import { registerTsProject } from '@nx/js/src/internal';
import { WORKSPACE_PLUGIN_DIR, WORKSPACE_RULE_NAMESPACE } from './constants';

type ESLintRules = Record<string, TSESLint.RuleModule<string, unknown[]>>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import {
isComboDepConstraint,
} from '../utils/runtime-lint-utils';
import { AST_NODE_TYPES, TSESTree } from '@typescript-eslint/utils';
import { TargetProjectLocator } from 'nx/src/plugins/js/project-graph/build-dependencies/target-project-locator';
import { TargetProjectLocator } from '@nx/js/src/internal';
import { basename, dirname, relative } from 'path';
import {
getBarrelEntryPointByImportScope,
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-nx/src/rules/nx-plugin-checks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
} from '@nx/devkit';
import { findProject, getSourceFilePath } from '../utils/runtime-lint-utils';
import { existsSync } from 'fs';
import { registerTsProject } from 'nx/src/utils/register';
import { registerTsProject } from '@nx/js/src/internal';
import * as path from 'path';

import { createESLintRule } from '../utils/create-eslint-rule';
Expand Down
2 changes: 1 addition & 1 deletion packages/eslint-plugin-nx/src/utils/ast-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import {
ProjectGraphProjectNode,
readJsonFile,
} from '@nx/devkit';
import { findNodes } from 'nx/src/utils/typescript';
import { findNodes } from 'nx/src/plugins/js/utils/typescript';
import { existsSync, readFileSync } from 'fs';
import { dirname } from 'path';
import ts = require('typescript');
Expand Down
6 changes: 3 additions & 3 deletions packages/eslint-plugin-nx/src/utils/runtime-lint-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ import {
} from '@nx/devkit';
import { getPath, pathExists } from './graph-utils';
import { readFileIfExisting } from 'nx/src/utils/fileutils';
import { TargetProjectLocator } from 'nx/src/plugins/js/project-graph/build-dependencies/target-project-locator';
import {
findProjectForPath,
ProjectRootMappings,
} from 'nx/src/project-graph/utils/find-project-for-path';
import { getRootTsConfigFileName } from '@nx/js';
import {
getRootTsConfigFileName,
resolveModuleByImport,
} from 'nx/src/utils/typescript';
TargetProjectLocator,
} from '@nx/js/src/internal';

export type Deps = { [projectName: string]: ProjectGraphDependency[] };
type SingleSourceTagConstraint = {
Expand Down
2 changes: 1 addition & 1 deletion packages/expo/src/generators/component/lib/add-import.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { findNodes } from 'nx/src/utils/typescript';
import { findNodes } from '@nx/js';
import * as ts from 'typescript';
import { ChangeType, StringChange } from '@nx/devkit';

Expand Down
10 changes: 9 additions & 1 deletion packages/js/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,13 @@ export * from './utils/assets';
export * from './utils/package-json/update-package-json';
export { libraryGenerator } from './generators/library/library';
export { initGenerator } from './generators/init/init';
export { createLockFile } from 'nx/src/plugins/js/lock-file/lock-file';

export {
createLockFile,
getLockFileName,
} from 'nx/src/plugins/js/lock-file/lock-file';
export { createPackageJson } from 'nx/src/plugins/js/package-json/create-package-json';
export {
findNodes,
getRootTsConfigPath,
} from 'nx/src/plugins/js/utils/typescript';
6 changes: 6 additions & 0 deletions packages/js/src/internal.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
export { resolveModuleByImport } from 'nx/src/plugins/js/utils/typescript';
export {
registerTsProject,
registerTsConfigPaths,
} from 'nx/src/plugins/js/utils/register';
export { TargetProjectLocator } from 'nx/src/plugins/js/project-graph/build-dependencies/target-project-locator';
Loading

1 comment on commit 2dd59c3

@vercel
Copy link

@vercel vercel bot commented on 2dd59c3 Apr 18, 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-five.vercel.app
nx-dev-git-master-nrwl.vercel.app
nx-dev-nrwl.vercel.app
nx.dev

Please sign in to comment.