@quilted/rollup 0.2.12 → 0.2.14
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.
- package/CHANGELOG.md +14 -0
- package/build/esm/app.mjs +87 -66
- package/build/esm/index.mjs +3 -1
- package/build/esm/server.mjs +45 -12
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/typescript/app.d.ts +112 -28
- package/build/typescript/app.d.ts.map +1 -1
- package/build/typescript/index.d.ts +4 -2
- package/build/typescript/index.d.ts.map +1 -1
- package/build/typescript/server.d.ts +86 -25
- package/build/typescript/server.d.ts.map +1 -1
- package/build/typescript/shared/server.d.ts +35 -0
- package/build/typescript/shared/server.d.ts.map +1 -0
- package/package.json +11 -2
- package/source/app.ts +152 -91
- package/source/index.ts +13 -4
- package/source/server.ts +88 -32
- package/source/shared/server.ts +46 -0
- package/build/esm/features/request-router.mjs +0 -31
- package/source/features/request-router.ts +0 -34
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @quilted/rollup
|
|
2
2
|
|
|
3
|
+
## 0.2.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#669](https://github.com/lemonmade/quilt/pull/669) [`73127e7f`](https://github.com/lemonmade/quilt/commit/73127e7f32d15ddcdf1ea025eabcb2830e5ba559) Thanks [@lemonmade](https://github.com/lemonmade)! - Add runtime overrides
|
|
8
|
+
|
|
9
|
+
- [`79845135`](https://github.com/lemonmade/quilt/commit/79845135aababc08b3a02b19a23c8b83d4dbdb82) Thanks [@lemonmade](https://github.com/lemonmade)! - Update rollup-plugin-visualizer to remove peer dependency error
|
|
10
|
+
|
|
11
|
+
## 0.2.13
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [`5a1a3343`](https://github.com/lemonmade/quilt/commit/5a1a33433e1a944bfbbc7562da5e6775585398d3) Thanks [@lemonmade](https://github.com/lemonmade)! - Add async rollup plugin to Vite builds
|
|
16
|
+
|
|
3
17
|
## 0.2.12
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/build/esm/app.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as path from 'node:path';
|
|
2
2
|
import * as fs from 'node:fs/promises';
|
|
3
3
|
import { createRequire } from 'node:module';
|
|
4
|
-
import { MAGIC_MODULE_ENTRY,
|
|
4
|
+
import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER, MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS } from './constants.mjs';
|
|
5
5
|
import { resolveEnvOption } from './features/env.mjs';
|
|
6
6
|
import { multiline } from './shared/strings.mjs';
|
|
7
7
|
import { getNodePlugins, removeBuildFiles, normalizeRollupInput } from './shared/rollup.mjs';
|
|
@@ -10,14 +10,15 @@ import { getBrowserGroups, getBrowserGroupTargetDetails, targetsSupportModules,
|
|
|
10
10
|
import { Project } from './shared/project.mjs';
|
|
11
11
|
|
|
12
12
|
const require = createRequire(import.meta.url);
|
|
13
|
-
async function
|
|
13
|
+
async function quiltApp({
|
|
14
14
|
root = process.cwd(),
|
|
15
15
|
app,
|
|
16
16
|
env,
|
|
17
17
|
graphql,
|
|
18
18
|
assets,
|
|
19
19
|
browser: browserOptions,
|
|
20
|
-
server: serverOptions
|
|
20
|
+
server: serverOptions,
|
|
21
|
+
runtime
|
|
21
22
|
} = {}) {
|
|
22
23
|
const project = Project.load(root);
|
|
23
24
|
const browserGroups = await getBrowserGroups({ root: project.root });
|
|
@@ -26,10 +27,11 @@ async function quiltAppOptions({
|
|
|
26
27
|
const optionPromises = [];
|
|
27
28
|
browserGroupEntries.forEach(([name, browsers], index) => {
|
|
28
29
|
optionPromises.push(
|
|
29
|
-
|
|
30
|
+
quiltAppBrowser({
|
|
30
31
|
root: project.root,
|
|
31
32
|
app,
|
|
32
33
|
graphql,
|
|
34
|
+
runtime,
|
|
33
35
|
...browserOptions,
|
|
34
36
|
env: {
|
|
35
37
|
...resolveEnvOption(env),
|
|
@@ -48,10 +50,11 @@ async function quiltAppOptions({
|
|
|
48
50
|
);
|
|
49
51
|
});
|
|
50
52
|
optionPromises.push(
|
|
51
|
-
|
|
53
|
+
quiltAppServer({
|
|
52
54
|
root: project.root,
|
|
53
55
|
app,
|
|
54
56
|
graphql,
|
|
57
|
+
runtime: runtime?.server,
|
|
55
58
|
...serverOptions,
|
|
56
59
|
env: {
|
|
57
60
|
...resolveEnvOption(env),
|
|
@@ -62,11 +65,11 @@ async function quiltAppOptions({
|
|
|
62
65
|
);
|
|
63
66
|
return Promise.all(optionPromises);
|
|
64
67
|
}
|
|
65
|
-
async function
|
|
66
|
-
const { root = process.cwd(), assets } = options;
|
|
68
|
+
async function quiltAppBrowser(options = {}) {
|
|
69
|
+
const { root = process.cwd(), assets, runtime } = options;
|
|
67
70
|
const project = Project.load(root);
|
|
68
71
|
const [plugins, browserGroup] = await Promise.all([
|
|
69
|
-
|
|
72
|
+
quiltAppBrowserPlugins(options),
|
|
70
73
|
getBrowserGroupTargetDetails(assets?.targets, {
|
|
71
74
|
root: project.root
|
|
72
75
|
})
|
|
@@ -80,7 +83,9 @@ async function quiltAppBrowserOptions(options = {}) {
|
|
|
80
83
|
plugins,
|
|
81
84
|
output: {
|
|
82
85
|
format: isESM ? "esm" : "systemjs",
|
|
83
|
-
dir: project.resolve(
|
|
86
|
+
dir: project.resolve(
|
|
87
|
+
assets?.directory ?? runtime?.assets?.directory ?? `build/assets`
|
|
88
|
+
),
|
|
84
89
|
entryFileNames: `[name]${targetFilenamePart}.[hash].js`,
|
|
85
90
|
assetFileNames: `[name]${targetFilenamePart}.[hash].[ext]`,
|
|
86
91
|
chunkFileNames: `[name]${targetFilenamePart}.[hash].js`,
|
|
@@ -90,7 +95,7 @@ async function quiltAppBrowserOptions(options = {}) {
|
|
|
90
95
|
}
|
|
91
96
|
};
|
|
92
97
|
}
|
|
93
|
-
async function
|
|
98
|
+
async function quiltAppBrowserPlugins({
|
|
94
99
|
root = process.cwd(),
|
|
95
100
|
app,
|
|
96
101
|
entry,
|
|
@@ -254,25 +259,29 @@ function quiltAppBrowserInput({
|
|
|
254
259
|
}
|
|
255
260
|
};
|
|
256
261
|
}
|
|
257
|
-
async function
|
|
258
|
-
const {
|
|
262
|
+
async function quiltAppServer(options = {}) {
|
|
263
|
+
const {
|
|
264
|
+
output,
|
|
265
|
+
root = process.cwd(),
|
|
266
|
+
runtime = nodeAppServerRuntime()
|
|
267
|
+
} = options;
|
|
259
268
|
const project = Project.load(root);
|
|
260
269
|
const hash = output?.hash ?? "async-only";
|
|
261
|
-
const
|
|
262
|
-
const plugins = await quiltAppServer(options);
|
|
270
|
+
const plugins = await quiltAppServerPlugins({ ...options, root, runtime });
|
|
263
271
|
return {
|
|
264
272
|
plugins,
|
|
265
273
|
output: {
|
|
266
|
-
format:
|
|
274
|
+
format: "esm",
|
|
267
275
|
dir: project.resolve(`build/server`),
|
|
268
276
|
entryFileNames: `[name]${hash === true ? `.[hash]` : ""}.js`,
|
|
269
277
|
chunkFileNames: `[name]${hash === true || hash === "async-only" ? `.[hash]` : ""}.js`,
|
|
270
278
|
assetFileNames: `[name]${hash === true ? `.[hash]` : ""}.[ext]`,
|
|
271
|
-
generatedCode: "es2015"
|
|
279
|
+
generatedCode: "es2015",
|
|
280
|
+
...runtime.output?.options
|
|
272
281
|
}
|
|
273
282
|
};
|
|
274
283
|
}
|
|
275
|
-
async function
|
|
284
|
+
async function quiltAppServerPlugins({
|
|
276
285
|
root = process.cwd(),
|
|
277
286
|
app,
|
|
278
287
|
env,
|
|
@@ -280,7 +289,8 @@ async function quiltAppServer({
|
|
|
280
289
|
format = "request-router",
|
|
281
290
|
graphql = true,
|
|
282
291
|
assets,
|
|
283
|
-
output
|
|
292
|
+
output,
|
|
293
|
+
runtime
|
|
284
294
|
} = {}) {
|
|
285
295
|
const project = Project.load(root);
|
|
286
296
|
const mode = (typeof env === "object" ? env?.mode : env) ?? "production";
|
|
@@ -317,10 +327,16 @@ async function quiltAppServer({
|
|
|
317
327
|
quiltAppServerInput({ root: project.root, entry, format }),
|
|
318
328
|
...nodePlugins,
|
|
319
329
|
replaceProcessEnv({ mode }),
|
|
320
|
-
magicModuleEnv({ ...resolveEnvOption(env), mode }),
|
|
330
|
+
magicModuleEnv({ runtime: runtime?.env, ...resolveEnvOption(env), mode }),
|
|
321
331
|
magicModuleAppComponent({ entry: app, root: project.root }),
|
|
322
|
-
|
|
323
|
-
|
|
332
|
+
createMagicModulePlugin({
|
|
333
|
+
name: "@quilted/request-router",
|
|
334
|
+
sideEffects: true,
|
|
335
|
+
module: MAGIC_MODULE_ENTRY,
|
|
336
|
+
source() {
|
|
337
|
+
const options = { assets: { baseURL } };
|
|
338
|
+
return runtime?.requestRouter?.(options) ?? nodeAppServerRuntime().requestRouter(options);
|
|
339
|
+
}
|
|
324
340
|
}),
|
|
325
341
|
magicModuleAppRequestRouter({ entry, root: project.root }),
|
|
326
342
|
magicModuleAppAssetManifests(),
|
|
@@ -405,6 +421,55 @@ function quiltAppServerInput({
|
|
|
405
421
|
}
|
|
406
422
|
};
|
|
407
423
|
}
|
|
424
|
+
function nodeAppServerRuntime({
|
|
425
|
+
host,
|
|
426
|
+
port,
|
|
427
|
+
format = "module",
|
|
428
|
+
assets: serveAssets = true
|
|
429
|
+
} = {}) {
|
|
430
|
+
const rollupFormat = format === "commonjs" || format === "cjs" ? "cjs" : "esm";
|
|
431
|
+
return {
|
|
432
|
+
env: "process.env",
|
|
433
|
+
output: {
|
|
434
|
+
options: {
|
|
435
|
+
format: rollupFormat
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
requestRouter({ assets }) {
|
|
439
|
+
const { baseURL } = assets;
|
|
440
|
+
return multiline`
|
|
441
|
+
${serveAssets ? `import * as path from 'path';` : ""}
|
|
442
|
+
${rollupFormat === "cjs" ? "" : `import {fileURLToPath} from 'url';`}
|
|
443
|
+
import {createServer} from 'http';
|
|
444
|
+
|
|
445
|
+
import requestRouter from ${JSON.stringify(
|
|
446
|
+
MAGIC_MODULE_REQUEST_ROUTER
|
|
447
|
+
)};
|
|
448
|
+
|
|
449
|
+
import {createHttpRequestListener${serveAssets ? ", serveStatic" : ""}} from '@quilted/quilt/request-router/node';
|
|
450
|
+
|
|
451
|
+
const port = ${port ?? "Number.parseInt(process.env.PORT, 10)"};
|
|
452
|
+
const host = ${host ? JSON.stringify(host) : "process.env.HOST"};
|
|
453
|
+
|
|
454
|
+
${serveAssets ? multiline`
|
|
455
|
+
const dirname = ${rollupFormat === "cjs" ? `__dirname` : `path.dirname(fileURLToPath(import.meta.url))`};
|
|
456
|
+
const serve = serveStatic(path.resolve(dirname, '../assets'), {
|
|
457
|
+
baseUrl: ${JSON.stringify(baseURL)},
|
|
458
|
+
});
|
|
459
|
+
` : ""}
|
|
460
|
+
const listener = createHttpRequestListener(requestRouter);
|
|
461
|
+
|
|
462
|
+
createServer(async (request, response) => {
|
|
463
|
+
${serveAssets ? `if (request.url.startsWith(${JSON.stringify(
|
|
464
|
+
baseURL
|
|
465
|
+
)})) return serve(request, response);` : ""}
|
|
466
|
+
|
|
467
|
+
await listener(request, response);
|
|
468
|
+
}).listen(port, host);
|
|
469
|
+
`;
|
|
470
|
+
}
|
|
471
|
+
};
|
|
472
|
+
}
|
|
408
473
|
function magicModuleAppComponent({
|
|
409
474
|
entry,
|
|
410
475
|
root = process.cwd()
|
|
@@ -507,50 +572,6 @@ function magicModuleAppBrowserEntry({
|
|
|
507
572
|
}
|
|
508
573
|
});
|
|
509
574
|
}
|
|
510
|
-
function magicModuleAppServerEntry({
|
|
511
|
-
host,
|
|
512
|
-
port,
|
|
513
|
-
assets,
|
|
514
|
-
format = "module"
|
|
515
|
-
} = {}) {
|
|
516
|
-
const baseURL = typeof assets === "object" ? assets.baseURL : "/assets/";
|
|
517
|
-
return createMagicModulePlugin({
|
|
518
|
-
name: "@quilted/request-router/app-server",
|
|
519
|
-
module: MAGIC_MODULE_ENTRY,
|
|
520
|
-
sideEffects: true,
|
|
521
|
-
async source() {
|
|
522
|
-
const serveAssets = Boolean(assets);
|
|
523
|
-
return multiline`
|
|
524
|
-
${serveAssets ? `import * as path from 'path';` : ""}
|
|
525
|
-
${serveAssets && format === "module" ? `import {fileURLToPath} from 'url';` : ""}
|
|
526
|
-
import {createServer} from 'http';
|
|
527
|
-
|
|
528
|
-
import requestRouter from ${JSON.stringify(
|
|
529
|
-
MAGIC_MODULE_REQUEST_ROUTER
|
|
530
|
-
)};
|
|
531
|
-
|
|
532
|
-
import {createHttpRequestListener${serveAssets ? ", serveStatic" : ""}} from '@quilted/quilt/request-router/node';
|
|
533
|
-
|
|
534
|
-
const port = ${port ?? "Number.parseInt(process.env.PORT, 10)"};
|
|
535
|
-
const host = ${host ? JSON.stringify(host) : "process.env.HOST"};
|
|
536
|
-
|
|
537
|
-
${serveAssets ? `const dirname = ${format === "module" ? "path.dirname(fileURLToPath(import.meta.url))" : "__dirname"};
|
|
538
|
-
const serve = serveStatic(path.resolve(dirname, '../assets'), {
|
|
539
|
-
baseUrl: ${JSON.stringify(baseURL)},
|
|
540
|
-
});` : ""}
|
|
541
|
-
const listener = createHttpRequestListener(requestRouter);
|
|
542
|
-
|
|
543
|
-
createServer(async (request, response) => {
|
|
544
|
-
${serveAssets ? `if (request.url.startsWith(${JSON.stringify(
|
|
545
|
-
baseURL
|
|
546
|
-
)})) return serve(request, response);` : ""}
|
|
547
|
-
|
|
548
|
-
await listener(request, response);
|
|
549
|
-
}).listen(port, host);
|
|
550
|
-
`;
|
|
551
|
-
}
|
|
552
|
-
});
|
|
553
|
-
}
|
|
554
575
|
function magicModuleAppAssetManifests() {
|
|
555
576
|
return createMagicModulePlugin({
|
|
556
577
|
name: "@quilted/magic-module/asset-manifests",
|
|
@@ -705,4 +726,4 @@ function createManualChunksSorter() {
|
|
|
705
726
|
};
|
|
706
727
|
}
|
|
707
728
|
|
|
708
|
-
export { MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER, magicModuleAppAssetManifests, magicModuleAppBrowserEntry, magicModuleAppComponent, magicModuleAppRequestRouter,
|
|
729
|
+
export { MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER, magicModuleAppAssetManifests, magicModuleAppBrowserEntry, magicModuleAppComponent, magicModuleAppRequestRouter, nodeAppServerRuntime, quiltApp, quiltAppBrowser, quiltAppBrowserInput, quiltAppBrowserPlugins, quiltAppServer, quiltAppServerInput, quiltAppServerPlugins, sourceEntryForAppBrowser };
|
package/build/esm/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { quiltApp, quiltAppBrowser, quiltAppBrowserPlugins, quiltAppServer, quiltAppServerPlugins } from './app.mjs';
|
|
2
2
|
export { quiltModule } from './module.mjs';
|
|
3
3
|
export { quiltPackage, quiltPackageESModules, quiltPackageESNext } from './package.mjs';
|
|
4
4
|
export { quiltServer } from './server.mjs';
|
|
5
|
+
export { multiline } from './shared/strings.mjs';
|
|
6
|
+
export { MAGIC_MODULE_APP_COMPONENT, MAGIC_MODULE_BROWSER_ASSETS, MAGIC_MODULE_ENTRY, MAGIC_MODULE_ENV, MAGIC_MODULE_REQUEST_ROUTER } from './constants.mjs';
|
package/build/esm/server.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Project } from './shared/project.mjs';
|
|
2
2
|
import { getNodePlugins, removeBuildFiles } from './shared/rollup.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { multiline } from './shared/strings.mjs';
|
|
4
4
|
import { resolveEnvOption } from './features/env.mjs';
|
|
5
5
|
import { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER } from './constants.mjs';
|
|
6
6
|
import { createMagicModulePlugin } from './shared/magic-module.mjs';
|
|
@@ -12,16 +12,16 @@ async function quiltServer({
|
|
|
12
12
|
env,
|
|
13
13
|
graphql = true,
|
|
14
14
|
output,
|
|
15
|
-
|
|
16
|
-
host
|
|
15
|
+
runtime = nodeServerRuntime()
|
|
17
16
|
} = {}) {
|
|
18
17
|
const project = Project.load(rootPath);
|
|
19
18
|
const mode = (typeof env === "object" ? env?.mode : void 0) ?? "production";
|
|
20
|
-
const outputDirectory = project.resolve(
|
|
19
|
+
const outputDirectory = project.resolve(
|
|
20
|
+
output?.directory ?? runtime.output?.directory ?? "build/server"
|
|
21
|
+
);
|
|
21
22
|
const minify = output?.minify ?? false;
|
|
22
23
|
const bundle = output?.bundle;
|
|
23
24
|
const hash = output?.hash ?? "async-only";
|
|
24
|
-
const outputFormat = output?.format ?? "esmodules";
|
|
25
25
|
const [
|
|
26
26
|
{ visualizer },
|
|
27
27
|
{ magicModuleEnv, replaceProcessEnv },
|
|
@@ -46,7 +46,7 @@ async function quiltServer({
|
|
|
46
46
|
const plugins = [
|
|
47
47
|
...nodePlugins,
|
|
48
48
|
replaceProcessEnv({ mode }),
|
|
49
|
-
magicModuleEnv({ ...resolveEnvOption(env), mode }),
|
|
49
|
+
magicModuleEnv({ runtime: runtime.env, ...resolveEnvOption(env), mode }),
|
|
50
50
|
sourceCode({ mode, targets: ["current node"] }),
|
|
51
51
|
tsconfigAliases({ root: project.root }),
|
|
52
52
|
monorepoPackageAliases({ root: project.root }),
|
|
@@ -61,9 +61,13 @@ async function quiltServer({
|
|
|
61
61
|
module: MAGIC_MODULE_REQUEST_ROUTER,
|
|
62
62
|
alias: serverEntry
|
|
63
63
|
}),
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
64
|
+
createMagicModulePlugin({
|
|
65
|
+
name: "@quilted/request-router",
|
|
66
|
+
sideEffects: true,
|
|
67
|
+
module: MAGIC_MODULE_ENTRY,
|
|
68
|
+
source() {
|
|
69
|
+
return runtime.requestRouter?.() ?? nodeServerRuntime().requestRouter();
|
|
70
|
+
}
|
|
67
71
|
})
|
|
68
72
|
);
|
|
69
73
|
}
|
|
@@ -87,12 +91,41 @@ async function quiltServer({
|
|
|
87
91
|
input: finalEntry === MAGIC_MODULE_ENTRY ? { server: finalEntry } : finalEntry,
|
|
88
92
|
plugins,
|
|
89
93
|
output: {
|
|
90
|
-
format:
|
|
94
|
+
format: "esm",
|
|
91
95
|
dir: outputDirectory,
|
|
92
96
|
entryFileNames: `[name]${hash === true ? `.[hash]` : ""}.js`,
|
|
93
97
|
chunkFileNames: `[name]${hash === true || hash === "async-only" ? `.[hash]` : ""}.js`,
|
|
94
98
|
assetFileNames: `[name]${hash === true ? `.[hash]` : ""}.[ext]`,
|
|
95
|
-
generatedCode: "es2015"
|
|
99
|
+
generatedCode: "es2015",
|
|
100
|
+
...runtime.output?.options
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function nodeServerRuntime({
|
|
105
|
+
host,
|
|
106
|
+
port,
|
|
107
|
+
format = "module"
|
|
108
|
+
} = {}) {
|
|
109
|
+
return {
|
|
110
|
+
env: "process.env",
|
|
111
|
+
output: {
|
|
112
|
+
options: {
|
|
113
|
+
format: format === "commonjs" || format === "cjs" ? "cjs" : "esm"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
requestRouter() {
|
|
117
|
+
return multiline`
|
|
118
|
+
import requestRouter from ${JSON.stringify(
|
|
119
|
+
MAGIC_MODULE_REQUEST_ROUTER
|
|
120
|
+
)};
|
|
121
|
+
|
|
122
|
+
import {createHttpServer} from '@quilted/quilt/request-router/node';
|
|
123
|
+
|
|
124
|
+
const port = ${port ?? "Number.parseInt(process.env.PORT, 10)"};
|
|
125
|
+
const host = ${host ? JSON.stringify(host) : "process.env.HOST"};
|
|
126
|
+
|
|
127
|
+
createHttpServer(requestRouter).listen(port, host);
|
|
128
|
+
`;
|
|
96
129
|
}
|
|
97
130
|
};
|
|
98
131
|
}
|
|
@@ -112,4 +145,4 @@ async function sourceForServer(project) {
|
|
|
112
145
|
return possibleSourceFiles[0];
|
|
113
146
|
}
|
|
114
147
|
|
|
115
|
-
export { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER, quiltServer };
|
|
148
|
+
export { MAGIC_MODULE_ENTRY, MAGIC_MODULE_REQUEST_ROUTER, nodeServerRuntime, quiltServer };
|