@marko/compiler
Advanced tools
Comparing version 5.28.5 to 5.29.0
@@ -13,3 +13,5 @@ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;exports.getMarkoFile = getMarkoFile;var _path = _interopRequireDefault(require("path")); | ||
var _tryLoadTranslator = _interopRequireDefault(require("../util/try-load-translator")); | ||
var _shouldOptimize = _interopRequireDefault(require("../util/should-optimize"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;} | ||
var _shouldOptimize = _interopRequireDefault(require("../util/should-optimize")); | ||
var _buildCodeFrame = require("../util/build-code-frame"); | ||
var _mergeErrors = _interopRequireDefault(require("../util/merge-errors"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;} | ||
@@ -62,3 +64,3 @@ const SOURCE_FILES = new WeakMap();var _default = | ||
parserOverride(code) { | ||
let prevFS = _config.default.fs; | ||
const prevFS = _config.default.fs; | ||
_config.default.fs = markoOpts.fileSystem; | ||
@@ -75,3 +77,5 @@ try { | ||
pre(file) { | ||
let prevFS = _config.default.fs; | ||
const { buildError: prevBuildError } = file.hub; | ||
const { buildCodeFrameError: prevCodeFrameError } = file; | ||
const prevFS = _config.default.fs; | ||
_config.default.fs = markoOpts.fileSystem; | ||
@@ -91,4 +95,2 @@ curOpts = undefined; | ||
const rootTranslators = []; | ||
const { buildCodeFrameError } = file; | ||
const { buildError } = file.hub; | ||
file.buildCodeFrameError = _file.MarkoFile.prototype.buildCodeFrameError; | ||
@@ -113,8 +115,2 @@ file.hub.buildError = file.buildCodeFrameError.bind(file); | ||
traverseAll(file, rootTranslators); | ||
file.buildCodeFrameError = buildCodeFrameError; | ||
file.hub.buildError = buildError; | ||
file.markoOpts = | ||
file.___taglibLookup = | ||
file.___getMarkoFile = | ||
undefined; | ||
@@ -125,2 +121,8 @@ finalizeMeta(metadata.marko); | ||
_config.default.fs = prevFS; | ||
file.buildCodeFrameError = prevCodeFrameError; | ||
file.hub.buildError = prevBuildError; | ||
file.markoOpts = | ||
file.___taglibLookup = | ||
file.___getMarkoFile = | ||
undefined; | ||
} | ||
@@ -243,2 +245,31 @@ }, | ||
if (file.___hasParseErrors) { | ||
if (markoOpts.errorRecovery) { | ||
t.traverseFast(file.path.node, (node) => { | ||
if (node.type === "MarkoParseError") { | ||
(0, _babelUtils.diagnosticError)(file.path, { | ||
label: node.label, | ||
loc: node.errorLoc || node.loc | ||
}); | ||
} | ||
}); | ||
} else { | ||
let errors = []; | ||
t.traverseFast(file.path.node, (node) => { | ||
if (node.type === "MarkoParseError") { | ||
errors.push( | ||
(0, _buildCodeFrame.buildCodeFrameError)( | ||
file.opts.filename, | ||
file.code, | ||
node.errorLoc || node.loc, | ||
node.label)); | ||
} | ||
}); | ||
(0, _mergeErrors.default)(errors); | ||
} | ||
} | ||
if (isMigrate) { | ||
@@ -245,0 +276,0 @@ return file; |
@@ -9,2 +9,6 @@ "use strict";exports.__esModule = true;exports.parseMarko = parseMarko;var _htmljsParser = require("htmljs-parser"); | ||
const noop = () => {}; | ||
@@ -69,3 +73,8 @@ const emptyRange = (part) => part.start === part.end; | ||
const [{ value }] = expressions; | ||
const result = (0, _babelUtils.parseExpression)(file, parser.read(value), value.start); | ||
const result = (0, _babelUtils.parseExpression)( | ||
file, | ||
parser.read(value), | ||
value.start, | ||
value.end); | ||
if (t.isStringLiteral(result)) { | ||
@@ -91,7 +100,3 @@ // convert to template literal just so that we don't mistake it for a native tag if this is a tag name. | ||
const end = quasis[quasis.length - 1].end; | ||
return (0, _babelUtils.parseExpression)( | ||
file, | ||
`\`${parser.read({ start, end })}\``, | ||
start - 1); | ||
return (0, _babelUtils.parseTemplateLiteral)(file, parser.read({ start, end }), start, end); | ||
}; | ||
@@ -202,3 +207,8 @@ | ||
t.markoPlaceholder( | ||
(0, _babelUtils.parseExpression)(file, parser.read(part.value), part.value.start), | ||
(0, _babelUtils.parseExpression)( | ||
file, | ||
parser.read(part.value), | ||
part.value.start, | ||
part.value.end), | ||
part.escape), | ||
@@ -214,4 +224,9 @@ | ||
t.markoScriptlet( | ||
(0, _babelUtils.parseScript)(file, parser.read(part.value), part.value.start).body), | ||
(0, _babelUtils.parseStatements)( | ||
file, | ||
parser.read(part.value), | ||
part.value.start, | ||
part.value.end)), | ||
part)); | ||
@@ -272,24 +287,27 @@ | ||
onTagVar(part) { | ||
currentTag.node.var = (0, _babelUtils.parseExpression)( | ||
onTagVar({ value }) { | ||
currentTag.node.var = (0, _babelUtils.parseVar)( | ||
file, | ||
`(${parser.read(part.value)})=>{}`, | ||
part.value.start - 1). | ||
params[0]; | ||
parser.read(value), | ||
value.start, | ||
value.end); | ||
}, | ||
onTagParams(part) { | ||
currentTag.node.body.params = (0, _babelUtils.parseExpression)( | ||
onTagParams({ value }) { | ||
currentTag.node.body.params = (0, _babelUtils.parseParams)( | ||
file, | ||
`(${parser.read(part.value)})=>{}`, | ||
part.start). | ||
params; | ||
parser.read(value), | ||
value.start, | ||
value.end); | ||
}, | ||
onTagArgs(part) { | ||
currentTag.node.arguments = (0, _babelUtils.parseExpression)( | ||
onTagArgs({ value }) { | ||
currentTag.node.arguments = (0, _babelUtils.parseArgs)( | ||
file, | ||
`_${parser.read(part)}`, | ||
part.start - 1). | ||
arguments; | ||
parser.read(value), | ||
value.start, | ||
value.end); | ||
}, | ||
@@ -314,9 +332,11 @@ | ||
onAttrArgs(part) { | ||
currentAttr.arguments = (0, _babelUtils.parseExpression)( | ||
onAttrArgs({ value, end }) { | ||
currentAttr.arguments = (0, _babelUtils.parseArgs)( | ||
file, | ||
`_${parser.read(part)}`, | ||
part.start - 1). | ||
arguments; | ||
currentAttr.end = part.end; | ||
parser.read(value), | ||
value.start, | ||
value.end); | ||
currentAttr.end = end; | ||
}, | ||
@@ -339,13 +359,17 @@ | ||
undefined, | ||
(0, _babelUtils.parseExpression)( | ||
(0, _babelUtils.parseParams)( | ||
file, | ||
`${parser.read(part.params)}=>{}`, | ||
part.params.start). | ||
params, | ||
(0, _babelUtils.parseExpression)( | ||
parser.read(part.params.value), | ||
part.params.value.start, | ||
part.params.value.end), | ||
t.blockStatement( | ||
(0, _babelUtils.parseStatements)( | ||
file, | ||
`()=>${parser.read(part.body)}`, | ||
part.body.start - 4). | ||
body), | ||
parser.read(part.body.value), | ||
part.body.value.start, | ||
part.body.value.end))), | ||
part); | ||
@@ -352,0 +376,0 @@ |
@@ -18,2 +18,5 @@ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");require("../types/patch"); | ||
Object.assign(_printer.default.prototype, { | ||
MarkoParseError(node) { | ||
this.token(node.source); | ||
}, | ||
MarkoDocumentType(node) { | ||
@@ -20,0 +23,0 @@ this.token("<!"); |
@@ -16,2 +16,18 @@ "use strict";exports.__esModule = true;exports.default = exports.MARKO_TYPES = exports.MARKO_ALIAS_TYPES = void 0;var _utils = require("@babel/types/lib/definitions/utils"); | ||
const MarkoDefinitions = { | ||
MarkoParseError: { | ||
aliases: ["Marko", "Expression", "Statement"], | ||
builder: ["source", "label", "errorLoc"], | ||
fields: { | ||
source: { | ||
validate: (0, _utils.assertValueType)("string") | ||
}, | ||
label: { | ||
validate: (0, _utils.assertValueType)("string") | ||
}, | ||
errorLoc: { | ||
optional: true, | ||
validate: (0, _utils.assertValueType)("object") | ||
} | ||
} | ||
}, | ||
MarkoDocumentType: { | ||
@@ -18,0 +34,0 @@ aliases: ["Marko", "Statement"], |
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");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.types = exports.taglib = void 0;var _types = _interopRequireWildcard(require("./babel-types"));exports.types = _types; | ||
var _path = _interopRequireDefault(require("path")); | ||
var _kleur = _interopRequireDefault(require("kleur")); | ||
var babel = _interopRequireWildcard(require("@babel/core")); | ||
@@ -14,3 +13,4 @@ var _pluginTransformModulesCommonjs = _interopRequireDefault(require("@babel/plugin-transform-modules-commonjs")); | ||
var _tryLoadTranslator = _interopRequireDefault(require("./util/try-load-translator")); | ||
var _buildCodeFrame = require("./util/build-code-frame");function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;} | ||
var _buildCodeFrame = require("./util/build-code-frame"); | ||
var _mergeErrors = _interopRequireDefault(require("./util/merge-errors"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function (nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;} | ||
@@ -138,28 +138,3 @@ | ||
switch (errors.length) { | ||
case 0: | ||
break; | ||
case 1:{ | ||
throw errors[0]; | ||
} | ||
default:{ | ||
let err; | ||
const message = `${_kleur.default.red("AggregationError:")}\n${errors. | ||
map((err) => err.message). | ||
join("\n\n"). | ||
replace(/^(?!\s*$)/gm, "\t")}\n`; | ||
if (typeof AggregateError === "function") { | ||
err = new AggregateError(errors, message); | ||
} else { | ||
err = new Error(message); | ||
err.name = "AggregateError"; | ||
err.errors = errors; | ||
} | ||
// Remove the stack trace from the error since it is not useful. | ||
err.stack = ""; | ||
throw err; | ||
}} | ||
(0, _mergeErrors.default)(errors); | ||
} | ||
@@ -166,0 +141,0 @@ |
@@ -595,2 +595,3 @@ // Type definitions for @babel/traverse 7.18 | ||
//#region ------------------------- isXXX ------------------------- | ||
isMarkoParseError(props?: object | null): this is NodePath<t.MarkoParseError>; | ||
isMarkoDocumentType(props?: object | null): this is NodePath<t.MarkoDocumentType>; | ||
@@ -899,2 +900,3 @@ isMarkoDeclaration(props?: object | null): this is NodePath<t.MarkoDeclaration>; | ||
//#region ------------------------- assertXXX ------------------------- | ||
assertMarkoParseError(props?: object | null): void; | ||
assertMarkoDocumentType(props?: object | null): void; | ||
@@ -901,0 +903,0 @@ assertMarkoDeclaration(props?: object | null): void; |
{ | ||
"name": "@marko/compiler", | ||
"description": "Marko template to JS compiler.", | ||
"version": "5.28.5", | ||
"version": "5.29.0", | ||
"author": "Dylan Piercey <dpiercey@ebay.com>", | ||
@@ -18,3 +18,3 @@ "bugs": "https://github.com/marko-js/marko/issues/new?template=Bug_report.md", | ||
"@babel/types": "^7.16.0", | ||
"@marko/babel-utils": "^5.22.1", | ||
"@marko/babel-utils": "^6.0.0", | ||
"complain": "^1.6.0", | ||
@@ -34,3 +34,3 @@ "he": "^1.2.0", | ||
"devDependencies": { | ||
"@marko/translator-default": "^5.26.5" | ||
"@marko/translator-default": "^5.27.0" | ||
}, | ||
@@ -37,0 +37,0 @@ "files": [ |
Sorry, the diff of this file is too big to display
434381
55
10184
+ Added@marko/babel-utils@6.6.3(transitive)
- Removed@marko/babel-utils@5.22.1(transitive)
Updated@marko/babel-utils@^6.0.0