@marko/compiler 5.39.24 → 5.39.26

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.
@@ -193,7 +193,6 @@ function getMarkoFile(code, fileOpts, markoOpts) {
193
193
  _config.default.fs = markoOpts.fileSystem;
194
194
 
195
195
  try {
196
- const taglibLookup = (0, _taglib.buildLookup)(_path.default.dirname(filename), translator);
197
196
  const file = (0, _getFile.setFileInternal)(
198
197
  new _file.MarkoFile(fileOpts, {
199
198
  code,
@@ -209,7 +208,13 @@ function getMarkoFile(code, fileOpts, markoOpts) {
209
208
  }
210
209
  })
211
210
  );
212
-
211
+ file.markoOpts = markoOpts;
212
+ file.___compileStage = "parse";
213
+ file.___getMarkoFile = getMarkoFile;
214
+ const taglibLookup = file.___taglibLookup = (0, _taglib.buildLookup)(
215
+ _path.default.dirname(filename),
216
+ translator
217
+ );
213
218
  const meta = file.metadata.marko = {
214
219
  id,
215
220
  deps: [],
@@ -218,11 +223,6 @@ function getMarkoFile(code, fileOpts, markoOpts) {
218
223
  diagnostics: []
219
224
  };
220
225
 
221
- file.markoOpts = markoOpts;
222
- file.___taglibLookup = taglibLookup;
223
- file.___getMarkoFile = getMarkoFile;
224
-
225
- file.___compileStage = "parse";
226
226
  (0, _parser.parseMarko)(file);
227
227
 
228
228
  if (isSource) {
@@ -2,8 +2,10 @@
2
2
  var _path = _interopRequireDefault(require("path"));
3
3
  var _relativeImportPath = require("relative-import-path");
4
4
 
5
+ var _modules = require("../../modules");
6
+
5
7
  const IMPORTS_KEY = Symbol();
6
- const FS_START = _path.default.sep === "/" ? _path.default.sep : /^(.*?:)/.exec(process.cwd())[1];
8
+ const FS_START = _path.default.sep === "/" ? _path.default.sep : /^(.*?:)/.exec(_modules.cwd)[1];
7
9
 
8
10
  function resolveRelativePath(file, request) {
9
11
  if (request.startsWith(FS_START)) {
@@ -3,6 +3,7 @@ var _modules = _interopRequireDefault(require("@marko/compiler/modules"));
3
3
  var _lassoPackageRoot = require("lasso-package-root");
4
4
  var _path = require("path");
5
5
 
6
+ var _modules2 = require("../../modules");
6
7
  var _quickHash = require("../util/quick-hash");
7
8
  var _diagnostics = require("./diagnostics");
8
9
  var _imports = require("./imports");
@@ -19,13 +20,6 @@ const TRANSPARENT_TAGS = new Set([
19
20
  "_no-update"]
20
21
  );
21
22
 
22
- const CWD = process.cwd();
23
- let ROOT = CWD;
24
- try {
25
- ROOT = (0, _lassoPackageRoot.getRootDir)(ROOT) || ROOT;
26
- // eslint-disable-next-line no-empty
27
- } catch {}
28
-
29
23
  function isNativeTag(path) {
30
24
  if (path.node._isDynamicString) {
31
25
  return true;
@@ -317,7 +311,7 @@ function resolveMarkoFile(file, filename) {
317
311
  const idCache = new WeakMap();
318
312
  const templateIdHashOpts = { outputLength: 5 };
319
313
  function getTemplateId(opts, request, child) {
320
- const id = (0, _path.relative)(ROOT, request).replace(/[^a-zA-Z0-9_$./-]/g, "/");
314
+ const id = (0, _path.relative)(_modules2.root, request).replace(/[^a-zA-Z0-9_$./-]/g, "/");
321
315
  const optimize = typeof opts === "object" ? opts.optimize : opts;
322
316
 
323
317
  if (optimize) {
@@ -388,7 +382,7 @@ function resolveTagImport(path, request) {
388
382
  function createNewFileOpts(opts, filename) {
389
383
  const sourceFileName = (0, _path.basename)(filename);
390
384
  const sourceRoot = (0, _path.dirname)(filename);
391
- const filenameRelative = (0, _path.relative)(CWD, filename);
385
+ const filenameRelative = (0, _path.relative)(_modules2.cwd, filename);
392
386
  return {
393
387
  ...opts,
394
388
  filename,
package/dist/config.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _fs = _interopRequireDefault(require("fs"));
2
- var _lassoPackageRoot = require("lasso-package-root");
3
-
4
2
 
3
+ var _modules = require("../modules");
5
4
 
6
5
 
7
6
 
@@ -207,8 +206,7 @@ var _config = _interopRequireDefault(require("./taglib/config"));const config =
207
206
  * This API is sticking around for compatibility purposes.
208
207
  */meta: false, /**
209
208
  * Allows configuring Marko to compile to different runtimes.
210
- */translator: (() => {const translatorReg = /^(?:@marko\/|marko-)runtime-/;const translatorInterop = "@marko/translator-interop-class-tags";let translator;let pkg;try {pkg = (0, _lassoPackageRoot.getRootPackage)(process.cwd()); // eslint-disable-next-line no-empty
211
- } catch {}if (pkg) {if (pkg.dependencies?.[translatorInterop] || pkg.devDependencies?.[translatorInterop]) {return translatorInterop;}for (const name in pkg.dependencies) {if (translatorReg.test(name)) {if (translator && translator !== name) {return;}translator = name;}}for (const name in pkg.peerDependencies) {if (translatorReg.test(name)) {if (translator && translator !== name) {return;}translator = name;}}for (const name in pkg.devDependencies) {if (translatorReg.test(name)) {if (translator && translator !== name) {return;}translator = name;}}}if (translator) {translator += "/translator";}return translator || "marko/translator";})(), /**
209
+ */translator: (() => {const translatorReg = /^(?:@marko\/|marko-)runtime-/;const translatorInterop = "@marko/translator-interop-class-tags";let translator;if (_modules.pkg) {if (_modules.pkg.dependencies?.[translatorInterop] || _modules.pkg.devDependencies?.[translatorInterop]) {return translatorInterop;}for (const name in _modules.pkg.dependencies) {if (translatorReg.test(name)) {if (translator && translator !== name) {return;}translator = name;}}for (const name in _modules.pkg.peerDependencies) {if (translatorReg.test(name)) {if (translator && translator !== name) {return;}translator = name;}}for (const name in _modules.pkg.devDependencies) {if (translatorReg.test(name)) {if (translator && translator !== name) {return;}translator = name;}}}if (translator) {translator += "/translator";}return translator || "marko/translator";})(), /**
212
210
  * Use a different file system object, eg webpacks CachedInputFileSystem or lasso-caching-fs
213
211
  */fileSystem: _fs.default, /**
214
212
  * By default Marko 5 outputs esm, you can optionally specify commonjs.
@@ -243,4 +241,4 @@ var _config = _interopRequireDefault(require("./taglib/config"));const config =
243
241
  * When the errorRecovery is true, any recoverable errors will be
244
242
  * returned in the `meta.diagnostics` property of the compile result.
245
243
  */errorRecovery: false, // When supplied, any diagnostics which have a fix specified in the lookup will be applied to the source code.
246
- applyFixes: undefined };if (process.env.MARKO_CONFIG) {Object.assign(config, JSON.parse(process.env.MARKO_CONFIG));}var _default = exports.default = config;_config.default.fs = config.fileSystem;
244
+ applyFixes: undefined };if (typeof process === "object" && typeof process.env === "object" && process.env.MARKO_CONFIG) {Object.assign(config, JSON.parse(process.env.MARKO_CONFIG));}var _default = exports.default = config;_config.default.fs = config.fileSystem;
@@ -72,7 +72,7 @@ function find(dirname, registeredTaglibs, tagDiscoveryDirs) {
72
72
  foundTaglibPackages: {}
73
73
  };
74
74
 
75
- var rootDirname = process.cwd(); // Don't search up past this directory
75
+ var rootDirname = markoModules.cwd; // Don't search up past this directory
76
76
  var rootPkg = getModuleRootPackage(dirname);
77
77
  if (rootPkg) {
78
78
  rootDirname = rootPkg.__dirname; // Use the package's root directory as the top-level directory
@@ -144,6 +144,9 @@ function resolveTaglib(id) {
144
144
  }
145
145
 
146
146
  function hasRootDependency(id) {
147
- const pkg = (0, _lassoPackageRoot.getRootPackage)(process.cwd());
148
- return !!(pkg && (pkg.dependencies?.[id] || pkg.devDependencies?.[id]));
147
+ return !!(
148
+ _modules.default.pkg && (
149
+ _modules.default.pkg.dependencies?.[id] ||
150
+ _modules.default.pkg.devDependencies?.[id]));
151
+
149
152
  }
@@ -2,8 +2,8 @@
2
2
  var _kleur = _interopRequireDefault(require("kleur"));
3
3
  var _path = _interopRequireDefault(require("path"));
4
4
 
5
+ var _modules = require("../../modules");
5
6
  var _stripAnsi = require("./strip-ansi");
6
- const CWD = process.cwd();
7
7
  const indent = " ";
8
8
 
9
9
  class CompileError extends Error {
@@ -102,7 +102,7 @@ function buildMessage(code, loc, message) {
102
102
  }
103
103
 
104
104
  function buildFileName(filename, loc) {
105
- return `${_kleur.default.cyan(_path.default.relative(CWD, filename))}${
105
+ return `${_kleur.default.cyan(_path.default.relative(_modules.cwd, filename))}${
106
106
  loc ?
107
107
  `:${_kleur.default.yellow(loc.start.line)}:${_kleur.default.yellow(loc.start.column + 1)}` :
108
108
  ""}`;
package/modules.js CHANGED
@@ -3,21 +3,28 @@
3
3
  if (process.env.BUNDLE || typeof document === "object") {
4
4
  exports.cwd = "/";
5
5
  exports.root = "/";
6
- exports.require = undefined;
7
- exports.resolve = undefined;
8
- exports.tryResolve = undefined;
6
+ exports.pkg = null;
7
+ exports.require = null;
8
+ exports.resolve = null;
9
+ exports.tryResolve = null;
9
10
  } else {
10
11
  const resolveFrom = require("resolve-from");
11
- const cwd = process.cwd();
12
- const root = (() => {
12
+ let cwd = "/";
13
+ let root = cwd;
14
+ let pkg = null;
15
+
16
+ if (typeof process === "object" && typeof process.cwd === "function") {
13
17
  try {
14
- return require("lasso-package-root").getRootDir(cwd) || cwd;
18
+ cwd = process.cwd();
19
+ pkg = require("lasso-package-root").getRootPackage(cwd);
20
+ if (pkg) root = pkg.__dirname;
15
21
  } catch {
16
- return cwd;
22
+ // ignore
17
23
  }
18
- })();
24
+ }
19
25
  exports.cwd = cwd;
20
26
  exports.root = root;
27
+ exports.pkg = pkg;
21
28
  exports.require = require;
22
29
  exports.resolve = (id, from) => {
23
30
  return resolveFrom(from || root, id);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marko/compiler",
3
- "version": "5.39.24",
3
+ "version": "5.39.26",
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.35"
90
+ "marko": "^5.37.37"
91
91
  },
92
92
  "engines": {
93
93
  "node": "18 || 20 || >=22"