@webqit/webflo 0.11.61-0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/.gitignore +7 -7
  2. package/LICENSE +20 -20
  3. package/README.md +2079 -2074
  4. package/docker/Dockerfile +42 -42
  5. package/docker/README.md +91 -91
  6. package/docker/package.json +2 -2
  7. package/package.json +80 -81
  8. package/src/{Context.js → AbstractContext.js} +71 -79
  9. package/src/config-pi/deployment/Env.js +68 -68
  10. package/src/config-pi/deployment/Layout.js +63 -63
  11. package/src/config-pi/deployment/Origins.js +139 -139
  12. package/src/config-pi/deployment/Proxy.js +74 -74
  13. package/src/config-pi/deployment/index.js +17 -17
  14. package/src/config-pi/index.js +15 -15
  15. package/src/config-pi/runtime/Client.js +116 -98
  16. package/src/config-pi/runtime/Server.js +125 -125
  17. package/src/config-pi/runtime/client/Worker.js +109 -134
  18. package/src/config-pi/runtime/client/index.js +11 -11
  19. package/src/config-pi/runtime/index.js +17 -17
  20. package/src/config-pi/runtime/server/Headers.js +74 -74
  21. package/src/config-pi/runtime/server/Redirects.js +69 -69
  22. package/src/config-pi/runtime/server/index.js +13 -13
  23. package/src/config-pi/static/Manifest.js +319 -319
  24. package/src/config-pi/static/Ssg.js +49 -49
  25. package/src/config-pi/static/index.js +13 -13
  26. package/src/deployment-pi/index.js +10 -10
  27. package/src/deployment-pi/origins/index.js +216 -216
  28. package/src/index.js +11 -19
  29. package/src/runtime-pi/HttpEvent.js +126 -106
  30. package/src/runtime-pi/HttpUser.js +126 -0
  31. package/src/runtime-pi/MessagingOverBroadcast.js +9 -0
  32. package/src/runtime-pi/MessagingOverChannel.js +85 -0
  33. package/src/runtime-pi/MessagingOverSocket.js +106 -0
  34. package/src/runtime-pi/MultiportMessagingAPI.js +81 -0
  35. package/src/runtime-pi/WebfloCookieStorage.js +27 -0
  36. package/src/runtime-pi/WebfloEventTarget.js +39 -0
  37. package/src/runtime-pi/WebfloMessageEvent.js +58 -0
  38. package/src/runtime-pi/WebfloMessagingAPI.js +69 -0
  39. package/src/runtime-pi/{Router.js → WebfloRouter.js} +99 -130
  40. package/src/runtime-pi/WebfloRuntime.js +52 -0
  41. package/src/runtime-pi/WebfloStorage.js +109 -0
  42. package/src/runtime-pi/client/ClientMessaging.js +5 -0
  43. package/src/runtime-pi/client/Context.js +3 -7
  44. package/src/runtime-pi/client/CookieStorage.js +17 -0
  45. package/src/runtime-pi/client/Router.js +38 -48
  46. package/src/runtime-pi/client/SessionStorage.js +33 -0
  47. package/src/runtime-pi/client/Url.js +156 -205
  48. package/src/runtime-pi/client/WebfloClient.js +544 -0
  49. package/src/runtime-pi/client/WebfloRootClient1.js +179 -0
  50. package/src/runtime-pi/client/WebfloRootClient2.js +109 -0
  51. package/src/runtime-pi/client/WebfloSubClient.js +165 -0
  52. package/src/runtime-pi/client/Workport.js +118 -178
  53. package/src/runtime-pi/client/generate.js +480 -471
  54. package/src/runtime-pi/client/index.js +16 -21
  55. package/src/runtime-pi/client/worker/ClientMessaging.js +5 -0
  56. package/src/runtime-pi/client/worker/Context.js +3 -7
  57. package/src/runtime-pi/client/worker/CookieStorage.js +17 -0
  58. package/src/runtime-pi/client/worker/SessionStorage.js +13 -0
  59. package/src/runtime-pi/client/worker/WebfloWorker.js +294 -0
  60. package/src/runtime-pi/client/worker/Workport.js +17 -85
  61. package/src/runtime-pi/client/worker/index.js +10 -21
  62. package/src/runtime-pi/index.js +6 -13
  63. package/src/runtime-pi/server/ClientMessaging.js +18 -0
  64. package/src/runtime-pi/server/ClientMessagingRegistry.js +57 -0
  65. package/src/runtime-pi/server/Context.js +11 -15
  66. package/src/runtime-pi/server/CookieStorage.js +17 -0
  67. package/src/runtime-pi/server/Router.js +93 -159
  68. package/src/runtime-pi/server/SessionStorage.js +53 -0
  69. package/src/runtime-pi/server/WebfloServer.js +755 -0
  70. package/src/runtime-pi/server/index.js +10 -21
  71. package/src/runtime-pi/util-http.js +322 -86
  72. package/src/runtime-pi/util-url.js +146 -146
  73. package/src/runtime-pi/xURL.js +108 -105
  74. package/src/runtime-pi/xfetch.js +22 -22
  75. package/src/services-pi/cert/http-auth-hook.js +22 -22
  76. package/src/services-pi/cert/http-cleanup-hook.js +22 -22
  77. package/src/services-pi/cert/index.js +79 -79
  78. package/src/services-pi/index.js +8 -8
  79. package/src/static-pi/index.js +10 -10
  80. package/src/webflo.js +30 -30
  81. package/test/index.test.js +26 -26
  82. package/test/site/package.json +9 -9
  83. package/test/site/public/bundle.html +5 -5
  84. package/test/site/public/bundle.html.json +3 -3
  85. package/test/site/public/bundle.js +2 -2
  86. package/test/site/public/bundle.webflo.js +15 -15
  87. package/test/site/public/index.html +29 -29
  88. package/test/site/public/index1.html +34 -34
  89. package/test/site/public/page-2/bundle.html +4 -4
  90. package/test/site/public/page-2/bundle.js +2 -2
  91. package/test/site/public/page-2/index.html +45 -45
  92. package/test/site/public/page-2/main.html +2 -2
  93. package/test/site/public/page-4/subpage/bundle.js +2 -2
  94. package/test/site/public/page-4/subpage/index.html +30 -30
  95. package/test/site/public/sparoots.json +4 -4
  96. package/test/site/public/worker.js +3 -3
  97. package/test/site/server/index.js +15 -15
  98. package/src/runtime-pi/Application.js +0 -29
  99. package/src/runtime-pi/Cookies.js +0 -82
  100. package/src/runtime-pi/Runtime.js +0 -21
  101. package/src/runtime-pi/client/Application.js +0 -100
  102. package/src/runtime-pi/client/Runtime.js +0 -332
  103. package/src/runtime-pi/client/createStorage.js +0 -57
  104. package/src/runtime-pi/client/oohtml/full.js +0 -7
  105. package/src/runtime-pi/client/oohtml/namespacing.js +0 -7
  106. package/src/runtime-pi/client/oohtml/scripting.js +0 -8
  107. package/src/runtime-pi/client/oohtml/templating.js +0 -8
  108. package/src/runtime-pi/client/worker/Application.js +0 -44
  109. package/src/runtime-pi/client/worker/Runtime.js +0 -269
  110. package/src/runtime-pi/server/Application.js +0 -116
  111. package/src/runtime-pi/server/Runtime.js +0 -557
  112. package/src/runtime-pi/xFormData.js +0 -24
  113. package/src/runtime-pi/xHeaders.js +0 -146
  114. package/src/runtime-pi/xRequest.js +0 -46
  115. package/src/runtime-pi/xRequestHeaders.js +0 -109
  116. package/src/runtime-pi/xResponse.js +0 -33
  117. package/src/runtime-pi/xResponseHeaders.js +0 -117
  118. package/src/runtime-pi/xxHttpMessage.js +0 -102
