Skip to content

Commit a0ec325

Browse files
committed
fix: allow varied number of CRA chunks (#895)
1 parent f17a10d commit a0ec325

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

projects/js-toolkit/packages/portal-adapt-base/src/build.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,20 @@ this may make adaptation fail.
127127
}
128128

129129
function createReactAppTemplateVarsProvider(): object {
130-
const splitFile = fs
130+
const splitFiles = fs
131131
.readdirSync(project.default.dir.join('build', 'static', 'js').asNative)
132-
.filter((fileName) => fileName.endsWith('.chunk.js'))[0];
132+
.filter((fileName) => fileName.endsWith('.chunk.js'));
133+
134+
if (!splitFiles.length) {
135+
return {};
136+
}
137+
138+
const chunkIds = [];
139+
for (let i = 0; i < splitFiles.length; i++) {
140+
chunkIds.push(splitFiles[i].split('.')[0]);
141+
}
133142

134143
return {
135-
splitId: splitFile.split('.')[0],
144+
splitIds: chunkIds,
136145
};
137146
}

projects/js-toolkit/packages/portal-adapt-base/src/templates/create-react-app/index.js.ejs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
*/
1111

1212
// Require webpack bundles generated by create-react-app build.
13-
var split = require("./static/js/<%= splitId %>.chunk.js");
13+
<% if (typeof splitIds == 'object' && splitIds){ %>
14+
<% for (var i = 0; i < splitIds.length; i++) { %>
15+
var chunk_<%= i %> = require("./static/js/<%= splitIds[i] %>.chunk.js");<% }} %>
1416
var main = require("./static/js/main.js");
1517

1618
// Require our adapt runtime support module
@@ -19,7 +21,9 @@ var _ADAPT_RT_ = require("./adapt-rt");
1921
// Invoke main module passing Liferay's standard entry point arguments.
2022
module.exports = function(_LIFERAY_PARAMS_) {
2123
// Load React and runtime engine modules.
22-
split();
24+
<% if (typeof splitIds == 'object' && splitIds){ %>
25+
<% for (var i = 0; i < splitIds.length; i++) { %>
26+
chunk_<%= i %>(); <% }} %>
2327

2428
// Call main
2529
main(_LIFERAY_PARAMS_, _ADAPT_RT_);

0 commit comments

Comments
 (0)