瀏覽代碼

upgrade nuxt, vuetify and other deps

Olivier Massot 1 年之前
父節點
當前提交
3ab40adb6d
共有 54 個文件被更改,包括 628 次插入971 次删除
  1. 5 1
      .eslintrc.yaml
  2. 1 1
      .nvmrc
  3. 0 2
      .prettierrc
  4. 1 1
      components/About/Chronologie.vue
  5. 1 1
      components/About/Equipe.vue
  6. 1 1
      components/About/Valeurs.vue
  7. 1 1
      components/Common/Agenda.vue
  8. 1 1
      components/Common/Avantages.vue
  9. 1 1
      components/Common/Card/Benefit.vue
  10. 1 1
      components/Common/Carousel/Clients.vue
  11. 2 2
      components/Common/Carousel/Fonctionnalite.vue
  12. 2 2
      components/Common/MenuScroll.vue
  13. 2 2
      components/Common/Presentation.vue
  14. 2 2
      components/Common/ReviewSection.vue
  15. 1 1
      components/Common/Share.vue
  16. 1 2
      components/Common/StickyMenu.vue
  17. 1 1
      components/Common/Table/Comparatif.vue
  18. 1 1
      components/Contact/Form.vue
  19. 1 1
      components/Formation/Catalogue.vue
  20. 1 1
      components/Formation/Reviews.vue
  21. 1 1
      components/Home/Caroussel.vue
  22. 1 1
      components/Home/Reviews.vue
  23. 1 1
      components/Home/Solution.vue
  24. 1 2
      components/JoinUs/Missions.vue
  25. 1 1
      components/Layout/Navigation.vue
  26. 1 1
      components/Logiciels/Artist/Avantages.vue
  27. 1 1
      components/Logiciels/Artist/Comparatif.vue
  28. 1 1
      components/Logiciels/Artist/Fonctionnalites.vue
  29. 1 1
      components/Logiciels/Artist/Presentation.vue
  30. 1 1
      components/Logiciels/Artist/Reviews.vue
  31. 1 1
      components/Logiciels/Manager/Avantages.vue
  32. 1 1
      components/Logiciels/Manager/Fonctionnalites.vue
  33. 1 1
      components/Logiciels/Manager/Presentation.vue
  34. 1 1
      components/Logiciels/Manager/Reviews.vue
  35. 1 1
      components/Logiciels/School/Avantages.vue
  36. 1 1
      components/Logiciels/School/Comparatif.vue
  37. 1 1
      components/Logiciels/School/Fonctionnalites.vue
  38. 1 1
      components/Logiciels/School/Formations.vue
  39. 1 1
      components/Logiciels/School/Presentation.vue
  40. 1 1
      components/Logiciels/School/Reviews.vue
  41. 1 3
      components/Webinaire/Catalogue.vue
  42. 1 1
      components/Webinaire/FAQ.vue
  43. 2 2
      composables/data/useEnumManager.ts
  44. 2 2
      composables/data/useMaestroRequestService.ts
  45. 0 2
      composables/useClientDevice.ts
  46. 6 20
      nuxt.config.ts
  47. 41 54
      package.json
  48. 1 1
      pages/formations.vue
  49. 1 1
      pages/opentalent_artist.vue
  50. 1 1
      pages/opentalent_manager.vue
  51. 1 1
      pages/opentalent_school.vue
  52. 1 1
      pages/qui-sommes-nous.vue
  53. 2 3
      tsconfig.json
  54. 521 832
      yarn.lock

+ 5 - 1
.eslintrc.yaml

@@ -1,5 +1,6 @@
 env:
   browser: true
+  node: true
 parser: vue-eslint-parser
 parserOptions:
   parser: '@typescript-eslint/parser'
@@ -8,11 +9,14 @@ parserOptions:
 plugins:
   - vue
   - '@typescript-eslint'
-extends: 
+extends:
+  - '@nuxtjs/eslint-config-typescript',
   - eslint:recommended
   - plugin:vue/recommended
   - plugin:nuxt/recommended
   - plugin:@typescript-eslint/recommended
+  - plugin:vue/vue3-recommended
+  - plugin:prettier/recommended
 rules:
   vue/multi-word-component-names: off
   vue/no-multiple-template-root: off

+ 1 - 1
.nvmrc

