chore: initialize from frontend template 4dc033c

This commit is contained in:
DongHyeonka
2026-08-13 18:23:26 +09:00
commit 40107eec84
897 changed files with 234824 additions and 0 deletions
@@ -0,0 +1,3 @@
import { createRuntimeAdapters } from "../../../../src/bootstrap/runtime-adapters.ts";
export const bootstrapFactory = createRuntimeAdapters;
@@ -0,0 +1,3 @@
import { createApplication } from "../../../../src/application/create-application.ts";
export const applicationFactory = createApplication;
@@ -0,0 +1,7 @@
import { createApplication } from "../../../../src/application/create-application.ts";
export const applicationFactory = createApplication;
export function AllowedPresentationFixture() {
return <p>allowed</p>;
}
@@ -0,0 +1,5 @@
import type { Value } from "../domain/value.ts";
export function readValue(): Value {
return { id: "fixture-value" };
}
@@ -0,0 +1,3 @@
export type Value = {
readonly id: string;
};
@@ -0,0 +1,5 @@
import { readValue } from "../application/read-value.ts";
export function ValueView() {
return <p>{readValue().id}</p>;
}
@@ -0,0 +1,3 @@
import { second } from "./second.ts";
export const first = `first:${second}`;
@@ -0,0 +1,3 @@
import { first } from "./first.ts";
export const second = `second:${first}`;
@@ -0,0 +1 @@
export const runtimeName = "forbidden-runtime";
@@ -0,0 +1,3 @@
import { runtimeName } from "../adapters/runtime.ts";
export const selectedRuntime = runtimeName;
@@ -0,0 +1,5 @@
const modulePath = "../domain/value.ts";
export async function loadValue() {
return import(modulePath);
}
@@ -0,0 +1,8 @@
import "/definitely-missing-architecture-fixture.ts";
import "architecture-fixture-package-that-does-not-exist";
import "file:///definitely-missing-architecture-fixture.ts";
import type { Value } from "../domain/missing-value.ts";
export function readValue(value: Value) {
return value;
}
@@ -0,0 +1,5 @@
const modulePath = "../domain/value.ts";
export function requireValue() {
return require(modulePath);
}
@@ -0,0 +1,3 @@
import { createHttpClient } from "../../../../src/adapters/http/client.ts";
export const leakedHttpFactory = createHttpClient;
@@ -0,0 +1,3 @@
import { QueryClient } from "@tanstack/react-query";
export const invalidClient = new QueryClient();
@@ -0,0 +1,3 @@
import React from "react";
export const invalidDomainValue = React.createElement("div");
@@ -0,0 +1,4 @@
export function DirectFetchPage() {
void fetch("/api/forbidden");
return <p>forbidden</p>;
}
@@ -0,0 +1,3 @@
import "../../../../src/adapters/http/client.ts";
export const invalidEdge = true;
@@ -0,0 +1,5 @@
import "../../../../src/adapters/http/client.ts";
export function InvalidPresentationFixture() {
return <p>invalid</p>;
}
@@ -0,0 +1,5 @@
import type { ApplicationOutputPorts } from "../../../../src/application/ports/out/application-output-ports.ts";
export function OutputPortLeak(_props: ApplicationOutputPorts) {
return <p>forbidden</p>;
}
@@ -0,0 +1,3 @@
import { useQuery } from "@tanstack/react-query";
export const leakedQueryHook = useQuery;
@@ -0,0 +1,5 @@
import type { ApplicationApi } from "../../../../src/application/ports/in/application-api.ts";
export function ForbiddenTemplate(_props: { application: ApplicationApi }) {
return <main>Template must not select an application use case.</main>;
}
@@ -0,0 +1,6 @@
export function createOwnedBrowserStorageCapabilities() {
return {
local: localStorage,
session: sessionStorage,
};
}
@@ -0,0 +1,6 @@
export function createOwnedCrossContextCapabilities() {
return {
channel: new BroadcastChannel("owned-cross-context-fixture"),
storage: localStorage,
};
}
@@ -0,0 +1,17 @@
import type { BrowserStoragePolicy } from "../../../../src/application/ports/browser-file-storage/shared.ts";
export const POLICY: BrowserStoragePolicy = {
owner: "fixture-owner",
namespace: "fixture",
classification: "INTERNAL",
authority: "RECONSTRUCTABLE",
accountScope: "OPAQUE_PARTITION",
retention: { kind: "TTL", maxAgeMs: 1_000 },
softBudgetBytes: 1_000,
hardBudgetBytes: 2_000,
evictionPriority: "RECONSTRUCTABLE",
logoutAction: "EXPORT_THEN_PURGE",
accountDeletionAction: "PURGE_PARTITION",
pressureAction: "RETAIN",
unavailableFallback: "ONLINE_ONLY",
};
@@ -0,0 +1,4 @@
export function bypassThroughAlias() {
const browser = globalThis;
return browser.indexedDB.open("forbidden");
}
@@ -0,0 +1,5 @@
class BrowserRootHolder {
readonly root = globalThis;
}
new BrowserRootHolder().root.indexedDB.open("forbidden");
@@ -0,0 +1,4 @@
export function bypassThroughComputedAlias() {
const browser = globalThis;
return browser["caches"].open("forbidden");
}
@@ -0,0 +1,5 @@
class BrowserRootBox {
constructor(readonly root: typeof globalThis) {}
}
new BrowserRootBox(globalThis).root.indexedDB.open("forbidden");
@@ -0,0 +1,3 @@
export function bypassThroughDefault(browser = globalThis) {
return browser.indexedDB.open("forbidden");
}
@@ -0,0 +1,3 @@
export function constructBlobOutsideOwnedAdapter() {
return new Blob(["forbidden"]);
}
@@ -0,0 +1,3 @@
export function openBroadcastChannelDirectly() {
return new BroadcastChannel("forbidden");
}
@@ -0,0 +1,3 @@
export function openCacheDirectly() {
return caches.open("forbidden");
}
@@ -0,0 +1,3 @@
export function openDatabaseDirectly() {
return indexedDB.open("forbidden");
}
@@ -0,0 +1,3 @@
export function writeLocalStorageDirectly() {
localStorage.setItem("forbidden", "value");
}
@@ -0,0 +1,3 @@
export function openOpfsDirectly() {
return navigator.storage.getDirectory();
}
@@ -0,0 +1,3 @@
export function writeSessionStorageDirectly() {
sessionStorage.setItem("forbidden", "value");
}
@@ -0,0 +1,5 @@
export function bypassThroughDynamicCapabilityKey() {
const browser = globalThis;
const capability = "indexedDB";
return browser[capability].open("forbidden");
}
@@ -0,0 +1,4 @@
export function bypassThroughObjectContainer() {
const holder = { browser: globalThis };
return holder.browser.indexedDB.open("forbidden");
}
@@ -0,0 +1,3 @@
export function bypassThroughGlobalThis() {
return globalThis.indexedDB.open("forbidden");
}
@@ -0,0 +1,7 @@
function identity<Value>(value: Value): Value {
return value;
}
export function bypassThroughIdentityWrapper() {
return identity(globalThis).indexedDB.open("forbidden");
}
@@ -0,0 +1,4 @@
const holder: { root?: typeof globalThis } = {};
holder.root = globalThis;
holder.root.indexedDB.open("forbidden");
@@ -0,0 +1,3 @@
export function allocateObjectUrlDirectly(value: never) {
return URL.createObjectURL(value);
}
@@ -0,0 +1,7 @@
export function bypassThroughPropertyDescriptor() {
const descriptor = Object.getOwnPropertyDescriptor(
globalThis,
"indexedDB",
);
return (descriptor?.value as IDBFactory).open("forbidden");
}
@@ -0,0 +1,3 @@
export function bypassThroughReflection() {
return Reflect.get(globalThis, "indexedDB");
}
+14
View File
@@ -0,0 +1,14 @@
{
"schemaVersion": 2,
"providerAdapter": ".gitea/workflows/quality-gates.yml",
"commands": [],
"artifactSchemas": [{ "id": "text", "kind": "text", "maxBytes": 1024 }],
"artifacts": [{ "id": "log", "path": "artifacts/gate.txt", "schemaId": "text", "production": "runner-generated" }],
"gates": [
{ "id": "FE-GATE-001", "name": "one", "commandIds": ["command"], "logArtifactId": "log", "evidenceArtifactIds": ["log"], "retentionClassId": "merge" },
{ "id": "FE-GATE-001", "name": "duplicate", "commandIds": ["command"], "logArtifactId": "log", "evidenceArtifactIds": ["log"], "retentionClassId": "merge" }
],
"stages": [],
"jobs": [],
"retention": { "durationStatus": "UNSUPPORTED", "classes": [{ "id": "merge", "policy": "one cycle" }] }
}
+4
View File
@@ -0,0 +1,4 @@
{
"jobId": "merge_gate",
"needs": ["release_gate"]
}
+11
View File
@@ -0,0 +1,11 @@
{
"schemaVersion": 2,
"providerAdapter": ".gitea/workflows/quality-gates.yml",
"commands": [],
"artifactSchemas": [],
"artifacts": [{ "id": "log", "path": "artifacts/gate.txt", "schemaId": "missing", "production": "runner-generated" }],
"gates": [],
"stages": [],
"jobs": [],
"retention": { "durationStatus": "UNSUPPORTED", "classes": [] }
}
+4
View File
@@ -0,0 +1,4 @@
{
"jobId": "release_gate",
"addGateId": "FE-GATE-001"
}
+12
View File
@@ -0,0 +1,12 @@
{
"schemaVersion": 2,
"providerAdapter": ".gitea/workflows/quality-gates.yml",
"commands": [],
"artifactSchemas": [],
"artifacts": [],
"gates": [],
"stages": [],
"jobs": [],
"retention": { "durationStatus": "UNSUPPORTED", "classes": [] },
"unexpected": true
}
@@ -0,0 +1,4 @@
{
"jobId": "merge_gate",
"needs": ["missing"]
}
+4
View File
@@ -0,0 +1,4 @@
{
"jobId": "merge_gate",
"removeGateId": "FE-GATE-001"
}
+14
View File
@@ -0,0 +1,14 @@
{
"total": {
"lines": { "pct": 0 },
"statements": { "pct": 0 },
"functions": { "pct": 0 },
"branches": { "pct": 0 }
},
"src/adapters/http/http-execution-v3.ts": {
"lines": { "pct": 0 },
"statements": { "pct": 0 },
"functions": { "pct": 0 },
"branches": { "pct": 0 }
}
}
+50
View File
@@ -0,0 +1,50 @@
{
"total": {
"lines": { "total": 14, "covered": 14, "skipped": 0, "pct": 100 },
"statements": { "total": 14, "covered": 14, "skipped": 0, "pct": 100 },
"functions": { "total": 14, "covered": 14, "skipped": 0, "pct": 100 },
"branches": { "total": 14, "covered": 14, "skipped": 0, "pct": 100 }
},
"src/adapters/http/bounded-body-reader.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/http/bounded-json.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/http/http-execution-v3.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/http/request-builder.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/http/retry-policy.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/query-cache/server-state-scope-runtime.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/service-worker/service-worker-lifecycle.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/storage/browser-storage-adapter.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/adapters/telemetry/best-effort-telemetry.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/application/create-application.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/application/policies/compatibility.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/application/policies/performance-budgets.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/application/policies/promotion-readiness.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
},
"src/application/use-cases/decide-chunk-recovery.ts": {
"lines": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "statements": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "functions": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }, "branches": { "total": 1, "covered": 1, "skipped": 0, "pct": 100 }
}
}
@@ -0,0 +1,3 @@
import { Button } from "../../../../src/presentation/design-system/primitives/core.tsx";
export const DeepImport = Button;
@@ -0,0 +1,3 @@
import { Menu } from "lucide-react";
export const DirectIcon = Menu;
@@ -0,0 +1,3 @@
export function RawPalette() {
return <div style={{ color: "#ff0000" }}>raw palette</div>;
}
@@ -0,0 +1 @@
export const TOOLTIP_ONLY_REQUIRED_INFORMATION = "Required approval details";
@@ -0,0 +1,3 @@
export function leakToConsole(token: string) {
console.error("UNKNOWN_DIAGNOSTIC_EVENT", token);
}
+8
View File
@@ -0,0 +1,8 @@
export function leakSensitiveContext(telemetry: {
emit(eventName: string, context: Record<string, unknown>): void;
}) {
telemetry.emit("api.request.failed", {
authorization: "Bearer secret",
request_body: { email: "private@example.test" },
});
}
+5
View File
@@ -0,0 +1,5 @@
export function UnsafeBackendFailure({
failure,
}: Readonly<{ failure: { message: string } }>) {
return <p>{failure.message}</p>;
}
+3
View File
@@ -0,0 +1,3 @@
export function HardcodedCommonAction() {
return <button type="button"> </button>;
}
+3
View File
@@ -0,0 +1,3 @@
export function UnsafeTranslatedMarkup({ value }: Readonly<{ value: string }>) {
return <p dangerouslySetInnerHTML={{ __html: value }} />;
}
@@ -0,0 +1,3 @@
export function persistCredential(token: string) {
localStorage.setItem("authToken", token);
}
@@ -0,0 +1,3 @@
import { OPTIONAL_RECIPE_RUNTIME_SENTINEL } from "../../../../../../recipes/frontend-capabilities/index.ts";
export const recipeInProduction = OPTIONAL_RECIPE_RUNTIME_SENTINEL;
@@ -0,0 +1,3 @@
import { createIndexedDbRepository } from "../../../adapters/storage/indexeddb/indexeddb-repository.ts";
export const composedWithoutProjectSelection = createIndexedDbRepository;
@@ -0,0 +1,3 @@
export const store = createStore({
serverState: [{ id: "copied-from-query-cache" }],
});
@@ -0,0 +1,3 @@
import { initialize } from "@launchdarkly/client-sdk";
export const leakedVendor = initialize;
@@ -0,0 +1,3 @@
export function createOwnedWebSocket(endpoint: string): WebSocket {
return new WebSocket(endpoint, "realtime.v1");
}
@@ -0,0 +1,5 @@
export async function readOwnedPushSubscription(
registration: ServiceWorkerRegistration,
): Promise<PushSubscription | null> {
return registration.pushManager.getSubscription();
}
@@ -0,0 +1,3 @@
import { createWebSocketConnection } from "../../../adapters/realtime/websocket/websocket-connection.ts";
export const incorrectlyComposed = createWebSocketConnection;
@@ -0,0 +1,4 @@
export function createRouteOwnedSocket(endpoint: string): WebSocket {
setInterval(() => undefined, 1_000);
return new WebSocket(endpoint);
}
+225
View File
@@ -0,0 +1,225 @@
{
"schemaVersion": 1,
"cases": [
{
"id": "ordering-only",
"expected": "none",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": {
"A": { "path": "/a", "tags": ["one", "two"] },
"B": { "path": "/b", "tags": ["three"] }
}
}
]
},
"after": {
"registries": [
{
"rows": {
"B": { "tags": ["three"], "path": "/b" },
"A": { "tags": ["two", "one"], "path": "/a" }
},
"contract": { "breakingFields": ["path"] },
"registryId": "FE-REG-TEST"
}
],
"schemaVersion": 2
}
},
{
"id": "row-addition",
"expected": "additive",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/a" } }
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": {
"A": { "path": "/a" },
"B": { "path": "/b" }
}
}
]
}
},
{
"id": "behavior-change",
"expected": "behavior-change",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/a", "owner": "one" } }
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/a", "owner": "two" } }
}
]
}
},
{
"id": "row-removal",
"expected": "breaking",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": {
"A": { "path": "/a" },
"B": { "path": "/b" }
}
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/a" } }
}
]
}
},
{
"id": "field-type-narrowing",
"expected": "breaking",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "limit": 10 } }
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "limit": "10" } }
}
]
}
},
{
"id": "route-path-change",
"expected": "breaking",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/before" } }
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/after" } }
}
]
}
},
{
"id": "registry-contract-narrowing",
"expected": "breaking",
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": {
"breakingFields": ["path"],
"allowedValues": { "kind": ["one", "two"] }
},
"rows": { "A": { "path": "/a", "kind": "one" } }
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": {
"breakingFields": ["path"],
"allowedValues": { "kind": ["one"] }
},
"rows": { "A": { "path": "/a", "kind": "one" } }
}
]
}
}
],
"breakingEvidence": {
"before": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/before" } }
}
]
},
"after": {
"schemaVersion": 2,
"registries": [
{
"registryId": "FE-REG-TEST",
"contract": { "breakingFields": ["path"] },
"rows": { "A": { "path": "/after" } }
}
]
}
},
"tamperedApproval": {
"snapshot": {
"schemaVersion": 2,
"registries": []
},
"approval": {
"schemaVersion": 1,
"snapshotDigest": "tampered",
"owner": "fixture-owner",
"approvedAt": "2026-07-26T00:00:00.000Z"
}
}
}
@@ -0,0 +1,6 @@
{
"schemaVersion": 1,
"snapshotDigest": "0000000000000000000000000000000000000000000000000000000000000000",
"owner": "negative-fixture",
"approvedAt": "2026-07-26T00:00:00.000Z"
}
+33
View File
@@ -0,0 +1,33 @@
{
"schemaVersion": 1,
"sourceDirectories": [],
"registries": [
{
"registryId": "FIXTURE-SOURCE",
"path": "tests/fixtures/registry/forbidden/invalid-registry.ts",
"exportName": "INVALID_REGISTRY",
"owner": "fixture",
"requiredFields": ["id", "target"],
"uniqueFields": ["id"],
"references": [
{
"field": "target",
"registryId": "FIXTURE-TARGET",
"targetField": "id"
}
]
},
{
"registryId": "FIXTURE-TARGET",
"path": "tests/fixtures/registry/forbidden/invalid-registry.ts",
"exportName": "TARGET_REGISTRY",
"owner": "fixture",
"requiredFields": ["id"],
"uniqueFields": ["id"]
}
],
"compatibilityImpact": {
"allowed": ["none", "additive", "behavior-change", "breaking"],
"current": "breaking"
}
}
+13
View File
@@ -0,0 +1,13 @@
type InvalidRow = Readonly<{
id: string;
target?: string;
}>;
export const INVALID_REGISTRY: Record<string, InvalidRow> = {
FIRST: { id: "duplicate", target: "missing" },
SECOND: { id: "duplicate" },
};
export const TARGET_REGISTRY = {
KNOWN: { id: "known" },
} as const;
@@ -0,0 +1,40 @@
{
"schemaVersion": 2,
"sourceDirectories": [],
"registries": [
{
"registryId": "FIXTURE-DUPLICATE-INVALIDATION-EDGES",
"path": "tests/fixtures/registry/invalidation/registries.ts",
"exportName": "DUPLICATE_INVALIDATION_REGISTRY",
"rowsPath": "edges",
"rowKeyFields": [
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
],
"owner": "fixture",
"requiredFields": [
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
],
"fieldTypes": {
"topicId": "string",
"namespace.namespaceId": "string",
"namespace.namespaceVersion": "integer"
},
"uniqueFieldSets": [
[
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
]
],
"breakingFields": [
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
]
}
]
}
+62
View File
@@ -0,0 +1,62 @@
{
"schemaVersion": 2,
"sourceDirectories": [],
"registries": [
{
"registryId": "FIXTURE-INVALIDATION-EDGES",
"path": "tests/fixtures/registry/invalidation/registries.ts",
"exportName": "INVALIDATION_REGISTRY",
"rowsPath": "edges",
"rowKeyFields": [
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
],
"owner": "fixture",
"requiredFields": [
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
],
"fieldTypes": {
"topicId": "string",
"namespace.namespaceId": "string",
"namespace.namespaceVersion": "integer"
},
"uniqueFieldSets": [
[
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
]
],
"snapshotProjection": {
"singletonRowKey": "invalidation-graph",
"canonicalArrayKeyFields": {
"topics": ["$value"],
"namespaces": ["namespaceId", "namespaceVersion"],
"edges": [
"topicId",
"namespace.namespaceId",
"namespace.namespaceVersion"
]
}
},
"breakingFields": ["topics", "namespaces", "edges"]
},
{
"registryId": "FIXTURE-INVALIDATION-VERSIONS",
"path": "tests/fixtures/registry/invalidation/registries.ts",
"exportName": "INVALIDATION_TOPIC_VERSIONS",
"rowKeyFields": ["topicId"],
"owner": "fixture",
"requiredFields": ["topicId", "topicVersion"],
"fieldTypes": {
"topicId": "string",
"topicVersion": "integer"
},
"uniqueFields": ["topicId"],
"breakingFields": ["topicId", "topicVersion"]
}
]
}
+49
View File
@@ -0,0 +1,49 @@
const namespace = Object.freeze({
namespaceId: "orders",
namespaceVersion: 1,
});
const reverseNamespace = Object.freeze({
namespaceId: "qinv.fixture.changed",
namespaceVersion: 1,
});
export const INVALIDATION_REGISTRY = Object.freeze({
topics: Object.freeze(["qinv.fixture.changed", "orders"]),
namespaces: Object.freeze([namespace, reverseNamespace]),
edges: Object.freeze([
Object.freeze({
topicId: "qinv.fixture.changed",
namespace,
}),
Object.freeze({
topicId: "orders",
namespace: reverseNamespace,
}),
]),
});
export const INVALIDATION_TOPIC_VERSIONS = Object.freeze([
Object.freeze({
topicId: "qinv.fixture.changed",
topicVersion: 1,
}),
Object.freeze({
topicId: "orders",
topicVersion: 1,
}),
]);
export const DUPLICATE_INVALIDATION_REGISTRY = Object.freeze({
topics: INVALIDATION_REGISTRY.topics,
namespaces: INVALIDATION_REGISTRY.namespaces,
edges: Object.freeze([
INVALIDATION_REGISTRY.edges[0],
Object.freeze({
topicId: "qinv.fixture.changed",
namespace: Object.freeze({
namespaceId: "orders",
namespaceVersion: 1,
}),
}),
]),
});
+59
View File
@@ -0,0 +1,59 @@
{
"schemaVersion": 1,
"sourceDirectories": [],
"registries": [
{
"registryId": "ROUTES",
"path": "tests/fixtures/registry/routes/invalid-routes.ts",
"exportName": "INVALID_ROUTES",
"owner": "fixture",
"requiredFields": [
"routeId",
"path",
"paramsSchema",
"searchSchema",
"loadingSurface",
"errorSurface",
"chunkId"
],
"uniqueFields": ["routeId", "path", "chunkId"],
"allowedValues": {
"paramsSchema": [null],
"searchSchema": [null],
"loadingSurface": ["app-shell"],
"errorSurface": ["route-boundary"],
"chunkId": ["route-home"]
},
"references": [
{
"field": "routeId",
"registryId": "RUNTIME",
"targetField": "routeId"
}
]
},
{
"registryId": "RUNTIME",
"path": "tests/fixtures/registry/routes/invalid-routes.ts",
"exportName": "INVALID_RUNTIME",
"owner": "fixture",
"requiredFields": ["routeId", "moduleId", "paramsCodec", "searchCodec"],
"allowedValues": {
"moduleId": ["home-page"],
"paramsCodec": ["none"],
"searchCodec": ["none"]
},
"references": [
{
"field": "routeId",
"registryId": "ROUTES",
"targetField": "routeId"
}
]
}
],
"compatibilityImpact": {
"allowed": ["none", "additive", "behavior-change", "breaking"],
"current": "breaking"
}
}
+29
View File
@@ -0,0 +1,29 @@
export const INVALID_ROUTES = {
FIRST: {
routeId: "DUPLICATE",
path: "/duplicate",
paramsSchema: "UnknownParams",
searchSchema: "UnknownSearch",
loadingSurface: "unknown-loading",
errorSurface: "unknown-error",
chunkId: "unknown-chunk",
},
SECOND: {
routeId: "DUPLICATE",
path: "/duplicate",
paramsSchema: null,
searchSchema: null,
loadingSurface: "app-shell",
errorSurface: "route-boundary",
chunkId: "route-home",
},
};
export const INVALID_RUNTIME = {
ORPHAN: {
routeId: "ORPHAN",
moduleId: "unknown-module",
paramsCodec: "none",
searchCodec: "none",
},
};
@@ -0,0 +1,3 @@
export function Fixture({ value }: { value: string }) {
return <span>{value}</span>;
}
+3
View File
@@ -0,0 +1,3 @@
export function SafeTextFixture({ value }: Readonly<{ value: string }>) {
return <p>{value}</p>;
}
+5
View File
@@ -0,0 +1,5 @@
export function attachScript(source: string) {
const script = document.createElement("script");
script.src = source;
document.head.append(script);
}
+1
View File
@@ -0,0 +1 @@
export const execute = (source: string) => eval(source);
@@ -0,0 +1,3 @@
export function RawHtml({ value }: { value: string }) {
return <div dangerouslySetInnerHTML={{ __html: value }} />;
}
+3
View File
@@ -0,0 +1,3 @@
export function UnsafeHtmlFixture({ value }: Readonly<{ value: string }>) {
return <div dangerouslySetInnerHTML={{ __html: value }} />;
}
@@ -0,0 +1 @@
export const client_secret = "fixture-only-secret-value";
@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"trackedRoots": [
"tests/fixtures/security/secret-detection/forbidden"
],
"generatedRoots": [],
"includedPaths": [
"tests/fixtures/security/secret-detection/forbidden"
],
"excludedPaths": [],
"allowlist": []
}
@@ -0,0 +1,3 @@
{
"client_secret": "synthetic-forbidden-secret"
}
@@ -0,0 +1,2 @@
(globalThis as typeof globalThis & { password: string }).password =
"synthetic-built-secret";
@@ -0,0 +1 @@
export const leaked = "AKIAABCDEFGHIJKLMNOP";
@@ -0,0 +1,12 @@
{
"schemaVersion": 1,
"trackedRoots": [
"tests/fixtures/security/secret-detection/forbidden"
],
"generatedRoots": [],
"includedPaths": [
"tests/fixtures/security/secret-detection/misspelled"
],
"excludedPaths": [],
"allowlist": []
}
@@ -0,0 +1,5 @@
test("false visual pass", async ({ page }) => {
await expect(page).toHaveScreenshot({
mask: [page.locator("body")]
});
});
@@ -0,0 +1 @@
test.skip("unowned indefinite quarantine", async () => {});
+36
View File
@@ -0,0 +1,36 @@
{
"HTTP_SCENARIO_EXPECTATIONS": [
{
"executionId": "FIXTURE_OPERATION::declared-and-executed",
"operationId": "FIXTURE_OPERATION",
"scenarioId": "declared-and-executed",
"expected": {
"status": { "attempts": [200], "final": 200 },
"outcome": { "kind": "SUCCESS", "detail": null },
"effect": { "outcome": "NOT_APPLICABLE", "observer": "NOT_APPLICABLE" },
"retry": { "count": 0, "reasons": [] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": true },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 2, "ceiling": 16 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"testDeadlineOverrideMs": null
},
{
"executionId": "FIXTURE_OPERATION::declared-but-unexecuted",
"operationId": "FIXTURE_OPERATION",
"scenarioId": "declared-but-unexecuted",
"expected": {
"status": { "attempts": [503], "final": 503 },
"outcome": { "kind": "PROBLEM", "detail": "503" },
"effect": { "outcome": "NOT_APPLIED", "observer": "NOT_STARTED" },
"retry": { "count": 0, "reasons": [] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": true },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 64, "ceiling": 65536 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"testDeadlineOverrideMs": null
}
]
}
+13
View File
@@ -0,0 +1,13 @@
{
"schemaVersion": 2,
"scenarioCatalogs": [
{
"owner": "fixture-owner",
"path": "tests/fixtures/test-evidence/scenarios/catalog.json",
"expectationExport": "HTTP_SCENARIO_EXPECTATIONS",
"receiptPath": "tests/fixtures/test-evidence/scenarios/receipt.json",
"receiptSchemaVersion": 1
}
],
"sourceContracts": []
}
@@ -0,0 +1,59 @@
{
"schemaVersion": 1,
"catalogDigest": "sha256:87779c47f0042025edf18e148f86c29e5d219f7010cf7effeb69d29059420841",
"catalogTotal": 2,
"executedIds": [
"FIXTURE_OPERATION::declared-and-executed",
"FIXTURE_OPERATION::declared-but-unexecuted"
],
"rows": [
{
"executionId": "FIXTURE_OPERATION::declared-and-executed",
"expected": {
"status": { "attempts": [200], "final": 200 },
"outcome": { "kind": "SUCCESS", "detail": null },
"effect": { "outcome": "NOT_APPLICABLE", "observer": "NOT_APPLICABLE" },
"retry": { "count": 1, "reasons": ["HTTP_503"] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": false },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 2, "ceiling": 16 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"observed": {
"status": { "attempts": [200], "final": 200 },
"outcome": { "kind": "SUCCESS", "detail": null },
"effect": { "outcome": "NOT_APPLICABLE", "observer": "NOT_APPLICABLE" },
"retry": { "count": 1, "reasons": ["HTTP_503"] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": false },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 2, "ceiling": 16 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"testDeadlineOverrideMs": null
},
{
"executionId": "FIXTURE_OPERATION::declared-but-unexecuted",
"expected": {
"status": { "attempts": [503], "final": 503 },
"outcome": { "kind": "PROBLEM", "detail": "503" },
"effect": { "outcome": "NOT_APPLIED", "observer": "NOT_STARTED" },
"retry": { "count": 0, "reasons": [] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": true },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 64, "ceiling": 65536 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"observed": {
"status": { "attempts": [503], "final": 503 },
"outcome": { "kind": "PROBLEM", "detail": "503" },
"effect": { "outcome": "NOT_APPLIED", "observer": "NOT_STARTED" },
"retry": { "count": 0, "reasons": [] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": true },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 64, "ceiling": 65536 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"testDeadlineOverrideMs": null
}
]
}
+32
View File
@@ -0,0 +1,32 @@
{
"schemaVersion": 1,
"catalogDigest": "sha256:87779c47f0042025edf18e148f86c29e5d219f7010cf7effeb69d29059420841",
"catalogTotal": 2,
"executedIds": ["FIXTURE_OPERATION::declared-and-executed"],
"rows": [
{
"executionId": "FIXTURE_OPERATION::declared-and-executed",
"expected": {
"status": { "attempts": [200], "final": 200 },
"outcome": { "kind": "SUCCESS", "detail": null },
"effect": { "outcome": "NOT_APPLICABLE", "observer": "NOT_APPLICABLE" },
"retry": { "count": 0, "reasons": [] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": true },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 2, "ceiling": 16 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"observed": {
"status": { "attempts": [200], "final": 200 },
"outcome": { "kind": "SUCCESS", "detail": null },
"effect": { "outcome": "NOT_APPLICABLE", "observer": "NOT_APPLICABLE" },
"retry": { "count": 0, "reasons": [] },
"fetch": { "count": 1, "observerAttempts": 1, "agrees": true },
"media": { "attempts": ["application/json"], "final": "application/json" },
"body": { "attempts": [{ "disposition": "FULLY_READ_WITHIN_BOUND", "pulledBytes": 2, "ceiling": 16 }] },
"scope": { "start": "CURRENT", "end": "CURRENT", "signal": "ACTIVE", "cancellationOwner": "NONE" }
},
"testDeadlineOverrideMs": null
}
]
}

Some files were not shown because too many files have changed in this diff Show More