@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.
- package/README.md +16 -16
- package/bin/run +17 -17
- package/bin/run.cmd +3 -3
- package/lib/commands/audit.d.ts +6 -6
- package/lib/commands/audit.js +327 -302
- package/lib/commands/clean.d.ts +8 -8
- package/lib/commands/clean.js +25 -25
- package/lib/commands/download.d.ts +13 -13
- package/lib/commands/download.js +55 -55
- package/lib/commands/init.d.ts +9 -9
- package/lib/commands/init.js +123 -123
- package/lib/commands/login.d.ts +14 -14
- package/lib/commands/login.js +37 -37
- package/lib/commands/logout.d.ts +14 -14
- package/lib/commands/logout.js +37 -37
- package/lib/commands/publish.d.ts +14 -14
- package/lib/commands/publish.js +82 -82
- package/lib/commands/start.d.ts +7 -7
- package/lib/commands/start.js +165 -165
- 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 +39 -37
- package/lib/managers/config/defaults.js +40 -38
- package/lib/managers/config/exercise.d.ts +36 -36
- package/lib/managers/config/exercise.js +233 -230
- package/lib/managers/config/index.d.ts +3 -3
- package/lib/managers/config/index.js +320 -302
- package/lib/managers/file.d.ts +13 -13
- package/lib/managers/file.js +134 -134
- package/lib/managers/gitpod.d.ts +3 -3
- package/lib/managers/gitpod.js +67 -67
- package/lib/managers/server/index.d.ts +6 -6
- package/lib/managers/server/index.js +58 -51
- package/lib/managers/server/routes.d.ts +4 -4
- package/lib/managers/server/routes.js +167 -167
- package/lib/managers/session.d.ts +3 -3
- package/lib/managers/session.js +104 -104
- package/lib/managers/socket.d.ts +3 -3
- package/lib/managers/socket.js +164 -164
- 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 +62 -60
- 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 +27 -27
- 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 +23 -23
- package/lib/models/session.js +2 -2
- package/lib/models/socket.d.ts +31 -31
- 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 +61 -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 +47 -47
- package/lib/utils/api.d.ts +12 -12
- package/lib/utils/api.js +173 -173
- package/lib/utils/audit.d.ts +16 -16
- package/lib/utils/audit.js +302 -302
- 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 +100 -100
- package/lib/utils/exercisesQueue.d.ts +9 -9
- package/lib/utils/exercisesQueue.js +38 -38
- package/lib/utils/fileQueue.d.ts +40 -40
- package/lib/utils/fileQueue.js +168 -168
- package/lib/utils/misc.d.ts +1 -1
- package/lib/utils/misc.js +23 -23
- package/lib/utils/validators.d.ts +5 -5
- package/lib/utils/validators.js +17 -17
- package/lib/utils/watcher.d.ts +2 -2
- package/lib/utils/watcher.js +23 -23
- package/oclif.manifest.json +1 -1
- package/package.json +138 -138
- package/src/commands/audit.ts +25 -0
- package/src/commands/clean.ts +29 -29
- package/src/commands/download.ts +62 -62
- package/src/commands/login.ts +42 -42
- package/src/commands/logout.ts +43 -43
- package/src/commands/publish.ts +107 -107
- package/src/commands/start.ts +238 -234
- package/src/commands/test.ts +85 -85
- package/src/index.ts +1 -1
- package/src/managers/config/allowed_files.ts +29 -29
- package/src/managers/config/defaults.ts +2 -0
- package/src/managers/config/exercise.ts +309 -302
- package/src/managers/config/index.ts +22 -1
- package/src/managers/file.ts +169 -169
- package/src/managers/gitpod.ts +84 -84
- package/src/managers/server/index.ts +77 -69
- package/src/managers/session.ts +118 -118
- package/src/managers/socket.ts +239 -239
- package/src/managers/test.ts +83 -83
- package/src/models/action.ts +3 -3
- package/src/models/config-manager.ts +23 -23
- package/src/models/config.ts +2 -0
- package/src/models/counter.ts +11 -11
- package/src/models/errors.ts +22 -22
- package/src/models/file.ts +5 -5
- package/src/models/findings.ts +18 -18
- package/src/models/flags.ts +10 -10
- package/src/models/front-matter.ts +11 -11
- package/src/models/gitpod-data.ts +19 -19
- package/src/models/language.ts +4 -4
- package/src/models/package.ts +7 -7
- package/src/models/plugin-config.ts +17 -17
- package/src/models/session.ts +26 -26
- package/src/models/socket.ts +48 -48
- package/src/models/status.ts +15 -15
- package/src/models/success-types.ts +1 -1
- package/src/plugin/command/compile.ts +17 -17
- package/src/plugin/command/test.ts +30 -30
- package/src/plugin/index.ts +6 -6
- package/src/plugin/plugin.ts +94 -94
- package/src/plugin/utils.ts +87 -87
- package/src/types/node-fetch.d.ts +1 -1
- package/src/ui/download.ts +71 -71
- package/src/utils/BaseCommand.ts +48 -48
- package/src/utils/SessionCommand.ts +48 -48
- package/src/utils/api.ts +194 -194
- package/src/utils/audit.ts +395 -395
- package/src/utils/console.ts +24 -24
- package/src/utils/errors.ts +117 -117
- package/src/utils/exercisesQueue.ts +51 -51
- package/src/utils/fileQueue.ts +198 -198
- package/src/utils/misc.ts +23 -23
- package/src/utils/templates/gitignore.txt +19 -19
- package/src/utils/templates/incremental/.learn/exercises/01-hello-world/README.es.md +24 -24
- package/src/utils/templates/incremental/.learn/exercises/01-hello-world/README.md +24 -24
- package/src/utils/templates/incremental/README.ejs +4 -4
- package/src/utils/templates/incremental/README.es.ejs +4 -4
- package/src/utils/templates/isolated/01-hello-world/README.es.md +26 -26
- package/src/utils/templates/isolated/01-hello-world/README.md +26 -26
- package/src/utils/templates/isolated/README.ejs +4 -4
- package/src/utils/templates/isolated/README.es.ejs +4 -4
- package/src/utils/templates/no-grading/README.ejs +4 -4
- package/src/utils/templates/no-grading/README.es.ejs +4 -4
- package/src/utils/validators.ts +18 -18
package/package.json
CHANGED
|
@@ -1,138 +1,138 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@learnpack/learnpack",
|
|
3
|
-
"description": "Create, sell or download and take learning amazing learning packages",
|
|
4
|
-
"version": "2.1.
|
|
5
|
-
"author": "Alejandro Sanchez @alesanchezr",
|
|
6
|
-
"bin": {
|
|
7
|
-
"learnpack": "bin/run"
|
|
8
|
-
},
|
|
9
|
-
"bugs": {
|
|
10
|
-
"url": "https://github.com/learnpack/learnpack-cli/issues"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"@oclif/command": "^1.6.1",
|
|
14
|
-
"@oclif/config": "^1.15.1",
|
|
15
|
-
"@oclif/plugin-help": "^3.1.0",
|
|
16
|
-
"@oclif/plugin-plugins": "^1.8.0",
|
|
17
|
-
"@oclif/plugin-warn-if-update-available": "^1.7.0",
|
|
18
|
-
"body-parser": "^1.19.0",
|
|
19
|
-
"chalk": "^4.1.0",
|
|
20
|
-
"chokidar": "^3.4.0",
|
|
21
|
-
"cli-ux": "^5.4.6",
|
|
22
|
-
"debounce": "^1.2.0",
|
|
23
|
-
"dotenv": "^8.2.0",
|
|
24
|
-
"enquirer": "^2.3.6",
|
|
25
|
-
"eslint-plugin-unicorn": "^38.0.1",
|
|
26
|
-
"espree": "^9.3.2",
|
|
27
|
-
"eta": "^1.2.0",
|
|
28
|
-
"express": "^4.17.1",
|
|
29
|
-
"front-matter": "^4.0.2",
|
|
30
|
-
"moment": "^2.27.0",
|
|
31
|
-
"node-emoji": "^1.10.0",
|
|
32
|
-
"node-fetch": "^2.6.0",
|
|
33
|
-
"node-persist": "^3.1.0",
|
|
34
|
-
"prompts": "^2.3.2",
|
|
35
|
-
"shelljs": "^0.8.4",
|
|
36
|
-
"socket.io": "^4.4.1",
|
|
37
|
-
"targz": "^1.0.1",
|
|
38
|
-
"tslib": "^1",
|
|
39
|
-
"validator": "^13.1.1",
|
|
40
|
-
"xxhashjs": "^0.2.2"
|
|
41
|
-
},
|
|
42
|
-
"devDependencies": {
|
|
43
|
-
"@oclif/dev-cli": "^1.22.2",
|
|
44
|
-
"@oclif/test": "^1.2.6",
|
|
45
|
-
"@types/chai": "^4",
|
|
46
|
-
"@types/debounce": "^1.2.1",
|
|
47
|
-
"@types/express": "^4.17.13",
|
|
48
|
-
"@types/fs-extra": "^8.1.0",
|
|
49
|
-
"@types/mocha": "^5",
|
|
50
|
-
"@types/mock-fs": "^4.13.1",
|
|
51
|
-
"@types/node": "^10",
|
|
52
|
-
"@types/node-fetch": "^3.0.3",
|
|
53
|
-
"@types/node-persist": "^3.1.2",
|
|
54
|
-
"@types/prompts": "^2.0.14",
|
|
55
|
-
"@types/shelljs": "^0.8.9",
|
|
56
|
-
"@types/socket.io": "^3.0.2",
|
|
57
|
-
"@types/targz": "^1.0.1",
|
|
58
|
-
"@types/validator": "^13.7.0",
|
|
59
|
-
"@types/xxhashjs": "^0.2.2",
|
|
60
|
-
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
|
61
|
-
"@typescript-eslint/parser": "^5.4.0",
|
|
62
|
-
"chai": "^4.2.0",
|
|
63
|
-
"chai-http": "^4.3.0",
|
|
64
|
-
"eslint": "^8.12.0",
|
|
65
|
-
"eslint-config-oclif": "^4.0",
|
|
66
|
-
"eslint-config-oclif-typescript": "^1.0.2",
|
|
67
|
-
"fs-extra": "^10.0.1",
|
|
68
|
-
"globby": "^10.0.2",
|
|
69
|
-
"husky": ">=6",
|
|
70
|
-
"lint-staged": ">=10",
|
|
71
|
-
"mocha": "^5.2.0",
|
|
72
|
-
"mock-fs": "^5.1.2",
|
|
73
|
-
"nock": "^13.2.2",
|
|
74
|
-
"nyc": "^14.1.1",
|
|
75
|
-
"pre-commit": "^1.2.2",
|
|
76
|
-
"prettier": "^2.4.1",
|
|
77
|
-
"ts-node": "^8",
|
|
78
|
-
"typescript": "4.0"
|
|
79
|
-
},
|
|
80
|
-
"engines": {
|
|
81
|
-
"node": ">=14.0.0"
|
|
82
|
-
},
|
|
83
|
-
"files": [
|
|
84
|
-
"/bin",
|
|
85
|
-
"/npm-shrinkwrap.json",
|
|
86
|
-
"/oclif.manifest.json",
|
|
87
|
-
"/src",
|
|
88
|
-
"/lib"
|
|
89
|
-
],
|
|
90
|
-
"homepage": "https://github.com/learnpack/learnpack-cli",
|
|
91
|
-
"keywords": [
|
|
92
|
-
"oclif"
|
|
93
|
-
],
|
|
94
|
-
"license": "UNLICENSED",
|
|
95
|
-
"main": "lib/index.js",
|
|
96
|
-
"types": "lib/index.d.ts",
|
|
97
|
-
"oclif": {
|
|
98
|
-
"commands": "./lib/commands",
|
|
99
|
-
"bin": "learnpack",
|
|
100
|
-
"plugins": [
|
|
101
|
-
"@oclif/plugin-help",
|
|
102
|
-
"@oclif/plugin-plugins",
|
|
103
|
-
"@oclif/plugin-warn-if-update-available"
|
|
104
|
-
],
|
|
105
|
-
"permanent_plugins": [
|
|
106
|
-
"@oclif/plugin-help",
|
|
107
|
-
"@oclif/plugin-plugins",
|
|
108
|
-
"@oclif/plugin-warn-if-update-available"
|
|
109
|
-
]
|
|
110
|
-
},
|
|
111
|
-
"repository": {
|
|
112
|
-
"type": "git",
|
|
113
|
-
"url": "git+https://github.com/learnpack/learnpack-cli.git"
|
|
114
|
-
},
|
|
115
|
-
"pre-commit": {
|
|
116
|
-
"silent": true,
|
|
117
|
-
"run": [
|
|
118
|
-
"pre"
|
|
119
|
-
]
|
|
120
|
-
},
|
|
121
|
-
"scripts": {
|
|
122
|
-
"postpack": "rm -f oclif.manifest.json && eslint . --ext .ts --config .eslintrc",
|
|
123
|
-
"prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme",
|
|
124
|
-
"pre": "node ./test/precommit/index.ts",
|
|
125
|
-
"test": "NODE_ENV=test nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"",
|
|
126
|
-
"version": "oclif-dev readme && git add README.md",
|
|
127
|
-
"prepare": "husky install"
|
|
128
|
-
},
|
|
129
|
-
"lint-staged": {
|
|
130
|
-
"*.{js,ts}": [
|
|
131
|
-
"eslint --cache --fix"
|
|
132
|
-
],
|
|
133
|
-
"*.{js,css,md,ts}": "prettier --write"
|
|
134
|
-
},
|
|
135
|
-
"directories": {
|
|
136
|
-
"test": "test"
|
|
137
|
-
}
|
|
138
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@learnpack/learnpack",
|
|
3
|
+
"description": "Create, sell or download and take learning amazing learning packages",
|
|
4
|
+
"version": "2.1.26",
|
|
5
|
+
"author": "Alejandro Sanchez @alesanchezr",
|
|
6
|
+
"bin": {
|
|
7
|
+
"learnpack": "bin/run"
|
|
8
|
+
},
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/learnpack/learnpack-cli/issues"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@oclif/command": "^1.6.1",
|
|
14
|
+
"@oclif/config": "^1.15.1",
|
|
15
|
+
"@oclif/plugin-help": "^3.1.0",
|
|
16
|
+
"@oclif/plugin-plugins": "^1.8.0",
|
|
17
|
+
"@oclif/plugin-warn-if-update-available": "^1.7.0",
|
|
18
|
+
"body-parser": "^1.19.0",
|
|
19
|
+
"chalk": "^4.1.0",
|
|
20
|
+
"chokidar": "^3.4.0",
|
|
21
|
+
"cli-ux": "^5.4.6",
|
|
22
|
+
"debounce": "^1.2.0",
|
|
23
|
+
"dotenv": "^8.2.0",
|
|
24
|
+
"enquirer": "^2.3.6",
|
|
25
|
+
"eslint-plugin-unicorn": "^38.0.1",
|
|
26
|
+
"espree": "^9.3.2",
|
|
27
|
+
"eta": "^1.2.0",
|
|
28
|
+
"express": "^4.17.1",
|
|
29
|
+
"front-matter": "^4.0.2",
|
|
30
|
+
"moment": "^2.27.0",
|
|
31
|
+
"node-emoji": "^1.10.0",
|
|
32
|
+
"node-fetch": "^2.6.0",
|
|
33
|
+
"node-persist": "^3.1.0",
|
|
34
|
+
"prompts": "^2.3.2",
|
|
35
|
+
"shelljs": "^0.8.4",
|
|
36
|
+
"socket.io": "^4.4.1",
|
|
37
|
+
"targz": "^1.0.1",
|
|
38
|
+
"tslib": "^1",
|
|
39
|
+
"validator": "^13.1.1",
|
|
40
|
+
"xxhashjs": "^0.2.2"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@oclif/dev-cli": "^1.22.2",
|
|
44
|
+
"@oclif/test": "^1.2.6",
|
|
45
|
+
"@types/chai": "^4",
|
|
46
|
+
"@types/debounce": "^1.2.1",
|
|
47
|
+
"@types/express": "^4.17.13",
|
|
48
|
+
"@types/fs-extra": "^8.1.0",
|
|
49
|
+
"@types/mocha": "^5",
|
|
50
|
+
"@types/mock-fs": "^4.13.1",
|
|
51
|
+
"@types/node": "^10.17.60",
|
|
52
|
+
"@types/node-fetch": "^3.0.3",
|
|
53
|
+
"@types/node-persist": "^3.1.2",
|
|
54
|
+
"@types/prompts": "^2.0.14",
|
|
55
|
+
"@types/shelljs": "^0.8.9",
|
|
56
|
+
"@types/socket.io": "^3.0.2",
|
|
57
|
+
"@types/targz": "^1.0.1",
|
|
58
|
+
"@types/validator": "^13.7.0",
|
|
59
|
+
"@types/xxhashjs": "^0.2.2",
|
|
60
|
+
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
|
61
|
+
"@typescript-eslint/parser": "^5.4.0",
|
|
62
|
+
"chai": "^4.2.0",
|
|
63
|
+
"chai-http": "^4.3.0",
|
|
64
|
+
"eslint": "^8.12.0",
|
|
65
|
+
"eslint-config-oclif": "^4.0",
|
|
66
|
+
"eslint-config-oclif-typescript": "^1.0.2",
|
|
67
|
+
"fs-extra": "^10.0.1",
|
|
68
|
+
"globby": "^10.0.2",
|
|
69
|
+
"husky": ">=6",
|
|
70
|
+
"lint-staged": ">=10",
|
|
71
|
+
"mocha": "^5.2.0",
|
|
72
|
+
"mock-fs": "^5.1.2",
|
|
73
|
+
"nock": "^13.2.2",
|
|
74
|
+
"nyc": "^14.1.1",
|
|
75
|
+
"pre-commit": "^1.2.2",
|
|
76
|
+
"prettier": "^2.4.1",
|
|
77
|
+
"ts-node": "^8",
|
|
78
|
+
"typescript": "4.0"
|
|
79
|
+
},
|
|
80
|
+
"engines": {
|
|
81
|
+
"node": ">=14.0.0"
|
|
82
|
+
},
|
|
83
|
+
"files": [
|
|
84
|
+
"/bin",
|
|
85
|
+
"/npm-shrinkwrap.json",
|
|
86
|
+
"/oclif.manifest.json",
|
|
87
|
+
"/src",
|
|
88
|
+
"/lib"
|
|
89
|
+
],
|
|
90
|
+
"homepage": "https://github.com/learnpack/learnpack-cli",
|
|
91
|
+
"keywords": [
|
|
92
|
+
"oclif"
|
|
93
|
+
],
|
|
94
|
+
"license": "UNLICENSED",
|
|
95
|
+
"main": "lib/index.js",
|
|
96
|
+
"types": "lib/index.d.ts",
|
|
97
|
+
"oclif": {
|
|
98
|
+
"commands": "./lib/commands",
|
|
99
|
+
"bin": "learnpack",
|
|
100
|
+
"plugins": [
|
|
101
|
+
"@oclif/plugin-help",
|
|
102
|
+
"@oclif/plugin-plugins",
|
|
103
|
+
"@oclif/plugin-warn-if-update-available"
|
|
104
|
+
],
|
|
105
|
+
"permanent_plugins": [
|
|
106
|
+
"@oclif/plugin-help",
|
|
107
|
+
"@oclif/plugin-plugins",
|
|
108
|
+
"@oclif/plugin-warn-if-update-available"
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
"repository": {
|
|
112
|
+
"type": "git",
|
|
113
|
+
"url": "git+https://github.com/learnpack/learnpack-cli.git"
|
|
114
|
+
},
|
|
115
|
+
"pre-commit": {
|
|
116
|
+
"silent": true,
|
|
117
|
+
"run": [
|
|
118
|
+
"pre"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
"scripts": {
|
|
122
|
+
"postpack": "rm -f oclif.manifest.json && eslint . --ext .ts --config .eslintrc",
|
|
123
|
+
"prepack": "rm -rf lib && tsc -b && oclif-dev manifest && oclif-dev readme",
|
|
124
|
+
"pre": "node ./test/precommit/index.ts",
|
|
125
|
+
"test": "NODE_ENV=test nyc --extension .ts mocha --forbid-only \"test/**/*.test.ts\"",
|
|
126
|
+
"version": "oclif-dev readme && git add README.md",
|
|
127
|
+
"prepare": "husky install"
|
|
128
|
+
},
|
|
129
|
+
"lint-staged": {
|
|
130
|
+
"*.{js,ts}": [
|
|
131
|
+
"eslint --cache --fix"
|
|
132
|
+
],
|
|
133
|
+
"*.{js,css,md,ts}": "prettier --write"
|
|
134
|
+
},
|
|
135
|
+
"directories": {
|
|
136
|
+
"test": "test"
|
|
137
|
+
}
|
|
138
|
+
}
|
package/src/commands/audit.ts
CHANGED
|
@@ -95,11 +95,36 @@ class AuditCommand extends SessionCommand {
|
|
|
95
95
|
Console.debug(
|
|
96
96
|
"Checking if the slug property is inside the configuration object..."
|
|
97
97
|
);
|
|
98
|
+
// check if the slug property is in the configuration object
|
|
98
99
|
if (!config!.config?.slug)
|
|
99
100
|
errors.push({
|
|
100
101
|
exercise: undefined,
|
|
101
102
|
msg: "The slug property is not in the configuration object",
|
|
102
103
|
});
|
|
104
|
+
// check if the duration property is in the configuration object
|
|
105
|
+
if (!config!.config?.duration)
|
|
106
|
+
warnings.push({
|
|
107
|
+
exercise: undefined,
|
|
108
|
+
msg: "The duration property is not in the configuration object",
|
|
109
|
+
});
|
|
110
|
+
// check if the difficulty property is in the configuration object
|
|
111
|
+
if (!config!.config?.difficulty)
|
|
112
|
+
warnings.push({
|
|
113
|
+
exercise: undefined,
|
|
114
|
+
msg: "The difficulty property is not in the configuration object",
|
|
115
|
+
});
|
|
116
|
+
// check if the bugs_link property is in the configuration object
|
|
117
|
+
if (!config!.config?.bugsLink)
|
|
118
|
+
errors.push({
|
|
119
|
+
exercise: undefined,
|
|
120
|
+
msg: "The bugsLink property is not in the configuration object",
|
|
121
|
+
});
|
|
122
|
+
// check if the video_solutions property is in the configuration object
|
|
123
|
+
if (config!.config?.videoSolutions === undefined)
|
|
124
|
+
warnings.push({
|
|
125
|
+
exercise: undefined,
|
|
126
|
+
msg: "The videoSolutions property is not in the configuration object",
|
|
127
|
+
});
|
|
103
128
|
|
|
104
129
|
// These two lines check if the 'repository' property is inside the configuration object.
|
|
105
130
|
Console.debug(
|
package/src/commands/clean.ts
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
// import {flags} from '@oclif/command'
|
|
2
|
-
import Console from "../utils/console";
|
|
3
|
-
import SessionCommand from "../utils/SessionCommand";
|
|
4
|
-
|
|
5
|
-
class CleanCommand extends SessionCommand {
|
|
6
|
-
static description = `Clean the configuration object
|
|
7
|
-
...
|
|
8
|
-
Extra documentation goes here
|
|
9
|
-
`;
|
|
10
|
-
|
|
11
|
-
static flags: any = {
|
|
12
|
-
// name: flags.string({char: 'n', description: 'name to print'}),
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
async init() {
|
|
16
|
-
const { flags } = this.parse(CleanCommand);
|
|
17
|
-
await this.initSession(flags);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
async run() {
|
|
21
|
-
const { flags } = this.parse(CleanCommand);
|
|
22
|
-
|
|
23
|
-
this.configManager?.clean();
|
|
24
|
-
|
|
25
|
-
Console.success("Package cleaned successfully, ready to publish");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export default CleanCommand;
|
|
1
|
+
// import {flags} from '@oclif/command'
|
|
2
|
+
import Console from "../utils/console";
|
|
3
|
+
import SessionCommand from "../utils/SessionCommand";
|
|
4
|
+
|
|
5
|
+
class CleanCommand extends SessionCommand {
|
|
6
|
+
static description = `Clean the configuration object
|
|
7
|
+
...
|
|
8
|
+
Extra documentation goes here
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
static flags: any = {
|
|
12
|
+
// name: flags.string({char: 'n', description: 'name to print'}),
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
async init() {
|
|
16
|
+
const { flags } = this.parse(CleanCommand);
|
|
17
|
+
await this.initSession(flags);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async run() {
|
|
21
|
+
const { flags } = this.parse(CleanCommand);
|
|
22
|
+
|
|
23
|
+
this.configManager?.clean();
|
|
24
|
+
|
|
25
|
+
Console.success("Package cleaned successfully, ready to publish");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export default CleanCommand;
|
package/src/commands/download.ts
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import { Command /* , flags */ } from "@oclif/command";
|
|
2
|
-
// import fetch from 'node-fetch'
|
|
3
|
-
import { clone } from "../managers/file";
|
|
4
|
-
import Console from "../utils/console";
|
|
5
|
-
import api from "../utils/api";
|
|
6
|
-
import { askPackage } from "../ui/download";
|
|
7
|
-
// const BaseCommand = require('../utils/BaseCommand');
|
|
8
|
-
|
|
9
|
-
class DownloadCommand extends Command {
|
|
10
|
-
static description = `Describe the command here
|
|
11
|
-
...
|
|
12
|
-
Extra documentation goes here
|
|
13
|
-
`;
|
|
14
|
-
|
|
15
|
-
static flags: any = {
|
|
16
|
-
// name: flags.string({char: 'n', description: 'name to print'}),
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
static args = [
|
|
20
|
-
{
|
|
21
|
-
name: "package", // name of arg to show in help and reference with args[name]
|
|
22
|
-
required: false, // make the arg required with `required: true`
|
|
23
|
-
description:
|
|
24
|
-
"The unique string that identifies this package on learnpack", // help description
|
|
25
|
-
hidden: false, // hide this arg from help
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
// async init() {
|
|
29
|
-
// const {flags} = this.parse(DownloadCommand)
|
|
30
|
-
// await this.initSession(flags)
|
|
31
|
-
// }
|
|
32
|
-
|
|
33
|
-
async run() {
|
|
34
|
-
const { /* flags, */ args } = this.parse(DownloadCommand);
|
|
35
|
-
// start watching for file changes
|
|
36
|
-
let _package: string = args.package;
|
|
37
|
-
if (!_package) {
|
|
38
|
-
_package = (await askPackage()) as string;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (!_package) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
try {
|
|
46
|
-
const packageInfo = await api.getAllPackages({ slug: _package });
|
|
47
|
-
if (packageInfo.results.length === 0)
|
|
48
|
-
Console.error(`Package ${_package} not found`);
|
|
49
|
-
else
|
|
50
|
-
clone(packageInfo.results[0].repository)
|
|
51
|
-
.then(_result => {
|
|
52
|
-
Console.success("Successfully downloaded");
|
|
53
|
-
Console.info(
|
|
54
|
-
`You can now CD into the folder like this: $ cd ${_package}`
|
|
55
|
-
);
|
|
56
|
-
})
|
|
57
|
-
.catch(error => Console.error(error.message || error));
|
|
58
|
-
} catch {}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export default DownloadCommand;
|
|
1
|
+
import { Command /* , flags */ } from "@oclif/command";
|
|
2
|
+
// import fetch from 'node-fetch'
|
|
3
|
+
import { clone } from "../managers/file";
|
|
4
|
+
import Console from "../utils/console";
|
|
5
|
+
import api from "../utils/api";
|
|
6
|
+
import { askPackage } from "../ui/download";
|
|
7
|
+
// const BaseCommand = require('../utils/BaseCommand');
|
|
8
|
+
|
|
9
|
+
class DownloadCommand extends Command {
|
|
10
|
+
static description = `Describe the command here
|
|
11
|
+
...
|
|
12
|
+
Extra documentation goes here
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
static flags: any = {
|
|
16
|
+
// name: flags.string({char: 'n', description: 'name to print'}),
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
static args = [
|
|
20
|
+
{
|
|
21
|
+
name: "package", // name of arg to show in help and reference with args[name]
|
|
22
|
+
required: false, // make the arg required with `required: true`
|
|
23
|
+
description:
|
|
24
|
+
"The unique string that identifies this package on learnpack", // help description
|
|
25
|
+
hidden: false, // hide this arg from help
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
// async init() {
|
|
29
|
+
// const {flags} = this.parse(DownloadCommand)
|
|
30
|
+
// await this.initSession(flags)
|
|
31
|
+
// }
|
|
32
|
+
|
|
33
|
+
async run() {
|
|
34
|
+
const { /* flags, */ args } = this.parse(DownloadCommand);
|
|
35
|
+
// start watching for file changes
|
|
36
|
+
let _package: string = args.package;
|
|
37
|
+
if (!_package) {
|
|
38
|
+
_package = (await askPackage()) as string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (!_package) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
try {
|
|
46
|
+
const packageInfo = await api.getAllPackages({ slug: _package });
|
|
47
|
+
if (packageInfo.results.length === 0)
|
|
48
|
+
Console.error(`Package ${_package} not found`);
|
|
49
|
+
else
|
|
50
|
+
clone(packageInfo.results[0].repository)
|
|
51
|
+
.then(_result => {
|
|
52
|
+
Console.success("Successfully downloaded");
|
|
53
|
+
Console.info(
|
|
54
|
+
`You can now CD into the folder like this: $ cd ${_package}`
|
|
55
|
+
);
|
|
56
|
+
})
|
|
57
|
+
.catch(error => Console.error(error.message || error));
|
|
58
|
+
} catch {}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export default DownloadCommand;
|
package/src/commands/login.ts
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import SessionCommand from "../utils/SessionCommand";
|
|
2
|
-
import SessionManager from "../managers/session";
|
|
3
|
-
import Console from "../utils/console";
|
|
4
|
-
|
|
5
|
-
class LoginCommand extends SessionCommand {
|
|
6
|
-
static description = `Describe the command here
|
|
7
|
-
...
|
|
8
|
-
Extra documentation goes here
|
|
9
|
-
`;
|
|
10
|
-
|
|
11
|
-
static flags: any = {
|
|
12
|
-
// name: flags.string({char: 'n', description: 'name to print'}),
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
static args = [
|
|
16
|
-
{
|
|
17
|
-
name: "package", // name of arg to show in help and reference with args[name]
|
|
18
|
-
required: false, // make the arg required with `required: true`
|
|
19
|
-
description:
|
|
20
|
-
"The unique string that identifies this package on learnpack", // help description
|
|
21
|
-
hidden: false, // hide this arg from help
|
|
22
|
-
},
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
async init() {
|
|
26
|
-
const { flags } = this.parse(LoginCommand);
|
|
27
|
-
await this.initSession(flags);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
async run() {
|
|
31
|
-
/* const {flags, args} = */ this.parse(LoginCommand);
|
|
32
|
-
|
|
33
|
-
try {
|
|
34
|
-
await SessionManager.login();
|
|
35
|
-
} catch (error) {
|
|
36
|
-
Console.error("Error trying to authenticate");
|
|
37
|
-
Console.error((error as TypeError).message || (error as string));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export default LoginCommand;
|
|
1
|
+
import SessionCommand from "../utils/SessionCommand";
|
|
2
|
+
import SessionManager from "../managers/session";
|
|
3
|
+
import Console from "../utils/console";
|
|
4
|
+
|
|
5
|
+
class LoginCommand extends SessionCommand {
|
|
6
|
+
static description = `Describe the command here
|
|
7
|
+
...
|
|
8
|
+
Extra documentation goes here
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
static flags: any = {
|
|
12
|
+
// name: flags.string({char: 'n', description: 'name to print'}),
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
static args = [
|
|
16
|
+
{
|
|
17
|
+
name: "package", // name of arg to show in help and reference with args[name]
|
|
18
|
+
required: false, // make the arg required with `required: true`
|
|
19
|
+
description:
|
|
20
|
+
"The unique string that identifies this package on learnpack", // help description
|
|
21
|
+
hidden: false, // hide this arg from help
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
async init() {
|
|
26
|
+
const { flags } = this.parse(LoginCommand);
|
|
27
|
+
await this.initSession(flags);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async run() {
|
|
31
|
+
/* const {flags, args} = */ this.parse(LoginCommand);
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
await SessionManager.login();
|
|
35
|
+
} catch (error) {
|
|
36
|
+
Console.error("Error trying to authenticate");
|
|
37
|
+
Console.error((error as TypeError).message || (error as string));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default LoginCommand;
|