Single Page Apps and DevOps Pipeline? I am new to the whole DevOps process.

As a software developer with some experience in building single-page applications (SPAs) using Webpack which already takes care of the unit checks, code validation, etc, how does a SPA development process fit into the DevOps workflow/pipeline? 

Do you do all the code checks on the client-side and then push compiled code into the pipeline process via a Static buildpack (ie, /dist folder) or do I push my build files into Git with a Jenkins file for CI/CD and then go through the pipeline with a server-side NodeJS buildpack? 

I am wondering how much work needs to be done locally before going through the pipeline. I don't like the idea of having extra dependencies to rely on (it seems there are always issues on the server side preventing apps from getting deployed -- outdated buildpacks, errors in servers, downtimes, etc). I wonder if simply offloading all that to the client side is a good way to get an app out quicker (just push the static files via a Static buildpack).

Thanks
When starting from scratch first build a set of scripts (bash and golang) which start with a git pull to get the fresh code for a given branch then the script issues all the command line steps you can do yourself to compile the code into executable bundles.  This includes issuing Docker commands to cut fresh docker images for the various microservices.  Then a script launches all the various Docker containers.  Now the app can get fresh code pushed to domains where people can login and use the app from their client (mobile or browser) whenever a developer requests a domain needs a refresh.

The next step for us was to setup a github webhook server on each server for each domain which subscribes to all git push performed by our developers.  If a given git push matches the github code branch a domain is running the webhook would trigger launch of the above script to compile then deploy the app

All of above is just automation to replace what someone was originally manually issuing themselves at the command line.  As need appeared a new step was issued manually until it got crafted into above tooling.