From 941a4306d800eefb9c7032895a5a3c001d3d4836 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Tue, 14 Jan 2025 15:13:15 +0100 Subject: [PATCH 1/2] Convert ESLint config to TypeScript --- eslint.config.mjs => eslint.config.mts | 2 -- package-lock.json | 19 +++++++++++++++++++ package.json | 2 ++ tsconfig.build.json | 9 ++++++++- tsconfig.json | 6 +++--- 5 files changed, 32 insertions(+), 6 deletions(-) rename eslint.config.mjs => eslint.config.mts (99%) diff --git a/eslint.config.mjs b/eslint.config.mts similarity index 99% rename from eslint.config.mjs rename to eslint.config.mts index 5bbef90c..f99bbf53 100644 --- a/eslint.config.mjs +++ b/eslint.config.mts @@ -1,5 +1,3 @@ -// @ts-check - import eslintJs from '@eslint/js'; import eslintConfigPackageJson from 'eslint-plugin-package-json/configs/recommended'; import eslintConfigPrettier from 'eslint-config-prettier'; diff --git a/package-lock.json b/package-lock.json index f1a6e35e..45f12a02 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,11 +10,13 @@ "license": "MIT", "devDependencies": { "@eslint/js": "^9.18.0", + "@types/eslint-config-prettier": "^6.11.3", "@vitest/eslint-plugin": "^1.1.25", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-package-json": "^0.19.0", "eslint-plugin-unicorn": "^56.0.1", + "jiti": "^2.4.2", "lefthook": "^1.10.4", "markdownlint-cli": "^0.43.0", "prettier": "3.4.2", @@ -1168,6 +1170,13 @@ "win32" ] }, + "node_modules/@types/eslint-config-prettier": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/@types/eslint-config-prettier/-/eslint-config-prettier-6.11.3.tgz", + "integrity": "sha512-3wXCiM8croUnhg9LdtZUJQwNcQYGWxxdOWDjPe1ykCqJFPVpzAKfs/2dgSoCtAvdPeaponcWPI7mPcGGp9dkKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -2833,6 +2842,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", diff --git a/package.json b/package.json index 14dacf32..139ab219 100644 --- a/package.json +++ b/package.json @@ -46,11 +46,13 @@ }, "devDependencies": { "@eslint/js": "^9.18.0", + "@types/eslint-config-prettier": "^6.11.3", "@vitest/eslint-plugin": "^1.1.25", "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-package-json": "^0.19.0", "eslint-plugin-unicorn": "^56.0.1", + "jiti": "^2.4.2", "lefthook": "^1.10.4", "markdownlint-cli": "^0.43.0", "prettier": "3.4.2", diff --git a/tsconfig.build.json b/tsconfig.build.json index 7ff1ec9a..b8fa8c12 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -3,5 +3,12 @@ "compilerOptions": { "rootDir": "./src" }, - "exclude": ["vitest.config.ts", "tests", "type-tests", "node_modules", "dist"] + "exclude": [ + "eslint.config.mts", + "vitest.config.ts", + "tests", + "type-tests", + "node_modules", + "dist" + ] } diff --git a/tsconfig.json b/tsconfig.json index 143237cc..48d6012c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "target": "es2019", - "module": "commonjs", - "moduleResolution": "node", + "module": "NodeNext", + "moduleResolution": "NodeNext", "declaration": true, "outDir": "./dist/", "esModuleInterop": true, @@ -10,5 +10,5 @@ "strict": true, "skipLibCheck": true }, - "include": ["**/*.ts"] + "include": ["**/*.ts", "eslint.config.mts"] } From eb55b698e6f97ac8165be4078baafcdde90baca8 Mon Sep 17 00:00:00 2001 From: Flo Edelmann Date: Tue, 14 Jan 2025 15:17:33 +0100 Subject: [PATCH 2/2] Fix type imports in type tests --- type-tests/prop-types/any.type.spec.ts | 2 +- type-tests/prop-types/array.type.spec.ts | 2 +- type-tests/prop-types/boolean.type.spec.ts | 2 +- type-tests/prop-types/date.type.spec.ts | 2 +- type-tests/prop-types/function.type.spec.ts | 2 +- type-tests/prop-types/instanceOf.type.spec.ts | 2 +- type-tests/prop-types/integer.type.spec.ts | 2 +- type-tests/prop-types/number.type.spec.ts | 2 +- type-tests/prop-types/object.type.spec.ts | 2 +- type-tests/prop-types/oneOf.type.spec.ts | 2 +- type-tests/prop-types/oneOfObjectKeys.type.spec.ts | 2 +- type-tests/prop-types/oneOfTypes.type.spec.ts | 2 +- type-tests/prop-types/string.type.spec.ts | 2 +- type-tests/prop-types/symbol.type.spec.ts | 2 +- type-tests/prop-types/vueComponent.type.spec.ts | 2 +- 15 files changed, 15 insertions(+), 15 deletions(-) diff --git a/type-tests/prop-types/any.type.spec.ts b/type-tests/prop-types/any.type.spec.ts index ab4fcefc..24a6da8b 100644 --- a/type-tests/prop-types/any.type.spec.ts +++ b/type-tests/prop-types/any.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { anyProp } from '../../src/prop-types/any'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/array.type.spec.ts b/type-tests/prop-types/array.type.spec.ts index e8f82283..eabb95da 100644 --- a/type-tests/prop-types/array.type.spec.ts +++ b/type-tests/prop-types/array.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { arrayProp } from '../../src/prop-types/array'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/boolean.type.spec.ts b/type-tests/prop-types/boolean.type.spec.ts index 52d51e43..72d03539 100644 --- a/type-tests/prop-types/boolean.type.spec.ts +++ b/type-tests/prop-types/boolean.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { booleanProp } from '../../src/prop-types/boolean'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/date.type.spec.ts b/type-tests/prop-types/date.type.spec.ts index 4ccb40bf..a2f18cf5 100644 --- a/type-tests/prop-types/date.type.spec.ts +++ b/type-tests/prop-types/date.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { dateProp } from '../../src/prop-types/date'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/function.type.spec.ts b/type-tests/prop-types/function.type.spec.ts index 818b95be..2016f6ea 100644 --- a/type-tests/prop-types/function.type.spec.ts +++ b/type-tests/prop-types/function.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { functionProp } from '../../src/prop-types/function'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/instanceOf.type.spec.ts b/type-tests/prop-types/instanceOf.type.spec.ts index 96f75a16..1b88fb63 100644 --- a/type-tests/prop-types/instanceOf.type.spec.ts +++ b/type-tests/prop-types/instanceOf.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { instanceOfProp } from '../../src/prop-types/instanceOf'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/integer.type.spec.ts b/type-tests/prop-types/integer.type.spec.ts index 8cbd5549..34cd321e 100644 --- a/type-tests/prop-types/integer.type.spec.ts +++ b/type-tests/prop-types/integer.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { integerProp } from '../../src/prop-types/integer'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/number.type.spec.ts b/type-tests/prop-types/number.type.spec.ts index fa4f80b2..e8ec4a45 100644 --- a/type-tests/prop-types/number.type.spec.ts +++ b/type-tests/prop-types/number.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { numberProp } from '../../src/prop-types/number'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/object.type.spec.ts b/type-tests/prop-types/object.type.spec.ts index 5528e70d..a5f8736e 100644 --- a/type-tests/prop-types/object.type.spec.ts +++ b/type-tests/prop-types/object.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { objectProp } from '../../src/prop-types/object'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/oneOf.type.spec.ts b/type-tests/prop-types/oneOf.type.spec.ts index a133e38b..cde75409 100644 --- a/type-tests/prop-types/oneOf.type.spec.ts +++ b/type-tests/prop-types/oneOf.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { oneOfProp } from '../../src/prop-types/oneOf'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/oneOfObjectKeys.type.spec.ts b/type-tests/prop-types/oneOfObjectKeys.type.spec.ts index 3baffe4d..d9185730 100644 --- a/type-tests/prop-types/oneOfObjectKeys.type.spec.ts +++ b/type-tests/prop-types/oneOfObjectKeys.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { oneOfObjectKeysProp } from '../../src/prop-types/oneOfObjectKeys'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/oneOfTypes.type.spec.ts b/type-tests/prop-types/oneOfTypes.type.spec.ts index 9dd4d1b3..edf97882 100644 --- a/type-tests/prop-types/oneOfTypes.type.spec.ts +++ b/type-tests/prop-types/oneOfTypes.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { oneOfTypesProp } from '../../src/prop-types/oneOfTypes'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/string.type.spec.ts b/type-tests/prop-types/string.type.spec.ts index 86cfeb23..7ceaa3c9 100644 --- a/type-tests/prop-types/string.type.spec.ts +++ b/type-tests/prop-types/string.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { stringProp } from '../../src/prop-types/string'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/symbol.type.spec.ts b/type-tests/prop-types/symbol.type.spec.ts index fa38c076..6b1b11a8 100644 --- a/type-tests/prop-types/symbol.type.spec.ts +++ b/type-tests/prop-types/symbol.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { symbolProp } from '../../src/prop-types/symbol'; import { createVue2Component } from '../utils'; import type { Vue2ComponentWithProp } from '../utils'; diff --git a/type-tests/prop-types/vueComponent.type.spec.ts b/type-tests/prop-types/vueComponent.type.spec.ts index 65e83f2e..f2c0f92c 100644 --- a/type-tests/prop-types/vueComponent.type.spec.ts +++ b/type-tests/prop-types/vueComponent.type.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from 'tstyche'; import type * as Vue2_6 from 'vue2-6/types/options'; import type * as Vue2_7 from 'vue2-7/types/options'; -import type * as Vue3 from '@vue/runtime-core/dist/runtime-core'; +import type * as Vue3 from '@vue/runtime-core'; import { vueComponentProp } from '../../src/prop-types/vueComponent'; import type { VueComponent } from '../../src/prop-types/vueComponent'; import { createVue2Component } from '../utils';