@learnpack/learnpack 5.0.311 → 5.0.313

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.
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.processImage = exports.createLearnJson = void 0;
4
4
  const tslib_1 = require("tslib");
5
- require("newrelic");
6
5
  const command_1 = require("@oclif/command");
7
6
  const buffer_1 = require("buffer");
8
7
  const express = require("express");
@@ -34,6 +33,9 @@ const sidebarGenerator_1 = require("../utils/sidebarGenerator");
34
33
  const publish_1 = require("./publish");
35
34
  const export_1 = require("../utils/export");
36
35
  const frontMatter = require("front-matter");
36
+ if (process.env.NEW_RELIC_ENABLED === "true") {
37
+ require("newrelic");
38
+ }
37
39
  dotenv.config();
38
40
  const createLearnJson = (courseInfo) => {
39
41
  // console.log("courseInfo to create learn json", courseInfo)
@@ -75,18 +77,18 @@ async function fetchComponentsYml() {
75
77
  axios_1.default.get("https://raw.githubusercontent.com/learnpack/ide/refs/heads/master/docs/assessment_components.yml"),
76
78
  axios_1.default.get("https://raw.githubusercontent.com/learnpack/ide/refs/heads/master/docs/explanatory_components.yml"),
77
79
  ]);
78
- const combinedContent = `
79
- # ASSESSMENT COMPONENTS
80
- These components are designed for evaluation and knowledge assessment:
81
-
82
- ${assessmentResponse.data}
83
-
84
- ---
85
-
86
- # EXPLANATORY COMPONENTS
87
- These components are designed for explanation and learning support:
88
-
89
- ${explanatoryResponse.data}
80
+ const combinedContent = `
81
+ # ASSESSMENT COMPONENTS
82
+ These components are designed for evaluation and knowledge assessment:
83
+
84
+ ${assessmentResponse.data}
85
+
86
+ ---
87
+
88
+ # EXPLANATORY COMPONENTS
89
+ These components are designed for explanation and learning support:
90
+
91
+ ${explanatoryResponse.data}
90
92
  `;
91
93
  return combinedContent;
92
94
  }
@@ -120,10 +122,10 @@ const createInitialSidebar = async (slugs, initialLanguage = "en") => {
120
122
  return sidebar;
121
123
  };
122
124
  const uploadInitialReadme = async (bucket, exSlug, targetDir, packageContext) => {
123
- const isGeneratingText = `
124
- \`\`\`loader slug="${exSlug}"
125
- :rigo
126
- \`\`\`
125
+ const isGeneratingText = `
126
+ \`\`\`loader slug="${exSlug}"
127
+ :rigo
128
+ \`\`\`
127
129
  `;
128
130
  const readmeFilename = `README${(0, creatorUtilities_1.getReadmeExtension)(packageContext.language || "en")}`;
129
131
  await uploadFileToBucket(bucket, isGeneratingText, `${targetDir}/${readmeFilename}`);
@@ -1844,7 +1846,9 @@ class ServeCommand extends SessionCommand_1.default {
1844
1846
  }
1845
1847
  catch (error) {
1846
1848
  console.error("❌ /actions/fetch error:", error.message || error);
1847
- res.status(500).json({ error: error.message || "Failed to fetch link" });
1849
+ res
1850
+ .status(500)
1851
+ .json({ error: error.message || "Failed to fetch link" });
1848
1852
  }
1849
1853
  });
1850
1854
  app.delete("/packages/:slug", async (req, res) => {
@@ -2118,7 +2122,9 @@ class ServeCommand extends SessionCommand_1.default {
2118
2122
  }
2119
2123
  catch (error) {
2120
2124
  console.error("Export error:", error);
2121
- res.status(500).json({ error: "Export failed", details: error.message });
2125
+ res
2126
+ .status(500)
2127
+ .json({ error: "Export failed", details: error.message });
2122
2128
  }
2123
2129
  });
