underpost 2.7.1 → 2.7.2

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 (213) hide show
  1. package/.dockerignore +13 -13
  2. package/.env.development +7 -7
  3. package/.env.production +7 -7
  4. package/.env.test +7 -7
  5. package/.github/workflows/publish.yml +26 -0
  6. package/.nycrc +9 -9
  7. package/.prettierignore +12 -12
  8. package/.prettierrc +9 -9
  9. package/.vscode/extensions.json +72 -72
  10. package/.vscode/settings.json +100 -99
  11. package/Dockerfile +89 -89
  12. package/LICENSE +21 -21
  13. package/README.md +96 -96
  14. package/bin/db.js +172 -119
  15. package/bin/deploy.js +582 -661
  16. package/bin/dns.js +1 -1
  17. package/bin/file.js +92 -92
  18. package/bin/index.js +53 -53
  19. package/bin/install.js +398 -357
  20. package/bin/shortcut.js +44 -44
  21. package/bin/ssl.js +65 -64
  22. package/bin/util.js +182 -182
  23. package/bin/vs.js +35 -35
  24. package/conf.js +251 -249
  25. package/docker-compose.yml +67 -67
  26. package/jsconfig.json +7 -7
  27. package/jsdoc.json +32 -32
  28. package/nodemon.json +6 -6
  29. package/package.json +137 -132
  30. package/prometheus.yml +36 -36
  31. package/setup.sh +24 -24
  32. package/src/api/core/core.controller.js +69 -69
  33. package/src/api/core/core.model.js +11 -11
  34. package/src/api/core/core.router.js +23 -23
  35. package/src/api/core/core.service.js +29 -29
  36. package/src/api/crypto/crypto.controller.js +51 -51
  37. package/src/api/crypto/crypto.model.js +23 -23
  38. package/src/api/crypto/crypto.router.js +20 -20
  39. package/src/api/crypto/crypto.service.js +64 -64
  40. package/src/api/default/default.controller.js +69 -69
  41. package/src/api/default/default.model.js +20 -20
  42. package/src/api/default/default.router.js +23 -23
  43. package/src/api/default/default.service.js +31 -31
  44. package/src/api/file/file.controller.js +53 -51
  45. package/src/api/file/file.model.js +19 -19
  46. package/src/api/file/file.router.js +21 -20
  47. package/src/api/file/file.service.js +76 -70
  48. package/src/api/instance/instance.controller.js +69 -69
  49. package/src/api/instance/instance.model.js +36 -36
  50. package/src/api/instance/instance.router.js +33 -33
  51. package/src/api/instance/instance.service.js +48 -48
  52. package/src/api/test/test.controller.js +59 -59
  53. package/src/api/test/test.model.js +14 -14
  54. package/src/api/test/test.router.js +21 -21
  55. package/src/api/test/test.service.js +35 -35
  56. package/src/api/user/user.build.js +16 -0
  57. package/src/api/user/user.controller.js +70 -70
  58. package/src/api/user/user.model.js +65 -65
  59. package/src/api/user/user.router.js +345 -345
  60. package/src/api/user/user.service.js +479 -479
  61. package/src/api.js +23 -23
  62. package/src/client/Default.index.js +40 -40
  63. package/src/client/components/core/Account.js +290 -290
  64. package/src/client/components/core/AgGrid.js +160 -160
  65. package/src/client/components/core/Auth.js +19 -19
  66. package/src/client/components/core/Badge.js +32 -32
  67. package/src/client/components/core/BlockChain.js +41 -41
  68. package/src/client/components/core/Blog.js +9 -9
  69. package/src/client/components/core/BtnIcon.js +101 -94
  70. package/src/client/components/core/CalendarCore.js +458 -319
  71. package/src/client/components/core/Chat.js +64 -64
  72. package/src/client/components/core/ColorPalette.js +5267 -5267
  73. package/src/client/components/core/CommonJs.js +735 -732
  74. package/src/client/components/core/Content.js +193 -49
  75. package/src/client/components/core/Css.js +1064 -1027
  76. package/src/client/components/core/CssCore.js +817 -796
  77. package/src/client/components/core/D3Chart.js +44 -44
  78. package/src/client/components/core/Docs.js +229 -229
  79. package/src/client/components/core/DropDown.js +164 -164
  80. package/src/client/components/core/EventsUI.js +46 -54
  81. package/src/client/components/core/FileExplorer.js +699 -624
  82. package/src/client/components/core/FullScreen.js +45 -45
  83. package/src/client/components/core/Input.js +346 -259
  84. package/src/client/components/core/JoyStick.js +77 -77
  85. package/src/client/components/core/Keyboard.js +73 -73
  86. package/src/client/components/core/LoadingAnimation.js +179 -157
  87. package/src/client/components/core/LogIn.js +187 -181
  88. package/src/client/components/core/LogOut.js +58 -52
  89. package/src/client/components/core/Logger.js +26 -26
  90. package/src/client/components/core/Modal.js +1612 -1596
  91. package/src/client/components/core/NotificationManager.js +84 -84
  92. package/src/client/components/core/Panel.js +613 -413
  93. package/src/client/components/core/PanelForm.js +468 -0
  94. package/src/client/components/core/Polyhedron.js +162 -162
  95. package/src/client/components/core/Recover.js +204 -204
  96. package/src/client/components/core/Responsive.js +53 -53
  97. package/src/client/components/core/RichText.js +51 -27
  98. package/src/client/components/core/Router.js +76 -77
  99. package/src/client/components/core/Scroll.js +34 -0
  100. package/src/client/components/core/SignUp.js +125 -125
  101. package/src/client/components/core/SocketIo.js +72 -72
  102. package/src/client/components/core/Stream.js +113 -113
  103. package/src/client/components/core/ToggleSwitch.js +87 -87
  104. package/src/client/components/core/ToolTip.js +26 -26
  105. package/src/client/components/core/Translate.js +437 -408
  106. package/src/client/components/core/Validator.js +100 -100
  107. package/src/client/components/core/VanillaJs.js +460 -457
  108. package/src/client/components/core/Wallet.js +106 -106
  109. package/src/client/components/core/Webhook.js +25 -25
  110. package/src/client/components/core/Worker.js +272 -272
  111. package/src/client/components/default/CommonDefault.js +29 -29
  112. package/src/client/components/default/CssDefault.js +13 -13
  113. package/src/client/components/default/ElementsDefault.js +38 -38
  114. package/src/client/components/default/LogInDefault.js +41 -41
  115. package/src/client/components/default/LogOutDefault.js +28 -28
  116. package/src/client/components/default/MenuDefault.js +389 -389
  117. package/src/client/components/default/RoutesDefault.js +48 -48
  118. package/src/client/components/default/SettingsDefault.js +16 -16
  119. package/src/client/components/default/SignUpDefault.js +9 -9
  120. package/src/client/components/default/SocketIoDefault.js +54 -54
  121. package/src/client/components/default/TranslateDefault.js +7 -7
  122. package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
  123. package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
  124. package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
  125. package/src/client/public/default/browserconfig.xml +11 -11
  126. package/src/client/public/default/manifest.webmanifest +68 -68
  127. package/src/client/public/default/plantuml/client-conf.svg +1 -0
  128. package/src/client/public/default/plantuml/client-schema.svg +1 -0
  129. package/src/client/public/default/plantuml/cron-conf.svg +1 -0
  130. package/src/client/public/default/plantuml/cron-schema.svg +1 -0
  131. package/src/client/public/default/plantuml/server-conf.svg +1 -0
  132. package/src/client/public/default/plantuml/server-schema.svg +1 -0
  133. package/src/client/public/default/plantuml/ssr-conf.svg +1 -0
  134. package/src/client/public/default/plantuml/ssr-schema.svg +1 -0
  135. package/src/client/public/default/sitemap +147 -147
  136. package/src/client/public/default/yandex-browser-manifest.json +8 -8
  137. package/src/client/public/doc/sitemap +147 -147
  138. package/src/client/public/test/sitemap +147 -147
  139. package/src/client/services/core/core.service.js +170 -152
  140. package/src/client/services/crypto/crypto.service.js +70 -70
  141. package/src/client/services/default/default.management.js +345 -345
  142. package/src/client/services/default/default.service.js +89 -89
  143. package/src/client/services/file/file.service.js +70 -70
  144. package/src/client/services/instance/instance.management.js +74 -74
  145. package/src/client/services/instance/instance.service.js +89 -89
  146. package/src/client/services/test/test.service.js +70 -70
  147. package/src/client/services/user/user.management.js +50 -50
  148. package/src/client/services/user/user.service.js +89 -89
  149. package/src/client/ssr/Render.js +16 -16
  150. package/src/client/ssr/body-components/CacheControl.js +114 -113
  151. package/src/client/ssr/body-components/DefaultSplashScreen.js +79 -79
  152. package/src/client/ssr/email-components/DefaultRecoverEmail.js +21 -21
  153. package/src/client/ssr/email-components/DefaultVerifyEmail.js +17 -17
  154. package/src/client/ssr/head-components/Css.js +241 -241
  155. package/src/client/ssr/head-components/DefaultScripts.js +3 -3
  156. package/src/client/ssr/head-components/Microdata.js +11 -11
  157. package/src/client/ssr/head-components/Production.js +1 -1
  158. package/src/client/ssr/head-components/PwaDefault.js +59 -59
  159. package/src/client/ssr/head-components/Seo.js +14 -14
  160. package/src/client/sw/default.sw.js +201 -201
  161. package/src/client/sw/template.sw.js +84 -84
  162. package/src/client.build.js +22 -22
  163. package/src/client.dev.js +21 -21
  164. package/src/cron.js +25 -25
  165. package/src/db/DataBaseProvider.js +34 -34
  166. package/src/db/mariadb/MariaDB.js +33 -33
  167. package/src/db/mongo/MongooseDB.js +46 -46
  168. package/src/dns.js +22 -22
  169. package/src/index.js +42 -29
  170. package/src/mailer/EmailRender.js +69 -69
  171. package/src/mailer/MailerProvider.js +96 -96
  172. package/src/proxy.js +22 -22
  173. package/src/runtime/lampp/Lampp.js +69 -44
  174. package/src/runtime/nginx/Nginx.js +3 -3
  175. package/src/runtime/xampp/Xampp.js +49 -49
  176. package/src/server/auth.js +235 -204
  177. package/src/server/backup.js +101 -94
  178. package/src/server/client-build-live.js +72 -72
  179. package/src/server/client-build.js +705 -699
  180. package/src/server/client-dev-server.js +60 -58
  181. package/src/server/client-formatted.js +48 -48
  182. package/src/server/client-icons.js +149 -150
  183. package/src/server/conf.js +860 -611
  184. package/src/server/dns.js +98 -98
  185. package/src/server/downloader.js +42 -42
  186. package/src/server/logger.js +180 -180
  187. package/src/server/network.js +122 -122
  188. package/src/server/peer.js +33 -33
  189. package/src/server/process.js +66 -66
  190. package/src/server/prompt-optimizer.js +28 -28
  191. package/src/server/proxy.js +118 -118
  192. package/src/server/runtime.js +444 -393
  193. package/src/server/ssl.js +109 -107
  194. package/src/server.js +25 -25
  195. package/src/ws/IoInterface.js +45 -45
  196. package/src/ws/IoServer.js +39 -39
  197. package/src/ws/core/channels/core.ws.chat.js +23 -23
  198. package/src/ws/core/channels/core.ws.mailer.js +35 -35
  199. package/src/ws/core/channels/core.ws.stream.js +31 -31
  200. package/src/ws/core/core.ws.connection.js +28 -28
  201. package/src/ws/core/core.ws.emit.js +14 -14
  202. package/src/ws/core/core.ws.server.js +24 -24
  203. package/src/ws/core/management/core.ws.chat.js +8 -8
  204. package/src/ws/core/management/core.ws.mailer.js +16 -16
  205. package/src/ws/core/management/core.ws.stream.js +8 -8
  206. package/src/ws/default/channels/default.ws.main.js +16 -16
  207. package/src/ws/default/default.ws.connection.js +22 -22
  208. package/src/ws/default/default.ws.emit.js +14 -14
  209. package/src/ws/default/default.ws.server.js +20 -20
  210. package/src/ws/default/management/default.ws.main.js +8 -8
  211. package/startup.js +11 -11
  212. package/supervisord-openssh-server.conf +4 -4
  213. package/test/api.test.js +60 -60
