configEnvironmentPlugin() — astro Function Reference
Architecture documentation for the configEnvironmentPlugin() function in index.ts from the astro codebase.
Entity Profile
Dependency Diagram
graph TD ba0d20ce_c876_15aa_b0c7_59ee8fbf99e7["configEnvironmentPlugin()"] eecbb2c4_1cf9_b32b_f41f_438a6587b783["index.ts"] ba0d20ce_c876_15aa_b0c7_59ee8fbf99e7 -->|defined in| eecbb2c4_1cf9_b32b_f41f_438a6587b783 3505419d_39da_09ce_a027_e46d2f0fcbb5["getViteConfiguration()"] 3505419d_39da_09ce_a027_e46d2f0fcbb5 -->|calls| ba0d20ce_c876_15aa_b0c7_59ee8fbf99e7 style ba0d20ce_c876_15aa_b0c7_59ee8fbf99e7 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/integrations/react/src/index.ts lines 100–146
function configEnvironmentPlugin(reactConfig: ReactVersionConfig): vite.Plugin {
return {
name: '@astrojs/react:environment',
configEnvironment(environmentName, options): EnvironmentOptions {
const finalOptions: EnvironmentOptions = {
resolve: {
dedupe: ['react', 'react-dom'],
},
optimizeDeps: {},
};
if (
environmentName === 'client' ||
((environmentName === 'ssr' || environmentName === 'prerender') &&
options.optimizeDeps?.noDiscovery === false)
) {
// SAFETY: we initialized it before
finalOptions.optimizeDeps!.include = [
'react',
'react/jsx-runtime',
'react/jsx-dev-runtime',
'react-dom',
];
finalOptions.optimizeDeps!.exclude = [reactConfig.server];
if (environmentName === 'ssr' || environmentName === 'prerender') {
finalOptions.optimizeDeps!.include.push('react-dom/server');
if (!options.resolve?.noExternal) {
finalOptions.resolve!.noExternal = [
// These are all needed to get mui to work.
'@mui/material',
'@mui/base',
'@babel/runtime',
'use-immer',
'@material-tailwind/react',
];
}
}
if (environmentName === 'client') {
finalOptions.optimizeDeps!.include.push('react-dom/client');
finalOptions.optimizeDeps!.include.push(reactConfig.client);
}
}
return finalOptions;
},
};
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does configEnvironmentPlugin() do?
configEnvironmentPlugin() is a function in the astro codebase, defined in packages/integrations/react/src/index.ts.
Where is configEnvironmentPlugin() defined?
configEnvironmentPlugin() is defined in packages/integrations/react/src/index.ts at line 100.
What calls configEnvironmentPlugin()?
configEnvironmentPlugin() is called by 1 function(s): getViteConfiguration.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free