use replaced contents also when replacing it

fixes js files the first time they are used
add providerlist to cache id and read all providers from cache

- only build writes cache
- we also build maintenance provider list