@browsersync/bslive 0.0.7 → 0.0.9

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 (136) hide show
  1. package/Cargo.toml +30 -2
  2. package/bin.js +3 -2
  3. package/bslive/Cargo.toml +16 -1
  4. package/bslive/build.rs +1 -1
  5. package/bslive/src/lib.rs +120 -4
  6. package/bsnext/Cargo.toml +21 -0
  7. package/bsnext/src/main.rs +110 -0
  8. package/crates/bsnext_client/Cargo.toml +8 -0
  9. package/crates/bsnext_client/build.rs +53 -0
  10. package/crates/bsnext_client/dist/index.js +6493 -0
  11. package/crates/bsnext_client/generated/dto.ts +116 -0
  12. package/crates/bsnext_client/generated/schema.ts +187 -0
  13. package/crates/bsnext_client/index.html +14 -0
  14. package/crates/bsnext_client/package-lock.json +2059 -0
  15. package/crates/bsnext_client/package.json +25 -0
  16. package/crates/bsnext_client/src/lib.rs +1 -0
  17. package/crates/bsnext_client/style.css +3 -0
  18. package/crates/bsnext_client/ts/console.ts +25 -0
  19. package/crates/bsnext_client/ts/index.ts +73 -0
  20. package/crates/bsnext_client/tsconfig.json +16 -0
  21. package/crates/bsnext_core/Cargo.toml +43 -0
  22. package/crates/bsnext_core/src/dir_loader.rs +230 -0
  23. package/crates/bsnext_core/src/dto.rs +281 -0
  24. package/crates/bsnext_core/src/handlers/mod.rs +1 -0
  25. package/crates/bsnext_core/src/handlers/proxy.rs +95 -0
  26. package/crates/bsnext_core/src/lib.rs +11 -0
  27. package/crates/bsnext_core/src/meta/mod.rs +5 -0
  28. package/crates/bsnext_core/src/not_found/mod.rs +2 -0
  29. package/crates/bsnext_core/src/not_found/not_found.html +20 -0
  30. package/crates/bsnext_core/src/not_found/not_found_service.rs +41 -0
  31. package/crates/bsnext_core/src/not_found/route_list.rs +49 -0
  32. package/crates/bsnext_core/src/panic_handler.rs +32 -0
  33. package/crates/bsnext_core/src/raw_loader.rs +226 -0
  34. package/crates/bsnext_core/src/server/actor.rs +92 -0
  35. package/crates/bsnext_core/src/server/error.rs +41 -0
  36. package/crates/bsnext_core/src/server/handler_change.rs +85 -0
  37. package/crates/bsnext_core/src/server/handler_listen.rs +157 -0
  38. package/crates/bsnext_core/src/server/handler_patch.rs +42 -0
  39. package/crates/bsnext_core/src/server/handler_routes_updated.rs +27 -0
  40. package/crates/bsnext_core/src/server/handler_stop.rs +38 -0
  41. package/crates/bsnext_core/src/server/mod.rs +10 -0
  42. package/crates/bsnext_core/src/server/router/mod.rs +112 -0
  43. package/crates/bsnext_core/src/server/router/tests.rs +204 -0
  44. package/crates/bsnext_core/src/server/signals.rs +11 -0
  45. package/crates/bsnext_core/src/server/state.rs +19 -0
  46. package/crates/bsnext_core/src/servers_supervisor/actor.rs +199 -0
  47. package/crates/bsnext_core/src/servers_supervisor/file_changed_handler.rs +41 -0
  48. package/crates/bsnext_core/src/servers_supervisor/get_servers_handler.rs +23 -0
  49. package/crates/bsnext_core/src/servers_supervisor/input_changed_handler.rs +21 -0
  50. package/crates/bsnext_core/src/servers_supervisor/mod.rs +6 -0
  51. package/crates/bsnext_core/src/servers_supervisor/start_handler.rs +82 -0
  52. package/crates/bsnext_core/src/servers_supervisor/stop_handler.rs +26 -0
  53. package/crates/bsnext_core/src/ws/mod.rs +164 -0
  54. package/crates/bsnext_example/Cargo.toml +10 -0
  55. package/crates/bsnext_example/src/basic.rs +51 -0
  56. package/crates/bsnext_example/src/lib.rs +26 -0
  57. package/crates/bsnext_example/src/lit.rs +37 -0
  58. package/crates/bsnext_example/src/md.rs +18 -0
  59. package/crates/bsnext_fs/Cargo.toml +22 -0
  60. package/crates/bsnext_fs/src/actor.rs +122 -0
  61. package/crates/bsnext_fs/src/buffered_debounce.rs +166 -0
  62. package/crates/bsnext_fs/src/filter.rs +30 -0
  63. package/crates/bsnext_fs/src/inner_fs_event_handler.rs +94 -0
  64. package/crates/bsnext_fs/src/lib.rs +141 -0
  65. package/crates/bsnext_fs/src/remove_path_handler.rs +46 -0
  66. package/crates/bsnext_fs/src/stop_handler.rs +15 -0
  67. package/crates/bsnext_fs/src/stream.rs +167 -0
  68. package/crates/bsnext_fs/src/test/mod.rs +213 -0
  69. package/crates/bsnext_fs/src/watch_path_handler.rs +67 -0
  70. package/crates/bsnext_fs/src/watcher.rs +348 -0
  71. package/crates/bsnext_input/Cargo.toml +22 -0
  72. package/crates/bsnext_input/src/input_test/mod.rs +151 -0
  73. package/crates/bsnext_input/src/lib.rs +153 -0
  74. package/crates/bsnext_input/src/md.rs +541 -0
  75. package/crates/bsnext_input/src/paths.rs +64 -0
  76. package/crates/bsnext_input/src/route.rs +185 -0
  77. package/crates/bsnext_input/src/route_manifest.rs +186 -0
  78. package/crates/bsnext_input/src/server_config.rs +88 -0
  79. package/crates/bsnext_input/src/target.rs +7 -0
  80. package/crates/bsnext_input/src/watch_opt_test/mod.rs +68 -0
  81. package/crates/bsnext_input/src/yml.rs +1 -0
  82. package/crates/bsnext_output/Cargo.toml +16 -0
  83. package/crates/bsnext_output/src/json.rs +11 -0
  84. package/crates/bsnext_output/src/lib.rs +25 -0
  85. package/crates/bsnext_output/src/pretty.rs +147 -0
  86. package/crates/bsnext_resp/Cargo.toml +13 -0
  87. package/crates/bsnext_resp/src/js/snippet.html +1 -0
  88. package/crates/bsnext_resp/src/js/ws.js +1 -0
  89. package/crates/bsnext_resp/src/lib.rs +79 -0
  90. package/crates/bsnext_system/Cargo.toml +29 -0
  91. package/crates/bsnext_system/src/args.rs +43 -0
  92. package/crates/bsnext_system/src/lib.rs +227 -0
  93. package/crates/bsnext_system/src/monitor.rs +241 -0
  94. package/crates/bsnext_system/src/monitor_any_watchables.rs +127 -0
  95. package/crates/bsnext_system/src/start_kind/snapshots/bsnext_system__start_kind__start_from_paths__test__test-2.snap +11 -0
  96. package/crates/bsnext_system/src/start_kind/snapshots/bsnext_system__start_kind__start_from_paths__test__test.snap +29 -0
  97. package/crates/bsnext_system/src/start_kind/start_from_example.rs +49 -0
  98. package/crates/bsnext_system/src/start_kind/start_from_inputs.rs +67 -0
  99. package/crates/bsnext_system/src/start_kind/start_from_paths.rs +51 -0
  100. package/crates/bsnext_system/src/start_kind.rs +56 -0
  101. package/crates/bsnext_system/src/startup.rs +51 -0
  102. package/crates/bsnext_tracing/Cargo.toml +10 -0
  103. package/crates/bsnext_tracing/src/lib.rs +89 -0
  104. package/examples/basic/input.yml +5 -0
  105. package/examples/basic/public/index.html +15 -0
  106. package/examples/basic/public/reset.css +52 -0
  107. package/examples/basic/public/script.js +1 -0
  108. package/examples/basic/public/styles.css +3 -0
  109. package/examples/kitchen-sink/a-file.md +1 -0
  110. package/examples/kitchen-sink/api/1.json +1 -0
  111. package/examples/kitchen-sink/api/2.json +3 -0
  112. package/examples/kitchen-sink/app.js +1 -0
  113. package/examples/kitchen-sink/input.html +185 -0
  114. package/examples/kitchen-sink/input.yml +133 -0
  115. package/examples/kitchen-sink/styles-2.css +3 -0
  116. package/examples/lit/index.html +21 -0
  117. package/examples/lit/input.yml +5 -0
  118. package/examples/lit/lit.js +82 -0
  119. package/examples/lit/package-lock.json +62 -0
  120. package/examples/lit/package.json +15 -0
  121. package/examples/md-single/frontmatter.md +35 -0
  122. package/examples/md-single/md-single.md +35 -0
  123. package/examples/openai/.nvm +1 -0
  124. package/examples/openai/build.mjs +21 -0
  125. package/examples/openai/index.html +13 -0
  126. package/examples/openai/input.yml +59 -0
  127. package/examples/openai/package-lock.json +720 -0
  128. package/examples/openai/package.json +21 -0
  129. package/examples/openai/src/index.js +21 -0
  130. package/examples/openai/sse/01.txt +8 -0
  131. package/examples/proxy-simple/input.yml +9 -0
  132. package/examples/single/input.yaml +26 -0
  133. package/index.d.ts +2 -0
  134. package/index.js +2 -1
  135. package/package.json +17 -17
  136. package/run.sh +6 -0
