You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Merges JS modules into a single JS file asset to reduce the number of requests if multiple plugins add JS code.
13
+
14
+
- Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
15
+
16
+
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
17
+
18
+
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
19
+
20
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
21
+
22
+
- Improves plugin development experience by automatically restarting the dev server if any files imported into `ec.config.mjs` are changed.
23
+
24
+
Before this update, only changes to `ec.config.mjs` itself were detected, so plugin development had to be done inside the config file if you wanted to see your changes reflected live in the dev server. Now, you can also develop your plugins in separate files and get the same experience.
25
+
26
+
Note: As this feature relies on Vite's module dependency graph, it currently only works if there is at least a single `<Code>` component on the page (which uses imports handled by Vite).
27
+
28
+
- Ensures that static assets (styles and JS modules) are prerendered when using SSR adapters. Thank you [@alexanderniebuhr](https://github.com/alexanderniebuhr)!
29
+
30
+
To achieve this, the previous approach of using `injectRoute` was dropped and the assets are now being handled by the Vite plugin.
31
+
32
+
- Makes `astro-expressive-code` compatible with SSR adapters.
33
+
34
+
To achieve this, the code responsible for loading the optional `ec.config.mjs` file was replaced with a new version that no longer requires any Node.js-specific functionality.
35
+
36
+
- Makes Expressive Code compatible with Bun. Thank you [@tylergannon](https://github.com/tylergannon) for the fix and @richardguerre for the report!
37
+
38
+
This fixes the error `msg.match is not a function` that was thrown when trying to use Expressive Code with Bun.
39
+
40
+
Additionally, the `type` modifier was added to some imports and exports to fix further Bun issues with plugins and integrations found during testing.
41
+
42
+
-**Potentially breaking change:** Since this version, all packages are only distributed in modern ESM format, which greatly reduces bundle size.
43
+
44
+
Most projects should not be affected by this change at all, but in case you still need to import Expressive Code packages into a CommonJS project, you can use the widely supported `await import(...)` syntax.
45
+
46
+
- Adds a `data-language` attribute to the `<pre>` element of rendered code blocks.
47
+
48
+
The value is set to code block's syntax highlighting language as specified in the opening code fence or `<Code lang="...">` attribute (e.g. `js` or `md`).
49
+
50
+
If a code block has no language specified, it will default to `plaintext`.
51
+
52
+
You can use this attribute to apply styles to code blocks based on their language.
53
+
54
+
- Adds `definePlugin` export to `@expressive-code/core` and all integrations to help define an Expressive Code plugin.
55
+
56
+
Using this function is recommended, but not required. It just passes through the given object, but it also provides type information for your editor's auto-completion and type checking.
57
+
58
+
- Allows annotations to be defined as plain objects without the need to extend a class, as long as they have all properties required by `ExpressiveCodeAnnotation`.
59
+
60
+
- Fixes types of `PartialAstroConfig` to match `AstroConfig` types.
61
+
62
+
- Clones internal TinyColor instance with an object input instead of string input for faster parsing performance. Thanks [@bluwy](https://github.com/bluwy)!
63
+
10
64
## 0.33.5
11
65
12
66
- Updates handling of Astro config option `build.assetsPrefix` to support new file extension-based alternatives added in Astro 4.5.0.
Copy file name to clipboardExpand all lines: packages/@expressive-code/core/CHANGELOG.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,13 +12,13 @@
12
12
13
13
You can use this attribute to apply styles to code blocks based on their language.
14
14
15
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
15
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
16
16
17
17
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
18
18
19
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
19
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
20
20
21
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
21
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
22
22
23
23
- af2a10a: Adds `definePlugin` export to `@expressive-code/core` and all integrations to help define an Expressive Code plugin.
24
24
@@ -38,7 +38,7 @@
38
38
39
39
### Patch Changes
40
40
41
-
- 9eb8619: Clones internal TinyColor instance with an object input instead of string input for faster parsing performance
41
+
- 9eb8619: Clones internal TinyColor instance with an object input instead of string input for faster parsing performance. Thanks @bluwy!
Copy file name to clipboardExpand all lines: packages/@expressive-code/plugin-collapsible-sections/CHANGELOG.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
### Minor Changes
6
6
7
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
7
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
8
8
9
9
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
10
10
11
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
11
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
12
12
13
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
13
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
14
14
15
15
- b6e7167: **Potentially breaking change:** Since this version, all packages are only distributed in modern ESM format, which greatly reduces bundle size.
Copy file name to clipboardExpand all lines: packages/@expressive-code/plugin-frames/CHANGELOG.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
### Minor Changes
6
6
7
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
7
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
8
8
9
9
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
10
10
11
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
11
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
12
12
13
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
13
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
14
14
15
15
- b6e7167: **Potentially breaking change:** Since this version, all packages are only distributed in modern ESM format, which greatly reduces bundle size.
Copy file name to clipboardExpand all lines: packages/@expressive-code/plugin-line-numbers/CHANGELOG.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
### Minor Changes
6
6
7
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
7
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
8
8
9
9
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
10
10
11
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
11
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
12
12
13
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
13
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
14
14
15
15
- b6e7167: **Potentially breaking change:** Since this version, all packages are only distributed in modern ESM format, which greatly reduces bundle size.
Copy file name to clipboardExpand all lines: packages/@expressive-code/plugin-shiki/CHANGELOG.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
### Minor Changes
6
6
7
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
7
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
8
8
9
9
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
10
10
11
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
11
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
12
12
13
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
13
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
14
14
15
15
- b6e7167: **Potentially breaking change:** Since this version, all packages are only distributed in modern ESM format, which greatly reduces bundle size.
Copy file name to clipboardExpand all lines: packages/@expressive-code/plugin-text-markers/CHANGELOG.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@
4
4
5
5
### Minor Changes
6
6
7
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
7
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
8
8
9
9
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
10
10
11
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
11
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
12
12
13
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
13
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
14
14
15
15
- b6e7167: **Potentially breaking change:** Since this version, all packages are only distributed in modern ESM format, which greatly reduces bundle size.
Copy file name to clipboardExpand all lines: packages/astro-expressive-code/CHANGELOG.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,13 +5,14 @@
5
5
### Minor Changes
6
6
7
7
- af2a10a: Merges JS modules into a single JS file asset to reduce the number of requests if multiple plugins add JS code.
8
-
- b94a91d: - Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
8
+
9
+
- b94a91d: Updates dependencies `hast`, `hastscript` and `hast-util-*` to the latest versions.
9
10
10
11
**Potentially breaking change:** Unfortunately, some of the new `hast` types are incompatible with their old versions. If you created custom plugins to manipulate HAST nodes, you may need to update your dependencies as well and probably change some types. For example, if you were using the `Parent` type before, you will probably need to replace it with `Parents` or `Element` in the new version.
11
12
12
-
- Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
13
+
- b94a91d: Adds a new `/hast` entrypoint to `@expressive-code/core`, `expressive-code`, `remark-expressive-code` and `astro-expressive-code` to simplify plugin development.
13
14
14
-
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
15
+
This new entrypoint provides direct access to the correct versions of HAST types and commonly used tree traversal, querying and manipulation functions. Instead of having to add your own dependencies on libraries like `hastscript`, `hast-util-select` or `unist-util-visit` to your project and manually keeping them in sync with the versions used by Expressive Code, you can now import the internally used functions and types directly from this new entrypoint.
15
16
16
17
- af2a10a: Improves plugin development experience by automatically restarting the dev server if any files imported into `ec.config.mjs` are changed.
0 commit comments