Skip to content

Commit

Permalink
chore: reformat files
Browse files Browse the repository at this point in the history
DylanPiercey committed Jan 9, 2024
1 parent 987854f commit 69b3ff5
Showing 296 changed files with 1,228 additions and 1,233 deletions.
8 changes: 8 additions & 0 deletions .changeset/lazy-worms-wash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@marko/translator-default": patch
"@marko/babel-utils": patch
"@marko/compiler": patch
"marko": patch
---

Upgrade all package deps to latest
62 changes: 31 additions & 31 deletions packages/babel-utils/index.d.ts
Original file line number Diff line number Diff line change
@@ -74,11 +74,11 @@ export interface TaglibLookup {
getTag(tagName: string): undefined | TagDefinition;
getAttribute(
tagName: string,
attrName: string
attrName: string,
): undefined | AttributeDefinition;
forEachAttribute(
tagName: string,
callback: (attr: AttributeDefinition, tag: TagDefinition) => void
callback: (attr: AttributeDefinition, tag: TagDefinition) => void,
): void;
}

@@ -143,7 +143,7 @@ export function defineTag<T extends Tag>(tag: T): T;

export type FunctionPlugin<T = any> = (
path: t.NodePath<T>,
types: typeof t
types: typeof t,
) => void;
type EnterExitPlugin<T = any> = {
enter?(path: t.NodePath<T>, types: typeof t): void;
@@ -161,7 +161,7 @@ export type Plugin<T = any> =

export function assertAllowedAttributes(
path: t.NodePath<t.MarkoTag>,
allowed: string[]
allowed: string[],
): void;
export function assertNoArgs(path: t.NodePath<t.MarkoTag>): void;
export function assertNoVar(path: t.NodePath<t.MarkoTag>): void;
@@ -180,31 +180,31 @@ export function registerMacro(path: t.NodePath<any>, name: string): void;
export function hasMacro(path: t.NodePath<any>, name: string): boolean;
export function getMacroIdentifierForName(
path: t.NodePath<any>,
name: string
name: string,
): t.Identifier;
export function getMacroIdentifier(path: t.NodePath<t.MarkoTag>): t.Identifier;
export function getTagDef(
path: t.NodePath<t.MarkoTag>
path: t.NodePath<t.MarkoTag>,
): TagDefinition | undefined;
export function getFullyResolvedTagName(path: t.NodePath<t.MarkoTag>): string;

export function findParentTag(
path: t.NodePath<t.MarkoTag>
path: t.NodePath<t.MarkoTag>,
): t.NodePath<t.MarkoTag> | undefined;
export function findAttributeTags(
path: t.NodePath<t.MarkoTag>
path: t.NodePath<t.MarkoTag>,
): Array<t.NodePath<t.MarkoTag>>;

export function getArgOrSequence(
path: t.NodePath<t.MarkoTag | t.MarkoAttribute>
path: t.NodePath<t.MarkoTag | t.MarkoAttribute>,
): t.Expression;

export function loadFileForTag(
path: t.NodePath<t.MarkoTag>
path: t.NodePath<t.MarkoTag>,
): t.BabelFile | undefined;
export function loadFileForImport(
file: t.BabelFile,
template: string
template: string,
): t.BabelFile | undefined;

export function normalizeTemplateString(
@@ -219,13 +219,13 @@ export function getLoc(file: t.BabelFile, pos: number): Loc;
export function getLocRange(
file: t.BabelFile,
start: number,
end: number
end: number,
): LocRange;
export function withLoc<T extends t.Node>(
file: t.BabelFile,
node: T,
start: number,
end: number
end: number,
): T;

export function parseStatements(file: t.BabelFile, str: string): t.Statement[];
@@ -234,7 +234,7 @@ export function parseStatements(
str: string,
sourceStart: number,
sourceEnd: number,
sourceOffset?: number
sourceOffset?: number,
): t.Statement[];

export function parseExpression(file: t.BabelFile, str: string): t.Expression;
@@ -243,76 +243,76 @@ export function parseExpression(
str: string,
sourceStart: number,
sourceEnd: number,
sourceOffset?: number
sourceOffset?: number,
): t.Expression;

export function parseParams(
file: t.BabelFile,
str: string
str: string,
): t.Function["params"];
export function parseParams(
file: t.BabelFile,
str: string,
sourceStart: number,
sourceEnd: number
sourceEnd: number,
): t.Function["params"];

export function parseArgs(
file: t.BabelFile,
str: string
str: string,
): t.CallExpression["arguments"];
export function parseArgs(
file: t.BabelFile,
str: string,
sourceStart: number,
sourceEnd: number
sourceEnd: number,
): t.CallExpression["arguments"];

export function parseVar(
file: t.BabelFile,
str: string
str: string,
): t.VariableDeclarator["id"];
export function parseVar(
file: t.BabelFile,
str: string,
sourceStart: number,
sourceEnd: number
sourceEnd: number,
): t.VariableDeclarator["id"];

export function parseTemplateLiteral(
file: t.BabelFile,
str: string
str: string,
): t.TemplateLiteral;
export function parseTemplateLiteral(
file: t.BabelFile,
str: string,
sourceStart: number,
sourceEnd: number
sourceEnd: number,
): t.TemplateLiteral;

export function resolveRelativePath(file: t.BabelFile, request: string): string;
export function importDefault(
file: t.BabelFile,
request: string,
nameHint?: string
nameHint?: string,
): t.Identifier;
export function importNamed(
file: t.BabelFile,
request: string,
name: string,
nameHint?: string
nameHint?: string,
): t.Identifier;

export function getTaglibLookup(file: t.BabelFile): TaglibLookup;
export function getTagDefForTagName(
file: t.BabelFile,
tagName: string
tagName: string,
): TagDefinition | undefined;

export function getTemplateId(optimize: boolean, request: string): string;
export function resolveTagImport(
path: t.NodePath<any>,
request: string
request: string,
): string | undefined;

export enum DiagnosticType {
@@ -345,19 +345,19 @@ export interface DiagnosticOptions {

export function diagnosticError(
path: t.NodePath<any>,
options: DiagnosticOptions
options: DiagnosticOptions,
): void;
export function diagnosticWarn(
path: t.NodePath<any>,
options: DiagnosticOptions
options: DiagnosticOptions,
): void;
export function diagnosticDeprecate(
path: t.NodePath<any>,
options: DiagnosticOptions
options: DiagnosticOptions,
): void;
export function diagnosticSuggest(
path: t.NodePath<any>,
options: DiagnosticOptions
options: DiagnosticOptions,
): void;

interface ConfirmFix {
6 changes: 3 additions & 3 deletions packages/babel-utils/src/assert.js
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ export function assertAllowedAttributes(path, allowed) {
throw path
.get(`attributes.${i}`)
.buildCodeFrameError(
`Invalid "${node.name.value}" tag attribute: "${attr.name}".`
`Invalid "${node.name.value}" tag attribute: "${attr.name}".`,
);
}
});
@@ -22,7 +22,7 @@ export function assertNoParams(path) {
const end = params[params.length - 1].loc.end;
throw path.hub.buildError(
{ loc: { start, end } },
"Tag does not support parameters."
"Tag does not support parameters.",
);
}
}
@@ -44,7 +44,7 @@ export function assertNoArgs(path) {
const end = args[args.length - 1].node.loc.end;
throw hub.buildError(
{ loc: { start, end } },
"Tag does not support arguments."
"Tag does not support arguments.",
);
}
}
2 changes: 1 addition & 1 deletion packages/babel-utils/src/diagnostics.js
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@ function add(type, path, options) {
if (rawFix) {
if (file.___compileStage !== "migrate") {
throw new Error(
"Diagnostic fixes can only be registered during the migrate stage."
"Diagnostic fixes can only be registered during the migrate stage.",
);
}

18 changes: 9 additions & 9 deletions packages/babel-utils/src/imports.js
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ export function resolveRelativePath(file, request) {
if (file.markoOpts.optimize) {
request = request.replace(
/(^|\/node-modules\/)marko\/src\//,
"$1marko/dist/"
"$1marko/dist/",
);
}

@@ -30,8 +30,8 @@ export function importDefault(file, request, nameHint) {
request,
(importDeclaration = file.path.pushContainer(
"body",
t.importDeclaration([], t.stringLiteral(request))
)[0])
t.importDeclaration([], t.stringLiteral(request)),
)[0]),
);
}

@@ -41,14 +41,14 @@ export function importDefault(file, request, nameHint) {

const specifiers = importDeclaration.get("specifiers");
const specifier = specifiers.find((specifier) =>
specifier.isImportDefaultSpecifier()
specifier.isImportDefaultSpecifier(),
);

if (!specifier) {
const identifier = file.scope.generateUidIdentifier(nameHint);
importDeclaration.pushContainer(
"specifiers",
t.importDefaultSpecifier(identifier)
t.importDefaultSpecifier(identifier),
);
return identifier;
}
@@ -66,22 +66,22 @@ export function importNamed(file, request, name, nameHint = name) {
request,
(importDeclaration = file.path.pushContainer(
"body",
t.importDeclaration([], t.stringLiteral(request))
)[0])
t.importDeclaration([], t.stringLiteral(request)),
)[0]),
);
}

const specifiers = importDeclaration.get("specifiers");
const specifier = specifiers.find(
(specifier) =>
specifier.isImportSpecifier() && specifier.node.imported.name === name
specifier.isImportSpecifier() && specifier.node.imported.name === name,
);

if (!specifier) {
const identifier = file.scope.generateUidIdentifier(nameHint);
importDeclaration.pushContainer(
"specifiers",
t.importSpecifier(identifier, t.identifier(name))
t.importSpecifier(identifier, t.identifier(name)),
);
return identifier;
}
24 changes: 12 additions & 12 deletions packages/babel-utils/src/parse.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as babelParser from "@babel/parser";
import { getLocRange } from "./loc";
import { types as t } from "@marko/compiler";
import { getLocRange } from "./loc";

const CODE_AS_WHITE_SPACE_KEY = Symbol();

@@ -9,7 +9,7 @@ export function parseStatements(
str,
sourceStart,
sourceEnd,
sourceOffset
sourceOffset,
) {
return tryParse(file, false, str, sourceStart, sourceEnd, sourceOffset);
}
@@ -19,7 +19,7 @@ export function parseExpression(
str,
sourceStart,
sourceEnd,
sourceOffset
sourceOffset,
) {
return tryParse(file, true, str, sourceStart, sourceEnd, sourceOffset);
}
@@ -30,7 +30,7 @@ export function parseParams(file, str, sourceStart, sourceEnd) {
`(${str})=>{}`,
sourceStart,
sourceEnd,
1
1,
);

