Skip to content

Commit bb2178a

Browse files
authored
Merge pull request #4858 from easyops-cn/steve/v3-force-standalone
fix(): enable force standalone mode by default
2 parents 6f77069 + 3fcd2c7 commit bb2178a

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

packages/brick-container/serve/env.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const cli = meow(
2424
--live-reload Enable live reload (currently only for local micro-apps)
2525
--size-check Enable size-check mode
2626
--cookie-same-site-none Append "Same-Site: none" for cookies
27+
--no-force-standalone Disable force standalone mode
2728
--verbose Print verbose logs
2829
--help Show help message
2930
--version Show brick container version
@@ -72,6 +73,10 @@ const cli = meow(
7273
sizeCheck: {
7374
type: "boolean",
7475
},
76+
forceStandalone: {
77+
type: "boolean",
78+
default: true,
79+
},
7580
verbose: {
7681
type: "boolean",
7782
},
@@ -158,6 +163,7 @@ export async function getEnv(rootDir, runtimeFlags) {
158163
server: getServerPath(flags.server),
159164
sizeCheck: flags.sizeCheck,
160165
sizeCheckFilter,
166+
forceStandalone: flags.forceStandalone,
161167
verbose: flags.verbose,
162168
};
163169

packages/brick-container/serve/getProxy.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,16 @@ import { responseInterceptor } from "http-proxy-middleware";
44
import _ from "lodash";
55
import jsYaml from "js-yaml";
66
import { getBrickPackages } from "@next-core/serve-helpers";
7-
import { getStoryboards, getSingleStoryboard } from "./utils/getStoryboards.js";
7+
import {
8+
getStoryboards,
9+
getSingleStoryboard,
10+
getMatchedStoryboard,
11+
} from "./utils/getStoryboards.js";
812
import { fixV2Storyboard } from "./utils/fixV2Storyboard.js";
913
import { injectIndexHtml } from "./utils/injectIndexHtml.js";
1014
import { getProcessedPublicDeps } from "./utils/getProcessedPublicDeps.js";
1115
import { concatBrickPackages } from "./utils/concatBrickPackages.js";
16+
import { getStandaloneConfig } from "./utils/getStandaloneConfig.js";
1217
// Create an http agent that always use IPv4
1318
let agent;
1419
const getAgent = (server) => {
@@ -424,6 +429,14 @@ export default function getProxy(env, getRawIndexHtml) {
424429
unionAppRoot,
425430
bootstrapUnionFilePath,
426431
});
432+
} else if (env.forceStandalone) {
433+
const storyboard = await getMatchedStoryboard(
434+
env,
435+
req.path.replace(/^\/next\//, "/")
436+
);
437+
const content = await getRawIndexHtml();
438+
const standaloneConfig = getStandaloneConfig(storyboard);
439+
return injectIndexHtml(env, content, standaloneConfig);
427440
}
428441
return injectIndexHtml(env, rawIndexHtml);
429442
} else {

0 commit comments

Comments
 (0)