@cedarjs/vite 0.0.4
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/LICENSE +21 -0
- package/bins/rw-vite-build.mjs +61 -0
- package/bins/rw-vite-dev.mjs +57 -0
- package/bins/vite.mjs +12 -0
- package/dist/build/build.d.ts +21 -0
- package/dist/build/build.d.ts.map +1 -0
- package/dist/build/build.js +78 -0
- package/dist/buildFeServer.d.ts +6 -0
- package/dist/buildFeServer.d.ts.map +1 -0
- package/dist/buildFeServer.js +39 -0
- package/dist/buildRouteHooks.d.ts +3 -0
- package/dist/buildRouteHooks.d.ts.map +1 -0
- package/dist/buildRouteHooks.js +45 -0
- package/dist/buildRouteManifest.d.ts +6 -0
- package/dist/buildRouteManifest.d.ts.map +1 -0
- package/dist/buildRouteManifest.js +58 -0
- package/dist/buildRscClientAndServer.d.ts +4 -0
- package/dist/buildRscClientAndServer.d.ts.map +1 -0
- package/dist/buildRscClientAndServer.js +30 -0
- package/dist/bundled/react-server-dom-webpack.server.d.ts +2 -0
- package/dist/bundled/react-server-dom-webpack.server.d.ts.map +1 -0
- package/dist/bundled/react-server-dom-webpack.server.js +33529 -0
- package/dist/cjs/ClientRouter.d.ts +1 -0
- package/dist/cjs/build/build.d.ts +1 -0
- package/dist/cjs/build/build.js +116 -0
- package/dist/cjs/buildFeServer.d.ts +1 -0
- package/dist/cjs/buildFeServer.js +63 -0
- package/dist/cjs/buildRouteHooks.js +66 -0
- package/dist/cjs/buildRouteManifest.js +92 -0
- package/dist/cjs/buildRscClientAndServer.js +54 -0
- package/dist/cjs/client.d.ts +1 -0
- package/dist/cjs/clientSsr.d.ts +1 -0
- package/dist/cjs/devFeServer.js +153 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +184 -0
- package/dist/cjs/lib/StatusError.js +36 -0
- package/dist/cjs/lib/entries.js +53 -0
- package/dist/cjs/lib/envVarDefinitions.js +87 -0
- package/dist/cjs/lib/getMergedConfig.js +187 -0
- package/dist/cjs/lib/onWarn.js +36 -0
- package/dist/cjs/lib/registerFwGlobalsAndShims.js +117 -0
- package/dist/cjs/middleware/index.js +22 -0
- package/dist/cjs/middleware/invokeMiddleware.js +52 -0
- package/dist/cjs/middleware/register.js +106 -0
- package/dist/cjs/middleware/types.js +16 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/plugins/vite-plugin-jsx-loader.js +42 -0
- package/dist/cjs/plugins/vite-plugin-remove-from-bundle.js +56 -0
- package/dist/cjs/plugins/vite-plugin-rsc-analyze.js +104 -0
- package/dist/cjs/plugins/vite-plugin-rsc-reload.js +75 -0
- package/dist/cjs/plugins/vite-plugin-rsc-routes-auto-loader.js +159 -0
- package/dist/cjs/plugins/vite-plugin-rsc-routes-imports.js +125 -0
- package/dist/cjs/plugins/vite-plugin-rsc-ssr-router-import.js +75 -0
- package/dist/cjs/plugins/vite-plugin-rsc-transform-client.js +229 -0
- package/dist/cjs/plugins/vite-plugin-rsc-transform-server.js +398 -0
- package/dist/cjs/plugins/vite-plugin-swap-apollo-provider.js +41 -0
- package/dist/cjs/rsc/rscBuildAnalyze.js +116 -0
- package/dist/cjs/rsc/rscBuildClient.js +91 -0
- package/dist/cjs/rsc/rscBuildCopyCssAssets.js +56 -0
- package/dist/cjs/rsc/rscBuildEntriesFile.js +115 -0
- package/dist/cjs/rsc/rscBuildForServer.js +157 -0
- package/dist/cjs/rsc/rscBuildForSsr.js +172 -0
- package/dist/cjs/rsc/rscBuildRwEnvVars.js +56 -0
- package/dist/cjs/rsc/rscRenderer.js +165 -0
- package/dist/cjs/rsc/rscRequestHandler.js +162 -0
- package/dist/cjs/rsc/rscStudioHandlers.js +154 -0
- package/dist/cjs/runFeServer.js +166 -0
- package/dist/cjs/streaming/buildForStreamingServer.js +65 -0
- package/dist/cjs/streaming/collectCss.js +52 -0
- package/dist/cjs/streaming/createReactStreamingHandler.js +173 -0
- package/dist/cjs/streaming/streamHelpers.js +228 -0
- package/dist/cjs/streaming/transforms/bufferedTransform.js +61 -0
- package/dist/cjs/streaming/transforms/cancelTimeoutTransform.js +34 -0
- package/dist/cjs/streaming/transforms/encode-decode.js +36 -0
- package/dist/cjs/streaming/transforms/serverInjectionTransform.js +84 -0
- package/dist/cjs/streaming/triggerRouteHooks.js +96 -0
- package/dist/cjs/types.js +16 -0
- package/dist/cjs/utils.js +91 -0
- package/dist/devFeServer.d.ts +2 -0
- package/dist/devFeServer.d.ts.map +1 -0
- package/dist/devFeServer.js +134 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +154 -0
- package/dist/lib/StatusError.d.ts +8 -0
- package/dist/lib/StatusError.d.ts.map +1 -0
- package/dist/lib/StatusError.js +11 -0
- package/dist/lib/entries.d.ts +3 -0
- package/dist/lib/entries.d.ts.map +1 -0
- package/dist/lib/entries.js +32 -0
- package/dist/lib/envVarDefinitions.d.ts +14 -0
- package/dist/lib/envVarDefinitions.d.ts.map +1 -0
- package/dist/lib/envVarDefinitions.js +53 -0
- package/dist/lib/getMergedConfig.d.ts +11 -0
- package/dist/lib/getMergedConfig.d.ts.map +1 -0
- package/dist/lib/getMergedConfig.js +153 -0
- package/dist/lib/onWarn.d.ts +3 -0
- package/dist/lib/onWarn.d.ts.map +1 -0
- package/dist/lib/onWarn.js +12 -0
- package/dist/lib/registerFwGlobalsAndShims.d.ts +12 -0
- package/dist/lib/registerFwGlobalsAndShims.d.ts.map +1 -0
- package/dist/lib/registerFwGlobalsAndShims.js +83 -0
- package/dist/middleware/index.d.ts +2 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +1 -0
- package/dist/middleware/invokeMiddleware.d.ts +14 -0
- package/dist/middleware/invokeMiddleware.d.ts.map +1 -0
- package/dist/middleware/invokeMiddleware.js +32 -0
- package/dist/middleware/register.d.ts +23 -0
- package/dist/middleware/register.d.ts.map +1 -0
- package/dist/middleware/register.js +69 -0
- package/dist/middleware/types.d.ts +3 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +0 -0
- package/dist/package.json +1 -0
- package/dist/plugins/vite-plugin-jsx-loader.d.ts +8 -0
- package/dist/plugins/vite-plugin-jsx-loader.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-jsx-loader.js +18 -0
- package/dist/plugins/vite-plugin-remove-from-bundle.d.ts +17 -0
- package/dist/plugins/vite-plugin-remove-from-bundle.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-remove-from-bundle.js +31 -0
- package/dist/plugins/vite-plugin-rsc-analyze.d.ts +3 -0
- package/dist/plugins/vite-plugin-rsc-analyze.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-analyze.js +70 -0
- package/dist/plugins/vite-plugin-rsc-reload.d.ts +3 -0
- package/dist/plugins/vite-plugin-rsc-reload.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-reload.js +41 -0
- package/dist/plugins/vite-plugin-rsc-routes-auto-loader.d.ts +3 -0
- package/dist/plugins/vite-plugin-rsc-routes-auto-loader.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-routes-auto-loader.js +130 -0
- package/dist/plugins/vite-plugin-rsc-routes-imports.d.ts +3 -0
- package/dist/plugins/vite-plugin-rsc-routes-imports.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-routes-imports.js +96 -0
- package/dist/plugins/vite-plugin-rsc-ssr-router-import.d.ts +7 -0
- package/dist/plugins/vite-plugin-rsc-ssr-router-import.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-ssr-router-import.js +41 -0
- package/dist/plugins/vite-plugin-rsc-transform-client.d.ts +3 -0
- package/dist/plugins/vite-plugin-rsc-transform-client.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-transform-client.js +195 -0
- package/dist/plugins/vite-plugin-rsc-transform-server.d.ts +3 -0
- package/dist/plugins/vite-plugin-rsc-transform-server.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-rsc-transform-server.js +364 -0
- package/dist/plugins/vite-plugin-swap-apollo-provider.d.ts +12 -0
- package/dist/plugins/vite-plugin-swap-apollo-provider.d.ts.map +1 -0
- package/dist/plugins/vite-plugin-swap-apollo-provider.js +17 -0
- package/dist/rsc/rscBuildAnalyze.d.ts +16 -0
- package/dist/rsc/rscBuildAnalyze.d.ts.map +1 -0
- package/dist/rsc/rscBuildAnalyze.js +92 -0
- package/dist/rsc/rscBuildClient.d.ts +7 -0
- package/dist/rsc/rscBuildClient.d.ts.map +1 -0
- package/dist/rsc/rscBuildClient.js +67 -0
- package/dist/rsc/rscBuildCopyCssAssets.d.ts +7 -0
- package/dist/rsc/rscBuildCopyCssAssets.d.ts.map +1 -0
- package/dist/rsc/rscBuildCopyCssAssets.js +22 -0
- package/dist/rsc/rscBuildEntriesFile.d.ts +10 -0
- package/dist/rsc/rscBuildEntriesFile.d.ts.map +1 -0
- package/dist/rsc/rscBuildEntriesFile.js +81 -0
- package/dist/rsc/rscBuildForServer.d.ts +7 -0
- package/dist/rsc/rscBuildForServer.d.ts.map +1 -0
- package/dist/rsc/rscBuildForServer.js +133 -0
- package/dist/rsc/rscBuildForSsr.d.ts +9 -0
- package/dist/rsc/rscBuildForSsr.d.ts.map +1 -0
- package/dist/rsc/rscBuildForSsr.js +138 -0
- package/dist/rsc/rscBuildRwEnvVars.d.ts +10 -0
- package/dist/rsc/rscBuildRwEnvVars.d.ts.map +1 -0
- package/dist/rsc/rscBuildRwEnvVars.js +22 -0
- package/dist/rsc/rscRenderer.d.ts +9 -0
- package/dist/rsc/rscRenderer.d.ts.map +1 -0
- package/dist/rsc/rscRenderer.js +130 -0
- package/dist/rsc/rscRequestHandler.d.ts +10 -0
- package/dist/rsc/rscRequestHandler.d.ts.map +1 -0
- package/dist/rsc/rscRequestHandler.js +131 -0
- package/dist/rsc/rscStudioHandlers.d.ts +10 -0
- package/dist/rsc/rscStudioHandlers.d.ts.map +1 -0
- package/dist/rsc/rscStudioHandlers.js +120 -0
- package/dist/runFeServer.d.ts +2 -0
- package/dist/runFeServer.d.ts.map +1 -0
- package/dist/runFeServer.js +132 -0
- package/dist/streaming/buildForStreamingServer.d.ts +4 -0
- package/dist/streaming/buildForStreamingServer.d.ts.map +1 -0
- package/dist/streaming/buildForStreamingServer.js +41 -0
- package/dist/streaming/collectCss.d.ts +7 -0
- package/dist/streaming/collectCss.d.ts.map +1 -0
- package/dist/streaming/collectCss.js +27 -0
- package/dist/streaming/createReactStreamingHandler.d.ts +12 -0
- package/dist/streaming/createReactStreamingHandler.d.ts.map +1 -0
- package/dist/streaming/createReactStreamingHandler.js +139 -0
- package/dist/streaming/streamHelpers.d.ts +23 -0
- package/dist/streaming/streamHelpers.d.ts.map +1 -0
- package/dist/streaming/streamHelpers.js +192 -0
- package/dist/streaming/transforms/bufferedTransform.d.ts +2 -0
- package/dist/streaming/transforms/bufferedTransform.d.ts.map +1 -0
- package/dist/streaming/transforms/bufferedTransform.js +37 -0
- package/dist/streaming/transforms/cancelTimeoutTransform.d.ts +2 -0
- package/dist/streaming/transforms/cancelTimeoutTransform.d.ts.map +1 -0
- package/dist/streaming/transforms/cancelTimeoutTransform.js +10 -0
- package/dist/streaming/transforms/encode-decode.d.ts +3 -0
- package/dist/streaming/transforms/encode-decode.d.ts.map +1 -0
- package/dist/streaming/transforms/encode-decode.js +11 -0
- package/dist/streaming/transforms/serverInjectionTransform.d.ts +16 -0
- package/dist/streaming/transforms/serverInjectionTransform.d.ts.map +1 -0
- package/dist/streaming/transforms/serverInjectionTransform.js +60 -0
- package/dist/streaming/triggerRouteHooks.d.ts +26 -0
- package/dist/streaming/triggerRouteHooks.d.ts.map +1 -0
- package/dist/streaming/triggerRouteHooks.js +71 -0
- package/dist/types.d.ts +31 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +0 -0
- package/dist/utils.d.ts +14 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +62 -0
- package/inject/reactRefresh.js +7 -0
- package/package.json +116 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var serverInjectionTransform_exports = {};
|
|
20
|
+
__export(serverInjectionTransform_exports, {
|
|
21
|
+
createServerInjectionTransform: () => createServerInjectionTransform
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(serverInjectionTransform_exports);
|
|
24
|
+
var import_encode_decode = require("./encode-decode.js");
|
|
25
|
+
function createServerInjectionTransform({
|
|
26
|
+
injectionState,
|
|
27
|
+
createElement,
|
|
28
|
+
ServerInjectedHtml,
|
|
29
|
+
renderToString,
|
|
30
|
+
onlyOnFlush = false
|
|
31
|
+
}) {
|
|
32
|
+
const transformStream = new TransformStream({
|
|
33
|
+
transform(chunk, controller) {
|
|
34
|
+
if (onlyOnFlush) {
|
|
35
|
+
controller.enqueue(chunk);
|
|
36
|
+
} else {
|
|
37
|
+
const mergedBytes = insertHtml(chunk);
|
|
38
|
+
controller.enqueue(mergedBytes);
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
flush(controller) {
|
|
42
|
+
const mergedBytes = insertHtml();
|
|
43
|
+
controller.enqueue(mergedBytes);
|
|
44
|
+
const moveTagsScript = (0, import_encode_decode.encodeText)(`<script>document.querySelectorAll('body [data-rwjs-head]').forEach((el) => {
|
|
45
|
+
document.querySelectorAll('head ' + el.tagName).forEach((e) => {
|
|
46
|
+
if (
|
|
47
|
+
el.tagName === 'TITLE' ||
|
|
48
|
+
(el.tagName === 'META' &&
|
|
49
|
+
el.getAttribute('name') === e.getAttribute('name') &&
|
|
50
|
+
el.getAttribute('property') === e.getAttribute('property'))
|
|
51
|
+
) {
|
|
52
|
+
e.remove();
|
|
53
|
+
}
|
|
54
|
+
document.head.appendChild(el);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
</script>`);
|
|
58
|
+
controller.enqueue(moveTagsScript);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return transformStream;
|
|
62
|
+
function insertHtml(chunk) {
|
|
63
|
+
const serverHtmlOutput = renderToString(
|
|
64
|
+
createElement(ServerInjectedHtml, {
|
|
65
|
+
injectionState
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
const injectedBytes = (0, import_encode_decode.encodeText)(serverHtmlOutput);
|
|
69
|
+
if (chunk !== void 0) {
|
|
70
|
+
const mergedBytes = new Uint8Array(chunk.length + injectedBytes.length);
|
|
71
|
+
mergedBytes.set(chunk);
|
|
72
|
+
mergedBytes.set(injectedBytes, chunk.length);
|
|
73
|
+
return mergedBytes;
|
|
74
|
+
} else {
|
|
75
|
+
const injectedHtmlOutput = new Uint8Array(injectedBytes.length);
|
|
76
|
+
injectedHtmlOutput.set(injectedBytes);
|
|
77
|
+
return injectedHtmlOutput;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
82
|
+
0 && (module.exports = {
|
|
83
|
+
createServerInjectionTransform
|
|
84
|
+
});
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var triggerRouteHooks_exports = {};
|
|
20
|
+
__export(triggerRouteHooks_exports, {
|
|
21
|
+
loadAndRunRouteHooks: () => loadAndRunRouteHooks,
|
|
22
|
+
triggerRouteHooks: () => triggerRouteHooks
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(triggerRouteHooks_exports);
|
|
25
|
+
var import_util = require("@cedarjs/router/util");
|
|
26
|
+
const triggerRouteHooks = async ({
|
|
27
|
+
routeHooks,
|
|
28
|
+
req,
|
|
29
|
+
parsedParams = {},
|
|
30
|
+
previousOutput
|
|
31
|
+
}) => {
|
|
32
|
+
const event = {
|
|
33
|
+
params: parsedParams,
|
|
34
|
+
headers: req.headers || {},
|
|
35
|
+
query: (0, import_util.parseSearch)(req.url),
|
|
36
|
+
// cookies: req.cookies || {}, // TODO (STREAMING) we probably need some sort of cookie parser
|
|
37
|
+
// TODO (STREAMING) called app routeHook, but its just the previous output
|
|
38
|
+
appRouteHook: previousOutput
|
|
39
|
+
};
|
|
40
|
+
let meta = previousOutput?.meta || [];
|
|
41
|
+
try {
|
|
42
|
+
const metaRouteHookOutput = await routeHooks?.meta?.(event) || [];
|
|
43
|
+
const currentMeta = Array.isArray(metaRouteHookOutput) ? metaRouteHookOutput : [metaRouteHookOutput];
|
|
44
|
+
meta = [...meta, ...currentMeta];
|
|
45
|
+
} catch (e) {
|
|
46
|
+
throw new Error(`Error in meta hook: ${e.message}`);
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
meta
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
const defaultRouteHookOutput = {
|
|
53
|
+
meta: []
|
|
54
|
+
};
|
|
55
|
+
const loadAndRunRouteHooks = async ({
|
|
56
|
+
paths = [],
|
|
57
|
+
reqMeta,
|
|
58
|
+
viteDevServer,
|
|
59
|
+
previousOutput = defaultRouteHookOutput
|
|
60
|
+
}) => {
|
|
61
|
+
const loadModule = async (path) => {
|
|
62
|
+
return viteDevServer ? viteDevServer.ssrLoadModule(path) : import(path);
|
|
63
|
+
};
|
|
64
|
+
let currentRouteHooks;
|
|
65
|
+
let rhOutput = defaultRouteHookOutput;
|
|
66
|
+
const routeHookPath = paths.shift();
|
|
67
|
+
try {
|
|
68
|
+
if (routeHookPath) {
|
|
69
|
+
currentRouteHooks = await loadModule(routeHookPath);
|
|
70
|
+
rhOutput = await triggerRouteHooks({
|
|
71
|
+
routeHooks: currentRouteHooks,
|
|
72
|
+
req: reqMeta.req,
|
|
73
|
+
parsedParams: reqMeta.parsedParams,
|
|
74
|
+
previousOutput
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
if (paths.length > 0) {
|
|
78
|
+
return loadAndRunRouteHooks({
|
|
79
|
+
paths,
|
|
80
|
+
reqMeta,
|
|
81
|
+
previousOutput: rhOutput,
|
|
82
|
+
viteDevServer
|
|
83
|
+
});
|
|
84
|
+
} else {
|
|
85
|
+
return rhOutput;
|
|
86
|
+
}
|
|
87
|
+
} catch (e) {
|
|
88
|
+
console.error(`Error loading route hooks in ${routeHookPath}}`);
|
|
89
|
+
throw e;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
93
|
+
0 && (module.exports = {
|
|
94
|
+
loadAndRunRouteHooks,
|
|
95
|
+
triggerRouteHooks
|
|
96
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var types_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(types_exports);
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
convertExpressHeaders: () => convertExpressHeaders,
|
|
22
|
+
ensureProcessDirWeb: () => ensureProcessDirWeb,
|
|
23
|
+
getFullUrl: () => getFullUrl,
|
|
24
|
+
makeFilePath: () => makeFilePath,
|
|
25
|
+
ssrLoadEntryServer: () => ssrLoadEntryServer,
|
|
26
|
+
stripQueryStringAndHashFromPath: () => stripQueryStringAndHashFromPath
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(utils_exports);
|
|
29
|
+
var import_node_url = require("node:url");
|
|
30
|
+
var import_project_config = require("@cedarjs/project-config");
|
|
31
|
+
function stripQueryStringAndHashFromPath(url) {
|
|
32
|
+
return url.split("?")[0].split("#")[0];
|
|
33
|
+
}
|
|
34
|
+
function ensureProcessDirWeb(webDir = (0, import_project_config.getPaths)().web.base) {
|
|
35
|
+
if (process.cwd() !== webDir) {
|
|
36
|
+
console.error("\u26A0\uFE0F Warning: CWD is ", process.cwd());
|
|
37
|
+
console.warn("~".repeat(50));
|
|
38
|
+
console.warn(
|
|
39
|
+
"The cwd must be web/. Please use `yarn rw <command>` or run the command from the web/ directory."
|
|
40
|
+
);
|
|
41
|
+
console.log(`Changing cwd to ${webDir}....`);
|
|
42
|
+
console.log();
|
|
43
|
+
process.chdir(webDir);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function makeFilePath(path) {
|
|
47
|
+
return (0, import_node_url.pathToFileURL)(path).href;
|
|
48
|
+
}
|
|
49
|
+
async function ssrLoadEntryServer(viteDevServer) {
|
|
50
|
+
const rwPaths = (0, import_project_config.getPaths)();
|
|
51
|
+
if (!rwPaths.web.entryServer) {
|
|
52
|
+
throw new Error("entryServer not defined");
|
|
53
|
+
}
|
|
54
|
+
return viteDevServer.ssrLoadModule(
|
|
55
|
+
rwPaths.web.entryServer
|
|
56
|
+
// Have to type cast here because ssrLoadModule just returns a generic
|
|
57
|
+
// Record<string, any> type
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
function convertExpressHeaders(expressDistinctHeaders) {
|
|
61
|
+
const headers = new Headers();
|
|
62
|
+
for (const name in expressDistinctHeaders) {
|
|
63
|
+
const values = expressDistinctHeaders[name];
|
|
64
|
+
if (Array.isArray(values)) {
|
|
65
|
+
for (const value of values) {
|
|
66
|
+
headers.append(name, value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return headers;
|
|
71
|
+
}
|
|
72
|
+
const getFullUrl = (req, rscEnabled) => {
|
|
73
|
+
const baseUrl = req.protocol + "://" + req.headers.host;
|
|
74
|
+
const url = new URL(req.originalUrl || "", baseUrl);
|
|
75
|
+
const pathname = url.searchParams.get("__rwjs__pathname");
|
|
76
|
+
const search = url.searchParams.get("__rwjs__search");
|
|
77
|
+
let pathnamePlusSearch = req.originalUrl;
|
|
78
|
+
if (rscEnabled && pathname !== null && search !== null) {
|
|
79
|
+
pathnamePlusSearch = pathname + "?" + search;
|
|
80
|
+
}
|
|
81
|
+
return baseUrl + pathnamePlusSearch;
|
|
82
|
+
};
|
|
83
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
84
|
+
0 && (module.exports = {
|
|
85
|
+
convertExpressHeaders,
|
|
86
|
+
ensureProcessDirWeb,
|
|
87
|
+
getFullUrl,
|
|
88
|
+
makeFilePath,
|
|
89
|
+
ssrLoadEntryServer,
|
|
90
|
+
stripQueryStringAndHashFromPath
|
|
91
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devFeServer.d.ts","sourceRoot":"","sources":["../src/devFeServer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { createServerAdapter } from "@whatwg-node/server";
|
|
2
|
+
import express from "express";
|
|
3
|
+
import { createServer as createViteServer } from "vite";
|
|
4
|
+
import { cjsInterop } from "vite-plugin-cjs-interop";
|
|
5
|
+
import { getProjectRoutes } from "@cedarjs/internal/dist/routes.js";
|
|
6
|
+
import { getConfig, getPaths } from "@cedarjs/project-config";
|
|
7
|
+
import { createPerRequestMap, createServerStorage } from "@cedarjs/server-store";
|
|
8
|
+
import { registerFwGlobalsAndShims } from "./lib/registerFwGlobalsAndShims.js";
|
|
9
|
+
import { invoke } from "./middleware/invokeMiddleware.js";
|
|
10
|
+
import { createMiddlewareRouter } from "./middleware/register.js";
|
|
11
|
+
import { rscRoutesAutoLoader } from "./plugins/vite-plugin-rsc-routes-auto-loader.js";
|
|
12
|
+
import { collectCssPaths, componentsModules } from "./streaming/collectCss.js";
|
|
13
|
+
import { createReactStreamingHandler } from "./streaming/createReactStreamingHandler.js";
|
|
14
|
+
import {
|
|
15
|
+
convertExpressHeaders,
|
|
16
|
+
ensureProcessDirWeb,
|
|
17
|
+
getFullUrl
|
|
18
|
+
} from "./utils.js";
|
|
19
|
+
globalThis.__REDWOOD__PRERENDER_PAGES = {};
|
|
20
|
+
async function createServer() {
|
|
21
|
+
ensureProcessDirWeb();
|
|
22
|
+
registerFwGlobalsAndShims();
|
|
23
|
+
const app = express();
|
|
24
|
+
const rwPaths = getPaths();
|
|
25
|
+
const rscEnabled = getConfig().experimental.rsc?.enabled ?? false;
|
|
26
|
+
const serverStorage = createServerStorage();
|
|
27
|
+
app.use("*", (req, _res, next) => {
|
|
28
|
+
const fullUrl = getFullUrl(req, rscEnabled);
|
|
29
|
+
const perReqStore = createPerRequestMap({
|
|
30
|
+
// Convert express headers to fetch header
|
|
31
|
+
headers: convertExpressHeaders(req.headersDistinct),
|
|
32
|
+
fullUrl
|
|
33
|
+
});
|
|
34
|
+
serverStorage.run(perReqStore, next);
|
|
35
|
+
});
|
|
36
|
+
if (!rwPaths.web.entryServer || !rwPaths.web.entryClient) {
|
|
37
|
+
throw new Error(
|
|
38
|
+
"Vite entry points not found. Please check that your project has an entry.client.{jsx,tsx} and entry.server.{jsx,tsx} file in the web/src directory."
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
if (!rwPaths.web.viteConfig) {
|
|
42
|
+
throw new Error(
|
|
43
|
+
"Vite config not found. You need to setup your project with Vite using `yarn rw setup vite`"
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
const vite = await createViteServer({
|
|
47
|
+
configFile: rwPaths.web.viteConfig,
|
|
48
|
+
plugins: [
|
|
49
|
+
cjsInterop({
|
|
50
|
+
dependencies: [
|
|
51
|
+
// Skip ESM modules: rwjs/auth, rwjs/web, rwjs/auth-*-middleware, rwjs/router
|
|
52
|
+
"@cedarjs/forms",
|
|
53
|
+
"@cedarjs/prerender/*",
|
|
54
|
+
"@cedarjs/auth-*-api",
|
|
55
|
+
"@cedarjs/auth-*-web"
|
|
56
|
+
]
|
|
57
|
+
}),
|
|
58
|
+
rscEnabled && rscRoutesAutoLoader()
|
|
59
|
+
],
|
|
60
|
+
server: { middlewareMode: true },
|
|
61
|
+
logLevel: "info",
|
|
62
|
+
clearScreen: false,
|
|
63
|
+
appType: "custom"
|
|
64
|
+
});
|
|
65
|
+
const handleWithMiddleware = (route) => {
|
|
66
|
+
return createServerAdapter(async (req) => {
|
|
67
|
+
const middlewareRouter = await createMiddlewareRouter(vite);
|
|
68
|
+
const middleware = middlewareRouter.find(
|
|
69
|
+
req.method,
|
|
70
|
+
req.url
|
|
71
|
+
)?.handler;
|
|
72
|
+
if (!middleware) {
|
|
73
|
+
return new Response("No middleware found", { status: 404 });
|
|
74
|
+
}
|
|
75
|
+
const [mwRes] = await invoke(req, middleware, {
|
|
76
|
+
route,
|
|
77
|
+
viteDevServer: vite
|
|
78
|
+
});
|
|
79
|
+
return mwRes.toResponse();
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
app.use(vite.middlewares);
|
|
83
|
+
if (rscEnabled) {
|
|
84
|
+
const { createRscRequestHandler } = await import("./rsc/rscRequestHandler.js");
|
|
85
|
+
app.use(
|
|
86
|
+
"/rw-rsc",
|
|
87
|
+
createRscRequestHandler({
|
|
88
|
+
getMiddlewareRouter: async () => createMiddlewareRouter(vite),
|
|
89
|
+
viteDevServer: vite
|
|
90
|
+
})
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
const routes = getProjectRoutes();
|
|
94
|
+
const routeHandler = await createReactStreamingHandler(
|
|
95
|
+
{
|
|
96
|
+
routes,
|
|
97
|
+
clientEntryPath: rwPaths.web.entryClient,
|
|
98
|
+
getStylesheetLinks: (route) => {
|
|
99
|
+
return getCssLinks({ rwPaths, route, vite });
|
|
100
|
+
},
|
|
101
|
+
// Recreate middleware router on each request in dev
|
|
102
|
+
getMiddlewareRouter: async () => createMiddlewareRouter(vite)
|
|
103
|
+
},
|
|
104
|
+
vite
|
|
105
|
+
);
|
|
106
|
+
app.get("*", createServerAdapter(routeHandler));
|
|
107
|
+
app.post("*", handleWithMiddleware());
|
|
108
|
+
const port = getConfig().web.port;
|
|
109
|
+
console.log(`Started server on http://localhost:${port}`);
|
|
110
|
+
return app.listen(port);
|
|
111
|
+
}
|
|
112
|
+
let devApp = createServer();
|
|
113
|
+
process.stdin.on("data", async (data) => {
|
|
114
|
+
const str = data.toString().trim().toLowerCase();
|
|
115
|
+
if (str === "rs" || str === "restart") {
|
|
116
|
+
console.log("Restarting dev web server.....");
|
|
117
|
+
(await devApp).close(() => {
|
|
118
|
+
devApp = createServer();
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
function getCssLinks({
|
|
123
|
+
rwPaths,
|
|
124
|
+
route,
|
|
125
|
+
vite
|
|
126
|
+
}) {
|
|
127
|
+
const appAndRouteModules = componentsModules(
|
|
128
|
+
[rwPaths.web.app, route?.filePath].filter(Boolean),
|
|
129
|
+
vite
|
|
130
|
+
);
|
|
131
|
+
const collectedCss = collectCssPaths(appAndRouteModules);
|
|
132
|
+
const cssLinks = Array.from(collectedCss);
|
|
133
|
+
return cssLinks;
|
|
134
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAYxC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,IAAI,YAAY,EAAE,CAwK1D"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import react from "@vitejs/plugin-react";
|
|
4
|
+
import { normalizePath } from "vite";
|
|
5
|
+
import { nodePolyfills } from "vite-plugin-node-polyfills";
|
|
6
|
+
import { getWebSideDefaultBabelConfig } from "@cedarjs/babel-config";
|
|
7
|
+
import { getConfig, getPaths } from "@cedarjs/project-config";
|
|
8
|
+
import { getMergedConfig } from "./lib/getMergedConfig.js";
|
|
9
|
+
import { handleJsAsJsx } from "./plugins/vite-plugin-jsx-loader.js";
|
|
10
|
+
import { removeFromBundle } from "./plugins/vite-plugin-remove-from-bundle.js";
|
|
11
|
+
import { swapApolloProvider } from "./plugins/vite-plugin-swap-apollo-provider.js";
|
|
12
|
+
function redwoodPluginVite() {
|
|
13
|
+
const rwPaths = getPaths();
|
|
14
|
+
const rwConfig = getConfig();
|
|
15
|
+
const clientEntryPath = rwPaths.web.entryClient;
|
|
16
|
+
if (!clientEntryPath) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
"Vite client entry point not found. Please check that your project has an entry.client.{jsx,tsx} file in the web/src directory."
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
const relativeEntryPath = path.relative(rwPaths.web.src, clientEntryPath);
|
|
22
|
+
const apiPackageJsonPath = path.join(rwPaths.api.base, "package.json");
|
|
23
|
+
const realtimeEnabled = fs.existsSync(apiPackageJsonPath) && fs.readFileSync(apiPackageJsonPath, "utf-8").includes("@cedarjs/realtime");
|
|
24
|
+
const streamingEnabled = rwConfig.experimental.streamingSsr.enabled;
|
|
25
|
+
const rscEnabled = rwConfig.experimental?.rsc?.enabled;
|
|
26
|
+
const webSideDefaultBabelConfig = getWebSideDefaultBabelConfig();
|
|
27
|
+
const babelConfig = {
|
|
28
|
+
...webSideDefaultBabelConfig,
|
|
29
|
+
// For RSC we don't want to include the routes auto-loader plugin as we
|
|
30
|
+
// handle that differently in each specific RSC build stage
|
|
31
|
+
overrides: rscEnabled ? webSideDefaultBabelConfig.overrides.filter((override) => {
|
|
32
|
+
return !override.plugins?.some((plugin) => {
|
|
33
|
+
return Array.isArray(plugin) && plugin[2] === "babel-plugin-redwood-routes-auto-loader";
|
|
34
|
+
});
|
|
35
|
+
}) : webSideDefaultBabelConfig.overrides
|
|
36
|
+
};
|
|
37
|
+
return [
|
|
38
|
+
// Only include the Buffer polyfill for non-rsc dev, for DevFatalErrorPage
|
|
39
|
+
// Including the polyfill plugin in any form in RSC breaks
|
|
40
|
+
!rscEnabled && {
|
|
41
|
+
...nodePolyfills({
|
|
42
|
+
include: ["buffer"],
|
|
43
|
+
globals: {
|
|
44
|
+
Buffer: true
|
|
45
|
+
}
|
|
46
|
+
}),
|
|
47
|
+
apply: "serve"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: "redwood-plugin-vite-html-env",
|
|
51
|
+
// Vite can support replacing environment variables in index.html but
|
|
52
|
+
// there are currently two issues with that:
|
|
53
|
+
// 1. It requires the environment variables to be exposed on
|
|
54
|
+
// `import.meta.env`, but we expose them on `process.env` in Redwood.
|
|
55
|
+
// 2. There's an open issue on Vite where it adds extra quotes around
|
|
56
|
+
// the replaced values, which breaks trying to use environment
|
|
57
|
+
// variables in src attributes for example.
|
|
58
|
+
// Until those issues are resolved, we'll do the replacement ourselves
|
|
59
|
+
// instead using transformIndexHtml. Doing it this was was also the
|
|
60
|
+
// recommended way until Vite added built-in support for it.
|
|
61
|
+
//
|
|
62
|
+
// Extra quotes issue: https://github.com/vitejs/vite/issues/13424
|
|
63
|
+
// transformIndexHtml being the recommended way:
|
|
64
|
+
// https://github.com/vitejs/vite/issues/3105#issuecomment-1059975023
|
|
65
|
+
transformIndexHtml: {
|
|
66
|
+
// Setting order: 'pre' so that it runs before the built-in
|
|
67
|
+
// html env replacement.
|
|
68
|
+
order: "pre",
|
|
69
|
+
handler: (html) => {
|
|
70
|
+
let newHtml = html;
|
|
71
|
+
rwConfig.web.includeEnvironmentVariables.map((envName) => {
|
|
72
|
+
newHtml = newHtml.replaceAll(
|
|
73
|
+
`%${envName}%`,
|
|
74
|
+
process.env[envName] || ""
|
|
75
|
+
);
|
|
76
|
+
});
|
|
77
|
+
Object.entries(process.env).forEach(([envName, value]) => {
|
|
78
|
+
if (envName.startsWith("REDWOOD_ENV_")) {
|
|
79
|
+
newHtml = newHtml.replaceAll(`%${envName}%`, value || "");
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
return newHtml;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
name: "redwood-plugin-vite",
|
|
88
|
+
// ---------- Bundle injection ----------
|
|
89
|
+
// Used by Vite during dev, to inject the entrypoint.
|
|
90
|
+
transformIndexHtml: {
|
|
91
|
+
order: "pre",
|
|
92
|
+
handler: (html) => {
|
|
93
|
+
if (fs.existsSync(clientEntryPath)) {
|
|
94
|
+
return html.replace(
|
|
95
|
+
"</head>",
|
|
96
|
+
// @NOTE the slash in front, for windows compatibility and for pages in subdirectories
|
|
97
|
+
`<script type="module" src="/${relativeEntryPath}"></script>
|
|
98
|
+
</head>`
|
|
99
|
+
);
|
|
100
|
+
} else {
|
|
101
|
+
return html;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
// Used by rollup during build to inject the entrypoint
|
|
106
|
+
// but note index.html does not come through as an id during dev
|
|
107
|
+
transform: (code, id) => {
|
|
108
|
+
if (fs.existsSync(clientEntryPath) && normalizePath(id) === normalizePath(rwPaths.web.html)) {
|
|
109
|
+
return {
|
|
110
|
+
code: code.replace(
|
|
111
|
+
"</head>",
|
|
112
|
+
`<script type="module" src="/${relativeEntryPath}"></script>
|
|
113
|
+
</head>`
|
|
114
|
+
),
|
|
115
|
+
map: null
|
|
116
|
+
};
|
|
117
|
+
} else {
|
|
118
|
+
return {
|
|
119
|
+
code,
|
|
120
|
+
map: null
|
|
121
|
+
// Returning null here preserves the original sourcemap
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
// ---------- End Bundle injection ----------
|
|
126
|
+
// @MARK: Using the config hook here let's us modify the config
|
|
127
|
+
// but returning plugins will **not** work
|
|
128
|
+
config: getMergedConfig(rwConfig, rwPaths)
|
|
129
|
+
},
|
|
130
|
+
// We can remove when streaming is stable
|
|
131
|
+
streamingEnabled && swapApolloProvider(),
|
|
132
|
+
handleJsAsJsx(),
|
|
133
|
+
// Remove the splash-page from the bundle.
|
|
134
|
+
removeFromBundle(
|
|
135
|
+
[
|
|
136
|
+
{
|
|
137
|
+
id: /@cedarjs\/router\/dist\/splash-page/
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
["SplashPage"]
|
|
141
|
+
),
|
|
142
|
+
!realtimeEnabled && removeFromBundle([
|
|
143
|
+
{
|
|
144
|
+
id: /@cedarjs\/web\/dist\/apollo\/sseLink/
|
|
145
|
+
}
|
|
146
|
+
]),
|
|
147
|
+
react({
|
|
148
|
+
babel: babelConfig
|
|
149
|
+
})
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
export {
|
|
153
|
+
redwoodPluginVite as default
|
|
154
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusError.d.ts","sourceRoot":"","sources":["../../src/lib/StatusError.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IAG3B,UAAU,EAAE,MAAM;gBADzB,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM;CAI5B;AAGD,eAAO,MAAM,aAAa,MAAO,OAAO,KAAG,CAAC,IAAI;IAAE,UAAU,EAAE,MAAM,CAAA;CACxB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/lib/entries.ts"],"names":[],"mappings":"AAWA,wBAAgB,UAAU,2BA0BzB;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAI1E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ensurePosixPath,
|
|
3
|
+
getPaths,
|
|
4
|
+
importStatementPath
|
|
5
|
+
} from "@cedarjs/project-config";
|
|
6
|
+
import { getProject } from "@cedarjs/structure/dist/index.js";
|
|
7
|
+
import { makeFilePath } from "../utils.js";
|
|
8
|
+
function getEntries() {
|
|
9
|
+
const entries = {};
|
|
10
|
+
const rwProject = getProject(getPaths().base);
|
|
11
|
+
const routes = rwProject.getRouter().routes;
|
|
12
|
+
const pages = routes.map((route) => route.page);
|
|
13
|
+
for (const page of pages) {
|
|
14
|
+
entries[page.constName] = ensurePosixPath(importStatementPath(page.path));
|
|
15
|
+
}
|
|
16
|
+
const serverEntry = getPaths().web.entryServer;
|
|
17
|
+
if (!serverEntry) {
|
|
18
|
+
throw new Error("Server Entry file not found");
|
|
19
|
+
}
|
|
20
|
+
entries["__rwjs__ServerEntry"] = serverEntry;
|
|
21
|
+
entries["__rwjs__Routes"] = getPaths().web.routes;
|
|
22
|
+
return entries;
|
|
23
|
+
}
|
|
24
|
+
async function getEntriesFromDist() {
|
|
25
|
+
const entriesDist = getPaths().web.distRscEntries;
|
|
26
|
+
const { serverEntries } = await import(makeFilePath(entriesDist));
|
|
27
|
+
return serverEntries;
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
getEntries,
|
|
31
|
+
getEntriesFromDist
|
|
32
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare function getEnvVarDefinitions(): {
|
|
2
|
+
RWJS_ENV: {
|
|
3
|
+
RWJS_API_GRAPHQL_URL: string;
|
|
4
|
+
RWJS_API_URL: string;
|
|
5
|
+
__REDWOOD__APP_TITLE: string;
|
|
6
|
+
RWJS_EXP_STREAMING_SSR: boolean;
|
|
7
|
+
RWJS_EXP_RSC: boolean;
|
|
8
|
+
};
|
|
9
|
+
RWJS_DEBUG_ENV: {
|
|
10
|
+
RWJS_SRC_ROOT: string;
|
|
11
|
+
REDWOOD_ENV_EDITOR: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=envVarDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envVarDefinitions.d.ts","sourceRoot":"","sources":["../../src/lib/envVarDefinitions.ts"],"names":[],"mappings":"AAIA,wBAAgB,oBAAoB;;;;;;;;;;;;EAkDnC"}
|