@underpostnet/underpost 2.7.82

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 (290) hide show
  1. package/.dockerignore +14 -0
  2. package/.env.development +6 -0
  3. package/.env.production +6 -0
  4. package/.env.test +6 -0
  5. package/.github/workflows/ghpkg.yml +75 -0
  6. package/.github/workflows/publish.yml +84 -0
  7. package/.github/workflows/pwa-microservices-template.test.yml +30 -0
  8. package/.nycrc +9 -0
  9. package/.prettierignore +13 -0
  10. package/.prettierrc +9 -0
  11. package/.vscode/extensions.json +72 -0
  12. package/.vscode/settings.json +100 -0
  13. package/AUTHORS.md +10 -0
  14. package/CHANGELOG.md +37 -0
  15. package/Dockerfile +90 -0
  16. package/LICENSE +21 -0
  17. package/README.md +96 -0
  18. package/bin/db.js +172 -0
  19. package/bin/deploy.js +674 -0
  20. package/bin/file.js +93 -0
  21. package/bin/index.js +82 -0
  22. package/bin/ssl.js +55 -0
  23. package/bin/util.js +182 -0
  24. package/bin/vs.js +35 -0
  25. package/conf.js +251 -0
  26. package/docker-compose.yml +67 -0
  27. package/jsconfig.json +7 -0
  28. package/jsdoc.json +32 -0
  29. package/nodemon.json +6 -0
  30. package/package.json +134 -0
  31. package/prometheus.yml +36 -0
  32. package/src/api/core/core.controller.js +69 -0
  33. package/src/api/core/core.model.js +11 -0
  34. package/src/api/core/core.router.js +23 -0
  35. package/src/api/core/core.service.js +29 -0
  36. package/src/api/crypto/crypto.controller.js +51 -0
  37. package/src/api/crypto/crypto.model.js +23 -0
  38. package/src/api/crypto/crypto.router.js +20 -0
  39. package/src/api/crypto/crypto.service.js +64 -0
  40. package/src/api/default/default.controller.js +69 -0
  41. package/src/api/default/default.model.js +20 -0
  42. package/src/api/default/default.router.js +23 -0
  43. package/src/api/default/default.service.js +31 -0
  44. package/src/api/file/file.controller.js +53 -0
  45. package/src/api/file/file.model.js +19 -0
  46. package/src/api/file/file.router.js +21 -0
  47. package/src/api/file/file.service.js +80 -0
  48. package/src/api/instance/instance.controller.js +69 -0
  49. package/src/api/instance/instance.model.js +36 -0
  50. package/src/api/instance/instance.router.js +33 -0
  51. package/src/api/instance/instance.service.js +48 -0
  52. package/src/api/test/test.controller.js +59 -0
  53. package/src/api/test/test.model.js +14 -0
  54. package/src/api/test/test.router.js +21 -0
  55. package/src/api/test/test.service.js +35 -0
  56. package/src/api/user/user.build.js +16 -0
  57. package/src/api/user/user.controller.js +70 -0
  58. package/src/api/user/user.model.js +65 -0
  59. package/src/api/user/user.router.js +345 -0
  60. package/src/api/user/user.service.js +479 -0
  61. package/src/api.js +23 -0
  62. package/src/client/Default.index.js +40 -0
  63. package/src/client/components/core/Account.js +290 -0
  64. package/src/client/components/core/AgGrid.js +160 -0
  65. package/src/client/components/core/Auth.js +19 -0
  66. package/src/client/components/core/Badge.js +32 -0
  67. package/src/client/components/core/Blockchain.js +41 -0
  68. package/src/client/components/core/Blog.js +9 -0
  69. package/src/client/components/core/BtnIcon.js +101 -0
  70. package/src/client/components/core/CalendarCore.js +458 -0
  71. package/src/client/components/core/Chat.js +64 -0
  72. package/src/client/components/core/ColorPalette.js +5267 -0
  73. package/src/client/components/core/CommonJs.js +742 -0
  74. package/src/client/components/core/Content.js +193 -0
  75. package/src/client/components/core/Css.js +846 -0
  76. package/src/client/components/core/CssCore.js +817 -0
  77. package/src/client/components/core/D3Chart.js +44 -0
  78. package/src/client/components/core/Docs.js +231 -0
  79. package/src/client/components/core/DropDown.js +164 -0
  80. package/src/client/components/core/EventsUI.js +46 -0
  81. package/src/client/components/core/FileExplorer.js +699 -0
  82. package/src/client/components/core/FullScreen.js +45 -0
  83. package/src/client/components/core/Input.js +346 -0
  84. package/src/client/components/core/JoyStick.js +77 -0
  85. package/src/client/components/core/Keyboard.js +73 -0
  86. package/src/client/components/core/LoadingAnimation.js +178 -0
  87. package/src/client/components/core/LogIn.js +187 -0
  88. package/src/client/components/core/LogOut.js +58 -0
  89. package/src/client/components/core/Logger.js +26 -0
  90. package/src/client/components/core/Modal.js +1612 -0
  91. package/src/client/components/core/NotificationManager.js +84 -0
  92. package/src/client/components/core/Panel.js +613 -0
  93. package/src/client/components/core/PanelForm.js +468 -0
  94. package/src/client/components/core/Polyhedron.js +162 -0
  95. package/src/client/components/core/Recover.js +204 -0
  96. package/src/client/components/core/Responsive.js +53 -0
  97. package/src/client/components/core/RichText.js +51 -0
  98. package/src/client/components/core/Router.js +76 -0
  99. package/src/client/components/core/Scroll.js +34 -0
  100. package/src/client/components/core/SignUp.js +125 -0
  101. package/src/client/components/core/SocketIo.js +72 -0
  102. package/src/client/components/core/Stream.js +113 -0
  103. package/src/client/components/core/ToggleSwitch.js +87 -0
  104. package/src/client/components/core/ToolTip.js +26 -0
  105. package/src/client/components/core/Translate.js +446 -0
  106. package/src/client/components/core/Validator.js +100 -0
  107. package/src/client/components/core/VanillaJs.js +463 -0
  108. package/src/client/components/core/Wallet.js +106 -0
  109. package/src/client/components/core/Webhook.js +25 -0
  110. package/src/client/components/core/Worker.js +282 -0
  111. package/src/client/components/default/CommonDefault.js +29 -0
  112. package/src/client/components/default/CssDefault.js +13 -0
  113. package/src/client/components/default/ElementsDefault.js +38 -0
  114. package/src/client/components/default/LogInDefault.js +41 -0
  115. package/src/client/components/default/LogOutDefault.js +28 -0
  116. package/src/client/components/default/MenuDefault.js +389 -0
  117. package/src/client/components/default/RoutesDefault.js +48 -0
  118. package/src/client/components/default/SettingsDefault.js +16 -0
  119. package/src/client/components/default/SignUpDefault.js +9 -0
  120. package/src/client/components/default/SocketIoDefault.js +54 -0
  121. package/src/client/components/default/TranslateDefault.js +7 -0
  122. package/src/client/public/default/android-chrome-144x144.png +0 -0
  123. package/src/client/public/default/android-chrome-192x192.png +0 -0
  124. package/src/client/public/default/android-chrome-256x256.png +0 -0
  125. package/src/client/public/default/android-chrome-36x36.png +0 -0
  126. package/src/client/public/default/android-chrome-384x384.png +0 -0
  127. package/src/client/public/default/android-chrome-48x48.png +0 -0
  128. package/src/client/public/default/android-chrome-512x512.png +0 -0
  129. package/src/client/public/default/android-chrome-72x72.png +0 -0
  130. package/src/client/public/default/android-chrome-96x96.png +0 -0
  131. package/src/client/public/default/apple-touch-icon-1024x1024.png +0 -0
  132. package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
  133. package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
  134. package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
  135. package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
  136. package/src/client/public/default/apple-touch-icon-167x167.png +0 -0
  137. package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
  138. package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
  139. package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
  140. package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
  141. package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
  142. package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
  143. package/src/client/public/default/apple-touch-icon.png +0 -0
  144. package/src/client/public/default/apple-touch-startup-image-1125x2436.png +0 -0
  145. package/src/client/public/default/apple-touch-startup-image-1136x640.png +0 -0
  146. package/src/client/public/default/apple-touch-startup-image-1170x2532.png +0 -0
  147. package/src/client/public/default/apple-touch-startup-image-1179x2556.png +0 -0
  148. package/src/client/public/default/apple-touch-startup-image-1242x2208.png +0 -0
  149. package/src/client/public/default/apple-touch-startup-image-1242x2688.png +0 -0
  150. package/src/client/public/default/apple-touch-startup-image-1284x2778.png +0 -0
  151. package/src/client/public/default/apple-touch-startup-image-1290x2796.png +0 -0
  152. package/src/client/public/default/apple-touch-startup-image-1334x750.png +0 -0
  153. package/src/client/public/default/apple-touch-startup-image-1488x2266.png +0 -0
  154. package/src/client/public/default/apple-touch-startup-image-1536x2048.png +0 -0
  155. package/src/client/public/default/apple-touch-startup-image-1620x2160.png +0 -0
  156. package/src/client/public/default/apple-touch-startup-image-1640x2160.png +0 -0
  157. package/src/client/public/default/apple-touch-startup-image-1668x2224.png +0 -0
  158. package/src/client/public/default/apple-touch-startup-image-1668x2388.png +0 -0
  159. package/src/client/public/default/apple-touch-startup-image-1792x828.png +0 -0
  160. package/src/client/public/default/apple-touch-startup-image-2048x1536.png +0 -0
  161. package/src/client/public/default/apple-touch-startup-image-2048x2732.png +0 -0
  162. package/src/client/public/default/apple-touch-startup-image-2160x1620.png +0 -0
  163. package/src/client/public/default/apple-touch-startup-image-2160x1640.png +0 -0
  164. package/src/client/public/default/apple-touch-startup-image-2208x1242.png +0 -0
  165. package/src/client/public/default/apple-touch-startup-image-2224x1668.png +0 -0
  166. package/src/client/public/default/apple-touch-startup-image-2266x1488.png +0 -0
  167. package/src/client/public/default/apple-touch-startup-image-2388x1668.png +0 -0
  168. package/src/client/public/default/apple-touch-startup-image-2436x1125.png +0 -0
  169. package/src/client/public/default/apple-touch-startup-image-2532x1170.png +0 -0
  170. package/src/client/public/default/apple-touch-startup-image-2556x1179.png +0 -0
  171. package/src/client/public/default/apple-touch-startup-image-2688x1242.png +0 -0
  172. package/src/client/public/default/apple-touch-startup-image-2732x2048.png +0 -0
  173. package/src/client/public/default/apple-touch-startup-image-2778x1284.png +0 -0
  174. package/src/client/public/default/apple-touch-startup-image-2796x1290.png +0 -0
  175. package/src/client/public/default/apple-touch-startup-image-640x1136.png +0 -0
  176. package/src/client/public/default/apple-touch-startup-image-750x1334.png +0 -0
  177. package/src/client/public/default/apple-touch-startup-image-828x1792.png +0 -0
  178. package/src/client/public/default/assets/background/white.jpg +0 -0
  179. package/src/client/public/default/assets/background/white0-min.jpg +0 -0
  180. package/src/client/public/default/assets/background/white0.jpg +0 -0
  181. package/src/client/public/default/assets/logo/base-icon.png +0 -0
  182. package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
  183. package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
  184. package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
  185. package/src/client/public/default/browserconfig.xml +12 -0
  186. package/src/client/public/default/favicon-16x16.png +0 -0
  187. package/src/client/public/default/favicon-32x32.png +0 -0
  188. package/src/client/public/default/favicon-48x48.png +0 -0
  189. package/src/client/public/default/favicon.ico +0 -0
  190. package/src/client/public/default/manifest.webmanifest +69 -0
  191. package/src/client/public/default/mstile-144x144.png +0 -0
  192. package/src/client/public/default/mstile-150x150.png +0 -0
  193. package/src/client/public/default/mstile-310x150.png +0 -0
  194. package/src/client/public/default/mstile-310x310.png +0 -0
  195. package/src/client/public/default/mstile-70x70.png +0 -0
  196. package/src/client/public/default/plantuml/client-conf.svg +1 -0
  197. package/src/client/public/default/plantuml/client-schema.svg +1 -0
  198. package/src/client/public/default/plantuml/cron-conf.svg +1 -0
  199. package/src/client/public/default/plantuml/cron-schema.svg +1 -0
  200. package/src/client/public/default/plantuml/server-conf.svg +1 -0
  201. package/src/client/public/default/plantuml/server-schema.svg +1 -0
  202. package/src/client/public/default/plantuml/ssr-conf.svg +1 -0
  203. package/src/client/public/default/plantuml/ssr-schema.svg +1 -0
  204. package/src/client/public/default/sitemap +148 -0
  205. package/src/client/public/default/yandex-browser-50x50.png +0 -0
  206. package/src/client/public/default/yandex-browser-manifest.json +9 -0
  207. package/src/client/public/doc/favicon.ico +0 -0
  208. package/src/client/public/doc/sitemap +148 -0
  209. package/src/client/public/test/favicon.ico +0 -0
  210. package/src/client/public/test/sitemap +148 -0
  211. package/src/client/services/core/core.service.js +170 -0
  212. package/src/client/services/crypto/crypto.service.js +70 -0
  213. package/src/client/services/default/default.management.js +343 -0
  214. package/src/client/services/default/default.service.js +89 -0
  215. package/src/client/services/file/file.service.js +70 -0
  216. package/src/client/services/instance/instance.management.js +74 -0
  217. package/src/client/services/instance/instance.service.js +89 -0
  218. package/src/client/services/test/test.service.js +70 -0
  219. package/src/client/services/user/user.management.js +50 -0
  220. package/src/client/services/user/user.service.js +89 -0
  221. package/src/client/ssr/Render.js +237 -0
  222. package/src/client/ssr/common/Alert.js +75 -0
  223. package/src/client/ssr/common/SsrCore.js +91 -0
  224. package/src/client/ssr/common/Translate.js +26 -0
  225. package/src/client/ssr/common/Worker.js +28 -0
  226. package/src/client/ssr/components/body/CacheControl.js +114 -0
  227. package/src/client/ssr/components/body/DefaultSplashScreen.js +90 -0
  228. package/src/client/ssr/components/email/DefaultRecoverEmail.js +21 -0
  229. package/src/client/ssr/components/email/DefaultVerifyEmail.js +17 -0
  230. package/src/client/ssr/components/head/Css.js +241 -0
  231. package/src/client/ssr/components/head/DefaultScripts.js +3 -0
  232. package/src/client/ssr/components/head/PwaDefault.js +60 -0
  233. package/src/client/ssr/offline/default.index.js +31 -0
  234. package/src/client/ssr/pages/404.js +12 -0
  235. package/src/client/ssr/pages/500.js +12 -0
  236. package/src/client/sw/default.sw.js +203 -0
  237. package/src/client/sw/template.sw.js +84 -0
  238. package/src/client.build.js +22 -0
  239. package/src/client.dev.js +21 -0
  240. package/src/cron.js +30 -0
  241. package/src/db/DataBaseProvider.js +34 -0
  242. package/src/db/mariadb/MariaDB.js +33 -0
  243. package/src/db/mongo/MongooseDB.js +125 -0
  244. package/src/dns.js +22 -0
  245. package/src/index.js +43 -0
  246. package/src/mailer/EmailRender.js +69 -0
  247. package/src/mailer/MailerProvider.js +96 -0
  248. package/src/proxy.js +22 -0
  249. package/src/runtime/lampp/Lampp.js +115 -0
  250. package/src/runtime/nginx/Nginx.js +3 -0
  251. package/src/runtime/xampp/Xampp.js +49 -0
  252. package/src/server/auth.js +235 -0
  253. package/src/server/backup.js +108 -0
  254. package/src/server/client-build-live.js +98 -0
  255. package/src/server/client-build.js +821 -0
  256. package/src/server/client-dev-server.js +60 -0
  257. package/src/server/client-formatted.js +58 -0
  258. package/src/server/client-icons.js +151 -0
  259. package/src/server/conf.js +883 -0
  260. package/src/server/cron.js +35 -0
  261. package/src/server/dns.js +89 -0
  262. package/src/server/downloader.js +42 -0
  263. package/src/server/logger.js +190 -0
  264. package/src/server/network.js +122 -0
  265. package/src/server/peer.js +33 -0
  266. package/src/server/process.js +66 -0
  267. package/src/server/prompt-optimizer.js +28 -0
  268. package/src/server/proxy.js +118 -0
  269. package/src/server/runtime.js +461 -0
  270. package/src/server/ssl.js +120 -0
  271. package/src/server.js +25 -0
  272. package/src/ws/IoInterface.js +45 -0
  273. package/src/ws/IoServer.js +39 -0
  274. package/src/ws/core/channels/core.ws.chat.js +23 -0
  275. package/src/ws/core/channels/core.ws.mailer.js +35 -0
  276. package/src/ws/core/channels/core.ws.stream.js +31 -0
  277. package/src/ws/core/core.ws.connection.js +28 -0
  278. package/src/ws/core/core.ws.emit.js +14 -0
  279. package/src/ws/core/core.ws.server.js +24 -0
  280. package/src/ws/core/management/core.ws.chat.js +8 -0
  281. package/src/ws/core/management/core.ws.mailer.js +16 -0
  282. package/src/ws/core/management/core.ws.stream.js +8 -0
  283. package/src/ws/default/channels/default.ws.main.js +16 -0
  284. package/src/ws/default/default.ws.connection.js +22 -0
  285. package/src/ws/default/default.ws.emit.js +14 -0
  286. package/src/ws/default/default.ws.server.js +20 -0
  287. package/src/ws/default/management/default.ws.main.js +8 -0
  288. package/startup.js +11 -0
  289. package/supervisord-openssh-server.conf +5 -0
  290. package/test/api.test.js +60 -0
