forked from sheetjs/docs.sheetjs.com
		
	
		
			
	
	
		
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|  | #!/bin/bash
 | ||
|  | # https://docs.sheetjs.com/docs/demos/frontend/bundler/esbuild | ||
|  | cd /tmp | ||
|  | rm -rf sheetjs-esbrowser | ||
|  | 
 | ||
|  | mkdir sheetjs-esbrowser | ||
|  | cd sheetjs-esbrowser | ||
|  | npm init -y | ||
|  | 
 | ||
|  | npm i --save https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz | ||
|  | curl -LO https://docs.sheetjs.com/esbuild/esbrowser.js | ||
|  | curl -LO https://docs.sheetjs.com/esbuild/esbnode.js | ||
|  | 
 | ||
|  | cat >index.html <<EOF | ||
|  | <body><script src="esb.browser.js"></script></body> | ||
|  | EOF | ||
|  | 
 | ||
|  | cat >test.js <<EOF | ||
|  | const puppeteer = require('puppeteer'); | ||
|  | const express = require('express'); | ||
|  | const app = express(); | ||
|  | app.use(express.static('./')); | ||
|  | app.listen(7262, async() => { | ||
|  |   await new Promise((res,rej) => setTimeout(res, 1000)); | ||
|  |   const browser = await puppeteer.launch(); | ||
|  |   const page = await browser.newPage(); | ||
|  |   page.on("console", msg => console.log("PAGE LOG:", msg.text())); | ||
|  |   await page.setViewport({width: 1920, height: 1080}); | ||
|  |   const client = await page.target().createCDPSession(); | ||
|  |   await client.send('Browser.setDownloadBehavior', { | ||
|  |     behavior: 'allow', | ||
|  |     downloadPath: require("path").resolve('./') | ||
|  |   }); | ||
|  |   page.on('request', req => console.log(req.url())); | ||
|  |   await page.goto('http://localhost:7262/'); | ||
|  |   await new Promise((res,rej) => setTimeout(res, 1000)); | ||
|  |   await browser.close(); | ||
|  |   process.exit(); | ||
|  | }); | ||
|  | EOF | ||
|  | 
 | ||
|  | for n in 0.9.7 0.10.2 0.11.23 0.12.29 0.13.15 0.14.54 0.15.18 0.16.17 0.17.19 0.18.20 0.19.12 0.20.2 0.21.4; do | ||
|  |   npx -y esbuild@$n --version | ||
|  | 
 | ||
|  |   ## Browser Test | ||
|  |   npx -y esbuild@$n esbrowser.js --bundle --outfile=esb.browser.js | ||
|  |   node test.js | ||
|  |   npx -y xlsx-cli Presidents.xlsx | head -n 3 | ||
|  |   rm -f esb.browser.js Presidents.xlsx | ||
|  | 
 | ||
|  |   npx -y esbuild@$n esbnode.js --bundle --platform=node --outfile=esb.node.js | ||
|  |   node esb.node.js | ||
|  |   npx -y xlsx-cli Presidents.xlsx | head -n 3 | ||
|  |   rm -f esb.node.js Presidents.xlsx | ||
|  | done |