@@ -29,8 +29,10 @@ if (process.env.CI) {
2929
3030 examples = [ ...new Set ( dirs ) ] . filter ( ( d ) => ! TO_IGNORE . includes ( d ) ) ;
3131} else {
32- examples = await fse . readdir ( process . cwd ( ) ) ;
33- examples = examples . filter ( ( d ) => ! TO_IGNORE . includes ( d ) ) ;
32+ const entries = await fse . readdir ( process . cwd ( ) , { withFileTypes : true } ) ;
33+ examples = entries
34+ . filter ( ( entry ) => entry . isDirectory ( ) )
35+ . filter ( ( d ) => ! TO_IGNORE . includes ( d ) ) ;
3436}
3537
3638const list = new Intl . ListFormat ( "en" , { style : "long" , type : "conjunction" } ) ;
@@ -41,6 +43,29 @@ const settled = await Promise.allSettled(
4143 examples . map ( async ( example ) => {
4244 const pkgJson = await PackageJson . load ( example ) ;
4345
46+ const remixDeps = Object . keys ( pkgJson . content . dependencies ) . filter ( ( d ) => {
47+ return d . startsWith ( "@remix-run/" ) ;
48+ } ) ;
49+
50+ const remixDevDeps = Object . keys ( pkgJson . content . devDependencies ) . filter (
51+ ( d ) => {
52+ return d . startsWith ( "@remix-run/" ) ;
53+ }
54+ ) ;
55+
56+ pkgJson . update ( {
57+ dependencies : {
58+ ...pkgJson . content . dependencies ,
59+ ...Object . fromEntries ( remixDeps . map ( ( d ) => [ d , `latest` ] ) ) ,
60+ } ,
61+ devDependencies : {
62+ ...pkgJson . content . devDependencies ,
63+ ...Object . fromEntries ( remixDevDeps . map ( ( d ) => [ d , `latest` ] ) ) ,
64+ } ,
65+ } ) ;
66+
67+ await pkgJson . save ( ) ;
68+
4469 /** @type {import('execa').Options } */
4570 const options = { cwd : example } ;
4671
@@ -89,17 +114,6 @@ const settled = await Promise.allSettled(
89114 return ;
90115 }
91116
92- if ( ! ( "typecheck" in pkgJson . content . scripts ) ) {
93- pkgJson . update ( {
94- scripts : {
95- ...pkgJson . content . scripts ,
96- typecheck : "tsc --skipLibCheck" ,
97- } ,
98- } ) ;
99-
100- await pkgJson . save ( ) ;
101- }
102-
103117 const typecheck = await getCommand ( detected , "run" , [ "typecheck" ] ) ;
104118 const typecheckArgs = typecheck . split ( " " ) . slice ( 1 ) ;
105119 console . log (
@@ -112,6 +126,19 @@ const settled = await Promise.allSettled(
112126 console . error ( typecheckResult . stderr ) ;
113127 return ;
114128 }
129+
130+ pkgJson . update ( {
131+ dependencies : {
132+ ...pkgJson . content . dependencies ,
133+ ...Object . fromEntries ( remixDeps . map ( ( d ) => [ d , `*` ] ) ) ,
134+ } ,
135+ devDependencies : {
136+ ...pkgJson . content . devDependencies ,
137+ ...Object . fromEntries ( remixDevDeps . map ( ( d ) => [ d , `*` ] ) ) ,
138+ } ,
139+ } ) ;
140+
141+ await pkgJson . save ( ) ;
115142 } )
116143) ;
117144
0 commit comments