๐Ÿ’ป Lab 5 - Generate a utility lib

May 31, 2023 ยท View on GitHub

โฐ Estimated time: 5-10 minutes

Let's fix the ratings! They don't look that good and they could benefit from some formatting.

We will create a shared utility lib where we'll add our formatters and see how to import them in our components afterwards.

๐Ÿ“š Learning outcomes:

  • Get familiar with generating project specific, framework agnostic utility libs

๐Ÿ“ฒ After this workshop, you should have:

App Screenshot screenshot of lab5 result
File structure lab5 file structure

๐Ÿ‹๏ธโ€โ™€๏ธ Steps:

  1. Stop the nx serve

  2. Use the @nx/js package to generate another lib in the libs/store folder - let's call it util-formatters.

  3. Add the code for the utility function to the new library you just created libs/store/util-formatters/src/lib/store-util-formatters.ts

  4. Use it in your frontend project to format the rating for each game

    ๐Ÿณ Hint

    app.component.ts:

    import { formatRating } from '@bg-hoard/store/util-formatters';
    
    export class AppComponent {
      //...
      formatRating = formatRating;
    }
    

    app.component.html:

    {{ formatRating(game.rating) }}
    

  5. Serve the store app - notice how the ratings are formatted.

  6. Launch the project graph - notice how the app depends on two libs now.

  7. Inspect what changed from the last time you committed, then commit your changes


๐ŸŽ“If you get stuck, check out the solution


โžก๏ธ Next lab โžก๏ธ