8000 Sort iteration for reproducible builds by bmwiedemann · Pull Request #275 · wilsonzlin/minify-html · GitHub
[go: up one dir, main page]

Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions minify-html-common/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,10 @@ fn gen_attrs_rs(html_data: &HtmlData) -> String {
let mut m = AHashMap::<&'static [u8], ByNamespace>::default();
"#.to_string();

for (attr_name, namespaces) in html_data.attributes.iter() {
let mut attr_names: Vec<_> = html_data.attributes.keys().collect();
attr_names.sort();
for attr_name in attr_names {
let namespaces = &html_data.attributes[attr_name];
write!(&mut code, r#"m.insert(b"{attr_name}", ByNamespace {{"#).unwrap();
{
for ns in [HtmlDataNamespace::Html, HtmlDataNamespace::Svg] {
Expand Down Expand Up @@ -153,7 +156,10 @@ fn gen_attrs_rs(html_data: &HtmlData) -> String {
"#
)
.unwrap();
for (tag_name, tag_attr) in tags_map {
let mut tag_names: Vec<_> = tags_map.keys().collect();
tag_names.sort();
for tag_name in tag_names {
let tag_attr = &tags_map[tag_name];
write!(
&mut code,
r#"m.insert(b"{}", {});"#,
Expand Down Expand Up @@ -493,7 +499,9 @@ fn gen_entities_rs() -> String {
"EntityType::Hex".to_string(),
);
let mut shorter_encoded_entities = vec![];
for (encoded, entity) in entities {
let mut sorted_entities: Vec<_> = entities.into_iter().collect();
sorted_entities.sort_by(|(a, _), (b, _)| a.cmp(b));
for (encoded, entity) in sorted_entities {
let val = format!(r#"&{:?}"#, entity.characters.as_bytes());
trie_builder.add(
encoded
Expand Down
0