@@ -0,0 +1,116 @@
1
+ /*
2
+ Generated by typeshare 1.9.2
3
+ */
4
+
5
+ export type IdentityDTO =
6
+ | { kind: "Both", payload: {
7
+ name: string;
8
+ bind_address: string;
9
+ }}
10
+ | { kind: "Address", payload: {
11
+ bind_address: string;
12
+ }}
13
+ | { kind: "Named", payload: {
14
+ name: string;
15
+ }};
16
+
17
+ export interface ServersDTO {
18
+ identity: IdentityDTO;
19
+ socket_addr: string;
20
+ }
21
+
22
+ export interface GetServersMessageResponse {
23
+ servers: ServersDTO[];
24
+ }
25
+
26
+ export type ServerChange =
27
+ | { kind: "Stopped", payload: {
28
+ bind_address: string;
29
+ }}
30
+ | { kind: "Started", payload?: undefined }
31
+ | { kind: "Patched", payload?: undefined };
32
+
33
+ export interface ServerChangeSetItem {
34
+ identity: IdentityDTO;
35
+ change: ServerChange;
36
+ }
37
+
38
+ export interface ServerChangeSet {
39
+ items: ServerChangeSetItem[];
40
+ }
41
+
42
+ export interface ServersStarted {
43
+ servers_resp: GetServersMessageResponse;
44
+ changeset: ServerChangeSet;
45
+ }
46
+
47
+ export enum EventLevel {
48
+ External = "BSLIVE_EXTERNAL",
49
+ }
50
+
51
+ export type ExternalEvents =
52
+ | { kind: "ServersStarted", payload: ServersStarted }
53
+ | { kind: "Watching", payload: Watching }
54
+ | { kind: "WatchingStopped", payload: StoppedWatching }
55
+ | { kind: "FileChanged", payload: FileChanged }
56
+ | { kind: "FilesChanged", payload: FilesChangedDTO }
57
+ | { kind: "InputFileChanged", payload: FileChanged }
58
+ | { kind: "InputAccepted", payload: InputAccepted }
59
+ | { kind: "StartupFailed", payload: InputErrorDTO };
60
+
61
+ export interface ExternalEvent {
62
+ level: EventLevel;
63
+ fields: ExternalEvents;
64
+ }
65
+
66
+ export interface InputAccepted {
67
+ path: string;
68
+ }
69
+
70
+ export interface FileChanged {
71
+ path: string;
72
+ }
73
+
74
+ export interface FilesChangedDTO {
75
+ paths: string[];
76
+ }
77
+
78
+ export interface DebounceDTO {
79
+ kind: string;
80
+ ms: string;
81
+ }
82
+
83
+ export interface Watching {
84
+ paths: string[];
85
+ debounce: DebounceDTO;
86
+ }
87
+
88
+ export interface StoppedWatching {
89
+ paths: string[];
90
+ }
91
+
92
+ export type InputErrorDTO =
93
+ | { kind: "MissingInputs", payload: string }
94
+ | { kind: "InvalidInput", payload: string }
95
+ | { kind: "NotFound", payload: string }
96
+ | { kind: "InputWriteError", payload: string }
97
+ | { kind: "PathError", payload: string }
98
+ | { kind: "PortError", payload: string }
99
+ | { kind: "DirError", payload: string };
100
+
101
+ export type ClientEvent =
102
+ | { kind: "Change", payload: ChangeDTO };
103
+
104
+ export type ChangeDTO =
105
+ | { kind: "Fs", payload: {
106
+ path: string;
107
+ change_kind: ChangeKind;
108
+ }}
109
+ | { kind: "FsMany", payload: ChangeDTO[] };
110
+
111
+ export enum ChangeKind {
112
+ Changed = "Changed",
113
+ Added = "Added",
114
+ Removed = "Removed",
115
+ }
116
+
@@ -0,0 +1,187 @@
1
+ // Generated by ts-to-zod
2
+ import { z } from "zod";
3
+ import { EventLevel, ChangeKind, ChangeDTO } from "./dto";
4
+
5
+ export const identityDTOSchema = z.union([
6
+ z.object({
7
+ kind: z.literal("Both"),
8
+ payload: z.object({
9
+ name: z.string(),
10
+ bind_address: z.string(),
11
+ }),
12
+ }),
13
+ z.object({
14
+ kind: z.literal("Address"),
15
+ payload: z.object({
16
+ bind_address: z.string(),
17
+ }),
18
+ }),
19
+ z.object({
20
+ kind: z.literal("Named"),
21
+ payload: z.object({
22
+ name: z.string(),
23
+ }),
24
+ }),
25
+ ]);
26
+
27
+ export const serversDTOSchema = z.object({
28
+ identity: identityDTOSchema,
29
+ socket_addr: z.string(),
30
+ });
31
+
32
+ export const getServersMessageResponseSchema = z.object({
33
+ servers: z.array(serversDTOSchema),
34
+ });
35
+
36
+ export const serverChangeSchema = z.union([
37
+ z.object({
38
+ kind: z.literal("Stopped"),
39
+ payload: z.object({
40
+ bind_address: z.string(),
41
+ }),
42
+ }),
43
+ z.object({
44
+ kind: z.literal("Started"),
45
+ payload: z.undefined().optional(),
46
+ }),
47
+ z.object({
48
+ kind: z.literal("Patched"),
49
+ payload: z.undefined().optional(),
50
+ }),
51
+ ]);
52
+
53
+ export const serverChangeSetItemSchema = z.object({
54
+ identity: identityDTOSchema,
55
+ change: serverChangeSchema,
56
+ });
57
+
58
+ export const serverChangeSetSchema = z.object({
59
+ items: z.array(serverChangeSetItemSchema),
60
+ });
61
+
62
+ export const serversStartedSchema = z.object({
63
+ servers_resp: getServersMessageResponseSchema,
64
+ changeset: serverChangeSetSchema,
65
+ });
66
+
67
+ export const eventLevelSchema = z.nativeEnum(EventLevel);
68
+
69
+ export const stoppedWatchingSchema = z.object({
70
+ paths: z.array(z.string()),
71
+ });
72
+
73
+ export const fileChangedSchema = z.object({
74
+ path: z.string(),
75
+ });
76
+
77
+ export const filesChangedDTOSchema = z.object({
78
+ paths: z.array(z.string()),
79
+ });
80
+
81
+ export const inputAcceptedSchema = z.object({
82
+ path: z.string(),
83
+ });
84
+
85
+ export const inputErrorDTOSchema = z.union([
86
+ z.object({
87
+ kind: z.literal("MissingInputs"),
88
+ payload: z.string(),
89
+ }),
90
+ z.object({
91
+ kind: z.literal("InvalidInput"),
92
+ payload: z.string(),
93
+ }),
94
+ z.object({
95
+ kind: z.literal("NotFound"),
96
+ payload: z.string(),
97
+ }),
98
+ z.object({
99
+ kind: z.literal("InputWriteError"),
100
+ payload: z.string(),
101
+ }),
102
+ z.object({
103
+ kind: z.literal("PathError"),
104
+ payload: z.string(),
105
+ }),
106
+ z.object({
107
+ kind: z.literal("PortError"),
108
+ payload: z.string(),
109
+ }),
110
+ z.object({
111
+ kind: z.literal("DirError"),
112
+ payload: z.string(),
113
+ }),
114
+ ]);
115
+
116
+ export const debounceDTOSchema = z.object({
117
+ kind: z.string(),
118
+ ms: z.string(),
119
+ });
120
+
121
+ export const changeKindSchema = z.nativeEnum(ChangeKind);
122
+
123
+ export const watchingSchema = z.object({
124
+ paths: z.array(z.string()),
125
+ debounce: debounceDTOSchema,
126
+ });
127
+
128
+ export const changeDTOSchema: z.ZodSchema<ChangeDTO> = z.lazy(() =>
129
+ z.union([
130
+ z.object({
131
+ kind: z.literal("Fs"),
132
+ payload: z.object({
133
+ path: z.string(),
134
+ change_kind: changeKindSchema,
135
+ }),
136
+ }),
137
+ z.object({
138
+ kind: z.literal("FsMany"),
139
+ payload: z.array(changeDTOSchema),
140
+ }),
141
+ ]),
142
+ );
143
+
144
+ export const externalEventsSchema = z.union([
145
+ z.object({
146
+ kind: z.literal("ServersStarted"),
147
+ payload: serversStartedSchema,
148
+ }),
149
+ z.object({
150
+ kind: z.literal("Watching"),
151
+ payload: watchingSchema,
152
+ }),
153
+ z.object({
154
+ kind: z.literal("WatchingStopped"),
155
+ payload: stoppedWatchingSchema,
156
+ }),
157
+ z.object({
158
+ kind: z.literal("FileChanged"),
159
+ payload: fileChangedSchema,
160
+ }),
161
+ z.object({
162
+ kind: z.literal("FilesChanged"),
163
+ payload: filesChangedDTOSchema,
164
+ }),
165
+ z.object({
166
+ kind: z.literal("InputFileChanged"),
167
+ payload: fileChangedSchema,
168
+ }),
169
+ z.object({
170
+ kind: z.literal("InputAccepted"),
171
+ payload: inputAcceptedSchema,
172
+ }),
173
+ z.object({
174
+ kind: z.literal("StartupFailed"),
175
+ payload: inputErrorDTOSchema,
176
+ }),
177
+ ]);
178
+
179
+ export const externalEventSchema = z.object({
180
+ level: eventLevelSchema,
181
+ fields: externalEventsSchema,
182
+ });
183
+
184
+ export const clientEventSchema = z.object({
185
+ kind: z.literal("Change"),
186
+ payload: changeDTOSchema,
187
+ });
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport"
6
+ content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
7
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
8
+ <title>Document</title>
9
+ <link rel="stylesheet" href="style.css">
10
+ </head>
11
+ <body>
12
+ <h1>Hello there</h1>
13
+ </body>
14
+ </html>