@ubean/preset 0.2.2 → 0.3.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/dist/index.d.ts CHANGED
@@ -1036,8 +1036,36 @@ declare function detectPreset(hints?: PresetDetectionHints): PresetDetectionResu
1036
1036
  declare function resolvePresetWithDetection(explicitPreset?: string, cwd?: string): PresetDetectionResult;
1037
1037
  declare function listDetectablePresets(): PresetDefinition[];
1038
1038
  //#endregion
1039
+ //#region src/cache-default.d.ts
1040
+ /**
1041
+ * Production HTTP/ISR cache backend selection.
1042
+ *
1043
+ * Node-like runtimes persist to `.ubean/cache` so HIT survives process
1044
+ * restart. Serverless/edge presets stay in-process memory — they must
1045
+ * not pretend a local filesystem is shared across isolates.
1046
+ *
1047
+ * Explicit `{ store: 'memory' | 'fs' }` always wins over `auto`.
1048
+ */
1049
+ type CacheStoreKind = 'memory' | 'fs' | 'auto';
1050
+ interface CacheStoreConfig {
1051
+ store?: CacheStoreKind;
1052
+ dir?: string;
1053
+ }
1054
+ interface ResolvedCacheStoreConfig {
1055
+ store: 'memory' | 'fs';
1056
+ dir?: string;
1057
+ }
1058
+ declare function isEphemeralCachePreset(presetName: string): boolean;
1059
+ /**
1060
+ * Resolve the production cache backend for a build preset.
1061
+ *
1062
+ * Dev / `createUbeanApp` still treat `auto` as memory so tests and
1063
+ * local servers do not write a cache directory unless asked.
1064
+ */
1065
+ declare function resolveProductionCacheStore(presetName: string, explicit?: CacheStoreConfig): ResolvedCacheStoreConfig;
1066
+ //#endregion
1039
1067
  //#region src/index.d.ts
1040
1068
  declare function registerBuiltinPresets(): void;
1041
1069
  declare function resolvePresetByName(name: string): ResolvedPreset;
1042
1070
  //#endregion
1043
- export { type AwsSamResource, type AwsSamTemplate, type BunfigConfig, CapabilityDiagnosisResult, CapabilityDiagnostic, CapabilityInfo, CapabilityName, CapabilityRequirement, CapabilitySet, DEV_REQUIREMENTS, type DenoConfig, NODE_CAPABILITIES, NODE_REQUIREMENTS, type NetlifyConfig, type Preset, type PresetBuildContext, type PresetDefinition, type PresetDetectionHints, type PresetDetectionResult, type PresetDevContext, type PresetHooks, type PresetMeta, type ResolvedPreset, RuntimeTarget, STANDARD_CAPABILITIES, type StaticWebAppConfig, type VercelConfig, WORKER_CAPABILITIES, type WranglerConfig, awsPreset, azurePreset, bunPreset, cloudflareDevPreset, cloudflarePreset, createCapabilitySet, definePreset, denoPreset, detectPreset, diagnoseCapabilities, generateAwsSamConfig, generateBunfigConfig, generateDenoConfig, generateNetlifyConfig, generateStaticWebAppConfig, generateVercelConfig, generateWranglerConfig, getPresetAliases, getPresetNames, getRegisteredPresets, listDetectablePresets, netlifyPreset, nodePreset, registerBuiltinPresets, registerPreset, requireCapability, resolvePreset, resolvePresetByName, resolvePresetWithDetection, serializeAwsSamConfig, serializeBunfigConfig, serializeDenoConfig, serializeNetlifyConfig, serializeStaticWebAppConfig, serializeVercelConfig, serializeWranglerToml, standardPreset, vercelEdgePreset, vercelPreset };
1071
+ export { type AwsSamResource, type AwsSamTemplate, type BunfigConfig, type CacheStoreConfig, type CacheStoreKind, CapabilityDiagnosisResult, CapabilityDiagnostic, CapabilityInfo, CapabilityName, CapabilityRequirement, CapabilitySet, DEV_REQUIREMENTS, type DenoConfig, NODE_CAPABILITIES, NODE_REQUIREMENTS, type NetlifyConfig, type Preset, type PresetBuildContext, type PresetDefinition, type PresetDetectionHints, type PresetDetectionResult, type PresetDevContext, type PresetHooks, type PresetMeta, type ResolvedCacheStoreConfig, type ResolvedPreset, RuntimeTarget, STANDARD_CAPABILITIES, type StaticWebAppConfig, type VercelConfig, WORKER_CAPABILITIES, type WranglerConfig, awsPreset, azurePreset, bunPreset, cloudflareDevPreset, cloudflarePreset, createCapabilitySet, definePreset, denoPreset, detectPreset, diagnoseCapabilities, generateAwsSamConfig, generateBunfigConfig, generateDenoConfig, generateNetlifyConfig, generateStaticWebAppConfig, generateVercelConfig, generateWranglerConfig, getPresetAliases, getPresetNames, getRegisteredPresets, isEphemeralCachePreset, listDetectablePresets, netlifyPreset, nodePreset, registerBuiltinPresets, registerPreset, requireCapability, resolvePreset, resolvePresetByName, resolvePresetWithDetection, resolveProductionCacheStore, serializeAwsSamConfig, serializeBunfigConfig, serializeDenoConfig, serializeNetlifyConfig, serializeStaticWebAppConfig, serializeVercelConfig, serializeWranglerToml, standardPreset, vercelEdgePreset, vercelPreset };
package/dist/index.js CHANGED
@@ -1538,6 +1538,56 @@ function listDetectablePresets() {
1538
1538
  ];
