@fto-consult/expo-ui 7.4.29 → 7.4.31

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.
@@ -93,6 +93,7 @@ module.exports = (opts)=>{
93
93
  r.$eelectron = r["$e-electron"] = $electron;
94
94
  r.$electron = r.$electron || r.$eelectron;
95
95
  r.$projectRoot = r.$eprojectRoot = projectRoot;
96
+ r.$electronProjectRoot = path.resolve(r.$projectRoot,"electron");
96
97
  r.$econtext = path.resolve(expo,"context");
97
98
  r.$epdf = path.resolve(expo,"pdf");
98
99
  if(!r.$context){
package/bin/index.js CHANGED
@@ -19,7 +19,8 @@ const packageObj = require("../package.json");
19
19
  const version = packageObj.version;
20
20
  const description = packageObj.description;
21
21
  const packageName = packageObj.name;
22
-
22
+ const localElectronPackage = path.resolve(projectRoot,"node_modules",packageName)
23
+ const localElectronPackageElectron = path.resolve(localElectronPackage,"electron");
23
24
 
24
25
  program
25
26
  .name(packageName)
@@ -70,9 +71,14 @@ program.command('electron')
70
71
  }
71
72
  }
72
73
  const paths = require(`${pathsJSON}`);
73
- if(typeof paths !=='object' || !paths || !paths.projectRoot){
74
+ if(typeof paths !=='object' || !paths || !paths.projectRoot || !fs.existsSync(paths.projectRoot)){
74
75
  throwError("Fichiers des chemins d'application invalide!!! merci d'exécuter l'application en environnement web|android|ios puis réessayez");
75
76
  }
77
+ if(fs.existsSync(localElectronPackageElectron)){
78
+ try {
79
+ writeFile(path.resolve(localElectronPackageElectron,"paths.json"),JSON.stringify(paths,null,"\t"));
80
+ } catch{}
81
+ }
76
82
  /**** le project root d'où a été lancé le script electron doit être le même que celui de l'application principale */
77
83
  if(projectRoot !== paths.projectRoot){
78
84
  throwError(`main app project root ${paths.projectRoot} must be equals to ${projectRoot} in which you want to generate electron app`);
package/electron/index.js CHANGED
@@ -15,10 +15,12 @@ const programOptions = program.opts();
15
15
  const {url:pUrl,paths:pathsJSON,root:mainProjectRoot} = programOptions
16
16
  const cPaths = path.resolve("./paths.json");
17
17
  const pathsJ = pathsJSON && fs.existsSync(pathsJSON) && pathsJSON.endsWith("paths.json")? pathsJSON : null;
18
- let paths = pathsJ ? require(`${pathsJ}`) : fs.existsSync(cPaths) ? require(cPaths) : null;
19
- const projectRoot = mainProjectRoot && fs.existsSync(mainProjectRoot) ? mainProjectRoot : paths.projectRoot || '';
20
- const electronProjectRoot = projectRoot && fs.existsSync(path.resolve(projectRoot,"electron")) && path.resolve(projectRoot,"electron") || null;
18
+ let paths = pathsJ ? require(`${pathsJ}`) : fs.existsSync(cPaths) ? require(cPaths) : '';
19
+ const projectRoot = mainProjectRoot && fs.existsSync(mainProjectRoot) ? mainProjectRoot : paths.projectRoot || process.cwd();
20
+ const electronProjectRoot = projectRoot && fs.existsSync(path.resolve(projectRoot,"electron")) && path.resolve(projectRoot,"electron") || '';
21
21
  const ePathsJSON = path.resolve(electronProjectRoot,"paths.json");
22
+ const packageJSONPath = path.resolve(projectRoot,"package.json");
23
+ const packageJSON = fs.existsSync(packageJSONPath) ? require(`${packageJSONPath}`) : {};
22
24
  const eePaths = path.resolve(getPaths(projectRoot));
23
25
  if(!paths){
24
26
  if(fs.existsSync(ePathsJSON)){
@@ -351,28 +353,37 @@ ipcMain.on("update-system-tray",(event,opts)=>{
351
353
  } else contextMenu = null;
352
354
  tray.setContextMenu(contextMenu)
353
355
  })
354
- ipcMain.on("electron-get-path",(event,pathName)=>{
356
+ ipcMain.on("get-path",(event,pathName)=>{
355
357
  const p = app.getPath(pathName);
356
358
  event.returnValue = p;
357
359
  return p;
358
360
  });
359
361
 
360
- ipcMain.on("electron-get-project-root",(event)=>{
362
+ ipcMain.on("get-project-root",(event)=>{
363
+ event.returnValue = projectRoot;
361
364
  return projectRoot;
362
365
  });
363
- ipcMain.on("electron-get-electron-project-root",(event)=>{
364
- return electronProjectRoot;
366
+ ipcMain.on("get-electron-project-root",(event)=>{
367
+ event.returnValue = electronProjectRoot;
368
+ return event.returnValue ;
365
369
  });
366
370
 
367
- ipcMain.on("electron-get-package-json",(event)=>{
368
- const packageJSON = path.resolve(projectRoot,"package.json");
369
- if(fs.existsSync(packageJSON)){
370
- return JSON.stringify(require(packageJSON));
371
- }
372
- return JSON.stringify({});
371
+ ipcMain.on("get-package.json",(event)=>{
372
+ event.returnValue = JSON.stringify(packageJSON);
373
+ return event.returnValue ;
374
+ });
375
+
376
+ ipcMain.on("get-paths.json",(event)=>{
377
+ event.returnValue = JSON.stringify(paths);
378
+ return event.returnValue ;
379
+ });
380
+
381
+ ipcMain.on("get-app-name",(event)=>{
382
+ event.returnValue = packageJSON.name;
383
+ return event.returnValue ;
373
384
  });
374
385
 
375
- ipcMain.on("electron-get-media-access-status",(event,mediaType)=>{
386
+ ipcMain.on("get-media-access-status",(event,mediaType)=>{
376
387
  let p = systemPreferences.getMediaAccessStatus(mediaType);
377
388
  event.returnValue = p;
378
389
  return p;
@@ -382,7 +393,7 @@ ipcMain.on("electron-ask-for-media-access",(event,mediaType)=>{
382
393
  systemPreferences.askForMediaAccess(mediaType);
383
394
  });
384
395
 
385
- ipcMain.on("electron-get-app-icon",(event)=>{
396
+ ipcMain.on("get-app-icon",(event)=>{
386
397
  event.returnValue = win != win && win.getIcon && win.getIcon();
387
398
  });
388
399
  ipcMain.on("electron-set-app-icon",(event,iconPath)=>{
@@ -4,23 +4,21 @@ const { contextBridge, ipcRenderer, shell } = require('electron')
4
4
  const appInstance = require("./app/instance");
5
5
  const path = require("path");
6
6
  const fs = require("fs");
7
- const isObj = x=>x && typeof x =='object' && !Array.isArray(x);
8
7
  const isNonNullString = x=>x && typeof x =='string';
9
- const projectRoot = ipcRenderer.sendSync("electron-get-project-root");
10
- const electronProjectRoot = ipcRenderer.sendSync("electron-get-electron-project-root");
11
- const pathsJS = electronProjectRoot && fs.existsSync(electronProjectRoot) && path.resolve(electronProjectRoot,"paths.json") || null;
12
- const _app = projectRoot && fs.existsSync(path.resolve(projectRoot,"package.json")) ? require(path.resolve(projectRoot,"package.json")) : {};
13
- if(!_app || typeof _app !=='object' || typeof _app.name !=='string'){
14
- throw {message : "Contenu du fichier "+packagePath+" invalide!! Veuillez spécifier un nom valide d'application, propriété <<name>> dudit fichier"}
8
+ const pathsStr = ipcRenderer.sendSync("get-paths.json");
9
+ const paths = typeof pathsStr ==='string' && pathsStr ? JSON.parse(pathsStr) : {};
10
+ const appName = ipcRenderer.sendSync("get-app-name");
11
+ if(!appName || typeof appName !=='string'){
12
+ throw {message : "Nom de l'application invalide!! Veuillez spécifier un nom valide d'application"}
15
13
  }
16
- const paths = pathsJS ? require(`${pathsJS}`) : {};
17
- const APP_NAME = _app.name.trim().toUpperCase();
14
+ const APP_NAME = appName.toUpperCase();
18
15
  let backupPathField = "_e_backupDataPath";
19
16
  let cBackupPathField = "company"+backupPathField;
20
17
  let dbPathField = "_electron_DBPathField";
18
+
21
19
  const getPath = function(pathName){
22
20
  if(typeof pathName !=='string' || !pathName) return;
23
- return ipcRenderer.sendSync("electron-get-path",pathName);
21
+ return ipcRenderer.sendSync("get-path",pathName);
24
22
  }
25
23
  const APP_PATH = path.join(getPath("appData"),APP_NAME).toLowerCase();
26
24
  let databasePath = path.join(APP_PATH,"databases");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fto-consult/expo-ui",
3
- "version": "7.4.29",
3
+ "version": "7.4.31",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "main": "main",
6
6
  "scripts": {