Starter V3
Ce guide vous accompagne pas Ă pas pour migrer votre projet existant, basĂ© sur le Starter v3 avec le dossier business, vers la nouvelle structure. Cette version introduit lâexternalisation du setup du serveur et de lâapplication React dans la dĂ©pendance @fasstech/oip-starter-utils.
Ce guide suppose que vous avez respecté la structure et les bonnes pratiques du Starter v3, ainsi que celles du dossier business
Introduction
La nouvelle structure du Starter v3 a Ă©tĂ© simplifiĂ©e pour amĂ©liorer la maintenance et la lisibilitĂ© des projets. DĂ©sormais, le setup du serveur et de lâapplication React (anciennement contenus dans les dossiers business/server et business/app) est externalisĂ© dans la dĂ©pendance @fasstech/oip-starter-utils.
ConcrĂštement :
- Le dossier business/server devient server Ă la racine du projet.
- Le dossier business/app devient app.
La migration consiste principalement Ă :
- Cloner la nouvelle version du Starter v3.
- Copier/coller vos fichiers de configuration, vos vues, votre code métier et votre configuration OIP dans la nouvelle structure.
En cas de doute, nâhĂ©sitez pas Ă contacter lâĂ©quipe OIP pour obtenir de lâaide.
Ătape 1 â RĂ©cupĂ©rer la nouvelle version du Starter
Clonez la derniĂšre version du Starter depuis le dĂ©pĂŽt suivant : đ https://github.com/fasst/fasst-oip-starter (branche main)
Ătape 2 â Mettre Ă jour la variable dâenvironnement OIP_WORK_DIR
Dans votre fichier .env, modifiez la valeur de la variable OIP_WORK_DIR :
# before
OIP_WORK_DIR=./business/server
# after
OIP_WORK_DIR=./serverĂtape 3 â RĂ©cupĂ©rer vos configurations spĂ©cifiques
Fichier vite.config.js
Récupérez votre configuration spécifique du fichier vite.config.js et adaptez-la si nécessaire à la nouvelle structure.
Autres fichiers de configuration
Copiez également vos fichiers de configuration situés à la racine du projet (ex. ESLint, Prettier, etc.), en veillant à les ajuster selon la nouvelle arborescence.
Dépendances
Ajoutez vos dépendances spécifiques dans le fichier package.json de la nouvelle structure.
Ătape 4 â Migration des vues et de leur configuration
Dossier viewsConfig
Copiez le dossier viewsConfig tel quel (aucune modification nécessaire).
Dossier views
Copiez votre dossier views dans la nouvelle structure.
Mettre Ă jour les imports de useProcess
Dans vos composants de vues, remplacez les imports de useProcess :
// before
import { useProcess } from '@@appHooks/useProcess.js';
// after
import { useProcess } from '@fasstech/oip-starter-utils/app';- Mettre Ă jour les imports des helpers OK et KO
Dans les resolvers de vos vues :
// before
import { OK, KO } from '../../../../../server/graphql/resolvers/helpers.mjs'
// after
import { OK, KO } from '@fasstech/oip-starter-utils/server';- De maniÚre générale, les imports provenant de business/app et business/server doivent désormais pointer respectivement vers app et server.
Ătape 5 â Migration du dossier business/server vers server
Configuration OIP
Copiez votre fichier oip.config.mjs dans le dossier server.
Mettez Ă jour lâimport de pubsub :
// before
import { pubsub } from 'server/graphql/init-graphql.mjs';
// after
import { getPubSub } from '@fasstech/oip-starter-utils/server';
// OIP config
export default {
...
pubsub: getPubSub()
};- Logique métier
Copiez tous vos fichiers métier depuis business/server vers server à la racine.
DĂ©placez Ă©galement votre code dâinitialisation backend dans server/index.mjs.
Mettre Ă jour les imports des helpers OK et KO
Dans vos resolvers GraphQL métier :
// before
import { OK, KO } from '../helpers.mjs'
// after
import { OK, KO } from '@fasstech/oip-starter-utils/server';Ătape 6 â Migration du dossier business/app vers app
Copiez vos fichiers métier du dossier business/app vers app à la racine.
Le fichier app/App.jsx (de la nouvelle structure) vous permet dĂ©sormais de personnaliser et dâinitialiser le composant principal de lâapplication React.
â Votre migration est terminĂ©e ! Vous disposez dĂ©sormais dâune structure plus claire, mieux organisĂ©e et alignĂ©e avec les Ă©volutions du Starter v3.