Bump the package and generated-project contract to 0.9.0.\n\nDocument the encrypted-column type surface so the publication documentation gate passes.
- commit
- 1a7e848ee93aa5b88b78b261247a4689265e9f56
- parent
- f6391267d81efbf4c36dda648a1eb91e3f5d5b03
- author
- FelineStateMachine <dami.etoile@gmail.com>
| M | apps/ | 2 | +- |
| M | deno.json | 2 | +- |
| M | package/ | 8 | ++++---- |
| M | package/ | 12 | ++++++++++-- |
| M | package/ | 2 | +- |
| M | package/ | 2 | +- |
@@ -1,6 +1,6 @@
11 {22 "name": "@nzip/lofi",3- "version": "0.8.1",3+ "version": "0.9.0",44 "license": "MIT",55 "description": "A local-first Deno PWA framework with durable local data, recoverable accounts, optional Jazz sync, mutations with sync-boundary effects, and private, direct-share, or group access templates.",66 "exports": {@@ -147,9 +147,9 @@ Deno.test("createProject materializes the complete starter snapshot", async () =
147147 );148148 }149149 const config = JSON.parse(await Deno.readTextFile(join(result.destination, "deno.json")));150- assertEquals(config.imports["@nzip/lofi"], "jsr:@nzip/lofi@0.8.1");151- assertEquals(config.imports["@nzip/lofi/"], "jsr:@nzip/lofi@0.8.1/");152- assertEquals(config.imports["@nzip/lofi/testing"], "jsr:@nzip/lofi@0.8.1/testing");150+ assertEquals(config.imports["@nzip/lofi"], "jsr:@nzip/lofi@0.9.0");151+ assertEquals(config.imports["@nzip/lofi/"], "jsr:@nzip/lofi@0.9.0/");152+ assertEquals(config.imports["@nzip/lofi/testing"], "jsr:@nzip/lofi@0.9.0/testing");153153 const lofiSpecifiers = Object.entries(config.imports)154154 .filter(([name]) => name.startsWith("@nzip/lofi/"))155155 .map(([, specifier]) => String(specifier));@@ -158,7 +158,7 @@ Deno.test("createProject materializes the complete starter snapshot", async () =
158158 `expected one package prefix, access, schema, two integrations, six commands, seven recipes, and testing, received ${lofiSpecifiers.length}`,159159 );160160 assert(161- lofiSpecifiers.every((specifier) => specifier.startsWith("jsr:@nzip/lofi@0.8.1/")),161+ lofiSpecifiers.every((specifier) => specifier.startsWith("jsr:@nzip/lofi@0.9.0/")),162162 "generated lofi commands do not resolve through one exact package version",163163 );164164 const appSource = await Deno.readTextFile(join(result.destination, "src", "app.ts"));@@ -68,12 +68,20 @@ export interface EncryptedColumn<TView> extends
6868 TypedColumnBuilder<EncryptedStoredSql, false, undefined, false, TView>,6969 "default" | "merge" | "transform" | "optional"7070 > {71+ /** Carries the decrypted view type without affecting the runtime shape. */7172 readonly [encryptedColumnBrand]?: TView;73+ /** Encrypted columns cannot define plaintext defaults. */7274 default(value: never): never;75+ /** Encrypted columns cannot merge ciphertext values. */7376 merge(strategy: never): never;77+ /** Encrypted columns cannot replace their sealing transform. */7478 transform(transform: never): never;75- // The `this: never` parameter keeps the method arity-compatible with the76- // base builder while making every call site a compile error.79+ /**80+ * Encrypted columns cannot be optional.81+ *82+ * The `this: never` parameter keeps the method arity-compatible with the83+ * base builder while making every call site a compile error.84+ */7785 optional(this: never): never;7886 }7987 @@ -1,7 +1,7 @@
11 {22 ".env.example": "0cfad81a3ba6442ac15d7cbe44a00374bf4dbf8af68ca412e54fb100241ddeab",33 ".gitignore": "9b9fa4b95f8f728ce80e93fc224d430328786b620096b80f067a3190c410a00e",4- "deno.json": "139c9de9f3feec87bdb5c646ad579e6c5b5278a2360ab897468df41c9c851448",4+ "deno.json": "e09ff61fcc156190a8d20f0a78a7cf2be74079f75bb08a3bef1867ca74e19e1c",55 "public/apple-touch-icon.png": "be2b77066d9681709210388413ddcd94318906799ddd6645934b789a04bd4a61",66 "public/favicon.svg": "35b92ad48231c470b348eaebe6d6fe14acf2ec4a86e6726a03ccb130328a0d85",77 "public/icon-192.png": "6ee711f9ec990ec55f789d7943813c5193973bf2ca9199078ee85d285317e07c",@@ -1,5 +1,5 @@
11 /** The single source version for generated @nzip/lofi references. */2-export const LOFI_VERSION = "0.8.1";2+export const LOFI_VERSION = "0.9.0";33 44 /** The exact JSR package prefix emitted into generated projects. */55 export const LOFI_PACKAGE_PREFIX = `jsr:@nzip/lofi@${LOFI_VERSION}/`;