As a rapidly growing web platform, we have faced numerous challenges that have required us to develop and implement various tools to manage our codebase and streamline our deployment process. In response, we have created three open-source packages that we believe could benefit other developers who may be facing similar challenges.
Our first package, Next App Middleware, is a middleware library that allows developers to place their middleware code inside the app directory in the same route style as other pages. This is a significant improvement over Next.JS's traditional method, where developers have to manually write paths for the middleware to be applied to. This package has helped us to improve the performance and reliability of our application, and we are confident that it can do the same for other developers.
Our second package, Unimported Action, is a GitHub action that ensures that all files in a project are either entry points or imported by entry points. This tool also checks that all imported packages are installed and included in the package.json file and that all dependencies are used. By identifying and removing unused packages and dependencies, this package has helped us reduce the size of our codebase and make it more efficient.
Finally, we have also released Turbo Module, a GitHub Action and CLI that helps manage public repositories that publish one or more npm packages. This package automates the process of publishing our packages, ensuring that all dependencies are up to date and that the package is deployed without any errors. This has saved us a significant amount of time and has made the deployment process much more reliable.
Overall, these packages have been instrumental in helping us manage our codebase and streamline our deployment process. With over one million users visiting our site in the past month, our ability to ship features quickly and reliably has been critical to our success. As such, we have decided to open source these packages to give back to the community and help other developers achieve the same level of success that we have. We hope that these packages will be useful to other developers and that they can contribute to the growth of the open-source community.
If you are building something cool, come tell us about it in our Discord Server.