|
131 | 131 |
|
132 | 132 |
|
133 | 133 |
|
| 134 | + await install_espree_browser(); |
| 135 | + var result = await test_version(pkg.version); |
| 136 | + if(result){ |
| 137 | + console.log('no version change'); |
| 138 | + return; |
| 139 | + } |
| 140 | + |
134 | 141 |
|
135 | 142 |
|
136 | 143 |
|
|
147 | 154 |
|
148 | 155 |
|
149 | 156 | async function install_espree(){ |
150 | | - var str = packages.join(' '); |
151 | | - console.log('npm install',str,'...'); |
| 157 | + var str = packages.join(' '); |
| 158 | + console.log('npm install',str,'...'); |
152 | 159 | packages.unshift('install'); |
153 | 160 | var process = await webcontainer.spawn('npm',packages); |
154 | 161 | var stream = new WritableStream({write(data){term.write(data)}}); |
155 | 162 | process.output.pipeTo(stream) |
156 | 163 | var code = await process.exit; |
157 | 164 | if(code!=0){ |
158 | | - console.log('an error occurred'); |
| 165 | + console.log('an error occurred'); |
159 | 166 | } |
160 | 167 | return code; |
161 | 168 |
|
162 | 169 | }//install |
163 | 170 |
|
164 | 171 |
|
165 | 172 | async function package_json(){ |
166 | | - console.log('npm install ( package.json ) ...'); |
| 173 | + console.log('npm install ( package.json ) ...'); |
167 | 174 | var process = await webcontainer.spawn('npm',['install']); |
168 | 175 | var stream = new WritableStream({write(data){term.write(data)}}); |
169 | 176 | process.output.pipeTo(stream) |
170 | 177 | var code = await process.exit; |
171 | 178 | if(code!=0){ |
172 | | - console.log('an error occurred'); |
| 179 | + console.log('an error occurred'); |
173 | 180 | } |
174 | 181 | return code; |
175 | 182 |
|
|
185 | 192 | '@rollup/plugin-json', |
186 | 193 | 'rollup-plugin-polyfill-node' |
187 | 194 | ]; |
188 | | - console.log('npm install',packages.join(' '),'...'); |
| 195 | + console.log('npm install',packages.join(' '),'...'); |
189 | 196 | packages.unshift('install'); |
190 | 197 |
|
191 | 198 | var process = await webcontainer.spawn('npm',packages); |
192 | 199 | var stream = new WritableStream({write(data){term.write(data)}}); |
193 | 200 | process.output.pipeTo(stream) |
194 | 201 | var code = await process.exit; |
195 | 202 | if(code!=0){ |
196 | | - console.log('an error occurred'); |
| 203 | + console.log('an error occurred'); |
197 | 204 | } |
198 | 205 | return code; |
199 | 206 |
|
200 | 207 | }//install_rollup |
201 | 208 |
|
202 | 209 |
|
203 | 210 | rollup.esm = async function(){ |
204 | | - console.log('perform rollup esm ...'); |
| 211 | + console.log('perform rollup esm ...'); |
205 | 212 | var process = await webcontainer.spawn('npx',['-y','rollup','--config','rollup.config.esm.js']); |
206 | 213 |
|
207 | 214 | var stream = new WritableStream({write(data){term.write(data)}}); |
208 | 215 | process.output.pipeTo(stream); |
209 | 216 |
|
210 | 217 | var code = await process.exit; |
211 | 218 | if(code!=0){ |
212 | | - console.log('an error occurred'); |
| 219 | + console.log('an error occurred'); |
213 | 220 | } |
214 | 221 | return code; |
215 | 222 |
|
216 | 223 | }//esm |
217 | 224 |
|
218 | 225 |
|
219 | 226 | rollup.cjs = async function(){ |
220 | | - console.log('perform rollup cjs ...'); |
| 227 | + console.log('perform rollup cjs ...'); |
221 | 228 | var process = await webcontainer.spawn('npx',['-y','rollup','--config','rollup.config.cjs.js']); |
222 | 229 |
|
223 | 230 | var stream = new WritableStream({write(data){term.write(data)}}); |
224 | 231 | process.output.pipeTo(stream); |
225 | 232 |
|
226 | 233 | var code = await process.exit; |
227 | 234 | if(code!=0){ |
228 | | - console.log('an error occurred'); |
| 235 | + console.log('an error occurred'); |
229 | 236 | } |
230 | 237 | return code; |
231 | 238 |
|
232 | 239 | }//cjs |
233 | 240 |
|
234 | 241 |
|
| 242 | + async function install_espree_browser(){ |
| 243 | + |
| 244 | + var process = await webcontainer('npm',['install','espree-browser']); |
| 245 | + var stream = new WritableStream({write(data){term.write(data)}}); |
| 246 | + process.output.pipeTo(stream); |
| 247 | + |
| 248 | + var code = await process.exit; |
| 249 | + if(code!=0){ |
| 250 | + console.log('an error occurred'); |
| 251 | + } |
| 252 | + return code; |
| 253 | + |
| 254 | + }//install_espree_browser |
| 255 | + |
| 256 | + |
| 257 | + async function test_version(pkg){ |
| 258 | + |
| 259 | + var [major,minor,patch] = pkg.split('.'); |
| 260 | + var espree = {major,minor,patch}; |
| 261 | + |
| 262 | + var fn = 'node_modules/espree-browser/notes.txt'; |
| 263 | + |
| 264 | + var uint8 = await webcontainer.fs.readFile(fn); |
| 265 | + var blob = new Blob([uint8]); |
| 266 | + var txt = await blob.text(); |
| 267 | + var lines = txt.split('\n'); |
| 268 | + var line = line[0]; |
| 269 | + var i = line.indexOf(':'); |
| 270 | + var version = line.slice(i+1).trim(); |
| 271 | + var [major,minor,patch] = version.split('.'); |
| 272 | + |
| 273 | + var result = (major==espree.major && minor==espree.minor && patch==espree.patch); |
| 274 | + if(result){ |
| 275 | + return true; |
| 276 | + } |
| 277 | + |
| 278 | + line = line.slice(0,i+1)+' '+pkg; |
| 279 | + lines[0] = line; |
| 280 | + var txt = lines.join('\n'); |
| 281 | + var blob = new Blob([txt]); |
| 282 | + var buf = await blob.arrayBuffer(); |
| 283 | + var uint8 = new Uint8Array(unit8); |
| 284 | + await webcontainer.fs.writeFile(fn,uint8); |
| 285 | + |
| 286 | + return false; |
| 287 | + |
| 288 | + }//test_version |
235 | 289 |
|
236 | 290 |
|
237 | 291 | test.esm = async function(url){ |
|
0 commit comments