@learnpack/learnpack 2.0.18 → 2.0.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. package/README.md +10 -10
  2. package/oclif.manifest.json +1 -1
  3. package/package.json +1 -1
  4. package/lib/commands/audit.d.ts +0 -6
  5. package/lib/commands/audit.js +0 -369
  6. package/lib/commands/clean.d.ts +0 -8
  7. package/lib/commands/clean.js +0 -25
  8. package/lib/commands/download.d.ts +0 -13
  9. package/lib/commands/download.js +0 -55
  10. package/lib/commands/init.d.ts +0 -9
  11. package/lib/commands/init.js +0 -117
  12. package/lib/commands/login.d.ts +0 -14
  13. package/lib/commands/login.js +0 -37
  14. package/lib/commands/logout.d.ts +0 -14
  15. package/lib/commands/logout.js +0 -37
  16. package/lib/commands/publish.d.ts +0 -14
  17. package/lib/commands/publish.js +0 -82
  18. package/lib/commands/start.d.ts +0 -7
  19. package/lib/commands/start.js +0 -165
  20. package/lib/commands/test.d.ts +0 -6
  21. package/lib/commands/test.js +0 -62
  22. package/lib/managers/config/allowed_files.d.ts +0 -5
  23. package/lib/managers/config/allowed_files.js +0 -30
  24. package/lib/managers/config/defaults.d.ts +0 -34
  25. package/lib/managers/config/defaults.js +0 -35
  26. package/lib/managers/config/exercise.d.ts +0 -36
  27. package/lib/managers/config/exercise.js +0 -230
  28. package/lib/managers/config/index.d.ts +0 -3
  29. package/lib/managers/config/index.js +0 -307
  30. package/lib/managers/file.d.ts +0 -13
  31. package/lib/managers/file.js +0 -134
  32. package/lib/managers/gitpod.d.ts +0 -3
  33. package/lib/managers/gitpod.js +0 -67
  34. package/lib/managers/server/index.d.ts +0 -6
  35. package/lib/managers/server/index.js +0 -51
  36. package/lib/managers/server/routes.d.ts +0 -4
  37. package/lib/managers/server/routes.js +0 -160
  38. package/lib/managers/session.d.ts +0 -3
  39. package/lib/managers/session.js +0 -104
  40. package/lib/managers/socket.d.ts +0 -3
  41. package/lib/managers/socket.js +0 -164
  42. package/lib/managers/test.d.ts +0 -0
  43. package/lib/managers/test.js +0 -84
  44. package/lib/models/action.d.ts +0 -2
  45. package/lib/models/action.js +0 -2
  46. package/lib/models/audit-errors.d.ts +0 -4
  47. package/lib/models/audit-errors.js +0 -2
  48. package/lib/models/config-manager.d.ts +0 -21
  49. package/lib/models/config-manager.js +0 -2
  50. package/lib/models/config.d.ts +0 -57
  51. package/lib/models/config.js +0 -2
  52. package/lib/models/counter.d.ts +0 -11
  53. package/lib/models/counter.js +0 -2
  54. package/lib/models/errors.d.ts +0 -15
  55. package/lib/models/errors.js +0 -2
  56. package/lib/models/exercise-obj.d.ts +0 -27
  57. package/lib/models/exercise-obj.js +0 -2
  58. package/lib/models/file.d.ts +0 -5
  59. package/lib/models/file.js +0 -2
  60. package/lib/models/findings.d.ts +0 -17
  61. package/lib/models/findings.js +0 -2
  62. package/lib/models/flags.d.ts +0 -10
  63. package/lib/models/flags.js +0 -2
  64. package/lib/models/front-matter.d.ts +0 -11
  65. package/lib/models/front-matter.js +0 -2
  66. package/lib/models/gitpod-data.d.ts +0 -16
  67. package/lib/models/gitpod-data.js +0 -2
  68. package/lib/models/language.d.ts +0 -4
  69. package/lib/models/language.js +0 -2
  70. package/lib/models/package.d.ts +0 -7
  71. package/lib/models/package.js +0 -2
  72. package/lib/models/plugin-config.d.ts +0 -16
  73. package/lib/models/plugin-config.js +0 -2
  74. package/lib/models/session.d.ts +0 -23
  75. package/lib/models/session.js +0 -2
  76. package/lib/models/socket.d.ts +0 -31
  77. package/lib/models/socket.js +0 -2
  78. package/lib/models/status.d.ts +0 -1
  79. package/lib/models/status.js +0 -2
  80. package/lib/models/success-types.d.ts +0 -1
  81. package/lib/models/success-types.js +0 -2
  82. package/lib/plugin/command/compile.d.ts +0 -6
  83. package/lib/plugin/command/compile.js +0 -18
  84. package/lib/plugin/command/test.d.ts +0 -6
  85. package/lib/plugin/command/test.js +0 -25
  86. package/lib/plugin/index.d.ts +0 -27
  87. package/lib/plugin/index.js +0 -7
  88. package/lib/plugin/plugin.d.ts +0 -8
  89. package/lib/plugin/plugin.js +0 -68
  90. package/lib/plugin/utils.d.ts +0 -16
  91. package/lib/plugin/utils.js +0 -58
  92. package/lib/ui/download.d.ts +0 -5
  93. package/lib/ui/download.js +0 -61
  94. package/lib/utils/BaseCommand.d.ts +0 -8
  95. package/lib/utils/BaseCommand.js +0 -41
  96. package/lib/utils/SessionCommand.d.ts +0 -10
  97. package/lib/utils/SessionCommand.js +0 -47
  98. package/lib/utils/api.d.ts +0 -12
  99. package/lib/utils/api.js +0 -173
  100. package/lib/utils/audit.d.ts +0 -13
  101. package/lib/utils/audit.js +0 -129
  102. package/lib/utils/console.d.ts +0 -12
  103. package/lib/utils/console.js +0 -19
  104. package/lib/utils/errors.d.ts +0 -17
  105. package/lib/utils/errors.js +0 -100
  106. package/lib/utils/exercisesQueue.d.ts +0 -9
  107. package/lib/utils/exercisesQueue.js +0 -38
  108. package/lib/utils/fileQueue.d.ts +0 -40
  109. package/lib/utils/fileQueue.js +0 -168
  110. package/lib/utils/misc.d.ts +0 -1
  111. package/lib/utils/misc.js +0 -23
  112. package/lib/utils/validators.d.ts +0 -5
  113. package/lib/utils/validators.js +0 -17
  114. package/lib/utils/watcher.d.ts +0 -2
  115. package/lib/utils/watcher.js +0 -24
