create-fleetbo-project 1.0.38 → 1.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,33 +8,33 @@ const https = require('https');
8
8
  // --- Configuration ---
9
9
  const repoOwner = 'FleetFleetbo';
10
10
  const repoName = 'dev.fleetbo.io';
11
- const branchName = 'master'; // Assurez-vous que c'est la bonne branche
11
+ const branchName = 'master'; // Make sure this is the correct branch
12
12
 
13
13
  const repoGitUrl = `https://github.com/${repoOwner}/${repoName}.git`;
14
14
  const bootstrapUrl = 'https://us-central1-myapp-259bf.cloudfunctions.net/bootstrapProject';
15
15
 
16
- // --- Analyse des Arguments ---
16
+ // --- Argument Parsing ---
17
17
  const args = process.argv.slice(2);
18
18
  const projectNameArg = args.find(arg => !arg.startsWith('--'));
19
19
  const tokenArg = args.find(arg => arg.startsWith('--token='));
20
20
 
21
21
  if (!projectNameArg) {
22
- console.error('\n❌ Erreur : Veuillez spécifier un nom pour votre projet.');
23
- console.log(' Usage: npx create-fleetbo-project <nom-du-projet> --token=<votre-token>');
22
+ console.error('\n❌ Error: Please specify a name for your project.');
23
+ console.log(' Usage: npx create-fleetbo-project <project-name> --token=<your-token>');
24
24
  process.exit(1);
25
25
  }
26
26
 
27
27
  const bootstrapToken = tokenArg ? tokenArg.split('=')[1] : null;
28
28
 
29
29
  if (!bootstrapToken) {
30
- console.error('\n❌ Erreur : Le token d\'amorçage est manquant.');
31
- console.log(' Usage: npx create-fleetbo-project <nom-du-projet> --token=<votre-token>');
30
+ console.error('\n❌ Error: The bootstrap token is missing.');
31
+ console.log(' Usage: npx create-fleetbo-project <project-name> --token=<your-token>');
32
32
  process.exit(1);
33
33
  }
34
34
 
35
35
  const projectName = projectNameArg;
36
36
 
37
- // --- Fonctions Utilitaires ---
37
+ // --- Utility Functions ---
38
38
 
39
39
  function fetchProjectKeys(token) {
40
40
  return new Promise((resolve, reject) => {
@@ -48,10 +48,10 @@ function fetchProjectKeys(token) {
48
48
  try {
49
49
  resolve(JSON.parse(data));
50
50
  } catch (e) {
51
- reject(new Error('Réponse invalide du serveur de clés.'));
51
+ reject(new Error('Invalid response from the key server.'));
52
52
  }
53
53
  } else {
54
- const errorMsg = JSON.parse(data).error || `Erreur serveur (code: ${res.statusCode})`;
54
+ const errorMsg = JSON.parse(data).error || `Server error (code: ${res.statusCode})`;
55
55
  reject(new Error(errorMsg));
56
56
  }
57
57
  });
@@ -62,55 +62,55 @@ function fetchProjectKeys(token) {
62
62
  });
63
63
  }
64
64
 
65
- // --- Fonction Principale ---
65
+ // --- Main Function ---
66
66
 
