@analogjs/platform 2.4.0-beta.9 → 3.0.0-alpha.10

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 (266) hide show
  1. package/package.json +7 -14
  2. package/src/index.d.ts +2 -2
  3. package/src/index.js +7 -3
  4. package/src/index.js.map +1 -0
  5. package/src/lib/clear-client-page-endpoint.d.ts +2 -2
  6. package/src/lib/clear-client-page-endpoint.js +22 -32
  7. package/src/lib/clear-client-page-endpoint.js.map +1 -0
  8. package/src/lib/content/marked/index.d.ts +5 -5
  9. package/src/lib/content/marked/index.js +10 -6
  10. package/src/lib/content/marked/index.js.map +1 -0
  11. package/src/lib/content/marked/marked-content-highlighter.d.ts +2 -4
  12. package/src/lib/content/marked/marked-content-highlighter.js +6 -3
  13. package/src/lib/content/marked/marked-content-highlighter.js.map +1 -0
  14. package/src/lib/content/marked/marked-setup.service.d.ts +8 -8
  15. package/src/lib/content/marked/marked-setup.service.js +44 -54
  16. package/src/lib/content/marked/marked-setup.service.js.map +1 -0
  17. package/src/lib/content/prism/angular.d.ts +1 -0
  18. package/src/lib/content/prism/angular.js +18 -19
  19. package/src/lib/content/prism/angular.js.map +1 -0
  20. package/src/lib/content/prism/index.d.ts +1 -1
  21. package/src/lib/content/prism/index.js +10 -7
  22. package/src/lib/content/prism/index.js.map +1 -0
  23. package/src/lib/content/prism/options.d.ts +1 -1
  24. package/src/lib/content/prism/prism-highlighter.d.ts +5 -5
  25. package/src/lib/content/prism/prism-highlighter.js +33 -33
  26. package/src/lib/content/prism/prism-highlighter.js.map +1 -0
  27. package/src/lib/content/shiki/index.d.ts +3 -3
  28. package/src/lib/content/shiki/index.js +19 -28
  29. package/src/lib/content/shiki/index.js.map +1 -0
  30. package/src/lib/content/shiki/options.d.ts +7 -7
  31. package/src/lib/content/shiki/shiki-highlighter.d.ts +12 -12
  32. package/src/lib/content/shiki/shiki-highlighter.js +45 -44
  33. package/src/lib/content/shiki/shiki-highlighter.js.map +1 -0
  34. package/src/lib/content-plugin.d.ts +19 -19
  35. package/src/lib/content-plugin.js +178 -196
  36. package/src/lib/content-plugin.js.map +1 -0
  37. package/src/lib/deps-plugin.d.ts +2 -2
  38. package/src/lib/deps-plugin.js +73 -82
  39. package/src/lib/deps-plugin.js.map +1 -0
  40. package/src/lib/nx-plugin/package.json +1 -5
  41. package/src/lib/nx-plugin/src/executors/vite/compat.d.ts +3 -2
  42. package/src/lib/nx-plugin/src/executors/vite/compat.js +6 -6
  43. package/src/lib/nx-plugin/src/executors/vite/compat.js.map +1 -1
  44. package/src/lib/nx-plugin/src/executors/vite/schema.d.ts +1 -1
  45. package/src/lib/nx-plugin/src/executors/vite/vite.impl.d.ts +1 -1
  46. package/src/lib/nx-plugin/src/executors/vite/vite.impl.js +5 -4
  47. package/src/lib/nx-plugin/src/executors/vite/vite.impl.js.map +1 -1
  48. package/src/lib/nx-plugin/src/executors/vite-dev-server/compat.d.ts +3 -2
  49. package/src/lib/nx-plugin/src/executors/vite-dev-server/compat.js +6 -6
  50. package/src/lib/nx-plugin/src/executors/vite-dev-server/compat.js.map +1 -1
  51. package/src/lib/nx-plugin/src/executors/vite-dev-server/schema.d.ts +1 -1
  52. package/src/lib/nx-plugin/src/executors/vite-dev-server/vite-dev-server.impl.d.ts +1 -1
  53. package/src/lib/nx-plugin/src/executors/vite-dev-server/vite-dev-server.impl.js +5 -4
  54. package/src/lib/nx-plugin/src/executors/vite-dev-server/vite-dev-server.impl.js.map +1 -1
  55. package/src/lib/nx-plugin/src/executors/vitest/compat.d.ts +3 -2
  56. package/src/lib/nx-plugin/src/executors/vitest/compat.js +6 -6
  57. package/src/lib/nx-plugin/src/executors/vitest/compat.js.map +1 -1
  58. package/src/lib/nx-plugin/src/executors/vitest/schema.d.ts +1 -1
  59. package/src/lib/nx-plugin/src/executors/vitest/vitest.impl.d.ts +1 -1
  60. package/src/lib/nx-plugin/src/executors/vitest/vitest.impl.js +5 -4
  61. package/src/lib/nx-plugin/src/executors/vitest/vitest.impl.js.map +1 -1
  62. package/src/lib/nx-plugin/src/generators/app/compat.d.ts +3 -2
  63. package/src/lib/nx-plugin/src/generators/app/compat.js +6 -6
  64. package/src/lib/nx-plugin/src/generators/app/compat.js.map +1 -1
  65. package/src/lib/nx-plugin/src/generators/app/files/root/tsconfig.base.json +3 -6
  66. package/src/lib/nx-plugin/src/generators/app/files/template-angular/src/server/routes/api/v1/hello.ts__template__ +2 -2
  67. package/src/lib/nx-plugin/src/generators/app/files/template-angular/tsconfig.app.json__template__ +1 -3
  68. package/src/lib/nx-plugin/src/generators/app/files/template-angular/tsconfig.json__template__ +2 -1
  69. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v17/src/app/app.config.ts__template__ +0 -6
  70. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v17/src/server/routes/v1/hello.ts__template__ +2 -2
  71. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v17/tsconfig.json__template__ +4 -2
  72. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v17/vite.config.ts__template__ +0 -17
  73. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v18/src/app/app.config.ts__template__ +0 -6
  74. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v18/src/server/routes/api/v1/hello.ts__template__ +2 -2
  75. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v18/tsconfig.json__template__ +4 -2
  76. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v18/vite.config.ts__template__ +0 -17
  77. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v19/src/app/app.config.ts__template__ +0 -6
  78. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v19/src/server/routes/api/v1/hello.ts__template__ +2 -2
  79. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v19/tsconfig.app.json__template__ +1 -3
  80. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v19/tsconfig.json__template__ +4 -2
  81. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v19/vite.config.ts__template__ +0 -8
  82. package/src/lib/nx-plugin/src/generators/app/generator.d.ts +11 -11
  83. package/src/lib/nx-plugin/src/generators/app/generator.js +78 -88
  84. package/src/lib/nx-plugin/src/generators/app/generator.js.map +1 -1
  85. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-dependencies.d.ts +1 -1
  86. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.d.ts +1 -1
  87. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js +72 -89
  88. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js.map +1 -1
  89. package/src/lib/nx-plugin/src/generators/app/lib/add-angular-app.d.ts +2 -2
  90. package/src/lib/nx-plugin/src/generators/app/lib/add-angular-app.js +24 -58
  91. package/src/lib/nx-plugin/src/generators/app/lib/add-angular-app.js.map +1 -1
  92. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.d.ts +2 -2
  93. package/src/lib/nx-plugin/src/generators/app/lib/add-files.d.ts +2 -2
  94. package/src/lib/nx-plugin/src/generators/app/lib/add-files.js +15 -16
  95. package/src/lib/nx-plugin/src/generators/app/lib/add-files.js.map +1 -1
  96. package/src/lib/nx-plugin/src/generators/app/lib/add-home-page.d.ts +2 -2
  97. package/src/lib/nx-plugin/src/generators/app/lib/add-home-page.js +14 -13
  98. package/src/lib/nx-plugin/src/generators/app/lib/add-home-page.js.map +1 -1
  99. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-config.d.ts +7 -7
  100. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-config.js +17 -30
  101. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-config.js.map +1 -1
  102. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-helpers.d.ts +3 -3
  103. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-helpers.js +65 -138
  104. package/src/lib/nx-plugin/src/generators/app/lib/add-tailwind-helpers.js.map +1 -1
  105. package/src/lib/nx-plugin/src/generators/app/lib/add-vite-plugin.d.ts +1 -1
  106. package/src/lib/nx-plugin/src/generators/app/lib/cleanup-files.d.ts +2 -2
  107. package/src/lib/nx-plugin/src/generators/app/lib/cleanup-files.js +17 -20
  108. package/src/lib/nx-plugin/src/generators/app/lib/cleanup-files.js.map +1 -1
  109. package/src/lib/nx-plugin/src/generators/app/lib/initialize-analog-workspace.d.ts +2 -2
  110. package/src/lib/nx-plugin/src/generators/app/lib/update-index-html.d.ts +1 -1
  111. package/src/lib/nx-plugin/src/generators/app/lib/update-index-html.js +14 -12
  112. package/src/lib/nx-plugin/src/generators/app/lib/update-index-html.js.map +1 -1
  113. package/src/lib/nx-plugin/src/generators/app/versions/minimum-supported-versions.d.ts +4 -5
  114. package/src/lib/nx-plugin/src/generators/app/versions/minimum-supported-versions.js +6 -10
  115. package/src/lib/nx-plugin/src/generators/app/versions/minimum-supported-versions.js.map +1 -1
  116. package/src/lib/nx-plugin/src/generators/app/versions/nx-dependencies.d.ts +0 -3
  117. package/src/lib/nx-plugin/src/generators/app/versions/nx_17_X/versions.d.ts +0 -5
  118. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.d.ts +7 -12
  119. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.js +9 -37
  120. package/src/lib/nx-plugin/src/generators/app/versions/nx_18_X/versions.js.map +1 -1
  121. package/src/lib/nx-plugin/src/generators/app/versions/tailwind-dependencies.js +10 -15
  122. package/src/lib/nx-plugin/src/generators/app/versions/tailwind-dependencies.js.map +1 -1
  123. package/src/lib/nx-plugin/src/generators/app/versions.d.ts +0 -28
  124. package/src/lib/nx-plugin/src/generators/init/compat.d.ts +3 -2
  125. package/src/lib/nx-plugin/src/generators/init/compat.js +6 -6
  126. package/src/lib/nx-plugin/src/generators/init/compat.js.map +1 -1
  127. package/src/lib/nx-plugin/src/generators/init/files/src/server/routes/api/v1/hello.ts__template__ +2 -2
  128. package/src/lib/nx-plugin/src/generators/init/generator.d.ts +3 -3
  129. package/src/lib/nx-plugin/src/generators/init/generator.js +54 -55
  130. package/src/lib/nx-plugin/src/generators/init/generator.js.map +1 -1
  131. package/src/lib/nx-plugin/src/generators/init/lib/add-analog-dependencies.d.ts +1 -1
  132. package/src/lib/nx-plugin/src/generators/init/lib/add-analog-dependencies.js +19 -20
  133. package/src/lib/nx-plugin/src/generators/init/lib/add-analog-dependencies.js.map +1 -1
  134. package/src/lib/nx-plugin/src/generators/init/lib/update-app-tsconfig.d.ts +2 -2
  135. package/src/lib/nx-plugin/src/generators/init/lib/update-app-tsconfig.js +20 -18
  136. package/src/lib/nx-plugin/src/generators/init/lib/update-app-tsconfig.js.map +1 -1
  137. package/src/lib/nx-plugin/src/generators/init/lib/update-build-target.d.ts +2 -2
  138. package/src/lib/nx-plugin/src/generators/init/lib/update-build-target.js +56 -57
  139. package/src/lib/nx-plugin/src/generators/init/lib/update-build-target.js.map +1 -1
  140. package/src/lib/nx-plugin/src/generators/init/lib/update-git-ignore.d.ts +1 -1
  141. package/src/lib/nx-plugin/src/generators/init/lib/update-git-ignore.js +12 -11
  142. package/src/lib/nx-plugin/src/generators/init/lib/update-git-ignore.js.map +1 -1
  143. package/src/lib/nx-plugin/src/generators/init/lib/update-index-html.d.ts +2 -2
  144. package/src/lib/nx-plugin/src/generators/init/lib/update-index-html.js +17 -15
  145. package/src/lib/nx-plugin/src/generators/init/lib/update-index-html.js.map +1 -1
  146. package/src/lib/nx-plugin/src/generators/init/lib/update-main.d.ts +2 -2
  147. package/src/lib/nx-plugin/src/generators/init/lib/update-main.js +12 -12
  148. package/src/lib/nx-plugin/src/generators/init/lib/update-main.js.map +1 -1
  149. package/src/lib/nx-plugin/src/generators/init/lib/update-package-json.d.ts +2 -2
  150. package/src/lib/nx-plugin/src/generators/init/lib/update-package-json.js +19 -25
  151. package/src/lib/nx-plugin/src/generators/init/lib/update-package-json.js.map +1 -1
  152. package/src/lib/nx-plugin/src/generators/init/lib/update-serve-target.d.ts +2 -2
  153. package/src/lib/nx-plugin/src/generators/init/lib/update-serve-target.js +43 -45
  154. package/src/lib/nx-plugin/src/generators/init/lib/update-serve-target.js.map +1 -1
  155. package/src/lib/nx-plugin/src/generators/init/lib/update-test-target.d.ts +2 -2
  156. package/src/lib/nx-plugin/src/generators/init/lib/update-test-target.js +27 -28
  157. package/src/lib/nx-plugin/src/generators/init/lib/update-test-target.js.map +1 -1
  158. package/src/lib/nx-plugin/src/generators/init/lib/update-test-tsconfig.d.ts +2 -2
  159. package/src/lib/nx-plugin/src/generators/init/lib/update-test-tsconfig.js +19 -17
  160. package/src/lib/nx-plugin/src/generators/init/lib/update-test-tsconfig.js.map +1 -1
  161. package/src/lib/nx-plugin/src/generators/page/generator.d.ts +3 -4
  162. package/src/lib/nx-plugin/src/generators/page/generator.js +33 -44
  163. package/src/lib/nx-plugin/src/generators/page/generator.js.map +1 -1
  164. package/src/lib/nx-plugin/src/generators/preset/__snapshots__/generator.spec.ts.snap +0 -1
  165. package/src/lib/nx-plugin/src/generators/preset/generator.d.ts +3 -3
  166. package/src/lib/nx-plugin/src/generators/preset/generator.js +11 -43
  167. package/src/lib/nx-plugin/src/generators/preset/generator.js.map +1 -1
  168. package/src/lib/nx-plugin/src/generators/setup-vitest/compat.d.ts +3 -2
  169. package/src/lib/nx-plugin/src/generators/setup-vitest/compat.js +6 -6
  170. package/src/lib/nx-plugin/src/generators/setup-vitest/compat.js.map +1 -1
  171. package/src/lib/nx-plugin/src/generators/setup-vitest/generator.d.ts +3 -3
  172. package/src/lib/nx-plugin/src/generators/setup-vitest/generator.js +35 -32
  173. package/src/lib/nx-plugin/src/generators/setup-vitest/generator.js.map +1 -1
  174. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/add-analog-dependencies.d.ts +1 -1
  175. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/add-analog-dependencies.js +7 -7
  176. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/add-analog-dependencies.js.map +1 -1
  177. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-test-target.d.ts +2 -2
  178. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-test-target.js +20 -21
  179. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-test-target.js.map +1 -1
  180. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-tsconfig.d.ts +2 -2
  181. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-tsconfig.js +19 -19
  182. package/src/lib/nx-plugin/src/generators/setup-vitest/lib/update-tsconfig.js.map +1 -1
  183. package/src/lib/nx-plugin/src/index.js +0 -1
  184. package/src/lib/nx-plugin/src/utils/version-utils.d.ts +1 -1
  185. package/src/lib/nx-plugin/src/utils/version-utils.js +20 -18
  186. package/src/lib/nx-plugin/src/utils/version-utils.js.map +1 -1
  187. package/src/lib/nx-plugin/src/utils/versions/dependencies.js +42 -62
  188. package/src/lib/nx-plugin/src/utils/versions/dependencies.js.map +1 -1
  189. package/src/lib/nx-plugin/src/utils/versions/dev-dependencies.js +49 -83
  190. package/src/lib/nx-plugin/src/utils/versions/dev-dependencies.js.map +1 -1
  191. package/src/lib/nx-plugin/src/utils/versions/ng_17_X/versions.js +33 -20
  192. package/src/lib/nx-plugin/src/utils/versions/ng_17_X/versions.js.map +1 -1
  193. package/src/lib/nx-plugin/src/utils/versions/ng_18_X/versions.js +33 -20
  194. package/src/lib/nx-plugin/src/utils/versions/ng_18_X/versions.js.map +1 -1
  195. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.d.ts +7 -7
  196. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.js +37 -23
  197. package/src/lib/nx-plugin/src/utils/versions/ng_19_X/versions.js.map +1 -1
  198. package/src/lib/options.d.ts +83 -79
  199. package/src/lib/platform-plugin.d.ts +2 -2
  200. package/src/lib/platform-plugin.js +59 -61
  201. package/src/lib/platform-plugin.js.map +1 -0
  202. package/src/lib/router-plugin.d.ts +19 -19
  203. package/src/lib/router-plugin.js +191 -150
  204. package/src/lib/router-plugin.js.map +1 -0
  205. package/src/lib/ssr/inject-html-plugin.d.ts +1 -1
  206. package/src/lib/ssr/inject-html-plugin.js +25 -25
  207. package/src/lib/ssr/inject-html-plugin.js.map +1 -0
  208. package/src/lib/ssr/ssr-build-plugin.d.ts +18 -2
  209. package/src/lib/ssr/ssr-build-plugin.js +54 -30
  210. package/src/lib/ssr/ssr-build-plugin.js.map +1 -0
  211. package/src/lib/utils/rolldown.d.ts +3 -0
  212. package/src/lib/utils/rolldown.js +15 -0
  213. package/src/lib/utils/rolldown.js.map +1 -0
  214. package/src/server-mode-plugin.d.ts +6 -6
  215. package/src/server-mode-plugin.js +16 -18
  216. package/src/server-mode-plugin.js.map +1 -0
  217. package/README.md +0 -5
  218. package/src/lib/content/prism/options.js +0 -1
  219. package/src/lib/content/shiki/options.js +0 -1
  220. package/src/lib/nx-plugin/README.md +0 -23
  221. package/src/lib/nx-plugin/src/generators/app/files/tailwind/v2/postcss.config.cjs__template__ +0 -10
  222. package/src/lib/nx-plugin/src/generators/app/files/tailwind/v2/tailwind.config.cjs__template__ +0 -14
  223. package/src/lib/nx-plugin/src/generators/app/files/tailwind/v3/postcss.config.cjs__template__ +0 -10
  224. package/src/lib/nx-plugin/src/generators/app/files/tailwind/v3/tailwind.config.ts__template__ +0 -14
  225. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/index.html__template__ +0 -15
  226. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/app/app.component.spec.ts__template__ +0 -17
  227. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/app/app.component.ts__template__ +0 -10
  228. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/favicon.ico__template__ +0 -0
  229. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/main.providers.ts__template__ +0 -5
  230. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/main.server.ts__template__ +0 -23
  231. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/main.ts__template__ +0 -17
  232. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/public/assets/.gitkeep__template__ +0 -0
  233. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/public/assets/analog.svg__template__ +0 -1
  234. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/public/assets/vite.svg__template__ +0 -1
  235. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/server/routes/v1/hello.ts__template__ +0 -3
  236. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/styles.css__template__ +0 -4
  237. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/test-setup.ts__template__ +0 -12
  238. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/src/vite-env.d.ts__template__ +0 -1
  239. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.app.json__template__ +0 -16
  240. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.editor.json__template__ +0 -7
  241. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.json__template__ +0 -32
  242. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/tsconfig.spec.json__template__ +0 -14
  243. package/src/lib/nx-plugin/src/generators/app/files/template-angular-v15/vite.config.ts__template__ +0 -69
  244. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-dependencies.js +0 -15
  245. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-dependencies.js.map +0 -1
  246. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.js +0 -58
  247. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.js.map +0 -1
  248. package/src/lib/nx-plugin/src/generators/app/lib/add-vite-plugin.js +0 -47
  249. package/src/lib/nx-plugin/src/generators/app/lib/add-vite-plugin.js.map +0 -1
  250. package/src/lib/nx-plugin/src/generators/app/lib/initialize-analog-workspace.js +0 -107
  251. package/src/lib/nx-plugin/src/generators/app/lib/initialize-analog-workspace.js.map +0 -1
  252. package/src/lib/nx-plugin/src/generators/app/versions/dependencies.js +0 -56
  253. package/src/lib/nx-plugin/src/generators/app/versions/dependencies.js.map +0 -1
  254. package/src/lib/nx-plugin/src/generators/app/versions/dev-dependencies.js +0 -72
  255. package/src/lib/nx-plugin/src/generators/app/versions/dev-dependencies.js.map +0 -1
  256. package/src/lib/nx-plugin/src/generators/app/versions/nx-dependencies.js +0 -46
  257. package/src/lib/nx-plugin/src/generators/app/versions/nx-dependencies.js.map +0 -1
  258. package/src/lib/nx-plugin/src/generators/app/versions/nx_17_X/versions.js +0 -37
  259. package/src/lib/nx-plugin/src/generators/app/versions/nx_17_X/versions.js.map +0 -1
  260. package/src/lib/nx-plugin/src/generators/app/versions.js +0 -43
  261. package/src/lib/nx-plugin/src/generators/app/versions.js.map +0 -1
  262. package/src/lib/nx-plugin/src/index.d.ts +0 -0
  263. package/src/lib/nx-plugin/src/index.js.map +0 -1
  264. package/src/lib/options.js +0 -1
  265. package/src/lib/ssr/ssr-xhr-plugin.d.ts +0 -2
  266. package/src/lib/ssr/ssr-xhr-plugin.js +0 -28
