chore(deps): update to Nuxt 2.16 (Vue 2.7) (#2144)

This commit is contained in:
Philipp Fischbeck 2023-02-20 02:11:52 +01:00 committed by GitHub
parent 6c0fae51b7
commit 89b003589d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 2708 additions and 2158 deletions

View File

@ -1,8 +1,5 @@
module.exports = { module.exports = {
root: true, root: true,
settings: {
"import/ignore": ["@vueuse*"],
},
env: { env: {
browser: true, browser: true,
node: true, node: true,
@ -58,6 +55,15 @@ module.exports = {
], ],
// TODO Gradually activate all rules // TODO Gradually activate all rules
// Allow Promise in onMounted
"@typescript-eslint/no-misused-promises": [
"error",
{
checksVoidReturn: {
arguments: false,
},
},
],
"@typescript-eslint/no-unsafe-assignment": "off", "@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/explicit-module-boundary-types": "off",

View File

@ -55,7 +55,7 @@
<script lang="ts"> <script lang="ts">
import { defineComponent, toRefs, reactive, ref, watch, useRoute } from "@nuxtjs/composition-api"; import { defineComponent, toRefs, reactive, ref, watch, useRoute } from "@nuxtjs/composition-api";
import { watchDebounced } from "@vueuse/shared"; import { watchDebounced } from "@vueuse/shared";
import RecipeCardMobile from "./RecipeCardMobile.vue"; import RecipeCardMobile from "./RecipeCardMobile.vue";
import { RecipeSummary } from "~/lib/api/types/recipe"; import { RecipeSummary } from "~/lib/api/types/recipe";
import { useUserApi } from "~/composables/api"; import { useUserApi } from "~/composables/api";
@ -136,32 +136,34 @@ export default defineComponent({
dialog.value = true; dialog.value = true;
} }
function close() { function close() {
dialog.value = false; dialog.value = false;
} }
// =========================================================================== // ===========================================================================
// Basic Search // Basic Search
const api = useUserApi(); const api = useUserApi();
const search = ref("") const search = ref("");
watchDebounced(search, async (val) => { watchDebounced(
console.log(val) search,
if (val) { async (val) => {
state.loading = true; console.log(val);
// @ts-expect-error - inferred type is wrong if (val) {
const { data, error } = await api.recipes.search({ search: val as string, page: 1, perPage: 10 }); state.loading = true;
const { data, error } = await api.recipes.search({ search: val, page: 1, perPage: 10 });
if (error || !data) { if (error || !data) {
console.error(error); console.error(error);
state.searchResults = []; state.searchResults = [];
} else { } else {
state.searchResults = data.items; state.searchResults = data.items;
}
state.loading = false;
} }
},
state.loading = false; { debounce: 500, maxWait: 1000 }
} );
}, { debounce: 500, maxWait: 1000 });
// =========================================================================== // ===========================================================================
// Select Handler // Select Handler
@ -171,7 +173,7 @@ export default defineComponent({
context.emit(SELECTED_EVENT, recipe); context.emit(SELECTED_EVENT, recipe);
} }
return { ...toRefs(state), dialog, open, close, handleSelect, search, }; return { ...toRefs(state), dialog, open, close, handleSelect, search };
}, },
}); });
</script> </script>

View File

@ -108,7 +108,7 @@ export default defineComponent({
type: String, type: String,
default: function () { default: function () {
return this.$t("general.create"); return this.$t("general.create");
} },
}, },
keepOpen: { keepOpen: {
default: false, default: false,
@ -118,8 +118,6 @@ export default defineComponent({
setup(props, context) { setup(props, context) {
const dialog = computed<boolean>({ const dialog = computed<boolean>({
get() { get() {
// @ts-expect-error - props inference doesn't work here for some reason
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
return props.value; return props.value;
}, },
set(val) { set(val) {

View File

@ -23,28 +23,26 @@
"@nuxtjs/i18n": "7.2.0", "@nuxtjs/i18n": "7.2.0",
"@nuxtjs/proxy": "^2.1.0", "@nuxtjs/proxy": "^2.1.0",
"@nuxtjs/pwa": "3.2.0", "@nuxtjs/pwa": "3.2.0",
"@vue/composition-api": "^1.7.0",
"@vueuse/core": "^9.9.0", "@vueuse/core": "^9.9.0",
"core-js": "^3.27.0", "core-js": "^3.27.0",
"date-fns": "^2.29.3", "date-fns": "^2.29.3",
"fuse.js": "^6.6.2", "fuse.js": "^6.6.2",
"isomorphic-dompurify": "^1.0.0", "isomorphic-dompurify": "^1.0.0",
"nuxt": "^2.15.8", "nuxt": "^2.16.0",
"v-jsoneditor": "^1.4.5", "v-jsoneditor": "^1.4.5",
"vuedraggable": "^2.24.3", "vuedraggable": "^2.24.3",
"vuetify": "^2.6.13" "vuetify": "^2.6.13"
}, },
"devDependencies": { "devDependencies": {
"@babel/eslint-parser": "^7.19.1", "@babel/eslint-parser": "^7.19.1",
"@nuxt/types": "^2.15.7", "@nuxt/types": "^2.16.0",
"@nuxt/typescript-build": "^2.1.0", "@nuxt/typescript-build": "^2.1.0",
"@nuxtjs/composition-api": "^0.32.0", "@nuxtjs/composition-api": "^0.33.1",
"@nuxtjs/eslint-config-typescript": "^12.0.0", "@nuxtjs/eslint-config-typescript": "^12.0.0",
"@nuxtjs/eslint-module": "3.1.0", "@nuxtjs/eslint-module": "3.1.0",
"@nuxtjs/google-fonts": "2.0.0", "@nuxtjs/google-fonts": "2.0.0",
"@nuxtjs/vuetify": "^1.12.1", "@nuxtjs/vuetify": "^1.12.1",
"@types/sortablejs": "^1.15.0", "@types/sortablejs": "^1.15.0",
"@vue/runtime-dom": "^3.2.45",
"eslint": "^8.30.0", "eslint": "^8.30.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-nuxt": "^4.0.0", "eslint-plugin-nuxt": "^4.0.0",
@ -53,7 +51,11 @@
"lint-staged": "^13.1.0", "lint-staged": "^13.1.0",
"nuxt-vite": "0.2.3", "nuxt-vite": "0.2.3",
"prettier": "^2.8.1", "prettier": "^2.8.1",
"vitest": "^0.28.0", "vitest": "^0.28.0"
"vue2-script-setup-transform": "^0.3.5" },
"resolutions": {
"vue-template-compiler": "2.7.14",
"vue-demi": "^0.13.11",
"typescript": "^4.9.5"
} }
} }

View File

@ -28,8 +28,7 @@
] ]
}, },
"vueCompilerOptions": { "vueCompilerOptions": {
"target": 2, "target": 2.7
"experimentalCompatMode": 2
}, },
"include": ["**/*", ".eslintrc.js"], "include": ["**/*", ".eslintrc.js"],
"exclude": ["node_modules", ".nuxt", "dist"] "exclude": ["node_modules", ".nuxt", "dist"]

File diff suppressed because it is too large Load Diff