@spa-tools is a collection of packages aimed at helping engineers to better-build Single-Page Applications. It came about from years of shipping real-world, business-focused SPAs and taking a handful of the resulting wants+learnings and distilling them into a set of packages that can be used in any modern Web project.
Aside from the earnest intent of giving back to the community, the other is to offer frontend developers simple and efficient alternatives to other webapp tools.
View the @spa-tools documentation site for complete reference.
If you're interested in contributing to @spa-tools, please search and see if there's already an existing issue for the feature/bug.
If you find an existing issue for what you'd like contribute, please addd acomment on the respective issue. If you can't find an existing issue or you'e short on time, please go ahead and create a new issue.
From there we can discuss the feature or bugfix you're interested in and how best to approach it. In terms of workflow, we use the standard approach of forking the repo, creating a PR, and merging after tesing/approval. If you have questions regarding contributing in general, please take a gander at the Contributions Board.
All packages in @spa-tools require 100% unit test coverage. This is a condition for all PRs to be merged whether you're adding a new feature or fixing a bug.
The only exception is when native code is being wrapped and coverage is either not possible or redundant, which can be discussed on a case-by-case basis during the approval process.
pnpm test:cicdpnpm test:cicd --filter=api-clientpnpm test:devpnpm test:dev --filter=api-clientFound a bug? We'd super appreciate you reporting it by creating a new bug report.
Do you have ideas for tools/features to add but don't have time to contribute? No worries, we still want to capture your idea for discussion: please create a post under the Ideas Board.
Post your question on the Q/A Board.
All packages in @spa-tools are licensed under the MIT license. Copyright © 2024, Ryan Howard (rollercodester). All rights reserved.