@learnpack/learnpack 5.0.270 → 5.0.274

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/README.md +409 -409
  2. package/lib/commands/audit.js +15 -15
  3. package/lib/commands/breakToken.js +19 -19
  4. package/lib/commands/clean.js +3 -3
  5. package/lib/commands/init.js +41 -41
  6. package/lib/commands/logout.js +3 -3
  7. package/lib/commands/serve.js +48 -20
  8. package/lib/creatorDist/assets/{index-CQXTTbaZ.js → index-BfLyIQVh.js} +11535 -11409
  9. package/lib/creatorDist/assets/{index-B4khtb0r.css → index-C39zeF3W.css} +3 -3
  10. package/lib/creatorDist/index.html +2 -2
  11. package/lib/managers/config/index.js +77 -77
  12. package/lib/models/creator.d.ts +1 -0
  13. package/lib/utils/api.js +1 -0
  14. package/lib/utils/creatorUtilities.js +14 -14
  15. package/package.json +1 -1
  16. package/src/commands/audit.ts +487 -487
  17. package/src/commands/breakToken.ts +67 -67
  18. package/src/commands/clean.ts +30 -30
  19. package/src/commands/init.ts +650 -650
  20. package/src/commands/logout.ts +38 -38
  21. package/src/commands/publish.ts +522 -522
  22. package/src/commands/serve.ts +64 -33
  23. package/src/commands/start.ts +333 -333
  24. package/src/commands/translate.ts +123 -123
  25. package/src/creator/README.md +54 -54
  26. package/src/creator/eslint.config.js +28 -28
  27. package/src/creator/src/components/syllabus/ContentIndex.tsx +1 -1
  28. package/src/creator/src/components/syllabus/SyllabusEditor.tsx +3 -1
  29. package/src/creator/src/i18n.ts +28 -28
  30. package/src/creator/src/index.css +217 -217
  31. package/src/creator/src/locales/en.json +1 -0
  32. package/src/creator/src/locales/es.json +1 -0
  33. package/src/creator/src/utils/configTypes.ts +122 -122
  34. package/src/creator/src/utils/constants.ts +13 -13
  35. package/src/creator/src/utils/creatorUtils.ts +46 -46
  36. package/src/creator/src/utils/eventBus.ts +2 -2
  37. package/src/creator/src/utils/lib.ts +468 -468
  38. package/src/creator/src/utils/rigo.ts +26 -26
  39. package/src/creator/src/utils/socket.ts +61 -61
  40. package/src/creator/src/utils/store.ts +222 -222
  41. package/src/creator/src/vite-env.d.ts +1 -1
  42. package/src/creator/vite.config.ts +13 -13
  43. package/src/creatorDist/assets/{index-CQXTTbaZ.js → index-BfLyIQVh.js} +11535 -11409
  44. package/src/creatorDist/assets/{index-B4khtb0r.css → index-C39zeF3W.css} +3 -3
  45. package/src/creatorDist/index.html +2 -2
  46. package/src/managers/config/defaults.ts +49 -49
  47. package/src/managers/config/exercise.ts +364 -364
  48. package/src/managers/config/index.ts +775 -775
  49. package/src/managers/file.ts +236 -236
  50. package/src/managers/server/routes.ts +554 -554
  51. package/src/managers/session.ts +182 -182
  52. package/src/managers/telemetry.ts +188 -188
  53. package/src/models/action.ts +13 -13
  54. package/src/models/config-manager.ts +28 -28
  55. package/src/models/config.ts +106 -106
  56. package/src/models/creator.ts +40 -39
  57. package/src/models/exercise-obj.ts +30 -30
  58. package/src/models/session.ts +39 -39
  59. package/src/models/socket.ts +61 -61
  60. package/src/models/status.ts +16 -16
  61. package/src/ui/_app/app.css +1 -1
  62. package/src/ui/_app/app.js +435 -414
  63. package/src/ui/_app/learnpack.svg +7 -7
  64. package/src/ui/app.tar.gz +0 -0
  65. package/src/utils/BaseCommand.ts +56 -56
  66. package/src/utils/api.ts +31 -30
  67. package/src/utils/audit.ts +392 -392
  68. package/src/utils/checkNotInstalled.ts +267 -267
  69. package/src/utils/configBuilder.ts +82 -82
  70. package/src/utils/convertCreds.js +34 -34
  71. package/src/utils/creatorUtilities.ts +504 -504
  72. package/src/utils/incrementVersion.js +74 -74
  73. package/src/utils/misc.ts +58 -58
  74. package/src/utils/rigoActions.ts +500 -500
  75. package/src/utils/sidebarGenerator.ts +195 -195
  76. package/src/utils/templates/isolated/exercises/01-hello-world/README.es.md +26 -26
  77. package/src/utils/templates/isolated/exercises/01-hello-world/README.md +26 -26
