miolo 1.1.9 → 2.0.0-beta.10

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.
Files changed (128) hide show
  1. package/bin/build-client.mjs +19 -0
  2. package/bin/build-server.mjs +54 -0
  3. package/bin/dev.mjs +8 -0
  4. package/bin/index.mjs +64 -0
  5. package/bin/restart.mjs +10 -0
  6. package/bin/start.mjs +26 -0
  7. package/bin/stop.mjs +20 -0
  8. package/bin/util.mjs +37 -0
  9. package/dist/cli/miolo.cli.umd.js +25 -8
  10. package/dist/cli/miolo.cli.umd.js.map +1 -1
  11. package/dist/cli-react/miolo.cli-react.umd.js +43 -28
  12. package/dist/cli-react/miolo.cli-react.umd.js.map +1 -1
  13. package/dist/server/miolo.server.node.mjs +3455 -286
  14. package/package.json +39 -30
  15. package/src/cli/catcher/index.mjs +75 -0
  16. package/src/cli/fetcher/fetcher.mjs +214 -0
  17. package/src/cli/fetcher/index.mjs +7 -0
  18. package/src/cli/fetcher/utils.mjs +51 -0
  19. package/src/cli/fetcher/v1.tar.gz +0 -0
  20. package/src/cli/index.mjs +30 -0
  21. package/src/cli/socket/index.mjs +6 -0
  22. package/src/cli-react/AppBrowser.jsx +14 -0
  23. package/src/cli-react/AppBrowser.mjs +14 -0
  24. package/src/cli-react/AppServer.jsx +17 -0
  25. package/src/cli-react/AppServer.mjs +16 -0
  26. package/src/cli-react/_jsx.tar.gz +0 -0
  27. package/src/cli-react/context/MioloContext.mjs +5 -0
  28. package/src/cli-react/context/MioloContextProvider.jsx +87 -0
  29. package/src/cli-react/context/MioloContextProvider.mjs +80 -0
  30. package/src/cli-react/context/useMioloContext.jsx +6 -0
  31. package/src/cli-react/context/useMioloContext.mjs +6 -0
  32. package/src/cli-react/context/withMioloContext.jsx +15 -0
  33. package/src/cli-react/context/withMioloContext.mjs +17 -0
  34. package/src/cli-react/index.mjs +7 -0
  35. package/src/cli-react/ssr/getSsrDataFromContext.mjs +33 -0
  36. package/src/cli-react/ssr/hooks.tar.gz +0 -0
  37. package/src/cli-react/ssr/useSsrDataOrReload.mjs +43 -0
  38. package/src/server/config/defaults.mjs +418 -0
  39. package/src/server/config/index.mjs +32 -0
  40. package/src/server/engines/cron/emails.mjs +10 -0
  41. package/src/server/engines/cron/index.mjs +153 -0
  42. package/src/server/engines/cron/init.mjs +53 -0
  43. package/src/server/engines/cron/ipsum.mjs +151 -0
  44. package/src/server/engines/cron/syscheck.mjs +56 -0
  45. package/src/server/engines/emailer/index.mjs +2 -0
  46. package/src/server/engines/emailer/queue.mjs +54 -0
  47. package/src/server/engines/emailer/transporter.mjs +149 -0
  48. package/src/server/engines/geoip/index.mjs +66 -0
  49. package/src/server/engines/http/index.mjs +79 -0
  50. package/src/server/engines/logger/index.mjs +313 -0
  51. package/src/server/engines/logger/logger_mail.mjs +89 -0
  52. package/src/server/engines/logger/reopenTransportOnHupSignal.mjs +57 -0
  53. package/src/server/engines/logger/verify.mjs +22 -0
  54. package/src/server/engines/parser/Parser.mjs +126 -0
  55. package/src/server/engines/parser/index.mjs +6 -0
  56. package/src/server/engines/socket/index.mjs +67 -0
  57. package/src/server/index.mjs +16 -0
  58. package/src/server/middleware/auth/basic.mjs +90 -0
  59. package/src/server/middleware/auth/credentials/index.mjs +151 -0
  60. package/src/server/middleware/auth/credentials/session/index.mjs +24 -0
  61. package/src/server/middleware/auth/credentials/session/store.mjs +59 -0
  62. package/src/server/middleware/auth/credentials/session/store_koa_redis.mjs +3 -0
  63. package/src/server/middleware/auth/custom.mjs +29 -0
  64. package/src/server/middleware/auth/guest.mjs +75 -0
  65. package/src/server/middleware/context/cache/index.mjs +61 -0
  66. package/src/server/middleware/context/cache/options.mjs +66 -0
  67. package/src/server/middleware/context/db.mjs +58 -0
  68. package/src/server/middleware/context/index.mjs +35 -0
  69. package/src/server/middleware/extra.mjs +12 -0
  70. package/src/server/middleware/http/body.mjs +31 -0
  71. package/src/server/middleware/http/catcher.mjs +81 -0
  72. package/src/server/middleware/http/custom_blacklist.mjs +16 -0
  73. package/src/server/middleware/http/headers.mjs +73 -0
  74. package/src/server/middleware/http/ratelimit.mjs +66 -0
  75. package/src/server/middleware/http/request.mjs +146 -0
  76. package/src/server/middleware/routes/catch_js_error.mjs +41 -0
  77. package/src/server/middleware/routes/robots.mjs +21 -0
  78. package/src/server/middleware/routes/router/crud/attachCrudRoutes.mjs +214 -0
  79. package/src/server/middleware/routes/router/crud/getCrudConfig.mjs +129 -0
  80. package/src/server/middleware/routes/router/defaults.mjs +29 -0
  81. package/src/server/middleware/routes/router/index.mjs +49 -0
  82. package/src/server/middleware/routes/router/queries/attachQueriesRoutes.mjs +102 -0
  83. package/src/server/middleware/routes/router/queries/getQueriesConfig.mjs +113 -0
  84. package/src/server/middleware/routes/router/utils.mjs +38 -0
  85. package/src/server/middleware/ssr/_old.tar.gz +0 -0
  86. package/src/server/middleware/ssr/context.mjs +21 -0
  87. package/src/server/middleware/ssr/fallbackIndex.mjs +29 -0
  88. package/src/server/middleware/ssr/html.mjs +64 -0
  89. package/src/server/middleware/ssr/loader.mjs +24 -0
  90. package/src/server/middleware/ssr/ssr_render.mjs +49 -0
  91. package/src/server/middleware/static/afialapis.ico +0 -0
  92. package/src/server/middleware/static/index.mjs +27 -0
  93. package/src/server/middleware/static/miolo.ico +0 -0
  94. package/src/server/middleware/vite/devserver.mjs +34 -0
  95. package/src/server/server-dev.mjs +41 -0
  96. package/src/server/server.mjs +135 -0
  97. package/src/server/static/img/afialapis.ico +0 -0
  98. package/src/server/static/img/miolo.ico +0 -0
  99. package/src/server/static/robots.txt +2 -0
  100. package/dist/cli/miolo.cli.iife.bundle.js +0 -6532
  101. package/dist/cli/miolo.cli.iife.bundle.js.map +0 -1
  102. package/dist/cli/miolo.cli.iife.bundle.min.js +0 -13
  103. package/dist/cli/miolo.cli.iife.js +0 -951
  104. package/dist/cli/miolo.cli.iife.js.map +0 -1
  105. package/dist/cli/miolo.cli.iife.min.js +0 -13
  106. package/dist/cli/miolo.cli.min.mjs +0 -13
  107. package/dist/cli/miolo.cli.mjs +0 -472
  108. package/dist/cli/miolo.cli.mjs.map +0 -1
  109. package/dist/cli/miolo.cli.umd.bundle.js +0 -6533
  110. package/dist/cli/miolo.cli.umd.bundle.js.map +0 -1
  111. package/dist/cli/miolo.cli.umd.bundle.min.js +0 -13
  112. package/dist/cli/miolo.cli.umd.min.js +0 -13
  113. package/dist/cli-react/miolo.cli-react.iife.bundle.js +0 -15577
  114. package/dist/cli-react/miolo.cli-react.iife.bundle.js.map +0 -1
  115. package/dist/cli-react/miolo.cli-react.iife.bundle.min.js +0 -53
  116. package/dist/cli-react/miolo.cli-react.iife.js +0 -1159
  117. package/dist/cli-react/miolo.cli-react.iife.js.map +0 -1
  118. package/dist/cli-react/miolo.cli-react.iife.min.js +0 -13
  119. package/dist/cli-react/miolo.cli-react.min.mjs +0 -13
  120. package/dist/cli-react/miolo.cli-react.mjs +0 -648
  121. package/dist/cli-react/miolo.cli-react.mjs.map +0 -1
  122. package/dist/cli-react/miolo.cli-react.umd.bundle.js +0 -15578
  123. package/dist/cli-react/miolo.cli-react.umd.bundle.js.map +0 -1
  124. package/dist/cli-react/miolo.cli-react.umd.bundle.min.js +0 -53
  125. package/dist/cli-react/miolo.cli-react.umd.min.js +0 -13
  126. package/dist/server/miolo.server.bundle.cjs +0 -173494
  127. package/dist/server/miolo.server.cjs +0 -4877
  128. package/dist/server/miolo.server.node.bundle.mjs +0 -154152
