Skip to content

Releases: exercism/configlet

4.0.0-alpha.21

11 Jun 12:29
5211863
Compare
Choose a tag to compare

This release changes the default behavior of the sync command.

A plain configlet sync now makes no changes to the track
directory, and instead behaves as configlet sync --check did.

The old behavior of configlet sync, which was interactively syncing
the tests, is now implemented as configlet sync --update.

This is the first step towards overhauling the sync design to also
handle syncing docs, metadata, and filepaths.

4.0.0-alpha.20

10 Jun 20:35
c684530
Compare
Choose a tag to compare

Enhancements

  • lint, sync: make JSON parsing stricter (#346)
  • sync: improve tests.toml beginning comment (#349)
  • sync: improve output for choosing tests (#352)

New features

  • sync: write fuller description for nested test cases (#301, #351)
  • sync: write tests.toml with reimplements (#317)

4.0.0-alpha.19

28 May 09:16
dfe93d1
Compare
Choose a tag to compare

This is a small release for configlet lint.

New features

  • lint(track_config): remove ace_editor_language check (#339)
  • lint(track_config): check the length of some strings (#335)

4.0.0-alpha.18

14 May 18:02
56c5122
Compare
Choose a tag to compare

This is a small release for configlet lint.

New features

  • lint: require more arrays to have distinct items (#330)
  • lint: check test_runner.average_run_time (#329)

4.0.0-alpha.17

12 May 12:14
e6952df
Compare
Choose a tag to compare

New features

This release adds the initial implementation of the configlet generate command.

See here for more information.

4.0.0-alpha.16

09 May 08:38
b3ee377
Compare
Choose a tag to compare

New features

This release adds the below checks to configlet lint.

For each Concept Exercise .meta/config.json file:

  • The files listed in files.solution must exist
  • The files listed in files.test must exist
  • The files listed in files.exemplar must exist

For each Practice Exercise .meta/config.json file:

  • The files listed in files.solution must exist
  • The files listed in files.test must exist
  • The files listed in files.example must exist

To view the configlet lint output that this release adds, see #319

4.0.0-alpha.15

03 May 09:36
b42b8fe
Compare
Choose a tag to compare

New features

  • lint: check concept .meta/config.json files (#261)

4.0.0-alpha.14

01 May 18:19
e167265
Compare
Choose a tag to compare

This biggest change this release is for configlet sync.

Specification update

The previous format for a tests.toml file was like:

[canonical-tests]

# lowercase words
"79ae3889-a5c0-4b01-baf0-232d31180c08" = true

This release updates configlet sync so that it reads and writes each
tests.toml file using the new format:

[79ae3889-a5c0-4b01-baf0-232d31180c08]
description = "lowercase words"

Note that:

  • A missing include property implies include = true.
  • We remove any explicit include = true in a tests.toml file when
    that file is regenerated, which happens when configlet includes or
    excludes a new test case.
  • We try to preserve custom properties (where the key is named something
    other than include or description), but we do not currently
    preserve the existing whitespace.

New features

  • lint: require some arrays to have unique items (#296)
  • lint(validators): support checking arrays for duplicates (#295)
  • lint(track_config): validate editor language properties (#294)
  • lint(concept_exercises): validate icon property (#293)

4.0.0-alpha.13

28 Apr 16:38
237e841
Compare
Choose a tag to compare

New features

With this release, configlet lint now checks that the value of every uuid key:

  • matches the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
  • is unique within the track

It does not yet check that each value is unique across all Exercism tracks. But it will later.

A user can generate a suitable UUID by running configlet uuid.

4.0.0-alpha.12

13 Apr 11:21
0414b04
Compare
Choose a tag to compare

New features

  • lint: add kebab-case checks (#274)