Skip to content

Commit 18a81cb

Browse files
authored
chore: refactor scope-manager config to be closer to nx OOTB (typescript-eslint#4788)
1 parent 59a947f commit 18a81cb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+318
-103
lines changed

.eslintrc.js

+9
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,15 @@ module.exports = {
2424
'./tsconfig.eslint.json',
2525
'./packages/*/tsconfig.json',
2626
'./tests/integration/tsconfig.json',
27+
/**
28+
* We are currently in the process of transitioning to nx's out of the box structure and
29+
* so need to manually specify converted packages' tsconfig.build.json and tsconfig.spec.json
30+
* files here for now in addition to the tsconfig.json glob pattern.
31+
*
32+
* TODO(#4665): Clean this up once all packages have been transitioned.
33+
*/
34+
'./packages/scope-manager/tsconfig.build.json',
35+
'./packages/scope-manager/tsconfig.spec.json',
2736
],
2837
allowAutomaticSingleRunInference: true,
2938
tsconfigRootDir: __dirname,

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107
CI: true
108108

109109
- name: Run unit tests for scope-manager
110-
run: npx nx test @typescript-eslint/scope-manager
110+
run: npx nx test @typescript-eslint/scope-manager --code-coverage
111111
env:
112112
CI: true
113113

jest.config.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const { getJestProjects } = require('@nrwl/jest');
2+
3+
module.exports = {
4+
projects: getJestProjects(),
5+
};

jest.preset.js

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// @ts-check
2+
3+
/* eslint-disable import/no-extraneous-dependencies */
4+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
5+
6+
'use strict';
7+
8+
/** @type {import('@nrwl/jest/preset/jest-preset')} */
9+
const nxPreset = require('@nrwl/jest/preset');
10+
11+
const { transform: _ignoredTsJestTransform, ...configToUse } = nxPreset;
12+
13+
module.exports = {
14+
...configToUse,
15+
};

packages/scope-manager/jest.config.js

+12-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,19 @@
11
'use strict';
22

33
// @ts-check
4+
45
/** @type {import('@jest/types').Config.InitialOptions} */
56
module.exports = {
6-
...require('../../jest.config.base.js'),
7+
displayName: 'scope-manager',
8+
preset: '../../jest.preset.js',
9+
testEnvironment: 'node',
10+
transform: {
11+
'^.+\\.[tj]sx?$': [
12+
'@swc/jest',
13+
{ jsc: { transform: { react: { runtime: 'automatic' } } } },
14+
],
15+
},
16+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
17+
coverageDirectory: '<rootDir>/coverage',
718
setupFilesAfterEnv: ['./tests/util/serializers/index.ts'],
819
};

packages/scope-manager/package.json

+6-8
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,13 @@
2828
"main": "dist/index.js",
2929
"types": "dist/index.d.ts",
3030
"scripts": {
31-
"build": "tsc -b tsconfig.build.json",
32-
"postbuild": "downlevel-dts dist _ts3.4/dist",
33-
"clean": "tsc -b tsconfig.build.json --clean",
34-
"postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage",
31+
"build": "cd ../../ && nx build @typescript-eslint/scope-manager",
32+
"clean": "cd ../../ && nx clean @typescript-eslint/scope-manager",
3533
"format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore",
36-
"generate:lib": "../../node_modules/.bin/ts-node --files --transpile-only tools/generate-lib.ts",
37-
"lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'",
38-
"test": "jest --coverage",
39-
"typecheck": "tsc -p tsconfig.json --noEmit"
34+
"generate:lib": "cd ../../ && nx generate-lib @typescript-eslint/scope-manager",
35+
"lint": "cd ../../ && nx lint @typescript-eslint/scope-manager",
36+
"test": "cd ../../ && nx test @typescript-eslint/scope-manager --code-coverage",
37+
"typecheck": "cd ../../ && nx typecheck @typescript-eslint/scope-manager"
4038
},
4139
"dependencies": {
4240
"@typescript-eslint/types": "5.19.0",

packages/scope-manager/project.json

+71-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,74 @@
11
{
22
"root": "packages/scope-manager",
3-
"type": "library",
4-
"implicitDependencies": []
3+
"sourceRoot": "packages/scope-manager/src",
4+
"projectType": "library",
5+
"targets": {
6+
"build": {
7+
"executor": "@nrwl/workspace:run-commands",
8+
"outputs": [
9+
"packages/scope-manager/dist",
10+
"packages/scope-manager/_ts3.4"
11+
],
12+
"options": {
13+
"parallel": false,
14+
"cwd": "packages/scope-manager",
15+
"commands": [
16+
"rimraf _ts3.4",
17+
"tsc -b tsconfig.build.json",
18+
"downlevel-dts dist _ts3.4/dist"
19+
]
20+
}
21+
},
22+
"typecheck": {
23+
"executor": "@nrwl/workspace:run-commands",
24+
"options": {
25+
"parallel": true,
26+
"cwd": "packages/scope-manager",
27+
"commands": [
28+
"tsc -p tsconfig.build.json --noEmit",
29+
"tsc -p tsconfig.spec.json --noEmit"
30+
]
31+
}
32+
},
33+
"clean": {
34+
"executor": "@nrwl/workspace:run-commands",
35+
"options": {
36+
"parallel": false,
37+
"cwd": "packages/scope-manager",
38+
"commands": [
39+
"tsc -b tsconfig.build.json --clean",
40+
"rimraf dist",
41+
"rimraf _ts3.4",
42+
"rimraf coverage"
43+
]
44+
}
45+
},
46+
"lint": {
47+
"executor": "@nrwl/linter:eslint",
48+
"outputs": ["{options.outputFile}"],
49+
"options": {
50+
"lintFilePatterns": ["packages/scope-manager/**/*.{ts,js}"],
51+
"ignorePath": ".eslintignore"
52+
}
53+
},
54+
"test": {
55+
"executor": "@nrwl/jest:jest",
56+
"outputs": ["packages/scope-manager/coverage"],
57+
"options": {
58+
"jestConfig": "packages/scope-manager/jest.config.js",
59+
"passWithNoTests": true
60+
}
61+
},
62+
"generate-lib": {
63+
"executor": "@nrwl/workspace:run-commands",
64+
"options": {
65+
"parallel": false,
66+
"cwd": "packages/scope-manager",
67+
"commands": [
68+
"../../node_modules/.bin/ts-node --files --transpile-only tools/generate-lib.ts"
69+
]
70+
}
71+
}
72+
},
73+
"tags": []
574
}

packages/scope-manager/src/lib/base-config.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
export const TYPE = Object.freeze({
67
eslintImplicitGlobalSetting: 'readonly',

packages/scope-manager/src/lib/dom.iterable.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/dom.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE, TYPE_VALUE } from './base-config';

packages/scope-manager/src/lib/es2015.collection.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE_VALUE, TYPE } from './base-config';

packages/scope-manager/src/lib/es2015.core.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2015.generator.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2015_iterable } from './es2015.iterable';

packages/scope-manager/src/lib/es2015.iterable.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2015_symbol } from './es2015.symbol';

