create-warlock 5.44.0 → 5.46.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/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable changes to `create-warlock` are documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
6
6
 
7
+ ## 5.46.0 - 2026-11-06
8
+
9
+ ### Changed
10
+
11
+ - The starter's `src/config/storage.ts` reads the storage driver from `STORAGE_DRIVER` (default `local`) and the R2 key prefix from `R2_PREFIX`, which defaults to the app's name (`APP_NAME`). The driver and prefix were fixed to `local` and `warlock.js`, so every scaffolded app sharing one R2 bucket wrote to the same prefix. `.env.example` documents both keys. Projects scaffolded before this release keep their hard-coded prefix until they set `R2_PREFIX=warlock.js`.
12
+
13
+ ### Fixed
14
+
15
+ - A fresh scaffold with the Testing feature no longer crashes npm install. The starter pins `vitest` 5.0.5, and the feature added `@vitest/coverage-v8` as a caret range that resolved to 5.1.0. The starter and the feature now pin the same exact version.
16
+ - The starter pins `@mongez/localization` at 3.5.1 (was `^3.5.1`), the version the Web feature's `@mongez/react-localization` requires as an exact peer.
17
+
7
18
  ## 5.41.0 - 2026-10-29
8
19
 
9
20
  ### Added
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "dependencies": {
14
14
  "@clack/prompts": "^0.8.2",
15
15
  "@mongez/copper": "^2.1.3",
16
- "@warlock.js/fs": "5.44.0",
16
+ "@warlock.js/fs": "5.46.0",
17
17
  "@mongez/reinforcements": "^4.0.2",
18
18
  "cross-spawn": "^7.0.3",
19
19
  "rimraf": "^6.0.1",
@@ -22,7 +22,7 @@
22
22
  "engines": {
23
23
  "node": ">=22.15"
24
24
  },
25
- "version": "5.44.0",
25
+ "version": "5.46.0",
26
26
  "type": "module",
27
27
  "main": "./esm/index.mjs",
28
28
  "module": "./esm/index.mjs",
@@ -17,6 +17,11 @@ DB_NAME=appName
17
17
  DB_USERNAME=
18
18
  DB_PASSWORD=
19
19
 
20
+ # Storage (local | r2 | aws)
21
+ STORAGE_DRIVER=local
22
+ # R2 key prefix, defaults to APP_NAME
23
+ #R2_PREFIX=
24
+
20
25
  # Cache
21
26
  CACHE_DRIVER=memory
22
27
  ## Redis
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@mongez/reinforcements": "^4.0.2",
33
- "@mongez/localization": "^3.5.1",
33
+ "@mongez/localization": "3.5.1",
34
34
  "@mongez/supportive-is": "^3.0.0",
35
35
  "@warlock.js/auth": "0.0.0-set-by-scaffolder",
36
36
  "@warlock.js/cache": "0.0.0-set-by-scaffolder",
@@ -5,8 +5,12 @@ import {
5
5
  type StorageConfigurations,
6
6
  } from "@warlock.js/core";
7
7
 
8
+ /**
9
+ * Driver is chosen per environment: leave STORAGE_DRIVER unset in development
10
+ * (local files) and set it to `r2` or `aws` in production.
11
+ */
8
12
  const storageOptions: StorageConfigurations = {
9
- default: "local",
13
+ default: env("STORAGE_DRIVER", "local"),
10
14
  drivers: {
11
15
  local: storageConfigurations.local({
12
16
  root: uploadsPath(),
@@ -26,7 +30,9 @@ const storageOptions: StorageConfigurations = {
26
30
  accountId: env("R2_ACCOUNT_ID"),
27
31
  region: env("R2_REGION", "auto"),
28
32
  publicDomain: env("R2_BASE_URL"),
29
- prefix: "warlock.js",
33
+ // Keys live under the app name by default, so apps sharing one bucket
34
+ // do not overwrite each other's files. Set R2_PREFIX to choose another.
35
+ prefix: env("R2_PREFIX", env("APP_NAME", "warlock.js")),
30
36
  }),
31
37
  },
32
38
  };