blogwright 0.3.2 → 0.4.0-beta.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/README.md +11 -11
- package/agent/agent-manifest.json +1 -1
- package/agent/server.js +37 -19
- package/dist/adapters/fetch-ping.d.ts +1 -1
- package/dist/adapters/fetch-ping.js +3 -4
- package/dist/adapters/node-module-loader.d.ts +11 -0
- package/dist/adapters/node-module-loader.js +146 -0
- package/dist/adapters/process-package-manager.d.ts +41 -0
- package/dist/adapters/process-package-manager.js +116 -0
- package/dist/adapters/process-vcs.d.ts +5 -4
- package/dist/adapters/process-vcs.js +6 -6
- package/dist/agent-package.d.ts +1 -1
- package/dist/agent-package.js +4 -4
- package/dist/bin.js +13 -3
- package/dist/cli.d.ts +68 -1
- package/dist/cli.js +270 -89
- package/dist/commands.d.ts +70 -3
- package/dist/commands.js +180 -32
- package/dist/config-block.d.ts +34 -0
- package/dist/config-block.js +262 -0
- package/dist/context.d.ts +76 -6
- package/dist/context.js +98 -19
- package/dist/deploy.d.ts +2 -2
- package/dist/deploy.js +14 -14
- package/dist/graph.d.ts +27 -16
- package/dist/graph.js +1 -2
- package/dist/init.d.ts +37 -3
- package/dist/init.js +146 -23
- package/dist/known-commands.d.ts +63 -0
- package/dist/known-commands.js +78 -0
- package/dist/logger.js +0 -1
- package/dist/microvms.d.ts +2 -2
- package/dist/microvms.js +3 -4
- package/dist/nodes.d.ts +5 -3
- package/dist/nodes.js +97 -31
- package/dist/plugin-commands.d.ts +298 -0
- package/dist/plugin-commands.js +990 -0
- package/dist/plugins.d.ts +194 -0
- package/dist/plugins.js +523 -0
- package/dist/ports.d.ts +89 -1
- package/dist/ports.js +0 -1
- package/dist/render.d.ts +55 -0
- package/dist/render.js +89 -2
- package/dist/repo.d.ts +3 -3
- package/dist/repo.js +8 -9
- package/dist/rkey.js +0 -1
- package/dist/seo.d.ts +1 -1
- package/dist/seo.js +1 -2
- package/package.json +6 -6
- package/dist/adapters/fetch-ping.js.map +0 -1
- package/dist/adapters/process-vcs.js.map +0 -1
- package/dist/agent-package.js.map +0 -1
- package/dist/bin.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands.js.map +0 -1
- package/dist/context.js.map +0 -1
- package/dist/deploy.js.map +0 -1
- package/dist/graph.js.map +0 -1
- package/dist/init.js.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/microvms.js.map +0 -1
- package/dist/nodes.js.map +0 -1
- package/dist/ports.js.map +0 -1
- package/dist/render.js.map +0 -1
- package/dist/repo.js.map +0 -1
- package/dist/rkey.js.map +0 -1
- package/dist/seo.js.map +0 -1
- package/dist/test-support.d.ts +0 -45
- package/dist/test-support.js +0 -126
- package/dist/test-support.js.map +0 -1
package/dist/test-support.js
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
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
|
-
logsUsEast1: overrideClient(base.logsUsEast1, overrides.logsUsEast1),
|
|
38
|
-
acm: overrideClient(base.acm, overrides.acm),
|
|
39
|
-
cloudfront: overrideClient(base.cloudfront, overrides.cloudfront),
|
|
40
|
-
route53: overrideClient(base.route53, overrides.route53),
|
|
41
|
-
microvms: overrideClient(base.microvms, overrides.microvms),
|
|
42
|
-
secrets: overrideClient(base.secrets, overrides.secrets),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const rejectAllVcs = {
|
|
46
|
-
revisionHash: async (cwd) => {
|
|
47
|
-
throw new Error(`unexpected VCS call in test: revisionHash(${cwd}) — override ports.vcs on createTestContext`);
|
|
48
|
-
},
|
|
49
|
-
listFiles: async (cwd) => {
|
|
50
|
-
throw new Error(`unexpected VCS call in test: listFiles(${cwd}) — override ports.vcs on createTestContext`);
|
|
51
|
-
},
|
|
52
|
-
};
|
|
53
|
-
/** Pings are best-effort fire-and-forget by contract; the default resolves silently. */
|
|
54
|
-
const noopPing = async () => undefined;
|
|
55
|
-
/** Silent, non-interactive terminal; a prompt in a test is a missing override. */
|
|
56
|
-
const silentTerminal = {
|
|
57
|
-
isInteractive: false,
|
|
58
|
-
write: () => undefined,
|
|
59
|
-
error: () => undefined,
|
|
60
|
-
status: () => undefined,
|
|
61
|
-
question: async (prompt) => {
|
|
62
|
-
throw new Error(`unexpected terminal prompt in test: ${prompt} — override ports.terminal on createTestContext`);
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
const NOOP_LOGGER = {
|
|
66
|
-
info: () => undefined,
|
|
67
|
-
step: () => undefined,
|
|
68
|
-
ok: () => undefined,
|
|
69
|
-
warn: () => undefined,
|
|
70
|
-
error: () => undefined,
|
|
71
|
-
};
|
|
72
|
-
/** Default agent-artifact directory for tests; seed the in-memory fs under it. */
|
|
73
|
-
export const TEST_AGENT_DIR = '/agent';
|
|
74
|
-
/** Create a unique real-disk directory for a node-adapter integration test. */
|
|
75
|
-
export async function makeTempDir(prefix) {
|
|
76
|
-
return mkdtemp(join(tmpdir(), `${prefix}-`));
|
|
77
|
-
}
|
|
78
|
-
/** Delete a directory created by {@link makeTempDir}. */
|
|
79
|
-
export async function removeTempDir(dir) {
|
|
80
|
-
await rm(dir, { recursive: true, force: true });
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Build a complete OpsContext for tests. Defaults: env "test", site "example",
|
|
84
|
-
* account 123456789012, config merged over DEFAULT_CONFIG, derived names,
|
|
85
|
-
* empty state, a fresh in-memory FileSystem, a Vcs that fails fast until
|
|
86
|
-
* overridden, TEST_AGENT_DIR as the agent directory, a silent logger, and a
|
|
87
|
-
* no-op save.
|
|
88
|
-
*/
|
|
89
|
-
export function createTestContext(overrides = {}) {
|
|
90
|
-
const env = overrides.env ?? 'test';
|
|
91
|
-
const accountId = overrides.accountId ?? '123456789012';
|
|
92
|
-
const config = mergeConfig({ siteName: 'example', ...overrides.config });
|
|
93
|
-
const names = { ...deriveNames(env, accountId, config), ...overrides.names };
|
|
94
|
-
const state = { ...emptyState(env), ...overrides.state };
|
|
95
|
-
const clients = testClients(config.region, overrides.clients ?? {});
|
|
96
|
-
const ports = {
|
|
97
|
-
fs: overrides.ports?.fs ?? createMemoryFileSystem(),
|
|
98
|
-
vcs: overrides.ports?.vcs ?? rejectAllVcs,
|
|
99
|
-
terminal: overrides.ports?.terminal ?? silentTerminal,
|
|
100
|
-
ping: overrides.ports?.ping ?? noopPing,
|
|
101
|
-
};
|
|
102
|
-
return {
|
|
103
|
-
env,
|
|
104
|
-
// Mirrors production resolution (context.ts): an explicit domain wins,
|
|
105
|
-
// else the config's — so a test setting config.domain builds the same
|
|
106
|
-
// graph shape (certificate node, aliases) the real run would.
|
|
107
|
-
domain: overrides.domain ?? config.domain,
|
|
108
|
-
preview: overrides.preview ?? false,
|
|
109
|
-
config,
|
|
110
|
-
names,
|
|
111
|
-
accountId,
|
|
112
|
-
clients,
|
|
113
|
-
ports,
|
|
114
|
-
agentDir: overrides.agentDir ?? TEST_AGENT_DIR,
|
|
115
|
-
// Mirrors production derivation (context.ts deriveAppTag) with '/repo' as root.
|
|
116
|
-
tags: overrides.tags ?? {
|
|
117
|
-
environment: env,
|
|
118
|
-
app: config.app ?? overrides.domain ?? config.domain ?? 'repo',
|
|
119
|
-
},
|
|
120
|
-
state,
|
|
121
|
-
store: new StateStore(clients.s3, names.bucket, env),
|
|
122
|
-
logger: { ...NOOP_LOGGER, ...overrides.logger },
|
|
123
|
-
save: overrides.save ?? (async () => undefined),
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=test-support.js.map
|
package/dist/test-support.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-support.js","sourceRoot":"","sources":["../src/test-support.ts"],"names":[],"mappings":"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"}
|