67
67
  async function setupProject() {
68
- console.log(`\nCréation de votre projet Fleetbo "${projectName}"...`);
68
+ console.log(`\nCreating your Fleetbo project "${projectName}"...`);
69
69
  const projectDir = path.join(process.cwd(), projectName);
70
70
 
71
71
  try {
72
- // Étape 1 : Télécharger la structure de base du projet
73
- console.log(' [1/5] 📥 Initialisation de la structure du projet...');
74
- // On retire "stdio: 'inherit'" pour masquer les logs de git
75
- execSync(`git clone --depth 1 --branch ${branchName} ${repoGitUrl} "${projectName}"`);
72
+ // Step 1: Download the base project structure
73
+ console.log(' [1/5] 📥 Initializing project structure...');
74
+ // We redirect stderr to null to hide Git's progress messages
75
+ execSync(`git clone --depth 1 --branch ${branchName} ${repoGitUrl} "${projectName}" 2> /dev/null`);
76
76
 
77
- // Étape 2 : Se déplacer dans le dossier du projet et nettoyer
78
- console.log(' [2/5] ✅ Structure du projet initialisée. Configuration en cours...');
77
+ // Step 2: Move into the project directory and clean up
78
+ console.log(' [2/5] ✅ Project structure initialized. Configuring...');
79
79
  process.chdir(projectDir);
80
80
 
81
- // Supprimer l'historique Git pour commencer avec un projet propre
81
+ // Remove Git history to start with a clean project
82
82
  fs.rmSync(path.join(projectDir, '.git'), { recursive: true, force: true });
83
83
 
84
- // Étape 3 : Récupération des clés de projet
85
- console.log(' [3/5] 🔑 Récupération des clés de projet...');
84
+ // Step 3: Fetching project keys
85
+ console.log(' [3/5] 🔑 Fetching project keys...');
86
86
  const keys = await fetchProjectKeys(bootstrapToken);
87
87
  if (!keys.enterpriseId || !keys.fleetboDBKey) {
88
- throw new Error("Les clés reçues du serveur sont invalides.");
88
+ throw new Error("Received keys from the server are invalid.");
89
89
  }
90
90
 
91
- // Étape 4 : Configuration du fichier .env
92
- console.log(' [4/5] ✅ Fichier .env configuré avec succès.');
93
- const envContent = `REACT_APP_FLEETBO_DB_KEY=${keys.fleetboDBKey}\nREACT_APP_ENTERPRISE_ID=${keys.enterpriseId}\n`;
91
+ // Step 4: Configuring the .env file
92
+ console.log(' [4/5] ✅ .env file configured successfully.');
93
+ const envContent = `REACT_APP_FLEETBO_DB_KEY=${keys.fleetboDBKey}\nREACT_APP_ENTERPRISE_ID=99b426483d543b042209671dd53fb18\n`;
94
94
  fs.writeFileSync(path.join(projectDir, '.env'), envContent, 'utf8');
95
95
 
96
- // Étape 5 : Installation des dépendances
97
- console.log(' [5/5] 📦 Installation des dépendances...');
96
+ // Step 5: Installing dependencies
97
+ console.log(' [5/5] 📦 Installing dependencies...');
98
98
  execSync('npm install', { stdio: 'inherit' });
99
99
 
100
- // Personnalisation du package.json
100
+ // Customizing package.json
101
101
  const packageJsonPath = path.join(projectDir, 'package.json');
102
102
  const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
103
103
  packageJson.name = projectName;
104
104
  fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2), 'utf8');
105
105
 
106
- console.log('\n🚀 Votre projet Fleetbo est prêt !');
107
- console.log(`\nPour commencer, exécutez les commandes suivantes :`);
106
+ console.log('\n🚀 Your Fleetbo project is ready!');
107
+ console.log(`\nTo get started, run the following commands:`);
108
108
  console.log(` cd ${projectName}`);
109
109
  console.log(` npm start`);
110
110
 
111
111
  } catch (error) {
112
- console.error('\n❌ Une erreur est survenue lors de la création du projet :', error.message);
113
- // Nettoyage en cas d'erreur
112
+ console.error('\n❌ An error occurred while creating the project:', error.message);
113
+ // Cleanup in case of an error
114
114
  if (fs.existsSync(projectDir)) {
115
115
  fs.rmSync(projectDir, { recursive: true, force: true });
116
116
  }
@@ -118,4 +118,3 @@ async function setupProject() {
118
118
  }
119
119
 
120
120
  setupProject();
121
-
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-fleetbo-project",
3
- "version": "1.0.38",
3
+ "version": "1.0.40",
4
4
  "description": "Creates a new Fleetbo project.",
5
5
  "main": "install-react-template.js",
6
6
  "bin": {