Tag: DevOps
-
Client-side environment variables with Next.js
Next.js does a great job with environment variables. Out of the box, it supports loading up environment variables in next.config.js as well as using a .env file. Both of which are made available inside of server components. For client-side components though, you don’t get direct access to environment variables from both locations. The Next.js config…
-
Including Dev Dependencies in a DigitalOcean App Platform Build
When working with dependencies in a DigitalOcean App Platform build, there are time when you may need to include development dependencies. Such instances arise when you’re using something like TypeScript, which you’d typically have listed in your devDependencies because it’s not a necessary dependency once you’ve transpiled your code and shipped it to production. Out…
-
Fix broken Docker networking in GitLab Runner pipeline
Out of the blue this past week, networking between my Docker containers running in my GitLab CI/CD pipeline stopped working. I bet you’re thinking that I pushed some new code and it broke, and I decided to take the low road and blame my tech stack? Absolutely not. After an issue years ago that bit…
-
How to check package version on Linux
In light of the recent discovery of a backdoor in the XZ Utils package (CVE-2024-3094), knowing how to check package versions on Linux has come to front of mind. I try to be security cautious. Typically I reach for boring ol’ Debian stable for my servers. I do my best to keep them reasonably up…
-
Stop ESLint from searching up the directory tree
For most projects, I use a monorepo, and nest my scripts in a directory. I’ll npm init each script, and maintain an isolated set of dependencies outside of the main dependency tree. This includes maintaining a separate .eslintrc file as well. Typically, this isn’t a problem, but recently with a new project that was created…
-
Airbnb style guide with Next.js
Starting a fresh Next.js project the other day, I was happy to see that configuring eslint was part of the bootstrapping process. Where things fell short for me, was the lack of a prompt asking me which style guide I’d like to use. I’m sure the out of the box option is sufficient enough, and…
-
How to start an AWS CodePipeline
While not a difficult task to pull off, starting a pipeline in the AWS Console for CodePipeline does tend to be a confusing thing when somebody has never done it before. The reason for this is the naming of the action. The AWS Console doesn’t have a big shiny “Start”…
-
Wait for open port before running command
There comes a time in every software engineer’s life, when they need to run a command, but only after a port has been opened by a completely separate process. Sure, you could sit around and wait for the port to open up before running your command, but what’s the fun…
-
Using multiple profiles with aws-cli
One of the best aspects of Amazon Web Services (AWS) is that a full featured command-line utility exists for it. If you’ve ever spent a decent amount of time in the AWS Console (their web interface) then you understand why this is a good thing. As you venture into better…
-
husky: command not found with npm install –production
Recently, while attempting to build a Docker container, I ran into a bit of a dilemma. Upon running npm install –production I was greeted with this less than ideal error message: > @company/project-api@1.0.0 prepare > husky install sh: husky: command not found Well of course husky isn’t installed, as it’s…