@fto-consult/expo-ui 9.6.1 → 9.7.0

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.
@@ -3,5 +3,6 @@ module.exports = [
3
3
  "@expo/metro-config",
4
4
  "babel-plugin-inline-dotenv",
5
5
  "babel-plugin-module-resolver",
6
- "concurrently"
6
+ "concurrently",
7
+ "@expo/metro-runtime"
7
8
  ]
package/bin/create-app.js CHANGED
@@ -132,6 +132,7 @@ npm-debug.*
132
132
  *.key
133
133
  *.mobileprovision
134
134
  *.orig.*
135
+ dist/**/*
135
136
  web-build/**/*
136
137
  web-report/**/*
137
138
  electron/**/*
package/metro.config.js CHANGED
@@ -1,14 +1,10 @@
1
- const path = require("path");
2
- const fs = require("fs");
3
- const { getDefaultConfig } = require('@expo/metro-config');
4
- module.exports = function(opts){
5
- opts = opts && typeof opts =='object'? opts : {};
6
- const isDev = String(process.env.NODE_ENV).toLowerCase().trim() !="production";
7
- let {assetExts,sourceExts} = opts;
8
- assetExts = Array.isArray(assetExts)? assetExts: [];
9
- sourceExts= Array.isArray(sourceExts)?sourceExts : [];
10
- const projectRoot = typeof opts.projectRoot =="string" && opts.projectRoot && fs.existsSync(path.resolve(opts.projectRoot))? path.resolve(opts.projectRoot) : path.resolve(process.cwd());
11
- const transpilePath = null;//require("./create-transpile-module-transformer")(opts);
1
+ module.exports = function(){
2
+ const isElectron = process.env.isElectronScript || process.env.isElectron;
3
+ const path = require("path");
4
+ const fs = require("fs");
5
+ const { getDefaultConfig } = require('@expo/metro-config');
6
+ const projectRoot = path.resolve(process.cwd());
7
+ const transpilePath = null;
12
8
  const hasTranspilePath = typeof transpilePath =='string' && transpilePath && fs.existsSync(transpilePath);
13
9
  //@see : https://docs.expo.dev/versions/latest/config/metro/
14
10
  const config = getDefaultConfig(projectRoot,{
@@ -29,15 +25,22 @@ module.exports = function(opts){
29
25
  config.projectRoot = projectRoot;
30
26
  config.resolver.assetExts = [
31
27
  ...config.resolver.assetExts,
32
- ...assetExts,
33
28
  "db",
34
29
  "txt"
35
30
  ];
36
- config.resolver.sourceExts = [
37
- ...config.resolver.sourceExts,
38
- ...sourceExts,"txt",
39
- 'jsx', 'js','tsx',
40
- ]
31
+ ["txt",'jsx', 'js','tsx','cjs','mjs'].map((ex)=>{
32
+ if(!config.resolver.sourceExts.includes(ex)){
33
+ config.resolver.sourceExts.push(ex);
34
+ }
35
+ });
36
+ if(isElectron){
37
+ config.resolver.sourceExts = [
38
+ ...config.resolver.sourceExts.map((ex)=>{
39
+ return `electron.${ex}`;
40
+ }),
41
+ ...config.resolver.sourceExts,
42
+ ]
43
+ }
41
44
  config.watchFolders = Array.isArray(config.watchFolders)? config.watchFolders : [];
42
45
  const expoUIP = require("./expo-ui-path")(projectRoot);
43
46
  const cPath = require("./common-path")(projectRoot);
@@ -61,7 +64,7 @@ module.exports = function(opts){
61
64
 
62
65
  // Remove all console logs in production...
63
66
  config.transformer.minifierConfig.compress.drop_console = false;
64
-
67
+
65
68
  require(path.resolve(__dirname,"bin/find-licenses"))(projectRoot);
66
69
 
67
70
  return config;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fto-consult/expo-ui",
3
- "version": "9.6.1",
3
+ "version": "9.7.0",
4
4
  "description": "Bibliothèque de composants UI Expo,react-native",
5
5
  "react-native-paper-doc": "https://github.com/callstack/react-native-paper/tree/main/docs/docs/guides",
6
6
  "scripts": {
@@ -68,7 +68,7 @@
68
68
  "dependencies": {
69
69
  "@emotion/react": "^11.11.4",
70
70
  "@faker-js/faker": "^8.0.2",
71
- "@fto-consult/common": "^4.53.1",
71
+ "@fto-consult/common": "^4.53.2",
72
72
  "@fto-consult/node-utils": "^1.9.3",
73
73
  "apexcharts": "^3.50.0",
74
74
  "file-saver": "^2.0.5",
package/src/auth/utils.js CHANGED
@@ -2,9 +2,9 @@ import {isAllowedFromStr} from "$cauth/perms";
2
2
  /***
3
3
  * vérifie si pour la permission perm, l'utilisateur connecté à accès à la resource
4
4
  */
5
- export const isPermAllowed = (perm,...permsArgs)=>{
5
+ export const isPermAllowed = (perm,user,returnObject)=>{
6
6
  if(typeof perm === 'boolean') return perm;
7
7
  if(typeof perm ==='function' && perm(...permsArgs) === false) return false;
8
- if(isNonNullString(perm) && !isAllowedFromStr(perm,...permsArgs)) return false;
8
+ if(isNonNullString(perm) && !isAllowedFromStr(perm)) return false;
9
9
  return true;
10
10
  }
package/src/index.js CHANGED
@@ -1,2 +1,34 @@
1
- export {default} from "./App";
1
+ import session from "$session";
2
+ import './uuid/deps';
3
+ import {useState,useEffect} from "$react";
4
+ import Provider from "$econtext/Provider";
5
+ import App from "./AppEntry";
6
+ /****
7
+ * les options sont de la forme :
8
+ * {
9
+ * @param init {function} ()=>Promise<{}>, initialise l'application, lorsque la promèsse n'est pas résolue, alors l'application considère qu'il s'agit d'une étape pour l'écran de GetStarted dans ce cas,
10
+ * l'option la route getStartedRouteName est utilisée comme route par défaut de l'application
11
+ * @param initialRouteName {string} la route initiale, par d'afaut Home, valide lorsque la promèsse résultat de la fonction init est résolue
12
+ * @param getStartedRouteName {string} la route de l'écran de GetStarted, valide lorsque la promèsse résultat de la fonction init n'est pas résolue
13
+ * L'écran de route getStartedRouteName prend en paramètre onGetStarted {function}, qui est appelée lorsque le contenu de l'écran GetStarted est affiché à l'utilisateur
14
+ * @maram {swrConfig}, les options supplémentaires à passer au gestinnaire swr
15
+ * les écrans d'initialisation doivent garder la propriété Start à true ou doivent avoir le groupe INTALL, pour spécifier que ce sont es écrans qui apparaissent lorsque l'application n'est pas initialisée
16
+ * }
17
+ */
18
+
19
+ export default function ExpoUIAppEntryProvider({children:cChildren,init,...rest}){
20
+ const [children,setChildren] = useState(null);
21
+ const canInit = typeof session.init =="function";
22
+ useEffect(()=>{
23
+ if(!canInit) return ()=>{}
24
+ Promise.resolve(session.init()).finally(()=>{
25
+ return setChildren(<Provider {...rest}>
26
+ <App init={init} children={cChildren}/>
27
+ </Provider>);
28
+ });
29
+ },[]);
30
+ return canInit ? children : <Provider {...rest}><App init={init} children={cChildren}/></Provider>;
31
+ }
32
+
33
+
2
34
  export * from "./context";
package/src/App.js DELETED
@@ -1,31 +0,0 @@
1
- import session from "$session";
2
- import './uuid/deps';
3
- import {useState,useEffect} from "$react";
4
- import Provider from "$econtext/Provider";
5
- import App from "./AppEntry";
6
- /****
7
- * les options sont de la forme :
8
- * {
9
- * @param init {function} ()=>Promise<{}>, initialise l'application, lorsque la promèsse n'est pas résolue, alors l'application considère qu'il s'agit d'une étape pour l'écran de GetStarted dans ce cas,
10
- * l'option la route getStartedRouteName est utilisée comme route par défaut de l'application
11
- * @param initialRouteName {string} la route initiale, par d'afaut Home, valide lorsque la promèsse résultat de la fonction init est résolue
12
- * @param getStartedRouteName {string} la route de l'écran de GetStarted, valide lorsque la promèsse résultat de la fonction init n'est pas résolue
13
- * L'écran de route getStartedRouteName prend en paramètre onGetStarted {function}, qui est appelée lorsque le contenu de l'écran GetStarted est affiché à l'utilisateur
14
- * @maram {swrConfig}, les options supplémentaires à passer au gestinnaire swr
15
- * les écrans d'initialisation doivent garder la propriété Start à true ou doivent avoir le groupe INTALL, pour spécifier que ce sont es écrans qui apparaissent lorsque l'application n'est pas initialisée
16
- * }
17
- */
18
-
19
- export default function ExpoUIAppEntryProvider({children:cChildren,init,...rest}){
20
- const [children,setChildren] = useState(null);
21
- const canInit = typeof session.init =="function";
22
- useEffect(()=>{
23
- if(!canInit) return ()=>{}
24
- Promise.resolve(session.init()).finally(()=>{
25
- return setChildren(<Provider {...rest}>
26
- <App init={init} children={cChildren}/>
27
- </Provider>);
28
- });
29
- },[]);
30
- return canInit ? children : <Provider {...rest}><App init={init} children={cChildren}/></Provider>;
31
- }