if (parsed.type === "ArrowFunctionExpression") {
@@ -56,7 +56,7 @@ export function parseVar(file, str, sourceStart, sourceEnd) {
`(${str})=>{}`,
sourceStart,
sourceEnd,
1
1,
);

if (parsed.type === "ArrowFunctionExpression" && parsed.params.length === 1) {
@@ -72,7 +72,7 @@ export function parseTemplateLiteral(file, str, sourceStart, sourceEnd) {
"`" + str + "`",
sourceStart,
sourceEnd,
1
1,
);

if (parsed.type === "TemplateLiteral") {
@@ -99,7 +99,7 @@ export function parseTypeParams(file, str, sourceStart, sourceEnd) {
`<${str}>()=>{}`,
sourceStart,
sourceEnd,
1
1,
);

if (parsed.type === "ArrowFunctionExpression") {
@@ -115,7 +115,7 @@ function tryParse(
str,
sourceStart,
sourceEnd,
sourceOffset
sourceOffset,
) {
const { parserOpts } = file.opts;
let code = str;
@@ -125,12 +125,12 @@ function tryParse(
file.metadata.marko[CODE_AS_WHITE_SPACE_KEY] ||
(file.metadata.marko[CODE_AS_WHITE_SPACE_KEY] = file.code.replace(
/[^\s]/g,
" "
" ",
));
code =
whitespace.slice(
0,
sourceOffset ? sourceStart - sourceOffset : sourceStart
sourceOffset ? sourceStart - sourceOffset : sourceStart,
) + str;

try {
@@ -143,7 +143,7 @@ function tryParse(
sourceStart,
sourceEnd,
err.message,
err.loc
err.loc,
);

if (isExpression) {
@@ -167,7 +167,7 @@ function ensureParseError(file, node, sourceStart, sourceEnd) {
file,
sourceStart,
sourceEnd,
`Unexpected node of type ${node.type} returned while parsing.`
`Unexpected node of type ${node.type} returned while parsing.`,
);
}

26 changes: 14 additions & 12 deletions packages/babel-utils/src/tags.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { basename, dirname, relative, resolve } from "path";
import resolveFrom from "resolve-from";
import { createHash } from "crypto";
import { basename, dirname, relative, resolve } from "path";
import { types as t } from "@marko/compiler";
import { getRootDir } from "lasso-package-root";
import { getTagDefForTagName } from "./taglib";
import resolveFrom from "resolve-from";
import { resolveRelativePath } from "./imports";
import { getTagDefForTagName } from "./taglib";

const MACRO_IDS_KEY = Symbol();
const MACRO_NAMES_KEY = "__marko_macro_names__"; // must be a string literal since it is used across compiler stages.
@@ -64,7 +64,7 @@ export function registerMacro(path, name) {
if (macroNames) {
if (macroNames[name]) {
throw path.buildCodeFrameError(
`A macro with the name "${name}" already exists.`
`A macro with the name "${name}" already exists.`,
);
}
macroNames[name] = true;
@@ -88,7 +88,7 @@ export function getMacroIdentifierForName(path, name) {

if (file.___compileStage !== "translate") {
throw new Error(
"getMacroIdentifierForName can only be called during the translate phase of the compiler."
"getMacroIdentifierForName can only be called during the translate phase of the compiler.",
);
}

@@ -107,7 +107,7 @@ export function getMacroIdentifierForName(path, name) {

if (!id) {
throw new Error(
"<macro> was added programmatically, but was not registered via the 'registerMacro' api in @marko/babel-utils."
"<macro> was added programmatically, but was not registered via the 'registerMacro' api in @marko/babel-utils.",
);
}

@@ -119,13 +119,13 @@ export function getMacroIdentifier(path) {

if (file.___compileStage !== "translate") {
throw new Error(
"getMacroIdentifier can only be called during the translate phase of the compiler."
"getMacroIdentifier can only be called during the translate phase of the compiler.",
);
}

if (!isMacroTag(path)) {
throw path.buildCodeFrameError(
"getMacroIdentifier called on non macro referencing tag."
"getMacroIdentifier called on non macro referencing tag.",
);
}

@@ -145,7 +145,9 @@ export function getTagDef(path) {
node.tagDef =
getTagDefForTagName(
file,
isAttributeTag(path) ? getFullyResolvedTagName(path) : node.name.value
isAttributeTag(path)
? getFullyResolvedTagName(path)
: node.name.value,
) || null;
}
}
@@ -247,7 +249,7 @@ export function loadFileForTag(tag) {
return file.___getMarkoFile(
fs.readFileSync(filename).toString("utf-8"),
createNewFileOpts(file.opts, filename),
file.markoOpts
file.markoOpts,
);
}
}
@@ -272,7 +274,7 @@ export function loadFileForImport(file, request) {
return file.___getMarkoFile(
fs.readFileSync(filename).toString("utf-8"),
createNewFileOpts(file.opts, filename),
file.markoOpts
file.markoOpts,
);
}
}
@@ -299,7 +301,7 @@ export function resolveTagImport(path, request) {

if (!relativePath) {
throw path.buildCodeFrameError(
`Unable to find entry point for custom tag <${tagName}>.`
`Unable to find entry point for custom tag <${tagName}>.`,
);
}

4 changes: 2 additions & 2 deletions packages/babel-utils/src/template-string.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import jsesc from "jsesc";
import { types as t } from "@marko/compiler";
import jsesc from "jsesc";

export function normalizeTemplateString(quasis, ...expressions) {
quasis = quasis.map((q) => (t.isTemplateElement(q) ? q.value.cooked : q));
@@ -13,7 +13,7 @@ export function normalizeTemplateString(quasis, ...expressions) {
quasis.splice(
i + 1,
0,
...v.quasis.slice(1, -1).map((q) => q.value.cooked)
...v.quasis.slice(1, -1).map((q) => q.value.cooked),
);
expressions.splice(i, 1, ...v.expressions);
i += v.expressions.length;
1 change: 1 addition & 0 deletions packages/compiler/babel-types.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable import/export */
import { Scope } from "./dist/traverse";
export * from "./dist/types";
export * from "./dist/traverse";
2 changes: 1 addition & 1 deletion packages/compiler/config.d.ts
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ declare const Config: {
resolveVirtualDependency?:
| ((
filename: string,
dep: { virtualPath: string; code: string; map?: any }
dep: { virtualPath: string; code: string; map?: any },
) => string)
| null;
hydrateIncludeImports?: RegExp | ((request: string) => boolean);
14 changes: 7 additions & 7 deletions packages/compiler/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { SourceMap } from "magic-string";
import { Diagnostic, TaglibLookup } from "@marko/babel-utils";
import { SourceMap } from "magic-string";
import * as types from "./babel-types";
export { types };

@@ -42,28 +42,28 @@ export function configure(config: Config): void;
export function compile(
src: string,
filename: string,
config?: Config
config?: Config,
): Promise<CompileResult>;

export function compileSync(
src: string,
filename: string,
config?: Config
config?: Config,
): CompileResult;

export function compileFile(
filename: string,
config?: Config
config?: Config,
): Promise<CompileResult>;

export function compileFileSync(
filename: string,
config?: Config
config?: Config,
): CompileResult;

export function getRuntimeEntryFiles(
output: string,
translator?: string | undefined
translator?: string | undefined,
): string[];

export namespace taglib {
@@ -74,7 +74,7 @@ export namespace taglib {
export function buildLookup(
dirname: string,
translator?: unknown,
onError?: (err: Error) => void
onError?: (err: Error) => void,
): TaglibLookup;
export function clearCaches(): void;
}
2 changes: 1 addition & 1 deletion packages/compiler/register.d.ts
Original file line number Diff line number Diff line change
@@ -2,5 +2,5 @@ import { Config } from ".";

type Extensions = Partial<typeof require.extensions>;
export default function register(
config: Config & { extensions?: Extensions }
config: Config & { extensions?: Extensions },
): Extensions;
18 changes: 9 additions & 9 deletions packages/compiler/scripts/types-babel-traverse.js
Original file line number Diff line number Diff line change
@@ -53,11 +53,11 @@ fs.readFile(
(str) => {
if (data.indexOf(str) === -1) {
console.error(
`Unable to find \`${str}\` in @types/babel__traverse/index.d.ts`
`Unable to find \`${str}\` in @types/babel__traverse/index.d.ts`,
);
process.exit(1);
}
}
},
);

var result = data
@@ -76,12 +76,12 @@ fs.readFile(
}
${HUB_INTERFACE}
file: BabelFile;`
file: BabelFile;`,
)
.replace(
HUB_CLASS,
`${HUB_CLASS}
file: BabelFile;`
file: BabelFile;`,
)
.replace(IMPORT, `import * as t from './types'`)
.replace(EXPORT_NODE, "type Node = t.Node")
@@ -91,18 +91,18 @@ ${HUB_INTERFACE}
IS +
BREAK +
MARKO_TYPES.map(
(t) => `is${t}(opts?: object | null): this is NodePath<t.${t}>;`
).join(BREAK)
(t) => `is${t}(opts?: object | null): this is NodePath<t.${t}>;`,
).join(BREAK),
)
.replace(
ASSERT,
ASSERT +
BREAK +
MARKO_TYPES.map(
(t) => `assert${t}(opts?: object | null): void;`
).join(BREAK)
(t) => `assert${t}(opts?: object | null): void;`,
).join(BREAK),
);

process.stdout.write(result);
}
},
);
32 changes: 16 additions & 16 deletions packages/compiler/src/babel-plugin/index.js
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import path from "path";
import { createHash } from "crypto";
import * as t from "../babel-types";
import { diagnosticError, getTemplateId } from "@marko/babel-utils";
import path from "path";
import { visitors } from "@babel/traverse";
import { diagnosticError, getTemplateId } from "@marko/babel-utils";
import * as t from "../babel-types";
import { buildLookup } from "../taglib";
import { parseMarko } from "./parser";
import { visitor as migrate } from "./plugins/migrate";
import { visitor as transform } from "./plugins/transform";
import { MarkoFile } from "./file";
import taglibConfig from "../taglib/config";
import tryLoadTranslator from "../util/try-load-translator";
import shouldOptimize from "../util/should-optimize";
import { buildCodeFrameError } from "../util/build-code-frame";
import throwAggregateError from "../util/merge-errors";
import shouldOptimize from "../util/should-optimize";
import tryLoadTranslator from "../util/try-load-translator";
import { MarkoFile } from "./file";
import { parseMarko } from "./parser";
import { visitor as migrate } from "./plugins/migrate";
import { visitor as transform } from "./plugins/transform";

const SOURCE_FILES = new WeakMap();

export default (api, markoOpts) => {
api.assertVersion(7);
const translator = (markoOpts.translator = tryLoadTranslator(
markoOpts.translator
markoOpts.translator,
));
markoOpts.output = markoOpts.output || "html";

@@ -30,7 +30,7 @@ export default (api, markoOpts) => {

if (!translator || !translator.translate) {
throw new Error(
"@marko/compiler: translator must provide a translate visitor object"
"@marko/compiler: translator must provide a translate visitor object",
);
}

@@ -39,7 +39,7 @@ export default (api, markoOpts) => {
typeof markoOpts.resolveVirtualDependency !== "function"
) {
throw new Error(
`@marko/compiler: the "resolveVirtualDependency" option must be supplied when output is "hydrate".`
`@marko/compiler: the "resolveVirtualDependency" option must be supplied when output is "hydrate".`,
);
}

@@ -100,7 +100,7 @@ export default (api, markoOpts) => {
addPlugin(
metadata.marko,
rootTranslators,
taglibLookup.taglibsById[id].translator
taglibLookup.taglibsById[id].translator,
);
}
}
@@ -127,7 +127,7 @@ export default (api, markoOpts) => {
MarkoClass(path) {
// We replace the MarkoClass with a regular class declaration so babel can strip it's types.
path.replaceWith(
t.classDeclaration(t.identifier(""), null, path.node.body)
t.classDeclaration(t.identifier(""), null, path.node.body),
);
},
ExportNamedDeclaration: {
@@ -254,8 +254,8 @@ export function getMarkoFile(code, fileOpts, markoOpts) {
file.opts.filename,
file.code,
node.errorLoc || node.loc,
node.label
)
node.label,
),
);
}
});
96 changes: 49 additions & 47 deletions packages/compiler/src/babel-plugin/parser.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { TagType, createParser } from "htmljs-parser";
import * as t from "../babel-types";
import {
getTagDefForTagName,
parseArgs,
@@ -11,6 +9,8 @@ import {
parseTypeParams,
parseVar,
} from "@marko/babel-utils";
import { TagType, createParser } from "htmljs-parser";
import * as t from "../babel-types";

const noop = () => {};
const emptyRange = (part) => part.start === part.end;
@@ -75,7 +75,7 @@ export function parseMarko(file) {
file,
parser.read(value),
value.start,
value.end
value.end,
);
if (t.isStringLiteral(result)) {
// convert to template literal just so that we don't mistake it for a native tag if this is a tag name.
@@ -86,7 +86,7 @@ export function parseMarko(file) {
cooked: result.value,
}),
],
[]
[],
);
} else {
return result;
@@ -204,15 +204,15 @@ export function parseMarko(file) {
file,
parser.read(part.value),
part.value.start,
part.value.end
part.value.end,
);
},
onTagTypeParams(part) {
currentBody.node.typeParameters = parseTypeParams(
file,
parser.read(part.value),
part.value.start,
part.value.end
part.value.end,
);
},
onPlaceholder(part) {
@@ -223,12 +223,12 @@ export function parseMarko(file) {
file,
parser.read(part.value),
part.value.start,
part.value.end
part.value.end,
),
part.escape
part.escape,
),
part
)
part,
),
);
},
onScriptlet(part) {
@@ -239,11 +239,11 @@ export function parseMarko(file) {
file,
parser.read(part.value),
part.value.start,
part.value.end
)
part.value.end,
),
),
part
)
part,
),
);
},
onOpenTagName(part) {
@@ -259,13 +259,13 @@ export function parseMarko(file) {
if (literalTagName === "%") {
throw file.buildCodeFrameError(
tagName,
"<% scriptlets %> are no longer supported."
"<% scriptlets %> are no longer supported.",
);
}

const parseOptions = (node.tagDef = getTagDefForTagName(
file,
literalTagName
literalTagName,
))?.parseOptions;

if (parseOptions) {
@@ -302,7 +302,7 @@ export function parseMarko(file) {
file,
parser.read(value),
value.start,
value.end
value.end,
);
},

@@ -311,7 +311,7 @@ export function parseMarko(file) {
file,
parser.read(value),
value.start,
value.end
value.end,
);
},

@@ -320,7 +320,7 @@ export function parseMarko(file) {
file,
parser.read(value),
value.start,
value.end
value.end,
);
},

@@ -333,8 +333,8 @@ export function parseMarko(file) {
t.booleanLiteral(true),
modifier,
undefined,
!name
))
!name,
)),
);

currentAttr.start = part.start;
@@ -346,7 +346,7 @@ export function parseMarko(file) {
file,
parser.read(value),
value.start,
value.end
value.end,
);

currentAttr.end = end;
@@ -358,7 +358,7 @@ export function parseMarko(file) {
currentAttr.value = parseExpression(
file,
parser.read(part.value),
part.value.start
part.value.start,
);
},

@@ -371,18 +371,18 @@ export function parseMarko(file) {
file,
parser.read(part.params.value),
part.params.value.start,
part.params.value.end
part.params.value.end,
),
t.blockStatement(
parseStatements(
file,
parser.read(part.body.value),
part.body.value.start,
part.body.value.end
)
)
part.body.value.end,
),
),
),
part
part,
);
},

@@ -391,10 +391,10 @@ export function parseMarko(file) {
currentTag.node.attributes.push(
withLoc(
t.markoSpreadAttribute(
parseExpression(file, parser.read(part.value), part.value.start)
parseExpression(file, parser.read(part.value), part.value.start),
),
part
)
part,
),
);
},

@@ -410,20 +410,22 @@ export function parseMarko(file) {
currentShorthandClassNames.length === 1
? currentShorthandClassNames[0]
: currentShorthandClassNames.every((expr) =>
t.isStringLiteral(expr)
)
? withLoc(
t.stringLiteral(
currentShorthandClassNames.map((node) => node.value).join(" ")
),
{
start: currentShorthandClassNames[0].start,
end: currentShorthandClassNames[
currentShorthandClassNames.length - 1
].end,
}
)
: t.arrayExpression(currentShorthandClassNames);
t.isStringLiteral(expr),
)
? withLoc(
t.stringLiteral(
currentShorthandClassNames
.map((node) => node.value)
.join(" "),
),
{
start: currentShorthandClassNames[0].start,
end: currentShorthandClassNames[
currentShorthandClassNames.length - 1
].end,
},
)
: t.arrayExpression(currentShorthandClassNames);

for (const attr of attributes) {
if (attr.name === "class") {
@@ -461,12 +463,12 @@ export function parseMarko(file) {
if (attr.name === "id") {
throw file.buildCodeFrameError(
attr,
"Cannot have shorthand id and id attribute."
"Cannot have shorthand id and id attribute.",
);
}
}
currentTag.node.attributes.push(
t.markoAttribute("id", currentShorthandId)
t.markoAttribute("id", currentShorthandId),
);
currentShorthandId = undefined;
}
2 changes: 1 addition & 1 deletion packages/compiler/src/babel-types/generator/patch.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import "../types/patch";

import Printer from "@babel/generator/lib/printer";
import * as t from "@babel/types";
import SELF_CLOSING from "self-closing-tags";
import Printer from "@babel/generator/lib/printer";

Object.assign(Printer.prototype, {
MarkoParseError(node) {
6 changes: 3 additions & 3 deletions packages/compiler/src/babel-types/traverse/patch.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import "../types/patch";

import * as t from "@babel/types";
import traverse, { NodePath, Scope } from "@babel/traverse";
import * as t from "@babel/types";
import { MARKO_ALIAS_TYPES, MARKO_TYPES } from "../types/definitions";

MARKO_TYPES.forEach((typeName) => {
@@ -75,7 +75,7 @@ Scope.prototype.crawl = function () {
}
}
},
})
}),
);
}

@@ -95,7 +95,7 @@ Scope.prototype.crawl = function () {
if (hoistableBinding) {
if (hoistableBinding === true) {
throw ref.buildCodeFrameError(
"Ambiguous reference, variable was defined in multiple places and was not shadowed."
"Ambiguous reference, variable was defined in multiple places and was not shadowed.",
);
}

10 changes: 5 additions & 5 deletions packages/compiler/src/babel-types/types/definitions.js
Original file line number Diff line number Diff line change
@@ -118,7 +118,7 @@ const MarkoDefinitions = {
arguments: {
validate: chain(
assertValueType("array"),
assertEach(assertNodeType("Expression", "SpreadElement"))
assertEach(assertNodeType("Expression", "SpreadElement")),
),
optional: true,
},
@@ -152,7 +152,7 @@ const MarkoDefinitions = {
params: {
validate: chain(
assertValueType("array"),
assertEach(assertNodeType("Identifier", "Pattern", "RestElement"))
assertEach(assertNodeType("Identifier", "Pattern", "RestElement")),
),
default: [],
},
@@ -199,7 +199,7 @@ const MarkoDefinitions = {
arguments: {
validate: chain(
assertValueType("array"),
assertEach(assertNodeType("Expression", "SpreadElement"))
assertEach(assertNodeType("Expression", "SpreadElement")),
),
optional: true,
},
@@ -223,6 +223,6 @@ export default MarkoDefinitions;
export const MARKO_TYPES = Object.keys(MarkoDefinitions);
export const MARKO_ALIAS_TYPES = Array.from(
new Set(
MARKO_TYPES.reduce((all, t) => all.concat(MarkoDefinitions[t].aliases), [])
)
MARKO_TYPES.reduce((all, t) => all.concat(MarkoDefinitions[t].aliases), []),
),
);
8 changes: 4 additions & 4 deletions packages/compiler/src/babel-types/types/patch.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
/* eslint-disable no-import-assign */
import * as babelTypes from "@babel/types";
import defineType from "@babel/types/lib/definitions/utils";
import validate from "@babel/types/lib/validators/validate";
import * as generatedValidators from "@babel/types/lib/validators/generated";
import * as referencedValidators from "@babel/types/lib/validators/isReferenced";
import validate from "@babel/types/lib/validators/validate";
import definitions, { MARKO_ALIAS_TYPES, MARKO_TYPES } from "./definitions";

const {
@@ -64,8 +64,8 @@ function assert(typeName, node, opts) {
if (!is(typeName, node, opts)) {
throw new Error(
`Expected type "${typeName}" with option ${JSON.stringify(
opts
)}, but instead got "${node.type}".`
opts,
)}, but instead got "${node.type}".`,
);
}
}
@@ -76,7 +76,7 @@ function builder(type, args) {
const countArgs = args.length;
if (countArgs > keys.length) {
throw new Error(
`${type}: Too many arguments passed. Received ${countArgs} but can receive no more than ${keys.length}`
`${type}: Too many arguments passed. Received ${countArgs} but can receive no more than ${keys.length}`,
);
}

6 changes: 3 additions & 3 deletions packages/compiler/src/index.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
export * as types from "./babel-types";
import path from "path";
import * as babel from "@babel/core";
import cjsPlugin from "@babel/plugin-transform-modules-commonjs";
import tsSyntaxPlugin from "@babel/plugin-syntax-typescript";
import cjsPlugin from "@babel/plugin-transform-modules-commonjs";
import tsTransformPlugin from "@babel/plugin-transform-typescript";
import { DiagnosticType } from "@marko/babel-utils";
import corePlugin from "./babel-plugin";
import defaultConfig from "./config";
import * as taglib from "./taglib";
import shouldOptimize from "./util/should-optimize";
import tryLoadTranslator from "./util/try-load-translator";
import { buildCodeFrameError } from "./util/build-code-frame";
import throwAggregateError from "./util/merge-errors";
import shouldOptimize from "./util/should-optimize";
import tryLoadTranslator from "./util/try-load-translator";
export { taglib };

const CWD = process.cwd();
6 changes: 3 additions & 3 deletions packages/compiler/src/register.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

const compiler = require(".");
const shouldOptimize = require("./util/should-optimize").default;
const compiler = require(".");
const requiredOptions = { modules: "cjs" };
const isDev = !shouldOptimize();
const sourceMaps = new Map();
@@ -35,8 +35,8 @@ function register({ extensions = require.extensions, ...options } = {}) {
sourceMaps: isDev ? "both" : false,
},
options,
requiredOptions
)
requiredOptions,
),
);

if (compiled.map) {
4 changes: 2 additions & 2 deletions packages/compiler/src/taglib/finder/index.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use strict";
var nodePath = require("path");
var lassoPackageRoot = require("lasso-package-root");
var resolveFrom = require("resolve-from").silent;
var taglibConfig = require("../config");
var taglibLoader = require("../loader");
var lassoPackageRoot = require("lasso-package-root");
var findCache = {};
var excludedDirs = {};
var excludedPackages = {};
@@ -117,7 +117,7 @@ function find(dirname, registeredTaglibs) {
if (!excludedPackages[name]) {
let taglibPath = resolveFrom(
rootPkg.__dirname,
nodePath.join(name, "marko.json")
nodePath.join(name, "marko.json"),
);
if (taglibPath) {
var taglib = taglibLoader.loadTaglibFromFile(taglibPath, true);
16 changes: 8 additions & 8 deletions packages/compiler/src/taglib/index.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import path from "path";
import loader from "./loader";
import finder from "./finder";
import Lookup from "./lookup";
import taglibConfig from "./config";
import markoModules from "../../modules";
import tryLoadTranslator from "../util/try-load-translator";
import taglibConfig from "./config";
import finder from "./finder";
import loader from "./loader";
import Lookup from "./lookup";

export const excludeDir = finder.excludeDir;
export const excludePackage = finder.excludePackage;

import markoHTMLTaglib from "./marko-html.json";
import markoSVGTaglib from "./marko-svg.json";
import markoMathTaglib from "./marko-math.json";
import markoSVGTaglib from "./marko-svg.json";

const registeredTaglibs = [];
const loadedTranslatorsTaglibs = new Map();
@@ -25,7 +25,7 @@ export function buildLookup(dirname, requestedTranslator, onError) {
const translator = tryLoadTranslator(requestedTranslator);
if (!translator || !Array.isArray(translator.taglibs)) {
throw new Error(
"@marko/compiler: Invalid translator provided to buildLookup(dir, translator)"
"@marko/compiler: Invalid translator provided to buildLookup(dir, translator)",
);
}

@@ -35,8 +35,8 @@ export function buildLookup(dirname, requestedTranslator, onError) {
loadedTranslatorsTaglibs.set(
translator,
(taglibsForDir = registeredTaglibs.concat(
translator.taglibs.map(([id, props]) => loadTaglib(id, props))
))
translator.taglibs.map(([id, props]) => loadTaglib(id, props)),
)),
);
}

2 changes: 1 addition & 1 deletion packages/compiler/src/taglib/loader/Taglib.js
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@ class Taglib {

if (!attribute.pattern && !attribute.name) {
throw new Error(
"Invalid attribute: " + require("util").inspect(attribute)
"Invalid attribute: " + require("util").inspect(attribute),
);
}

6 changes: 3 additions & 3 deletions packages/compiler/src/taglib/loader/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
var cache = require("./cache");

var types = require("./types");
var loaders = require("./loaders");
var DependencyChain = require("./DependencyChain");
var loaders = require("./loaders");
var types = require("./types");

function loadTaglibFromProps(taglib, taglibProps) {
return loaders.loadTaglibFromProps(taglib, taglibProps);
@@ -29,7 +29,7 @@ function loadTag(tagProps, filePath) {
loaders.loadTagFromProps(
tag,
tagProps,
new DependencyChain(filePath ? [filePath] : [])
new DependencyChain(filePath ? [filePath] : []),
);
return tag;
}
4 changes: 2 additions & 2 deletions packages/compiler/src/taglib/loader/json-file-reader.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var taglibConfig = require("../config");
var stripJsonComments = require("@luxass/strip-json-comments").strip;
var taglibConfig = require("../config");
var fsReadOptions = { encoding: "utf8" };

exports.readFileSync = function (path) {
@@ -10,7 +10,7 @@ exports.readFileSync = function (path) {
return taglibProps;
} catch (e) {
throw new Error(
'Unable to parse JSON file at path "' + path + '". Error: ' + e
'Unable to parse JSON file at path "' + path + '". Error: ' + e,
);
}
};
4 changes: 2 additions & 2 deletions packages/compiler/src/taglib/loader/loadAttributeFromProps.js
Original file line number Diff line number Diff line change
@@ -2,9 +2,9 @@

var assert = require("assert");
var raptorRegexp = require("raptor-regexp");
var createError = require("raptor-util/createError");
var propertyHandlers = require("./property-handlers");
var types = require("./types");
var createError = require("raptor-util/createError");
var hasOwnProperty = Object.prototype.hasOwnProperty;

class AttrLoader {
@@ -229,7 +229,7 @@ function loadAttributeFromProps(attrName, attrProps, dependencyChain) {
dependencyChain +
"): " +
err,
err
err,
);
}

2 changes: 1 addition & 1 deletion packages/compiler/src/taglib/loader/loadAttributes.js
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ module.exports = function loadAttributes(value, parent, dependencyChain) {
var attr = loaders.loadAttributeFromProps(
attrName,
attrProps,
dependencyChain.append("@" + attrName)
dependencyChain.append("@" + attrName),
);

parent.addAttribute(attr);
7 changes: 3 additions & 4 deletions packages/compiler/src/taglib/loader/loadTagFromFile.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
var jsonFileReader = require("./json-file-reader");
var types = require("./types");
var ok = require("assert").ok;
var cache = require("./cache");
var jsonFileReader = require("./json-file-reader");
var loaders = require("./loaders");

var ok = require("assert").ok;
var types = require("./types");

function loadTagFromFile(filePath) {
ok(filePath, '"filePath" is required');
30 changes: 15 additions & 15 deletions packages/compiler/src/taglib/loader/loadTagFromProps.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"use strict";

var ok = require("assert").ok;
var resolveFrom = require("resolve-from").silent;
var propertyHandlers = require("./property-handlers");
var isObjectEmpty = require("raptor-util/isObjectEmpty");
var nodePath = require("path");
var createError = require("raptor-util/createError");
var isObjectEmpty = require("raptor-util/isObjectEmpty");
var resolveFrom = require("resolve-from").silent;
var markoModules = require("../../../modules");
var taglibConfig = require("../config");
var types = require("./types");
var loaders = require("./loaders");
var markoModules = require("../../../modules");
var propertyHandlers = require("./property-handlers");
var types = require("./types");
var hasOwnProperty = Object.prototype.hasOwnProperty;

function resolveRelative(dirname, value) {
@@ -123,14 +123,14 @@ class TagLoader {
nestedVariable.nameFromAttribute = value;
},
},
dependencyChain.toString()
dependencyChain.toString(),
);

if (!nestedVariable.name && !nestedVariable.nameFromAttribute) {
throw new Error(
'The "name" or "name-from-attribute" attribute is required for a nested variable (' +
dependencyChain +
")"
")",
);
}
}
@@ -221,7 +221,7 @@ class TagLoader {
// with the user's taglib.
if (!isObjectEmpty(value)) {
throw new Error(
"Unsupported properties of [" + Object.keys(value).join(", ") + "]"
"Unsupported properties of [" + Object.keys(value).join(", ") + "]",
);
}

@@ -258,7 +258,7 @@ class TagLoader {
var attr = loaders.loadAttributeFromProps(
attrName,
attrProps,
dependencyChain.append(part)
dependencyChain.append(part),
);

tag.addAttribute(attr);
@@ -289,7 +289,7 @@ class TagLoader {
let attr = loaders.loadAttributeFromProps(
nestedTag.targetProperty,
{ type: "object" },
dependencyChain.append(part)
dependencyChain.append(part),
);

tag.addAttribute(attr);
@@ -367,7 +367,7 @@ class TagLoader {
loaders.loadAttributes(
value,
tag,
this.dependencyChain.append("attributes")
this.dependencyChain.append("attributes"),
);
}

@@ -492,7 +492,7 @@ class TagLoader {
for (const nestedTagName in value) {
const nestedTagDef = value[nestedTagName];
var dependencyChain = this.dependencyChain.append(
`nestedTags["${nestedTagName}"]`
`nestedTags["${nestedTagName}"]`,
);
var nestedTag = new types.Tag(filePath);

@@ -504,8 +504,8 @@ class TagLoader {
loaders.loadAttributeFromProps(
nestedTag.targetProperty,
{ type: "expression" },
dependencyChain
)
dependencyChain,
),
);
}
}
@@ -571,7 +571,7 @@ function loadTagFromProps(tag, tagProps, dependencyChain) {
} catch (err) {
throw createError(
"Unable to load tag (" + dependencyChain + "): " + err,
err
err,
);
}

7 changes: 3 additions & 4 deletions packages/compiler/src/taglib/loader/loadTaglibFromDir.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
var ok = require("assert").ok;
var nodePath = require("path");
var types = require("./types");
var cache = require("./cache");
var DependencyChain = require("./DependencyChain");
var scanTagsDir = require("./scanTagsDir");

var ok = require("assert").ok;
var types = require("./types");

function loadFromDir(dir) {
ok(dir, '"dir" is required');
@@ -22,7 +21,7 @@ function loadFromDir(dir) {
dir,
"components",
taglib,
new DependencyChain([componentsPath])
new DependencyChain([componentsPath]),
);
}

7 changes: 3 additions & 4 deletions packages/compiler/src/taglib/loader/loadTaglibFromFile.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
var jsonFileReader = require("./json-file-reader");
var types = require("./types");
var ok = require("assert").ok;
var cache = require("./cache");
var jsonFileReader = require("./json-file-reader");
var loaders = require("./loaders");

var ok = require("assert").ok;
var types = require("./types");

function loadFromFile(filePath, isFromPackageJson) {
ok(filePath, '"filePath" is required');
38 changes: 19 additions & 19 deletions packages/compiler/src/taglib/loader/loadTaglibFromProps.js
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
"use strict";

var ok = require("assert").ok;
var resolveFrom = require("resolve-from").silent;
var nodePath = require("path");
var types = require("./types");
var createError = require("raptor-util/createError");
var resolveFrom = require("resolve-from").silent;
var markoModules = require("../../../modules");
var taglibFS = require("../config");
var scanTagsDir = require("./scanTagsDir");
var propertyHandlers = require("./property-handlers");
var jsonFileReader = require("./json-file-reader");
var DependencyChain = require("./DependencyChain");
var createError = require("raptor-util/createError");
var jsonFileReader = require("./json-file-reader");
var loaders = require("./loaders");
var markoModules = require("../../../modules");
var propertyHandlers = require("./property-handlers");
var scanTagsDir = require("./scanTagsDir");
var types = require("./types");
var hasOwnProperty = Object.prototype.hasOwnProperty;

function resolveRelative(dirname, value) {
@@ -44,7 +44,7 @@ class TaglibLoader {
constructor(taglib, dependencyChain) {
ok(
dependencyChain instanceof DependencyChain,
'"dependencyChain" is not valid'
'"dependencyChain" is not valid',
);

this.dependencyChain = dependencyChain;
@@ -105,7 +105,7 @@ class TaglibLoader {
tagFilePath +
'" does not exist. (' +
dependencyChain +
")"
")",
);
}

@@ -142,7 +142,7 @@ class TaglibLoader {
var attr = loaders.loadAttributeFromProps(
attrKey,
value,
this.dependencyChain.append("@" + attrKey)
this.dependencyChain.append("@" + attrKey),
);

attr.filePath = filePath;
@@ -176,7 +176,7 @@ class TaglibLoader {
var attr = loaders.loadAttributeFromProps(
attrName,
attrDef,
this.dependencyChain.append("@" + attrName)
this.dependencyChain.append("@" + attrName),
);

attr.key = attrName;
@@ -205,7 +205,7 @@ class TaglibLoader {
this._handleTag(
tagName,
tags[tagName],
this.dependencyChain.append("tags." + tagName)
this.dependencyChain.append("tags." + tagName),
);
}
}
@@ -237,7 +237,7 @@ class TaglibLoader {
dirname,
dir[i],
taglib,
this.dependencyChain.append(`tags-dir[${i}]`)
this.dependencyChain.append(`tags-dir[${i}]`),
);
}
} else {
@@ -246,7 +246,7 @@ class TaglibLoader {
dirname,
dir,
taglib,
this.dependencyChain.append(`tags-dir`)
this.dependencyChain.append(`tags-dir`),
);
}
}
@@ -265,7 +265,7 @@ class TaglibLoader {
dirname,
dir,
taglib,
this.dependencyChain.append(`exports`)
this.dependencyChain.append(`exports`),
);
}
}
@@ -300,7 +300,7 @@ class TaglibLoader {

importPath = resolveFrom(
packageDir,
nodePath.join(dependencyName, "marko.json")
nodePath.join(dependencyName, "marko.json"),
);

if (importPath) {
@@ -314,7 +314,7 @@ class TaglibLoader {
taglib.addImport(importPath);
} else {
throw new Error(
"Import not found: " + curImport + " (from " + dirname + ")"
"Import not found: " + curImport + " (from " + dirname + ")",
);
}
}
@@ -399,7 +399,7 @@ class TaglibLoader {
let attr = loaders.loadAttributeFromProps(
attrName,
rawAttrDef,
attrGroupDependencyChain.append("@" + attrName)
attrGroupDependencyChain.append("@" + attrName),
);

attrGroup[attrName] = attr;
@@ -424,7 +424,7 @@ function loadTaglibFromProps(taglib, taglibProps, dependencyChain) {
} catch (err) {
throw createError(
"Unable to load taglib (" + dependencyChain + "): " + err,
err
err,
);
}

2 changes: 1 addition & 1 deletion packages/compiler/src/taglib/loader/property-handlers.js
Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@ module.exports = function invokeHandlers(config, handlers, path) {
"Invalid option of " +
badProperty +
". Allowed: " +
Object.keys(handlers).join(", ")
Object.keys(handlers).join(", "),
);
}

4 changes: 2 additions & 2 deletions packages/compiler/src/taglib/loader/scanTagsDir.js
Original file line number Diff line number Diff line change
@@ -117,7 +117,7 @@ module.exports = function scanTagsDir(
tagsConfigDirname,
dir,
taglib,
dependencyChain
dependencyChain,
) {
let prefix;

@@ -179,7 +179,7 @@ module.exports = function scanTagsDir(
"Invalid tag file: " +
tagJsonPath +
". Neither a renderer or a template was found for tag. " +
JSON.stringify(tagDef, null, 2)
JSON.stringify(tagDef, null, 2),
);
} else {
// Skip this directory... there doesn't appear to be anything in it
6 changes: 3 additions & 3 deletions packages/compiler/src/taglib/lookup/index.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use strict";

var ok = require("assert").ok;
var taglibTypes = require("../loader/types");
var extend = require("raptor-util/extend");
var taglibTypes = require("../loader/types");
var hasOwnProperty = Object.prototype.hasOwnProperty;

function TAG_COMPARATOR(a, b) {
@@ -27,8 +27,8 @@ function merge(target, source) {
target[key] = Array.isArray(targetVal)
? targetVal.concat(sourceVal)
: Array.isArray(sourceVal)
? [targetVal].concat(sourceVal)
: merge(merge(new targetVal.constructor(), targetVal), sourceVal);
? [targetVal].concat(sourceVal)
: merge(merge(new targetVal.constructor(), targetVal), sourceVal);
continue;
}
}
6 changes: 3 additions & 3 deletions packages/compiler/src/util/build-code-frame.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import path from "path";
import color from "kleur";
import { codeFrameColumns } from "@babel/code-frame";
import color from "kleur";
const CWD = process.cwd();
const indent = " ";

@@ -12,7 +12,7 @@ class CompileError extends Error {
this.stack = loc
? `CompileError\n${indent}at ${prettyFileName}\n${prettyMessage.replace(
/^/gm,
indent
indent,
)}`
: `CompileError: ${prettyMessage}\n${indent}at ${prettyFileName}`;

@@ -71,7 +71,7 @@ function buildMessage(code, loc, message) {
}
: undefined,
},
{ highlightCode: true, message }
{ highlightCode: true, message },
)
: message;
}
71 changes: 34 additions & 37 deletions packages/marko/bin/markoc.js
Original file line number Diff line number Diff line change
@@ -5,35 +5,7 @@
var fs = require("fs");
var nodePath = require("path");
var cwd = process.cwd();
var resolveFrom = require("resolve-from").silent;

// Try to use the Marko compiler installed with the project
var markoCompilerPath = resolveFrom(process.cwd(), "marko/compiler");
const markocPkgVersion = require("../package.json").version;

var markoPkgPath = resolveFrom(process.cwd(), "marko/package.json");
var markoPkgVersion = markoPkgPath && require(markoPkgPath).version;

var markoCompiler = markoCompilerPath
? require(markoCompilerPath)
: require("../compiler");

var Minimatch = require("minimatch").Minimatch;

var appModulePath = require("app-module-path");

var mmOptions = {
matchBase: true,
dot: true,
flipNegate: true,
};

function relPath(path) {
if (path.startsWith(cwd)) {
return path.substring(cwd.length + 1);
}
}

var args = require("argly")
.createParser({
"--help": {
@@ -94,7 +66,7 @@ var args = require("argly")
.example("Compile multiple templates", "$0 template.marko src/ foo/")
.example(
"Delete all *.marko.js files in the current directory",
"$0 . --clean"
"$0 . --clean",
)
.validate(function (result) {
if (result.help) {
@@ -124,6 +96,31 @@ var args = require("argly")
process.exit(1);
})
.parse();
var Minimatch = require("minimatch").Minimatch;
var resolveFrom = require("resolve-from").silent;

// Try to use the Marko compiler installed with the project
var markoCompilerPath = resolveFrom(process.cwd(), "marko/compiler");
const markocPkgVersion = require("../package.json").version;

var markoPkgPath = resolveFrom(process.cwd(), "marko/package.json");
var markoPkgVersion = markoPkgPath && require(markoPkgPath).version;

var markoCompiler = markoCompilerPath
? require(markoCompilerPath)
: require("../compiler");

var mmOptions = {
matchBase: true,
dot: true,
flipNegate: true,
};

function relPath(path) {
if (path.startsWith(cwd)) {
return path.substring(cwd.length + 1);
}
}

var output = "html";

@@ -324,7 +321,7 @@ if (args.clean) {
} else {
console.log("Deleted " + deleteCount + " file(s)");
}
}
},
);
} else {
var found = {};
@@ -345,7 +342,7 @@ if (args.clean) {
relPath(path) +
"\n Output: " +
relPath(outPath) +
"\n"
"\n",
);

context.beginAsync();
@@ -356,7 +353,7 @@ if (args.clean) {
'Failed to compile "' +
relPath(path) +
'". Error: ' +
(err.stack || err)
(err.stack || err),
);
context.endAsync(err);
return;
@@ -367,7 +364,7 @@ if (args.clean) {
fs.writeFile(outPath, src, "utf8", function (err) {
if (err) {
failed.push(
'Failed to write "' + path + '". Error: ' + (err.stack || err)
'Failed to write "' + path + '". Error: ' + (err.stack || err),
);
context.endAsync(err);
return;
@@ -384,15 +381,15 @@ if (args.clean) {
'Failed to write sourcemap"' +
path +
'". Error: ' +
(err.stack || err)
(err.stack || err),
);
context.endAsync(err);
return;
}

compileCount++;
context.endAsync();
}
},
);

return;
@@ -426,7 +423,7 @@ if (args.clean) {
if (err) {
if (failed.length) {
console.error(
"The following errors occurred:\n- " + failed.join("\n- ")
"The following errors occurred:\n- " + failed.join("\n- "),
);
} else {
console.error(err);
@@ -440,7 +437,7 @@ if (args.clean) {
} else {
console.log("Compiled " + compileCount + " templates(s)");
}
}
},
);
}
}
2 changes: 1 addition & 1 deletion packages/marko/docs/10-awesome-marko-features.md
Original file line number Diff line number Diff line change
@@ -261,7 +261,7 @@ http
count: 30,
colors: ["red", "green", "blue"],
},
res
res,
);
})
.listen(8080);
2 changes: 1 addition & 1 deletion packages/marko/docs/class-components.md
Original file line number Diff line number Diff line change
@@ -782,7 +782,7 @@ Marko uses [`listener-tracker`](https://github.com/patrick-steele-idem/listener-
```js
this.subscribeTo(window).on("scroll", () =>
console.log("The user scrolled the window!")
console.log("The user scrolled the window!"),
);
```
4 changes: 2 additions & 2 deletions packages/marko/docs/compiler.md
Original file line number Diff line number Diff line change
@@ -70,7 +70,7 @@ import * as compiler from "@marko/compiler";
const asyncResult = await compiler.compile(
"<h1>Hello!</>",
"./src/index.marko",
{ modules: "cjs" }
{ modules: "cjs" },
);
const syncResult = compiler.compileSync("<h1>Hello!</>", "./src/index.marko", {
modules: "cjs",
@@ -217,7 +217,7 @@ Type:
code: string;
virtualPath: string;
map?: SourceMap;
}
},
) => string;
```

2 changes: 1 addition & 1 deletion packages/marko/docs/http.md
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ server.on("request", (req, res) => {
count: 30,
colors: ["red", "green", "blue"],
},
res
res,
);
});

2 changes: 1 addition & 1 deletion packages/marko/docs/lasso.md
Original file line number Diff line number Diff line change
@@ -38,7 +38,7 @@ npm install @lasso/marko-taglib
After installing, the lasso custom tags can be used in your templates:

```html
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
2 changes: 1 addition & 1 deletion packages/marko/docs/marko-vs-react.md
Original file line number Diff line number Diff line change
@@ -643,7 +643,7 @@ import ReactDOM from "react-dom";

ReactDOM.render(
<HelloMessage name="John" />,
document.getElementById("container")
document.getElementById("container"),
);
```

2 changes: 1 addition & 1 deletion packages/marko/docs/rendering.md
Original file line number Diff line number Diff line change
@@ -258,7 +258,7 @@ app.get("/", (req, res) => {
},
},
},
res
res,
);
});
```
8 changes: 4 additions & 4 deletions packages/marko/docs/rollup.md
Original file line number Diff line number Diff line change
@@ -118,7 +118,7 @@ export default (async () => [
},
external: (id) =>
externalDependencies.some(
(dependency) => id === dependency || id.startsWith(dependency + "/")
(dependency) => id === dependency || id.startsWith(dependency + "/"),
),
plugins: [isWatch && runPlugin({ execArgv: ["--enable-source-maps"] })],
}),
@@ -167,8 +167,8 @@ export default (async () => [
`📊 Bundle visualizer at \x1b[4;36mfile://${path.join(
__dirname,
"../../",
bundleAnalyzerFilename
)}\x1b[0m`
bundleAnalyzerFilename,
)}\x1b[0m`,
);
},
},
@@ -345,7 +345,7 @@ marko.browser({
fileName,
// only inline code chunks below 1kB
inline: code.trim().length < 1024 && code,
}
},
);
},
});
2 changes: 1 addition & 1 deletion packages/marko/docs/why-is-marko-fast.md
Original file line number Diff line number Diff line change
@@ -113,7 +113,7 @@ function render(input, out) {
}),
},
0,
4
4,
);
}
```
92 changes: 46 additions & 46 deletions packages/marko/index.d.ts
Original file line number Diff line number Diff line change
@@ -58,11 +58,11 @@ declare global {
once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
prependListener(
eventName: PropertyKey,
listener: (...args: any[]) => any
listener: (...args: any[]) => any,
): this;
removeListener(
eventName: PropertyKey,
listener: (...args: any[]) => any
listener: (...args: any[]) => any,
): this;
/** Register a callback executed when the last async out has completed. */
onLast(listener: (next: () => void) => unknown): this;
@@ -84,7 +84,7 @@ declare global {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
in Params extends readonly any[] = [],
// eslint-disable-next-line @typescript-eslint/no-unused-vars
out Return = void
out Return = void,
> {}

/** Valid data types which can be passed in as a <${dynamic}/> tag name. */
@@ -125,7 +125,7 @@ declare global {
* cleaned up once this component is destroyed
* */
subscribeTo(
emitter: unknown
emitter: unknown,
): Omit<Emitter, "listenerCount" | "prependListener" | "emit">;
/** Emits an event on the component instance. */
emit(eventName: PropertyKey, ...args: any[]): boolean;
@@ -136,12 +136,12 @@ declare global {
/** Listen to an event on the component instance before all other listeners. */
prependListener(
eventName: PropertyKey,
listener: (...args: any[]) => any
listener: (...args: any[]) => any,
): this;
/** Remove a listener from the component instance. */
removeListener(
eventName: PropertyKey,
listener: (...args: any[]) => any
listener: (...args: any[]) => any,
): this;
/** Remove all listeners from the component instance. */
removeAllListeners(eventName?: PropertyKey): this;
@@ -156,14 +156,14 @@ declare global {
/** Gets an element reference by its `key` attribute in the template. */
getEl<T extends Element | void = Element | void>(
key?: string,
index?: number
index?: number,
): T;
/** Gets all element references by their `key` attribute in the template. */
getEls<T extends Element[] = Element[]>(key: string): T;
/** Gets a component reference by its `key` attribute in the template. */
getComponent<T extends Component | void = Component | void>(
key: string,
index?: number
index?: number,
): T;
/** Gets all component references by their `key` attribute in the template. */
getComponents<T extends Component[] = Component[]>(key: string): T;
@@ -178,14 +178,14 @@ declare global {
*/
setState<Key extends PropertyKey>(
name: Key & keyof this["state"],
value: (this["state"] & Record<PropertyKey, unknown>)[Key]
value: (this["state"] & Record<PropertyKey, unknown>)[Key],
): void;
setState(value: Partial<this["state"]>): void;

/** Schedules an update related to a specific state property and optionally updates the value. */
setStateDirty<Key extends PropertyKey>(
name: Key & keyof this["state"],
value?: (this["state"] & Record<PropertyKey, unknown>)[Key]
value?: (this["state"] & Record<PropertyKey, unknown>)[Key],
): void;
/** Synchronously flush any scheduled updates. */
update(): void;
@@ -238,35 +238,35 @@ declare global {
stream?: {
write: (chunk: string) => void;
end: (chunk?: string) => void;
}
},
): Marko.Out<Marko.Component>;

/** Asynchronously render the template in buffered mode. */
abstract render(
input: Marko.TemplateInput<Input>,
cb?: (
err: Error | null,
result: Marko.RenderResult<Marko.Component>
) => void
result: Marko.RenderResult<Marko.Component>,
) => void,
): Marko.Out<Marko.Component>;

/** Synchronously render the template. */
abstract renderSync(
input: Marko.TemplateInput<Input>
input: Marko.TemplateInput<Input>,
): Marko.RenderResult<Marko.Component>;

/** Synchronously render a template to a string. */
abstract renderToString(input: Marko.TemplateInput<Input>): string;

/** Render a template and return a stream.Readable in nodejs or a ReadableStream in a web worker environment. */
abstract stream(
input: Marko.TemplateInput<Input>
input: Marko.TemplateInput<Input>,
): ReadableStream<string> & NodeJS.ReadableStream;
/** @marko-overload-end */
}

export interface RenderResult<
out Component extends Marko.Component = Marko.Component
out Component extends Marko.Component = Marko.Component,
> {
/** Returns the component created as a result of rendering the template. */
getComponent(): Component;
@@ -307,11 +307,11 @@ declare global {
once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
prependListener(
eventName: PropertyKey,
listener: (...args: any[]) => any
listener: (...args: any[]) => any,
): this;
removeListener(
eventName: PropertyKey,
listener: (...args: any[]) => any
listener: (...args: any[]) => any,
): this;
removeAllListeners(eventName?: PropertyKey): this;
}
@@ -323,7 +323,7 @@ declare global {

export interface NativeTag<
Input extends Record<string, any>,
Return extends Element
Return extends Element,
> {
input: Input;
return: () => Return;
@@ -335,37 +335,37 @@ declare global {
export type Input<Name> = 0 extends 1 & Name
? any
: Name extends string
? Name extends keyof NativeTags
? NativeTags[Name]["input"]
: Record<string, unknown>
: Name extends
| Template<infer Input, any>
| { _(): () => (input: infer Input) => any }
? Input
: Name extends Body<infer Args, any>
? Args extends {
length: infer Length;
}
? number extends Length
? { value?: Args }
: 0 extends Length
? { value?: [] }
: { value: Args }
: never
: never;
? Name extends keyof NativeTags
? NativeTags[Name]["input"]
: Record<string, unknown>
: Name extends
| Template<infer Input, any>
| { _(): () => (input: infer Input) => any }
? Input
: Name extends Body<infer Args, any>
? Args extends {
length: infer Length;
}
? number extends Length
? { value?: Args }
: 0 extends Length
? { value?: [] }
: { value: Args }
: never
: never;

export type Return<Name> = 0 extends 1 & Name
? any
: Name extends string
? Name extends keyof NativeTags
? NativeTags[Name]["return"]
: () => Element
: Name extends
| { _(): () => (input: any) => { return: infer Return } }
| Template<any, infer Return>
| Body<any, infer Return>
? Return
: never;
? Name extends keyof NativeTags
? NativeTags[Name]["return"]
: () => Element
: Name extends
| { _(): () => (input: any) => { return: infer Return } }
| Template<any, infer Return>
| Body<any, infer Return>
? Return
: never;

/** @deprecated @see {@link Marko.Input} */
export type NativeTagInput<Name extends keyof NativeTags> =
12 changes: 6 additions & 6 deletions packages/marko/src/compiler/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use strict";

var ok = require("assert").ok;
var fs = require("fs");
var complain = "MARKO_DEBUG" && require("complain");
var compiler = require("@marko/compiler");
var extend = require("raptor-util/extend");
var globalConfig = require("./config");
var ok = require("assert").ok;
var fs = require("fs");
var taglib = require("../taglib");
var globalConfig = require("./config");
var defaults = extend({}, globalConfig);

// eslint-disable-next-line no-constant-condition
@@ -16,7 +16,7 @@ if ("MARKO_DEBUG") {
require.main.filename !== require.resolve("../../bin/markoc")
) {
complain(
"Using `marko/compiler` has been deprecated, please upgrade to the `@marko/compiler` module."
"Using `marko/compiler` has been deprecated, please upgrade to the `@marko/compiler` module.",
);
}
}
@@ -67,7 +67,7 @@ function _compile(src, filename, userConfig, callback) {
if (callback) {
compiler.compile(src, filename, options).then(
(result) => callback(null, resultCompat(result, options)),
(error) => callback(error)
(error) => callback(error),
);
} else {
return resultCompat(compiler.compileSync(src, filename, options), options);
@@ -98,7 +98,7 @@ function compileForBrowser(src, filename, options, callback) {
meta: false,
sourceOnly: false,
},
options
options,
);

return compile(src, filename, options, callback);
2 changes: 1 addition & 1 deletion packages/marko/src/core-tags/core/await/AsyncValue.js
Original file line number Diff line number Diff line change
@@ -98,7 +98,7 @@ AsyncValue.prototype = {
},
function onRejected(err) {
queueMicrotask(asyncValue.___reject.bind(asyncValue, err));
}
},
);

if (finalPromise.done) {
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ function $af(
childNodes,
i,
len,
af
af,
) {
af = $af;

2 changes: 1 addition & 1 deletion packages/marko/src/core-tags/core/await/renderer.js
Original file line number Diff line number Diff line change
@@ -18,7 +18,7 @@ function requestData(provider, timeout) {
if ("MARKO_DEBUG") {
complain(
"Passing a callback function to the <await> tag has been deprecated, please use a promise instead.",
{ level: 1, locationIndex: 3 }
{ level: 1, locationIndex: 3 },
);
}

8 changes: 4 additions & 4 deletions packages/marko/src/core-tags/core/await/reorderer-renderer.js
Original file line number Diff line number Diff line change
@@ -52,7 +52,7 @@ module.exports = function (input, out) {
if (!global._afRuntime) {
// Minified version of ./client-reorder-runtime.js
asyncOut.script(
`function $af(d,a,e,l,g,h,k,b,f,c){c=$af;if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("af"+d);g=e.getElementById("afph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`
`function $af(d,a,e,l,g,h,k,b,f,c){c=$af;if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("af"+d);g=e.getElementById("afph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`,
);
global._afRuntime = true;
}
@@ -70,15 +70,15 @@ module.exports = function (input, out) {
awaitInfo.id +
'">' +
result.toString() +
"</div>"
"</div>",
);
} else {
asyncOut.write(
'<div id="af' +
awaitInfo.id +
'" style="display:none">' +
result.toString() +
"</div>"
"</div>",
);
}

@@ -88,7 +88,7 @@ module.exports = function (input, out) {
? awaitInfo.id
: '"' + awaitInfo.id + '"') +
(awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
")"
")",
);

awaitInfo.out.writer = asyncOut.writer;
2 changes: 1 addition & 1 deletion packages/marko/src/node-require/browser-refresh.js
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ if ("MARKO_DEBUG") {
.enableSpecialReload(
`${extensions
.map((ext) => `*${ext}`)
.join(" ")} marko.json marko-tag.json`
.join(" ")} marko.json marko-tag.json`,
)
.onFileModified((path) => {
hotReload.handleFileModified(path);
4 changes: 2 additions & 2 deletions packages/marko/src/node-require/hot-reload.js
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ exports.handleFileModified = function (filename) {
if (!fs.existsSync(filename)) {
console.log(
"[marko/hot-reload] WARNING cannot resolve template path: ",
filename
filename,
);
return;
}
@@ -35,7 +35,7 @@ function tryReload(filename) {
delete require.cache[filename];
require(filename);
console.log(
`[marko] Template successfully reloaded: ${cwdRelative(filename)}`
`[marko] Template successfully reloaded: ${cwdRelative(filename)}`,
);
} catch (e) {
console.error(e);
6 changes: 3 additions & 3 deletions packages/marko/src/node-require/index.js
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ const MARKO_EXTENSIONS = Symbol("MARKO_EXTENSIONS");
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
'Using "marko/node-require" has been replaced with "@marko/compiler/register".'
'Using "marko/node-require" has been replaced with "@marko/compiler/register".',
);
}

@@ -32,8 +32,8 @@ function compile(templatePath, markoCompiler, userCompilerOptions) {
{},
defaultCompilerOptions,
userCompilerOptions,
requiredCompilerOptions
)
requiredCompilerOptions,
),
).code;
}

6 changes: 3 additions & 3 deletions packages/marko/src/runtime/RenderResult.js
Original file line number Diff line number Diff line change
@@ -74,7 +74,7 @@ Object.defineProperty(proto, "html", {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
'The "html" property is deprecated. Please use "toString" instead.'
'The "html" property is deprecated. Please use "toString" instead.',
);
}
return this.toString();
@@ -86,7 +86,7 @@ Object.defineProperty(proto, "context", {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
'The "context" property is deprecated. Please use "out" instead.'
'The "context" property is deprecated. Please use "out" instead.',
);
}
return this.___out;
@@ -107,5 +107,5 @@ domInsert(
},
function afterInsert(renderResult, referenceEl) {
return renderResult.afterInsert(getRootNode(referenceEl));
}
},
);
43 changes: 21 additions & 22 deletions packages/marko/src/runtime/components/Component.js
Original file line number Diff line number Diff line change
@@ -2,22 +2,21 @@
/* jshint newcap:false */

var complain = "MARKO_DEBUG" && require("complain");

var domInsert = require("../dom-insert");
var defaultCreateOut = require("../createOut");
var getComponentsContext =
require("./ComponentsContext").___getComponentsContext;
var EventEmitter = require("events-light");
var SubscriptionTracker = require("listener-tracker");
var inherit = require("raptor-util/inherit");
var componentsUtil = require("@internal/components-util");
var componentLookup = componentsUtil.___componentLookup;
var destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;
var EventEmitter = require("events-light");
var defaultCreateOut = require("../createOut");
var domInsert = require("../dom-insert");
var RenderResult = require("../RenderResult");
var SubscriptionTracker = require("listener-tracker");
var inherit = require("raptor-util/inherit");
var updateManager = require("./update-manager");
var morphdom = require("../vdom/morphdom");
var eventDelegation = require("./event-delegation");
var getComponentsContext =
require("./ComponentsContext").___getComponentsContext;
var domData = require("./dom-data");
var eventDelegation = require("./event-delegation");
var updateManager = require("./update-manager");
var componentsByDOMNode = domData.___componentByDOMNode;
var keyedElementsByComponentId = domData.___ssrKeyedElementsByComponentId;
var CONTEXT_KEY = "__subtree_context__";
@@ -57,7 +56,7 @@ function handleCustomEventWithMethodListener(
component,
targetMethodName,
args,
extraArgs
extraArgs,
) {
// Remove the "eventType" argument
args.push(component);
@@ -229,7 +228,7 @@ Component.prototype = componentProto = {
this,
targetMethodName,
args,
extraArgs
extraArgs,
);

if (isOnce) {
@@ -253,7 +252,7 @@ Component.prototype = componentProto = {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"Accessing the elements of a child component using 'component.getEl' is deprecated."
"Accessing the elements of a child component using 'component.getEl' is deprecated.",
);
}

@@ -283,7 +282,7 @@ Component.prototype = componentProto = {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"A repeated key[] was passed to getComponent. Use a non-repeating key if there is only one of these components."
"A repeated key[] was passed to getComponent. Use a non-repeating key if there is only one of these components.",
);
}
rootNode = rootNode && rootNode[Object.keys(rootNode)[0]];
@@ -403,7 +402,7 @@ Component.prototype = componentProto = {
name,
value,
true /* ensure:true */,
true /* forceDirty:true */
true /* forceDirty:true */,
);
},

@@ -600,14 +599,14 @@ Component.prototype = componentProto = {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
'The "this.els" attribute is deprecated. Please use "this.getEls(key)" instead.'
'The "this.els" attribute is deprecated. Please use "this.getEls(key)" instead.',
);
}
return (this.___rootNode ? this.___rootNode.nodes : []).filter(function (
el
) {
return el.nodeType === ELEMENT_NODE;
});
return (this.___rootNode ? this.___rootNode.nodes : []).filter(
function (el) {
return el.nodeType === ELEMENT_NODE;
},
);
},

___emit: emit,
@@ -655,7 +654,7 @@ domInsert(
},
function afterInsert(component) {
return component;
}
},
);

inherit(Component, EventEmitter);
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/components/ComponentDef.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use strict";
var complain = "MARKO_DEBUG" && require("complain");
var extend = require("raptor-util/extend");
var w10Noop = require("warp10/constants").NOOP;
var componentUtil = require("@internal/components-util");
var attachBubblingEvent = componentUtil.___attachBubblingEvent;
var addDelegatedEventHandler =
require("./event-delegation").___addDelegatedEventHandler;
var extend = require("raptor-util/extend");
var KeySequence = require("./KeySequence");
var EMPTY_OBJECT = {};

4 changes: 2 additions & 2 deletions packages/marko/src/runtime/components/State.js
Original file line number Diff line number Diff line change
@@ -48,7 +48,7 @@ State.prototype = {
key,
undefined,
false /* ensure:false */,
false /* forceDirty:false */
false /* forceDirty:false */,
);
}
}
@@ -58,7 +58,7 @@ State.prototype = {
key,
newState[key],
true /* ensure:true */,
false /* forceDirty:false */
false /* forceDirty:false */,
);
}
},
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/components/defineComponent.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"use strict";
/* jshint newcap:false */

var BaseState = require("./State");
var BaseComponent = require("./Component");
var inherit = require("raptor-util/inherit");
var BaseComponent = require("./Component");
var BaseState = require("./State");

module.exports = function defineComponent(def, renderer) {
if (def.___isComponent) {
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/components/event-delegation.js
Original file line number Diff line number Diff line change
@@ -125,7 +125,7 @@ function addDelegatedEventHandlerToHost(eventType, host) {
delegateEvent(curNode, propName, target, event);
}
}),
true
true,
);
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
var complain = "MARKO_DEBUG" && require("complain");
var componentLookup = require("@internal/components-util").___componentLookup;
var req = require("@internal/require");
var makeRenderable = require("../../renderable");
var getComponentsContext =
require("../ComponentsContext").___getComponentsContext;
var componentLookup = require("@internal/components-util").___componentLookup;
var modernRenderer = require("../renderer");
var req = require("@internal/require");
var resolveComponentKey = modernRenderer.___resolveComponentKey;

module.exports = function defineRenderer(renderingLogic) {
@@ -117,7 +117,7 @@ module.exports = function defineRenderer(renderingLogic) {
var templateData = clone(
getTemplateData
? getTemplateData(widgetState, newProps, out)
: widgetState || newProps
: widgetState || newProps,
);

if (isReceivingNewInput && getWidgetConfig) {
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
var patch = require("./").patch;
var Template = require("../../../html").Template;
var patch = require("./").patch;
patch(Template);
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ function getRootDeps(template, context) {
attachDepsAndComponentsToTemplate(template, context);

var deps = (template.___depsArray = Object.keys(template.___deps).map(
(key) => template.___deps[key]
(key) => template.___deps[key],
));
var initModule = getInitModule(template.path, template.___components);

@@ -103,7 +103,7 @@ function getInitModule(path, components) {
(component) =>
`components.register('${component.id}', require('.${
nodePath.sep
}${nodePath.relative(root, component.path)}'));`
}${nodePath.relative(root, component.path)}'));`,
);
var code = `
var components = require('marko/components');
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
var patch = require("./").patch;
var Template = require("../../../vdom").Template;
var patch = require("./").patch;
patch(Template);
28 changes: 14 additions & 14 deletions packages/marko/src/runtime/components/legacy/renderer-legacy.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var beginComponent = require("@internal/components-beginComponent");
var endComponent = require("@internal/components-endComponent");
var registry = require("@internal/components-registry");
var componentsUtil = require("@internal/components-util");
var getComponentsContext =
require("../ComponentsContext").___getComponentsContext;
var componentsUtil = require("@internal/components-util");
var componentLookup = componentsUtil.___componentLookup;
var registry = require("@internal/components-registry");
var modernRenderer = require("../renderer");
var resolveComponentKey = modernRenderer.___resolveComponentKey;
var trackAsyncComponents = modernRenderer.___trackAsyncComponents;
var beginComponent = require("@internal/components-beginComponent");
var endComponent = require("@internal/components-endComponent");
var complain = "MARKO_DEBUG" && require("complain");

function createRendererFunc(templateRenderFunc, componentProps) {
@@ -29,7 +29,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
parentLegacyComponentDef,
parentLegacyComponentDef.___component,
parentLegacyComponentDef.___component.___rawState,
out.global
out.global,
);
return;
}
@@ -74,7 +74,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
out,
typeName,
customEvents,
ownerComponentId
ownerComponentId,
);
if (isSplit || widgetState) {
component.input = null;
@@ -83,7 +83,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
if ("MARKO_DEBUG") {
complain(
"Possible performance impact: this widget does not contain state, but is marked as a stateful widget. This will result in additional hydration data serialized. In order for marko to identify this as a split widget, w-bind should use a widget.js with defineWidget rather than index.js with defineComponent.",
{ location: typeName, level: 1 }
{ location: typeName, level: 1 },
);
}
component.input = input.widgetProps;
@@ -135,7 +135,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
key,
ownerComponentDef,
isSplit,
isFakeComponent
isFakeComponent,
);
componentsContext.___legacyComponentDef = componentDef;

@@ -158,7 +158,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
out,
typeName,
customEvents,
ownerComponentId
ownerComponentId,
);
if (isSplit || widgetState) {
component.input = null;
@@ -167,7 +167,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
if ("MARKO_DEBUG") {
complain(
"Possible performance impact: this widget does not contain state, but is marked as a stateful widget. This will result in additional hydration data serialized. In order for marko to identify this as a split widget, w-bind should use a widget.js with defineWidget rather than index.js with defineComponent.",
{ location: typeName, level: 1 }
{ location: typeName, level: 1 },
);
}
component.input = input.widgetProps;
@@ -180,12 +180,12 @@ function createRendererFunc(templateRenderFunc, componentProps) {
ownerComponentDef,
isSplit,
false,
this
this,
);
} else {
vComponentNode.___component = component = registry.___createComponent(
typeName,
component.id
component.id,
);
}
this.___component = component;
@@ -206,7 +206,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
componentDef,
component,
component.___rawState,
out.global
out.global,
);

if (customEvents && componentDef.___component) {
@@ -216,7 +216,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
} else {
componentDef.___component.___setCustomEvents(
customEvents,
ownerComponentId
ownerComponentId,
);
}
}
20 changes: 10 additions & 10 deletions packages/marko/src/runtime/components/renderer.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
var copyProps = require("raptor-util/copyProps");
var beginComponent = require("@internal/components-beginComponent");
var endComponent = require("@internal/components-endComponent");
var registry = require("@internal/components-registry");
var componentsUtil = require("@internal/components-util");
var componentLookup = componentsUtil.___componentLookup;

var ComponentsContext = require("./ComponentsContext");
var getComponentsContext = ComponentsContext.___getComponentsContext;
var registry = require("@internal/components-registry");
var copyProps = require("raptor-util/copyProps");
var isServer = componentsUtil.___isServer === true;
var beginComponent = require("@internal/components-beginComponent");
var endComponent = require("@internal/components-endComponent");

var COMPONENT_BEGIN_ASYNC_ADDED_KEY = "$wa";

@@ -42,7 +42,7 @@ function handleBeginAsync(event) {
asyncOut.c(
parentOut.___assignedComponentDef,
parentOut.___assignedKey,
parentOut.___assignedCustomEvents
parentOut.___assignedCustomEvents,
);
}

@@ -56,7 +56,7 @@ function handleBeginDetachedAsync(event) {
function createRendererFunc(
templateRenderFunc,
componentProps,
renderingLogic
renderingLogic,
) {
var onInput = renderingLogic && renderingLogic.onInput;
var typeName = componentProps.t;
@@ -69,7 +69,7 @@ function createRendererFunc(
if ("MARKO_DEBUG") {
if (!componentProps.d) {
throw new Error(
"Component was compiled in a different NODE_ENV than the Marko runtime is using."
"Component was compiled in a different NODE_ENV than the Marko runtime is using.",
);
}
} else if (componentProps.d) {
@@ -130,7 +130,7 @@ function createRendererFunc(
out,
typeName,
customEvents,
ownerComponentId
ownerComponentId,
);

// This is the final input after running the lifecycle methods.
@@ -208,7 +208,7 @@ function createRendererFunc(
key,
ownerComponentDef,
isSplit,
isImplicitComponent
isImplicitComponent,
);

componentDef.___isExisting = isExisting;
@@ -221,7 +221,7 @@ function createRendererFunc(
componentDef,
component,
component.___rawState,
out.global
out.global,
);

endComponent(out, componentDef);
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/helpers/_change-case.js
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ exports.___dashToCamelCase = function dashToCamelCase(name) {
if (!nameCamel) {
nameCamel = dashToCamelLookup[name] = name.replace(
/-([a-z])/g,
matchToUpperCase
matchToUpperCase,
);

if (nameCamel !== name) {
22 changes: 11 additions & 11 deletions packages/marko/src/runtime/helpers/dynamic-tag.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
"use strict";

var complain = "MARKO_DEBUG" && require("complain");
var changeCase = require("./_change-case");
var w10NOOP = require("warp10/constants").NOOP;
var ComponentDef = require("../components/ComponentDef");
var ComponentsContext = require("../components/ComponentsContext");
var changeCase = require("./_change-case");
var getComponentsContext = ComponentsContext.___getComponentsContext;
var ComponentDef = require("../components/ComponentDef");
var w10NOOP = require("warp10/constants").NOOP;
var RENDER_BODY_TO_JSON = function () {
return w10NOOP;
};
@@ -26,7 +26,7 @@ module.exports = function dynamicTag(
props,
componentDef,
key,
customEvents
customEvents,
) {
if (tag) {
if (tag.default) {
@@ -42,7 +42,7 @@ module.exports = function dynamicTag(
attrs,
key,
componentDef,
addEvents(componentDef, customEvents, props)
addEvents(componentDef, customEvents, props),
);
renderBody(out);
out.___endElement();
@@ -52,7 +52,7 @@ module.exports = function dynamicTag(
attrs,
key,
componentDef,
addEvents(componentDef, customEvents, props)
addEvents(componentDef, customEvents, props),
);
}
} else {
@@ -73,7 +73,7 @@ module.exports = function dynamicTag(
if ("MARKO_DEBUG") {
if (tag.renderer && tag.renderer.renderer) {
complain(
"An object with a 'renderer' was passed to the dynamic tag, but renderer was another template."
"An object with a 'renderer' was passed to the dynamic tag, but renderer was another template.",
);
}
}
@@ -90,7 +90,7 @@ module.exports = function dynamicTag(
if ("MARKO_DEBUG") {
if (render.safeHTML || render.toHTML) {
throw new Error(
"Using `<include(x)/>` or the `<${dynamic}/>` tags with a `{ safeHTML: ... }` object is no longer supported. Use the unescaped text placeholder syntax instead."
"Using `<include(x)/>` or the `<${dynamic}/>` tags with a `{ safeHTML: ... }` object is no longer supported. Use the unescaped text placeholder syntax instead.",
);
}
}
@@ -107,7 +107,7 @@ module.exports = function dynamicTag(
componentsContext.___componentDef = new ComponentDef(
component,
parentComponentDef.id + "-" + parentComponentDef.___nextKey(key),
globalContext
globalContext,
);
render.toJSON = RENDER_BODY_TO_JSON;

@@ -131,7 +131,7 @@ module.exports = function dynamicTag(
component,
IS_SERVER &&
componentDef &&
componentDef.___flags & FLAG_WILL_RERENDER_IN_BROWSER
componentDef.___flags & FLAG_WILL_RERENDER_IN_BROWSER,
);
renderBody(out);
out.ef();
@@ -164,7 +164,7 @@ function addEvents(componentDef, customEvents, props) {
event[0],
event[1],
event[2],
event[3]
event[3],
);
}

4 changes: 2 additions & 2 deletions packages/marko/src/runtime/helpers/render-tag.js
Original file line number Diff line number Diff line change
@@ -9,12 +9,12 @@ module.exports = function renderTagHelper(
out,
componentDef,
key,
customEvents
customEvents,
) {
out.c(componentDef, key, customEvents);
(handler._ || (handler._ = handler.render || handler.renderer || handler))(
input,
out
out,
);
out.___assignedComponentDef = null;
};
16 changes: 8 additions & 8 deletions packages/marko/src/runtime/html/AsyncStream.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
"use strict";
var EventEmitter = require("events-light");
var StringWriter = require("./StringWriter");
var BufferedWriter = require("./BufferedWriter");
var selfClosingTags = require("self-closing-tags");
var RenderResult = require("../RenderResult");
var parseHTML = require("../vdom/parse-html");
var BufferedWriter = require("./BufferedWriter");
var attrsHelper = require("./helpers/attrs");
var markoAttr = require("./helpers/data-marko");
var escapeXmlHelper = require("./helpers/escape-xml");
var parseHTML = require("../vdom/parse-html");
var StringWriter = require("./StringWriter");
var escapeXmlOrNullish = escapeXmlHelper.x;
var escapeXmlString = escapeXmlHelper.___escapeXML;
var selfClosingTags = require("self-closing-tags");

function noop() {}

@@ -227,8 +227,8 @@ var proto = (AsyncStream.prototype = {
(name ? "(" + name + ") " : "") +
"timed out after " +
timeout +
"ms"
)
"ms",
),
);
}, timeout);
}
@@ -508,7 +508,7 @@ var proto = (AsyncStream.prototype = {
elementAttrs,
key,
componentDef,
props
props,
) {
var str =
"<" +
@@ -542,7 +542,7 @@ var proto = (AsyncStream.prototype = {
elementAttrs,
key,
componentDef,
props
props,
) {
var str =
"<" +
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/html/BufferedWriter.js
Original file line number Diff line number Diff line change
@@ -32,7 +32,7 @@ BufferedWriter.prototype = Object.assign(
}
},
},
StringWriter.prototype
StringWriter.prototype,
);

function flush(writer) {
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/html/helpers/attr.js
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ function notEmptyAttr(name, value) {
if ("MARKO_DEBUG") {
complain(
"Relying on JSON.stringify for attribute values is deprecated, in future versions of Marko these will be cast to strings instead.",
{ locationIndex: 2 }
{ locationIndex: 2 },
);
}

2 changes: 1 addition & 1 deletion packages/marko/src/runtime/html/helpers/attrs.js
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ module.exports = function attrs(arg) {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"Passing a string as a dynamic attribute value is deprecated - More details: https://github.com/marko-js/marko/wiki/Deprecation:-String-as-dynamic-attribute-value"
"Passing a string as a dynamic attribute value is deprecated - More details: https://github.com/marko-js/marko/wiki/Deprecation:-String-as-dynamic-attribute-value",
);
}
return arg;
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/html/helpers/class-attr.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

var attr = require("./attr");
var classHelper = require("../../helpers/class-value");
var attr = require("./attr");

module.exports = function classAttr(value) {
return attr("class", classHelper(value));
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/html/helpers/data-marko.js
Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@ module.exports = function dataMarko(out, componentDef, props, key) {
result +=
' data-marko-key="' +
escapeDoubleQuotes(
componentDef.___nextKey(key) + " " + componentDef.id
componentDef.___nextKey(key) + " " + componentDef.id,
) +
'"';
}
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/html/helpers/merge-attrs.js
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ module.exports = function mergeAttrs() {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"Passing a string as dynamic attributes ('<div ${string}>' or '<div ...string>') is deprecated, use an object instead."
"Passing a string as dynamic attributes ('<div ${string}>' or '<div ...string>') is deprecated, use an object instead.",
);
}

@@ -35,7 +35,7 @@ module.exports = function mergeAttrs() {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"Passing a string as dynamic attributes ('<div ${string}>' or '<div ...string>') is deprecated, use an object instead."
"Passing a string as dynamic attributes ('<div ${string}>' or '<div ...string>') is deprecated, use an object instead.",
);
}

2 changes: 1 addition & 1 deletion packages/marko/src/runtime/html/helpers/style-attr.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"use strict";

var attr = require("./attr");
var styleHelper = require("../../helpers/style-value");
var attr = require("./attr");

module.exports = function styleAttr(value) {
return attr("style", styleHelper(value));
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/html/index.js
Original file line number Diff line number Diff line change
@@ -26,10 +26,10 @@ require("../createOut").___setCreateOut(
globalData,
writer,
parentOut,
buffer
buffer,
) {
return new AsyncStream(globalData, writer, parentOut, buffer);
})
}),
);

require("../renderable")(Template.prototype);
8 changes: 4 additions & 4 deletions packages/marko/src/runtime/queueMicrotask.js
Original file line number Diff line number Diff line change
@@ -3,10 +3,10 @@ module.exports =
typeof queueMicrotask === "function"
? queueMicrotask
: typeof Promise === "function" && (promise = Promise.resolve())
? function (cb) {
promise.then(cb).catch(rethrow);
}
: setTimeout;
? function (cb) {
promise.then(cb).catch(rethrow);
}
: setTimeout;
function rethrow(err) {
setTimeout(function () {
throw err;
6 changes: 3 additions & 3 deletions packages/marko/src/runtime/renderable.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"use strict";

var defaultCreateOut = require("./createOut");
var setImmediate = require("@internal/set-immediate").___setImmediate;
var extend = require("raptor-util/extend");
var setImmediate = require("@internal/set-immediate").___setImmediate;
var defaultCreateOut = require("./createOut");

function safeRender(renderFunc, finalData, finalOut, shouldEnd) {
try {
@@ -123,7 +123,7 @@ module.exports = function (target, renderer) {
globalData, // global
out, // writer(AsyncStream) or parentNode(AsyncVDOMBuilder)
undefined, // parentOut
shouldBuffer // ignored by AsyncVDOMBuilder
shouldBuffer, // ignored by AsyncVDOMBuilder
);
}

18 changes: 9 additions & 9 deletions packages/marko/src/runtime/vdom/AsyncVDOMBuilder.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
var EventEmitter = require("events-light");
var RenderResult = require("../RenderResult");
var attrsHelper = require("./helpers/attrs");
var morphdom = require("./morphdom");
var vdom = require("./vdom");
var VElement = vdom.___VElement;
var VDocumentFragment = vdom.___VDocumentFragment;
var VText = vdom.___VText;
var VComponent = vdom.___VComponent;
var VFragment = vdom.___VFragment;
var virtualizeHTML = vdom.___virtualizeHTML;
var RenderResult = require("../RenderResult");
var morphdom = require("./morphdom");
var attrsHelper = require("./helpers/attrs");

var EVENT_UPDATE = "update";
var EVENT_FINISH = "finish";
@@ -82,7 +82,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
component,
childCount,
flags,
props
props,
);
return this.___beginNode(element, childCount);
},
@@ -95,7 +95,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
componentDef.___component,
0,
0,
props
props,
);
},

@@ -149,7 +149,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
component,
childCount,
flags,
props
props,
) {
var element = new VElement(
tagName,
@@ -158,7 +158,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
component,
childCount,
flags,
props
props,
);
this.___beginNode(element, childCount, true);
return this;
@@ -172,7 +172,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
componentDef.___component,
0,
0,
props
props,
);
},

@@ -269,7 +269,7 @@ var proto = (AsyncVDOMBuilder.prototype = {
beginAsync: function (options) {
if (this.___sync) {
throw Error(
"Tried to render async while in sync mode. Note: Client side await is not currently supported in re-renders (Issue: #942)."
"Tried to render async while in sync mode. Note: Client side await is not currently supported in re-renders (Issue: #942).",
);
}

2 changes: 1 addition & 1 deletion packages/marko/src/runtime/vdom/VComponent.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var VNode = require("./VNode");
var inherit = require("raptor-util/inherit");
var VNode = require("./VNode");

function VComponent(component, key, ownerComponent, preserve) {
this.___VNode(null /* childCount */, ownerComponent);
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/vdom/VDocumentFragment.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var VNode = require("./VNode");
var inherit = require("raptor-util/inherit");
var extend = require("raptor-util/extend");
var inherit = require("raptor-util/inherit");
var VNode = require("./VNode");

function VDocumentFragmentClone(other) {
extend(this, other);
22 changes: 11 additions & 11 deletions packages/marko/src/runtime/vdom/VElement.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/* jshint newcap:false */

var complain = "MARKO_DEBUG" && require("complain");
var domData = require("../components/dom-data");
var inherit = require("raptor-util/inherit");
var componentsUtil = require("@internal/components-util");
var domData = require("../components/dom-data");
var vElementByDOMNode = domData.___vElementByDOMNode;
var VNode = require("./VNode");
var inherit = require("raptor-util/inherit");
var ATTR_XLINK_HREF = "xlink:href";
var xmlnsRegExp = /^xmlns(:|$)/;
var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -37,7 +37,7 @@ function convertAttrValue(type, value) {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"Relying on JSON.stringify for attribute values is deprecated, in future versions of Marko these will be cast to strings instead."
"Relying on JSON.stringify for attribute values is deprecated, in future versions of Marko these will be cast to strings instead.",
);
}
return JSON.stringify(value);
@@ -94,7 +94,7 @@ function VElement(
ownerComponent,
childCount,
flags,
props
props,
) {
this.___VNode(childCount, ownerComponent);

@@ -138,8 +138,8 @@ VElement.prototype = {
ownerComponent,
childCount,
flags,
props
)
props,
),
);

if (childCount === 0) {
@@ -170,7 +170,7 @@ VElement.prototype = {
var flags = this.___flags;
var el = (host.ownerDocument || host).createElementNS(
namespaceURI,
tagName
tagName,
);

if (flags & FLAG_CUSTOM_ELEMENT) {
@@ -237,9 +237,9 @@ defineProperty(proto, "___value", {
return value != null && value !== false
? value + ""
: this.___attributes.type === "checkbox" ||
this.___attributes.type === "radio"
? "on"
: "";
this.___attributes.type === "radio"
? "on"
: "";
},
});

@@ -288,7 +288,7 @@ function virtualizeElement(node, virtualizeChildNodes, ownerComponent) {
ownerComponent,
0 /*child count*/,
0 /*flags*/,
props
props,
);

if (vdomEl.___nodeName === "textarea") {
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/vdom/VFragment.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
var inherit = require("raptor-util/inherit");
var domData = require("../components/dom-data");
var keysByDOMNode = domData.___keyByDOMNode;
var vElementByDOMNode = domData.___vElementByDOMNode;
var VNode = require("./VNode");
var inherit = require("raptor-util/inherit");
var createFragmentNode = require("./morphdom/fragment").___createFragmentNode;
var VNode = require("./VNode");

function VFragment(key, ownerComponent, preserve) {
this.___VNode(null /* childCount */, ownerComponent);
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/vdom/VText.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
var VNode = require("./VNode");
var inherit = require("raptor-util/inherit");
var VNode = require("./VNode");

function VText(value, ownerComponent) {
this.___VNode(-1 /* no children */, ownerComponent);
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/vdom/helpers/attrs.js
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ module.exports = function (attributes) {
// eslint-disable-next-line no-constant-condition
if ("MARKO_DEBUG") {
complain(
"Passing a string as a dynamic attribute value is deprecated - More details: https://github.com/marko-js/marko/wiki/Deprecation:-String-as-dynamic-attribute-value"
"Passing a string as a dynamic attribute value is deprecated - More details: https://github.com/marko-js/marko/wiki/Deprecation:-String-as-dynamic-attribute-value",
);
}
return parseAttrs(attributes);
2 changes: 1 addition & 1 deletion packages/marko/src/runtime/vdom/helpers/v-element.js
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ module.exports = function (
component,
childCount,
flags,
props
props,
) {
return new VElement(tagName, attrs, key, component, childCount, flags, props);
};
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/vdom/hot-reload.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
var runtime = require(".");
var queueMicrotask = require("../queueMicrotask");
var registry = require("@internal/components-registry");
var updateManager = require("../components/update-manager");
var queueMicrotask = require("../queueMicrotask");
var runtime = require(".");

var createTemplate = runtime.t;
var createComponent = registry.___createComponent;
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/vdom/index.js
Original file line number Diff line number Diff line change
@@ -23,10 +23,10 @@ require("../createOut").___setCreateOut(
(Template.prototype.createOut = function createOut(
globalData,
parent,
parentOut
parentOut,
) {
return new AsyncVDOMBuilder(globalData, parent, parentOut);
})
}),
);

require("../renderable")(Template.prototype);
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/vdom/morphdom/fragment.js
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ var fragmentPrototype = {
return insertBefore(
newChildNode,
actualReference,
this.startNode.parentNode
this.startNode.parentNode,
);
},
insertInto: function (newParentNode, referenceNode) {
@@ -85,7 +85,7 @@ function beginFragmentNode(startNode, parentNode) {
insertBefore(
fragment.endNode,
nextNode,
parentNode || startNode.parentNode
parentNode || startNode.parentNode,
);
};
return fragment;
4 changes: 2 additions & 2 deletions packages/marko/src/runtime/vdom/morphdom/helpers.js
Original file line number Diff line number Diff line change
@@ -4,15 +4,15 @@ function insertBefore(node, referenceNode, parentNode) {
}
return parentNode.insertBefore(
node,
(referenceNode && referenceNode.startNode) || referenceNode
(referenceNode && referenceNode.startNode) || referenceNode,
);
}

function insertAfter(node, referenceNode, parentNode) {
return insertBefore(
node,
referenceNode && referenceNode.nextSibling,
parentNode
parentNode,
);
}

Loading

0 comments on commit 69b3ff5

Please sign in to comment.