@@ -29,8 +29,10 @@ if (process.env.CI) {
29
29
30
30
examples = [ ...new Set ( dirs ) ] . filter ( ( d ) => ! TO_IGNORE . includes ( d ) ) ;
31
31
} 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 ) ) ;
34
36
}
35
37
36
38
const list = new Intl . ListFormat ( "en" , { style : "long" , type : "conjunction" } ) ;
@@ -41,6 +43,29 @@ const settled = await Promise.allSettled(
41
43
examples . map ( async ( example ) => {
42
44
const pkgJson = await PackageJson . load ( example ) ;
43
45
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
+
44
69
/** @type {import('execa').Options } */
45
70
const options = { cwd : example } ;
46
71
@@ -89,17 +114,6 @@ const settled = await Promise.allSettled(
89
114
return ;
90
115
}
91
116
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
-
103
117
const typecheck = await getCommand ( detected , "run" , [ "typecheck" ] ) ;
104
118
const typecheckArgs = typecheck . split ( " " ) . slice ( 1 ) ;
105
119
console . log (
@@ -112,6 +126,19 @@ const settled = await Promise.allSettled(
112
126
console . error ( typecheckResult . stderr ) ;
113
127
return ;
114
128
}
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 ( ) ;
115
142
} )
116
143
) ;
117
144
0 commit comments