diff --git a/.publish/ai/package.json b/.publish/ai/package.json index 50835464..68d15da0 100644 --- a/.publish/ai/package.json +++ b/.publish/ai/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ai", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.", "license": "MIT", diff --git a/.publish/authz/package.json b/.publish/authz/package.json index aad60ea2..f9c39ecb 100644 --- a/.publish/authz/package.json +++ b/.publish/authz/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/authz", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/authz — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/cli/package.json b/.publish/cli/package.json index 4dac2d74..43b84780 100644 --- a/.publish/cli/package.json +++ b/.publish/cli/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/cli", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/cli — part of the WrNexus framework.", "license": "MIT", @@ -28,16 +28,16 @@ "wrnexus": "./dist/index.js" }, "dependencies": { - "@wrnexus/core": "^0.2.39", - "@wrnexus/router": "^0.2.39", - "@wrnexus/csr": "^0.2.39", - "@wrnexus/compiler": "^0.2.39", - "@wrnexus/styles": "^0.2.39", - "@wrnexus/dev-server": "^0.2.39", - "@wrnexus/ui": "^0.2.39", - "@wrnexus/validation": "^0.2.39", - "@wrnexus/i18n": "^0.2.39", - "@wrnexus/db": "^0.2.39" + "@wrnexus/core": "^0.2.40", + "@wrnexus/router": "^0.2.40", + "@wrnexus/csr": "^0.2.40", + "@wrnexus/compiler": "^0.2.40", + "@wrnexus/styles": "^0.2.40", + "@wrnexus/dev-server": "^0.2.40", + "@wrnexus/ui": "^0.2.40", + "@wrnexus/validation": "^0.2.40", + "@wrnexus/i18n": "^0.2.40", + "@wrnexus/db": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/compiler/package.json b/.publish/compiler/package.json index 70cfd6a1..a124e596 100644 --- a/.publish/compiler/package.json +++ b/.publish/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/compiler", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/compiler — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/core/package.json b/.publish/core/package.json index e852c4f9..3f79c415 100644 --- a/.publish/core/package.json +++ b/.publish/core/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/core", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/core — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/csr/package.json b/.publish/csr/package.json index c760144f..6f85140e 100644 --- a/.publish/csr/package.json +++ b/.publish/csr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/csr", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/csr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.39" + "@wrnexus/core": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/db/package.json b/.publish/db/package.json index 0d0c9cd9..8e57960c 100644 --- a/.publish/db/package.json +++ b/.publish/db/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/db", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/db — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/dev-server/package.json b/.publish/dev-server/package.json index 6f0b6761..79bbb107 100644 --- a/.publish/dev-server/package.json +++ b/.publish/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/dev-server — part of the WrNexus framework.", "license": "MIT", @@ -25,18 +25,18 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.39", - "@wrnexus/router": "^0.2.39", - "@wrnexus/ssr": "^0.2.39", - "@wrnexus/csr": "^0.2.39", - "@wrnexus/compiler": "^0.2.39", - "@wrnexus/styles": "^0.2.39", - "@wrnexus/ui": "^0.2.39", - "@wrnexus/validation": "^0.2.39", - "@wrnexus/i18n": "^0.2.39", - "@wrnexus/db": "^0.2.39", - "@wrnexus/pubsub": "^0.2.39", - "@wrnexus/uploader": "^0.2.39" + "@wrnexus/core": "^0.2.40", + "@wrnexus/router": "^0.2.40", + "@wrnexus/ssr": "^0.2.40", + "@wrnexus/csr": "^0.2.40", + "@wrnexus/compiler": "^0.2.40", + "@wrnexus/styles": "^0.2.40", + "@wrnexus/ui": "^0.2.40", + "@wrnexus/validation": "^0.2.40", + "@wrnexus/i18n": "^0.2.40", + "@wrnexus/db": "^0.2.40", + "@wrnexus/pubsub": "^0.2.40", + "@wrnexus/uploader": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/encryption/package.json b/.publish/encryption/package.json index ec0332db..80995f1d 100644 --- a/.publish/encryption/package.json +++ b/.publish/encryption/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/encryption", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/encryption — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/helpers/package.json b/.publish/helpers/package.json index c7cf2f0d..73c99174 100644 --- a/.publish/helpers/package.json +++ b/.publish/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/helpers", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "Safe convenience helpers for WrNexus request contexts and common application flows.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.39" + "@wrnexus/core": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/i18n/package.json b/.publish/i18n/package.json index 0bd5d235..deab10b6 100644 --- a/.publish/i18n/package.json +++ b/.publish/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/i18n", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/i18n — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.39" + "@wrnexus/core": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/jwt/package.json b/.publish/jwt/package.json index d2f16a15..6eed4070 100644 --- a/.publish/jwt/package.json +++ b/.publish/jwt/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/jwt", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/jwt — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/mobile/package.json b/.publish/mobile/package.json index 4599ed34..acefd9f4 100644 --- a/.publish/mobile/package.json +++ b/.publish/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/mobile", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/mobile — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/native": "^0.2.39" + "@wrnexus/native": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/native/package.json b/.publish/native/package.json index 15b34e8c..0e3e52f8 100644 --- a/.publish/native/package.json +++ b/.publish/native/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/native", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/native — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/oauth/package.json b/.publish/oauth/package.json index a39246bf..ce7e2ce5 100644 --- a/.publish/oauth/package.json +++ b/.publish/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/oauth", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/oauth — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/pubsub/package.json b/.publish/pubsub/package.json index 36674115..8e48af3d 100644 --- a/.publish/pubsub/package.json +++ b/.publish/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/pubsub", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/pubsub — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/queue/package.json b/.publish/queue/package.json index a5994e57..a7d49871 100644 --- a/.publish/queue/package.json +++ b/.publish/queue/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/queue", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/queue — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/reactive/package.json b/.publish/reactive/package.json index 6d1d5726..252c4fae 100644 --- a/.publish/reactive/package.json +++ b/.publish/reactive/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/reactive", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/reactive — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/router/package.json b/.publish/router/package.json index a9a169f8..c8c764b7 100644 --- a/.publish/router/package.json +++ b/.publish/router/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/router", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/router — part of the WrNexus framework.", "license": "MIT", @@ -21,8 +21,8 @@ } }, "dependencies": { - "@wrnexus/compiler": "^0.2.39", - "@wrnexus/core": "^0.2.39" + "@wrnexus/compiler": "^0.2.40", + "@wrnexus/core": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/ssr/package.json b/.publish/ssr/package.json index ff15e4bb..efc3935b 100644 --- a/.publish/ssr/package.json +++ b/.publish/ssr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ssr", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/ssr — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.39" + "@wrnexus/core": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/styles/package.json b/.publish/styles/package.json index 59687af1..8df22da9 100644 --- a/.publish/styles/package.json +++ b/.publish/styles/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/styles", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/styles — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/uploader": "^0.2.39" + "@wrnexus/uploader": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/test/package.json b/.publish/test/package.json index 62549a5e..40c8bed4 100644 --- a/.publish/test/package.json +++ b/.publish/test/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/test", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/test — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/tracking/package.json b/.publish/tracking/package.json index a60d0ff1..1cdd67a8 100644 --- a/.publish/tracking/package.json +++ b/.publish/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/tracking", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/tracking — part of the WrNexus framework.", "license": "MIT", diff --git a/.publish/ui/package.json b/.publish/ui/package.json index 08ab23d8..d42e1882 100644 --- a/.publish/ui/package.json +++ b/.publish/ui/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ui", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/ui — part of the WrNexus framework.", "license": "MIT", @@ -22,7 +22,7 @@ "./ui.css": "./ui.css" }, "dependencies": { - "@wrnexus/core": "^0.2.39" + "@wrnexus/core": "^0.2.40" }, "files": [ "dist", diff --git a/.publish/uploader/package.json b/.publish/uploader/package.json index 22e4f5fe..460d5cff 100644 --- a/.publish/uploader/package.json +++ b/.publish/uploader/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/uploader", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/uploader — part of the WrNexus framework.", "license": "MIT", @@ -21,7 +21,7 @@ } }, "dependencies": { - "@wrnexus/core": "^0.2.39" + "@wrnexus/core": "^0.2.40" }, "files": [ "dist" diff --git a/.publish/validation/package.json b/.publish/validation/package.json index 75a6f55c..f76c971a 100644 --- a/.publish/validation/package.json +++ b/.publish/validation/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/validation", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "description": "@wrnexus/validation — part of the WrNexus framework.", "license": "MIT", diff --git a/packages/ai/package.json b/packages/ai/package.json index bc6ab185..39d47abb 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ai", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "description": "Zero-dependency Claude (Anthropic) client for WrNexus apps.", diff --git a/packages/authz/package.json b/packages/authz/package.json index 0231e503..92e3c467 100644 --- a/packages/authz/package.json +++ b/packages/authz/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/authz", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/cli/package.json b/packages/cli/package.json index ce6ac891..6f2a3420 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/cli", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 2272571e..eb568be1 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/compiler", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/core/package.json b/packages/core/package.json index e4bcdbf0..1d871af4 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/core", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/csr/package.json b/packages/csr/package.json index 0c84a3f9..8b93ae7b 100644 --- a/packages/csr/package.json +++ b/packages/csr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/csr", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/csr/src/reactive-runtime.ts b/packages/csr/src/reactive-runtime.ts index 78b3cdd1..55d50c48 100644 --- a/packages/csr/src/reactive-runtime.ts +++ b/packages/csr/src/reactive-runtime.ts @@ -816,35 +816,44 @@ export const REACTIVE_RUNTIME = String.raw` expression || "", ).trim(); - // Array literals containing spread: - // - // [...items, value] - // [first, ...others] - // + /* + * Array spread: + * + * [...openIndexes, index] + */ if ( source.charAt(0) === "[" && - source.charAt(source.length - 1) === "]" && + source.charAt( + source.length - 1, + ) === "]" && source.indexOf("...") !== -1 ) { var inner = source.slice(1, -1); - var parts = splitTopLevel(inner, ","); - var result = []; + + var parts = splitTopLevel( + inner, + ",", + ); + + var values = []; parts.forEach(function (part) { - var valueSource = part.trim(); + var item = part.trim(); if ( - valueSource.indexOf("...") === 0 + item.slice(0, 3) === "..." ) { var spreadValue = evaluateExpression( - valueSource.slice(3), + item.slice(3), read, ); - if (Array.isArray(spreadValue)) { + if ( + Array.isArray(spreadValue) + ) { Array.prototype.push.apply( - result, + values, spreadValue, ); } @@ -852,9 +861,9 @@ export const REACTIVE_RUNTIME = String.raw` return; } - result.push( + values.push( evaluateExpression( - valueSource, + item, read, ), ); @@ -862,71 +871,60 @@ export const REACTIVE_RUNTIME = String.raw` return { matched: true, - value: result, + value: values, }; } - // Array callback methods: - // - // items.filter((item) => item !== value) - // items.map((item, index) => item.title) - // items.some((item) => item.active) - // + /* + * Array methods with expression callbacks: + * + * list.filter((item) => item !== value) + * list.map((item, index) => item.title) + */ var callbackMatch = - /^([\s\S]+)\.(filter|map|some|every|find|findIndex)\(\s*\(\s*([A-Za-z_$][A-Za-z0-9_$]*)\s*(?:,\s*([A-Za-z_$][A-Za-z0-9_$]*))?\s*\)\s*=>\s*([\s\S]+)\s*\)$/.exec( + /^([\s\S]+)\.(filter|map|some|every|find|findIndex)\(\s*(?:\(\s*([A-Za-z_$][A-Za-z0-9_$]*)\s*(?:,\s*([A-Za-z_$][A-Za-z0-9_$]*))?\s*\)|([A-Za-z_$][A-Za-z0-9_$]*))\s*=>\s*([\s\S]+)\)$/.exec( source, ); - if (!callbackMatch) { - callbackMatch = - /^([\s\S]+)\.(filter|map|some|every|find|findIndex)\(\s*([A-Za-z_$][A-Za-z0-9_$]*)\s*=>\s*([\s\S]+)\s*\)$/.exec( - source, - ); - - if (callbackMatch) { - callbackMatch = [ - callbackMatch[0], - callbackMatch[1], - callbackMatch[2], - callbackMatch[3], - undefined, - callbackMatch[4], - ]; - } - } - if (callbackMatch) { var collection = evaluateExpression( - callbackMatch[1], + callbackMatch[1].trim(), read, ); var method = callbackMatch[2]; - var itemName = callbackMatch[3]; - var indexName = callbackMatch[4]; - var body = callbackMatch[5]; + + var itemName = + callbackMatch[3] || + callbackMatch[5]; + + var indexName = + callbackMatch[4]; + + var callbackBody = + callbackMatch[6].trim(); if (!Array.isArray(collection)) { collection = []; } var callback = function ( - item, - index, + itemValue, + itemIndex, ) { return evaluateExpression( - body, + callbackBody, function (name) { if (name === itemName) { - return item; + return itemValue; } if ( indexName && name === indexName ) { - return index; + return itemIndex; } return read(name); @@ -934,22 +932,31 @@ export const REACTIVE_RUNTIME = String.raw` ); }; + var result; + + if (method === "filter") { + result = + collection.filter(callback); + } else if (method === "map") { + result = + collection.map(callback); + } else if (method === "some") { + result = + collection.some(callback); + } else if (method === "every") { + result = + collection.every(callback); + } else if (method === "find") { + result = + collection.find(callback); + } else { + result = + collection.findIndex(callback); + } + return { matched: true, - value: - method === "filter" - ? collection.filter(callback) - : method === "map" - ? collection.map(callback) - : method === "some" - ? collection.some(callback) - : method === "every" - ? collection.every(callback) - : method === "find" - ? collection.find(callback) - : collection.findIndex( - callback, - ), + value: result, }; } @@ -963,7 +970,10 @@ export const REACTIVE_RUNTIME = String.raw` // 'unsafe-eval'). Supports: literals, identifiers, member access (a.b, a[b]), // function/method calls, arrays, objects, arithmetic, comparison, equality, // logical (&& ||), unary (! - +), and the ternary operator. - function evaluateExpression(expr, read) { + function evaluateExpression( + expr, + read, + ) { expr = String(expr || "").trim(); var special = diff --git a/packages/db/package.json b/packages/db/package.json index 22254dd7..76ba7c64 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/db", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 9df21f6e..a0780d33 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/dev-server/src/cache.ts b/packages/dev-server/src/cache.ts new file mode 100644 index 00000000..923c7fd0 --- /dev/null +++ b/packages/dev-server/src/cache.ts @@ -0,0 +1,36 @@ +import { existsSync, rmSync } from "node:fs"; +import { resolve } from "node:path"; + +export interface ResetDevCacheOptions { + rootDir?: string; + cacheDir?: string; + enabled?: boolean; +} + +export function resetDevCache(options: ResetDevCacheOptions = {}): string { + const rootDir = resolve(options.rootDir ?? process.cwd()); + + const cacheDir = resolve(rootDir, options.cacheDir ?? ".wrnexus"); + + if (options.enabled === false) { + return cacheDir; + } + + // Safety: never allow deleting the project root. + if (cacheDir === rootDir) { + throw new Error("Refusing to remove the project root as the WRNexus cache directory."); + } + + if (existsSync(cacheDir)) { + rmSync(cacheDir, { + recursive: true, + force: true, + maxRetries: 3, + retryDelay: 100, + }); + + console.log(`[wrnexus] cleared generated cache: ${cacheDir}`); + } + + return cacheDir; +} diff --git a/packages/dev-server/src/index.ts b/packages/dev-server/src/index.ts index 2c947d52..8d7ce62b 100644 --- a/packages/dev-server/src/index.ts +++ b/packages/dev-server/src/index.ts @@ -29,6 +29,7 @@ import { createDevAssetServer } from "./assets.ts"; import { HmrHub } from "./hmr.ts"; import { startWatcher } from "./watch.ts"; export { RESTART_EXIT_CODE } from "./restart.ts"; +import { resetDevCache } from "./cache.ts"; export interface ServeOptions { appDir: string; @@ -122,6 +123,12 @@ export async function startServer(opts: ServeOptions): Promise { const router = buildRouter(appDir, { componentDirs: [uiComponentsDir()] }); const styleEntry = opts.styleEntry ?? null; const appRoot = dirname(appDir); + + resetDevCache({ + rootDir: appRoot, + enabled: process.env.WRNEXUS_PRESERVE_CACHE !== "1", + }); + // Compile every `.wrn` into ONE cache dir at the project root, instead of a // `.wrnexus/` next to each source file (and inside node_modules UI dirs). setCompileCacheDir(join(appRoot, ".wrnexus")); diff --git a/packages/encryption/package.json b/packages/encryption/package.json index 3a9fd515..133b2a69 100644 --- a/packages/encryption/package.json +++ b/packages/encryption/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/encryption", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/helpers/package.json b/packages/helpers/package.json index d16ecba0..68e09ab2 100644 --- a/packages/helpers/package.json +++ b/packages/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/helpers", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "description": "Safe convenience helpers for WrNexus request contexts and common application flows.", diff --git a/packages/i18n/package.json b/packages/i18n/package.json index e841c50d..ca7fa7d7 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/i18n", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/jwt/package.json b/packages/jwt/package.json index 38d9d8d8..8316b589 100644 --- a/packages/jwt/package.json +++ b/packages/jwt/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/jwt", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/mobile/package.json b/packages/mobile/package.json index 055895c1..606a73dc 100644 --- a/packages/mobile/package.json +++ b/packages/mobile/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/mobile", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/native/package.json b/packages/native/package.json index 6767311c..892a7745 100644 --- a/packages/native/package.json +++ b/packages/native/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/native", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/oauth/package.json b/packages/oauth/package.json index 39a17cc0..8d874f37 100644 --- a/packages/oauth/package.json +++ b/packages/oauth/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/oauth", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/pubsub/package.json b/packages/pubsub/package.json index 79a7ee4e..85a4677d 100644 --- a/packages/pubsub/package.json +++ b/packages/pubsub/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/pubsub", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/queue/package.json b/packages/queue/package.json index 1d9955c8..4cfed455 100644 --- a/packages/queue/package.json +++ b/packages/queue/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/queue", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/reactive/package.json b/packages/reactive/package.json index 01034fcd..13d43540 100644 --- a/packages/reactive/package.json +++ b/packages/reactive/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/reactive", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/router/package.json b/packages/router/package.json index bc15c3a4..de8cae3c 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/router", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/ssr/package.json b/packages/ssr/package.json index 01193955..825e32b8 100644 --- a/packages/ssr/package.json +++ b/packages/ssr/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ssr", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/styles/package.json b/packages/styles/package.json index c89b01c3..035111d6 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/styles", - "version": "0.2.39", + "version": "0.2.40", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/test/package.json b/packages/test/package.json index 2638495f..cdcf07d4 100644 --- a/packages/test/package.json +++ b/packages/test/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/test", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/tracking/package.json b/packages/tracking/package.json index 89957331..cb361ca2 100644 --- a/packages/tracking/package.json +++ b/packages/tracking/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/tracking", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/ui/package.json b/packages/ui/package.json index c1e7f6f6..04f0c744 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/ui", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/uploader/package.json b/packages/uploader/package.json index cfe5410c..09634f30 100644 --- a/packages/uploader/package.json +++ b/packages/uploader/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/uploader", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/packages/validation/package.json b/packages/validation/package.json index 331d2a8e..3e12fbbb 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/validation", - "version": "0.2.39", + "version": "0.2.40", "private": true, "type": "module", "main": "src/index.ts", diff --git a/update-package-versions.mjs b/update-package-versions.mjs index 9c50cb48..2e18dc5e 100644 --- a/update-package-versions.mjs +++ b/update-package-versions.mjs @@ -1,7 +1,7 @@ import { existsSync, readdirSync, readFileSync, writeFileSync } from "node:fs"; import { join } from "node:path"; -const version = "0.2.39"; +const version = "0.2.40"; const dependencyGroups = [ "dependencies",