@positron-js/cli 1.0.3

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 (89) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +3 -0
  3. package/build-android.config.js +30 -0
  4. package/build-android.jsx +86 -0
  5. package/build-ios.config.js +27 -0
  6. package/build-ios.jsx +108 -0
  7. package/content/app/PositronApp/App.xaml +14 -0
  8. package/content/app/PositronApp/App.xaml.cs +42 -0
  9. package/content/app/PositronApp/MauiProgram.cs +35 -0
  10. package/content/app/PositronApp/Platforms/Android/AndroidManifest.xml +17 -0
  11. package/content/app/PositronApp/Platforms/Android/MainActivity.cs +59 -0
  12. package/content/app/PositronApp/Platforms/Android/MainApplication.cs +15 -0
  13. package/content/app/PositronApp/Platforms/Android/Resources/values/colors.xml +6 -0
  14. package/content/app/PositronApp/Platforms/Android/Resources/values/string.xml +4 -0
  15. package/content/app/PositronApp/Platforms/MacCatalyst/AppDelegate.cs +9 -0
  16. package/content/app/PositronApp/Platforms/MacCatalyst/Info.plist +30 -0
  17. package/content/app/PositronApp/Platforms/MacCatalyst/Program.cs +15 -0
  18. package/content/app/PositronApp/Platforms/Tizen/Main.cs +16 -0
  19. package/content/app/PositronApp/Platforms/Tizen/tizen-manifest.xml +15 -0
  20. package/content/app/PositronApp/Platforms/Windows/App.xaml +8 -0
  21. package/content/app/PositronApp/Platforms/Windows/App.xaml.cs +24 -0
  22. package/content/app/PositronApp/Platforms/Windows/Package.appxmanifest +46 -0
  23. package/content/app/PositronApp/Platforms/Windows/app.manifest +15 -0
  24. package/content/app/PositronApp/Platforms/iOS/AppDelegate.cs +20 -0
  25. package/content/app/PositronApp/Platforms/iOS/Info.plist +34 -0
  26. package/content/app/PositronApp/Platforms/iOS/Program.cs +15 -0
  27. package/content/app/PositronApp/PositronApp.csproj +99 -0
  28. package/content/app/PositronApp/Properties/launchSettings.json +8 -0
  29. package/content/app/PositronApp/Resources/AppIcon/appicon.svg +42 -0
  30. package/content/app/PositronApp/Resources/AppIcon/appiconfg.svg +41 -0
  31. package/content/app/PositronApp/Resources/Fonts/OpenSans-Regular.ttf +0 -0
  32. package/content/app/PositronApp/Resources/Fonts/OpenSans-Semibold.ttf +0 -0
  33. package/content/app/PositronApp/Resources/Images/dotnet_bot.svg +8 -0
  34. package/content/app/PositronApp/Resources/Raw/AboutAssets.txt +15 -0
  35. package/content/app/PositronApp/Resources/Splash/splash.svg +41 -0
  36. package/content/app/PositronApp/Resources/Styles/Colors.xaml +44 -0
  37. package/content/app/PositronApp/Resources/Styles/Styles.xaml +384 -0
  38. package/content/app/PositronApp/appsettings.json +5 -0
  39. package/content/app/PositronApp/config/google-services.json +3 -0
  40. package/content/app/PositronApp.sln +39 -0
  41. package/dist/App.d.ts +3 -0
  42. package/dist/App.d.ts.map +1 -0
  43. package/dist/App.js +5 -0
  44. package/dist/App.js.map +1 -0
  45. package/dist/AppCommand.d.ts +3 -0
  46. package/dist/AppCommand.d.ts.map +1 -0
  47. package/dist/AppCommand.js +8 -0
  48. package/dist/AppCommand.js.map +1 -0
  49. package/dist/AppInfo.d.ts +5 -0
  50. package/dist/AppInfo.d.ts.map +1 -0
  51. package/dist/AppInfo.js +10 -0
  52. package/dist/AppInfo.js.map +1 -0
  53. package/dist/cli.d.ts +39 -0
  54. package/dist/cli.d.ts.map +1 -0
  55. package/dist/cli.js +155 -0
  56. package/dist/cli.js.map +1 -0
  57. package/dist/commands/init/init.d.ts +2 -0
  58. package/dist/commands/init/init.d.ts.map +1 -0
  59. package/dist/commands/init/init.js +29 -0
  60. package/dist/commands/init/init.js.map +1 -0
  61. package/dist/commands/sync/sync.d.ts +2 -0
  62. package/dist/commands/sync/sync.d.ts.map +1 -0
  63. package/dist/commands/sync/sync.js +61 -0
  64. package/dist/commands/sync/sync.js.map +1 -0
  65. package/dist/core/LocalFile.d.ts +17 -0
  66. package/dist/core/LocalFile.d.ts.map +1 -0
  67. package/dist/core/LocalFile.js +42 -0
  68. package/dist/core/LocalFile.js.map +1 -0
  69. package/dist/cwd/cwd.d.ts +13 -0
  70. package/dist/cwd/cwd.d.ts.map +1 -0
  71. package/dist/cwd/cwd.js +84 -0
  72. package/dist/cwd/cwd.js.map +1 -0
  73. package/dist/schema/appConfig.d.ts +6 -0
  74. package/dist/schema/appConfig.d.ts.map +1 -0
  75. package/dist/schema/appConfig.js +6 -0
  76. package/dist/schema/appConfig.js.map +1 -0
  77. package/dist/tsconfig.tsbuildinfo +1 -0
  78. package/index.js +1 -0
  79. package/package.json +23 -0
  80. package/src/App.ts +4 -0
  81. package/src/AppCommand.ts +9 -0
  82. package/src/AppInfo.ts +12 -0
  83. package/src/cli.ts +202 -0
  84. package/src/commands/init/init.ts +40 -0
  85. package/src/commands/sync/sync.ts +83 -0
  86. package/src/core/LocalFile.ts +59 -0
  87. package/src/cwd/cwd.ts +102 -0
  88. package/src/schema/appConfig.ts +5 -0
  89. package/tsconfig.json +31 -0
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../../opt/hostedtoolcache/node/20.17.0/x64/lib/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/kleur/kleur.d.ts","../node_modules/@types/prompts/index.d.ts","../src/cli.ts","../src/core/LocalFile.ts","../src/cwd/cwd.ts","../src/AppInfo.ts","../src/commands/init/init.ts","../node_modules/domelementtype/lib/esm/index.d.ts","../node_modules/domhandler/lib/esm/node.d.ts","../node_modules/domhandler/lib/esm/index.d.ts","../node_modules/htmlparser2/lib/esm/Tokenizer.d.ts","../node_modules/htmlparser2/lib/esm/Parser.d.ts","../node_modules/dom-serializer/lib/esm/index.d.ts","../node_modules/domutils/lib/esm/stringify.d.ts","../node_modules/domutils/lib/esm/traversal.d.ts","../node_modules/domutils/lib/esm/manipulation.d.ts","../node_modules/domutils/lib/esm/querying.d.ts","../node_modules/domutils/lib/esm/legacy.d.ts","../node_modules/domutils/lib/esm/helpers.d.ts","../node_modules/domutils/lib/esm/feeds.d.ts","../node_modules/domutils/lib/esm/index.d.ts","../node_modules/htmlparser2/lib/esm/index.d.ts","../node_modules/parse5/dist/common/html.d.ts","../node_modules/parse5/dist/common/token.d.ts","../node_modules/parse5/dist/common/error-codes.d.ts","../node_modules/parse5/dist/tokenizer/preprocessor.d.ts","../node_modules/parse5/dist/tokenizer/index.d.ts","../node_modules/parse5/dist/tree-adapters/interface.d.ts","../node_modules/parse5/dist/parser/open-element-stack.d.ts","../node_modules/parse5/dist/parser/formatting-element-list.d.ts","../node_modules/parse5/dist/parser/index.d.ts","../node_modules/parse5/dist/tree-adapters/default.d.ts","../node_modules/parse5/dist/serializer/index.d.ts","../node_modules/parse5/dist/common/foreign-content.d.ts","../node_modules/parse5/dist/index.d.ts","../node_modules/parse5-htmlparser2-tree-adapter/dist/index.d.ts","../node_modules/css-what/lib/es/types.d.ts","../node_modules/css-what/lib/es/parse.d.ts","../node_modules/css-what/lib/es/stringify.d.ts","../node_modules/css-what/lib/es/index.d.ts","../node_modules/css-select/lib/esm/types.d.ts","../node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts","../node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts","../node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts","../node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts","../node_modules/css-select/lib/esm/index.d.ts","../node_modules/cheerio-select/lib/esm/index.d.ts","../node_modules/cheerio/dist/esm/options.d.ts","../node_modules/cheerio/dist/esm/api/attributes.d.ts","../node_modules/cheerio/dist/esm/api/traversing.d.ts","../node_modules/cheerio/dist/esm/api/manipulation.d.ts","../node_modules/cheerio/dist/esm/api/css.d.ts","../node_modules/cheerio/dist/esm/api/forms.d.ts","../node_modules/cheerio/dist/esm/api/extract.d.ts","../node_modules/cheerio/dist/esm/cheerio.d.ts","../node_modules/cheerio/dist/esm/types.d.ts","../node_modules/cheerio/dist/esm/static.d.ts","../node_modules/cheerio/dist/esm/load.d.ts","../node_modules/cheerio/dist/esm/load-parse.d.ts","../node_modules/cheerio/dist/esm/slim.d.ts","../node_modules/encoding-sniffer/dist/esm/sniffer.d.ts","../node_modules/encoding-sniffer/dist/esm/index.d.ts","../node_modules/undici/types/header.d.ts","../node_modules/undici/types/readable.d.ts","../node_modules/undici/types/file.d.ts","../node_modules/undici/types/fetch.d.ts","../node_modules/undici/types/formdata.d.ts","../node_modules/undici/types/connector.d.ts","../node_modules/undici/types/client.d.ts","../node_modules/undici/types/errors.d.ts","../node_modules/undici/types/dispatcher.d.ts","../node_modules/undici/types/global-dispatcher.d.ts","../node_modules/undici/types/global-origin.d.ts","../node_modules/undici/types/pool-stats.d.ts","../node_modules/undici/types/pool.d.ts","../node_modules/undici/types/handlers.d.ts","../node_modules/undici/types/balanced-pool.d.ts","../node_modules/undici/types/agent.d.ts","../node_modules/undici/types/mock-interceptor.d.ts","../node_modules/undici/types/mock-agent.d.ts","../node_modules/undici/types/mock-client.d.ts","../node_modules/undici/types/mock-pool.d.ts","../node_modules/undici/types/mock-errors.d.ts","../node_modules/undici/types/proxy-agent.d.ts","../node_modules/undici/types/env-http-proxy-agent.d.ts","../node_modules/undici/types/retry-handler.d.ts","../node_modules/undici/types/retry-agent.d.ts","../node_modules/undici/types/api.d.ts","../node_modules/undici/types/interceptors.d.ts","../node_modules/undici/types/util.d.ts","../node_modules/undici/types/cookies.d.ts","../node_modules/undici/types/patch.d.ts","../node_modules/undici/types/websocket.d.ts","../node_modules/undici/types/eventsource.d.ts","../node_modules/undici/types/filereader.d.ts","../node_modules/undici/types/diagnostics-channel.d.ts","../node_modules/undici/types/content-type.d.ts","../node_modules/undici/types/cache.d.ts","../node_modules/undici/types/index.d.ts","../node_modules/undici/index.d.ts","../node_modules/cheerio/dist/esm/index.d.ts","../src/commands/sync/sync.ts","../src/App.ts","../node_modules/commander/typings/index.d.ts","../node_modules/commander/typings/esm.d.mts","../src/AppCommand.ts","../src/schema/appConfig.ts"],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae37d6ccd1560b0203ab88d46987393adaaa78c919e51acf32fb82c86502e98c","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"e142fda89ed689ea53d6f2c93693898464c7d29a0ae71c6dc8cdfe5a1d76c775","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"34b4f256dd3c591cb7c9e96a763d79d54b69d417709b9015dcec3ac5583eec73","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"57386628c539248e4f428d5308a69f98f4a6a3cd42a053f017d9dd3fd5a43bc5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"8b9bf58d580d9b36ab2f23178c88757ce7cc6830ccbdd09e8a76f4cb1bc0fcf7","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"7782678102bd835ef2c54330ee16c31388e51dfd9ca535b47f6fd8f3d6e07993","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"1a42891defae8cec268a4f8903140dbf0d214c0cf9ed8fdc1eb6c25e5b3e9a5c","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"37e97c64b890352421ccb29cd8ede863774df8f03763416f6a572093f6058284","impliedFormat":1},{"version":"6f73fc82f51bcdf0487fc982f062eeadae02e0251dd2e4c444043edb247a7d3b","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3ec8993b7596a4ef47f309c7b25ee2505b519c13050424d9c34701e5973315","impliedFormat":1},{"version":"e7f13a977b01cc54adb4408a9265cda9ddf11db878d70f4f3cac64bef00062e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"af49b066a76ce26673fe49d1885cc6b44153f1071ed2d952f2a90fccba1095c9","impliedFormat":1},{"version":"f22fd1dc2df53eaf5ce0ff9e0a3326fc66f880d6a652210d50563ae72625455f","impliedFormat":1},{"version":"3ddbdb519e87a7827c4f0c4007013f3628ca0ebb9e2b018cf31e5b2f61c593f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"6d498d4fd8036ea02a4edcae10375854a0eb1df0496cf0b9d692577d3c0fd603","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"fd09b892597ab93e7f79745ce725a3aaf6dd005e8db20f0c63a5d10984cba328","impliedFormat":1},{"version":"a3be878ff1e1964ab2dc8e0a3b67087cf838731c7f3d8f603337e7b712fdd558","impliedFormat":1},{"version":"5433f7f77cd1fd53f45bd82445a4e437b2f6a72a32070e907530a4fea56c30c8","impliedFormat":1},{"version":"9be74296ee565af0c12d7071541fdd23260f53c3da7731fb6361f61150a791f6","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ee6224fcd037010a846f0222f8d607171aed9fa486b038b285dd49936911735","impliedFormat":1},{"version":"9cb2378b2c1aaed8b097615b1103e92844f933dfd0bfd8d9ed9c5b045ffb143e","impliedFormat":1},{"version":"bcfcff784a59db3f323c25cea5ae99a903ca9292c060f2c7e470ea73aaf71b44","impliedFormat":1},{"version":"672ad3045f329e94002256f8ed460cfd06173a50c92cde41edaadfacffd16808","impliedFormat":1},{"version":"64da4965d1e0559e134d9c1621ae400279a216f87ed00c4cce4f2c7c78021712","impliedFormat":1},{"version":"ddbf3aac94f85dbb8e4d0360782e60020da75a0becfc0d3c69e437c645feb30f","impliedFormat":1},{"version":"0166fce1204d520fdfd6b5febb3cda3deee438bcbf8ce9ffeb2b1bcde7155346","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b13eab85b532285031b06a971fa051bf0175d8fff68065a24a6da9c1c986cf","impliedFormat":1},{"version":"50c382ba1827988c59aa9cc9d046e386d55d70f762e9e352e95ee8cb7337cdb8","impliedFormat":1},{"version":"2178ab4b68402d1de2dda199d3e4a55f7200e3334f5a9727fbd9d16975cdf75f","impliedFormat":1},{"version":"e686bec498fbde620cc6069cc60c968981edd7591db7ca7e4614e77417eb41f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e523e73ee7dd119d99072fd855404efc33938c168063771528bd1deb6df56d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"a215554477f7629e3dcbc8cde104bec036b78673650272f5ffdc5a2cee399a0a","impliedFormat":1},{"version":"c3497fc242aabfedcd430b5932412f94f157b5906568e737f6a18cc77b36a954","impliedFormat":1},{"version":"cdc1de3b672f9ef03ff15c443aa1b631edca35b6ae6970a7da6400647ff74d95","impliedFormat":1},{"version":"139ad1dc93a503da85b7a0d5f615bddbae61ad796bc68fedd049150db67a1e26","impliedFormat":1},{"version":"bf01fdd3b93cf633b3f7420718457af19c57ab8cbfea49268df60bae2e84d627","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"65b39cc6b610a4a4aecc321f6efb436f10c0509d686124795b4c36a5e915b89e","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"3c1f19c7abcda6b3a4cf9438a15c7307a080bd3b51dfd56b198d9f86baf19447","impliedFormat":1},{"version":"d3edb86744e2c19f2c1503849ac7594a5e06024f2451bacae032390f2e20314a","impliedFormat":1},{"version":"7d55ea964fcefff729f78a9e9e0a7fbb5be4603b496b9b82571e2555e72057b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8a3e61347b8f80aa5af532094498bceb0c0b257b25a6aa8ab4880fd6ed57c95a","affectsGlobalScope":true,"impliedFormat":1},{"version":"98e00f3613402504bc2a2c9a621800ab48e0a463d1eed062208a4ae98ad8f84c","impliedFormat":1},{"version":"4301becc26a79eb5f4552f7bee356c2534466d3b5cd68b71523e1929d543de89","impliedFormat":1},{"version":"5475df7cfc493a08483c9d7aa61cc04791aecba9d0a2efc213f23c4006d4d3cd","impliedFormat":1},{"version":"000720870b275764c65e9f28ac97cc9e4d9e4a36942d4750ca8603e416e9c57c","impliedFormat":1},{"version":"54412c70bacb9ed547ed6caae8836f712a83ccf58d94466f3387447ec4e82dc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1d274b8bb8ca011148f87e128392bfcd17a12713b6a4e843f0fa9f3f6b45e2b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c48e931a72f6971b5add7fdb1136be1d617f124594e94595f7114af749395e0","impliedFormat":1},{"version":"478eb5c32250678a906d91e0529c70243fc4d75477a08f3da408e2615396f558","impliedFormat":1},{"version":"e686a88c9ee004c8ba12ffc9d674ca3192a4c50ed0ca6bd5b2825c289e2b2bfe","impliedFormat":1},{"version":"98d547613610452ac9323fb9ec4eafc89acab77644d6e23105b3c94913f712b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"3c1fa648ff7a62e4054bc057f7d392cb96dd019130c71d13894337add491d9f3","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a42be67ed1ddaec743582f41fc219db96a1b69719fccac6d1464321178d610fc","impliedFormat":1},{"version":"6ab263df6465e2ed8f1d02922bae18bb5b407020767de021449a4c509859b22e","impliedFormat":1},{"version":"6805621d9f970cda51ab1516e051febe5f3ec0e45b371c7ad98ac2700d13d57c","impliedFormat":1},{"version":"b73afebac492b06a2a723560298dcd6503c5fe3000baefcbc3b9251bdb036e3a","signature":"70925fbd67742172ae96de688752c2fabaa6bc7f55b0d0c582a83d854e7990c9","impliedFormat":99},{"version":"f953d34c01654c06a0b713d4e6e5d52882a0922da49ea3844ddc44df137a839d","signature":"f43a4b4ee4773858930ddd9ca60ee0f1b701d1c32fbe495536195b6b60e58edf","impliedFormat":99},{"version":"eb80d5b51904ec0462502eff960f8c5e4af4d2cfeb4340b4efebeaa3f79029a0","signature":"d66458731367ac003d11875515543bd6ad792db5dd8466533fc575a71770c193","impliedFormat":99},{"version":"741a4969e09be58d0f6c5c4edf27b06e604229ade3779392cbd311eb433c07cd","signature":"0563fa41116137a6ba35deae1f332aaf872b41bebd8e6825d98423964079b440","impliedFormat":99},{"version":"83f5cf5268c20ca31f002d4744c6f5482ad2abffa469df1f8bbc6ea9a2864336","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"2556e7e8bb7e6f0bb3fe25f3da990d1812cb91f8c9b389354b6a0c8a6d687590","impliedFormat":99},{"version":"ad1c91ca536e0962dcbfcdff40073e3dd18da839e0baad3fe990cf0d10c93065","impliedFormat":99},{"version":"19cf605ba2a4e8fba017edebdddbbc45aea897ddc58b4aae4c55f382b570ff53","impliedFormat":99},{"version":"884aab8c07224434c034b49e88de0511f21536aa83ee88f1285160ba6d3fb77a","impliedFormat":99},{"version":"130b39b18c99e5678635f383ef57efaa507196838ddabb47cb104064e2ce4cd3","impliedFormat":99},{"version":"7618d2cb769e2093acd4623d645b683ab9fea78c262b3aa354aba9f5afdcaaee","impliedFormat":99},{"version":"029f1ce606891c3f57f4c0c60b8a46c8ced53e719d27a7c9693817f2fe37690b","impliedFormat":99},{"version":"83596c963e276a9c5911412fba37ae7c1fe280f2d77329928828eed5a3bfa9a6","impliedFormat":99},{"version":"81acfd3a01767770e559bc57d32684756989475be6ea32e2fe6255472c3ea116","impliedFormat":99},{"version":"cd19a2471da8214c5b20a399dbe4f4e9b24d1d29f6049857d447f3ebf1cfee46","impliedFormat":99},{"version":"1486d266ecc366d6d48b906598da31cc89d53633eafd578fcf11c6ee054c0b62","impliedFormat":99},{"version":"c1c1e740195c882a776cf084acbaf963907785ee39e723c6375fec9a59bf2387","impliedFormat":99},{"version":"137f96b78e477e08876f6372072c3b6f1767672bf182013f84f8ae53d987ff86","impliedFormat":99},{"version":"29896c61d09880ff39f8a86873bf72ce4deb910158d3a496122781e29904c615","impliedFormat":99},{"version":"81ce540acef0d6972b0b163331583181be3603300f618dcd6a6a3138954ff30c","impliedFormat":99},{"version":"3411c785dbe8fd42f7d644d1e05a7e72b624774a08a9356479754999419c3c5a","impliedFormat":99},{"version":"8fb8fdda477cd7382477ffda92c2bb7d9f7ef583b1aa531eb6b2dc2f0a206c10","impliedFormat":99},{"version":"66995b0c991b5c5d42eff1d950733f85482c7419f7296ab8952e03718169e379","impliedFormat":99},{"version":"33f3795a4617f98b1bb8dac36312119d02f31897ae75436a1e109ce042b48ee8","impliedFormat":99},{"version":"2850c9c5dc28d34ad5f354117d0419f325fc8932d2a62eadc4dc52c018cd569b","impliedFormat":99},{"version":"c753948f7e0febe7aa1a5b71a714001a127a68861309b2c4127775aa9b6d4f24","impliedFormat":99},{"version":"3e7a40e023e1d4a9eef1a6f08a3ded8edacb67ae5fce072014205d730f717ba5","impliedFormat":99},{"version":"a77be6fc44c876bc10c897107f84eaba10790913ebdcad40fcda7e47469b2160","impliedFormat":99},{"version":"382100b010774614310d994bbf16cc9cd291c14f0d417126c7a7cfad1dc1d3f8","impliedFormat":99},{"version":"91f5dbcdb25d145a56cffe957ec665256827892d779ef108eb2f3864faff523b","impliedFormat":99},{"version":"4fdf56315340bd1770eb52e1601c3a98e45b1d207202831357e99ce29c35b55c","impliedFormat":99},{"version":"927955a3de5857e0a1c575ced5a4245e74e6821d720ed213141347dd1870197f","impliedFormat":99},{"version":"be6fd74528b32986fbf0cd2cfa9192a5ed7f369060b32a7adcb0c8d055708e61","impliedFormat":99},{"version":"2ccf5a818791f3439655d783d8f95c7f9c066a354511cc3667d6d82df81f34a7","impliedFormat":99},{"version":"ed9ce8e6dd5b2d00ab95efc44e4ad9d0eba77362e01619cb21dedfdedbad51b8","impliedFormat":1},{"version":"5520611f997f2b8e62a6e191da45b07813ac2e758304690606604a64ac0ca976","impliedFormat":1},{"version":"00b469cba48c9d772a4555216d21ba41cdb5a732af797ccb57267344f4fc6c3d","impliedFormat":1},{"version":"2766bf77766c85c25ec31586823fefb48344e64556faad7e75a3363e517814f6","impliedFormat":1},{"version":"b7d1eaffd8003e8dc0ec275e58bd24c7b9a4dbae2a2d0d83cf248c88237262ce","impliedFormat":99},{"version":"7a8b08c0521c3a9e1db3c8b14f37e59d838fdc32389f1193b96630b435a8e64e","impliedFormat":99},{"version":"2e54848617fae9eb73654d9cf4295d99dab4b9c759934e5b82e2e57e6aaaef20","impliedFormat":99},{"version":"ae056b7c3f727d492166d4c1169d5905ddd194128a014b5d2d621248ed94b49c","impliedFormat":99},{"version":"edc5d99a04130f066f6e8d31c7c3f9ba4749496356470279408833b4faee3554","impliedFormat":99},{"version":"2f502ac2473a2bbf0d6217f9660e9d5bf40165a2f91067596323898c53dab87c","impliedFormat":99},{"version":"21f27a0c8bc8d9a4e2cf6d9c60140f8b071d0e1ffddb4b7dcf6bbf74d0e8d470","impliedFormat":99},{"version":"c9e304539f80684ca0ee5953ca409c0cd49d116c717852d84cc0e63680081188","impliedFormat":99},{"version":"3a09521d2ae02cc74e82ec9781f678c8c6d94667cd2c46bba5b7a2dd1cc676bf","impliedFormat":99},{"version":"0f38bcf19f105cd31ded5d46491ca50a46462c838816c358d445f41ac7a68f5a","impliedFormat":99},{"version":"a65fc667cd78d7cad733fab96f4bff3183c0dcbc15b083dce0055cffc5c64f9f","impliedFormat":99},{"version":"c735e27dfa775155120c50f714f594639dd7b6ad1878097feb005a0b5c59b7c2","impliedFormat":99},{"version":"f3dd541f4d87bba38dabf43fd06b7616c6f86b11608d30e61086ab39f84fa8d8","impliedFormat":99},{"version":"2e356d28181df929a42aa86371cebc835f75cf2b49fabf22833a6bdd489f75b2","impliedFormat":99},{"version":"a515b08047d24de84d89ad80b2843e565e65ed4a4e7cfc9707656470d7c555f9","impliedFormat":99},{"version":"cf43b2783a58e42fca6e45f0d47465b2ab855b7e9bea5ccb68447297df8aade5","impliedFormat":99},{"version":"03b0b1ee0f534f1878fccce9f381f4aef80c7053c4f8208aeade8d988941c6ba","impliedFormat":99},{"version":"e1876320803ff4fd56bba45662b541bce6775dd98962b2539ff3d68233608cee","impliedFormat":99},{"version":"c494bed4afeac874be01bfba3c581c1274e1a03d75d850ee311a933dffd6c692","impliedFormat":99},{"version":"d67fd6ea8cf37131627c7a9ae1de96d19d41cb32e741a475f0f56942576a7b3b","impliedFormat":99},{"version":"9b2f424a2c5c592d738100d898df3f9ee018bdd23a279f10849c3686abbec158","impliedFormat":99},{"version":"45a863abb109b97864039f30a93f6ad88584cdc0dd47a6f1b7bfacb0792bd3fe","impliedFormat":99},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"299fd0c281633d8dbfbe5f44c5f2850fe37392da6fd3b9cca3cb4e10cda16432","impliedFormat":1},{"version":"5af67564ca508c2f4d64e3c3643cc41660805e7bf94eaa80f916d3457b521765","impliedFormat":99},{"version":"a27851efcc9e35640e7a5827fc5377db85af3f2c2b53bd7e088d107b1014ad59","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"bddf45d00e2993e7194bb84cddf549c922b11687160a2caa6b3f6437ff6f8f04","signature":"4c5405dd999c31a09b02782d76235e37c8db4fb2c4de417b5e96f2f50a0077c8","impliedFormat":99},{"version":"a722a71d8f3cb0028857b12579c7eca55acc76bf34e5db7eaf6fe817b985f9c3","impliedFormat":1},{"version":"b124c0624b15412ace7d54644ade38d7a69db7e25488a1a4d2a8df6e11696538","impliedFormat":99},{"version":"625071b9b7582a8834e17db360681bc4ba0de00ca15ac0c58720dde09a576770","signature":"133aac3284e9fc16e16cd1d219993a1815d5e74780eb388ae07a53a91d0906ab","impliedFormat":99},{"version":"dc9b564597c84bf816801c8c124d0eae706470bd6e41852e0c552a45ef360a81","signature":"cd60bef35754062b9389702cf960f8bcf578a2e460788c6ccc29181355a4ddb7","impliedFormat":99}],"root":[[143,147],242,243,246,247],"options":{"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"jsx":2,"module":199,"outDir":"./","skipDefaultLibCheck":true,"skipLibCheck":true,"sourceMap":true,"target":8},"fileIdsList":[[50],[89],[90,95,124],[91,96,102,103,110,121,132],[91,92,102,110],[93,133],[94,95,103,111],[95,121,129],[96,98,102,110],[89,97],[98,99],[102],[100,102],[89,102],[102,103,104,121,132],[102,103,104,117,121,124],[87,90,137],[98,102,105,110,121,132],[102,103,105,106,110,121,129,132],[105,107,121,129,132],[50,51,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139],[102,108],[109,132,137],[98,102,110,121],[111],[112],[89,113],[110,111,114,131,137],[115],[116],[102,117,118],[117,119,133,135],[90,102,121,122,123,124],[90,121,123],[121,122],[124],[125],[121],[102,127,128],[127,128],[95,110,121,129],[130],[110,131],[90,105,116,132],[95,133],[121,134],[109,135],[136],[90,95,102,104,113,121,132,135,137],[121,138],[121,140,141],[150,186],[150,195],[150,189,195],[150,195,196],[150,188,189,190,191,192,193,194,196],[121,188,196,197,198,199,200,202,240],[150,188,198],[150,188,195,196,197],[150,162,175,176,187],[150,188,195,196,197,198],[150,188,194,195,196,198],[244],[180,181,185],[181],[180,181,182,183,184],[180,181],[180],[177,178,179],[177],[150],[149],[148],[150,154,155,156,157,158,159,160],[148,150],[150,153],[121,140,201],[151],[148,150,151,152,161],[150,175],[164],[163,164],[163],[163,164,165,167,168,171,172,173,174],[164,168],[163,164,165,167,168,169,170],[163,168],[168,172],[164,165,166],[165],[163,164,168],[60,64,132],[60,121,132],[55],[57,60,129,132],[110,129],[140],[55,140],[57,60,110,132],[52,53,56,59,90,102,121,132],[52,58],[79,80],[56,60,90,124,132,140],[90,140],[79,90,140],[54,55,140],[60],[54,55,56,57,58,59,60,61,62,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,85,86],[60,67,68],[58,60,68,69],[59],[52,55,60],[60,64,68,69],[64],[58,60,63,132],[52,57,60,67],[90,121],[52,57,60,67,74],[55,60,79,90,137,140],[239],[132,211,215],[121,132,211],[206],[129,132,208,211],[140,206],[110,132,208,211],[90,102,121,132,203,204,207,210],[211,218],[203,209],[211,232,233],[90,124,132,140,207,211],[90,140,232],[140,205,206],[211],[205,206,207,208,209,210,211,212,213,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,233,234,235,236,237,238],[211,226],[211,218,219],[209,211,219,220],[210],[203,206,211],[211,215,219,220],[215],[132,209,211,214],[203,208,211,218],[90,137,140,206,211,232],[143,147,242],[146,245],[103,112,132,144],[142],[91,112,143,145,146],[91,104,112,143,145,146,241],[103,104,112],[103,104,112,144]],"referencedMap":[[50,1],[51,1],[89,2],[90,3],[91,4],[92,5],[93,6],[94,7],[95,8],[96,9],[97,10],[98,11],[99,11],[101,12],[100,13],[102,14],[103,15],[104,16],[88,17],[105,18],[106,19],[107,20],[140,21],[108,22],[109,23],[110,24],[111,25],[112,26],[113,27],[114,28],[115,29],[116,30],[117,31],[118,31],[119,32],[121,33],[123,34],[122,35],[124,36],[125,37],[126,38],[127,39],[128,40],[129,41],[130,42],[131,43],[132,44],[133,45],[134,46],[135,47],[136,48],[137,49],[138,50],[142,51],[187,52],[189,53],[192,53],[194,54],[193,53],[191,55],[190,55],[195,56],[241,57],[199,58],[198,59],[188,60],[200,61],[197,62],[196,53],[245,63],[186,64],[182,65],[185,66],[183,67],[181,68],[180,69],[178,70],[179,70],[153,71],[150,72],[149,73],[160,71],[159,71],[161,74],[158,75],[156,71],[157,71],[154,76],[155,71],[202,77],[152,78],[162,79],[176,80],[165,81],[174,82],[164,83],[175,84],[170,85],[171,86],[169,87],[173,88],[167,89],[166,90],[172,91],[168,82],[67,92],[76,93],[66,92],[85,94],[58,95],[57,96],[84,97],[78,98],[83,99],[60,100],[59,101],[81,102],[55,103],[54,104],[82,105],[56,106],[61,107],[65,107],[87,108],[86,107],[69,109],[70,110],[72,111],[68,112],[71,113],[79,97],[63,114],[64,115],[73,116],[53,117],[75,118],[74,107],[80,119],[240,120],[218,121],[228,122],[217,121],[238,123],[209,124],[208,96],[237,97],[231,125],[236,126],[211,127],[225,128],[210,129],[234,130],[206,131],[205,104],[235,132],[207,133],[212,134],[216,134],[239,135],[229,136],[220,137],[221,138],[223,139],[219,140],[222,141],[232,97],[214,142],[215,143],[224,144],[204,117],[227,136],[226,134],[233,145],[243,146],[246,147],[146,148],[143,149],[147,150],[242,151],[144,152],[145,153]]},"version":"5.5.4"}
package/index.js ADDED
@@ -0,0 +1 @@
1
+ import "./dist/App.js";
package/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "@positron-js/cli",
3
+ "version": "1.0.3",
4
+ "description": "Generate Code to create MAUI based Web View App",
5
+ "main": "index.js",
6
+ "type": "module",
7
+ "scripts": {
8
+ "test": "echo \"Error: no test specified\" && exit 0",
9
+ "postversion": "git push --follow-tags"
10
+ },
11
+ "author": "",
12
+ "license": "MIT",
13
+ "dependencies": {
14
+ "@neurospeech/jex": "^1.0.103",
15
+ "cheerio": "^1.0.0",
16
+ "commander": "^12.1.0",
17
+ "prompts": "^2.4.2"
18
+ },
19
+ "devDependencies": {
20
+ "@types/node": "^22.1.0",
21
+ "@types/prompts": "^2.4.9"
22
+ }
23
+ }
package/src/App.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { cli } from "./cli.js";
2
+ import "./commands/init/init.js";
3
+ import "./commands/sync/sync.js";
4
+ cli.execute(process.argv);
@@ -0,0 +1,9 @@
1
+ import { Command } from "commander";
2
+ import { AppInfo } from "./AppInfo.js";
3
+
4
+ export const AppCommands = new Command();
5
+
6
+ AppCommands
7
+ .name("@dot-web-shell/cli")
8
+ .description("CLI to create default dot web shell app.")
9
+ .version(AppInfo.version);
package/src/AppInfo.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { readFileSync } from "fs";
2
+ import { dirname, join } from "path";
3
+ import { fileURLToPath } from "url";
4
+ import LocalFile from "./core/LocalFile.js";
5
+
6
+
7
+ const dir = dirname(fileURLToPath(import.meta.url));
8
+ export const packagePath = join(dir, "..");
9
+ const packageFile = join(packagePath, "package.json");
10
+ export const AppInfo = JSON.parse(readFileSync(packageFile, "utf8"));
11
+
12
+ export const packageContentFile = (path: string) => new LocalFile(join(packagePath, path));
package/src/cli.ts ADDED
@@ -0,0 +1,202 @@
1
+ import prompts from "prompts";
2
+
3
+ export interface ICommandOption {
4
+ required?: boolean;
5
+ /** -- will be prefixed automatically */
6
+ option: string;
7
+ description?: string;
8
+ /** - will be prefixed automatically */
9
+ short?: string;
10
+ defaultValue?: any;
11
+ prompt?: string;
12
+ }
13
+
14
+ export default interface ICommand {
15
+ name: string;
16
+ description?: string;
17
+ options: ICommandOption[];
18
+ execute: (command, options) => void | Promise<void>;
19
+ }
20
+
21
+ class Command {
22
+
23
+ public readonly cmd: ICommand = { name: "", options: [], execute: () => { throw new Error("Execute not defined") }};
24
+
25
+ constructor(name) {
26
+ this.cmd.name = name;
27
+ }
28
+
29
+ async executeCommand(options: string[]) {
30
+ const received = {}
31
+ for (const element of options) {
32
+ if (!element.startsWith("--")) {
33
+ continue;
34
+ }
35
+ let option = element.substring(2);
36
+ const index = option.indexOf("=");
37
+ let value = "";
38
+ if (index !== -1) {
39
+ value = option.substring(index + 1);
40
+ option = option.substring(0, index);
41
+ }
42
+ received[option] = value;
43
+ }
44
+
45
+ for (const element of this.cmd.options) {
46
+ let { option } = element;
47
+ if (option.startsWith("--")) {
48
+ option = option.substring(2);
49
+ }
50
+ if (received[option]) {
51
+ continue;
52
+ }
53
+
54
+ if (element.defaultValue) {
55
+ received[option] = element.defaultValue;
56
+ }
57
+
58
+ if (element.required) {
59
+ // prompt...
60
+ while (true) {
61
+ const text = await prompts({
62
+ message: element.prompt || element.option,
63
+ name: "value",
64
+ type: "text",
65
+ });
66
+ if (!text.value) {
67
+ continue;
68
+ }
69
+ received[option] = text.value;
70
+ break;
71
+ }
72
+ }
73
+ }
74
+
75
+ await this.cmd.execute(this.cmd.name, received);
76
+ }
77
+
78
+ description(description: string) {
79
+ this.cmd.description = description;
80
+ return this;
81
+ }
82
+
83
+ execute(fx: ((command: any, options: any) => void | Promise<void>)) {
84
+ this.cmd.execute = fx;
85
+ return this;
86
+ }
87
+
88
+ flag(option: string, description: string, ) {
89
+ this.cmd.options.push({
90
+ option,
91
+ description
92
+ })
93
+ return this;
94
+ }
95
+
96
+ prompt(option: string, prompt: string, defaultValue?: string, description?: string, ) {
97
+ this.cmd.options.push({
98
+ option,
99
+ prompt,
100
+ defaultValue,
101
+ description
102
+ })
103
+ return this;
104
+ }
105
+
106
+ requiredOption(option: string, prompt: string, description?: string, ) {
107
+ this.cmd.options.push({
108
+ option,
109
+ prompt,
110
+ required: true,
111
+ description
112
+ })
113
+ return this;
114
+ }
115
+
116
+ toDetailedString() {
117
+ let options = this.cmd.options.length ? "\nOptions:" : "";
118
+ for (const i of this.cmd.options) {
119
+ let option = `\n\t--${i.option}`;
120
+ if (i.prompt) {
121
+ option += `=${i.prompt}\t\t${i.description ?? ""}`;
122
+ }
123
+ options += `${option}`;
124
+ }
125
+ if (this.cmd.description) {
126
+ return `${this.cmd.name}\n\t${this.cmd.description}${options}\t${this.cmd.description}\n\n`;
127
+ }
128
+ return `${this.cmd.name} ${options}\n\n`;
129
+ }
130
+
131
+ toString() {
132
+ return `${this.cmd.name} [options]`;
133
+ }
134
+ }
135
+
136
+ export class CLI {
137
+
138
+ name = "CLI Name";
139
+
140
+ description = "CLI Description";
141
+
142
+ commands = [] as Command[];
143
+
144
+ async execute(argv = process.argv) {
145
+
146
+ if (argv.length <= 2) {
147
+ for (const element of this.commands) {
148
+ console.log(element.toString());
149
+ }
150
+ process.exit(0);
151
+ return;
152
+ }
153
+
154
+ try {
155
+
156
+ const [program, script, command, ... options] = argv;
157
+
158
+ if (/^help$/i.test(command)) {
159
+ if (options.length) {
160
+ const cmd = this.findCommand(options[0]);
161
+ console.log(cmd.toDetailedString());
162
+ return;
163
+ }
164
+ for (const element of this.commands) {
165
+ console.log(element.toDetailedString());
166
+ }
167
+ return;
168
+ }
169
+
170
+ const c = this.findCommand(command);
171
+
172
+ await c.executeCommand(options);
173
+
174
+ process.exit(0);
175
+ return;
176
+ } catch (error) {
177
+ console.error(error);
178
+ process.exit(1);
179
+ return;
180
+ }
181
+
182
+
183
+ }
184
+
185
+ findCommand(name: string) {
186
+ for (const element of this.commands) {
187
+ if (name === element.cmd.name) {
188
+ return element;
189
+ }
190
+ }
191
+ console.error(`Command ${name} not found`);
192
+ }
193
+
194
+ command(name: string) {
195
+ const cmd = new Command(name);
196
+ this.commands.push(cmd);
197
+ return cmd;
198
+ }
199
+
200
+ }
201
+
202
+ export let cli = new CLI();
@@ -0,0 +1,40 @@
1
+ import { cwd } from "../../cwd/cwd.js";
2
+ import { cli } from "../../cli.js";
3
+ import { AppInfo, packageContentFile, packagePath } from "../../AppInfo.js";
4
+ import { spawnSync } from "child_process";
5
+ import { join } from "path";
6
+
7
+
8
+ cli
9
+ .command("init")
10
+ .execute( async (command, options) => {
11
+
12
+ // update package.json
13
+
14
+ const pkg = await cwd.readJson("package.json");
15
+ pkg.dependencies ??= {};
16
+ pkg.devDependencies ??= {};
17
+ pkg.devDependencies["@dot-web-shell/cli"] = "^" + AppInfo.version;
18
+ pkg.dependencies["@neurospeech/jex"] = AppInfo.dependencies["@neurospeech/jex"];
19
+ pkg.scripts ??= {};
20
+ pkg.scripts.postversion = "git push --follow-tags";
21
+
22
+ await cwd.writeFile("package.json", JSON.stringify(pkg, void 0, 4));
23
+
24
+ // run npm install....
25
+ spawnSync("npm", ["install"]);
26
+
27
+ const contentAppFolder = join(packagePath, "content", "app");
28
+
29
+ if (!cwd.exists("maui")) {
30
+
31
+ await cwd.copyFolder(contentAppFolder, "maui", {});
32
+
33
+ }
34
+
35
+ await cwd.createTextFileIfNotExists("build-android.config.js", await packageContentFile("build-android.config.js").readFile())
36
+ await cwd.createTextFileIfNotExists("build-ios.config.js", await packageContentFile("build-ios.config.js").readFile())
37
+
38
+ await packageContentFile("build-android.jsx").copyTo("build-android.jsx");
39
+ await packageContentFile("build-ios.jsx").copyTo("build-ios.jsx");
40
+ });
@@ -0,0 +1,83 @@
1
+ import { join } from "path";
2
+ import { AppInfo, packagePath } from "../../AppInfo.js";
3
+ import { cli } from "../../cli.js";
4
+ import { cwd } from "../../cwd/cwd.js";
5
+ import { copyFile, readFile, writeFile } from "fs/promises";
6
+ import { spawn, spawnSync } from "child_process";
7
+ import * as cheerio from "cheerio";
8
+
9
+ cli
10
+ .command("sync")
11
+ .description("Generate the Mobile App Source Code for the App, Warning, this will override existing files")
12
+ .execute(async (command, options) => {
13
+ const contentAppFolder = join(packagePath, "content", "app");
14
+
15
+ if (!cwd.exists("maui")) {
16
+
17
+ await cwd.copyFolder(contentAppFolder, "maui", {});
18
+
19
+ }
20
+
21
+ const setupFile = join(packagePath, "setup-build.mjs");
22
+
23
+ const destSetupFile = cwd.file("setup-build.mjs");
24
+ await copyFile(setupFile, destSetupFile.path);
25
+
26
+ const pkgFile = cwd.file("package.json");
27
+
28
+ const pkg = await pkgFile.readJson();
29
+
30
+ pkg.devDependencies ??= {};
31
+ pkg.devDependencies["@dot-web-shell/cli"] = "^" + AppInfo.version;
32
+ pkg.scripts ??= {};
33
+ pkg.scripts.sync = "node ./node_modules/@dot-web-shell/cli sync";
34
+ pkg.scripts.postversion = "npm run sync && git push --follow-tags";
35
+ pkg.scripts.build = "node ./setup-build.mjs";
36
+
37
+ await pkgFile.writeJson(pkg);
38
+
39
+
40
+ const dotConfig = cwd.file("dot-web-shell.config.json");
41
+
42
+ const config = await dotConfig.readJson();
43
+ const tokens = pkg.version.split(".");
44
+ tokens.pop();
45
+ config.version = tokens.join(".");
46
+ config.buildNumber ??= 1;
47
+ config.buildNumber = (parseInt(config.buildNumber, 10) + 1).toString();
48
+
49
+ await dotConfig.writeJson(config);
50
+
51
+ // update relevant files...
52
+ await updateProjectFile(config);
53
+
54
+ await updateConfigUrl(config);
55
+
56
+ spawnSync("git",["add","-A"]);
57
+ spawnSync("git",["commit","-m", `Build Updated to ${config.buildNumber}`]);
58
+
59
+
60
+ });
61
+
62
+
63
+ async function updateProjectFile(config: any) {
64
+ const projectFile = cwd.file("maui/PositronApp/PositronApp.csproj");
65
+ const $ = cheerio.load(await projectFile.readFile("utf8"), {
66
+ xmlMode: true,
67
+ xml: {
68
+ xmlMode: true,
69
+ decodeEntities: false
70
+ }
71
+ });
72
+ $("Project > PropertyGroup > ApplicationDisplayVersion").text(config.version);
73
+ $("Project > PropertyGroup > ApplicationVersion").text(config.buildNumber);
74
+ await projectFile.writeFile( $.xml(), "utf8");
75
+ }
76
+
77
+ async function updateConfigUrl(config: any) {
78
+ const appSettingsFile = cwd.file("maui/PositronApp/appsettings.json");
79
+ const appSettings = await appSettingsFile.readJson();
80
+ appSettings.App.Url = config.url;
81
+ await appSettingsFile.writeJson(appSettings);
82
+ }
83
+
@@ -0,0 +1,59 @@
1
+ import { existsSync, readdirSync } from "fs";
2
+ import { copyFile, readFile, writeFile } from "fs/promises";
3
+ import { join, parse } from "path";
4
+
5
+ export default class LocalFile {
6
+
7
+ static *readDir(src: string): Generator<LocalFile> {
8
+ for (const d of readdirSync(src, { withFileTypes: true })) {
9
+ const c = join(src,d.name);
10
+ if (d.isDirectory()) {
11
+ yield *LocalFile.readDir(c);
12
+ continue;
13
+ }
14
+ yield new LocalFile(c);
15
+ }
16
+
17
+ }
18
+
19
+ readonly dir: string;
20
+ readonly ext: string;
21
+ readonly name: string;
22
+ readonly onlyName: string;
23
+
24
+ constructor(public readonly path) {
25
+ const { dir, ext , base, name} = parse(this.path);
26
+
27
+ this.dir = dir;
28
+ this.ext = ext;
29
+ this.name = base;
30
+ this.onlyName = name;
31
+ }
32
+
33
+ exists() {
34
+ return existsSync(this.path);
35
+ }
36
+
37
+ writeFile(content: Buffer | string, encoding?: BufferEncoding) {
38
+ return writeFile(this.path, content, encoding);
39
+ }
40
+
41
+ readFile(): Promise<Buffer>;
42
+ readFile(encoding: BufferEncoding): Promise<string>;
43
+ readFile(encoding?: any): any {
44
+ return readFile(this.path, encoding);
45
+ }
46
+
47
+ async readJson() {
48
+ return JSON.parse(await this.readFile("utf8"));
49
+ }
50
+
51
+ async writeJson(json) {
52
+ return this.writeFile(JSON.stringify(json, void 0, 4));
53
+ }
54
+
55
+ async copyTo(dest: string) {
56
+ await copyFile(this.path, dest);
57
+ }
58
+
59
+ }