From d8f6b9624ee76a164aa7003720cd3f83fc6c4865 Mon Sep 17 00:00:00 2001 From: Ahn <27772165+ahnpnl@users.noreply.github.com> Date: Mon, 22 Nov 2021 08:15:25 +0100 Subject: [PATCH] refactor(transformers): deprecate `path-mapping` AST transformer (#3088) DEPRECATION `path-mapping` AST transformer is deprecated. One should use alternative one like https://github.com/LeDDGroup/typescript-transform-paths instead --- e2e/__tests__/ast-transformers.test.ts | 21 ------------- .../__tests__/direct-import.spec.ts | 7 ----- .../__tests__/dynamic-import.spec.ts | 6 ---- .../path-mapping/__tests__/export.spec.ts | 7 ----- .../__tests__/import-default.spec.ts | 7 ----- .../__tests__/import-legacy.spec.ts | 7 ----- .../__tests__/import-require.spec.ts | 7 ----- .../__tests__/import-star.spec.ts | 7 ----- .../__tests__/import-type.spec.ts | 9 ------ .../path-mapping/share/export.ts | 1 - .../path-mapping/share/foo.ts | 13 -------- .../ts-4.5+/jest-isolated.config.js | 16 ---------- .../path-mapping/ts-4.5+/package.json | 16 ---------- .../ts-4.5-/jest-isolated.config.js | 16 ---------- .../path-mapping/ts-4.5-/package-lock.json | 31 ------------------- .../path-mapping/ts-4.5-/package.json | 19 ------------ .../path-mapping/tsconfig.json | 9 ------ src/transformers/path-mapping.ts | 3 ++ 18 files changed, 3 insertions(+), 199 deletions(-) delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/direct-import.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/dynamic-import.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/export.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/import-default.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/import-legacy.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/import-require.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/import-star.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/__tests__/import-type.spec.ts delete mode 100644 e2e/ast-transformers/path-mapping/share/export.ts delete mode 100644 e2e/ast-transformers/path-mapping/share/foo.ts delete mode 100644 e2e/ast-transformers/path-mapping/ts-4.5+/jest-isolated.config.js delete mode 100644 e2e/ast-transformers/path-mapping/ts-4.5+/package.json delete mode 100644 e2e/ast-transformers/path-mapping/ts-4.5-/jest-isolated.config.js delete mode 100644 e2e/ast-transformers/path-mapping/ts-4.5-/package-lock.json delete mode 100644 e2e/ast-transformers/path-mapping/ts-4.5-/package.json delete mode 100644 e2e/ast-transformers/path-mapping/tsconfig.json diff --git a/e2e/__tests__/ast-transformers.test.ts b/e2e/__tests__/ast-transformers.test.ts index 338e3dc887..f49f564a74 100644 --- a/e2e/__tests__/ast-transformers.test.ts +++ b/e2e/__tests__/ast-transformers.test.ts @@ -21,27 +21,6 @@ const executeTest = (testDir: string): void => { }) } -describe('path-mapping', () => { - const PATH_MAPPING_DIR_NAME = 'path-mapping' - - describe('ts-4.5+', () => { - executeTest(`${AST_TRANSFORMERS_DIR_NAME}/${PATH_MAPPING_DIR_NAME}/ts-4.5+`) - }) - - describe('ts-4.5-', () => { - const DIR = path.join(__dirname, '..', AST_TRANSFORMERS_DIR_NAME, PATH_MAPPING_DIR_NAME, 'ts-4.5-') - - beforeAll(() => { - runNpmInstall(DIR) - execa.sync('npm', ['install', '--no-package-lock', '--no-shrinkwrap', '--no-save', tsJestBundle], { - cwd: DIR, - }) - }) - - executeTest(`${AST_TRANSFORMERS_DIR_NAME}/${PATH_MAPPING_DIR_NAME}/ts-4.5-`) - }) -}) - describe('transformer-options', () => { const TRANSFORM_OPT_DIR_NAME = 'transformer-options' diff --git a/e2e/ast-transformers/path-mapping/__tests__/direct-import.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/direct-import.spec.ts deleted file mode 100644 index 6be37ae6cc..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/direct-import.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getWelcomeMessage } from '@share/foo' - -test('should return welcome message', () => { - const userName = 'github-user' - - expect(getWelcomeMessage(userName)).toEqual(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/dynamic-import.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/dynamic-import.spec.ts deleted file mode 100644 index 13901c0706..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/dynamic-import.spec.ts +++ /dev/null @@ -1,6 +0,0 @@ -test('should return welcome message', async () => { - const userName = 'github-user' - const foo = await import('@share/foo') - - expect(foo.getWelcomeMessage(userName)).toEqual(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/export.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/export.spec.ts deleted file mode 100644 index 3bf0feaab2..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/export.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { getWelcomeMessage } from '@share/export' - -test('should return welcome message', async () => { - const userName = '' - - expect(getWelcomeMessage(userName)).toEqual(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/import-default.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/import-default.spec.ts deleted file mode 100644 index c75298831e..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/import-default.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import foo from '@share/foo' - -test('should return welcome message', () => { - const userName = 'github-user' - - expect(foo(userName)).toBe(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/import-legacy.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/import-legacy.spec.ts deleted file mode 100644 index 9ceef9d692..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/import-legacy.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import foo = require('@share/foo') - -test('should return welcome message', () => { - const userName = 'github-user' - - expect(foo.getWelcomeMessage(userName)).toEqual(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/import-require.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/import-require.spec.ts deleted file mode 100644 index 84b13deadf..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/import-require.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -const foo = require('@share/foo') - -test('should return welcome message', () => { - const userName = 'github-user' - - expect(foo.getWelcomeMessage(userName)).toEqual(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/import-star.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/import-star.spec.ts deleted file mode 100644 index ac91ab6c9b..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/import-star.spec.ts +++ /dev/null @@ -1,7 +0,0 @@ -import * as foo from '@share/foo' - -test('should return welcome message', () => { - const userName = 'github-user' - - expect(foo.getWelcomeMessage(userName)).toEqual(`yolo ${userName}`) -}) diff --git a/e2e/ast-transformers/path-mapping/__tests__/import-type.spec.ts b/e2e/ast-transformers/path-mapping/__tests__/import-type.spec.ts deleted file mode 100644 index 0095cc6f73..0000000000 --- a/e2e/ast-transformers/path-mapping/__tests__/import-type.spec.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { Foo } from '@share/foo' - -test('should work', () => { - const a: Foo = { - bar: 1, - } - - expect(a).toBeTruthy() -}) diff --git a/e2e/ast-transformers/path-mapping/share/export.ts b/e2e/ast-transformers/path-mapping/share/export.ts deleted file mode 100644 index 16c1ba14a7..0000000000 --- a/e2e/ast-transformers/path-mapping/share/export.ts +++ /dev/null @@ -1 +0,0 @@ -export { getWelcomeMessage } from '@share/foo' diff --git a/e2e/ast-transformers/path-mapping/share/foo.ts b/e2e/ast-transformers/path-mapping/share/foo.ts deleted file mode 100644 index f057dc175e..0000000000 --- a/e2e/ast-transformers/path-mapping/share/foo.ts +++ /dev/null @@ -1,13 +0,0 @@ -export function getWelcomeMessage(username: string): string { - return `yolo ${username}` -} - -function getMessage(username: string): string { - return getWelcomeMessage(username) -} - -export interface Foo { - bar: number -} - -export default getMessage diff --git a/e2e/ast-transformers/path-mapping/ts-4.5+/jest-isolated.config.js b/e2e/ast-transformers/path-mapping/ts-4.5+/jest-isolated.config.js deleted file mode 100644 index cc869061b6..0000000000 --- a/e2e/ast-transformers/path-mapping/ts-4.5+/jest-isolated.config.js +++ /dev/null @@ -1,16 +0,0 @@ -/** @type {import('../../../../dist').InitialOptionsTsJest} */ -module.exports = { - globals: { - 'ts-jest': { - isolatedModules: true, - tsconfig: '/../tsconfig.json', - astTransformers: { - before: ['/../../../../dist/transformers/path-mapping.js'], - }, - }, - }, - roots: ['', '/../__tests__'], - transform: { - '^.+.[tj]sx?$': '/../../../../dist/index.js', - }, -} diff --git a/e2e/ast-transformers/path-mapping/ts-4.5+/package.json b/e2e/ast-transformers/path-mapping/ts-4.5+/package.json deleted file mode 100644 index b5b2b34c63..0000000000 --- a/e2e/ast-transformers/path-mapping/ts-4.5+/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "jest": { - "globals": { - "ts-jest": { - "tsconfig": "/../tsconfig.json", - "astTransformers": { - "before": ["/../../../../dist/transformers/path-mapping.js"] - } - } - }, - "roots": ["", "/../__tests__"], - "transform": { - "^.+\\.[tj]sx?$": "/../../../../dist/index.js" - } - } -} diff --git a/e2e/ast-transformers/path-mapping/ts-4.5-/jest-isolated.config.js b/e2e/ast-transformers/path-mapping/ts-4.5-/jest-isolated.config.js deleted file mode 100644 index a63340c04c..0000000000 --- a/e2e/ast-transformers/path-mapping/ts-4.5-/jest-isolated.config.js +++ /dev/null @@ -1,16 +0,0 @@ -/** @type {import('../../../../dist').InitialOptionsTsJest} */ -module.exports = { - globals: { - 'ts-jest': { - isolatedModules: true, - tsconfig: '/../tsconfig.json', - astTransformers: { - before: ['ts-jest/dist/transformers/path-mapping.js'], - }, - }, - }, - roots: ['', '/../__tests__'], - transform: { - '^.+.[tj]sx?$': 'ts-jest', - }, -} diff --git a/e2e/ast-transformers/path-mapping/ts-4.5-/package-lock.json b/e2e/ast-transformers/path-mapping/ts-4.5-/package-lock.json deleted file mode 100644 index c835039f50..0000000000 --- a/e2e/ast-transformers/path-mapping/ts-4.5-/package-lock.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "ts-4.5-", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "dependencies": { - "typescript": "~4.4.4" - } - }, - "node_modules/typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - } - }, - "dependencies": { - "typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", - "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==" - } - } -} diff --git a/e2e/ast-transformers/path-mapping/ts-4.5-/package.json b/e2e/ast-transformers/path-mapping/ts-4.5-/package.json deleted file mode 100644 index 9fe6c96a81..0000000000 --- a/e2e/ast-transformers/path-mapping/ts-4.5-/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "dependencies": { - "typescript": "~4.4.4" - }, - "jest": { - "globals": { - "ts-jest": { - "tsconfig": "/../tsconfig.json", - "astTransformers": { - "before": ["ts-jest/dist/transformers/path-mapping.js"] - } - } - }, - "roots": ["", "/../__tests__"], - "transform": { - "^.+\\.[tj]sx?$": "ts-jest" - } - } -} diff --git a/e2e/ast-transformers/path-mapping/tsconfig.json b/e2e/ast-transformers/path-mapping/tsconfig.json deleted file mode 100644 index f6d14c6a2f..0000000000 --- a/e2e/ast-transformers/path-mapping/tsconfig.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": "./", - "esModuleInterop": true, - "paths": { - "@share/*": ["share/*"] - } - } -} diff --git a/src/transformers/path-mapping.ts b/src/transformers/path-mapping.ts index a2afde3721..db0fe91351 100644 --- a/src/transformers/path-mapping.ts +++ b/src/transformers/path-mapping.ts @@ -28,6 +28,9 @@ export function factory({ configSet, }: TsCompilerInstance): (ctx: _ts.TransformationContext) => _ts.Transformer<_ts.SourceFile> { const logger = configSet.logger.child({ namespace: name }) + logger.warn( + 'path-mapping AST transformer is deprecated and will be removed in `ts-jest` v28. Please use an alternative one, like https://github.com/LeDDGroup/typescript-transform-paths instead', + ) const ts = configSet.compilerModule const tsFactory = ts.factory ? ts.factory : ts const compilerOptions = configSet.parsedTsConfig.options