@@ -1,9 +1,9 @@
1
- import { ShikiHighlighterOptions, ShikiHighlightOptions } from './shiki-highlighter.js';
2
- import { BundledLanguage } from 'shiki/langs';
1
+ import { ShikiHighlighterOptions, ShikiHighlightOptions } from "./shiki-highlighter.js";
2
+ import { BundledLanguage } from "shiki/langs";
3
3
  export interface WithShikiHighlighterOptions {
4
- highlighter?: Partial<ShikiHighlighterOptions> & {
5
- additionalLangs?: BundledLanguage[];
6
- };
7
- highlight?: ShikiHighlightOptions;
8
- container?: string;
4
+ highlighter?: Partial<ShikiHighlighterOptions> & {
5
+ additionalLangs?: BundledLanguage[];
6
+ };
7
+ highlight?: ShikiHighlightOptions;
8
+ container?: string;
9
9
  }
@@ -1,17 +1,17 @@
1
- import { type BundledLanguage, type BundledTheme, type CodeOptionsMeta, type CodeOptionsMultipleThemes, type CodeOptionsSingleTheme, type CodeToHastOptionsCommon, getHighlighter } from 'shiki';
2
- import { MarkedContentHighlighter } from '../marked/marked-content-highlighter.js';
1
+ import { type BundledLanguage, type BundledTheme, type CodeOptionsMeta, type CodeOptionsMultipleThemes, type CodeOptionsSingleTheme, type CodeToHastOptionsCommon, getHighlighter } from "shiki";
2
+ import { MarkedContentHighlighter } from "../marked/marked-content-highlighter.js";
3
3
  export type ShikiHighlighterOptions = Parameters<typeof getHighlighter>[0];
