@publish.os/nextjs 0.0.1-alpha.8 → 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 (201) 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.d.ts +2 -2
  93. package/dist/kernel/components/mdx/components/image-zoom.js +1 -1
  94. package/dist/kernel/components/mdx/components/image.js +77 -56
  95. package/dist/kernel/components/mdx/components/inline-code.js +1 -1
  96. package/dist/kernel/components/mdx/components/kbd.d.ts +2 -2
  97. package/dist/kernel/components/mdx/components/kbd.js +3 -2
  98. package/dist/kernel/components/mdx/components/link.d.ts +35 -4
  99. package/dist/kernel/components/mdx/components/link.js +1 -1
  100. package/dist/kernel/components/mdx/components/paragraph.js +1 -4
  101. package/dist/kernel/components/mdx/components/task-list.js +1 -1
  102. package/dist/kernel/components/mdx/components/video-player.js +2 -2
  103. package/dist/kernel/components/mdx/components/video.js +1 -1
  104. package/dist/kernel/components/mdx/error-boundary.d.ts +1 -1
  105. package/dist/kernel/components/mdx/mdx.d.ts +12 -8
  106. package/dist/kernel/components/mdx/mdx.js +115 -39
  107. package/dist/kernel/components/mdx/rehype-heading-ids.js +1 -1
  108. package/dist/kernel/components/mdx/types.d.ts +1 -1
  109. package/dist/kernel/components/ui/breadcrumb-trail.d.ts +6 -23
  110. package/dist/kernel/components/ui/breadcrumb.d.ts +11 -3
  111. package/dist/kernel/components/ui/breadcrumb.js +6 -4
  112. package/dist/kernel/components/ui/button-group.d.ts +1 -1
  113. package/dist/kernel/components/ui/button-group.js +5 -4
  114. package/dist/kernel/components/ui/button.d.ts +2 -2
  115. package/dist/kernel/components/ui/button.js +6 -6
  116. package/dist/kernel/components/ui/card.d.ts +2 -2
  117. package/dist/kernel/components/ui/drawer.d.ts +3 -1
  118. package/dist/kernel/components/ui/drawer.js +5 -1
  119. package/dist/kernel/components/ui/input.d.ts +4 -4
  120. package/dist/kernel/components/ui/kbd.d.ts +1 -1
  121. package/dist/kernel/components/ui/kbd.js +9 -16
  122. package/dist/kernel/components/ui/link.d.ts +5 -3
  123. package/dist/kernel/components/ui/link.js +10 -9
  124. package/dist/kernel/components/ui/menu.js +5 -5
  125. package/dist/kernel/components/ui/mod-key.d.ts +10 -0
  126. package/dist/kernel/components/ui/mod-key.js +36 -0
  127. package/dist/kernel/components/ui/navigation-menu.js +2 -2
  128. package/dist/kernel/components/ui/progress.js +1 -1
  129. package/dist/kernel/components/ui/scroll-area.d.ts +8 -8
  130. package/dist/kernel/components/ui/scroll-area.js +4 -4
  131. package/dist/kernel/components/ui/select.js +7 -10
  132. package/dist/kernel/components/ui/text.d.ts +2 -2
  133. package/dist/kernel/components/ui/theme-toggle.d.ts +3 -3
  134. package/dist/kernel/components/ui/theme-toggle.js +4 -9
  135. package/dist/kernel/defaults.registry.d.ts +9 -9
  136. package/dist/kernel/defaults.registry.js +9 -9
  137. package/dist/kernel/routes/agent/markdown.d.ts +0 -1
  138. package/dist/kernel/routes/layouts/group.d.ts +1 -1
  139. package/dist/kernel/routes/metadata/feed.d.ts +1 -1
  140. package/dist/kernel/routes/metadata/feed.js +13 -9
  141. package/dist/kernel/routes/metadata/llms.d.ts +2 -1
  142. package/dist/kernel/routes/metadata/llms.js +4 -4
  143. package/dist/kernel/routes/metadata/robots.d.ts +1 -1
  144. package/dist/kernel/routes/metadata/robots.js +2 -2
  145. package/dist/kernel/routes/metadata/sitemap.d.ts +6 -3
  146. package/dist/kernel/routes/metadata/sitemap.js +48 -20
  147. package/dist/kernel/routes/pages/group.d.ts +1 -1
  148. package/dist/kernel/routes/pages/group.js +20 -12
  149. package/dist/kernel/routes/pages/leaf.d.ts +2 -2
  150. package/dist/kernel/routes/pages/leaf.js +20 -12
  151. package/dist/kernel/routes/pages/root.d.ts +2 -2
  152. package/dist/kernel/routes/pages/root.js +18 -12
  153. package/dist/resolvers/manifest-resolver.js +29 -6
  154. package/dist/search.d.ts +6 -7
  155. package/dist/search.js +47 -22
  156. package/dist/{sidebar-types-Bgchdfd6.d.ts → sidebar-types-DKpR27II.d.ts} +1 -1
  157. package/dist/{types-CIwwieNw.d.ts → types-BzkZty3r.d.ts} +23 -3
  158. package/dist/{types-DHBm7-j6.d.ts → types-CJWRG05y.d.ts} +20 -1
  159. package/dist/{types-B_b3C0U6.d.ts → types-CUtrppxt.d.ts} +8 -2
  160. package/dist/types.d.ts +14 -6
  161. package/dist/validate-local-source-XRL2Y7XE.js +14 -0
  162. package/dist/validate-publish-os-source-DAPZ4QGE.js +12 -0
  163. package/init/seed/minimal/.gitignore +1 -0
  164. package/init/seed/minimal/publish.os/assets/favicon/favicon.dark.png +0 -0
  165. package/init/seed/minimal/publish.os/assets/favicon/favicon.png +0 -0
  166. package/init/seed/minimal/publish.os/docs/content/get-started.mdx +6 -10
  167. package/init/seed/minimal/publish.os/docs/content/groups.mdx +1 -1
  168. package/init/seed/minimal/publish.os/docs/content/{theme.mdx → themes.mdx} +14 -12
  169. package/init/seed/minimal/publish.os/publish.os.config.json +3 -7
  170. package/init/seed/minimal/publish.os/theme.css +52 -24
  171. package/init/seed/minimal/publish.os/tsconfig.json +3 -0
  172. package/init/seed/minimal/seed.json +4 -1
  173. package/init/seed/scratch/publish.os/docs/content/get-started.mdx +6 -0
  174. package/init/seed/scratch/publish.os/publish.os.config.json +4 -0
  175. package/init/seed/scratch/seed.json +5 -0
  176. package/package.json +12 -26
  177. package/release/app/phosphor/package.json +3 -3
  178. package/release/app/phosphor/pnpm-lock.yaml.template +523 -360
  179. package/release/app/phosphor/pnpm-workspace.yaml +3 -0
  180. package/release/compiler/package.json +1 -1
  181. package/release/compiler/pnpm-lock.yaml.template +439 -286
  182. package/release/compiler/pnpm-workspace.yaml +3 -0
  183. package/release/release.json +7 -36
  184. package/compiler-assets/nextjs/defaults/group/leaf.tsx +0 -48
  185. package/dist/icons.d.ts +0 -1
  186. package/dist/icons.js +0 -2
  187. package/dist/kernel/components/mdx/components/pre.d.ts +0 -6
  188. package/dist/kernel/components/mdx/components/pre.js +0 -18
  189. package/dist/kernel/components/ui/meta-key.d.ts +0 -17
  190. package/dist/kernel/components/ui/meta-key.js +0 -9
  191. package/dist/kernel/framework-icons.d.ts +0 -1
  192. package/dist/kernel/framework-icons.js +0 -39
  193. package/dist/link-CYaCRDb6.d.ts +0 -35
  194. package/dist/route-metadata-og-image-BeKKFHg7.d.ts +0 -58
  195. package/dist/types-sM2g9nW0.d.ts +0 -12
  196. package/release/app/lucide/package.json +0 -30
  197. package/release/app/lucide/pnpm-lock.yaml.template +0 -2905
  198. package/release/app/lucide/pnpm-workspace.yaml +0 -11
  199. package/release/app/tabler/package.json +0 -30
  200. package/release/app/tabler/pnpm-lock.yaml.template +0 -2911
  201. 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
+ };