perf: faster app without defineAsync

This commit is contained in:
2026-08-02 08:59:13 +02:00
parent fe5c0f94b2
commit f680b04533
7 changed files with 17 additions and 34 deletions
+1
View File
@@ -1,5 +1,6 @@
{ {
"lockfileVersion": 1, "lockfileVersion": 1,
"configVersion": 0,
"workspaces": { "workspaces": {
"": { "": {
"name": "tout-doux", "name": "tout-doux",
+1 -4
View File
@@ -1,9 +1,6 @@
<script setup lang="ts"> <script setup lang="ts">
import { useAlertStore } from "@/stores/alerts"; import { useAlertStore } from "@/stores/alerts";
import { defineAsyncComponent } from "vue"; import AlertItem from "@/components/AlertItem.vue";
const AlertItem = defineAsyncComponent(
() => import("@/components/AlertItem.vue"),
);
const { alerts } = useAlertStore(); const { alerts } = useAlertStore();
</script> </script>
+2 -4
View File
@@ -1,10 +1,8 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, onBeforeMount, watch, defineAsyncComponent } from "vue"; import { ref, onBeforeMount, watch } from "vue";
import { getCron, parseCron, validCron } from "@/lib/recurrence"; import { getCron, parseCron, validCron } from "@/lib/recurrence";
import { CronType } from "@/enums"; import { CronType } from "@/enums";
const DateInput = defineAsyncComponent( import DateInput from "@/components/DateInput.vue";
() => import("@/components/DateInput.vue"),
);
const DEFAULT_CRON = "0 0 * * *"; const DEFAULT_CRON = "0 0 * * *";
+3 -7
View File
@@ -1,17 +1,13 @@
<script setup lang="ts"> <script setup lang="ts">
import { getMetadata } from "@/api/meta"; import { getMetadata } from "@/api/meta";
import type { Metadata } from "@/types"; import type { Metadata } from "@/types";
import { defineAsyncComponent, onBeforeMount, ref } from "vue"; import { onBeforeMount, ref } from "vue";
import LangInput from "@/components/LangInput.vue";
const metadata = ref<Metadata | null>(null); const metadata = ref<Metadata | null>(null);
const LangInput = defineAsyncComponent(
() => import("@/components/LangInput.vue"),
);
function fetchMetadata() { function fetchMetadata() {
void getMetadata() void getMetadata().then((data) => {
.then((data) => {
metadata.value = data; metadata.value = data;
setTimeout(fetchMetadata, 600000); setTimeout(fetchMetadata, 600000);
}); });
+1 -4
View File
@@ -4,15 +4,12 @@ import {
ref, ref,
watch, watch,
computed, computed,
defineAsyncComponent,
nextTick, nextTick,
} from "vue"; } from "vue";
import type { Task } from "@/types"; import type { Task } from "@/types";
import { CopyIcon, TrashIcon, SaveIcon, XIcon } from "@lucide/vue"; import { CopyIcon, TrashIcon, SaveIcon, XIcon } from "@lucide/vue";
import { updateTask } from "@/api/tasks"; import { updateTask } from "@/api/tasks";
const CronInput = defineAsyncComponent( import CronInput from "@/components/CronInput.vue";
() => import("@/components/CronInput.vue"),
);
import { import {
isTemporary, isTemporary,
taskCompleted, taskCompleted,
+2 -4
View File
@@ -2,11 +2,9 @@
import { useListStore } from "@/stores/lists"; import { useListStore } from "@/stores/lists";
import { ArrowBigRightDashIcon, DicesIcon, HistoryIcon } from "@lucide/vue"; import { ArrowBigRightDashIcon, DicesIcon, HistoryIcon } from "@lucide/vue";
import { generateSlug } from "random-word-slugs"; import { generateSlug } from "random-word-slugs";
import { defineAsyncComponent, onBeforeMount, ref } from "vue"; import { onBeforeMount, ref } from "vue";
import { onBeforeRouteUpdate } from "vue-router"; import { onBeforeRouteUpdate } from "vue-router";
const RecentItem = defineAsyncComponent( import RecentItem from "@/components/RecentItem.vue";
() => import("@/components/RecentItem.vue"),
);
const listNameInput = ref<string>(generateSlug(4)); const listNameInput = ref<string>(generateSlug(4));
+3 -7
View File
@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import { ref, onBeforeMount, computed, defineAsyncComponent } from "vue"; import { ref, onBeforeMount, computed } from "vue";
import type { Task } from "@/types"; import type { Task } from "@/types";
import { getTasks, createTask, deleteTask } from "@/api/tasks"; import { getTasks, createTask, deleteTask } from "@/api/tasks";
import { import {
@@ -9,12 +9,8 @@ import {
SearchIcon, SearchIcon,
Share2Icon, Share2Icon,
} from "@lucide/vue"; } from "@lucide/vue";
const TaskItem = defineAsyncComponent( import TaskItem from "@/components/TaskItem.vue";
() => import("@/components/TaskItem.vue"), import ListOptions from "@/components/ListOptions.vue";
);
const ListOptions = defineAsyncComponent(
() => import("@/components/ListOptions.vue"),
);
import { taskCompleted, sortTasks, newTemporaryTask } from "@/lib/tasks"; import { taskCompleted, sortTasks, newTemporaryTask } from "@/lib/tasks";
import { SortType } from "@/enums"; import { SortType } from "@/enums";
import { booleanCookieRef, enumCookieRef } from "@/lib/cookies"; import { booleanCookieRef, enumCookieRef } from "@/lib/cookies";