bsmnt 0.2.5 → 0.2.6

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.
Files changed (74) hide show
  1. package/README.md +54 -46
  2. package/dist/helpers/add/index.d.ts.map +1 -1
  3. package/dist/helpers/add/index.js.map +1 -1
  4. package/dist/helpers/create/copy-template.d.ts +2 -2
  5. package/dist/helpers/create/copy-template.d.ts.map +1 -1
  6. package/dist/helpers/create/copy-template.js.map +1 -1
  7. package/dist/helpers/create/index.d.ts +2 -1
  8. package/dist/helpers/create/index.d.ts.map +1 -1
  9. package/dist/helpers/create/index.js +7 -1
  10. package/dist/helpers/create/index.js.map +1 -1
  11. package/dist/helpers/create/setup-agent.d.ts.map +1 -1
  12. package/dist/helpers/create/setup-agent.js +7 -2
  13. package/dist/helpers/create/setup-agent.js.map +1 -1
  14. package/dist/helpers/create/setup-sanity.d.ts +1 -1
  15. package/dist/helpers/create/setup-sanity.d.ts.map +1 -1
  16. package/dist/helpers/create/setup-sanity.js +38 -21
  17. package/dist/helpers/create/setup-sanity.js.map +1 -1
  18. package/dist/helpers/integrate/merge-orchestrator.d.ts.map +1 -1
  19. package/dist/helpers/integrate/merge-orchestrator.js +1 -4
  20. package/dist/helpers/integrate/merge-orchestrator.js.map +1 -1
  21. package/dist/helpers/integrate/sanity/config.d.ts.map +1 -1
  22. package/dist/helpers/integrate/sanity/config.js +1 -2
  23. package/dist/helpers/integrate/sanity/config.js.map +1 -1
  24. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.d.ts.map +1 -1
  25. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.js +30 -19
  26. package/dist/helpers/integrate/sanity/mergers/check-integration-merger.js.map +1 -1
  27. package/dist/helpers/integrate/sanity/mergers/layout-merger.d.ts.map +1 -1
  28. package/dist/helpers/integrate/sanity/mergers/layout-merger.js +22 -13
  29. package/dist/helpers/integrate/sanity/mergers/layout-merger.js.map +1 -1
  30. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.d.ts.map +1 -1
  31. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js +9 -7
  32. package/dist/helpers/integrate/sanity/mergers/sitemap-merger.js.map +1 -1
  33. package/dist/index.js +11 -10
  34. package/dist/index.js.map +1 -1
  35. package/package.json +5 -2
  36. package/src/helpers/integrate/sanity/files/app/api/draft-mode/disable/route.ts +7 -0
  37. package/src/helpers/integrate/sanity/files/app/api/draft-mode/enable/route.ts +21 -0
  38. package/src/helpers/integrate/sanity/files/app/api/revalidate/route.ts +37 -0
  39. package/src/helpers/integrate/sanity/files/app/layout.tsx +111 -0
  40. package/src/helpers/integrate/sanity/files/app/sitemap.ts +80 -0
  41. package/src/helpers/integrate/sanity/files/app/studio/[[...tool]]/page.tsx +8 -0
  42. package/src/helpers/integrate/sanity/files/app/studio/layout.tsx +7 -0
  43. package/src/helpers/integrate/sanity/files/components/ui/sanity-image/index.tsx +37 -0
  44. package/src/helpers/integrate/sanity/files/lib/integrations/README.md +58 -0
  45. package/src/helpers/integrate/sanity/files/lib/integrations/check-integration.ts +62 -0
  46. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/README.md +141 -0
  47. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/client.ts +30 -0
  48. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/components/disable-draft-mode.tsx +29 -0
  49. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/components/rich-text.tsx +73 -0
  50. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/env.ts +42 -0
  51. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/live/index.tsx +34 -0
  52. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/queries.ts +99 -0
  53. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sanity.cli.ts +20 -0
  54. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sanity.config.ts +94 -0
  55. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/sanity.types.ts +337 -0
  56. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schema.json +1850 -0
  57. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/article.ts +132 -0
  58. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/example.ts +203 -0
  59. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/index.ts +37 -0
  60. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/link.ts +127 -0
  61. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/metadata.ts +68 -0
  62. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/navigation.ts +39 -0
  63. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/page.ts +77 -0
  64. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/schemas/richText.ts +59 -0
  65. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/structure.ts +5 -0
  66. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/utils/image.ts +11 -0
  67. package/src/helpers/integrate/sanity/files/lib/integrations/sanity/utils/link.ts +61 -0
  68. package/src/helpers/integrate/sanity/files/lib/scripts/copy-sanity-mcp.ts +23 -0
  69. package/src/helpers/integrate/sanity/files/lib/scripts/generate-page.ts +310 -0
  70. package/src/helpers/integrate/sanity/files/lib/utils/metadata.ts +190 -0
  71. package/src/templates/next-default/svg.d.ts +5 -0
  72. package/src/templates/next-experiments/svg.d.ts +5 -0
  73. package/src/templates/next-webgl/components/ui/link/index.tsx +2 -3
  74. package/src/templates/next-webgl/svg.d.ts +5 -0