@@ -1 +1 @@
-18.10.0
+18.19.0

+ 0 - 2
.prettierrc

@@ -1,6 +1,4 @@
 {
-  "name": "frames",
-  "version": "1.0.0",
   "prettier": {
     "tabWidth": 2,
     "singleQuote": true,

+ 1 - 1
components/About/Chronologie.vue

@@ -92,7 +92,7 @@ import { useDisplay } from "vuetify";
 import { Carousel, Slide } from "vue3-carousel";
 import "vue3-carousel/dist/carousel.css";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { ChronologyItem } from "~/types/interface";
+import type { ChronologyItem } from "~/types/interface";
 
 const activeSlide: Ref<number> = ref(0);
 

+ 1 - 1
components/About/Equipe.vue

@@ -69,7 +69,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { SocietyMember } from "~/types/interface";
+import type { SocietyMember } from "~/types/interface";
 
 const associates: Array<SocietyMember> = [
   {

+ 1 - 1
components/About/Valeurs.vue

@@ -47,7 +47,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { SocietyValue } from "~/types/interface";
+import type { SocietyValue } from "~/types/interface";
 
 const values: Array<Array<SocietyValue>> = [
   [

+ 1 - 1
components/Common/Agenda.vue

@@ -90,7 +90,7 @@ Section "Agenda des évènements"
 import { Carousel, Slide } from "vue3-carousel";
 import "vue3-carousel/dist/carousel.css";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Event } from "~/types/interface";
+import type { Event } from "~/types/interface";
 
 const tagColor = (tag: string) => {
   switch (tag) {

+ 1 - 1
components/Common/Avantages.vue

@@ -27,7 +27,7 @@
 </template>
 
 <script setup lang="ts">
-import { Benefit } from "~/types/interface";
+import type { Benefit } from "~/types/interface";
 
 const props = defineProps({
   benefits: {

+ 1 - 1
components/Common/Card/Benefit.vue

@@ -31,7 +31,7 @@ Carte "Avantage" de la section Avantages d'une page Logiciel
 </template>
 
 <script setup lang="ts">
-import { Benefit } from "~/types/interface";
+import type { Benefit } from "~/types/interface";
 
 const props = defineProps({
   benefit: {

+ 1 - 1
components/Common/Carousel/Clients.vue

@@ -45,7 +45,7 @@
 
 <script setup lang="ts">
 import { Carousel, Slide } from "vue3-carousel";
-import { PropType } from "@vue/runtime-core";
+import type { PropType } from "@vue/runtime-core";
 
 const carousel: Ref<typeof Carousel | null> = ref(null);
 

+ 2 - 2
components/Common/Carousel/Fonctionnalite.vue

@@ -74,8 +74,8 @@
 import { useDisplay } from "vuetify";
 import { Carousel, Slide } from "vue3-carousel";
 import "vue3-carousel/dist/carousel.css";
-import { PropType } from "@vue/runtime-core";
-import { Functionality } from "~/types/interface";
+import type { PropType } from "@vue/runtime-core";
+import type { Functionality } from "~/types/interface";
 
 const { mdAndDown } = useDisplay();
 

+ 2 - 2
components/Common/MenuScroll.vue

@@ -28,8 +28,8 @@
 
 <script setup lang="ts">
 
-import { PropType } from "@vue/runtime-core";
-import { MenuScroll } from "~/types/interface";
+import type { PropType } from "@vue/runtime-core";
+import type { MenuScroll } from "~/types/interface";
 import { useLayoutStore } from "~/stores/layoutStore";
 
 const props = defineProps({

+ 2 - 2
components/Common/Presentation.vue

@@ -86,8 +86,8 @@ Section "Présentation" d'une page Logiciel
 </template>
 
 <script setup lang="ts">
-import { PropType } from "@vue/runtime-core";
-import { FeaturePicto } from "~/types/interface";
+import type { PropType } from "@vue/runtime-core";
+import type { FeaturePicto } from "~/types/interface";
 
 const route = useRoute();
 

+ 2 - 2
components/Common/ReviewSection.vue

@@ -64,8 +64,8 @@
 <script setup lang="ts">
 import { Carousel, Slide } from "vue3-carousel";
 import "vue3-carousel/dist/carousel.css";
-import { PropType } from "@vue/runtime-core";
-import { Review } from "~/types/interface";
+import type { PropType } from "@vue/runtime-core";
+import type { Review } from "~/types/interface";
 
 const props = defineProps({
   cards: {

+ 1 - 1
components/Common/Share.vue

@@ -13,7 +13,7 @@
 </template>
 
 <script setup lang="ts">
-  import { SocialNetworkShareBtn } from "~/types/interface";
+  import type { SocialNetworkShareBtn } from "~/types/interface";
 
   const url: Ref<string | null> = ref(null)
   const networks: Ref<Array<SocialNetworkShareBtn>> = ref([])

+ 1 - 2
components/Common/StickyMenu.vue

@@ -35,12 +35,11 @@ de l'écran (ou au bas de l'écran sur les petits écrans)
 </template>
 
 <script setup lang="ts">
-import { defineProps, ComputedRef } from "vue";
 import { useRouter } from "vue-router";
 import { useDisplay } from "vuetify";
 import { useLayoutStore } from "~/stores/layoutStore";
 import { StickyMenuActionType } from "~/types/enum/layout";
-import { StickyMenuAction } from "~/types/interface";
+import type { StickyMenuAction } from "~/types/interface";
 
 const { mdAndDown, lgAndUp } = useDisplay();
 const router = useRouter();

+ 1 - 1
components/Common/Table/Comparatif.vue

@@ -81,7 +81,7 @@
 
 <script setup lang="ts">
 
-import { ComparisonItem } from "~/types/interface";
+import type { ComparisonItem } from "~/types/interface";
 
 const props = defineProps({
   standardPrice: {

+ 1 - 1
components/Contact/Form.vue

@@ -195,7 +195,7 @@
 
 <script setup lang="ts">
 import { ComputedRef } from "vue";
-import { ContactFormData } from "~/types/interface";
+import type { ContactFormData } from "~/types/interface";
 
 const route = useRoute();
 const defaultRequestType = route.query.request;

+ 1 - 1
components/Formation/Catalogue.vue

@@ -100,7 +100,7 @@
 <script setup lang="ts">
 import { useDisplay } from "vuetify";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Training } from "~/types/interface";
+import type { Training } from "~/types/interface";
 
 const { mdAndDown } = useDisplay();
 

+ 1 - 1
components/Formation/Reviews.vue

@@ -8,7 +8,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Review } from "~/types/interface";
+import type { Review } from "~/types/interface";
 
 const cards: Array<Review> = [
   {

+ 1 - 1
components/Home/Caroussel.vue

@@ -94,7 +94,7 @@ Carrousel de la page d'accueil
 <script setup lang="ts">
 
 import { useDisplay } from "vuetify";
-import { CarouselItem } from "~/types/interface";
+import type { CarouselItem } from "~/types/interface";
 const { smAndDown, mdAndDown } = useDisplay();
 
 // Index de la slide active

+ 1 - 1
components/Home/Reviews.vue

@@ -204,7 +204,7 @@
 import { Carousel, Slide } from "vue3-carousel";
 import "vue3-carousel/dist/carousel.css";
 import { useDisplay } from "vuetify";
-import { Review } from "~/types/interface";
+import type { Review } from "~/types/interface";
 
 const { mdAndUp } = useDisplay();
 

+ 1 - 1
components/Home/Solution.vue

@@ -92,7 +92,7 @@ Section "Solutions" de la page d'accueil
 
 <script setup lang="ts">
 
-import { SolutionItem } from "~/types/interface";
+import type { SolutionItem } from "~/types/interface";
 
 const solutions: Array<SolutionItem> = [
   {

+ 1 - 2
components/JoinUs/Missions.vue

@@ -149,8 +149,7 @@
 <script setup lang="ts">
 import { useEntityFetch } from "~/composables/data/useEntityFetch";
 import JobPosting from "~/models/Maestro/JobPosting";
-import { ComputedRef } from "vue";
-import { AnyJson } from "~/types/data";
+import type { AnyJson } from "~/types/data";
 
 const i18n = useI18n();
 const router = useRouter()

+ 1 - 1
components/Layout/Navigation.vue

@@ -120,7 +120,7 @@ Menu Navigation
 
 <script setup lang="ts">
 import { useDisplay } from "vuetify";
-import { MainMenuItem } from "~/types/interface";
+import type { MainMenuItem } from "~/types/interface";
 const { mdAndUp } = useDisplay();
 
 const menu: Array<MainMenuItem> = [

+ 1 - 1
components/Logiciels/Artist/Avantages.vue

@@ -9,7 +9,7 @@ Section "Avantages" de la page du logiciel Artist
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Benefit } from "~/types/interface";
+import type { Benefit } from "~/types/interface";
 
 const benefits: Ref<Array<Benefit>> = ref([
   {

+ 1 - 1
components/Logiciels/Artist/Comparatif.vue

@@ -20,7 +20,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { ComparisonItem } from "~/types/interface";
+import type { ComparisonItem } from "~/types/interface";
 
 const comparisonItems: Array<ComparisonItem> = [
   {

+ 1 - 1
components/Logiciels/Artist/Fonctionnalites.vue

@@ -17,7 +17,7 @@
 <script setup lang="ts">
 import "vue3-carousel/dist/carousel.css";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Functionality } from "~/types/interface";
+import type { Functionality } from "~/types/interface";
 
 const cards: Array<Functionality> = [
   {

+ 1 - 1
components/Logiciels/Artist/Presentation.vue

@@ -18,7 +18,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { FeaturePicto } from "~/types/interface";
+import type { FeaturePicto } from "~/types/interface";
 
 const features = [
   "Logiciel de gestion et communication en ligne",

+ 1 - 1
components/Logiciels/Artist/Reviews.vue

@@ -10,7 +10,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Review } from "~/types/interface";
+import type { Review } from "~/types/interface";
 
 const cards: Array<Review> = [
   {

+ 1 - 1
components/Logiciels/Manager/Avantages.vue

@@ -11,7 +11,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Benefit } from "~/types/interface";
+import type { Benefit } from "~/types/interface";
 
 const benefits: Array<Benefit> = [
   {

+ 1 - 1
components/Logiciels/Manager/Fonctionnalites.vue

@@ -17,7 +17,7 @@
 <script setup lang="ts">
 import "vue3-carousel/dist/carousel.css";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Functionality } from "~/types/interface";
+import type { Functionality } from "~/types/interface";
 
 const cards: Array<Functionality> = [
   {

+ 1 - 1
components/Logiciels/Manager/Presentation.vue

@@ -25,7 +25,7 @@
 </template>
 
 <script setup lang="ts">
-import { FeaturePicto } from "~/types/interface";
+import type { FeaturePicto } from "~/types/interface";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
 
 const features: Array<string> = [

+ 1 - 1
components/Logiciels/Manager/Reviews.vue

@@ -11,7 +11,7 @@
 <script setup lang="ts">
 
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Review } from "~/types/interface";
+import type { Review } from "~/types/interface";
 
 const cards: Array<Review> = [
   {

+ 1 - 1
components/Logiciels/School/Avantages.vue

@@ -9,7 +9,7 @@ Section "Avantages" de la page du logiciel School
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Benefit } from "~/types/interface";
+import type { Benefit } from "~/types/interface";
 
 // Exemple de données pour les cartes
 const benefits: Ref<Array<Benefit>> = ref([

+ 1 - 1
components/Logiciels/School/Comparatif.vue

@@ -20,7 +20,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { ComparisonItem } from "~/types/interface";
+import type { ComparisonItem } from "~/types/interface";
 
 const comparisonItems: Array<ComparisonItem> = [
   {

+ 1 - 1
components/Logiciels/School/Fonctionnalites.vue

@@ -17,7 +17,7 @@
 <script setup lang="ts">
 import "vue3-carousel/dist/carousel.css";
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Functionality } from "~/types/interface";
+import type { Functionality } from "~/types/interface";
 
 const cards: Array<Functionality> = [
   {

+ 1 - 1
components/Logiciels/School/Formations.vue

@@ -105,7 +105,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Formation } from "~/types/interface";
+import type { Formation } from "~/types/interface";
 
 const formations: Array<Formation> = [
   {

+ 1 - 1
components/Logiciels/School/Presentation.vue

@@ -18,7 +18,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { FeaturePicto } from "~/types/interface";
+import type { FeaturePicto } from "~/types/interface";
 
 const features = [
   "Logiciel de gestion et communication en ligne",

+ 1 - 1
components/Logiciels/School/Reviews.vue

@@ -10,7 +10,7 @@
 
 <script setup lang="ts">
 import AnchoredSection from "~/components/Layout/AnchoredSection.vue";
-import { Review } from "~/types/interface";
+import type { Review } from "~/types/interface";
 
 const cards: Array<Review> = [
   {

+ 1 - 3
components/Webinaire/Catalogue.vue

@@ -136,9 +136,7 @@
 </template>
 
 <script setup lang="ts">
-
-
-import { Training } from "~/types/interface";
+import type { Training } from "~/types/interface";
 
 const downloadPdf = (pdfUrl: string) => {
   window.open(pdfUrl, "_blank");

+ 1 - 1
components/Webinaire/FAQ.vue

@@ -40,7 +40,7 @@ Foire aux questions
 </template>
 
 <script setup lang="ts">
-import { FaqEntry } from "~/types/interface";
+import type { FaqEntry } from "~/types/interface";
 
 const faqItems: Array<FaqEntry> = [
   {

+ 2 - 2
composables/data/useEnumManager.ts

@@ -1,4 +1,4 @@
-import {useAp2iRequestService} from "~/composables/data/useAp2iRequestService";
+import {useMaestroRequestService} from "~/composables/data/useMaestroRequestService";
 import EnumManager from "~/services/data/enumManager";
 import {useI18n} from "vue-i18n";
 
@@ -7,7 +7,7 @@ let enumManager:EnumManager | null = null
 export const useEnumManager = () => {
   //Avoid memory leak
   if (enumManager === null) {
-    const { apiRequestService } = useAp2iRequestService()
+    const { apiRequestService } = useMaestroRequestService()
     const i18n = useI18n() as any
     enumManager = new EnumManager(apiRequestService, i18n)
   }

+ 2 - 2
composables/data/useMaestroRequestService.ts

@@ -1,6 +1,6 @@
-import {FetchContext, FetchOptions} from "ohmyfetch";
 import ApiRequestService from "~/services/data/apiRequestService";
-import {Ref} from "@vue/reactivity";
+import type {Ref} from "@vue/reactivity";
+import type { FetchContext, FetchOptions } from "ofetch";
 
 /**
  * Retourne une instance de ApiRequestService configurée pour interroger l'api Maestro

+ 0 - 2
composables/useClientDevice.ts

@@ -1,5 +1,3 @@
-import { NitroFetchRequest } from "nitropack";
-
 
 export function useClientDevice() {
   const isMobileDevice = () => {

+ 6 - 20
nuxt.config.ts

@@ -1,6 +1,6 @@
 import fs from "fs";
 import vuetify from "vite-plugin-vuetify";
-import { NuxtI18nOptions } from "@nuxtjs/i18n";
+import type { NuxtI18nOptions } from "@nuxtjs/i18n";
 
 let https = {}
 
@@ -107,6 +107,11 @@ export default defineNuxtConfig({
   vite: {
     esbuild: {
       drop: process.env.DEBUG ? [] : ["console", "debugger"],
+      tsconfigRaw: {
+        compilerOptions: {
+          experimentalDecorators: true,
+        }
+      }
     },
     ssr: {
       noExternal: ["vuetify"],
@@ -137,25 +142,6 @@ export default defineNuxtConfig({
     ],
     defaultLocale: "fr",
     detectBrowserLanguage: false,
-    vueI18n: {
-      legacy: false,
-      datetimeFormats: {
-        "fr-FR": {
-          short: {
-            year: "numeric",
-            month: "numeric",
-            day: "numeric",
-          },
-          long: {
-            year: "numeric",
-            month: "numeric",
-            day: "numeric",
-            hour: "numeric",
-            minute: "numeric",
-          },
-        },
-      },
-    },
   } as NuxtI18nOptions,
   build: {
     transpile: transpile,

+ 41 - 54
package.json

@@ -1,7 +1,11 @@
 {
-  "name": "frames",
+  "name": "website",
   "version": "0.3.0",
   "private": true,
+  "type": "module",
+  "engines": {
+    "node": "18.19.0"
+  },
   "scripts": {
     "dev": "nuxt dev",
     "generate": "nuxt generate",
@@ -17,76 +21,59 @@
     "test": "jest"
   },
   "dependencies": {
-    "@fortawesome/fontawesome-free": "^6.4.0",
-    "@fortawesome/free-brands-svg-icons": "^6.4.0",
-    "@fortawesome/free-regular-svg-icons": "^6.4.0",
-    "@fortawesome/free-solid-svg-icons": "^6.4.0",
-    "@mdi/font": "^7.2.96",
+    "@fortawesome/fontawesome-free": "^6.5.1",
+    "@fortawesome/free-brands-svg-icons": "^6.5.1",
+    "@fortawesome/free-regular-svg-icons": "^6.5.1",
+    "@fortawesome/free-solid-svg-icons": "^6.5.1",
     "@nuxtjs/date-fns": "^1.5.0",
-    "@nuxtjs/i18n": "^8.0.0-beta.9",
-    "@pinia-orm/nuxt": "^1.1.7",
-    "@pinia/nuxt": "^0.4.7",
+    "@nuxtjs/i18n": "^8.1.1",
+    "@pinia-orm/nuxt": "^1.7.0",
+    "@pinia/nuxt": "^0.5.1",
     "@splidejs/vue-splide": "^0.6.12",
-    "@syncfusion/ej2-vue-calendars": "^20.4.54",
-    "@turf/turf": "^6.5.0",
     "@vue-leaflet/vue-leaflet": "^0.10.1",
     "@vuelidate/core": "^2.0.3",
     "@vuelidate/validators": "^2.0.4",
-    "@vuepic/vue-datepicker": "^4.2.2",
-    "axios": "^1.3.4",
-    "core-js": "^3.15.1",
-    "date-fns": "^2.29.3",
-    "iframe-resizer": "^4.3.6",
+    "axios": "^1.6.7",
+    "core-js": "^3.35.1",
+    "date-fns": "^3.3.1",
     "leaflet": "^1.9.3",
-    "leaflet.markercluster": "^1.5.3",
-    "libphonenumber-js": "^1.9.38",
-    "nuxt": "^3.2.0",
-    "nuxt-lodash": "^2.4.1",
-    "ohmyfetch": "^0.4.21",
-    "pinia": "^2.0.33",
-    "pinia-orm": "^1.5.1",
+    "libphonenumber-js": "^1.10.55",
+    "nuxt": "^3.10.2",
+    "nuxt-lodash": "^2.5.3",
+    "ofetch": "^1.3.3",
+    "pinia": "^2.1.7",
+    "pinia-orm": "^1.7.2",
     "sass": "^1.70.0",
-    "scss": "^0.2.4",
-    "three": "^0.157.0",
     "typeface-barlow": "^1.1.13",
     "uuid": "^9.0.1",
-    "vite-plugin-vuetify": "^1.0.2",
+    "vite-plugin-vuetify": "^2.0.1",
     "vue3-carousel": "^0.3.1",
-    "vue3-datepicker": "^0.3.4",
-    "vuetify": "^3.1.15"
+    "vuetify": "^3.5.3"
   },
   "devDependencies": {
-    "@nuxt/devtools": "^0.1.2",
-    "@nuxt/eslint-config": "^0.1.1",
-    "@nuxt/test-utils": "^3.2.0",
-    "@nuxt/test-utils-edge": "^3.0.1-rc.0-27909581.f711046",
+    "@nuxt/devtools": "^1.0.8",
+    "@nuxt/eslint-config": "^0.2.0",
     "@nuxtjs/eslint-config": "^12.0.0",
-    "@nuxtjs/eslint-config-typescript": "^12.0.0",
-    "@nuxtjs/eslint-module": "^3.1.0",
+    "@nuxtjs/eslint-config-typescript": "^12.1.0",
+    "@nuxtjs/eslint-module": "^4.1.0",
     "@nuxtjs/fontawesome": "^1.1.2",
-    "@types/event-source-polyfill": "^1.0.1",
     "@types/jest": "^29.4.0",
-    "@types/leaflet": "^1.9.1",
-    "@types/lodash": "^4.14.189",
+    "@types/leaflet": "^1.9.8",
+    "@types/lodash": "^4.14.202",
     "@types/uuid": "^9.0.7",
-    "@typescript-eslint/eslint-plugin": "^5.51.0",
-    "@typescript-eslint/parser": "^5.51.0",
-    "@vitejs/plugin-vue": "^4.0.0",
-    "@vitest/coverage-c8": "^0.28.4",
+    "@typescript-eslint/eslint-plugin": "^7.0.1",
+    "@typescript-eslint/parser": "^7.0.1",
+    "@vitejs/plugin-vue": "^5.0.4",
+    "@vitest/coverage-c8": "^0.33.0",
     "@vue/eslint-config-standard": "^8.0.1",
-    "@vue/test-utils": "^2.2.10",
-    "cypress": "8.7.0",
-    "eslint": "^8.44.0",
-    "eslint-config-prettier": "^8.5.0",
+    "eslint": "^8.56.0",
+    "eslint-config-prettier": "^9.1.0",
     "eslint-plugin-nuxt": "^4.0.0",
-    "eslint-plugin-prettier": "^4.2.1",
-    "eslint-plugin-vue": "^9.15.1",
-    "jsdom": "^21.0.0",
-    "prettier": "2.8.8",
-    "sass-loader": "^13.2.1",
-    "ts-jest": "^29.0.3",
-    "typescript": "4.9.5",
-    "vitest": "0.28.5",
-    "vue-jest": "^3.0.7"
+    "eslint-plugin-prettier": "^5.1.3",
+    "eslint-plugin-vue": "^9.21.1",
+    "jsdom": "^24.0.0",
+    "prettier": "3.2.5",
+    "sass-loader": "^14.1.0",
+    "typescript": "^5.3.3"
   }
 }

+ 1 - 1
pages/formations.vue

@@ -29,7 +29,7 @@
 </template>
 
 <script setup lang="ts">
-import { MenuScroll } from "~/types/interface";
+import type { MenuScroll } from "~/types/interface";
 import { useDisplay } from "vuetify";
 
 const { lgAndUp } = useDisplay()

+ 1 - 1
pages/opentalent_artist.vue

@@ -40,7 +40,7 @@
 
 <script setup lang="ts">
 import { StickyMenuActionType } from "~/types/enum/layout";
-import { MenuScroll, StickyMenuAction } from "~/types/interface";
+import type { MenuScroll, StickyMenuAction } from "~/types/interface";
 import { useDisplay } from "vuetify";
 
 const { mdAndUp } = useDisplay()

+ 1 - 1
pages/opentalent_manager.vue

@@ -31,7 +31,7 @@
 </template>
 
 <script setup lang="ts">
-import { MenuScroll, StickyMenuAction } from "~/types/interface";
+import type { MenuScroll, StickyMenuAction } from "~/types/interface";
 import { StickyMenuActionType } from "~/types/enum/layout";
 import { useDisplay } from "vuetify";
 

+ 1 - 1
pages/opentalent_school.vue

@@ -33,7 +33,7 @@
 </template>
 
 <script setup lang="ts">
-import { MenuScroll, StickyMenuAction } from "~/types/interface";
+import type { MenuScroll, StickyMenuAction } from "~/types/interface";
 import { StickyMenuActionType } from "~/types/enum/layout";
 import { useDisplay } from "vuetify";
 

+ 1 - 1
pages/qui-sommes-nous.vue

@@ -31,7 +31,7 @@
 </template>
 
 <script setup lang="ts">
-import { MenuScroll } from "~/types/interface";
+import type { MenuScroll } from "~/types/interface";
 import { useDisplay } from "vuetify";
 
 const { lgAndUp } = useDisplay()

+ 2 - 3
tsconfig.json

@@ -1,16 +1,15 @@
 {
   // https://nuxtjs.org/concepts/typescript
   "extends": "./.nuxt/tsconfig.json",
-  "useDefineForClassFields": false,
   "compilerOptions": {
+    "useDefineForClassFields": false,
     "esModuleInterop": true,
     "sourceMap": true,
     "experimentalDecorators": true,
     "types": [
       "@nuxtjs/date-fns",
       "@nuxt/types",
-      "@nuxtjs/i18n",
-      "vitest/globals"
+      "@nuxtjs/i18n"
     ],
     "exclude": ["node_modules", ".nuxt"],
     "typeRoots": ["./types"]

File diff suppressed because it is too large
+ 521 - 832
yarn.lock


Some files were not shown because too many files changed in this diff