Okay, I've got something that seems to be working in Mojave. A similar method seemed to work in Sierra. It seems like, in addition to Yahoo going away, Apple changed the names in the miniIconTable, so if you have hazy or partly cloudy or rainy weather in your 6 day forecast, the old Accuweather parser was crashing when it got to setting those icons and before it set the temperatures.
Here are the steps I've taken so far to get something that seems to work for me (your mileage may vary):
Download "Tiger" parser from
https://www.apple.com/widgets/weatherParser.js
Delete the last line -
return {fetchWeatherData:fetchWeatherData, ...
Make a copy of Mojave's existing Weather.wdgt.
Right-click the new Weather.wdgt and select Show Package Contents.
Copy the downloaded weatherParser.js in the root of the new Weather.wdgt
Edit the new Weather.wdgt/Weather.html
Replace ...
<script id='apple-replace-script' type='text/javascript' src='file:///System/Library/WidgetResources/.parsers/weatherParser.js' charset='utf-8'></script>
... with ...
<script type='text/javascript' src='weatherParser.js' charset='utf-8'></script>
Edit the new Weather.wdgt/Weather.js
Replace the following mini icon definitions ...
miniIconTable["partlycloudy"] = 'Images/Minis/sun-cloud.png';
miniIconTable["haze"] = 'Images/Minis/sun-haze.png';
miniIconTable["rain&clouds"] = 'Images/Minis/cloud-rain.png';
miniIconTable["rain&sun"] = 'Images/Minis/sun-rain.png';
miniIconTable["rain&snow"] = 'Images/Minis/snow-rain.png';
... with the corresponding (or just tack on somewhere) ...
miniIconTable["suncloud"] = 'Images/Minis/sun-cloud.png';
miniIconTable["sunhaze"] = 'Images/Minis/sun-haze.png';
miniIconTable["cloudrain"] = 'Images/Minis/cloud-rain.png';
miniIconTable["sunrain"] = 'Images/Minis/sun-rain.png';
miniIconTable["snowrain"] = 'Images/Minis/snow-rain.png';
Optional. Replace...
function goToURL(event)
{
if(!link)
if (window.widget && link.indexOf("yahoo.com") != -1)
widget.openURL(link);
}
... with ...
function goToURL(event)
{
if (window.widget)
widget.openURL(createGoToURL(postal));
}
After that, you can continue on the full search and destroy mission for yahoo.com; but I haven't finished that .
Double-click the new Weather.wdgt to install in your local ~/Library/Widgets
Open Dashboard and click the plus sign to add a new Weather widget to the dashboard.
Click the "i" to set the location
Click Done.
NOTE 1: For a couple of minutes, it seemed like Apple was using the old weatherParser.js even though I had replaced it. Not sure what was going on. You might need to go to Activitiy Monitor and quit the Dock process for changes to register (got tired of rebooting)