Need help with javascript?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

exercism
251 Stars 230 Forks MIT License 1.2K Commits 70 Opened issues

Description

Exercism exercises in JavaScript.

Services available

!
?

Need anything else?

Contributors list

JavaScript

configlet javascript / master

Exercism exercises in JavaScript

This is the JavaScript track, one of the many tracks on Exercism. It holds all the exercises that are currently implemented and available for students to complete. The track consists of various core exercises - the ones a student must complete - and each core exercise may unlock various side exercises. You can find this in the

config.json
.

In version 3 of Exercism, the above no longer holds. See the

exercism/v3
repository for more information.

Tools

See CONTRIBUTING.md for a list of requirements to contribute to this track. It also has a list of tools you can use, of which the

test
tool is one of them.

Running the code quality tooling (linter)

This run

eslint
for all files that require linting.
npx eslint exercises/**/*.spec.js exercises/**/.meta/*.js --fix

These are also the files that are linted using the lint script, mentioned in CONTRIBUTING.md. The lint rules imposed on contributors and maintainers are stricter than those for the student. The idea is that we do not impose style rules on the students, but we guard for (potential) errors.

Files with strict rules:

  • .spec.js
  • .meta/proof.ci.js
  • .meta/exemplar.js

Files with loose rules:

  • custom.spec.js
  • .js

Running the test suite

This runs

jest
tests for all sample solutions. This does not use the regular way to run
jest
, because the example solution files must be renamed to be imported correctly into the test files.
npx babel-node scripts/test

If the

ASSIGNMENT
environment variable is set, only that exercise is tested. For example, if you only want to test the
example.js
for the practice exercise
two-fer
, you may, depending on your environment, use:
ASSIGNMENT=practice/two-fer npx babel-node scripts/test

Running on Windows? Depending on your shell, environment variables are set differently. You can use

cross-env
to normalize this. The following should work across environments:
npx cross-env ASSIGNMENT=practice/two-fer babel-node scripts/test

Related repositories

Related TypeScript repositories

A lot of the improvements made to this track and tooling, is also made to the TypeScript track and tooling and vice-versa.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.