@intlayer/config
Version:
Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.
231 lines (229 loc) • 9.25 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
let _intlayer_types_config = require("@intlayer/types/config");
let zod = require("zod");
zod = require_runtime.__toESM(zod);
//#region src/configFile/configurationSchema.ts
const internationalizationSchema = zod.default.object({
locales: zod.default.array(zod.default.string()).min(1),
requiredLocales: zod.default.array(zod.default.string()).optional(),
strictMode: zod.default.enum([
"strict",
"inclusive",
"loose"
]).optional(),
defaultLocale: zod.default.string().optional()
});
/**
* Cross-realm-safe `Date` check.
*
* Configuration files are executed inside a `node:vm` sandbox, so a `Date`
* created there is an instance of the sandbox realm's `Date`, not the host
* realm's. `instanceof Date` (used by `z.date()`) therefore returns `false`
* for those values, which would reject a perfectly valid `Date`.
*/
const isDateLike = (value) => value instanceof Date || Object.prototype.toString.call(value) === "[object Date]";
/**
* Cookie expiry: a number of days, an absolute `Date`, or an ISO date string
* (the form a `Date` takes once the configuration is serialized).
*/
const cookieExpiresSchema = zod.default.union([
zod.default.custom(isDateLike, { message: "Expected a Date" }),
zod.default.number(),
zod.default.string().refine((value) => !Number.isNaN(Date.parse(value)), { message: "Expected a valid date string" })
]);
const cookiesAttributesSchema = zod.default.object({
type: zod.default.literal("cookie"),
name: zod.default.string().optional(),
domain: zod.default.string().optional(),
path: zod.default.string().optional(),
secure: zod.default.boolean().optional(),
httpOnly: zod.default.boolean().optional(),
sameSite: zod.default.enum([
"strict",
"lax",
"none"
]).optional(),
expires: cookieExpiresSchema.optional(),
maxAge: zod.default.number().optional()
});
const storageAttributesSchema = zod.default.object({
type: zod.default.enum([
"localStorage",
"sessionStorage",
"header"
]),
name: zod.default.string().optional()
});
const storageSchema = zod.default.union([
zod.default.literal(false),
zod.default.enum([
"cookie",
"localStorage",
"sessionStorage",
"header"
]),
cookiesAttributesSchema,
storageAttributesSchema,
zod.default.array(zod.default.union([
zod.default.enum([
"cookie",
"localStorage",
"sessionStorage",
"header"
]),
cookiesAttributesSchema,
storageAttributesSchema
]))
]);
const rewriteRuleSchema = zod.default.object({
canonical: zod.default.string(),
localized: zod.default.record(zod.default.string(), zod.default.string())
});
const rewriteRulesSchema = zod.default.object({ rules: zod.default.array(rewriteRuleSchema) });
const rewriteObjectSchema = zod.default.object({
url: rewriteRulesSchema,
nextjs: rewriteRulesSchema.optional(),
vite: rewriteRulesSchema.optional()
});
const routingSchema = zod.default.object({
rewrite: zod.default.union([zod.default.record(zod.default.string(), zod.default.record(zod.default.string(), zod.default.string())), rewriteObjectSchema]).optional(),
mode: zod.default.enum([
"prefix-no-default",
"prefix-all",
"no-prefix",
"search-params"
]).optional(),
storage: storageSchema.optional(),
basePath: zod.default.string().optional(),
domains: zod.default.record(zod.default.string(), zod.default.string()).optional()
});
const systemSchema = zod.default.object({
baseDir: zod.default.string().optional(),
moduleAugmentationDir: zod.default.string().optional(),
unmergedDictionariesDir: zod.default.string().optional(),
remoteDictionariesDir: zod.default.string().optional(),
dictionariesDir: zod.default.string().optional(),
dynamicDictionariesDir: zod.default.string().optional(),
fetchDictionariesDir: zod.default.string().optional(),
typesDir: zod.default.string().optional(),
mainDir: zod.default.string().optional(),
configDir: zod.default.string().optional(),
cacheDir: zod.default.string().optional(),
tempDir: zod.default.string().optional()
});
const contentSchema = zod.default.object({
fileExtensions: zod.default.array(zod.default.string()).optional(),
contentDir: zod.default.array(zod.default.string()).optional(),
codeDir: zod.default.array(zod.default.string()).optional(),
excludedPath: zod.default.array(zod.default.string()).optional(),
watch: zod.default.boolean().optional(),
formatCommand: zod.default.string().optional()
});
const editorSchema = zod.default.object({
applicationURL: zod.default.union([zod.default.url(), zod.default.literal("")]).optional(),
editorURL: zod.default.union([zod.default.url(), zod.default.literal("")]).optional(),
cmsURL: zod.default.union([zod.default.url(), zod.default.literal("")]).optional(),
backendURL: zod.default.union([zod.default.url(), zod.default.literal("")]).optional(),
port: zod.default.number().int().positive().max(65535).optional(),
enabled: zod.default.boolean().optional(),
clientId: zod.default.string().optional(),
clientSecret: zod.default.string().optional(),
dictionaryPriorityStrategy: zod.default.enum(["local_first", "distant_first"]).optional(),
liveSync: zod.default.boolean().optional(),
liveSyncPort: zod.default.number().int().positive().max(65535).optional(),
liveSyncURL: zod.default.union([zod.default.url(), zod.default.literal("")]).optional()
});
const logSchema = zod.default.object({
mode: zod.default.enum([
"default",
"verbose",
"disabled"
]).optional(),
prefix: zod.default.string().optional(),
error: zod.default.function().optional(),
log: zod.default.function().optional(),
info: zod.default.function().optional(),
warn: zod.default.function().optional()
});
const aiSchema = zod.default.object({
provider: zod.default.enum(_intlayer_types_config.AiProviders).optional(),
apiKey: zod.default.string().optional(),
model: zod.default.string().optional(),
temperature: zod.default.number().min(0).max(2).optional(),
applicationContext: zod.default.string().optional(),
baseURL: zod.default.url().optional(),
dataSerialization: zod.default.enum(["json", "toon"]).optional()
});
const buildSchema = zod.default.object({
mode: zod.default.enum(["auto", "manual"]).optional(),
optimize: zod.default.boolean().optional(),
importMode: zod.default.enum([
"static",
"dynamic",
"fetch"
]).optional(),
traversePattern: zod.default.array(zod.default.string()).optional(),
outputFormat: zod.default.array(zod.default.enum(["cjs", "esm"])).optional(),
cache: zod.default.boolean().optional(),
require: zod.default.unknown().optional(),
checkTypes: zod.default.boolean().optional()
});
const compilerSchema = zod.default.object({
enabled: zod.default.union([zod.default.boolean(), zod.default.literal("build-only")]).optional(),
dictionaryKeyPrefix: zod.default.string().optional(),
transformPattern: zod.default.union([zod.default.string(), zod.default.array(zod.default.string())]).optional(),
excludePattern: zod.default.union([zod.default.string(), zod.default.array(zod.default.string())]).optional(),
output: zod.default.unknown().optional(),
noMetadata: zod.default.boolean().optional(),
saveComponents: zod.default.boolean().optional()
});
const dictionarySchema = zod.default.object({
fill: zod.default.unknown().optional(),
contentAutoTransformation: zod.default.union([zod.default.boolean(), zod.default.object({
markdown: zod.default.boolean().optional(),
html: zod.default.boolean().optional(),
insertion: zod.default.boolean().optional()
})]).optional(),
location: zod.default.string().optional(),
locale: zod.default.string().optional(),
title: zod.default.string().optional()
});
const intlayerConfigSchema = zod.default.object({
internationalization: internationalizationSchema.optional(),
routing: routingSchema.optional(),
content: contentSchema.optional(),
system: systemSchema.optional(),
editor: editorSchema.optional(),
log: logSchema.optional(),
ai: aiSchema.optional(),
build: buildSchema.optional(),
compiler: compilerSchema.optional(),
dictionary: dictionarySchema.optional(),
plugins: zod.default.array(zod.default.unknown()).optional(),
schemas: zod.default.record(zod.default.string(), zod.default.unknown()).optional(),
metadata: zod.default.object({
name: zod.default.string().optional(),
version: zod.default.string().optional(),
doc: zod.default.string().optional()
}).optional()
});
//#endregion
exports.aiSchema = aiSchema;
exports.buildSchema = buildSchema;
exports.compilerSchema = compilerSchema;
exports.contentSchema = contentSchema;
exports.cookiesAttributesSchema = cookiesAttributesSchema;
exports.dictionarySchema = dictionarySchema;
exports.editorSchema = editorSchema;
exports.internationalizationSchema = internationalizationSchema;
exports.intlayerConfigSchema = intlayerConfigSchema;
exports.logSchema = logSchema;
exports.rewriteObjectSchema = rewriteObjectSchema;
exports.rewriteRuleSchema = rewriteRuleSchema;
exports.rewriteRulesSchema = rewriteRulesSchema;
exports.routingSchema = routingSchema;
exports.storageAttributesSchema = storageAttributesSchema;
exports.storageSchema = storageSchema;
exports.systemSchema = systemSchema;
//# sourceMappingURL=configurationSchema.cjs.map