diff --git a/.eslintrc.cjs b/.eslintrc.cjs index d426cad..e88a6cb 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -11,7 +11,15 @@ const config = { root: true, extends: ['./.eslintrc.base.cjs'], - overrides: [...require('./.eslintrc.base.cjs').overrides] + overrides: [ + ...require('./.eslintrc.base.cjs').overrides, + { + files: ['./src/types/__tests__/types-versions.spec-d.ts'], + rules: { + 'sort-keys': 0 + } + } + ] } module.exports = config diff --git a/src/index.ts b/src/index.ts index 2da3065..d2fb098 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,4 +3,4 @@ * @module pkg-types */ -export {} +export * from './types' diff --git a/src/types/__tests__/types-versions.spec-d.ts b/src/types/__tests__/types-versions.spec-d.ts new file mode 100644 index 0000000..33d4dc3 --- /dev/null +++ b/src/types/__tests__/types-versions.spec-d.ts @@ -0,0 +1,20 @@ +/** + * @file Unit Tests - TypesVersions + * @module pkg-types/types/tests/TypesVersions + */ + +import type TestSubject from '../types-versions' + +describe('unit:types/TypesVersions', () => { + it('should allow empty object', () => { + assertType({}) + }) + + it('should allow object with version mappings', () => { + assertType({ + '>=4.0': { '*': ['ts4.0/*'] }, + '>=3.2': { '*': ['ts3.2/*'] }, + '>=3.1': { '*': ['ts3.1/*'] } + }) + }) +}) diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 0000000..124fe71 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,6 @@ +/** + * @file Entry Point - Type Definitions + * @module tsconfig-types/types + */ + +export type { default as TypesVersions } from './types-versions' diff --git a/src/types/types-versions.ts b/src/types/types-versions.ts new file mode 100644 index 0000000..8d5abb9 --- /dev/null +++ b/src/types/types-versions.ts @@ -0,0 +1,13 @@ +/** + * @file Type Definitions - TypesVersions + * @module pkg-types/types/TypesVersions + */ + +/** + * TypeScript version selection map. + * + * @see https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions + */ +type TypesVersions = Partial>>> + +export type { TypesVersions as default }