-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(feat) return updated config in integration hooks #9013
Changes from all commits
a25af0c
5eace19
d0e8837
1e73b3b
fd9efee
d377267
abba7a3
c2d425a
089f034
06c51cc
60fea6e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
--- | ||
'astro': patch | ||
--- | ||
|
||
Returns the updated config in the integration `astro:config:setup` hook's `updateConfig()` API |
Original file line number | Diff line number | Diff line change | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -118,6 +118,7 @@ export async function runHookConfigSetup({ | |||||||||||||
}, | ||||||||||||||
updateConfig: (newConfig) => { | ||||||||||||||
updatedConfig = mergeConfig(updatedConfig, newConfig) as AstroConfig; | ||||||||||||||
return { ...updatedConfig }; | ||||||||||||||
}, | ||||||||||||||
injectRoute: (injectRoute) => { | ||||||||||||||
updatedSettings.injectedRoutes.push(injectRoute); | ||||||||||||||
|
@@ -374,6 +375,7 @@ export async function runHookBuildSetup({ | |||||||||||||
target, | ||||||||||||||
updateConfig: (newConfig) => { | ||||||||||||||
updatedConfig = mergeConfig(updatedConfig, newConfig); | ||||||||||||||
return { ...updatedConfig }; | ||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. why is this a spread? Does it need to be cloned? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's spread in the original declaration for Ref: astro/packages/astro/src/integrations/index.ts Lines 72 to 77 in 06c51cc
|
||||||||||||||
}, | ||||||||||||||
logger: getLogger(integration, logger), | ||||||||||||||
}), | ||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This certainly is a lot better than before, but it could maybe give a false sense of safety.
{}
is technicallyPartial<URL>
, for example.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be an edge case admittedly, and the runtime logic might actually handle it too. I'll take a closer look when I can, but I'm not blocking a merge.