|
45 | 45 | var term; |
46 | 46 | var webcontainer; |
47 | 47 | var files = {}; |
48 | | - |
| 48 | + var rollup = {}; |
| 49 | + var test = {}; |
49 | 50 |
|
50 | 51 | var packages = ['espree']; |
51 | 52 | var filename = 'espree.m.js'; |
|
94 | 95 | await webcontainer.mount(files); |
95 | 96 |
|
96 | 97 |
|
97 | | - await install(); |
| 98 | + await install_espree(); |
98 | 99 |
|
99 | 100 | var uint8 = await webcontainer.fs.readFile('node_modules/espree/package.json'); |
100 | 101 | var blob = new Blob([uint8]); |
|
106 | 107 | await install_rollup(); |
107 | 108 |
|
108 | 109 |
|
109 | | - await rollup(); |
| 110 | + await rollup.esm(); |
110 | 111 |
|
111 | 112 | var uint8 = await webcontainer.fs.readFile(filename); |
112 | 113 | var blob = new Blob([uint8],{type:'text/javascript'}); |
|
125 | 126 | console.log('done.'); |
126 | 127 |
|
127 | 128 |
|
128 | | - async function install(){ |
| 129 | + async function install_espree(){ |
129 | 130 | var str = packages.join(' '); |
130 | 131 | console.log('npm install',str,'...'); |
131 | 132 | packages.unshift('install'); |
|
179 | 180 | }//install_rollup |
180 | 181 |
|
181 | 182 |
|
182 | | - async function rollup(){ |
183 | | - console.log('perform rollup ...'); |
| 183 | + rollup.esm = async function(){ |
| 184 | + console.log('perform rollup esm ...'); |
184 | 185 | var process = await webcontainer.spawn('npx',['-y','rollup','--config','rollup.config.esm.js']); |
185 | 186 |
|
186 | 187 | var stream = new WritableStream({write(data){term.write(data)}}); |
|
192 | 193 | } |
193 | 194 | return code; |
194 | 195 |
|
195 | | - }//rollup |
| 196 | + }//esm |
196 | 197 |
|
197 | 198 |
|
| 199 | + rollup.cjs = async function(){ |
| 200 | + console.log('perform rollup cjs ...'); |
| 201 | + var process = await webcontainer.spawn('npx',['-y','rollup','--config','rollup.config.cjs.js']); |
| 202 | + |
| 203 | + var stream = new WritableStream({write(data){term.write(data)}}); |
| 204 | + process.output.pipeTo(stream); |
| 205 | + |
| 206 | + var code = await process.exit; |
| 207 | + if(code!=0){ |
| 208 | + console.log('an error occurred'); |
| 209 | + } |
| 210 | + return code; |
| 211 | + |
| 212 | + }//cjs |
| 213 | + |
198 | 214 |
|
199 | 215 |
|
200 | | - function test(){ |
| 216 | + |
| 217 | + test.esm = function(){ |
201 | 218 |
|
202 | 219 | var url = window.URL.createObjectURL(blob); |
203 | 220 | var {espree} = await import(url); |
|
281 | 298 | |
282 | 299 | `; |
283 | 300 |
|
| 301 | + |
284 | 302 | files['rollup.config.cjs.js'] = ` |
285 | 303 | |
286 | 304 | import resolve from '@rollup/plugin-node-resolve'; |
|
289 | 307 | import nodePolyfills from 'rollup-plugin-polyfill-node'; |
290 | 308 | |
291 | 309 | export default { |
292 | | - input : 'entry.esm.js', |
| 310 | + input : 'entry.cjs.js', |
293 | 311 | output : { |
294 | 312 | file : '${filename}', |
295 | 313 | |
|
0 commit comments