Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove fetch-canonical-data-syncer scripts #505

Merged
merged 1 commit into from
May 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ debug.log
# Binaries downloaded by binary download scripts
bin/configlet
bin/configlet.exe
bin/canonical_data_syncer
bin/canonical_data_syncer.exe

# Node modules
/exercises/**/node_modules
Expand Down
13 changes: 3 additions & 10 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ We welcome contributions of all sorts and sizes, from reporting issues to submit
- [Documentation](#documentation)
- [Tools](#tools)
- [Fetch configlet](#fetch-configlet)
- [Fetch canonical data syncer](#fetch-canonical-data-syncer)
- [Scripts](#scripts)
- [`format`](#format)
- [`lint`](#lint)
Expand Down Expand Up @@ -74,7 +73,7 @@ If there is no such issue, you may open one. The baseline of work is as follows:
1. Create a `<slug>.ts` stub file.
1. Create a `<slug>.test.ts` test file. Here add the tests, per canonical data if possible (more on canonical data below).
1. Create a `.meta/proof.ci.ts` file. Place a working implementation, assuming it's renamed to `<slug>.ts`
1. Create `.meta/tests.toml`. If the exercise that is being implemented has test data in the [problem specifications repository][problem-specifications], the contents of this file **must** be a list of UUIDs of the tests that are implemented or not implemented. Scroll down to [tools](#tools) to find the canonical data syncer which aids generating this file _interactively_.
1. Create `.meta/tests.toml`. If the exercise that is being implemented has test data in the [problem specifications repository][problem-specifications], the contents of this file **must** be a list of UUIDs of the tests that are implemented or not implemented. Scroll down to [tools](#tools) to find the configlet application which aids generating this file _interactively_.
1. Run the tests locally, using `scripts/test`: `ASSIGNMENT=slug yarn babel-node scripts/test`.
1. Run the linter locally, using `scripts/lint`: `ASSIGNMENT=slug yarn babel-node scripts/lint`.
1. Create an entry in `config.json`: a unique _new_ UUID (you can use the `configlet uuid` tool to generate one, scroll down to [tools](#tools) to see how you can get it), give it a difficulty (should be similar to similar exercises), and make sure the _order_ of the file is sane. Currently the file is ordered first on core - non core, then on difficulty low to high, and finally lexographically.
Expand Down Expand Up @@ -113,7 +112,7 @@ Syncing an exercise with _canonical data_: There is a [problem-specifications][p

- updating `tests.toml`;
- updating the `<slug>.test.ts` file;
- updating the `.meta/tests.toml` file, if the exercise that is being updated has test data in the [problem specifications repository][problem-specifications]. The contents of this file can be updated using the canonical data syncer, interactively;
- updating the `.meta/tests.toml` file, if the exercise that is being updated has test data in the [problem specifications repository][problem-specifications]. The contents of this file can be updated using configlet, interactively;
- match the `proof.ci.ts` file to still work with the new tests; and
- regenerate the [`README.md`][doc-readme], should there be any changes.

Expand Down Expand Up @@ -144,8 +143,6 @@ We also use `prettier` to format the files. **Prettier is _NOT_ installed when u

If you'd like to download [configlet][configlet], you can use the [`fetch-configlet`][bin-fetch-configlet] binary. It will run on Linux, Mac OSX and Windows, and download `configlet` to your local drive. Find more information about [configlet][configlet] [here][configlet].

### Fetch canonical data syncer

> If a track implements an exercise for which test data exists, the exercise _must_ contain a `.meta/tests.toml` file. The goal of the `tests.toml` file is to keep track of which tests are implemented by the exercise. Tests in this file are identified by their UUID and each test has a boolean value that indicates if it is implemented by that exercise.

A `tests.toml` file for a track's `two-fer` exercise looks like this:
Expand All @@ -166,9 +163,7 @@ description = "another name given"
include = false
```

To make it easy to keep the tests.toml up to date, contributors can use the `canonical_data_syncer` application. This application is a small, standalone binary that will compare the tests specified in the tests.toml files against the tests that are defined in the exercise's canonical data. It then interactively gives the maintainer the option to include or exclude test cases that are currently missing, updating the tests.toml file accordingly.

If you'd like to download [`canonical_data_syncer`][canonical-data-syncer], you can use the [`fetch-canonical_data_syncer`][bin-fetch-canonical-data-syncer] binary. It will run on Linux, Mac OSX and Windows, and download `canonical_data_syncer` to your local drive. Find more information about [`canonical_data_syncer`][canonical-data-syncer] [here][canonical-data-syncer].
To make it easy to keep the `tests.toml` files up to date, contributors can use the `configlet` application's `sync` command. This command will compare the tests specified in the `tests.toml` files against the tests that are defined in the exercise's canonical data. It then interactively gives the maintainer the option to include or exclude test cases that are currently missing, updating the `tests.toml` file accordingly.

### Scripts

Expand Down Expand Up @@ -352,9 +347,7 @@ Run this script with the `--fix` flag to automatically fix the names.
Run this script to check if there is any duplicate package name.

[configlet]: https://github.com/exercism/docs/blob/master/language-tracks/configuration/configlet.md
[canonical-data-syncer]: https://github.com/exercism/canonical-data-syncer
[bin-fetch-configlet]: https://github.com/exercism/javascript/blob/master/bin/fetch-configlet
[bin-fetch-canonical-data-syncer]: https://github.com/exercism/javascript/blob/master/bin/fetch-canonical_data_syncer
[web-exercism]: https://exercism.io
[file-config]: https://github.com/exercism/javascript/blob/master/config.json
[file-docs]: https://github.com/exercism/javascript/blob/master/docs
Expand Down
52 changes: 0 additions & 52 deletions bin/fetch-canonical_data_syncer

This file was deleted.

24 changes: 0 additions & 24 deletions bin/fetch-canonical_data_syncer.ps1

This file was deleted.