@hymarkx/compiler 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emit/document.d.ts +30 -0
- package/dist/emit/document.d.ts.map +1 -0
- package/dist/emit/document.js +104 -0
- package/dist/emit/document.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { CompileResult } from '../types.js';
|
|
2
|
+
import type { Diagnostic } from '@hymarkx/ast';
|
|
3
|
+
/**
|
|
4
|
+
* Assembles a complete HTML document from a compile result.
|
|
5
|
+
*
|
|
6
|
+
* `compile()` deliberately produces a fragment: embedding HMX output inside a host page is a
|
|
7
|
+
* first-class use, and the emitter should not acquire a "sometimes it's a whole page" mode. But
|
|
8
|
+
* a fragment cannot be opened in a browser — no doctype, no charset, no title, no viewport — so
|
|
9
|
+
* `hmx build` needs this to produce something that stands on its own.
|
|
10
|
+
*
|
|
11
|
+
* Driven by frontmatter keys Phase 2 already reserved and type-validated (`title`,
|
|
12
|
+
* `description`, `lang`) and never consumed. This finishes them rather than inventing anything.
|
|
13
|
+
*
|
|
14
|
+
* Pure by requirement, not by preference: ADR-0005 confines Node builtins to the CLI and the
|
|
15
|
+
* language server, and `scripts/check-boundaries.mjs` enforces it.
|
|
16
|
+
*/
|
|
17
|
+
export interface DocumentOptions {
|
|
18
|
+
/** Names the document when frontmatter has no title and the content has no heading. */
|
|
19
|
+
readonly from?: string;
|
|
20
|
+
/** Inline the CSS and JS instead of linking sidecars, for stdout and the dev server. */
|
|
21
|
+
readonly inline?: boolean;
|
|
22
|
+
/** Base name for sidecar links. Defaults to `index`. */
|
|
23
|
+
readonly assetName?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface DocumentResult {
|
|
26
|
+
readonly html: string;
|
|
27
|
+
readonly diagnostics: readonly Diagnostic[];
|
|
28
|
+
}
|
|
29
|
+
export declare function renderDocument(result: CompileResult, options?: DocumentOptions): DocumentResult;
|
|
30
|
+
//# sourceMappingURL=document.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/emit/document.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE9C;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,wFAAwF;IACxF,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,wDAAwD;IACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAC5C;AAuDD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,eAAoB,GAC5B,cAAc,CAkEhB"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { createDiagnostic } from '@hymarkx/ast';
|
|
2
|
+
import { escapeHtml } from './escape.js';
|
|
3
|
+
/**
|
|
4
|
+
* A BCP-47-shaped tag: alphanumeric subtags joined by hyphens, each bounded.
|
|
5
|
+
*
|
|
6
|
+
* Validated rather than merely escaped. Escaping would keep the attribute safe while leaving
|
|
7
|
+
* nonsense inside it; validating keeps the document correct as well as safe, and a language tag
|
|
8
|
+
* is a constrained vocabulary rather than free text.
|
|
9
|
+
*/
|
|
10
|
+
const LANGUAGE_TAG = /^[A-Za-z]{1,8}(?:-[A-Za-z0-9]{1,8})*$/;
|
|
11
|
+
const DEFAULT_LANGUAGE = 'en';
|
|
12
|
+
const ZERO_SPAN = {
|
|
13
|
+
start: { line: 1, column: 1, offset: 0 },
|
|
14
|
+
end: { line: 1, column: 1, offset: 0 },
|
|
15
|
+
};
|
|
16
|
+
/** Reads a reserved string key from frontmatter, ignoring anything of the wrong type or empty. */
|
|
17
|
+
function frontmatterString(result, key) {
|
|
18
|
+
const frontmatter = result.frontmatter;
|
|
19
|
+
const value = frontmatter?.[key];
|
|
20
|
+
if (typeof value !== 'string') {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
const trimmed = value.trim();
|
|
24
|
+
return trimmed === '' ? undefined : trimmed;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The document's title, in falling order of preference: frontmatter, first heading, filename.
|
|
28
|
+
*
|
|
29
|
+
* Reading the heading back out of emitted HTML is parsing our own deterministic output, which is
|
|
30
|
+
* the same approach `scripts/generate-evolution-svg.mjs` takes. If it ever proves fragile the
|
|
31
|
+
* better fix is surfacing the first heading on `CompileResult`, deliberately rather than by
|
|
32
|
+
* making this regex cleverer.
|
|
33
|
+
*/
|
|
34
|
+
function resolveTitle(result, from) {
|
|
35
|
+
const declared = frontmatterString(result, 'title');
|
|
36
|
+
if (declared !== undefined) {
|
|
37
|
+
return declared;
|
|
38
|
+
}
|
|
39
|
+
const heading = /<h1\b[^>]*>([\s\S]*?)<\/h1>/.exec(result.html)?.[1];
|
|
40
|
+
if (heading !== undefined) {
|
|
41
|
+
const text = heading.replace(/<[^>]+>/g, '').trim();
|
|
42
|
+
if (text !== '') {
|
|
43
|
+
return text;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const name = (from ?? 'index').split(/[\\/]/).pop() ?? 'index';
|
|
47
|
+
return name.replace(/\.[^.]+$/, '') || 'index';
|
|
48
|
+
}
|
|
49
|
+
export function renderDocument(result, options = {}) {
|
|
50
|
+
const diagnostics = [];
|
|
51
|
+
const assetName = options.assetName ?? 'index';
|
|
52
|
+
const inline = options.inline === true;
|
|
53
|
+
let language = DEFAULT_LANGUAGE;
|
|
54
|
+
const declaredLanguage = frontmatterString(result, 'lang');
|
|
55
|
+
if (declaredLanguage !== undefined) {
|
|
56
|
+
if (LANGUAGE_TAG.test(declaredLanguage)) {
|
|
57
|
+
language = declaredLanguage;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
diagnostics.push(createDiagnostic({
|
|
61
|
+
code: 'HMX2023',
|
|
62
|
+
severity: 'warning',
|
|
63
|
+
message: `Frontmatter "lang" is not a valid language tag; using "${DEFAULT_LANGUAGE}" instead.`,
|
|
64
|
+
span: ZERO_SPAN,
|
|
65
|
+
expected: 'a BCP-47 tag such as "en", "en-GB", or "ar"',
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const head = [
|
|
70
|
+
'<meta charset="utf-8">',
|
|
71
|
+
'<meta name="viewport" content="width=device-width, initial-scale=1">',
|
|
72
|
+
`<title>${escapeHtml(resolveTitle(result, options.from))}</title>`,
|
|
73
|
+
];
|
|
74
|
+
const description = frontmatterString(result, 'description');
|
|
75
|
+
if (description !== undefined) {
|
|
76
|
+
head.push(`<meta name="description" content="${escapeHtml(description)}">`);
|
|
77
|
+
}
|
|
78
|
+
// No file, no reference — the same rule the sidecar writer follows.
|
|
79
|
+
if (result.css !== '') {
|
|
80
|
+
head.push(inline
|
|
81
|
+
? `<style>\n${result.css}</style>`
|
|
82
|
+
: `<link rel="stylesheet" href="${escapeHtml(assetName)}.css">`);
|
|
83
|
+
}
|
|
84
|
+
const body = [result.html.trimEnd()];
|
|
85
|
+
if (result.js !== '') {
|
|
86
|
+
body.push(inline
|
|
87
|
+
? `<script>\n${result.js}</script>`
|
|
88
|
+
: `<script src="${escapeHtml(assetName)}.js"></script>`);
|
|
89
|
+
}
|
|
90
|
+
const html = [
|
|
91
|
+
'<!doctype html>',
|
|
92
|
+
`<html lang="${escapeHtml(language)}">`,
|
|
93
|
+
'<head>',
|
|
94
|
+
...head,
|
|
95
|
+
'</head>',
|
|
96
|
+
'<body>',
|
|
97
|
+
...body,
|
|
98
|
+
'</body>',
|
|
99
|
+
'</html>',
|
|
100
|
+
'',
|
|
101
|
+
].join('\n');
|
|
102
|
+
return { html, diagnostics };
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/emit/document.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { builtinComponents, compileComponents, diagnosticOrigin, renderDiagnosti
|
|
|
12
12
|
export type { AuthoredComponent, CompileComponentsResult } from './components/authored.js';
|
|
13
13
|
export type { DiagnosticOrigin } from './diagnostic-origin.js';
|
|
14
14
|
export type { RenderDiagnosticOptions } from './diagnostics/render.js';
|
|
15
|
+
export { renderDocument } from './emit/document.js';
|
|
16
|
+
export type { DocumentOptions, DocumentResult } from './emit/document.js';
|
|
15
17
|
export type { Backend, EmitResult } from './emit/backend.js';
|
|
16
18
|
export type { CompileOptions, CompileResult, FrontmatterScalar, FrontmatterValue, TrustMode, } from './types.js';
|
|
17
19
|
export type { AttributeSchema, AttributeType, ComponentRegistry, ComponentRenderer, ComponentSchema, DirectiveKind, RenderedElement, RenderPlan, ResolvedAttribute, ResolvedAttributes, } from './components/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,cAAc,CAAA;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAA4B,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAE,gBAAgB,EAAuB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAK7E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/D,+DAA+D;AAC/D,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAmCnF;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,aAAa,CA6Cf;AAED,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC5D,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,cAAc,CAAA;AAGpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAA4B,MAAM,0BAA0B,CAAA;AACtF,OAAO,EAAE,gBAAgB,EAAuB,MAAM,wBAAwB,CAAA;AAC9E,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAK7E,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/D,+DAA+D;AAC/D,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa,CAmCnF;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,cAAmB,GAC3B,aAAa,CA6Cf;AAED,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,CAAA;AACD,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACzE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC5D,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -89,4 +89,5 @@ export function compileAst(root, source, options = {}) {
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
export { builtinComponents, compileComponents, diagnosticOrigin, renderDiagnostic, renderDiagnostics, };
|
|
92
|
+
export { renderDocument } from './emit/document.js';
|
|
92
93
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hymarkx/compiler",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Trust-aware HTML compiler and diagnostic renderer for HyMarkX (HMX).",
|
|
5
5
|
"license": "MIT OR Apache-2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"postcss": "^8.5.26",
|
|
31
31
|
"postcss-selector-parser": "^7.1.1",
|
|
32
32
|
"yaml": "^2.9.0",
|
|
33
|
-
"@hymarkx/ast": "0.0.
|
|
34
|
-
"@hymarkx/parser": "0.0.
|
|
33
|
+
"@hymarkx/ast": "0.0.4",
|
|
34
|
+
"@hymarkx/parser": "0.0.4"
|
|
35
35
|
},
|
|
36
36
|
"engines": {
|
|
37
37
|
"node": ">=22"
|