@@ -1,164 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const socket_io_1 = require("socket.io");
4
- const console_1 = require("../utils/console");
5
- const fileQueue_1 = require("../utils/fileQueue");
6
- const SocketManager = {
7
- socket: null,
8
- config: null,
9
- allowedActions: [],
10
- possibleActions: ['build', 'reset', 'test', 'tutorial'],
11
- isTestingEnvironment: false,
12
- actionCallBacks: {
13
- clean: (_, s) => {
14
- s.logs = [];
15
- },
16
- },
17
- addAllowed: function (actions) {
18
- var _a, _b;
19
- if (!Array.isArray(actions))
20
- actions = [actions];
21
- // avoid adding the "test" action if grading is disabled
22
- if (actions.includes('test') && ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.disabledActions) === null || _b === void 0 ? void 0 : _b.includes('test'))) {
23
- actions = actions.filter((a) => a !== 'test');
24
- }
25
- this.allowedActions = [
26
- ...(this.allowedActions || []).filter((a) => !actions.includes(a)),
27
- ...actions,
28
- ];
29
- },
30
- removeAllowed: function (actions) {
31
- if (!Array.isArray(actions)) {
32
- actions = [actions];
33
- }
34
- this.allowedActions = (this.allowedActions || []).filter((a) => !actions.includes(a));
35
- },
36
- start: function (config, server, isTestingEnvironment = false) {
37
- var _a, _b, _c, _d;
38
- this.config = config;
39
- this.isTestingEnvironment = isTestingEnvironment;
40
- this.socket = new socket_io_1.Server(server, { allowEIO3: true });
41
- this.allowedActions = ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.disabledActions) === null || _b === void 0 ? void 0 : _b.includes('test')) || ((_c = this.config) === null || _c === void 0 ? void 0 : _c.disableGrading) ? this.possibleActions.filter(a => { var _a, _b; return !((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.disabledActions) === null || _b === void 0 ? void 0 : _b.includes(a)) && a !== 'test'; }) : this.possibleActions.filter(a => { var _a; return !((_a = this.allowedActions) === null || _a === void 0 ? void 0 : _a.includes(a)); });
42
- if (((_d = this.config) === null || _d === void 0 ? void 0 : _d.grading) === 'incremental') {
43
- this.removeAllowed('reset');
44
- }
45
- if (this.socket) {
46
- this.socket.on('connection', (socket) => {
47
- console_1.default.debug('Connection with client successfully established', this.allowedActions);
48
- if (!this.isTestingEnvironment) {
49
- this.log('ready', ['Ready to compile or test...']);
50
- }
51
- socket.on('compiler', ({ action, data }) => {
52
- this.emit('clean', 'pending', ['Working...']);
53
- if (typeof data.exerciseSlug === 'undefined') {
54
- this.log('internal-error', ['No exercise slug specified']);
55
- console_1.default.error('No exercise slug especified');
56
- return;
57
- }
58
- if (this.actionCallBacks &&
59
- typeof this.actionCallBacks[action] === 'function') {
60
- this.actionCallBacks[action](data);
61
- }
62
- else {
63
- this.log('internal-error', ['Uknown action ' + action]);
64
- }
65
- });
66
- });
67
- }
68
- },
69
- on: function (action, callBack) {
70
- if (this.actionCallBacks) {
71
- this.actionCallBacks[action] = callBack;
72
- }
73
- },
74
- clean: function (_ = 'pending', logs = []) {
75
- this.emit('clean', 'pending', logs);
76
- },
77
- ask: function (questions = []) {
78
- return new Promise((resolve, _) => {
79
- this.emit('ask', 'pending', ['Waiting for input...'], questions);
80
- this.on('input', ({ inputs }) => {
81
- // Workaround to fix issue because null inputs
82
- let isNull = false;
83
- // eslint-disable-next-line
84
- inputs.forEach((input) => {
85
- if (input === null) {
86
- isNull = true;
87
- }
88
- });
89
- if (!isNull) {
90
- resolve(inputs);
91
- }
92
- });
93
- });
94
- },
95
- reload: function (files = null, exercises = null) {
96
- this.emit('reload', (files === null || files === void 0 ? void 0 : files.join('')) || '' /* TODO: Check it out this */, exercises);
97
- },
98
- openWindow: function (url = '') {
99
- fileQueue_1.default.dispatcher().enqueue(fileQueue_1.default.events.OPEN_WINDOW, url);
100
- this.emit(fileQueue_1.default.events.OPEN_WINDOW, 'ready', [`Opening ${url}`], [], [], url);
101
- },
102
- log: function (status, messages = [], report = [], data = null) {
103
- this.emit('log', status, messages, [], report, data);
104
- console_1.default.log(messages);
105
- },
106
- emit: function (action, status = 'ready', logs = [], inputs = [], report = [], data = null) {
107
- var _a, _b, _c, _d, _e, _f;
108
- if (((_a = this.config) === null || _a === void 0 ? void 0 : _a.compiler) &&
109
- ['webpack', 'vanillajs', 'vue', 'react', 'css', 'html'].includes((_b = this.config) === null || _b === void 0 ? void 0 : _b.compiler)) {
110
- if (['compiler-success', 'compiler-warning'].includes(status))
111
- this.addAllowed('preview');
112
- if (['compiler-error'].includes(status) || action === 'ready')
113
- this.removeAllowed('preview');
114
- }
115
- if (((_c = this.config) === null || _c === void 0 ? void 0 : _c.grading) === 'incremental') {
116
- this.removeAllowed('reset');
117
- }
118
- // eslint-disable-next-line
119
- (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.disabledActions) === null || _e === void 0 ? void 0 : _e.forEach((a) => this.removeAllowed(a));
120
- (_f = this.socket) === null || _f === void 0 ? void 0 : _f.emit('compiler', {
121
- action,
122
- status,
123
- logs,
124
- allowed: this.allowedActions,
125
- inputs,
126
- report,
127
- data,
128
- });
129
- },
130
- ready: function (message) {
131
- this.log('ready', [message]);
132
- },
133
- success: function (type, stdout) {
134
- const types = ['compiler', 'testing'];
135
- if (!types.includes(type))
136
- this.fatal(`Invalid socket success type "${type}" on socket`);
137
- else if (stdout === '')
138
- this.log((type + '-success'), [
139
- 'No stdout to display on the console',
140
- ]);
141
- else
142
- this.log((type + '-success'), [stdout]);
143
- },
144
- error: function (type, stdout) {
145
- console.error('Socket error: ' + type, stdout);
146
- this.log(type, [stdout]);
147
- if (this.isTestingEnvironment) {
148
- this.onTestingFinished({
149
- result: 'failed',
150
- });
151
- }
152
- },
153
- fatal: function (msg) {
154
- this.log('internal-error', [msg]);
155
- throw msg;
156
- },
157
- onTestingFinished: function (result) {
158
- var _a;
159
- if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.testingFinishedCallback) {
160
- this.config.testingFinishedCallback(result);
161
- }
162
- },
163
- };
164
- exports.default = SocketManager;
File without changes
@@ -1,84 +0,0 @@
1
- "use strict";
2
- /*
3
-
4
- import * as path from 'path'
5
- import * as shell from 'shelljs'
6
- import * as fs from 'fs'
7
- import { TestingError } from './errors'
8
- import Console from '../utils/console'
9
- import * as color from 'colors'
10
- import bcActivity from './bcActivity.js'
11
- import { CompilerError } from '../utils/errors'
12
- import { ISocket } from '../models/socket'
13
- import { IFile } from '../models/file'
14
- import { IConfig } from '@oclif/config'
15
-
16
- module.exports = async function ({ socket, files, config, slug }: {socket: ISocket, files: IFile[], config: IConfig, slug: string}) {
17
-
18
- const configPath = path.resolve(__dirname, `./config/tester/${config.tester}/${config.language}.config.js`);
19
- if (!fs.existsSync(configPath)) throw CompilerError(`Uknown testing engine for compiler: '${config.language}'`);
20
-
21
- const testingConfig = require(configPath)(files, config, slug);
22
- testingConfig.validate();
23
-
24
- if (config.ignoreTests) throw TestingError('Grading is disabled on learn.json file.');
25
-
26
- if (!fs.existsSync(`${config.dirPath}/reports`)) {
27
- fs.mkdirSync(`${config.dirPath}/reports`);
28
- Console.debug(`Creating the ${config.dirPath}/reports directory`);
29
- }
30
-
31
- Console.info('Running tests...');
32
-
33
- const command = await testingConfig.getCommand(socket)
34
- const { stdout, stderr, code } = shell.exec(command);
35
-
36
- if (code != 0) {
37
- const errors = typeof (testingConfig.getErrors === 'function') ? testingConfig.getErrors(stdout || stderr) : [];
38
- socket.log('testing-error', errors);
39
- console.log(errors.join('\n'))
40
-
41
- Console.error("There was an error while testing");
42
- bcActivity.error('exercise_error', {
43
- message: errors,
44
- name: `${config.tester}-error`,
45
- framework: config.tester,
46
- language: config.language,
47
- data: slug,
48
- compiler: config.compiler
49
- });
50
- }
51
- else {
52
- socket.log('testing-success', [stdout || stderr].concat(["😁Everything is amazing!"]));
53
- Console.success("Everything is amazing!");
54
-
55
- bcActivity.activity('exercise_success', {
56
- language: config.language,
57
- slug: slug,
58
- editor: config.editor,
59
- compiler: config.compiler
60
- });
61
- config.exercises = config.exercises.map(e => {
62
- if (e.slug === slug) e.done = true;
63
- return e;
64
- });
65
- }
66
-
67
- if (typeof testingConfig.cleanup !== "undefined") {
68
- if (typeof testingConfig.cleanup === 'function' || typeof testingConfig.cleanup === 'object') {
69
- const clean = await testingConfig.cleanup(socket);
70
- if (clean) {
71
- const { stdout, stderr, code } = shell.exec(clean);
72
- if (code == 0) {
73
- Console.debug("The cleanup command runned successfully");
74
- }
75
- else Console.warning("There is an error on the cleanup command for the test");
76
- }
77
-
78
- }
79
- }
80
-
81
- return true;
82
- };
83
-
84
- */
@@ -1,2 +0,0 @@
1
- export declare type TAction = 'test' | 'log' | 'reload' | 'ready' | 'clean' | 'ask';
2
- export declare type ICallback = (...agrs: any[]) => any;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +0,0 @@
1
- export interface IAuditErrors {
2
- exercise?: string;
3
- msg: string;
4
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,21 +0,0 @@
1
- import { IConfigObj, TGrading } from "./config";
2
- import { IExercise } from "./exercise-obj";
3
- export interface IConfigManagerAttributes {
4
- grading: TGrading;
5
- disableGrading: boolean;
6
- version: string;
7
- mode?: string;
8
- }
9
- export interface IConfigManager {
10
- validLanguages?: any;
11
- get: () => IConfigObj;
12
- clean: () => void;
13
- getExercise: (slug: string | undefined) => IExercise;
14
- startExercise: (slug: string) => IExercise;
15
- reset: (slug: string) => void;
16
- buildIndex: () => boolean | void;
17
- watchIndex: (onChange: (...args: Array<any>) => void) => void;
18
- save: () => void;
19
- noCurrentExercise: () => void;
20
- getAllExercises: () => IExercise[];
21
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,57 +0,0 @@
1
- import { IExercise } from "./exercise-obj";
2
- export declare type TGrading = "isolated" | "incremental" | "no-grading";
3
- export declare type TMode = "preview" | "standalone";
4
- export declare type TConfigAction = "test" | "build" | "tutorial" | "reset";
5
- export declare type TConfigObjAttributes = "config" | "exercises" | "grading";
6
- export declare type TCompiler = "webpack" | "vanillajs" | "vue" | "react" | "css" | "html";
7
- export interface IConfigPath {
8
- base: string;
9
- }
10
- export interface IEditor {
11
- mode?: TMode;
12
- version: string;
13
- agent?: string;
14
- }
15
- export interface TEntries {
16
- python3?: string;
17
- html?: string;
18
- node?: string;
19
- react?: string;
20
- java?: string;
21
- }
22
- export interface IConfig {
23
- port?: string;
24
- repository?: string;
25
- description?: string;
26
- slug?: string;
27
- dirPath: string;
28
- preview?: string;
29
- entries: TEntries;
30
- grading: TGrading;
31
- configPath: string;
32
- translations: Array<string>;
33
- outputPath?: string;
34
- editor: IEditor;
35
- language: string;
36
- title: string;
37
- duration: number;
38
- difficulty?: string;
39
- exercisesPath: string;
40
- disableGrading: boolean;
41
- actions: Array<string>;
42
- disabledActions?: Array<TConfigAction>;
43
- compiler: TCompiler;
44
- publicPath: string;
45
- publicUrl?: string;
46
- skills: Array<string>;
47
- runHook: (...agrs: Array<any>) => void;
48
- testingFinishedCallback: (arg: any | undefined) => void;
49
- }
50
- export interface IConfigObj {
51
- session?: number;
52
- currentExercise?: any;
53
- config?: IConfig;
54
- exercises?: Array<IExercise>;
55
- confPath?: IConfigPath;
56
- address?: string;
57
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,11 +0,0 @@
1
- interface ILinks {
2
- error: number;
3
- total: number;
4
- }
5
- export interface ICounter {
6
- images: ILinks;
7
- links: ILinks;
8
- exercises: number;
9
- readmeFiles: number;
10
- }
11
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,15 +0,0 @@
1
- export interface ISolution {
2
- video?: string;
3
- message: string;
4
- slug?: string;
5
- gif: string;
6
- }
7
- export interface IError extends TypeError {
8
- status?: number;
9
- type?: "validation-error" | "not-found-error" | "compiler-error" | "testing-error" | "auth-error" | "internal-error";
10
- slug?: string;
11
- video?: string;
12
- message: string;
13
- gif?: string;
14
- stdout?: string;
15
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,27 +0,0 @@
1
- /// <reference types="node" />
2
- import { IFile } from "./file";
3
- import { IConfig } from "./config";
4
- import { ISocket } from "./socket";
5
- export interface IExercise {
6
- position?: number;
7
- files: Array<IFile>;
8
- slug: string;
9
- path: string;
10
- done: boolean;
11
- language?: string | null;
12
- entry?: string | null;
13
- graded?: boolean;
14
- translations?: {
15
- [key: string]: string;
16
- };
17
- title: string;
18
- getReadme: (lang: string | null) => any;
19
- getFile: (name: string) => string | Buffer;
20
- saveFile: (name: string, content: string) => void;
21
- getTestReport: () => any;
22
- test?: (sessionConfig: any, config: IConfig, socket: ISocket) => void;
23
- }
24
- export interface IExerciseData {
25
- exerciseSlug: string;
26
- files: string[];
27
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,5 +0,0 @@
1
- export interface IFile {
2
- path: string;
3
- name: string;
4
- hidden: boolean;
5
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,17 +0,0 @@
1
- interface IFindingOption {
2
- content: string;
3
- absUrl: string;
4
- mdUrl: string;
5
- relUrl: string;
6
- }
7
- interface ILinks {
8
- [key: string]: IFindingOption;
9
- }
10
- export interface IFindings {
11
- relativeImages?: ILinks;
12
- externalImages?: ILinks;
13
- markdownLinks?: ILinks;
14
- url?: ILinks;
15
- uploadcare?: ILinks;
16
- }
17
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +0,0 @@
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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,11 +0,0 @@
1
- interface IAttributes {
2
- intro: string;
3
- tutorial: string;
4
- }
5
- export interface IFrontmatter {
6
- attributes?: IAttributes;
7
- body?: string;
8
- bodyBegin?: number;
9
- frontmatter?: string;
10
- }
11
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,16 +0,0 @@
1
- import { Server } from 'socket.io';
2
- import { IConfigObj } from './config';
3
- export declare type TFile = string;
4
- export interface IGitpodData {
5
- files: Array<TFile>;
6
- }
7
- export interface IGitpod {
8
- socket: Server | null;
9
- config: IConfigObj | null;
10
- initialized: boolean;
11
- hasGPCommand: boolean;
12
- init: (config?: IConfigObj) => void;
13
- openFiles: (files: Array<TFile>) => Promise<boolean | undefined>;
14
- setup: (config?: IConfigObj) => void;
15
- autosave: (value: string) => void;
16
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +0,0 @@
1
- export interface ILanguage {
2
- title: string;
3
- slug: string;
4
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +0,0 @@
1
- export interface IPackage {
2
- title: string;
3
- slug: string;
4
- difficulty: string;
5
- downloads: string;
6
- skills: Array<any>;
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,16 +0,0 @@
1
- import { IConfig } from "./config";
2
- import { IExercise } from "./exercise-obj";
3
- export interface IPluginConfig {
4
- language: string;
5
- compile?: {
6
- run: () => void;
7
- validate: (args: IValidate) => boolean;
8
- dependencies: string[];
9
- };
10
- test?: () => void;
11
- }
12
- interface IValidate {
13
- exercise: IExercise;
14
- configuration: IConfig;
15
- }
16
- export {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,23 +0,0 @@
1
- import { IConfig, IConfigObj } from './config';
2
- export interface IPayload {
3
- email: string;
4
- }
5
- export interface IStartProps {
6
- token: string;
7
- payload: IPayload | null;
8
- }
9
- export interface ISession {
10
- sessionStarted: boolean;
11
- token: string | null;
12
- config: IConfig | null;
13
- currentCohort: null;
14
- initialize: () => Promise<boolean>;
15
- setPayload: (value: IPayload) => Promise<boolean>;
16
- getPayload: () => Promise<any>;
17
- isActive: () => boolean;
18
- get: (config?: IConfigObj) => Promise<any>;
19
- login: () => Promise<void>;
20
- sync: () => Promise<void>;
21
- start: ({ token, payload }: IStartProps) => Promise<void>;
22
- destroy: () => Promise<void>;
23
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,31 +0,0 @@
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
- export declare type TPossibleActions = 'build' | 'test' | 'reset' | 'tutorial';
7
- export interface ISocket {
8
- socket: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any> | null;
9
- config: IConfig | null;
10
- allowedActions: Array<TPossibleActions>;
11
- actionCallBacks: {
12
- [key: string]: ICallback;
13
- };
14
- possibleActions: Array<TPossibleActions>;
15
- isTestingEnvironment: boolean;
16
- addAllowed: (actions: any) => void;
17
- removeAllowed: (actions: any) => void;
18
- start: (config: IConfig, server: any, isTestingEnvironment: boolean) => void;
19
- on: (action: any, callBack: any) => void;
20
- clean: (_: string, logs: Array<any>) => void;
21
- ask: (questions: Array<string>) => void;
22
- reload: (files: Array<string> | null, exercises: Array<string>) => void;
23
- openWindow: (id: string) => void;
24
- log: (status: TStatus, messages?: string | Array<string>, report?: Array<string>, data?: any) => void;
25
- emit: (action: TAction, status: TStatus | string, logs: string | Array<string>, inputs?: Array<string>, report?: Array<string>, data?: any) => void;
26
- ready: (message: string) => void;
27
- error: (type: any, stdout: string) => void;
28
- fatal: (msg: string) => void;
29
- success: (type: any, stdout: string) => void;
30
- onTestingFinished: (obj: any) => void;
31
- }
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export declare type TStatus = 'ready' | 'internal-error' | 'compiler-success' | 'testing-success' | 'compiling' | 'testing' | 'start_exercise' | 'initializing' | 'configuration_loaded' | 'connection_ended' | 'reset_exercise' | 'open_files' | 'open_window' | 'instructions_closed';
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export declare type TSuccessType = 'compiler-success' | 'testing-success';
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +0,0 @@
1
- import { IError } from "../../models/errors";
2
- declare const _default: {
3
- CompilationError: (messages: string) => IError;
4
- default: ({ action, ...rest }: any) => Promise<any>;
5
- };
6
- export default _default;