packages/scope-manager/src/lib/es2015.promise.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2015.proxy.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2015.reflect.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE_VALUE } from './base-config';

packages/scope-manager/src/lib/es2015.symbol.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2015.symbol.wellknown.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2015_symbol } from './es2015.symbol';

packages/scope-manager/src/lib/es2015.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es5 } from './es5';

packages/scope-manager/src/lib/es2016.array.include.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2016.full.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2016 } from './es2016';

packages/scope-manager/src/lib/es2016.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2015 } from './es2015';

packages/scope-manager/src/lib/es2017.full.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2017 } from './es2017';

packages/scope-manager/src/lib/es2017.intl.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE_VALUE } from './base-config';

packages/scope-manager/src/lib/es2017.object.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2017.sharedmemory.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2015_symbol } from './es2015.symbol';

packages/scope-manager/src/lib/es2017.string.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2017.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2016 } from './es2016';

packages/scope-manager/src/lib/es2017.typedarrays.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { TYPE } from './base-config';

packages/scope-manager/src/lib/es2018.asyncgenerator.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2018_asynciterable } from './es2018.asynciterable';

packages/scope-manager/src/lib/es2018.asynciterable.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// THIS CODE WAS AUTOMATICALLY GENERATED
22
// DO NOT EDIT THIS CODE BY HAND
3-
// YOU CAN REGENERATE IT USING yarn generate:lib
3+
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
4+
// npx nx generate-lib @typescript-eslint/scope-manager
45

56
import { ImplicitLibVariableOptions } from '../variable';
67
import { es2015_symbol } from './es2015.symbol';

0 commit comments

Comments
 (0)