@learnpack/learnpack 2.1.25 → 2.1.26

Sign up to get free protection for your applications and to get access to all the features.
Files changed (182) hide show
  1. package/README.md +16 -16
  2. package/bin/run +17 -17
  3. package/bin/run.cmd +3 -3
  4. package/lib/commands/audit.d.ts +6 -6
  5. package/lib/commands/audit.js +327 -302
  6. package/lib/commands/clean.d.ts +8 -8
  7. package/lib/commands/clean.js +25 -25
  8. package/lib/commands/download.d.ts +13 -13
  9. package/lib/commands/download.js +55 -55
  10. package/lib/commands/init.d.ts +9 -9
  11. package/lib/commands/init.js +123 -123
  12. package/lib/commands/login.d.ts +14 -14
  13. package/lib/commands/login.js +37 -37
  14. package/lib/commands/logout.d.ts +14 -14
  15. package/lib/commands/logout.js +37 -37
  16. package/lib/commands/publish.d.ts +14 -14
  17. package/lib/commands/publish.js +82 -82
  18. package/lib/commands/start.d.ts +7 -7
  19. package/lib/commands/start.js +165 -165
  20. package/lib/commands/test.d.ts +6 -6
  21. package/lib/commands/test.js +62 -62
  22. package/lib/index.d.ts +1 -1
  23. package/lib/index.js +4 -4
  24. package/lib/managers/config/allowed_files.d.ts +5 -5
  25. package/lib/managers/config/allowed_files.js +30 -30
  26. package/lib/managers/config/defaults.d.ts +39 -37
  27. package/lib/managers/config/defaults.js +40 -38
  28. package/lib/managers/config/exercise.d.ts +36 -36
  29. package/lib/managers/config/exercise.js +233 -230
  30. package/lib/managers/config/index.d.ts +3 -3
  31. package/lib/managers/config/index.js +320 -302
  32. package/lib/managers/file.d.ts +13 -13
  33. package/lib/managers/file.js +134 -134
  34. package/lib/managers/gitpod.d.ts +3 -3
  35. package/lib/managers/gitpod.js +67 -67
  36. package/lib/managers/server/index.d.ts +6 -6
  37. package/lib/managers/server/index.js +58 -51
  38. package/lib/managers/server/routes.d.ts +4 -4
  39. package/lib/managers/server/routes.js +167 -167
  40. package/lib/managers/session.d.ts +3 -3
  41. package/lib/managers/session.js +104 -104
  42. package/lib/managers/socket.d.ts +3 -3
  43. package/lib/managers/socket.js +164 -164
  44. package/lib/managers/test.js +84 -84
  45. package/lib/models/action.d.ts +2 -2
  46. package/lib/models/action.js +2 -2
  47. package/lib/models/audit.d.ts +15 -15
  48. package/lib/models/audit.js +2 -2
  49. package/lib/models/config-manager.d.ts +21 -21
  50. package/lib/models/config-manager.js +2 -2
  51. package/lib/models/config.d.ts +62 -60
  52. package/lib/models/config.js +2 -2
  53. package/lib/models/counter.d.ts +11 -11
  54. package/lib/models/counter.js +2 -2
  55. package/lib/models/errors.d.ts +15 -15
  56. package/lib/models/errors.js +2 -2
  57. package/lib/models/exercise-obj.d.ts +27 -27
  58. package/lib/models/exercise-obj.js +2 -2
  59. package/lib/models/file.d.ts +5 -5
  60. package/lib/models/file.js +2 -2
  61. package/lib/models/findings.d.ts +17 -17
  62. package/lib/models/findings.js +2 -2
  63. package/lib/models/flags.d.ts +10 -10
  64. package/lib/models/flags.js +2 -2
  65. package/lib/models/front-matter.d.ts +11 -11
  66. package/lib/models/front-matter.js +2 -2
  67. package/lib/models/gitpod-data.d.ts +16 -16
  68. package/lib/models/gitpod-data.js +2 -2
  69. package/lib/models/language.d.ts +4 -4
  70. package/lib/models/language.js +2 -2
  71. package/lib/models/package.d.ts +7 -7
  72. package/lib/models/package.js +2 -2
  73. package/lib/models/plugin-config.d.ts +16 -16
  74. package/lib/models/plugin-config.js +2 -2
  75. package/lib/models/session.d.ts +23 -23
  76. package/lib/models/session.js +2 -2
  77. package/lib/models/socket.d.ts +31 -31
  78. package/lib/models/socket.js +2 -2
  79. package/lib/models/status.d.ts +1 -1
  80. package/lib/models/status.js +2 -2
  81. package/lib/models/success-types.d.ts +1 -1
  82. package/lib/models/success-types.js +2 -2
  83. package/lib/plugin/command/compile.d.ts +6 -6
  84. package/lib/plugin/command/compile.js +18 -18
  85. package/lib/plugin/command/test.d.ts +6 -6
  86. package/lib/plugin/command/test.js +25 -25
  87. package/lib/plugin/index.d.ts +27 -27
  88. package/lib/plugin/index.js +7 -7
  89. package/lib/plugin/plugin.d.ts +8 -8
  90. package/lib/plugin/plugin.js +68 -68
  91. package/lib/plugin/utils.d.ts +16 -16
  92. package/lib/plugin/utils.js +58 -58
  93. package/lib/ui/download.d.ts +5 -5
  94. package/lib/ui/download.js +61 -61
  95. package/lib/utils/BaseCommand.d.ts +8 -8
  96. package/lib/utils/BaseCommand.js +41 -41
  97. package/lib/utils/SessionCommand.d.ts +10 -10
  98. package/lib/utils/SessionCommand.js +47 -47
  99. package/lib/utils/api.d.ts +12 -12
  100. package/lib/utils/api.js +173 -173
  101. package/lib/utils/audit.d.ts +16 -16
  102. package/lib/utils/audit.js +302 -302
  103. package/lib/utils/console.d.ts +12 -12
  104. package/lib/utils/console.js +19 -19
  105. package/lib/utils/errors.d.ts +17 -17
  106. package/lib/utils/errors.js +100 -100
  107. package/lib/utils/exercisesQueue.d.ts +9 -9
  108. package/lib/utils/exercisesQueue.js +38 -38
  109. package/lib/utils/fileQueue.d.ts +40 -40
  110. package/lib/utils/fileQueue.js +168 -168
  111. package/lib/utils/misc.d.ts +1 -1
  112. package/lib/utils/misc.js +23 -23
  113. package/lib/utils/validators.d.ts +5 -5
  114. package/lib/utils/validators.js +17 -17
  115. package/lib/utils/watcher.d.ts +2 -2
  116. package/lib/utils/watcher.js +23 -23
  117. package/oclif.manifest.json +1 -1
  118. package/package.json +138 -138
  119. package/src/commands/audit.ts +25 -0
  120. package/src/commands/clean.ts +29 -29
  121. package/src/commands/download.ts +62 -62
  122. package/src/commands/login.ts +42 -42
  123. package/src/commands/logout.ts +43 -43
  124. package/src/commands/publish.ts +107 -107
  125. package/src/commands/start.ts +238 -234
  126. package/src/commands/test.ts +85 -85
  127. package/src/index.ts +1 -1
  128. package/src/managers/config/allowed_files.ts +29 -29
  129. package/src/managers/config/defaults.ts +2 -0
  130. package/src/managers/config/exercise.ts +309 -302
  131. package/src/managers/config/index.ts +22 -1
  132. package/src/managers/file.ts +169 -169
  133. package/src/managers/gitpod.ts +84 -84
  134. package/src/managers/server/index.ts +77 -69
  135. package/src/managers/session.ts +118 -118
  136. package/src/managers/socket.ts +239 -239
  137. package/src/managers/test.ts +83 -83
  138. package/src/models/action.ts +3 -3
  139. package/src/models/config-manager.ts +23 -23
  140. package/src/models/config.ts +2 -0
  141. package/src/models/counter.ts +11 -11
  142. package/src/models/errors.ts +22 -22
  143. package/src/models/file.ts +5 -5
  144. package/src/models/findings.ts +18 -18
  145. package/src/models/flags.ts +10 -10
  146. package/src/models/front-matter.ts +11 -11
  147. package/src/models/gitpod-data.ts +19 -19
  148. package/src/models/language.ts +4 -4
  149. package/src/models/package.ts +7 -7
  150. package/src/models/plugin-config.ts +17 -17
  151. package/src/models/session.ts +26 -26
  152. package/src/models/socket.ts +48 -48
  153. package/src/models/status.ts +15 -15
  154. package/src/models/success-types.ts +1 -1
  155. package/src/plugin/command/compile.ts +17 -17
  156. package/src/plugin/command/test.ts +30 -30
  157. package/src/plugin/index.ts +6 -6
  158. package/src/plugin/plugin.ts +94 -94
  159. package/src/plugin/utils.ts +87 -87
  160. package/src/types/node-fetch.d.ts +1 -1
  161. package/src/ui/download.ts +71 -71
  162. package/src/utils/BaseCommand.ts +48 -48
  163. package/src/utils/SessionCommand.ts +48 -48
  164. package/src/utils/api.ts +194 -194
  165. package/src/utils/audit.ts +395 -395
  166. package/src/utils/console.ts +24 -24
  167. package/src/utils/errors.ts +117 -117
  168. package/src/utils/exercisesQueue.ts +51 -51
  169. package/src/utils/fileQueue.ts +198 -198
  170. package/src/utils/misc.ts +23 -23
  171. package/src/utils/templates/gitignore.txt +19 -19
  172. package/src/utils/templates/incremental/.learn/exercises/01-hello-world/README.es.md +24 -24
  173. package/src/utils/templates/incremental/.learn/exercises/01-hello-world/README.md +24 -24
  174. package/src/utils/templates/incremental/README.ejs +4 -4
  175. package/src/utils/templates/incremental/README.es.ejs +4 -4
  176. package/src/utils/templates/isolated/01-hello-world/README.es.md +26 -26
  177. package/src/utils/templates/isolated/01-hello-world/README.md +26 -26
  178. package/src/utils/templates/isolated/README.ejs +4 -4
  179. package/src/utils/templates/isolated/README.es.ejs +4 -4
  180. package/src/utils/templates/no-grading/README.ejs +4 -4
  181. package/src/utils/templates/no-grading/README.es.ejs +4 -4
  182. package/src/utils/validators.ts +18 -18
