From 697271c13feedac27c5452d4d39b847d4cf5bfc9 Mon Sep 17 00:00:00 2001 From: Tsukuha Kawakami Date: Thu, 13 Jun 2024 12:02:37 +0900 Subject: [PATCH 1/4] add noUncheckedIndexedAccess to tsconfig --- tsconfig.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 9dd826f..d3a68d1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,6 @@ { - "extends": "./playground/.nuxt/tsconfig.json" + "extends": "./playground/.nuxt/tsconfig.json", + "compilerOptions": { + "noUncheckedIndexedAccess": true + } } From 10e4d49d0b84437ac91cfd5cab582d0871a8685f Mon Sep 17 00:00:00 2001 From: Tsukuha Kawakami Date: Thu, 13 Jun 2024 12:05:41 +0900 Subject: [PATCH 2/4] apply noUncheckedIndexedAccess to nuxt-icon.vue --- src/runtime/components/nuxt-icon.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/runtime/components/nuxt-icon.vue b/src/runtime/components/nuxt-icon.vue index 7d80b5a..a72d196 100644 --- a/src/runtime/components/nuxt-icon.vue +++ b/src/runtime/components/nuxt-icon.vue @@ -24,7 +24,14 @@ async function getIcon () { as: 'raw', eager: false }) - const rawIcon = await iconsImport[`/assets/icons/${props.name}.svg`]() + const rawIconImport = await iconsImport[`/assets/icons/${props.name}.svg`] + if (!rawIconImport) { + console.error( + `[nuxt-icons] Icon '${props.name}' doesn't exist in 'assets/icons'` + ) + return + } + const rawIcon = rawIconImport() if (rawIcon.includes('stroke')) { hasStroke = true } icon.value = rawIcon } catch { From 2866422b2784eadd187b2fcfd994205c6b21fc24 Mon Sep 17 00:00:00 2001 From: Tsukuha Kawakami Date: Thu, 7 Nov 2024 14:51:55 +0900 Subject: [PATCH 3/4] fix: add await --- src/runtime/components/nuxt-icon.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/components/nuxt-icon.vue b/src/runtime/components/nuxt-icon.vue index a72d196..f85e9c8 100644 --- a/src/runtime/components/nuxt-icon.vue +++ b/src/runtime/components/nuxt-icon.vue @@ -31,7 +31,7 @@ async function getIcon () { ) return } - const rawIcon = rawIconImport() + const rawIcon = await rawIconImport() if (rawIcon.includes('stroke')) { hasStroke = true } icon.value = rawIcon } catch { From d5a523262a84ff74887469117ad9afae0e45e803 Mon Sep 17 00:00:00 2001 From: Tsukuha Kawakami Date: Thu, 7 Nov 2024 14:54:48 +0900 Subject: [PATCH 4/4] fix: remove await --- src/runtime/components/nuxt-icon.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/components/nuxt-icon.vue b/src/runtime/components/nuxt-icon.vue index f85e9c8..1fbb7e7 100644 --- a/src/runtime/components/nuxt-icon.vue +++ b/src/runtime/components/nuxt-icon.vue @@ -24,7 +24,7 @@ async function getIcon () { as: 'raw', eager: false }) - const rawIconImport = await iconsImport[`/assets/icons/${props.name}.svg`] + const rawIconImport = iconsImport[`/assets/icons/${props.name}.svg`] if (!rawIconImport) { console.error( `[nuxt-icons] Icon '${props.name}' doesn't exist in 'assets/icons'`