@publish.os/nextjs 0.0.1-alpha.81 → 0.0.1-alpha.90

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 (200) hide show
  1. package/compiler-assets/nextjs/defaults/app/globals.css +1 -0
  2. package/compiler-assets/nextjs/defaults/group/index.tsx +50 -0
  3. package/compiler-assets/nextjs/defaults/group/layout.tsx +7 -3
  4. package/compiler-assets/nextjs/defaults/group/page.tsx +35 -43
  5. package/compiler-assets/nextjs/defaults/project/next.config.mjs +22 -11
  6. package/compiler-assets/nextjs/defaults/project/tsconfig.json.template +1 -4
  7. package/compiler-assets/nextjs/defaults/root/css/animation.css +131 -0
  8. package/compiler-assets/nextjs/defaults/root/css/components/dialog.css +4 -1
  9. package/compiler-assets/nextjs/defaults/root/css/components/menu.css +1 -1
  10. package/compiler-assets/nextjs/defaults/root/css/components/navigation-menu.css +1 -1
  11. package/compiler-assets/nextjs/defaults/root/css/components/popover.css +1 -1
  12. package/compiler-assets/nextjs/defaults/root/css/components/select.css +1 -1
  13. package/compiler-assets/nextjs/defaults/root/css/components/tooltip.css +1 -1
  14. package/compiler-assets/nextjs/defaults/root/css/shadow.css +6 -25
  15. package/compiler-assets/nextjs/defaults/root/css/typography.css +51 -68
  16. package/compiler-assets/nextjs/defaults/root/globals.css +25 -0
  17. package/compiler-assets/nextjs/defaults/root/{page.tsx → index.tsx} +6 -2
  18. package/compiler-assets/nextjs/defaults/root/layout.tsx +7 -1
  19. package/compiler-assets/nextjs/defaults/root/theme.css +22 -22
  20. package/compiler-assets/nextjs/shims/generated-group-page.tsx +19 -2
  21. package/compiler-assets/nextjs/shims/generated-leaf-page.tsx +16 -2
  22. package/compiler-assets/nextjs/shims/global-layout.tsx +11 -43
  23. package/compiler-assets/nextjs/shims/proxy.ts +21 -9
  24. package/compiler-assets/nextjs/shims/publish-os-theme-provider.tsx +76 -15
  25. package/compiler-assets/nextjs/shims/root-page.tsx +7 -1
  26. package/compiler-assets/nextjs/shims/site-fenced-code-block.tsx +34 -0
  27. package/compiler-assets/nextjs/shims/site-heading-level.tsx +14 -0
  28. package/compiler-assets/nextjs/shims/site-mdx-components.tsx +100 -0
  29. package/compiler-assets/nextjs/shims/site-mdx.tsx +12 -0
  30. package/compiler-assets/nextjs/shims/theme-defaults.css +41 -25
  31. package/dist/build-operation-2JAYBSKF.js +83 -0
  32. package/dist/button-CtzUJB8u.d.ts +11 -0
  33. package/dist/{button-CFdx-ohV.d.ts → button-c3WGnxIj.d.ts} +3 -3
  34. package/dist/chunk-535TM4A5.js +1455 -0
  35. package/dist/chunk-726GV2NF.js +2344 -0
  36. package/dist/chunk-7OGTPSKI.js +156 -0
  37. package/dist/chunk-AI2UULNX.js +9 -0
  38. package/dist/chunk-B2V22WRT.js +297 -0
  39. package/dist/chunk-DLDFHU7Y.js +191 -0
  40. package/dist/chunk-DWA3ZRGW.js +142 -0
  41. package/dist/chunk-GGKFQ3MA.js +621 -0
  42. package/dist/chunk-H6XILMZX.js +6154 -0
  43. package/dist/chunk-NECL5IBJ.js +318 -0
  44. package/dist/chunk-SVYGXXYR.js +36 -0
  45. package/dist/chunk-UF6ATARM.js +1100 -0
  46. package/dist/chunk-VO2I7MTM.js +56 -0
  47. package/dist/chunk-WDY4IK6Z.js +128 -0
  48. package/dist/chunk-WKTEO6RS.js +586 -0
  49. package/dist/chunk-YLTOLYWM.js +92 -0
  50. package/dist/compiler.d.ts +41 -7
  51. package/dist/compiler.js +48 -13143
  52. package/dist/compose-NN23UJGC.js +13 -0
  53. package/dist/config/createNextConfig.js +13 -0
  54. package/dist/dev-operation-TZDVJCN7.js +1055 -0
  55. package/dist/framework-selection-X4U6Y6QC.js +10 -0
  56. package/dist/ide-support-ZNW7ODFY.js +15 -0
  57. package/dist/index.d.ts +15 -3
  58. package/dist/kernel/components/blocks/AgentActions.js +71 -61
  59. package/dist/kernel/components/blocks/design-system-preview.d.ts +1 -1
  60. package/dist/kernel/components/blocks/design-system-preview.js +32 -13
  61. package/dist/kernel/components/blocks/link-playground.js +2 -2
  62. package/dist/kernel/components/blocks/logo-block.js +2 -2
  63. package/dist/kernel/components/blocks/nav-breadcrumb.d.ts +10 -2
  64. package/dist/kernel/components/blocks/nav-breadcrumb.js +20 -5
  65. package/dist/kernel/components/blocks/navbar.d.ts +2 -2
  66. package/dist/kernel/components/blocks/navbar.js +401 -60
  67. package/dist/kernel/components/blocks/navigation-progress-playground.js +4 -4
  68. package/dist/kernel/components/blocks/navigation-progress.js +4 -1
  69. package/dist/kernel/components/blocks/next-prev.d.ts +1 -1
  70. package/dist/kernel/components/blocks/next-prev.js +11 -23
  71. package/dist/kernel/components/blocks/page-list.d.ts +1 -1
  72. package/dist/kernel/components/blocks/page-list.js +5 -4
  73. package/dist/kernel/components/blocks/search.d.ts +83 -58
  74. package/dist/kernel/components/blocks/search.js +553 -426
  75. package/dist/kernel/components/blocks/sidebar-node.d.ts +2 -2
  76. package/dist/kernel/components/blocks/sidebar-node.js +11 -9
  77. package/dist/kernel/components/blocks/sidebar.d.ts +3 -3
  78. package/dist/kernel/components/blocks/sidebar.js +18 -11
  79. package/dist/kernel/components/blocks/theme-toggle.d.ts +2 -2
  80. package/dist/kernel/components/blocks/theme-toggle.js +48 -2
  81. package/dist/kernel/components/blocks/toc.js +3 -3
  82. package/dist/kernel/components/mdx/components/blockquote.js +1 -1
  83. package/dist/kernel/components/mdx/components/callout.d.ts +5 -7
  84. package/dist/kernel/components/mdx/components/callout.js +66 -35
  85. package/dist/kernel/components/mdx/components/code-block.d.ts +5 -2
  86. package/dist/kernel/components/mdx/components/code-block.js +106 -5
  87. package/dist/kernel/components/mdx/components/copy-code-button.d.ts +8 -0
  88. package/dist/kernel/components/mdx/components/copy-code-button.js +60 -0
  89. package/dist/kernel/components/mdx/components/figure-caption.js +1 -1
  90. package/dist/kernel/components/mdx/components/figure.js +1 -1
  91. package/dist/kernel/components/mdx/components/heading-copy-link.js +3 -3
  92. package/dist/kernel/components/mdx/components/image-zoom.js +1 -1
  93. package/dist/kernel/components/mdx/components/image.js +77 -56
  94. package/dist/kernel/components/mdx/components/inline-code.js +1 -1
  95. package/dist/kernel/components/mdx/components/kbd.d.ts +2 -2
  96. package/dist/kernel/components/mdx/components/kbd.js +3 -2
  97. package/dist/kernel/components/mdx/components/link.d.ts +35 -4
  98. package/dist/kernel/components/mdx/components/link.js +1 -1
  99. package/dist/kernel/components/mdx/components/paragraph.js +1 -4
  100. package/dist/kernel/components/mdx/components/task-list.js +1 -1
  101. package/dist/kernel/components/mdx/components/video-player.js +2 -2
  102. package/dist/kernel/components/mdx/components/video.js +1 -1
  103. package/dist/kernel/components/mdx/error-boundary.d.ts +1 -1
  104. package/dist/kernel/components/mdx/mdx.d.ts +12 -8
  105. package/dist/kernel/components/mdx/mdx.js +115 -39
  106. package/dist/kernel/components/mdx/rehype-heading-ids.js +1 -1
  107. package/dist/kernel/components/mdx/types.d.ts +1 -1
  108. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +6 -23
  109. package/dist/kernel/components/ui/breadcrumb.d.ts +11 -3
  110. package/dist/kernel/components/ui/breadcrumb.js +6 -4
  111. package/dist/kernel/components/ui/button-group.d.ts +1 -1
  112. package/dist/kernel/components/ui/button-group.js +5 -4
  113. package/dist/kernel/components/ui/button.d.ts +2 -2
  114. package/dist/kernel/components/ui/button.js +6 -6
  115. package/dist/kernel/components/ui/card.d.ts +2 -2
  116. package/dist/kernel/components/ui/drawer.d.ts +3 -1
  117. package/dist/kernel/components/ui/drawer.js +5 -1
  118. package/dist/kernel/components/ui/input.d.ts +4 -4
  119. package/dist/kernel/components/ui/kbd.d.ts +1 -1
  120. package/dist/kernel/components/ui/kbd.js +9 -16
  121. package/dist/kernel/components/ui/link.d.ts +5 -3
  122. package/dist/kernel/components/ui/link.js +10 -9
  123. package/dist/kernel/components/ui/menu.js +5 -5
  124. package/dist/kernel/components/ui/mod-key.d.ts +10 -0
  125. package/dist/kernel/components/ui/mod-key.js +36 -0
  126. package/dist/kernel/components/ui/navigation-menu.js +2 -2
  127. package/dist/kernel/components/ui/progress.js +1 -1
  128. package/dist/kernel/components/ui/scroll-area.d.ts +8 -8
  129. package/dist/kernel/components/ui/scroll-area.js +4 -4
  130. package/dist/kernel/components/ui/select.js +7 -10
  131. package/dist/kernel/components/ui/text.d.ts +2 -2
  132. package/dist/kernel/components/ui/theme-toggle.d.ts +3 -3
  133. package/dist/kernel/components/ui/theme-toggle.js +4 -9
  134. package/dist/kernel/defaults.registry.d.ts +9 -9
  135. package/dist/kernel/defaults.registry.js +9 -9
  136. package/dist/kernel/routes/agent/markdown.d.ts +0 -1
  137. package/dist/kernel/routes/layouts/group.d.ts +1 -1
  138. package/dist/kernel/routes/metadata/feed.d.ts +1 -1
  139. package/dist/kernel/routes/metadata/feed.js +13 -9
  140. package/dist/kernel/routes/metadata/llms.d.ts +2 -1
  141. package/dist/kernel/routes/metadata/llms.js +4 -4
  142. package/dist/kernel/routes/metadata/robots.d.ts +1 -1
  143. package/dist/kernel/routes/metadata/robots.js +2 -2
  144. package/dist/kernel/routes/metadata/sitemap.d.ts +6 -3
  145. package/dist/kernel/routes/metadata/sitemap.js +48 -20
  146. package/dist/kernel/routes/pages/group.d.ts +1 -1
  147. package/dist/kernel/routes/pages/group.js +20 -12
  148. package/dist/kernel/routes/pages/leaf.d.ts +2 -2
  149. package/dist/kernel/routes/pages/leaf.js +20 -12
  150. package/dist/kernel/routes/pages/root.d.ts +2 -2
  151. package/dist/kernel/routes/pages/root.js +18 -12
  152. package/dist/resolvers/manifest-resolver.js +29 -6
  153. package/dist/search.d.ts +6 -7
  154. package/dist/search.js +47 -22
  155. package/dist/{sidebar-types-Bgchdfd6.d.ts → sidebar-types-DKpR27II.d.ts} +1 -1
  156. package/dist/{types-CIwwieNw.d.ts → types-BzkZty3r.d.ts} +23 -3
  157. package/dist/{types-DHBm7-j6.d.ts → types-CJWRG05y.d.ts} +20 -1
  158. package/dist/{types-B_b3C0U6.d.ts → types-CUtrppxt.d.ts} +8 -2
  159. package/dist/types.d.ts +14 -6
  160. package/dist/validate-local-source-XRL2Y7XE.js +14 -0
  161. package/dist/validate-publish-os-source-DAPZ4QGE.js +12 -0
  162. package/init/seed/minimal/.gitignore +1 -0
  163. package/init/seed/minimal/publish.os/assets/favicon/favicon.dark.png +0 -0
  164. package/init/seed/minimal/publish.os/assets/favicon/favicon.png +0 -0
  165. package/init/seed/minimal/publish.os/docs/content/get-started.mdx +6 -10
  166. package/init/seed/minimal/publish.os/docs/content/groups.mdx +1 -1
  167. package/init/seed/minimal/publish.os/docs/content/{theme.mdx → themes.mdx} +14 -12
  168. package/init/seed/minimal/publish.os/publish.os.config.json +3 -7
  169. package/init/seed/minimal/publish.os/theme.css +52 -24
  170. package/init/seed/minimal/publish.os/tsconfig.json +3 -0
  171. package/init/seed/minimal/seed.json +4 -1
  172. package/init/seed/scratch/publish.os/docs/content/get-started.mdx +6 -0
  173. package/init/seed/scratch/publish.os/publish.os.config.json +4 -0
  174. package/init/seed/scratch/seed.json +5 -0
  175. package/package.json +12 -26
  176. package/release/app/phosphor/package.json +3 -3
  177. package/release/app/phosphor/pnpm-lock.yaml.template +523 -360
  178. package/release/app/phosphor/pnpm-workspace.yaml +3 -0
  179. package/release/compiler/package.json +1 -1
  180. package/release/compiler/pnpm-lock.yaml.template +439 -286
  181. package/release/compiler/pnpm-workspace.yaml +3 -0
  182. package/release/release.json +7 -36
  183. package/compiler-assets/nextjs/defaults/group/leaf.tsx +0 -48
  184. package/dist/icons.d.ts +0 -1
  185. package/dist/icons.js +0 -2
  186. package/dist/kernel/components/mdx/components/pre.d.ts +0 -6
  187. package/dist/kernel/components/mdx/components/pre.js +0 -18
  188. package/dist/kernel/components/ui/meta-key.d.ts +0 -17
  189. package/dist/kernel/components/ui/meta-key.js +0 -9
  190. package/dist/kernel/framework-icons.d.ts +0 -1
  191. package/dist/kernel/framework-icons.js +0 -39
  192. package/dist/link-CYaCRDb6.d.ts +0 -35
  193. package/dist/route-metadata-og-image-BeKKFHg7.d.ts +0 -58
  194. package/dist/types-sM2g9nW0.d.ts +0 -12
  195. package/release/app/lucide/package.json +0 -30
  196. package/release/app/lucide/pnpm-lock.yaml.template +0 -2905
  197. package/release/app/lucide/pnpm-workspace.yaml +0 -11
  198. package/release/app/tabler/package.json +0 -30
  199. package/release/app/tabler/pnpm-lock.yaml.template +0 -2911
  200. package/release/app/tabler/pnpm-workspace.yaml +0 -11