@@ -36,17 +36,20 @@ export async function mergeCheckIntegration(templatePath) {
36
36
  // 1. Add isSanityConfigured function after isAnalyticsConfigured
37
37
  const analyticsMatch = content.match(/(export function isAnalyticsConfigured\(\)[^}]+\})/s);
38
38
  if (analyticsMatch) {
39
- const insertPos = analyticsMatch.index + analyticsMatch[0].length;
40
- content =
41
- content.slice(0, insertPos) +
42
- "\n" +
43
- SANITY_FUNCTION +
44
- content.slice(insertPos);
39
+ const insertIndex = analyticsMatch.index;
40
+ if (insertIndex !== undefined) {
41
+ const insertPos = insertIndex + analyticsMatch[0].length;
42
+ content =
43
+ content.slice(0, insertPos) +
44
+ "\n" +
45
+ SANITY_FUNCTION +
46
+ content.slice(insertPos);
47
+ }
45
48
  }
46
49
  else {
47
50
  // If no isAnalyticsConfigured, add before getConfiguredIntegrations
48
51
  const getConfiguredMatch = content.match(/export function getConfiguredIntegrations/);
49
- if (getConfiguredMatch) {
52
+ if (getConfiguredMatch && getConfiguredMatch.index !== undefined) {
50
53
  content =
51
54
  content.slice(0, getConfiguredMatch.index) +
52
55
  SANITY_FUNCTION +
@@ -61,22 +64,30 @@ export async function mergeCheckIntegration(templatePath) {
61
64
  // 2. Update getConfiguredIntegrations to include Sanity check
62
65
  const configuredFnMatch = content.match(/(export function getConfiguredIntegrations\(\)[^{]*\{[\s\S]*?)(if \(isAnalyticsConfigured\(\)\))/m);
63
66
  if (configuredFnMatch) {
64
- const insertPos = content.indexOf(configuredFnMatch[2], configuredFnMatch.index);
65
- content =
66
- content.slice(0, insertPos) +
67
- SANITY_CONFIGURED_CHECK +
68
- "\n " +
69
- content.slice(insertPos);
67
+ const condition = configuredFnMatch[2];
68
+ const fromIndex = configuredFnMatch.index;
69
+ if (condition && fromIndex !== undefined) {
70
+ const insertPos = content.indexOf(condition, fromIndex);
71
+ content =
72
+ content.slice(0, insertPos) +
73
+ SANITY_CONFIGURED_CHECK +
74
+ "\n " +
75
+ content.slice(insertPos);
76
+ }
70
77
  }
71
78
  // 3. Update getUnconfiguredIntegrations to include Sanity check
72
79
  const unconfiguredFnMatch = content.match(/(export function getUnconfiguredIntegrations\(\)[^{]*\{[\s\S]*?)(if \(!isAnalyticsConfigured\(\)\))/m);
73
80
  if (unconfiguredFnMatch) {
74
- const insertPos = content.indexOf(unconfiguredFnMatch[2], unconfiguredFnMatch.index);
75
- content =
76
- content.slice(0, insertPos) +
77
- SANITY_UNCONFIGURED_CHECK +
78
- "\n " +
79
- content.slice(insertPos);
81
+ const condition = unconfiguredFnMatch[2];
82
+ const fromIndex = unconfiguredFnMatch.index;
83
+ if (condition && fromIndex !== undefined) {
84
+ const insertPos = content.indexOf(condition, fromIndex);
85
+ content =
86
+ content.slice(0, insertPos) +
87
+ SANITY_UNCONFIGURED_CHECK +
88
+ "\n " +
89
+ content.slice(insertPos);
90
+ }
80
91
  }
81
92
  await fs.writeFile(templatePath, content);
82
93
  return { success: true };
@@ -1 +1 @@
1
- {"version":3,"file":"check-integration-merger.js","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/check-integration-merger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B;;GAEG;AACH,MAAM,eAAe,GAAG;;;;;;;;;;;CAWvB,CAAC;AAEF;;GAEG;AACH,MAAM,uBAAuB,GAAG,yDAAyD,CAAC;AAE1F;;GAEG;AACH,MAAM,yBAAyB,GAAG,0DAA0D,CAAC;AAQ7F;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,YAAoB;IAEpB,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEvD,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACpE,CAAC;IAED,iEAAiE;IACjE,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CACnC,qDAAqD,CACrD,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,cAAc,CAAC,KAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnE,OAAO;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC3B,IAAI;gBACJ,eAAe;gBACf,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACP,oEAAoE;QACpE,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CACvC,2CAA2C,CAC3C,CAAC;QACF,IAAI,kBAAkB,EAAE,CAAC;YACxB,OAAO;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,KAAM,CAAC;oBAC3C,eAAe;oBACf,IAAI;oBACJ,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACP,0BAA0B;YAC1B,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,eAAe,EAAE,CAAC;QACtD,CAAC;IACF,CAAC;IAED,8DAA8D;IAC9D,MAAM,iBAAiB,GAAG,OAAO,CAAC,KAAK,CACtC,mGAAmG,CACnG,CAAC;IACF,IAAI,iBAAiB,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAChC,iBAAiB,CAAC,CAAC,CAAE,EACrB,iBAAiB,CAAC,KAAM,CACxB,CAAC;QACF,OAAO;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC3B,uBAAuB;gBACvB,MAAM;gBACN,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,gEAAgE;IAChE,MAAM,mBAAmB,GAAG,OAAO,CAAC,KAAK,CACxC,sGAAsG,CACtG,CAAC;IACF,IAAI,mBAAmB,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAChC,mBAAmB,CAAC,CAAC,CAAE,EACvB,mBAAmB,CAAC,KAAM,CAC1B,CAAC;QACF,OAAO;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC3B,yBAAyB;gBACzB,MAAM;gBACN,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"check-integration-merger.js","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/check-integration-merger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout-merger.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/layout-merger.ts"],"names":[],"mappings":"AA2DA,UAAU,kBAAkB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAChC,YAAY,EAAE,MAAM,EACpB,EAAE,SAAS,EAAE,UAAU,EAAE,GAAE,kBAAuB,GAChD,OAAO,CAAC,WAAW,CAAC,CA8ItB"}
1
+ {"version":3,"file":"layout-merger.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/layout-merger.ts"],"names":[],"mappings":"AA2DA,UAAU,kBAAkB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAChC,YAAY,EAAE,MAAM,EACpB,EAAE,SAAS,EAAE,UAAU,EAAE,GAAE,kBAAuB,GAChD,OAAO,CAAC,WAAW,CAAC,CAuJtB"}
@@ -74,27 +74,32 @@ export async function mergeLayout(templatePath, { targetDir, pathPrefix } = {})
74
74
  // 1. Add Sanity imports after existing imports
75
75
  const importMatches = [...content.matchAll(/^import .+$/gm)];
76
76
  if (importMatches.length > 0) {
77
- const lastImport = importMatches[importMatches.length - 1];
78
- const insertPos = lastImport.index + lastImport[0].length;
79
- content =
80
- content.slice(0, insertPos) +
81
- "\n" +
82
- SANITY_IMPORTS +
83
- content.slice(insertPos);
77
+ const lastImport = importMatches.at(-1);
78
+ if (lastImport && lastImport.index !== undefined) {
79
+ const insertPos = lastImport.index + lastImport[0].length;
80
+ content =
81
+ content.slice(0, insertPos) +
82
+ "\n" +
83
+ SANITY_IMPORTS +
84
+ content.slice(insertPos);
85
+ }
84
86
  }
85
87
  // 2. Ensure Suspense is imported from react
86
88
  if (!content.match(/import\s+.*Suspense.*from\s+["']react["']/)) {
87
89
  const reactImportMatch = content.match(/import\s+\{([^}]*)\}\s+from\s+["']react["']/);
88
90
  if (reactImportMatch) {
89
- if (!reactImportMatch[1].includes("Suspense")) {
90
- content = content.replace(reactImportMatch[0], reactImportMatch[0].replace(reactImportMatch[1], `${reactImportMatch[1].trim()}, Suspense`));
91
+ const reactBindings = reactImportMatch[1];
92
+ if (reactBindings && !reactBindings.includes("Suspense")) {
93
+ content = content.replace(reactImportMatch[0], reactImportMatch[0].replace(reactBindings, `${reactBindings.trim()}, Suspense`));
91
94
  }
92
95
  }
93
96
  else {
94
97
  const lastImportMatch = content.match(/^(import\s+.+\n)/gm);
95
98
  if (lastImportMatch) {
96
- const lastImport = lastImportMatch[lastImportMatch.length - 1];
97
- content = content.replace(lastImport, `${lastImport}import { Suspense } from "react"\n`);
99
+ const lastImport = lastImportMatch.at(-1);
100
+ if (lastImport) {
101
+ content = content.replace(lastImport, `${lastImport}import { Suspense } from "react"\n`);
102
+ }
98
103
  }
99
104
  }
100
105
  }
@@ -112,11 +117,15 @@ export async function mergeLayout(templatePath, { targetDir, pathPrefix } = {})
112
117
  if (lines.length === 0)
113
118
  return "";
114
119
  const minIndent = Math.min(...lines
115
- .map((line) => (line.match(/^(\s*)/) ?? ["", ""])[1].length)
120
+ .map((line) => {
121
+ const indent = (line.match(/^(\s*)/) ?? ["", ""])[1] ?? "";
122
+ return indent.length;
123
+ })
116
124
  .filter((n) => n > 0), Number.POSITIVE_INFINITY);
117
125
  return lines
118
126
  .map((line) => {
119
- const currentIndent = (line.match(/^(\s*)/) ?? ["", ""])[1].length;
127
+ const indent = (line.match(/^(\s*)/) ?? ["", ""])[1] ?? "";
128
+ const currentIndent = indent.length;
120
129
  const relativeIndent = Math.max(0, currentIndent -
121
130
  (minIndent === Number.POSITIVE_INFINITY ? 0 : minIndent));
122
131
  return targetIndent + " ".repeat(relativeIndent) + line.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"layout-merger.js","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/layout-merger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-merger.js","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/layout-merger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B;;;GAGG;AACH,MAAM,cAAc,GAAG;yEACkD,CAAC;AAE1E;;;GAGG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;CAS9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BhC,CAAC;AAaF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,YAAoB,EACpB,EAAE,SAAS,EAAE,UAAU,KAAyB,EAAE;IAElD,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEvD,yCAAyC;IACzC,IACC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EACrC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACpE,CAAC;IAED,+CAA+C;IAC/C,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,OAAO;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;oBAC3B,IAAI;oBACJ,cAAc;oBACd,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,4CAA4C;IAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,EAAE,CAAC;QACjE,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CACrC,6CAA6C,CAC7C,CAAC;QACF,IAAI,gBAAgB,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1D,OAAO,GAAG,OAAO,CAAC,OAAO,CACxB,gBAAgB,CAAC,CAAC,CAAC,EACnB,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAC1B,aAAa,EACb,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,CACnC,CACD,CAAC;YACH,CAAC;QACF,CAAC;aAAM,CAAC;YACP,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC5D,IAAI,eAAe,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,UAAU,EAAE,CAAC;oBAChB,OAAO,GAAG,OAAO,CAAC,OAAO,CACxB,UAAU,EACV,GAAG,UAAU,oCAAoC,CACjD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,6EAA6E;IAC7E,OAAO,GAAG,OAAO,CAAC,OAAO,CACxB,iEAAiE,EACjE,CACC,MAAc,EACd,UAAkB,EAClB,QAAgB,EAChB,cAAsB,EACtB,aAAqB,EACrB,aAAqB,EACrB,SAAiB,EAChB,EAAE;QACH,MAAM,UAAU,GAAG,UAAU,IAAI,UAAU,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC;QACjC,MAAM,WAAW,GAAG,GAAG,MAAM,IAAI,CAAC;QAElC,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,YAAoB,EAAU,EAAE;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACzB,GAAG,KAAK;iBACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,OAAO,MAAM,CAAC,MAAM,CAAC;YACtB,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EACtB,MAAM,CAAC,iBAAiB,CACxB,CAAC;YACF,OAAO,KAAK;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;gBACpC,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC9B,CAAC,EACD,aAAa;oBACZ,CAAC,SAAS,KAAK,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACzD,CAAC;gBACF,OAAO,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAChE,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,MAAM,GAAG,GAAG,UAAU,GAAG,QAAQ,IAAI,CAAC;QAE1C,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,MAAM,8BAA8B,CAAC;YAClD,MAAM,IAAI,GAAG,WAAW,uBAAuB,CAAC;YAChD,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,WAAW,wBAAwB,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC;QAElC,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,MAAM,8BAA8B,CAAC;YACpD,MAAM,IAAI,GAAG,WAAW,uBAAuB,CAAC;YAChD,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC;YACrD,MAAM,IAAI,KAAK,WAAW,wBAAwB,CAAC;YACnD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,KAAK,MAAM,4BAA4B,UAAU,GAAG,SAAS,EAAE,CAAC;QAC1E,OAAO,MAAM,CAAC;IACf,CAAC,CACD,CAAC;IAEF,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE1C,8BAA8B;IAC9B,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAC1B,SAAS,EACT,UAAU,IAAI,EAAE,EAChB,YAAY,EACZ,QAAQ,CACR,CAAC;QACF,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sitemap-merger.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/sitemap-merger.ts"],"names":[],"mappings":"AA4EA,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAmC7E"}
1
+ {"version":3,"file":"sitemap-merger.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/sitemap-merger.ts"],"names":[],"mappings":"AA4EA,UAAU,WAAW;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAqC7E"}
@@ -85,13 +85,15 @@ export async function mergeSitemap(templatePath) {
85
85
  // 1. Add Sanity import after existing imports
86
86
  const importMatches = [...content.matchAll(/^import .+$/gm)];
87
87
  if (importMatches.length > 0) {
88
- const lastImport = importMatches[importMatches.length - 1];
89
- const insertPos = lastImport.index + lastImport[0].length;
90
- content =
91
- content.slice(0, insertPos) +
92
- "\n" +
93
- SANITY_IMPORT +
94
- content.slice(insertPos);
88
+ const lastImport = importMatches.at(-1);
89
+ if (lastImport && lastImport.index !== undefined) {
90
+ const insertPos = lastImport.index + lastImport[0].length;
91
+ content =
92
+ content.slice(0, insertPos) +
93
+ "\n" +
94
+ SANITY_IMPORT +
95
+ content.slice(insertPos);
96
+ }
95
97
  }
96
98
  // 2. Add Sanity fetch logic before the final return statement
97
99
  // Find the last "return baseRoutes" or "return [...baseRoutes" pattern
@@ -1 +1 @@
1
- {"version":3,"file":"sitemap-merger.js","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/sitemap-merger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B;;GAEG;AACH,MAAM,aAAa,GAAG,2EAA2E,CAAC;AAElG;;;GAGG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D1B,CAAC;AAQF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAoB;IACtD,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEvD,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACpE,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,OAAO;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC3B,IAAI;gBACJ,aAAa;gBACb,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,8DAA8D;IAC9D,uEAAuE;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAChC,2DAA2D,CAC3D,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;gBAC7B,kBAAkB;gBAClB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"sitemap-merger.js","sourceRoot":"","sources":["../../../../../src/helpers/integrate/sanity/mergers/sitemap-merger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B;;GAEG;AACH,MAAM,aAAa,GAAG,2EAA2E,CAAC;AAElG;;;GAGG;AACH,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D1B,CAAC;AAQF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,YAAoB;IACtD,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEvD,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;IACpE,CAAC;IAED,8CAA8C;IAC9C,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,OAAO;gBACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;oBAC3B,IAAI;oBACJ,aAAa;oBACb,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,8DAA8D;IAC9D,uEAAuE;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAChC,2DAA2D,CAC3D,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO;YACN,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;gBAC7B,kBAAkB;gBAClB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAC"}
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ function showBanner() {
28
28
  // ---------------------------------------------------------------------------
29
29
  const TEMPLATE_MAP = {
30
30
  default: "next-default",
31
- webgl: "next-webgl",
31
+ webgpu: "next-webgl",
32
32
  experiment: "next-experiments",
33
33
  };
34
34
  const TEMPLATE_LABELS = {
@@ -42,11 +42,11 @@ const TEMPLATE_LABELS = {
42
42
  */
43
43
  function resolveTemplateFlag(opts) {
44
44
  if (opts.default)
45
- return TEMPLATE_MAP["default"];
46
- if (opts.webgl)
47
- return TEMPLATE_MAP["webgl"];
45
+ return TEMPLATE_MAP.default;
46
+ if (opts.webgpu || opts.webgl)
47
+ return TEMPLATE_MAP.webgpu;
48
48
  if (opts.experiment)
49
- return TEMPLATE_MAP["experiment"];
49
+ return TEMPLATE_MAP.experiment;
50
50
  return undefined;
51
51
  }
52
52
  /** Resolve CMS from flags. */
@@ -90,9 +90,9 @@ async function runCreate(projectNameArg, opts) {
90
90
  message: "What is the name of your project?",
91
91
  initial: "my-basement-app",
92
92
  validate: (v) => {
93
- if (/^[A-Za-z\-_\d]+$/.test(v))
93
+ if (/^[a-z0-9][a-z0-9-_]*$/.test(v))
94
94
  return true;
95
- return "Project name may only include letters, numbers, underscores and hashes.";
95
+ return "Project name may only include lowercase letters, numbers, hyphens, and underscores.";
96
96
  },
97
97
  }));
98
98
  if (!value) {
@@ -245,10 +245,10 @@ async function runCreate(projectNameArg, opts) {
245
245
  // ---------------------------------------------------------------------------
246
246
  // Commander program
247
247
  // ---------------------------------------------------------------------------
248
- const pkg = { version: "0.3.0" };
248
+ const pkg = { version: "0.2.5" };
249
249
  const program = new Command();
250
250
  program
251
- .name("basement")
251
+ .name("bsmnt")
252
252
  .description("Scaffold basement Next.js projects")
253
253
  .version(pkg.version);
254
254
  // CREATE command
@@ -258,7 +258,8 @@ program
258
258
  .description("Create a new basement project")
259
259
  .argument("[project-name]", "Name of the project")
260
260
  .option("-d, --default", "Use Default template")
261
- .option("--webgl", "Use WebGL/WebGPU template")
261
+ .option("--webgpu", "Use WebGPU template")
262
+ .option("--webgl", "Deprecated alias for --webgpu")
262
263
  .option("--experiment", "Use Experiment template")
263
264
  .option("--sanity", "Use Sanity CMS")
264
265
  .option("--no-cms", "Skip CMS")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bsmnt",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "packageManager": "bun@1.2.20",
5
5
  "description": "CLI to scaffold basement projects and add integrations",
6
6
  "type": "module",
@@ -20,6 +20,7 @@
20
20
  "!src/templates/*/.next",
21
21
  "!src/templates/*/bun.lock",
22
22
  "src/template-hooks",
23
+ "src/helpers/integrate/sanity/files",
23
24
  "plugins"
24
25
  ],
25
26
  "scripts": {
@@ -42,7 +43,9 @@
42
43
  "lint:default": "turbo run lint --filter=bsmnt-next-starter",
43
44
  "lint:webgpu": "turbo run lint --filter=bsmnt-webgpu-starter",
44
45
  "lint:experiments": "turbo run lint --filter=bsmnt-experiments-starter",
45
- "lint:all": "turbo run lint --filter=bsmnt-next-starter --filter=bsmnt-webgpu-starter --filter=bsmnt-experiments-starter"
46
+ "lint:all": "turbo run lint --filter=bsmnt-next-starter --filter=bsmnt-webgpu-starter --filter=bsmnt-experiments-starter",
47
+ "version-canary": "changeset version --snapshot canary",
48
+ "release-canary": "changeset publish --tag canary --no-git-tag"
46
49
  },
47
50
  "keywords": [
48
51
  "webgpu",
@@ -0,0 +1,7 @@
1
+ import { draftMode } from "next/headers";
2
+ import { type NextRequest, NextResponse } from "next/server";
3
+
4
+ export async function GET(request: NextRequest) {
5
+ (await draftMode()).disable();
6
+ return NextResponse.redirect(new URL("/", request.url));
7
+ }
@@ -0,0 +1,21 @@
1
+ import { NextResponse } from "next/server";
2
+ import { defineEnableDraftMode } from "next-sanity/draft-mode";
3
+ import { isSanityConfigured } from "@/lib/integrations/check-integration";
4
+ import { client } from "@/lib/integrations/sanity/client";
5
+ import { sanityToken } from "@/lib/integrations/sanity/env";
6
+
7
+ // Only enable draft mode if Sanity is configured
8
+ const draftModeHandler =
9
+ isSanityConfigured() && client
10
+ ? defineEnableDraftMode({
11
+ client: client.withConfig({ token: sanityToken }),
12
+ })
13
+ : {
14
+ GET: () =>
15
+ NextResponse.json(
16
+ { error: "Sanity is not configured" },
17
+ { status: 503 },
18
+ ),
19
+ };
20
+
21
+ export const { GET } = draftModeHandler;
@@ -0,0 +1,37 @@
1
+ import { revalidateTag } from "next/cache";
2
+ import { type NextRequest, NextResponse } from "next/server";
3
+ import { parseBody } from "next-sanity/webhook";
4
+
5
+ export async function POST(request: NextRequest) {
6
+ try {
7
+ const { body, isValidSignature } = await parseBody<{
8
+ _type: string;
9
+ slug?: { current: string };
10
+ }>(request, process.env.SANITY_REVALIDATE_SECRET);
11
+
12
+ if (!isValidSignature) {
13
+ return new Response("Invalid signature", { status: 401 });
14
+ }
15
+
16
+ if (!body?._type) {
17
+ return new Response("Bad Request", { status: 400 });
18
+ }
19
+
20
+ // Revalidate the specific document type
21
+ revalidateTag(body._type, "max");
22
+
23
+ // If there's a slug, revalidate the specific page
24
+ if (body.slug?.current) {
25
+ revalidateTag(`${body._type}:${body.slug.current}`, "max");
26
+ }
27
+
28
+ return NextResponse.json({
29
+ status: 200,
30
+ revalidated: true,
31
+ now: Date.now(),
32
+ });
33
+ } catch (error) {
34
+ console.error("Revalidation error:", error);
35
+ return new Response("Internal Server Error", { status: 500 });
36
+ }
37
+ }
@@ -0,0 +1,111 @@
1
+ import type { Metadata, Viewport } from "next";
2
+ import { Geist } from "next/font/google";
3
+ import { type PropsWithChildren, Suspense } from "react";
4
+ import { SanityStudioGuard } from "@/components/sanity/studio-guard";
5
+ import { SanityVisualEditing } from "@/components/sanity/visual-editing";
6
+ import { Link } from "@/components/ui/link";
7
+ import { themes } from "@/lib/styles/colors";
8
+ import { fontsVariable } from "@/lib/styles/fonts";
9
+ import AppData from "@/package.json";
10
+ import "@/lib/styles/css/index.css";
11
+ import { cn } from "@/lib/styles/cn";
12
+
13
+ const APP_NAME = AppData.name;
14
+ const APP_DEFAULT_TITLE = "Basement Starter";
15
+ const APP_TITLE_TEMPLATE = "%s - Basement Starter";
16
+ const APP_DESCRIPTION = AppData.description;
17
+ const APP_BASE_URL =
18
+ process.env.NEXT_PUBLIC_BASE_URL ?? "http://localhost:3000";
19
+
20
+ const geist = Geist({
21
+ subsets: ["latin"],
22
+ });
23
+
24
+ export const metadata: Metadata = {
25
+ alternates: {
26
+ canonical: "/",
27
+ languages: {
28
+ "en-US": "/en-US",
29
+ },
30
+ },
31
+ appleWebApp: {
32
+ capable: true,
33
+ statusBarStyle: "default",
34
+ title: APP_DEFAULT_TITLE,
35
+ },
36
+ applicationName: APP_NAME,
37
+ authors: [{ name: "basement.studio", url: "https://basement.studio" }],
38
+ description: APP_DESCRIPTION,
39
+ formatDetection: { telephone: false },
40
+ metadataBase: new URL(APP_BASE_URL),
41
+ openGraph: {
42
+ description: APP_DESCRIPTION,
43
+ images: [
44
+ {
45
+ alt: APP_DEFAULT_TITLE,
46
+ height: 630,
47
+ url: "/opengraph-image.jpg",
48
+ width: 1200,
49
+ },
50
+ ],
51
+ locale: "en_US",
52
+ siteName: APP_NAME,
53
+ title: {
54
+ default: APP_DEFAULT_TITLE,
55
+ template: APP_TITLE_TEMPLATE,
56
+ },
57
+ type: "website",
58
+ url: APP_BASE_URL,
59
+ },
60
+ other: {
61
+ "fb:app_id": process.env.NEXT_PUBLIC_FACEBOOK_APP_ID || "",
62
+ },
63
+ title: {
64
+ default: APP_DEFAULT_TITLE,
65
+ template: APP_TITLE_TEMPLATE,
66
+ },
67
+ twitter: {
68
+ card: "summary_large_image",
69
+ description: APP_DESCRIPTION,
70
+ title: {
71
+ default: APP_DEFAULT_TITLE,
72
+ template: APP_TITLE_TEMPLATE,
73
+ },
74
+ },
75
+ };
76
+
77
+ export const viewport: Viewport = {
78
+ colorScheme: "normal",
79
+ themeColor: themes.dark.primary,
80
+ };
81
+
82
+ export default function Layout({ children }: PropsWithChildren) {
83
+ return (
84
+ <html
85
+ lang="en"
86
+ dir="ltr"
87
+ className={cn(fontsVariable, geist.className)}
88
+ suppressHydrationWarning
89
+ >
90
+ <body>
91
+ <Suspense fallback={null}>
92
+ <SanityStudioGuard>
93
+ {/* Skip link for keyboard navigation accessibility */}
94
+ <Suspense fallback={null}>
95
+ <Link
96
+ href="#main-content"
97
+ className="sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-9999 focus:rounded focus:bg-black focus:px-4 focus:py-2 focus:text-white focus:outline-none focus:ring-2 focus:ring-white"
98
+ >
99
+ Skip to main content
100
+ </Link>
101
+ </Suspense>
102
+ </SanityStudioGuard>
103
+ </Suspense>
104
+
105
+ {children}
106
+
107
+ <SanityVisualEditing />
108
+ </body>
109
+ </html>
110
+ );
111
+ }
@@ -0,0 +1,80 @@
1
+ import type { MetadataRoute } from "next";
2
+ import { isSanityConfigured } from "@/lib/integrations/check-integration";
3
+
4
+ const APP_BASE_URL =
5
+ process.env.NEXT_PUBLIC_BASE_URL ?? "http://localhost:3000";
6
+
7
+ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
8
+ const baseRoutes: MetadataRoute.Sitemap = [
9
+ {
10
+ url: APP_BASE_URL,
11
+ lastModified: new Date(),
12
+ changeFrequency: "daily",
13
+ priority: 1,
14
+ },
15
+ ];
16
+
17
+ // Only fetch Sanity pages if Sanity is configured
18
+ if (isSanityConfigured()) {
19
+ try {
20
+ const sanityModule = await import("@/lib/integrations/sanity/client");
21
+ const sanityGroq = await import("next-sanity");
22
+
23
+ const client = sanityModule?.client;
24
+ const groq = sanityGroq?.groq;
25
+
26
+ // Skip if client is null (shouldn't happen since we check isSanityConfigured)
27
+ if (!(client && groq)) return baseRoutes;
28
+
29
+ type SanityDocument = {
30
+ slug: { current: string };
31
+ _updatedAt: string;
32
+ metadata?: { noIndex?: boolean };
33
+ };
34
+
35
+ // Fetch all published pages and articles
36
+ const pages = (await client.fetch(
37
+ groq`*[_type == "page" && defined(slug.current)] {
38
+ slug,
39
+ _updatedAt,
40
+ metadata
41
+ }`,
42
+ )) as SanityDocument[];
43
+
44
+ const articles = (await client.fetch(
45
+ groq`*[_type == "article" && defined(slug.current)] {
46
+ slug,
47
+ _updatedAt,
48
+ metadata
49
+ }`,
50
+ )) as SanityDocument[];
51
+
52
+ // Add pages to sitemap (exclude noIndex pages)
53
+ const pageEntries: MetadataRoute.Sitemap = pages
54
+ .filter((page: SanityDocument) => !page.metadata?.noIndex)
55
+ .map((page: SanityDocument) => ({
56
+ url: `${APP_BASE_URL}/${page.slug.current}`,
57
+ lastModified: new Date(page._updatedAt),
58
+ changeFrequency: "weekly" as const,
59
+ priority: 0.8,
60
+ }));
61
+
62
+ // Add articles to sitemap (exclude noIndex articles)
63
+ const articleEntries: MetadataRoute.Sitemap = articles
64
+ .filter((article: SanityDocument) => !article.metadata?.noIndex)
65
+ .map((article: SanityDocument) => ({
66
+ url: `${APP_BASE_URL}/blog/${article.slug.current}`,
67
+ lastModified: new Date(article._updatedAt),
68
+ changeFrequency: "weekly" as const,
69
+ priority: 0.7,
70
+ }));
71
+
72
+ return [...baseRoutes, ...pageEntries, ...articleEntries];
73
+ } catch (error) {
74
+ console.error("Error generating sitemap from Sanity:", error);
75
+ return baseRoutes;
76
+ }
77
+ }
78
+
79
+ return baseRoutes;
80
+ }
@@ -0,0 +1,8 @@
1
+ "use client";
2
+
3
+ import { NextStudio } from "next-sanity/studio";
4
+ import config from "@/lib/integrations/sanity/sanity.config";
5
+
6
+ export default function StudioPage() {
7
+ return <NextStudio config={config} />;
8
+ }
@@ -0,0 +1,7 @@
1
+ export default function StudioLayout({
2
+ children,
3
+ }: {
4
+ children: React.ReactNode;
5
+ }) {
6
+ return children;
7
+ }