@@ -0,0 +1,19 @@
1
+
2
+ import {xeiraBundle} from 'xeira'
3
+ import { cleanFolder } from './util.mjs'
4
+
5
+ export default async function({ appName, entry, dest }) {
6
+ console.log(`[${appName}][prod] Building client from entry ${entry}`)
7
+ cleanFolder(dest)
8
+
9
+ // fs.copyFileSync(proot('./cli/index.html'), proot('./build/cli/index.html'))
10
+ await xeiraBundle({
11
+ source_index: entry,
12
+ target: 'browser',
13
+ bundle_folder: dest,
14
+ bundle_name: appName,
15
+ bundle_extension: 'iife.bundle.min',
16
+ bundler: 'rollup',
17
+ bundle_node_polyfill: true
18
+ })
19
+ }
@@ -0,0 +1,54 @@
1
+
2
+ import path from 'node:path'
3
+ import { readFile, writeFile} from 'node:fs/promises'
4
+ import { build } from 'vite'
5
+ import {xeiraBundle} from 'xeira'
6
+ import { cleanFolder } from './util.mjs'
7
+
8
+ export async function _fixProdBuild(appName, filePath) {
9
+ try {
10
+ const content = await readFile(filePath, 'utf8')
11
+ const newContent = content.replace(
12
+ /var key = crypto\.pseudoRandomBytes\(32\)/g,
13
+ 'var key = crypto.randomBytes(32)'
14
+ )
15
+ await writeFile(filePath, newContent, 'utf8')
16
+ console.log(`[${appName}][prod] Fixed server build (prod)!`)
17
+ } catch (error) {
18
+ console.error(`[${appName}][prod] Error fixing server build (prod): ${error}`)
19
+ }
20
+ }
21
+
22
+ export default async function({ appName, ssrEntry, ssrDest, entry, dest }) {
23
+ cleanFolder(dest)
24
+
25
+ console.log(`[${appName}][prod] Building first the SSR entry ${ssrEntry}`)
26
+ await build({
27
+ build: {
28
+ outDir: path.resolve(process.cwd(), ssrDest),
29
+ ssr: path.resolve(process.cwd(), ssrEntry),
30
+ rollupOptions: {
31
+ // Opciones adicionales de Rollup si las necesitas
32
+ },
33
+ },
34
+ // Otras opciones de Vite si son necesarias
35
+ // root: path.resolve(process.cwd(), 'demo'), // Si tu root del proyecto es /demo
36
+ // plugins: [/* tus plugins */],
37
+ })
38
+
39
+ console.log(`[${appName}][prod] Building server from entry ${entry}`)
40
+ const serverExt = 'node.bundle.mjs'
41
+ await xeiraBundle({
42
+ source_index: entry,
43
+ target: 'node',
44
+ bundle_folder: dest,
45
+ bundle_name: appName,
46
+ bundle_extension: serverExt,
47
+ bundler: 'rollup',
48
+ bundle_node_polyfill: true,
49
+ })
50
+
51
+ console.log(`[${appName}][prod] Fixing server build (prod)...`)
52
+ const destFile = path.join(process.cwd(), `${dest}/${appName}.${serverExt}`)
53
+ await _fixProdBuild(appName, destFile)
54
+ }
package/bin/dev.mjs ADDED
@@ -0,0 +1,8 @@
1
+ import path from 'node:path'
2
+
3
+ export default async function({ appName, entry, serverName }) {
4
+ console.log(`[${appName}][dev] Running DEV server ${serverName} from entry ${entry}`)
5
+ const srv_module = await import(path.join(process.cwd(), entry))
6
+ const server = srv_module[serverName]
7
+ await server()
8
+ }
package/bin/index.mjs ADDED
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env node
2
+ import yargs from 'yargs-parser'
3
+ import { getAppName } from './util.mjs'
4
+
5
+ async function main() {
6
+ const args = yargs(process.argv.slice(2))
7
+ const command = args._[0]
8
+
9
+ try {
10
+ const appName = await getAppName()
11
+ const serverName = args['server-name'] || 'miolo_server'
12
+
13
+ switch (command) {
14
+ case 'dev':
15
+ const devHandler = (await import ('./dev.mjs')).default
16
+ const devEntry = args.entry || './src/server/server-dev.mjs'
17
+ const devServerName = args['server-name'] || 'miolo_server'
18
+ await devHandler({ appName, entry: devEntry, serverName: devServerName })
19
+ break
20
+
21
+ case 'build-client':
22
+ const buildClientHandler = (await import ('./build-client.mjs')).default
23
+ const clientEntry = args.entry || './cli/entry-cli.jsx'
24
+ const clientDest = args.dest || './dist/cli'
25
+ await buildClientHandler({ appName, entry: clientEntry, dest: clientDest })
26
+ break
27
+
28
+ case 'build-server':
29
+ const buildServerHandler = (await import ('./build-server.mjs')).default
30
+ const ssrEntry = args['ssr-entry'] || './server/ssr/entry-server.jsx'
31
+ const ssrDest = args['ssr-dest'] || './dist/server'
32
+ const serverEntry = args.entry || './src/server/server-prod.mjs'
33
+ const serverDest = args.dest || './dist/server'
34
+ await buildServerHandler({ appName, ssrEntry, ssrDest, entry: serverEntry, dest: serverDest })
35
+ break
36
+
37
+ case 'start':
38
+ const startHandler = (await import ('./start.mjs')).default
39
+ const startDest = args.dest || './dist/server'
40
+ await startHandler({appName, serverName, dest: startDest})
41
+ break
42
+
43
+ case 'stop':
44
+ const stopHandler = (await import ('./stop.mjs')).default
45
+ await stopHandler({appName})
46
+ break
47
+
48
+ case 'restart':
49
+ const restartHandler = (await import ('./restart.mjs')).default
50
+ await restartHandler({appName, serverName})
51
+ break
52
+
53
+ default:
54
+ console.error(`[miolo] Unknown command: ${command}`)
55
+ console.log('[miolo] Available commands: dev, build-client, build-server, start, stop, restart')
56
+ process.exit(1)
57
+ }
58
+ } catch (error) {
59
+ console.error('[miolo] Error during command execution:', error)
60
+ process.exit(1)
61
+ }
62
+ }
63
+
64
+ main()
@@ -0,0 +1,10 @@
1
+ import start from "./start.mjs"
2
+ import stop from "./stop.mjs"
3
+
4
+ export default async function({appName, dest, serverName}) {
5
+ console.log(`[${appName}][prod][stop] Restarting server...`)
6
+
7
+ await stop({appName})
8
+ await start({appName, dest, serverName})
9
+
10
+ }
package/bin/start.mjs ADDED
@@ -0,0 +1,26 @@
1
+ import path from 'node:path'
2
+ import { pidFileCreate } from "./util.mjs"
3
+
4
+ export default async function({appName, dest, serverName}) {
5
+ // if (! fs.existsSync(CLI_DEST_MAIN)) {
6
+ // console.error(`[${appName}][prod][start] Cannot start server (prod): CLI bundle does not exist ${CLI_DEST_MAIN}`)
7
+ // return
8
+ // }
9
+ // if (! fs.existsSync(SRV_DEST_MAIN)) {
10
+ // console.error(`[${appName}][prod][start] Cannot start server (prod): SERVER bundle does not exist ${SRV_DEST_MAIN}`)
11
+ // return
12
+ // }
13
+
14
+ console.log(`[${appName}][prod][start] Starting server...`)
15
+
16
+ const serverExt = 'node.bundle.mjs'
17
+ const destFile = path.join(process.cwd(), `${dest}/${appName}.${serverExt}`)
18
+
19
+ const srv_module = await import(destFile)
20
+ const server = srv_module[serverName]
21
+
22
+ const pid = pidFileCreate(appName)
23
+ console.log(`[${appName}][prod][start] Starting server. PID is ${pid}...`)
24
+
25
+ await server()
26
+ }
package/bin/stop.mjs ADDED
@@ -0,0 +1,20 @@
1
+ import { pidFileRead } from "./util.mjs";
2
+
3
+ export default async function({appName}) {
4
+ console.log(`[${appName}][prod][stop] Stopping server...`)
5
+
6
+ try {
7
+ const pid = pidFileRead(appName)
8
+ console.log(`[${appName}][prod][stop] Killing current process with PID ${pid}`)
9
+
10
+ process.kill(pid, 'SIGKILL')
11
+
12
+ return 1
13
+ } catch(_) {
14
+ console.log(`[${appName}][prod][stop] No current process to kill`)
15
+ console.error(_)
16
+
17
+ return 0
18
+ }
19
+
20
+ }
package/bin/util.mjs ADDED
@@ -0,0 +1,37 @@
1
+ import {readdirSync, rmSync, writeFileSync, readFileSync} from 'node:fs'
2
+ import { readFile } from 'node:fs/promises'
3
+ import path from 'node:path'
4
+
5
+
6
+ export async function getAppName() {
7
+ try {
8
+ const packageJsonPath = path.join(process.cwd(), 'package.json')
9
+ const content = await readFile(packageJsonPath, 'utf8')
10
+ const packageData = JSON.parse(content)
11
+ return packageData.name
12
+ } catch (error) {
13
+ console.error('[miolo] Error reading package.json:', error)
14
+ return 'miolo'
15
+ }
16
+ }
17
+
18
+ export function cleanFolder(folder) {
19
+ readdirSync(folder).forEach(file => {
20
+ rmSync(`${folder}/${file}`, { recursive: true, force: true });
21
+ })
22
+ }
23
+
24
+
25
+ export function pidFileCreate(appName) {
26
+ const pidFilePath = `/tmp/${appName}.pid`
27
+ writeFileSync(pidFilePath, `${process.pid}`, {encoding:'utf8',flag:'w'})
28
+ return process.pid
29
+ }
30
+
31
+ export function pidFileRead(appName) {
32
+ const pidFilePath = `/tmp/${appName}.pid`
33
+ const pid = readFileSync(pidFilePath, {encoding:'utf8'})
34
+ return pid
35
+ }
36
+
37
+
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo v1.1.9
2
+ * miolo v2.0.0-beta.10
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -10,11 +10,12 @@
10
10
  *