@@ -1,48 +1,48 @@
1
- import { loggerFactory } from '../core/Logger.js';
2
- import { getProxyPath, s } from '../core/VanillaJs.js';
3
-
4
- const logger = loggerFactory(import.meta);
5
-
6
- const NameApp = html`Default`;
7
-
8
- // Router
9
- const RoutesDefault = () => {
10
- return {
11
- '/': {
12
- title: 'Home',
13
- render: () => s(`.main-btn-home`).click(),
14
- upperCase: false,
15
- },
16
- '/home': { title: 'home', render: () => s(`.main-btn-home`).click() },
17
- '/settings': { title: 'settings', render: () => s(`.main-btn-settings`).click(), translateTitle: true },
18
- '/log-in': { title: 'log-in', render: () => s(`.main-btn-log-in`).click(), translateTitle: true },
19
- '/sign-up': { title: 'sign-up', render: () => s(`.main-btn-sign-up`).click(), translateTitle: true },
20
- '/log-out': {
21
- title: 'log-out',
22
- render: () => s(`.main-btn-log-out`).click(),
23
- hideDisplay: true,
24
- translateTitle: true,
25
- },
26
- '/account': {
27
- title: 'account',
28
- render: () => s(`.main-btn-account`).click(),
29
- hideDisplay: true,
30
- translateTitle: true,
31
- },
32
- '/docs': { title: 'docs', render: () => s(`.main-btn-docs`).click(), translateTitle: true },
33
- '/recover': { title: 'recover', render: () => s(`.main-btn-recover`).click(), translateTitle: true },
34
- '/default-management': {
35
- title: 'default-management',
36
- render: () => s(`.main-btn-default-management`).click(),
37
- translateTitle: true,
38
- },
39
- };
40
- };
41
-
42
- window.Routes = RoutesDefault;
43
-
44
- const RouterDefault = () => {
45
- return { Routes: RoutesDefault, NameApp };
46
- };
47
-
48
- export { RoutesDefault, RouterDefault, NameApp };
1
+ import { loggerFactory } from '../core/Logger.js';
2
+ import { getProxyPath, s } from '../core/VanillaJs.js';
3
+
4
+ const logger = loggerFactory(import.meta);
5
+
6
+ const NameApp = html`Default`;
7
+
8
+ // Router
9
+ const RoutesDefault = () => {
10
+ return {
11
+ '/': {
12
+ title: 'Home',
13
+ render: () => s(`.main-btn-home`).click(),
14
+ upperCase: false,
15
+ },
16
+ '/home': { title: 'home', render: () => s(`.main-btn-home`).click() },
17
+ '/settings': { title: 'settings', render: () => s(`.main-btn-settings`).click(), translateTitle: true },
18
+ '/log-in': { title: 'log-in', render: () => s(`.main-btn-log-in`).click(), translateTitle: true },
19
+ '/sign-up': { title: 'sign-up', render: () => s(`.main-btn-sign-up`).click(), translateTitle: true },
20
+ '/log-out': {
21
+ title: 'log-out',
22
+ render: () => s(`.main-btn-log-out`).click(),
23
+ hideDisplay: true,
24
+ translateTitle: true,
25
+ },
26
+ '/account': {
27
+ title: 'account',
28
+ render: () => s(`.main-btn-account`).click(),
29
+ hideDisplay: true,
30
+ translateTitle: true,
31
+ },
32
+ '/docs': { title: 'docs', render: () => s(`.main-btn-docs`).click(), translateTitle: true },
33
+ '/recover': { title: 'recover', render: () => s(`.main-btn-recover`).click(), translateTitle: true },
34
+ '/default-management': {
35
+ title: 'default-management',
36
+ render: () => s(`.main-btn-default-management`).click(),
37
+ translateTitle: true,
38
+ },
39
+ };
40
+ };
41
+
42
+ window.Routes = RoutesDefault;
43
+
44
+ const RouterDefault = () => {
45
+ return { Routes: RoutesDefault, NameApp };
46
+ };
47
+
48
+ export { RoutesDefault, RouterDefault, NameApp };
@@ -1,16 +1,16 @@
1
- import { Css } from '../core/Css.js';
2
- import { FullScreen } from '../core/FullScreen.js';
3
- import { Translate } from '../core/Translate.js';
4
- import { Worker } from '../core/Worker.js';
5
-
6
- const SettingsDefault = {
7
- Render: async function () {
8
- let render = await FullScreen.RenderSetting();
9
- render += await Css.RenderSetting();
10
- render += await Translate.RenderSetting();
11
- render += await Worker.RenderSetting();
12
- return render;
13
- },
14
- };
15
-
16
- export { SettingsDefault };
1
+ import { Css } from '../core/Css.js';
2
+ import { FullScreen } from '../core/FullScreen.js';
3
+ import { Translate } from '../core/Translate.js';
4
+ import { Worker } from '../core/Worker.js';
5
+
6
+ const SettingsDefault = {
7
+ Render: async function () {
8
+ let render = await FullScreen.RenderSetting();
9
+ render += await Css.RenderSetting();
10
+ render += await Translate.RenderSetting();
11
+ render += await Worker.RenderSetting();
12
+ return render;
13
+ },
14
+ };
15
+
16
+ export { SettingsDefault };
@@ -1,9 +1,9 @@
1
- import { SignUp } from '../core/SignUp.js';
2
-
3
- const SignUpDefault = function () {
4
- SignUp.Event['SignUpDefault'] = async (options) => {
5
- const { user } = options;
6
- };
7
- };
8
-
9
- export { SignUpDefault };
1
+ import { SignUp } from '../core/SignUp.js';
2
+
3
+ const SignUpDefault = function () {
4
+ SignUp.Event['SignUpDefault'] = async (options) => {
5
+ const { user } = options;
6
+ };
7
+ };
8
+
9
+ export { SignUpDefault };
@@ -1,54 +1,54 @@
1
- import { Account } from '../core/Account.js';
2
- import { Chat } from '../core/Chat.js';
3
- import { s4 } from '../core/CommonJs.js';
4
- import { loggerFactory } from '../core/Logger.js';
5
- import { SocketIo } from '../core/SocketIo.js';
6
- import { s } from '../core/VanillaJs.js';
7
- import { ElementsDefault } from './ElementsDefault.js';
8
-
9
- const logger = loggerFactory(import.meta);
10
-
11
- const SocketIoDefault = {
12
- Init: function () {
13
- return new Promise((resolve) => {
14
- for (const type of Object.keys(ElementsDefault.Data)) {
15
- SocketIo.Event[type][s4()] = async (args) => {
16
- args = JSON.parse(args[0]);
17
- switch (type) {
18
- case 'chat':
19
- {
20
- const idModal = 'modal-chat';
21
- if (s(`.${idModal}-chat-box`)) Chat.appendChatBox({ idModal, ...args });
22
- }
23
- break;
24
-
25
- default:
26
- break;
27
- }
28
- const { status } = args;
29
-
30
- switch (status) {
31
- case 'email-confirmed': {
32
- const newUser = { ...ElementsDefault.Data.user.main.model.user, emailConfirmed: true };
33
- Account.renderVerifyEmailStatus(newUser);
34
- Account.triggerUpdateEvent({ user: newUser });
35
- break;
36
- }
37
-
38
- default:
39
- break;
40
- }
41
- };
42
- }
43
- SocketIo.Event.connect[s4()] = async (reason) => {
44
- // ElementsDefault.Init({ type, id, element });
45
- };
46
- SocketIo.Event.disconnect[s4()] = async (reason) => {
47
- // ElementsDefault.removeAll();
48
- };
49
- return resolve();
50
- });
51
- },
52
- };
53
-
54
- export { SocketIoDefault };
1
+ import { Account } from '../core/Account.js';
2
+ import { Chat } from '../core/Chat.js';
3
+ import { s4 } from '../core/CommonJs.js';
4
+ import { loggerFactory } from '../core/Logger.js';
5
+ import { SocketIo } from '../core/SocketIo.js';
6
+ import { s } from '../core/VanillaJs.js';
7
+ import { ElementsDefault } from './ElementsDefault.js';
8
+
9
+ const logger = loggerFactory(import.meta);
10
+
11
+ const SocketIoDefault = {
12
+ Init: function () {
13
+ return new Promise((resolve) => {
14
+ for (const type of Object.keys(ElementsDefault.Data)) {
15
+ SocketIo.Event[type][s4()] = async (args) => {
16
+ args = JSON.parse(args[0]);
17
+ switch (type) {
18
+ case 'chat':
19
+ {
20
+ const idModal = 'modal-chat';
21
+ if (s(`.${idModal}-chat-box`)) Chat.appendChatBox({ idModal, ...args });
22
+ }
23
+ break;
24
+
25
+ default:
26
+ break;
27
+ }
28
+ const { status } = args;
29
+
30
+ switch (status) {
31
+ case 'email-confirmed': {
32
+ const newUser = { ...ElementsDefault.Data.user.main.model.user, emailConfirmed: true };
33
+ Account.renderVerifyEmailStatus(newUser);
34
+ Account.triggerUpdateEvent({ user: newUser });
35
+ break;
36
+ }
37
+
38
+ default:
39
+ break;
40
+ }
41
+ };
42
+ }
43
+ SocketIo.Event.connect[s4()] = async (reason) => {
44
+ // ElementsDefault.Init({ type, id, element });
45
+ };
46
+ SocketIo.Event.disconnect[s4()] = async (reason) => {
47
+ // ElementsDefault.removeAll();
48
+ };
49
+ return resolve();
50
+ });
51
+ },
52
+ };
53
+
54
+ export { SocketIoDefault };
@@ -1,7 +1,7 @@
1
- import { Translate } from '../core/Translate.js';
2
-
3
- const TranslateDefault = {
4
- Init: async function () {},
5
- };
6
-
7
- export { TranslateDefault };
1
+ import { Translate } from '../core/Translate.js';
2
+
3
+ const TranslateDefault = {
4
+ Init: async function () {},
5
+ };
6
+
7
+ export { TranslateDefault };
@@ -1,12 +1,12 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <browserconfig>
3
- <msapplication>
4
- <tile>
5
- <square70x70logo src="/mstile-70x70.png"/>
6
- <square150x150logo src="/mstile-150x150.png"/>
7
- <wide310x150logo src="/mstile-310x150.png"/>
8
- <square310x310logo src="/mstile-310x310.png"/>
9
- <TileColor>#fff</TileColor>
10
- </tile>
11
- </msapplication>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square70x70logo src="/mstile-70x70.png"/>
6
+ <square150x150logo src="/mstile-150x150.png"/>
7
+ <wide310x150logo src="/mstile-310x150.png"/>
8
+ <square310x310logo src="/mstile-310x310.png"/>
9
+ <TileColor>#fff</TileColor>
10
+ </tile>
11
+ </msapplication>
12
12
  </browserconfig>
