@marko/compiler 5.37.20 → 5.37.21

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.
@@ -37,26 +37,16 @@ function buildLookup(dirname, requestedTranslator, onError) {
37
37
  loadedTranslatorsTaglibs.set(
38
38
  translator,
39
39
  taglibsForDir = registeredTaglibs.concat(
40
- resolveOptionalTaglibs(translator.optionalTaglibs || []).
40
+ resolveOptionalTaglibs(translator.optionalTaglibs || [], onError).
41
41
  concat(translator.taglibs).
42
42
  map(([id, props]) => loadTaglib(id, props))
43
43
  )
44
44
  );
45
45
  }
46
46
 
47
- if (onError) {
48
- const prevOnError = _config.default.onError;
49
- _config.default.onError = onError;
50
- try {
51
- taglibsForDir = _finder2.default.find(dirname, taglibsForDir);
52
- } catch (err) {
53
- _config.default.onError(err);
54
- } finally {
55
- _config.default.onError = prevOnError;
56
- }
57
- } else {
47
+ runAndCatchErrors(() => {
58
48
  taglibsForDir = _finder2.default.find(dirname, taglibsForDir);
59
- }
49
+ }, onError);
60
50
 
61
51
  const cacheKey = taglibsForDir.
62
52
  map((it) => it.id).
@@ -95,11 +85,13 @@ function clearCaches() {
95
85
  lookupCache = Object.create(null);
96
86
  }
97
87
 
98
- function resolveOptionalTaglibs(taglibIds) {
88
+ function resolveOptionalTaglibs(taglibIds, onError) {
99
89
  const resolvedTaglibs = [];
100
90
  for (const id of taglibIds) {
101
91
  if (hasRootDependency(id)) {
102
- resolvedTaglibs.push(resolveTaglib(id));
92
+ runAndCatchErrors(() => {
93
+ resolvedTaglibs.push(resolveTaglib(id));
94
+ }, onError);
103
95
  }
104
96
  }
105
97
 
@@ -110,6 +102,22 @@ function resolveOptionalTaglibs(taglibIds) {
110
102
  const _loader = exports._loader = _loader2.default;
111
103
  const _finder = exports._finder = _finder2.default;
112
104
 
105
+ function runAndCatchErrors(fn, onError) {
106
+ if (onError) {
107
+ const prevOnError = _config.default.onError;
108
+ _config.default.onError = onError;
109
+ try {
110
+ fn();
111
+ } catch (err) {
112
+ _config.default.onError(err);
113
+ } finally {
114
+ _config.default.onError = prevOnError;
115
+ }
116
+ } else {
117
+ fn();
118
+ }
119
+ }
120
+
113
121
  function loadTaglib(id, props) {
114
122
  return _loader2.default.loadTaglibFromProps(_loader2.default.createTaglib(id), props);
115
123
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marko/compiler",
3
- "version": "5.37.20",
3
+ "version": "5.37.21",
4
4
  "description": "Marko template to JS compiler.",
5
5
  "keywords": [
6
6
  "babel",
@@ -58,7 +58,7 @@
58
58
  "@babel/code-frame": "^7.26.0",
59
59
  "@babel/core": "^7.26.0",
60
60
  "@babel/generator": "^7.26.0",
61
- "@babel/parser": "^7.26.0",
61
+ "@babel/parser": "^7.26.1",
62
62
  "@babel/plugin-syntax-typescript": "^7.25.9",
63
63
  "@babel/plugin-transform-modules-commonjs": "^7.25.9",
64
64
  "@babel/plugin-transform-typescript": "^7.25.9",