Skip to content

Commit

Permalink
chore: refactor scope-manager config to be closer to nx OOTB (#4788)
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesHenry committed Apr 12, 2022
1 parent 59a947f commit 18a81cb
Show file tree
Hide file tree
Showing 88 changed files with 318 additions and 103 deletions.
9 changes: 9 additions & 0 deletions .eslintrc.js
Expand Up @@ -24,6 +24,15 @@ module.exports = {
'./tsconfig.eslint.json',
'./packages/*/tsconfig.json',
'./tests/integration/tsconfig.json',
/**
* We are currently in the process of transitioning to nx's out of the box structure and
* so need to manually specify converted packages' tsconfig.build.json and tsconfig.spec.json
* files here for now in addition to the tsconfig.json glob pattern.
*
* TODO(#4665): Clean this up once all packages have been transitioned.
*/
'./packages/scope-manager/tsconfig.build.json',
'./packages/scope-manager/tsconfig.spec.json',
],
allowAutomaticSingleRunInference: true,
tsconfigRootDir: __dirname,
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Expand Up @@ -107,7 +107,7 @@ jobs:
CI: true

- name: Run unit tests for scope-manager
run: npx nx test @typescript-eslint/scope-manager
run: npx nx test @typescript-eslint/scope-manager --code-coverage
env:
CI: true

Expand Down
5 changes: 5 additions & 0 deletions jest.config.js
@@ -0,0 +1,5 @@
const { getJestProjects } = require('@nrwl/jest');

module.exports = {
projects: getJestProjects(),
};
15 changes: 15 additions & 0 deletions jest.preset.js
@@ -0,0 +1,15 @@
// @ts-check

/* eslint-disable import/no-extraneous-dependencies */
/* eslint-disable @typescript-eslint/no-unsafe-assignment */

'use strict';

/** @type {import('@nrwl/jest/preset/jest-preset')} */
const nxPreset = require('@nrwl/jest/preset');

const { transform: _ignoredTsJestTransform, ...configToUse } = nxPreset;

module.exports = {
...configToUse,
};
13 changes: 12 additions & 1 deletion packages/scope-manager/jest.config.js
@@ -1,8 +1,19 @@
'use strict';

// @ts-check

/** @type {import('@jest/types').Config.InitialOptions} */
module.exports = {
...require('../../jest.config.base.js'),
displayName: 'scope-manager',
preset: '../../jest.preset.js',
testEnvironment: 'node',
transform: {
'^.+\\.[tj]sx?$': [
'@swc/jest',
{ jsc: { transform: { react: { runtime: 'automatic' } } } },
],
},
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
coverageDirectory: '<rootDir>/coverage',
setupFilesAfterEnv: ['./tests/util/serializers/index.ts'],
};
14 changes: 6 additions & 8 deletions packages/scope-manager/package.json
Expand Up @@ -28,15 +28,13 @@
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsc -b tsconfig.build.json",
"postbuild": "downlevel-dts dist _ts3.4/dist",
"clean": "tsc -b tsconfig.build.json --clean",
"postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage",
"build": "cd ../../ && nx build @typescript-eslint/scope-manager",
"clean": "cd ../../ && nx clean @typescript-eslint/scope-manager",
"format": "prettier --write \"./**/*.{ts,js,json,md}\" --ignore-path ../../.prettierignore",
"generate:lib": "../../node_modules/.bin/ts-node --files --transpile-only tools/generate-lib.ts",
"lint": "eslint . --ext .js,.ts --ignore-path='../../.eslintignore'",
"test": "jest --coverage",
"typecheck": "tsc -p tsconfig.json --noEmit"
"generate:lib": "cd ../../ && nx generate-lib @typescript-eslint/scope-manager",
"lint": "cd ../../ && nx lint @typescript-eslint/scope-manager",
"test": "cd ../../ && nx test @typescript-eslint/scope-manager --code-coverage",
"typecheck": "cd ../../ && nx typecheck @typescript-eslint/scope-manager"
},
"dependencies": {
"@typescript-eslint/types": "5.19.0",
Expand Down
73 changes: 71 additions & 2 deletions packages/scope-manager/project.json
@@ -1,5 +1,74 @@
{
"root": "packages/scope-manager",
"type": "library",
"implicitDependencies": []
"sourceRoot": "packages/scope-manager/src",
"projectType": "library",
"targets": {
"build": {
"executor": "@nrwl/workspace:run-commands",
"outputs": [
"packages/scope-manager/dist",
"packages/scope-manager/_ts3.4"
],
"options": {
"parallel": false,
"cwd": "packages/scope-manager",
"commands": [
"rimraf _ts3.4",
"tsc -b tsconfig.build.json",
"downlevel-dts dist _ts3.4/dist"
]
}
},
"typecheck": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": true,
"cwd": "packages/scope-manager",
"commands": [
"tsc -p tsconfig.build.json --noEmit",
"tsc -p tsconfig.spec.json --noEmit"
]
}
},
"clean": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": false,
"cwd": "packages/scope-manager",
"commands": [
"tsc -b tsconfig.build.json --clean",
"rimraf dist",
"rimraf _ts3.4",
"rimraf coverage"
]
}
},
"lint": {
"executor": "@nrwl/linter:eslint",
"outputs": ["{options.outputFile}"],
"options": {
"lintFilePatterns": ["packages/scope-manager/**/*.{ts,js}"],
"ignorePath": ".eslintignore"
}
},
"test": {
"executor": "@nrwl/jest:jest",
"outputs": ["packages/scope-manager/coverage"],
"options": {
"jestConfig": "packages/scope-manager/jest.config.js",
"passWithNoTests": true
}
},
"generate-lib": {
"executor": "@nrwl/workspace:run-commands",
"options": {
"parallel": false,
"cwd": "packages/scope-manager",
"commands": [
"../../node_modules/.bin/ts-node --files --transpile-only tools/generate-lib.ts"
]
}
}
},
"tags": []
}
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/base-config.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

export const TYPE = Object.freeze({
eslintImplicitGlobalSetting: 'readonly',
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/dom.iterable.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/dom.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE, TYPE_VALUE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.collection.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE_VALUE, TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.core.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.generator.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2015_iterable } from './es2015.iterable';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.iterable.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2015_symbol } from './es2015.symbol';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.promise.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.proxy.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.reflect.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE_VALUE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.symbol.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.symbol.wellknown.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2015_symbol } from './es2015.symbol';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2015.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es5 } from './es5';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2016.array.include.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2016.full.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2016 } from './es2016';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2016.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2015 } from './es2015';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.full.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2017 } from './es2017';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.intl.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE_VALUE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.object.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.sharedmemory.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2015_symbol } from './es2015.symbol';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.string.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2016 } from './es2016';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2017.typedarrays.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { TYPE } from './base-config';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2018.asyncgenerator.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2018_asynciterable } from './es2018.asynciterable';
Expand Down
3 changes: 2 additions & 1 deletion packages/scope-manager/src/lib/es2018.asynciterable.ts
@@ -1,6 +1,7 @@
// THIS CODE WAS AUTOMATICALLY GENERATED
// DO NOT EDIT THIS CODE BY HAND
// YOU CAN REGENERATE IT USING yarn generate:lib
// RUN THE FOLLOWING COMMAND FROM THE WORKSPACE ROOT TO REGENERATE:
// npx nx generate-lib @typescript-eslint/scope-manager

import { ImplicitLibVariableOptions } from '../variable';
import { es2015_symbol } from './es2015.symbol';
Expand Down

0 comments on commit 18a81cb

Please sign in to comment.