@marko/compiler 5.39.19 → 5.39.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.
@@ -282,7 +282,14 @@ function expressionCouldHaveUnenclosedWhitespace(node) {
282
282
  }
283
283
  }
284
284
 
285
+ /**
286
+ * @param {import("@marko/compiler").types.Expression} node
287
+ */
285
288
  function statementCouldHaveUnenclosedNewline(node) {
289
+ if (node.leadingComments?.length || node.trailingComments?.length) {
290
+ return true;
291
+ }
292
+
286
293
  switch (node.type) {
287
294
  case "VariableDeclaration":
288
295
  return node.declarations.length > 1;
@@ -1,8 +1,8 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.findAttributeTags = findAttributeTags;exports.findParentTag = findParentTag;exports.getArgOrSequence = getArgOrSequence;exports.getFullyResolvedTagName = getFullyResolvedTagName;exports.getMacroIdentifier = getMacroIdentifier;exports.getMacroIdentifierForName = getMacroIdentifierForName;exports.getTagDef = getTagDef;exports.getTagTemplate = getTagTemplate;exports.getTemplateId = getTemplateId;exports.hasMacro = hasMacro;exports.isAttributeTag = isAttributeTag;exports.isDynamicTag = isDynamicTag;exports.isLoopTag = isLoopTag;exports.isMacroTag = isMacroTag;exports.isNativeTag = isNativeTag;exports.isTransparentTag = isTransparentTag;exports.loadFileForImport = loadFileForImport;exports.loadFileForTag = loadFileForTag;exports.registerMacro = registerMacro;exports.resolveTagImport = resolveTagImport;var _compiler = require("@marko/compiler");
2
+ var _modules = _interopRequireDefault(require("@marko/compiler/modules"));
2
3
  var _crypto = require("crypto");
3
4
  var _lassoPackageRoot = require("lasso-package-root");
4
5
  var _path = require("path");
5
- var _resolveFrom = _interopRequireDefault(require("resolve-from"));
6
6
 
7
7
  var _diagnostics = require("./diagnostics");
8
8
  var _imports = require("./imports");
@@ -281,7 +281,7 @@ function loadFileForImport(file, request) {
281
281
  const filename =
282
282
  relativeRequest[0] === "." ?
283
283
  (0, _path.resolve)(file.opts.filename, "..", relativeRequest) :
284
- (0, _resolveFrom.default)((0, _path.dirname)(file.opts.filename), relativeRequest);
284
+ _modules.default.resolve(relativeRequest, (0, _path.dirname)(file.opts.filename));
285
285
  const markoMeta = file.metadata.marko;
286
286
  const { analyzedTags } = markoMeta;
287
287
  if (analyzedTags) {
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ var _pluginTransformTypescript = _interopRequireDefault(require("@babel/plugin-t
6
6
  var _babelUtils = require("@marko/compiler/babel-utils");
7
7
  var _path = _interopRequireDefault(require("path"));
8
8
 
9
+ var _modules = _interopRequireDefault(require("../modules"));
9
10
  var _babelPlugin = _interopRequireDefault(require("./babel-plugin"));
10
11
  var _config = _interopRequireDefault(require("./config"));
11
12
  var taglib = _interopRequireWildcard(require("./taglib"));exports.taglib = taglib;
@@ -15,8 +16,6 @@ var _shouldOptimize = _interopRequireDefault(require("./util/should-optimize"));
15
16
  var _tryLoadTranslator = _interopRequireDefault(require("./util/try-load-translator"));function _getRequireWildcardCache(e) {if ("function" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != typeof e && "function" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}
16
17
 
17
18
 
18
- const CWD = process.cwd();
19
-
20
19
  let globalConfig = exports.globalConfig = { ..._config.default };
21
20
  function configure(newConfig) {
22
21
  exports.globalConfig = globalConfig = { ..._config.default, ...newConfig };
@@ -103,7 +102,9 @@ function getBaseBabelConfig(filename, { babelConfig, ...markoConfig }) {
103
102
 
104
103
 
105
104
  const baseBabelConfig = {
106
- filenameRelative: filename ? _path.default.relative(CWD, filename) : undefined,
105
+ filenameRelative: filename ?
106
+ _path.default.relative(_modules.default.cwd, filename) :
107
+ undefined,
107
108
  sourceRoot: filename ? _path.default.dirname(filename) : undefined,
108
109
  sourceFileName: filename ? _path.default.basename(filename) : undefined,
109
110
  configFile: isTranslated,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  var nodePath = require("path");
3
3
  var lassoPackageRoot = require("lasso-package-root");
4
- var resolveFrom = require("resolve-from").silent;
4
+ var markoModules = require("../../../modules");
5
5
  var taglibConfig = require("../config");
6
6
  var taglibLoader = require("../loader");
7
7
  var findCache = {};
@@ -119,9 +119,9 @@ function find(dirname, registeredTaglibs, tagDiscoveryDirs) {
119
119
  // Now look for `marko.json` from installed packages
120
120
  getAllDependencyNames(rootPkg).forEach((name) => {
121
121
  if (!excludedPackages[name]) {
122
- let taglibPath = resolveFrom(
123
- rootPkg.__dirname,
124
- nodePath.join(name, "marko.json")
122
+ let taglibPath = markoModules.tryResolve(
123
+ nodePath.join(name, "marko.json"),
124
+ rootPkg.__dirname
125
125
  );
126
126
  if (taglibPath) {
127
127
  var taglib = taglibLoader.loadTaglibFromFile(taglibPath, true);
@@ -139,7 +139,7 @@ function resolveTaglib(id) {
139
139
  break;
140
140
  }
141
141
 
142
- const resolved = _modules.default.require.resolve(id);
142
+ const resolved = _modules.default.resolve(id);
143
143
  return [resolved, _modules.default.require(resolved)];
144
144
  }
145
145
 
@@ -4,7 +4,6 @@ var ok = require("assert").ok;
4
4
  var nodePath = require("path");
5
5
  var createError = require("raptor-util/createError");
6
6
  var isObjectEmpty = require("raptor-util/isObjectEmpty");
7
- var resolveFrom = require("resolve-from").silent;
8
7
  var markoModules = require("../../../modules");
9
8
  var taglibConfig = require("../config");
10
9
  var loaders = require("./loaders");
@@ -13,7 +12,9 @@ var types = require("./types");
13
12
  var hasOwnProperty = Object.prototype.hasOwnProperty;
14
13
 
15
14
  function resolveRelative(dirname, value) {
16
- return value[0] === "." ? resolveFrom(dirname, value) || value : value;
15
+ return value[0] === "." ?
16
+ markoModules.tryResolve(value, dirname) || value :
17
+ value;
17
18
  }
18
19
 
19
20
  function resolveWithMarkoExt(dirname, value) {
@@ -25,13 +26,13 @@ function resolveWithMarkoExt(dirname, value) {
25
26
  {
26
27
  markoModules.require.extensions[".marko"] = undefined;
27
28
  try {
28
- return resolveFrom(dirname, value) || value;
29
+ return markoModules.tryResolve(value, dirname) || value;
29
30
  } finally {
30
31
  delete markoModules.require.extensions[".marko"];
31
32
  }
32
33
  }
33
34
 
34
- return resolveFrom(dirname, value);
35
+ return markoModules.tryResolve(value, dirname) || value;
35
36
  }
36
37
 
37
38
  function removeDashes(str) {
@@ -3,7 +3,6 @@
3
3
  var ok = require("assert").ok;
4
4
  var nodePath = require("path");
5
5
  var createError = require("raptor-util/createError");
6
- var resolveFrom = require("resolve-from").silent;
7
6
  var markoModules = require("../../../modules");
8
7
  var taglibFS = require("../config");
9
8
  var DependencyChain = require("./DependencyChain");
@@ -15,7 +14,9 @@ var types = require("./types");
15
14
  var hasOwnProperty = Object.prototype.hasOwnProperty;
16
15
 
17
16
  function resolveRelative(dirname, value) {
18
- return value[0] === "." ? resolveFrom(dirname, value) || value : value;
17
+ return value[0] === "." ?
18
+ markoModules.tryResolve(value, dirname) || value :
19
+ value;
19
20
  }
20
21
 
21
22
  function normalizeHook(dirname, value) {
@@ -289,7 +290,7 @@ class TaglibLoader {
289
290
  if (typeof curImport === "string") {
290
291
  var basename = nodePath.basename(curImport);
291
292
  if (basename === "package.json") {
292
- var packagePath = resolveFrom(dirname, curImport);
293
+ var packagePath = markoModules.tryResolve(curImport, dirname);
293
294
  var packageDir = nodePath.dirname(packagePath);
294
295
  var pkg = jsonFileReader.readFileSync(packagePath);
295
296
  var dependencies = pkg.dependencies;
@@ -298,9 +299,9 @@ class TaglibLoader {
298
299
  for (var j = 0; j < dependencyNames.length; j++) {
299
300
  var dependencyName = dependencyNames[j];
300
301
 
301
- importPath = resolveFrom(
302
- packageDir,
303
- nodePath.join(dependencyName, "marko.json")
302
+ importPath = markoModules.tryResolve(
303
+ nodePath.join(dependencyName, "marko.json"),
304
+ packageDir
304
305
  );
305
306
 
306
307
  if (importPath) {
@@ -309,7 +310,7 @@ class TaglibLoader {
309
310
  }
310
311
  }
311
312
  } else {
312
- importPath = resolveFrom(dirname, curImport);
313
+ importPath = markoModules.tryResolve(curImport, dirname);
313
314
  if (importPath) {
314
315
  taglib.addImport(importPath);
315
316
  } else {
@@ -1,11 +1,11 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _modules = _interopRequireDefault(require("../../modules"));
2
- var _config = _interopRequireDefault(require("../config"));
3
2
  const cache = {};
4
3
 
5
- function _default(requested = _config.default.translator) {
4
+ function _default(requested) {
6
5
  if (typeof requested === "string") {
7
6
  return (
8
- cache[requested] || (cache[requested] = _modules.default.require(requested)));
7
+ cache[requested] || (
8
+ cache[requested] = _modules.default.require(_modules.default.resolve(requested))));
9
9
 
10
10
  }
11
11
 
package/modules.js CHANGED
@@ -1,4 +1,28 @@
1
1
  "use strict";
2
2
 
3
- exports.require =
4
- process.env.BUNDLE || typeof document === "object" ? undefined : require;
3
+ if (process.env.BUNDLE || typeof document === "object") {
4
+ exports.cwd = "/";
5
+ exports.root = "/";
6
+ exports.require = undefined;
7
+ exports.resolve = undefined;
8
+ exports.tryResolve = undefined;
9
+ } else {
10
+ const resolveFrom = require("resolve-from");
11
+ const cwd = process.cwd();
12
+ const root = (() => {
13
+ try {
14
+ return require("lasso-package-root").getRootDir(cwd) || cwd;
15
+ } catch {
16
+ return cwd;
17
+ }
18
+ })();
19
+ exports.cwd = cwd;
20
+ exports.root = root;
21
+ exports.require = require;
22
+ exports.resolve = (id, from) => {
23
+ return resolveFrom(from || root, id);
24
+ };
25
+ exports.tryResolve = (id, from) => {
26
+ return resolveFrom.silent(from || root, id);
27
+ };
28
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marko/compiler",
3
- "version": "5.39.19",
3
+ "version": "5.39.21",
4
4
  "description": "Marko template to JS compiler.",
5
5
  "keywords": [
6
6
  "babel",
@@ -87,7 +87,7 @@
87
87
  "source-map-support": "^0.5.21"
88
88
  },
89
89
  "devDependencies": {
90
- "marko": "^5.37.29"
90
+ "marko": "^5.37.32"
91
91
  },
92
92
  "engines": {
93
93
  "node": "18 || 20 || >=22"