@@ -16,51 +16,77 @@ export const defaultOptions: ModuleOptions = {
1616 disableAuthorization : isSandboxed ,
1717}
1818
19- export const defaultTabOptions : NuxtDevToolsOptions = {
20- behavior : {
21- telemetry : null ,
22- openInEditor : undefined ,
23- } ,
24- ui : {
25- componentsView : 'list' ,
26- componentsGraphShowNodeModules : false ,
27- componentsGraphShowGlobalComponents : true ,
28- componentsGraphShowPages : false ,
29- componentsGraphShowLayouts : false ,
30- componentsGraphShowWorkspace : true ,
31- interactionCloseOnOutsideClick : false ,
32- showExperimentalFeatures : false ,
33- showHelpButtons : true ,
34- scale : 1 ,
35- hiddenTabs : [ ] ,
36- pinnedTabs : [ ] ,
37- hiddenTabCategories : [ ] ,
38- sidebarExpanded : false ,
39- sidebarScrollable : false ,
40- } ,
41- serverRoutes : {
42- selectedRoute : null ,
43- view : 'tree' ,
44- inputDefaults : {
45- query : [ ] ,
46- body : [ ] ,
47- headers : [ ] ,
19+ // Nitro's experimental `tasks` feature toggles the default `serverTasks.enabled`
20+ // value; this is the only genuinely dynamic default, so it's tracked as an
21+ // explicit flag rather than by mutating a shared options object (see
22+ // `setServerTasksEnabledByDefault`).
23+ let serverTasksEnabledByDefault = false
24+
25+ /**
26+ * Called when the host Nuxt app has opted into Nitro's experimental `tasks`
27+ * feature, so `createDefaultTabOptions()` defaults `serverTasks.enabled` to
28+ * `true` for apps that haven't explicitly configured it.
29+ */
30+ export function setServerTasksEnabledByDefault ( enabled : boolean ) {
31+ serverTasksEnabledByDefault = enabled
32+ }
33+
34+ /**
35+ * Builds a brand-new default tab options object graph.
36+ *
37+ * This is a factory rather than a shared constant on purpose: callers used to
38+ * share (and sometimes mutate) a single module-level object, which let one
39+ * project's settings permanently overwrite the defaults for every other Nuxt
40+ * instance in the same process. Call this every time you need a default —
41+ * never cache or mutate its result.
42+ */
43+ export function createDefaultTabOptions ( ) : NuxtDevToolsOptions {
44+ return {
45+ behavior : {
46+ telemetry : null ,
47+ openInEditor : undefined ,
4848 } ,
49- sendFrom : 'app' ,
50- } ,
51- serverTasks : {
52- enabled : false ,
53- selectedTask : null ,
54- view : 'list' ,
55- inputDefaults : {
56- query : [ ] ,
57- body : [ ] ,
58- headers : [ { active : true , key : 'Content-Type' , value : 'application/json' , type : 'string' } ] ,
49+ ui : {
50+ componentsView : 'list' ,
51+ componentsGraphShowNodeModules : false ,
52+ componentsGraphShowGlobalComponents : true ,
53+ componentsGraphShowPages : false ,
54+ componentsGraphShowLayouts : false ,
55+ componentsGraphShowWorkspace : true ,
56+ interactionCloseOnOutsideClick : false ,
57+ showExperimentalFeatures : false ,
58+ showHelpButtons : true ,
59+ scale : 1 ,
60+ hiddenTabs : [ ] ,
61+ pinnedTabs : [ ] ,
62+ hiddenTabCategories : [ ] ,
63+ sidebarExpanded : false ,
64+ sidebarScrollable : false ,
5965 } ,
60- } ,
61- assets : {
62- view : 'grid' ,
63- } ,
66+ serverRoutes : {
67+ selectedRoute : null ,
68+ view : 'tree' ,
69+ inputDefaults : {
70+ query : [ ] ,
71+ body : [ ] ,
72+ headers : [ ] ,
73+ } ,
74+ sendFrom : 'app' ,
75+ } ,
76+ serverTasks : {
77+ enabled : serverTasksEnabledByDefault ,
78+ selectedTask : null ,
79+ view : 'list' ,
80+ inputDefaults : {
81+ query : [ ] ,
82+ body : [ ] ,
83+ headers : [ { active : true , key : 'Content-Type' , value : 'application/json' , type : 'string' } ] ,
84+ } ,
85+ } ,
86+ assets : {
87+ view : 'grid' ,
88+ } ,
89+ }
6490}
6591
6692export const defaultAllowedExtensions = [
0 commit comments