@vizhub/runtime 0.0.1 → 0.0.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 (52) hide show
  1. package/dist/assets/setupV3Runtime-BVr5lyKp.js +240 -0
  2. package/{src/v2Runtime/bundle/rollup.browser.js → dist/index.js} +9286 -12810
  3. package/package.json +12 -6
  4. package/src/computeSrcDoc.ts +0 -68
  5. package/src/index.ts +0 -7
  6. package/src/useRuntime.ts +0 -394
  7. package/src/v2Runtime/bundle/bubleJSXOnly.ts +0 -34
  8. package/src/v2Runtime/bundle/getLibraries.js +0 -31
  9. package/src/v2Runtime/bundle/hypothetical.js +0 -232
  10. package/src/v2Runtime/bundle/index.js +0 -88
  11. package/src/v2Runtime/bundle/packageJson.ts +0 -49
  12. package/src/v2Runtime/bundle.test.js +0 -151
  13. package/src/v2Runtime/computeSrcDocV2.test.ts +0 -163
  14. package/src/v2Runtime/computeSrcDocV2.ts +0 -34
  15. package/src/v2Runtime/getComputedIndexHtml.test.ts +0 -33
  16. package/src/v2Runtime/getComputedIndexHtml.ts +0 -106
  17. package/src/v2Runtime/getText.ts +0 -19
  18. package/src/v2Runtime/magicSandbox.js +0 -291
  19. package/src/v2Runtime/packageJson.js +0 -42
  20. package/src/v2Runtime/transformFiles.test.js +0 -18
  21. package/src/v2Runtime/transformFiles.ts +0 -15
  22. package/src/v2Runtime/v3FilesToV2Files.test.ts +0 -20
  23. package/src/v2Runtime/v3FilesToV2Files.ts +0 -14
  24. package/src/v3Runtime/build.test.ts +0 -474
  25. package/src/v3Runtime/build.ts +0 -270
  26. package/src/v3Runtime/cleanRollupErrorMessage.ts +0 -15
  27. package/src/v3Runtime/computeSrcDocV3.ts +0 -151
  28. package/src/v3Runtime/extractVizImport.test.ts +0 -41
  29. package/src/v3Runtime/extractVizImport.ts +0 -34
  30. package/src/v3Runtime/generateRollupErrorMessage.ts +0 -84
  31. package/src/v3Runtime/importFromViz.ts +0 -36
  32. package/src/v3Runtime/index.ts +0 -1
  33. package/src/v3Runtime/parseId.ts +0 -14
  34. package/src/v3Runtime/setupV3Runtime.ts +0 -478
  35. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/bundle-modified-src.js +0 -121
  36. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/bundle-modified.js +0 -121
  37. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/bundle.js +0 -239
  38. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/index.js +0 -1
  39. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/package-lock.json +0 -475
  40. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/package.json +0 -19
  41. package/src/v3Runtime/transformDSV/d3-dsv-custom-build/rollup.config.js +0 -9
  42. package/src/v3Runtime/transformDSV/index.ts +0 -71
  43. package/src/v3Runtime/transformSvelte.ts +0 -111
  44. package/src/v3Runtime/types.ts +0 -158
  45. package/src/v3Runtime/urlLoad.ts +0 -33
  46. package/src/v3Runtime/virtual.ts +0 -27
  47. package/src/v3Runtime/vizCache.test.ts +0 -126
  48. package/src/v3Runtime/vizCache.ts +0 -60
  49. package/src/v3Runtime/vizLoad.ts +0 -68
  50. package/src/v3Runtime/vizLoadSvelte.ts +0 -46
  51. package/src/v3Runtime/vizResolve.ts +0 -100
  52. package/src/v3Runtime/worker.ts +0 -231