1539
1539
  }
1540
1540
  //#endregion
1541
+ //#region src/cache-default.ts
1542
+ const DEFAULT_FS_DIR = ".ubean/cache";
1543
+ /** Preset names / aliases whose filesystem is ephemeral or not shared. */
1544
+ const EPHEMERAL_CACHE_PRESETS = /* @__PURE__ */ new Set([
1545
+ "cloudflare",
1546
+ "cloudflare-pages",
1547
+ "cloudflare-module",
1548
+ "cf",
1549
+ "wrangler",
1550
+ "workers",
1551
+ "cloudflare-dev",
1552
+ "cf-dev",
1553
+ "wrangler-dev",
1554
+ "vercel",
1555
+ "vercel-serverless",
1556
+ "vercel-node",
1557
+ "vercel-edge",
1558
+ "vercel-edge-function",
1559
+ "netlify",
1560
+ "netlify-functions",
1561
+ "netlify-node",
1562
+ "aws",
1563
+ "azure"
1564
+ ]);
1565
+ function isEphemeralCachePreset(presetName) {
1566
+ return EPHEMERAL_CACHE_PRESETS.has(presetName);
1567
+ }
1568
+ /**
1569
+ * Resolve the production cache backend for a build preset.
1570
+ *
1571
+ * Dev / `createUbeanApp` still treat `auto` as memory so tests and
1572
+ * local servers do not write a cache directory unless asked.
1573
+ */
1574
+ function resolveProductionCacheStore(presetName, explicit) {
1575
+ const store = explicit?.store ?? "auto";
1576
+ if (store === "fs") return {
1577
+ store: "fs",
1578
+ dir: explicit?.dir || DEFAULT_FS_DIR
1579
+ };
1580
+ if (store === "memory") return explicit?.dir ? {
1581
+ store: "memory",
1582
+ dir: explicit.dir
1583
+ } : { store: "memory" };
1584
+ if (isEphemeralCachePreset(presetName)) return { store: "memory" };
1585
+ return {
1586
+ store: "fs",
1587
+ dir: explicit?.dir || DEFAULT_FS_DIR
1588
+ };
1589
+ }
1590
+ //#endregion
1541
1591
  //#region src/index.ts
1542
1592
  const builtinPresets = [
1543
1593
  standardPreset,
@@ -1580,4 +1630,4 @@ function resolvePresetByName(name) {
1580
1630
  };
1581
1631
  }
1582
1632
  //#endregion
1583
- export { DEV_REQUIREMENTS, NODE_CAPABILITIES, NODE_REQUIREMENTS, STANDARD_CAPABILITIES, WORKER_CAPABILITIES, awsPreset, azurePreset, bunPreset, cloudflareDevPreset, cloudflarePreset, createCapabilitySet, definePreset, denoPreset, detectPreset, diagnoseCapabilities, generateAwsSamConfig, generateBunfigConfig, generateDenoConfig, generateNetlifyConfig, generateStaticWebAppConfig, generateVercelConfig, generateWranglerConfig, getPresetAliases, getPresetNames, getRegisteredPresets, listDetectablePresets, netlifyPreset, nodePreset, registerBuiltinPresets, registerPreset, requireCapability, resolvePreset, resolvePresetByName, resolvePresetWithDetection, serializeAwsSamConfig, serializeBunfigConfig, serializeDenoConfig, serializeNetlifyConfig, serializeStaticWebAppConfig, serializeVercelConfig, serializeWranglerToml, standardPreset, vercelEdgePreset, vercelPreset };
1633
+ export { DEV_REQUIREMENTS, NODE_CAPABILITIES, NODE_REQUIREMENTS, STANDARD_CAPABILITIES, WORKER_CAPABILITIES, awsPreset, azurePreset, bunPreset, cloudflareDevPreset, cloudflarePreset, createCapabilitySet, definePreset, denoPreset, detectPreset, diagnoseCapabilities, generateAwsSamConfig, generateBunfigConfig, generateDenoConfig, generateNetlifyConfig, generateStaticWebAppConfig, generateVercelConfig, generateWranglerConfig, getPresetAliases, getPresetNames, getRegisteredPresets, isEphemeralCachePreset, listDetectablePresets, netlifyPreset, nodePreset, registerBuiltinPresets, registerPreset, requireCapability, resolvePreset, resolvePresetByName, resolvePresetWithDetection, resolveProductionCacheStore, serializeAwsSamConfig, serializeBunfigConfig, serializeDenoConfig, serializeNetlifyConfig, serializeStaticWebAppConfig, serializeVercelConfig, serializeWranglerToml, standardPreset, vercelEdgePreset, vercelPreset };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ubean/preset",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Deployment presets for ubean (standard, node, cloudflare, vercel, netlify, bun, deno)",
5
5
  "files": [
6
6
  "dist"