Blender normally blocks you from applying a modifier to a mesh that has shape keys, returning the error "Modifier cannot be applied to a mesh with shape keys." Apply modifier with shape keys, developed by Orange Turbine, works around this. You pick which modifiers to apply, and the add-on restores all settings, drivers, and animation data on the shapes afterward.
Under the hood, it duplicates the original mesh, removes the shape keys, and applies the selected modifiers. It then loops through each shape key, duplicating the mesh, evaluating it with that single shape key and the chosen modifiers active, and merging the result back as a shape key. It avoids the apply-modifier operator throughout. Once every shape key is processed, it restores the original shape key values, animation data, and drivers, working one shape key at a time to reduce memory load on high-density meshes with many shape keys.
The add-on is available for Mesh objects in Object Mode, reachable from the Shape Key context menu or through F3 search. Activating it opens a popup dialog with checkboxes for choosing which modifiers to apply.