Eclipse Theia vs VS Code API Comparator

API Compatibility API Compatibility

Overview

The repository contains the source code to generate a status report regarding the compatibility between the Eclipse Theia framework, and the VS Code Extension API.

Prerequisites

The environment variable GITHUB_TOKEN must be defined with a valid GitHub token. The tool grabs files remotely, and checks the latest versions using the GraphQL GitHub API.

Creating the Report

  1. Build the tool:

    $ yarn
    
  2. Generate the report:

    $ yarn run generate
    

    Example output:

    $ node lib/index.js
    🔍 Searching on github the Theia versions...
    🗂  The Theia versions to compare will be master, v1.21.0, v1.20.0
    🗃  Grabbing content...✔️ 
    🔍 Searching on github the VSCode versions...
    🗂  The VSCode versions to compare will be main, 1.63.2, 1.62.3, 1.61.2, 1.60.2
    🗃  Grabbing content...✔️ 
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/vscode-main.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/vscode-1.63.2.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/vscode-1.62.3.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/vscode-1.61.2.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/vscode-1.60.2.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/conf/vscode-theia.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/theia-master.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/conf/vscode-theia.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/theia-v1.21.0.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/conf/vscode-theia.d.ts...
    ⚙️  Analyzing /home/user/Git/vscode-theia-comparator/lib/theia-v1.20.0.d.ts...
    ⚙️  Parsing additional information from infos.yml...
    ⚙️  Generating HTML report...
    ✍️  HTML status written at /home/user/Git/vscode-theia-comparator/out/status.html
    ⚙️  Generating filtered HTML report...
    ✍️  Filtered HTML status written at /home/user/Git/vscode-theia-comparator/out/filtered-status.html
    

Provide additional information

The generator can add notes for any namespace, element or sub element. Notes are read from conf/infos.yml. An example on how these are configured is given in conf/infos.example.yml.