package/.dockerignore ADDED
@@ -0,0 +1,14 @@
1
+ /node_modules
2
+ /public
3
+ /engine-private
4
+ /conf
5
+ /tmp
6
+ /bkt
7
+ /logs
8
+ /build
9
+ /.env
10
+ /coverage
11
+ /prometheus_data
12
+ /grafana_data
13
+ .nyc_output
14
+ .cache
@@ -0,0 +1,6 @@
1
+ NODE_ENV=development
2
+ PORT=4000
3
+ JWT_SECRET=test
4
+ EXPIRE=168
5
+ NODE_OPTIONS=--max-old-space-size=8192
6
+ BASE_API=api
@@ -0,0 +1,6 @@
1
+ NODE_ENV=production
2
+ PORT=3000
3
+ JWT_SECRET=test
4
+ EXPIRE=168
5
+ NODE_OPTIONS=--max-old-space-size=8192
6
+ BASE_API=api
package/.env.test ADDED
@@ -0,0 +1,6 @@
1
+ NODE_ENV=test
2
+ PORT=5000
3
+ JWT_SECRET=test
4
+ EXPIRE=168
5
+ NODE_OPTIONS=--max-old-space-size=8192
6
+ BASE_API=api
@@ -0,0 +1,75 @@
1
+ name: Update github repo package
2
+ on:
3
+ push:
4
+ branches: ['master']
5
+ pull_request:
6
+ branches: ['master']
7
+ permissions:
8
+ contents: write
9
+ packages: write
10
+ id-token: write
11
+ jobs:
12
+ test:
13
+ if: github.repository == 'underpostnet/pwa-microservices-template'
14
+ name: Update github repo package Jobs
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ contents: write
18
+ packages: write
19
+ id-token: write
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - uses: actions/setup-node@v4
23
+ with:
24
+ node-version: '22.x'
25
+
26
+ # - name: Get npm root
27
+ # run: sudo npm root -g
28
+
29
+ # - run: npm ci
30
+
31
+ # - name: Install underpost cli
32
+ # run: sudo npm install -g underpost
33
+
34
+ # usage: git remote set-url [--push] <name> <newurl> [<oldurl>]
35
+ # or: git remote set-url --add <name> <newurl>
36
+ # or: git remote set-url --delete <name> <url>
37
+ # --[no-]push manipulate push URLs
38
+ # --[no-]add add URL
39
+ # --[no-]delete delete URLs
40
+
41
+ - name: Install dependencies and set repo configuration
42
+ run: |
43
+ npm install
44
+ node ./bin/deploy rename-package @underpostnet/underpost
45
+ node ./bin/deploy set-repo underpostnet/pwa-microservices-template-ghpkg
46
+
47
+ - name: Clone github package repository
48
+ run: |
49
+ git clone https://github.com/underpostnet/pwa-microservices-template-ghpkg.git
50
+ rm -rf ./.git
51
+ cp -a ./pwa-microservices-template-ghpkg/.git ./.git
52
+ rm -rf ./pwa-microservices-template-ghpkg
53
+
54
+ - name: Set git credentials
55
+ run: |
56
+ git config --global credential.helper ""
57
+ git config credential.helper ""
58
+ git config --global user.name 'underpostnet'
59
+ git config --global user.email 'fcoverdugoa@underpost.net'
60
+ git config --global credential.interactive always
61
+ git config user.name 'underpostnet'
62
+ git config user.email 'fcoverdugoa@underpost.net'
63
+ git config credential.interactive always
64
+
65
+ - name: Push to github package repository
66
+ run: |
67
+ pwd
68
+ git status
69
+ git remote set-url origin git@github.com:underpostnet/pwa-microservices-template-ghpkg.git
70
+ git add .
71
+ git commit -m "Update github repo package"
72
+ git push https://${{ secrets.GIT_AUTH_TOKEN }}@github.com/underpostnet/pwa-microservices-template-ghpkg.git
73
+
74
+ # git push -u origin https://${{ secrets.GIT_AUTH_TOKEN }}@github.com/underpostnet/pwa-microservices-template-ghpkg.git
75
+ # git push -u origin master
@@ -0,0 +1,84 @@
1
+ name: publish to npmjs
2
+ on:
3
+ release:
4
+ types: [released]
5
+ jobs:
6
+ build-and-publish:
7
+ # prevents this action from running on forks
8
+ if: github.repository == 'underpostnet/pwa-microservices-template'
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: read
12
+ id-token: write
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - uses: actions/setup-node@v4
16
+ with:
17
+ node-version: '22.x'
18
+ registry-url: 'https://registry.npmjs.org'
19
+
20
+ - name: Install Dependencies
21
+ run: npm install
22
+
23
+ - run: npm ci
24
+
25
+ # Publish to npm
26
+ - uses: actions/setup-node@v4
27
+ with:
28
+ node-version: '22.x'
29
+ registry-url: 'https://registry.npmjs.org'
30
+ # Defaults to the user or organization that owns the workflow file
31
+ # scope: '@underpostnet'
32
+ - env:
33
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
34
+ name: Publish to npm
35
+ run: npm publish --provenance --access public
36
+
37
+ build-and-publish-ghpkg:
38
+ # prevents this action from running on forks
39
+ if: github.repository == 'underpostnet/pwa-microservices-template-ghpkg'
40
+ runs-on: ubuntu-latest
41
+ permissions:
42
+ contents: read
43
+ id-token: write
44
+ steps:
45
+ - uses: actions/checkout@v4
46
+ - uses: actions/setup-node@v4
47
+ with:
48
+ node-version: '22.x'
49
+ registry-url: 'https://registry.npmjs.org'
50
+
51
+ - name: Install Dependencies
52
+ run: npm install
53
+
54
+ - run: npm ci
55
+
56
+ # Publish to npm git hub package
57
+ - uses: actions/setup-node@v4
58
+ with:
59
+ node-version: '22.x'
60
+ registry-url: 'https://registry.npmjs.org'
61
+ # Defaults to the user or organization that owns the workflow file
62
+ scope: '@underpostnet'
63
+ - env:
64
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
65
+ name: Publish to npm
66
+ run: |
67
+ npm publish --provenance --access public
68
+
69
+ # Publish to GitHub Packages
70
+ - name: Setup node to publish to GitHub Packages
71
+ uses: actions/setup-node@v4
72
+ with:
73
+ node-version: 22.x
74
+ registry-url: 'https://npm.pkg.github.com'
75
+ # Defaults to the user or organization that owns the workflow file
76
+ scope: '@underpostnet'
77
+
78
+ - run: |
79
+ npm config set //npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}
80
+ echo "//npm.pkg.github.com/:_authToken=${{ secrets.GIT_AUTH_TOKEN }}" > ~/.npmrc
81
+ echo "@underposnet:registry=https://npm.pkg.github.com" >> ~/.npmrc
82
+ npm publish
83
+ env:
84
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
@@ -0,0 +1,30 @@
1
+ name: Test
2
+ on: [push]
3
+ jobs:
4
+ test:
5
+ if: (github.repository == 'underpostnet/pwa-microservices-template') || (github.repository == 'underpostnet/pwa-microservices-template-ghpkg')
6
+ name: Node ${{ matrix.node }} on ${{ matrix.os }}
7
+ runs-on: ${{ matrix.os }}
8
+ strategy:
9
+ matrix:
10
+ node-version: [21.x]
11
+ os: [ubuntu-latest]
12
+ # os: [ubuntu-latest, windows-latest]
13
+
14
+ steps:
15
+ - name: Clone repository
16
+ uses: actions/checkout@v3
17
+
18
+ - name: Set Node.js version
19
+ uses: actions/setup-node@v3
20
+ with:
21
+ node-version: ${{ matrix.node }}
22
+
23
+ - name: Get npm root
24
+ run: sudo npm root -g
25
+
26
+ - name: Install underpost cli
27
+ run: sudo npm install -g underpost
28
+
29
+ - name: Run test
30
+ run: sudo underpost test
package/.nycrc ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "exclude": [],
3
+ "include": ["test"],
4
+ "output": "reports",
5
+ "reporter": ["html", "text", "lcov", "text-lcov", "cobertura"],
6
+ "sourceMap": true,
7
+ "instrument": true,
8
+ "all": true
9
+ }
@@ -0,0 +1,13 @@
1
+ /node_modules
2
+ /public
3
+ /conf
4
+ /tmp
5
+ /bkt
6
+ /logs
7
+ /build
8
+ /.env
9
+ /coverage
10
+ /prometheus_data
11
+ /grafana_data
12
+ .nyc_output
13
+ .cache
package/.prettierrc ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "printWidth": 120,
3
+ "singleQuote": true,
4
+ "useTabs": false,
5
+ "tabWidth": 2,
6
+ "semi": true,
7
+ "bracketSpacing": true,
8
+ "trailingComma": "all"
9
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "recommendations": [
3
+ "adpyke.vscode-sql-formatter",
4
+ "angular.ng-template",
5
+ "antiantisepticeye.vscode-color-picker",
6
+ "bashmish.es6-string-css",
7
+ "bierner.lit-html",
8
+ "bmewburn.vscode-intelephense-client",
9
+ "cschlosser.doxdocgen",
10
+ "danielehrhardt.ionic3-vs-ionview-snippets",
11
+ "dbaeumer.vscode-eslint",
12
+ "eamodio.gitlens",
13
+ "esbenp.prettier-vscode",
14
+ "fivethree.vscode-ionic-snippets",
15
+ "formulahendry.auto-rename-tag",
16
+ "golang.go",
17
+ "ipedrazas.kubernetes-snippets",
18
+ "jannisx11.batch-rename-extension",
19
+ "jeff-hykin.better-cpp-syntax",
20
+ "jinxdash.prettier-rust",
21
+ "johnpapa.vscode-peacock",
22
+ "juanblanco.solidity",
23
+ "julialang.language-julia",
24
+ "kevinrose.vsc-python-indent",
25
+ "mechatroner.rainbow-csv",
26
+ "mintlify.document",
27
+ "ms-azuretools.vscode-docker",
28
+ "ms-dotnettools.vscode-dotnet-runtime",
29
+ "ms-kubernetes-tools.vscode-kubernetes-tools",
30
+ "ms-python.black-formatter",
31
+ "ms-python.debugpy",
32
+ "ms-python.isort",
33
+ "ms-python.python",
34
+ "ms-python.vscode-pylance",
35
+ "ms-toolsai.jupyter",
36
+ "ms-toolsai.jupyter-keymap",
37
+ "ms-toolsai.jupyter-renderers",
38
+ "ms-toolsai.vscode-jupyter-cell-tags",
39
+ "ms-toolsai.vscode-jupyter-slideshow",
40
+ "ms-vscode-remote.remote-containers",
41
+ "ms-vscode-remote.remote-wsl",
42
+ "ms-vscode.cmake-tools",
43
+ "ms-vscode.cpptools",
44
+ "ms-vscode.cpptools-extension-pack",
45
+ "ms-vscode.cpptools-themes",
46
+ "ms-vscode.makefile-tools",
47
+ "msjsdiag.cordova-tools",
48
+ "nicolasvuillamy.vscode-groovy-lint",
49
+ "nucllear.vscode-extension-auto-import",
50
+ "pinkpotato.ionic-essentials",
51
+ "redhat.java",
52
+ "redhat.vscode-xml",
53
+ "redhat.vscode-yaml",
54
+ "rust-lang.rust-analyzer",
55
+ "steoates.autoimport",
56
+ "streetsidesoftware.code-spell-checker",
57
+ "tabnine.tabnine-vscode",
58
+ "tamasfe.even-better-toml",
59
+ "tobermory.es6-string-html",
60
+ "twxs.cmake",
61
+ "visualstudioexptteam.intellicode-api-usage-examples",
62
+ "visualstudioexptteam.vscodeintellicode",
63
+ "vscjava.vscode-gradle",
64
+ "vscjava.vscode-java-debug",
65
+ "vscjava.vscode-java-dependency",
66
+ "vscjava.vscode-java-pack",
67
+ "vscjava.vscode-java-test",
68
+ "vscjava.vscode-maven",
69
+ "vscode-icons-team.vscode-icons",
70
+ "xabikos.javascriptsnippets"
71
+ ]
72
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
3
+ "editor.formatOnSave": true,
4
+ "explorer.compactFolders": false,
5
+ "javascript.preferences.importModuleSpecifierEnding": "js",
6
+ "[javascript]": {
7
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
8
+ },
9
+ "[python]": {
10
+ "editor.defaultFormatter": "ms-python.python"
11
+ },
12
+ "cSpell.words": [
13
+ "ANAME",
14
+ "browserconfig",
15
+ "certbot",
16
+ "certonly",
17
+ "changefreq",
18
+ "chebyshev",
19
+ "Cids",
20
+ "Contracultura",
21
+ "cooldown",
22
+ "cryptokoyn",
23
+ "cyberia",
24
+ "cyberiaonline",
25
+ "dbname",
26
+ "dists",
27
+ "DOGMADUAL",
28
+ "dondominio",
29
+ "dont",
30
+ "fileupload",
31
+ "fontawesome",
32
+ "fortawesome",
33
+ "googlebot",
34
+ "Hexa",
35
+ "htdocs",
36
+ "htmls",
37
+ "inlt",
38
+ "ipfs",
39
+ "jsonld",
40
+ "lampp",
41
+ "loadingio",
42
+ "Longname",
43
+ "Microdata",
44
+ "minami",
45
+ "MMORPG",
46
+ "mysqldump",
47
+ "neodrag",
48
+ "nexodev",
49
+ "pathfinding",
50
+ "Pixi",
51
+ "plantuml",
52
+ "privkey",
53
+ "runas",
54
+ "Scatterplot",
55
+ "sortablejs",
56
+ "supervisord",
57
+ "underpost",
58
+ "Unequip",
59
+ "webroot",
60
+ "xampp",
61
+ "xfwd",
62
+ "youtu"
63
+ ],
64
+ "[dockerfile]": {
65
+ "editor.defaultFormatter": "ms-azuretools.vscode-docker"
66
+ },
67
+ "[php]": {
68
+ "editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
69
+ },
70
+ "[xml]": {
71
+ "editor.defaultFormatter": "redhat.vscode-xml"
72
+ },
73
+ "docwriter.style": "JSDoc",
74
+ "docwriter.progress.trackFunctions": false,
75
+ "docwriter.progress.trackMethods": false,
76
+ "files.exclude": {
77
+ "**/.git": true, // this is a default value
78
+ "**/.DS_Store": true, // this is a default value
79
+
80
+ "**/node_modules": true, // this excludes all folders
81
+ // named "node_modules" from
82
+ // the explore tree
83
+
84
+ // alternative version
85
+ "node_modules": true, // this excludes the folder
86
+ // only from the root of
87
+ // your workspace
88
+ "public": true,
89
+ "engine-private": true,
90
+ "conf": true,
91
+ "tmp": true,
92
+ "bkt": true,
93
+ "logs": true,
94
+ "build": true,
95
+ "coverage": true,
96
+ "prometheus_data": true,
97
+ "grafana_data": true,
98
+ ".nyc_output": true
99
+ }
100
+ }
package/AUTHORS.md ADDED
@@ -0,0 +1,10 @@
1
+ # Authors
2
+
3
+ #### Ordered by first contribution.
4
+
5
+ - fcoverdugo ([fcoverdugoa@underpost.net](mailto:fcoverdugoa@underpost.net))
6
+ - underpost.net ([52893447+underpostnet@users.noreply.github.com](mailto:52893447+underpostnet@users.noreply.github.com))
7
+ - fcoverdugoa ([52893447+underpostnet@users.noreply.github.com](mailto:52893447+underpostnet@users.noreply.github.com))
8
+ - underpostnet ([fcoverdugoa@underpost.net](mailto:fcoverdugoa@underpost.net))
9
+
10
+ #### Generated by [underpost.net](https://underpost.net)
package/CHANGELOG.md ADDED
@@ -0,0 +1,37 @@
1
+ ### Changelog
2
+
3
+ All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
+
5
+ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
+
7
+ #### [v2.7.2](https://github.com/underpostnet/pwa-microservices-template/compare/v2.7.1...v2.7.2)
8
+
9
+ > 8 October 2024
10
+
11
+ - update src v2.7.2 [`12f3b14`](https://github.com/underpostnet/pwa-microservices-template/commit/12f3b14af0170f3a9e1ae1d341a586a2852f6056)
12
+ - add npm publish workflow [`843623a`](https://github.com/underpostnet/pwa-microservices-template/commit/843623a582bb00bf16ef167b420f325540fc5327)
13
+ - publish yml update [`dc5593b`](https://github.com/underpostnet/pwa-microservices-template/commit/dc5593bb4f480d24b81cf24045c24626542bfee9)
14
+
15
+ #### [v2.7.1](https://github.com/underpostnet/pwa-microservices-template/compare/v2.6.3...v2.7.1)
16
+
17
+ > 19 September 2024
18
+
19
+ - add backup, dns and prompt-optimizer base [`507669e`](https://github.com/underpostnet/pwa-microservices-template/commit/507669e2f1c9b4145643cbac583762eb91b1d18d)
20
+ - update version 2.6.8 [`3d765bf`](https://github.com/underpostnet/pwa-microservices-template/commit/3d765bfa6f06866ce46260d2e4af4432c91f072f)
21
+ - update version batch 2.6.4 [`fd4fed5`](https://github.com/underpostnet/pwa-microservices-template/commit/fd4fed55f2bbac1a9d4760e804ed6b7f4cde1272)
22
+
23
+ #### [v2.6.3](https://github.com/underpostnet/pwa-microservices-template/compare/v2.6.2...v2.6.3)
24
+
25
+ > 14 September 2024
26
+
27
+ - update version 2.6.3 [`c8f6f8e`](https://github.com/underpostnet/pwa-microservices-template/commit/c8f6f8ec31470eff977163c5b31be37a05ff96ba)
28
+ - update [`7214fbb`](https://github.com/underpostnet/pwa-microservices-template/commit/7214fbb608f7f59c6bf8e189093fd9c7e9a5a80a)
29
+ - update [`b99c869`](https://github.com/underpostnet/pwa-microservices-template/commit/b99c8697e96a5141b15f0d28386ba29871746825)
30
+
31
+ #### v2.6.2
32
+
33
+ > 13 September 2024
34
+
35
+ - add Base project [`4124a60`](https://github.com/underpostnet/pwa-microservices-template/commit/4124a601a8226587bb09db942a8e33b1486828ea)
36
+ - set 0.0.1 env template version [`e38a062`](https://github.com/underpostnet/pwa-microservices-template/commit/e38a06281599a2138d3564ae4ed70f61dad55f88)
37
+ - update dependabot security [`b6f221a`](https://github.com/underpostnet/pwa-microservices-template/commit/b6f221aecae1e00723c15f726ac1bff60199b10b)
package/Dockerfile ADDED
@@ -0,0 +1,90 @@
1
+ ARG BASE_DEBIAN=buster
2
+
3
+ FROM debian:${BASE_DEBIAN}
4
+
5
+ ENV DEBIAN_FRONTEND noninteractive
6
+
7
+ WORKDIR /code
8
+
9
+ # Set root password to root, format is 'user:password'.
10
+ RUN echo 'root:root' | chpasswd
11
+
12
+ RUN apt-get update --fix-missing && \
13
+ apt-get upgrade -y && \
14
+ # install sudo
15
+ apt-get -y install sudo && \
16
+ # net-tools provides netstat commands
17
+ apt-get -y install curl net-tools && \
18
+ apt-get -yq install openssh-server supervisor && \
19
+ # Few handy utilities which are nice to have
20
+ apt-get -y install nano vim less --no-install-recommends && \
21
+ apt-get clean
22
+
23
+ # install ssh
24
+ RUN mkdir -p /var/run/sshd && \
25
+ # Allow root login via password
26
+ sed -ri 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
27
+
28
+ # copy supervisor config file to start openssh-server
29
+ COPY supervisord-openssh-server.conf /etc/supervisor/conf.d/supervisord-openssh-server.conf
30
+
31
+ # install open ssl git and others tools
32
+ RUN apt-get install -yq --no-install-recommends \
33
+ libssl-dev \
34
+ curl \
35
+ wget \
36
+ git \
37
+ gnupg
38
+
39
+ # install nodejs https://github.com/nodesource/distributions/blob/master/README.md#deb
40
+ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
41
+ apt-get install -y nodejs \
42
+ build-essential && \
43
+ node --version && \
44
+ npm --version
45
+
46
+
47
+ # install lampp
48
+ RUN curl -Lo xampp-linux-installer.run https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/7.4.30/xampp-linux-x64-7.4.30-1-installer.run?from_af=true && \
49
+ chmod +x xampp-linux-installer.run && \
50
+ bash -c './xampp-linux-installer.run' && \
51
+ ln -sf /opt/lampp/lampp /usr/bin/lampp && \
52
+ # Enable XAMPP web interface(remove security checks)
53
+ sed -i.bak s'/Require local/Require all granted/g' /opt/lampp/etc/extra/httpd-xampp.conf && \
54
+ # Enable error display in php
55
+ sed -i.bak s'/display_errors=Off/display_errors=On/g' /opt/lampp/etc/php.ini && \
56
+ # Enable includes of several configuration files
57
+ mkdir /opt/lampp/apache2/conf.d && \
58
+ echo "IncludeOptional /opt/lampp/apache2/conf.d/*.conf" >> /opt/lampp/etc/httpd.conf && \
59
+ # Create a /www folder and a symbolic link to it in /opt/lampp/htdocs. It'll be accessible via http://localhost:[port]/www/
60
+ # This is convenient because it doesn't interfere with xampp, phpmyadmin or other tools in /opt/lampp/htdocs
61
+ # /opt/lampp/etc/httpd.conf
62
+ mkdir /www && \
63
+ ln -s /www /opt/lampp/htdocs
64
+
65
+
66
+ # Install mongodb necessary libs
67
+ RUN apt-get update && apt-get install -y apt-utils wget gnupg gnupg2 curl
68
+
69
+ # Install mongodb
70
+ RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
71
+ RUN echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
72
+ RUN apt-get update
73
+ RUN apt-get install -y mongodb-org
74
+
75
+ # BIND TO ALL ADAPTERS IN CONTAINER
76
+ RUN sed -i "s,\\(^[[:blank:]]*bindIp:\\) .*,\\1 0.0.0.0," /etc/mongod.conf
77
+
78
+ # Bundle app source
79
+ # COPY . .
80
+
81
+ # Install underpost cli
82
+ RUN npm install -g underpost
83
+
84
+
85
+ VOLUME [ "/code/app/logs" ]
86
+
87
+ EXPOSE 22 80 443 3306 27017
88
+ EXPOSE 3000-3020
89
+
90
+ CMD [ "node", "startup" ]
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 DOGMADUAL.com
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.