Nascent Prototype Metaverse

    @loadsmart/icons

    0.81.3 • Public • Published

    CircleCI npm version bundlephobia


    View Demo · Report Bug · Request Feature

    Table of Contents

    About The Project

    A library for using icons at Loadsmart.

    Usage

    You can get it via yarn.

    yarn add @loadsmart/icons
    

    Examples

    Basic usage

    You can use Loadsmart icons in your React projects as simple as this:

    import { IconAccessorialAirport } from "@loadsmart/icons";
    
    class App extends React.Component {
        render() {
            return <div> This is an <IconAccessorialAirport /></div>
        }
    }

    Typescript usage

    TBD

    Contributing

    Icons Library

    1. Clone the project
    2. Create a new branch based off of master
    3. Make all the changes needed
    4. Run this to build the necessary .js files
      yarn prepublish
    5. Commit all the changes to your new branch
    6. Make sure you also log the changes under the Unreleased section of the CHANGELOG.md and commit it
    7. Open a PR to merge on master

    Deployment and Publishing process to NPM

    The release of loadsmart icons is based on tag

    ☺️ we use Rollbot for release. It will generate a release by bumping the version on the CHANGELOG.md and creating a new tag.

    Steps to make a release via Rollbot:

    1. As Rollbot won’t update the version in package.json , so we still need to bump the version manually
    $ yarn bump

    It will ask you to put the specific release version, please follow our tag pattern /^\d+\.\d+\.\d+$/ (x.xx.x)

    1. Commit the change in package.json and create a pr [Release] x.xxx.x, once it merges:

    2. Using the /release command in #eng-frontend channel, /release @loadsmart/icons major or /release @loadsmart/icons minor or /release @loadsmart/icons patch

    3. If Rollbot creates the tag successfully, it will send a message saying “tag x.xxx.x created”

    4. Please check CircleCI if all checks of deploy pass, then publish the release in GitHub 🍻

    :shipit:If Rollbot doesn't work, please follow these steps as an alternative:

    1. Checkout a new branch from the latest master branch (Usually named as: release/x.xx.x)
    2. Update CHANGELOG.md (follow version pattern /^\d+\.\d+\.\d+$/ - x.xx.x)
    3. Bump the version using the command below:
    $ yarn bump

    It will ask you to put the specific release version, please follow our tag pattern /^\d+\.\d+\.\d+$/ (x.xx.x)

    1. git add the updated package.json and CHANGELOG.md files and commit the changes with a message following the standard:

    [Release] x.xx.x

    This commit message is necessary for our bot to automatically approve and merge the release PR. Please note the brackets enclosing the word "Release" and keep the version in the same pattern used elsewhere.

    1. Push your branch to origin and open a PR to master (With the same title as your commit: [Release] x.xx.x)

    👍 When the CI passes , it will automatically merge your PR into master.

    1. Checkout master locally again and pull latest changes

    2. Create a tag, please follow our tag pattern /^\d+\.\d+\.\d+$/ (x.xx.x)

    $ git tag <new_tag>
    1. Push the tag.
    $ git push origin <new_tag>

    The Circle CI workflows can be checked here

    Circle CI will start a deploy to production 🚀

    1. 📝 Create a new release in GitHub referencing the tag you just created:

    GitHub Release example

    For release title, follow the exact same pattern used in the tag version, and for description you can simply insert the respective CHANGELOG.md section.

    This last step is what triggers some automated side-effects such as the slackbot that broadcasts new production releases along with their changelog, so don't skip it!

    Then you are all set 🎈

    Tip: Always keep semver in mind.

    Demo Deployment

    Development

    Setup the project

    Before starting, keep this in mind about our branches:

    • master is where the library code resides, all the icons SVG and JS files are here. Code enters here through PRs.

    To get a local copy up and running follow these simple steps.

    1. Install Yarn:

      $ brew install yarn
    2. Clone the project:

      $ git clone git@github.com:loadsmart/icons.git
    3. Install local dependencies:

      $ yarn

    Adding a new icon

    1. Add your SVG to /src/assets/icons.

      $ grunt server
    2. Clean up your SVG file, a good example you can see below.

      <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
      	<path
      		d="M19.8 19.8V3h8.4v16.8H45v8.4H28.2V45h-8.4V28.2H3v-8.4h16.8z" 			fill="currentColor"
      		fill-rule="evenodd"/>
      </svg>
    • Make sure that you are using fill="currentColor".
    • Remove all references to width and height in your SVG file
    1. Run $ yarn generate

    This command will create a React component for your SVG file, and also will include this component to the library.

    1. Submit a pull request

    Keywords

    Install

    npm i @loadsmart/icons

    DownloadsWeekly Downloads

    234

    Version

    0.81.3

    License

    MIT

    Unpacked Size

    317 kB

    Total Files

    5

    Last publish

    Collaborators

    • felipe.asantos
    • giovannitoledo
    • gabriel.ribeiro.loadsmart
    • saitejas.mopuri
    • gustavocsb
    • pedrohperalta
    • rui.martins
    • douglasklein2
    • luiz.loadsmart
    • mwconceicao
    • yidi0912
    • lenoir.zamboni
    • marlon.trapp.loadsmart
    • diogomafra
    • oliver.tso
    • eduardocardoso
    • loadsmart-frontend
    • brennervaz
    • raittes
    • welingtonms-loadsmart
    • gutofoletto
    • tjoaquini