[F] Fix vue-tsc vue-facing-decorator toNative

https://github.com/facing-dev/vue-facing-decorator/issues/163
This commit is contained in:
2025-10-24 18:22:40 +08:00
parent 34b076244b
commit 84128c52a5
11 changed files with 36 additions and 28 deletions
BIN
View File
Binary file not shown.
+2 -3
View File
@@ -33,7 +33,6 @@
"tslib": "^2.6.3", "tslib": "^2.6.3",
"typescript": "^5.5.4", "typescript": "^5.5.4",
"vite": "^7.1.12", "vite": "^7.1.12",
"vue-tsc": "^2.0.29" "vue-tsc": "3.1.1"
}, }
"packageManager": "yarn@4.3.1"
} }
+4 -2
View File
@@ -29,13 +29,13 @@
<script lang="ts"> <script lang="ts">
import { ComponentPublicInstance } from 'vue'; import { ComponentPublicInstance } from 'vue';
import { Component, Vue } from 'vue-facing-decorator' import { Component, Vue, toNative } from 'vue-facing-decorator'
import router from "@/scripts/router"; import router from "@/scripts/router";
import { RouteLocationNormalized, RouteLocationNormalizedLoaded, Router } from "vue-router"; import { RouteLocationNormalized, RouteLocationNormalizedLoaded, Router } from "vue-router";
import { TranslateResult } from "vue-i18n"; import { TranslateResult } from "vue-i18n";
@Component @Component
export default class App extends Vue class App extends Vue
{ {
currentRoute = '' currentRoute = ''
currentLink: Element = null as never as Element currentLink: Element = null as never as Element
@@ -111,6 +111,8 @@ export default class App extends Vue
`border-width: ${width}px 20px ${width}px 50px;` `border-width: ${width}px 20px ${width}px 50px;`
} }
} }
export default toNative(App)
</script> </script>
<style lang="sass"> <style lang="sass">
+4 -2
View File
@@ -10,14 +10,14 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
import Tag from "@/components/Tag.vue"; import Tag from "@/components/Tag.vue";
import {pushQuery} from "@/scripts/router"; import {pushQuery} from "@/scripts/router";
import {BlogMeta} from "@/scripts/models"; import {BlogMeta} from "@/scripts/models";
import {globals} from "@/scripts/global"; import {globals} from "@/scripts/global";
@Component({components: {Tag}}) @Component({components: {Tag}})
export default class BlogIndexLinks extends Vue class BlogIndexLinks extends Vue
{ {
@Prop({default: 'tags'}) mode: 'tags' | 'categories' = 'tags' @Prop({default: 'tags'}) mode: 'tags' | 'categories' = 'tags'
@@ -36,6 +36,8 @@ export default class BlogIndexLinks extends Vue
pushQuery({tag: tag[0], category: null}) pushQuery({tag: tag[0], category: null})
} }
} }
export default toNative(BlogIndexLinks)
</script> </script>
<style lang="sass" scoped> <style lang="sass" scoped>
+3 -2
View File
@@ -8,11 +8,11 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
import {$} from '@/scripts/constants'; import {$} from '@/scripts/constants';
@Component @Component
export default class Collapse extends Vue class Collapse extends Vue
{ {
@Prop title!: string @Prop title!: string
@Prop({default: false}) active = false @Prop({default: false}) active = false
@@ -30,6 +30,7 @@ export default class Collapse extends Vue
active: this.active}) active: this.active})
} }
} }
export default toNative(Collapse)
</script> </script>
<style lang="sass"> <style lang="sass">
+4 -2
View File
@@ -8,10 +8,10 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
@Component @Component
export default class MetaTable extends Vue class MetaTable extends Vue
{ {
@Prop({required: true}) table!: {[id: string]: unknown} @Prop({required: true}) table!: {[id: string]: unknown}
@@ -32,6 +32,8 @@ export default class MetaTable extends Vue
return t return t
} }
} }
export default toNative(MetaTable)
</script> </script>
<style lang="sass" scoped> <style lang="sass" scoped>
+4 -2
View File
@@ -24,7 +24,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
import moment from "moment"; import moment from "moment";
import MetaTable from "@/components/MetaTable.vue"; import MetaTable from "@/components/MetaTable.vue";
import {capitalize} from "@/scripts/utils"; import {capitalize} from "@/scripts/utils";
@@ -33,7 +33,7 @@ import {$} from '@/scripts/constants';
import {ZoteroData, ZoteroItem} from "@/scripts/zotero"; import {ZoteroData, ZoteroItem} from "@/scripts/zotero";
@Component({components: {MetaTable}}) @Component({components: {MetaTable}})
export default class ZoteroPublicationView extends Vue class ZoteroPublicationView extends Vue
{ {
@Prop({required: true}) item!: ZoteroItem @Prop({required: true}) item!: ZoteroItem
@@ -60,6 +60,8 @@ export default class ZoteroPublicationView extends Vue
heightStyle: "content"}) heightStyle: "content"})
} }
} }
export default toNative(ZoteroPublicationView)
</script> </script>
<style lang="sass" scoped> <style lang="sass" scoped>
+4 -2
View File
@@ -10,7 +10,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
import {marked} from 'marked'; import {marked} from 'marked';
import emojiRegex from 'emoji-regex'; import emojiRegex from 'emoji-regex';
import {parseExtensions} from '@/scripts/extended_markdown' import {parseExtensions} from '@/scripts/extended_markdown'
@@ -20,7 +20,7 @@ import Loading from "@/components/Loading.vue";
import {ZoteroAttachment, ZoteroItem} from "@/scripts/zotero"; import {ZoteroAttachment, ZoteroItem} from "@/scripts/zotero";
@Component({components: {Loading, ZoteroPublication}}) @Component({components: {Loading, ZoteroPublication}})
export default class About extends Vue class About extends Vue
{ {
html = "" html = ""
publications: ZoteroItem[] = [] publications: ZoteroItem[] = []
@@ -48,6 +48,8 @@ export default class About extends Vue
}) })
} }
} }
export default toNative(About)
</script> </script>
<style lang="sass"> <style lang="sass">
+3 -2
View File
@@ -24,7 +24,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
import {fab, hosts} from "@/scripts/constants"; import {fab, hosts} from "@/scripts/constants";
import {shuffle} from "@/scripts/utils"; import {shuffle} from "@/scripts/utils";
@@ -42,7 +42,7 @@ const icons = {
} }
@Component @Component
export default class Friends extends Vue class Friends extends Vue
{ {
friends: Friend[] = [] friends: Friend[] = []
@@ -73,6 +73,7 @@ export default class Friends extends Vue
}) })
} }
} }
export default toNative(Friends)
</script> </script>
<style lang="sass" scoped> <style lang="sass" scoped>
+4 -9
View File
@@ -24,14 +24,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
export enum Flavor
{
light,
normal,
salty
}
export interface MenuItem export interface MenuItem
{ {
@@ -142,7 +135,7 @@ export const menu: MenuCategory[] = [
] ]
@Component @Component
export default class Menu extends Vue class Menu extends Vue
{ {
max_cols = 2 max_cols = 2
cols: MenuCategory[][] = new Array(this.max_cols) cols: MenuCategory[][] = new Array(this.max_cols)
@@ -173,6 +166,8 @@ export default class Menu extends Vue
this.cols.forEach(col => col.forEach(cat => cat.items.forEach(it => it.id = id++))) this.cols.forEach(col => col.forEach(cat => cat.items.forEach(it => it.id = id++)))
} }
} }
export default toNative(Menu)
</script> </script>
<style lang="sass" scoped> <style lang="sass" scoped>
+4 -2
View File
@@ -5,13 +5,15 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { Component, Vue, Prop } from 'vue-facing-decorator' import { Component, Vue, Prop, toNative } from 'vue-facing-decorator'
@Component @Component
export default class Projects extends Vue class Projects extends Vue
{ {
} }
export default toNative(Projects)
</script> </script>
<style lang="sass" scoped> <style lang="sass" scoped>