11
11
  * @license MIT
12
12
  */
13
+ /* eslint-disable */
13
14
  (function (global, factory) {
14
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('qs/lib/stringify.js')) :
15
- typeof define === 'function' && define.amd ? define(['exports', 'qs/lib/stringify.js'], factory) :
16
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.miolo = {}, global.stringify));
17
- })(this, (function (exports, stringify) { 'use strict';
15
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
16
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
17
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.miolo = {}));
18
+ })(this, (function (exports) { 'use strict';
18
19
 
19
20
  function init_catcher(catcher_url, fetcher) {
20
21
  if (typeof window == "undefined") {
@@ -422,9 +423,25 @@
422
423
  /**
423
424
  * Transform an JSON object to a query string
424
425
  */
425
- function json_to_query_string(params) {
426
- if (params && Object.keys(params).length > 0) {
427
- return "?" + stringify(params);
426
+ function json_to_query_string(obj) {
427
+ if (obj && Object.keys(obj).length > 0) {
428
+ var uparams = new URLSearchParams();
429
+ var _loop = function _loop(key) {
430
+ if (Object.hasOwn(obj, key)) {
431
+ var value = obj[key];
432
+ if (Array.isArray(value)) {
433
+ value.forEach(function (item) {
434
+ return uparams.append(key, item);
435
+ });
436
+ } else if (value !== undefined && value !== null) {
437
+ uparams.append(key, value);
438
+ }
439
+ }
440
+ };
441
+ for (var key in obj) {
442
+ _loop(key);
443
+ }
444
+ return uparams.toString();
428
445
  }
429
446
  return '';
430
447
  }
@@ -1 +1 @@
1
- {"version":3,"file":"miolo.cli.umd.js","sources":["../../src/cli/catcher/index.mjs","../../src/cli/fetcher/utils.mjs","../../src/cli/fetcher/fetcher.mjs","../../src/cli/fetcher/index.mjs","../../src/cli/index.mjs"],"sourcesContent":["function init_catcher (catcher_url, fetcher) {\n if (typeof window == \"undefined\") {\n return\n } \n\n if (window.miolo_listeners===true) {\n return\n }\n\n // window.onerror = function(msg, file, line, col, error) {\n // try {\n // const params= {\n // 'error': {\n // msg, file, line, col, error\n // },\n // 'path' : window.location.pathname,\n // 'agent': 'UserAgent' + navigator.userAgent\n // }\n //\n // fetcher.post(catcher_url, params)\n // } catch(e) {\n // console.error(e)\n // }\n // }\n\n\n window.addEventListener(\"error\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n\n try {\n const params= {\n 'error': {\n msg: event?.message || 'Client error',\n file: event?.filename,\n line: event?.lineno,\n col: event?.colno,\n error: event?.error\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.addEventListener(\"unhandledrejection\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n\n try {\n const params= {\n 'warning': {\n msg: event?.reason || 'Client Unhandled rejection',\n file: undefined,\n line: undefined,\n col: undefined,\n error: event?.reason\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.miolo_listeners = true\n\n}\n\nexport {init_catcher}","import stringify from \"qs/lib/stringify.js\"\n\n/**\n * Transform an JSON object to a query string\n */\nexport function json_to_query_string(params) {\n if (params && (Object.keys(params).length>0)) {\n return `?${stringify(params)}`\n }\n return ''\n}\n\nexport function trim_left(str, what) {\n return str.replace(new RegExp(`^${what || '\\\\s'}+`), '')\n}\n\n\nexport function omit_nil(obj) {\n if (typeof obj !== 'object') return obj\n return Object.keys(obj).reduce((acc, v) => {\n if (obj[v] !== undefined) acc[v] = obj[v]\n return acc\n }, {})\n}\n\n\nexport function parse_login_cookie(response) {\n if (typeof window !== 'object') {\n return undefined\n }\n try {\n const raw = response.headers.raw()['set-cookie'];\n return raw.map((entry) => {\n const parts = entry.split(';');\n const cookiePart = parts[0];\n return cookiePart;\n }).join(';');\n } catch(e) {\n console.log('[miolo-cli] Could not get the set-cookie after login')\n return undefined\n }\n}","import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} from './utils.mjs'\n\nclass Fetcher {\n /**\n * @param {*} config {hostname, port, force_hostname, silent_fail: false}\n */\n constructor(config) {\n this.config= config\n this.auth = undefined\n this.cookie = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.auth\n username= username || ''\n password= password || ''\n\n let sauth\n try {\n sauth= 'Basic ' + Buffer.from(username + \":\" + password).toString('base64')\n } catch(_) {\n sauth= 'Basic ' + btoa(username + \":\" + password)\n }\n\n headers['Authorization']= sauth\n }\n\n if (this.cookie) {\n headers['Cookie']= this.cookie\n }\n\n return headers\n }\n\n _prepare_url (url) {\n const endpoint = '/' + trim_left(url, '/')\n \n const {hostname, port, force_hostname} = this.config || {}\n if (hostname && force_hostname) {\n return `http://${hostname}:${port}${endpoint}`\n }\n \n return endpoint\n }\n\n async _fetch (method, url, params, auth= undefined) {\n this.set_auth(auth)\n\n let request = {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n ...this.get_headers() || {}\n }\n }\n\n let wurl = this._prepare_url(url)\n \n if (method === 'POST') {\n request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v)\n } else if (method === 'GET') {\n if (params) {\n wurl+= json_to_query_string(params)\n }\n }\n \n const response = await fetch(wurl, request)\n \n if (response.redirected) {\n const isBrowser = typeof window == 'object'\n if (isBrowser) {\n // JSDOM does not support navigation, so lets skip it for tests\n const isTest = typeof navigator !== \"undefined\" &&\n navigator.userAgent.includes(\"Node.js\");\n if (!isTest) {\n window.location.replace(response.url)\n return Promise.resolve(response)\n } else {\n console.error(`Response for ${wurl} is a redirect to ${response.url}. But you are in a test environment, where redirects cannot be done. Unexpected results are coming...`)\n }\n }\n }\n \n if (response.headers.get('content-type').indexOf('json') >= 0) {\n const data= await response.json()\n \n return {\n data,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on GET ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on POST ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1\n }\n }\n } \n\n async login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n this.cookie= parse_login_cookie(res.response)\n return res\n }\n\n async logout(url) {\n this.cookie= undefined\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n const result = await this.get(`${url}/read`, params, auth)\n return result.data\n }\n\n async key_list(url, params, auth= undefined) {\n const result = await this.get(`${url}/key_list`, params, auth)\n return result.data\n } \n\n async name_list(url, params, auth= undefined) {\n const result = await this.key_list(url, params, auth)\n return Object.values(result)\n }\n\n async find(url, id, auth= undefined) {\n const result = await this.get(`${url}/find`, { id: id }, auth)\n return result.data\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n const result = await this.get(`${url}/distinct`, nparams, auth)\n return result.data \n }\n\n async upsave(url, data, auth= undefined) {\n let result\n if (data.id == undefined) {\n delete data.id\n result= await this.post(`${url}/save`, data, auth)\n } else {\n result= await this.post(`${url}/update`, data, auth)\n }\n \n return result.data\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n const result = await this.post(`${url}/delete`, data, auth)\n return result.data\n }\n}\n\nFetcher.keyList= Fetcher.key_list\nFetcher.nameList= Fetcher.name_list\n\nexport { Fetcher }\n\n","import {Fetcher} from './fetcher.mjs'\n\n\nexport function init_fetcher(config) {\n const fetcher= new Fetcher(config)\n return fetcher\n}\n","import {init_catcher} from './catcher/index.mjs'\nimport {init_fetcher} from './fetcher/index.mjs'\n// import {init_socket} from './socket/index.mjs'\n\nfunction miolo_client(context) {\n\n const {config} = context\n\n const fetcher = init_fetcher(config)\n\n if (config?.catcher_url) {\n init_catcher(config?.catcher_url, fetcher) \n }\n\n// let socket\n// if (config?.socket?.enabled===true) {\n// const domain = config?.socket?.domain\n// const options = config?.socket?.options\n// socket = init_socket(domain, options) \n// }\n\n const miolo_obj= {\n fetcher,\n //socket\n }\n\n return miolo_obj\n}\n\nexport {miolo_client}"],"names":["init_catcher","catcher_url","fetcher","window","miolo_listeners","addEventListener","event","params","msg","message","file","filename","line","lineno","col","colno","error","location","pathname","navigator","userAgent","post","e","console","reason","undefined","json_to_query_string","Object","keys","length","stringify","trim_left","str","what","replace","RegExp","omit_nil","obj","reduce","acc","v","parse_login_cookie","response","raw","headers","map","entry","parts","split","cookiePart","join","log","Fetcher","config","auth","cookie","_proto","prototype","set_auth","username","password","get_headers","_this$auth","sauth","Buffer","from","toString","_","btoa","_prepare_url","url","endpoint","_ref","hostname","port","force_hostname","_fetch","_fetch2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","request","wurl","isBrowser","isTest","_data","data","wrap","_callee$","_context","prev","next","mode","credentials","_extends","body","JSON","k","fetch","sent","redirected","includes","abrupt","Promise","resolve","get","indexOf","json","status","text","stop","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","resp","_this$config","_callee2$","_context2","t0","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_callee3$","_context3","_x8","_x9","_x10","login","_login","_callee4","_ref2","res","_callee4$","_context4","_x11","_x12","logout","_logout","_callee5","_callee5$","_context5","_x13","read","_read","_callee6","result","_callee6$","_context6","_x14","_x15","_x16","key_list","_key_list","_callee7","_callee7$","_context7","_x17","_x18","_x19","name_list","_name_list","_callee8","_callee8$","_context8","values","_x20","_x21","_x22","find","_find","_callee9","id","_callee9$","_context9","_x23","_x24","_x25","distinct","_distinct","_callee10","field","nparams","_callee10$","_context10","distinct_field","_x26","_x27","_x28","_x29","upsave","_upsave","_callee11","_callee11$","_context11","_x30","_x31","_x32","remove","_remove","_callee12","_callee12$","_context12","_x33","_x34","_x35","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
1
+ {"version":3,"file":"miolo.cli.umd.js","sources":["../../src/cli/catcher/index.mjs","../../src/cli/fetcher/utils.mjs","../../src/cli/fetcher/fetcher.mjs","../../src/cli/fetcher/index.mjs","../../src/cli/index.mjs"],"sourcesContent":["function init_catcher (catcher_url, fetcher) {\n if (typeof window == \"undefined\") {\n return\n } \n\n if (window.miolo_listeners===true) {\n return\n }\n\n // window.onerror = function(msg, file, line, col, error) {\n // try {\n // const params= {\n // 'error': {\n // msg, file, line, col, error\n // },\n // 'path' : window.location.pathname,\n // 'agent': 'UserAgent' + navigator.userAgent\n // }\n //\n // fetcher.post(catcher_url, params)\n // } catch(e) {\n // console.error(e)\n // }\n // }\n\n\n window.addEventListener(\"error\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n\n try {\n const params= {\n 'error': {\n msg: event?.message || 'Client error',\n file: event?.filename,\n line: event?.lineno,\n col: event?.colno,\n error: event?.error\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.addEventListener(\"unhandledrejection\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n\n try {\n const params= {\n 'warning': {\n msg: event?.reason || 'Client Unhandled rejection',\n file: undefined,\n line: undefined,\n col: undefined,\n error: event?.reason\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.miolo_listeners = true\n\n}\n\nexport {init_catcher}","/**\n * Transform an JSON object to a query string\n */\nexport function json_to_query_string(obj) {\n if (obj && (Object.keys(obj).length>0)) {\n const uparams = new URLSearchParams()\n for (const key in obj) {\n if (Object.hasOwn(obj, key)) {\n const value = obj[key];\n if (Array.isArray(value)) {\n value.forEach(item => uparams.append(key, item))\n } else if (value !== undefined && value !== null) {\n uparams.append(key, value)\n }\n }\n }\n return uparams.toString()\n }\n return ''\n}\n\nexport function trim_left(str, what) {\n return str.replace(new RegExp(`^${what || '\\\\s'}+`), '')\n}\n\n\nexport function omit_nil(obj) {\n if (typeof obj !== 'object') return obj\n return Object.keys(obj).reduce((acc, v) => {\n if (obj[v] !== undefined) acc[v] = obj[v]\n return acc\n }, {})\n}\n\n\nexport function parse_login_cookie(response) {\n if (typeof window !== 'object') {\n return undefined\n }\n try {\n const raw = response.headers.raw()['set-cookie'];\n return raw.map((entry) => {\n const parts = entry.split(';');\n const cookiePart = parts[0];\n return cookiePart;\n }).join(';');\n } catch(e) {\n console.log('[miolo-cli] Could not get the set-cookie after login')\n return undefined\n }\n}","import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} from './utils.mjs'\n\nclass Fetcher {\n /**\n * @param {*} config {hostname, port, force_hostname, silent_fail: false}\n */\n constructor(config) {\n this.config= config\n this.auth = undefined\n this.cookie = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.auth\n username= username || ''\n password= password || ''\n\n let sauth\n try {\n sauth= 'Basic ' + Buffer.from(username + \":\" + password).toString('base64')\n } catch(_) {\n sauth= 'Basic ' + btoa(username + \":\" + password)\n }\n\n headers['Authorization']= sauth\n }\n\n if (this.cookie) {\n headers['Cookie']= this.cookie\n }\n\n return headers\n }\n\n _prepare_url (url) {\n const endpoint = '/' + trim_left(url, '/')\n \n const {hostname, port, force_hostname} = this.config || {}\n if (hostname && force_hostname) {\n return `http://${hostname}:${port}${endpoint}`\n }\n \n return endpoint\n }\n\n async _fetch (method, url, params, auth= undefined) {\n this.set_auth(auth)\n\n let request = {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n ...this.get_headers() || {}\n }\n }\n\n let wurl = this._prepare_url(url)\n \n if (method === 'POST') {\n request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v)\n } else if (method === 'GET') {\n if (params) {\n wurl+= json_to_query_string(params)\n }\n }\n \n const response = await fetch(wurl, request)\n \n if (response.redirected) {\n const isBrowser = typeof window == 'object'\n if (isBrowser) {\n // JSDOM does not support navigation, so lets skip it for tests\n const isTest = typeof navigator !== \"undefined\" &&\n navigator.userAgent.includes(\"Node.js\");\n if (!isTest) {\n window.location.replace(response.url)\n return Promise.resolve(response)\n } else {\n console.error(`Response for ${wurl} is a redirect to ${response.url}. But you are in a test environment, where redirects cannot be done. Unexpected results are coming...`)\n }\n }\n }\n \n if (response.headers.get('content-type').indexOf('json') >= 0) {\n const data= await response.json()\n \n return {\n data,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on GET ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on POST ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1\n }\n }\n } \n\n async login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n this.cookie= parse_login_cookie(res.response)\n return res\n }\n\n async logout(url) {\n this.cookie= undefined\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n const result = await this.get(`${url}/read`, params, auth)\n return result.data\n }\n\n async key_list(url, params, auth= undefined) {\n const result = await this.get(`${url}/key_list`, params, auth)\n return result.data\n } \n\n async name_list(url, params, auth= undefined) {\n const result = await this.key_list(url, params, auth)\n return Object.values(result)\n }\n\n async find(url, id, auth= undefined) {\n const result = await this.get(`${url}/find`, { id: id }, auth)\n return result.data\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n const result = await this.get(`${url}/distinct`, nparams, auth)\n return result.data \n }\n\n async upsave(url, data, auth= undefined) {\n let result\n if (data.id == undefined) {\n delete data.id\n result= await this.post(`${url}/save`, data, auth)\n } else {\n result= await this.post(`${url}/update`, data, auth)\n }\n \n return result.data\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n const result = await this.post(`${url}/delete`, data, auth)\n return result.data\n }\n}\n\nFetcher.keyList= Fetcher.key_list\nFetcher.nameList= Fetcher.name_list\n\nexport { Fetcher }\n\n","import {Fetcher} from './fetcher.mjs'\n\n\nexport function init_fetcher(config) {\n const fetcher= new Fetcher(config)\n return fetcher\n}\n","import {init_catcher} from './catcher/index.mjs'\nimport {init_fetcher} from './fetcher/index.mjs'\n// import {init_socket} from './socket/index.mjs'\n\nfunction miolo_client(context) {\n\n const {config} = context\n\n const fetcher = init_fetcher(config)\n\n if (config?.catcher_url) {\n init_catcher(config?.catcher_url, fetcher) \n }\n\n// let socket\n// if (config?.socket?.enabled===true) {\n// const domain = config?.socket?.domain\n// const options = config?.socket?.options\n// socket = init_socket(domain, options) \n// }\n\n const miolo_obj= {\n fetcher,\n //socket\n }\n\n return miolo_obj\n}\n\nexport {miolo_client}"],"names":["init_catcher","catcher_url","fetcher","window","miolo_listeners","addEventListener","event","params","msg","message","file","filename","line","lineno","col","colno","error","location","pathname","navigator","userAgent","post","e","console","reason","undefined","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","value","Array","isArray","forEach","item","append","toString","trim_left","str","what","replace","RegExp","omit_nil","reduce","acc","v","parse_login_cookie","response","raw","headers","map","entry","parts","split","cookiePart","join","log","Fetcher","config","auth","cookie","_proto","prototype","set_auth","username","password","get_headers","_this$auth","sauth","Buffer","from","_","btoa","_prepare_url","url","endpoint","_ref","hostname","port","force_hostname","_fetch","_fetch2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","request","wurl","isBrowser","isTest","_data","data","wrap","_callee$","_context","prev","next","mode","credentials","_extends","body","JSON","stringify","k","fetch","sent","redirected","includes","abrupt","Promise","resolve","get","indexOf","json","status","text","stop","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","resp","_this$config","_callee2$","_context2","t0","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_callee3$","_context3","_x8","_x9","_x10","login","_login","_callee4","_ref2","res","_callee4$","_context4","_x11","_x12","logout","_logout","_callee5","_callee5$","_context5","_x13","read","_read","_callee6","result","_callee6$","_context6","_x14","_x15","_x16","key_list","_key_list","_callee7","_callee7$","_context7","_x17","_x18","_x19","name_list","_name_list","_callee8","_callee8$","_context8","values","_x20","_x21","_x22","find","_find","_callee9","id","_callee9$","_context9","_x23","_x24","_x25","distinct","_distinct","_callee10","field","nparams","_callee10$","_context10","distinct_field","_x26","_x27","_x28","_x29","upsave","_upsave","_callee11","_callee11$","_context11","_x30","_x31","_x32","remove","_remove","_callee12","_callee12$","_context12","_x33","_x34","_x35","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo v1.1.9
2
+ * miolo v2.0.0-beta.10
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -10,11 +10,12 @@
10
10
  *
11
11
  * @license MIT
12
12
  */
13
+ /* eslint-disable */
13
14
  (function (global, factory) {
14
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('react-router-dom'), require('qs/lib/stringify.js'), require('react-router-dom/server.js')) :
15
- typeof define === 'function' && define.amd ? define(['exports', 'react', 'react-router-dom', 'qs/lib/stringify.js', 'react-router-dom/server.js'], factory) :
16
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.miolo = {}, global.react, global.reactRouterDom, global.stringify, global.server_js));
17
- })(this, (function (exports, React, reactRouterDom, stringify, server_js) { 'use strict';
15
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
16
+ typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
17
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.miolo = {}, global.react));
18
+ })(this, (function (exports, React) { 'use strict';
18
19
 
19
20
  function asyncGeneratorStep(n, t, e, r, o, a, c) {
20
21
  try {
@@ -352,16 +353,20 @@
352
353
  }, e;
353
354
  }
354
355
 
355
- var Context = /*#__PURE__*/React.createContext();
356
+ var MioloContext = /*#__PURE__*/React.createContext();
356
357
 
357
358
  /* eslint react/display-name:0 */
358
- var withContext = function withContext(BaseComponent) {
359
+ var withMioloContext = function withMioloContext(BaseComponent) {
359
360
  return function (props) {
360
- var context = React.useContext(Context);
361
+ var context = React.useContext(MioloContext);
361
362
  return /*#__PURE__*/React.createElement(BaseComponent, _extends({}, props, context));
362
363
  };
363
364
  };
364
365
 
366
+ var useMioloContext = function useMioloContext() {
367
+ return React.useContext(MioloContext);
368
+ };
369
+
365
370
  function init_catcher(catcher_url, fetcher) {
366
371
  if (typeof window == "undefined") {
367
372
  return;
@@ -432,9 +437,25 @@
432
437
  /**
433
438
  * Transform an JSON object to a query string
434
439
  */
435
- function json_to_query_string(params) {
436
- if (params && Object.keys(params).length > 0) {
437
- return "?" + stringify(params);
440
+ function json_to_query_string(obj) {
441
+ if (obj && Object.keys(obj).length > 0) {
442
+ var uparams = new URLSearchParams();
443
+ var _loop = function _loop(key) {
444
+ if (Object.hasOwn(obj, key)) {
445
+ var value = obj[key];
446
+ if (Array.isArray(value)) {
447
+ value.forEach(function (item) {
448
+ return uparams.append(key, item);
449
+ });
450
+ } else if (value !== undefined && value !== null) {
451
+ uparams.append(key, value);
452
+ }
453
+ }
454
+ };
455
+ for (var key in obj) {
456
+ _loop(key);
457
+ }
458
+ return uparams.toString();
438
459
  }
439
460
  return '';
440
461
  }
@@ -1035,7 +1056,7 @@
1035
1056
  }, refreshSsrData];
1036
1057
  };
1037
1058
 
1038
- var AppContext = function AppContext(_ref) {
1059
+ var MioloContextProvider = function MioloContextProvider(_ref) {
1039
1060
  var context = _ref.context,
1040
1061
  children = _ref.children;
1041
1062
  var _useState = React.useState(context),
@@ -1113,7 +1134,7 @@
1113
1134
  var useSsrData = function useSsrData(name, defval, loader, modifier) {
1114
1135
  return useSsrDataOrReload(innerContext, mioloObj, name, defval, loader, modifier);
1115
1136
  };
1116
- return /*#__PURE__*/React.createElement(Context.Provider, {
1137
+ return /*#__PURE__*/React.createElement(MioloContext.Provider, {
1117
1138
  value: {
1118
1139
  //context: innerContext,
1119
1140
  //setContext: setInnerContext,
@@ -1131,30 +1152,24 @@
1131
1152
 
1132
1153
  var AppBrowser = function AppBrowser(_ref) {
1133
1154
  var children = _ref.children;
1134
- return /*#__PURE__*/React.createElement(reactRouterDom.BrowserRouter, {
1135
- future: {
1136
- v7_startTransition: true,
1137
- v7_relativeSplatPath: true
1138
- }
1139
- }, /*#__PURE__*/React.createElement(AppContext, {
1140
- context: window.__CONTEXT || {}
1141
- }, children));
1155
+ var context = typeof window !== 'undefined' && window.__CONTEXT ? window.__CONTEXT : {};
1156
+ return /*#__PURE__*/React.createElement(MioloContextProvider, {
1157
+ context: context
1158
+ }, children);
1142
1159
  };
1143
1160
 
1144
1161
  var AppServer = function AppServer(_ref) {
1145
- var url = _ref.url,
1146
- context = _ref.context,
1162
+ var context = _ref.context,
1147
1163
  children = _ref.children;
1148
- return /*#__PURE__*/React.createElement(server_js.StaticRouter, {
1149
- location: url
1150
- }, /*#__PURE__*/React.createElement(AppContext, {
1164
+ return /*#__PURE__*/React.createElement(MioloContextProvider, {
1151
1165
  context: context || {}
1152
- }, children));
1166
+ }, children);
1153
1167
  };
1154
1168
 
1155
1169
  exports.AppBrowser = AppBrowser;
1156
1170
  exports.AppServer = AppServer;
1157
- exports.withContext = withContext;
1171
+ exports.useMioloContext = useMioloContext;
1172
+ exports.withMioloContext = withMioloContext;
1158
1173
 
1159
1174
  }));
1160
1175
  //# sourceMappingURL=miolo.cli-react.umd.js.map