@learnpack/learnpack 4.0.9 → 4.0.12
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.
- package/README.md +25 -10
- package/lib/commands/audit.d.ts +6 -6
- package/lib/commands/audit.js +327 -327
- package/lib/commands/build.d.ts +11 -0
- package/lib/commands/build.js +160 -0
- package/lib/commands/clean.d.ts +8 -8
- package/lib/commands/clean.js +22 -22
- package/lib/commands/download.d.ts +13 -13
- package/lib/commands/download.js +52 -52
- package/lib/commands/init.d.ts +9 -9
- package/lib/commands/init.js +127 -127
- package/lib/commands/login.d.ts +14 -14
- package/lib/commands/login.js +34 -34
- package/lib/commands/logout.d.ts +14 -14
- package/lib/commands/logout.js +34 -34
- package/lib/commands/publish.d.ts +14 -14
- package/lib/commands/publish.js +79 -79
- package/lib/commands/start.d.ts +7 -7
- package/lib/commands/start.js +252 -250
- package/lib/commands/test.d.ts +6 -6
- package/lib/commands/test.js +62 -62
- package/lib/index.d.ts +1 -1
- package/lib/index.js +4 -4
- package/lib/managers/config/allowed_files.d.ts +5 -5
- package/lib/managers/config/allowed_files.js +30 -30
- package/lib/managers/config/defaults.d.ts +47 -48
- package/lib/managers/config/defaults.js +51 -51
- package/lib/managers/config/exercise.d.ts +36 -36
- package/lib/managers/config/exercise.js +243 -236
- package/lib/managers/config/index.d.ts +3 -3
- package/lib/managers/config/index.js +464 -459
- package/lib/managers/file.d.ts +14 -14
- package/lib/managers/file.js +190 -184
- package/lib/managers/gitpod.d.ts +3 -3
- package/lib/managers/gitpod.js +67 -67
- package/lib/managers/server/index.d.ts +5 -6
- package/lib/managers/server/index.js +58 -58
- package/lib/managers/server/routes.d.ts +4 -4
- package/lib/managers/server/routes.js +228 -220
- package/lib/managers/session.d.ts +3 -3
- package/lib/managers/session.js +125 -125
- package/lib/managers/socket.d.ts +3 -3
- package/lib/managers/socket.js +188 -186
- package/lib/managers/telemetry.d.ts +74 -74
- package/lib/managers/telemetry.js +215 -214
- package/lib/managers/test.js +84 -84
- package/lib/models/action.d.ts +2 -2
- package/lib/models/action.js +2 -2
- package/lib/models/audit.d.ts +15 -15
- package/lib/models/audit.js +2 -2
- package/lib/models/config-manager.d.ts +21 -21
- package/lib/models/config-manager.js +2 -2
- package/lib/models/config.d.ts +86 -86
- package/lib/models/config.js +2 -2
- package/lib/models/counter.d.ts +11 -11
- package/lib/models/counter.js +2 -2
- package/lib/models/errors.d.ts +15 -15
- package/lib/models/errors.js +2 -2
- package/lib/models/exercise-obj.d.ts +29 -30
- package/lib/models/exercise-obj.js +2 -2
- package/lib/models/file.d.ts +5 -5
- package/lib/models/file.js +2 -2
- package/lib/models/findings.d.ts +17 -17
- package/lib/models/findings.js +2 -2
- package/lib/models/flags.d.ts +10 -10
- package/lib/models/flags.js +2 -2
- package/lib/models/front-matter.d.ts +11 -11
- package/lib/models/front-matter.js +2 -2
- package/lib/models/gitpod-data.d.ts +16 -16
- package/lib/models/gitpod-data.js +2 -2
- package/lib/models/language.d.ts +4 -4
- package/lib/models/language.js +2 -2
- package/lib/models/package.d.ts +7 -7
- package/lib/models/package.js +2 -2
- package/lib/models/plugin-config.d.ts +16 -16
- package/lib/models/plugin-config.js +2 -2
- package/lib/models/session.d.ts +31 -31
- package/lib/models/session.js +2 -2
- package/lib/models/socket.d.ts +37 -37
- package/lib/models/socket.js +2 -2
- package/lib/models/status.d.ts +1 -1
- package/lib/models/status.js +2 -2
- package/lib/models/success-types.d.ts +1 -1
- package/lib/models/success-types.js +2 -2
- package/lib/plugin/command/compile.d.ts +6 -6
- package/lib/plugin/command/compile.js +18 -18
- package/lib/plugin/command/test.d.ts +6 -6
- package/lib/plugin/command/test.js +25 -25
- package/lib/plugin/index.d.ts +27 -27
- package/lib/plugin/index.js +7 -7
- package/lib/plugin/plugin.d.ts +8 -8
- package/lib/plugin/plugin.js +68 -68
- package/lib/plugin/utils.d.ts +16 -16
- package/lib/plugin/utils.js +58 -58
- package/lib/ui/download.d.ts +5 -5
- package/lib/ui/download.js +62 -61
- package/lib/utils/BaseCommand.d.ts +8 -8
- package/lib/utils/BaseCommand.js +41 -41
- package/lib/utils/SessionCommand.d.ts +10 -10
- package/lib/utils/SessionCommand.js +43 -43
- package/lib/utils/api.d.ts +14 -14
- package/lib/utils/api.js +255 -255
- package/lib/utils/audit.d.ts +16 -16
- package/lib/utils/audit.js +303 -303
- package/lib/utils/checkNotInstalled.d.ts +8 -8
- package/lib/utils/checkNotInstalled.js +185 -181
- package/lib/utils/console.d.ts +12 -12
- package/lib/utils/console.js +19 -19
- package/lib/utils/errors.d.ts +17 -17
- package/lib/utils/errors.js +107 -100
- package/lib/utils/exercisesQueue.d.ts +9 -9
- package/lib/utils/exercisesQueue.js +38 -38
- package/lib/utils/fileQueue.d.ts +43 -43
- package/lib/utils/fileQueue.js +169 -169
- package/lib/utils/misc.d.ts +1 -1
- package/lib/utils/misc.js +24 -23
- package/lib/utils/osOperations.d.ts +5 -5
- package/lib/utils/osOperations.js +72 -72
- package/lib/utils/validators.d.ts +5 -5
- package/lib/utils/validators.js +16 -17
- package/lib/utils/watcher.d.ts +2 -2
- package/lib/utils/watcher.js +25 -25
- package/oclif.manifest.json +1 -1
- package/package.json +6 -4
- package/src/commands/build.ts +181 -0
- package/src/managers/config/index.ts +5 -0
- package/src/managers/server/routes.ts +11 -1
- package/src/managers/session.ts +1 -1
package/lib/commands/test.js
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const console_1 = require("../utils/console");
|
|
4
|
-
const SessionCommand_1 = require("../utils/SessionCommand");
|
|
5
|
-
const socket_1 = require("../managers/socket");
|
|
6
|
-
const server_1 = require("../managers/server");
|
|
7
|
-
const exercisesQueue_1 = require("../utils/exercisesQueue");
|
|
8
|
-
class TestCommand extends SessionCommand_1.default {
|
|
9
|
-
async init() {
|
|
10
|
-
const { flags } = this.parse(TestCommand);
|
|
11
|
-
await this.initSession(flags);
|
|
12
|
-
}
|
|
13
|
-
async run() {
|
|
14
|
-
var _a, _b, _c;
|
|
15
|
-
const { args: { exerciseSlug }, } = this.parse(TestCommand);
|
|
16
|
-
// Build exercises index
|
|
17
|
-
(_a = this.configManager) === null || _a === void 0 ? void 0 : _a.buildIndex();
|
|
18
|
-
let exercises = [];
|
|
19
|
-
// test all exercises
|
|
20
|
-
!exerciseSlug ?
|
|
21
|
-
(exercises = (_b = this.configManager) === null || _b === void 0 ? void 0 : _b.getAllExercises()) :
|
|
22
|
-
(exercises = [this.configManager.getExercise(exerciseSlug)]);
|
|
23
|
-
const exercisesQueue = new exercisesQueue_1.default(exercises);
|
|
24
|
-
const configObject = (_c = this.configManager) === null || _c === void 0 ? void 0 : _c.get();
|
|
25
|
-
let hasFailed = false;
|
|
26
|
-
let failedTestsCount = 0;
|
|
27
|
-
let successTestsCount = 0;
|
|
28
|
-
const testsToRunCount = exercisesQueue.size();
|
|
29
|
-
configObject.config.testingFinishedCallback = ({ result }) => {
|
|
30
|
-
if (result === "failed") {
|
|
31
|
-
hasFailed = true;
|
|
32
|
-
failedTestsCount++;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
successTestsCount++;
|
|
36
|
-
}
|
|
37
|
-
if (exercisesQueue.isEmpty()) {
|
|
38
|
-
console_1.default.info(`${testsToRunCount} test${testsToRunCount > 1 ? "s" : ""} runned`);
|
|
39
|
-
console_1.default.success(`${successTestsCount} test${successTestsCount > 1 ? "s" : ""} passed`);
|
|
40
|
-
console_1.default.error(`${failedTestsCount} test${failedTestsCount > 1 ? "s" : ""} failed`);
|
|
41
|
-
process.exit(hasFailed ? 1 : 0);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
exercisesQueue.pop().test(this.config, config, socket_1.default);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
const config = configObject === null || configObject === void 0 ? void 0 : configObject.config;
|
|
48
|
-
const server = await server_1.default(configObject, this.configManager, true);
|
|
49
|
-
socket_1.default.start(config, server, true);
|
|
50
|
-
exercisesQueue.pop().test(this.config, config, socket_1.default);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
TestCommand.description = `Test exercises`;
|
|
54
|
-
TestCommand.args = [
|
|
55
|
-
{
|
|
56
|
-
name: "exerciseSlug",
|
|
57
|
-
required: false,
|
|
58
|
-
description: "The name of the exercise to test",
|
|
59
|
-
hidden: false,
|
|
60
|
-
},
|
|
61
|
-
];
|
|
62
|
-
exports.default = TestCommand;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const console_1 = require("../utils/console");
|
|
4
|
+
const SessionCommand_1 = require("../utils/SessionCommand");
|
|
5
|
+
const socket_1 = require("../managers/socket");
|
|
6
|
+
const server_1 = require("../managers/server");
|
|
7
|
+
const exercisesQueue_1 = require("../utils/exercisesQueue");
|
|
8
|
+
class TestCommand extends SessionCommand_1.default {
|
|
9
|
+
async init() {
|
|
10
|
+
const { flags } = this.parse(TestCommand);
|
|
11
|
+
await this.initSession(flags);
|
|
12
|
+
}
|
|
13
|
+
async run() {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
const { args: { exerciseSlug }, } = this.parse(TestCommand);
|
|
16
|
+
// Build exercises index
|
|
17
|
+
(_a = this.configManager) === null || _a === void 0 ? void 0 : _a.buildIndex();
|
|
18
|
+
let exercises = [];
|
|
19
|
+
// test all exercises
|
|
20
|
+
!exerciseSlug ?
|
|
21
|
+
(exercises = (_b = this.configManager) === null || _b === void 0 ? void 0 : _b.getAllExercises()) :
|
|
22
|
+
(exercises = [this.configManager.getExercise(exerciseSlug)]);
|
|
23
|
+
const exercisesQueue = new exercisesQueue_1.default(exercises);
|
|
24
|
+
const configObject = (_c = this.configManager) === null || _c === void 0 ? void 0 : _c.get();
|
|
25
|
+
let hasFailed = false;
|
|
26
|
+
let failedTestsCount = 0;
|
|
27
|
+
let successTestsCount = 0;
|
|
28
|
+
const testsToRunCount = exercisesQueue.size();
|
|
29
|
+
configObject.config.testingFinishedCallback = ({ result }) => {
|
|
30
|
+
if (result === "failed") {
|
|
31
|
+
hasFailed = true;
|
|
32
|
+
failedTestsCount++;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
successTestsCount++;
|
|
36
|
+
}
|
|
37
|
+
if (exercisesQueue.isEmpty()) {
|
|
38
|
+
console_1.default.info(`${testsToRunCount} test${testsToRunCount > 1 ? "s" : ""} runned`);
|
|
39
|
+
console_1.default.success(`${successTestsCount} test${successTestsCount > 1 ? "s" : ""} passed`);
|
|
40
|
+
console_1.default.error(`${failedTestsCount} test${failedTestsCount > 1 ? "s" : ""} failed`);
|
|
41
|
+
process.exit(hasFailed ? 1 : 0);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
exercisesQueue.pop().test(this.config, config, socket_1.default);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const config = configObject === null || configObject === void 0 ? void 0 : configObject.config;
|
|
48
|
+
const server = await (0, server_1.default)(configObject, this.configManager, true);
|
|
49
|
+
socket_1.default.start(config, server, true);
|
|
50
|
+
exercisesQueue.pop().test(this.config, config, socket_1.default);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
TestCommand.description = `Test exercises`;
|
|
54
|
+
TestCommand.args = [
|
|
55
|
+
{
|
|
56
|
+
name: "exerciseSlug",
|
|
57
|
+
required: false,
|
|
58
|
+
description: "The name of the exercise to test",
|
|
59
|
+
hidden: false,
|
|
60
|
+
},
|
|
61
|
+
];
|
|
62
|
+
exports.default = TestCommand;
|
package/lib/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from '@oclif/command';
|
|
1
|
+
export * from '@oclif/command';
|
package/lib/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("@oclif/command"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("@oclif/command"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare const extensions: {
|
|
2
|
-
extensions: string[];
|
|
3
|
-
names: string[];
|
|
4
|
-
};
|
|
5
|
-
export default extensions;
|
|
1
|
+
declare const extensions: {
|
|
2
|
+
extensions: string[];
|
|
3
|
+
names: string[];
|
|
4
|
+
};
|
|
5
|
+
export default extensions;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const extensions = {
|
|
4
|
-
extensions: [
|
|
5
|
-
"py",
|
|
6
|
-
"java",
|
|
7
|
-
"py",
|
|
8
|
-
"ruby",
|
|
9
|
-
"html",
|
|
10
|
-
"css",
|
|
11
|
-
"htm",
|
|
12
|
-
"php",
|
|
13
|
-
"js",
|
|
14
|
-
"jsx",
|
|
15
|
-
"ts",
|
|
16
|
-
"sh",
|
|
17
|
-
"bash",
|
|
18
|
-
"json",
|
|
19
|
-
"yml",
|
|
20
|
-
"yaml",
|
|
21
|
-
"csv",
|
|
22
|
-
"xml",
|
|
23
|
-
"txt",
|
|
24
|
-
"text",
|
|
25
|
-
"markdown",
|
|
26
|
-
"readme",
|
|
27
|
-
],
|
|
28
|
-
names: ["package.json", "package-lock.json"],
|
|
29
|
-
};
|
|
30
|
-
exports.default = extensions;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const extensions = {
|
|
4
|
+
extensions: [
|
|
5
|
+
"py",
|
|
6
|
+
"java",
|
|
7
|
+
"py",
|
|
8
|
+
"ruby",
|
|
9
|
+
"html",
|
|
10
|
+
"css",
|
|
11
|
+
"htm",
|
|
12
|
+
"php", // images
|
|
13
|
+
"js",
|
|
14
|
+
"jsx",
|
|
15
|
+
"ts", // images
|
|
16
|
+
"sh",
|
|
17
|
+
"bash", // images
|
|
18
|
+
"json",
|
|
19
|
+
"yml",
|
|
20
|
+
"yaml",
|
|
21
|
+
"csv",
|
|
22
|
+
"xml", // file storage extensions
|
|
23
|
+
"txt",
|
|
24
|
+
"text",
|
|
25
|
+
"markdown",
|
|
26
|
+
"readme", // compressed files
|
|
27
|
+
],
|
|
28
|
+
names: ["package.json", "package-lock.json"],
|
|
29
|
+
};
|
|
30
|
+
exports.default = extensions;
|
|
@@ -1,48 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
export default _default;
|
|
1
|
+
declare const _default: {
|
|
2
|
+
config: {
|
|
3
|
+
port: number;
|
|
4
|
+
os: NodeJS.Platform;
|
|
5
|
+
editor: {
|
|
6
|
+
mode: null;
|
|
7
|
+
agent: null;
|
|
8
|
+
version: null;
|
|
9
|
+
};
|
|
10
|
+
dirPath: string;
|
|
11
|
+
configPath: string;
|
|
12
|
+
outputPath: string;
|
|
13
|
+
publicPath: string;
|
|
14
|
+
publicUrl: null;
|
|
15
|
+
contact: string;
|
|
16
|
+
language: string;
|
|
17
|
+
autoPlay: boolean;
|
|
18
|
+
projectType: string;
|
|
19
|
+
grading: string;
|
|
20
|
+
exercisesPath: string;
|
|
21
|
+
webpackTemplate: null;
|
|
22
|
+
disableGrading: boolean;
|
|
23
|
+
disabledActions: never[];
|
|
24
|
+
actions: never[];
|
|
25
|
+
entries: {
|
|
26
|
+
html: string;
|
|
27
|
+
vanillajs: string;
|
|
28
|
+
react: string;
|
|
29
|
+
node: string;
|
|
30
|
+
python3: string;
|
|
31
|
+
java: string;
|
|
32
|
+
};
|
|
33
|
+
suggestions: {
|
|
34
|
+
agent: null;
|
|
35
|
+
};
|
|
36
|
+
warnings: {
|
|
37
|
+
agent: null;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
address: string;
|
|
41
|
+
currentExercise: null;
|
|
42
|
+
exercises: never[];
|
|
43
|
+
bugsLink: null;
|
|
44
|
+
videoSolutions: boolean;
|
|
45
|
+
localhostOnly: boolean;
|
|
46
|
+
};
|
|
47
|
+
export default _default;
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const os = require("os");
|
|
4
|
-
exports.default = {
|
|
5
|
-
config: {
|
|
6
|
-
port: 3000,
|
|
7
|
-
os: (function () {
|
|
8
|
-
return os.platform();
|
|
9
|
-
})(),
|
|
10
|
-
editor: {
|
|
11
|
-
mode: null,
|
|
12
|
-
agent: null,
|
|
13
|
-
version: null,
|
|
14
|
-
},
|
|
15
|
-
dirPath: "./.learn",
|
|
16
|
-
configPath: "./learn.json",
|
|
17
|
-
outputPath: "./.learn/dist",
|
|
18
|
-
publicPath: "/preview",
|
|
19
|
-
publicUrl: null,
|
|
20
|
-
contact: "https://github.com/learnpack/learnpack/issues/new",
|
|
21
|
-
language: "auto",
|
|
22
|
-
autoPlay: true,
|
|
23
|
-
projectType: "tutorial",
|
|
24
|
-
grading: "isolated",
|
|
25
|
-
exercisesPath: "./",
|
|
26
|
-
webpackTemplate: null,
|
|
27
|
-
disableGrading: false,
|
|
28
|
-
disabledActions: [],
|
|
29
|
-
actions: [],
|
|
30
|
-
entries: {
|
|
31
|
-
html: "index.html",
|
|
32
|
-
vanillajs: "index.js",
|
|
33
|
-
react: "app.jsx",
|
|
34
|
-
node: "app.js",
|
|
35
|
-
python3: "app.py",
|
|
36
|
-
java: "app.java",
|
|
37
|
-
},
|
|
38
|
-
suggestions: {
|
|
39
|
-
agent: null,
|
|
40
|
-
},
|
|
41
|
-
warnings: {
|
|
42
|
-
agent: null,
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
address: "http://localhost",
|
|
46
|
-
currentExercise: null,
|
|
47
|
-
exercises: [],
|
|
48
|
-
bugsLink: null,
|
|
49
|
-
videoSolutions: false,
|
|
50
|
-
localhostOnly: false,
|
|
51
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const os = require("os");
|
|
4
|
+
exports.default = {
|
|
5
|
+
config: {
|
|
6
|
+
port: 3000,
|
|
7
|
+
os: (function () {
|
|
8
|
+
return os.platform();
|
|
9
|
+
})(),
|
|
10
|
+
editor: {
|
|
11
|
+
mode: null, // [extension, preview]
|
|
12
|
+
agent: null, // ["vscode", "os"] ("os" is the agent when running outside a coding editor
|
|
13
|
+
version: null, // By default downloads the latest version
|
|
14
|
+
},
|
|
15
|
+
dirPath: "./.learn",
|
|
16
|
+
configPath: "./learn.json",
|
|
17
|
+
outputPath: "./.learn/dist",
|
|
18
|
+
publicPath: "/preview",
|
|
19
|
+
publicUrl: null,
|
|
20
|
+
contact: "https://github.com/learnpack/learnpack/issues/new",
|
|
21
|
+
language: "auto",
|
|
22
|
+
autoPlay: true,
|
|
23
|
+
projectType: "tutorial", // [tutorial, project]
|
|
24
|
+
grading: "isolated", // [isolated, incremental]
|
|
25
|
+
exercisesPath: "./", // path to the folder that contains the exercises
|
|
26
|
+
webpackTemplate: null, // if you want webpack to use an HTML template
|
|
27
|
+
disableGrading: false,
|
|
28
|
+
disabledActions: [], // Possible: 'build', 'test' or 'reset'
|
|
29
|
+
actions: [], // ⚠️ deprecated, leave empty )
|
|
30
|
+
entries: {
|
|
31
|
+
html: "index.html",
|
|
32
|
+
vanillajs: "index.js",
|
|
33
|
+
react: "app.jsx",
|
|
34
|
+
node: "app.js",
|
|
35
|
+
python3: "app.py",
|
|
36
|
+
java: "app.java",
|
|
37
|
+
},
|
|
38
|
+
suggestions: {
|
|
39
|
+
agent: null,
|
|
40
|
+
},
|
|
41
|
+
warnings: {
|
|
42
|
+
agent: null,
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
address: "http://localhost",
|
|
46
|
+
currentExercise: null,
|
|
47
|
+
exercises: [],
|
|
48
|
+
bugsLink: null,
|
|
49
|
+
videoSolutions: false,
|
|
50
|
+
localhostOnly: false, // if true, the exercise should not run on gitpod or codespaces but show an error message encouraging the user to run locally
|
|
51
|
+
};
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { IConfigObj } from "../../models/config";
|
|
2
|
-
import { IFile } from "../../models/file";
|
|
3
|
-
import { IExercise } from "../../models/exercise-obj";
|
|
4
|
-
export declare const exercise: (path: string, position: number, configObject: IConfigObj) => IExercise;
|
|
5
|
-
export declare const validateExerciseDirectoryName: (str: string) => boolean;
|
|
6
|
-
export declare const isCodable: (str: string) => boolean;
|
|
7
|
-
export declare const shouldBeVisible: (file: IFile) => boolean;
|
|
8
|
-
export declare const isDirectory: (source: string) => boolean;
|
|
9
|
-
export declare const detect: (configObject: IConfigObj | undefined, files: Array<string>) => {
|
|
10
|
-
language: string;
|
|
11
|
-
entry: string | undefined;
|
|
12
|
-
} | {
|
|
13
|
-
language: null;
|
|
14
|
-
entry: null;
|
|
15
|
-
} | undefined;
|
|
16
|
-
export declare const filterFiles: (files: Array<string>, basePath?: string) => {
|
|
17
|
-
path: string;
|
|
18
|
-
name: string;
|
|
19
|
-
hidden: boolean;
|
|
20
|
-
}[];
|
|
21
|
-
declare const _default: {
|
|
22
|
-
exercise: (path: string, position: number, configObject: IConfigObj) => IExercise;
|
|
23
|
-
detect: (configObject: IConfigObj | undefined, files: string
|
|
24
|
-
language: string;
|
|
25
|
-
entry: string | undefined;
|
|
26
|
-
} | {
|
|
27
|
-
language: null;
|
|
28
|
-
entry: null;
|
|
29
|
-
} | undefined;
|
|
30
|
-
filterFiles: (files: string
|
|
31
|
-
path: string;
|
|
32
|
-
name: string;
|
|
33
|
-
hidden: boolean;
|
|
34
|
-
}[];
|
|
35
|
-
};
|
|
36
|
-
export default _default;
|
|
1
|
+
import { IConfigObj } from "../../models/config";
|
|
2
|
+
import { IFile } from "../../models/file";
|
|
3
|
+
import { IExercise } from "../../models/exercise-obj";
|
|
4
|
+
export declare const exercise: (path: string, position: number, configObject: IConfigObj) => IExercise;
|
|
5
|
+
export declare const validateExerciseDirectoryName: (str: string) => boolean;
|
|
6
|
+
export declare const isCodable: (str: string) => boolean;
|
|
7
|
+
export declare const shouldBeVisible: (file: IFile) => boolean;
|
|
8
|
+
export declare const isDirectory: (source: string) => boolean;
|
|
9
|
+
export declare const detect: (configObject: IConfigObj | undefined, files: Array<string>) => {
|
|
10
|
+
language: string;
|
|
11
|
+
entry: string | undefined;
|
|
12
|
+
} | {
|
|
13
|
+
language: null;
|
|
14
|
+
entry: null;
|
|
15
|
+
} | undefined;
|
|
16
|
+
export declare const filterFiles: (files: Array<string>, basePath?: string) => {
|
|
17
|
+
path: string;
|
|
18
|
+
name: string;
|
|
19
|
+
hidden: boolean;
|
|
20
|
+
}[];
|
|
21
|
+
declare const _default: {
|
|
22
|
+
exercise: (path: string, position: number, configObject: IConfigObj) => IExercise;
|
|
23
|
+
detect: (configObject: IConfigObj | undefined, files: Array<string>) => {
|
|
24
|
+
language: string;
|
|
25
|
+
entry: string | undefined;
|
|
26
|
+
} | {
|
|
27
|
+
language: null;
|
|
28
|
+
entry: null;
|
|
29
|
+
} | undefined;
|
|
30
|
+
filterFiles: (files: Array<string>, basePath?: string) => {
|
|
31
|
+
path: string;
|
|
32
|
+
name: string;
|
|
33
|
+
hidden: boolean;
|
|
34
|
+
}[];
|
|
35
|
+
};
|
|
36
|
+
export default _default;
|