Skip to content

Commit 03ac0f6

Browse files
docs(migration): integrate downstream config naming into existing config entry
1 parent ee73d95 commit 03ac0f6

File tree

1 file changed

+9
-19
lines changed

1 file changed

+9
-19
lines changed

MIGRATIONS.md

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,6 @@ Breaking changes and upgrade notes for downstream projects.
44

55
---
66

7-
## Downstream config naming convention (2026-03-09)
8-
9-
### Config naming convention
10-
11-
Downstream projects must name their config files `config.{projectname}.js` (not just `{projectname}.js`). The loader only discovers files matching `config.${NODE_ENV}.js` — files without the `config.` prefix are silently ignored.
12-
13-
A template file `config/defaults/config.myproject.js` is now included in the stack. Copy and rename it for your project.
14-
15-
The loader now warns when `NODE_ENV` is set to a non-standard value and no matching config files are found.
16-
17-
### Steps for downstream projects
18-
19-
1. Rename any `{projectname}.js` config files to `config.{projectname}.js` (both in `config/defaults/` and `modules/*/config/`)
20-
2. Run `npm start` and verify the config loads correctly
21-
22-
---
23-
247
## Configuration split by module (2026-03-07)
258

269
The monolithic `config/defaults/development.js` has been split into per-module config files with a homogeneous naming convention.
@@ -32,6 +15,8 @@ The monolithic `config/defaults/development.js` has been split into per-module c
3215
- **Updated**: `config/index.js` now globs module configs and merges them in layers
3316
- **Standalone env files**: `config.production.js` and `config.test.js` no longer import `development.js` — they export only their overrides
3417
- **Assets glob**: `config/assets.js` changed from `modules/*/config/*.js` to `modules/*/config/*.config.js` (excludes data config files, still matches init modules like `users.config.js`)
18+
- **Template**: `config/defaults/config.myproject.js` added as a starting point for downstream projects
19+
- **Startup warning**: the loader now warns when `NODE_ENV` is non-standard and no matching config files are found
3520

3621
### New file layout
3722

@@ -68,6 +53,10 @@ Create `NODE_ENV=staging` by adding any of:
6853

6954
No file is required — only modules that define a `config.<env>.js` will be overridden.
7055

56+
### Downstream project config files
57+
58+
Files must be named `config.{projectname}.js` — files without the `config.` prefix are silently ignored. A template is provided at `config/defaults/config.myproject.js`.
59+
7160
### Steps for downstream projects
7261

7362
1. If you have **customized** `config/defaults/development.js`:
@@ -81,8 +70,9 @@ No file is required — only modules that define a `config.<env>.js` will be ove
8170
- Remove the `import ... from './development.js'` and `merge()` wrapper — just export the override object directly
8271
- If your test overrides contain module-specific keys (e.g. `uploads`), move them to `modules/<name>/config/config.test.js`
8372
3. If you have **custom init modules** matching `modules/*/config/*.js` that are NOT named `*.config.js`, rename them to follow the `*.config.js` convention (the assets glob has changed).
84-
4. If you have **not customized** any config files, the merge will apply cleanly.
85-
5. Run `npm run lint && npm test` to confirm everything works.
73+
4. Rename any `{projectname}.js` config files to `config.{projectname}.js` (both in `config/defaults/` and `modules/*/config/`)
74+
5. If you have **not customized** any config files, the merge will apply cleanly.
75+
6. Run `npm run lint && npm test` to confirm everything works.
8676

8777
---
8878

0 commit comments

Comments
 (0)