Bird
Raised Fist0
Denoframework~20 mins

Third-party modules from deno.land/x - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Deno Third-party Modules Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ component_behavior
intermediate
2:00remaining
What is the output of this Deno module import and usage?
Consider this Deno script that imports a third-party module from deno.land/x and uses it to parse a URL. What will be printed when running this code?
Deno
import { parse } from "https://deno.land/x/std@0.177.0/node/url.ts";

const url = "https://example.com/path?name=deno&lang=js";
const parsed = parse(url);
console.log(parsed.query);
Aname=deno&lang=js
B{"name":"deno","lang":"js"}
Cundefined
DSyntaxError
Attempts:
2 left
💡 Hint
Check what the parse function returns for the query property.
📝 Syntax
intermediate
1:30remaining
Which import statement correctly imports the serve function from the Deno standard HTTP module?
You want to import the serve function from the Deno standard HTTP module hosted on deno.land/x. Which import statement is correct?
Aimport { serve } from "https://deno.land/std@0.177.0/http/server.ts";
Bimport serve from "https://deno.land/x/std/http/server.ts";
Cimport { serve } from "https://deno.land/x/http@0.177.0/server.ts";
Dimport { serve } from "https://deno.land/x/std/http/server.ts";
Attempts:
2 left
💡 Hint
Check the correct URL and syntax for importing from the Deno standard library.
🔧 Debug
advanced
2:00remaining
Why does this Deno script fail to import a third-party module?
This Deno script tries to import a module from deno.land/x but fails with an error. What is the most likely cause?
Deno
import { someFunction } from "https://deno.land/x/somemodule@v1.0.0/mod.ts";

someFunction();
AThe import statement must use require() instead of import.
BThe version tag 'v1.0.0' is incorrect; it should not have the 'v' prefix.
CDeno does not support importing from deno.land/x.
DThe module URL is missing the file extension .js.
Attempts:
2 left
💡 Hint
Check the version format in the URL for deno.land/x modules.
❓ state_output
advanced
2:00remaining
What is the output of this Deno script using a third-party module with async function?
This script imports a third-party module from deno.land/x that exports an async function. What will be printed?
Deno
import { delay } from "https://deno.land/x/std@0.177.0/async/delay.ts";

async function run() {
  console.log("Start");
  await delay(100);
  console.log("End");
}

run();
AStart only
BEnd\nStart
CStart\nEnd
DNo output due to error
Attempts:
2 left
💡 Hint
Consider how async/await works with the delay function.
🧠 Conceptual
expert
2:30remaining
Which statement about versioning and caching of deno.land/x modules is true?
Deno caches third-party modules from deno.land/x locally. Which of the following statements about versioning and caching is correct?
ADeno caches modules globally but does not distinguish versions, so different versions overwrite each other.
BDeno ignores version tags and always fetches the latest module on every run.
CDeno requires manual cache clearing to update any module, regardless of version.
DDeno caches modules by exact URL including version, so changing the version fetches a new copy.
Attempts:
2 left
💡 Hint
Think about how URLs with different versions affect caching.

Practice

(1/5)
1. What is the main reason to use third-party modules from deno.land/x in your Deno projects?
easy
A. To add useful features without writing them from scratch
B. To make your code run slower
C. To avoid using any external code
D. To only use unstable versions of libraries

Solution

  1. Step 1: Understand the purpose of third-party modules

    Third-party modules provide ready-made features that save time and effort.
  2. Step 2: Identify the benefit in the options

    To add useful features without writing them from scratch correctly states that these modules add useful features without rewriting code.
  3. Final Answer:

    To add useful features without writing them from scratch -> Option A
  4. Quick Check:

    Third-party modules = add features fast [OK]
Hint: Third-party modules save time by adding features fast [OK]
Common Mistakes:
  • Thinking third-party modules slow down code
  • Believing you must avoid external code
  • Assuming modules are always unstable
