From 0b7476b4570f5630645420dbb0b8b753e04b5fe1 Mon Sep 17 00:00:00 2001 From: Kevin Ball Date: Wed, 7 Dec 2022 17:05:39 -0800 Subject: [PATCH] feat(experimental-utils): console.warn on import of experimental-utils (#6179) feat(experimental-utils) console.warn on import of experimental-utils --- packages/experimental-utils/package.json | 1 + packages/experimental-utils/src/index.ts | 8 +++++++- .../experimental-utils/tests/consoleWarning.test.ts | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 packages/experimental-utils/tests/consoleWarning.test.ts diff --git a/packages/experimental-utils/package.json b/packages/experimental-utils/package.json index 0a55b72ffb4..86750adf3e8 100644 --- a/packages/experimental-utils/package.json +++ b/packages/experimental-utils/package.json @@ -35,6 +35,7 @@ "postclean": "rimraf dist && rimraf _ts3.4 && rimraf coverage", "format": "prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "lint": "nx lint", + "test": "jest", "typecheck": "tsc -p tsconfig.json --noEmit" }, "dependencies": { diff --git a/packages/experimental-utils/src/index.ts b/packages/experimental-utils/src/index.ts index ae481e0310b..c5cd3fec24e 100644 --- a/packages/experimental-utils/src/index.ts +++ b/packages/experimental-utils/src/index.ts @@ -1,2 +1,8 @@ -// TODO (#4139): Once typescript-eslint hits v7, this package will console.warn to switch... +/* eslint-disable no-console */ +console.warn( + 'This package is purely a re-export of `@typescript-eslint/utils`.', +); +console.warn( + 'You should switch to importing from that non-experimental package instead.', +); export * from '@typescript-eslint/utils'; diff --git a/packages/experimental-utils/tests/consoleWarning.test.ts b/packages/experimental-utils/tests/consoleWarning.test.ts new file mode 100644 index 00000000000..08b13f74fce --- /dev/null +++ b/packages/experimental-utils/tests/consoleWarning.test.ts @@ -0,0 +1,10 @@ +describe('importing', () => { + it('should console a warning', () => { + const warn = jest.spyOn(console, 'warn').mockImplementation(() => {}); + require('../src/index'); + expect(warn).toHaveBeenCalledTimes(2); + expect(warn).toHaveBeenLastCalledWith( + 'You should switch to importing from that non-experimental package instead.', + ); + }); +});