@@ -1,23 +1,23 @@
1
- import { IConfigObj, TGrading } from "./config";
2
- import { IExercise } from "./exercise-obj";
3
-
4
- export interface IConfigManagerAttributes {
5
- grading: TGrading;
6
- disableGrading: boolean;
7
- version: string;
8
- mode?: string;
9
- }
10
-
11
- export interface IConfigManager {
12
- validLanguages?: any;
13
- get: () => IConfigObj;
14
- clean: () => void;
15
- getExercise: (slug: string | undefined) => IExercise;
16
- startExercise: (slug: string) => IExercise;
17
- reset: (slug: string) => void;
18
- buildIndex: () => boolean | void;
19
- watchIndex: (onChange: (...args: Array<any>) => void) => void;
20
- save: () => void;
21
- noCurrentExercise: () => void;
22
- getAllExercises: () => IExercise[];
23
- }
1
+ import { IConfigObj, TGrading } from "./config";
2
+ import { IExercise } from "./exercise-obj";
3
+
4
+ export interface IConfigManagerAttributes {
5
+ grading: TGrading;
6
+ disableGrading: boolean;
7
+ version: string;
8
+ mode?: string;
9
+ }
10
+
11
+ export interface IConfigManager {
12
+ validLanguages?: any;
13
+ get: () => IConfigObj;
14
+ clean: () => void;
15
+ getExercise: (slug: string | undefined) => IExercise;
16
+ startExercise: (slug: string) => IExercise;
17
+ reset: (slug: string) => void;
18
+ buildIndex: () => boolean | void;
19
+ watchIndex: (onChange: (...args: Array<any>) => void) => void;
20
+ save: () => void;
21
+ noCurrentExercise: () => void;
22
+ getAllExercises: () => IExercise[];
23
+ }
@@ -62,6 +62,8 @@ export interface IConfig {
62
62
  compiler: TCompiler;
63
63
  publicPath: string;
64
64
  publicUrl?: string;
65
+ bugsLink?: string;
66
+ videoSolutions?: boolean;
65
67
  skills: Array<string>;
66
68
  runHook: (...agrs: Array<any>) => void;
67
69
  testingFinishedCallback: (arg: any | undefined) => void;
@@ -1,11 +1,11 @@
1
- interface ILinks {
2
- error: number;
3
- total: number;
4
- }
5
-
6
- export interface ICounter {
7
- images: ILinks;
8
- links: ILinks;
9
- exercises: number;
10
- readmeFiles: number;
11
- }
1
+ interface ILinks {
2
+ error: number;
3
+ total: number;
4
+ }
5
+
6
+ export interface ICounter {
7
+ images: ILinks;
8
+ links: ILinks;
9
+ exercises: number;
10
+ readmeFiles: number;
11
+ }
@@ -1,22 +1,22 @@
1
- export interface ISolution {
2
- video?: string;
3
- message: string;
4
- slug?: string;
5
- gif: string;
6
- }
7
-
8
- export interface IError extends TypeError {
9
- status?: number;
10
- type?:
11
- | "validation-error"
12
- | "not-found-error"
13
- | "compiler-error"
14
- | "testing-error"
15
- | "auth-error"
16
- | "internal-error";
17
- slug?: string;
18
- video?: string;
19
- message: string;
20
- gif?: string;
21
- stdout?: string;
22
- }
1
+ export interface ISolution {
2
+ video?: string;
3
+ message: string;
4
+ slug?: string;
5
+ gif: string;
6
+ }
7
+
8
+ export interface IError extends TypeError {
9
+ status?: number;
10
+ type?:
11
+ | "validation-error"
12
+ | "not-found-error"
13
+ | "compiler-error"
14
+ | "testing-error"
15
+ | "auth-error"
16
+ | "internal-error";
17
+ slug?: string;
18
+ video?: string;
19
+ message: string;
20
+ gif?: string;
21
+ stdout?: string;
22
+ }
@@ -1,5 +1,5 @@
1
- export interface IFile {
2
- path: string;
3
- name: string;
4
- hidden: boolean;
5
- }
1
+ export interface IFile {
2
+ path: string;
3
+ name: string;
4
+ hidden: boolean;
5
+ }
@@ -1,18 +1,18 @@
1
- interface IFindingOption {
2
- content: string;
3
- absUrl: string;
4
- mdUrl: string;
5
- relUrl: string;
6
- }
7
-
8
- interface ILinks {
9
- [key: string]: IFindingOption;
10
- }
11
-
12
- export interface IFindings {
13
- relativeImages?: ILinks;
14
- externalImages?: ILinks;
15
- markdownLinks?: ILinks;
16
- url?: ILinks;
17
- uploadcare?: ILinks;
18
- }
1
+ interface IFindingOption {
2
+ content: string;
3
+ absUrl: string;
4
+ mdUrl: string;
5
+ relUrl: string;
6
+ }
7
+
8
+ interface ILinks {
9
+ [key: string]: IFindingOption;
10
+ }
11
+
12
+ export interface IFindings {
13
+ relativeImages?: ILinks;
14
+ externalImages?: ILinks;
15
+ markdownLinks?: ILinks;
16
+ url?: ILinks;
17
+ uploadcare?: ILinks;
18
+ }
@@ -1,10 +1,10 @@
1
- export interface IStartFlags {
2
- port?: string | unknown;
3
- host?: string | unknown;
4
- disableGrading?: boolean | unknown;
5
- watch?: boolean | unknown;
6
- editor?: string | unknown;
7
- version?: string | unknown;
8
- grading?: string | unknown;
9
- debug?: boolean | unknown;
10
- }
1
+ export interface IStartFlags {
2
+ port?: string | unknown;
3
+ host?: string | unknown;
4
+ disableGrading?: boolean | unknown;
5
+ watch?: boolean | unknown;
6
+ editor?: string | unknown;
7
+ version?: string | unknown;
8
+ grading?: string | unknown;
9
+ debug?: boolean | unknown;
10
+ }
@@ -1,11 +1,11 @@
1
- interface IAttributes {
2
- intro: string;
3
- tutorial: string;
4
- }
5
-
6
- export interface IFrontmatter {
7
- attributes?: IAttributes;
8
- body?: string;
9
- bodyBegin?: number;
10
- frontmatter?: string;
11
- }
1
+ interface IAttributes {
2
+ intro: string;
3
+ tutorial: string;
4
+ }
5
+
6
+ export interface IFrontmatter {
7
+ attributes?: IAttributes;
8
+ body?: string;
9
+ bodyBegin?: number;
10
+ frontmatter?: string;
11
+ }
@@ -1,19 +1,19 @@
1
- import {Server} from 'socket.io'
2
- import {IConfigObj} from './config'
3
-
4
- export type TFile = string;
5
-
6
- export interface IGitpodData {
7
- files: Array<TFile>;
8
- }
9
-
10
- export interface IGitpod {
11
- socket: Server | null;
12
- config: IConfigObj | null;
13
- initialized: boolean;
14
- hasGPCommand: boolean;
15
- init: (config?: IConfigObj) => void;
16
- openFiles: (files: Array<TFile>) => Promise<boolean | undefined>;
17
- setup: (config?: IConfigObj) => void;
18
- autosave: (value: string) => void;
19
- }
1
+ import {Server} from 'socket.io'
2
+ import {IConfigObj} from './config'
3
+
4
+ export type TFile = string;
5
+
6
+ export interface IGitpodData {
7
+ files: Array<TFile>;
8
+ }
9
+
10
+ export interface IGitpod {
11
+ socket: Server | null;
12
+ config: IConfigObj | null;
13
+ initialized: boolean;
14
+ hasGPCommand: boolean;
15
+ init: (config?: IConfigObj) => void;
16
+ openFiles: (files: Array<TFile>) => Promise<boolean | undefined>;
17
+ setup: (config?: IConfigObj) => void;
18
+ autosave: (value: string) => void;
19
+ }
@@ -1,4 +1,4 @@
1
- export interface ILanguage {
2
- title: string;
3
- slug: string;
4
- }
1
+ export interface ILanguage {
2
+ title: string;
3
+ slug: string;
4
+ }
@@ -1,7 +1,7 @@
1
- export interface IPackage {
2
- title: string;
3
- slug: string;
4
- difficulty: string;
5
- downloads: string;
6
- skills: Array<any>;
7
- }
1
+ export interface IPackage {
2
+ title: string;
3
+ slug: string;
4
+ difficulty: string;
5
+ downloads: string;
6
+ skills: Array<any>;
7
+ }
@@ -1,17 +1,17 @@
1
- import { IConfig } from "./config";
2
- import { IExercise } from "./exercise-obj";
3
-
4
- export interface IPluginConfig {
5
- language: string;
6
- compile?: {
7
- run: () => void;
8
- validate: (args: IValidate) => boolean;
9
- dependencies: string[];
10
- };
11
- test?: () => void;
12
- }
13
-
14
- interface IValidate {
15
- exercise: IExercise;
16
- configuration: IConfig;
17
- }
1
+ import { IConfig } from "./config";
2
+ import { IExercise } from "./exercise-obj";
3
+
4
+ export interface IPluginConfig {
5
+ language: string;
6
+ compile?: {
7
+ run: () => void;
8
+ validate: (args: IValidate) => boolean;
9
+ dependencies: string[];
10
+ };
11
+ test?: () => void;
12
+ }
13
+
14
+ interface IValidate {
15
+ exercise: IExercise;
16
+ configuration: IConfig;
17
+ }
@@ -1,26 +1,26 @@
1
- import {IConfig, IConfigObj} from './config'
2
-
3
- export interface IPayload {
4
- email: string;
5
- }
6
-
7
- export interface IStartProps {
8
- token: string;
9
- payload: IPayload | null;
10
- }
11
-
12
- export interface ISession {
13
- sessionStarted: boolean;
14
- token: string | null;
15
- config: IConfig | null;
16
- currentCohort: null;
17
- initialize: () => Promise<boolean>;
18
- setPayload: (value: IPayload) => Promise<boolean>;
19
- getPayload: () => Promise<any>;
20
- isActive: () => boolean;
21
- get: (config?: IConfigObj) => Promise<any>;
22
- login: () => Promise<void>;
23
- sync: () => Promise<void>;
24
- start: ({token, payload}: IStartProps) => Promise<void>;
25
- destroy: () => Promise<void>;
26
- }
1
+ import {IConfig, IConfigObj} from './config'
2
+
3
+ export interface IPayload {
4
+ email: string;
5
+ }
6
+
7
+ export interface IStartProps {
8
+ token: string;
9
+ payload: IPayload | null;
10
+ }
11
+
12
+ export interface ISession {
13
+ sessionStarted: boolean;
14
+ token: string | null;
15
+ config: IConfig | null;
16
+ currentCohort: null;
17
+ initialize: () => Promise<boolean>;
18
+ setPayload: (value: IPayload) => Promise<boolean>;
19
+ getPayload: () => Promise<any>;
20
+ isActive: () => boolean;
21
+ get: (config?: IConfigObj) => Promise<any>;
22
+ login: () => Promise<void>;
23
+ sync: () => Promise<void>;
24
+ start: ({token, payload}: IStartProps) => Promise<void>;
25
+ destroy: () => Promise<void>;
26
+ }
@@ -1,48 +1,48 @@
1
- import {IConfig} from './config'
2
- import {Server} from 'socket.io'
3
- import {DefaultEventsMap} from 'socket.io/dist/typed-events'
4
- import {TAction, ICallback} from './action'
5
- import {TStatus} from './status'
6
-
7
- export type TPossibleActions = 'build' | 'test' | 'reset' | 'tutorial';
8
-
9
- export interface ISocket {
10
- socket: Server<
11
- DefaultEventsMap,
12
- DefaultEventsMap,
13
- DefaultEventsMap,
14
- any
15
- > | null;
16
- config: IConfig | null;
17
- allowedActions: Array<TPossibleActions>;
18
- actionCallBacks: { [key: string]: ICallback };
19
- possibleActions: Array<TPossibleActions>;
20
- isTestingEnvironment: boolean;
21
- addAllowed: (actions: any) => void;
22
- removeAllowed: (actions: any) => void;
23
- start: (config: IConfig, server: any, isTestingEnvironment: boolean) => void;
24
- on: (action: any, callBack: any) => void;
25
- clean: (_: string, logs: Array<any>) => void;
26
- ask: (questions: Array<string>) => void;
27
- reload: (files: Array<string> | null, exercises: Array<string>) => void;
28
- openWindow: (id: string) => void;
29
- log: (
30
- status: TStatus,
31
- messages?: string | Array<string>,
32
- report?: Array<string>,
33
- data?: any
34
- ) => void;
35
- emit: (
36
- action: TAction,
37
- status: TStatus | string,
38
- logs: string | Array<string>,
39
- inputs?: Array<string>,
40
- report?: Array<string>,
41
- data?: any
42
- ) => void;
43
- ready: (message: string) => void;
44
- error: (type: any, stdout: string) => void;
45
- fatal: (msg: string) => void;
46
- success: (type: any, stdout: string) => void;
47
- onTestingFinished: (obj: any) => void;
48
- }
1
+ import {IConfig} from './config'
2
+ import {Server} from 'socket.io'
3
+ import {DefaultEventsMap} from 'socket.io/dist/typed-events'
4
+ import {TAction, ICallback} from './action'
5
+ import {TStatus} from './status'
6
+
7
+ export type TPossibleActions = 'build' | 'test' | 'reset' | 'tutorial';
8
+
9
+ export interface ISocket {
10
+ socket: Server<
11
+ DefaultEventsMap,
12
+ DefaultEventsMap,
13
+ DefaultEventsMap,
14
+ any
15
+ > | null;
16
+ config: IConfig | null;
17
+ allowedActions: Array<TPossibleActions>;
18
+ actionCallBacks: { [key: string]: ICallback };
19
+ possibleActions: Array<TPossibleActions>;
20
+ isTestingEnvironment: boolean;
21
+ addAllowed: (actions: any) => void;
22
+ removeAllowed: (actions: any) => void;
23
+ start: (config: IConfig, server: any, isTestingEnvironment: boolean) => void;
24
+ on: (action: any, callBack: any) => void;
25
+ clean: (_: string, logs: Array<any>) => void;
26
+ ask: (questions: Array<string>) => void;
27
+ reload: (files: Array<string> | null, exercises: Array<string>) => void;
28
+ openWindow: (id: string) => void;
29
+ log: (
30
+ status: TStatus,
31
+ messages?: string | Array<string>,
32
+ report?: Array<string>,
33
+ data?: any
34
+ ) => void;
35
+ emit: (
36
+ action: TAction,
37
+ status: TStatus | string,
38
+ logs: string | Array<string>,
39
+ inputs?: Array<string>,
40
+ report?: Array<string>,
41
+ data?: any
42
+ ) => void;
43
+ ready: (message: string) => void;
44
+ error: (type: any, stdout: string) => void;
45
+ fatal: (msg: string) => void;
46
+ success: (type: any, stdout: string) => void;
47
+ onTestingFinished: (obj: any) => void;
48
+ }
@@ -1,15 +1,15 @@
1
- export type TStatus =
2
- | 'ready'
3
- | 'internal-error'
4
- | 'compiler-success'
5
- | 'testing-success'
6
- | 'compiling'
7
- | 'testing'
8
- | 'start_exercise'
9
- | 'initializing'
10
- | 'configuration_loaded'
11
- | 'connection_ended'
12
- | 'reset_exercise'
13
- | 'open_files'
14
- | 'open_window'
15
- | 'instructions_closed';
1
+ export type TStatus =
2
+ | 'ready'
3
+ | 'internal-error'
4
+ | 'compiler-success'
5
+ | 'testing-success'
6
+ | 'compiling'
7
+ | 'testing'
8
+ | 'start_exercise'
9
+ | 'initializing'
10
+ | 'configuration_loaded'
11
+ | 'connection_ended'
12
+ | 'reset_exercise'
13
+ | 'open_files'
14
+ | 'open_window'
15
+ | 'instructions_closed';
@@ -1 +1 @@
1
- export type TSuccessType = 'compiler-success' | 'testing-success';
1
+ export type TSuccessType = 'compiler-success' | 'testing-success';
@@ -1,17 +1,17 @@
1
- import { IError } from "../../models/errors";
2
-
3
- const CompilationError = (messages: string) => {
4
- const _err: IError = new Error(messages);
5
- _err.status = 400;
6
- _err.stdout = messages;
7
- _err.type = "compiler-error";
8
- return _err;
9
- };
10
-
11
- export default {
12
- CompilationError,
13
- default: async ({ action, ...rest }: any) => {
14
- const stdout = await action.run(rest);
15
- return stdout;
16
- },
17
- };
1
+ import { IError } from "../../models/errors";
2
+
3
+ const CompilationError = (messages: string) => {
4
+ const _err: IError = new Error(messages);
5
+ _err.status = 400;
6
+ _err.stdout = messages;
7
+ _err.type = "compiler-error";
8
+ return _err;
9
+ };
10
+
11
+ export default {
12
+ CompilationError,
13
+ default: async ({ action, ...rest }: any) => {
14
+ const stdout = await action.run(rest);
15
+ return stdout;
16
+ },
17
+ };
@@ -1,30 +1,30 @@
1
- import * as fs from "fs";
2
- import { IError } from "../../models/errors";
3
-
4
- const TestingError = (messages: string) => {
5
- const _err: IError = new Error(messages);
6
- _err.status = 400;
7
- _err.stdout = messages;
8
- _err.type = "testing-error";
9
- return _err;
10
- };
11
-
12
- export default {
13
- TestingError,
14
- default: async function (args: any) {
15
- const { action, configuration, socket, exercise } = args;
16
-
17
- if (!fs.existsSync(`${configuration.dirPath}/reports`)) {
18
- // reports directory
19
- fs.mkdirSync(`${configuration.dirPath}/reports`);
20
- }
21
-
22
- // compile
23
- const stdout = await action.run(args);
24
-
25
- // mark exercise as done
26
- exercise.done = true;
27
-
28
- return stdout;
29
- },
30
- };
1
+ import * as fs from "fs";
2
+ import { IError } from "../../models/errors";
3
+
4
+ const TestingError = (messages: string) => {
5
+ const _err: IError = new Error(messages);
6
+ _err.status = 400;
7
+ _err.stdout = messages;
8
+ _err.type = "testing-error";
9
+ return _err;
10
+ };
11
+
12
+ export default {
13
+ TestingError,
14
+ default: async function (args: any) {
15
+ const { action, configuration, socket, exercise } = args;
16
+
17
+ if (!fs.existsSync(`${configuration.dirPath}/reports`)) {
18
+ // reports directory
19
+ fs.mkdirSync(`${configuration.dirPath}/reports`);
20
+ }
21
+
22
+ // compile
23
+ const stdout = await action.run(args);
24
+
25
+ // mark exercise as done
26
+ exercise.done = true;
27
+
28
+ return stdout;
29
+ },
30
+ };
@@ -1,6 +1,6 @@
1
- import CompilationError from "./command/compile";
2
- import TestingError from "./command/test";
3
- import utils from "./utils";
4
- import plugin from "./plugin";
5
-
6
- export default { CompilationError, TestingError, Utils: utils, plugin };
1
+ import CompilationError from "./command/compile";
2
+ import TestingError from "./command/test";
3
+ import utils from "./utils";
4
+ import plugin from "./plugin";
5
+
6
+ export default { CompilationError, TestingError, Utils: utils, plugin };