🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@marko/compiler

Package Overview
Dependencies
Maintainers
7
Versions
377
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@marko/compiler - npm Package Compare versions

Comparing version
5.41.0
to
5.41.1
+51
dist/util/agent-fix-guide.js
"use strict";exports.__esModule = true;exports.default = appendAgentFixGuide;var _tryLoadTranslator = _interopRequireDefault(require("./try-load-translator"));function _interopRequireDefault(e) {return e && e.__esModule ? e : { default: e };}
const applied = Symbol("markoAgentFixGuide");
function appendAgentFixGuide(error, translator) {
if (error instanceof Error && !error[applied] && isCodingAgent()) {
const guide = fixGuide(translator);
if (guide) {
// `message` is locked against Babel mutations, so redefine rather than assign.
error[applied] = true;
Object.defineProperty(error, "message", {
value: error.message + guide,
enumerable: true,
writable: true,
configurable: true
});
}
}
return error;
}
// Env markers terminal coding agents set.
function isCodingAgent() {
return (
typeof process === "object" && (
process.env.CLAUDECODE ||
process.env.CLAUDE_CODE ||
process.env.CURSOR_AGENT ||
process.env.GEMINI_CLI ||
process.env.CODEX_SANDBOX ||
process.env.CODEX_THREAD_ID ||
process.env.AI_AGENT));
}
function fixGuide(translator) {
// Only resolved specifiers expose a cheat sheet; inline objects (tests,
// embedders) opt out.
if (typeof translator !== "string") return undefined;
try {
const cheatsheet = (0, _tryLoadTranslator.default)(translator)?.cheatsheet;
return cheatsheet ?
`\n\nFix guide: READ ${cheatsheet} before writing a fix.` :
undefined;
} catch {
// Leave the real compile error untouched if the translator can't load.
return undefined;
}
}
+15
-6

@@ -16,2 +16,3 @@ "use strict";exports.__esModule = true;exports._clearDefaults = _clearDefaults;exports.compile = compile;exports.compileFile = compileFile;exports.compileFileSync = compileFileSync;exports.compileSync = compileSync;exports.configure = configure;exports.getRuntimeEntryFiles = getRuntimeEntryFiles;exports.getRuntimeVersion = getRuntimeVersion;exports.version = exports.taglib = exports.globalConfig = void 0;var _babelUtils = require("@marko/compiler/babel-utils");

var taglib = _interopRequireWildcard(require("./taglib"));exports.taglib = taglib;
var _agentFixGuide = _interopRequireDefault(require("./util/agent-fix-guide"));
var _buildCodeFrame = require("./util/build-code-frame");

@@ -36,5 +37,9 @@ var _mergeErrors = _interopRequireDefault(require("./util/merge-errors"));

const markoConfig = loadMarkoConfig(config);
const babelConfig = await loadBabelConfig(filename, markoConfig);
const babelResult = await (0, _babel.transformAsync)(src, babelConfig);
return buildResult(src, filename, markoConfig.errorRecovery, babelResult);
try {
const babelConfig = await loadBabelConfig(filename, markoConfig);
const babelResult = await (0, _babel.transformAsync)(src, babelConfig);
return buildResult(src, filename, markoConfig.errorRecovery, babelResult);
} catch (err) {
throw (0, _agentFixGuide.default)(err, markoConfig.translator);
}
}

@@ -44,5 +49,9 @@

const markoConfig = loadMarkoConfig(config);
const babelConfig = loadBabelConfigSync(filename, markoConfig);
const babelResult = (0, _babel.transformSync)(src, babelConfig);
return buildResult(src, filename, markoConfig.errorRecovery, babelResult);
try {
const babelConfig = loadBabelConfigSync(filename, markoConfig);
const babelResult = (0, _babel.transformSync)(src, babelConfig);
return buildResult(src, filename, markoConfig.errorRecovery, babelResult);
} catch (err) {
throw (0, _agentFixGuide.default)(err, markoConfig.translator);
}
}

@@ -49,0 +58,0 @@

"use strict";exports.__esModule = true;exports.default = _default;var _modules = _interopRequireDefault(require("@marko/compiler/modules"));
var _path = _interopRequireDefault(require("path"));

@@ -8,6 +9,17 @@ var _config = _interopRequireDefault(require("../config"));function _interopRequireDefault(e) {return e && e.__esModule ? e : { default: e };}

if (typeof requested === "string") {
return (
cache[requested] || (
cache[requested] = _modules.default.require(_modules.default.resolve(requested))));
let translator = cache[requested];
if (!translator) {
const file = _modules.default.resolve(requested);
translator = _modules.default.require(file);
// The translator declares its LLM cheat sheet relative to its own module;
// resolve it to a cwd-relative path an agent can read directly.
if (typeof translator.cheatsheet === "string") {
translator.cheatsheet = _path.default.relative(
_modules.default.cwd,
_path.default.resolve(_path.default.dirname(file), translator.cheatsheet)
);
}
cache[requested] = translator;
}
return translator;
}

@@ -14,0 +26,0 @@

{
"name": "@marko/compiler",
"version": "5.41.0",
"version": "5.41.1",
"description": "Marko template to JS compiler.",

@@ -5,0 +5,0 @@ "keywords": [