Skip to content

Commit

Permalink
fix: chunk groups' order when building mpa
Browse files Browse the repository at this point in the history
  • Loading branch information
xusd320 committed Jan 17, 2025
1 parent 9c55f1c commit 4d93ccb
Show file tree
Hide file tree
Showing 12 changed files with 75 additions and 1 deletion.
4 changes: 3 additions & 1 deletion crates/mako/src/module_graph.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ impl ModuleGraph {
}

pub fn get_entry_modules(&self) -> Vec<ModuleId> {
self.entries.iter().cloned().collect()
let mut entry_modules = self.entries.iter().cloned().collect::<Vec<ModuleId>>();
entry_modules.sort();
entry_modules
}

pub fn add_module(&mut self, module: Module) {
Expand Down
18 changes: 18 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/expect.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
const assert = require("assert");
const { parseBuildResult } = require("../../../scripts/test-utils");
const { files } = parseBuildResult(__dirname);

assert(
files['common.css'].includes(`
body::after {
content: "common_1";
}
body::after {
content: "common_2";
}
body::after {
content: "common_3";
}
`.trim()),
"css merge in mpa should works"
);
21 changes: 21 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/mako.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"entry": {
"a": "./src/a.ts",
"b": "./src/b.ts",
"c": "./src/c.ts"
},
"codeSplitting": {
"strategy": "advanced",
"options": {
"minSize": 1,
"groups": [
{
"name": "common",
"allowChunks": "entry",
"minChunks": 2,
"minSize": 1
}
]
}
}
}
3 changes: 3 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/a.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body {
color: azure;
}
6 changes: 6 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/a.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import "./common_1.css";
import "./common_2.css";
import "./common_3.css";
import "./a.css";
console.log('a');

3 changes: 3 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/b.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body {
color: blue;
}
5 changes: 5 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/b.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import "./common_2.css";
import "./common_1.css";
import "./common_3.css";
import "./b.css";
console.log('b');
3 changes: 3 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/c.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body {
color: cyan;
}
4 changes: 4 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/c.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import "./common_2.css";
import "./common_3.css";
import "./common_1.css";
console.log("c");
3 changes: 3 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/common_1.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body::after {
content: "common_1";
}
3 changes: 3 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/common_2.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body::after {
content: "common_2";
}
3 changes: 3 additions & 0 deletions e2e/fixtures/css.css-merge-multi-entries/src/common_3.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
body::after {
content: "common_3";
}

0 comments on commit 4d93ccb

Please sign in to comment.