File tree Expand file tree Collapse file tree 1 file changed +82
-0
lines changed Expand file tree Collapse file tree 1 file changed +82
-0
lines changed Original file line number Diff line number Diff line change 1+ export type Maybe < T > = T | null ;
2+
3+ export type TutorialConfig = {
4+ appVersions : TutorialAppVersions ;
5+ testRunner : TestRunnerConfig ;
6+ repo : TutorialRepo ;
7+ dependencies ?: TutorialDependency [ ] ;
8+ } ;
9+
10+ /** Logical groupings of tasks */
11+ export type Level = {
12+ id : string ;
13+ title : string ;
14+ /** A summary of the level */
15+ summary : string ;
16+ /** The lesson content of the level, parsed as markdown */
17+ content : string ;
18+ /** Actions run on level start up for configuring setup */
19+ setup ?: Maybe < StepActions > ;
20+ /** A set of tasks for users linked to unit tests */
21+ steps : Array < Step > ;
22+ } ;
23+
24+ /** A level task */
25+ export type Step = {
26+ id : string ;
27+ content : string ;
28+ setup : StepActions ;
29+ solution : Maybe < StepActions > ;
30+ subtasks ?: { [ testName : string ] : boolean } ;
31+ } ;
32+
33+ /** A tutorial for use in VSCode CodeRoad */
34+ export type Tutorial = {
35+ id : string ;
36+ version : string ;
37+ summary : TutorialSummary ;
38+ config : TutorialConfig ;
39+ levels : Array < Level > ;
40+ } ;
41+
42+ /** Summary of tutorial used when selecting tutorial */
43+ export type TutorialSummary = {
44+ title : string ;
45+ description : string ;
46+ } ;
47+
48+ export type StepActions = {
49+ commands ?: string [ ] ;
50+ commits : string [ ] ;
51+ files ?: string [ ] ;
52+ watchers ?: string [ ] ;
53+ filter ?: string ;
54+ subtasks ?: boolean ;
55+ } ;
56+
57+ export interface TestRunnerArgs {
58+ filter ?: string ;
59+ tap : string ;
60+ }
61+
62+ export interface TestRunnerConfig {
63+ command : string ;
64+ args ?: TestRunnerArgs ;
65+ directory ?: string ;
66+ setup ?: StepActions ;
67+ }
68+
69+ export interface TutorialRepo {
70+ uri : string ;
71+ branch : string ;
72+ }
73+
74+ export interface TutorialDependency {
75+ name : string ;
76+ version : string ;
77+ message ?: string ;
78+ }
79+
80+ export interface TutorialAppVersions {
81+ vscode : string ;
82+ }
You can’t perform that action at this time.
0 commit comments