Compare commits

...

4 commits

6 changed files with 26 additions and 53 deletions

View file

@ -1,8 +1,14 @@
{
"version": "1.0.0",
"version": "1.0.1",
"exports": "./mod.ts",
"tasks": {
"check": "deno fmt --check && deno lint && deno check .",
"test": "deno test --allow-read=. --allow-write=./tests/site/_site,./tests/__snapshots__ --deny-env"
},
"imports": {
"@std/assert": "jsr:@std/assert@1.0.7",
"@std/path": "jsr:@std/path@1.0.8",
"@std/testing": "jsr:@std/testing@1.0.4",
"lume/": "https://deno.land/x/lume@v2.4.1/"
}
}

BIN
deno.lock

Binary file not shown.

26
deps.ts
View file

@ -14,30 +14,4 @@
* limitations under the License.
*/
// Lume
export {
default as LumeSite,
type SiteOptions as LumeSiteOptions,
} from "https://deno.land/x/lume@v2.4.0/core/site.ts";
export {
default as lume,
type PluginOptions as LumePluginOptions,
} from "https://deno.land/x/lume@v2.4.0/mod.ts";
export {
type DeepPartial as LumeDeepPartial,
} from "https://deno.land/x/lume@v2.4.0/core/utils/object.ts";
export {
type Writer as LumeWriter,
} from "https://deno.land/x/lume@v2.4.0/core/writer.ts";
// STD Assert
export { assertExists, assertInstanceOf } from "jsr:@std/assert@1.0.7";
// STD Testing
export { assertSnapshot } from "jsr:@std/testing@1.0.4/snapshot";
// STD Path
export { fromFileUrl, join } from "jsr:@std/path@1.0.8";
// Valibot
export * as valibot from "jsr:@valibot/valibot@0.42.1";

7
mod.ts
View file

@ -14,8 +14,9 @@
* limitations under the License.
*/
import { valibot as v } from "./deps.ts";
import Site from "lume/core/site.ts";
import diagrams from "./resources/diagrams.json" with { type: "json" };
import { LumeSite, valibot as v } from "./deps.ts";
import { deflateSync } from "node:zlib";
const textEncoder = new TextEncoder();
@ -66,10 +67,10 @@ const OptionsSchema = v.optional(
export type Options = v.InferInput<typeof OptionsSchema>;
export default function (options?: Options): (site: LumeSite) => void {
export default function (options?: Options): (site: Site) => void {
const opts = v.parse(OptionsSchema, options);
return (site: LumeSite) => {
return (site: Site) => {
site.process([".html"], (pages) => {
pages.forEach((page) => {
diagrams.forEach((diagram) => {

View file

@ -15,13 +15,10 @@
*/
import mod from "../mod.ts";
import { valibot as v } from "../deps.ts";
import { assertExists, assertInstanceOf } from "@std/assert";
import { assertSnapshot } from "@std/testing/snapshot";
import { getSite } from "./utils.ts";
import {
assertExists,
assertInstanceOf,
assertSnapshot,
valibot,
} from "../deps.ts";
Deno.test("Error thrown on invalid options", async (t) => {
await t.step("Invalid server", () => {
@ -32,7 +29,7 @@ Deno.test("Error thrown on invalid options", async (t) => {
error = err;
}
assertExists(error);
assertInstanceOf(error, valibot.ValiError);
assertInstanceOf(error, v.ValiError);
});
await t.step("Invalid enabledDiagrams", () => {
@ -43,7 +40,7 @@ Deno.test("Error thrown on invalid options", async (t) => {
error = err;
}
assertExists(error);
assertInstanceOf(error, valibot.ValiError);
assertInstanceOf(error, v.ValiError);
});
await t.step("Invalid format", () => {
@ -55,7 +52,7 @@ Deno.test("Error thrown on invalid options", async (t) => {
error = err;
}
assertExists(error);
assertInstanceOf(error, valibot.ValiError);
assertInstanceOf(error, v.ValiError);
});
});

View file

@ -14,20 +14,15 @@
* limitations under the License.
*/
import {
fromFileUrl,
join,
lume,
type LumeDeepPartial,
type LumePluginOptions,
LumeSite,
type LumeSiteOptions,
type LumeWriter,
} from "../deps.ts";
import Site, { SiteOptions } from "lume/core/site.ts";
import lume, { PluginOptions } from "lume/mod.ts";
import { DeepPartial } from "lume/core/utils/object.ts";
import { Writer } from "lume/core/writer.ts";
import { fromFileUrl, join } from "@std/path";
const cwd = fromFileUrl(import.meta.resolve("./"));
class TestWriter implements LumeWriter {
class TestWriter implements Writer {
savePages() {
return Promise.resolve([]);
}
@ -46,9 +41,9 @@ class TestWriter implements LumeWriter {
}
export function getSite(
siteOptions: LumeDeepPartial<LumeSiteOptions> = {},
pluginOptions: LumePluginOptions = {},
): LumeSite {
siteOptions: DeepPartial<SiteOptions> = {},
pluginOptions: PluginOptions = {},
): Site {
siteOptions.cwd = join(cwd, "site");
const site = lume(