Welcome to the Linux Foundation Forum!

Issues with Lab 6.2

The files for Lab 6.2 are incorrectly set up in a couple of ways.

First, the task is to add fastify and rfdc as dependencies and then install them. The problem is that the provided package.json file already has these dependencies listed, so there is nothing to add.

https://training.linuxfoundation.org/cm/LFW211/labs/ch-6/labs-2/package.json

Also, on line 19 of test.js, the assertion call is checking for the wrong value. It should be asserting that range === '>=2.0.0 <3.0.0-0', not range === '>=2.0.0 <3.0.0'. Note the trailing -0.

Another minor gripe is that there is a reference to the labs-1 directory, which should actually say labs-2:

Comments

  • rav2040rav2040 Posts: 7

    I've just completed section 7 and the labs for that section have the same problem. The provided files are already complete, and will pass the tests without me editing them at all. I haven't gone beyond section 7 yet, but I'm wondering if this is an issue for many of the lab files.

  • rav2040rav2040 Posts: 7

    I just completed section 8 and the serial.js file for the second lab is just an empty file.

    https://training.linuxfoundation.org/cm/LFW211/labs/ch-8/labs-2/

  • mstepienmstepien Posts: 145

    Hi @rav2040,

    Thank you for bringing these issues to our attention. We are reviewing your suggestions. Meanwhile we apologize for any inconvenience.

    Thank you,
    Magda
    The Linux Foundation Training Team

  • rav2040rav2040 Posts: 7

    You're welcome. I have since found more issues regarding the labs similar to what I've already posted. There are also multiple spelling/grammar errors throughout the course (e.g. "proceeds" instead of "precedes"). I suggest whoever is responsible for the material go through the whole course and check everything.

  • lpclpc Posts: 7

    In 6.2 Should assertion check if not within that range?
    (range !== ">=2.0.0 <3.0.0-0")
    i.e. For fastify ^2.14.1 I'm getting: "fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions"

  • rav2040rav2040 Posts: 7

    @lpc said:
    In 6.2 Should assertion check if not within that range?
    (range !== ">=2.0.0 <3.0.0-0")
    i.e. For fastify ^2.14.1 I'm getting: "fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions"

    No, the strict equality operator === is correct to check that it's greater than or equal to 2.0.0 or less than 3.0.0.

  • lpclpc Posts: 7

    Ok, so why I'm getting an error on fastify "^2.14.1"? It is within range and accepts MINOR and PATCH

  • rav2040rav2040 Posts: 7

    @lpc said:
    Ok, so why I'm getting an error on fastify "^2.14.1"? It is within range and accepts MINOR and PATCH

    The version number that you include in package.json is not telling you the version of the installed package, it's telling you which versions are permitted to be installed.

    The lab exercise asks you to set the permitted fastify versions to ^2.0.0, which has a meaning of "greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions". ^2.14.1would have a meaning of "greater than or equal to 2.14.1, while accepting all future MINOR and PATCH versions", which is not what the lab is asking you to do.

  • thanks for the feedback @rav2040, very much appreciated. The issues you raised we're fixed a while back.

    Also to confirm, @lpc, Rav is correct, you needed to set the version to ^2.0.0 not ^2.14.1

  • Hi @davidmarkclements , from where to download the updated lab exercises files ?

  • mstepienmstepien Posts: 145

    Hi @manoj150283,

    Please follow instructions provided in Chapter 1. Introduction > Course Information > Course Resources.

    Best,
    Magda
    The Linux Foundation Training Team

  • Hi @mstepien , I downloaded the resource from there but the above fixes are not there. Could you please cross check.

  • coopcoop Posts: 583

    I don't know if this is helpful, but the labs in the https://linuxfoundation.org/cm/LFW211 directory were uploaded on June 7 and the ones in the zip file are exactly as the ones in the subdirectories. The older labs are in the PREVIOUS_VERSIONS directory are indeed older and different as I have verified.

  • coopcoop Posts: 583
  • lpclpc Posts: 7
    edited September 12

    The lab exercise asks you to set the permitted fastify versions to ^2.0.0, which has a meaning of "greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions". ^2.14.1would have a meaning of "greater than or equal to 2.14.1, while accepting all future MINOR and PATCH versions", which is not what the lab is asking you to do.

    Assertion fails for "fastify": "^2.0.0". I use 'npm I [email protected]'

    AssertionError [ERR_ASSERTION]: fastify should be greater than or equal to 2.0.0, while accepting all future MINOR and PATCH versions

  • lpclpc Posts: 7

    Assert is outdated: assert(range === '>=2.0.0 <3.0.0', ... should be assert(range === '>=2.0.0 <3.0.0-0',

  • zorawarzorawar Posts: 11
    edited October 6

    @lpc is correct.
    The output of running the following
    $ node -p "const semver=require('semver'); console.log(new semver.Range('^2.0.0').range)"

    results in >=2.0.0 <3.0.0-0.

    The assertion should be updated.

  • davidmarkclementsdavidmarkclements Posts: 13
    edited October 6

    hey everyone - I've looked into this and @zorawar and @lpc are correct

    The semver library actually made a breaking change in a minor update - which I find incredibly ironic.

    I changed the assert to:

    assert(/>=2.0.0 <3.0.0/.test(range), ...)
    

    which should be slightly more robust in case the output is tweaked again.

    Downloadable code should be updated shortly

Sign In or Register to comment.