@@ -0,0 +1,56 @@
1
+ import {
2
+ validatePublishOsSource
3
+ } from "./chunk-726GV2NF.js";
4
+ import {
5
+ assertFrameworkSelection
6
+ } from "./chunk-DLDFHU7Y.js";
7
+ import {
8
+ AppError,
9
+ readInstalledFramework
10
+ } from "./chunk-WDY4IK6Z.js";
11
+
12
+ // src/lib/compiler/lifecycle/validate-local-source.ts
13
+ async function validateLocalSource({
14
+ options,
15
+ sourceDir,
16
+ sourceRoot
17
+ }) {
18
+ options.signal?.throwIfAborted(), options.onEvent?.({ type: "progress", message: "Validating source" });
19
+ let validation = await validatePublishOsSource({
20
+ publishOsDir: sourceDir,
21
+ sourceIdentity: { sourceRoot }
22
+ });
23
+ if (options.signal?.throwIfAborted(), options.onEvent?.({
24
+ type: "diagnostics",
25
+ diagnostics: {
26
+ diagnostics: [...validation.errors, ...validation.warnings].map(
27
+ (diagnostic) => ({
28
+ code: diagnostic.code,
29
+ severity: diagnostic.level,
30
+ message: diagnostic.message,
31
+ ...diagnostic.file === void 0 ? {} : { file: diagnostic.file },
32
+ ...diagnostic.line === void 0 ? {} : { line: diagnostic.line },
33
+ ...diagnostic.column === void 0 ? {} : { column: diagnostic.column },
34
+ ...typeof diagnostic.details?.correction == "string" ? { correction: diagnostic.details.correction } : {},
35
+ ...typeof diagnostic.details?.sourceLine == "string" ? { sourceLine: diagnostic.details.sourceLine } : {},
36
+ ...typeof diagnostic.details?.length == "number" ? { length: diagnostic.details.length } : {},
37
+ ...typeof diagnostic.details?.propertyPath == "string" ? { propertyPath: diagnostic.details.propertyPath } : {}
38
+ })
39
+ )
40
+ }
41
+ }), !validation.valid || !validation.source)
42
+ throw new AppError({
43
+ code: "FRAMEWORK_SOURCE_INVALID",
44
+ message: "The selected source failed validation."
45
+ });
46
+ let framework = await readInstalledFramework();
47
+ return await assertFrameworkSelection({
48
+ context: options.request.context,
49
+ framework,
50
+ runtime: validation.source.config.runtime
51
+ }), { source: validation.source, framework };
52
+ }
53
+
54
+ export {
55
+ validateLocalSource
56
+ };
@@ -0,0 +1,128 @@
1
+ // src/lib/compiler/internal/errors.ts
2
+ var AppError = class extends Error {
3
+ code;
4
+ details;
5
+ fix;
6
+ constructor({ code, message, details, fix }) {
7
+ super(message), this.name = "FrameworkError", this.code = code, this.details = details, this.fix = fix;
8
+ }
9
+ };
10
+
11
+ // src/lib/compiler/release/installed-framework.ts
12
+ import { readFileSync } from "fs";
13
+ import { readFile } from "fs/promises";
14
+ import { dirname, join } from "path";
15
+ import { fileURLToPath } from "url";
16
+ var frameworkPackageName = "@publish.os/nextjs", exactVersion = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z]+(?:\.[0-9A-Za-z]+)*)?(?:\+[0-9A-Za-z]+(?:\.[0-9A-Za-z]+)*)?$/u, sha256Digest = /^[a-f0-9]{64}$/u;
17
+ function record(value) {
18
+ if (!value || typeof value != "object" || Array.isArray(value))
19
+ throw new AppError({
20
+ code: "FRAMEWORK_RELEASE_INVALID",
21
+ message: "The installed framework release metadata is invalid."
22
+ });
23
+ return value;
24
+ }
25
+ function version(value) {
26
+ if (typeof value != "string" || !exactVersion.test(value))
27
+ throw new AppError({
28
+ code: "FRAMEWORK_RELEASE_INVALID",
29
+ message: "The installed framework release version is not exact."
30
+ });
31
+ return value;
32
+ }
33
+ function graphRecord(value) {
34
+ let graph = record(value), fields = [
35
+ "packageJsonSha256",
36
+ "pnpmWorkspaceSha256",
37
+ "lockfileTemplateSha256"
38
+ ];
39
+ for (let field of fields)
40
+ if (typeof graph[field] != "string" || !sha256Digest.test(graph[field]))
41
+ throw new AppError({
42
+ code: "FRAMEWORK_RELEASE_INVALID",
43
+ message: `The installed framework release has an invalid ${field}.`
44
+ });
45
+ return Object.freeze({
46
+ packageJsonSha256: graph.packageJsonSha256,
47
+ pnpmWorkspaceSha256: graph.pnpmWorkspaceSha256,
48
+ lockfileTemplateSha256: graph.lockfileTemplateSha256
49
+ });
50
+ }
51
+ function readInstalledFrameworkLocation() {
52
+ let directory = dirname(fileURLToPath(import.meta.url));
53
+ for (; ; ) {
54
+ try {
55
+ let manifest = record(
56
+ JSON.parse(readFileSync(join(directory, "package.json"), "utf8"))
57
+ );
58
+ if (manifest.name !== frameworkPackageName)
59
+ throw new AppError({
60
+ code: "FRAMEWORK_RELEASE_INVALID",
61
+ message: "The compiler is not inside the selected framework package."
62
+ });
63
+ return { packageRoot: directory, manifest };
64
+ } catch (error) {
65
+ if (error.code !== "ENOENT")
66
+ throw error instanceof AppError ? error : new AppError({
67
+ code: "FRAMEWORK_RELEASE_INVALID",
68
+ message: "The installed framework package metadata is unreadable or invalid."
69
+ });
70
+ }
71
+ let parent = dirname(directory);
72
+ if (parent === directory)
73
+ throw new AppError({
74
+ code: "FRAMEWORK_RELEASE_INVALID",
75
+ message: "The installed framework package metadata is missing."
76
+ });
77
+ directory = parent;
78
+ }
79
+ }
80
+ async function readInstalledFramework() {
81
+ let { packageRoot, manifest } = readInstalledFrameworkLocation(), installedVersion = version(manifest.version), release;
82
+ try {
83
+ release = record(
84
+ JSON.parse(
85
+ await readFile(join(packageRoot, "release", "release.json"), "utf8")
86
+ )
87
+ );
88
+ } catch {
89
+ throw new AppError({
90
+ code: "FRAMEWORK_RELEASE_INVALID",
91
+ message: "The installed framework release metadata is unreadable or invalid."
92
+ });
93
+ }
94
+ let node = record(manifest.engines).node;
95
+ if (release.schemaVersion !== 1 || release.runtime !== "nextjs" || release.version !== installedVersion || typeof node != "string" || node.trim().length === 0 || release.node !== node)
96
+ throw new AppError({
97
+ code: "FRAMEWORK_RELEASE_INVALID",
98
+ message: "The installed framework release identity does not match its package."
99
+ });
100
+ let graphRecords = record(release.graphs), graphs = Object.freeze({
101
+ compiler: graphRecord(graphRecords.compiler),
102
+ "app/phosphor": graphRecord(graphRecords["app/phosphor"])
103
+ });
104
+ if ("configurableDependencies" in release)
105
+ throw new AppError({
106
+ code: "FRAMEWORK_RELEASE_INVALID",
107
+ message: "The installed framework still declares configurable icon dependencies."
108
+ });
109
+ return Object.freeze({
110
+ packageName: frameworkPackageName,
111
+ version: installedVersion,
112
+ packageRoot,
113
+ release: Object.freeze({
114
+ schemaVersion: 1,
115
+ runtime: "nextjs",
116
+ version: installedVersion,
117
+ node,
118
+ pnpm: version(release.pnpm),
119
+ graphs
120
+ })
121
+ });
122
+ }
123
+
124
+ export {
125
+ AppError,
126
+ readInstalledFrameworkLocation,
127
+ readInstalledFramework
128
+ };