@lowlighter/markdown 1.2.3 → 3.0.1
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/README.md +31 -33
- package/mod.d.ts +34 -0
- package/mod.js +22 -0
- package/package.json +117 -40
- package/plugins/anchors.d.ts +11 -0
- package/plugins/anchors.js +39 -0
- package/plugins/callouts.d.ts +14 -0
- package/plugins/callouts.js +31 -0
- package/plugins/directives.d.ts +24 -0
- package/plugins/directives.js +76 -0
- package/plugins/emojis.d.ts +11 -0
- package/plugins/emojis.js +15 -0
- package/plugins/frontmatter.d.ts +20 -0
- package/plugins/frontmatter.js +49 -0
- package/plugins/gfm.d.ts +18 -0
- package/plugins/gfm.js +43 -0
- package/plugins/{highlighting.ts → highlighting.d.ts} +2 -11
- package/plugins/highlighting.js +24 -0
- package/plugins/markers.d.ts +15 -0
- package/plugins/markers.js +30 -0
- package/plugins/math.d.ts +21 -0
- package/plugins/math.js +75 -0
- package/plugins/mermaid.d.ts +25 -0
- package/plugins/mermaid.js +32 -0
- package/plugins/mod.d.ts +15 -0
- package/plugins/mod.js +14 -0
- package/plugins/{ruby.ts → ruby.d.ts} +2 -11
- package/plugins/ruby.js +28 -0
- package/plugins/uncomments.d.ts +13 -0
- package/plugins/uncomments.js +28 -0
- package/plugins/wikilinks.d.ts +26 -0
- package/plugins/wikilinks.js +45 -0
- package/presets/default.d.ts +3 -0
- package/presets/default.js +9 -0
- package/presets/svg.d.ts +3 -0
- package/presets/svg.js +11 -0
- package/presets/text.d.ts +3 -0
- package/presets/text.js +11 -0
- package/presets/web.d.ts +3 -0
- package/presets/web.js +12 -0
- package/renderer.d.ts +62 -0
- package/renderer.js +70 -0
- package/types.d.ts +85 -0
- package/types.js +10 -0
- package/deno.jsonc +0 -124
- package/deno.lock +0 -2393
- package/mod.mjs +0 -1
- package/mod.ts +0 -2
- package/mod_test.ts +0 -1
- package/plugins/anchors.mjs +0 -1
- package/plugins/anchors.ts +0 -21
- package/plugins/anchors_test.ts +0 -8
- package/plugins/directives.mjs +0 -1
- package/plugins/directives.ts +0 -112
- package/plugins/directives_test.ts +0 -13
- package/plugins/emojis.mjs +0 -1
- package/plugins/emojis.ts +0 -20
- package/plugins/emojis_test.ts +0 -8
- package/plugins/frontmatter.mjs +0 -1
- package/plugins/frontmatter.ts +0 -43
- package/plugins/frontmatter_test.ts +0 -18
- package/plugins/gfm.mjs +0 -1
- package/plugins/gfm.ts +0 -14
- package/plugins/gfm_test.ts +0 -28
- package/plugins/highlighting.mjs +0 -1
- package/plugins/highlighting_test.ts +0 -8
- package/plugins/linebreaks.mjs +0 -1
- package/plugins/linebreaks.ts +0 -21
- package/plugins/linebreaks_test.ts +0 -8
- package/plugins/markers.mjs +0 -1
- package/plugins/markers.ts +0 -25
- package/plugins/markers_test.ts +0 -13
- package/plugins/math.mjs +0 -1
- package/plugins/math.ts +0 -25
- package/plugins/math_test.ts +0 -8
- package/plugins/mermaid.mjs +0 -1
- package/plugins/mermaid.ts +0 -41
- package/plugins/mermaid_test.ts +0 -8
- package/plugins/mod.mjs +0 -1
- package/plugins/mod.ts +0 -14
- package/plugins/ruby.mjs +0 -1
- package/plugins/ruby_test.ts +0 -8
- package/plugins/sanitize.mjs +0 -1
- package/plugins/sanitize.ts +0 -26
- package/plugins/sanitize_test.ts +0 -15
- package/plugins/uncomments.mjs +0 -1
- package/plugins/uncomments.ts +0 -20
- package/plugins/uncomments_test.ts +0 -8
- package/plugins/wikilinks.mjs +0 -1
- package/plugins/wikilinks.ts +0 -40
- package/plugins/wikilinks_test.ts +0 -14
- package/renderer.mjs +0 -1
- package/renderer.ts +0 -138
- package/renderer_test.ts +0 -19
package/presets/svg.d.ts
ADDED
package/presets/svg.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Imports
|
|
2
|
+
import { Renderer } from "../renderer.js";
|
|
3
|
+
/** Renderer instance. */ const renderer = new Renderer({
|
|
4
|
+
highlighting: true
|
|
5
|
+
});
|
|
6
|
+
/**
|
|
7
|
+
* Renders a markdown expression suitable for SVG (raw HTML is escaped so the output only contains markup generated by the renderer itself).
|
|
8
|
+
*/ export function markdown(text) {
|
|
9
|
+
return renderer.render(text);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9saWJzL2xpYnMvQGxpYnMvbWFya2Rvd24vcHJlc2V0cy9zdmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tIFwiLi4vcmVuZGVyZXIuanNcIlxuXG4vKiogUmVuZGVyZXIgaW5zdGFuY2UuICovXG5jb25zdCByZW5kZXJlciA9IG5ldyBSZW5kZXJlcih7IGhpZ2hsaWdodGluZzogdHJ1ZSB9KVxuXG4vKipcbiAqIFJlbmRlcnMgYSBtYXJrZG93biBleHByZXNzaW9uIHN1aXRhYmxlIGZvciBTVkcgKHJhdyBIVE1MIGlzIGVzY2FwZWQgc28gdGhlIG91dHB1dCBvbmx5IGNvbnRhaW5zIG1hcmt1cCBnZW5lcmF0ZWQgYnkgdGhlIHJlbmRlcmVyIGl0c2VsZikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93bih0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVuZGVyZXIucmVuZGVyKHRleHQpXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLFNBQVMsUUFBUSxRQUFRLGlCQUFnQjtBQUV6Qyx1QkFBdUIsR0FDdkIsTUFBTSxXQUFXLElBQUksU0FBUztFQUFFLGNBQWM7QUFBSztBQUVuRDs7Q0FFQyxHQUNELE9BQU8sU0FBUyxTQUFTLElBQVk7RUFDbkMsT0FBTyxTQUFTLE1BQU0sQ0FBQztBQUN6QiJ9
|
package/presets/text.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright (c) - 2025+ the lowlighter/esquie authors. AGPL-3.0-or-later
|
|
2
|
+
import { Renderer } from "../renderer.js";
|
|
3
|
+
/** Renderer instance. */ const renderer = new Renderer({
|
|
4
|
+
html: true
|
|
5
|
+
});
|
|
6
|
+
/**
|
|
7
|
+
* Renders a markdown expression as plain text (all HTML is stripped).
|
|
8
|
+
*/ export function markdown(text) {
|
|
9
|
+
return renderer.render(text).replace(/<(script|style)[\s\S]*?<\/\1>/gi, "").replace(/<[^>]+>/g, "").trim();
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9saWJzL2xpYnMvQGxpYnMvbWFya2Rvd24vcHJlc2V0cy90ZXh0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgLSAyMDI1KyB0aGUgbG93bGlnaHRlci9lc3F1aWUgYXV0aG9ycy4gQUdQTC0zLjAtb3ItbGF0ZXJcbmltcG9ydCB7IFJlbmRlcmVyIH0gZnJvbSBcIi4uL3JlbmRlcmVyLmpzXCJcblxuLyoqIFJlbmRlcmVyIGluc3RhbmNlLiAqL1xuY29uc3QgcmVuZGVyZXIgPSBuZXcgUmVuZGVyZXIoeyBodG1sOiB0cnVlIH0pXG5cbi8qKlxuICogUmVuZGVycyBhIG1hcmtkb3duIGV4cHJlc3Npb24gYXMgcGxhaW4gdGV4dCAoYWxsIEhUTUwgaXMgc3RyaXBwZWQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFya2Rvd24odGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlbmRlcmVyLnJlbmRlcih0ZXh0KVxuICAgIC5yZXBsYWNlKC88KHNjcmlwdHxzdHlsZSlbXFxzXFxTXSo/PFxcL1xcMT4vZ2ksIFwiXCIpXG4gICAgLnJlcGxhY2UoLzxbXj5dKz4vZywgXCJcIilcbiAgICAudHJpbSgpXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUVBQXlFO0FBQ3pFLFNBQVMsUUFBUSxRQUFRLGlCQUFnQjtBQUV6Qyx1QkFBdUIsR0FDdkIsTUFBTSxXQUFXLElBQUksU0FBUztFQUFFLE1BQU07QUFBSztBQUUzQzs7Q0FFQyxHQUNELE9BQU8sU0FBUyxTQUFTLElBQVk7RUFDbkMsT0FBTyxTQUFTLE1BQU0sQ0FBQyxNQUNwQixPQUFPLENBQUMsbUNBQW1DLElBQzNDLE9BQU8sQ0FBQyxZQUFZLElBQ3BCLElBQUk7QUFDVCJ9
|
package/presets/web.d.ts
ADDED
package/presets/web.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Imports
|
|
2
|
+
import { Renderer } from "../renderer.js";
|
|
3
|
+
/** Renderer instance. */ const renderer = new Renderer({
|
|
4
|
+
html: true,
|
|
5
|
+
highlighting: true
|
|
6
|
+
});
|
|
7
|
+
/**
|
|
8
|
+
* Renders a markdown expression suitable for web pages (including untrusted HTML).
|
|
9
|
+
*/ export function markdown(text) {
|
|
10
|
+
return renderer.render(text);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9saWJzL2xpYnMvQGxpYnMvbWFya2Rvd24vcHJlc2V0cy93ZWIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tIFwiLi4vcmVuZGVyZXIuanNcIlxuXG4vKiogUmVuZGVyZXIgaW5zdGFuY2UuICovXG5jb25zdCByZW5kZXJlciA9IG5ldyBSZW5kZXJlcih7IGh0bWw6IHRydWUsIGhpZ2hsaWdodGluZzogdHJ1ZSB9KVxuXG4vKipcbiAqIFJlbmRlcnMgYSBtYXJrZG93biBleHByZXNzaW9uIHN1aXRhYmxlIGZvciB3ZWIgcGFnZXMgKGluY2x1ZGluZyB1bnRydXN0ZWQgSFRNTCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXJrZG93bih0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVuZGVyZXIucmVuZGVyKHRleHQpXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLFNBQVMsUUFBUSxRQUFRLGlCQUFnQjtBQUV6Qyx1QkFBdUIsR0FDdkIsTUFBTSxXQUFXLElBQUksU0FBUztFQUFFLE1BQU07RUFBTSxjQUFjO0FBQUs7QUFFL0Q7O0NBRUMsR0FDRCxPQUFPLFNBQVMsU0FBUyxJQUFZO0VBQ25DLE9BQU8sU0FBUyxNQUFNLENBQUM7QUFDekIifQ==
|
package/renderer.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { MarkdownIt } from "./types.js";
|
|
2
|
+
import { type DirectivesOptions } from "./plugins/directives.js";
|
|
3
|
+
import { type WikilinksOptions } from "./plugins/wikilinks.js";
|
|
4
|
+
/** Renderer options. */ export type RendererOptions = {
|
|
5
|
+
/** Enable GitHub Flavored Markdown (tables, strikethrough, autolinks, footnotes and tasklists). */ gfm?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* Allow raw HTML to pass through.
|
|
8
|
+
*
|
|
9
|
+
* When disabled (default), raw HTML is escaped and rendered as text, which makes the output safe against HTML injection.
|
|
10
|
+
*/ html?: boolean;
|
|
11
|
+
/** Render line-breaks as hard-breaks (`<br>`). */ breaks?: boolean;
|
|
12
|
+
/** Add anchors to headings and autolink them. */ anchors?: boolean;
|
|
13
|
+
/** Enable Obsidian-style callouts (`> [!note]`). */ callouts?: boolean;
|
|
14
|
+
/** Enable custom directives (`:::name`). */ directives?: boolean | DirectivesOptions;
|
|
15
|
+
/** Enable emojis shortcodes (`:bento:`). */ emojis?: boolean;
|
|
16
|
+
/** Parse YAML frontmatter (retrieve it by passing `metadata: true` to the render method). */ frontmatter?: boolean;
|
|
17
|
+
/** Enable syntax highlighting of code blocks. */ highlighting?: boolean;
|
|
18
|
+
/** Enable markers (`==foo==`). */ markers?: boolean;
|
|
19
|
+
/** Enable math expressions (`$foo$`, `$$foo$$`), rendered as markup intended for client-side processing by KaTeX or MathJax. */ math?: boolean;
|
|
20
|
+
/** Enable mermaid diagrams, rendered as markup intended for client-side processing by mermaid. */ mermaid?: boolean;
|
|
21
|
+
/** Enable ruby annotations (`{漢字}^(kanji)`). */ ruby?: boolean;
|
|
22
|
+
/** Remove HTML comments. */ uncomments?: boolean;
|
|
23
|
+
/** Enable wiki links (`[[foo]]`). */ wikilinks?: boolean | WikilinksOptions;
|
|
24
|
+
/** Hook direct access to the underlying {@link https://github.com/markdown-it/markdown-it | markdown-it} instance for custom rules and renderers. */ hooks?: (engine: MarkdownIt) => void;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Markdown renderer.
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { Renderer } from "./renderer.ts"
|
|
31
|
+
* const renderer = new Renderer({ highlighting: true, math: true, wikilinks: true })
|
|
32
|
+
* renderer.render("# Hello, world!")
|
|
33
|
+
* ```
|
|
34
|
+
*/ export declare class Renderer {
|
|
35
|
+
/** Constructor. */ constructor(options?: RendererOptions);
|
|
36
|
+
/** Options used to instantiate this renderer. */ readonly options: Readonly<RendererOptions>;
|
|
37
|
+
/**
|
|
38
|
+
* Render markdown content into an HTML string.
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { Renderer } from "./renderer.ts"
|
|
42
|
+
* new Renderer().render("# Hello, world!")
|
|
43
|
+
* ```
|
|
44
|
+
*/ render(content: string, options?: {
|
|
45
|
+
metadata?: false;
|
|
46
|
+
}): string;
|
|
47
|
+
/**
|
|
48
|
+
* Render markdown content into an HTML string with parsed metadata.
|
|
49
|
+
*
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { Renderer } from "./renderer.ts"
|
|
52
|
+
* const renderer = new Renderer({ frontmatter: true })
|
|
53
|
+
* const { value, metadata } = renderer.render("---\ntitle: foo\n---\nbar", { metadata: true })
|
|
54
|
+
* console.log(metadata.frontmatter) // { title: "foo" }
|
|
55
|
+
* ```
|
|
56
|
+
*/ render(content: string, options: {
|
|
57
|
+
metadata: true;
|
|
58
|
+
}): {
|
|
59
|
+
value: string;
|
|
60
|
+
metadata: Record<PropertyKey, unknown>;
|
|
61
|
+
};
|
|
62
|
+
}
|
package/renderer.js
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Imports
|
|
2
|
+
import untyped from "markdown-it";
|
|
3
|
+
import anchors from "./plugins/anchors.js";
|
|
4
|
+
import callouts from "./plugins/callouts.js";
|
|
5
|
+
import directives from "./plugins/directives.js";
|
|
6
|
+
import emojis from "./plugins/emojis.js";
|
|
7
|
+
import frontmatter from "./plugins/frontmatter.js";
|
|
8
|
+
import gfm from "./plugins/gfm.js";
|
|
9
|
+
import highlighting from "./plugins/highlighting.js";
|
|
10
|
+
import markers from "./plugins/markers.js";
|
|
11
|
+
import math from "./plugins/math.js";
|
|
12
|
+
import mermaid from "./plugins/mermaid.js";
|
|
13
|
+
import ruby from "./plugins/ruby.js";
|
|
14
|
+
import uncomments from "./plugins/uncomments.js";
|
|
15
|
+
import wikilinks from "./plugins/wikilinks.js";
|
|
16
|
+
/** markdown-it engine (untyped npm package, see ./types.ts). */ const MarkdownItEngine = untyped;
|
|
17
|
+
/**
|
|
18
|
+
* Markdown renderer.
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { Renderer } from "./renderer.ts"
|
|
22
|
+
* const renderer = new Renderer({ highlighting: true, math: true, wikilinks: true })
|
|
23
|
+
* renderer.render("# Hello, world!")
|
|
24
|
+
* ```
|
|
25
|
+
*/ export class Renderer {
|
|
26
|
+
/** Constructor. */ constructor(options = {}){
|
|
27
|
+
this.options = Object.freeze({
|
|
28
|
+
...options
|
|
29
|
+
});
|
|
30
|
+
const { gfm: flavored = true, html = false, breaks = false, hooks } = options;
|
|
31
|
+
this.#engine = new MarkdownItEngine({
|
|
32
|
+
html,
|
|
33
|
+
breaks,
|
|
34
|
+
linkify: flavored
|
|
35
|
+
});
|
|
36
|
+
if (flavored) this.#engine.use(gfm);
|
|
37
|
+
else this.#engine.disable([
|
|
38
|
+
"table",
|
|
39
|
+
"strikethrough"
|
|
40
|
+
]);
|
|
41
|
+
if (options.frontmatter) this.#engine.use(frontmatter);
|
|
42
|
+
if (options.uncomments) this.#engine.use(uncomments);
|
|
43
|
+
if (options.anchors) this.#engine.use(anchors);
|
|
44
|
+
if (options.callouts) this.#engine.use(callouts);
|
|
45
|
+
if (options.directives) this.#engine.use(directives, options.directives === true ? {} : options.directives);
|
|
46
|
+
if (options.emojis) this.#engine.use(emojis);
|
|
47
|
+
if (options.highlighting) this.#engine.use(highlighting);
|
|
48
|
+
if (options.markers) this.#engine.use(markers);
|
|
49
|
+
if (options.math) this.#engine.use(math);
|
|
50
|
+
if (options.mermaid) this.#engine.use(mermaid);
|
|
51
|
+
if (options.ruby) this.#engine.use(ruby);
|
|
52
|
+
if (options.wikilinks) this.#engine.use(wikilinks, options.wikilinks === true ? {} : options.wikilinks);
|
|
53
|
+
hooks?.(this.#engine);
|
|
54
|
+
}
|
|
55
|
+
/** Options used to instantiate this renderer. */ options;
|
|
56
|
+
/** Underlying {@link https://github.com/markdown-it/markdown-it | markdown-it} instance. */ #engine;
|
|
57
|
+
/**
|
|
58
|
+
* Render markdown content.
|
|
59
|
+
*/ render(content, { metadata = false } = {}) {
|
|
60
|
+
const env = {
|
|
61
|
+
metadata: {}
|
|
62
|
+
};
|
|
63
|
+
const value = this.#engine.render(content, env).trimEnd();
|
|
64
|
+
return metadata ? {
|
|
65
|
+
value,
|
|
66
|
+
metadata: env.metadata
|
|
67
|
+
} : value;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9saWJzL2xpYnMvQGxpYnMvbWFya2Rvd24vcmVuZGVyZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IHVudHlwZWQgZnJvbSBcIm1hcmtkb3duLWl0XCJcbmltcG9ydCB0eXBlIHsgTWFya2Rvd25JdCwgTWFya2Rvd25JdENvbnN0cnVjdG9yIH0gZnJvbSBcIi4vdHlwZXMuanNcIlxuaW1wb3J0IGFuY2hvcnMgZnJvbSBcIi4vcGx1Z2lucy9hbmNob3JzLmpzXCJcbmltcG9ydCBjYWxsb3V0cyBmcm9tIFwiLi9wbHVnaW5zL2NhbGxvdXRzLmpzXCJcbmltcG9ydCBkaXJlY3RpdmVzLCB7IHR5cGUgRGlyZWN0aXZlc09wdGlvbnMgfSBmcm9tIFwiLi9wbHVnaW5zL2RpcmVjdGl2ZXMuanNcIlxuaW1wb3J0IGVtb2ppcyBmcm9tIFwiLi9wbHVnaW5zL2Vtb2ppcy5qc1wiXG5pbXBvcnQgZnJvbnRtYXR0ZXIgZnJvbSBcIi4vcGx1Z2lucy9mcm9udG1hdHRlci5qc1wiXG5pbXBvcnQgZ2ZtIGZyb20gXCIuL3BsdWdpbnMvZ2ZtLmpzXCJcbmltcG9ydCBoaWdobGlnaHRpbmcgZnJvbSBcIi4vcGx1Z2lucy9oaWdobGlnaHRpbmcuanNcIlxuaW1wb3J0IG1hcmtlcnMgZnJvbSBcIi4vcGx1Z2lucy9tYXJrZXJzLmpzXCJcbmltcG9ydCBtYXRoIGZyb20gXCIuL3BsdWdpbnMvbWF0aC5qc1wiXG5pbXBvcnQgbWVybWFpZCBmcm9tIFwiLi9wbHVnaW5zL21lcm1haWQuanNcIlxuaW1wb3J0IHJ1YnkgZnJvbSBcIi4vcGx1Z2lucy9ydWJ5LmpzXCJcbmltcG9ydCB1bmNvbW1lbnRzIGZyb20gXCIuL3BsdWdpbnMvdW5jb21tZW50cy5qc1wiXG5pbXBvcnQgd2lraWxpbmtzLCB7IHR5cGUgV2lraWxpbmtzT3B0aW9ucyB9IGZyb20gXCIuL3BsdWdpbnMvd2lraWxpbmtzLmpzXCJcblxuLyoqIG1hcmtkb3duLWl0IGVuZ2luZSAodW50eXBlZCBucG0gcGFja2FnZSwgc2VlIC4vdHlwZXMudHMpLiAqL1xuY29uc3QgTWFya2Rvd25JdEVuZ2luZSA9IHVudHlwZWQgYXMgdW5rbm93biBhcyBNYXJrZG93bkl0Q29uc3RydWN0b3JcblxuLyoqIFJlbmRlcmVyIG9wdGlvbnMuICovXG5leHBvcnQgdHlwZSBSZW5kZXJlck9wdGlvbnMgPSB7XG4gIC8qKiBFbmFibGUgR2l0SHViIEZsYXZvcmVkIE1hcmtkb3duICh0YWJsZXMsIHN0cmlrZXRocm91Z2gsIGF1dG9saW5rcywgZm9vdG5vdGVzIGFuZCB0YXNrbGlzdHMpLiAqL1xuICBnZm0/OiBib29sZWFuXG4gIC8qKlxuICAgKiBBbGxvdyByYXcgSFRNTCB0byBwYXNzIHRocm91Z2guXG4gICAqXG4gICAqIFdoZW4gZGlzYWJsZWQgKGRlZmF1bHQpLCByYXcgSFRNTCBpcyBlc2NhcGVkIGFuZCByZW5kZXJlZCBhcyB0ZXh0LCB3aGljaCBtYWtlcyB0aGUgb3V0cHV0IHNhZmUgYWdhaW5zdCBIVE1MIGluamVjdGlvbi5cbiAgICovXG4gIGh0bWw/OiBib29sZWFuXG4gIC8qKiBSZW5kZXIgbGluZS1icmVha3MgYXMgaGFyZC1icmVha3MgKGA8YnI+YCkuICovXG4gIGJyZWFrcz86IGJvb2xlYW5cbiAgLyoqIEFkZCBhbmNob3JzIHRvIGhlYWRpbmdzIGFuZCBhdXRvbGluayB0aGVtLiAqL1xuICBhbmNob3JzPzogYm9vbGVhblxuICAvKiogRW5hYmxlIE9ic2lkaWFuLXN0eWxlIGNhbGxvdXRzIChgPiBbIW5vdGVdYCkuICovXG4gIGNhbGxvdXRzPzogYm9vbGVhblxuICAvKiogRW5hYmxlIGN1c3RvbSBkaXJlY3RpdmVzIChgOjo6bmFtZWApLiAqL1xuICBkaXJlY3RpdmVzPzogYm9vbGVhbiB8IERpcmVjdGl2ZXNPcHRpb25zXG4gIC8qKiBFbmFibGUgZW1vamlzIHNob3J0Y29kZXMgKGA6YmVudG86YCkuICovXG4gIGVtb2ppcz86IGJvb2xlYW5cbiAgLyoqIFBhcnNlIFlBTUwgZnJvbnRtYXR0ZXIgKHJldHJpZXZlIGl0IGJ5IHBhc3NpbmcgYG1ldGFkYXRhOiB0cnVlYCB0byB0aGUgcmVuZGVyIG1ldGhvZCkuICovXG4gIGZyb250bWF0dGVyPzogYm9vbGVhblxuICAvKiogRW5hYmxlIHN5bnRheCBoaWdobGlnaHRpbmcgb2YgY29kZSBibG9ja3MuICovXG4gIGhpZ2hsaWdodGluZz86IGJvb2xlYW5cbiAgLyoqIEVuYWJsZSBtYXJrZXJzIChgPT1mb289PWApLiAqL1xuICBtYXJrZXJzPzogYm9vbGVhblxuICAvKiogRW5hYmxlIG1hdGggZXhwcmVzc2lvbnMgKGAkZm9vJGAsIGAkJGZvbyQkYCksIHJlbmRlcmVkIGFzIG1hcmt1cCBpbnRlbmRlZCBmb3IgY2xpZW50LXNpZGUgcHJvY2Vzc2luZyBieSBLYVRlWCBvciBNYXRoSmF4LiAqL1xuICBtYXRoPzogYm9vbGVhblxuICAvKiogRW5hYmxlIG1lcm1haWQgZGlhZ3JhbXMsIHJlbmRlcmVkIGFzIG1hcmt1cCBpbnRlbmRlZCBmb3IgY2xpZW50LXNpZGUgcHJvY2Vzc2luZyBieSBtZXJtYWlkLiAqL1xuICBtZXJtYWlkPzogYm9vbGVhblxuICAvKiogRW5hYmxlIHJ1YnkgYW5ub3RhdGlvbnMgKGB75ryi5a2XfV4oa2FuamkpYCkuICovXG4gIHJ1Ynk/OiBib29sZWFuXG4gIC8qKiBSZW1vdmUgSFRNTCBjb21tZW50cy4gKi9cbiAgdW5jb21tZW50cz86IGJvb2xlYW5cbiAgLyoqIEVuYWJsZSB3aWtpIGxpbmtzIChgW1tmb29dXWApLiAqL1xuICB3aWtpbGlua3M/OiBib29sZWFuIHwgV2lraWxpbmtzT3B0aW9uc1xuICAvKiogSG9vayBkaXJlY3QgYWNjZXNzIHRvIHRoZSB1bmRlcmx5aW5nIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQgfCBtYXJrZG93bi1pdH0gaW5zdGFuY2UgZm9yIGN1c3RvbSBydWxlcyBhbmQgcmVuZGVyZXJzLiAqL1xuICBob29rcz86IChlbmdpbmU6IE1hcmtkb3duSXQpID0+IHZvaWRcbn1cblxuLyoqXG4gKiBNYXJrZG93biByZW5kZXJlci5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tIFwiLi9yZW5kZXJlci50c1wiXG4gKiBjb25zdCByZW5kZXJlciA9IG5ldyBSZW5kZXJlcih7IGhpZ2hsaWdodGluZzogdHJ1ZSwgbWF0aDogdHJ1ZSwgd2lraWxpbmtzOiB0cnVlIH0pXG4gKiByZW5kZXJlci5yZW5kZXIoXCIjIEhlbGxvLCB3b3JsZCFcIilcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgUmVuZGVyZXIge1xuICAvKiogQ29uc3RydWN0b3IuICovXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMgPSB7fSBhcyBSZW5kZXJlck9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuZnJlZXplKHsgLi4ub3B0aW9ucyB9KVxuICAgIGNvbnN0IHsgZ2ZtOiBmbGF2b3JlZCA9IHRydWUsIGh0bWwgPSBmYWxzZSwgYnJlYWtzID0gZmFsc2UsIGhvb2tzIH0gPSBvcHRpb25zXG4gICAgdGhpcy4jZW5naW5lID0gbmV3IE1hcmtkb3duSXRFbmdpbmUoeyBodG1sLCBicmVha3MsIGxpbmtpZnk6IGZsYXZvcmVkIH0pXG4gICAgaWYgKGZsYXZvcmVkKVxuICAgICAgdGhpcy4jZW5naW5lLnVzZShnZm0pXG4gICAgZWxzZVxuICAgICAgdGhpcy4jZW5naW5lLmRpc2FibGUoW1widGFibGVcIiwgXCJzdHJpa2V0aHJvdWdoXCJdKVxuICAgIGlmIChvcHRpb25zLmZyb250bWF0dGVyKVxuICAgICAgdGhpcy4jZW5naW5lLnVzZShmcm9udG1hdHRlcilcbiAgICBpZiAob3B0aW9ucy51bmNvbW1lbnRzKVxuICAgICAgdGhpcy4jZW5naW5lLnVzZSh1bmNvbW1lbnRzKVxuICAgIGlmIChvcHRpb25zLmFuY2hvcnMpXG4gICAgICB0aGlzLiNlbmdpbmUudXNlKGFuY2hvcnMpXG4gICAgaWYgKG9wdGlvbnMuY2FsbG91dHMpXG4gICAgICB0aGlzLiNlbmdpbmUudXNlKGNhbGxvdXRzKVxuICAgIGlmIChvcHRpb25zLmRpcmVjdGl2ZXMpXG4gICAgICB0aGlzLiNlbmdpbmUudXNlKGRpcmVjdGl2ZXMsIG9wdGlvbnMuZGlyZWN0aXZlcyA9PT0gdHJ1ZSA/IHt9IDogb3B0aW9ucy5kaXJlY3RpdmVzKVxuICAgIGlmIChvcHRpb25zLmVtb2ppcylcbiAgICAgIHRoaXMuI2VuZ2luZS51c2UoZW1vamlzKVxuICAgIGlmIChvcHRpb25zLmhpZ2hsaWdodGluZylcbiAgICAgIHRoaXMuI2VuZ2luZS51c2UoaGlnaGxpZ2h0aW5nKVxuICAgIGlmIChvcHRpb25zLm1hcmtlcnMpXG4gICAgICB0aGlzLiNlbmdpbmUudXNlKG1hcmtlcnMpXG4gICAgaWYgKG9wdGlvbnMubWF0aClcbiAgICAgIHRoaXMuI2VuZ2luZS51c2UobWF0aClcbiAgICBpZiAob3B0aW9ucy5tZXJtYWlkKVxuICAgICAgdGhpcy4jZW5naW5lLnVzZShtZXJtYWlkKVxuICAgIGlmIChvcHRpb25zLnJ1YnkpXG4gICAgICB0aGlzLiNlbmdpbmUudXNlKHJ1YnkpXG4gICAgaWYgKG9wdGlvbnMud2lraWxpbmtzKVxuICAgICAgdGhpcy4jZW5naW5lLnVzZSh3aWtpbGlua3MsIG9wdGlvbnMud2lraWxpbmtzID09PSB0cnVlID8ge30gOiBvcHRpb25zLndpa2lsaW5rcylcbiAgICBob29rcz8uKHRoaXMuI2VuZ2luZSlcbiAgfVxuXG4gIC8qKiBPcHRpb25zIHVzZWQgdG8gaW5zdGFudGlhdGUgdGhpcyByZW5kZXJlci4gKi9cbiAgcmVhZG9ubHkgb3B0aW9uczogUmVhZG9ubHk8UmVuZGVyZXJPcHRpb25zPlxuXG4gIC8qKiBVbmRlcmx5aW5nIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQgfCBtYXJrZG93bi1pdH0gaW5zdGFuY2UuICovXG4gIHJlYWRvbmx5ICNlbmdpbmU6IE1hcmtkb3duSXRcblxuICAvKipcbiAgICogUmVuZGVyIG1hcmtkb3duIGNvbnRlbnQgaW50byBhbiBIVE1MIHN0cmluZy5cbiAgICpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tIFwiLi9yZW5kZXJlci50c1wiXG4gICAqIG5ldyBSZW5kZXJlcigpLnJlbmRlcihcIiMgSGVsbG8sIHdvcmxkIVwiKVxuICAgKiBgYGBcbiAgICovXG4gIHJlbmRlcihjb250ZW50OiBzdHJpbmcsIG9wdGlvbnM/OiB7IG1ldGFkYXRhPzogZmFsc2UgfSk6IHN0cmluZ1xuICAvKipcbiAgICogUmVuZGVyIG1hcmtkb3duIGNvbnRlbnQgaW50byBhbiBIVE1MIHN0cmluZyB3aXRoIHBhcnNlZCBtZXRhZGF0YS5cbiAgICpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tIFwiLi9yZW5kZXJlci50c1wiXG4gICAqIGNvbnN0IHJlbmRlcmVyID0gbmV3IFJlbmRlcmVyKHsgZnJvbnRtYXR0ZXI6IHRydWUgfSlcbiAgICogY29uc3QgeyB2YWx1ZSwgbWV0YWRhdGEgfSA9IHJlbmRlcmVyLnJlbmRlcihcIi0tLVxcbnRpdGxlOiBmb29cXG4tLS1cXG5iYXJcIiwgeyBtZXRhZGF0YTogdHJ1ZSB9KVxuICAgKiBjb25zb2xlLmxvZyhtZXRhZGF0YS5mcm9udG1hdHRlcikgLy8geyB0aXRsZTogXCJmb29cIiB9XG4gICAqIGBgYFxuICAgKi9cbiAgcmVuZGVyKGNvbnRlbnQ6IHN0cmluZywgb3B0aW9uczogeyBtZXRhZGF0YTogdHJ1ZSB9KTogeyB2YWx1ZTogc3RyaW5nOyBtZXRhZGF0YTogUmVjb3JkPFByb3BlcnR5S2V5LCB1bmtub3duPiB9XG4gIC8qKlxuICAgKiBSZW5kZXIgbWFya2Rvd24gY29udGVudC5cbiAgICovXG4gIHJlbmRlcihjb250ZW50OiBzdHJpbmcsIHsgbWV0YWRhdGEgPSBmYWxzZSB9ID0ge30gYXMgeyBtZXRhZGF0YT86IGJvb2xlYW4gfSk6IHN0cmluZyB8IHsgdmFsdWU6IHN0cmluZzsgbWV0YWRhdGE6IFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj4gfSB7XG4gICAgY29uc3QgZW52ID0geyBtZXRhZGF0YToge30gYXMgUmVjb3JkPFByb3BlcnR5S2V5LCB1bmtub3duPiB9XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLiNlbmdpbmUucmVuZGVyKGNvbnRlbnQsIGVudikudHJpbUVuZCgpXG4gICAgcmV0dXJuIG1ldGFkYXRhID8geyB2YWx1ZSwgbWV0YWRhdGE6IGVudi5tZXRhZGF0YSB9IDogdmFsdWVcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLGFBQWEsY0FBYTtBQUVqQyxPQUFPLGFBQWEsdUJBQXNCO0FBQzFDLE9BQU8sY0FBYyx3QkFBdUI7QUFDNUMsT0FBTyxnQkFBNEMsMEJBQXlCO0FBQzVFLE9BQU8sWUFBWSxzQkFBcUI7QUFDeEMsT0FBTyxpQkFBaUIsMkJBQTBCO0FBQ2xELE9BQU8sU0FBUyxtQkFBa0I7QUFDbEMsT0FBTyxrQkFBa0IsNEJBQTJCO0FBQ3BELE9BQU8sYUFBYSx1QkFBc0I7QUFDMUMsT0FBTyxVQUFVLG9CQUFtQjtBQUNwQyxPQUFPLGFBQWEsdUJBQXNCO0FBQzFDLE9BQU8sVUFBVSxvQkFBbUI7QUFDcEMsT0FBTyxnQkFBZ0IsMEJBQXlCO0FBQ2hELE9BQU8sZUFBMEMseUJBQXdCO0FBRXpFLDhEQUE4RCxHQUM5RCxNQUFNLG1CQUFtQjtBQTBDekI7Ozs7Ozs7O0NBUUMsR0FDRCxPQUFPLE1BQU07RUFDWCxpQkFBaUIsR0FDakIsWUFBWSxVQUFVLENBQUMsQ0FBb0IsQ0FBRTtJQUMzQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sTUFBTSxDQUFDO01BQUUsR0FBRyxPQUFPO0lBQUM7SUFDMUMsTUFBTSxFQUFFLEtBQUssV0FBVyxJQUFJLEVBQUUsT0FBTyxLQUFLLEVBQUUsU0FBUyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUc7SUFDdEUsSUFBSSxDQUFDLENBQUEsTUFBTyxHQUFHLElBQUksaUJBQWlCO01BQUU7TUFBTTtNQUFRLFNBQVM7SUFBUztJQUN0RSxJQUFJLFVBQ0YsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDLEdBQUcsQ0FBQztTQUVqQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsT0FBTyxDQUFDO01BQUM7TUFBUztLQUFnQjtJQUNqRCxJQUFJLFFBQVEsV0FBVyxFQUNyQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsR0FBRyxDQUFDO0lBQ25CLElBQUksUUFBUSxVQUFVLEVBQ3BCLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQyxHQUFHLENBQUM7SUFDbkIsSUFBSSxRQUFRLE9BQU8sRUFDakIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDLEdBQUcsQ0FBQztJQUNuQixJQUFJLFFBQVEsUUFBUSxFQUNsQixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsR0FBRyxDQUFDO0lBQ25CLElBQUksUUFBUSxVQUFVLEVBQ3BCLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxRQUFRLFVBQVUsS0FBSyxPQUFPLENBQUMsSUFBSSxRQUFRLFVBQVU7SUFDcEYsSUFBSSxRQUFRLE1BQU0sRUFDaEIsSUFBSSxDQUFDLENBQUEsTUFBTyxDQUFDLEdBQUcsQ0FBQztJQUNuQixJQUFJLFFBQVEsWUFBWSxFQUN0QixJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsR0FBRyxDQUFDO0lBQ25CLElBQUksUUFBUSxPQUFPLEVBQ2pCLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQyxHQUFHLENBQUM7SUFDbkIsSUFBSSxRQUFRLElBQUksRUFDZCxJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsR0FBRyxDQUFDO0lBQ25CLElBQUksUUFBUSxPQUFPLEVBQ2pCLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQyxHQUFHLENBQUM7SUFDbkIsSUFBSSxRQUFRLElBQUksRUFDZCxJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsR0FBRyxDQUFDO0lBQ25CLElBQUksUUFBUSxTQUFTLEVBQ25CLElBQUksQ0FBQyxDQUFBLE1BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxRQUFRLFNBQVMsS0FBSyxPQUFPLENBQUMsSUFBSSxRQUFRLFNBQVM7SUFDakYsUUFBUSxJQUFJLENBQUMsQ0FBQSxNQUFPO0VBQ3RCO0VBRUEsK0NBQStDLEdBQy9DLEFBQVMsUUFBa0M7RUFFM0MsMEZBQTBGLEdBQzFGLEFBQVMsQ0FBQSxNQUFPLENBQVk7RUFzQjVCOztHQUVDLEdBQ0QsT0FBTyxPQUFlLEVBQUUsRUFBRSxXQUFXLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBMkIsRUFBc0U7SUFDL0ksTUFBTSxNQUFNO01BQUUsVUFBVSxDQUFDO0lBQWtDO0lBQzNELE1BQU0sUUFBUSxJQUFJLENBQUMsQ0FBQSxNQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxPQUFPO0lBQ3ZELE9BQU8sV0FBVztNQUFFO01BQU8sVUFBVSxJQUFJLFFBQVE7SUFBQyxJQUFJO0VBQ3hEO0FBQ0YifQ==
|
package/types.d.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal type definitions for {@link https://github.com/markdown-it/markdown-it | markdown-it}.
|
|
3
|
+
*
|
|
4
|
+
* These are vendored rather than depended upon through `@types/markdown-it`,
|
|
5
|
+
* as JSR fails to generate documentation for packages depending on `@types/*` packages.
|
|
6
|
+
* {@link https://github.com/jsr-io/jsr/issues/511 | See jsr-io/jsr#511 for more information}.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/ /** markdown-it options. */ export type MarkdownItOptions = {
|
|
10
|
+
/** Allow HTML tags in source. */ html?: boolean;
|
|
11
|
+
/** Convert newlines in paragraphs into `<br>`. */ breaks?: boolean;
|
|
12
|
+
/** Autoconvert URL-like text to links. */ linkify?: boolean;
|
|
13
|
+
/** CSS language prefix for fenced blocks. */ langPrefix?: string;
|
|
14
|
+
/** Highlighter function (should return escaped HTML, or an empty string to fallback to default escaping). */ highlight?: ((code: string, language: string, attributes: string) => string) | null;
|
|
15
|
+
};
|
|
16
|
+
/** markdown-it instance. */ export interface MarkdownIt {
|
|
17
|
+
/** Instance options. */ options: MarkdownItOptions;
|
|
18
|
+
/** Core chain. */ core: {
|
|
19
|
+
ruler: Ruler<CoreRule>;
|
|
20
|
+
};
|
|
21
|
+
/** Block-level tokenizer. */ block: {
|
|
22
|
+
ruler: Ruler<BlockRule>;
|
|
23
|
+
tokenize(state: StateBlock, startLine: number, endLine: number): void;
|
|
24
|
+
};
|
|
25
|
+
/** Inline-level tokenizer. */ inline: {
|
|
26
|
+
ruler: Ruler<InlineRule>;
|
|
27
|
+
};
|
|
28
|
+
/** Renderer. */ renderer: {
|
|
29
|
+
rules: Partial<Record<string, RenderRule>>;
|
|
30
|
+
};
|
|
31
|
+
/** Utilities. */ utils: {
|
|
32
|
+
escapeHtml(html: string): string;
|
|
33
|
+
};
|
|
34
|
+
/** Load a plugin. */ use<Options extends unknown[]>(plugin: (engine: MarkdownIt, ...options: Options) => void, ...options: Options): MarkdownIt;
|
|
35
|
+
/** Disable rules. */ disable(rules: string | string[], ignoreInvalid?: boolean): MarkdownIt;
|
|
36
|
+
/** Render markdown content into an HTML string. */ render(content: string, env?: Record<PropertyKey, unknown>): string;
|
|
37
|
+
}
|
|
38
|
+
/** markdown-it constructor. */ export interface MarkdownItConstructor {
|
|
39
|
+
/** Constructor. */ new(options?: MarkdownItOptions): MarkdownIt;
|
|
40
|
+
}
|
|
41
|
+
/** Token. */ export interface Token {
|
|
42
|
+
/** Type of the token. */ type: string;
|
|
43
|
+
/** HTML tag name. */ tag: string;
|
|
44
|
+
/** Content of the token. */ content: string;
|
|
45
|
+
/** Fence info string. */ info: string;
|
|
46
|
+
/** Arbitrary data. */ meta: unknown;
|
|
47
|
+
/** Whether the token is block-level. */ block: boolean;
|
|
48
|
+
/** Source map info as `[first_line, last_line]`. */ map: [number, number] | null;
|
|
49
|
+
/** Children tokens (for inline tokens). */ children: Token[] | null;
|
|
50
|
+
/** Get an attribute value. */ attrGet(name: string): string | null;
|
|
51
|
+
/** Set an attribute value. */ attrSet(name: string, value: string): void;
|
|
52
|
+
/** Join a value to an attribute (e.g. class names). */ attrJoin(name: string, value: string): void;
|
|
53
|
+
}
|
|
54
|
+
/** Shared rule state. */ export interface State {
|
|
55
|
+
/** Source content. */ src: string;
|
|
56
|
+
/** Rendering environment. */ env: Record<PropertyKey, unknown>;
|
|
57
|
+
/** markdown-it instance. */ md: MarkdownIt;
|
|
58
|
+
/** Tokens list. */ tokens: Token[];
|
|
59
|
+
/** Token constructor. */ Token: new(type: string, tag: string, nesting: -1 | 0 | 1) => Token;
|
|
60
|
+
}
|
|
61
|
+
/** Core rule state. */ export type StateCore = State;
|
|
62
|
+
/** Block rule state. */ export interface StateBlock extends State {
|
|
63
|
+
/** Offsets of the lines begins. */ bMarks: number[];
|
|
64
|
+
/** Offsets of the lines ends. */ eMarks: number[];
|
|
65
|
+
/** Offsets of the first non-space characters. */ tShift: number[];
|
|
66
|
+
/** Required block content indent. */ blkIndent: number;
|
|
67
|
+
/** Current line. */ line: number;
|
|
68
|
+
/** Maximum line. */ lineMax: number;
|
|
69
|
+
/** Get lines range as a string. */ getLines(begin: number, end: number, indent: number, keepLastLF: boolean): string;
|
|
70
|
+
/** Push a new token. */ push(type: string, tag: string, nesting: -1 | 0 | 1): Token;
|
|
71
|
+
}
|
|
72
|
+
/** Inline rule state. */ export interface StateInline extends State {
|
|
73
|
+
/** Current position. */ pos: number;
|
|
74
|
+
/** Maximum position. */ posMax: number;
|
|
75
|
+
/** Push a new token. */ push(type: string, tag: string, nesting: -1 | 0 | 1): Token;
|
|
76
|
+
}
|
|
77
|
+
/** Core chain rule. */ export type CoreRule = (state: StateCore) => void;
|
|
78
|
+
/** Block tokenizer rule. */ export type BlockRule = (state: StateBlock, startLine: number, endLine: number, silent: boolean) => boolean;
|
|
79
|
+
/** Inline tokenizer rule. */ export type InlineRule = (state: StateInline, silent: boolean) => boolean;
|
|
80
|
+
/** Renderer rule. */ export type RenderRule = (tokens: Token[], index: number, options: MarkdownItOptions, env: Record<PropertyKey, unknown>, self: unknown) => string;
|
|
81
|
+
/** Rules manager. */ export interface Ruler<Rule> {
|
|
82
|
+
/** Add a rule to the end of chain. */ push(name: string, rule: Rule): void;
|
|
83
|
+
/** Add a rule before the specified one. */ before(target: string, name: string, rule: Rule): void;
|
|
84
|
+
/** Add a rule after the specified one. */ after(target: string, name: string, rule: Rule): void;
|
|
85
|
+
}
|
package/types.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal type definitions for {@link https://github.com/markdown-it/markdown-it | markdown-it}.
|
|
3
|
+
*
|
|
4
|
+
* These are vendored rather than depended upon through `@types/markdown-it`,
|
|
5
|
+
* as JSR fails to generate documentation for packages depending on `@types/*` packages.
|
|
6
|
+
* {@link https://github.com/jsr-io/jsr/issues/511 | See jsr-io/jsr#511 for more information}.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*/ /** markdown-it options. */
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vaG9tZS9ydW5uZXIvd29yay9saWJzL2xpYnMvQGxpYnMvbWFya2Rvd24vdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNaW5pbWFsIHR5cGUgZGVmaW5pdGlvbnMgZm9yIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbWFya2Rvd24taXQvbWFya2Rvd24taXQgfCBtYXJrZG93bi1pdH0uXG4gKlxuICogVGhlc2UgYXJlIHZlbmRvcmVkIHJhdGhlciB0aGFuIGRlcGVuZGVkIHVwb24gdGhyb3VnaCBgQHR5cGVzL21hcmtkb3duLWl0YCxcbiAqIGFzIEpTUiBmYWlscyB0byBnZW5lcmF0ZSBkb2N1bWVudGF0aW9uIGZvciBwYWNrYWdlcyBkZXBlbmRpbmcgb24gYEB0eXBlcy8qYCBwYWNrYWdlcy5cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vanNyLWlvL2pzci9pc3N1ZXMvNTExIHwgU2VlIGpzci1pby9qc3IjNTExIGZvciBtb3JlIGluZm9ybWF0aW9ufS5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuLyoqIG1hcmtkb3duLWl0IG9wdGlvbnMuICovXG5leHBvcnQgdHlwZSBNYXJrZG93bkl0T3B0aW9ucyA9IHtcbiAgLyoqIEFsbG93IEhUTUwgdGFncyBpbiBzb3VyY2UuICovXG4gIGh0bWw/OiBib29sZWFuXG4gIC8qKiBDb252ZXJ0IG5ld2xpbmVzIGluIHBhcmFncmFwaHMgaW50byBgPGJyPmAuICovXG4gIGJyZWFrcz86IGJvb2xlYW5cbiAgLyoqIEF1dG9jb252ZXJ0IFVSTC1saWtlIHRleHQgdG8gbGlua3MuICovXG4gIGxpbmtpZnk/OiBib29sZWFuXG4gIC8qKiBDU1MgbGFuZ3VhZ2UgcHJlZml4IGZvciBmZW5jZWQgYmxvY2tzLiAqL1xuICBsYW5nUHJlZml4Pzogc3RyaW5nXG4gIC8qKiBIaWdobGlnaHRlciBmdW5jdGlvbiAoc2hvdWxkIHJldHVybiBlc2NhcGVkIEhUTUwsIG9yIGFuIGVtcHR5IHN0cmluZyB0byBmYWxsYmFjayB0byBkZWZhdWx0IGVzY2FwaW5nKS4gKi9cbiAgaGlnaGxpZ2h0PzogKChjb2RlOiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcsIGF0dHJpYnV0ZXM6IHN0cmluZykgPT4gc3RyaW5nKSB8IG51bGxcbn1cblxuLyoqIG1hcmtkb3duLWl0IGluc3RhbmNlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXJrZG93bkl0IHtcbiAgLyoqIEluc3RhbmNlIG9wdGlvbnMuICovXG4gIG9wdGlvbnM6IE1hcmtkb3duSXRPcHRpb25zXG4gIC8qKiBDb3JlIGNoYWluLiAqL1xuICBjb3JlOiB7IHJ1bGVyOiBSdWxlcjxDb3JlUnVsZT4gfVxuICAvKiogQmxvY2stbGV2ZWwgdG9rZW5pemVyLiAqL1xuICBibG9jazogeyBydWxlcjogUnVsZXI8QmxvY2tSdWxlPjsgdG9rZW5pemUoc3RhdGU6IFN0YXRlQmxvY2ssIHN0YXJ0TGluZTogbnVtYmVyLCBlbmRMaW5lOiBudW1iZXIpOiB2b2lkIH1cbiAgLyoqIElubGluZS1sZXZlbCB0b2tlbml6ZXIuICovXG4gIGlubGluZTogeyBydWxlcjogUnVsZXI8SW5saW5lUnVsZT4gfVxuICAvKiogUmVuZGVyZXIuICovXG4gIHJlbmRlcmVyOiB7IHJ1bGVzOiBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIFJlbmRlclJ1bGU+PiB9XG4gIC8qKiBVdGlsaXRpZXMuICovXG4gIHV0aWxzOiB7IGVzY2FwZUh0bWwoaHRtbDogc3RyaW5nKTogc3RyaW5nIH1cbiAgLyoqIExvYWQgYSBwbHVnaW4uICovXG4gIHVzZTxPcHRpb25zIGV4dGVuZHMgdW5rbm93bltdPihwbHVnaW46IChlbmdpbmU6IE1hcmtkb3duSXQsIC4uLm9wdGlvbnM6IE9wdGlvbnMpID0+IHZvaWQsIC4uLm9wdGlvbnM6IE9wdGlvbnMpOiBNYXJrZG93bkl0XG4gIC8qKiBEaXNhYmxlIHJ1bGVzLiAqL1xuICBkaXNhYmxlKHJ1bGVzOiBzdHJpbmcgfCBzdHJpbmdbXSwgaWdub3JlSW52YWxpZD86IGJvb2xlYW4pOiBNYXJrZG93bkl0XG4gIC8qKiBSZW5kZXIgbWFya2Rvd24gY29udGVudCBpbnRvIGFuIEhUTUwgc3RyaW5nLiAqL1xuICByZW5kZXIoY29udGVudDogc3RyaW5nLCBlbnY/OiBSZWNvcmQ8UHJvcGVydHlLZXksIHVua25vd24+KTogc3RyaW5nXG59XG5cbi8qKiBtYXJrZG93bi1pdCBjb25zdHJ1Y3Rvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFya2Rvd25JdENvbnN0cnVjdG9yIHtcbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBuZXcgKG9wdGlvbnM/OiBNYXJrZG93bkl0T3B0aW9ucyk6IE1hcmtkb3duSXRcbn1cblxuLyoqIFRva2VuLiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qKiBUeXBlIG9mIHRoZSB0b2tlbi4gKi9cbiAgdHlwZTogc3RyaW5nXG4gIC8qKiBIVE1MIHRhZyBuYW1lLiAqL1xuICB0YWc6IHN0cmluZ1xuICAvKiogQ29udGVudCBvZiB0aGUgdG9rZW4uICovXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICAvKiogRmVuY2UgaW5mbyBzdHJpbmcuICovXG4gIGluZm86IHN0cmluZ1xuICAvKiogQXJiaXRyYXJ5IGRhdGEuICovXG4gIG1ldGE6IHVua25vd25cbiAgLyoqIFdoZXRoZXIgdGhlIHRva2VuIGlzIGJsb2NrLWxldmVsLiAqL1xuICBibG9jazogYm9vbGVhblxuICAvKiogU291cmNlIG1hcCBpbmZvIGFzIGBbZmlyc3RfbGluZSwgbGFzdF9saW5lXWAuICovXG4gIG1hcDogW251bWJlciwgbnVtYmVyXSB8IG51bGxcbiAgLyoqIENoaWxkcmVuIHRva2VucyAoZm9yIGlubGluZSB0b2tlbnMpLiAqL1xuICBjaGlsZHJlbjogVG9rZW5bXSB8IG51bGxcbiAgLyoqIEdldCBhbiBhdHRyaWJ1dGUgdmFsdWUuICovXG4gIGF0dHJHZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbFxuICAvKiogU2V0IGFuIGF0dHJpYnV0ZSB2YWx1ZS4gKi9cbiAgYXR0clNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkXG4gIC8qKiBKb2luIGEgdmFsdWUgdG8gYW4gYXR0cmlidXRlIChlLmcuIGNsYXNzIG5hbWVzKS4gKi9cbiAgYXR0ckpvaW4obmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZFxufVxuXG4vKiogU2hhcmVkIHJ1bGUgc3RhdGUuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlIHtcbiAgLyoqIFNvdXJjZSBjb250ZW50LiAqL1xuICBzcmM6IHN0cmluZ1xuICAvKiogUmVuZGVyaW5nIGVudmlyb25tZW50LiAqL1xuICBlbnY6IFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj5cbiAgLyoqIG1hcmtkb3duLWl0IGluc3RhbmNlLiAqL1xuICBtZDogTWFya2Rvd25JdFxuICAvKiogVG9rZW5zIGxpc3QuICovXG4gIHRva2VuczogVG9rZW5bXVxuICAvKiogVG9rZW4gY29uc3RydWN0b3IuICovXG4gIFRva2VuOiBuZXcgKHR5cGU6IHN0cmluZywgdGFnOiBzdHJpbmcsIG5lc3Rpbmc6IC0xIHwgMCB8IDEpID0+IFRva2VuXG59XG5cbi8qKiBDb3JlIHJ1bGUgc3RhdGUuICovXG5leHBvcnQgdHlwZSBTdGF0ZUNvcmUgPSBTdGF0ZVxuXG4vKiogQmxvY2sgcnVsZSBzdGF0ZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVCbG9jayBleHRlbmRzIFN0YXRlIHtcbiAgLyoqIE9mZnNldHMgb2YgdGhlIGxpbmVzIGJlZ2lucy4gKi9cbiAgYk1hcmtzOiBudW1iZXJbXVxuICAvKiogT2Zmc2V0cyBvZiB0aGUgbGluZXMgZW5kcy4gKi9cbiAgZU1hcmtzOiBudW1iZXJbXVxuICAvKiogT2Zmc2V0cyBvZiB0aGUgZmlyc3Qgbm9uLXNwYWNlIGNoYXJhY3RlcnMuICovXG4gIHRTaGlmdDogbnVtYmVyW11cbiAgLyoqIFJlcXVpcmVkIGJsb2NrIGNvbnRlbnQgaW5kZW50LiAqL1xuICBibGtJbmRlbnQ6IG51bWJlclxuICAvKiogQ3VycmVudCBsaW5lLiAqL1xuICBsaW5lOiBudW1iZXJcbiAgLyoqIE1heGltdW0gbGluZS4gKi9cbiAgbGluZU1heDogbnVtYmVyXG4gIC8qKiBHZXQgbGluZXMgcmFuZ2UgYXMgYSBzdHJpbmcuICovXG4gIGdldExpbmVzKGJlZ2luOiBudW1iZXIsIGVuZDogbnVtYmVyLCBpbmRlbnQ6IG51bWJlciwga2VlcExhc3RMRjogYm9vbGVhbik6IHN0cmluZ1xuICAvKiogUHVzaCBhIG5ldyB0b2tlbi4gKi9cbiAgcHVzaCh0eXBlOiBzdHJpbmcsIHRhZzogc3RyaW5nLCBuZXN0aW5nOiAtMSB8IDAgfCAxKTogVG9rZW5cbn1cblxuLyoqIElubGluZSBydWxlIHN0YXRlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0ZUlubGluZSBleHRlbmRzIFN0YXRlIHtcbiAgLyoqIEN1cnJlbnQgcG9zaXRpb24uICovXG4gIHBvczogbnVtYmVyXG4gIC8qKiBNYXhpbXVtIHBvc2l0aW9uLiAqL1xuICBwb3NNYXg6IG51bWJlclxuICAvKiogUHVzaCBhIG5ldyB0b2tlbi4gKi9cbiAgcHVzaCh0eXBlOiBzdHJpbmcsIHRhZzogc3RyaW5nLCBuZXN0aW5nOiAtMSB8IDAgfCAxKTogVG9rZW5cbn1cblxuLyoqIENvcmUgY2hhaW4gcnVsZS4gKi9cbmV4cG9ydCB0eXBlIENvcmVSdWxlID0gKHN0YXRlOiBTdGF0ZUNvcmUpID0+IHZvaWRcblxuLyoqIEJsb2NrIHRva2VuaXplciBydWxlLiAqL1xuZXhwb3J0IHR5cGUgQmxvY2tSdWxlID0gKHN0YXRlOiBTdGF0ZUJsb2NrLCBzdGFydExpbmU6IG51bWJlciwgZW5kTGluZTogbnVtYmVyLCBzaWxlbnQ6IGJvb2xlYW4pID0+IGJvb2xlYW5cblxuLyoqIElubGluZSB0b2tlbml6ZXIgcnVsZS4gKi9cbmV4cG9ydCB0eXBlIElubGluZVJ1bGUgPSAoc3RhdGU6IFN0YXRlSW5saW5lLCBzaWxlbnQ6IGJvb2xlYW4pID0+IGJvb2xlYW5cblxuLyoqIFJlbmRlcmVyIHJ1bGUuICovXG5leHBvcnQgdHlwZSBSZW5kZXJSdWxlID0gKHRva2VuczogVG9rZW5bXSwgaW5kZXg6IG51bWJlciwgb3B0aW9uczogTWFya2Rvd25JdE9wdGlvbnMsIGVudjogUmVjb3JkPFByb3BlcnR5S2V5LCB1bmtub3duPiwgc2VsZjogdW5rbm93bikgPT4gc3RyaW5nXG5cbi8qKiBSdWxlcyBtYW5hZ2VyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlcjxSdWxlPiB7XG4gIC8qKiBBZGQgYSBydWxlIHRvIHRoZSBlbmQgb2YgY2hhaW4uICovXG4gIHB1c2gobmFtZTogc3RyaW5nLCBydWxlOiBSdWxlKTogdm9pZFxuICAvKiogQWRkIGEgcnVsZSBiZWZvcmUgdGhlIHNwZWNpZmllZCBvbmUuICovXG4gIGJlZm9yZSh0YXJnZXQ6IHN0cmluZywgbmFtZTogc3RyaW5nLCBydWxlOiBSdWxlKTogdm9pZFxuICAvKiogQWRkIGEgcnVsZSBhZnRlciB0aGUgc3BlY2lmaWVkIG9uZS4gKi9cbiAgYWZ0ZXIodGFyZ2V0OiBzdHJpbmcsIG5hbWU6IHN0cmluZywgcnVsZTogUnVsZSk6IHZvaWRcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Q0FRQyxHQUVELHlCQUF5QixHQUN6QiJ9
|
package/deno.jsonc
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"icon": "🖨️",
|
|
3
|
-
"name": "@libs/markdown",
|
|
4
|
-
"version": "1.2.3",
|
|
5
|
-
"description": "Markdown renderer with optional plugins based on the unified ecosystem.",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"markdown",
|
|
8
|
-
"plugins",
|
|
9
|
-
"gfm",
|
|
10
|
-
"github-flavored-markdown",
|
|
11
|
-
"unified",
|
|
12
|
-
"remark",
|
|
13
|
-
"rehype"
|
|
14
|
-
],
|
|
15
|
-
"license": "MIT",
|
|
16
|
-
"author": "lowlighter (Simon Lecoq)",
|
|
17
|
-
"funding": "https://github.com/sponsors/lowlighter",
|
|
18
|
-
"homepage": "https://github.com/lowlighter/libs",
|
|
19
|
-
"playground": "https://libs.lecoq.io/markdown",
|
|
20
|
-
"supported": [
|
|
21
|
-
"deno"
|
|
22
|
-
],
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "git+https://github.com/lowlighter/libs.git"
|
|
26
|
-
},
|
|
27
|
-
"npm": true,
|
|
28
|
-
"exports": {
|
|
29
|
-
".": "./mod.ts",
|
|
30
|
-
"./renderer": "./renderer.ts",
|
|
31
|
-
"./plugins": "./plugins/mod.ts",
|
|
32
|
-
"./plugins/anchors": "./plugins/anchors.ts",
|
|
33
|
-
"./plugins/directives": "./plugins/directives.ts",
|
|
34
|
-
"./plugins/emojis": "./plugins/emojis.ts",
|
|
35
|
-
"./plugins/frontmatter": "./plugins/frontmatter.ts",
|
|
36
|
-
"./plugins/gfm": "./plugins/gfm.ts",
|
|
37
|
-
"./plugins/highlighting": "./plugins/highlighting.ts",
|
|
38
|
-
"./plugins/linebreaks": "./plugins/linebreaks.ts",
|
|
39
|
-
"./plugins/markers": "./plugins/markers.ts",
|
|
40
|
-
"./plugins/math": "./plugins/math.ts",
|
|
41
|
-
"./plugins/mermaid": "./plugins/mermaid.ts",
|
|
42
|
-
"./plugins/ruby": "./plugins/ruby.ts",
|
|
43
|
-
"./plugins/sanitize": "./plugins/sanitize.ts",
|
|
44
|
-
"./plugins/uncomments": "./plugins/uncomments.ts",
|
|
45
|
-
"./plugins/wikilinks": "./plugins/wikilinks.ts"
|
|
46
|
-
},
|
|
47
|
-
"imports": {
|
|
48
|
-
"unified": "npm:unified@11",
|
|
49
|
-
"hast": "npm:@types/hast@3",
|
|
50
|
-
"hastscript": "npm:hastscript@9",
|
|
51
|
-
"unist-util-visit": "npm:unist-util-visit@5",
|
|
52
|
-
"rehype-slug": "npm:rehype-slug@6",
|
|
53
|
-
"rehype-autolink-headings": "npm:rehype-autolink-headings@7",
|
|
54
|
-
"rehype-highlight": "npm:rehype-highlight@7",
|
|
55
|
-
"rehype-raw": "npm:rehype-raw@7",
|
|
56
|
-
"rehype-sanitize": "npm:rehype-sanitize@6",
|
|
57
|
-
"rehype-stringify": "npm:rehype-stringify@10",
|
|
58
|
-
"remark-breaks": "npm:remark-breaks@4",
|
|
59
|
-
"remark-flexible-markers": "npm:remark-flexible-markers@1",
|
|
60
|
-
"remark-wiki-link": "npm:remark-wiki-link@2",
|
|
61
|
-
"remark-gfm": "npm:remark-gfm@4",
|
|
62
|
-
"remark-parse": "npm:remark-parse@11",
|
|
63
|
-
"remark-rehype": "npm:remark-rehype@11",
|
|
64
|
-
"remark-directive": "npm:remark-directive@3",
|
|
65
|
-
"remark-ruby": "npm:remark-ruby@0.4.0",
|
|
66
|
-
"remark-frontmatter": "npm:remark-frontmatter@5",
|
|
67
|
-
"remark-emoji": "npm:remark-emoji@5",
|
|
68
|
-
"remark-remove-comments": "npm:remark-remove-comments@1",
|
|
69
|
-
"remark-math": "npm:remark-math@6",
|
|
70
|
-
"rehype-mathjax": "npm:rehype-mathjax@6",
|
|
71
|
-
"rehype-mermaid": "npm:rehype-mermaid@2",
|
|
72
|
-
"@std/text/slugify": "jsr:@std/text@1/unstable-slugify",
|
|
73
|
-
"@std/yaml": "jsr:@std/yaml@1",
|
|
74
|
-
"@libs/testing": "jsr:@libs/testing@2",
|
|
75
|
-
"@libs/typing": "jsr:@libs/typing@2"
|
|
76
|
-
},
|
|
77
|
-
"test:permissions": {
|
|
78
|
-
"read": true,
|
|
79
|
-
"env": true,
|
|
80
|
-
"write": true,
|
|
81
|
-
"sys": true,
|
|
82
|
-
"run": true
|
|
83
|
-
},
|
|
84
|
-
"tasks": {
|
|
85
|
-
"build": "npx playwright-core install --with-deps chromium",
|
|
86
|
-
"test": "deno test --allow-read --allow-env --allow-write --allow-sys --allow-run --no-prompt --coverage --clean --trace-leaks --doc",
|
|
87
|
-
"test:deno": "deno task clean:deno && deno fmt --check && deno task test --filter='/^\\[deno\\]/' --quiet && deno coverage --exclude=.js && deno lint",
|
|
88
|
-
"test:deno-future": "deno task clean:deno && DENO_FUTURE=1 && deno task test:deno",
|
|
89
|
-
"test:others": "deno task clean:others && deno fmt --check && deno task test --filter='/^\\[node|bun \\]/' --quiet && deno coverage --exclude=.js && deno lint",
|
|
90
|
-
"coverage:html": "deno task test --filter='/^\\[deno\\]/' --quiet && deno coverage --exclude=.js --html && sleep 1",
|
|
91
|
-
"dev": "deno fmt && deno task test --filter='/^\\[deno\\]/' && deno coverage --exclude=.js --detailed && deno task lint",
|
|
92
|
-
"lint": "deno fmt --check && deno lint && deno doc --lint mod.ts && deno publish --dry-run --quiet --allow-dirty",
|
|
93
|
-
"clean:deno": "rm -rf node_modules .npmrc deno.lock",
|
|
94
|
-
"clean:others": "rm -rf node_modules .npmrc deno.lock package.json package-lock.json bun.lockb"
|
|
95
|
-
},
|
|
96
|
-
"lint": {
|
|
97
|
-
"rules": {
|
|
98
|
-
"include": [
|
|
99
|
-
"no-throw-literal",
|
|
100
|
-
"no-eval",
|
|
101
|
-
"eqeqeq",
|
|
102
|
-
"ban-untagged-todo"
|
|
103
|
-
]
|
|
104
|
-
},
|
|
105
|
-
"exclude": [
|
|
106
|
-
"**/wasm_*",
|
|
107
|
-
"**/*.mjs"
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
"fmt": {
|
|
111
|
-
"lineWidth": 280,
|
|
112
|
-
"semiColons": false,
|
|
113
|
-
"exclude": [
|
|
114
|
-
"coverage",
|
|
115
|
-
"**/coverage",
|
|
116
|
-
"**/node_modules",
|
|
117
|
-
"**/package.json",
|
|
118
|
-
"**/package-lock.json",
|
|
119
|
-
"**/wasm_*",
|
|
120
|
-
"**/*.mjs"
|
|
121
|
-
],
|
|
122
|
-
"proseWrap": "preserve"
|
|
123
|
-
}
|
|
124
|
-
}
|