@@ -7833,27 +7833,25 @@ function createBundleRunner (entry, files, basedir, runInNewContext) {
7833
7833
}
7834
7834
}
7835
7835
userContext . _registeredComponents = new Set ( ) ;
7836
+
7836
7837
// vue-style-loader styles imported outside of component lifecycle hooks
7837
7838
if ( initialContext . _styles ) {
7838
7839
userContext . _styles = deepClone ( initialContext . _styles ) ;
7839
- }
7840
- // #6353 after the app is resolved, if the userContext doesn't have a
7841
- // styles property, it means the app doesn't have any lifecycle-injected
7842
- // styles, so vue-style-loader never defined the styles getter.
7843
- // just expose the same styles from the initialContext.
7844
- var exposeStylesAndResolve = function ( app ) {
7845
- if ( ! userContext . hasOwnProperty ( 'styles' ) ) {
7846
- userContext . styles = initialContext . styles ;
7840
+ // #6353 ensure "styles" is exposed even if no styles are injected
7841
+ // in component lifecycles.
7842
+ // the renderStyles fn is exposed by vue-style-loader >= 3.0.3
7843
+ var renderStyles = initialContext . _renderStyles ;
7844
+ if ( renderStyles ) {
7845
+ Object . defineProperty ( userContext , 'styles' , {
7846
+ enumerable : true ,
7847
+ get : function get ( ) {
7848
+ return renderStyles ( userContext . _styles )
7849
+ }
7850
+ } ) ;
7847
7851
}
7848
- resolve ( app ) ;
7849
- } ;
7850
-
7851
- var res = runner ( userContext ) ;
7852
- if ( typeof res . then === 'function' ) {
7853
- res . then ( exposeStylesAndResolve ) ;
7854
- } else {
7855
- exposeStylesAndResolve ( res ) ;
7856
7852
}
7853
+
7854
+ resolve ( runner ( userContext ) ) ;
7857
7855
} ) ;
7858
7856
}
7859
7857
}
0 commit comments