blogwright 0.1.0
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/LICENSE +24 -0
- package/README.md +12 -0
- package/agent/Dockerfile +20 -0
- package/agent/agent-manifest.json +3 -0
- package/agent/server.js +7935 -0
- package/dist/adapters/fetch-ping.d.ts +9 -0
- package/dist/adapters/fetch-ping.js +26 -0
- package/dist/adapters/fetch-ping.js.map +1 -0
- package/dist/adapters/process-vcs.d.ts +12 -0
- package/dist/adapters/process-vcs.js +49 -0
- package/dist/adapters/process-vcs.js.map +1 -0
- package/dist/agent-package.d.ts +19 -0
- package/dist/agent-package.js +49 -0
- package/dist/agent-package.js.map +1 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +14 -0
- package/dist/bin.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.js +249 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands.d.ts +31 -0
- package/dist/commands.js +269 -0
- package/dist/commands.js.map +1 -0
- package/dist/context.d.ts +50 -0
- package/dist/context.js +77 -0
- package/dist/context.js.map +1 -0
- package/dist/deploy.d.ts +57 -0
- package/dist/deploy.js +247 -0
- package/dist/deploy.js.map +1 -0
- package/dist/graph.d.ts +20 -0
- package/dist/graph.js +73 -0
- package/dist/graph.js.map +1 -0
- package/dist/init.d.ts +4 -0
- package/dist/init.js +92 -0
- package/dist/init.js.map +1 -0
- package/dist/logger.d.ts +18 -0
- package/dist/logger.js +34 -0
- package/dist/logger.js.map +1 -0
- package/dist/microvms.d.ts +15 -0
- package/dist/microvms.js +56 -0
- package/dist/microvms.js.map +1 -0
- package/dist/nodes.d.ts +34 -0
- package/dist/nodes.js +858 -0
- package/dist/nodes.js.map +1 -0
- package/dist/ports.d.ts +25 -0
- package/dist/ports.js +7 -0
- package/dist/ports.js.map +1 -0
- package/dist/render.d.ts +33 -0
- package/dist/render.js +81 -0
- package/dist/render.js.map +1 -0
- package/dist/repo.d.ts +25 -0
- package/dist/repo.js +75 -0
- package/dist/repo.js.map +1 -0
- package/dist/rkey.d.ts +6 -0
- package/dist/rkey.js +7 -0
- package/dist/rkey.js.map +1 -0
- package/dist/seo.d.ts +15 -0
- package/dist/seo.js +30 -0
- package/dist/seo.js.map +1 -0
- package/dist/test-support.d.ts +44 -0
- package/dist/test-support.js +120 -0
- package/dist/test-support.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/ports.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI-owned ports. Shared ports (FileSystem) come from blogwright-core; the
|
|
3
|
+
* ports here serve only this package. Adapters live in `adapters/` and are
|
|
4
|
+
* constructed only at the composition root (context.ts).
|
|
5
|
+
*/
|
|
6
|
+
import type { FileSystem, Terminal } from 'blogwright-core';
|
|
7
|
+
/** Version-control queries the deploy pipeline needs, in domain vocabulary. */
|
|
8
|
+
export interface Vcs {
|
|
9
|
+
/** Resolve a stable short revision hash for the working copy at `cwd`. */
|
|
10
|
+
revisionHash(cwd: string): Promise<string>;
|
|
11
|
+
/** List repository files as `cwd`-relative paths, honoring the VCS ignore rules. */
|
|
12
|
+
listFiles(cwd: string): Promise<string[]>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Best-effort wake-up ping to a builder MicroVM's proxy endpoint. Implementations
|
|
16
|
+
* never throw — the connection attempt, not the response, is the point.
|
|
17
|
+
*/
|
|
18
|
+
export type PingBuilder = (endpoint: string, token: string) => Promise<void>;
|
|
19
|
+
/** The ports domain code reaches side effects through; adapters are wired in createContext. */
|
|
20
|
+
export interface Ports {
|
|
21
|
+
fs: FileSystem;
|
|
22
|
+
vcs: Vcs;
|
|
23
|
+
terminal: Terminal;
|
|
24
|
+
ping: PingBuilder;
|
|
25
|
+
}
|
package/dist/ports.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI-owned ports. Shared ports (FileSystem) come from blogwright-core; the
|
|
3
|
+
* ports here serve only this package. Adapters live in `adapters/` and are
|
|
4
|
+
* constructed only at the composition root (context.ts).
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=ports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/dist/render.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Compact human duration: 12s, 2m14s. */
|
|
2
|
+
export declare function formatDuration(ms: number): string;
|
|
3
|
+
/** The spinner glyph for a poll cycle; callers pass a monotonically growing tick. */
|
|
4
|
+
export declare function spinnerFrame(tick: number): string;
|
|
5
|
+
/** Coarse relative time for history listings: 42s ago, 5m ago, 3h ago, 12d ago. */
|
|
6
|
+
export declare function formatAgo(ms: number): string;
|
|
7
|
+
export interface SummaryRow {
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A summary card: a box on a TTY, plain `label: value` lines otherwise.
|
|
13
|
+
* Values may carry colour; widths are computed on the visible text.
|
|
14
|
+
*/
|
|
15
|
+
export declare function renderSummary(title: string, rows: SummaryRow[], pretty: boolean): string[];
|
|
16
|
+
export interface StatusEntry {
|
|
17
|
+
title: string;
|
|
18
|
+
state: 'present' | 'missing' | 'error';
|
|
19
|
+
detail?: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
/** The pretty drift tree for `status` (the plain form keeps the classic lines). */
|
|
22
|
+
export declare function renderStatusTree(entries: StatusEntry[]): string[];
|
|
23
|
+
export interface HistoryEntry {
|
|
24
|
+
hash: string;
|
|
25
|
+
status: 'succeeded' | 'failed';
|
|
26
|
+
finishedAt: string;
|
|
27
|
+
durationMs: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The pretty deployment table for `history`: relative times, a live marker on
|
|
31
|
+
* the newest success. Entries arrive newest-first (the caller sorts).
|
|
32
|
+
*/
|
|
33
|
+
export declare function renderHistoryTable(entries: HistoryEntry[], now: number): string[];
|
package/dist/render.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Pure presentation helpers: data in, lines out — the caller writes them.
|
|
3
|
+
* Every renderer takes a `pretty` flag; the plain form is stable, line-oriented
|
|
4
|
+
* output for CI systems and agents, the pretty form is for humans on a TTY.
|
|
5
|
+
*/
|
|
6
|
+
import { colors, stripColors } from 'blogwright-core';
|
|
7
|
+
/** Compact human duration: 12s, 2m14s. */
|
|
8
|
+
export function formatDuration(ms) {
|
|
9
|
+
const totalSeconds = Math.max(0, Math.round(ms / 1000));
|
|
10
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
11
|
+
const seconds = totalSeconds % 60;
|
|
12
|
+
return minutes === 0 ? `${seconds}s` : `${minutes}m${String(seconds).padStart(2, '0')}s`;
|
|
13
|
+
}
|
|
14
|
+
const SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
15
|
+
/** The spinner glyph for a poll cycle; callers pass a monotonically growing tick. */
|
|
16
|
+
export function spinnerFrame(tick) {
|
|
17
|
+
return SPINNER_FRAMES[tick % SPINNER_FRAMES.length] ?? SPINNER_FRAMES[0];
|
|
18
|
+
}
|
|
19
|
+
/** Coarse relative time for history listings: 42s ago, 5m ago, 3h ago, 12d ago. */
|
|
20
|
+
export function formatAgo(ms) {
|
|
21
|
+
const s = Math.max(0, Math.round(ms / 1000));
|
|
22
|
+
if (s < 60)
|
|
23
|
+
return `${s}s ago`;
|
|
24
|
+
const m = Math.round(s / 60);
|
|
25
|
+
if (m < 60)
|
|
26
|
+
return `${m}m ago`;
|
|
27
|
+
const h = Math.round(m / 60);
|
|
28
|
+
if (h < 48)
|
|
29
|
+
return `${h}h ago`;
|
|
30
|
+
return `${Math.round(h / 24)}d ago`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A summary card: a box on a TTY, plain `label: value` lines otherwise.
|
|
34
|
+
* Values may carry colour; widths are computed on the visible text.
|
|
35
|
+
*/
|
|
36
|
+
export function renderSummary(title, rows, pretty) {
|
|
37
|
+
if (!pretty) {
|
|
38
|
+
return [`${title}:`, ...rows.map((r) => ` ${r.label}: ${stripColors(r.value)}`)];
|
|
39
|
+
}
|
|
40
|
+
const labelWidth = Math.max(...rows.map((r) => r.label.length));
|
|
41
|
+
const body = rows.map((r) => `${colors.dim(r.label.padEnd(labelWidth))} ${r.value}`);
|
|
42
|
+
const inner = Math.max(title.length + 1, ...body.map((l) => stripColors(l).length));
|
|
43
|
+
const pad = (content) => ' '.repeat(inner - stripColors(content).length);
|
|
44
|
+
return [
|
|
45
|
+
`╭─ ${colors.bold(title)} ${'─'.repeat(inner - title.length - 1)}╮`,
|
|
46
|
+
...body.map((l) => `│ ${l}${pad(l)} │`),
|
|
47
|
+
`╰${'─'.repeat(inner + 2)}╯`,
|
|
48
|
+
];
|
|
49
|
+
}
|
|
50
|
+
const STATUS_MARKS = {
|
|
51
|
+
present: colors.green('✓'),
|
|
52
|
+
missing: colors.yellow('◌'),
|
|
53
|
+
error: colors.red('✗'),
|
|
54
|
+
};
|
|
55
|
+
/** The pretty drift tree for `status` (the plain form keeps the classic lines). */
|
|
56
|
+
export function renderStatusTree(entries) {
|
|
57
|
+
return entries.map((entry, i) => {
|
|
58
|
+
const connector = i === entries.length - 1 ? '╰─' : '├─';
|
|
59
|
+
const detail = entry.detail ? ` ${colors.dim(entry.detail)}` : '';
|
|
60
|
+
return `${connector} ${STATUS_MARKS[entry.state]} ${entry.title}${detail}`;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The pretty deployment table for `history`: relative times, a live marker on
|
|
65
|
+
* the newest success. Entries arrive newest-first (the caller sorts).
|
|
66
|
+
*/
|
|
67
|
+
export function renderHistoryTable(entries, now) {
|
|
68
|
+
const liveIndex = entries.findIndex((e) => e.status === 'succeeded');
|
|
69
|
+
const rows = entries.map((e, i) => {
|
|
70
|
+
const mark = e.status === 'succeeded' ? colors.green('✓') : colors.red('✗');
|
|
71
|
+
const cells = [
|
|
72
|
+
e.hash.padEnd(13),
|
|
73
|
+
mark,
|
|
74
|
+
formatAgo(now - Date.parse(e.finishedAt)).padEnd(9),
|
|
75
|
+
formatDuration(e.durationMs).padEnd(7),
|
|
76
|
+
].join(' ');
|
|
77
|
+
return i === liveIndex ? `${cells} ${colors.cyan('← live')}` : cells;
|
|
78
|
+
});
|
|
79
|
+
return [colors.bold(`${'hash'.padEnd(13)} ${' '} ${'finished'.padEnd(9)} duration`), ...rows];
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/repo.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy source packaging: choose the repository files to ship and build a
|
|
3
|
+
* deterministic zip of them. Pure domain — the VCS listing and file contents
|
|
4
|
+
* arrive through ports (see ports.ts; the process adapter owns jj/git).
|
|
5
|
+
*/
|
|
6
|
+
import { type FileSystem } from 'blogwright-core';
|
|
7
|
+
import type { Ports } from './ports.js';
|
|
8
|
+
/**
|
|
9
|
+
* Filename injected into the source zip carrying the build revision. The site build
|
|
10
|
+
* runs in a MicroVM from this zip (no `.git`), so `astro.config` reads the hash from
|
|
11
|
+
* this file — see the repo's astro.config.mjs.
|
|
12
|
+
*/
|
|
13
|
+
export declare const COMMIT_FILE = ".commit-hash";
|
|
14
|
+
/**
|
|
15
|
+
* List deployable repository files: the VCS listing minus the extra `ignore`
|
|
16
|
+
* prefixes, minus tracked-but-deleted-on-disk paths (so a later read cannot
|
|
17
|
+
* fail the whole zip).
|
|
18
|
+
*/
|
|
19
|
+
export declare function listRepoFiles(ports: Pick<Ports, 'vcs' | 'fs'>, cwd: string, ignore: string[], include?: string[]): Promise<string[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Build a deterministic zip of the given files (read relative to cwd). Extra entries
|
|
22
|
+
* (path → text content) are added in memory — used to inject build metadata such as
|
|
23
|
+
* the commit hash without touching the working tree.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildRepoZip(fs: FileSystem, cwd: string, files: string[], extra?: Record<string, string>): Promise<Uint8Array>;
|
package/dist/repo.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deploy source packaging: choose the repository files to ship and build a
|
|
3
|
+
* deterministic zip of them. Pure domain — the VCS listing and file contents
|
|
4
|
+
* arrive through ports (see ports.ts; the process adapter owns jj/git).
|
|
5
|
+
*/
|
|
6
|
+
import { zipSync } from 'fflate';
|
|
7
|
+
import { FileNotFoundError } from 'blogwright-core';
|
|
8
|
+
/** Fixed timestamp for reproducible zips (fflate requires 1980-2099). */
|
|
9
|
+
const ZIP_MTIME = new Date('1980-01-01T00:00:00Z');
|
|
10
|
+
/**
|
|
11
|
+
* Filename injected into the source zip carrying the build revision. The site build
|
|
12
|
+
* runs in a MicroVM from this zip (no `.git`), so `astro.config` reads the hash from
|
|
13
|
+
* this file — see the repo's astro.config.mjs.
|
|
14
|
+
*/
|
|
15
|
+
export const COMMIT_FILE = '.commit-hash';
|
|
16
|
+
/**
|
|
17
|
+
* List deployable repository files: the VCS listing minus the extra `ignore`
|
|
18
|
+
* prefixes, minus tracked-but-deleted-on-disk paths (so a later read cannot
|
|
19
|
+
* fail the whole zip).
|
|
20
|
+
*/
|
|
21
|
+
export async function listRepoFiles(ports, cwd, ignore, include = []) {
|
|
22
|
+
const files = await ports.vcs.listFiles(cwd);
|
|
23
|
+
// An ignore entry matches an exact path or a directory boundary — "dist"
|
|
24
|
+
// drops dist and dist/**, never dist-notes.md (files silently missing from
|
|
25
|
+
// the deployed site are painful to trace back to a prefix collision).
|
|
26
|
+
const matches = (f, entry) => {
|
|
27
|
+
const dir = entry.endsWith('/') ? entry : `${entry}/`;
|
|
28
|
+
return f === entry || f.startsWith(dir);
|
|
29
|
+
};
|
|
30
|
+
const kept = files.filter((f) => !ignore.some((entry) => matches(f, entry)));
|
|
31
|
+
const present = await Promise.all(kept.map(async (f) => ((await ports.fs.exists(`${cwd}/${f}`)) ? f : null)));
|
|
32
|
+
const all = new Set(present.filter((f) => f !== null));
|
|
33
|
+
for (const entry of include) {
|
|
34
|
+
for (const f of await includedFiles(ports.fs, cwd, entry))
|
|
35
|
+
all.add(f);
|
|
36
|
+
}
|
|
37
|
+
return [...all];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Expand one `sourceInclude` entry (gitignored pre-deploy artifacts) into
|
|
41
|
+
* repo-relative files. A missing or empty path is a hard error: it means the
|
|
42
|
+
* pre-deploy build (e.g. `just wasm`) did not run, and shipping without the
|
|
43
|
+
* artifacts would deploy a broken site.
|
|
44
|
+
*/
|
|
45
|
+
async function includedFiles(fs, cwd, entry) {
|
|
46
|
+
const rel = entry.replace(/\/+$/, '');
|
|
47
|
+
const abs = `${cwd}/${rel}`;
|
|
48
|
+
try {
|
|
49
|
+
const listed = await fs.listFiles(abs);
|
|
50
|
+
if (listed.length === 0)
|
|
51
|
+
throw new FileNotFoundError(abs);
|
|
52
|
+
return listed.map((f) => `${rel}/${f}`).sort();
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
if (err instanceof FileNotFoundError && (await fs.exists(abs)))
|
|
56
|
+
return [rel]; // a single file
|
|
57
|
+
throw new Error(`sourceInclude path "${entry}" is missing or empty — run the pre-deploy build that produces it before deploying`, { cause: err });
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Build a deterministic zip of the given files (read relative to cwd). Extra entries
|
|
62
|
+
* (path → text content) are added in memory — used to inject build metadata such as
|
|
63
|
+
* the commit hash without touching the working tree.
|
|
64
|
+
*/
|
|
65
|
+
export async function buildRepoZip(fs, cwd, files, extra = {}) {
|
|
66
|
+
const entries = {};
|
|
67
|
+
for (const file of files) {
|
|
68
|
+
entries[file] = await fs.readBytes(`${cwd}/${file}`);
|
|
69
|
+
}
|
|
70
|
+
for (const [path, content] of Object.entries(extra)) {
|
|
71
|
+
entries[path] = new TextEncoder().encode(content);
|
|
72
|
+
}
|
|
73
|
+
return zipSync(entries, { level: 6, mtime: ZIP_MTIME });
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=repo.js.map
|
package/dist/repo.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}
|
package/dist/rkey.d.ts
ADDED
package/dist/rkey.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `blogwright/rkey` subpath export, kept stable for consuming sites: the
|
|
3
|
+
* implementation lives in blogwright-pds (see packages/pds/src/rkey.ts), and
|
|
4
|
+
* this re-export preserves the CLI's published contract.
|
|
5
|
+
*/
|
|
6
|
+
export * from 'blogwright-pds/rkey';
|
|
7
|
+
//# sourceMappingURL=rkey.js.map
|
package/dist/rkey.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rkey.js","sourceRoot":"","sources":["../src/rkey.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC"}
|
package/dist/seo.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { OpsContext } from './context.js';
|
|
2
|
+
/** Robots/sitemap directives handed to the build agent for a single deploy. */
|
|
3
|
+
export interface SeoDirectives {
|
|
4
|
+
/** robots.txt body to publish; omitted means "leave the build's own robots.txt". */
|
|
5
|
+
robots?: string;
|
|
6
|
+
/** When set, the agent generates sitemap.xml from the built pages using this origin. */
|
|
7
|
+
sitemapBaseUrl?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resolve robots.txt / sitemap.xml directives for a deploy from the environment + config.
|
|
11
|
+
* `baseUrl` is the canonical origin the site is served from (e.g. https://example.com).
|
|
12
|
+
* Defaults are environment-aware: production is indexable with a sitemap; every other
|
|
13
|
+
* environment blocks crawlers and skips the sitemap — all overridable via config.seo.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveSeo(ctx: OpsContext, baseUrl: string | undefined): SeoDirectives;
|
package/dist/seo.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function blockAllRobots() {
|
|
2
|
+
return 'User-agent: *\nDisallow: /\n';
|
|
3
|
+
}
|
|
4
|
+
function indexRobots(sitemapUrl) {
|
|
5
|
+
let out = 'User-agent: *\nAllow: /\n';
|
|
6
|
+
if (sitemapUrl)
|
|
7
|
+
out += `\nSitemap: ${sitemapUrl}\n`;
|
|
8
|
+
return out;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Resolve robots.txt / sitemap.xml directives for a deploy from the environment + config.
|
|
12
|
+
* `baseUrl` is the canonical origin the site is served from (e.g. https://example.com).
|
|
13
|
+
* Defaults are environment-aware: production is indexable with a sitemap; every other
|
|
14
|
+
* environment blocks crawlers and skips the sitemap — all overridable via config.seo.
|
|
15
|
+
*/
|
|
16
|
+
export function resolveSeo(ctx, baseUrl) {
|
|
17
|
+
const isProd = !ctx.preview && ctx.env === 'production';
|
|
18
|
+
const seo = ctx.config.seo;
|
|
19
|
+
const sitemapOn = seo.sitemap === 'on' || (seo.sitemap === 'auto' && isProd);
|
|
20
|
+
const sitemapBaseUrl = sitemapOn && baseUrl ? baseUrl.replace(/\/+$/, '') : undefined;
|
|
21
|
+
if (seo.robots === 'off') {
|
|
22
|
+
return sitemapBaseUrl ? { sitemapBaseUrl } : {};
|
|
23
|
+
}
|
|
24
|
+
const content = seo.robotsContent ??
|
|
25
|
+
(seo.robots === 'index' || (seo.robots === 'auto' && isProd)
|
|
26
|
+
? indexRobots(sitemapBaseUrl ? `${sitemapBaseUrl}/sitemap.xml` : undefined)
|
|
27
|
+
: blockAllRobots());
|
|
28
|
+
return sitemapBaseUrl ? { robots: content, sitemapBaseUrl } : { robots: content };
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=seo.js.map
|
package/dist/seo.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seo.js","sourceRoot":"","sources":["../src/seo.ts"],"names":[],"mappings":"AAUA,SAAS,cAAc;IACrB,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,UAA8B;IACjD,IAAI,GAAG,GAAG,2BAA2B,CAAC;IACtC,IAAI,UAAU;QAAE,GAAG,IAAI,cAAc,UAAU,IAAI,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAe,EAAE,OAA2B;IACrE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,KAAK,YAAY,CAAC;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;IAE3B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtF,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACzB,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,OAAO,GACX,GAAG,CAAC,aAAa;QACjB,CAAC,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC;YAC1D,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3E,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC;IAExB,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACpF,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-only OpsContext factory. Builds a real, fully-typed context over
|
|
3
|
+
* in-memory adapters: file access hits a Map-backed FileSystem, and every AWS
|
|
4
|
+
* client method that a test has not overridden fails fast at the transport.
|
|
5
|
+
* Tests substitute behaviour here — at the ports — never by casting.
|
|
6
|
+
*/
|
|
7
|
+
import { type AwsClients, type Names, type OpsConfig, type OpsState } from 'blogwright-core';
|
|
8
|
+
import type { OpsContext } from './context.js';
|
|
9
|
+
import type { Logger } from './logger.js';
|
|
10
|
+
import type { Ports } from './ports.js';
|
|
11
|
+
type ServiceName = Exclude<keyof AwsClients, 'region'>;
|
|
12
|
+
/** Per-service method overrides; anything not overridden rejects when called. */
|
|
13
|
+
type ClientOverrides = {
|
|
14
|
+
[Service in ServiceName]?: Partial<AwsClients[Service]>;
|
|
15
|
+
};
|
|
16
|
+
export interface TestContextOverrides {
|
|
17
|
+
env?: string | undefined;
|
|
18
|
+
domain?: string | undefined;
|
|
19
|
+
preview?: boolean | undefined;
|
|
20
|
+
accountId?: string | undefined;
|
|
21
|
+
config?: Partial<OpsConfig> | undefined;
|
|
22
|
+
names?: Partial<Names> | undefined;
|
|
23
|
+
state?: Partial<OpsState> | undefined;
|
|
24
|
+
clients?: ClientOverrides | undefined;
|
|
25
|
+
logger?: Partial<Logger> | undefined;
|
|
26
|
+
ports?: Partial<Ports> | undefined;
|
|
27
|
+
agentDir?: string | undefined;
|
|
28
|
+
save?: (() => Promise<void>) | undefined;
|
|
29
|
+
}
|
|
30
|
+
/** Default agent-artifact directory for tests; seed the in-memory fs under it. */
|
|
31
|
+
export declare const TEST_AGENT_DIR = "/agent";
|
|
32
|
+
/** Create a unique real-disk directory for a node-adapter integration test. */
|
|
33
|
+
export declare function makeTempDir(prefix: string): Promise<string>;
|
|
34
|
+
/** Delete a directory created by {@link makeTempDir}. */
|
|
35
|
+
export declare function removeTempDir(dir: string): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Build a complete OpsContext for tests. Defaults: env "test", site "example",
|
|
38
|
+
* account 123456789012, config merged over DEFAULT_CONFIG, derived names,
|
|
39
|
+
* empty state, a fresh in-memory FileSystem, a Vcs that fails fast until
|
|
40
|
+
* overridden, TEST_AGENT_DIR as the agent directory, a silent logger, and a
|
|
41
|
+
* no-op save.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createTestContext(overrides?: TestContextOverrides): OpsContext;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test-only OpsContext factory. Builds a real, fully-typed context over
|
|
3
|
+
* in-memory adapters: file access hits a Map-backed FileSystem, and every AWS
|
|
4
|
+
* client method that a test has not overridden fails fast at the transport.
|
|
5
|
+
* Tests substitute behaviour here — at the ports — never by casting.
|
|
6
|
+
*/
|
|
7
|
+
import { mkdtemp, rm } from 'node:fs/promises';
|
|
8
|
+
import { tmpdir } from 'node:os';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { createClients, createMemoryFileSystem, deriveNames, emptyState, mergeConfig, staticCredentials, StateStore, } from 'blogwright-core';
|
|
11
|
+
const rejectAllTransport = async (req) => {
|
|
12
|
+
throw new Error(`unexpected AWS request in test: ${req.method} ${req.url} — override the client method on createTestContext`);
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Layer test overrides over a real client so untouched methods still fail fast.
|
|
16
|
+
* Overrides must be plain objects of methods (own properties) — a class
|
|
17
|
+
* instance's prototype methods would not be copied.
|
|
18
|
+
*/
|
|
19
|
+
function overrideClient(base, overrides) {
|
|
20
|
+
if (!overrides)
|
|
21
|
+
return base;
|
|
22
|
+
return Object.assign(Object.create(base), overrides);
|
|
23
|
+
}
|
|
24
|
+
function testClients(region, overrides) {
|
|
25
|
+
const base = createClients({
|
|
26
|
+
region,
|
|
27
|
+
credentials: staticCredentials({ accessKeyId: 'test', secretAccessKey: 'test' }),
|
|
28
|
+
transport: rejectAllTransport,
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
...base,
|
|
32
|
+
signing: overrideClient(base.signing, overrides.signing),
|
|
33
|
+
s3: overrideClient(base.s3, overrides.s3),
|
|
34
|
+
sts: overrideClient(base.sts, overrides.sts),
|
|
35
|
+
iam: overrideClient(base.iam, overrides.iam),
|
|
36
|
+
logs: overrideClient(base.logs, overrides.logs),
|
|
37
|
+
acm: overrideClient(base.acm, overrides.acm),
|
|
38
|
+
cloudfront: overrideClient(base.cloudfront, overrides.cloudfront),
|
|
39
|
+
route53: overrideClient(base.route53, overrides.route53),
|
|
40
|
+
microvms: overrideClient(base.microvms, overrides.microvms),
|
|
41
|
+
secrets: overrideClient(base.secrets, overrides.secrets),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const rejectAllVcs = {
|
|
45
|
+
revisionHash: async (cwd) => {
|
|
46
|
+
throw new Error(`unexpected VCS call in test: revisionHash(${cwd}) — override ports.vcs on createTestContext`);
|
|
47
|
+
},
|
|
48
|
+
listFiles: async (cwd) => {
|
|
49
|
+
throw new Error(`unexpected VCS call in test: listFiles(${cwd}) — override ports.vcs on createTestContext`);
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
/** Pings are best-effort fire-and-forget by contract; the default resolves silently. */
|
|
53
|
+
const noopPing = async () => undefined;
|
|
54
|
+
/** Silent, non-interactive terminal; a prompt in a test is a missing override. */
|
|
55
|
+
const silentTerminal = {
|
|
56
|
+
isInteractive: false,
|
|
57
|
+
write: () => undefined,
|
|
58
|
+
error: () => undefined,
|
|
59
|
+
status: () => undefined,
|
|
60
|
+
question: async (prompt) => {
|
|
61
|
+
throw new Error(`unexpected terminal prompt in test: ${prompt} — override ports.terminal on createTestContext`);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
const NOOP_LOGGER = {
|
|
65
|
+
info: () => undefined,
|
|
66
|
+
step: () => undefined,
|
|
67
|
+
ok: () => undefined,
|
|
68
|
+
warn: () => undefined,
|
|
69
|
+
error: () => undefined,
|
|
70
|
+
};
|
|
71
|
+
/** Default agent-artifact directory for tests; seed the in-memory fs under it. */
|
|
72
|
+
export const TEST_AGENT_DIR = '/agent';
|
|
73
|
+
/** Create a unique real-disk directory for a node-adapter integration test. */
|
|
74
|
+
export async function makeTempDir(prefix) {
|
|
75
|
+
return mkdtemp(join(tmpdir(), `${prefix}-`));
|
|
76
|
+
}
|
|
77
|
+
/** Delete a directory created by {@link makeTempDir}. */
|
|
78
|
+
export async function removeTempDir(dir) {
|
|
79
|
+
await rm(dir, { recursive: true, force: true });
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Build a complete OpsContext for tests. Defaults: env "test", site "example",
|
|
83
|
+
* account 123456789012, config merged over DEFAULT_CONFIG, derived names,
|
|
84
|
+
* empty state, a fresh in-memory FileSystem, a Vcs that fails fast until
|
|
85
|
+
* overridden, TEST_AGENT_DIR as the agent directory, a silent logger, and a
|
|
86
|
+
* no-op save.
|
|
87
|
+
*/
|
|
88
|
+
export function createTestContext(overrides = {}) {
|
|
89
|
+
const env = overrides.env ?? 'test';
|
|
90
|
+
const accountId = overrides.accountId ?? '123456789012';
|
|
91
|
+
const config = mergeConfig({ siteName: 'example', ...overrides.config });
|
|
92
|
+
const names = { ...deriveNames(env, accountId, config), ...overrides.names };
|
|
93
|
+
const state = { ...emptyState(env), ...overrides.state };
|
|
94
|
+
const clients = testClients(config.region, overrides.clients ?? {});
|
|
95
|
+
const ports = {
|
|
96
|
+
fs: overrides.ports?.fs ?? createMemoryFileSystem(),
|
|
97
|
+
vcs: overrides.ports?.vcs ?? rejectAllVcs,
|
|
98
|
+
terminal: overrides.ports?.terminal ?? silentTerminal,
|
|
99
|
+
ping: overrides.ports?.ping ?? noopPing,
|
|
100
|
+
};
|
|
101
|
+
return {
|
|
102
|
+
env,
|
|
103
|
+
// Mirrors production resolution (context.ts): an explicit domain wins,
|
|
104
|
+
// else the config's — so a test setting config.domain builds the same
|
|
105
|
+
// graph shape (certificate node, aliases) the real run would.
|
|
106
|
+
domain: overrides.domain ?? config.domain,
|
|
107
|
+
preview: overrides.preview ?? false,
|
|
108
|
+
config,
|
|
109
|
+
names,
|
|
110
|
+
accountId,
|
|
111
|
+
clients,
|
|
112
|
+
ports,
|
|
113
|
+
agentDir: overrides.agentDir ?? TEST_AGENT_DIR,
|
|
114
|
+
state,
|
|
115
|
+
store: new StateStore(clients.s3, names.bucket, env),
|
|
116
|
+
logger: { ...NOOP_LOGGER, ...overrides.logger },
|
|
117
|
+
save: overrides.save ?? (async () => undefined),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=test-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-support.js","sourceRoot":"","sources":["../src/test-support.ts"],"names":[],"mappings":"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"}
|