2124
2130
  server.listen(PORT, () => {
@@ -1,4 +1,4 @@
1
- import { ISolution, IError } from '../models/errors';
1
+ import { ISolution, IError } from "../models/errors";
2
2
  export declare const getSolution: (slug?: string) => ISolution;
3
3
  export declare const ValidationError: (error: IError | string) => IError;
4
4
  export declare const NotFoundError: (error: IError | string) => IError;
@@ -2,32 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InternalError = exports.AuthError = exports.TestingError = exports.CompilerError = exports.NotFoundError = exports.ValidationError = exports.getSolution = void 0;
4
4
  const console_1 = require("./console");
5
- // eslint-disable-next-line
6
- const fetch = require("node-fetch");
7
- let solutions = null;
5
+ const solutions = {
6
+ "install-jest": {
7
+ gif: "",
8
+ video: "",
9
+ message: "You need to install jest",
10
+ },
11
+ };
8
12
  const uknown = {
9
- video: 'https://www.youtube.com/watch?v=gD1Sa99GiE4',
10
- message: 'Uknown internal error',
11
- slug: 'uknown',
12
- gif: 'https://github.com/breatheco-de/breathecode-cli/blob/master/docs/errors/uknown.gif?raw=true',
13
+ video: "https://www.youtube.com/watch?v=gD1Sa99GiE4",
14
+ message: "Uknown internal error",
15
+ slug: "uknown",
16
+ gif: "https://github.com/breatheco-de/breathecode-cli/blob/master/docs/errors/uknown.gif?raw=true",
13
17
  };
14
18
  const getSolution = (slug) => {
15
19
  if (!slug) {
16
- console_1.default.debug('Getting solution templates from the learnpack repository');
20
+ console_1.default.debug("Getting solution templates from the learnpack repository");
17
21
  }
18
22
  else {
19
23
  console_1.default.debug(`Getting solution for ${slug}`, solutions);
20
24
  }
21
- if (!solutions) {
22
- console_1.default.debug('Fetching for errors.json on github');
23
- fetch('https://raw.githubusercontent.com/breatheco-de/breathecode-cli/master/docs/errors/errors.json')
24
- .then((r) => r.json())
25
- .then(function (_s) {
26
- solutions = _s;
27
- });
28
- return uknown;
29
- }
30
- return typeof solutions[slug || ''] === 'undefined' || !slug ?
25
+ return typeof solutions[slug || ""] === "undefined" || !slug ?
31
26
  uknown :
32
27
  solutions[slug];
33
28
  };
@@ -36,11 +31,11 @@ const ValidationError = (error) => {
36
31
  const message = error.message || error;
37
32
  const _err = new Error(message);
38
33
  _err.status = 400;
39
- _err.type = 'validation-error';
34
+ _err.type = "validation-error";
40
35
  const sol = (0, exports.getSolution)(error.slug);
41
36
  _err.video = sol.video;
42
37
  _err.gif = sol.gif;
43
- _err.message = typeof message === 'string' ? message : sol.message;
38
+ _err.message = typeof message === "string" ? message : sol.message;
44
39
  return _err;
45
40
  };
46
41
  exports.ValidationError = ValidationError;
@@ -48,11 +43,11 @@ const NotFoundError = (error) => {
48
43
  const message = error.message || error;
49
44
  const _err = new Error(message);
50
45
  _err.status = 400;
51
- _err.type = 'not-found-error';
46
+ _err.type = "not-found-error";
52
47
  const sol = (0, exports.getSolution)(error.slug);
53
48
  _err.video = sol.video;
54
49
  _err.gif = sol.gif;
55
- _err.message = typeof message === 'string' ? message : sol.message;
50
+ _err.message = typeof message === "string" ? message : sol.message;
56
51
  return _err;
57
52
  };
58
53
  exports.NotFoundError = NotFoundError;
@@ -60,11 +55,11 @@ const CompilerError = (error) => {
60
55
  const message = error.message || error;
61
56
  const _err = new Error(message);
62
57
  _err.status = 400;
63
- _err.type = 'compiler-error';
58
+ _err.type = "compiler-error";
64
59
  const sol = (0, exports.getSolution)(error.slug);
65
60
  _err.video = sol.video;
66
61
  _err.gif = sol.gif;
67
- _err.message = typeof message === 'string' ? message : sol.message;
62
+ _err.message = typeof message === "string" ? message : sol.message;
68
63
  return _err;
69
64
  };
70
65
  exports.CompilerError = CompilerError;
@@ -72,7 +67,7 @@ const TestingError = (error) => {
72
67
  const message = error.message || error;
73
68
  const _err = new Error(message);
74
69
  _err.status = 400;
75
- _err.type = 'testing-error';
70
+ _err.type = "testing-error";
76
71
  return _err;
77
72
  };
78
73
  exports.TestingError = TestingError;
@@ -80,7 +75,7 @@ const AuthError = (error) => {
80
75
  const message = error.message || error;
81
76
  const _err = new Error(message);
82
77
  _err.status = 403;
83
- _err.type = 'auth-error';
78
+ _err.type = "auth-error";
84
79
  return _err;
85
80
  };
86
81
  exports.AuthError = AuthError;
@@ -88,11 +83,11 @@ const InternalError = (error) => {
88
83
  const message = error.message || error;
89
84
  const _err = new Error(message);
90
85
  _err.status = 500;
91
- _err.type = 'internal-error';
86
+ _err.type = "internal-error";
92
87
  const sol = (0, exports.getSolution)(error.slug);
93
88
  _err.video = sol.video;
94
89
  _err.gif = sol.gif;
95
- _err.message = typeof message === 'string' ? message : sol.message;
90
+ _err.message = typeof message === "string" ? message : sol.message;
96
91
  return _err;
97
92
  };
98
93
  exports.InternalError = InternalError;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@learnpack/learnpack",
3
3
  "description": "Seamlessly build, sell and/or take interactive & auto-graded tutorials, start learning now or build a new tutorial to your audience.",
4
- "version": "5.0.311",
4
+ "version": "5.0.313",
5
5
  "author": "Alejandro Sanchez @alesanchezr",
6
6
  "contributors": [
7
7
  {