nebula-cms 0.1.0

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 (241) hide show
  1. package/.claude/settings.local.json +42 -0
  2. package/.github/workflows/ci.yml +31 -0
  3. package/.mcp.json +12 -0
  4. package/.prettierignore +5 -0
  5. package/.prettierrc.cjs +22 -0
  6. package/AGENTS.md +183 -0
  7. package/LICENSE +201 -0
  8. package/README.md +128 -0
  9. package/package.json +74 -0
  10. package/playground/.claude/settings.local.json +5 -0
  11. package/playground/astro.config.mjs +7 -0
  12. package/playground/node_modules/.bin/astro +21 -0
  13. package/playground/node_modules/.bin/rollup +21 -0
  14. package/playground/node_modules/.bin/tsc +21 -0
  15. package/playground/node_modules/.bin/tsserver +21 -0
  16. package/playground/node_modules/.bin/vite +21 -0
  17. package/playground/node_modules/.vite/_svelte_metadata.json +1 -0
  18. package/playground/node_modules/.vite/deps/@astrojs_svelte_client__js.js +80 -0
  19. package/playground/node_modules/.vite/deps/@astrojs_svelte_client__js.js.map +7 -0
  20. package/playground/node_modules/.vite/deps/_metadata.json +184 -0
  21. package/playground/node_modules/.vite/deps/astro___aria-query.js +6776 -0
  22. package/playground/node_modules/.vite/deps/astro___aria-query.js.map +7 -0
  23. package/playground/node_modules/.vite/deps/astro___axobject-query.js +3754 -0
  24. package/playground/node_modules/.vite/deps/astro___axobject-query.js.map +7 -0
  25. package/playground/node_modules/.vite/deps/astro___html-escaper.js +34 -0
  26. package/playground/node_modules/.vite/deps/astro___html-escaper.js.map +7 -0
  27. package/playground/node_modules/.vite/deps/chunk-AJXJMYAF.js +0 -0
  28. package/playground/node_modules/.vite/deps/chunk-AJXJMYAF.js.map +7 -0
  29. package/playground/node_modules/.vite/deps/chunk-ALJIOON6.js +1005 -0
  30. package/playground/node_modules/.vite/deps/chunk-ALJIOON6.js.map +7 -0
  31. package/playground/node_modules/.vite/deps/chunk-BUSYA2B4.js +8 -0
  32. package/playground/node_modules/.vite/deps/chunk-BUSYA2B4.js.map +7 -0
  33. package/playground/node_modules/.vite/deps/chunk-CNYJBM5F.js +21 -0
  34. package/playground/node_modules/.vite/deps/chunk-CNYJBM5F.js.map +7 -0
  35. package/playground/node_modules/.vite/deps/chunk-DBPNBGEI.js +223 -0
  36. package/playground/node_modules/.vite/deps/chunk-DBPNBGEI.js.map +7 -0
  37. package/playground/node_modules/.vite/deps/chunk-G3C2FXJT.js +204 -0
  38. package/playground/node_modules/.vite/deps/chunk-G3C2FXJT.js.map +7 -0
  39. package/playground/node_modules/.vite/deps/chunk-GKDKFWC5.js +27 -0
  40. package/playground/node_modules/.vite/deps/chunk-GKDKFWC5.js.map +7 -0
  41. package/playground/node_modules/.vite/deps/chunk-HNCLEOC5.js +4376 -0
  42. package/playground/node_modules/.vite/deps/chunk-HNCLEOC5.js.map +7 -0
  43. package/playground/node_modules/.vite/deps/chunk-JICYXBFU.js +688 -0
  44. package/playground/node_modules/.vite/deps/chunk-JICYXBFU.js.map +7 -0
  45. package/playground/node_modules/.vite/deps/chunk-KCUTL6DD.js +5099 -0
  46. package/playground/node_modules/.vite/deps/chunk-KCUTL6DD.js.map +7 -0
  47. package/playground/node_modules/.vite/deps/chunk-ZP4UNCSN.js +23 -0
  48. package/playground/node_modules/.vite/deps/chunk-ZP4UNCSN.js.map +7 -0
  49. package/playground/node_modules/.vite/deps/chunk-ZREFNRZZ.js +148 -0
  50. package/playground/node_modules/.vite/deps/chunk-ZREFNRZZ.js.map +7 -0
  51. package/playground/node_modules/.vite/deps/package.json +3 -0
  52. package/playground/node_modules/.vite/deps/smol-toml.js +843 -0
  53. package/playground/node_modules/.vite/deps/smol-toml.js.map +7 -0
  54. package/playground/node_modules/.vite/deps/svelte.js +55 -0
  55. package/playground/node_modules/.vite/deps/svelte.js.map +7 -0
  56. package/playground/node_modules/.vite/deps/svelte___clsx.js +9 -0
  57. package/playground/node_modules/.vite/deps/svelte___clsx.js.map +7 -0
  58. package/playground/node_modules/.vite/deps/svelte_animate.js +57 -0
  59. package/playground/node_modules/.vite/deps/svelte_animate.js.map +7 -0
  60. package/playground/node_modules/.vite/deps/svelte_attachments.js +15 -0
  61. package/playground/node_modules/.vite/deps/svelte_attachments.js.map +7 -0
  62. package/playground/node_modules/.vite/deps/svelte_easing.js +67 -0
  63. package/playground/node_modules/.vite/deps/svelte_easing.js.map +7 -0
  64. package/playground/node_modules/.vite/deps/svelte_events.js +11 -0
  65. package/playground/node_modules/.vite/deps/svelte_events.js.map +7 -0
  66. package/playground/node_modules/.vite/deps/svelte_internal.js +5 -0
  67. package/playground/node_modules/.vite/deps/svelte_internal.js.map +7 -0
  68. package/playground/node_modules/.vite/deps/svelte_internal_client.js +402 -0
  69. package/playground/node_modules/.vite/deps/svelte_internal_client.js.map +7 -0
  70. package/playground/node_modules/.vite/deps/svelte_internal_disclose-version.js +10 -0
  71. package/playground/node_modules/.vite/deps/svelte_internal_disclose-version.js.map +7 -0
  72. package/playground/node_modules/.vite/deps/svelte_internal_flags_async.js +8 -0
  73. package/playground/node_modules/.vite/deps/svelte_internal_flags_async.js.map +7 -0
  74. package/playground/node_modules/.vite/deps/svelte_internal_flags_legacy.js +8 -0
  75. package/playground/node_modules/.vite/deps/svelte_internal_flags_legacy.js.map +7 -0
  76. package/playground/node_modules/.vite/deps/svelte_internal_flags_tracing.js +8 -0
  77. package/playground/node_modules/.vite/deps/svelte_internal_flags_tracing.js.map +7 -0
  78. package/playground/node_modules/.vite/deps/svelte_legacy.js +35 -0
  79. package/playground/node_modules/.vite/deps/svelte_legacy.js.map +7 -0
  80. package/playground/node_modules/.vite/deps/svelte_motion.js +545 -0
  81. package/playground/node_modules/.vite/deps/svelte_motion.js.map +7 -0
  82. package/playground/node_modules/.vite/deps/svelte_reactivity.js +29 -0
  83. package/playground/node_modules/.vite/deps/svelte_reactivity.js.map +7 -0
  84. package/playground/node_modules/.vite/deps/svelte_reactivity_window.js +127 -0
  85. package/playground/node_modules/.vite/deps/svelte_reactivity_window.js.map +7 -0
  86. package/playground/node_modules/.vite/deps/svelte_store.js +103 -0
  87. package/playground/node_modules/.vite/deps/svelte_store.js.map +7 -0
  88. package/playground/node_modules/.vite/deps/svelte_transition.js +208 -0
  89. package/playground/node_modules/.vite/deps/svelte_transition.js.map +7 -0
  90. package/playground/package.json +16 -0
  91. package/playground/pnpm-lock.yaml +3167 -0
  92. package/playground/src/content/authors/jane-doe.json +8 -0
  93. package/playground/src/content/config/build.toml +2 -0
  94. package/playground/src/content/courses/web-fundamentals.json +29 -0
  95. package/playground/src/content/docs/advanced.mdx +6 -0
  96. package/playground/src/content/docs/intro.md +6 -0
  97. package/playground/src/content/guides/getting-started.mdx +6 -0
  98. package/playground/src/content/posts/hello-world.md +7 -0
  99. package/playground/src/content/products/t-shirt.json +16 -0
  100. package/playground/src/content/recipes/pancakes.mdoc +8 -0
  101. package/playground/src/content/settings/site.yml +2 -0
  102. package/playground/src/content.config.ts +198 -0
  103. package/playground/src/env.d.ts +1 -0
  104. package/playground/src/pages/index.astro +11 -0
  105. package/playground/src/pages/nebula.astro +14 -0
  106. package/pnpm-workspace.yaml +2 -0
  107. package/scripts/subset-icons.mjs +178 -0
  108. package/src/astro/index.ts +295 -0
  109. package/src/client/Admin.svelte +283 -0
  110. package/src/client/components/BackendPicker.svelte +291 -0
  111. package/src/client/components/DraftChip.svelte +46 -0
  112. package/src/client/components/MetadataForm.svelte +56 -0
  113. package/src/client/components/ThemeToggle.svelte +18 -0
  114. package/src/client/components/dialogs/DeleteDraftDialog.svelte +51 -0
  115. package/src/client/components/dialogs/FilenameDialog.svelte +129 -0
  116. package/src/client/components/editor/EditorPane.svelte +227 -0
  117. package/src/client/components/editor/EditorTabs.svelte +81 -0
  118. package/src/client/components/editor/EditorToolbar.svelte +131 -0
  119. package/src/client/components/editor/FormatSelector.svelte +66 -0
  120. package/src/client/components/editor/Toolbar.svelte +17 -0
  121. package/src/client/components/fields/ArrayField.svelte +339 -0
  122. package/src/client/components/fields/ArrayItem.svelte +325 -0
  123. package/src/client/components/fields/BooleanField.svelte +114 -0
  124. package/src/client/components/fields/DateField.svelte +82 -0
  125. package/src/client/components/fields/EnumField.svelte +74 -0
  126. package/src/client/components/fields/FieldWrapper.svelte +96 -0
  127. package/src/client/components/fields/NumberField.svelte +99 -0
  128. package/src/client/components/fields/ObjectField.svelte +121 -0
  129. package/src/client/components/fields/SchemaField.svelte +107 -0
  130. package/src/client/components/fields/StringField.svelte +104 -0
  131. package/src/client/components/sidebar/AdminSidebar.svelte +339 -0
  132. package/src/client/components/sidebar/AdminSidebarSort.svelte +123 -0
  133. package/src/client/css/a11y.css +14 -0
  134. package/src/client/css/btn.css +113 -0
  135. package/src/client/css/dialog.css +29 -0
  136. package/src/client/css/field-input.css +39 -0
  137. package/src/client/css/reset.css +59 -0
  138. package/src/client/css/theme.css +77 -0
  139. package/src/client/index.ts +1 -0
  140. package/src/client/js/drafts/merge.svelte.ts +121 -0
  141. package/src/client/js/drafts/ops.svelte.ts +227 -0
  142. package/src/client/js/drafts/storage.ts +108 -0
  143. package/src/client/js/drafts/workers/diff.ts +40 -0
  144. package/src/client/js/editor/editor.svelte.ts +343 -0
  145. package/src/client/js/editor/languages.ts +98 -0
  146. package/src/client/js/editor/link-wrap.ts +45 -0
  147. package/src/client/js/editor/markdown-shortcuts.ts +261 -0
  148. package/src/client/js/handlers/admin.ts +246 -0
  149. package/src/client/js/state/dialogs.svelte.ts +35 -0
  150. package/src/client/js/state/router.svelte.ts +156 -0
  151. package/src/client/js/state/schema.svelte.ts +140 -0
  152. package/src/client/js/state/state.svelte.ts +334 -0
  153. package/src/client/js/state/theme.svelte.ts +173 -0
  154. package/src/client/js/storage/adapter.ts +102 -0
  155. package/src/client/js/storage/client.ts +150 -0
  156. package/src/client/js/storage/db.ts +36 -0
  157. package/src/client/js/storage/fsa.ts +110 -0
  158. package/src/client/js/storage/github.ts +297 -0
  159. package/src/client/js/storage/storage.ts +83 -0
  160. package/src/client/js/storage/workers/frontmatter.ts +320 -0
  161. package/src/client/js/storage/workers/storage.ts +177 -0
  162. package/src/client/js/storage/workers/toml-parser.ts +106 -0
  163. package/src/client/js/storage/workers/yaml-parser.ts +132 -0
  164. package/src/client/js/utils/file-types.ts +192 -0
  165. package/src/client/js/utils/format.ts +16 -0
  166. package/src/client/js/utils/frontmatter.ts +38 -0
  167. package/src/client/js/utils/schema-utils.ts +295 -0
  168. package/src/client/js/utils/slug.ts +18 -0
  169. package/src/client/js/utils/sort.ts +84 -0
  170. package/src/client/js/utils/stable-stringify.ts +27 -0
  171. package/src/client/js/utils/url-utils.ts +38 -0
  172. package/src/types.ts +25 -0
  173. package/src/virtual.d.ts +22 -0
  174. package/svelte.config.js +4 -0
  175. package/tests/astro/build.test.ts +63 -0
  176. package/tests/astro/index.test.ts +689 -0
  177. package/tests/client/components/Admin.test.ts +446 -0
  178. package/tests/client/components/BackendPicker.test.ts +239 -0
  179. package/tests/client/components/DraftChip.test.ts +53 -0
  180. package/tests/client/components/MetadataForm.test.ts +164 -0
  181. package/tests/client/components/dialogs/DeleteDraftDialog.test.ts +91 -0
  182. package/tests/client/components/dialogs/FilenameDialog.test.ts +209 -0
  183. package/tests/client/components/dialogs/dialog-stubs.ts +19 -0
  184. package/tests/client/components/editor/EditorPane.test.ts +100 -0
  185. package/tests/client/components/editor/EditorTabs.test.ts +253 -0
  186. package/tests/client/components/editor/EditorToolbar.test.ts +252 -0
  187. package/tests/client/components/editor/fixtures.ts +31 -0
  188. package/tests/client/components/fields/ArrayField.test.ts +197 -0
  189. package/tests/client/components/fields/BooleanField.test.ts +206 -0
  190. package/tests/client/components/fields/DateField.test.ts +210 -0
  191. package/tests/client/components/fields/EnumField.test.ts +246 -0
  192. package/tests/client/components/fields/NumberField.test.ts +240 -0
  193. package/tests/client/components/fields/ObjectField.test.ts +157 -0
  194. package/tests/client/components/fields/SchemaField.test.ts +190 -0
  195. package/tests/client/components/fields/StringField.test.ts +223 -0
  196. package/tests/client/components/sidebar/AdminSidebar.test.ts +285 -0
  197. package/tests/client/components/sidebar/AdminSidebarSort.test.ts +135 -0
  198. package/tests/client/components/sidebar/sort-mock.ts +23 -0
  199. package/tests/client/js/drafts/fixtures.ts +22 -0
  200. package/tests/client/js/drafts/merge.test.ts +282 -0
  201. package/tests/client/js/drafts/ops.test.ts +658 -0
  202. package/tests/client/js/drafts/storage.test.ts +200 -0
  203. package/tests/client/js/drafts/workers/diff.test.ts +165 -0
  204. package/tests/client/js/editor/editor.test.ts +616 -0
  205. package/tests/client/js/editor/link-wrap.test.ts +225 -0
  206. package/tests/client/js/editor/markdown-shortcuts.test.ts +370 -0
  207. package/tests/client/js/handlers/admin.test.ts +467 -0
  208. package/tests/client/js/state/router.test.ts +619 -0
  209. package/tests/client/js/state/schema.test.ts +266 -0
  210. package/tests/client/js/state/state.test.ts +328 -0
  211. package/tests/client/js/storage/adapter.test.ts +115 -0
  212. package/tests/client/js/storage/client.test.ts +250 -0
  213. package/tests/client/js/storage/db.test.ts +59 -0
  214. package/tests/client/js/storage/fsa.test.ts +284 -0
  215. package/tests/client/js/storage/github.test.ts +349 -0
  216. package/tests/client/js/storage/mock-port.ts +95 -0
  217. package/tests/client/js/storage/storage.test.ts +77 -0
  218. package/tests/client/js/storage/workers/frontmatter.test.ts +479 -0
  219. package/tests/client/js/storage/workers/storage.test.ts +299 -0
  220. package/tests/client/js/storage/workers/toml-parser.test.ts +169 -0
  221. package/tests/client/js/storage/workers/yaml-parser.test.ts +168 -0
  222. package/tests/client/js/utils/file-types.test.ts +268 -0
  223. package/tests/client/js/utils/frontmatter.test.ts +87 -0
  224. package/tests/client/js/utils/schema-utils.test.ts +318 -0
  225. package/tests/client/js/utils/slug.test.ts +58 -0
  226. package/tests/client/js/utils/sort.test.ts +276 -0
  227. package/tests/client/js/utils/stable-stringify.test.ts +68 -0
  228. package/tests/client/js/utils/url-utils.test.ts +70 -0
  229. package/tests/e2e/backend-connection.test.ts +301 -0
  230. package/tests/e2e/draft-lifecycle.test.ts +388 -0
  231. package/tests/e2e/editing.test.ts +355 -0
  232. package/tests/e2e/github-adapter.test.ts +330 -0
  233. package/tests/e2e/helpers/mock-adapter.ts +166 -0
  234. package/tests/e2e/helpers/test-app.ts +155 -0
  235. package/tests/e2e/navigation.test.ts +358 -0
  236. package/tests/e2e/publishing.test.ts +345 -0
  237. package/tests/e2e/unsaved-changes.test.ts +317 -0
  238. package/tests/setup.ts +2 -0
  239. package/tests/stubs/codemirror.ts +197 -0
  240. package/tsconfig.json +19 -0
  241. package/vitest.config.ts +178 -0
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "nebula-cms",
3
+ "version": "0.1.0",
4
+ "description": "A native CMS for Astro",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/astro/index.d.ts",
9
+ "default": "./dist/astro/index.js"
10
+ },
11
+ "./client": {
12
+ "types": "./dist/client/index.d.ts",
13
+ "svelte": "./dist/client/index.js",
14
+ "default": "./dist/client/index.js"
15
+ },
16
+ "./types": {
17
+ "types": "./dist/types.d.ts",
18
+ "default": "./dist/types.js"
19
+ },
20
+ "./virtual": {
21
+ "types": "./dist/virtual.d.ts"
22
+ }
23
+ },
24
+ "keywords": [
25
+ "cms",
26
+ "astro",
27
+ "astro-integration"
28
+ ],
29
+ "dependencies": {
30
+ "@codemirror/commands": "^6.0.0",
31
+ "@codemirror/lang-markdown": "^6.0.0",
32
+ "@codemirror/language": "^6.0.0",
33
+ "@codemirror/language-data": "^6.0.0",
34
+ "@codemirror/state": "^6.0.0",
35
+ "@codemirror/view": "^6.0.0",
36
+ "@lezer/highlight": "^1.0.0",
37
+ "js-yaml": "^4.1.0",
38
+ "smol-toml": "^1.6.1"
39
+ },
40
+ "peerDependencies": {
41
+ "@astrojs/svelte": "^8.0.0",
42
+ "astro": "^6.1.0",
43
+ "svelte": "^5.0.0"
44
+ },
45
+ "author": "Sam Richard<sam@snug.ug>",
46
+ "license": "Apache-2.0",
47
+ "devDependencies": {
48
+ "@astrojs/svelte": "^8.0.3",
49
+ "@sveltejs/package": "^2.5.7",
50
+ "@sveltejs/vite-plugin-svelte": "^7.0.0",
51
+ "@testing-library/svelte": "^5.3.1",
52
+ "vitest": "^4.1.2",
53
+ "@vitest/browser": "^4.1.2",
54
+ "@vitest/browser-playwright": "^4.1.2",
55
+ "@vitest/coverage-v8": "^4.1.2",
56
+ "astro": "^6.0.8",
57
+ "fake-indexeddb": "^6.2.5",
58
+ "jsdom": "^29.0.1",
59
+ "playwright": "^1.58.2",
60
+ "prettier": "^3.8.1",
61
+ "prettier-plugin-astro": "^0.14.1",
62
+ "prettier-plugin-svelte": "^3.5.1",
63
+ "svelte": "^5.54.1",
64
+ "typescript": "^5.9.3"
65
+ },
66
+ "scripts": {
67
+ "prebuild": "node scripts/subset-icons.mjs",
68
+ "build": "svelte-package --input src --output dist",
69
+ "lint": "prettier -c .",
70
+ "fix": "prettier --write .",
71
+ "test": "vitest run",
72
+ "test:continuous": "vitest"
73
+ }
74
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "permissions": {
3
+ "allow": ["Bash(pnpm test:*)"]
4
+ }
5
+ }
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'astro/config';
2
+ import svelte from '@astrojs/svelte';
3
+ import nebulaCMS from 'nebula-cms';
4
+
5
+ export default defineConfig({
6
+ integrations: [svelte(), nebulaCMS({ basePath: '/nebula' })],
7
+ });
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/astro@6.1.0_rollup@4.60.0_typescript@5.9.3/node_modules/astro/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/astro@6.1.0_rollup@4.60.0_typescript@5.9.3/node_modules/astro/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/astro@6.1.0_rollup@4.60.0_typescript@5.9.3/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/astro@6.1.0_rollup@4.60.0_typescript@5.9.3/node_modules/astro/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/astro@6.1.0_rollup@4.60.0_typescript@5.9.3/node_modules/astro/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/astro@6.1.0_rollup@4.60.0_typescript@5.9.3/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../astro/bin/astro.mjs" "$@"
19
+ else
20
+ exec node "$basedir/../astro/bin/astro.mjs" "$@"
21
+ fi
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/dist/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/dist/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/dist/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/dist/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/rollup@4.60.0/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/dist/bin/rollup" "$@"
19
+ else
20
+ exec node "$basedir/../../../node_modules/.pnpm/rollup@4.60.0/node_modules/rollup/dist/bin/rollup" "$@"
21
+ fi
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/tsc" "$@"
19
+ else
20
+ exec node "$basedir/../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/tsc" "$@"
21
+ fi
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/tsserver" "$@"
19
+ else
20
+ exec node "$basedir/../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/tsserver" "$@"
21
+ fi
@@ -0,0 +1,21 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*|*MINGW*|*MSYS*)
6
+ if command -v cygpath > /dev/null 2>&1; then
7
+ basedir=`cygpath -w "$basedir"`
8
+ fi
9
+ ;;
10
+ esac
11
+
12
+ if [ -z "$NODE_PATH" ]; then
13
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/vite@7.3.1/node_modules/vite/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/vite@7.3.1/node_modules/vite/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/vite@7.3.1/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules"
14
+ else
15
+ export NODE_PATH="/Users/avalon/Development/nebula-cms/node_modules/.pnpm/vite@7.3.1/node_modules/vite/bin/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/vite@7.3.1/node_modules/vite/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/vite@7.3.1/node_modules:/Users/avalon/Development/nebula-cms/node_modules/.pnpm/node_modules:$NODE_PATH"
16
+ fi
17
+ if [ -x "$basedir/node" ]; then
18
+ exec "$basedir/node" "$basedir/../../../node_modules/.pnpm/vite@7.3.1/node_modules/vite/bin/vite.js" "$@"
19
+ else
20
+ exec node "$basedir/../../../node_modules/.pnpm/vite@7.3.1/node_modules/vite/bin/vite.js" "$@"
21
+ fi
@@ -0,0 +1 @@
1
+ {"compilerOptions":{"css":"external","dev":true,"hmr":false},"extensions":[".svelte"]}
@@ -0,0 +1,80 @@
1
+ import {
2
+ createRawSnippet
3
+ } from "./chunk-HNCLEOC5.js";
4
+ import "./chunk-CNYJBM5F.js";
5
+ import {
6
+ hydrate,
7
+ mount,
8
+ unmount
9
+ } from "./chunk-ALJIOON6.js";
10
+ import "./chunk-G3C2FXJT.js";
11
+ import {
12
+ proxy,
13
+ strict_equals,
14
+ tag_proxy
15
+ } from "./chunk-KCUTL6DD.js";
16
+ import "./chunk-DBPNBGEI.js";
17
+ import "./chunk-ZP4UNCSN.js";
18
+ import "./chunk-BUSYA2B4.js";
19
+
20
+ // ../node_modules/.pnpm/@astrojs+svelte@8.0.3_astro@6.1.0_rollup@4.60.0_typescript@5.9.3__svelte@5.54.1_typescript@5.9.3/node_modules/@astrojs/svelte/dist/client.svelte.js
21
+ var existingApplications = /* @__PURE__ */ new WeakMap();
22
+ var client_svelte_default = (element) => {
23
+ return async (Component, props, slotted, { client }) => {
24
+ if (!element.hasAttribute("ssr")) return;
25
+ let children = void 0;
26
+ let _$$slots = void 0;
27
+ let renderFns = {};
28
+ for (const [key, value] of Object.entries(slotted)) {
29
+ _$$slots ??= {};
30
+ if (strict_equals(key, "default")) {
31
+ _$$slots.default = true;
32
+ children = createRawSnippet(() => ({ render: () => `<astro-slot>${value}</astro-slot>` }));
33
+ } else {
34
+ _$$slots[key] = createRawSnippet(() => ({
35
+ render: () => `<astro-slot name="${key}">${value}</astro-slot>`
36
+ }));
37
+ }
38
+ if (strict_equals(key, "default")) {
39
+ renderFns.children = createRawSnippet(() => ({ render: () => `<astro-slot>${value}</astro-slot>` }));
40
+ } else {
41
+ renderFns[key] = createRawSnippet(() => ({
42
+ render: () => `<astro-slot name="${key}">${value}</astro-slot>`
43
+ }));
44
+ }
45
+ }
46
+ const resolvedProps = { ...props, children, $$slots: _$$slots, ...renderFns };
47
+ if (existingApplications.has(element)) {
48
+ existingApplications.get(element).setProps(resolvedProps);
49
+ } else {
50
+ const component = createComponent(Component, element, resolvedProps, strict_equals(client, "only", false));
51
+ existingApplications.set(element, component);
52
+ element.addEventListener("astro:unmount", () => component.destroy(), { once: true });
53
+ }
54
+ };
55
+ };
56
+ function createComponent(Component, target, props, shouldHydrate) {
57
+ let propsState = tag_proxy(proxy(props), "propsState");
58
+ const bootstrap = shouldHydrate ? hydrate : mount;
59
+ if (!shouldHydrate) {
60
+ target.innerHTML = "";
61
+ }
62
+ const component = bootstrap(Component, { target, props: propsState });
63
+ return {
64
+ setProps(newProps) {
65
+ Object.assign(propsState, newProps);
66
+ for (const key in propsState) {
67
+ if (!(key in newProps)) {
68
+ delete propsState[key];
69
+ }
70
+ }
71
+ },
72
+ destroy() {
73
+ unmount(component);
74
+ }
75
+ };
76
+ }
77
+ export {
78
+ client_svelte_default as default
79
+ };
80
+ //# sourceMappingURL=@astrojs_svelte_client__js.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../node_modules/.pnpm/@astrojs+svelte@8.0.3_astro@6.1.0_rollup@4.60.0_typescript@5.9.3__svelte@5.54.1_typescript@5.9.3/node_modules/@astrojs/svelte/dist/client.svelte.js"],
4
+ "sourcesContent": ["import { createRawSnippet, hydrate, mount, unmount } from \"svelte\";\nconst existingApplications = /* @__PURE__ */ new WeakMap();\nvar client_svelte_default = (element) => {\n return async (Component, props, slotted, { client }) => {\n if (!element.hasAttribute(\"ssr\")) return;\n let children = void 0;\n let _$$slots = void 0;\n let renderFns = {};\n for (const [key, value] of Object.entries(slotted)) {\n _$$slots ??= {};\n if (key === \"default\") {\n _$$slots.default = true;\n children = createRawSnippet(() => ({\n render: () => `<astro-slot>${value}</astro-slot>`\n }));\n } else {\n _$$slots[key] = createRawSnippet(() => ({\n render: () => `<astro-slot name=\"${key}\">${value}</astro-slot>`\n }));\n }\n if (key === \"default\") {\n renderFns.children = createRawSnippet(() => ({\n render: () => `<astro-slot>${value}</astro-slot>`\n }));\n } else {\n renderFns[key] = createRawSnippet(() => ({\n render: () => `<astro-slot name=\"${key}\">${value}</astro-slot>`\n }));\n }\n }\n const resolvedProps = {\n ...props,\n children,\n $$slots: _$$slots,\n ...renderFns\n };\n if (existingApplications.has(element)) {\n existingApplications.get(element).setProps(resolvedProps);\n } else {\n const component = createComponent(Component, element, resolvedProps, client !== \"only\");\n existingApplications.set(element, component);\n element.addEventListener(\"astro:unmount\", () => component.destroy(), { once: true });\n }\n };\n};\nfunction createComponent(Component, target, props, shouldHydrate) {\n let propsState = $state(props);\n const bootstrap = shouldHydrate ? hydrate : mount;\n if (!shouldHydrate) {\n target.innerHTML = \"\";\n }\n const component = bootstrap(Component, { target, props: propsState });\n return {\n setProps(newProps) {\n Object.assign(propsState, newProps);\n for (const key in propsState) {\n if (!(key in newProps)) {\n delete propsState[key];\n }\n }\n },\n destroy() {\n unmount(component);\n }\n };\n}\nexport {\n client_svelte_default as default\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;IACM,uBAAoB,oBAAuB,QAAO;IACpD,wBAAqB,CAAI,YAAY;gBACzB,WAAW,OAAO,SAAO,EAAI,OAAM,MAAO;SACjD,QAAQ,aAAa,KAAK,EAAA;QAC3B,WAAQ;QACR,WAAQ;QACR,YAAS,CAAA;gBACD,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,mBAAQ,CAAA;wBACJ,KAAQ,SAAS,GAAE;AACrB,iBAAS,UAAU;AACnB,mBAAW,iBAAgB,OAAA,EACzB,QAAM,MAAA,eAAuB,KAAK,gBAAA,EAAA;MAEtC,OAAO;AACL,iBAAS,GAAG,IAAI,iBAAgB,OAAA;UAC9B,QAAM,MAAA,qBAA6B,GAAG,KAAK,KAAK;;MAEpD;wBACI,KAAQ,SAAS,GAAE;AACrB,kBAAU,WAAW,iBAAgB,OAAA,EACnC,QAAM,MAAA,eAAuB,KAAK,gBAAA,EAAA;MAEtC,OAAO;AACL,kBAAU,GAAG,IAAI,iBAAgB,OAAA;UAC/B,QAAM,MAAA,qBAA6B,GAAG,KAAK,KAAK;;MAEpD;IACF;UACM,gBAAa,EAAA,GACd,OACH,UACA,SAAS,UAAQ,GACd,UAAS;QAEV,qBAAqB,IAAI,OAAO,GAAG;AACrC,2BAAqB,IAAI,OAAO,EAAE,SAAS,aAAa;IAC1D,OAAO;YACC,YAAY,gBAAgB,WAAW,SAAS,eAAa,cAAE,QAAW,QAAM,KAAA,CAAA;AACtF,2BAAqB,IAAI,SAAS,SAAS;AAC3C,cAAQ,iBAAiB,iBAAe,MAAQ,UAAU,QAAO,GAAA,EAAM,MAAM,KAAI,CAAA;IACnF;EACF;AACF;SACS,gBAAgB,WAAW,QAAQ,OAAO,eAAe;MAC5D,aAAU,UAAA,MAAU,KAAK,GAAA,YAAA;QACvB,YAAY,gBAAgB,UAAU;OACvC,eAAe;AAClB,WAAO,YAAY;EACrB;QACM,YAAY,UAAU,WAAS,EAAI,QAAQ,OAAO,WAAU,CAAA;;IAEhE,SAAS,UAAU;AACjB,aAAO,OAAO,YAAY,QAAQ;iBACvB,OAAO,YAAY;cACtB,OAAO,WAAW;iBACf,WAAW,GAAG;QACvB;MACF;IACF;IACA,UAAU;AACR,cAAQ,SAAS;IACnB;;AAEJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,184 @@
1
+ {
2
+ "hash": "c8a1d64b",
3
+ "configHash": "1895b3df",
4
+ "lockfileHash": "72ffd4a5",
5
+ "browserHash": "5cc2b15b",
6
+ "optimized": {
7
+ "smol-toml": {
8
+ "src": "../../../../node_modules/.pnpm/smol-toml@1.6.1/node_modules/smol-toml/dist/index.js",
9
+ "file": "smol-toml.js",
10
+ "fileHash": "2a031eb2",
11
+ "needsInterop": false
12
+ },
13
+ "@astrojs/svelte/client.js": {
14
+ "src": "../../../../node_modules/.pnpm/@astrojs+svelte@8.0.3_astro@6.1.0_rollup@4.60.0_typescript@5.9.3__svelte@5.54.1_typescript@5.9.3/node_modules/@astrojs/svelte/dist/client.svelte.js",
15
+ "file": "@astrojs_svelte_client__js.js",
16
+ "fileHash": "95b61b60",
17
+ "needsInterop": false
18
+ },
19
+ "svelte": {
20
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/index-client.js",
21
+ "file": "svelte.js",
22
+ "fileHash": "396c8590",
23
+ "needsInterop": false
24
+ },
25
+ "svelte/animate": {
26
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/animate/index.js",
27
+ "file": "svelte_animate.js",
28
+ "fileHash": "b8a4c4f4",
29
+ "needsInterop": false
30
+ },
31
+ "svelte/attachments": {
32
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/attachments/index.js",
33
+ "file": "svelte_attachments.js",
34
+ "fileHash": "b1cce046",
35
+ "needsInterop": false
36
+ },
37
+ "svelte/easing": {
38
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/easing/index.js",
39
+ "file": "svelte_easing.js",
40
+ "fileHash": "657c64cf",
41
+ "needsInterop": false
42
+ },
43
+ "svelte/internal": {
44
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/index.js",
45
+ "file": "svelte_internal.js",
46
+ "fileHash": "2e60bcd9",
47
+ "needsInterop": true
48
+ },
49
+ "svelte/internal/client": {
50
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/client/index.js",
51
+ "file": "svelte_internal_client.js",
52
+ "fileHash": "0a89f5b3",
53
+ "needsInterop": false
54
+ },
55
+ "svelte/internal/disclose-version": {
56
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/disclose-version.js",
57
+ "file": "svelte_internal_disclose-version.js",
58
+ "fileHash": "965fc191",
59
+ "needsInterop": false
60
+ },
61
+ "svelte/internal/flags/async": {
62
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/flags/async.js",
63
+ "file": "svelte_internal_flags_async.js",
64
+ "fileHash": "3e483e56",
65
+ "needsInterop": false
66
+ },
67
+ "svelte/internal/flags/legacy": {
68
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/flags/legacy.js",
69
+ "file": "svelte_internal_flags_legacy.js",
70
+ "fileHash": "4598927c",
71
+ "needsInterop": false
72
+ },
73
+ "svelte/internal/flags/tracing": {
74
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/internal/flags/tracing.js",
75
+ "file": "svelte_internal_flags_tracing.js",
76
+ "fileHash": "58907acd",
77
+ "needsInterop": false
78
+ },
79
+ "svelte/legacy": {
80
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/legacy/legacy-client.js",
81
+ "file": "svelte_legacy.js",
82
+ "fileHash": "50940767",
83
+ "needsInterop": false
84
+ },
85
+ "svelte/motion": {
86
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/motion/index.js",
87
+ "file": "svelte_motion.js",
88
+ "fileHash": "7df61d25",
89
+ "needsInterop": false
90
+ },
91
+ "svelte/reactivity": {
92
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/reactivity/index-client.js",
93
+ "file": "svelte_reactivity.js",
94
+ "fileHash": "4895c4a5",
95
+ "needsInterop": false
96
+ },
97
+ "svelte/reactivity/window": {
98
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/reactivity/window/index.js",
99
+ "file": "svelte_reactivity_window.js",
100
+ "fileHash": "67b046cf",
101
+ "needsInterop": false
102
+ },
103
+ "svelte/store": {
104
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/store/index-client.js",
105
+ "file": "svelte_store.js",
106
+ "fileHash": "15758de8",
107
+ "needsInterop": false
108
+ },
109
+ "svelte/transition": {
110
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/transition/index.js",
111
+ "file": "svelte_transition.js",
112
+ "fileHash": "3f78414d",
113
+ "needsInterop": false
114
+ },
115
+ "svelte/events": {
116
+ "src": "../../../../node_modules/.pnpm/svelte@5.54.1/node_modules/svelte/src/events/index.js",
117
+ "file": "svelte_events.js",
118
+ "fileHash": "e967da95",
119
+ "needsInterop": false
120
+ },
121
+ "svelte > clsx": {
122
+ "src": "../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs",
123
+ "file": "svelte___clsx.js",
124
+ "fileHash": "ba60f8e7",
125
+ "needsInterop": false
126
+ },
127
+ "astro > aria-query": {
128
+ "src": "../../../../node_modules/.pnpm/aria-query@5.3.2/node_modules/aria-query/lib/index.js",
129
+ "file": "astro___aria-query.js",
130
+ "fileHash": "ca687934",
131
+ "needsInterop": true
132
+ },
133
+ "astro > axobject-query": {
134
+ "src": "../../../../node_modules/.pnpm/axobject-query@4.1.0/node_modules/axobject-query/lib/index.js",
135
+ "file": "astro___axobject-query.js",
136
+ "fileHash": "22ecb53e",
137
+ "needsInterop": true
138
+ },
139
+ "astro > html-escaper": {
140
+ "src": "../../../../node_modules/.pnpm/html-escaper@3.0.3/node_modules/html-escaper/esm/index.js",
141
+ "file": "astro___html-escaper.js",
142
+ "fileHash": "fe945301",
143
+ "needsInterop": false
144
+ }
145
+ },
146
+ "chunks": {
147
+ "chunk-JICYXBFU": {
148
+ "file": "chunk-JICYXBFU.js"
149
+ },
150
+ "chunk-GKDKFWC5": {
151
+ "file": "chunk-GKDKFWC5.js"
152
+ },
153
+ "chunk-AJXJMYAF": {
154
+ "file": "chunk-AJXJMYAF.js"
155
+ },
156
+ "chunk-ZREFNRZZ": {
157
+ "file": "chunk-ZREFNRZZ.js"
158
+ },
159
+ "chunk-HNCLEOC5": {
160
+ "file": "chunk-HNCLEOC5.js"
161
+ },
162
+ "chunk-CNYJBM5F": {
163
+ "file": "chunk-CNYJBM5F.js"
164
+ },
165
+ "chunk-ALJIOON6": {
166
+ "file": "chunk-ALJIOON6.js"
167
+ },
168
+ "chunk-G3C2FXJT": {
169
+ "file": "chunk-G3C2FXJT.js"
170
+ },
171
+ "chunk-KCUTL6DD": {
172
+ "file": "chunk-KCUTL6DD.js"
173
+ },
174
+ "chunk-DBPNBGEI": {
175
+ "file": "chunk-DBPNBGEI.js"
176
+ },
177
+ "chunk-ZP4UNCSN": {
178
+ "file": "chunk-ZP4UNCSN.js"
179
+ },
180
+ "chunk-BUSYA2B4": {
181
+ "file": "chunk-BUSYA2B4.js"
182
+ }
183
+ }
184
+ }