kempo-server 3.0.2 → 3.0.3

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
@@ -2,6 +2,49 @@
2
2
 
3
3
  All notable changes to `kempo-server` are documented in this file.
4
4
 
5
+ ## [3.0.0] - 2026-04-09
6
+
7
+ ### Breaking Changes
8
+
9
+ - **Config file format changed from `.config.json` to `.config.js`.** The server now looks for `.config.js` (ES module with a default export) by default, with `.config.json` as a fallback.
10
+ - **Templating file extensions are now disallowed from being served.** Files ending in `.template.html`, `.fragment.html`, and `.page.html` are blocked by default via `disallowedRegex`.
11
+ - **`.config` disallowed pattern replaced** with more specific `.config.js` and `.config.json` patterns.
12
+
13
+ **Migration:**
14
+ ```javascript
15
+ // Before (.config.json)
16
+ { "port": 3000 }
17
+
18
+ // After (.config.js)
19
+ export default { port: 3000 };
20
+ ```
21
+
22
+ ### Added
23
+
24
+ - **Templating system** with support for templates (`.template.html`), pages (`.page.html`), and fragments (`.fragment.html`). Includes slot-based composition, nested fragment inclusion, and variable interpolation.
25
+ - `templating` config section with `preRender`, `ssr`, `ssrPriority`, `globals`, `state`, and `maxFragmentDepth` options.
26
+ - `kempo-server-render` CLI command for pre-rendering templated pages.
27
+ - `kempo-server/templating` module export.
28
+ - Wildcard route patterns now normalize leading slashes for consistent matching.
29
+
30
+ ---
31
+
32
+ ## [2.2.0] - 2026-04-08
33
+
34
+ ### Added
35
+
36
+ - `rescan` utility module (`kempo-server/rescan`) that exposes a programmatic API to trigger file rescans. Provides `onRescan` for listening and a default export function that returns a promise resolving with the new file count.
37
+
38
+ ---
39
+
40
+ ## [2.1.1] - 2026-04-05
41
+
42
+ ### Fixed
43
+
44
+ - Dynamic custom routes with `[param]` directory segments now resolve correctly. A new `walkDynamic` traversal walks the directory tree matching literal and `[param]` directories, passing extracted params through to route handlers.
45
+
46
+ ---
47
+
5
48
  ## [2.1.0] - 2026-04-05
6
49
 
7
50
  ### Added
@@ -180,8 +180,8 @@
180
180
  <tr><td><code>./</code></td><td>Relative path from the page to the root directory (e.g. <code>./</code>, <code>../</code>, <code>../../</code>)</td></tr>
181
181
  <tr><td><code>2026</code></td><td>Current four-digit year</td></tr>
182
182
  <tr><td><code>2026-04-09</code></td><td>Current date in ISO format (<code>YYYY-MM-DD</code>)</td></tr>
183
- <tr><td><code>2026-04-09T19:19:47.187Z</code></td><td>Full ISO 8601 datetime string</td></tr>
184
- <tr><td><code>1775762387187</code></td><td>Unix timestamp in milliseconds</td></tr>
183
+ <tr><td><code>2026-04-09T19:42:42.690Z</code></td><td>Full ISO 8601 datetime string</td></tr>
184
+ <tr><td><code>1775763762690</code></td><td>Unix timestamp in milliseconds</td></tr>
185
185
  <tr><td><code></code></td><td>Version from the root <code>package.json</code></td></tr>
186
186
  <tr><td><code></code></td><td>Value of <code>NODE_ENV</code></td></tr>
187
187
  </tbody>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "kempo-server",
3
3
  "type": "module",
4
- "version": "3.0.2",
4
+ "version": "3.0.3",
5
5
  "description": "A lightweight, zero-dependency, file based routing server.",
6
6
  "exports": {
7
7
  "./rescan": "./dist/rescan.js",