2. Which of the following is the correct way to import a third-party module from deno.land/x with a specific version?
easy
A. import { serve } from "https://deno.land/x/http/mod.ts";
B. import { serve } from "https://deno.land/x/http@0.1.0/mod.ts";
C. import { serve } from "https://deno.land/x/http@latest/mod.ts";
D. import { serve } from "https://deno.land/x/http@0/mod.ts";

Solution

  1. Step 1: Check the import URL format for versioning

    The correct format includes the module name, @version, and path.
  2. Step 2: Identify the option with exact version

    import { serve } from "https://deno.land/x/http@0.1.0/mod.ts"; uses @0.1.0 which is a specific version, ensuring stability.
  3. Final Answer:

    import { serve } from "https://deno.land/x/http@0.1.0/mod.ts"; -> Option B
  4. Quick Check:

    Use exact version in URL = import { serve } from "https://deno.land/x/http@0.1.0/mod.ts"; [OK]
Hint: Always include @version in import URL for stability [OK]
Common Mistakes:
  • Omitting the version number
  • Using 'latest' which is unstable
  • Using incomplete or wrong version format
3. What will be the output of this Deno code snippet using a third-party module from deno.land/x?
import { serve } from "https://deno.land/x/http@0.1.0/mod.ts";

serve(() => new Response("Hello Deno!"));
Options:
medium
A. Throws a syntax error due to missing parentheses
B. Prints 'Hello Deno!' to the console
C. Starts an HTTP server responding with 'Hello Deno!'
D. Does nothing because serve is not a function

Solution

  1. Step 1: Understand the serve function from the module

    The serve function starts an HTTP server that responds to requests.
  2. Step 2: Analyze the code behavior

    The callback returns a Response with 'Hello Deno!', so the server replies with that text.
  3. Final Answer:

    Starts an HTTP server responding with 'Hello Deno!' -> Option C
  4. Quick Check:

    serve() starts server = Starts an HTTP server responding with 'Hello Deno!' [OK]
Hint: serve() starts server responding with callback output [OK]
Common Mistakes:
  • Confusing serve with console.log
  • Expecting immediate print instead of server response
  • Assuming serve is not a function
4. Identify the error in this import statement from deno.land/x:
import { parse } from "https://deno.land/x/flags/mod.ts";
Options:
medium
A. URL should end with .js instead of .ts
B. Incorrect module name 'flags'
C. Using curly braces instead of default import
D. Missing version number in the URL

Solution

  1. Step 1: Check the import URL format for third-party modules

    deno.land/x requires specifying exact versions for stability.
  2. Step 2: Identify the missing version

    The URL lacks @version, which can cause runtime errors or unexpected behavior.
  3. Final Answer:

    Missing version number in the URL -> Option D
  4. Quick Check:

    Always include @version in import URL [OK]
Hint: Always specify @version in import URLs to avoid errors [OK]
Common Mistakes:
  • Ignoring version number requirement
  • Thinking .ts extension is wrong
  • Confusing named and default imports
5. You want to use the oak web framework from deno.land/x in your project. Which of these import statements correctly ensures you use version 12.5.0 and can access the Router class?
hard
A. import { Router } from "https://deno.land/x/oak@12.5.0/mod.ts";
B. import Router from "https://deno.land/x/oak@latest/router.ts";
C. import { Router } from "https://deno.land/x/oak/router.ts";
D. import { Router } from "https://deno.land/x/oak@12/router.ts";

Solution

  1. Step 1: Confirm the correct version format

    Version numbers must be exact, like @12.5.0, not partial or 'latest'.
  2. Step 2: Check the import path and named import

    Router is a named export from mod.ts in oak, so import { Router } from mod.ts is correct.
  3. Final Answer:

    import { Router } from "https://deno.land/x/oak@12.5.0/mod.ts"; -> Option A
  4. Quick Check:

    Exact version + named import from mod.ts = import { Router } from "https://deno.land/x/oak@12.5.0/mod.ts"; [OK]
Hint: Use exact version and import from mod.ts for oak Router [OK]
Common Mistakes:
  • Using 'latest' instead of exact version
  • Omitting version number
  • Importing default instead of named export
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard