fn copy_static_dir(&self, dest: &str) -> Result<(), Arc<Error>> {
        // Copy the `static` directory into the export package if it exists
        // If the user wants extra, they can use static aliases, plugins are unnecessary
        // here
        if self.static_dir.exists() {
            if let Err(err) = copy_dir(
                &self.static_dir,
                format!("{}/.perseus/", dest),
                &CopyOptions::new(),
            ) {
                let err = EngineError::CopyStaticDirError {
                    source: err,
                    path: self.static_dir.to_string_lossy().to_string(),
                    dest: dest.to_string(),
                };
                let err: Arc<Error> = Arc::new(err.into());
                self.plugins
                    .functional_actions
                    .export_actions
                    .after_failed_static_copy
                    .run(err.clone(), self.plugins.get_plugin_data())
                    .map_err(|err| Arc::new(err.into()))?;
                return Err(err);
            }
        }

        Ok(())
    }
Copies the directory containing static data to be put in
`/.perseus/static/` (URL). This takes in both the location of the
static directory and the destination directory for exported files.
packages/perseus/src/turbine/export.rs