@astrojs/mdx 1.0.0-beta.2 → 1.0.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 (106) hide show
  1. package/README.md +83 -19
  2. package/dist/index.d.ts +4 -2
  3. package/dist/index.js +83 -35
  4. package/dist/plugins.d.ts +4 -5
  5. package/dist/plugins.js +36 -80
  6. package/dist/rehype-collect-headings.d.ts +1 -1
  7. package/dist/rehype-meta-string.js +2 -3
  8. package/dist/rehype-optimize-static.d.ts +11 -0
  9. package/dist/rehype-optimize-static.js +62 -0
  10. package/dist/remark-images-to-component.d.ts +2 -0
  11. package/dist/remark-images-to-component.js +83 -0
  12. package/dist/utils.d.ts +2 -1
  13. package/dist/utils.js +23 -15
  14. package/package.json +39 -30
  15. package/template/content-module-types.d.ts +9 -0
  16. package/.turbo/turbo-build.log +0 -5
  17. package/CHANGELOG.md +0 -469
  18. package/src/index.ts +0 -201
  19. package/src/plugins.ts +0 -246
  20. package/src/rehype-collect-headings.ts +0 -11
  21. package/src/rehype-meta-string.ts +0 -17
  22. package/src/remark-prism.ts +0 -18
  23. package/src/remark-shiki.ts +0 -95
  24. package/src/utils.ts +0 -102
  25. package/test/fixtures/mdx-astro-markdown-remarkRehype/src/pages/index.mdx +0 -5
  26. package/test/fixtures/mdx-component/src/components/Test.mdx +0 -3
  27. package/test/fixtures/mdx-component/src/components/WithFragment.mdx +0 -3
  28. package/test/fixtures/mdx-component/src/pages/glob.astro +0 -20
  29. package/test/fixtures/mdx-component/src/pages/index.astro +0 -5
  30. package/test/fixtures/mdx-component/src/pages/w-fragment.astro +0 -5
  31. package/test/fixtures/mdx-escape/src/components/Em.astro +0 -7
  32. package/test/fixtures/mdx-escape/src/components/P.astro +0 -1
  33. package/test/fixtures/mdx-escape/src/components/Title.astro +0 -1
  34. package/test/fixtures/mdx-escape/src/pages/html-tag.mdx +0 -5
  35. package/test/fixtures/mdx-escape/src/pages/index.mdx +0 -13
  36. package/test/fixtures/mdx-frontmatter/src/layouts/Base.astro +0 -38
  37. package/test/fixtures/mdx-frontmatter/src/pages/glob.json.js +0 -9
  38. package/test/fixtures/mdx-frontmatter/src/pages/index.mdx +0 -10
  39. package/test/fixtures/mdx-frontmatter/src/pages/with-headings.mdx +0 -7
  40. package/test/fixtures/mdx-frontmatter-injection/astro.config.mjs +0 -12
  41. package/test/fixtures/mdx-frontmatter-injection/node_modules/.bin/astro +0 -17
  42. package/test/fixtures/mdx-frontmatter-injection/package.json +0 -12
  43. package/test/fixtures/mdx-frontmatter-injection/src/layouts/Base.astro +0 -17
  44. package/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs +0 -27
  45. package/test/fixtures/mdx-frontmatter-injection/src/pages/glob.json.js +0 -6
  46. package/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx +0 -8
  47. package/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx +0 -24
  48. package/test/fixtures/mdx-get-headings/src/pages/pages.json.js +0 -11
  49. package/test/fixtures/mdx-get-headings/src/pages/test-with-jsx-expressions.mdx +0 -8
  50. package/test/fixtures/mdx-get-headings/src/pages/test.mdx +0 -9
  51. package/test/fixtures/mdx-get-static-paths/src/content/1.mdx +0 -5
  52. package/test/fixtures/mdx-get-static-paths/src/pages/[slug].astro +0 -34
  53. package/test/fixtures/mdx-infinite-loop/astro.config.ts +0 -6
  54. package/test/fixtures/mdx-infinite-loop/node_modules/.bin/astro +0 -17
  55. package/test/fixtures/mdx-infinite-loop/package.json +0 -10
  56. package/test/fixtures/mdx-infinite-loop/src/components/Test.js +0 -3
  57. package/test/fixtures/mdx-infinite-loop/src/pages/doc.mdx +0 -6
  58. package/test/fixtures/mdx-infinite-loop/src/pages/index.astro +0 -5
  59. package/test/fixtures/mdx-namespace/astro.config.mjs +0 -6
  60. package/test/fixtures/mdx-namespace/node_modules/.bin/astro +0 -17
  61. package/test/fixtures/mdx-namespace/package.json +0 -10
  62. package/test/fixtures/mdx-namespace/src/components/Component.jsx +0 -6
  63. package/test/fixtures/mdx-namespace/src/pages/object.mdx +0 -3
  64. package/test/fixtures/mdx-namespace/src/pages/star.mdx +0 -3
  65. package/test/fixtures/mdx-page/astro.config.ts +0 -5
  66. package/test/fixtures/mdx-page/node_modules/.bin/astro +0 -17
  67. package/test/fixtures/mdx-page/package.json +0 -9
  68. package/test/fixtures/mdx-page/src/pages/index.mdx +0 -3
  69. package/test/fixtures/mdx-page/src/styles.css +0 -3
  70. package/test/fixtures/mdx-plugins/src/pages/with-plugins.mdx +0 -25
  71. package/test/fixtures/mdx-plus-react/astro.config.mjs +0 -6
  72. package/test/fixtures/mdx-plus-react/node_modules/.bin/astro +0 -17
  73. package/test/fixtures/mdx-plus-react/package.json +0 -10
  74. package/test/fixtures/mdx-plus-react/src/components/Component.jsx +0 -5
  75. package/test/fixtures/mdx-plus-react/src/pages/index.astro +0 -11
  76. package/test/fixtures/mdx-slots/src/components/Slotted.astro +0 -4
  77. package/test/fixtures/mdx-slots/src/components/Test.mdx +0 -15
  78. package/test/fixtures/mdx-slots/src/pages/glob.astro +0 -11
  79. package/test/fixtures/mdx-slots/src/pages/index.astro +0 -5
  80. package/test/fixtures/mdx-syntax-hightlighting/src/pages/index.mdx +0 -9
  81. package/test/fixtures/mdx-url-export/src/pages/pages.json.js +0 -9
  82. package/test/fixtures/mdx-url-export/src/pages/test-1.mdx +0 -1
  83. package/test/fixtures/mdx-url-export/src/pages/test-2.mdx +0 -1
  84. package/test/fixtures/mdx-url-export/src/pages/with-url-override.mdx +0 -3
  85. package/test/fixtures/mdx-vite-env-vars/astro.config.mjs +0 -9
  86. package/test/fixtures/mdx-vite-env-vars/node_modules/.bin/astro +0 -17
  87. package/test/fixtures/mdx-vite-env-vars/package.json +0 -7
  88. package/test/fixtures/mdx-vite-env-vars/src/pages/frontmatter.json.js +0 -7
  89. package/test/fixtures/mdx-vite-env-vars/src/pages/vite-env-vars.mdx +0 -38
  90. package/test/mdx-astro-markdown-remarkRehype.test.js +0 -85
  91. package/test/mdx-component.test.js +0 -191
  92. package/test/mdx-escape.test.js +0 -32
  93. package/test/mdx-frontmatter-injection.test.js +0 -53
  94. package/test/mdx-frontmatter.test.js +0 -77
  95. package/test/mdx-get-headings.test.js +0 -151
  96. package/test/mdx-get-static-paths.test.js +0 -32
  97. package/test/mdx-infinite-loop.test.js +0 -30
  98. package/test/mdx-namespace.test.js +0 -83
  99. package/test/mdx-page.test.js +0 -64
  100. package/test/mdx-plugins.test.js +0 -250
  101. package/test/mdx-plus-react.test.js +0 -25
  102. package/test/mdx-slots.js +0 -124
  103. package/test/mdx-syntax-highlighting.test.js +0 -145
  104. package/test/mdx-url-export.test.js +0 -28
  105. package/test/mdx-vite-env-vars.test.js +0 -54
  106. package/tsconfig.json +0 -10
