blank project

This commit is contained in:
root
2025-10-17 20:17:33 +00:00
commit 14b2d53e8e
9366 changed files with 1515019 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
import type { Logger } from '../../../core/logger/core.js';
import type { KeyGenerator } from '../definitions.js';
interface CreateKeyOptions {
logger: Logger;
keyGenerator: KeyGenerator;
}
export declare function createKey({ logger, keyGenerator }: CreateKeyOptions): Promise<void>;
export {};

View File

@@ -0,0 +1,12 @@
async function createKey({ logger, keyGenerator }) {
const key = await keyGenerator.generate();
logger.info(
"crypto",
`Generated a key to encrypt props passed to server islands. To reuse the same key across builds, set this value as ASTRO_KEY in an environment variable on your build server.
ASTRO_KEY=${key}`
);
}
export {
createKey
};

View File

@@ -0,0 +1,3 @@
export interface KeyGenerator {
generate: () => Promise<string>;
}

View File

View File

@@ -0,0 +1,2 @@
import type { KeyGenerator } from '../definitions.js';
export declare function createCryptoKeyGenerator(): KeyGenerator;

View File

@@ -0,0 +1,13 @@
import { createKey, encodeKey } from "../../../core/encryption.js";
function createCryptoKeyGenerator() {
return {
async generate() {
const key = await createKey();
const encoded = await encodeKey(key);
return encoded;
}
};
}
export {
createCryptoKeyGenerator
};