-
#11234
4385bf7
Thanks @ematipico! - Adds a new function calledaddServerRenderer
to the Container API. Use this function to manually store renderers inside the instance of your container.This new function should be preferred when using the Container API in environments like on-demand pages:
import type { APIRoute } from 'astro'; import { experimental_AstroContainer } from 'astro/container'; import reactRenderer from '@astrojs/react/server.js'; import vueRenderer from '@astrojs/vue/server.js'; import ReactComponent from '../components/button.jsx'; import VueComponent from '../components/button.vue'; // MDX runtime is contained inside the Astro core import mdxRenderer from 'astro/jsx/server.js'; // In case you need to import a custom renderer import customRenderer from '../renderers/customRenderer.js'; export const GET: APIRoute = async (ctx) => { const container = await experimental_AstroContainer.create(); container.addServerRenderer({ renderer: reactRenderer }); container.addServerRenderer({ renderer: vueRenderer }); container.addServerRenderer({ renderer: customRenderer }); // You can pass a custom name too container.addServerRenderer({ name: 'customRenderer', renderer: customRenderer, }); const vueComponent = await container.renderToString(VueComponent); return await container.renderToResponse(Component); };
-
#11144
803dd80
Thanks @ematipico! - The integration now exposes a function calledgetContainerRenderer
, that can be used inside the Container APIs to load the relative renderer.import { experimental_AstroContainer as AstroContainer } from 'astro/container'; import ReactWrapper from '../src/components/ReactWrapper.astro'; import { loadRenderers } from 'astro:container'; import { getContainerRenderer } from '@astrojs/react'; test('ReactWrapper with react renderer', async () => { const renderers = await loadRenderers([getContainerRenderer()]); const container = await AstroContainer.create({ renderers, }); const result = await container.renderToString(ReactWrapper); expect(result).toContain('Counter'); expect(result).toContain('Count: <!-- -->5'); });
-
#11055
b92de22
Thanks @niklas-wortmann! - Updates thedevtools
type to allow passingVueDevToolsOptions
For more customization, you can pass options that the Vue DevTools Vite Plugin supports. (Note:
appendTo
is not supported.) For example, you can setlaunchEditor
to your preferred editor if you are not using Visual Studio Code:import { defineConfig } from 'astro/config'; import vue from '@astrojs/vue'; export default defineConfig({ // ... integrations: [ vue({ devtools: { launchEditor: 'webstorm' }, }), ], });
-
#10929
082abb8
Thanks @florian-lefebvre! - Adds adevtools
optionYou can enable the official Vue DevTools while working in development mode by setting
devtools:true
in yourvue()
integration config:import { defineConfig } from 'astro/config'; import vue from '@astrojs/vue'; export default defineConfig({ integrations: [vue({ devtools: true })], });
-
#10689
683d51a5eecafbbfbfed3910a3f1fbf0b3531b99
Thanks @ematipico! - Deprecate support for versions of Node.js older thanv18.17.1
for Node.js 18, older thanv20.0.3
for Node.js 20, and the complete Node.js v19 release line.This change is in line with Astro's Node.js support policy.
- #10687
4ea042c38839783fb42e8261d89d7c7149892518
Thanks @bluwy! - Removes unusedjsxTransformOptions
andjsxImportSource
options from the renderer config
- #10601
b3028caecf1a96310e2ee7a65075a81c231d87be
Thanks @kalepail! - Remove the unnecessary and deprecated @vue/server-renderer package from the ssr.external vite config
- #10419
ee07e62942eb07532bd70365c7dd3ca2e4a18064
Thanks @Princesseuh! - Fixes using images from public inside Vue components not working correctly
-
#9620
a1bb5fea552ce65585f49ecb6701733c48d117f9
Thanks @bluwy! - Fixesclass
property hydration error -
#9490
a1c31665cbc48bfdf4885112b427db48ecc48276
Thanks @natemoo-re! - Fixes a bug that caused styles referenced byappEntrypoint
to be excluded from the build
- #9558
e496b2e3b84b673b81c872dad9a6b3f9dd32396a
Thanks @michaelhthomas! - Fixes support for asyncappEntrypoint
- #9479
1baf0b0d3cbd0564954c2366a7278794fad6726e
Thanks @sarah11918! - Updates README
- #9452
e83b5095f
Thanks @florian-lefebvre! - Upgrades vite to latest
- #9366
1b4e91898
Thanks @lilnasy! - Updates NPM package to refer to the stable Astro version instead of a beta.
- #9333
b832cd190
Thanks @natemoo-re! - Fixes issue withappEntrypoint
when runningastro dev
- #8794
4d4e34d45
Thanks @yoyo837! - Prevents Astro from crashing when no default function is exported from theappEntrypoint
. Now, the entrypoint will be ignored with a warning instead.
- #9122
1c48ed286
Thanks @bluwy! - Adds Vite 5 support. There are no breaking changes from Astro. Check the Vite migration guide for details of the breaking changes from Vite instead.
-
#9122
1c48ed286
Thanks @bluwy! - Adds Vite 5 support. There are no breaking changes from Astro. Check the Vite migration guide for details of the breaking changes from Vite instead. -
Updated dependencies [
abf601233
,6201bbe96
,cdabf6ef0
,1c48ed286
,37697a2c5
,bd0c2e9ae
,0fe3a7ed5
,710be505c
,153a5abb9
]:
- #8998
14e586cc7
Thanks @minht11! - Adds editor support for Vue non setup script blocks and Vue 3.3 generics.
- #8930
c77f55d9c
Thanks @matthewp! - Fixes an issue where Astro slot names were being rendered as attributes in components. Astro slot names will no longer be sent as props to framework components.
-
#8860
65c7bd149
Thanks @bluwy! - Fix Vue component HMR when updating the script tag -
Updated dependencies [
5ea6ee0ed
,5c888c10b
,ad2bb9155
,326e17893
]:
-
#8737
6f60da805
Thanks @ematipico! - Add provenance statement when publishing the library from CI -
Updated dependencies [
6f60da805
,d78806dfe
,d1c75fe15
,aa265d730
,78adbc443
,21e0757ea
,357270f2a
]:
-
#8188
d0679a666
Thanks @ematipico! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023. -
#8179
6011d52d3
Thanks @matthewp! - Astro 3.0 Release Candidate
-
#8264
1f58a7a1b
Thanks @natemoo-re! - Automatically unmount islands whenastro:unmount
is fired -
Updated dependencies [
d0679a666
,db39206cb
,adf9fccfd
,0c7b42dc6
,46c4c0e05
,364d861bd
,2484dc408
,81545197a
,6011d52d3
,c2c71d90c
,cd2d7e769
,80f1494cd
,e45f30293
,c0de7a7b0
,65c354969
,3c3100851
,34cb20021
,a824863ab
,44f7a2872
,1048aca55
,be6bbd2c8
,9e021a91c
,7511a4980
,c37632a20
,acf652fc1
,42785c7b7
,8450379db
,dbc97b121
,7d2f311d4
,2540feedb
,ea7ff5177
,68efd4a8b
,7bd1b86f8
,036388f66
,519a1c4e8
,1f58a7a1b
,2ae9d37f0
,a8f35777e
,70f34f5a3
,5208a3c8f
,84af8ed9d
,f003e7364
,ffc9e2d3d
,732111cdc
,0f637c71e
,33b8910cf
,8a5b0c1f3
,148e61d24
,e79e3779d
,632579dc2
,3674584e0
,1db4e92c1
,e7f872e91
,16f09dfff
,4477bb41c
,55c10d1d5
,3e834293d
,96beb883a
,997a0db8a
,80f1494cd
,0f0625504
,e1ae56e72
,f32d093a2
,f01eb585e
,b76c166bd
,a87cbe400
,866ed4098
,767eb6866
,32669cd47
]:
-
#8264
1f58a7a1b
Thanks @natemoo-re! - Automatically unmount islands whenastro:unmount
is fired -
Updated dependencies [
0c7b42dc6
,9e021a91c
,1f58a7a1b
,1db4e92c1
]:
- Updated dependencies [
adf9fccfd
,582132328
,81545197a
,6011d52d3
,be6bbd2c8
,42785c7b7
,95120efbe
,2ae9d37f0
,f003e7364
,732111cdc
,33b8910cf
,e79e3779d
,179796405
,a87cbe400
,767eb6866
]:
1eae2e3f7
Thanks @Princesseuh! - Remove support for Node 16. The lowest supported version by Astro and all integrations is now v18.14.1. As a reminder, Node 16 will be deprecated on the 11th September 2023.
- Updated dependencies [
1eae2e3f7
,76ddef19c
,9b4f70a62
,3fdf509b2
,2f951cd40
,c022a4217
,67becaa58
,bc37331d8
,dfc2d93e3
,3dc1ca2fa
,1be84dfee
,35f01df79
,3fdf509b2
,78de801f2
,59d6e569f
,7723c4cc9
,fb5cd6b56
,631b9c410
]:
-
#7196
1c77779dd
Thanks @bluwy! - Fixastro-static-slot
hydration mismatch error -
Updated dependencies [
8b041bf57
,6c7df28ab
,ee2aca80a
,7851f9258
,bef3a75db
,52af9ad18
,f5063d0a0
,cf621340b
,2bda7fb0b
,af3c5a2e2
,f2f18b440
]:
-
#7093
3d525efc9
Thanks @matthewp! - Prevent removal of nested slots within islandsThis change introduces a new flag that renderers can add called
supportsAstroStaticSlot
. What this does is let Astro know that the render is sending<astro-static-slot>
as placeholder values for static (non-hydrated) slots which Astro will then remove.This change is completely backwards compatible, but fixes bugs caused by combining ssr-only and client-side framework components like so:
<Component> <div> <Component client:load> <span>Nested</span> </Component> </div> </Component>
-
#7104
826e02890
Thanks @bluwy! - Specify"files"
field to only publish necessary files -
Updated dependencies [
4516d7b22
,e186ecc5e
,c6d7ebefd
,914c439bc
,e9fc2c221
,075eee08f
,719002ca5
,fc52681ba
,fb84622af
,cada10a46
,cd410c5eb
,73ec6f6c1
,410428672
,763ff2d1e
,c1669c001
,3d525efc9
]:
-
#6671
d59e511d1
Thanks @wulinsheng123! - Supporting the top of the await syntax sugar for Vue in the template's setup -
Updated dependencies [
489dd8d69
,a1a4f45b5
,a1108e037
,8b88e4cf1
,d54cbe413
,4c347ab51
,ff0430786
,2f2e572e9
,7116c021a
]:
- #6213
afbbc4d5b
Thanks @Princesseuh! - Updated compilation settings to disable downlevelling for Node 14
-
#5478
1c7eef308
Thanks @nemo0! - Update READMEs for consistency -
Updated dependencies [
b4432cd6b
,98a4a914b
,071e1dee7
,322e059d0
,b994f6f35
,12c68343c
]:
-
#5782
1f92d64ea
Thanks @Princesseuh! - Remove support for Node 14. Minimum supported Node version is now >=16.12.0 -
#5685
f6cf92b48
Thanks @bluwy! - Upgrade to Vite 4. Please see its migration guide for more information. -
#5806
7572f7402
Thanks @matthewp! - Make astro apeerDependency
of integrationsThis marks
astro
as apeerDependency
of several packages that are already gettingmajor
version bumps. This is so we can more properly track the dependency between them and what version of Astro they are being used with.
- Updated dependencies [
93e633922
,16dc36a87
,01f3f463b
,e2019be6f
,05caf445d
,49ab4f231
,a342a486c
,8fb28648f
,1f92d64ea
,c2180746b
,ae8a012a7
,cf2de5422
,ce5c5dbd4
,ec09bb664
,665a2c222
,259a539d7
,f7aa1ec25
,4987d6f44
,304823811
,302e0ef8f
,55cea0a9d
,dd56c1941
,9963c6e4d
,be901dc98
,f6cf92b48
,e818cc046
,8c100a6fe
,116d8835c
,840412128
,1f49cddf9
,7325df412
,16c7d0bfd
,a9c292026
,2a5786419
,4a1cabfe6
,a8d3e7924
,fa8c131f8
,64b8082e7
,c4b0cb8bf
,23dc9ea96
,63a6ceb38
,a3a7fc929
,52209ca2a
,5fd9208d4
,5eba34fcc
,899214298
,3a00ecb3e
,5eba34fcc
,2303f9514
,1ca81c16b
,b66d7195c
]:
See changes in 2.0.0-beta.1
-
#5782
1f92d64ea
Thanks @Princesseuh! - Remove support for Node 14. Minimum supported Node version is now >=16.12.0 -
#5806
7572f7402
Thanks @matthewp! - Make astro apeerDependency
of integrationsThis marks
astro
as apeerDependency
of several packages that are already gettingmajor
version bumps. This is so we can more properly track the dependency between them and what version of Astro they are being used with.
See changes in 2.0.0-beta.0
- #5685
f6cf92b48
Thanks @bluwy! - Upgrade to Vite 4. Please see its migration guide for more information.
- #5126
850cc19fd
Thanks @natemoo-re! - Automatically addvuetify
tovite.ssr.noExternal
-
#5075
d25f54cb9
Thanks @natemoo-re! - Add support for theappEntrypoint
option, which accepts a root-relative path to an app entrypoint. The default export of this file should be a function that accepts a VueApp
instance prior to rendering. This opens up the ability to extend theApp
instance with custom Vue plugins.// astro.config.mjs import { defineConfig } from 'astro/config'; import vue from '@astrojs/vue'; export default defineConfig({ integrations: [ vue({ appEntrypoint: '/src/pages/_app', }), ], });
// src/pages/_app.ts import type { App } from 'vue'; import i18nPlugin from '../plugins/i18n'; export default function setup(app: App) { app.use(i18nPlugin, { /* options */ }); }
- #4842
812658ad2
Thanks @bluwy! - Add missing dependencies, support strict dependency installation (e.g. pnpm)
- #4706
b0ee81d0a
Thanks @bholmesdev! - Fix Vuescript setup
with other renderers applied
-
04ad44563
- > Astro v1.0 is out! Read the official announcement post.No breaking changes. This package is now officially stable and compatible with
[email protected]
!
- #3914
b48767985
Thanks @ran-dall! - Rollback supportednode@16
version. Minimum versions are now[email protected]
or[email protected]
.
- #3871
1cc5b7890
Thanks @natemoo-re! - Update supportednode
versions. Minimum versions are now[email protected]
or[email protected]
.
- #3854
b012ee55
Thanks @bholmesdev! - [astro add] Support adapters and third party packages
- #3864
f9ed77bb
Thanks @Princesseuh! - Add entrypoints for editor support for Vue and Svelte (destined to be used by our language server)
-
#3652
7373d61c
Thanks @natemoo-re! - Adds support for passing named slots from.astro
=> framework components.Inside your components, use the built-in
slot
API as you normally would.
- #3455
e9a77d86
Thanks @natemoo-re! - Update client hydration to check forssr
attribute. Requiresastro@^1.0.0-beta.36
.
- #3333
ce6d7982
Thanks @FredKSchott! - Fix a vite peer dependency bug
0c6bbee4
Thanks @FredKSchott! - Republishing. No changes from v0.1.2.
- #3143
44e294c9
Thanks @tony-sull! -@astrojs/vue
integration supports custom vue compiler options
815d62f1
Thanks @FredKSchott! - no changes.
- #2979
9d7a4b59
Thanks @FredKSchott! - Welcome to the Astro v1.0.0 Beta! Read the official announcement for more details.
- #2885
6b004363
Thanks @bholmesdev! - Add README across Astro built-in integrations
- #2847
3b621f7a
Thanks @tony-sull! - Adds keywords to the official integrations to support discoverability on Astro's Integrations site
- #2847
3b621f7a
Thanks @tony-sull! - Adds keywords to the official integrations to support discoverability on Astro's Integrations site