reroute-js 0.27.4 → 0.28.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/README.md +28 -0
- package/cli/bin.d.ts +1 -1
- package/cli/bin.js +25 -15
- package/cli/bin.js.map +4 -4
- package/cli/index.d.ts +1 -1
- package/cli/index.js +4 -4
- package/cli/index.js.map +3 -3
- package/cli/src/cli.d.ts +1 -1
- package/cli/src/commands/analyze.d.ts +1 -1
- package/cli/src/commands/build.d.ts +1 -1
- package/cli/src/commands/dev.d.ts +1 -1
- package/cli/src/commands/gen.d.ts +1 -1
- package/cli/src/commands/gen.d.ts.map +1 -1
- package/cli/src/commands/index.d.ts +1 -1
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/commands/lib/assets.d.ts +1 -1
- package/cli/src/commands/lib/bundler.d.ts +1 -1
- package/cli/src/commands/lib/command.d.ts +1 -1
- package/cli/src/commands/lib/env.d.ts +1 -1
- package/cli/src/commands/lib/index.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts +1 -1
- package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
- package/cli/src/commands/lib/markdown/index.d.ts +1 -1
- package/cli/src/commands/lib/markdown/processor.d.ts +2 -1
- package/cli/src/commands/lib/markdown/processor.d.ts.map +1 -1
- package/cli/src/commands/lib/production.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts +1 -1
- package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
- package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
- package/cli/src/commands/lib/tailwind.d.ts +1 -1
- package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
- package/cli/src/commands/lib/version.d.ts +1 -1
- package/cli/src/commands/og.d.ts +1 -1
- package/cli/src/commands/start.d.ts +1 -1
- package/cli/src/index.d.ts +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +2 -2
- package/core/index.js.map +1 -1
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +1 -1
- package/core/src/content/discovery.d.ts +1 -1
- package/core/src/content/index.d.ts +1 -1
- package/core/src/content/metadata.d.ts +1 -1
- package/core/src/index.d.ts +1 -1
- package/core/src/llms/extractor.d.ts +1 -1
- package/core/src/llms/formatter.d.ts +1 -1
- package/core/src/llms/full-generator.d.ts +1 -1
- package/core/src/llms/index-generator.d.ts +1 -1
- package/core/src/llms/index.d.ts +1 -1
- package/core/src/og/discovery.d.ts +1 -1
- package/core/src/og/index.d.ts +1 -1
- package/core/src/og/meta.d.ts +1 -1
- package/core/src/og/render.d.ts +1 -1
- package/core/src/og/types.d.ts +1 -1
- package/core/src/robots/discovery.d.ts +1 -1
- package/core/src/robots/generator.d.ts +1 -1
- package/core/src/robots/index.d.ts +1 -1
- package/core/src/robots/policies.d.ts +1 -1
- package/core/src/rss/discovery.d.ts +1 -1
- package/core/src/rss/generator.d.ts +1 -1
- package/core/src/rss/index.d.ts +1 -1
- package/core/src/sitemap/discovery.d.ts +1 -1
- package/core/src/sitemap/generator.d.ts +1 -1
- package/core/src/sitemap/index.d.ts +1 -1
- package/core/src/ssr/index.d.ts +1 -1
- package/core/src/ssr/lib/cache.d.ts +1 -1
- package/core/src/ssr/lib/collections.d.ts +1 -1
- package/core/src/ssr/lib/compression.d.ts +1 -1
- package/core/src/ssr/lib/compute/content.d.ts +1 -1
- package/core/src/ssr/lib/compute/index.d.ts +1 -1
- package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
- package/core/src/ssr/lib/compute/routes.d.ts +1 -1
- package/core/src/ssr/lib/data.d.ts +1 -1
- package/core/src/ssr/lib/html.d.ts +1 -1
- package/core/src/ssr/lib/imports.d.ts +1 -1
- package/core/src/ssr/lib/index.d.ts +1 -1
- package/core/src/ssr/lib/layouts.d.ts +1 -1
- package/core/src/ssr/lib/metadata.d.ts +1 -1
- package/core/src/ssr/lib/mime.d.ts +1 -1
- package/core/src/ssr/lib/modules.d.ts +1 -1
- package/core/src/ssr/lib/path.d.ts +1 -1
- package/core/src/ssr/lib/preload.d.ts +1 -1
- package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
- package/core/src/ssr/lib/scripts/data.d.ts +1 -1
- package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
- package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
- package/core/src/ssr/lib/scripts/index.d.ts +1 -1
- package/core/src/ssr/lib/seed.d.ts +1 -1
- package/core/src/ssr/lib/serialize.d.ts +1 -1
- package/core/src/ssr/lib/setup.d.ts +1 -1
- package/core/src/ssr/lib/styles.d.ts +1 -1
- package/core/src/ssr/lib/template.d.ts +1 -1
- package/core/src/ssr/lib/types.d.ts +1 -1
- package/core/src/ssr/render.d.ts +1 -1
- package/core/src/ssr/stream.d.ts +1 -1
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +2 -2
- package/elysia/index.js.map +1 -1
- package/elysia/src/index.d.ts +1 -1
- package/elysia/src/libs/assets.d.ts +1 -1
- package/elysia/src/libs/cache.d.ts +1 -1
- package/elysia/src/libs/caching.d.ts +1 -1
- package/elysia/src/libs/http.d.ts +1 -1
- package/elysia/src/libs/image.d.ts +1 -1
- package/elysia/src/libs/index.d.ts +1 -1
- package/elysia/src/libs/llms.d.ts +1 -1
- package/elysia/src/libs/response.d.ts +1 -1
- package/elysia/src/libs/serving.d.ts +1 -1
- package/elysia/src/plugin.d.ts +1 -1
- package/elysia/src/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +1 -1
- package/elysia/src/routes/image.d.ts +1 -1
- package/elysia/src/routes/index.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts +1 -1
- package/elysia/src/routes/llms.d.ts +1 -1
- package/elysia/src/routes/og.d.ts +1 -1
- package/elysia/src/routes/redirects.d.ts +1 -1
- package/elysia/src/routes/robots.d.ts +1 -1
- package/elysia/src/routes/rss.d.ts +1 -1
- package/elysia/src/routes/search.d.ts +1 -1
- package/elysia/src/routes/sitemap.d.ts +1 -1
- package/elysia/src/routes/ssr.d.ts +1 -1
- package/elysia/src/routes/static.d.ts +1 -1
- package/elysia/src/types.d.ts +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +2 -2
- package/react/index.js.map +1 -1
- package/react/src/components/ClientOnly.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts +1 -1
- package/react/src/components/Image.d.ts +1 -1
- package/react/src/components/LazyRoute.d.ts +1 -1
- package/react/src/components/Link.d.ts +1 -1
- package/react/src/components/Markdown.d.ts +1 -1
- package/react/src/components/Outlet.d.ts +1 -1
- package/react/src/components/index.d.ts +1 -1
- package/react/src/hooks/index.d.ts +1 -1
- package/react/src/hooks/useContent.d.ts +1 -1
- package/react/src/hooks/useData.d.ts +1 -1
- package/react/src/hooks/useFeed.d.ts +1 -1
- package/react/src/hooks/useLayoutData.d.ts +1 -1
- package/react/src/hooks/useLlms.d.ts +1 -1
- package/react/src/hooks/useNavigate.d.ts +1 -1
- package/react/src/hooks/useParams.d.ts +1 -1
- package/react/src/hooks/useRouter.d.ts +1 -1
- package/react/src/hooks/useSearch.d.ts +1 -1
- package/react/src/hooks/useSearchParams.d.ts +1 -1
- package/react/src/hooks/useToc.d.ts +1 -1
- package/react/src/index.d.ts +1 -1
- package/react/src/lib/collection.d.ts +1 -1
- package/react/src/lib/content.d.ts +1 -1
- package/react/src/lib/head.d.ts +1 -1
- package/react/src/lib/index.d.ts +1 -1
- package/react/src/lib/lazy-route.d.ts +1 -1
- package/react/src/lib/route-loader.d.ts +1 -1
- package/react/src/providers/ContentProvider.d.ts +1 -1
- package/react/src/providers/RerouteProvider.d.ts +1 -1
- package/react/src/providers/RouterProvider.d.ts +1 -1
- package/react/src/providers/index.d.ts +1 -1
- package/react/src/types/any.d.ts +1 -1
- package/react/src/types/index.d.ts +1 -1
- package/react/src/types/router.d.ts +1 -1
- package/telemetry/react.d.ts +1 -1
- package/telemetry/react.js +2 -2
- package/telemetry/react.js.map +1 -1
- package/telemetry/server.d.ts +1 -1
- package/telemetry/server.js +2 -2
- package/telemetry/server.js.map +1 -1
- package/telemetry/src/react/api.d.ts +1 -1
- package/telemetry/src/react/context.d.ts +1 -1
- package/telemetry/src/react/index.d.ts +1 -1
- package/telemetry/src/react/telemetry.d.ts +1 -1
- package/telemetry/src/server/context.d.ts +1 -1
- package/telemetry/src/server/index.d.ts +1 -1
- package/telemetry/src/server/instrumentation.d.ts +1 -1
- package/telemetry/src/server/plugin.d.ts +1 -1
- package/telemetry/src/server/sourcemap.d.ts +1 -1
package/README.md
CHANGED
|
@@ -671,6 +671,34 @@ The route will be automatically available at `/about` with:
|
|
|
671
671
|
- Built-in syntax highlighting for code blocks with Streamdown
|
|
672
672
|
- Built-in GitHub Flavored Markdown, math expressions, and mermaid diagrams
|
|
673
673
|
|
|
674
|
+
### Draft Content Support
|
|
675
|
+
|
|
676
|
+
Mark content as draft to exclude it from production builds:
|
|
677
|
+
|
|
678
|
+
```markdown
|
|
679
|
+
<!-- src/client/routes/blog/content/my-draft.md -->
|
|
680
|
+
---
|
|
681
|
+
title: Work in Progress
|
|
682
|
+
description: This post is not ready yet
|
|
683
|
+
draft: true
|
|
684
|
+
---
|
|
685
|
+
|
|
686
|
+
# Coming Soon
|
|
687
|
+
|
|
688
|
+
This content will be excluded from production builds.
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
**Draft Behavior:**
|
|
692
|
+
- **Development mode** (`reroute gen`, `reroute dev`): Draft content is included in content registry and search index
|
|
693
|
+
- **Production mode** (`reroute gen --prod`, `reroute build`): Draft content is completely excluded from:
|
|
694
|
+
- Content registry and bundles
|
|
695
|
+
- Search index
|
|
696
|
+
- Sitemap generation
|
|
697
|
+
- RSS feeds
|
|
698
|
+
- All other discovery mechanisms
|
|
699
|
+
|
|
700
|
+
This allows you to work on content without deploying it to production.
|
|
701
|
+
|
|
674
702
|
### Creating MDX Routes with Components
|
|
675
703
|
|
|
676
704
|
For interactive content with React components, use `.mdx` files. **Best practice:** Import components from external files rather than defining them inline.
|
package/cli/bin.d.ts
CHANGED
package/cli/bin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
3
|
/**
|
|
4
|
-
* reroute-js v0.
|
|
4
|
+
* reroute-js v0.28.0
|
|
5
5
|
*
|
|
6
6
|
* @license MIT
|
|
7
7
|
* @copyright 2025 stewones <hi@stewan.io>
|
|
@@ -48,7 +48,7 @@ async function getVersionString() {
|
|
|
48
48
|
}
|
|
49
49
|
async function getVersion() {
|
|
50
50
|
if (true) {
|
|
51
|
-
return "0.
|
|
51
|
+
return "0.28.0";
|
|
52
52
|
}
|
|
53
53
|
const possiblePaths = [
|
|
54
54
|
path.join(import.meta.dir, "../../../../package.json"),
|
|
@@ -66,7 +66,7 @@ async function getVersion() {
|
|
|
66
66
|
}
|
|
67
67
|
async function getCommit() {
|
|
68
68
|
if (true) {
|
|
69
|
-
return "
|
|
69
|
+
return "a8e295b";
|
|
70
70
|
}
|
|
71
71
|
return "dev";
|
|
72
72
|
}
|
|
@@ -6572,25 +6572,25 @@ async function buildSingleContentChunk(cwd, collection, file, contentDir, args)
|
|
|
6572
6572
|
let code = "";
|
|
6573
6573
|
let sourcemapContent = "";
|
|
6574
6574
|
try {
|
|
6575
|
-
const
|
|
6576
|
-
const publicEnv = getPublicEnvVars(cwd,
|
|
6575
|
+
const isProd2 = isProductionMode(args);
|
|
6576
|
+
const publicEnv = getPublicEnvVars(cwd, isProd2 ? "production" : "development");
|
|
6577
6577
|
const envDefines = envToDefineObject(publicEnv);
|
|
6578
6578
|
const result = await Bun.build({
|
|
6579
6579
|
entrypoints: [buildSrc],
|
|
6580
6580
|
target: "browser",
|
|
6581
6581
|
format: "esm",
|
|
6582
6582
|
splitting: false,
|
|
6583
|
-
sourcemap:
|
|
6584
|
-
minify:
|
|
6583
|
+
sourcemap: isProd2 ? "linked" : "none",
|
|
6584
|
+
minify: isProd2,
|
|
6585
6585
|
define: {
|
|
6586
|
-
"process.env.NODE_ENV":
|
|
6586
|
+
"process.env.NODE_ENV": isProd2 ? '"production"' : '"development"',
|
|
6587
6587
|
...envDefines
|
|
6588
6588
|
}
|
|
6589
6589
|
});
|
|
6590
6590
|
if (!result.success)
|
|
6591
6591
|
throw new Error("build failed");
|
|
6592
6592
|
code = await result.outputs[0].text();
|
|
6593
|
-
if (
|
|
6593
|
+
if (isProd2 && result.outputs.length > 1) {
|
|
6594
6594
|
for (const output of result.outputs) {
|
|
6595
6595
|
if (output.path.endsWith(".map")) {
|
|
6596
6596
|
sourcemapContent = await output.text();
|
|
@@ -6625,6 +6625,11 @@ async function buildSingleContentChunk(cwd, collection, file, contentDir, args)
|
|
|
6625
6625
|
const m = await import(url);
|
|
6626
6626
|
meta = m.meta || {};
|
|
6627
6627
|
} catch {}
|
|
6628
|
+
const isProd = isProductionMode(args);
|
|
6629
|
+
if (isProd && meta.draft === true) {
|
|
6630
|
+
console.log(`[reroute/content] Skipping draft content in production: ${collection}/${name}`);
|
|
6631
|
+
return null;
|
|
6632
|
+
}
|
|
6628
6633
|
return {
|
|
6629
6634
|
collection,
|
|
6630
6635
|
name,
|
|
@@ -6710,7 +6715,7 @@ async function buildContentChunks(cwd, args = []) {
|
|
|
6710
6715
|
console.log(`[reroute/content] wrote ${join9(cwd, OUTPUT_COLLECTIONS_DIR, `${collection}.js`)}`);
|
|
6711
6716
|
}
|
|
6712
6717
|
}
|
|
6713
|
-
async function buildSearchIndex(cwd, config2) {
|
|
6718
|
+
async function buildSearchIndex(cwd, config2, args = []) {
|
|
6714
6719
|
const searchConfig = config2.search;
|
|
6715
6720
|
if (!searchConfig?.enabled) {
|
|
6716
6721
|
return;
|
|
@@ -6745,6 +6750,11 @@ async function buildSearchIndex(cwd, config2) {
|
|
|
6745
6750
|
try {
|
|
6746
6751
|
const processed = processMarkdownFile(filePath);
|
|
6747
6752
|
const { frontmatter, content: content2 } = processed;
|
|
6753
|
+
const isProd = isProductionMode(args);
|
|
6754
|
+
if (isProd && frontmatter.draft === true) {
|
|
6755
|
+
console.log(`[reroute/search] Skipping draft content in production: ${collection}/${name}`);
|
|
6756
|
+
continue;
|
|
6757
|
+
}
|
|
6748
6758
|
const headings = extractHeadings(content2, {
|
|
6749
6759
|
minLevel: minHeadingLevel,
|
|
6750
6760
|
maxLevel: maxHeadingLevel
|
|
@@ -7079,7 +7089,7 @@ async function generate(cwd, args = [], options = {}) {
|
|
|
7079
7089
|
}
|
|
7080
7090
|
if (config2.search?.enabled) {
|
|
7081
7091
|
try {
|
|
7082
|
-
await perfTrack("Search index", () => buildSearchIndex(cwd, config2));
|
|
7092
|
+
await perfTrack("Search index", () => buildSearchIndex(cwd, config2, args));
|
|
7083
7093
|
} catch (error) {
|
|
7084
7094
|
console.error("[reroute/gen] Failed to generate search index:", error);
|
|
7085
7095
|
}
|
|
@@ -7371,7 +7381,7 @@ async function gen(args) {
|
|
|
7371
7381
|
if (loadedConfig.search?.enabled) {
|
|
7372
7382
|
console.log("[reroute/watch] ├─ Rebuilding search index...");
|
|
7373
7383
|
const searchStart = performance.now();
|
|
7374
|
-
await buildSearchIndex(cwd, loadedConfig);
|
|
7384
|
+
await buildSearchIndex(cwd, loadedConfig, args);
|
|
7375
7385
|
const searchTime = ((performance.now() - searchStart) / 1000).toFixed(2);
|
|
7376
7386
|
console.log(`[reroute/watch] └─ Search: ${searchTime}s`);
|
|
7377
7387
|
}
|
|
@@ -105297,7 +105307,7 @@ async function getVersionString2() {
|
|
|
105297
105307
|
}
|
|
105298
105308
|
async function getVersion2() {
|
|
105299
105309
|
if (true) {
|
|
105300
|
-
return "0.
|
|
105310
|
+
return "0.28.0";
|
|
105301
105311
|
}
|
|
105302
105312
|
const possiblePaths = [
|
|
105303
105313
|
path3.join(import.meta.dir, "../../../package.json"),
|
|
@@ -105314,10 +105324,10 @@ async function getVersion2() {
|
|
|
105314
105324
|
}
|
|
105315
105325
|
async function getCommit2() {
|
|
105316
105326
|
if (true) {
|
|
105317
|
-
return "
|
|
105327
|
+
return "a8e295b";
|
|
105318
105328
|
}
|
|
105319
105329
|
return "dev";
|
|
105320
105330
|
}
|
|
105321
105331
|
main();
|
|
105322
105332
|
|
|
105323
|
-
//# debugId=
|
|
105333
|
+
//# debugId=D6C8AA20EA68DFD364756E2164756E21
|