@@ -1,69 +1,69 @@
1
- {
2
- "name": "Default",
3
- "short_name": "Default",
4
- "description": null,
5
- "dir": "auto",
6
- "lang": "en-US",
7
- "display": "standalone",
8
- "orientation": "any",
9
- "scope": "/",
10
- "start_url": "/?homescreen=1",
11
- "background_color": "#fff",
12
- "theme_color": "#fff",
13
- "icons": [
14
- {
15
- "src": "/android-chrome-36x36.png",
16
- "sizes": "36x36",
17
- "type": "image/png",
18
- "purpose": "any maskable"
19
- },
20
- {
21
- "src": "/android-chrome-48x48.png",
22
- "sizes": "48x48",
23
- "type": "image/png",
24
- "purpose": "any maskable"
25
- },
26
- {
27
- "src": "/android-chrome-72x72.png",
28
- "sizes": "72x72",
29
- "type": "image/png",
30
- "purpose": "any maskable"
31
- },
32
- {
33
- "src": "/android-chrome-96x96.png",
34
- "sizes": "96x96",
35
- "type": "image/png",
36
- "purpose": "any maskable"
37
- },
38
- {
39
- "src": "/android-chrome-144x144.png",
40
- "sizes": "144x144",
41
- "type": "image/png",
42
- "purpose": "any maskable"
43
- },
44
- {
45
- "src": "/android-chrome-192x192.png",
46
- "sizes": "192x192",
47
- "type": "image/png",
48
- "purpose": "any maskable"
49
- },
50
- {
51
- "src": "/android-chrome-256x256.png",
52
- "sizes": "256x256",
53
- "type": "image/png",
54
- "purpose": "any maskable"
55
- },
56
- {
57
- "src": "/android-chrome-384x384.png",
58
- "sizes": "384x384",
59
- "type": "image/png",
60
- "purpose": "any maskable"
61
- },
62
- {
63
- "src": "/android-chrome-512x512.png",
64
- "sizes": "512x512",
65
- "type": "image/png",
66
- "purpose": "any maskable"
67
- }
68
- ]
1
+ {
2
+ "name": "Default",
3
+ "short_name": "Default",
4
+ "description": null,
5
+ "dir": "auto",
6
+ "lang": "en-US",
7
+ "display": "standalone",
8
+ "orientation": "any",
9
+ "scope": "/",
10
+ "start_url": "/?homescreen=1",
11
+ "background_color": "#fff",
12
+ "theme_color": "#fff",
13
+ "icons": [
14
+ {
15
+ "src": "/android-chrome-36x36.png",
16
+ "sizes": "36x36",
17
+ "type": "image/png",
18
+ "purpose": "any maskable"
19
+ },
20
+ {
21
+ "src": "/android-chrome-48x48.png",
22
+ "sizes": "48x48",
23
+ "type": "image/png",
24
+ "purpose": "any maskable"
25
+ },
26
+ {
27
+ "src": "/android-chrome-72x72.png",
28
+ "sizes": "72x72",
29
+ "type": "image/png",
30
+ "purpose": "any maskable"
31
+ },
32
+ {
33
+ "src": "/android-chrome-96x96.png",
34
+ "sizes": "96x96",
35
+ "type": "image/png",
36
+ "purpose": "any maskable"
37
+ },
38
+ {
39
+ "src": "/android-chrome-144x144.png",
40
+ "sizes": "144x144",
41
+ "type": "image/png",
42
+ "purpose": "any maskable"
43
+ },
44
+ {
45
+ "src": "/android-chrome-192x192.png",
46
+ "sizes": "192x192",
47
+ "type": "image/png",
48
+ "purpose": "any maskable"
49
+ },
50
+ {
51
+ "src": "/android-chrome-256x256.png",
52
+ "sizes": "256x256",
53
+ "type": "image/png",
54
+ "purpose": "any maskable"
55
+ },
56
+ {
57
+ "src": "/android-chrome-384x384.png",
58
+ "sizes": "384x384",
59
+ "type": "image/png",
60
+ "purpose": "any maskable"
61
+ },
62
+ {
63
+ "src": "/android-chrome-512x512.png",
64
+ "sizes": "512x512",
65
+ "type": "image/png",
66
+ "purpose": "any maskable"
67
+ }
68
+ ]
69
69
  }