Hands-on real world projects that will help you exercise your knowledge of TypeScript.

Overview

Learning TypeScript Projects

Hands-on real world projects that will help you exercise your knowledge of TypeScript.

Welcome to the repository housing all of the projects for Learning TypeScript! I'm excited you're here -- whether you're just browsing, or using the projects to practice as you read the book.

Setup

First, clone the repository to your local computer, then run npm install to install required packages.

git clone https://github.com/LearningTypeScript/projects learning-typescript-projects
cd learning-typescript-projects
npm install

Assuming that all succeeded, you're now ready to work on any and all projects! 🚀

Starting on Projects

Projects are located under the name of their chapter, such as arrays/analyzing-dna. Each has their own README.md with instructions on the commands to run from within that directory.

Don't forget to cd into a project's directory before running its commands!

Types of Projects

Each project follows a chapter in the Learning TypeScript book and aligns to one of the following three categories:

  • 🥗 Appetizers: bite-sized directed warmups: set of independent mini-projects
  • 🍲 Entrees: larger, more hands-off challenge: a single self-contained project
  • 🍰 Desserts: the same structure as entrees, with a fun thematic twist
Comments
  • Dependabot prefix character limit

    Dependabot prefix character limit

    Read -> https://github.com/LearningTypeScript/projects/runs/6594975169

    @JoshuaKGoldberg Looks like the commit message prefix of dependabot has to be changed to something shorter 🥲 . The prefix has a limit of 15 characters.

    Probably we change the gitmoji on the prefix to something shorter like :art:.

    accepting prs status: in discussion 
    opened by fuadop 12
  • :sparkles: feat: add spellcheck ci

    :sparkles: feat: add spellcheck ci

    PR Checklist

    Overview

    uses cspell for spellcheck on projects directory.

    opened by fuadop 9
  • :sparkles: feat: add workflow to test all solutions

    :sparkles: feat: add workflow to test all solutions

    PR Checklist

    Overview

    • Adds script to workflows to run all test:solutions scripts in all nested project folder containing a package.json. cc @JoshuaKGoldberg
    opened by fuadop 9
  • :alembic: ci: run solutions test for file change in related project

    :alembic: ci: run solutions test for file change in related project

    PR Checklist

    Overview

    Runs test:solutions script for folder of changed files.

    opened by fuadop 8
  • :arrow_up: (deps-dev): Bump ts-jest from 28.0.0 to 28.0.3

    :arrow_up: (deps-dev): Bump ts-jest from 28.0.0 to 28.0.3

    Bumps ts-jest from 28.0.0 to 28.0.3.

    Changelog

    Sourced from ts-jest's changelog.

    28.0.3 (2022-05-23)

    Bug Fixes

    28.0.2 (2022-05-07)

    Bug Fixes

    • transformers: use Array.sort in hoisting transformer (#3498) (e400a6e), closes #3476

    28.0.1 (2022-05-03)

    Bug Fixes

    Commits
    • 8ce9f4f chore(release): 28.0.3 (#3531)
    • 67c4159 docs(devs-infra): update changelog of 27.1.5 (#3530)
    • 0f12189 build(deps-dev): bump @​types/node from 17.0.34 to 17.0.35 (#3526)
    • b31f5ba fix(security): update version of json5 (#3528)
    • 8ef4333 build(deps-dev): bump @​typescript-eslint/eslint-plugin (#3523)
    • 33ba1cd build(deps-dev): bump @​typescript-eslint/parser from 5.24.0 to 5.25.0 (#3524)
    • a1331b7 build(deps-dev): bump @​commitlint/cli from 16.2.4 to 17.0.0 (#3516)
    • 42ad521 build(deps-dev): bump eslint-plugin-jest from 26.2.0 to 26.2.2 (#3522)
    • 8174340 build(deps-dev): bump @​typescript-eslint/parser from 5.23.0 to 5.24.0 (#3517)
    • d620972 build(deps-dev): bump @​typescript-eslint/eslint-plugin (#3518)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    area: npm dependencies 
    opened by dependabot[bot] 7
  • 🛠 Tooling: Add a tsc check for solutions to CI

    🛠 Tooling: Add a tsc check for solutions to CI

    Tooling Report Checklist

    • [X] I have pulled the latest main branch of the repository.
    • [X] I have searched for related issues and found none that matched my request.
    • [X] This is the appropriate issue form for the tooling issue I would like to report.

    Expected

    Most projects use Jest tests for their .test.* file. That means TypeScript won't type check those files. There should be some additional action/workflow that runs in CI to make sure, if the solution script were used in place of the index file, tsc would report no errors.

    Actual

    Nothing verifies right now in CI.

    Additional Info

    Note that just running tsc on .//**/solution .//**/test, excluding node_modules/, will give compile errors because test files import from index files. There'll need to be some logic to copy solution files over to replace index files.

    accepting prs area: tooling type: feature 
    opened by JoshuaKGoldberg 6
  • :sparkles: feat: add workflow for prettier formatting verification

    :sparkles: feat: add workflow for prettier formatting verification

    PR Checklist

    Overview

    • Set up prettier formatting verification workflow
    • Add prettier to codebase.
    opened by fuadop 6
  • ⬆️ build(deps-dev): bump ts-jest from 28.0.0 to 28.0.2

    ⬆️ build(deps-dev): bump ts-jest from 28.0.0 to 28.0.2

    Bumps ts-jest from 28.0.0 to 28.0.2.

    Changelog

    Sourced from ts-jest's changelog.

    28.0.2 (2022-05-07)

    Bug Fixes

    • transformers: use Array.sort in hoisting transformer (#3498) (e400a6e), closes #3476

    28.0.1 (2022-05-03)

    Bug Fixes

    Commits
    • aefc5f4 chore(release): 28.0.2 (#3501)
    • 966ca95 build(deps-dev): bump eslint from 8.14.0 to 8.15.0 (#3500)
    • 12d906d build(deps-dev): bump @​types/react from 18.0.8 to 18.0.9 (#3499)
    • e400a6e fix(transformers): use Array.sort in hoisting transformer (#3498)
    • 8e1e8dd build(deps-dev): bump @​types/jest from 27.4.1 to 27.5.0
    • 3621012 chore(release): 28.0.1
    • 3a4e48a fix: lower the required node version to ^16.10 (#1) (#3495)
    • ade9535 build(deps-dev): bump @​types/node from 17.0.30 to 17.0.31 (#3492)
    • b7182d7 build(deps-dev): bump @​typescript-eslint/eslint-plugin (#3491)
    • e1dccfb build(deps-dev): bump @​typescript-eslint/parser from 5.21.0 to 5.22.0 (#3493)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    opened by dependabot[bot] 6
  • :memo: docs: fix misc typos

    :memo: docs: fix misc typos

    PR Checklist

    Overview

    Fixes a few small inconsistencies in docs / TS templates. Should be self-explanatory, but I'm happy to explain any that are unclear.

    Once I finish reading the book, I'll probably do a pass to ensure the comments at the top of each index.ts match what the README is asking for; I've just been filing these as I found them.

    Also if I want to get in the "All Contributors" section (assuming I qualify), do I edit that file manually or go through a bot? CONTRIBUTING.md was unclear on that point.

    Thanks!


    Separately, do you have a preferred avenue for typos in the text of the book itself? I found a small one but didn't see a place to fix it.

    opened by xavdid 5
  • 🛠 Tooling: Verify PRs match the template

    🛠 Tooling: Verify PRs match the template

    Before You File a Bug Report Please Confirm You Have Done The Following...

    • [X] I have pulled the latest main branch of the repository.
    • [X] I have searched for related issues and found none that matched my request.
    • [X] This is the appropriate issue form for the tooling issue I would like to report.

    Expected

    If someone sends a PR that doesn't match PULL_REQUEST_TEMPLATE.md's format, a CI step should complain. I'm thinking this can be similar to the PR title check, but for the body of the PR.

    Actual

    Nothing is set up now.

    Additional Info

    No response

    accepting prs area: tooling type: feature 
    opened by JoshuaKGoldberg 5
  • 🛠 Tooling: Remove gitmoji from commitlint 😪

    🛠 Tooling: Remove gitmoji from commitlint 😪

    Tooling Report Checklist

    • [X] I have pulled the latest main branch of the repository.
    • [X] I have searched for related issues and found none that matched my request.
    • [X] This is the appropriate issue form for the tooling issue I would like to report.

    Expected

    Although the emojis are cute, I haven't seen other projects use them. And they can be annoying for contributors to type out.

    Actual

    I personally have been irked by having to figure out the right gitmoji for various PR types.

    Should gitmoji be removed from the commitlint config?

    Additional Info

    cc @fuadop

    accepting prs area: tooling 
    opened by JoshuaKGoldberg 4
  • ⬆️ build(deps-dev): Bump cspell from 6.5.0 to 6.18.1

    ⬆️ build(deps-dev): Bump cspell from 6.5.0 to 6.18.1

    Bumps cspell from 6.5.0 to 6.18.1.

    Release notes

    Sourced from cspell's releases.

    v6.18.1

    Changes

    ci: Workflow Bot -- Update Integration Snapshots (main) (#3935)

    Update Integration Repositories

    integration-tests/config/config.json | 40 +- .../Azure/azure-rest-api-specs/snapshot.txt | 10 +- .../snapshots/TheAlgorithms/Python/report.yaml | 151 ++--- .../snapshots/TheAlgorithms/Python/snapshot.txt | 151 ++--- .../apollographql/apollo-server/snapshot.txt | 2 +- .../snapshots/aws-amplify/docs/snapshot.txt | 2 +- .../snapshots/caddyserver/caddy/report.yaml | 4 +- .../snapshots/caddyserver/caddy/snapshot.txt | 4 +- .../snapshots/django/django/report.yaml | 91 +-- .../snapshots/django/django/snapshot.txt | 89 +-- .../snapshots/eslint/eslint/report.yaml | 5 +- .../snapshots/eslint/eslint/snapshot.txt | 5 +- .../googleapis/google-cloud-cpp/report.yaml | 162 ++--- .../googleapis/google-cloud-cpp/snapshot.txt | 158 ++--- .../snapshots/php/php-src/report.yaml | 96 +-- .../snapshots/php/php-src/snapshot.txt | 96 +-- .../snapshots/prettier/prettier/snapshot.txt | 2 +- .../snapshots/pycontribs/jira/report.yaml | 50 +- .../snapshots/pycontribs/jira/snapshot.txt | 50 +- .../snapshots/sveltejs/svelte/report.yaml | 657 +++------------------ .../snapshots/sveltejs/svelte/snapshot.txt | 653 +++----------------- .../snapshots/wireapp/wire-webapp/snapshot.txt | 19 +- 22 files changed, 740 insertions(+), 1757 deletions(-)


    Fixes

    fix: Add sample usage for cspell-lib:spellCheckDocument (#3941)


    ... (truncated)

    Changelog

    Sourced from cspell's changelog.

    6.18.1 (2022-12-29)

    Note: Version bump only for package cspell-monorepo

    6.18.0 (2022-12-21)

    Note: Version bump only for package cspell-monorepo

    6.17.0 (2022-12-05)

    Note: Version bump only for package cspell-monorepo

    6.16.0 (2022-12-02)

    Note: Version bump only for package cspell-monorepo

    6.15.1 (2022-11-30)

    Note: Version bump only for package cspell-monorepo

    6.15.0 (2022-11-25)

    Features

    6.14.3 (2022-11-17)

    Bug Fixes

    • trie-lib - fix issue with reference radix. (#3849) (73af697)

    6.14.2 (2022-11-11)

    Note: Version bump only for package cspell-monorepo

    6.14.1 (2022-11-07)

    Note: Version bump only for package cspell-monorepo

    6.14.0 (2022-11-03)

    Note: Version bump only for package cspell-monorepo

    6.13.3 (2022-10-31)

    Bug Fixes

    ... (truncated)

    Commits
    • 2570a9b v6.18.1
    • 30f989e ci: Workflow Bot -- Update ALL Dependencies (main) (#3942)
    • d96351a fix: Add sample usage for cspell-lib:spellCheckDocument (#3941)
    • 242a8e0 ci: Workflow Bot -- Update Integration Snapshots (main) (#3935)
    • 01b7fa5 ci: Workflow Bot -- Update ALL Dependencies (main) (#3933)
    • dcc24ac fix: Workflow Bot -- Update Dictionaries (main) (#3931)
    • 7662815 chore: Update test snapshots in dictionary workflow (#3934)
    • 1eee3a9 chore: Update snapshots when updating dictionaries (#3932)
    • 38ac568 ci: do not use set-output
    • 6785657 v6.18.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies npm 
    opened by dependabot[bot] 0
  • ⬆️ build(deps-dev): Bump @swc/core from 1.2.224 to 1.3.24

    ⬆️ build(deps-dev): Bump @swc/core from 1.2.224 to 1.3.24

    Bumps @swc/core from 1.2.224 to 1.3.24.

    Changelog

    Sourced from @​swc/core's changelog.

    [1.3.24] - 2022-12-21

    Bug Fixes

    • (css/minifier) Don't remove custom variables with different case (#6655) (dd7280d)

    • (css/minifier) Fix a bug with a modern hash (#6664) (1d3e06a)

    • (es/helpers) Fix loose mode (#6691) (5016ebe)

    • (es/minifier) Abort IIFE invoker completely on eval (#6659) (bb9fab8)

    • (es/minifier) Don't inline invalid LHS into an update argument (#6680) (7e6ec8d)

    • (es/preset-env) Align polyfills with @babel/plugin-polyfill-corejs3 (#6673) (5fed222)

    Features

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies npm 
    opened by dependabot[bot] 0
  • ⬆️ build(deps-dev): Bump @swc/jest from 0.2.22 to 0.2.24

    ⬆️ build(deps-dev): Bump @swc/jest from 0.2.22 to 0.2.24

    Bumps @swc/jest from 0.2.22 to 0.2.24.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies npm 
    opened by dependabot[bot] 0
  • docs: fix prompt and remove reference to tests that don't exist

    docs: fix prompt and remove reference to tests that don't exist

    PR Checklist

    Overview

    A couple of readmes reference test files that don't exist. Also, a part 2 readme used instructions from part 1, so I updated them.


    edit: also fixed instructions in readmes that specified the wrong number of type parameters and/or listed the wrong number.

    opened by xavdid 0
  • ⬆️ build(deps-dev): Bump tsd from 0.20.0 to 0.25.0

    ⬆️ build(deps-dev): Bump tsd from 0.20.0 to 0.25.0

    Bumps tsd from 0.20.0 to 0.25.0.

    Release notes

    Sourced from tsd's releases.

    v0.25.0

    • Upgrade to TypeScript 4.9 5a7ee7b

    https://github.com/SamVerschueren/tsd/compare/v0.24.1...v0.25.0

    v0.24.1

    • Fix a crash (#161) b11b648

    https://github.com/SamVerschueren/tsd/compare/v0.24.0...v0.24.1

    v0.24.0

    • Add expectNever assertion (#130) ae6189b
    • Add expectDocCommentIncludes assertion (#155) c3d0949
    • Don't truncate output of printType (#154) 68acb5b
    • Allow for aliased importing (#156) 14f2812
    • Update CLI documentation and add --typings and --files flags (#158) e251852

    https://github.com/SamVerschueren/tsd/compare/v0.23.0...v0.24.0

    v0.23.0

    • Upgrade to TypeScript 4.8 e1a9c95

    https://github.com/SamVerschueren/tsd/compare/v0.22.0...v0.23.0

    v0.22.0

    Breaking

    • Require Node.js 14 8ab9869

    Improvements

    • Infer value for moduleResolution tsconfig field if not set (#149) c6c2ec4

    https://github.com/SamVerschueren/tsd/compare/v0.21.0...v0.22.0

    v0.21.0

    • Upgrade to TypeScript 4.7 (#148) ddd1c4d

    https://github.com/SamVerschueren/tsd/compare/v0.20.0...v0.21.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies npm 
    opened by dependabot[bot] 0
  • 🐛 Bug: [Text Processor] Inconsistent tests expected results

    🐛 Bug: [Text Processor] Inconsistent tests expected results

    Bug Report Checklist

    • [X] I have tried restarting my IDE and the issue persists.
    • [X] I have pulled the latest main branch of the repository.
    • [X] I have searched for related issues and found none that matched my issue.
    • [X] This is the appropriate issue form for the bug I would like to report.

    Expected

    Some tests should pass based on the project's specification, examples and other tests results.

    Actual

    Some tests fail due to the expected result being incorrect.

    Impacted Project

    Arrays -> Text Processor

    Additional Info

    In projects/arrays/text-processor/src/index.test.ts there are some inconsistencies in the tests expected results.

    For example:

    On the test case at lines 31 to 38 we have:

    [
      ["ab de", "abc def"],
      { width: 4 },
      [
        ["ab  ", "de  "],
        ["abc ", "def "],
      ],
    ],
    

    We can see that the first element of the texts array "ab de" gets split in the expected result: ["ab ", "de "],.

    This is also true for the immediate next test at lines 39 to 47

    [
      ["ab de", "abc def", "abcd ef"],
      { width: 4 },
      [
        ["ab  ", "de  "],
        ["abc ", "def "],
        ["abcd", "ef  "],
      ],
    ],
    
    

    We can see the first element of the text array "ab de" also gets split in the expected result: ["ab ", "de "].

    However, in the test following this one, the expected result is different doesn't follow this pattern. On line 48 we have:

    [["ab de", "abc def"], { width: 5 }, [["ab de"], ["abc  ", "def  "]]],
    

    In this case, the first element of the text array "ab de" doesn't get split, instead we have that its corresponding expected result is ["ab de"] which differs from the previous test cases and ,to my understanding, also differs from the specification of this project.

    A gave a quick look an this "inconsistencies" also appear in more test cases like the test on line 49:

    [["abc def", "abc def"], { width: 8 }, [["abc def "], ["abc def "]]],
    

    test on line 66:

    [["abc def", "abcdefghi"], { width: 8 }, [["abc def "], ["abcdefghi"]]],
    

    or tests at lines 73 to 77

    [["abc def"], { align: "left", width: 7 }, [["abc def"]]],
    [["abc def"], { align: "left", width: 8 }, [["abc def "]]],
    [["abc def"], { align: "left", width: 9 }, [["abc def  "]]],
    [["abc def"], { align: "left", width: 10 }, [["abc def   "]]],
    [["abc def"], { align: "left", width: 11 }, [["abc def    "]]],
    

    These "inconsistencies" as I'm calling them right now, in turn make some tests fail which I believe shouldn't.

    I re-read the project description and specification a couple times but couldn't find anything that suggested this behavior was expected/intentional. An apologize in advance if my reading comprehension baamboozled me.

    type: bug 
    opened by JoseCrz 0
Owner
null
Preview and reply to your messages from within Alfred. Keep your hands on that keyboard!

Mouseless Messenger Mouseless Messenger offers you rapid keyboard-driven access to send and read conversations in the macOS Messages app via Alfred —

Stephan Casas 37 Dec 30, 2022
Write "hello world" in your native language, code "hello world" in your favorite programming language!

Hello World, All languages! ?? ?? Write "hello world" in your native language, code "hello world" in your favorite language! #hacktoberfest2022 How to

Carolina Calixto 6 Dec 13, 2022
This is a full-stack exercise tracker web application built using the MERN (MongoDB, ExpressJS, ReactJS, NodeJS) stack. You can easily track your exercises with this Full-Stack Web Application.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

WMouton 2 Dec 25, 2021
e-ONG, an authorial project, whose objective is to help ONGs to find people who need help or would like to help them

This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: npm start Runs the app in the developmen

Lucas Lima 2 Nov 11, 2022
Dapp example for airdropping ERC-20 tokens using World ID, preserving privacy for the claimers with zero-knowledge proofs.

World ID Example - Mesha Airdrop This repository contains an example decentralized application (dapp) for World ID. With Mesha Airdrop test airdroppin

Worldcoin 14 Dec 16, 2022
Cheatsheet for the JavaScript knowledge you will frequently encounter in modern projects.

Modern JavaScript Cheatsheet Image Credits: Ahmad Awais ⚡️ If you like this content, you can ping me or follow me on Twitter ?? Introduction Motivatio

Manuel Beaudru 23.9k Jan 4, 2023
A superfast and easy to use knowledge base to help your customers get the info they need, when they need it most.

A superfast and easy to use knowledge base to help your customers get the info they need, when they need it most. helpkb is an open-source Next.js (A

Mark Moffat 11 Dec 5, 2022
Connect your Ethereum smart contract to any real world API using the oracle pattern!

Minimal Viable Oracle (MVO) - An effective way to Build your own oracle with Solidity Smart contracts cannot access off-chain data directly. This repo

Noah 9 Aug 25, 2022
An API library of useful mocked endpoints to help you get your designs feeling lifelike with real data.

About Welcome to Mocked-API, this is a live API that can be accessed by anyone who needs data to test out their website, app, components etc. Hacktobe

Aaron Rackley 48 Dec 29, 2022
Repository for hands on practice in Git and GitHub workshop

Git and Github Workshop Jan 2022 Successful contributors ✨ of this project will be featured on the GDSC website so as to bring attraction and learn vi

IIIT Vadodara Open Source 2 Feb 10, 2022
Hands Off Ukraine Web Component

A banner web component that enables companies/individuals to quickly show their support for Ukraine regarding the recent Russian invasion. It hopes to raise awareness to the incident and allow users to quickly access support websites & donate.

Filipe Freire 8 Mar 15, 2022
Hands-on lab for Power Platform Tools for Visual Studio Code

Power Platform Tools for Visual Studio Code Lab This repository contains the lab instructions and content on how to experience the Power Platform Tool

Microsoft 8 Dec 1, 2022
Repositório criado para desenvolvimento do Hands On 3 do Gama Experience 42.

handson3 Repositório criado para desenvolvimento do Hands On 3 do Gama Experience 42. Neste projeto devemos criar uma API que permita criar registros

Délio Costa 3 May 27, 2022
Open Source projects are a project to improve your JavaScript knowledge with JavaScript documentation, design patterns, books, playlists.

It is a project I am trying to list the repos that have received thousands of stars on Github and deemed useful by the JavaScript community. It's a gi

Cihat Salik 22 Aug 14, 2022
🥰 Mini world simulator is a terminal application made in JavaScript to control the world that is being generated.

Mini-world "Simulator" Mini world simulator is a terminal application made in JavaScript to control the world that is being generated. It has no other

Adrián 2 Mar 14, 2022
women who code - object oriented programming exercise

Table of contents General info Technologies Setup General info Authorizer APP Technologies Project is created with: Typescript: 4.2 Setup Requirements

null 3 Oct 1, 2022
This repository serves as a starter kit for doing simple TDD exercise

This repository serves as a starter kit for doing simple TDD exercise

adylanrff 3 Feb 19, 2022
An exercise in building a very minimal (and very stupid) in-memory SQL-like database for educational purposes.

Stupid Database This is an exercise in building a very minimal (and very stupid) in-memory SQL-like database for educational purposes. None of this co

Fabio Akita 196 Dec 20, 2022
Simple budget-tracker web app developed using Vanilla JavaScript. Exercise from Warren Tech Academy.

Willow Personal Finance - Exercise from Warren Tech Academy About Project screenshots Installation Extra notes About Tools: HTML CSS (SASS) JavaScript

Douglas Ferreira 7 Dec 14, 2022