NathanTarbert / winglibs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Winglibs

Welcome! You've arrived to the warm and cozy home of the Wing Trusted Library Ecosystem.

This repository hosts the code for Wing libraries that we consider trusted and that meet our community's quality bar.

One of the cool things about trusted libraries is that we take care of building, testing and publishing them for you.

How do I add a new library?

It's so damn easy.

Clone this repository:

git clone git@github.com:winglang/winglibs

Use the fabulous mklib.sh script to scaffold your library:

./mklib.sh my-awesome-lib

This will create a subdirectory called my-awesome-lib with some initial source code and a test. It will also create a github workflow which will take care of building, testing and publishing your library to npm.

Now do your magic.

When you are ready, submit a pull request to this repository. Someone from the team will review it and will hopefully provide you with useful feedback and a lot of love, and eventually merge it into main, and your library will be live.

Updating libraries

If you wish to publish an update to your library, simply submit a new pull request with your update. Once the PR is merged, your new version will be published.

  • ✌️ Make sure you use a conventional commit title. (feat: for new features, fix: for bug fix and chore: for anything else).

  • ✌️ DON'T FORGET! You will need to manually bump the version field of your library based on the semantic version update. In the future we plan to automate this so that bumps will happen automatically.

    A quick primer on semantic versioning

    Semantic versioning is a convention for version numbers that is commonly used to indicate the type of update. The version number consists of three components: MAJOR.MINOR.PATCH:

    • The MAJOR component must be bumped if the update includes a breaking change.
    • The MINOR component must be bumped if the update includes a new feature.
    • The PATCH component must be bumped if the update includes a bug fix.

    Before 1.0.0, the MAJOR component is always 0, the MINOR component represents breaking changes and the PATCH component represents new features and bug fixes.

Consuming trusted libraries

To consume these libraries, users just need to:

npm i @winglibs/my-awesome-lib

And then:

bring my-awesome-lib

License

This repository is licensed under the MIT License, unless otherwise specified in a library directory.

About

License:MIT License


Languages

Language:CWeb 88.2%Language:JavaScript 9.0%Language:Shell 2.4%Language:Dockerfile 0.4%