@learnpack/learnpack 2.1.25 → 2.1.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 };