4
- export type ShikiHighlightOptions = Partial<Omit<CodeToHastOptionsCommon<BundledLanguage>, 'lang'>> & CodeOptionsMeta & Partial<CodeOptionsSingleTheme<BundledTheme>> & Partial<CodeOptionsMultipleThemes<BundledTheme>>;
4
+ export type ShikiHighlightOptions = Partial<Omit<CodeToHastOptionsCommon<BundledLanguage>, "lang">> & CodeOptionsMeta & Partial<CodeOptionsSingleTheme<BundledTheme>> & Partial<CodeOptionsMultipleThemes<BundledTheme>>;
5
5
  export declare const defaultHighlighterOptions: {
6
- langs: string[];
7
- themes: string[];
6
+ langs: string[];
7
+ themes: string[];
8
8
  };
9
9
  export declare class ShikiHighlighter extends MarkedContentHighlighter {
10
- private highlighterOptions;
11
- private highlightOptions;
12
- private container;
13
- private hasLoadMermaid;
14
- private readonly highlighter;
15
- constructor(highlighterOptions: ShikiHighlighterOptions, highlightOptions: ShikiHighlightOptions, container: string, hasLoadMermaid?: boolean);
16
- getHighlightExtension(): import("marked").MarkedExtension;
10
+ private highlighterOptions;
11
+ private highlightOptions;
12
+ private container;
13
+ private hasLoadMermaid;
14
+ private readonly highlighter;
15
+ constructor(highlighterOptions: ShikiHighlighterOptions, highlightOptions: ShikiHighlightOptions, container: string, hasLoadMermaid?: boolean);
16
+ getHighlightExtension(): import("marked").MarkedExtension;
17
17
  }