package/CHANGELOG.md DELETED
@@ -1,469 +0,0 @@
1
- # @astrojs/mdx
2
-
3
- ## 1.0.0-beta.2
4
-
5
- ### Major Changes
6
-
7
- - [#5825](https://github.com/withastro/astro/pull/5825) [`52209ca2a`](https://github.com/withastro/astro/commit/52209ca2ad72a30854947dcb3a90ab4db0ac0a6f) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Baseline the experimental `contentCollections` flag. You're free to remove this from your astro config!
8
-
9
- ```diff
10
- import { defineConfig } from 'astro/config';
11
-
12
- export default defineConfig({
13
- - experimental: { contentCollections: true }
14
- })
15
- ```
16
-
17
- ### Minor Changes
18
-
19
- - [#5782](https://github.com/withastro/astro/pull/5782) [`1f92d64ea`](https://github.com/withastro/astro/commit/1f92d64ea35c03fec43aff64eaf704dc5a9eb30a) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Remove support for Node 14. Minimum supported Node version is now >=16.12.0
20
-
21
- ### Patch Changes
22
-
23
- - [#5837](https://github.com/withastro/astro/pull/5837) [`12f65a4d5`](https://github.com/withastro/astro/commit/12f65a4d55e3fd2993c2f67b18794dd536280c69) Thanks [@giuseppelt](https://github.com/giuseppelt)! - fix shiki css class replace logic
24
-
25
- - Updated dependencies [[`1f92d64ea`](https://github.com/withastro/astro/commit/1f92d64ea35c03fec43aff64eaf704dc5a9eb30a), [`12f65a4d5`](https://github.com/withastro/astro/commit/12f65a4d55e3fd2993c2f67b18794dd536280c69), [`16107b6a1`](https://github.com/withastro/astro/commit/16107b6a10514ef1b563e585ec9add4b14f42b94), [`52209ca2a`](https://github.com/withastro/astro/commit/52209ca2ad72a30854947dcb3a90ab4db0ac0a6f), [`7572f7402`](https://github.com/withastro/astro/commit/7572f7402238da37de748be58d678fedaf863b53)]:
26
- - @astrojs/prism@2.0.0-beta.0
27
- - @astrojs/markdown-remark@2.0.0-beta.2
28
-
29
- ## 0.15.0-beta.1
30
-
31
- ### Minor Changes
32
-
33
- - [#5769](https://github.com/withastro/astro/pull/5769) [`93e633922`](https://github.com/withastro/astro/commit/93e633922c2e449df3bb2357b3683af1d3c0e07b) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Introduce a `smartypants` flag to opt-out of Astro's default SmartyPants plugin.
34
-
35
- ```js
36
- {
37
- markdown: {
38
- smartypants: false,
39
- }
40
- }
41
- ```
42
-
43
- #### Migration
44
-
45
- You may have disabled Astro's built-in plugins (GitHub-Flavored Markdown and Smartypants) with the `extendDefaultPlugins` option. This has now been split into 2 flags to disable each plugin individually:
46
-
47
- - `markdown.gfm` to disable GitHub-Flavored Markdown
48
- - `markdown.smartypants` to disable SmartyPants
49
-
50
- ```diff
51
- // astro.config.mjs
52
- import { defineConfig } from 'astro/config';
53
-
54
- export default defineConfig({
55
- markdown: {
56
- - extendDefaultPlugins: false,
57
- + smartypants: false,
58
- + gfm: false,
59
- }
60
- });
61
- ```
62
-
63
- ### Patch Changes
64
-
65
- - [#5741](https://github.com/withastro/astro/pull/5741) [`000d3e694`](https://github.com/withastro/astro/commit/000d3e6940839c2aebba1984e6fb3b133cec6749) Thanks [@delucis](https://github.com/delucis)! - Fix broken links in README
66
-
67
- - Updated dependencies [[`93e633922`](https://github.com/withastro/astro/commit/93e633922c2e449df3bb2357b3683af1d3c0e07b)]:
68
- - @astrojs/markdown-remark@2.0.0-beta.1
69
-
70
- ## 0.15.0-beta.0
71
-
72
- ### Minor Changes
73
-
74
- - [#5687](https://github.com/withastro/astro/pull/5687) [`e2019be6f`](https://github.com/withastro/astro/commit/e2019be6ffa46fa33d92cfd346f9ecbe51bb7144) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Give remark and rehype plugins access to user frontmatter via frontmatter injection. This means `data.astro.frontmatter` is now the _complete_ Markdown or MDX document's frontmatter, rather than an empty object.
75
-
76
- This allows plugin authors to modify existing frontmatter, or compute new properties based on other properties. For example, say you want to compute a full image URL based on an `imageSrc` slug in your document frontmatter:
77
-
78
- ```ts
79
- export function remarkInjectSocialImagePlugin() {
80
- return function (tree, file) {
81
- const { frontmatter } = file.data.astro;
82
- frontmatter.socialImageSrc = new URL(frontmatter.imageSrc, 'https://my-blog.com/').pathname;
83
- };
84
- }
85
- ```
86
-
87
- #### Content Collections - new `remarkPluginFrontmatter` property
88
-
89
- We have changed _inject_ frontmatter to _modify_ frontmatter in our docs to improve discoverability. This is based on support forum feedback, where "injection" is rarely the term used.
90
-
91
- To reflect this, the `injectedFrontmatter` property has been renamed to `remarkPluginFrontmatter`. This should clarify this plugin is still separate from the `data` export Content Collections expose today.
92
-
93
- #### Migration instructions
94
-
95
- Plugin authors should now **check for user frontmatter when applying defaults.**
96
-
97
- For example, say a remark plugin wants to apply a default `title` if none is present. Add a conditional to check if the property is present, and update if none exists:
98
-
99
- ```diff
100
- export function remarkInjectTitlePlugin() {
101
- return function (tree, file) {
102
- const { frontmatter } = file.data.astro;
103
- + if (!frontmatter.title) {
104
- frontmatter.title = 'Default title';
105
- + }
106
- }
107
- }
108
- ```
109
-
110
- This differs from previous behavior, where a Markdown file's frontmatter would _always_ override frontmatter injected via remark or reype.
111
-
112
- - [#5684](https://github.com/withastro/astro/pull/5684) [`a9c292026`](https://github.com/withastro/astro/commit/a9c2920264e36cc5dc05f4adc1912187979edb0d) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Refine Markdown and MDX configuration options for ease-of-use.
113
-
114
- #### Markdown
115
-
116
- - **Remove `remark-smartypants`** from Astro's default Markdown plugins.
117
- - **Replace the `extendDefaultPlugins` option** with a simplified `gfm` boolean. This is enabled by default, and can be disabled to remove GitHub-Flavored Markdown.
118
- - Ensure GitHub-Flavored Markdown is applied whether or not custom `remarkPlugins` or `rehypePlugins` are configured. If you want to apply custom plugins _and_ remove GFM, manually set `gfm: false` in your config.
119
-
120
- #### MDX
121
-
122
- - Support _all_ Markdown configuration options (except `drafts`) from your MDX integration config. This includes `syntaxHighlighting` and `shikiConfig` options to further customize the MDX renderer.
123
- - Simplify `extendDefaults` to an `extendMarkdownConfig` option. MDX options will default to their equivalent in your Markdown config. By setting `extendMarkdownConfig` to false, you can "eject" to set your own syntax highlighting, plugins, and more.
124
-
125
- #### Migration
126
-
127
- To preserve your existing Markdown and MDX setup, you may need some configuration changes:
128
-
129
- ##### Smartypants manual installation
130
-
131
- [Smartypants](https://github.com/silvenon/remark-smartypants) has been removed from Astro's default setup. If you rely on this plugin, [install `remark-smartypants`](https://github.com/silvenon/remark-smartypants#installing) and apply to your `astro.config.*`:
132
-
133
- ```diff
134
- // astro.config.mjs
135
- import { defineConfig } from 'astro/config';
136
- + import smartypants from 'remark-smartypants';
137
-
138
- export default defineConfig({
139
- markdown: {
140
- + remarkPlugins: [smartypants],
141
- }
142
- });
143
- ```
144
-
145
- ##### Migrate `extendDefaultPlugins` to `gfm`
146
-
147
- You may have disabled Astro's built-in plugins (GitHub-Flavored Markdown and Smartypants) with the `extendDefaultPlugins` option. Since Smartypants has been removed, this has been renamed to `gfm`.
148
-
149
- ```diff
150
- // astro.config.mjs
151
- import { defineConfig } from 'astro/config';
152
-
153
- export default defineConfig({
154
- markdown: {
155
- - extendDefaultPlugins: false,
156
- + gfm: false,
157
- }
158
- });
159
- ```
160
-
161
- Additionally, applying remark and rehype plugins **no longer disables** `gfm`. You will need to opt-out manually by setting `gfm` to `false`.
162
-
163
- ##### Migrate MDX's `extendPlugins` to `extendMarkdownConfig`
164
-
165
- You may have used the `extendPlugins` option to manage plugin defaults in MDX. This has been replaced by 2 flags:
166
-
167
- - `extendMarkdownConfig` (`true` by default) to toggle Markdown config inheritance. This replaces the `extendPlugins: 'markdown'` option.
168
- - `gfm` (`true` by default) to toggle GitHub-Flavored Markdown in MDX. This replaces the `extendPlugins: 'defaults'` option.
169
-
170
- ### Patch Changes
171
-
172
- - Updated dependencies [[`e2019be6f`](https://github.com/withastro/astro/commit/e2019be6ffa46fa33d92cfd346f9ecbe51bb7144), [`a9c292026`](https://github.com/withastro/astro/commit/a9c2920264e36cc5dc05f4adc1912187979edb0d)]:
173
- - @astrojs/markdown-remark@2.0.0-beta.0
174
-
175
- ## 0.14.0
176
-
177
- ### Minor Changes
178
-
179
- - [#5654](https://github.com/withastro/astro/pull/5654) [`2c65b433b`](https://github.com/withastro/astro/commit/2c65b433bf840a1bb93b0a1947df5949e33512ff) Thanks [@delucis](https://github.com/delucis)! - Run heading ID injection after user plugins
180
-
181
- ⚠️ BREAKING CHANGE ⚠️
182
-
183
- If you are using a rehype plugin that depends on heading IDs injected by Astro, the IDs will no longer be available when your plugin runs by default.
184
-
185
- To inject IDs before your plugins run, import and add the `rehypeHeadingIds` plugin to your `rehypePlugins` config:
186
-
187
- ```diff
188
- // astro.config.mjs
189
- + import { rehypeHeadingIds } from '@astrojs/markdown-remark';
190
- import mdx from '@astrojs/mdx';
191
-
192
- export default {
193
- integrations: [mdx()],
194
- markdown: {
195
- rehypePlugins: [
196
- + rehypeHeadingIds,
197
- otherPluginThatReliesOnHeadingIDs,
198
- ],
199
- },
200
- }
201
- ```
202
-
203
- ### Patch Changes
204
-
205
- - [#5667](https://github.com/withastro/astro/pull/5667) [`a5ba4af79`](https://github.com/withastro/astro/commit/a5ba4af79930145f4edf66d45cd40ddad045cc86) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Chore: remove verbose "Now interiting Markdown plugins..." logs
206
-
207
- - [#5648](https://github.com/withastro/astro/pull/5648) [`853081d1c`](https://github.com/withastro/astro/commit/853081d1c857d8ad8a9634c37ed8fd123d32d241) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Prevent relative image paths in `src/content/`
208
-
209
- - Updated dependencies [[`853081d1c`](https://github.com/withastro/astro/commit/853081d1c857d8ad8a9634c37ed8fd123d32d241), [`2c65b433b`](https://github.com/withastro/astro/commit/2c65b433bf840a1bb93b0a1947df5949e33512ff)]:
210
- - @astrojs/markdown-remark@1.2.0
211
-
212
- ## 0.13.0
213
-
214
- ### Minor Changes
215
-
216
- - [#5291](https://github.com/withastro/astro/pull/5291) [`5ec0f6ed5`](https://github.com/withastro/astro/commit/5ec0f6ed55b0a14a9663a90a03428345baf126bd) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Introduce Content Collections experimental API
217
- - Organize your Markdown and MDX content into easy-to-manage collections.
218
- - Add type safety to your frontmatter with schemas.
219
- - Generate landing pages, static routes, and SSR endpoints from your content using the collection query APIs.
220
-
221
- ## 0.12.2
222
-
223
- ### Patch Changes
224
-
225
- - [#5586](https://github.com/withastro/astro/pull/5586) [`f4ff69a3c`](https://github.com/withastro/astro/commit/f4ff69a3cd874c8804c6d01c7cbbaed8a8e90be7) Thanks [@delucis](https://github.com/delucis)! - Fix link in MDX integration README
226
-
227
- - [#5570](https://github.com/withastro/astro/pull/5570) [`3f811eb68`](https://github.com/withastro/astro/commit/3f811eb682d55bd1f908f9b4bc3b795d2859d713) Thanks [@sarah11918](https://github.com/sarah11918)! - Revise README
228
-
229
- ## 0.12.1
230
-
231
- ### Patch Changes
232
-
233
- - [#5522](https://github.com/withastro/astro/pull/5522) [`efc4363e0`](https://github.com/withastro/astro/commit/efc4363e0baf7f92900e20af339811bb3df42b0e) Thanks [@delucis](https://github.com/delucis)! - Support use of `<Fragment>` in MDX files rendered with `<Content />` component
234
-
235
- ## 0.12.0
236
-
237
- ### Minor Changes
238
-
239
- - [#5427](https://github.com/withastro/astro/pull/5427) [`2a1c085b1`](https://github.com/withastro/astro/commit/2a1c085b199f24e34424ec8c19041c03602c53c5) Thanks [@backflip](https://github.com/backflip)! - Uses remark-rehype options from astro.config.mjs
240
-
241
- ### Patch Changes
242
-
243
- - [#5448](https://github.com/withastro/astro/pull/5448) [`ef2ffc7ae`](https://github.com/withastro/astro/commit/ef2ffc7ae9ff554860238ecd2fb3bf6d82b5801b) Thanks [@delucis](https://github.com/delucis)! - Fix broken link in README
244
-
245
- ## 0.11.6
246
-
247
- ### Patch Changes
248
-
249
- - [#5335](https://github.com/withastro/astro/pull/5335) [`dca762cf7`](https://github.com/withastro/astro/commit/dca762cf734a657d8f126fd6958892b6163a4f67) Thanks [@bluwy](https://github.com/bluwy)! - Preserve code element node `data.meta` in `properties.metastring` for rehype syntax highlighters, like `rehype-pretty-code``
250
-
251
- ## 0.11.5
252
-
253
- ### Patch Changes
254
-
255
- - [#5146](https://github.com/withastro/astro/pull/5146) [`308e565ad`](https://github.com/withastro/astro/commit/308e565ad39957e3353d72ca5d3bbce1a1b45008) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Support recmaPlugins config option
256
-
257
- ## 0.11.4
258
-
259
- ### Patch Changes
260
-
261
- - [#4953](https://github.com/withastro/astro/pull/4953) [`a59731995`](https://github.com/withastro/astro/commit/a59731995b93ae69c21dc3adc5c8b482b466d12e) Thanks [@bluwy](https://github.com/bluwy)! - Log markdown hints with console.info
262
-
263
- ## 0.11.3
264
-
265
- ### Patch Changes
266
-
267
- - [#4842](https://github.com/withastro/astro/pull/4842) [`812658ad2`](https://github.com/withastro/astro/commit/812658ad2ab3732a99e35c4fd903e302e723db46) Thanks [@bluwy](https://github.com/bluwy)! - Add missing dependencies, support strict dependency installation (e.g. pnpm)
268
-
269
- ## 0.11.2
270
-
271
- ### Patch Changes
272
-
273
- - [#4700](https://github.com/withastro/astro/pull/4700) [`e5f71142e`](https://github.com/withastro/astro/commit/e5f71142eb62bd72456e889dad5774347c3753f2) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Document MDXLayoutProps utility type
274
-
275
- - [#4858](https://github.com/withastro/astro/pull/4858) [`58a2dca22`](https://github.com/withastro/astro/commit/58a2dca2286cb14f6211cf51267c02447e78433a) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Correctly parse import.meta.env in MDX files
276
-
277
- ## 0.11.1
278
-
279
- ### Patch Changes
280
-
281
- - [#4588](https://github.com/withastro/astro/pull/4588) [`db38f61b2`](https://github.com/withastro/astro/commit/db38f61b2b2dc55f03b28797d19b163b1940f1c8) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Fix: Add GFM and Smartypants to MDX by default
282
-
283
- ## 0.11.0
284
-
285
- ### Minor Changes
286
-
287
- - [#4504](https://github.com/withastro/astro/pull/4504) [`8f8dff4d3`](https://github.com/withastro/astro/commit/8f8dff4d339a3a12ee155d81a97132032ef3b622) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Introduce new `extendPlugins` configuration option. This defaults to inheriting all remark and rehype plugins from your `markdown` config, with options to use either Astro's defaults or no inheritance at all.
288
-
289
- ## 0.10.3
290
-
291
- ### Patch Changes
292
-
293
- - [#4519](https://github.com/withastro/astro/pull/4519) [`a2e8e76c3`](https://github.com/withastro/astro/commit/a2e8e76c303e8d6f39c24c122905a10f06907997) Thanks [@JuanM04](https://github.com/JuanM04)! - Upgraded Shiki to v0.11.1
294
-
295
- - [#4530](https://github.com/withastro/astro/pull/4530) [`8504cd79b`](https://github.com/withastro/astro/commit/8504cd79b708e0d3bf1a2bb4ff9b86936bdd692b) Thanks [@kylebutts](https://github.com/kylebutts)! - Add custom components to README
296
-
297
- ## 0.10.2
298
-
299
- ### Patch Changes
300
-
301
- - [#4423](https://github.com/withastro/astro/pull/4423) [`d4cd7a59f`](https://github.com/withastro/astro/commit/d4cd7a59fd38d411c442a818cfaab40f74106628) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Update Markdown type signature to match new markdown plugin,and update top-level layout props for better alignment
302
-
303
- ## 0.10.2-next.0
304
-
305
- ### Patch Changes
306
-
307
- - [#4423](https://github.com/withastro/astro/pull/4423) [`d4cd7a59f`](https://github.com/withastro/astro/commit/d4cd7a59fd38d411c442a818cfaab40f74106628) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Update Markdown type signature to match new markdown plugin,and update top-level layout props for better alignment
308
-
309
- ## 0.10.1
310
-
311
- ### Patch Changes
312
-
313
- - [#4443](https://github.com/withastro/astro/pull/4443) [`adb207979`](https://github.com/withastro/astro/commit/adb20797962c280d4d38f335f577fd52a1b48d4b) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Fix MDX style imports when layout is not applied
314
-
315
- * [#4428](https://github.com/withastro/astro/pull/4428) [`a2414bf59`](https://github.com/withastro/astro/commit/a2414bf59e2e2cd633aece68e724401c4ad281b9) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Fix dev server reload performance when globbing from an MDX layout
316
-
317
- ## 0.10.0
318
-
319
- ### Minor Changes
320
-
321
- - [#4292](https://github.com/withastro/astro/pull/4292) [`f1a52c18a`](https://github.com/withastro/astro/commit/f1a52c18afe66e6d310743ae6884be76f69be265) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Switch from Shiki Twoslash to Astro's Shiki Markdown highlighter
322
-
323
- ## 0.9.0
324
-
325
- ### Minor Changes
326
-
327
- - [#4268](https://github.com/withastro/astro/pull/4268) [`f7afdb889`](https://github.com/withastro/astro/commit/f7afdb889fe4e97177958c8ec92f80c5f6e5cb51) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Align MD with MDX on layout props and "glob" import results:
328
- - Add `Content` to MDX
329
- - Add `file` and `url` to MDX frontmatter (layout import only)
330
- - Update glob types to reflect differences (lack of `rawContent` and `compiledContent`)
331
-
332
- ### Patch Changes
333
-
334
- - [#4272](https://github.com/withastro/astro/pull/4272) [`24d2f7a6e`](https://github.com/withastro/astro/commit/24d2f7a6e6700c10c863f826f37bb653d70e3a83) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Properly handle hydration for namespaced components
335
-
336
- ## 0.8.3
337
-
338
- ### Patch Changes
339
-
340
- - [#4248](https://github.com/withastro/astro/pull/4248) [`869d00935`](https://github.com/withastro/astro/commit/869d0093596b709cfcc1a1a95ee631b48d6d1c26) Thanks [@svemat01](https://github.com/svemat01)! - Load builtin rehype plugins before user plugins instead of after
341
-
342
- * [#4255](https://github.com/withastro/astro/pull/4255) [`411612808`](https://github.com/withastro/astro/commit/4116128082121ee276d51cb245bf8095be4728a1) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Pass injected frontmatter from remark and rehype plugins to layouts
343
-
344
- * Updated dependencies [[`1f0dd31d9`](https://github.com/withastro/astro/commit/1f0dd31d9239b5e3dca99c88d021e7a9a3e2054d)]:
345
- - @astrojs/prism@1.0.1
346
-
347
- ## 0.8.2
348
-
349
- ### Patch Changes
350
-
351
- - [#4237](https://github.com/withastro/astro/pull/4237) [`9d5ab5508`](https://github.com/withastro/astro/commit/9d5ab55086964fbede17da3d78c209c6d8d13711) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Update "Astro.props.content" -> "Astro.props.frontmatter" in README
352
-
353
- ## 0.8.1
354
-
355
- ### Patch Changes
356
-
357
- - Updated dependencies [[`04ad44563`](https://github.com/withastro/astro/commit/04ad445632c67bdd60c1704e1e0dcbcaa27b9308)]:
358
- - @astrojs/prism@1.0.0
359
-
360
- ## 0.8.0
361
-
362
- ### Minor Changes
363
-
364
- - [#4204](https://github.com/withastro/astro/pull/4204) [`4c2ca5352`](https://github.com/withastro/astro/commit/4c2ca5352d0c4119ed2a9e5e0b78ce71eb1b414a) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Remove `frontmatterOptions` from MDX config
365
-
366
- ### Patch Changes
367
-
368
- - [#4205](https://github.com/withastro/astro/pull/4205) [`6c9736cbc`](https://github.com/withastro/astro/commit/6c9736cbc90162f1de3ebccd7cfe98332749b639) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Add frontmatter injection instructions to README
369
-
370
- ## 0.7.0
371
-
372
- ### Minor Changes
373
-
374
- - [#4176](https://github.com/withastro/astro/pull/4176) [`2675b8633`](https://github.com/withastro/astro/commit/2675b8633c5d5c45b237ec87940d5eaf1bfb1b4b) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Support frontmatter injection for MD and MDX using remark and rehype plugins
375
-
376
- ### Patch Changes
377
-
378
- - [#4181](https://github.com/withastro/astro/pull/4181) [`77cede720`](https://github.com/withastro/astro/commit/77cede720b09bce34f29c3d2d8b505311ce876b1) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Make collect-headings rehype plugin non-overridable
379
-
380
- * [#4174](https://github.com/withastro/astro/pull/4174) [`8eb3a8c6d`](https://github.com/withastro/astro/commit/8eb3a8c6d9554707963c3a3bc36ed8b68d3cf0fb) Thanks [@matthewp](https://github.com/matthewp)! - Allows using React with automatic imports alongside MDX
381
-
382
- - [#4145](https://github.com/withastro/astro/pull/4145) [`c7efcf57e`](https://github.com/withastro/astro/commit/c7efcf57e00a0fcde3bc9f813e3cc59902bd484c) Thanks [@FredKSchott](https://github.com/FredKSchott)! - Fix a missing newline bug when `layout` was set.
383
-
384
- ## 0.6.0
385
-
386
- ### Minor Changes
387
-
388
- - [#4134](https://github.com/withastro/astro/pull/4134) [`2968ba2b6`](https://github.com/withastro/astro/commit/2968ba2b6f00775b6e9872681b390cb466fdbfa2) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Add `headings` and `frontmatter` properties to layout props
389
-
390
- ## 0.5.0
391
-
392
- ### Minor Changes
393
-
394
- - [#4095](https://github.com/withastro/astro/pull/4095) [`40ef43a59`](https://github.com/withastro/astro/commit/40ef43a59b08a1a8fbcd9f4a53745a9636a4fbb9) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Add IDs to MDX headings and expose via getHeadings() export
395
-
396
- * [#4114](https://github.com/withastro/astro/pull/4114) [`64432bcb8`](https://github.com/withastro/astro/commit/64432bcb873efd0e4297c00fc9583a1fe516dfe7) Thanks [@Princesseuh](https://github.com/Princesseuh)! - Refactor `@astrojs/mdx` and `@astrojs/markdown-remark` to use `@astrojs/prism` instead of duplicating the code
397
-
398
- ### Patch Changes
399
-
400
- - [#4112](https://github.com/withastro/astro/pull/4112) [`e33fc9bc4`](https://github.com/withastro/astro/commit/e33fc9bc46ff0a30013deb6dc76e545e70cc3a3e) Thanks [@matthewp](https://github.com/matthewp)! - Fix MDX working with a ts config file
401
-
402
- * [#4049](https://github.com/withastro/astro/pull/4049) [`b60cc0538`](https://github.com/withastro/astro/commit/b60cc0538bc5c68dd411117780d20d892530789d) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Improve `injectScript` handling for non-Astro pages
403
-
404
- * Updated dependencies [[`64432bcb8`](https://github.com/withastro/astro/commit/64432bcb873efd0e4297c00fc9583a1fe516dfe7)]:
405
- - @astrojs/prism@0.7.0
406
-
407
- ## 0.4.0
408
-
409
- ### Minor Changes
410
-
411
- - [#4088](https://github.com/withastro/astro/pull/4088) [`1743fe140`](https://github.com/withastro/astro/commit/1743fe140eb58d60e26cbd11a066bb60de046e0c) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Support "layout" frontmatter property
412
-
413
- ## 0.3.1
414
-
415
- ### Patch Changes
416
-
417
- - [#4076](https://github.com/withastro/astro/pull/4076) [`6120a71e5`](https://github.com/withastro/astro/commit/6120a71e5425ad55a17ddac800d64a3f50273bce) Thanks [@matthewp](https://github.com/matthewp)! - Ensure file and url are always present in MDX for Astro.glob
418
-
419
- ## 0.3.0
420
-
421
- ### Minor Changes
422
-
423
- - [#3977](https://github.com/withastro/astro/pull/3977) [`19433eb4a`](https://github.com/withastro/astro/commit/19433eb4a4441522f68492ca914ad2ab4f061343) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Add remarkPlugins and rehypePlugins to config, with the same default plugins as our standard Markdown parser
424
-
425
- * [#4002](https://github.com/withastro/astro/pull/4002) [`3b8a74452`](https://github.com/withastro/astro/commit/3b8a7445247221100462ba035f6778b43ea180e7) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Support Prism and Shiki syntax highlighting based on project config
426
-
427
- - [#3995](https://github.com/withastro/astro/pull/3995) [`b2b367c96`](https://github.com/withastro/astro/commit/b2b367c969493aaf21c974064beb241d05228066) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Support YAML frontmatter in MDX files
428
-
429
- ### Patch Changes
430
-
431
- - [#4050](https://github.com/withastro/astro/pull/4050) [`9ab66c4ba`](https://github.com/withastro/astro/commit/9ab66c4ba9bf2250990114c76b792f26d0694365) Thanks [@FredKSchott](https://github.com/FredKSchott)! - Add support for injected "page-ssr" scripts
432
-
433
- * [#3981](https://github.com/withastro/astro/pull/3981) [`61fec6304`](https://github.com/withastro/astro/commit/61fec63044e1585348e8405bee6fdf4dec635efa) Thanks [@bholmesdev](https://github.com/bholmesdev)! - Include page url in MDX glob result
434
-
435
- ## 0.2.1
436
-
437
- ### Patch Changes
438
-
439
- - [#3937](https://github.com/withastro/astro/pull/3937) [`31f9c0bf0`](https://github.com/withastro/astro/commit/31f9c0bf029ffa4b470e620f2c32e1370643e81e) Thanks [@delucis](https://github.com/delucis)! - Roll back supported Node engines
440
-
441
- ## 0.2.0
442
-
443
- ### Minor Changes
444
-
445
- - [#3914](https://github.com/withastro/astro/pull/3914) [`b48767985`](https://github.com/withastro/astro/commit/b48767985359bd359df8071324952ea5f2bc0d86) Thanks [@ran-dall](https://github.com/ran-dall)! - Rollback supported `node@16` version. Minimum versions are now `node@14.20.0` or `node@16.14.0`.
446
-
447
- ## 0.1.1
448
-
449
- ### Patch Changes
450
-
451
- - [#3885](https://github.com/withastro/astro/pull/3885) [`bf5d1cc1e`](https://github.com/withastro/astro/commit/bf5d1cc1e71da38a14658c615e9481f2145cc6e7) Thanks [@delucis](https://github.com/delucis)! - Integration README fixes
452
-
453
- ## 0.1.0
454
-
455
- ### Minor Changes
456
-
457
- - [#3871](https://github.com/withastro/astro/pull/3871) [`1cc5b7890`](https://github.com/withastro/astro/commit/1cc5b78905633608e5b07ad291f916f54e67feb1) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Update supported `node` versions. Minimum versions are now `node@14.20.0` or `node@16.16.0`.
458
-
459
- ## 0.0.3
460
-
461
- ### Patch Changes
462
-
463
- - [#3854](https://github.com/withastro/astro/pull/3854) [`b012ee55`](https://github.com/withastro/astro/commit/b012ee55b107dea0730286263b27d83e530fad5d) Thanks [@bholmesdev](https://github.com/bholmesdev)! - [astro add] Support adapters and third party packages
464
-
465
- ## 0.0.2
466
-
467
- ### Patch Changes
468
-
469
- - [#3706](https://github.com/withastro/astro/pull/3706) [`032ad1c0`](https://github.com/withastro/astro/commit/032ad1c047a62dd663067cc562537d16f2872aa7) Thanks [@natemoo-re](https://github.com/natemoo-re)! - Initial release! 🎉
package/src/index.ts DELETED
@@ -1,201 +0,0 @@
1
- import { markdownConfigDefaults } from '@astrojs/markdown-remark';
2
- import { toRemarkInitializeAstroData } from '@astrojs/markdown-remark/dist/internal.js';
3
- import { compile as mdxCompile } from '@mdx-js/mdx';
4
- import { PluggableList } from '@mdx-js/mdx/lib/core.js';
5
- import mdxPlugin, { Options as MdxRollupPluginOptions } from '@mdx-js/rollup';
6
- import type { AstroIntegration } from 'astro';
7
- import { parse as parseESM } from 'es-module-lexer';
8
- import fs from 'node:fs/promises';
9
- import type { Options as RemarkRehypeOptions } from 'remark-rehype';
10
- import { VFile } from 'vfile';
11
- import type { Plugin as VitePlugin } from 'vite';
12
- import { getRehypePlugins, getRemarkPlugins, recmaInjectImportMetaEnvPlugin } from './plugins.js';
13
- import { getFileInfo, parseFrontmatter } from './utils.js';
14
-
15
- const RAW_CONTENT_ERROR =
16
- 'MDX does not support rawContent()! If you need to read the Markdown contents to calculate values (ex. reading time), we suggest injecting frontmatter via remark plugins. Learn more on our docs: https://docs.astro.build/en/guides/integrations-guide/mdx/#inject-frontmatter-via-remark-or-rehype-plugins';
17
-
18
- const COMPILED_CONTENT_ERROR =
19
- 'MDX does not support compiledContent()! If you need to read the HTML contents to calculate values (ex. reading time), we suggest injecting frontmatter via rehype plugins. Learn more on our docs: https://docs.astro.build/en/guides/integrations-guide/mdx/#inject-frontmatter-via-remark-or-rehype-plugins';
20
-
21
- export type MdxOptions = Omit<typeof markdownConfigDefaults, 'remarkPlugins' | 'rehypePlugins'> & {
22
- extendMarkdownConfig: boolean;
23
- recmaPlugins: PluggableList;
24
- // Markdown allows strings as remark and rehype plugins.
25
- // This is not supported by the MDX compiler, so override types here.
26
- remarkPlugins: PluggableList;
27
- rehypePlugins: PluggableList;
28
- remarkRehype: RemarkRehypeOptions;
29
- };
30
-
31
- export default function mdx(partialMdxOptions: Partial<MdxOptions> = {}): AstroIntegration {
32
- return {
33
- name: '@astrojs/mdx',
34
- hooks: {
35
- 'astro:config:setup': async ({ updateConfig, config, addPageExtension, command }: any) => {
36
- addPageExtension('.mdx');
37
-
38
- const extendMarkdownConfig =
39
- partialMdxOptions.extendMarkdownConfig ?? defaultOptions.extendMarkdownConfig;
40
-
41
- const mdxOptions = applyDefaultOptions({
42
- options: partialMdxOptions,
43
- defaults: extendMarkdownConfig ? config.markdown : defaultOptions,
44
- });
45
-
46
- const mdxPluginOpts: MdxRollupPluginOptions = {
47
- remarkPlugins: await getRemarkPlugins(mdxOptions, config),
48
- rehypePlugins: getRehypePlugins(mdxOptions),
49
- recmaPlugins: mdxOptions.recmaPlugins,
50
- remarkRehypeOptions: mdxOptions.remarkRehype,
51
- jsx: true,
52
- jsxImportSource: 'astro',
53
- // Note: disable `.md` (and other alternative extensions for markdown files like `.markdown`) support
54
- format: 'mdx',
55
- mdExtensions: [],
56
- };
57
-
58
- let importMetaEnv: Record<string, any> = {
59
- SITE: config.site,
60
- };
61
-
62
- updateConfig({
63
- vite: {
64
- plugins: [
65
- {
66
- enforce: 'pre',
67
- ...mdxPlugin(mdxPluginOpts),
68
- configResolved(resolved) {
69
- importMetaEnv = { ...importMetaEnv, ...resolved.env };
70
- },
71
- // Override transform to alter code before MDX compilation
72
- // ex. inject layouts
73
- async transform(_, id) {
74
- if (!id.endsWith('mdx')) return;
75
-
76
- // Read code from file manually to prevent Vite from parsing `import.meta.env` expressions
77
- const { fileId } = getFileInfo(id, config);
78
- const code = await fs.readFile(fileId, 'utf-8');
79
-
80
- const { data: frontmatter, content: pageContent } = parseFrontmatter(code, id);
81
- const compiled = await mdxCompile(new VFile({ value: pageContent, path: id }), {
82
- ...mdxPluginOpts,
83
- remarkPlugins: [
84
- // Ensure `data.astro` is available to all remark plugins
85
- toRemarkInitializeAstroData({ userFrontmatter: frontmatter }),
86
- ...(mdxPluginOpts.remarkPlugins ?? []),
87
- ],
88
- recmaPlugins: [
89
- ...(mdxPluginOpts.recmaPlugins ?? []),
90
- () => recmaInjectImportMetaEnvPlugin({ importMetaEnv }),
91
- ],
92
- });
93
-
94
- return {
95
- code: escapeViteEnvReferences(String(compiled.value)),
96
- map: compiled.map,
97
- };
98
- },
99
- },
100
- {
101
- name: '@astrojs/mdx-postprocess',
102
- // These transforms must happen *after* JSX runtime transformations
103
- transform(code, id) {
104
- if (!id.endsWith('.mdx')) return;
105
-
106
- const [moduleImports, moduleExports] = parseESM(code);
107
-
108
- // Fragment import should already be injected, but check just to be safe.
109
- const importsFromJSXRuntime = moduleImports
110
- .filter(({ n }) => n === 'astro/jsx-runtime')
111
- .map(({ ss, se }) => code.substring(ss, se));
112
- const hasFragmentImport = importsFromJSXRuntime.some((statement) =>
113
- /[\s,{](Fragment,|Fragment\s*})/.test(statement)
114
- );
115
- if (!hasFragmentImport) {
116
- code = 'import { Fragment } from "astro/jsx-runtime"\n' + code;
117
- }
118
-
119
- const { fileUrl, fileId } = getFileInfo(id, config);
120
- if (!moduleExports.includes('url')) {
121
- code += `\nexport const url = ${JSON.stringify(fileUrl)};`;
122
- }
123
- if (!moduleExports.includes('file')) {
124
- code += `\nexport const file = ${JSON.stringify(fileId)};`;
125
- }
126
- if (!moduleExports.includes('rawContent')) {
127
- code += `\nexport function rawContent() { throw new Error(${JSON.stringify(
128
- RAW_CONTENT_ERROR
129
- )}) };`;
130
- }
131
- if (!moduleExports.includes('compiledContent')) {
132
- code += `\nexport function compiledContent() { throw new Error(${JSON.stringify(
133
- COMPILED_CONTENT_ERROR
134
- )}) };`;
135
- }
136
- if (!moduleExports.includes('Content')) {
137
- // Make `Content` the default export so we can wrap `MDXContent` and pass in `Fragment`
138
- code = code.replace('export default MDXContent;', '');
139
- code += `\nexport const Content = (props = {}) => MDXContent({
140
- ...props,
141
- components: { Fragment, ...props.components },
142
- });
143
- export default Content;`;
144
- }
145
-
146
- // Ensures styles and scripts are injected into a `<head>`
147
- // When a layout is not applied
148
- code += `\nContent[Symbol.for('astro.needsHeadRendering')] = !Boolean(frontmatter.layout);`;
149
-
150
- if (command === 'dev') {
151
- // TODO: decline HMR updates until we have a stable approach
152
- code += `\nif (import.meta.hot) {
153
- import.meta.hot.decline();
154
- }`;
155
- }
156
- return escapeViteEnvReferences(code);
157
- },
158
- },
159
- ] as VitePlugin[],
160
- },
161
- });
162
- },
163
- },
164
- };
165
- }
166
-
167
- const defaultOptions: MdxOptions = {
168
- ...markdownConfigDefaults,
169
- extendMarkdownConfig: true,
170
- recmaPlugins: [],
171
- remarkPlugins: [],
172
- rehypePlugins: [],
173
- remarkRehype: {},
174
- };
175
-
176
- function applyDefaultOptions({
177
- options,
178
- defaults,
179
- }: {
180
- options: Partial<MdxOptions>;
181
- defaults: MdxOptions;
182
- }): MdxOptions {
183
- return {
184
- syntaxHighlight: options.syntaxHighlight ?? defaults.syntaxHighlight,
185
- extendMarkdownConfig: options.extendMarkdownConfig ?? defaults.extendMarkdownConfig,
186
- recmaPlugins: options.recmaPlugins ?? defaults.recmaPlugins,
187
- remarkRehype: options.remarkRehype ?? defaults.remarkRehype,
188
- gfm: options.gfm ?? defaults.gfm,
189
- smartypants: options.smartypants ?? defaults.smartypants,
190
- remarkPlugins: options.remarkPlugins ?? defaults.remarkPlugins,
191
- rehypePlugins: options.rehypePlugins ?? defaults.rehypePlugins,
192
- shikiConfig: options.shikiConfig ?? defaults.shikiConfig,
193
- };
194
- }
195
-
196
- // Converts the first dot in `import.meta.env` to its Unicode escape sequence,
197
- // which prevents Vite from replacing strings like `import.meta.env.SITE`
198
- // in our JS representation of loaded Markdown files
199
- function escapeViteEnvReferences(code: string) {
200
- return code.replace(/import\.meta\.env/g, 'import\\u002Emeta.env');
201
- }