Skip to content

Latest commit

 

History

History
216 lines (151 loc) Β· 5.1 KB

CHANGELOG.md

File metadata and controls

216 lines (151 loc) Β· 5.1 KB

Change Log

All notable changes to the "coderoad-vscode" extension will be documented in this file.

Check Keep a Changelog for recommendations on how to structure this file.

[0.1.0]

  • Initial release

[0.2.0]

  • Improvements to error handling
  • Validate Git installed on startup
  • Validate Git remote can connect on tutorial selection
  • Fix component translation issues

[0.2.1]

  • Improves error page
  • Adds tutorial dependency validation in tutorial config. See an example below:
{
  "config": {
    "dependencies": [
      {
        "name": "node", // command line process to run
        "version": "^10", // see node-semver for options
        "message": "An optional message to display if the validation fails"
      },
      {
        "name": "npm",
        "version": ">=5"
      }
    ]
  }
}

[0.2.2]

  • Fixes issue where app fails on startup without a workspace, and instead returns an error page

[0.2.3]

  • Support Windows OS

[0.2.4]

  • Support VSCode 1.39.2

[0.3.0]

  • Validate the extension version against the tutorial config version. This should allow us to manage breaking changes in tutorial schema in upcoming versions. See node-semver for possible version ranges and options.
{
"config": {
  "appVersions": {
    "vscode": ">=0.2"
  },
}
  • Configure the CodeRoad to load and run in a different directory. The example below will:
    • load a commit and run npm install to setup the test runner in its own folder.
    • run "npm test" in the $ROOT/coderoad directory on save
{
"config": {
  "testRunner": {
    "command": "npm test", // runs in path location or root
    "path": "coderoad",
    "actions": {
      "commits": ["a974aea"],
      "commands": ["npm install"] // runs in path location or root
    }
  },
}

Resulting in a folder structure like the following:

- .vscode
- coderoad (test runner files only with their own setup)
  - package.json
  - tests
- package.json
- server.js

[0.4.0]

  • Want to look back at a previous lesson's content? Navigate through text content from previous levels by clicking the "Learn" dropdown.

traverse content

  • Continue an incomplete tutorial started in the same workspace. Choose the "continue" path from the start screen. Progress is stored in local storage in the workspace.

continue tutorial

[0.5.0]

  • Show test fail messages in the webview UI

fail message in webview

  • Display error messages if React fails to load

[0.6.0]

  • New configuration environment variables for web compatability
CODEROAD_DISABLE_RUN_ON_SAVE=true // blocks saving on file system changes
CODEROAD_DISPLAY_RUN_TEST_BUTTON=true // adds a run test button to tutorial page
CODEROAD_TUTORIAL_URL='path/to/tutorial_config_file.json' // will load directly into tutorial
  • Improves styles for inline code blocks

[0.6.1]

  • Replace checkboxes with icons

[0.7.0]

  • Style fixes for tables & bold markdown

  • Support loading subtasks (#340). Subtasks are a list of tests that need to pass before a task is complete. They can be loaded by:

  1. filtering down to a subset of tests by setting the step.setup.filter to a regex pattern that matches the tests you're targeting
  2. setting the step.setup.subtasks variable to true
  • Change for the test runner config. Changes are backwards compatible.
  1. testRunner.path=> testRunner.directory
  2. testRunner.actions => testRunner.setup
  3. Change command to capture args for "TAP" support, and test "filter"ing support. These changes will help lead to specific test suite presets in the future.
{
  "testRunner": {
    "command": "mocha",
    "args": {
      "filter": "--grep",
      "tap": "--reporter=mocha-tap-reporter"
    },
    "directory": ".coderoad",
    "setup": {
      "commits": ["410bd4f"],
      "commands": ["npm install"]
    }
  }
}

[0.8.0]

  • Support Python with using tap.py
  • Fix paragraph spacing
  • Support hints - clues that reveal on click to help guide users. Hints can be added to a step, see an example below.
### 1.1

A description of the task.

#### HINTS

- The first hint
- The second hint
- The last hint

[0.9.0]

Change subtask format to include subtasks in markdown.

Subtasks no longer need to be included in yaml, or require a filter.

See an example at http://github.com/shmck/coderoad-tutorial-subtask-demo

### 1.1

A description of the task

#### SUBTASKS

- The first subtask
- The second subtask

Subtasks are then matched up with tests with names that match

SUBTASK 1.1 :1 test name
SUBTASK 1.2 :2 test name

[0.10.0]

UI redesign for the tutorial page:

  • removes unnecessary headers
  • adds a side panel
  • step progress indicator
  • removes logs from error messges

Supports "reset button" for resetting state & running a reset script.

Adds a review page for viewing tutorial content. The review page should be especially helpful for tutorial creators.