@@ -1,45 +1,46 @@
1
- import markedShiki from 'marked-shiki';
2
- import { getHighlighter, } from 'shiki';
3
- import { MarkedContentHighlighter } from '../marked/marked-content-highlighter.js';
4
- export const defaultHighlighterOptions = {
5
- langs: [
6
- 'json',
7
- 'ts',
8
- 'tsx',
9
- 'js',
10
- 'jsx',
11
- 'html',
12
- 'css',
13
- 'angular-html',
14
- 'angular-ts',
15
- ],
16
- themes: ['github-dark', 'github-light'],
1
+ import { MarkedContentHighlighter } from "../marked/marked-content-highlighter.js";
2
+ import markedShiki from "marked-shiki";
3
+ import { getHighlighter } from "shiki";
4
+ //#region packages/platform/src/lib/content/shiki/shiki-highlighter.ts
5
+ var defaultHighlighterOptions = {
6
+ langs: [
7
+ "json",
8
+ "ts",
9
+ "tsx",
10
+ "js",
11
+ "jsx",
12
+ "html",
13
+ "css",
14
+ "angular-html",
15
+ "angular-ts"
16
+ ],
17
+ themes: ["github-dark", "github-light"]
17
18
  };
18
- export class ShikiHighlighter extends MarkedContentHighlighter {
19
- constructor(highlighterOptions, highlightOptions, container, hasLoadMermaid = false) {
20
- super();
21
- this.highlighterOptions = highlighterOptions;
22
- this.highlightOptions = highlightOptions;
23
- this.container = container;
24
- this.hasLoadMermaid = hasLoadMermaid;
25
- this.highlighter = getHighlighter(this.highlighterOptions);
26
- }
27
- getHighlightExtension() {
28
- return markedShiki({
29
- container: this.container,
30
- highlight: async (code, lang, props) => {
31
- if (this.hasLoadMermaid && lang === 'mermaid') {
32
- return `<pre class="mermaid">${code}</pre>`;
33
- }
34
- const { codeToHtml } = await this.highlighter;
35
- return codeToHtml(code, Object.assign({
36
- lang,
37
- // required by `transformerMeta*`
38
- meta: { __raw: props.join(' ') },
39
- theme: 'github-dark',
40
- }, this.highlightOptions));
41
- },
42
- });
43
- }
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hpa2ktaGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQvc2hpa2kvc2hpa2ktaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFPTCxjQUFjLEdBQ2YsTUFBTSxPQUFPLENBQUM7QUFFZixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQVVuRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRztJQUN2QyxLQUFLLEVBQUU7UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLEtBQUs7UUFDTCxJQUFJO1FBQ0osS0FBSztRQUNMLE1BQU07UUFDTixLQUFLO1FBQ0wsY0FBYztRQUNkLFlBQVk7S0FDYjtJQUNELE1BQU0sRUFBRSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7Q0FDeEMsQ0FBQztBQUVGLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBd0I7SUFHNUQsWUFDVSxrQkFBMkMsRUFDM0MsZ0JBQXVDLEVBQ3ZDLFNBQWlCLEVBQ2pCLGlCQUFpQixLQUFLO1FBRTlCLEtBQUssRUFBRSxDQUFDO1FBTEEsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUF5QjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXVCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFOZixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQVN2RSxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLE9BQU8sV0FBVyxDQUFDO1lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JDLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzlDLE9BQU8sd0JBQXdCLElBQUksUUFBUSxDQUFDO2dCQUM5QyxDQUFDO2dCQUVELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQzlDLE9BQU8sVUFBVSxDQUNmLElBQUksRUFDSixNQUFNLENBQUMsTUFBTSxDQUNYO29CQUNFLElBQUk7b0JBQ0osaUNBQWlDO29CQUNqQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDaEMsS0FBSyxFQUFFLGFBQWE7aUJBQ3JCLEVBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUN0QixDQUNGLENBQUM7WUFDSixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
19
+ var ShikiHighlighter = class extends MarkedContentHighlighter {
20
+ constructor(highlighterOptions, highlightOptions, container, hasLoadMermaid = false) {
21
+ super();
22
+ this.highlighterOptions = highlighterOptions;
23
+ this.highlightOptions = highlightOptions;
24
+ this.container = container;
25
+ this.hasLoadMermaid = hasLoadMermaid;
26
+ this.highlighter = getHighlighter(this.highlighterOptions);
27
+ }
28
+ getHighlightExtension() {
29
+ return markedShiki({
30
+ container: this.container,
31
+ highlight: async (code, lang, props) => {
32
+ if (this.hasLoadMermaid && lang === "mermaid") return `<pre class="mermaid">${code}</pre>`;
33
+ const { codeToHtml } = await this.highlighter;
34
+ return codeToHtml(code, Object.assign({
35
+ lang,
36
+ meta: { __raw: props.join(" ") },
37
+ theme: "github-dark"
38
+ }, this.highlightOptions));
39
+ }
40
+ });
41
+ }
42
+ };
43
+ //#endregion
44
+ export { ShikiHighlighter, defaultHighlighterOptions };
45
+
46
+ //# sourceMappingURL=shiki-highlighter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shiki-highlighter.js","names":[],"sources":["../../../../../../../packages/platform/src/lib/content/shiki/shiki-highlighter.ts"],"sourcesContent":["import markedShiki from 'marked-shiki';\nimport {\n type BundledLanguage,\n type BundledTheme,\n type CodeOptionsMeta,\n type CodeOptionsMultipleThemes,\n type CodeOptionsSingleTheme,\n type CodeToHastOptionsCommon,\n getHighlighter,\n} from 'shiki';\n\nimport { MarkedContentHighlighter } from '../marked/marked-content-highlighter.js';\n\nexport type ShikiHighlighterOptions = Parameters<typeof getHighlighter>[0];\nexport type ShikiHighlightOptions = Partial<\n Omit<CodeToHastOptionsCommon<BundledLanguage>, 'lang'>\n> &\n CodeOptionsMeta &\n Partial<CodeOptionsSingleTheme<BundledTheme>> &\n Partial<CodeOptionsMultipleThemes<BundledTheme>>;\n\nexport const defaultHighlighterOptions: {\n langs: string[];\n themes: string[];\n} = {\n langs: [\n 'json',\n 'ts',\n 'tsx',\n 'js',\n 'jsx',\n 'html',\n 'css',\n 'angular-html',\n 'angular-ts',\n ],\n themes: ['github-dark', 'github-light'],\n};\n\nexport class ShikiHighlighter extends MarkedContentHighlighter {\n private readonly highlighter: ReturnType<typeof getHighlighter>;\n\n constructor(\n private highlighterOptions: ShikiHighlighterOptions,\n private highlightOptions: ShikiHighlightOptions,\n private container: string,\n private hasLoadMermaid = false,\n ) {\n super();\n this.highlighter = getHighlighter(this.highlighterOptions);\n }\n getHighlightExtension(): import('marked').MarkedExtension {\n return markedShiki({\n container: this.container,\n highlight: async (code, lang, props) => {\n if (this.hasLoadMermaid && lang === 'mermaid') {\n return `<pre class=\"mermaid\">${code}</pre>`;\n }\n\n const { codeToHtml } = await this.highlighter;\n return codeToHtml(\n code,\n Object.assign(\n {\n lang,\n // required by `transformerMeta*`\n meta: { __raw: props.join(' ') },\n theme: 'github-dark',\n },\n this.highlightOptions,\n ),\n );\n },\n });\n }\n}\n"],"mappings":";;;;AAqBA,IAAa,4BAGT;CACF,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;CACD,QAAQ,CAAC,eAAe,eAAe;CACxC;AAED,IAAa,mBAAb,cAAsC,yBAAyB;CAG7D,YACE,oBACA,kBACA,WACA,iBAAyB,OACzB;AACA,SAAO;AALC,OAAA,qBAAA;AACA,OAAA,mBAAA;AACA,OAAA,YAAA;AACA,OAAA,iBAAA;AAGR,OAAK,cAAc,eAAe,KAAK,mBAAmB;;CAE5D,wBAA0D;AACxD,SAAO,YAAY;GACjB,WAAW,KAAK;GAChB,WAAW,OAAO,MAAM,MAAM,UAAU;AACtC,QAAI,KAAK,kBAAkB,SAAS,UAClC,QAAO,wBAAwB,KAAK;IAGtC,MAAM,EAAE,eAAe,MAAM,KAAK;AAClC,WAAO,WACL,MACA,OAAO,OACL;KACE;KAEA,MAAM,EAAE,OAAO,MAAM,KAAK,IAAI,EAAE;KAChC,OAAO;KACR,EACD,KAAK,iBACN,CACF;;GAEJ,CAAC"}
@@ -1,22 +1,22 @@
1
- import type { Plugin } from 'vite';
2
- import type { WithShikiHighlighterOptions } from './content/shiki/options.js';
3
- import type { WithPrismHighlighterOptions } from './content/prism/options.js';
4
- import type { WithMarkedOptions } from './content/marked/index.js';
5
- import type { Options } from './options.js';
1
+ import * as vite from "vite";
2
+ import type { WithShikiHighlighterOptions } from "./content/shiki/options.js";
3
+ import type { WithPrismHighlighterOptions } from "./content/prism/options.js";
4
+ import type { WithMarkedOptions } from "./content/marked/index.js";
5
+ import type { Options } from "./options.js";
6
6
  export type ContentPluginOptions = {
7
- highlighter?: 'shiki' | 'prism';
8
- markedOptions?: WithMarkedOptions;
9
- shikiOptions?: WithShikiHighlighterOptions;
10
- prismOptions?: WithPrismHighlighterOptions;
7
+ highlighter?: "shiki" | "prism";
8
+ markedOptions?: WithMarkedOptions;
9
+ shikiOptions?: WithShikiHighlighterOptions;
10
+ prismOptions?: WithPrismHighlighterOptions;
11
11
  };
12
12
  /**
13
- * Content plugin that provides markdown and content file processing for Analog.
14
- *
15
- * IMPORTANT: This plugin uses tinyglobby for file discovery.
16
- * Key pitfall with { dot: true }:
17
- * - Returns relative paths from cwd (e.g., "apps/blog-app/src/content/...")
18
- * - These paths CANNOT be used directly in ES module imports
19
- * - Relative paths without ./ or ../ are treated as package names
20
- * - Must convert to absolute paths for imports to work correctly
21
- */
22
- export declare function contentPlugin({ highlighter, markedOptions, shikiOptions, prismOptions, }?: ContentPluginOptions, options?: Options): Plugin[];
13
+ * Content plugin that provides markdown and content file processing for Analog.
14
+ *
15
+ * IMPORTANT: This plugin uses tinyglobby for file discovery.
16
+ * Key pitfall with { dot: true }:
17
+ * - Returns relative paths from cwd (e.g., "apps/blog-app/src/content/...")
18
+ * - These paths CANNOT be used directly in ES module imports
19
+ * - Relative paths without ./ or ../ are treated as package names
20
+ * - Must convert to absolute paths for imports to work correctly
21
+ */
22
+ export declare function contentPlugin({ highlighter, markedOptions, shikiOptions, prismOptions }?: ContentPluginOptions, options?: Options): vite.Plugin[];
@@ -1,198 +1,180 @@
1
- import { normalizePath } from 'vite';
2
- import { readFileSync } from 'node:fs';
3
- import { resolve } from 'node:path';
4
- import { globSync } from 'tinyglobby';
1
+ import { getBundleOptionsKey } from "./utils/rolldown.js";
2
+ import * as vite from "vite";
3
+ import { globSync } from "tinyglobby";
4
+ import { relative, resolve } from "node:path";
5
+ import { readFileSync } from "node:fs";
6
+ //#region packages/platform/src/lib/content-plugin.ts
5
7
  /**
6
- * Content plugin that provides markdown and content file processing for Analog.
7
- *
8
- * IMPORTANT: This plugin uses tinyglobby for file discovery.
9
- * Key pitfall with { dot: true }:
10
- * - Returns relative paths from cwd (e.g., "apps/blog-app/src/content/...")
11
- * - These paths CANNOT be used directly in ES module imports
12
- * - Relative paths without ./ or ../ are treated as package names
13
- * - Must convert to absolute paths for imports to work correctly
14
- */
15
- export function contentPlugin({ highlighter, markedOptions, shikiOptions, prismOptions, } = {}, options) {
16
- const cache = new Map();
17
- let markedHighlighter;
18
- const workspaceRoot = normalizePath(options?.workspaceRoot ?? process.cwd());
19
- let config;
20
- let root;
21
- const contentDiscoveryPlugins = [
22
- {
23
- name: 'analog-content-glob-routes',
24
- config(_config) {
25
- config = _config;
26
- root = normalizePath(resolve(workspaceRoot, config.root || '.') || '.');
27
- },
28
- transform(code) {
29
- if (code.includes('ANALOG_CONTENT_FILE_LIST')) {
30
- const contentFilesList = globSync([
31
- `${root}/src/content/**/*.md`,
32
- ...(options?.additionalContentDirs || [])?.map((glob) => `${workspaceRoot}${glob}/**/*.md`),
33
- ], { dot: true });
34
- const eagerImports = [];
35
- contentFilesList.forEach((module, index) => {
36
- // CRITICAL: tinyglobby returns relative paths like "apps/blog-app/src/content/file.md"
37
- // These MUST be converted to absolute paths for ES module imports
38
- // Otherwise Node.js treats "apps" as a package name and throws "Cannot find package 'apps'"
39
- const absolutePath = module.startsWith('/')
40
- ? module
41
- : `${workspaceRoot}/${module}`;
42
- eagerImports.push(`import { default as analog_module_${index} } from "${absolutePath}?analog-content-list=true";`);
43
- });
44
- let result = code.replace('let ANALOG_CONTENT_FILE_LIST = {};', `
45
- let ANALOG_CONTENT_FILE_LIST = {${contentFilesList.map((module, index) => `"${module.replace(root, '')}": analog_module_${index}`)}};
46
- `);
47
- if (!code.includes('analog_module_')) {
48
- result = `${eagerImports.join('\n')}\n${result}`;
49
- }
50
- return {
51
- code: result,
52
- map: { mappings: '' },
53
- };
54
- }
55
- return;
56
- },
57
- },
58
- {
59
- name: 'analogjs-invalidate-content-dirs',
60
- configureServer(server) {
61
- function invalidateContent(path) {
62
- if (path.includes(normalizePath(`/content/`))) {
63
- server.moduleGraph.fileToModulesMap.forEach((mods) => {
64
- mods.forEach((mod) => {
65
- if (mod.id?.includes('analogjs') &&
66
- mod.id?.includes('content')) {
67
- server.moduleGraph.invalidateModule(mod);
68
- mod.importers.forEach((imp) => {
69
- server.moduleGraph.invalidateModule(imp);
70
- });
71
- }
72
- });
73
- });
74
- server.ws.send({
75
- type: 'full-reload',
76
- });
77
- }
78
- }
79
- server.watcher.on('add', invalidateContent);
80
- server.watcher.on('unlink', invalidateContent);
81
- },
82
- },
83
- ];
84
- if (!highlighter) {
85
- return [
86
- {
87
- name: 'analogjs-external-content',
88
- config() {
89
- return {
90
- build: {
91
- rollupOptions: {
92
- external: ['@analogjs/content'],
93
- },
94
- },
95
- };
96
- },
97
- },
98
- {
99
- name: 'analogjs-exclude-content-import',
100
- transform(code) {
101
- /**
102
- * Remove the package so it doesn't get
103
- * referenced when building for serverless
104
- * functions.
105
- */
106
- if (code.includes(`import('@analogjs/content')`)) {
107
- return {
108
- code: code.replace(`import('@analogjs/content')`, 'Promise.resolve({})'),
109
- };
110
- }
111
- return;
112
- },
113
- },
114
- ...contentDiscoveryPlugins,
115
- ];
116
- }
117
- return [
118
- {
119
- name: 'analogjs-content-frontmatter',
120
- async transform(code, id) {
121
- // Transform only the frontmatter into a JSON object for lists
122
- if (!id.includes('analog-content-list=true')) {
123
- return;
124
- }
125
- const cachedContent = cache.get(id);
126
- // There's no reason to run `readFileSync` and frontmatter parsing if the
127
- // `transform` hook is called with the same code. In such cases, we can simply
128
- // return the cached attributes, which is faster than repeatedly reading files
129
- // synchronously during the build process.
130
- if (cachedContent?.code === code) {
131
- return `export default ${cachedContent.attributes}`;
132
- }
133
- const fm = await import('front-matter');
134
- // The `default` property will be available in CommonJS environment, for instance,
135
- // when running unit tests. It's safe to retrieve `default` first, since we still
136
- // fallback to the original implementation.
137
- const frontmatter = fm.default || fm;
138
- const fileContents = readFileSync(id.split('?')[0], 'utf8');
139
- const { attributes } = frontmatter(fileContents);
140
- const content = {
141
- code,
142
- attributes: JSON.stringify(attributes),
143
- };
144
- cache.set(id, content);
145
- return `export default ${content.attributes}`;
146
- },
147
- },
148
- {
149
- name: 'analogjs-content-file',
150
- enforce: 'post',
151
- async load(id) {
152
- if (!id.includes('analog-content-file=true')) {
153
- return;
154
- }
155
- if (!markedHighlighter) {
156
- if (highlighter === 'shiki') {
157
- const { getShikiHighlighter } = await import('./content/shiki/index.js');
158
- markedHighlighter = getShikiHighlighter(shikiOptions);
159
- }
160
- else {
161
- const { getPrismHighlighter } = await import('./content/prism/index.js');
162
- markedHighlighter = getPrismHighlighter();
163
- const langs = [
164
- 'bash',
165
- 'css',
166
- 'javascript',
167
- 'json',
168
- 'markup',
169
- 'typescript',
170
- ];
171
- if (Array.isArray(prismOptions?.additionalLangs) &&
172
- prismOptions?.additionalLangs?.length > 0) {
173
- langs.push(...prismOptions.additionalLangs);
174
- }
175
- const loadLanguages = await import('prismjs/components/index.js');
176
- loadLanguages.default(langs);
177
- }
178
- }
179
- const fm = await import('front-matter');
180
- // The `default` property will be available in CommonJS environment, for instance,
181
- // when running unit tests. It's safe to retrieve `default` first, since we still
182
- // fallback to the original implementation.
183
- const frontmatterFn = fm.default || fm;
184
- const fileContents = readFileSync(id.split('?')[0], 'utf8');
185
- const { body, frontmatter } = frontmatterFn(fileContents);
186
- // parse markdown and highlight
187
- const { getMarkedSetup } = await import('./content/marked/index.js');
188
- const markedSetupService = getMarkedSetup({ mangle: true, ...(markedOptions || {}) }, markedHighlighter);
189
- const mdContent = (await markedSetupService
190
- .getMarkedInstance()
191
- .parse(body));
192
- return `export default ${JSON.stringify(`---\n${frontmatter}\n---\n\n${mdContent}`)}`;
193
- },
194
- },
195
- ...contentDiscoveryPlugins,
196
- ];
8
+ * Content plugin that provides markdown and content file processing for Analog.
9
+ *
10
+ * IMPORTANT: This plugin uses tinyglobby for file discovery.
11
+ * Key pitfall with { dot: true }:
12
+ * - Returns relative paths from cwd (e.g., "apps/blog-app/src/content/...")
13
+ * - These paths CANNOT be used directly in ES module imports
14
+ * - Relative paths without ./ or ../ are treated as package names
15
+ * - Must convert to absolute paths for imports to work correctly
16
+ */
17
+ function contentPlugin({ highlighter, markedOptions, shikiOptions, prismOptions } = {}, options) {
18
+ const cache = /* @__PURE__ */ new Map();
19
+ let contentFilesListCache;
20
+ let markedHighlighter;
21
+ const workspaceRoot = vite.normalizePath(options?.workspaceRoot ?? process.cwd());
22
+ let config;
23
+ let root;
24
+ let contentRootDirs;
25
+ const normalizeContentDir = (dir) => {
26
+ const normalized = vite.normalizePath(dir.startsWith("/") ? `${workspaceRoot}${dir}` : resolve(workspaceRoot, dir));
27
+ return normalized.endsWith("/") ? normalized.slice(0, -1) : normalized;
28
+ };
29
+ const initContentRootDirs = () => {
30
+ contentRootDirs = [vite.normalizePath(`${root}/src/content`), ...(options?.additionalContentDirs || []).map(normalizeContentDir)];
31
+ };
32
+ const discoverContentFilesList = () => {
33
+ contentFilesListCache ??= globSync(contentRootDirs.map((dir) => `${dir}/**/*.md`), { dot: true });
34
+ return contentFilesListCache;
35
+ };
36
+ const resolveContentModulePath = (module) => vite.normalizePath(module.startsWith("/") ? module : `${workspaceRoot}/${module}`);
37
+ const getContentModuleKey = (module) => {
38
+ const absolutePath = resolveContentModulePath(module);
39
+ const relativeToRoot = vite.normalizePath(relative(root, absolutePath));
40
+ return !relativeToRoot.startsWith("..") && !relativeToRoot.startsWith("/") ? `/${relativeToRoot}` : `/${vite.normalizePath(relative(workspaceRoot, absolutePath))}`;
41
+ };
42
+ const contentDiscoveryPlugins = [{
43
+ name: "analog-content-glob-routes",
44
+ config(_config) {
45
+ config = _config;
46
+ root = vite.normalizePath(resolve(workspaceRoot, config.root || ".") || ".");
47
+ initContentRootDirs();
48
+ },
49
+ transform: {
50
+ filter: { code: "ANALOG_CONTENT_FILE_LIST" },
51
+ handler(code) {
52
+ if (code.includes("ANALOG_CONTENT_FILE_LIST")) {
53
+ const contentFilesList = discoverContentFilesList();
54
+ const eagerImports = [];
55
+ contentFilesList.forEach((module, index) => {
56
+ const absolutePath = resolveContentModulePath(module);
57
+ eagerImports.push(`import { default as analog_module_${index} } from "${absolutePath}?analog-content-list=true";`);
58
+ });
59
+ let result = code.replace("const ANALOG_CONTENT_FILE_LIST = {};", `
60
+ let ANALOG_CONTENT_FILE_LIST = {${contentFilesList.map((module, index) => `"${getContentModuleKey(module)}": analog_module_${index}`)}};
61
+ `);
62
+ if (!code.includes("analog_module_")) result = `${eagerImports.join("\n")}\n${result}`;
63
+ return {
64
+ code: result,
65
+ map: { mappings: "" }
66
+ };
67
+ }
68
+ }
69
+ }
70
+ }, {
71
+ name: "analogjs-invalidate-content-dirs",
72
+ configureServer(server) {
73
+ function invalidateContent(path) {
74
+ const normalizedPath = vite.normalizePath(path);
75
+ if (contentRootDirs.some((dir) => normalizedPath === dir || normalizedPath.startsWith(`${dir}/`))) {
76
+ contentFilesListCache = void 0;
77
+ server.moduleGraph.fileToModulesMap.forEach((mods) => {
78
+ mods.forEach((mod) => {
79
+ if (mod.id?.includes("analogjs") && mod.id?.includes("content")) {
80
+ server.moduleGraph.invalidateModule(mod);
81
+ mod.importers.forEach((imp) => {
82
+ server.moduleGraph.invalidateModule(imp);
83
+ });
84
+ }
85
+ });
86
+ });
87
+ server.ws.send({ type: "full-reload" });
88
+ }
89
+ }
90
+ server.watcher.on("add", invalidateContent);
91
+ server.watcher.on("unlink", invalidateContent);
92
+ }
93
+ }];
94
+ if (!highlighter) return [
95
+ {
96
+ name: "analogjs-external-content",
97
+ config() {
98
+ return { build: { [getBundleOptionsKey()]: { external: ["@analogjs/content"] } } };
99
+ }
100
+ },
101
+ {
102
+ name: "analogjs-exclude-content-import",
103
+ transform: {
104
+ filter: { code: "@analogjs/content" },
105
+ handler(code) {
106
+ /**
107
+ * Remove the package so it doesn't get
108
+ * referenced when building for serverless
109
+ * functions.
110
+ */
111
+ if (code.includes(`import('@analogjs/content')`)) return { code: code.replace(`import('@analogjs/content')`, "Promise.resolve({})") };
112
+ }
113
+ }
114
+ },
115
+ ...contentDiscoveryPlugins
116
+ ];
117
+ return [
118
+ {
119
+ name: "analogjs-content-frontmatter",
120
+ transform: {
121
+ filter: { id: /analog-content-list=true/ },
122
+ async handler(code, id) {
123
+ const cachedContent = cache.get(id);
124
+ if (cachedContent?.code === code) return {
125
+ code: `export default ${cachedContent.attributes}`,
126
+ moduleSideEffects: false
127
+ };
128
+ const fm = await import("front-matter");
129
+ const { attributes } = (fm.default || fm)(readFileSync(id.split("?")[0], "utf8"));
130
+ const content = {
131
+ code,
132
+ attributes: JSON.stringify(attributes)
133
+ };
134
+ cache.set(id, content);
135
+ return {
136
+ code: `export default ${content.attributes}`,
137
+ moduleSideEffects: false
138
+ };
139
+ }
140
+ }
141
+ },
142
+ {
143
+ name: "analogjs-content-file",
144
+ enforce: "post",
145
+ async load(id) {
146
+ if (!id.includes("analog-content-file=true")) return;
147
+ if (!markedHighlighter) if (highlighter === "shiki") {
148
+ const { getShikiHighlighter } = await import("./content/shiki/index.js");
149
+ markedHighlighter = getShikiHighlighter(shikiOptions);
150
+ } else {
151
+ const { getPrismHighlighter } = await import("./content/prism/index.js");
152
+ markedHighlighter = getPrismHighlighter();
153
+ const langs = [
154
+ "bash",
155
+ "css",
156
+ "javascript",
157
+ "json",
158
+ "markup",
159
+ "typescript"
160
+ ];
161
+ if (Array.isArray(prismOptions?.additionalLangs) && prismOptions?.additionalLangs?.length > 0) langs.push(...prismOptions.additionalLangs);
162
+ (await import("prismjs/components/index.js")).default(langs);
163
+ }
164
+ const fm = await import("front-matter");
165
+ const { body, frontmatter } = (fm.default || fm)(readFileSync(id.split("?")[0], "utf8"));
166
+ const { getMarkedSetup } = await import("./content/marked/index.js");
167
+ const mdContent = await getMarkedSetup({
168
+ mangle: true,
169
+ ...markedOptions || {}
170
+ }, markedHighlighter).getMarkedInstance().parse(body);
171
+ return `export default ${JSON.stringify(`---\n${frontmatter}\n---\n\n${mdContent}`)}`;
172
+ }
173
+ },
174
+ ...contentDiscoveryPlugins
175
+ ];
197
176
  }
198
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFvQnRDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLEVBQ0UsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxNQUNZLEVBQUUsRUFDNUIsT0FBaUI7SUFFakIsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7SUFFekMsSUFBSSxpQkFBMkMsQ0FBQztJQUNoRCxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxFQUFFLGFBQWEsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM3RSxJQUFJLE1BQWtCLENBQUM7SUFDdkIsSUFBSSxJQUFZLENBQUM7SUFFakIsTUFBTSx1QkFBdUIsR0FBYTtRQUN4QztZQUNFLElBQUksRUFBRSw0QkFBNEI7WUFDbEMsTUFBTSxDQUFDLE9BQU87Z0JBQ1osTUFBTSxHQUFHLE9BQU8sQ0FBQztnQkFDakIsSUFBSSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUNELFNBQVMsQ0FBQyxJQUFJO2dCQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUM7b0JBQzlDLE1B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
177
+ //#endregion
178
+ export { contentPlugin };
179
+
180
+ //# sourceMappingURL=content-plugin.js.map