@@ -100,6 +100,7 @@ type PromptResult = {
100100 features ?: ( typeof FEATURE_OPTIONS ) [ number ] [ 'value' ] [ ]
101101 e2eFramework ?: 'cypress' | 'nightwatch' | 'playwright'
102102 experimentFeatures ?: ( typeof EXPERIMENTAL_FEATURE_OPTIONS ) [ number ] [ 'value' ] [ ]
103+ needsBareboneTemplates ? : boolean
103104}
104105
105106function isValidPackageName ( projectName ) {
@@ -251,6 +252,9 @@ async function init() {
251252 features : [ ] ,
252253 e2eFramework : undefined ,
253254 experimentFeatures : [ ] ,
255+
256+ // TODO: default to true sometime in the future
257+ needsBareboneTemplates : false ,
254258 }
255259
256260 intro (
@@ -352,7 +356,19 @@ async function init() {
352356 )
353357 }
354358
355- const { features , experimentFeatures } = result
359+ if ( argv . bare ) {
360+ result . needsBareboneTemplates = true
361+ } else if ( ! isFeatureFlagsUsed ) {
362+ result . needsBareboneTemplates = await unwrapPrompt (
363+ confirm ( {
364+ message : language . needsBareboneTemplates . message ,
365+ // TODO: default to true sometime in the future
366+ initialValue : false ,
367+ } ) ,
368+ )
369+ }
370+
371+ const { features , experimentFeatures , needsBareboneTemplates } = result
356372
357373 const needsTypeScript = argv . ts || argv . typescript || features . includes ( 'typescript' )
358374 const needsJsx = argv . jsx || features . includes ( 'jsx' )
@@ -562,7 +578,7 @@ async function init() {
562578 } ,
563579 )
564580
565- if ( argv . bare ) {
581+ if ( needsBareboneTemplates ) {
566582 trimBoilerplate ( root )
567583 render ( 'bare/base' )
568584 // TODO: refactor the `render` utility to avoid this kind of manual mapping?
@@ -629,7 +645,7 @@ async function init() {
629645 )
630646 }
631647
632- if ( argv . bare ) {
648+ if ( needsBareboneTemplates ) {
633649 removeCSSImport ( root , needsTypeScript , needsCypressCT )
634650 if ( needsRouter ) {
635651 emptyRouterConfig ( root , needsTypeScript )
0 commit comments