@@ -1,74 +1,74 @@
1
- const fs = require("fs")
2
- const path = require("path")
3
- const readline = require("readline")
4
-
5
- // Get command-line arguments
6
- const args = process.argv.slice(2)
7
- const partIndex = args.findIndex(arg => arg === "-p" || arg === "--part")
8
- const part =
9
- partIndex !== -1 && args[partIndex + 1] ?
10
- args[partIndex + 1].toLowerCase() :
11
- null
12
-
13
- const packagePath = path.resolve(process.cwd(), "package.json")
14
-
15
- try {
16
- // Read package.json file
17
- const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"))
18
-
19
- // Check if "version" field exists
20
- if (!packageJson.version) {
21
- throw new Error(
22
- 'El archivo package.json no contiene una propiedad "version".'
23
- )
24
- }
25
-
26
- const [major, minor, patch] = packageJson.version.split(".").map(Number)
27
-
28
- // Function to update version
29
- const updateVersion = part => {
30
- let newVersion
31
- switch (part) {
32
- case "major":
33
- newVersion = `${major + 1}.0.0`
34
- break
35
- case "minor":
36
- newVersion = `${major}.${minor + 1}.0`
37
- break
38
- case "patch":
39
- newVersion = `${major}.${minor}.${patch + 1}`
40
- break
41
- default:
42
- console.error("Opción no válida. Usa: major, minor o patch.")
43
- process.exit(1)
44
- }
45
-
46
- // Update package.json
47
- packageJson.version = newVersion
48
- fs.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2), "utf8")
49
-
50
- console.log(`Versión actualizada: ${packageJson.version} -> ${newVersion}`)
51
- }
52
-
53
- if (part) {
54
- // If flag is provided, update immediately
55
- updateVersion(part)
56
- } else {
57
- // Otherwise, ask the user interactively
58
- const rl = readline.createInterface({
59
- input: process.stdin,
60
- output: process.stdout,
61
- })
62
-
63
- rl.question(
64
- "¿Qué parte de la versión deseas incrementar? (major, minor, patch): ",
65
- answer => {
66
- updateVersion(answer.toLowerCase())
67
- rl.close()
68
- }
69
- )
70
- }
71
- } catch (error) {
72
- console.error(`Error: ${error.message}`)
73
- process.exit(1)
74
- }
1
+ const fs = require("fs")
2
+ const path = require("path")
3
+ const readline = require("readline")
4
+
5
+ // Get command-line arguments
6
+ const args = process.argv.slice(2)
7
+ const partIndex = args.findIndex(arg => arg === "-p" || arg === "--part")
8
+ const part =
9
+ partIndex !== -1 && args[partIndex + 1] ?
10
+ args[partIndex + 1].toLowerCase() :
11
+ null
12
+
13
+ const packagePath = path.resolve(process.cwd(), "package.json")
14
+
15
+ try {
16
+ // Read package.json file
17
+ const packageJson = JSON.parse(fs.readFileSync(packagePath, "utf8"))
18
+
19
+ // Check if "version" field exists
20
+ if (!packageJson.version) {
21
+ throw new Error(
22
+ 'El archivo package.json no contiene una propiedad "version".'
23
+ )
24
+ }
25
+
26
+ const [major, minor, patch] = packageJson.version.split(".").map(Number)
27
+
28
+ // Function to update version
29
+ const updateVersion = part => {
30
+ let newVersion
31
+ switch (part) {
32
+ case "major":
33
+ newVersion = `${major + 1}.0.0`
34
+ break
35
+ case "minor":
36
+ newVersion = `${major}.${minor + 1}.0`
37
+ break
38
+ case "patch":
39
+ newVersion = `${major}.${minor}.${patch + 1}`
40
+ break
41
+ default:
42
+ console.error("Opción no válida. Usa: major, minor o patch.")
43
+ process.exit(1)
44
+ }
45
+
46
+ // Update package.json
47
+ packageJson.version = newVersion
48
+ fs.writeFileSync(packagePath, JSON.stringify(packageJson, null, 2), "utf8")
49
+
50
+ console.log(`Versión actualizada: ${packageJson.version} -> ${newVersion}`)
51
+ }
52
+
53
+ if (part) {
54
+ // If flag is provided, update immediately
55
+ updateVersion(part)
56
+ } else {
57
+ // Otherwise, ask the user interactively
58
+ const rl = readline.createInterface({
59
+ input: process.stdin,
60
+ output: process.stdout,
61
+ })
62
+
63
+ rl.question(
64
+ "¿Qué parte de la versión deseas incrementar? (major, minor, patch): ",
65
+ answer => {
66
+ updateVersion(answer.toLowerCase())
67
+ rl.close()
68
+ }
69
+ )
70
+ }
71
+ } catch (error) {
72
+ console.error(`Error: ${error.message}`)
73
+ process.exit(1)
74
+ }
package/src/utils/misc.ts CHANGED
@@ -1,58 +1,58 @@
1
- export const prioritizeHTMLFile = (entryFiles: string[]) => {
2
- let files = []
3
-
4
- // Find the html file and put it as latest in the files array
5
- // in order to keep the html file opened in vscode plugin
6
- const index = entryFiles.findIndex(file => {
7
- return /.*\.html$/.test(file)
8
- })
9
-
10
- if (index !== -1) {
11
- for (const [i, entryFile] of entryFiles.entries()) {
12
- if (i !== index) {
13
- files.push(entryFile)
14
- }
15
- }
16
-
17
- files.push(entryFiles[index])
18
- } else {
19
- files = entryFiles
20
- }
21
-
22
- return files
23
- }
24
-
25
- export function minutesToISO8601Duration(minutes: number): string {
26
- if (minutes <= 0)
27
- return "PT0M"
28
-
29
- const weeks = Math.floor(minutes / (60 * 24 * 7))
30
- minutes %= 60 * 24 * 7
31
-
32
- const days = Math.floor(minutes / (60 * 24))
33
- minutes %= 60 * 24
34
-
35
- const hours = Math.floor(minutes / 60)
36
- const mins = minutes % 60
37
-
38
- let duration = "P"
39
- if (weeks)
40
- duration += `${weeks}W`
41
- if (days)
42
- duration += `${days}D`
43
-
44
- if (hours || mins)
45
- duration += "T"
46
- if (hours)
47
- duration += `${hours}H`
48
- if (mins)
49
- duration += `${mins}M`
50
-
51
- return duration
52
- }
53
-
54
- export const createUploadMiddleware = () => {
55
- // eslint-disable-next-line
56
- const multer = require("multer")
57
- return multer({ limits: { fileSize: 25 * 1024 * 1024 } })
58
- }
1
+ export const prioritizeHTMLFile = (entryFiles: string[]) => {
2
+ let files = []
3
+
4
+ // Find the html file and put it as latest in the files array
5
+ // in order to keep the html file opened in vscode plugin
6
+ const index = entryFiles.findIndex(file => {
7
+ return /.*\.html$/.test(file)
8
+ })
9
+
10
+ if (index !== -1) {
11
+ for (const [i, entryFile] of entryFiles.entries()) {
12
+ if (i !== index) {
13
+ files.push(entryFile)
14
+ }
15
+ }
16
+
17
+ files.push(entryFiles[index])
18
+ } else {
19
+ files = entryFiles
20
+ }
21
+
22
+ return files
23
+ }
24
+
25
+ export function minutesToISO8601Duration(minutes: number): string {
26
+ if (minutes <= 0)
27
+ return "PT0M"
28
+
29
+ const weeks = Math.floor(minutes / (60 * 24 * 7))
30
+ minutes %= 60 * 24 * 7
31
+
32
+ const days = Math.floor(minutes / (60 * 24))
33
+ minutes %= 60 * 24
34
+
35
+ const hours = Math.floor(minutes / 60)
36
+ const mins = minutes % 60
37
+
38
+ let duration = "P"
39
+ if (weeks)
40
+ duration += `${weeks}W`
41
+ if (days)
42
+ duration += `${days}D`
43
+
44
+ if (hours || mins)
45
+ duration += "T"
46
+ if (hours)
47
+ duration += `${hours}H`
48
+ if (mins)
49
+ duration += `${mins}M`
50
+
51
+ return duration
52
+ }
53
+
54
+ export const createUploadMiddleware = () => {
55
+ // eslint-disable-next-line
56
+ const multer = require("multer")
57
+ return multer({ limits: { fileSize: 25 * 1024 * 1024 } })
58
+ }