pake-cli 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -18
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/src-tauri/.DS_Store +0 -0
- package/src-tauri/.gitignore +0 -3
- package/src-tauri/icons/.DS_Store +0 -0
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<a href="https://github.com/tw93/Pake/issues?q=is%3Aissue+is%3Aclosed" target="_blank">
|
|
15
15
|
<img alt="GitHub closed issues" src="https://img.shields.io/github/issues-closed/tw93/Pake.svg?style=flat-square"></a>
|
|
16
16
|
</div>
|
|
17
|
-
<div align="left"
|
|
17
|
+
<div align="left">很简单的用 Rust 打包网页生成很小的桌面 App,支持 Mac / Windows / Linux 系统,常用包下载、命令行一键打包、定制开发可见下面文档,也欢迎去 <a href=https://github.com/tw93/Pake/discussions>讨论区</a> 交流。</div>
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
20
|
## 特征
|
|
@@ -63,23 +63,6 @@
|
|
|
63
63
|
|
|
64
64
|
更多常用 App 下载以及 Windows/Linux 的包可以去 [Releases](https://github.com/tw93/Pake/releases) 中看看。Windows 下不能安装到 `C:\Program File`,会直接闪退,建议安装到其他非管理员权限目录,比如 `D:\Program Files (x86)` 。
|
|
65
65
|
|
|
66
|
-
## 快捷键
|
|
67
|
-
|
|
68
|
-
| Mac | Windows/Linux | 功能 |
|
|
69
|
-
| --------------------------- | ------------------------------ | ------------------ |
|
|
70
|
-
| <kbd>⌘</kbd> + <kbd>[</kbd> | <kbd>Ctrl</kbd> + <kbd>←</kbd> | 返回上一个页面 |
|
|
71
|
-
| <kbd>⌘</kbd> + <kbd>]</kbd> | <kbd>Ctrl</kbd> + <kbd>→</kbd> | 去下一个页面 |
|
|
72
|
-
| <kbd>⌘</kbd> + <kbd>↑</kbd> | <kbd>Ctrl</kbd> + <kbd>↑</kbd> | 自动滚动到页面顶部 |
|
|
73
|
-
| <kbd>⌘</kbd> + <kbd>↓</kbd> | <kbd>Ctrl</kbd> + <kbd>↓</kbd> | 自动滚动到页面底部 |
|
|
74
|
-
| <kbd>⌘</kbd> + <kbd>r</kbd> | <kbd>Ctrl</kbd> + <kbd>r</kbd> | 刷新页面 |
|
|
75
|
-
| <kbd>⌘</kbd> + <kbd>w</kbd> | <kbd>Ctrl</kbd> + <kbd>w</kbd> | 隐藏窗口,非退出 |
|
|
76
|
-
| <kbd>⌘</kbd> + <kbd>-</kbd> | <kbd>Ctrl</kbd> + <kbd>-</kbd> | 缩小页面 |
|
|
77
|
-
| <kbd>⌘</kbd> + <kbd>+</kbd> | <kbd>Ctrl</kbd> + <kbd>+</kbd> | 放大页面 |
|
|
78
|
-
| <kbd>⌘</kbd> + <kbd>=</kbd> | <kbd>Ctrl</kbd> + <kbd>=</kbd> | 放大页面 |
|
|
79
|
-
| <kbd>⌘</kbd> + <kbd>0</kbd> | <kbd>Ctrl</kbd> + <kbd>0</kbd> | 重置页面缩放 |
|
|
80
|
-
|
|
81
|
-
此外还支持双击头部进行全屏切换,拖拽头部进行移动窗口,还有其他需求,欢迎提过来。
|
|
82
|
-
|
|
83
66
|
## 使用命令行打包
|
|
84
67
|
|
|
85
68
|
Pake 提供了命令行工具,可以更快捷方便地打包。(目前仅支持 MacOS)
|
|
@@ -100,6 +83,23 @@ pake [options] url
|
|
|
100
83
|
|
|
101
84
|
更多用法可查看[文档](./bin//README.md)。
|
|
102
85
|
|
|
86
|
+
## 快捷键
|
|
87
|
+
|
|
88
|
+
| Mac | Windows/Linux | 功能 |
|
|
89
|
+
| --------------------------- | ------------------------------ | ------------------ |
|
|
90
|
+
| <kbd>⌘</kbd> + <kbd>[</kbd> | <kbd>Ctrl</kbd> + <kbd>←</kbd> | 返回上一个页面 |
|
|
91
|
+
| <kbd>⌘</kbd> + <kbd>]</kbd> | <kbd>Ctrl</kbd> + <kbd>→</kbd> | 去下一个页面 |
|
|
92
|
+
| <kbd>⌘</kbd> + <kbd>↑</kbd> | <kbd>Ctrl</kbd> + <kbd>↑</kbd> | 自动滚动到页面顶部 |
|
|
93
|
+
| <kbd>⌘</kbd> + <kbd>↓</kbd> | <kbd>Ctrl</kbd> + <kbd>↓</kbd> | 自动滚动到页面底部 |
|
|
94
|
+
| <kbd>⌘</kbd> + <kbd>r</kbd> | <kbd>Ctrl</kbd> + <kbd>r</kbd> | 刷新页面 |
|
|
95
|
+
| <kbd>⌘</kbd> + <kbd>w</kbd> | <kbd>Ctrl</kbd> + <kbd>w</kbd> | 隐藏窗口,非退出 |
|
|
96
|
+
| <kbd>⌘</kbd> + <kbd>-</kbd> | <kbd>Ctrl</kbd> + <kbd>-</kbd> | 缩小页面 |
|
|
97
|
+
| <kbd>⌘</kbd> + <kbd>+</kbd> | <kbd>Ctrl</kbd> + <kbd>+</kbd> | 放大页面 |
|
|
98
|
+
| <kbd>⌘</kbd> + <kbd>=</kbd> | <kbd>Ctrl</kbd> + <kbd>=</kbd> | 放大页面 |
|
|
99
|
+
| <kbd>⌘</kbd> + <kbd>0</kbd> | <kbd>Ctrl</kbd> + <kbd>0</kbd> | 重置页面缩放 |
|
|
100
|
+
|
|
101
|
+
此外还支持双击头部进行全屏切换,拖拽头部进行移动窗口,还有其他需求,欢迎提过来。
|
|
102
|
+
|
|
103
103
|
## 开发
|
|
104
104
|
|
|
105
105
|
开始前参考 [Tauri](https://tauri.app/v1/guides/getting-started/prerequisites#setting-up-macos) 快速配置好环境。
|
|
@@ -150,6 +150,8 @@ chmod +x ./script/build.sh && ./script/build.sh
|
|
|
150
150
|
|
|
151
151
|
## 贡献者
|
|
152
152
|
|
|
153
|
+
Pake 的发展离不开这些 Hacker 们,给贡献了大量的能力,也欢迎关注他们 ❤️。
|
|
154
|
+
|
|
153
155
|
<!-- readme: contributors -start -->
|
|
154
156
|
<table>
|
|
155
157
|
<tr>
|
package/dist/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"commander";import{program as a}from"commander";import i,{fileURLToPath as t}from"url";import o from"is-url";import r from"prompts";import n from"crypto";import s from"axios";import{fileTypeFromBuffer as l}from"file-type";import{dir as c}from"tmp-promise";import u from"path";import d from"fs/promises";import m from"loglevel";import p from"ora";import g from"shelljs";function h(e,a,i,t){return new(i||(i=Promise))((function(o,r){function n(e){try{l(t.next(e))}catch(e){r(e)}}function s(e){try{l(t.throw(e))}catch(e){r(e)}}function l(e){var a;e.done?o(e.value):(a=e.value,a instanceof i?a:new i((function(e){e(a)}))).then(n,s)}l((t=t.apply(e,a||[])).next())}))}const b="",f=800,y=1280,v=!1,w=!0,k=!1,x=["aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","adac","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cbs","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","etisalat","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","guardian","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerrylogistics","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kinder","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","lk","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mutual","mv","mw","mx","my","mz","na","nab","nagoya","name","natura","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","northwesternmutual","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","pramerica","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocher","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volkswagen","volvo","vote","voting","voto","voyage","vu","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","اتصالات","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","诺基亚","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"];function j(e){var a=i.parse(e).host.split(".");"www"===a[0]&&"com"!==a[1]&&a.shift();for(var t,o=a.length,r=o,n=a[a.length-1].length;t=a[--r];)if(0===r||r<o-2||t.length<n||x.indexOf(t)<0)return t}function z(e){const a=function(e){if(!i.parse(e).protocol)return`https://${e}`;return e}(e);if(o(a))return a;throw new Error(`Your url "${a}" is invalid`)}function q(a){const i=Number(a);if(isNaN(i))throw new e.InvalidArgumentError("Not a number.");return i}function N(e,a){return h(this,void 0,void 0,(function*(){return e.icon?e.icon.startsWith("http")?function(e){return h(this,void 0,void 0,(function*(){let a;try{a=yield s.get(e,{responseType:"arraybuffer"})}catch(e){if(e.response&&404===e.response.status)return null;throw e}const i=yield a.data;if(!i)return null;const t=yield l(i);if(!t)return null;const{path:o}=yield c(),r=`${o}/icon.${t.ext}`;return yield d.writeFile(r,i),r}))}(e.icon):u.resolve(e.icon):e.icon?void 0:function(e,a){return h(this,void 0,void 0,(function*(){m.info("You have not provided an app icon, use the default icon(can use --icon option to assign an icon)");const e=u.join(u.dirname(t(import.meta.url)),"..");return u.join(e,"pake-default.icns")}))}(e.name)}))}function $(e,a){return h(this,void 0,void 0,(function*(){const i=Object.assign(Object.assign({},e),{identifier:""});return i.name||(i.name=yield function(e,a){return h(this,void 0,void 0,(function*(){return(yield r({type:"text",name:"content",message:e,initial:a})).content}))}("please input your application name",j(a))),i.identifier=function(e,a){const i=n.createHash("md5");return i.update(a),`pake-${i.digest("hex").substring(0,6)}`}(i.name,a),i.icon=yield N(i),i}))}const A="darwin"===process.platform;function D(e){return new Promise(((a,i)=>{g.exec(e,{async:!0,silent:!1},(e=>{0===e?a(0):i(new Error(`${e}`))}))}))}process.platform,process.platform;var O={package:{productName:"WeRead",version:"1.0.0"},tauri:{windows:[{url:"https://weread.qq.com/",transparent:!0,fullscreen:!1,width:1200,height:728,resizable:!0}],allowlist:{all:!0},bundle:{icon:["icons/weread.icns","png/weread_256.ico","png/weread_32.ico","png/weread_512.png"],identifier:"com.tw93.weread",active:!0,category:"DeveloperTool",copyright:"",deb:{depends:["libwebkit2gtk-4.0-dev","build-essential","curl","wget","libssl-dev","libgtk-3-dev","libayatana-appindicator3-dev","librsvg2-dev"],files:{"/usr/share/applications/com-tw93-weread.desktop":"assets/com-tw93-weread.desktop"}},externalBin:[],longDescription:"",macOS:{entitlements:null,exceptionDomain:"",frameworks:[],providerShortName:null,signingIdentity:null},resources:["png/weread_32.ico"],shortDescription:"",targets:["deb","msi","dmg"],windows:{certificateThumbprint:null,digestAlgorithm:"sha256",timestampUrl:"",wix:{language:["en-US","zh-CN"]}}},security:{csp:null},updater:{active:!1}},build:{devPath:"../dist",distDir:"../dist",beforeBuildCommand:"",beforeDevCommand:""}};class E{prepare(){return h(this,void 0,void 0,(function*(){if(0===g.exec("rustc --version",{silent:!0}).code)return;(yield r({type:"confirm",message:"We detected that you have not installed Rust. Install it now?",name:"value"})).value?yield function(){return h(this,void 0,void 0,(function*(){const e=p("Downloading Rust").start();try{yield D("curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"),e.succeed()}catch(a){console.error("install rust return code",a.message),e.fail(),process.exit(1)}}))}():(m.error("Error: Pake need Rust to package your webapp!!!"),process.exit(2))}))}build(e,a){return h(this,void 0,void 0,(function*(){m.debug("PakeAppOptions",a);const{width:i,height:o,fullscreen:r,transparent:n,resizable:s,identifier:l,name:c}=a,p={width:i,height:o,fullscreen:r,transparent:n,resizable:s};Object.assign(O.tauri.windows[0],Object.assign({url:e},p)),O.package.productName=c,O.tauri.bundle.identifier=l,O.tauri.bundle.icon=[a.icon];const g=u.join(u.dirname(t(import.meta.url)),".."),h=u.join(g,"src-tauri/tauri.conf.json");yield d.writeFile(h,Buffer.from(JSON.stringify(O),"utf-8")),yield D(`cd ${g} && npm run build`);const b=`${c}_0.2.0_universal.dmg`,f=this.getBuildedAppPath(g,b);yield d.copyFile(f,u.resolve(`${c}_universal.dmg`))}))}getBuildedAppPath(e,a){return u.join(e,"src-tauri/target/universal-apple-darwin/release/bundle/dmg",a)}}class P{static create(){if(A)return new E;throw new Error("The current system does not support")}}a.version("0.0.1").description("A cli application can package a web page to desktop application"),a.showHelpAfterError().argument("<url>","the web url you want to package",(function(a){try{return z(a)}catch(a){throw new e.InvalidArgumentError(a.message)}})).option("--name <string>","application name").option("--icon <string>","application icon",b).option("--height <number>","window height",q,f).option("--width <number>","window width",q,y).option("--no-resizable","whether the window can be resizable",w).option("--fullscreen","makes the packaged app start in full screen",v).option("--transparent","transparent title bar",k).option("--debug","debug",k).action(((e,a)=>h(void 0,void 0,void 0,(function*(){m.setDefaultLevel("info"),a.debug&&m.setLevel("debug");const i=P.create();yield i.prepare();const t=yield $(a,e);i.build(e,t)})))),a.parse();
|
|
1
|
+
import*as e from"commander";import{program as a}from"commander";import i,{fileURLToPath as t}from"url";import o from"is-url";import r from"prompts";import n from"crypto";import s from"axios";import{fileTypeFromBuffer as l}from"file-type";import{dir as c}from"tmp-promise";import u from"path";import d from"fs/promises";import m from"loglevel";import p from"ora";import g from"shelljs";function h(e,a,i,t){return new(i||(i=Promise))((function(o,r){function n(e){try{l(t.next(e))}catch(e){r(e)}}function s(e){try{l(t.throw(e))}catch(e){r(e)}}function l(e){var a;e.done?o(e.value):(a=e.value,a instanceof i?a:new i((function(e){e(a)}))).then(n,s)}l((t=t.apply(e,a||[])).next())}))}const b="",f=800,y=1280,v=!1,w=!0,k=!1,x=["aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac","academy","accenture","accountant","accountants","aco","actor","ad","adac","ads","adult","ae","aeg","aero","aetna","af","afl","africa","ag","agakhan","agency","ai","aig","airbus","airforce","airtel","akdn","al","alfaromeo","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","am","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","ao","aol","apartments","app","apple","aq","aquarelle","ar","arab","aramco","archi","army","arpa","art","arte","as","asda","asia","associates","at","athleta","attorney","au","auction","audi","audible","audio","auspost","author","auto","autos","avianca","aw","aws","ax","axa","az","azure","ba","baby","baidu","banamex","bananarepublic","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bb","bbc","bbt","bbva","bcg","bcn","bd","be","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bf","bg","bh","bharti","bi","bible","bid","bike","bing","bingo","bio","biz","bj","black","blackfriday","blockbuster","blog","bloomberg","blue","bm","bms","bmw","bn","bnpparibas","bo","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","br","bradesco","bridgestone","broadway","broker","brother","brussels","bs","bt","build","builders","business","buy","buzz","bv","bw","by","bz","bzh","ca","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","cat","catering","catholic","cba","cbn","cbre","cbs","cc","cd","center","ceo","cern","cf","cfa","cfd","cg","ch","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","ci","cipriani","circle","cisco","citadel","citi","citic","city","cityeats","ck","cl","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","cm","cn","co","coach","codes","coffee","college","cologne","com","comcast","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cookingchannel","cool","coop","corsica","country","coupon","coupons","courses","cpa","cr","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cyou","cz","dabur","dad","dance","data","date","dating","datsun","day","dclk","dds","de","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dj","dk","dm","dnp","do","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","dz","earth","eat","ec","eco","edeka","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","er","ericsson","erni","es","esq","estate","et","etisalat","eu","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fi","fiat","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","fj","fk","flickr","flights","flir","florist","flowers","fly","fm","fo","foo","food","foodnetwork","football","ford","forex","forsale","forum","foundation","fox","fr","free","fresenius","frl","frogans","frontdoor","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","ga","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gb","gbiz","gd","gdn","ge","gea","gent","genting","george","gf","gg","ggee","gh","gi","gift","gifts","gives","giving","gl","glass","gle","global","globo","gm","gmail","gmbh","gmo","gmx","gn","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","gov","gp","gq","gr","grainger","graphics","gratis","green","gripe","grocery","group","gs","gt","gu","guardian","gucci","guge","guide","guitars","guru","gw","gy","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hgtv","hiphop","hisamitsu","hitachi","hiv","hk","hkt","hm","hn","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hoteles","hotels","hotmail","house","how","hr","hsbc","ht","hu","hughes","hyatt","hyundai","ibm","icbc","ice","icu","id","ie","ieee","ifm","ikano","il","im","imamat","imdb","immo","immobilien","in","inc","industries","infiniti","info","ing","ink","institute","insurance","insure","int","international","intuit","investments","io","ipiranga","iq","ir","irish","is","ismaili","ist","istanbul","it","itau","itv","jaguar","java","jcb","je","jeep","jetzt","jewelry","jio","jll","jm","jmp","jnj","jo","jobs","joburg","jot","joy","jp","jpmorgan","jprs","juegos","juniper","kaufen","kddi","ke","kerryhotels","kerrylogistics","kerryproperties","kfh","kg","kh","ki","kia","kids","kim","kinder","kindle","kitchen","kiwi","km","kn","koeln","komatsu","kosher","kp","kpmg","kpn","kr","krd","kred","kuokgroup","kw","ky","kyoto","kz","la","lacaixa","lamborghini","lamer","lancaster","lancia","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lb","lc","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","li","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","linde","link","lipsy","live","living","lk","llc","llp","loan","loans","locker","locus","loft","lol","london","lotte","lotto","love","lpl","lplfinancial","lr","ls","lt","ltd","ltda","lu","lundbeck","luxe","luxury","lv","ly","ma","macys","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","maserati","mattel","mba","mc","mckinsey","md","me","med","media","meet","melbourne","meme","memorial","men","menu","merckmsd","mg","mh","miami","microsoft","mil","mini","mint","mit","mitsubishi","mk","ml","mlb","mls","mm","mma","mn","mo","mobi","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","mp","mq","mr","ms","msd","mt","mtn","mtr","mu","museum","music","mutual","mv","mw","mx","my","mz","na","nab","nagoya","name","natura","navy","nba","nc","ne","nec","net","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nf","nfl","ng","ngo","nhk","ni","nico","nike","nikon","ninja","nissan","nissay","nl","no","nokia","northwesternmutual","norton","now","nowruz","nowtv","np","nr","nra","nrw","ntt","nu","nyc","nz","obi","observer","office","okinawa","olayan","olayangroup","oldnavy","ollo","om","omega","one","ong","onl","online","ooo","open","oracle","orange","org","organic","origins","osaka","otsuka","ott","ovh","pa","page","panasonic","paris","pars","partners","parts","party","passagens","pay","pccw","pe","pet","pf","pfizer","pg","ph","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","pk","pl","place","play","playstation","plumbing","plus","pm","pn","pnc","pohl","poker","politie","porn","post","pr","pramerica","praxi","press","prime","pro","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","ps","pt","pub","pw","pwc","py","qa","qpon","quebec","quest","racing","radio","re","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","ro","rocher","rocks","rodeo","rogers","room","rs","rsvp","ru","rugby","ruhr","run","rw","rwe","ryukyu","sa","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sb","sbi","sbs","sc","sca","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","sd","se","search","seat","secure","security","seek","select","sener","services","ses","seven","sew","sex","sexy","sfr","sg","sh","shangrila","sharp","shaw","shell","shia","shiksha","shoes","shop","shopping","shouji","show","showtime","si","silk","sina","singles","site","sj","sk","ski","skin","sky","skype","sl","sling","sm","smart","smile","sn","sncf","so","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","sr","srl","ss","st","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","su","sucks","supplies","supply","support","surf","surgery","suzuki","sv","swatch","swiss","sx","sy","sydney","systems","sz","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tc","tci","td","tdk","team","tech","technology","tel","temasek","tennis","teva","tf","tg","th","thd","theater","theatre","tiaa","tickets","tienda","tiffany","tips","tires","tirol","tj","tjmaxx","tjx","tk","tkmaxx","tl","tm","tmall","tn","to","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","tr","trade","trading","training","travel","travelchannel","travelers","travelersinsurance","trust","trv","tt","tube","tui","tunes","tushu","tv","tvs","tw","tz","ua","ubank","ubs","ug","uk","unicom","university","uno","uol","ups","us","uy","uz","va","vacations","vana","vanguard","vc","ve","vegas","ventures","verisign","vermögensberater","vermögensberatung","versicherung","vet","vg","vi","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vn","vodka","volkswagen","volvo","vote","voting","voto","voyage","vu","vuelos","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","wf","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","ws","wtc","wtf","xbox","xerox","xfinity","xihuan","xin","xxx","xyz","yachts","yahoo","yamaxun","yandex","ye","yodobashi","yoga","yokohama","you","youtube","yt","yun","za","zappos","zara","zero","zip","zm","zone","zuerich","zw","ελ","ευ","бг","бел","дети","ею","католик","ком","мкд","мон","москва","онлайн","орг","рус","рф","сайт","срб","укр","қаз","հայ","ישראל","קום","ابوظبي","اتصالات","ارامكو","الاردن","البحرين","الجزائر","السعودية","العليان","المغرب","امارات","ایران","بارت","بازار","بيتك","بھارت","تونس","سودان","سورية","شبكة","عراق","عرب","عمان","فلسطين","قطر","كاثوليك","كوم","مصر","مليسيا","موريتانيا","موقع","همراه","پاکستان","ڀارت","कॉम","नेट","भारत","भारतम्","भारोत","संगठन","বাংলা","ভারত","ভাৰত","ਭਾਰਤ","ભારત","ଭାରତ","இந்தியா","இலங்கை","சிங்கப்பூர்","భారత్","ಭಾರತ","ഭാരതം","ලංකා","คอม","ไทย","ລາວ","გე","みんな","アマゾン","クラウド","グーグル","コム","ストア","セール","ファッション","ポイント","世界","中信","中国","中國","中文网","亚马逊","企业","佛山","信息","健康","八卦","公司","公益","台湾","台灣","商城","商店","商标","嘉里","嘉里大酒店","在线","大拿","天主教","娱乐","家電","广东","微博","慈善","我爱你","手机","招聘","政务","政府","新加坡","新闻","时尚","書籍","机构","淡马锡","游戏","澳門","点看","移动","组织机构","网址","网店","网站","网络","联通","诺基亚","谷歌","购物","通販","集团","電訊盈科","飞利浦","食品","餐厅","香格里拉","香港","닷넷","닷컴","삼성","한국"];function j(e){var a=i.parse(e).host.split(".");"www"===a[0]&&"com"!==a[1]&&a.shift();for(var t,o=a.length,r=o,n=a[a.length-1].length;t=a[--r];)if(0===r||r<o-2||t.length<n||x.indexOf(t)<0)return t}function z(e){const a=function(e){if(!i.parse(e).protocol)return`https://${e}`;return e}(e);if(o(a))return a;throw new Error(`Your url "${a}" is invalid`)}function q(a){const i=Number(a);if(isNaN(i))throw new e.InvalidArgumentError("Not a number.");return i}function $(e,a){return h(this,void 0,void 0,(function*(){return e.icon?e.icon.startsWith("http")?function(e){return h(this,void 0,void 0,(function*(){let a;try{a=yield s.get(e,{responseType:"arraybuffer"})}catch(e){if(e.response&&404===e.response.status)return null;throw e}const i=yield a.data;if(!i)return null;const t=yield l(i);if(!t)return null;const{path:o}=yield c(),r=`${o}/icon.${t.ext}`;return yield d.writeFile(r,i),r}))}(e.icon):u.resolve(e.icon):e.icon?void 0:function(e,a){return h(this,void 0,void 0,(function*(){m.info("You have not provided an app icon, use the default icon(can use --icon option to assign an icon)");const e=u.join(u.dirname(t(import.meta.url)),"..");return u.join(e,"pake-default.icns")}))}(e.name)}))}function N(e,a){return h(this,void 0,void 0,(function*(){const i=Object.assign(Object.assign({},e),{identifier:""});return i.name||(i.name=yield function(e,a){return h(this,void 0,void 0,(function*(){return(yield r({type:"text",name:"content",message:e,initial:a})).content}))}("please input your application name",j(a))),i.identifier=function(e,a){const i=n.createHash("md5");return i.update(a),`pake-${i.digest("hex").substring(0,6)}`}(i.name,a),i.icon=yield $(i),i}))}const A="darwin"===process.platform;function D(e){return new Promise(((a,i)=>{g.exec(e,{async:!0,silent:!1},(e=>{0===e?a(0):i(new Error(`${e}`))}))}))}process.platform,process.platform;var O={package:{productName:"WeRead",version:"1.0.0"},tauri:{windows:[{url:"https://weread.qq.com/",transparent:!0,fullscreen:!1,width:1200,height:728,resizable:!0}],allowlist:{all:!0},bundle:{icon:["icons/weread.icns","png/weread_256.ico","png/weread_32.ico","png/weread_512.png"],identifier:"com.tw93.weread",active:!0,category:"DeveloperTool",copyright:"",deb:{depends:["libwebkit2gtk-4.0-dev","build-essential","curl","wget","libssl-dev","libgtk-3-dev","libayatana-appindicator3-dev","librsvg2-dev"],files:{"/usr/share/applications/com-tw93-weread.desktop":"assets/com-tw93-weread.desktop"}},externalBin:[],longDescription:"",macOS:{entitlements:null,exceptionDomain:"",frameworks:[],providerShortName:null,signingIdentity:null},resources:["png/weread_32.ico"],shortDescription:"",targets:["deb","msi","dmg"],windows:{certificateThumbprint:null,digestAlgorithm:"sha256",timestampUrl:"",wix:{language:["en-US","zh-CN"]}}},security:{csp:null},updater:{active:!1}},build:{devPath:"../dist",distDir:"../dist",beforeBuildCommand:"",beforeDevCommand:""}};class E{prepare(){return h(this,void 0,void 0,(function*(){if(0===g.exec("rustc --version",{silent:!0}).code)return;(yield r({type:"confirm",message:"We detected that you have not installed Rust. Install it now?",name:"value"})).value?yield function(){return h(this,void 0,void 0,(function*(){const e=p("Downloading Rust").start();try{yield D("curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y"),e.succeed()}catch(a){console.error("install rust return code",a.message),e.fail(),process.exit(1)}}))}():(m.error("Error: Pake need Rust to package your webapp!!!"),process.exit(2))}))}build(e,a){return h(this,void 0,void 0,(function*(){m.debug("PakeAppOptions",a);const{width:i,height:o,fullscreen:r,transparent:n,resizable:s,identifier:l,name:c}=a,p={width:i,height:o,fullscreen:r,transparent:n,resizable:s};Object.assign(O.tauri.windows[0],Object.assign({url:e},p)),O.package.productName=c,O.tauri.bundle.identifier=l,O.tauri.bundle.icon=[a.icon];const g=u.join(u.dirname(t(import.meta.url)),".."),h=u.join(g,"src-tauri/tauri.conf.json");yield d.writeFile(h,Buffer.from(JSON.stringify(O),"utf-8")),yield D(`cd ${g} && npm run build`);const b=`${c}_${O.package.version}_universal.dmg`,f=this.getBuildedAppPath(g,b);yield d.copyFile(f,u.resolve(`${c}_universal.dmg`))}))}getBuildedAppPath(e,a){return u.join(e,"src-tauri/target/universal-apple-darwin/release/bundle/dmg",a)}}class P{static create(){if(A)return new E;throw new Error("The current system does not support")}}a.version("0.0.1").description("A cli application can package a web page to desktop application"),a.showHelpAfterError().argument("<url>","the web url you want to package",(function(a){try{return z(a)}catch(a){throw new e.InvalidArgumentError(a.message)}})).option("--name <string>","application name").option("--icon <string>","application icon",b).option("--height <number>","window height",q,f).option("--width <number>","window width",q,y).option("--no-resizable","whether the window can be resizable",w).option("--fullscreen","makes the packaged app start in full screen",v).option("--transparent","transparent title bar",k).option("--debug","debug",k).action(((e,a)=>h(void 0,void 0,void 0,(function*(){m.setDefaultLevel("info"),a.debug&&m.setLevel("debug");const i=P.create();yield i.prepare();const t=yield N(a,e);i.build(e,t)})))),a.parse();
|
package/package.json
CHANGED
package/src-tauri/.DS_Store
DELETED
|
Binary file
|
package/src-tauri/.gitignore
DELETED
|
Binary file
|