@learnpack/learnpack 2.1.41 → 2.1.42

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -1,55 +1,36 @@
1
- # learnpack
2
-
3
- Create, sell or download and take learning amazing learning packages.
4
-
5
- [![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
6
- [![Version](https://img.shields.io/npm/v/learnpack.svg)](https://npmjs.org/package/learnpack)
7
- [![Downloads/week](https://img.shields.io/npm/dw/learnpack.svg)](https://npmjs.org/package/learnpack)
8
- [![License](https://img.shields.io/npm/l/learnpack.svg)](https://github.com/learnpack/learnpack-cli/blob/master/package.json)
9
-
1
+ # learnpack
2
+
3
+ Create, sell or download and take learning amazing learning packages.
4
+
5
+ [![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
6
+ [![Version](https://img.shields.io/npm/v/learnpack.svg)](https://npmjs.org/package/learnpack)
7
+ [![Downloads/week](https://img.shields.io/npm/dw/learnpack.svg)](https://npmjs.org/package/learnpack)
8
+ [![License](https://img.shields.io/npm/l/learnpack.svg)](https://github.com/learnpack/learnpack-cli/blob/master/package.json)
9
+
10
10
  <!-- toc -->
11
11
  * [learnpack](#learnpack)
12
12
  * [Usage](#usage)
13
13
  * [Commands](#commands)
14
- <!-- tocstop -->
15
-
16
- - [learnpack](#learnpack)
17
- - [Usage](#usage)
18
- - [Commands](#commands)
19
- <!-- tocstop -->
20
-
21
- # Usage
22
-
14
+ <!-- tocstop -->
15
+
16
+ # Usage
17
+
23
18
  <!-- usage -->
24
19
  ```sh-session
25
20
  $ npm install -g @learnpack/learnpack
26
21
  $ learnpack COMMAND
27
22
  running command...
28
23
  $ learnpack (-v|--version|version)
29
- @learnpack/learnpack/2.1.41 win32-x64 node-v20.10.0
24
+ @learnpack/learnpack/2.1.42 win32-x64 node-v20.10.0
30
25
  $ learnpack --help [COMMAND]
31
26
  USAGE
32
27
  $ learnpack COMMAND
33
28
  ...
34
29
  ```
35
- <!-- usagestop -->
36
-
37
- ```sh-session
38
- $ npm install -g @learnpack/learnpack
39
- $ learnpack COMMAND
40
- running command...
41
- $ learnpack (-v|--version|version)
42
- @learnpack/learnpack/2.1.36 darwin-arm64 node-v16.20.1
43
- $ learnpack --help [COMMAND]
44
- USAGE
45
- $ learnpack COMMAND
46
- ...
47
- ```
48
-
49
- <!-- usagestop -->
50
-
51
- # Commands
52
-
30
+ <!-- usagestop -->
31
+
32
+ # Commands
33
+
53
34
  <!-- commands -->
54
35
  * [`learnpack audit`](#learnpack-audit)
55
36
  * [`learnpack clean`](#learnpack-clean)
@@ -93,7 +74,7 @@ DESCRIPTION
93
74
  12. If there is a file within the exercises folder but not inside of any particular exercise's folder. (Warning)
94
75
  ```
95
76
 
96
- _See code: [src\commands\audit.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\audit.ts)_
77
+ _See code: [src\commands\audit.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\audit.ts)_
97
78
 
98
79
  ## `learnpack clean`
99
80
 
@@ -108,7 +89,7 @@ DESCRIPTION
108
89
  Extra documentation goes here
109
90
  ```
110
91
 
111
- _See code: [src\commands\clean.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\clean.ts)_
92
+ _See code: [src\commands\clean.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\clean.ts)_
112
93
 
113
94
  ## `learnpack download [PACKAGE]`
114
95
 
@@ -126,7 +107,7 @@ DESCRIPTION
126
107
  Extra documentation goes here
127
108
  ```
128
109
 
129
- _See code: [src\commands\download.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\download.ts)_
110
+ _See code: [src\commands\download.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\download.ts)_
130
111
 
131
112
  ## `learnpack help [COMMAND]`
132
113
 
@@ -157,7 +138,7 @@ OPTIONS
157
138
  -h, --grading show CLI help
158
139
  ```
159
140
 
160
- _See code: [src\commands\init.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\init.ts)_
141
+ _See code: [src\commands\init.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\init.ts)_
161
142
 
162
143
  ## `learnpack login [PACKAGE]`
163
144
 
@@ -175,7 +156,7 @@ DESCRIPTION
175
156
  Extra documentation goes here
176
157
  ```
177
158
 
178
- _See code: [src\commands\login.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\login.ts)_
159
+ _See code: [src\commands\login.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\login.ts)_
179
160
 
180
161
  ## `learnpack logout [PACKAGE]`
181
162
 
@@ -193,7 +174,7 @@ DESCRIPTION
193
174
  Extra documentation goes here
194
175
  ```
195
176
 
196
- _See code: [src\commands\logout.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\logout.ts)_
177
+ _See code: [src\commands\logout.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\logout.ts)_
197
178
 
198
179
  ## `learnpack plugins`
199
180
 
@@ -328,7 +309,7 @@ DESCRIPTION
328
309
  Extra documentation goes here
329
310
  ```
330
311
 
331
- _See code: [src\commands\publish.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\publish.ts)_
312
+ _See code: [src\commands\publish.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\publish.ts)_
332
313
 
333
314
  ## `learnpack start`
334
315
 
@@ -349,7 +330,7 @@ OPTIONS
349
330
  -w, --watch Watch for file changes
350
331
  ```
351
332
 
352
- _See code: [src\commands\start.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\start.ts)_
333
+ _See code: [src\commands\start.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\start.ts)_
353
334
 
354
335
  ## `learnpack test [EXERCISESLUG]`
355
336
 
@@ -363,323 +344,7 @@ ARGUMENTS
363
344
  EXERCISESLUG The name of the exercise to test
364
345
  ```
365
346
 
366
- _See code: [src\commands\test.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.41/src\commands\test.ts)_
367
- <!-- commandsstop -->
368
-
369
- - [`learnpack audit`](#learnpack-audit)
370
- - [`learnpack clean`](#learnpack-clean)
371
- - [`learnpack download [PACKAGE]`](#learnpack-download-package)
372
- - [`learnpack help [COMMAND]`](#learnpack-help-command)
373
- - [`learnpack init`](#learnpack-init)
374
- - [`learnpack login [PACKAGE]`](#learnpack-login-package)
375
- - [`learnpack logout [PACKAGE]`](#learnpack-logout-package)
376
- - [`learnpack plugins`](#learnpack-plugins)
377
- - [`learnpack plugins:install PLUGIN...`](#learnpack-pluginsinstall-plugin)
378
- - [`learnpack plugins:link PLUGIN`](#learnpack-pluginslink-plugin)
379
- - [`learnpack plugins:uninstall PLUGIN...`](#learnpack-pluginsuninstall-plugin)
380
- - [`learnpack plugins:update`](#learnpack-pluginsupdate)
381
- - [`learnpack publish [PACKAGE]`](#learnpack-publish-package)
382
- - [`learnpack start`](#learnpack-start)
383
- - [`learnpack test [EXERCISESLUG]`](#learnpack-test-exerciseslug)
384
-
385
- ## `learnpack audit`
386
-
387
- learnpack audit is the command in charge of creating an auditory of the repository
388
-
389
- ```
390
- USAGE
391
- $ learnpack audit
392
-
393
- DESCRIPTION
394
- ...
395
- learnpack audit checks for the following information in a repository:
396
- 1. The configuration object has slug, repository and description. (Error)
397
- 2. The command learnpack clean has been run. (Error)
398
- 3. If a markdown or test file doesn't have any content. (Error)
399
- 4. The links are accessing to valid servers. (Error)
400
- 5. The relative images are working (If they have the shortest path to the image or if the images exists in the
401
- assets). (Error)
402
- 6. The external images are working (If they are pointing to a valid server). (Error)
403
- 7. The exercises directory names are valid. (Error)
404
- 8. If an exercise doesn't have a README file. (Error)
405
- 9. The exercises array (Of the config file) has content. (Error)
406
- 10. The exercses have the same translations. (Warning)
407
- 11. The .gitignore file exists. (Warning)
408
- 12. If there is a file within the exercises folder but not inside of any particular exercise's folder. (Warning)
409
- ```
410
-
411
- _See code: [src/commands/audit.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/audit.ts)_
412
-
413
- ## `learnpack clean`
414
-
415
- Clean the configuration object
416
-
417
- ```
418
- USAGE
419
- $ learnpack clean
420
-
421
- DESCRIPTION
422
- ...
423
- Extra documentation goes here
424
- ```
425
-
426
- _See code: [src/commands/clean.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/clean.ts)_
427
-
428
- ## `learnpack download [PACKAGE]`
429
-
430
- Describe the command here
431
-
432
- ```
433
- USAGE
434
- $ learnpack download [PACKAGE]
435
-
436
- ARGUMENTS
437
- PACKAGE The unique string that identifies this package on learnpack
438
-
439
- DESCRIPTION
440
- ...
441
- Extra documentation goes here
442
- ```
443
-
444
- _See code: [src/commands/download.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/download.ts)_
445
-
446
- ## `learnpack help [COMMAND]`
447
-
448
- display help for learnpack
449
-
450
- ```
451
- USAGE
452
- $ learnpack help [COMMAND]
453
-
454
- ARGUMENTS
455
- COMMAND command to show help for
456
-
457
- OPTIONS
458
- --all see all commands in CLI
459
- ```
460
-
461
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v3.1.0/src/commands/help.ts)_
462
-
463
- ## `learnpack init`
464
-
465
- Create a new learning package: Book, Tutorial or Exercise
466
-
467
- ```
468
- USAGE
469
- $ learnpack init
470
-
471
- OPTIONS
472
- -h, --grading show CLI help
473
- ```
474
-
475
- _See code: [src/commands/init.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/init.ts)_
476
-
477
- ## `learnpack login [PACKAGE]`
478
-
479
- Describe the command here
480
-
481
- ```
482
- USAGE
483
- $ learnpack login [PACKAGE]
484
-
485
- ARGUMENTS
486
- PACKAGE The unique string that identifies this package on learnpack
487
-
488
- DESCRIPTION
489
- ...
490
- Extra documentation goes here
491
- ```
492
-
493
- _See code: [src/commands/login.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/login.ts)_
494
-
495
- ## `learnpack logout [PACKAGE]`
496
-
497
- Describe the command here
498
-
499
- ```
500
- USAGE
501
- $ learnpack logout [PACKAGE]
502
-
503
- ARGUMENTS
504
- PACKAGE The unique string that identifies this package on learnpack
505
-
506
- DESCRIPTION
507
- ...
508
- Extra documentation goes here
509
- ```
510
-
511
- _See code: [src/commands/logout.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/logout.ts)_
512
-
513
- ## `learnpack plugins`
514
-
515
- list installed plugins
516
-
517
- ```
518
- USAGE
519
- $ learnpack plugins
520
-
521
- OPTIONS
522
- --core show core plugins
523
-
524
- EXAMPLE
525
- $ learnpack plugins
526
- ```
527
-
528
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v1.8.0/src/commands/plugins/index.ts)_
529
-
530
- ## `learnpack plugins:install PLUGIN...`
531
-
532
- installs a plugin into the CLI
533
-
534
- ```
535
- USAGE
536
- $ learnpack plugins:install PLUGIN...
537
-
538
- ARGUMENTS
539
- PLUGIN plugin to install
540
-
541
- OPTIONS
542
- -f, --force yarn install with force flag
543
- -h, --help show CLI help
544
- -v, --verbose
545
-
546
- DESCRIPTION
547
- Can be installed from npm or a git url.
548
-
549
- Installation of a user-installed plugin will override a core plugin.
550
-
551
- e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
552
- will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
553
- the CLI without the need to patch and update the whole CLI.
554
-
555
- ALIASES
556
- $ learnpack plugins:add
557
-
558
- EXAMPLES
559
- $ learnpack plugins:install myplugin
560
- $ learnpack plugins:install https://github.com/someuser/someplugin
561
- $ learnpack plugins:install someuser/someplugin
562
- ```
563
-
564
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v1.8.0/src/commands/plugins/install.ts)_
565
-
566
- ## `learnpack plugins:link PLUGIN`
567
-
568
- links a plugin into the CLI for development
569
-
570
- ```
571
- USAGE
572
- $ learnpack plugins:link PLUGIN
573
-
574
- ARGUMENTS
575
- PATH [default: .] path to plugin
576
-
577
- OPTIONS
578
- -h, --help show CLI help
579
- -v, --verbose
580
-
581
- DESCRIPTION
582
- Installation of a linked plugin will override a user-installed or core plugin.
583
-
584
- e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
585
- command will override the user-installed or core plugin implementation. This is useful for development work.
586
-
587
- EXAMPLE
588
- $ learnpack plugins:link myplugin
589
- ```
590
-
591
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v1.8.0/src/commands/plugins/link.ts)_
592
-
593
- ## `learnpack plugins:uninstall PLUGIN...`
594
-
595
- removes a plugin from the CLI
596
-
597
- ```
598
- USAGE
599
- $ learnpack plugins:uninstall PLUGIN...
600
-
601
- ARGUMENTS
602
- PLUGIN plugin to uninstall
603
-
604
- OPTIONS
605
- -h, --help show CLI help
606
- -v, --verbose
607
-
608
- ALIASES
609
- $ learnpack plugins:unlink
610
- $ learnpack plugins:remove
611
- ```
612
-
613
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v1.8.0/src/commands/plugins/uninstall.ts)_
614
-
615
- ## `learnpack plugins:update`
616
-
617
- update installed plugins
618
-
619
- ```
620
- USAGE
621
- $ learnpack plugins:update
622
-
623
- OPTIONS
624
- -h, --help show CLI help
625
- -v, --verbose
626
- ```
627
-
628
- _See code: [@oclif/plugin-plugins](https://github.com/oclif/plugin-plugins/blob/v1.8.0/src/commands/plugins/update.ts)_
629
-
630
- ## `learnpack publish [PACKAGE]`
631
-
632
- Describe the command here
633
-
634
- ```
635
- USAGE
636
- $ learnpack publish [PACKAGE]
637
-
638
- ARGUMENTS
639
- PACKAGE The unique string that identifies this package on learnpack
640
-
641
- DESCRIPTION
642
- ...
643
- Extra documentation goes here
644
- ```
645
-
646
- _See code: [src/commands/publish.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/publish.ts)_
647
-
648
- ## `learnpack start`
649
-
650
- Runs a small server with all the exercise instructions
651
-
652
- ```
653
- USAGE
654
- $ learnpack start
655
-
656
- OPTIONS
657
- -D, --disableGrading disble grading functionality
658
- -d, --debug debugger mode for more verbage
659
- -e, --editor=standalone|gitpod [standalone, gitpod]
660
- -g, --grading=isolated|incremental [isolated, incremental]
661
- -h, --host=host server host
662
- -p, --port=port server port
663
- -v, --version=version E.g: 1.0.1
664
- -w, --watch Watch for file changes
665
- ```
666
-
667
- _See code: [src/commands/start.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/start.ts)_
668
-
669
- ## `learnpack test [EXERCISESLUG]`
670
-
671
- Test exercises
672
-
673
- ```
674
- USAGE
675
- $ learnpack test [EXERCISESLUG]
676
-
677
- ARGUMENTS
678
- EXERCISESLUG The name of the exercise to test
679
- ```
680
-
681
- _See code: [src/commands/test.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.36/src/commands/test.ts)_
682
-
683
- <!-- commandsstop -->
684
-
347
+ _See code: [src\commands\test.ts](https://github.com/learnpack/learnpack-cli/blob/v2.1.42/src\commands\test.ts)_
348
+ <!-- commandsstop -->
349
+
685
350
  > > > > > > > 0cb3e56d84c197f9d008836bb573eade212b7e57
@@ -27,6 +27,7 @@ class StartCommand extends SessionCommand_1.default {
27
27
  // get configuration object
28
28
  const configObject = (_b = this.configManager) === null || _b === void 0 ? void 0 : _b.get();
29
29
  // TODO: console.log(this.config.platform); get the platfrom from Oclif
30
+ const hasXDG = await osOperations_1.eventManager.checkXDGInstalled();
30
31
  const installedPlugins = this.config.plugins.map(plugin => {
31
32
  return `${plugin.pjson.name}`;
32
33
  });
@@ -119,7 +120,14 @@ class StartCommand extends SessionCommand_1.default {
119
120
  });
120
121
  socket_1.default.on("open_window", (data) => {
121
122
  console_1.default.debug("Opening window: ", data);
122
- cli_ux_1.cli.open(data.url);
123
+ // cli.open(data.url); This uses XDG under the ground
124
+ if (config.editor.agent === "os" &&
125
+ ((config.os === "linux" && hasXDG) || config.os !== "linux")) {
126
+ osOperations_1.eventManager.enqueue(dispatcher.events.OPEN_WINDOW, data);
127
+ }
128
+ else {
129
+ dispatcher.enqueue(dispatcher.events.OPEN_WINDOW, data);
130
+ }
123
131
  socket_1.default.log("open_window", `URL ${data.url} opened in the browser`);
124
132
  });
125
133
  socket_1.default.on("reset", (exercise) => {
@@ -7,9 +7,7 @@ exports.checkNotInstalledPlugins = (exercises, installedPlugins) => {
7
7
  for (const e of exercises) {
8
8
  for (const f of e.files) {
9
9
  const ext = f.name.split(".").pop();
10
- if (ext &&
11
- usefulExtensions.has(ext) &&
12
- !foundExtensions.includes(ext)) {
10
+ if (ext && usefulExtensions.has(ext) && !foundExtensions.includes(ext)) {
13
11
  foundExtensions.push(ext);
14
12
  }
15
13
  }
@@ -1 +1 @@
1
- {"version":"2.1.41","commands":{"audit":{"id":"audit","description":"learnpack audit is the command in charge of creating an auditory of the repository\n...\nlearnpack audit checks for the following information in a repository:\n 1. The configuration object has slug, repository and description. (Error)\n 2. The command learnpack clean has been run. (Error)\n 3. If a markdown or test file doesn't have any content. (Error)\n 4. The links are accessing to valid servers. (Error)\n 5. The relative images are working (If they have the shortest path to the image or if the images exists in the assets). (Error)\n 6. The external images are working (If they are pointing to a valid server). (Error)\n 7. The exercises directory names are valid. (Error)\n 8. If an exercise doesn't have a README file. (Error)\n 9. The exercises array (Of the config file) has content. (Error)\n 10. The exercses have the same translations. (Warning)\n 11. The .gitignore file exists. (Warning)\n 12. If there is a file within the exercises folder but not inside of any particular exercise's folder. (Warning)\n","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[]},"clean":{"id":"clean","description":"Clean the configuration object\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[]},"download":{"id":"download","description":"Describe the command here\n...\nExtra documentation goes here\n","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"init":{"id":"init","description":"Create a new learning package: Book, Tutorial or Exercise","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{"grading":{"name":"grading","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"login":{"id":"login","description":"Describe the command here\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"logout":{"id":"logout","description":"Describe the command here\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"publish":{"id":"publish","description":"Describe the command here\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"start":{"id":"start","description":"Runs a small server with all the exercise instructions","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{"port":{"name":"port","type":"option","char":"p","description":"server port"},"host":{"name":"host","type":"option","char":"h","description":"server host"},"disableGrading":{"name":"disableGrading","type":"boolean","char":"D","description":"disble grading functionality","allowNo":false},"watch":{"name":"watch","type":"boolean","char":"w","description":"Watch for file changes","allowNo":false},"editor":{"name":"editor","type":"option","char":"e","description":"[preview, extension]","options":["extension","preview"]},"version":{"name":"version","type":"option","char":"v","description":"E.g: 1.0.1"},"grading":{"name":"grading","type":"option","char":"g","description":"[isolated, incremental]","options":["isolated","incremental"]},"debug":{"name":"debug","type":"boolean","char":"d","description":"debugger mode for more verbage","allowNo":false}},"args":[]},"test":{"id":"test","description":"Test exercises","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"exerciseSlug","description":"The name of the exercise to test","required":false,"hidden":false}]}}}
1
+ {"version":"2.1.42","commands":{"audit":{"id":"audit","description":"learnpack audit is the command in charge of creating an auditory of the repository\n...\nlearnpack audit checks for the following information in a repository:\n 1. The configuration object has slug, repository and description. (Error)\n 2. The command learnpack clean has been run. (Error)\n 3. If a markdown or test file doesn't have any content. (Error)\n 4. The links are accessing to valid servers. (Error)\n 5. The relative images are working (If they have the shortest path to the image or if the images exists in the assets). (Error)\n 6. The external images are working (If they are pointing to a valid server). (Error)\n 7. The exercises directory names are valid. (Error)\n 8. If an exercise doesn't have a README file. (Error)\n 9. The exercises array (Of the config file) has content. (Error)\n 10. The exercses have the same translations. (Warning)\n 11. The .gitignore file exists. (Warning)\n 12. If there is a file within the exercises folder but not inside of any particular exercise's folder. (Warning)\n","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[]},"clean":{"id":"clean","description":"Clean the configuration object\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[]},"download":{"id":"download","description":"Describe the command here\n...\nExtra documentation goes here\n","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"init":{"id":"init","description":"Create a new learning package: Book, Tutorial or Exercise","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{"grading":{"name":"grading","type":"boolean","char":"h","description":"show CLI help","allowNo":false}},"args":[]},"login":{"id":"login","description":"Describe the command here\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"logout":{"id":"logout","description":"Describe the command here\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"publish":{"id":"publish","description":"Describe the command here\n ...\n Extra documentation goes here\n ","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"package","description":"The unique string that identifies this package on learnpack","required":false,"hidden":false}]},"start":{"id":"start","description":"Runs a small server with all the exercise instructions","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{"port":{"name":"port","type":"option","char":"p","description":"server port"},"host":{"name":"host","type":"option","char":"h","description":"server host"},"disableGrading":{"name":"disableGrading","type":"boolean","char":"D","description":"disble grading functionality","allowNo":false},"watch":{"name":"watch","type":"boolean","char":"w","description":"Watch for file changes","allowNo":false},"editor":{"name":"editor","type":"option","char":"e","description":"[preview, extension]","options":["extension","preview"]},"version":{"name":"version","type":"option","char":"v","description":"E.g: 1.0.1"},"grading":{"name":"grading","type":"option","char":"g","description":"[isolated, incremental]","options":["isolated","incremental"]},"debug":{"name":"debug","type":"boolean","char":"d","description":"debugger mode for more verbage","allowNo":false}},"args":[]},"test":{"id":"test","description":"Test exercises","pluginName":"@learnpack/learnpack","pluginType":"core","aliases":[],"flags":{},"args":[{"name":"exerciseSlug","description":"The name of the exercise to test","required":false,"hidden":false}]}}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@learnpack/learnpack",
3
3
  "description": "Create, sell or download and take learning amazing learning packages",
4
- "version": "2.1.41",
4
+ "version": "2.1.42",
5
5
  "author": "Alejandro Sanchez @alesanchezr",
6
6
  "bin": {
7
7
  "learnpack": "bin/run"
@@ -73,6 +73,7 @@ export default class StartCommand extends SessionCommand {
73
73
  const configObject = this.configManager?.get()
74
74
 
75
75
  // TODO: console.log(this.config.platform); get the platfrom from Oclif
76
+ const hasXDG = await eventManager.checkXDGInstalled()
76
77
 
77
78
  const installedPlugins = this.config.plugins.map(plugin => {
78
79
  return `${plugin.pjson.name}`
@@ -209,7 +210,16 @@ export default class StartCommand extends SessionCommand {
209
210
 
210
211
  socket.on("open_window", (data: TOpenWindowData) => {
211
212
  Console.debug("Opening window: ", data)
212
- cli.open(data.url)
213
+ // cli.open(data.url); This uses XDG under the ground
214
+ if (
215
+ config.editor.agent === "os" &&
216
+ ((config.os === "linux" && hasXDG) || config.os !== "linux")
217
+ ) {
218
+ eventManager.enqueue(dispatcher.events.OPEN_WINDOW, data)
219
+ } else {
220
+ dispatcher.enqueue(dispatcher.events.OPEN_WINDOW, data)
221
+ }
222
+
213
223
  socket.log("open_window", `URL ${data.url} opened in the browser`)
214
224
  })
215
225
 
@@ -9,11 +9,7 @@ export const checkNotInstalledPlugins = (
9
9
  for (const e of exercises) {
10
10
  for (const f of e.files) {
11
11
  const ext = f.name.split(".").pop()
12
- if (
13
- ext &&
14
- usefulExtensions.has(ext) &&
15
- !foundExtensions.includes(ext)
16
- ) {
12
+ if (ext && usefulExtensions.has(ext) && !foundExtensions.includes(ext)) {
17
13
  foundExtensions.push(ext)
18
14
  }
19
15
  }