@@ -1,74 +1,74 @@
1
-
2
- /**
3
- * imports
4
- */
5
- import { Dotfile } from '@webqit/backpack';
6
-
7
- export default class Headers extends Dotfile {
8
-
9
- // Base name
10
- get name() {
11
- return 'headers';
12
- }
13
-
14
- // @desc
15
- static get ['@desc']() {
16
- return 'Automatic headers config.';
17
- }
18
-
19
- // Defaults merger
20
- withDefaults(config) {
21
- return this.merge({
22
- entries: [],
23
- }, config, 'patch');
24
- }
25
-
26
- // Questions generator
27
- getSchema(config, choices = {}) {
28
- const CHOICES = this.merge({
29
- type: [
30
- {value: 'request', title: 'Request Header'},
31
- {value: 'response', title: 'Response Header'},
32
- ]
33
- }, choices, 'patch');
34
- // Questions
35
- return [
36
- {
37
- name: 'entries',
38
- type: 'recursive',
39
- controls: {
40
- name: 'header',
41
- },
42
- initial: config.entries,
43
- schema: [
44
- {
45
- name: 'type',
46
- type: 'text',
47
- message: 'Choose header type',
48
- validation: ['important'],
49
- initial: function() { return this.indexOfInitial(CHOICES.type, this.value); },
50
- },
51
- {
52
- name: 'url',
53
- type: 'text',
54
- message: 'Enter URL',
55
- validation: ['important'],
56
- },
57
- {
58
- name: 'name',
59
- type: 'text',
60
- message: 'Enter header name',
61
- validation: ['important'],
62
- },
63
- {
64
- name: 'value',
65
- type: 'text',
66
- message: 'Enter header value',
67
- validation: ['important'],
68
- },
69
- ],
70
- },
71
-
72
- ];
73
- }
74
- }
1
+
2
+ /**
3
+ * imports
4
+ */
5
+ import { Dotfile } from '@webqit/backpack';
6
+
7
+ export default class Headers extends Dotfile {
8
+
9
+ // Base name
10
+ get name() {
11
+ return 'headers';
12
+ }
13
+
14
+ // @desc
15
+ static get ['@desc']() {
16
+ return 'Automatic headers config.';
17
+ }
18
+
19
+ // Defaults merger
20
+ withDefaults(config) {
21
+ return this.merge({
22
+ entries: [],
23
+ }, config, 'patch');
24
+ }
25
+
26
+ // Questions generator
27
+ getSchema(config, choices = {}) {
28
+ const CHOICES = this.merge({
29
+ type: [
30
+ {value: 'request', title: 'Request Header'},
31
+ {value: 'response', title: 'Response Header'},
32
+ ]
33
+ }, choices, 'patch');
34
+ // Questions
35
+ return [
36
+ {
37
+ name: 'entries',
38
+ type: 'recursive',
39
+ controls: {
40
+ name: 'header',
41
+ },
42
+ initial: config.entries,
43
+ schema: [
44
+ {
45
+ name: 'type',
46
+ type: 'text',
47
+ message: 'Choose header type',
48
+ validation: ['important'],
49
+ initial: function() { return this.indexOfInitial(CHOICES.type, this.value); },
50
+ },
51
+ {
52
+ name: 'url',
53
+ type: 'text',
54
+ message: 'Enter URL',
55
+ validation: ['important'],
56
+ },
57
+ {
58
+ name: 'name',
59
+ type: 'text',
60
+ message: 'Enter header name',
61
+ validation: ['important'],
62
+ },
63
+ {
64
+ name: 'value',
65
+ type: 'text',
66
+ message: 'Enter header value',
67
+ validation: ['important'],
68
+ },
69
+ ],
70
+ },
71
+
72
+ ];
73
+ }
74
+ }
@@ -1,69 +1,69 @@
1
-
2
- /**
3
- * imports
4
- */
5
- import { Dotfile } from '@webqit/backpack';
6
-
7
- export default class Redirects extends Dotfile {
8
-
9
- // Base name
10
- get name() {
11
- return 'redirects';
12
- }
13
-
14
- // @desc
15
- static get ['@desc']() {
16
- return 'Automatic redirects config.';
17
- }
18
-
19
- // Defaults merger
20
- withDefaults(config) {
21
- return this.merge({
22
- entries: [],
23
- }, config, 'patch');
24
- }
25
-
26
- // Questions generator
27
- getSchema(config, choices = {}) {
28
- // Choices
29
- const CHOICES = this.merge({
30
- code: [
31
- {value: 302,},
32
- {value: 301,},
33
- ],
34
- }, choices, 'patch');
35
- // Questions
36
- return [
37
- {
38
- name: 'entries',
39
- type: 'recursive',
40
- controls: {
41
- name: 'redirect',
42
- },
43
- initial: config.entries,
44
- schema: [
45
- {
46
- name: 'from',
47
- type: 'text',
48
- message: 'Enter "from" URL',
49
- validation: ['important'],
50
- },
51
- {
52
- name: 'to',
53
- type: 'text',
54
- message: 'Enter "to" URL',
55
- validation: ['important'],
56
- },
57
- {
58
- name: 'code',
59
- type: 'select',
60
- choices: CHOICES.code,
61
- message: 'Enter redirect code',
62
- validation: ['number'],
63
- },
64
- ],
65
- },
66
-
67
- ];
68
- }
69
- }
1
+
2
+ /**
3
+ * imports
4
+ */
5
+ import { Dotfile } from '@webqit/backpack';
6
+
7
+ export default class Redirects extends Dotfile {
8
+
9
+ // Base name
10
+ get name() {
11
+ return 'redirects';
12
+ }
13
+
14
+ // @desc
15
+ static get ['@desc']() {
16
+ return 'Automatic redirects config.';
17
+ }
18
+
19
+ // Defaults merger
20
+ withDefaults(config) {
21
+ return this.merge({
22
+ entries: [],
23
+ }, config, 'patch');
24
+ }
25
+
26
+ // Questions generator
27
+ getSchema(config, choices = {}) {
28
+ // Choices
29
+ const CHOICES = this.merge({
30
+ code: [
31
+ {value: 302,},
32
+ {value: 301,},
33
+ ],
34
+ }, choices, 'patch');
35
+ // Questions
36
+ return [
37
+ {
38
+ name: 'entries',
39
+ type: 'recursive',
40
+ controls: {
41
+ name: 'redirect',
42
+ },
43
+ initial: config.entries,
44
+ schema: [
45
+ {
46
+ name: 'from',
47
+ type: 'text',
48
+ message: 'Enter "from" URL',
49
+ validation: ['important'],
50
+ },
51
+ {
52
+ name: 'to',
53
+ type: 'text',
54
+ message: 'Enter "to" URL',
55
+ validation: ['important'],
56
+ },
57
+ {
58
+ name: 'code',
59
+ type: 'select',
60
+ choices: CHOICES.code,
61
+ message: 'Enter redirect code',
62
+ validation: ['number'],
63
+ },
64
+ ],
65
+ },
66
+
67
+ ];
68
+ }
69
+ }
@@ -1,14 +1,14 @@
1
-
2
- /**
3
- * @imports
4
- */
5
- import Headers from './Headers.js';
6
- import Redirects from './Redirects.js';
7
-
8
- /**
9
- * @exports
10
- */
11
- export {
12
- Headers,
13
- Redirects,
1
+
2
+ /**
3
+ * @imports
4
+ */
5
+ import Headers from './Headers.js';
6
+ import Redirects from './Redirects.js';
7
+
8
+ /**
9
+ * @exports
10
+ */
11
+ export {
12
+ Headers,
13
+ Redirects,
14
14
  }