@@ -1,231 +0,0 @@
1
- import { rollup } from '@rollup/browser';
2
- import { build } from './build';
3
- import { VizCache, createVizCache } from './vizCache';
4
- import { Content, VizId } from 'entities';
5
- import { V3BuildResult, V3WorkerMessage } from './types';
6
- import { svelteCompilerUrl } from './transformSvelte';
7
- import { computeSrcDocV3 } from './computeSrcDocV3';
8
-
9
- const debug = false;
10
-
11
- // Generate a unique request ID
12
- const generateRequestId = (): string =>
13
- (Math.random() + '').slice(2);
14
-
15
- // Tracks pending promises for 'contentResponse' messages
16
- const pendingContentResponsePromises = new Map();
17
-
18
- // Tracks pending promises for 'resolveSlugResponse' messages
19
- const pendingResolveSlugResponsePromises = new Map();
20
-
21
- // Create a viz cache that's backed by the main thread
22
- let vizCache: VizCache = createVizCache({
23
- initialContents: [],
24
- handleCacheMiss: async (
25
- vizId: VizId,
26
- ): Promise<Content> => {
27
- const message: V3WorkerMessage = {
28
- type: 'contentRequest',
29
- vizId,
30
- };
31
-
32
- if (debug) {
33
- console.log(
34
- '[build worker] sending content request message to main thread',
35
- message,
36
- );
37
- }
38
- postMessage(message);
39
-
40
- return new Promise((resolve) => {
41
- pendingContentResponsePromises.set(vizId, resolve);
42
- });
43
- },
44
- });
45
-
46
- // Create a slug resolver that's backed by the main thread
47
- const resolveSlug = ({
48
- userName,
49
- slug,
50
- }): Promise<VizId> => {
51
- const slugKey = `${userName}/${slug}`;
52
-
53
- // Since the same slug could be requested multiple times
54
- // in quick succession, we need to support multiple
55
- // pending requests for the same slug.
56
- // We do this by generating a unique ID for each request.
57
- const requestId = generateRequestId();
58
- const message: V3WorkerMessage = {
59
- type: 'resolveSlugRequest',
60
- slugKey,
61
- requestId,
62
- };
63
-
64
- if (debug) {
65
- console.log(
66
- '[build worker] sending resolve slug request message to main thread',
67
- message,
68
- );
69
- }
70
- postMessage(message);
71
-
72
- return new Promise((resolve) => {
73
- pendingResolveSlugResponsePromises.set(
74
- requestId,
75
- resolve,
76
- );
77
- });
78
- };
79
-
80
- // Inspired by
81
- // https://github.com/sveltejs/sites/blob/master/packages/repl/src/lib/workers/bundler/index.js#L44
82
- // unpkg doesn't set the correct MIME type for .cjs files
83
- // https://github.com/mjackson/unpkg/issues/355
84
- const getSvelteCompiler = async () => {
85
- const compiler = await fetch(svelteCompilerUrl).then(
86
- (r) => r.text(),
87
- );
88
- (0, eval)(compiler);
89
-
90
- // console.log(self.svelte);
91
- // @ts-ignore
92
- return self.svelte.compile;
93
- };
94
-
95
- // Handle messages from the main thread
96
- addEventListener('message', async ({ data }) => {
97
- const message: V3WorkerMessage = data as V3WorkerMessage;
98
-
99
- switch (message.type) {
100
- case 'buildRequest': {
101
- const { vizId, enableSourcemap } = message;
102
-
103
- if (debug) {
104
- console.log(
105
- '[build worker] received build request message from main thread',
106
- message,
107
- );
108
- }
109
-
110
- let error: Error | undefined;
111
- let buildResult: V3BuildResult | undefined;
112
- try {
113
- buildResult = await build({
114
- vizId,
115
- enableSourcemap,
116
- rollup,
117
- vizCache,
118
- resolveSlug,
119
- getSvelteCompiler,
120
- });
121
- } catch (e) {
122
- if (debug) console.error(e);
123
- error = e;
124
- }
125
-
126
- // Post the result of the build process
127
- const responseMessage: V3WorkerMessage = {
128
- type: 'buildResponse',
129
- buildResult,
130
- error,
131
- };
132
- postMessage(responseMessage);
133
- break;
134
- }
135
-
136
- case 'contentResponse': {
137
- // Resolve pending promises for content snapshots
138
- const resolver = pendingContentResponsePromises.get(
139
- message.vizId,
140
- );
141
- if (resolver) {
142
- resolver(message.content);
143
- pendingContentResponsePromises.delete(
144
- message.vizId,
145
- );
146
- }
147
- break;
148
- }
149
-
150
- case 'invalidateVizCacheRequest': {
151
- if (debug) {
152
- console.log(
153
- '[build worker] received invalidateVizCacheRequest',
154
- message,
155
- );
156
- }
157
- const { changedVizIds } = message;
158
-
159
- // Invalidate the viz cache for the changed vizzes.
160
- // This will cause the worker to re-fetch the content
161
- // of those vizzes the next time it needs them.
162
- for (const vizId of changedVizIds) {
163
- vizCache.invalidate(vizId);
164
- }
165
-
166
- const responseMessage: V3WorkerMessage = {
167
- type: 'invalidateVizCacheResponse',
168
- };
169
- postMessage(responseMessage);
170
- break;
171
- }
172
-
173
- // Resolve pending promises for slug resolution
174
- case 'resolveSlugResponse': {
175
- const resolver =
176
- pendingResolveSlugResponsePromises.get(
177
- message.requestId,
178
- );
179
- if (resolver) {
180
- resolver(message.vizId);
181
- pendingResolveSlugResponsePromises.delete(
182
- message.requestId,
183
- );
184
- }
185
- break;
186
- }
187
-
188
- case 'resetSrcdocRequest': {
189
- // Invalidate viz cache for changed vizzes.
190
- const { vizId, changedVizIds } = message;
191
- for (const changedVizId of changedVizIds) {
192
- vizCache.invalidate(changedVizId);
193
- }
194
-
195
- // Compute a fresh build/
196
- let error: Error | undefined;
197
- let buildResult: V3BuildResult | undefined;
198
- try {
199
- buildResult = await build({
200
- vizId,
201
- enableSourcemap: true,
202
- rollup,
203
- vizCache,
204
- resolveSlug,
205
- getSvelteCompiler,
206
- });
207
- } catch (e) {
208
- if (debug) console.error(e);
209
- error = e;
210
- }
211
-
212
- let srcdoc: string | undefined;
213
- if (buildResult !== undefined) {
214
- srcdoc = await computeSrcDocV3({
215
- vizCache,
216
- buildResult,
217
- });
218
- }
219
-
220
- // Post the result of the build process
221
- const responseMessage: V3WorkerMessage = {
222
- type: 'resetSrcdocResponse',
223
- srcdoc,
224
- error,
225
- };
226
- postMessage(responseMessage);
227
-
228
- break;
229
- }
230
- }
231
- });