@learnpack/learnpack 5.0.309 → 5.0.311
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 +409 -409
- package/lib/commands/audit.js +15 -15
- package/lib/commands/breakToken.js +19 -19
- package/lib/commands/clean.js +3 -3
- package/lib/commands/logout.js +3 -3
- package/lib/commands/publish.js +16 -6
- package/lib/commands/serve.js +16 -16
- package/lib/creatorDist/assets/{index-B37w_ZhT.js → index-BI7U47zy.js} +13186 -13013
- package/lib/creatorDist/index.html +1 -1
- package/lib/managers/config/index.js +77 -77
- package/lib/utils/creatorUtilities.js +14 -14
- package/lib/utils/templates/isolated/exercises/01-hello-world/README.es.md +26 -26
- package/lib/utils/templates/isolated/exercises/01-hello-world/README.md +26 -26
- package/lib/utils/templates/scorm/adlcp_rootv1p2.xsd +110 -110
- package/lib/utils/templates/scorm/config/index.html +209 -209
- package/lib/utils/templates/scorm/ims_xml.xsd +1 -1
- package/lib/utils/templates/scorm/imscp_rootv1p1p2.xsd +345 -345
- package/lib/utils/templates/scorm/imsmanifest.xml +38 -38
- package/lib/utils/templates/scorm/imsmd_rootv1p2p1.xsd +573 -573
- package/package.json +1 -1
- package/src/commands/audit.ts +487 -487
- package/src/commands/breakToken.ts +67 -67
- package/src/commands/clean.ts +30 -30
- package/src/commands/logout.ts +38 -38
- package/src/commands/publish.ts +39 -23
- package/src/commands/serve.ts +3179 -3179
- package/src/commands/start.ts +333 -333
- package/src/commands/translate.ts +123 -123
- package/src/creator/README.md +54 -54
- package/src/creator/package-lock.json +6621 -6621
- package/src/creator/package.json +55 -55
- package/src/creator/src/App.tsx +611 -608
- package/src/creator/src/components/FileUploader.tsx +340 -302
- package/src/creator/src/components/Icon.tsx +18 -18
- package/src/creator/src/components/LessonItem.tsx +152 -152
- package/src/creator/src/components/Login.tsx +259 -259
- package/src/creator/src/components/ParamsChecker.tsx +25 -25
- package/src/creator/src/components/Uploader.tsx +3 -6
- package/src/creator/src/components/syllabus/ContentIndex.tsx +323 -323
- package/src/creator/src/components/syllabus/SyllabusEditor.tsx +341 -337
- package/src/creator/src/i18n.ts +28 -28
- package/src/creator/src/locales/en.json +139 -138
- package/src/creator/src/locales/es.json +139 -138
- package/src/creator/src/utils/configTypes.ts +122 -122
- package/src/creator/src/utils/constants.ts +13 -13
- package/src/creator/src/utils/creatorUtils.ts +46 -46
- package/src/creator/src/utils/eventBus.ts +2 -2
- package/src/creator/src/utils/rigo.ts +1 -1
- package/src/creator/src/utils/socket.ts +61 -61
- package/src/creator/src/utils/store.ts +222 -222
- package/src/creator/src/vite-env.d.ts +1 -1
- package/src/creator/vite.config.ts +13 -13
- package/src/creatorDist/assets/{index-B37w_ZhT.js → index-BI7U47zy.js} +13186 -13013
- package/src/creatorDist/index.html +1 -1
- package/src/managers/config/defaults.ts +49 -49
- package/src/managers/config/exercise.ts +364 -364
- package/src/managers/config/index.ts +775 -775
- package/src/managers/file.ts +236 -236
- package/src/managers/server/routes.ts +554 -554
- package/src/managers/telemetry.ts +188 -188
- package/src/models/action.ts +13 -13
- package/src/models/config-manager.ts +28 -28
- package/src/models/config.ts +106 -106
- package/src/models/exercise-obj.ts +30 -30
- package/src/models/session.ts +39 -39
- package/src/models/socket.ts +61 -61
- package/src/models/status.ts +16 -16
- package/src/ui/_app/app.css +1 -1
- package/src/ui/_app/app.js +477 -407
- package/src/ui/app.tar.gz +0 -0
- package/src/utils/BaseCommand.ts +56 -56
- package/src/utils/api.ts +665 -665
- package/src/utils/audit.ts +392 -392
- package/src/utils/checkNotInstalled.ts +267 -267
- package/src/utils/convertCreds.js +34 -34
- package/src/utils/creatorUtilities.ts +504 -504
- package/src/utils/export/README.md +178 -178
- package/src/utils/incrementVersion.js +74 -74
- package/src/utils/misc.ts +58 -58
- package/src/utils/sidebarGenerator.ts +195 -195
- package/src/utils/templates/isolated/exercises/01-hello-world/README.es.md +26 -26
- package/src/utils/templates/isolated/exercises/01-hello-world/README.md +26 -26
- package/src/utils/templates/scorm/adlcp_rootv1p2.xsd +110 -110
- package/src/utils/templates/scorm/config/index.html +209 -209
- package/src/utils/templates/scorm/ims_xml.xsd +1 -1
- package/src/utils/templates/scorm/imscp_rootv1p1p2.xsd +345 -345
- package/src/utils/templates/scorm/imsmanifest.xml +38 -38
- package/src/utils/templates/scorm/imsmd_rootv1p2p1.xsd +573 -573
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { flags } from "@oclif/command"
|
|
2
|
-
import BaseCommand from "../utils/BaseCommand"
|
|
3
|
-
|
|
4
|
-
import Console from "../utils/console"
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
extractParagraphs,
|
|
8
|
-
splitIntoSyllables,
|
|
9
|
-
extractWords,
|
|
10
|
-
countSentences,
|
|
11
|
-
fleschKincaidGrade,
|
|
12
|
-
} from "../utils/creatorUtilities"
|
|
13
|
-
|
|
14
|
-
const exampleMd = `# How to Install Node.js
|
|
15
|
-
|
|
16
|
-
Node.js lets you run JavaScript outside a web browser.
|
|
17
|
-
|
|
18
|
-
## Step 1: Download Node.js
|
|
19
|
-
|
|
20
|
-
Get the Node.js installer from the [official site](https://nodejs.org/en/download/).
|
|
21
|
-
|
|
22
|
-
## Step 2: Install Node.js
|
|
23
|
-
|
|
24
|
-
Open the installer and follow the steps to finish.
|
|
25
|
-
|
|
26
|
-
## Step 3: Verify the Installation
|
|
27
|
-
|
|
28
|
-
Open a terminal and type:
|
|
29
|
-
|
|
30
|
-
\`\`\`bash
|
|
31
|
-
node -v
|
|
32
|
-
\`\`\`
|
|
33
|
-
`
|
|
34
|
-
|
|
35
|
-
class BreakTokenCommand extends BaseCommand {
|
|
36
|
-
static description = "Break the token"
|
|
37
|
-
|
|
38
|
-
static flags = {
|
|
39
|
-
...BaseCommand.flags,
|
|
40
|
-
grading: flags.help({ char: "h" }),
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async run() {
|
|
44
|
-
const { flags } = this.parse(BreakTokenCommand)
|
|
45
|
-
|
|
46
|
-
// await SessionManager.breakToken()
|
|
47
|
-
const paragraphs = extractParagraphs(exampleMd)
|
|
48
|
-
for (const paragraph of paragraphs) {
|
|
49
|
-
const syllables = splitIntoSyllables(paragraph)
|
|
50
|
-
const words = extractWords(paragraph)
|
|
51
|
-
const sentences = countSentences(paragraph)
|
|
52
|
-
const fkgl = fleschKincaidGrade(paragraph)
|
|
53
|
-
Console.info(paragraph)
|
|
54
|
-
Console.info(`Number of syllables: ${syllables.length}`)
|
|
55
|
-
Console.info(syllables)
|
|
56
|
-
Console.info(`Number of words: ${words.length}`)
|
|
57
|
-
Console.info(words)
|
|
58
|
-
Console.info(`Number of sentences: ${sentences}`)
|
|
59
|
-
Console.info(`FKGL: ${fkgl}`)
|
|
60
|
-
Console.info("---")
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
process.exit(0)
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
export default BreakTokenCommand
|
|
1
|
+
import { flags } from "@oclif/command"
|
|
2
|
+
import BaseCommand from "../utils/BaseCommand"
|
|
3
|
+
|
|
4
|
+
import Console from "../utils/console"
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
extractParagraphs,
|
|
8
|
+
splitIntoSyllables,
|
|
9
|
+
extractWords,
|
|
10
|
+
countSentences,
|
|
11
|
+
fleschKincaidGrade,
|
|
12
|
+
} from "../utils/creatorUtilities"
|
|
13
|
+
|
|
14
|
+
const exampleMd = `# How to Install Node.js
|
|
15
|
+
|
|
16
|
+
Node.js lets you run JavaScript outside a web browser.
|
|
17
|
+
|
|
18
|
+
## Step 1: Download Node.js
|
|
19
|
+
|
|
20
|
+
Get the Node.js installer from the [official site](https://nodejs.org/en/download/).
|
|
21
|
+
|
|
22
|
+
## Step 2: Install Node.js
|
|
23
|
+
|
|
24
|
+
Open the installer and follow the steps to finish.
|
|
25
|
+
|
|
26
|
+
## Step 3: Verify the Installation
|
|
27
|
+
|
|
28
|
+
Open a terminal and type:
|
|
29
|
+
|
|
30
|
+
\`\`\`bash
|
|
31
|
+
node -v
|
|
32
|
+
\`\`\`
|
|
33
|
+
`
|
|
34
|
+
|
|
35
|
+
class BreakTokenCommand extends BaseCommand {
|
|
36
|
+
static description = "Break the token"
|
|
37
|
+
|
|
38
|
+
static flags = {
|
|
39
|
+
...BaseCommand.flags,
|
|
40
|
+
grading: flags.help({ char: "h" }),
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async run() {
|
|
44
|
+
const { flags } = this.parse(BreakTokenCommand)
|
|
45
|
+
|
|
46
|
+
// await SessionManager.breakToken()
|
|
47
|
+
const paragraphs = extractParagraphs(exampleMd)
|
|
48
|
+
for (const paragraph of paragraphs) {
|
|
49
|
+
const syllables = splitIntoSyllables(paragraph)
|
|
50
|
+
const words = extractWords(paragraph)
|
|
51
|
+
const sentences = countSentences(paragraph)
|
|
52
|
+
const fkgl = fleschKincaidGrade(paragraph)
|
|
53
|
+
Console.info(paragraph)
|
|
54
|
+
Console.info(`Number of syllables: ${syllables.length}`)
|
|
55
|
+
Console.info(syllables)
|
|
56
|
+
Console.info(`Number of words: ${words.length}`)
|
|
57
|
+
Console.info(words)
|
|
58
|
+
Console.info(`Number of sentences: ${sentences}`)
|
|
59
|
+
Console.info(`FKGL: ${fkgl}`)
|
|
60
|
+
Console.info("---")
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
process.exit(0)
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default BreakTokenCommand
|
package/src/commands/clean.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
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?.buildIndex()
|
|
24
|
-
await this.configManager?.clean()
|
|
25
|
-
|
|
26
|
-
Console.success("Package cleaned successfully, ready to publish")
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
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?.buildIndex()
|
|
24
|
+
await this.configManager?.clean()
|
|
25
|
+
|
|
26
|
+
Console.success("Package cleaned successfully, ready to publish")
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default CleanCommand
|
package/src/commands/logout.ts
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import SessionCommand from "../utils/SessionCommand"
|
|
2
|
-
import SessionManager from "../managers/session"
|
|
3
|
-
import Console from "../utils/console"
|
|
4
|
-
|
|
5
|
-
class LogoutCommand 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(LogoutCommand)
|
|
27
|
-
// await this.initSession(flags)
|
|
28
|
-
Console.debug("Logout command")
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async run() {
|
|
32
|
-
// const {flags, args} = this.parse(LogoutCommand)
|
|
33
|
-
|
|
34
|
-
SessionManager.destroy()
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export default LogoutCommand
|
|
1
|
+
import SessionCommand from "../utils/SessionCommand"
|
|
2
|
+
import SessionManager from "../managers/session"
|
|
3
|
+
import Console from "../utils/console"
|
|
4
|
+
|
|
5
|
+
class LogoutCommand 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(LogoutCommand)
|
|
27
|
+
// await this.initSession(flags)
|
|
28
|
+
Console.debug("Logout command")
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async run() {
|
|
32
|
+
// const {flags, args} = this.parse(LogoutCommand)
|
|
33
|
+
|
|
34
|
+
SessionManager.destroy()
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default LogoutCommand
|
package/src/commands/publish.ts
CHANGED
|
@@ -8,7 +8,7 @@ import * as fs from "fs"
|
|
|
8
8
|
import * as path from "path"
|
|
9
9
|
import * as archiver from "archiver"
|
|
10
10
|
import axios from "axios"
|
|
11
|
-
import FormData = require("form-data")
|
|
11
|
+
import FormData = require("form-data");
|
|
12
12
|
import Console from "../utils/console"
|
|
13
13
|
import {
|
|
14
14
|
decompress,
|
|
@@ -60,9 +60,18 @@ export const handleAssetCreation = async (
|
|
|
60
60
|
readme_raw: b64IndexReadme,
|
|
61
61
|
all_translations,
|
|
62
62
|
})
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
try {
|
|
64
|
+
await api.updateRigoPackage(
|
|
65
|
+
sessionPayload.rigobotToken.trim(),
|
|
66
|
+
learnJson.slug,
|
|
67
|
+
{
|
|
68
|
+
asset_id: asset.id,
|
|
69
|
+
}
|
|
70
|
+
)
|
|
71
|
+
} catch (error) {
|
|
72
|
+
Console.error("Error updating Rigo package:", error)
|
|
73
|
+
}
|
|
74
|
+
|
|
66
75
|
Console.info("Asset created with id", asset.id)
|
|
67
76
|
return asset
|
|
68
77
|
}
|
|
@@ -75,13 +84,18 @@ export const handleAssetCreation = async (
|
|
|
75
84
|
description: learnJson.description[selectedLang],
|
|
76
85
|
all_translations,
|
|
77
86
|
})
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
87
|
+
try {
|
|
88
|
+
await api.updateRigoPackage(
|
|
89
|
+
sessionPayload.rigobotToken.trim(),
|
|
90
|
+
learnJson.slug,
|
|
91
|
+
{
|
|
92
|
+
asset_id: asset.id,
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
} catch (error) {
|
|
96
|
+
Console.error("Error updating Rigo package:", error)
|
|
97
|
+
}
|
|
98
|
+
|
|
85
99
|
Console.info("Asset updated with id", asset.id)
|
|
86
100
|
return asset
|
|
87
101
|
} catch (error) {
|
|
@@ -117,19 +131,19 @@ const runAudit = (strict: boolean) => {
|
|
|
117
131
|
}
|
|
118
132
|
|
|
119
133
|
type Academy = {
|
|
120
|
-
id: number
|
|
121
|
-
name: string
|
|
122
|
-
slug?: string
|
|
123
|
-
timezone?: string
|
|
124
|
-
}
|
|
134
|
+
id: number;
|
|
135
|
+
name: string;
|
|
136
|
+
slug?: string;
|
|
137
|
+
timezone?: string;
|
|
138
|
+
};
|
|
125
139
|
|
|
126
140
|
type Category = {
|
|
127
|
-
id: number
|
|
128
|
-
slug: string
|
|
129
|
-
title: string
|
|
130
|
-
lang: string
|
|
131
|
-
academy: Academy
|
|
132
|
-
}
|
|
141
|
+
id: number;
|
|
142
|
+
slug: string;
|
|
143
|
+
title: string;
|
|
144
|
+
lang: string;
|
|
145
|
+
academy: Academy;
|
|
146
|
+
};
|
|
133
147
|
|
|
134
148
|
function getCategoriesByAcademy(
|
|
135
149
|
categories: Category[],
|
|
@@ -292,7 +306,9 @@ class BuildCommand extends SessionCommand {
|
|
|
292
306
|
|
|
293
307
|
if (configObject) {
|
|
294
308
|
const { config } = configObject
|
|
295
|
-
const appAlreadyExists = checkIfDirectoryExists(
|
|
309
|
+
const appAlreadyExists = checkIfDirectoryExists(
|
|
310
|
+
`${config?.dirPath}/_app`
|
|
311
|
+
)
|
|
296
312
|
|
|
297
313
|
if (!appAlreadyExists) {
|
|
298
314
|
// download app and decompress
|