@timber-js/app 0.1.48 → 0.1.49
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/dist/_chunks/{als-registry-c0AGnbqS.js → als-registry-k-AtAQ9R.js} +4 -2
- package/dist/_chunks/{als-registry-c0AGnbqS.js.map → als-registry-k-AtAQ9R.js.map} +1 -1
- package/dist/_chunks/interception-DGDIjDbR.js.map +1 -1
- package/dist/_chunks/{request-context-C69VW4xS.js → request-context-CRj2Zh1E.js} +2 -2
- package/dist/_chunks/request-context-CRj2Zh1E.js.map +1 -0
- package/dist/_chunks/{tracing-tIvqStk8.js → tracing-DF0G3FB7.js} +2 -2
- package/dist/_chunks/{tracing-tIvqStk8.js.map → tracing-DF0G3FB7.js.map} +1 -1
- package/dist/_chunks/use-query-states-DAhgj8Gx.js.map +1 -1
- package/dist/adapters/nitro.d.ts.map +1 -1
- package/dist/adapters/nitro.js +32 -5
- package/dist/adapters/nitro.js.map +1 -1
- package/dist/cache/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/navigation-context.d.ts +1 -1
- package/dist/client/navigation-context.d.ts.map +1 -1
- package/dist/client/router.d.ts.map +1 -1
- package/dist/client/transition-root.d.ts.map +1 -1
- package/dist/client/use-query-states.d.ts.map +1 -1
- package/dist/client/use-router.d.ts.map +1 -1
- package/dist/cookies/index.js +2 -2
- package/dist/index.d.ts +8 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -10
- package/dist/index.js.map +1 -1
- package/dist/plugins/chunks.d.ts.map +1 -1
- package/dist/plugins/entries.d.ts +10 -0
- package/dist/plugins/entries.d.ts.map +1 -1
- package/dist/routing/scanner.d.ts.map +1 -1
- package/dist/server/als-registry.d.ts +4 -0
- package/dist/server/als-registry.d.ts.map +1 -1
- package/dist/server/index.js +39 -7
- package/dist/server/index.js.map +1 -1
- package/dist/server/metadata-platform.d.ts.map +1 -1
- package/dist/server/metadata-social.d.ts.map +1 -1
- package/dist/server/pipeline.d.ts.map +1 -1
- package/dist/server/primitives.d.ts +8 -4
- package/dist/server/primitives.d.ts.map +1 -1
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/rsc-entry/index.d.ts +1 -0
- package/dist/server/rsc-entry/index.d.ts.map +1 -1
- package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
- package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
- package/dist/server/rsc-prop-warnings.d.ts.map +1 -1
- package/dist/server/waituntil-bridge.d.ts +27 -0
- package/dist/server/waituntil-bridge.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/adapters/nitro.ts +44 -8
- package/src/client/browser-entry.ts +80 -12
- package/src/client/navigation-context.ts +4 -1
- package/src/client/router.ts +5 -7
- package/src/client/transition-root.tsx +5 -11
- package/src/client/use-query-states.ts +4 -1
- package/src/client/use-router.ts +3 -1
- package/src/index.ts +8 -25
- package/src/plugins/chunks.ts +2 -1
- package/src/plugins/entries.ts +66 -2
- package/src/routing/scanner.ts +1 -4
- package/src/server/als-registry.ts +10 -0
- package/src/server/compress.ts +0 -1
- package/src/server/metadata-platform.ts +4 -1
- package/src/server/metadata-social.ts +4 -1
- package/src/server/pipeline.ts +6 -23
- package/src/server/primitives.ts +19 -9
- package/src/server/request-context.ts +1 -5
- package/src/server/rsc-entry/index.ts +16 -0
- package/src/server/rsc-entry/rsc-stream.ts +1 -4
- package/src/server/rsc-entry/ssr-renderer.ts +1 -3
- package/src/server/rsc-prop-warnings.ts +7 -17
- package/src/server/waituntil-bridge.ts +34 -0
- package/dist/_chunks/request-context-C69VW4xS.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -34,16 +34,6 @@ export interface TimberUserConfig {
|
|
|
34
34
|
* Server-side JS still runs — this only affects what is sent to the browser.
|
|
35
35
|
*/
|
|
36
36
|
clientJavascript?: boolean | ClientJavascriptConfig;
|
|
37
|
-
/**
|
|
38
|
-
* @deprecated Use `clientJavascript: false` or `clientJavascript: { disabled: true }` instead.
|
|
39
|
-
*
|
|
40
|
-
* Disable all client-side JavaScript output. When true, no client JS
|
|
41
|
-
* bundles are emitted or referenced in HTML. Pages work entirely via
|
|
42
|
-
* server-rendered HTML. Works in both 'server' and 'static' modes.
|
|
43
|
-
*
|
|
44
|
-
* Server-side JS still runs — this only affects what is sent to the browser.
|
|
45
|
-
*/
|
|
46
|
-
noClientJavascript?: boolean;
|
|
47
37
|
adapter?: unknown;
|
|
48
38
|
cacheHandler?: unknown;
|
|
49
39
|
allowedOrigins?: string[];
|
|
@@ -54,6 +44,13 @@ export interface TimberUserConfig {
|
|
|
54
44
|
maxFields?: number;
|
|
55
45
|
};
|
|
56
46
|
pageExtensions?: string[];
|
|
47
|
+
/**
|
|
48
|
+
* Slow request threshold in milliseconds. Requests exceeding this emit
|
|
49
|
+
* a warning via the logger. Set to 0 to disable. Default: 3000.
|
|
50
|
+
*
|
|
51
|
+
* See design/17-logging.md §"slowRequestMs".
|
|
52
|
+
*/
|
|
53
|
+
slowRequestMs?: number;
|
|
57
54
|
/** Dev-mode options. These have no effect in production builds. */
|
|
58
55
|
dev?: {
|
|
59
56
|
/** Threshold in ms to highlight slow phases in dev logging output. Default: 200. */
|
|
@@ -88,8 +85,7 @@ export interface TimberUserConfig {
|
|
|
88
85
|
};
|
|
89
86
|
}
|
|
90
87
|
/**
|
|
91
|
-
* Resolve `clientJavascript`
|
|
92
|
-
* a fully resolved config. Emits a deprecation warning for the old option.
|
|
88
|
+
* Resolve `clientJavascript` into a fully resolved config.
|
|
93
89
|
*/
|
|
94
90
|
export declare function resolveClientJavascript(config: TimberUserConfig): ResolvedClientJavascript;
|
|
95
91
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,YAAY,EAAE,MAAM,MAAM,CAAC;AAwBjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC7B;;;;;;;;;;;;;OAaG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IACpD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -11856,7 +11856,8 @@ var VIRTUAL_IDS = {
|
|
|
11856
11856
|
rscEntry: "virtual:timber-rsc-entry",
|
|
11857
11857
|
ssrEntry: "virtual:timber-ssr-entry",
|
|
11858
11858
|
browserEntry: "virtual:timber-browser-entry",
|
|
11859
|
-
config: "virtual:timber-config"
|
|
11859
|
+
config: "virtual:timber-config",
|
|
11860
|
+
instrumentation: "virtual:timber-instrumentation"
|
|
11860
11861
|
};
|
|
11861
11862
|
/**
|
|
11862
11863
|
* Map from virtual module IDs to their resolved file paths.
|
|
@@ -11874,6 +11875,8 @@ var ENTRY_FILE_MAP = {
|
|
|
11874
11875
|
};
|
|
11875
11876
|
/** The \0-prefixed resolved ID for virtual:timber-config */
|
|
11876
11877
|
var RESOLVED_CONFIG_ID = `\0${VIRTUAL_IDS.config}`;
|
|
11878
|
+
/** The \0-prefixed resolved ID for virtual:timber-instrumentation */
|
|
11879
|
+
var RESOLVED_INSTRUMENTATION_ID = `\0${VIRTUAL_IDS.instrumentation}`;
|
|
11877
11880
|
/**
|
|
11878
11881
|
* Strip the \0 prefix from a module ID.
|
|
11879
11882
|
*
|
|
@@ -11914,6 +11917,7 @@ function generateConfigModule(ctx) {
|
|
|
11914
11917
|
clientJavascript: ctx.clientJavascript,
|
|
11915
11918
|
dev: ctx.dev ?? false,
|
|
11916
11919
|
slowPhaseMs: ctx.config.dev?.slowPhaseMs ?? 200,
|
|
11920
|
+
slowRequestMs: ctx.config.slowRequestMs ?? 3e3,
|
|
11917
11921
|
cookieSecrets
|
|
11918
11922
|
};
|
|
11919
11923
|
return [
|
|
@@ -11926,6 +11930,51 @@ function generateConfigModule(ctx) {
|
|
|
11926
11930
|
].join("\n");
|
|
11927
11931
|
}
|
|
11928
11932
|
/**
|
|
11933
|
+
* Detect the user's instrumentation.ts file at the project root.
|
|
11934
|
+
*
|
|
11935
|
+
* Checks for instrumentation.ts, .js, and .mjs — matching the same
|
|
11936
|
+
* extensions as timber.config.ts detection.
|
|
11937
|
+
*/
|
|
11938
|
+
function detectInstrumentationFile(root) {
|
|
11939
|
+
for (const ext of [
|
|
11940
|
+
".ts",
|
|
11941
|
+
".js",
|
|
11942
|
+
".mjs"
|
|
11943
|
+
]) {
|
|
11944
|
+
const candidate = resolve(root, `instrumentation${ext}`);
|
|
11945
|
+
if (existsSync(candidate)) return candidate;
|
|
11946
|
+
}
|
|
11947
|
+
return null;
|
|
11948
|
+
}
|
|
11949
|
+
/**
|
|
11950
|
+
* Generate the virtual:timber-instrumentation module source.
|
|
11951
|
+
*
|
|
11952
|
+
* When the user's instrumentation.ts exists, generates a module that
|
|
11953
|
+
* dynamically imports it. When it doesn't exist, generates a module
|
|
11954
|
+
* that returns null. The RSC entry calls this loader at startup time.
|
|
11955
|
+
*
|
|
11956
|
+
* See design/17-logging.md §"instrumentation.ts — The Entry Point"
|
|
11957
|
+
*/
|
|
11958
|
+
function generateInstrumentationModule(instrumentationPath) {
|
|
11959
|
+
if (instrumentationPath) return [
|
|
11960
|
+
"// Auto-generated instrumentation loader — do not edit.",
|
|
11961
|
+
"// Generated by timber-entries plugin.",
|
|
11962
|
+
"",
|
|
11963
|
+
`export default async function loadUserInstrumentation() {`,
|
|
11964
|
+
` return import(${JSON.stringify(instrumentationPath)});`,
|
|
11965
|
+
`}`
|
|
11966
|
+
].join("\n");
|
|
11967
|
+
return [
|
|
11968
|
+
"// Auto-generated instrumentation loader — do not edit.",
|
|
11969
|
+
"// Generated by timber-entries plugin.",
|
|
11970
|
+
"// No instrumentation.ts found at project root.",
|
|
11971
|
+
"",
|
|
11972
|
+
`export default async function loadUserInstrumentation() {`,
|
|
11973
|
+
` return null;`,
|
|
11974
|
+
`}`
|
|
11975
|
+
].join("\n");
|
|
11976
|
+
}
|
|
11977
|
+
/**
|
|
11929
11978
|
* Create the timber-entries Vite plugin.
|
|
11930
11979
|
*
|
|
11931
11980
|
* Hooks: resolveId, load
|
|
@@ -11938,10 +11987,12 @@ function timberEntries(ctx) {
|
|
|
11938
11987
|
cleanId = stripRootPrefix(cleanId, ctx.root);
|
|
11939
11988
|
if (cleanId in ENTRY_FILE_MAP) return ENTRY_FILE_MAP[cleanId];
|
|
11940
11989
|
if (cleanId === VIRTUAL_IDS.config) return RESOLVED_CONFIG_ID;
|
|
11990
|
+
if (cleanId === VIRTUAL_IDS.instrumentation) return RESOLVED_INSTRUMENTATION_ID;
|
|
11941
11991
|
return null;
|
|
11942
11992
|
},
|
|
11943
11993
|
load(id) {
|
|
11944
11994
|
if (id === RESOLVED_CONFIG_ID) return generateConfigModule(ctx);
|
|
11995
|
+
if (id === RESOLVED_INSTRUMENTATION_ID) return generateInstrumentationModule(detectInstrumentationFile(ctx.root));
|
|
11945
11996
|
return null;
|
|
11946
11997
|
}
|
|
11947
11998
|
};
|
|
@@ -14733,8 +14784,7 @@ function createNoopTimer() {
|
|
|
14733
14784
|
//#endregion
|
|
14734
14785
|
//#region src/index.ts
|
|
14735
14786
|
/**
|
|
14736
|
-
* Resolve `clientJavascript`
|
|
14737
|
-
* a fully resolved config. Emits a deprecation warning for the old option.
|
|
14787
|
+
* Resolve `clientJavascript` into a fully resolved config.
|
|
14738
14788
|
*/
|
|
14739
14789
|
function resolveClientJavascript(config) {
|
|
14740
14790
|
if (config.clientJavascript !== void 0) {
|
|
@@ -14747,13 +14797,6 @@ function resolveClientJavascript(config) {
|
|
|
14747
14797
|
enableHMRInDev: config.clientJavascript.enableHMRInDev ?? config.clientJavascript.disabled
|
|
14748
14798
|
};
|
|
14749
14799
|
}
|
|
14750
|
-
if (config.noClientJavascript !== void 0) {
|
|
14751
|
-
console.warn("[timber] `noClientJavascript` is deprecated. Use `clientJavascript: false` or `clientJavascript: { disabled: true, enableHMRInDev: true }` instead.");
|
|
14752
|
-
return {
|
|
14753
|
-
disabled: config.noClientJavascript,
|
|
14754
|
-
enableHMRInDev: config.noClientJavascript
|
|
14755
|
-
};
|
|
14756
|
-
}
|
|
14757
14800
|
return {
|
|
14758
14801
|
disabled: false,
|
|
14759
14802
|
enableHMRInDev: false
|