@reckona/mreact-router 0.0.165 → 0.0.167
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/dist/actions.d.ts +6 -0
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +71 -8
- package/dist/actions.js.map +1 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +21 -8
- package/dist/build.js.map +1 -1
- package/dist/render.d.ts +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +42 -16
- package/dist/render.js.map +1 -1
- package/dist/serve.d.ts.map +1 -1
- package/dist/serve.js +1 -0
- package/dist/serve.js.map +1 -1
- package/package.json +11 -11
- package/src/actions.ts +106 -8
- package/src/build.ts +29 -11
- package/src/render.ts +76 -25
- package/src/serve.ts +1 -0
package/dist/build.js
CHANGED
|
@@ -21,6 +21,7 @@ import { collectRouteCssFilesFromSources, collectSpecialBoundaryFiles } from "./
|
|
|
21
21
|
import { existingRouteShellCandidates } from "./route-shells.js";
|
|
22
22
|
import { sourceModuleCandidates } from "./source-modules.js";
|
|
23
23
|
import { collectBuildInferredServerActions } from "./server-action-inference.js";
|
|
24
|
+
import { prepareRouteServerActionPlaceholders } from "./actions.js";
|
|
24
25
|
import { viteDefineCacheKey, vitePluginsCacheKey } from "./vite-plugin-cache-key.js";
|
|
25
26
|
import { workspacePackageFile } from "./workspace-packages.js";
|
|
26
27
|
import { prependTailwindSourceDirectives } from "./tailwind-source.js";
|
|
@@ -184,12 +185,8 @@ export async function buildApp(options) {
|
|
|
184
185
|
routesDir: project.routesDir,
|
|
185
186
|
})),
|
|
186
187
|
]);
|
|
187
|
-
const actionRenderBundleExcludedFiles = new Set([...serverActionManifest.routeReferences.entries()]
|
|
188
|
-
.filter(([, references]) => references.length > 0)
|
|
189
|
-
.map(([file]) => file));
|
|
190
188
|
const { artifacts: serverModules, sharedChunks: serverModuleSharedChunks } = await (shouldTrackBuildPhases === false
|
|
191
189
|
? buildServerModuleArtifacts({
|
|
192
|
-
actionRenderBundleExcludedFiles,
|
|
193
190
|
bundleRequestRuntimePackages: shouldBuildAwsLambda,
|
|
194
191
|
bundleCache: new Map(),
|
|
195
192
|
clientRouteInferenceCache: serverClientRouteInferenceCache,
|
|
@@ -199,12 +196,12 @@ export async function buildApp(options) {
|
|
|
199
196
|
project,
|
|
200
197
|
projectRoot: project.projectRoot,
|
|
201
198
|
routes,
|
|
199
|
+
serverActionReferencesByFile: serverActionManifest.routeReferences,
|
|
202
200
|
sourceAnalysis,
|
|
203
201
|
serverTransformCache,
|
|
204
202
|
vitePlugins,
|
|
205
203
|
})
|
|
206
204
|
: timeBuildPhase(timingSink, progressSink, "serverModules", () => buildServerModuleArtifacts({
|
|
207
|
-
actionRenderBundleExcludedFiles,
|
|
208
205
|
bundleRequestRuntimePackages: shouldBuildAwsLambda,
|
|
209
206
|
bundleCache: new Map(),
|
|
210
207
|
clientRouteInferenceCache: serverClientRouteInferenceCache,
|
|
@@ -214,6 +211,7 @@ export async function buildApp(options) {
|
|
|
214
211
|
project,
|
|
215
212
|
projectRoot: project.projectRoot,
|
|
216
213
|
routes,
|
|
214
|
+
serverActionReferencesByFile: serverActionManifest.routeReferences,
|
|
217
215
|
sourceAnalysis,
|
|
218
216
|
serverTransformCache,
|
|
219
217
|
vitePlugins,
|
|
@@ -560,6 +558,10 @@ function analyzeBuildSource(source, filename) {
|
|
|
560
558
|
function buildSourceAnalysisForFile(sourceAnalysis, projectRoot, file) {
|
|
561
559
|
return sourceAnalysis.byFile.get(relative(projectRoot, file).split(sep).join("/"));
|
|
562
560
|
}
|
|
561
|
+
function canUseBuildServerActionPlaceholders(references) {
|
|
562
|
+
return references.every((reference) => reference.expression === reference.exportName &&
|
|
563
|
+
/^[A-Za-z_$][\w$]*$/u.test(reference.expression));
|
|
564
|
+
}
|
|
563
565
|
async function buildPublicAssetManifest(project, clientDir) {
|
|
564
566
|
const [publicAssetPaths, appConventionPublicAssets] = await Promise.all([
|
|
565
567
|
collectPublicAssetPaths(project.publicDir),
|
|
@@ -1355,6 +1357,13 @@ async function buildServerModuleArtifacts(options) {
|
|
|
1355
1357
|
const route = routeByFile.get(file);
|
|
1356
1358
|
const routeAnalysis = options.sourceAnalysis.byRouteFile.get(file);
|
|
1357
1359
|
const artifact = {};
|
|
1360
|
+
const routeActionReferences = options.serverActionReferencesByFile.get(file) ?? [];
|
|
1361
|
+
const renderSource = routeActionReferences.length === 0
|
|
1362
|
+
? source
|
|
1363
|
+
: prepareRouteServerActionPlaceholders({
|
|
1364
|
+
code: source,
|
|
1365
|
+
formActionReferences: routeActionReferences,
|
|
1366
|
+
});
|
|
1358
1367
|
if (requestArtifactFiles.has(file) ||
|
|
1359
1368
|
loaderArtifactFiles.has(file) ||
|
|
1360
1369
|
metadataArtifactFiles.has(file)) {
|
|
@@ -1429,8 +1438,11 @@ async function buildServerModuleArtifacts(options) {
|
|
|
1429
1438
|
const serverOutputs = streamRoute || (route === undefined && closureUsesAwait)
|
|
1430
1439
|
? ["stream", "string"]
|
|
1431
1440
|
: ["string"];
|
|
1432
|
-
const code = routeAnalysis
|
|
1433
|
-
|
|
1441
|
+
const code = routeActionReferences.length === 0 && routeAnalysis !== undefined
|
|
1442
|
+
? routeAnalysis.routeCode
|
|
1443
|
+
: route === undefined
|
|
1444
|
+
? renderSource
|
|
1445
|
+
: stripRouteBuildExports(renderSource, absoluteFile);
|
|
1434
1446
|
const clientInference = routeAnalysis === undefined
|
|
1435
1447
|
? await inferClientRouteModule({
|
|
1436
1448
|
...(route === undefined ? {} : { appDir: options.project.routesDir }),
|
|
@@ -1490,7 +1502,8 @@ async function buildServerModuleArtifacts(options) {
|
|
|
1490
1502
|
return undefined;
|
|
1491
1503
|
}
|
|
1492
1504
|
const shouldWriteRenderBundle = options.prebundleServerComponents &&
|
|
1493
|
-
|
|
1505
|
+
(routeActionReferences.length === 0 ||
|
|
1506
|
+
canUseBuildServerActionPlaceholders(routeActionReferences));
|
|
1494
1507
|
const bundleCode = shouldWriteRenderBundle
|
|
1495
1508
|
? await buildServerComponentBundleArtifactCode({
|
|
1496
1509
|
clientRouteInferenceCache: options.clientRouteInferenceCache,
|