From ca0864107e8a2fcb0da4ba190df69fe934fa6d7d Mon Sep 17 00:00:00 2001 From: daniel007enirman <85094551+daniel007enirman@users.noreply.github.com> Date: Fri, 23 Jun 2023 18:39:52 +0530 Subject: [PATCH 1/3] type support added --- .eslintignore | 1 + package.json | 3 +++ src/components/Select.vue | 7 ++++--- src/{index.js => index.ts} | 0 vite.config.ts | 8 +++++--- 5 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 .eslintignore rename src/{index.js => index.ts} (100%) diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 000000000..0f10977a6 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +**/*.d.ts \ No newline at end of file diff --git a/package.json b/package.json index 8c9f78e65..fa71329fe 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ ], "main": "./dist/vue-select.umd.js", "module": "./dist/vue-select.es.js", + "types": "./dist/src/index.d.ts", "exports": { ".": { "import": "./dist/vue-select.es.js", @@ -48,6 +49,7 @@ "vue": "3.x" }, "devDependencies": { + "@babel/types": "^7.22.5", "@rushstack/eslint-patch": "^1.2.0", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^8.0.7", @@ -73,6 +75,7 @@ "semantic-release": "^19.0.5", "typescript": "^4.9.3", "vite": "^3.2.4", + "vite-plugin-dts": "^2.3.0", "vitest": "^0.25.3", "vue": "^3.2.45", "vue-tsc": "^1.0.10" diff --git a/src/components/Select.vue b/src/components/Select.vue index 0f81b6b68..e405210f4 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -135,7 +135,7 @@ - diff --git a/src/index.js b/src/index.ts similarity index 100% rename from src/index.js rename to src/index.ts diff --git a/vite.config.ts b/vite.config.ts index 38821d493..797383a34 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,12 +1,14 @@ import { resolve } from 'path' import { fileURLToPath, URL } from 'url' - +import dts from 'vite-plugin-dts' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ - plugins: [vue()], + plugins: [vue(), dts({ + insertTypesEntry: true, + })], publicDir: false, resolve: { alias: { @@ -17,7 +19,7 @@ export default defineConfig({ build: { target: 'es2015', lib: { - entry: resolve(__dirname, 'src/index.js'), + entry: resolve(__dirname, 'src/index.ts'), name: 'vue-select', fileName: (format) => `vue-select.${format}.js`, }, From eba444a5150b596299137a5262cc21a0434de45c Mon Sep 17 00:00:00 2001 From: daniel007enirman <85094551+daniel007enirman@users.noreply.github.com> Date: Fri, 23 Jun 2023 19:05:10 +0530 Subject: [PATCH 2/3] type path update --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fa71329fe..ebd3390eb 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ ], "main": "./dist/vue-select.umd.js", "module": "./dist/vue-select.es.js", - "types": "./dist/src/index.d.ts", + "types": "./dist/src/components/Select.vue.d.ts", "exports": { ".": { "import": "./dist/vue-select.es.js", From 9ed7224b1dbdf23678f678342e6466e8befa88ed Mon Sep 17 00:00:00 2001 From: daniel007enirman <85094551+daniel007enirman@users.noreply.github.com> Date: Mon, 26 Jun 2023 13:12:03 +0530 Subject: [PATCH 3/3] types reconfigure --- package.json | 2 +- shims-vue.d.ts | 5 +++++ src/components/Select.vue | 14 +++++++------- .../{childComponents.js => childComponents.ts} | 0 .../{appendToBody.js => appendToBody.ts} | 0 src/mixins/{ajax.js => ajax.ts} | 0 src/mixins/index.js | 5 ----- src/mixins/index.ts | 5 +++++ src/mixins/{pointerScroll.js => pointerScroll.ts} | 0 .../{typeAheadPointer.js => typeAheadPointer.ts} | 0 .../{sortAndStringify.js => sortAndStringify.ts} | 0 src/utility/{uniqueId.js => uniqueId.ts} | 0 tsconfig.app.json | 2 +- vite.config.ts | 4 +++- 14 files changed, 22 insertions(+), 15 deletions(-) create mode 100644 shims-vue.d.ts rename src/components/{childComponents.js => childComponents.ts} (100%) rename src/directives/{appendToBody.js => appendToBody.ts} (100%) rename src/mixins/{ajax.js => ajax.ts} (100%) delete mode 100644 src/mixins/index.js create mode 100644 src/mixins/index.ts rename src/mixins/{pointerScroll.js => pointerScroll.ts} (100%) rename src/mixins/{typeAheadPointer.js => typeAheadPointer.ts} (100%) rename src/utility/{sortAndStringify.js => sortAndStringify.ts} (100%) rename src/utility/{uniqueId.js => uniqueId.ts} (100%) diff --git a/package.json b/package.json index ebd3390eb..fa71329fe 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ ], "main": "./dist/vue-select.umd.js", "module": "./dist/vue-select.es.js", - "types": "./dist/src/components/Select.vue.d.ts", + "types": "./dist/src/index.d.ts", "exports": { ".": { "import": "./dist/vue-select.es.js", diff --git a/shims-vue.d.ts b/shims-vue.d.ts new file mode 100644 index 000000000..753e7a90d --- /dev/null +++ b/shims-vue.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent, Record, any> + export default component +} \ No newline at end of file diff --git a/src/components/Select.vue b/src/components/Select.vue index e405210f4..7bc2cfead 100644 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -136,13 +136,13 @@