#!/usr/bin/env python3 import os import os.path import json import re import itertools os.chdir('dist') with open(os.path.join('.vite', 'manifest.json'), 'r') as f: manifest = json.load(f) # For rust to "include_str!", we need to have predictable filenames. # So strip all hashes out of the generated files. with open('index.html', 'r') as f: index_html = f.read() for dst, src in [ ("assets/logo.svg", manifest["assets/logo.svg"]["file"]), ("assets/index.css", manifest["index.html"]["css"][0]), ("assets/index.js", manifest["index.html"]["file"]) ]: generated_file = src new_file = dst index_html = index_html.replace("/" + generated_file, new_file) os.rename(generated_file, new_file) with open('index.html', 'w') as f: f.write(index_html)