Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc53cf11db | ||
|
|
539d41ace7 | ||
|
|
1ec8844b0e | ||
|
|
b5c55d4ba2 | ||
|
|
4341d7f500 | ||
|
|
77149dc432 | ||
|
|
525abc4be5 | ||
|
|
14cee64c82 | ||
|
|
3fd283121f | ||
|
|
ae8024565f | ||
|
|
2302c2db1c | ||
|
|
44c50c1275 | ||
|
|
415bf2abc3 | ||
|
|
36207a93f3 | ||
|
|
854754e10b | ||
|
|
1c2f137a8a | ||
|
|
8c67d44aef | ||
|
|
cfd48b3b2e | ||
|
|
558e14bb4c | ||
|
|
aef5dd6157 | ||
|
|
74ee7edc43 | ||
|
|
7e1c17a635 | ||
|
|
3c1f3874f4 | ||
|
|
51ddf6a715 | ||
|
|
62082b7086 | ||
|
|
aee14ed426 | ||
|
|
9b2840db94 | ||
|
|
60064fce52 | ||
|
|
0058583583 | ||
|
|
fb676626f1 | ||
|
|
f445c704a1 | ||
|
|
fd785ab5de | ||
|
|
a1a82208ed | ||
|
|
dc49de5341 | ||
|
|
4c2454d410 | ||
|
|
fe6dd0ff9e | ||
|
|
ab8d089b2b | ||
|
|
ee02ea7746 | ||
|
|
9501cfa5f5 | ||
|
|
e8069af804 | ||
|
|
0975a687a0 | ||
|
|
654a7299c3 | ||
|
|
58eab11faf | ||
|
|
fb62d03f73 | ||
|
|
7e5e34420b | ||
|
|
f12d35609a | ||
|
|
44273b9889 | ||
|
|
2f7e32b5e0 | ||
|
|
30bcf5dcc2 | ||
|
|
68579934c9 | ||
|
|
04459afbb6 | ||
|
|
3b2bd3065d | ||
|
|
f930505de4 | ||
|
|
34319bd977 | ||
|
|
34737186fe | ||
|
|
4bd1f15bb9 | ||
|
|
aabc4d3a24 | ||
|
|
fc9b189e83 | ||
|
|
b7ff3a6bdb | ||
|
|
04a0aea0ab | ||
|
|
e564e2aa91 | ||
|
|
118f6b4334 | ||
|
|
fd0a52aa86 | ||
|
|
52e3bdab26 | ||
|
|
dd09e3c3f4 | ||
|
|
2797954799 | ||
|
|
025210be28 | ||
|
|
221f50f53b | ||
|
|
6bf1bd8d44 | ||
|
|
41fe9053a0 | ||
|
|
27bb5d9a27 | ||
|
|
3168e17603 | ||
|
|
dd514e7a88 | ||
|
|
6e142b4230 | ||
|
|
fd1c7c8dbb | ||
|
|
59c63f31cc | ||
|
|
3cbb55aa7b | ||
|
|
60765694f5 | ||
|
|
fd75401aee | ||
|
|
ca34972266 | ||
|
|
179184326b | ||
|
|
d8efd3cd20 | ||
|
|
5d39ddcf22 | ||
|
|
2050a3bea2 | ||
|
|
c078f57a09 | ||
|
|
dc5721ac13 | ||
|
|
1d9741b52b | ||
|
|
7a37355e17 | ||
|
|
5cbd593e76 | ||
|
|
f7600b5fff | ||
|
|
fb85e5dd76 | ||
|
|
6f3f66794a | ||
|
|
79d6e19c4b | ||
|
|
aebd4f6185 | ||
|
|
341a5320c3 | ||
|
|
cc03ccf5e0 | ||
|
|
009299ebec | ||
|
|
204e5aacad | ||
|
|
8a45c35160 | ||
|
|
ebf821afd1 | ||
|
|
984110a978 | ||
|
|
2b898f0786 | ||
|
|
b2269333e3 | ||
|
|
41afcae399 | ||
|
|
9291e4d2ca | ||
|
|
3715f3c9a6 | ||
|
|
253ae66210 | ||
|
|
949e2d6c45 | ||
|
|
64a6240f79 | ||
|
|
77680f6ed8 | ||
|
|
8c3a6a253d | ||
|
|
57fd28126c | ||
|
|
a34fade500 | ||
|
|
713c54ef83 | ||
|
|
a9b2a9af84 | ||
|
|
c23b3d4bc8 | ||
|
|
0dd97d9115 | ||
|
|
3912800db3 | ||
|
|
c23d7c51f6 | ||
|
|
5906cf4335 | ||
|
|
d4a54157f0 | ||
|
|
3d301c654e | ||
|
|
12e80ffe00 | ||
|
|
a2fe55512f | ||
|
|
d00519e3e3 | ||
|
|
6995127778 | ||
|
|
c565a08d09 | ||
|
|
cf4d7d4e6c | ||
|
|
72c2ce82c1 | ||
|
|
4654591d82 | ||
|
|
feb1e93fcb | ||
|
|
ff134a8ca4 | ||
|
|
f8255e1db5 | ||
|
|
b9bcb2b6af | ||
|
|
51819c601f | ||
|
|
f7280c8830 | ||
|
|
0cb99bdaf1 | ||
|
|
de04935b2f | ||
|
|
b4c95b25df | ||
|
|
de452d4373 | ||
|
|
e271382982 | ||
|
|
3a350add23 | ||
|
|
3518a23fa0 | ||
|
|
c6a1b86404 | ||
|
|
091a78f1d2 | ||
|
|
16f68c2397 | ||
|
|
16d87bf236 | ||
|
|
e502a706d1 | ||
|
|
17e8014b69 | ||
|
|
de732d0ab0 | ||
|
|
e2e97db519 | ||
|
|
9ea9e05944 | ||
|
|
d0482502e9 | ||
|
|
0c040bcc9a | ||
|
|
0d5e7e2892 | ||
|
|
01c913e83e | ||
|
|
532622d8b2 | ||
|
|
448846b834 | ||
|
|
3c52f30ea4 | ||
|
|
f690777a91 | ||
|
|
f946a7cf1f | ||
|
|
b914775898 | ||
|
|
66b9eaa0e5 | ||
|
|
e2fa6d3a1b | ||
|
|
6c823ae31a | ||
|
|
f4c9e13250 | ||
|
|
121f68b449 | ||
|
|
ec067a5997 | ||
|
|
5d170a5444 | ||
|
|
4dd7f5ddd8 | ||
|
|
998f86371c | ||
|
|
84f8bd5e1e | ||
|
|
af943db6f8 | ||
|
|
bc7eecf420 | ||
|
|
5081f30daf | ||
|
|
584eb61f16 | ||
|
|
7b053ba6f6 | ||
|
|
7701392500 | ||
|
|
e4e19e001b | ||
|
|
78061c3455 | ||
|
|
6b079cfdd1 | ||
|
|
5f68990297 | ||
|
|
94678051df | ||
|
|
59644c5d22 | ||
|
|
edde2dedf1 | ||
|
|
05aaad3aec | ||
|
|
279698700a | ||
|
|
2c00c0292c | ||
|
|
901dd560be | ||
|
|
b867127329 | ||
|
|
132c58f80d | ||
|
|
f8925b9687 | ||
|
|
1e60a9888d | ||
|
|
788989aa60 | ||
|
|
096b152731 | ||
|
|
ad03b8e035 | ||
|
|
d13e6bcb78 | ||
|
|
0f34919c9c | ||
|
|
4899895479 | ||
|
|
4db635f19b | ||
|
|
9606089b2a | ||
|
|
34df132fb1 | ||
|
|
b1e5cae5a0 | ||
|
|
da308af3d9 | ||
|
|
bc85babc87 | ||
|
|
0c1077f6d5 | ||
|
|
518b529a19 | ||
|
|
6de87966ec | ||
|
|
99d6ac0f95 | ||
|
|
95da90f82e | ||
|
|
e847cedc1f | ||
|
|
edf8d84f39 | ||
|
|
e399b5294d | ||
|
|
913d289e8f | ||
|
|
ada1381451 | ||
|
|
2b269f1b6d | ||
|
|
647d8894fe | ||
|
|
5ec310199f | ||
|
|
bb09c7ca6e | ||
|
|
20a1d24ee0 | ||
|
|
fa275731be | ||
|
|
d8bfdc73a6 | ||
|
|
22bb0e5b61 | ||
|
|
37cb9a6681 | ||
|
|
725ff4295e | ||
|
|
117c67da13 | ||
|
|
490d4208d7 | ||
|
|
1adf7e3872 | ||
|
|
21bf0a4f84 | ||
|
|
644807bf01 | ||
|
|
93bdb6d133 | ||
|
|
4c120d4176 | ||
|
|
8824a24e15 | ||
|
|
f83b9e9813 | ||
|
|
77ee644afd | ||
|
|
288e7b9ae2 | ||
|
|
12b78a23c4 | ||
|
|
97e2e75e29 | ||
|
|
7d926ee5b9 | ||
|
|
22a17980ff | ||
|
|
9973f8ee83 | ||
|
|
08243e94c7 | ||
|
|
ac9a25cc12 | ||
|
|
b07c092cd2 | ||
|
|
381a466db3 | ||
|
|
a66549329c | ||
|
|
77dfcb8566 | ||
|
|
c1bbfaaecd | ||
|
|
66e8dbfc1a | ||
|
|
4003bdada2 | ||
|
|
40ef9a818f | ||
|
|
8f6d341e45 | ||
|
|
76daee7aaf | ||
|
|
955ed6aec6 | ||
|
|
28bc5c2e3e | ||
|
|
720b60400f | ||
|
|
a570d68ca8 | ||
|
|
acce342fcc | ||
|
|
6dedb3fa6d | ||
|
|
bd3b5e948d | ||
|
|
99d125d86b | ||
|
|
03d3cc3677 | ||
|
|
469c277407 | ||
|
|
757ab74c8e | ||
|
|
0cb1baf09a | ||
|
|
f1372adc9d | ||
|
|
29751ee939 | ||
|
|
9db5a6a0f5 | ||
|
|
1146f068e1 | ||
|
|
0ee590366b | ||
|
|
7873d2b3f5 | ||
|
|
ce9a97c45c | ||
|
|
17c42fd42a | ||
|
|
b18a03a376 | ||
|
|
d126183d0a | ||
|
|
0959fe3757 | ||
|
|
f30a3b0501 | ||
|
|
7d332ef634 | ||
|
|
e162e811fe | ||
|
|
a8310f4149 | ||
|
|
a171e0fcce | ||
|
|
bf29a72baa | ||
|
|
70e2fadd91 | ||
|
|
3779fb5063 | ||
|
|
0b0088821e | ||
|
|
f69a7805a7 | ||
|
|
4216c0517f | ||
|
|
909ff619e0 | ||
|
|
6ada2af2e1 | ||
|
|
8e1ae08c69 | ||
|
|
264a044097 | ||
|
|
da8a7bbe3a | ||
|
|
d9fa37ada5 | ||
|
|
98f8ef5a9f | ||
|
|
e268c02ab6 | ||
|
|
1578970f81 | ||
|
|
04ce9c4f6c | ||
|
|
a2eb3a6e43 | ||
|
|
60a8545cb7 | ||
|
|
b344177d8b | ||
|
|
4b627f0dd5 | ||
|
|
b76bf2d94b | ||
|
|
475ef7255f | ||
|
|
955fd90eec | ||
|
|
0d41e748cf | ||
|
|
706f32dd1d | ||
|
|
0f739dbc48 | ||
|
|
554cb902b0 | ||
|
|
acd383af75 | ||
|
|
f1a60fcb6a | ||
|
|
73f628147b | ||
|
|
9013854f42 | ||
|
|
0678af3a6c | ||
|
|
1d8662e71a | ||
|
|
5661cce795 | ||
|
|
b665c9cbce | ||
|
|
bd4544dbd7 | ||
|
|
381aed09a6 | ||
|
|
c9ed72d846 | ||
|
|
7327602f15 | ||
|
|
b0518206cd | ||
|
|
69e4c2e56f | ||
|
|
7581576a24 | ||
|
|
430bd6f4f3 | ||
|
|
ec05513d89 | ||
|
|
5ac7a70694 | ||
|
|
aff47992b3 | ||
|
|
cfb3d74d9f | ||
|
|
eeb37c7e10 | ||
|
|
584c4849bf | ||
|
|
cb0a788d17 | ||
|
|
db45dfaab3 | ||
|
|
43224c5d5c | ||
|
|
f3749e4de8 | ||
|
|
9d7ae45b0e | ||
|
|
200f61c99d | ||
|
|
36121a2268 | ||
|
|
bc834d4e77 | ||
|
|
de8295301e | ||
|
|
0e18aaa02a | ||
|
|
6b6b6fc2e4 | ||
|
|
b3e04cf95e | ||
|
|
01a8ba72b8 | ||
|
|
e1d06b93b7 | ||
|
|
d92a6f4439 | ||
|
|
54ec85bf50 | ||
|
|
b25ce0d81b | ||
|
|
806404e96e | ||
|
|
f0fb25a9b7 | ||
|
|
068b9a22f3 | ||
|
|
732244cb6d | ||
|
|
290616d8e3 | ||
|
|
bd07784cce | ||
|
|
dc47e99cb2 | ||
|
|
9fc73e06ea | ||
|
|
a940ef6250 | ||
|
|
224108818d | ||
|
|
0bbda536c7 | ||
|
|
e18ed3dc96 | ||
|
|
6b06dd0c8f | ||
|
|
cd57dcdf04 | ||
|
|
58330f9ec1 | ||
|
|
463f5971eb | ||
|
|
c8b78034a4 | ||
|
|
989bee8192 | ||
|
|
fe0256c8c9 | ||
|
|
7685e30462 | ||
|
|
0d4d029011 | ||
|
|
ecda84f8d5 | ||
|
|
021d23bef3 | ||
|
|
eb1679b997 | ||
|
|
5c1b7917e4 | ||
|
|
6af3216fab | ||
|
|
fa54f3cc9a | ||
|
|
56dde76889 | ||
|
|
89a7754bdf | ||
|
|
52a48dd80a | ||
|
|
1829c2806a | ||
|
|
723b9f7fa8 | ||
|
|
62b0d739bc | ||
|
|
c776916f14 | ||
|
|
d9de5b19d1 | ||
|
|
b4efa58d5d | ||
|
|
aea748ced7 | ||
|
|
8fecaba3f0 | ||
|
|
f255343b54 | ||
|
|
e045223660 | ||
|
|
e94b089e51 | ||
|
|
6ea07297f4 | ||
|
|
bd1ed5903f | ||
|
|
1fa4d30eab | ||
|
|
f39586bcb4 | ||
|
|
5e20d7d339 | ||
|
|
dbc1d9374d | ||
|
|
44e47fe98b | ||
|
|
04ebd0282e | ||
|
|
f853774154 | ||
|
|
e9977eb2f8 | ||
|
|
555cb07bfe | ||
|
|
1f16c64d67 | ||
|
|
9c7eb35967 | ||
|
|
a9132161df | ||
|
|
edf9a4f29d | ||
|
|
21387ac199 | ||
|
|
45f02f1ba8 | ||
|
|
f976ab7cd4 | ||
|
|
cbd930166c | ||
|
|
a305b05cff | ||
|
|
3e5da59abc | ||
|
|
326df68839 | ||
|
|
faa89850d0 | ||
|
|
8aacc312cf | ||
|
|
95986f1c4d | ||
|
|
b115fd22e0 | ||
|
|
cdd3aafdc6 | ||
|
|
961a13860e | ||
|
|
01e534a1c9 | ||
|
|
9f70233ebb | ||
|
|
78a4097d09 | ||
|
|
35373956ea | ||
|
|
bf285d471d | ||
|
|
9f545c65ad | ||
|
|
37dbd4c38d | ||
|
|
2b53546ce5 | ||
|
|
293f363c0d | ||
|
|
e3d41f4011 | ||
|
|
8638740223 | ||
|
|
bb51a41d67 | ||
|
|
6698774f3f | ||
|
|
c079d8c81b | ||
|
|
3db3b204b4 | ||
|
|
cc29f7dbdb | ||
|
|
81c31b4114 | ||
|
|
d3b9a60e31 | ||
|
|
2cb80325a0 | ||
|
|
4b3bc1ee13 | ||
|
|
5dcfdec03b | ||
|
|
f79f2b79b3 | ||
|
|
ce7750451d | ||
|
|
56406214a0 | ||
|
|
4c8ccf6767 | ||
|
|
1d85ae72b4 | ||
|
|
4aed0a48a2 | ||
|
|
fa8ccec4f6 | ||
|
|
278755f1f5 | ||
|
|
d229dd6661 | ||
|
|
86723a5372 | ||
|
|
ed46dca74f | ||
|
|
5c97db96bd | ||
|
|
4210cf316a | ||
|
|
57e979adaf | ||
|
|
4a5ab18a22 | ||
|
|
1f9e7ab4a0 | ||
|
|
9144521b90 | ||
|
|
2b0cd3d882 | ||
|
|
c967307706 | ||
|
|
27b258cf31 | ||
|
|
3dca7ff5ea | ||
|
|
e39ea8ddf8 | ||
|
|
7768f245f9 | ||
|
|
fe05b872aa | ||
|
|
df1516da14 | ||
|
|
4aeee08cde | ||
|
|
69ee862fb7 | ||
|
|
a70172dd93 | ||
|
|
37466eb87e | ||
|
|
500ff10fbd | ||
|
|
8d7689f6f9 | ||
|
|
b0daeed1e8 | ||
|
|
dbdd60a591 | ||
|
|
7e2fcc5e74 | ||
|
|
dbe0277824 | ||
|
|
ddb5ca188f | ||
|
|
7fc29c326b | ||
|
|
cf832fe106 | ||
|
|
0e9541fe89 | ||
|
|
f9bcc1c21d | ||
|
|
773b498392 | ||
|
|
3e620c6951 | ||
|
|
a32e3200de | ||
|
|
815a7073bc | ||
|
|
772f2bc349 | ||
|
|
73d8562849 | ||
|
|
73364a8b96 | ||
|
|
066058f631 | ||
|
|
c013fa52cd | ||
|
|
57d01bf82e | ||
|
|
7be37b1909 | ||
|
|
dabac0eedf | ||
|
|
c6a5b7ae47 | ||
|
|
a2339195aa | ||
|
|
4cd81126fd | ||
|
|
fc3667db6a | ||
|
|
f39d362add | ||
|
|
fe4ad4dd5c | ||
|
|
9c2fb9306e | ||
|
|
d3c7ee5a61 | ||
|
|
719b651753 | ||
|
|
40ce253abf | ||
|
|
184f4edbbc | ||
|
|
8f857dc4e1 | ||
|
|
bb836b2440 | ||
|
|
70136b1fe8 | ||
|
|
8cd4a39864 | ||
|
|
80af01181a | ||
|
|
62ce5df52c | ||
|
|
42607f0dbd | ||
|
|
a04ea2f382 | ||
|
|
9dec9605ed | ||
|
|
160498dae5 | ||
|
|
6db4320e98 | ||
|
|
cc63614f1e | ||
|
|
02111b9526 | ||
|
|
03fab3c6ad | ||
|
|
7b9fa6607b | ||
|
|
6a6c9daeb2 | ||
|
|
cb96aa0627 | ||
|
|
1d7dc86ec3 | ||
|
|
35ea5956d0 | ||
|
|
14c858391d | ||
|
|
a3b5396113 | ||
|
|
040004a6b9 | ||
|
|
69d45a06a6 | ||
|
|
d95a1b382f | ||
|
|
24eb3398d0 | ||
|
|
adbc333a0f | ||
|
|
c873e4d6c7 | ||
|
|
4e37316af0 | ||
|
|
b74ccb6639 | ||
|
|
c290049051 | ||
|
|
509c23ed36 | ||
|
|
11d98e911e | ||
|
|
753c7be0a6 | ||
|
|
bff722451d | ||
|
|
62dafda652 | ||
|
|
644eb448bb | ||
|
|
75d82868b2 | ||
|
|
685c4094c5 | ||
|
|
c281df8d79 | ||
|
|
79691e93e0 | ||
|
|
5006717a7f | ||
|
|
0f67dfc9b4 | ||
|
|
cacf544d51 | ||
|
|
16fc0f2ee3 | ||
|
|
735810237e | ||
|
|
ac520a2841 | ||
|
|
d9870f1948 | ||
|
|
30295ecc8e | ||
|
|
54cd4a58b8 | ||
|
|
ea294c776a | ||
|
|
570fb8f335 | ||
|
|
22f5acf240 | ||
|
|
19aa220411 | ||
|
|
8a5e05cd83 | ||
|
|
9586eabd5a | ||
|
|
85c4b8b67a | ||
|
|
2397ec5937 | ||
|
|
99bea2559c | ||
|
|
ed682dd96e | ||
|
|
c3c55d5b4e | ||
|
|
0d3b6b8aca | ||
|
|
9d4b25cf85 | ||
|
|
5092683f97 | ||
|
|
f59436dad0 | ||
|
|
67df245eee | ||
|
|
382fc3a7bf | ||
|
|
7c59242905 | ||
|
|
dc6d3321e5 | ||
|
|
da76481ad3 | ||
|
|
25aecc0074 | ||
|
|
aa25c91bb0 | ||
|
|
ae56b13a4d | ||
|
|
267e39e250 | ||
|
|
6d1e6218b5 | ||
|
|
58176114f9 | ||
|
|
4cc2e50d16 | ||
|
|
e096f63bda | ||
|
|
01211ff075 | ||
|
|
9299c919c7 | ||
|
|
c7f92ddf2f | ||
|
|
1adb912547 | ||
|
|
67405aed06 | ||
|
|
8cb4e3d14d | ||
|
|
056a458d30 | ||
|
|
9ca77efff2 | ||
|
|
70d99086de | ||
|
|
035a4824d6 | ||
|
|
cd7549f22e | ||
|
|
38aedb45e3 | ||
|
|
32a5f92c8f | ||
|
|
cf00900298 | ||
|
|
83f9899f78 | ||
|
|
c5e8cd31ec | ||
|
|
0cdbde386f | ||
|
|
2985957afc | ||
|
|
fe09260483 | ||
|
|
775f7b88ed | ||
|
|
39108ceacb | ||
|
|
c00b00a93c | ||
|
|
d2ea535a16 | ||
|
|
eec61a8a6d | ||
|
|
7701cf4107 | ||
|
|
539b566fad | ||
|
|
3ffa47c0e8 | ||
|
|
df5a6483c2 | ||
|
|
27d610387c | ||
|
|
71d755f5f5 | ||
|
|
7c442019e1 | ||
|
|
9b99416965 | ||
|
|
7de603ebff | ||
|
|
35d821cbf1 | ||
|
|
563ca73de0 | ||
|
|
27eb8c74af | ||
|
|
4aa61dcc9e | ||
|
|
e6b6748085 | ||
|
|
90fef3ae2d | ||
|
|
cc352416e5 | ||
|
|
5e73de50e7 | ||
|
|
46dfb75d92 | ||
|
|
3af968ce8f | ||
|
|
4f8df2f86b | ||
|
|
65ea3d9adf | ||
|
|
776ff9c97e | ||
|
|
5c883bdd33 | ||
|
|
af2892f6a1 | ||
|
|
a5792e220a | ||
|
|
eef088dde4 | ||
|
|
8d00fc08f0 | ||
|
|
c7336bc330 | ||
|
|
84208e0a53 | ||
|
|
2a28c81da6 | ||
|
|
56750d31e6 | ||
|
|
899c6262f8 | ||
|
|
6a19feca1d | ||
|
|
ad5ec05e26 | ||
|
|
b67dc85936 | ||
|
|
b01da63d55 | ||
|
|
aabb440159 | ||
|
|
e1eb82fe92 | ||
|
|
a18d442765 | ||
|
|
c98545b3ae | ||
|
|
3df9bc73f8 | ||
|
|
9b2e9ab6c9 | ||
|
|
e7b022d62e | ||
|
|
4195240f36 | ||
|
|
a67f7cb7c8 | ||
|
|
3f7c4ddc96 | ||
|
|
12900556a0 | ||
|
|
4899ae007a | ||
|
|
3db81b4fe3 | ||
|
|
bd4bf06e6c | ||
|
|
f780e87ee3 | ||
|
|
537053d317 | ||
|
|
4f9e58d751 | ||
|
|
e9a0803d95 |
@@ -7,5 +7,5 @@ ignore = [
|
|||||||
# wry needs kuchiki on Android
|
# wry needs kuchiki on Android
|
||||||
"RUSTSEC-2023-0019",
|
"RUSTSEC-2023-0019",
|
||||||
# atty is only used when the `colored` feature is enabled on tauri-plugin-log
|
# atty is only used when the `colored` feature is enabled on tauri-plugin-log
|
||||||
"RUSTSEC-2021-0145"
|
"RUSTSEC-2021-0145",
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
---
|
|
||||||
"authenticator": patch
|
|
||||||
"autostart": patch
|
|
||||||
"barcode-scanner": patch
|
|
||||||
"biometric": patch
|
|
||||||
"cli": patch
|
|
||||||
"clipboard-manager": patch
|
|
||||||
"deep-link": patch
|
|
||||||
"dialog": patch
|
|
||||||
"fs": patch
|
|
||||||
"global-shortcut": patch
|
|
||||||
"http": patch
|
|
||||||
"localhost": patch
|
|
||||||
"log-plugin": patch
|
|
||||||
"nfc": patch
|
|
||||||
"notification": patch
|
|
||||||
"os": patch
|
|
||||||
"persisted-scope": patch
|
|
||||||
"positioner": patch
|
|
||||||
"process": patch
|
|
||||||
"shell": patch
|
|
||||||
"single-instance": patch
|
|
||||||
"sql": patch
|
|
||||||
"store": patch
|
|
||||||
"stronghold": patch
|
|
||||||
"updater": patch
|
|
||||||
"upload": patch
|
|
||||||
"websocket": patch
|
|
||||||
"window-state": patch
|
|
||||||
"authenticator-js": patch
|
|
||||||
"autostart-js": patch
|
|
||||||
"barcode-scanner-js": patch
|
|
||||||
"biometric-js": patch
|
|
||||||
"cli-js": patch
|
|
||||||
"clipboard-manager-js": patch
|
|
||||||
"deep-link-js": patch
|
|
||||||
"dialog-js": patch
|
|
||||||
"fs-js": patch
|
|
||||||
"global-shortcut-js": patch
|
|
||||||
"http-js": patch
|
|
||||||
"log-js": patch
|
|
||||||
"nfc-js": patch
|
|
||||||
"notification-js": patch
|
|
||||||
"os-js": patch
|
|
||||||
"positioner-js": patch
|
|
||||||
"process-js": patch
|
|
||||||
"shell-js": patch
|
|
||||||
"sql-js": patch
|
|
||||||
"store-js": patch
|
|
||||||
"stronghold-js": patch
|
|
||||||
"updater-js": patch
|
|
||||||
"upload-js": patch
|
|
||||||
"websocket-js": patch
|
|
||||||
"window-state-js": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update to tauri beta.
|
|
||||||
@@ -3,24 +3,40 @@
|
|||||||
"pkgManagers": {
|
"pkgManagers": {
|
||||||
"javascript": {
|
"javascript": {
|
||||||
"version": true,
|
"version": true,
|
||||||
"getPublishedVersion": "node ../../.scripts/covector/package-latest-version.cjs npm ${ pkgFile.pkg.name } ${ pkgFile.pkg.version }",
|
"getPublishedVersion": {
|
||||||
"publish": ["pnpm build", "pnpm publish --access public --no-git-checks"]
|
"use": "fetch:check",
|
||||||
|
"options": {
|
||||||
|
"url": "https://registry.npmjs.com/${ pkg.pkgFile.pkg.name }/${ pkg.pkgFile.version }"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"publish": [
|
||||||
|
{
|
||||||
|
"command": "pnpm build",
|
||||||
|
"dryRunCommand": "pnpm build"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "npm publish --provenance --access public",
|
||||||
|
"dryRunCommand": "npm publish --provenance --access public --dry-run",
|
||||||
|
"pipe": true
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"rust": {
|
"rust": {
|
||||||
"version": true,
|
"version": true,
|
||||||
"getPublishedVersion": "node ../../.scripts/covector/package-latest-version.cjs cargo ${ pkgFile.pkg.package.name } ${ pkgFile.pkg.package.version }",
|
"getPublishedVersion": {
|
||||||
|
"use": "fetch:check",
|
||||||
|
"options": {
|
||||||
|
"url": "https://crates.io/api/v1/crates/${ pkg.pkgFile.pkg.package.name }/${ pkg.pkgFile.version }"
|
||||||
|
}
|
||||||
|
},
|
||||||
"publish": [
|
"publish": [
|
||||||
{
|
|
||||||
"command": "cargo package --no-verify",
|
|
||||||
"dryRunCommand": true
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"command": "echo '<details>\n<summary><em><h4>Cargo Publish</h4></em></summary>\n\n```'",
|
"command": "echo '<details>\n<summary><em><h4>Cargo Publish</h4></em></summary>\n\n```'",
|
||||||
"dryRunCommand": true,
|
"dryRunCommand": true,
|
||||||
"pipe": true
|
"pipe": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "cargo publish",
|
"command": "cargo publish --no-verify",
|
||||||
"dryRunCommand": "cargo publish --dry-run",
|
"dryRunCommand": "cargo publish --dry-run",
|
||||||
"pipe": true
|
"pipe": true
|
||||||
},
|
},
|
||||||
@@ -52,7 +68,10 @@
|
|||||||
"os",
|
"os",
|
||||||
"process",
|
"process",
|
||||||
"shell",
|
"shell",
|
||||||
"updater"
|
"store",
|
||||||
|
"updater",
|
||||||
|
"geolocation",
|
||||||
|
"haptics"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"api-example-js": {
|
"api-example-js": {
|
||||||
@@ -74,6 +93,7 @@
|
|||||||
"os-js",
|
"os-js",
|
||||||
"process-js",
|
"process-js",
|
||||||
"shell-js",
|
"shell-js",
|
||||||
|
"store-js",
|
||||||
"updater-js"
|
"updater-js"
|
||||||
],
|
],
|
||||||
"postversion": "pnpm install --no-frozen-lockfile"
|
"postversion": "pnpm install --no-frozen-lockfile"
|
||||||
@@ -85,14 +105,6 @@
|
|||||||
"dependencies": ["deep-link-js"],
|
"dependencies": ["deep-link-js"],
|
||||||
"postversion": "pnpm install --no-frozen-lockfile"
|
"postversion": "pnpm install --no-frozen-lockfile"
|
||||||
},
|
},
|
||||||
"authenticator": {
|
|
||||||
"path": "./plugins/authenticator",
|
|
||||||
"manager": "rust"
|
|
||||||
},
|
|
||||||
"authenticator-js": {
|
|
||||||
"path": "./plugins/authenticator",
|
|
||||||
"manager": "javascript"
|
|
||||||
},
|
|
||||||
"autostart": {
|
"autostart": {
|
||||||
"path": "./plugins/autostart",
|
"path": "./plugins/autostart",
|
||||||
"manager": "rust"
|
"manager": "rust"
|
||||||
@@ -158,6 +170,14 @@
|
|||||||
"path": "./plugins/dialog",
|
"path": "./plugins/dialog",
|
||||||
"manager": "javascript"
|
"manager": "javascript"
|
||||||
},
|
},
|
||||||
|
"geolocation": {
|
||||||
|
"path": "./plugins/geolocation",
|
||||||
|
"manager": "rust"
|
||||||
|
},
|
||||||
|
"geolocation-js": {
|
||||||
|
"path": "./plugins/geolocation",
|
||||||
|
"manager": "javascript"
|
||||||
|
},
|
||||||
"global-shortcut": {
|
"global-shortcut": {
|
||||||
"path": "./plugins/global-shortcut",
|
"path": "./plugins/global-shortcut",
|
||||||
"manager": "rust"
|
"manager": "rust"
|
||||||
@@ -166,6 +186,14 @@
|
|||||||
"path": "./plugins/global-shortcut",
|
"path": "./plugins/global-shortcut",
|
||||||
"manager": "javascript"
|
"manager": "javascript"
|
||||||
},
|
},
|
||||||
|
"haptics": {
|
||||||
|
"path": "./plugins/haptics",
|
||||||
|
"manager": "rust"
|
||||||
|
},
|
||||||
|
"haptics-js": {
|
||||||
|
"path": "./plugins/haptics",
|
||||||
|
"manager": "javascript"
|
||||||
|
},
|
||||||
"http": {
|
"http": {
|
||||||
"path": "./plugins/http",
|
"path": "./plugins/http",
|
||||||
"manager": "rust",
|
"manager": "rust",
|
||||||
@@ -242,32 +270,12 @@
|
|||||||
},
|
},
|
||||||
"single-instance": {
|
"single-instance": {
|
||||||
"path": "./plugins/single-instance",
|
"path": "./plugins/single-instance",
|
||||||
"manager": "rust"
|
"manager": "rust",
|
||||||
|
"dependencies": ["deep-link"]
|
||||||
},
|
},
|
||||||
"sql": {
|
"sql": {
|
||||||
"path": "./plugins/sql",
|
"path": "./plugins/sql",
|
||||||
"manager": "rust",
|
"manager": "rust"
|
||||||
"publish": [
|
|
||||||
{
|
|
||||||
"command": "cargo package --no-verify",
|
|
||||||
"dryRunCommand": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "echo '<details>\n<summary><em><h4>Cargo Publish</h4></em></summary>\n\n```'",
|
|
||||||
"dryRunCommand": true,
|
|
||||||
"pipe": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "cargo publish --features sqlite",
|
|
||||||
"dryRunCommand": "cargo publish --features sqlite --dry-run",
|
|
||||||
"pipe": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"command": "echo '```\n\n</details>\n'",
|
|
||||||
"dryRunCommand": true,
|
|
||||||
"pipe": true
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"sql-js": {
|
"sql-js": {
|
||||||
"path": "./plugins/sql",
|
"path": "./plugins/sql",
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
sql: patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Replace `Mutex` with `RwLock` to enable concurrent SQL execution.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"fs-js": "patch"
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix `writeTextFile` converting UTF-8 characters (for example `äöü`) in the given path into replacement character (`�`)
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
"authenticator": patch
|
|
||||||
"autostart": patch
|
|
||||||
"barcode-scanner": patch
|
|
||||||
"biometric": patch
|
|
||||||
"cli": patch
|
|
||||||
"clipboard-manager": patch
|
|
||||||
"deep-link": patch
|
|
||||||
"dialog": patch
|
|
||||||
"fs": patch
|
|
||||||
"global-shortcut": patch
|
|
||||||
"http": patch
|
|
||||||
"localhost": patch
|
|
||||||
"log-plugin": patch
|
|
||||||
"nfc": patch
|
|
||||||
"notification": patch
|
|
||||||
"os": patch
|
|
||||||
"persisted-scope": patch
|
|
||||||
"positioner": patch
|
|
||||||
"process": patch
|
|
||||||
"shell": patch
|
|
||||||
"single-instance": patch
|
|
||||||
"sql": patch
|
|
||||||
"store": patch
|
|
||||||
"stronghold": patch
|
|
||||||
"updater": patch
|
|
||||||
"upload": patch
|
|
||||||
"websocket": patch
|
|
||||||
"window-state": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update MSRV to 1.75.
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"tag": "beta",
|
|
||||||
"changes": [
|
|
||||||
".changes/beta.md",
|
|
||||||
".changes/msrv-1.75.md",
|
|
||||||
".changes/tauri-beta-4.md"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -11,7 +11,7 @@ Use the following format:
|
|||||||
```md
|
```md
|
||||||
---
|
---
|
||||||
"package-a": patch
|
"package-a": patch
|
||||||
"package-b": minor
|
"package-b": minor:feat
|
||||||
---
|
---
|
||||||
|
|
||||||
Change summary goes here
|
Change summary goes here
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
---
|
|
||||||
"authenticator": patch
|
|
||||||
"autostart": patch
|
|
||||||
"barcode-scanner": patch
|
|
||||||
"biometric": patch
|
|
||||||
"cli": patch
|
|
||||||
"clipboard-manager": patch
|
|
||||||
"deep-link": patch
|
|
||||||
"dialog": patch
|
|
||||||
"fs": patch
|
|
||||||
"global-shortcut": patch
|
|
||||||
"http": patch
|
|
||||||
"localhost": patch
|
|
||||||
"log-plugin": patch
|
|
||||||
"nfc": patch
|
|
||||||
"notification": patch
|
|
||||||
"os": patch
|
|
||||||
"persisted-scope": patch
|
|
||||||
"positioner": patch
|
|
||||||
"process": patch
|
|
||||||
"shell": patch
|
|
||||||
"single-instance": patch
|
|
||||||
"sql": patch
|
|
||||||
"store": patch
|
|
||||||
"stronghold": patch
|
|
||||||
"updater": patch
|
|
||||||
"upload": patch
|
|
||||||
"websocket": patch
|
|
||||||
"window-state": patch
|
|
||||||
"authenticator-js": patch
|
|
||||||
"autostart-js": patch
|
|
||||||
"barcode-scanner-js": patch
|
|
||||||
"biometric-js": patch
|
|
||||||
"cli-js": patch
|
|
||||||
"clipboard-manager-js": patch
|
|
||||||
"deep-link-js": patch
|
|
||||||
"dialog-js": patch
|
|
||||||
"fs-js": patch
|
|
||||||
"global-shortcut-js": patch
|
|
||||||
"http-js": patch
|
|
||||||
"log-js": patch
|
|
||||||
"nfc-js": patch
|
|
||||||
"notification-js": patch
|
|
||||||
"os-js": patch
|
|
||||||
"positioner-js": patch
|
|
||||||
"process-js": patch
|
|
||||||
"shell-js": patch
|
|
||||||
"sql-js": patch
|
|
||||||
"store-js": patch
|
|
||||||
"stronghold-js": patch
|
|
||||||
"updater-js": patch
|
|
||||||
"upload-js": patch
|
|
||||||
"websocket-js": patch
|
|
||||||
"window-state-js": patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Update to tauri beta.4.
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
target
|
|
||||||
node_modules
|
|
||||||
dist
|
|
||||||
build/
|
|
||||||
dist-js
|
|
||||||
api-iife.js
|
|
||||||
init-iife.js
|
|
||||||
init.js
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{
|
|
||||||
"env": {
|
|
||||||
"browser": true,
|
|
||||||
"es2021": true
|
|
||||||
},
|
|
||||||
"extends": [
|
|
||||||
"prettier",
|
|
||||||
"eslint:recommended",
|
|
||||||
"plugin:@typescript-eslint/recommended",
|
|
||||||
"plugin:security/recommended-legacy"
|
|
||||||
],
|
|
||||||
"overrides": [],
|
|
||||||
"parser": "@typescript-eslint/parser",
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": "latest",
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"plugins": ["@typescript-eslint"],
|
|
||||||
"rules": {}
|
|
||||||
}
|
|
||||||
|
After Width: | Height: | Size: 7.9 KiB |
@@ -7,23 +7,23 @@ name: Audit JavaScript
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: '0 0 * * *'
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/audit-javascript.yml"
|
- '.github/workflows/audit-javascript.yml'
|
||||||
- "**/pnpm-lock.yaml"
|
- '**/pnpm-lock.yaml'
|
||||||
- "**/package.json"
|
- '**/package.json'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/audit-javascript.yml"
|
- '.github/workflows/audit-javascript.yml'
|
||||||
- "**/pnpm-lock.yaml"
|
- '**/pnpm-lock.yaml'
|
||||||
- "**/package.json"
|
- '**/package.json'
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -33,20 +33,20 @@ jobs:
|
|||||||
audit-js:
|
audit-js:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Cache pnpm modules
|
- name: Cache pnpm modules
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.pnpm-store
|
path: ~/.pnpm-store
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 'lts/*'
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 7.x.x
|
version: 9.x.x
|
||||||
run_install: true
|
run_install: true
|
||||||
- name: audit
|
- name: audit
|
||||||
run: pnpm audit
|
run: pnpm audit
|
||||||
|
|||||||
@@ -7,23 +7,23 @@ name: Audit Rust
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 0 * * *"
|
- cron: '0 0 * * *'
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/audit-rust.yml"
|
- '.github/workflows/audit-rust.yml'
|
||||||
- "**/Cargo.lock"
|
- '**/Cargo.lock'
|
||||||
- "**/Cargo.toml"
|
- '**/Cargo.toml'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/audit-rust.yml"
|
- '.github/workflows/audit-rust.yml'
|
||||||
- "**/Cargo.lock"
|
- '**/Cargo.lock'
|
||||||
- "**/Cargo.toml"
|
- '**/Cargo.toml'
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -33,7 +33,7 @@ jobs:
|
|||||||
audit-rust:
|
audit-rust:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: rustsec/audit-check@v1
|
- uses: rustsec/audit-check@v1
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ name: check generated files
|
|||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/check-generated-files.yml"
|
- '.github/workflows/check-generated-files.yml'
|
||||||
- "**/guest-js/**"
|
- '**/guest-js/**'
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -20,15 +20,11 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
packages: ${{ steps.filter.outputs.changes }}
|
packages: ${{ steps.filter.outputs.changes }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: dorny/paths-filter@v2
|
- uses: dorny/paths-filter@v2
|
||||||
id: filter
|
id: filter
|
||||||
with:
|
with:
|
||||||
filters: |
|
filters: |
|
||||||
authenticator:
|
|
||||||
- .github/workflows/check-generated-files.yml
|
|
||||||
- plugins/authenticator/guest-js/**
|
|
||||||
- plugins/authenticator/src/api-iife.js
|
|
||||||
autostart:
|
autostart:
|
||||||
- .github/workflows/check-generated-files.yml
|
- .github/workflows/check-generated-files.yml
|
||||||
- plugins/autostart/guest-js/**
|
- plugins/autostart/guest-js/**
|
||||||
@@ -49,10 +45,18 @@ jobs:
|
|||||||
- .github/workflows/check-generated-files.yml
|
- .github/workflows/check-generated-files.yml
|
||||||
- plugins/fs/guest-js/**
|
- plugins/fs/guest-js/**
|
||||||
- plugins/fs/src/api-iife.js
|
- plugins/fs/src/api-iife.js
|
||||||
|
geolocation:
|
||||||
|
- .github/workflows/check-generated-files.yml
|
||||||
|
- plugins/geolocation/guest-js/**
|
||||||
|
- plugins/geolocation/src/api-iife.js
|
||||||
global-shortcut:
|
global-shortcut:
|
||||||
- .github/workflows/check-generated-files.yml
|
- .github/workflows/check-generated-files.yml
|
||||||
- plugins/global-shortcut/guest-js/**
|
- plugins/global-shortcut/guest-js/**
|
||||||
- plugins/global-shortcut/src/api-iife.js
|
- plugins/global-shortcut/src/api-iife.js
|
||||||
|
haptics:
|
||||||
|
- .github/workflows/check-generated-files.yml
|
||||||
|
- plugins/haptics/guest-js/**
|
||||||
|
- plugins/haptics/src/api-iife.js
|
||||||
http:
|
http:
|
||||||
- .github/workflows/check-generated-files.yml
|
- .github/workflows/check-generated-files.yml
|
||||||
- plugins/http/guest-js/**
|
- plugins/http/guest-js/**
|
||||||
@@ -121,21 +125,21 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Cache pnpm modules
|
- name: Cache pnpm modules
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.pnpm-store
|
path: ~/.pnpm-store
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 'lts/*'
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 7.x.x
|
version: 9.x.x
|
||||||
run_install: true
|
run_install: true
|
||||||
|
|
||||||
- name: build api
|
- name: build api
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ jobs:
|
|||||||
check:
|
check:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
- uses: dorny/paths-filter@v2
|
- uses: dorny/paths-filter@v2
|
||||||
id: filter
|
id: filter
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: covector comment
|
||||||
|
on:
|
||||||
|
workflow_run:
|
||||||
|
workflows: [covector status] # the `name` of the workflow run on `pull_request` running `status` with `comment: true`
|
||||||
|
types:
|
||||||
|
- completed
|
||||||
|
|
||||||
|
# note all other permissions are set to none if not specified
|
||||||
|
# and these set the permissions for `secrets.GITHUB_TOKEN`
|
||||||
|
permissions:
|
||||||
|
# to read the action artifacts on `covector status` workflows
|
||||||
|
actions: read
|
||||||
|
# to write the comment
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
download:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.workflow_run.conclusion == 'success' &&
|
||||||
|
(github.event.workflow_run.head_repository.full_name != github.repository || github.actor == 'dependabot[bot]')
|
||||||
|
steps:
|
||||||
|
- name: covector status
|
||||||
|
uses: jbolda/covector/packages/action@covector-v0
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
command: 'status'
|
||||||
@@ -10,11 +10,13 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # required for use of git history
|
fetch-depth: 0 # required for use of git history
|
||||||
- name: covector status
|
- name: covector status
|
||||||
uses: jbolda/covector/packages/action@covector-v0
|
uses: jbolda/covector/packages/action@covector-v0
|
||||||
id: covector
|
id: covector
|
||||||
with:
|
with:
|
||||||
command: "status"
|
command: 'status'
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
comment: true
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
name: version or publish
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- v2
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
version-or-publish:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
timeout-minutes: 65
|
|
||||||
outputs:
|
|
||||||
change: ${{ steps.covector.outputs.change }}
|
|
||||||
commandRan: ${{ steps.covector.outputs.commandRan }}
|
|
||||||
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
fetch-depth: 0 # required for use of git history
|
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: "lts/*"
|
|
||||||
registry-url: "https://registry.npmjs.org"
|
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: 7.x.x
|
|
||||||
run_install: true
|
|
||||||
|
|
||||||
- name: install webkit2gtk and libudev for [authenticator]
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
|
|
||||||
|
|
||||||
- name: cargo login
|
|
||||||
run: cargo login ${{ secrets.ORG_CRATES_IO_TOKEN }}
|
|
||||||
|
|
||||||
- name: git config
|
|
||||||
run: |
|
|
||||||
git config --global user.name "${{ github.event.pusher.name }}"
|
|
||||||
git config --global user.email "${{ github.event.pusher.email }}"
|
|
||||||
|
|
||||||
- name: covector version or publish (publish when no change files present)
|
|
||||||
uses: jbolda/covector/packages/action@covector-v0
|
|
||||||
id: covector
|
|
||||||
env:
|
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.ORG_NPM_TOKEN }}
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
command: "version-or-publish"
|
|
||||||
createRelease: true
|
|
||||||
|
|
||||||
- name: Create Pull Request With Versions Bumped
|
|
||||||
id: cpr
|
|
||||||
uses: tauri-apps/create-pull-request@v3
|
|
||||||
if: steps.covector.outputs.commandRan == 'version'
|
|
||||||
with:
|
|
||||||
title: "Publish New Versions (v2)"
|
|
||||||
commit-message: "publish new versions"
|
|
||||||
labels: "version updates"
|
|
||||||
branch: "release-v2"
|
|
||||||
body: ${{ steps.covector.outputs.change }}
|
|
||||||
@@ -8,6 +8,15 @@ on:
|
|||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
|
- v2
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
# required for npm provenance
|
||||||
|
id-token: write
|
||||||
|
# required to create the GitHub Release
|
||||||
|
contents: write
|
||||||
|
# required for creating the Version Packages Release
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
version-or-publish:
|
version-or-publish:
|
||||||
@@ -19,25 +28,20 @@ jobs:
|
|||||||
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
|
successfulPublish: ${{ steps.covector.outputs.successfulPublish }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # required for use of git history
|
fetch-depth: 0 # required for use of git history
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: "lts/*"
|
node-version: 'lts/*'
|
||||||
registry-url: "https://registry.npmjs.org"
|
registry-url: 'https://registry.npmjs.org'
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 7.x.x
|
version: 9.x.x
|
||||||
run_install: true
|
run_install: true
|
||||||
|
|
||||||
- name: install webkit2gtk and libudev for [authenticator]
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
|
|
||||||
|
|
||||||
- name: cargo login
|
- name: cargo login
|
||||||
run: cargo login ${{ secrets.ORG_CRATES_IO_TOKEN }}
|
run: cargo login ${{ secrets.ORG_CRATES_IO_TOKEN }}
|
||||||
|
|
||||||
@@ -46,23 +50,36 @@ jobs:
|
|||||||
git config --global user.name "${{ github.event.pusher.name }}"
|
git config --global user.name "${{ github.event.pusher.name }}"
|
||||||
git config --global user.email "${{ github.event.pusher.email }}"
|
git config --global user.email "${{ github.event.pusher.email }}"
|
||||||
|
|
||||||
|
- name: Setup target dir on /mnt
|
||||||
|
# This directory has a larger partition size
|
||||||
|
run: |
|
||||||
|
sudo mkdir /mnt/target
|
||||||
|
WORKSPACE_OWNER="$(stat -c '%U:%G' "${GITHUB_WORKSPACE}")"
|
||||||
|
sudo chown -R "${WORKSPACE_OWNER}" /mnt/target
|
||||||
|
|
||||||
- name: covector version or publish (publish when no change files present)
|
- name: covector version or publish (publish when no change files present)
|
||||||
uses: jbolda/covector/packages/action@covector-v0
|
uses: jbolda/covector/packages/action@covector-v0
|
||||||
id: covector
|
id: covector
|
||||||
env:
|
env:
|
||||||
|
CARGO_TARGET_DIR: /mnt/target
|
||||||
NODE_AUTH_TOKEN: ${{ secrets.ORG_NPM_TOKEN }}
|
NODE_AUTH_TOKEN: ${{ secrets.ORG_NPM_TOKEN }}
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
command: "version-or-publish"
|
command: 'version-or-publish'
|
||||||
createRelease: true
|
createRelease: true
|
||||||
|
recognizeContributors: true
|
||||||
|
|
||||||
|
- name: Sync Cargo.lock
|
||||||
|
if: steps.covector.outputs.commandRan == 'version'
|
||||||
|
run: cargo tree --depth 0
|
||||||
|
|
||||||
- name: Create Pull Request With Versions Bumped
|
- name: Create Pull Request With Versions Bumped
|
||||||
id: cpr
|
id: cpr
|
||||||
uses: tauri-apps/create-pull-request@v3
|
uses: tauri-apps/create-pull-request@v3
|
||||||
if: steps.covector.outputs.commandRan == 'version'
|
if: steps.covector.outputs.commandRan == 'version'
|
||||||
with:
|
with:
|
||||||
title: "Publish New Versions"
|
title: 'Publish New Versions (${{ github.ref_name }})'
|
||||||
commit-message: "publish new versions"
|
commit-message: 'publish new versions'
|
||||||
labels: "version updates"
|
labels: 'version updates'
|
||||||
branch: "release"
|
branch: 'ci/release-${{ github.ref_name }}'
|
||||||
body: ${{ steps.covector.outputs.change }}
|
body: ${{ steps.covector.outputs.change }}
|
||||||
|
|||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
name: check formatting
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
rustfmt:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: install Rust stable and rustfmt
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
with:
|
||||||
|
components: rustfmt
|
||||||
|
|
||||||
|
- name: run cargo fmt
|
||||||
|
run: cargo fmt --all -- --check
|
||||||
|
|
||||||
|
prettier:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Cache pnpm modules
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.pnpm-store
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-
|
||||||
|
- uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 'lts/*'
|
||||||
|
- uses: pnpm/action-setup@v4
|
||||||
|
with:
|
||||||
|
version: 9.x.x
|
||||||
|
run_install: true
|
||||||
|
- run: pnpm format:check
|
||||||
|
|
||||||
|
taplo:
|
||||||
|
name: taplo (.toml files)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: install Rust stable
|
||||||
|
uses: dtolnay/rust-toolchain@stable
|
||||||
|
|
||||||
|
- name: install taplo-cli
|
||||||
|
uses: taiki-e/install-action@v2
|
||||||
|
with:
|
||||||
|
tool: taplo-cli
|
||||||
|
|
||||||
|
- run: taplo fmt --check --diff
|
||||||
@@ -10,15 +10,15 @@ on:
|
|||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/integration-tests.yml"
|
- '.github/workflows/integration-tests.yml'
|
||||||
- "plugins/updater/src/**"
|
- 'plugins/updater/src/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/integration-tests.yml"
|
- '.github/workflows/integration-tests.yml'
|
||||||
- "plugins/updater/src/**"
|
- 'plugins/updater/src/**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run-integration-tests:
|
run-integration-tests:
|
||||||
@@ -27,23 +27,21 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
platform: [ubuntu-latest, macos-latest, windows-latest]
|
platform: [ubuntu-22.04, macos-latest, windows-latest]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: install stable
|
- name: install stable
|
||||||
uses: actions-rs/toolchain@v1
|
uses: dtolnay/rust-toolchain@stable
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
|
|
||||||
- name: install Linux dependencies
|
- name: install Linux dependencies
|
||||||
if: matrix.platform == 'ubuntu-latest'
|
if: matrix.platform == 'ubuntu-22.04'
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y webkit2gtk-4.1 libayatana-appindicator3-dev libfuse2
|
sudo apt-get install -y webkit2gtk-4.0 libwebkit2gtk-4.1-dev libayatana-appindicator3-dev libfuse2
|
||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
|
|||||||
@@ -10,23 +10,23 @@ on:
|
|||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/lint-javascript.yml"
|
- '.github/workflows/lint-javascript.yml'
|
||||||
- "plugins/*/guest-js/**"
|
- 'plugins/*/guest-js/**'
|
||||||
- ".eslintignore"
|
- '.eslintignore'
|
||||||
- ".eslintrc.json"
|
- '.eslintrc.json'
|
||||||
- ".prettierignore"
|
- '.prettierignore'
|
||||||
- "**/package.json"
|
- '**/package.json'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/lint-javascript.yml"
|
- '.github/workflows/lint-javascript.yml'
|
||||||
- "plugins/*/guest-js/**"
|
- 'plugins/*/guest-js/**'
|
||||||
- ".eslintignore"
|
- '.eslintignore'
|
||||||
- ".eslintrc.json"
|
- '.eslintrc.json'
|
||||||
- ".prettierignore"
|
- '.prettierignore'
|
||||||
- "**/package.json"
|
- '**/package.json'
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -36,40 +36,20 @@ jobs:
|
|||||||
eslint:
|
eslint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Cache pnpm modules
|
- name: Cache pnpm modules
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.pnpm-store
|
path: ~/.pnpm-store
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 'lts/*'
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 7.x.x
|
version: 9.x.x
|
||||||
run_install: true
|
run_install: true
|
||||||
- name: eslint
|
- name: eslint
|
||||||
run: pnpm lint
|
run: pnpm lint
|
||||||
prettier:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: Cache pnpm modules
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: ~/.pnpm-store
|
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
- uses: pnpm/action-setup@v2
|
|
||||||
with:
|
|
||||||
version: 7.x.x
|
|
||||||
run_install: true
|
|
||||||
- name: prettier check
|
|
||||||
run: pnpm format-check
|
|
||||||
|
|||||||
@@ -10,19 +10,19 @@ on:
|
|||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/lint-rust.yml"
|
- '.github/workflows/lint-rust.yml'
|
||||||
- "plugins/*/src/**"
|
- 'plugins/*/src/**'
|
||||||
- "!plugins/*/src/api-iife.js"
|
- '!plugins/*/src/api-iife.js'
|
||||||
- "**/Cargo.toml"
|
- '**/Cargo.toml'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/lint-rust.yml"
|
- '.github/workflows/lint-rust.yml'
|
||||||
- "plugins/*/src/**"
|
- 'plugins/*/src/**'
|
||||||
- "!plugins/*/src/api-iife.js"
|
- '!plugins/*/src/api-iife.js'
|
||||||
- "**/Cargo.toml"
|
- '**/Cargo.toml'
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -36,14 +36,11 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
packages: ${{ steps.filter.outputs.changes }}
|
packages: ${{ steps.filter.outputs.changes }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: dorny/paths-filter@v2
|
- uses: dorny/paths-filter@v2
|
||||||
id: filter
|
id: filter
|
||||||
with:
|
with:
|
||||||
filters: |
|
filters: |
|
||||||
tauri-plugin-authenticator:
|
|
||||||
- .github/workflows/lint-rust.yml
|
|
||||||
- plugins/authenticator/**
|
|
||||||
tauri-plugin-autostart:
|
tauri-plugin-autostart:
|
||||||
- .github/workflows/lint-rust.yml
|
- .github/workflows/lint-rust.yml
|
||||||
- plugins/autostart/**
|
- plugins/autostart/**
|
||||||
@@ -53,6 +50,9 @@ jobs:
|
|||||||
tauri-plugin-clipboard-manager:
|
tauri-plugin-clipboard-manager:
|
||||||
- .github/workflows/lint-rust.yml
|
- .github/workflows/lint-rust.yml
|
||||||
- plugins/clipboard-manager/**
|
- plugins/clipboard-manager/**
|
||||||
|
tauri-plugin-deep-link:
|
||||||
|
- .github/workflows/lint-rust.yml
|
||||||
|
- plugins/deep-link/**
|
||||||
tauri-plugin-dialog:
|
tauri-plugin-dialog:
|
||||||
- .github/workflows/lint-rust.yml
|
- .github/workflows/lint-rust.yml
|
||||||
- plugins/dialog/**
|
- plugins/dialog/**
|
||||||
@@ -60,9 +60,15 @@ jobs:
|
|||||||
tauri-plugin-fs:
|
tauri-plugin-fs:
|
||||||
- .github/workflows/lint-rust.yml
|
- .github/workflows/lint-rust.yml
|
||||||
- plugins/fs/**
|
- plugins/fs/**
|
||||||
|
tauri-plugin-geolocation:
|
||||||
|
- .github/workflows/lint-rust.yml
|
||||||
|
- plugins/geolocation/**
|
||||||
tauri-plugin-global-shortcut:
|
tauri-plugin-global-shortcut:
|
||||||
- .github/workflows/lint-rust.yml
|
- .github/workflows/lint-rust.yml
|
||||||
- plugins/global-shortcut/**
|
- plugins/global-shortcut/**
|
||||||
|
tauri-plugin-haptics:
|
||||||
|
- .github/workflows/lint-rust.yml
|
||||||
|
- plugins/haptics/**
|
||||||
tauri-plugin-http:
|
tauri-plugin-http:
|
||||||
- .github/workflows/lint-rust.yml
|
- .github/workflows/lint-rust.yml
|
||||||
- plugins/http/**
|
- plugins/http/**
|
||||||
@@ -120,19 +126,19 @@ jobs:
|
|||||||
clippy:
|
clippy:
|
||||||
needs: changes
|
needs: changes
|
||||||
if: ${{ needs.changes.outputs.packages != '[]' && needs.changes.outputs.packages != '' }}
|
if: ${{ needs.changes.outputs.packages != '[]' && needs.changes.outputs.packages != '' }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
package: ${{ fromJSON(needs.changes.outputs.packages) }}
|
package: ${{ fromJSON(needs.changes.outputs.packages) }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: install webkit2gtk and libudev for [authenticator]
|
- name: install webkit2gtk
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
|
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev
|
||||||
|
|
||||||
- name: Install clippy with stable toolchain
|
- name: Install clippy with stable toolchain
|
||||||
uses: dtolnay/rust-toolchain@stable
|
uses: dtolnay/rust-toolchain@stable
|
||||||
@@ -141,32 +147,8 @@ jobs:
|
|||||||
|
|
||||||
- uses: Swatinem/rust-cache@v2
|
- uses: Swatinem/rust-cache@v2
|
||||||
|
|
||||||
- name: create dummy dist
|
|
||||||
working-directory: examples/api
|
|
||||||
run: mkdir dist
|
|
||||||
|
|
||||||
- name: clippy ${{ matrix.package }}
|
- name: clippy ${{ matrix.package }}
|
||||||
if: matrix.package != 'tauri-plugin-sql'
|
|
||||||
run: cargo clippy --package ${{ matrix.package }} --all-targets -- -D warnings
|
run: cargo clippy --package ${{ matrix.package }} --all-targets -- -D warnings
|
||||||
|
|
||||||
- name: clippy ${{ matrix.package }} mysql
|
- name: clippy ${{ matrix.package }} --all-features
|
||||||
if: matrix.package == 'tauri-plugin-sql'
|
run: cargo clippy --package ${{ matrix.package }} --all-targets --all-features -- -D warnings
|
||||||
run: cargo clippy --package ${{ matrix.package }} --all-targets --no-default-features --features mysql -- -D warnings
|
|
||||||
|
|
||||||
- name: clippy ${{ matrix.package }} postgres
|
|
||||||
if: matrix.package == 'tauri-plugin-sql'
|
|
||||||
run: cargo clippy --package ${{ matrix.package }} --all-targets --no-default-features --features postgres -- -D warnings
|
|
||||||
|
|
||||||
fmt:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install rustfmt with nightly toolchain
|
|
||||||
uses: dtolnay/rust-toolchain@nightly
|
|
||||||
with:
|
|
||||||
components: rustfmt
|
|
||||||
|
|
||||||
- name: Check formatting
|
|
||||||
run: cargo fmt --all -- --check
|
|
||||||
|
|||||||
@@ -19,26 +19,26 @@ jobs:
|
|||||||
sync-to-mirrors:
|
sync-to-mirrors:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Fetch git tags
|
- name: Fetch git tags
|
||||||
run: git fetch origin 'refs/tags/*:refs/tags/*'
|
run: git fetch origin 'refs/tags/*:refs/tags/*'
|
||||||
|
|
||||||
- name: Cache pnpm modules
|
- name: Cache pnpm modules
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ~/.pnpm-store
|
path: ~/.pnpm-store
|
||||||
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-
|
${{ runner.os }}-
|
||||||
|
|
||||||
- uses: actions/setup-node@v3
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 'lts/*'
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v2
|
- uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 7.x.x
|
version: 9.x.x
|
||||||
run_install: true
|
run_install: true
|
||||||
|
|
||||||
- name: Build packages
|
- name: Build packages
|
||||||
|
|||||||
@@ -10,21 +10,21 @@ on:
|
|||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/test-rust.yml"
|
- '.github/workflows/test-rust.yml'
|
||||||
- "plugins/*/src/**"
|
- 'plugins/*/src/**'
|
||||||
- "!plugins/*/src/api-iife.js"
|
- '!plugins/*/src/api-iife.js'
|
||||||
- "**/Cargo.toml"
|
- '**/Cargo.toml'
|
||||||
- "**/Cargo.lock"
|
- '**/Cargo.lock'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- v1
|
- v1
|
||||||
- v2
|
- v2
|
||||||
paths:
|
paths:
|
||||||
- ".github/workflows/test-rust.yml"
|
- '.github/workflows/test-rust.yml'
|
||||||
- "plugins/*/src/**"
|
- 'plugins/*/src/**'
|
||||||
- "!plugins/*/src/api-iife.js"
|
- '!plugins/*/src/api-iife.js'
|
||||||
- "**/Cargo.toml"
|
- '**/Cargo.toml'
|
||||||
- "**/Cargo.lock"
|
- '**/Cargo.lock'
|
||||||
|
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
@@ -38,85 +38,118 @@ jobs:
|
|||||||
outputs:
|
outputs:
|
||||||
packages: ${{ steps.filter.outputs.changes }}
|
packages: ${{ steps.filter.outputs.changes }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- uses: dorny/paths-filter@v2
|
- uses: dorny/paths-filter@v2
|
||||||
id: filter
|
id: filter
|
||||||
with:
|
with:
|
||||||
|
base: v2
|
||||||
filters: |
|
filters: |
|
||||||
tauri-plugin-authenticator:
|
|
||||||
- .github/workflows/test-rust.yml
|
|
||||||
- plugins/authenticator/**
|
|
||||||
tauri-plugin-autostart:
|
tauri-plugin-autostart:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/autostart/**
|
- plugins/autostart/**
|
||||||
tauri-plugin-cli:
|
tauri-plugin-cli:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/cli/**
|
- plugins/cli/**
|
||||||
tauri-plugin-clipboard-manager:
|
tauri-plugin-clipboard-manager:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/clipboard-manager/**
|
- plugins/clipboard-manager/**
|
||||||
|
tauri-plugin-deep-link:
|
||||||
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
|
- plugins/deep-link/**
|
||||||
tauri-plugin-dialog:
|
tauri-plugin-dialog:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/dialog/**
|
- plugins/dialog/**
|
||||||
- plugins/fs/**
|
- plugins/fs/**
|
||||||
tauri-plugin-fs:
|
tauri-plugin-fs:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/fs/**
|
- plugins/fs/**
|
||||||
|
tauri-plugin-geolocation:
|
||||||
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
|
- plugins/geolocation/**
|
||||||
tauri-plugin-global-shortcut:
|
tauri-plugin-global-shortcut:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/global-shortcut/**
|
- plugins/global-shortcut/**
|
||||||
|
tauri-plugin-haptics:
|
||||||
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
|
- plugins/haptics/**
|
||||||
tauri-plugin-http:
|
tauri-plugin-http:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/http/**
|
- plugins/http/**
|
||||||
- plugins/fs/**
|
- plugins/fs/**
|
||||||
tauri-plugin-localhost:
|
tauri-plugin-localhost:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/localhost/**
|
- plugins/localhost/**
|
||||||
tauri-plugin-log:
|
tauri-plugin-log:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/log/**
|
- plugins/log/**
|
||||||
tauri-plugin-notification:
|
tauri-plugin-notification:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/notification/**
|
- plugins/notification/**
|
||||||
tauri-plugin-os:
|
tauri-plugin-os:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/os/**
|
- plugins/os/**
|
||||||
tauri-plugin-persisted-scope:
|
tauri-plugin-persisted-scope:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/persisted-scope/**
|
- plugins/persisted-scope/**
|
||||||
- plugins/fs/**
|
- plugins/fs/**
|
||||||
tauri-plugin-positioner:
|
tauri-plugin-positioner:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/positioner/**
|
- plugins/positioner/**
|
||||||
tauri-plugin-process:
|
tauri-plugin-process:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/process/**
|
- plugins/process/**
|
||||||
tauri-plugin-shell:
|
tauri-plugin-shell:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/shell/**
|
- plugins/shell/**
|
||||||
tauri-plugin-single-instance:
|
tauri-plugin-single-instance:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/single-instance/**
|
- plugins/single-instance/**
|
||||||
tauri-plugin-sql:
|
tauri-plugin-sql:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/sql/**
|
- plugins/sql/**
|
||||||
tauri-plugin-store:
|
tauri-plugin-store:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/store/**
|
- plugins/store/**
|
||||||
tauri-plugin-stronghold:
|
tauri-plugin-stronghold:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/stronghold/**
|
- plugins/stronghold/**
|
||||||
tauri-plugin-updater:
|
tauri-plugin-updater:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/updater/**
|
- plugins/updater/**
|
||||||
tauri-plugin-upload:
|
tauri-plugin-upload:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/upload/**
|
- plugins/upload/**
|
||||||
tauri-plugin-websocket:
|
tauri-plugin-websocket:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/websocket/**
|
- plugins/websocket/**
|
||||||
tauri-plugin-window-state:
|
tauri-plugin-window-state:
|
||||||
- .github/workflows/test-rust.yml
|
- .github/workflows/test-rust.yml
|
||||||
|
- Cargo.toml
|
||||||
- plugins/window-state/**
|
- plugins/window-state/**
|
||||||
|
|
||||||
test:
|
test:
|
||||||
@@ -131,51 +164,45 @@ jobs:
|
|||||||
target: x86_64-pc-windows-msvc,
|
target: x86_64-pc-windows-msvc,
|
||||||
os: windows-latest,
|
os: windows-latest,
|
||||||
runner: 'cargo',
|
runner: 'cargo',
|
||||||
command: "test",
|
command: 'test'
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
target: x86_64-unknown-linux-gnu,
|
target: x86_64-unknown-linux-gnu,
|
||||||
os: ubuntu-latest,
|
os: ubuntu-22.04,
|
||||||
runner: 'cargo',
|
runner: 'cargo',
|
||||||
command: "test",
|
command: 'test'
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
target: x86_64-apple-darwin,
|
target: aarch64-apple-darwin,
|
||||||
os: macos-latest,
|
os: macos-latest,
|
||||||
runner: 'cargo',
|
runner: 'cargo',
|
||||||
command: "test",
|
command: 'test'
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
target: aarch64-apple-ios,
|
target: aarch64-apple-ios,
|
||||||
os: macos-latest,
|
os: macos-latest,
|
||||||
runner: 'cargo',
|
runner: 'cargo',
|
||||||
command: "build",
|
command: 'build'
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
target: aarch64-linux-android,
|
target: aarch64-linux-android,
|
||||||
os: ubuntu-latest,
|
os: ubuntu-latest,
|
||||||
runner: 'cross',
|
runner: 'cross',
|
||||||
command: "build",
|
command: 'build'
|
||||||
}
|
}
|
||||||
|
|
||||||
runs-on: ${{ matrix.platform.os }}
|
runs-on: ${{ matrix.platform.os }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: install webkit2gtk and libudev for [authenticator]
|
- name: install webkit2gtk
|
||||||
if: contains(matrix.platform.target, 'unknown-linux')
|
if: contains(matrix.platform.target, 'unknown-linux')
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev libudev-dev
|
sudo apt-get install -y libwebkit2gtk-4.0-dev libwebkit2gtk-4.1-dev
|
||||||
|
|
||||||
- name: install openssl
|
- uses: dtolnay/rust-toolchain@1.77.2
|
||||||
if: ${{ matrix.platform.os == 'windows-latest' && matrix.package == 'tauri-plugin-authenticator' }}
|
|
||||||
run: |
|
|
||||||
echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append
|
|
||||||
vcpkg install openssl:x64-windows-static-md
|
|
||||||
|
|
||||||
- uses: dtolnay/rust-toolchain@1.75.0
|
|
||||||
with:
|
with:
|
||||||
targets: ${{ matrix.platform.target }}
|
targets: ${{ matrix.platform.target }}
|
||||||
|
|
||||||
@@ -183,30 +210,14 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
key: cache-${{ matrix.package }}-${{ matrix.platform.target }}
|
key: cache-${{ matrix.package }}-${{ matrix.platform.target }}
|
||||||
|
|
||||||
- name: create dummy dist
|
|
||||||
working-directory: examples/api
|
|
||||||
run: mkdir dist
|
|
||||||
|
|
||||||
- name: install cross
|
- name: install cross
|
||||||
if: ${{ matrix.platform.runner == 'cross' }}
|
if: ${{ matrix.platform.runner == 'cross' }}
|
||||||
run: cargo +stable install cross --git https://github.com/cross-rs/cross
|
run: cargo +stable install cross --git https://github.com/cross-rs/cross
|
||||||
|
|
||||||
- name: test ${{ matrix.package }}
|
- name: test ${{ matrix.package }}
|
||||||
if: matrix.package != 'tauri-plugin-sql' && matrix.package != 'tauri-plugin-http'
|
if: matrix.package != 'tauri-plugin-http'
|
||||||
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --all-features
|
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --all-features
|
||||||
|
|
||||||
- name: test ${{ matrix.package }}
|
- name: test ${{ matrix.package }}
|
||||||
if: matrix.package == 'tauri-plugin-http'
|
if: matrix.package == 'tauri-plugin-http'
|
||||||
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets
|
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets
|
||||||
|
|
||||||
- name: test ${{ matrix.package }} sqlite
|
|
||||||
if: matrix.package == 'tauri-plugin-sql'
|
|
||||||
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features sqlite
|
|
||||||
|
|
||||||
- name: test ${{ matrix.package }} mysql
|
|
||||||
if: matrix.package == 'tauri-plugin-sql'
|
|
||||||
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features mysql
|
|
||||||
|
|
||||||
- name: test ${{ matrix.package }} postgres
|
|
||||||
if: matrix.package == 'tauri-plugin-sql'
|
|
||||||
run: ${{ matrix.platform.runner }} ${{ matrix.platform.command }} --package ${{ matrix.package }} --target ${{ matrix.platform.target }} --all-targets --features postgres
|
|
||||||
|
|||||||
@@ -1,4 +1,58 @@
|
|||||||
target
|
# dependency directories
|
||||||
node_modules
|
node_modules/
|
||||||
dist-js
|
target/
|
||||||
dist
|
|
||||||
|
# Optional npm and yarn cache directory
|
||||||
|
.npm/
|
||||||
|
.yarn/
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
|
.env
|
||||||
|
|
||||||
|
# .vscode workspace settings file
|
||||||
|
.vscode/settings.json
|
||||||
|
|
||||||
|
# npm, yarn and bun lock files
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
bun.lockb
|
||||||
|
|
||||||
|
# rust compiled folders
|
||||||
|
target/
|
||||||
|
|
||||||
|
# compiled plugins
|
||||||
|
dist-js/
|
||||||
|
|
||||||
|
# plugins .tauri directory
|
||||||
|
/plugins/*/.tauri
|
||||||
|
|
||||||
|
# examples
|
||||||
|
examples/*/dist
|
||||||
|
plugins/*/examples/*/dist
|
||||||
|
examples/*/src-tauri/gen/schemas
|
||||||
|
plugins/*/examples/*/src-tauri/gen/schemas
|
||||||
|
|
||||||
|
# logs
|
||||||
|
logs
|
||||||
|
*.log
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
||||||
|
|
||||||
|
# runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# miscellaneous
|
||||||
|
/.vs
|
||||||
|
.DS_Store
|
||||||
|
.Thumbs.db
|
||||||
|
*.sublime*
|
||||||
|
.idea
|
||||||
|
debug.log
|
||||||
|
TODO.md
|
||||||
@@ -1,12 +1,27 @@
|
|||||||
target
|
/.changes
|
||||||
node_modules
|
/.vscode
|
||||||
dist
|
|
||||||
dist-js
|
# dependcies and artifacts directories
|
||||||
|
node_modules/
|
||||||
|
target/
|
||||||
|
dist-js/
|
||||||
|
dist/
|
||||||
|
|
||||||
|
# lock files
|
||||||
pnpm-lock.yaml
|
pnpm-lock.yaml
|
||||||
Cargo.lock
|
|
||||||
.build
|
# examples gen directory
|
||||||
build
|
examples/*/src-tauri/gen/
|
||||||
|
plugins/*/examples/*/src-tauri/gen/
|
||||||
|
|
||||||
|
# autogenerated files
|
||||||
|
**/autogenerated/**/*.md
|
||||||
api-iife.js
|
api-iife.js
|
||||||
init-iife.js
|
init-iife.js
|
||||||
intermediates/
|
CHANGELOG.md
|
||||||
*schema.json
|
*schema.json
|
||||||
|
|
||||||
|
# mobile build
|
||||||
|
**/ios/.build
|
||||||
|
**/.tauri
|
||||||
|
plugins/*/android/build
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"singleQuote": true,
|
||||||
|
"semi": false,
|
||||||
|
"trailingComma": "none"
|
||||||
|
}
|
||||||
@@ -2,129 +2,129 @@
|
|||||||
// SPDX-License-Identifier: Apache-2.0
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
import fs from "fs";
|
import fs from 'fs'
|
||||||
import path from "path";
|
import path from 'path'
|
||||||
import readline from "readline";
|
import readline from 'readline'
|
||||||
|
|
||||||
const header = `Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
const header = `Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
||||||
SPDX-License-Identifier: Apache-2.0
|
SPDX-License-Identifier: Apache-2.0
|
||||||
SPDX-License-Identifier: MIT`;
|
SPDX-License-Identifier: MIT`
|
||||||
const ignoredLicenses = [
|
const ignoredLicenses = [
|
||||||
"// Copyright 2021 Flavio Oliveira",
|
'// Copyright 2021 Flavio Oliveira',
|
||||||
"// Copyright 2021 Jonas Kruckenberg",
|
'// Copyright 2021 Jonas Kruckenberg',
|
||||||
"// Copyright 2018-2023 the Deno authors.",
|
'// Copyright 2018-2023 the Deno authors.'
|
||||||
];
|
]
|
||||||
|
|
||||||
const extensions = [".rs", ".js", ".ts", ".yml", ".swift", ".kt"];
|
const extensions = ['.rs', '.js', '.ts', '.yml', '.swift', '.kt']
|
||||||
const ignore = [
|
const ignore = [
|
||||||
"target",
|
'target',
|
||||||
"templates",
|
'templates',
|
||||||
"node_modules",
|
'node_modules',
|
||||||
"gen",
|
'gen',
|
||||||
"dist",
|
'dist',
|
||||||
"dist-js",
|
'dist-js',
|
||||||
".svelte-kit",
|
'.svelte-kit',
|
||||||
"api-iife.js",
|
'api-iife.js',
|
||||||
"init-iife.js",
|
'init-iife.js',
|
||||||
".build",
|
'.build',
|
||||||
"notify_rust",
|
'notify_rust'
|
||||||
];
|
]
|
||||||
|
|
||||||
async function checkFile(file) {
|
async function checkFile(file) {
|
||||||
if (
|
if (
|
||||||
extensions.some((e) => file.endsWith(e)) &&
|
extensions.some((e) => file.endsWith(e)) &&
|
||||||
!ignore.some((i) => file.includes(`${path.sep}${i}`))
|
!ignore.some((i) => file.includes(`${path.sep}${i}`))
|
||||||
) {
|
) {
|
||||||
const fileStream = fs.createReadStream(file);
|
const fileStream = fs.createReadStream(file)
|
||||||
const rl = readline.createInterface({
|
const rl = readline.createInterface({
|
||||||
input: fileStream,
|
input: fileStream,
|
||||||
crlfDelay: Infinity,
|
crlfDelay: Infinity
|
||||||
});
|
})
|
||||||
|
|
||||||
let contents = ``;
|
let contents = ``
|
||||||
let i = 0;
|
let i = 0
|
||||||
for await (let line of rl) {
|
for await (let line of rl) {
|
||||||
// ignore empty lines, allow shebang, swift-tools-version and bundler license
|
// ignore empty lines, allow shebang, swift-tools-version and bundler license
|
||||||
if (
|
if (
|
||||||
line.length === 0 ||
|
line.length === 0 ||
|
||||||
line.startsWith("#!") ||
|
line.startsWith('#!') ||
|
||||||
line.startsWith("// swift-tools-version:") ||
|
line.startsWith('// swift-tools-version:') ||
|
||||||
ignoredLicenses.includes(line)
|
ignoredLicenses.includes(line)
|
||||||
) {
|
) {
|
||||||
continue;
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
// strip comment marker
|
// strip comment marker
|
||||||
if (line.startsWith("// ")) {
|
if (line.startsWith('// ')) {
|
||||||
line = line.substring(3);
|
line = line.substring(3)
|
||||||
} else if (line.startsWith("# ")) {
|
} else if (line.startsWith('# ')) {
|
||||||
line = line.substring(2);
|
line = line.substring(2)
|
||||||
}
|
}
|
||||||
|
|
||||||
contents += line;
|
contents += line
|
||||||
if (++i === 3) {
|
if (++i === 3) {
|
||||||
break;
|
break
|
||||||
}
|
}
|
||||||
contents += "\n";
|
contents += '\n'
|
||||||
}
|
}
|
||||||
if (contents !== header) {
|
if (contents !== header) {
|
||||||
return true;
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
async function check(src) {
|
async function check(src) {
|
||||||
const missingHeader = [];
|
const missingHeader = []
|
||||||
|
|
||||||
for (const entry of fs.readdirSync(src, {
|
for (const entry of fs.readdirSync(src, {
|
||||||
withFileTypes: true,
|
withFileTypes: true
|
||||||
})) {
|
})) {
|
||||||
const p = path.join(src, entry.name);
|
const p = path.join(src, entry.name)
|
||||||
|
|
||||||
if (entry.isSymbolicLink() || ignore.includes(entry.name)) {
|
if (entry.isSymbolicLink() || ignore.includes(entry.name)) {
|
||||||
continue;
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entry.isDirectory()) {
|
if (entry.isDirectory()) {
|
||||||
const missing = await check(p);
|
const missing = await check(p)
|
||||||
missingHeader.push(...missing);
|
missingHeader.push(...missing)
|
||||||
} else {
|
} else {
|
||||||
const isMissing = await checkFile(p);
|
const isMissing = await checkFile(p)
|
||||||
if (isMissing) {
|
if (isMissing) {
|
||||||
missingHeader.push(p);
|
missingHeader.push(p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return missingHeader;
|
return missingHeader
|
||||||
}
|
}
|
||||||
|
|
||||||
const [_bin, _script, ...files] = process.argv;
|
const [_bin, _script, ...files] = process.argv
|
||||||
|
|
||||||
if (files.length > 0) {
|
if (files.length > 0) {
|
||||||
async function run() {
|
async function run() {
|
||||||
const missing = [];
|
const missing = []
|
||||||
for (const f of files) {
|
for (const f of files) {
|
||||||
const isMissing = await checkFile(f);
|
const isMissing = await checkFile(f)
|
||||||
if (isMissing) {
|
if (isMissing) {
|
||||||
missing.push(f);
|
missing.push(f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (missing.length > 0) {
|
if (missing.length > 0) {
|
||||||
console.log(missing.join("\n"));
|
console.log(missing.join('\n'))
|
||||||
process.exit(1);
|
process.exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
run();
|
run()
|
||||||
} else {
|
} else {
|
||||||
check(path.resolve(new URL(import.meta.url).pathname, "../../..")).then(
|
check(path.resolve(new URL(import.meta.url).pathname, '../../..')).then(
|
||||||
(missing) => {
|
(missing) => {
|
||||||
if (missing.length > 0) {
|
if (missing.length > 0) {
|
||||||
console.log(missing.join("\n"));
|
console.log(missing.join('\n'))
|
||||||
process.exit(1);
|
process.exit(1)
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,5 +5,6 @@ then
|
|||||||
echo "working directory is clean"
|
echo "working directory is clean"
|
||||||
else
|
else
|
||||||
echo "found diff"
|
echo "found diff"
|
||||||
|
git diff --name-status HEAD
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
#!/usr/bin/env node
|
|
||||||
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
|
||||||
// SPDX-License-Identifier: Apache-2.0
|
|
||||||
// SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
/*
|
|
||||||
This script is solely intended to be run as part of the `covector publish` step to
|
|
||||||
check the latest version of a crate, considering the current minor version.
|
|
||||||
*/
|
|
||||||
|
|
||||||
const https = require("https");
|
|
||||||
|
|
||||||
const kind = process.argv[2];
|
|
||||||
const packageName = process.argv[3];
|
|
||||||
const packageVersion = process.argv[4];
|
|
||||||
const target = packageVersion.substring(0, packageVersion.lastIndexOf("."));
|
|
||||||
|
|
||||||
let url = null;
|
|
||||||
switch (kind) {
|
|
||||||
case "cargo":
|
|
||||||
url = `https://crates.io/api/v1/crates/${packageName}`;
|
|
||||||
break;
|
|
||||||
case "npm":
|
|
||||||
url = `https://registry.npmjs.org/${packageName}`;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
throw new Error("unexpected kind " + kind);
|
|
||||||
}
|
|
||||||
|
|
||||||
const options = {
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
Accept: "application/json",
|
|
||||||
"User-Agent": "tauri (https://github.com/tauri-apps/tauri)",
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
https.get(url, options, (response) => {
|
|
||||||
let chunks = [];
|
|
||||||
response.on("data", function (chunk) {
|
|
||||||
chunks.push(chunk);
|
|
||||||
});
|
|
||||||
|
|
||||||
response.on("end", function () {
|
|
||||||
const data = JSON.parse(chunks.join(""));
|
|
||||||
if (kind === "cargo") {
|
|
||||||
if (data.versions) {
|
|
||||||
const versions = data.versions.filter((v) => v.num.startsWith(target));
|
|
||||||
console.log(versions.length ? versions[0].num : "0.0.0");
|
|
||||||
} else {
|
|
||||||
console.log("0.0.0");
|
|
||||||
}
|
|
||||||
} else if (kind === "npm") {
|
|
||||||
const versions = Object.keys(data.versions || {}).filter((v) =>
|
|
||||||
v.startsWith(target),
|
|
||||||
);
|
|
||||||
console.log(versions[versions.length - 1] || "0.0.0");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"rust-lang.rust-analyzer",
|
||||||
|
"EditorConfig.EditorConfig",
|
||||||
|
"esbenp.prettier-vscode",
|
||||||
|
"tamasfe.even-better-toml"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
members = [
|
members = [
|
||||||
"plugins/*",
|
"plugins/*",
|
||||||
"plugins/*/tests/*",
|
"plugins/*/tests/*",
|
||||||
|
"plugins/updater/tests/updater-migration/v2-app",
|
||||||
"plugins/*/examples/*/src-tauri",
|
"plugins/*/examples/*/src-tauri",
|
||||||
"examples/*/src-tauri",
|
"examples/*/src-tauri",
|
||||||
]
|
]
|
||||||
@@ -10,19 +11,24 @@ resolver = "2"
|
|||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
log = "0.4"
|
log = "0.4"
|
||||||
tauri = "2.0.0-beta.4"
|
tauri = { version = "2.0.4", default-features = false }
|
||||||
tauri-build = "2.0.0-beta.3"
|
tauri-build = "2.0.1"
|
||||||
tauri-plugin = "2.0.0-beta.3"
|
tauri-plugin = "2.0.1"
|
||||||
|
tauri-utils = "2.0.1"
|
||||||
serde_json = "1"
|
serde_json = "1"
|
||||||
thiserror = "1"
|
thiserror = "1"
|
||||||
url = "2"
|
url = "2"
|
||||||
schemars = "0.8"
|
schemars = "0.8"
|
||||||
|
dunce = "1"
|
||||||
|
specta = "=2.0.0-rc.20"
|
||||||
|
#tauri-specta = "=2.0.0-rc.11"
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Tauri Programme within The Commons Conservancy"]
|
authors = ["Tauri Programme within The Commons Conservancy"]
|
||||||
license = "Apache-2.0 OR MIT"
|
license = "Apache-2.0 OR MIT"
|
||||||
rust-version = "1.75"
|
rust-version = "1.77.2"
|
||||||
|
repository = "https://github.com/tauri-apps/plugins-workspace"
|
||||||
|
|
||||||
# default to small, optimized release binaries
|
# default to small, optimized release binaries
|
||||||
[profile.release]
|
[profile.release]
|
||||||
|
|||||||
@@ -1,37 +1,40 @@
|
|||||||
## Plugins Found Here
|
## Plugins Found Here
|
||||||
|
|
||||||
| | | Win | Mac | Lin | iOS | And |
|
| | | Win | Mac | Lin | iOS | And |
|
||||||
| ----------------------------------------------- | ------------------------------------------------------ | --- | --- | --- | --- | --- |
|
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | --- | --- | --- | --- |
|
||||||
| [authenticator](plugins/authenticator) | Interface with hardware security keys. | ✅ | ✅ | ✅ | ? | ? |
|
| [autostart](plugins/autostart) | Automatically launch your app at system startup. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [autostart](plugins/autostart) | Automatically launch your app at system startup. | ✅ | ✅ | ✅ | ? | ? |
|
| [barcode-scanner](plugins/barcode-scanner) | Allows your mobile application to use the camera to scan QR codes, EAN-13 and other kinds of barcodes. | ? | ? | ? | ✅ | ✅ |
|
||||||
| [barcode-scanner](plugins/barcode-scanner) | Allows your mobile application to use the camera to scan QR codes, EAN-13 and other kinds of barcodes. | ? | ? | ? | ✅ | ✅ |
|
| [biometric](plugins/biometric) | Prompt the user for biometric authentication on Android and iOS. | ? | ? | ? | ✅ | ✅ |
|
||||||
| [biometric](plugins/biometric) | Prompt the user for biometric authentication on Android and iOS. | ? | ? | ? | ✅ | ✅ |
|
| [cli](plugins/cli) | Parse arguments from your Command Line Interface | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [cli](plugins/cli) | Parse arguments from your Command Line Interface | ✅ | ✅ | ✅ | ? | ? |
|
| [clipboard-manager](plugins/clipboard-manager) | Read and write to the system clipboard. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [clipboard-manager](plugins/clipboard-manager) | Read and write to the system clipboard. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [deep-link](plugins/deep-link) | Set your Tauri application as the default handler for an URL. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [deep-link](plugins/deep-link) | Set your Tauri application as the default handler for an URL. | ? | ? | ? | ✅ | ✅ |
|
| [dialog](plugins/dialog) | Native system dialogs for opening and saving files along with message dialogs. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [dialog](plugins/dialog) | Native system dialogs for opening and saving files along with message dialogs. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [fs](plugins/fs) | Access the file system. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [fs](plugins/fs) | Access the file system. | ✅ | ✅ | ✅ | ? | ? |
|
| [global-shortcut](plugins/global-shortcut) | Register global shortcuts. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [global-shortcut](plugins/global-shortcut) | Register global shortcuts. | ✅ | ✅ | ✅ | ? | ? |
|
| [http](plugins/http) | Access the HTTP client written in Rust. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [http](plugins/http) | Access the HTTP client written in Rust. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [localhost](plugins/localhost) | Use a localhost server in production apps. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [localhost](plugins/localhost) | Use a localhost server in production apps. | ✅ | ✅ | ✅ | ? | ? |
|
| [log](plugins/log) | Configurable logging. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [log](plugins/log) | Configurable logging. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [nfc](plugins/nfc) | Read and write NFC tags on Android and iOS. | ? | ? | ? | ✅ | ✅ |
|
||||||
| [nfc](plugins/nfc) | Read and write NFC tags on Android and iOS. | ? | ? | ? | ✅ | ✅ |
|
| [notification](plugins/notification) | Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [notification](plugins/notification) | Send message notifications (brief auto-expiring OS window element) to your user. Can also be used with the Notification Web API. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [os](plugins/os) | Read information about the operating system. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [os](plugins/os) | Read information about the operating system. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
| [persisted-scope](plugins/persisted-scope) | Persist runtime scope changes on the filesystem. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [persisted-scope](plugins/persisted-scope) | Persist runtime scope changes on the filesystem. | ✅ | ✅ | ✅ | ? | ? |
|
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [positioner](plugins/positioner) | Move windows to common locations. | ✅ | ✅ | ✅ | ? | ? |
|
| [process](plugins/process) | This plugin provides APIs to access the current process. To spawn child processes, see the [`shell`](https://github.com/tauri-apps/tauri-plugin-shell) plugin. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [process](plugins/process) | This plugin provides APIs to access the current process. To spawn child processes, see the [`shell`](https://github.com/tauri-apps/tauri-plugin-shell) plugin. | ✅ | ✅ | ✅ | ? | ? |
|
| [shell](plugins/shell) | Access the system shell. Allows you to spawn child processes and manage files and URLs using their default application. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [shell](plugins/shell) | Access the system shell. Allows you to spawn child processes and manage files and URLs using their default application. | ✅ | ✅ | ✅ | ? | ? |
|
| [single-instance](plugins/single-instance) | Ensure a single instance of your tauri app is running. | ✅ | ? | ✅ | ? | ? |
|
||||||
| [single-instance](plugins/single-instance) | Ensure a single instance of your tauri app is running. | ✅ | ? | ✅ | ? | ? |
|
| [sql](plugins/sql) | Interface with SQL databases. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [sql](plugins/sql) | Interface with SQL databases. | ✅ | ✅ | ✅ | ? | ? |
|
| [store](plugins/store) | Persistent key value storage. | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||||
| [store](plugins/store) | Persistent key value storage. | ✅ | ✅ | ✅ | ? | ? |
|
| [stronghold](plugins/stronghold) | Encrypted, secure database. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [stronghold](plugins/stronghold) | Encrypted, secure database. | ✅ | ✅ | ✅ | ? | ? |
|
| [updater](plugins/updater) | In-app updates for Tauri applications. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [updater](plugins/updater) | In-app updates for Tauri applications. | ✅ | ✅ | ✅ | ? | ? |
|
| [upload](plugins/upload) | Tauri plugin for file uploads through HTTP. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [upload](plugins/upload) | Tauri plugin for file uploads through HTTP. | ✅ | ✅ | ✅ | ? | ? |
|
| [websocket](plugins/websocket) | Open a WebSocket connection using a Rust client in JS. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [websocket](plugins/websocket) | Open a WebSocket connection using a Rust client in JS. | ✅ | ✅ | ✅ | ? | ? |
|
| [window-state](plugins/window-state) | Persist window sizes and positions. | ✅ | ✅ | ✅ | ? | ? |
|
||||||
| [window-state](plugins/window-state) | Persist window sizes and positions. | ✅ | ✅ | ✅ | ? | ? |
|
|
||||||
|
|
||||||
_This repo and all plugins require a Rust version of at least **1.75**_
|
_This repo and all plugins require a Rust version of at least **1.77.2**_
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
PRs accepted. Please make sure to read the [Contributing Guide](https://github.com/tauri-apps/tauri/blob/dev/.github/CONTRIBUTING.md) before making a pull request.
|
||||||
|
|
||||||
## Partners
|
## Partners
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
**Do not report security vulnerabilities through public GitHub issues.**
|
||||||
|
|
||||||
|
**Please use the [Private Vulnerability Disclosure](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability#privately-reporting-a-security-vulnerability) feature of GitHub.**
|
||||||
|
|
||||||
|
Include as much of the following information:
|
||||||
|
|
||||||
|
- Type of issue (e.g. improper input parsing, privilege escalation, etc.)
|
||||||
|
- The location of the affected source code (tag/branch/commit or direct URL)
|
||||||
|
- Any special configuration required to reproduce the issue
|
||||||
|
- The distribution affected or used to help us with reproduction of the issue
|
||||||
|
- Step-by-step instructions to reproduce the issue
|
||||||
|
- Ideally a reproduction repository
|
||||||
|
- Impact of the issue, including how an attacker might exploit the issue
|
||||||
|
|
||||||
|
We prefer to receive reports in English.
|
||||||
|
|
||||||
|
## Contact
|
||||||
|
|
||||||
|
Please disclose a vulnerability or security relevant issue here: [https://github.com/tauri-apps/plugins-workspace/security/advisories/new](https://github.com/tauri-apps/plugins-workspace/security/advisories/new).
|
||||||
|
|
||||||
|
Alternatively, you can also contact us by email via [security@tauri.app](mailto:security@tauri.app).
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
import eslint from '@eslint/js'
|
||||||
|
import eslintConfigPrettier from 'eslint-config-prettier'
|
||||||
|
import eslintPluginSecurity from 'eslint-plugin-security'
|
||||||
|
import tseslint from 'typescript-eslint'
|
||||||
|
|
||||||
|
export default tseslint.config(
|
||||||
|
{
|
||||||
|
ignores: [
|
||||||
|
'**/target',
|
||||||
|
'**/node_modules',
|
||||||
|
'**/examples',
|
||||||
|
'**/dist',
|
||||||
|
'**/dist-js',
|
||||||
|
'**/build',
|
||||||
|
'**/api-iife.js',
|
||||||
|
'**/init-iife.js',
|
||||||
|
'**/init.js',
|
||||||
|
'**/rollup.config.js',
|
||||||
|
'**/bindings.ts',
|
||||||
|
'**/.test-server',
|
||||||
|
'.scripts',
|
||||||
|
'eslint.config.js'
|
||||||
|
]
|
||||||
|
},
|
||||||
|
eslint.configs.recommended,
|
||||||
|
eslintConfigPrettier,
|
||||||
|
eslintPluginSecurity.configs.recommended,
|
||||||
|
...tseslint.configs.recommendedTypeChecked,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parserOptions: { project: true, tsconfigRootDir: import.meta.dirname }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
/node_modules/
|
|
||||||
/.vscode/
|
|
||||||
.DS_Store
|
|
||||||
.cargo
|
|
||||||
@@ -1,5 +1,269 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## \[2.0.1]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `dialog-js@2.0.1`
|
||||||
|
- Upgraded to `fs-js@2.0.1`
|
||||||
|
- Upgraded to `http-js@2.0.1`
|
||||||
|
- Upgraded to `shell-js@2.0.1`
|
||||||
|
- Upgraded to `store-js@2.1.0`
|
||||||
|
|
||||||
|
## \[2.0.0]
|
||||||
|
|
||||||
|
- [`e2c4dfb6`](https://github.com/tauri-apps/plugins-workspace/commit/e2c4dfb6af43e5dd8d9ceba232c315f5febd55c1) Update to tauri v2 stable release.
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0`
|
||||||
|
- Upgraded to `biometric-js@2.0.0`
|
||||||
|
- Upgraded to `cli-js@2.0.0`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.0.0`
|
||||||
|
- Upgraded to `fs-js@2.0.0`
|
||||||
|
- Upgraded to `dialog-js@2.0.0`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0`
|
||||||
|
- Upgraded to `http-js@2.0.0`
|
||||||
|
- Upgraded to `log-js@2.0.0`
|
||||||
|
- Upgraded to `nfc-js@2.0.0`
|
||||||
|
- Upgraded to `notification-js@2.0.0`
|
||||||
|
- Upgraded to `os-js@2.0.0`
|
||||||
|
- Upgraded to `process-js@2.0.0`
|
||||||
|
- Upgraded to `shell-js@2.0.0`
|
||||||
|
- Upgraded to `store-js@2.0.0`
|
||||||
|
- Upgraded to `updater-js@2.0.0`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.5]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `store-js@2.0.0-rc.2`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.4]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-rc.2`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.0.0-rc.2`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.3]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `updater-js@2.0.0-rc.2`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.2]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `notification-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `cli-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `fs-js@2.0.0-rc.2`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `http-js@2.0.0-rc.2`
|
||||||
|
- Upgraded to `log-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `os-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `process-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `shell-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `store-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `updater-js@2.0.0-rc.1`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.1]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `http-js@2.0.0-rc.1`
|
||||||
|
- Upgraded to `fs-js@2.0.0-rc.1`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.0]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `cli-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `fs-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `http-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `log-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `notification-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `os-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `process-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `shell-js@2.0.0-rc.0`
|
||||||
|
- Upgraded to `updater-js@2.0.0-rc.0`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.12]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.6`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.9`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.9`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.9`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.8`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.11]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.5`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.8`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.7`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.10]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.4`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.7`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.6`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.9]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.6`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.8]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.3`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.6`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.5`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.7]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.2`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.5`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.4`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.6]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.4`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.5]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.1`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.4`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.3`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.3`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.4]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.3`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.3]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager-js@2.1.0-beta.0`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.2]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `dialog-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `fs-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `http-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `shell-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `barcode-scanner-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `biometric-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `cli-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `global-shortcut-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `log-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `nfc-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `notification-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `os-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `process-js@2.0.0-beta.2`
|
||||||
|
- Upgraded to `updater-js@2.0.0-beta.2`
|
||||||
|
|
||||||
## \[2.0.0-beta.1]
|
## \[2.0.0-beta.1]
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
window.__TAURI_ISOLATION_HOOK__ = (payload) => {
|
window.__TAURI_ISOLATION_HOOK__ = (payload) => {
|
||||||
return payload;
|
return payload
|
||||||
};
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "bundler",
|
||||||
"target": "esnext",
|
"target": "ESNext",
|
||||||
"module": "esnext",
|
"module": "ESNext",
|
||||||
/**
|
/**
|
||||||
* svelte-preprocess cannot figure out whether you have
|
* svelte-preprocess cannot figure out whether you have
|
||||||
* a value or a type, so tell TypeScript to enforce using
|
* a value or a type, so tell TypeScript to enforce using
|
||||||
* `import type` instead of `import` for Types.
|
* `import type` instead of `import` for Types.
|
||||||
*/
|
*/
|
||||||
"importsNotUsedAsValues": "error",
|
"verbatimModuleSyntax": true,
|
||||||
"isolatedModules": true,
|
"isolatedModules": true,
|
||||||
"resolveJsonModule": true,
|
"resolveJsonModule": true,
|
||||||
/**
|
/**
|
||||||
@@ -18,8 +18,6 @@
|
|||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"forceConsistentCasingInFileNames": true,
|
|
||||||
"baseUrl": ".",
|
|
||||||
/**
|
/**
|
||||||
* Typecheck JS in `.svelte` and `.js` files by default.
|
* Typecheck JS in `.svelte` and `.js` files by default.
|
||||||
* Disable this if you'd like to use dynamic types.
|
* Disable this if you'd like to use dynamic types.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "svelte-app",
|
"name": "svelte-app",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "2.0.0-beta.1",
|
"version": "2.0.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite --clearScreen false",
|
"dev": "vite --clearScreen false",
|
||||||
@@ -9,32 +9,34 @@
|
|||||||
"serve": "vite preview"
|
"serve": "vite preview"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "2.0.0-beta.2",
|
"@tauri-apps/api": "2.0.2",
|
||||||
"@tauri-apps/plugin-barcode-scanner": "2.0.0-beta.1",
|
"@tauri-apps/plugin-barcode-scanner": "2.0.0",
|
||||||
"@tauri-apps/plugin-biometric": "2.0.0-beta.1",
|
"@tauri-apps/plugin-biometric": "2.0.0",
|
||||||
"@tauri-apps/plugin-cli": "2.0.0-beta.1",
|
"@tauri-apps/plugin-cli": "2.0.0",
|
||||||
"@tauri-apps/plugin-clipboard-manager": "2.0.0-beta.1",
|
"@tauri-apps/plugin-clipboard-manager": "2.0.0",
|
||||||
"@tauri-apps/plugin-dialog": "2.0.0-beta.1",
|
"@tauri-apps/plugin-dialog": "2.0.1",
|
||||||
"@tauri-apps/plugin-fs": "2.0.0-beta.1",
|
"@tauri-apps/plugin-fs": "2.0.1",
|
||||||
"@tauri-apps/plugin-global-shortcut": "2.0.0-beta.1",
|
"@tauri-apps/plugin-geolocation": "2.0.0",
|
||||||
"@tauri-apps/plugin-http": "2.0.0-beta.1",
|
"@tauri-apps/plugin-global-shortcut": "2.0.0",
|
||||||
"@tauri-apps/plugin-nfc": "2.0.0-beta.1",
|
"@tauri-apps/plugin-haptics": "2.0.0",
|
||||||
"@tauri-apps/plugin-notification": "2.0.0-beta.1",
|
"@tauri-apps/plugin-http": "2.0.1",
|
||||||
"@tauri-apps/plugin-os": "2.0.0-beta.1",
|
"@tauri-apps/plugin-nfc": "2.0.0",
|
||||||
"@tauri-apps/plugin-process": "2.0.0-beta.1",
|
"@tauri-apps/plugin-notification": "2.0.0",
|
||||||
"@tauri-apps/plugin-shell": "2.0.0-beta.1",
|
"@tauri-apps/plugin-os": "2.0.0",
|
||||||
"@tauri-apps/plugin-updater": "2.0.0-beta.1",
|
"@tauri-apps/plugin-process": "2.0.0",
|
||||||
"@zerodevx/svelte-json-view": "1.0.7"
|
"@tauri-apps/plugin-shell": "2.0.1",
|
||||||
|
"@tauri-apps/plugin-store": "2.1.0",
|
||||||
|
"@tauri-apps/plugin-updater": "2.0.0",
|
||||||
|
"@zerodevx/svelte-json-view": "1.0.11"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@iconify-json/codicon": "^1.1.37",
|
"@iconify-json/codicon": "^1.1.37",
|
||||||
"@iconify-json/ph": "^1.1.8",
|
"@iconify-json/ph": "^1.1.8",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.0.1",
|
"@sveltejs/vite-plugin-svelte": "^3.0.1",
|
||||||
"@tauri-apps/cli": "2.0.0-beta.3",
|
"@tauri-apps/cli": "2.0.3",
|
||||||
"@unocss/extractor-svelte": "^0.58.0",
|
"@unocss/extractor-svelte": "^0.63.0",
|
||||||
"internal-ip": "^8.0.0",
|
"svelte": "^4.2.19",
|
||||||
"svelte": "^4.2.8",
|
"unocss": "^0.63.0",
|
||||||
"unocss": "^0.58.0",
|
"vite": "^5.4.7"
|
||||||
"vite": "^5.0.12"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,414 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## \[2.0.4]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `fs@2.0.3`
|
||||||
|
- Upgraded to `dialog@2.0.3`
|
||||||
|
- Upgraded to `http@2.0.3`
|
||||||
|
|
||||||
|
## \[2.0.3]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `dialog@2.0.2`
|
||||||
|
- Upgraded to `fs@2.0.2`
|
||||||
|
- Upgraded to `http@2.0.2`
|
||||||
|
- Upgraded to `shell@2.0.2`
|
||||||
|
- Upgraded to `store@2.1.0`
|
||||||
|
|
||||||
|
## \[2.0.2]
|
||||||
|
|
||||||
|
- [`a1a82208`](https://github.com/tauri-apps/plugins-workspace/commit/a1a82208ed4ab87f83310be0dc95428aec9ab241) ([#1873](https://github.com/tauri-apps/plugins-workspace/pull/1873) by [@lucasfernog](https://github.com/tauri-apps/plugins-workspace/../../lucasfernog)) Downgrade MSRV to 1.77.2 to support Windows 7.
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.1`
|
||||||
|
- Upgraded to `biometric@2.0.1`
|
||||||
|
- Upgraded to `cli@2.0.1`
|
||||||
|
- Upgraded to `clipboard-manager@2.0.1`
|
||||||
|
- Upgraded to `fs@2.0.1`
|
||||||
|
- Upgraded to `dialog@2.0.1`
|
||||||
|
- Upgraded to `geolocation@2.0.1`
|
||||||
|
- Upgraded to `global-shortcut@2.0.1`
|
||||||
|
- Upgraded to `haptics@2.0.1`
|
||||||
|
- Upgraded to `http@2.0.1`
|
||||||
|
- Upgraded to `log-plugin@2.0.1`
|
||||||
|
- Upgraded to `nfc@2.0.1`
|
||||||
|
- Upgraded to `notification@2.0.1`
|
||||||
|
- Upgraded to `os@2.0.1`
|
||||||
|
- Upgraded to `process@2.0.1`
|
||||||
|
- Upgraded to `shell@2.0.1`
|
||||||
|
- Upgraded to `store@2.0.1`
|
||||||
|
- Upgraded to `updater@2.0.2`
|
||||||
|
|
||||||
|
## \[2.0.1]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `updater@2.0.1`
|
||||||
|
|
||||||
|
## \[2.0.0]
|
||||||
|
|
||||||
|
- [`e2c4dfb6`](https://github.com/tauri-apps/plugins-workspace/commit/e2c4dfb6af43e5dd8d9ceba232c315f5febd55c1) Update to tauri v2 stable release.
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0`
|
||||||
|
- Upgraded to `biometric@2.0.0`
|
||||||
|
- Upgraded to `cli@2.0.0`
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0`
|
||||||
|
- Upgraded to `fs@2.0.0`
|
||||||
|
- Upgraded to `dialog@2.0.0`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0`
|
||||||
|
- Upgraded to `http@2.0.0`
|
||||||
|
- Upgraded to `log-plugin@2.0.0`
|
||||||
|
- Upgraded to `nfc@2.0.0`
|
||||||
|
- Upgraded to `notification@2.0.0`
|
||||||
|
- Upgraded to `os@2.0.0`
|
||||||
|
- Upgraded to `process@2.0.0`
|
||||||
|
- Upgraded to `shell@2.0.0`
|
||||||
|
- Upgraded to `store@2.0.0`
|
||||||
|
- Upgraded to `updater@2.0.0`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.8]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `cli@2.0.0-rc.2`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.8`
|
||||||
|
- Upgraded to `fs@2.0.0-rc.6`
|
||||||
|
- Upgraded to `shell@2.0.0-rc.4`
|
||||||
|
- Upgraded to `store@2.0.0-rc.4`
|
||||||
|
- Upgraded to `updater@2.0.0-rc.4`
|
||||||
|
- Upgraded to `http@2.0.0-rc.6`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.7]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0-rc.4`
|
||||||
|
- Upgraded to `fs@2.0.0-rc.5`
|
||||||
|
- Upgraded to `notification@2.0.0-rc.5`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.7`
|
||||||
|
- Upgraded to `http@2.0.0-rc.5`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.6]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.6`
|
||||||
|
- Upgraded to `fs@2.0.0-rc.4`
|
||||||
|
- Upgraded to `http@2.0.0-rc.4`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.5]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-rc.4`
|
||||||
|
- Upgraded to `notification@2.0.0-rc.4`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.4]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `fs@2.0.0-rc.3`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.5`
|
||||||
|
- Upgraded to `updater@2.0.0-rc.3`
|
||||||
|
- Upgraded to `http@2.0.0-rc.3`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.3]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `fs@2.0.0-rc.2`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.4`
|
||||||
|
- Upgraded to `http@2.0.0-rc.2`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.2]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-rc.3`
|
||||||
|
- Upgraded to `notification@2.0.0-rc.3`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.3`
|
||||||
|
- Upgraded to `fs@2.0.0-rc.1`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-rc.2`
|
||||||
|
- Upgraded to `store@2.0.0-rc.3`
|
||||||
|
- Upgraded to `biometric@2.0.0-rc.3`
|
||||||
|
- Upgraded to `cli@2.0.0-rc.1`
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0-rc.3`
|
||||||
|
- Upgraded to `http@2.0.0-rc.1`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-rc.2`
|
||||||
|
- Upgraded to `nfc@2.0.0-rc.3`
|
||||||
|
- Upgraded to `os@2.0.0-rc.1`
|
||||||
|
- Upgraded to `process@2.0.0-rc.1`
|
||||||
|
- Upgraded to `shell@2.0.0-rc.3`
|
||||||
|
- Upgraded to `updater@2.0.0-rc.2`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.1]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-rc.2`
|
||||||
|
- Upgraded to `biometric@2.0.0-rc.2`
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0-rc.2`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.2`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-rc.1`
|
||||||
|
- Upgraded to `nfc@2.0.0-rc.2`
|
||||||
|
- Upgraded to `notification@2.0.0-rc.2`
|
||||||
|
- Upgraded to `shell@2.0.0-rc.2`
|
||||||
|
|
||||||
|
## \[2.0.0-rc.0]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.1`
|
||||||
|
- Upgraded to `updater@2.0.0-rc.1`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-rc.1`
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0-rc.1`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-rc.1`
|
||||||
|
- Upgraded to `biometric@2.0.0-rc.1`
|
||||||
|
- Upgraded to `nfc@2.0.0-rc.1`
|
||||||
|
- Upgraded to `notification@2.0.0-rc.1`
|
||||||
|
- Upgraded to `shell@2.0.0-rc.1`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.17]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-rc.0`
|
||||||
|
- Upgraded to `biometric@2.0.0-rc.0`
|
||||||
|
- Upgraded to `cli@2.0.0-rc.0`
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0-rc.0`
|
||||||
|
- Upgraded to `dialog@2.0.0-rc.0`
|
||||||
|
- Upgraded to `fs@2.0.0-rc.0`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-rc.0`
|
||||||
|
- Upgraded to `http@2.0.0-rc.0`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-rc.0`
|
||||||
|
- Upgraded to `nfc@2.0.0-rc.0`
|
||||||
|
- Upgraded to `notification@2.0.0-rc.0`
|
||||||
|
- Upgraded to `os@2.0.0-rc.0`
|
||||||
|
- Upgraded to `process@2.0.0-rc.0`
|
||||||
|
- Upgraded to `shell@2.0.0-rc.0`
|
||||||
|
- Upgraded to `updater@2.0.0-rc.0`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.16]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `fs@2.0.0-beta.12`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.10`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.9`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.9`
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.7`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.12`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.9`
|
||||||
|
- Upgraded to `http@2.0.0-beta.13`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.10`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.9`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.12`
|
||||||
|
- Upgraded to `os@2.0.0-beta.9`
|
||||||
|
- Upgraded to `process@2.0.0-beta.9`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.10`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.12`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.15]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.9`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.14]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `notification@2.0.0-beta.11`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.11`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.13]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.8`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.8`
|
||||||
|
- Upgraded to `http@2.0.0-beta.12`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.9`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.8`
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.6`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.11`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.11`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.8`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.8`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.10`
|
||||||
|
- Upgraded to `os@2.0.0-beta.8`
|
||||||
|
- Upgraded to `process@2.0.0-beta.8`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.9`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.10`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.12]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.5`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.10`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.9`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.9`
|
||||||
|
- Upgraded to `os@2.0.0-beta.7`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.8`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.7`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.7`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.10`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.7`
|
||||||
|
- Upgraded to `http@2.0.0-beta.11`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.7`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.7`
|
||||||
|
- Upgraded to `process@2.0.0-beta.7`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.8`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.11]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `notification@2.0.0-beta.8`
|
||||||
|
- Upgraded to `http@2.0.0-beta.10`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.8`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.10]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.7`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.6`
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.4`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.6`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.7`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.7`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.6`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.9`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.9`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.6`
|
||||||
|
- Upgraded to `http@2.0.0-beta.9`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.6`
|
||||||
|
- Upgraded to `os@2.0.0-beta.6`
|
||||||
|
- Upgraded to `process@2.0.0-beta.6`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.7`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.9]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.3`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.8`
|
||||||
|
- Upgraded to `http@2.0.0-beta.8`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.6`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.6`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.6`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.5`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.5`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.5`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.8`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.5`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.5`
|
||||||
|
- Upgraded to `os@2.0.0-beta.5`
|
||||||
|
- Upgraded to `process@2.0.0-beta.5`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.6`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.8]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `shell@2.0.0-beta.5`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.7]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.2`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.4`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.5`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.4`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.4`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.7`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.7`
|
||||||
|
- Upgraded to `http@2.0.0-beta.7`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.4`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.4`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.5`
|
||||||
|
- Upgraded to `os@2.0.0-beta.4`
|
||||||
|
- Upgraded to `process@2.0.0-beta.4`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.4`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.5`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.6]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `notification@2.0.0-beta.4`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.4`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.6`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.6`
|
||||||
|
- Upgraded to `http@2.0.0-beta.6`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.5]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.1`
|
||||||
|
- Upgraded to `http@2.0.0-beta.5`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.4`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.5`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.5`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.4]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.4`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.4`
|
||||||
|
- Upgraded to `http@2.0.0-beta.4`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.3]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.1.0-beta.0`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.3`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.3`
|
||||||
|
- Upgraded to `http@2.0.0-beta.3`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.3`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.3`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.3`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.3`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.3`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.3`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.3`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.3`
|
||||||
|
- Upgraded to `os@2.0.0-beta.3`
|
||||||
|
- Upgraded to `process@2.0.0-beta.3`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.3`
|
||||||
|
|
||||||
|
## \[2.0.0-beta.2]
|
||||||
|
|
||||||
|
### Dependencies
|
||||||
|
|
||||||
|
- Upgraded to `clipboard-manager@2.0.0-beta.2`
|
||||||
|
- Upgraded to `dialog@2.0.0-beta.2`
|
||||||
|
- Upgraded to `http@2.0.0-beta.2`
|
||||||
|
- Upgraded to `fs@2.0.0-beta.2`
|
||||||
|
- Upgraded to `shell@2.0.0-beta.2`
|
||||||
|
- Upgraded to `barcode-scanner@2.0.0-beta.2`
|
||||||
|
- Upgraded to `biometric@2.0.0-beta.2`
|
||||||
|
- Upgraded to `cli@2.0.0-beta.2`
|
||||||
|
- Upgraded to `global-shortcut@2.0.0-beta.2`
|
||||||
|
- Upgraded to `log-plugin@2.0.0-beta.2`
|
||||||
|
- Upgraded to `nfc@2.0.0-beta.2`
|
||||||
|
- Upgraded to `notification@2.0.0-beta.2`
|
||||||
|
- Upgraded to `os@2.0.0-beta.2`
|
||||||
|
- Upgraded to `process@2.0.0-beta.2`
|
||||||
|
- Upgraded to `updater@2.0.0-beta.2`
|
||||||
|
|
||||||
## \[2.0.0-beta.1]
|
## \[2.0.0-beta.1]
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "api"
|
name = "api"
|
||||||
publish = false
|
publish = false
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.4"
|
||||||
description = "An example Tauri Application showcasing the api"
|
description = "An example Tauri Application showcasing the api"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
rust-version = { workspace = true }
|
rust-version = { workspace = true }
|
||||||
@@ -9,49 +9,58 @@ license = "Apache-2.0 OR MIT"
|
|||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
name = "api_lib"
|
name = "api_lib"
|
||||||
crate-type = [ "staticlib", "cdylib", "rlib" ]
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
tauri-build = { workspace = true, features = [ "codegen", "isolation" ] }
|
tauri-build = { workspace = true, features = ["codegen", "isolation"] }
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde_json = { workspace = true }
|
serde_json = { workspace = true }
|
||||||
serde = { workspace = true }
|
serde = { workspace = true }
|
||||||
tiny_http = "0.11"
|
tiny_http = "0.12"
|
||||||
log = { workspace = true }
|
log = { workspace = true }
|
||||||
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.0-beta.1" }
|
tauri-plugin-log = { path = "../../../plugins/log", version = "2.0.1" }
|
||||||
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.0-beta.1", features = [ "watch" ] }
|
tauri-plugin-fs = { path = "../../../plugins/fs", version = "2.0.3", features = [
|
||||||
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.0-beta.1" }
|
"watch",
|
||||||
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.0-beta.1" }
|
] }
|
||||||
tauri-plugin-http = { path = "../../../plugins/http", features = [ "multipart" ], version = "2.0.0-beta.1" }
|
tauri-plugin-clipboard-manager = { path = "../../../plugins/clipboard-manager", version = "2.0.1" }
|
||||||
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.0-beta.1", features = [ "windows7-compat" ] }
|
tauri-plugin-dialog = { path = "../../../plugins/dialog", version = "2.0.3" }
|
||||||
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.0-beta.1" }
|
tauri-plugin-http = { path = "../../../plugins/http", features = [
|
||||||
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.0-beta.1" }
|
"multipart",
|
||||||
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.0-beta.1" }
|
], version = "2.0.3" }
|
||||||
|
tauri-plugin-notification = { path = "../../../plugins/notification", version = "2.0.1", features = [
|
||||||
|
"windows7-compat",
|
||||||
|
] }
|
||||||
|
tauri-plugin-os = { path = "../../../plugins/os", version = "2.0.1" }
|
||||||
|
tauri-plugin-process = { path = "../../../plugins/process", version = "2.0.1" }
|
||||||
|
tauri-plugin-shell = { path = "../../../plugins/shell", version = "2.0.2" }
|
||||||
|
tauri-plugin-store = { path = "../../../plugins/store", version = "2.1.0" }
|
||||||
|
|
||||||
[dependencies.tauri]
|
[dependencies.tauri]
|
||||||
workspace = true
|
workspace = true
|
||||||
features = [
|
features = [
|
||||||
"icon-ico",
|
"wry",
|
||||||
"icon-png",
|
"compression",
|
||||||
|
"image-ico",
|
||||||
|
"image-png",
|
||||||
"isolation",
|
"isolation",
|
||||||
"macos-private-api",
|
"macos-private-api",
|
||||||
"tray-icon",
|
"tray-icon",
|
||||||
"protocol-asset"
|
"protocol-asset",
|
||||||
]
|
]
|
||||||
|
|
||||||
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
[target."cfg(any(target_os = \"macos\", windows, target_os = \"linux\", target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"openbsd\", target_os = \"netbsd\"))".dependencies]
|
||||||
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.0-beta.1" }
|
tauri-plugin-cli = { path = "../../../plugins/cli", version = "2.0.1" }
|
||||||
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.0-beta.1" }
|
tauri-plugin-global-shortcut = { path = "../../../plugins/global-shortcut", version = "2.0.1" }
|
||||||
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.0-beta.1" }
|
tauri-plugin-updater = { path = "../../../plugins/updater", version = "2.0.2" }
|
||||||
|
tauri-plugin-window-state = { path = "../../../plugins/window-state", version = "2.0.0" }
|
||||||
|
|
||||||
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
|
[target."cfg(any(target_os = \"android\", target_os = \"ios\"))".dependencies]
|
||||||
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.0-beta.1" }
|
tauri-plugin-barcode-scanner = { path = "../../../plugins/barcode-scanner/", version = "2.0.1" }
|
||||||
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.0-beta.1" }
|
tauri-plugin-nfc = { path = "../../../plugins/nfc", version = "2.0.1" }
|
||||||
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.0-beta.1" }
|
tauri-plugin-biometric = { path = "../../../plugins/biometric/", version = "2.0.1" }
|
||||||
|
tauri-plugin-geolocation = { path = "../../../plugins/geolocation/", version = "2.0.1" }
|
||||||
[target."cfg(target_os = \"windows\")".dependencies]
|
tauri-plugin-haptics = { path = "../../../plugins/haptics/", version = "2.0.1" }
|
||||||
window-shadows = "0.2"
|
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
custom-protocol = [ "tauri/custom-protocol" ]
|
prod = ["tauri/custom-protocol"]
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSCameraUsageDescription</key>
|
<key>NSCameraUsageDescription</key>
|
||||||
<string>Request camera access for WebRTC</string>
|
<string>Request camera access for WebRTC</string>
|
||||||
<key>NSMicrophoneUsageDescription</key>
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
<string>Request microphone access for WebRTC</string>
|
<string>Request microphone access for WebRTC</string>
|
||||||
</dict>
|
<key>NSFaceIDUsageDescription</key>
|
||||||
|
<string>Authenticate with biometrics</string>
|
||||||
|
<key>NFCReaderUsageDescription</key>
|
||||||
|
<string>Read and write to NFC tags for testing</string>
|
||||||
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -3,11 +3,5 @@
|
|||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut codegen = tauri_build::CodegenContext::new();
|
tauri_build::build();
|
||||||
if !cfg!(feature = "custom-protocol") {
|
|
||||||
codegen = codegen.dev();
|
|
||||||
}
|
|
||||||
|
|
||||||
tauri_build::try_build(tauri_build::Attributes::new().codegen(codegen))
|
|
||||||
.expect("failed to run tauri_build::try_build");
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,27 +8,28 @@
|
|||||||
{
|
{
|
||||||
"identifier": "http:default",
|
"identifier": "http:default",
|
||||||
"allow": [
|
"allow": [
|
||||||
|
"https://tauri.app",
|
||||||
{
|
{
|
||||||
"url": "http://localhost:3003"
|
"url": "http://localhost:3003"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"app:default",
|
"core:default",
|
||||||
"resources:default",
|
|
||||||
"fs:default",
|
"fs:default",
|
||||||
"menu:default",
|
"core:window:allow-minimize",
|
||||||
"path:default",
|
"core:window:allow-maximize",
|
||||||
"tray:default",
|
"core:window:allow-unmaximize",
|
||||||
"event:default",
|
"core:window:allow-close",
|
||||||
"window:default",
|
"core:window:allow-start-dragging",
|
||||||
"notification:default",
|
"notification:default",
|
||||||
"os:allow-platform",
|
"os:allow-platform",
|
||||||
"dialog:allow-open",
|
"dialog:allow-open",
|
||||||
|
"dialog:allow-ask",
|
||||||
"dialog:allow-save",
|
"dialog:allow-save",
|
||||||
"dialog:allow-confirm",
|
"dialog:allow-confirm",
|
||||||
"dialog:allow-message",
|
"dialog:allow-message",
|
||||||
{
|
{
|
||||||
"identifier": "shell:allow-execute",
|
"identifier": "shell:allow-spawn",
|
||||||
"allow": [
|
"allow": [
|
||||||
{
|
{
|
||||||
"name": "sh",
|
"name": "sh",
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
"args": [
|
"args": [
|
||||||
"-c",
|
"-c",
|
||||||
{
|
{
|
||||||
"validator": "\\S+"
|
"validator": ".+"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -46,7 +47,7 @@
|
|||||||
"args": [
|
"args": [
|
||||||
"/C",
|
"/C",
|
||||||
{
|
{
|
||||||
"validator": "\\S+"
|
"validator": ".+"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -54,8 +55,15 @@
|
|||||||
},
|
},
|
||||||
"shell:allow-kill",
|
"shell:allow-kill",
|
||||||
"shell:allow-stdin-write",
|
"shell:allow-stdin-write",
|
||||||
"clipboard-manager:allow-read",
|
"process:allow-exit",
|
||||||
"clipboard-manager:allow-write",
|
"process:allow-restart",
|
||||||
|
"clipboard-manager:allow-read-text",
|
||||||
|
"clipboard-manager:allow-write-text",
|
||||||
|
"clipboard-manager:allow-read-image",
|
||||||
|
"clipboard-manager:allow-write-image",
|
||||||
|
"fs:allow-open",
|
||||||
|
"fs:allow-write",
|
||||||
|
"fs:allow-read",
|
||||||
"fs:allow-rename",
|
"fs:allow-rename",
|
||||||
"fs:allow-mkdir",
|
"fs:allow-mkdir",
|
||||||
"fs:allow-remove",
|
"fs:allow-remove",
|
||||||
@@ -69,11 +77,8 @@
|
|||||||
"path": "$APPDATA/db/**"
|
"path": "$APPDATA/db/**"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"deny": [
|
"deny": ["$APPDATA/db/*.stronghold"]
|
||||||
{
|
},
|
||||||
"path": "$APPDATA/db/*.stronghold"
|
"store:default"
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,10 @@
|
|||||||
"barcode-scanner:allow-scan",
|
"barcode-scanner:allow-scan",
|
||||||
"barcode-scanner:allow-cancel",
|
"barcode-scanner:allow-cancel",
|
||||||
"barcode-scanner:allow-request-permissions",
|
"barcode-scanner:allow-request-permissions",
|
||||||
"barcode-scanner:allow-check-permissions"
|
"barcode-scanner:allow-check-permissions",
|
||||||
|
"geolocation:allow-check-permissions",
|
||||||
|
"geolocation:allow-request-permissions",
|
||||||
|
"geolocation:allow-watch-position",
|
||||||
|
"geolocation:allow-get-current-position"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
# Default ignored files
|
|
||||||
/shelf/
|
|
||||||
/workspace.xml
|
|
||||||
@@ -4,13 +4,22 @@
|
|||||||
<component name="GradleSettings">
|
<component name="GradleSettings">
|
||||||
<option name="linkedExternalProjectsSettings">
|
<option name="linkedExternalProjectsSettings">
|
||||||
<GradleProjectSettings>
|
<GradleProjectSettings>
|
||||||
<option name="testRunner" value="GRADLE" />
|
<compositeConfiguration>
|
||||||
<option name="distributionType" value="DEFAULT_WRAPPED" />
|
<compositeBuild compositeDefinitionSource="SCRIPT">
|
||||||
|
<builds>
|
||||||
|
<build path="$PROJECT_DIR$/buildSrc" name="buildSrc">
|
||||||
|
<projects>
|
||||||
|
<project path="$PROJECT_DIR$/buildSrc" />
|
||||||
|
</projects>
|
||||||
|
</build>
|
||||||
|
</builds>
|
||||||
|
</compositeBuild>
|
||||||
|
</compositeConfiguration>
|
||||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
<option name="gradleJvm" value="jbr-17" />
|
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||||
<option name="modules">
|
<option name="modules">
|
||||||
<set>
|
<set>
|
||||||
<option value="$USER_HOME$/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.0-beta.0/mobile/android" />
|
<option value="$USER_HOME$/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tauri-2.0.2/mobile/android" />
|
||||||
<option value="$PROJECT_DIR$" />
|
<option value="$PROJECT_DIR$" />
|
||||||
<option value="$PROJECT_DIR$/app" />
|
<option value="$PROJECT_DIR$/app" />
|
||||||
<option value="$PROJECT_DIR$/buildSrc" />
|
<option value="$PROJECT_DIR$/buildSrc" />
|
||||||
@@ -18,10 +27,15 @@
|
|||||||
<option value="$PROJECT_DIR$/../../../../../plugins/biometric/android" />
|
<option value="$PROJECT_DIR$/../../../../../plugins/biometric/android" />
|
||||||
<option value="$PROJECT_DIR$/../../../../../plugins/clipboard-manager/android" />
|
<option value="$PROJECT_DIR$/../../../../../plugins/clipboard-manager/android" />
|
||||||
<option value="$PROJECT_DIR$/../../../../../plugins/dialog/android" />
|
<option value="$PROJECT_DIR$/../../../../../plugins/dialog/android" />
|
||||||
|
<option value="$PROJECT_DIR$/../../../../../plugins/fs/android" />
|
||||||
|
<option value="$PROJECT_DIR$/../../../../../plugins/geolocation/android" />
|
||||||
|
<option value="$PROJECT_DIR$/../../../../../plugins/haptics/android" />
|
||||||
<option value="$PROJECT_DIR$/../../../../../plugins/nfc/android" />
|
<option value="$PROJECT_DIR$/../../../../../plugins/nfc/android" />
|
||||||
<option value="$PROJECT_DIR$/../../../../../plugins/notification/android" />
|
<option value="$PROJECT_DIR$/../../../../../plugins/notification/android" />
|
||||||
|
<option value="$PROJECT_DIR$/../../../../../plugins/shell/android" />
|
||||||
</set>
|
</set>
|
||||||
</option>
|
</option>
|
||||||
|
<option name="resolveExternalAnnotations" value="false" />
|
||||||
</GradleProjectSettings>
|
</GradleProjectSettings>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="RemoteRepositoriesConfiguration">
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="central" />
|
|
||||||
<option name="name" value="Maven Central repository" />
|
|
||||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="jboss.community" />
|
|
||||||
<option name="name" value="JBoss Community repository" />
|
|
||||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="MavenRepo" />
|
|
||||||
<option name="name" value="MavenRepo" />
|
|
||||||
<option name="url" value="https://repo.maven.apache.org/maven2/" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="Google" />
|
|
||||||
<option name="name" value="Google" />
|
|
||||||
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
|
|
||||||
</remote-repository>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="KotlinJpsPluginSettings">
|
<component name="KotlinJpsPluginSettings">
|
||||||
<option name="version" value="1.8.10" />
|
<option name="version" value="1.9.25" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||||
|
|||||||
@@ -2,4 +2,5 @@
|
|||||||
/src/main/jniLibs/**/*.so
|
/src/main/jniLibs/**/*.so
|
||||||
/src/main/assets/tauri.conf.json
|
/src/main/assets/tauri.conf.json
|
||||||
/tauri.build.gradle.kts
|
/tauri.build.gradle.kts
|
||||||
/proguard-tauri.pro
|
/proguard-tauri.pro
|
||||||
|
/tauri.properties
|
||||||
@@ -1,19 +1,28 @@
|
|||||||
|
import java.util.Properties
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
id("com.android.application")
|
||||||
id("org.jetbrains.kotlin.android")
|
id("org.jetbrains.kotlin.android")
|
||||||
id("rust")
|
id("rust")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val tauriProperties = Properties().apply {
|
||||||
|
val propFile = file("tauri.properties")
|
||||||
|
if (propFile.exists()) {
|
||||||
|
propFile.inputStream().use { load(it) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk = 33
|
compileSdk = 34
|
||||||
namespace = "com.tauri.api"
|
namespace = "com.tauri.api"
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
manifestPlaceholders["usesCleartextTraffic"] = "false"
|
manifestPlaceholders["usesCleartextTraffic"] = "false"
|
||||||
applicationId = "com.tauri.api"
|
applicationId = "com.tauri.api"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 33
|
targetSdk = 34
|
||||||
versionCode = 1
|
versionCode = tauriProperties.getProperty("tauri.android.versionCode", "1").toInt()
|
||||||
versionName = "1.0"
|
versionName = tauriProperties.getProperty("tauri.android.versionName", "1.0")
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
getByName("debug") {
|
getByName("debug") {
|
||||||
@@ -39,6 +48,9 @@ android {
|
|||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
jvmTarget = "1.8"
|
jvmTarget = "1.8"
|
||||||
}
|
}
|
||||||
|
buildFeatures {
|
||||||
|
buildConfig = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rust {
|
rust {
|
||||||
@@ -54,4 +66,4 @@ dependencies {
|
|||||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0")
|
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0")
|
||||||
}
|
}
|
||||||
|
|
||||||
apply(from = "tauri.build.gradle.kts")
|
apply(from = "tauri.build.gradle.kts")
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
||||||
|
<!-- AndroidTV support -->
|
||||||
|
<uses-feature android:name="android.software.leanback" android:required="false" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
@@ -16,6 +19,8 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
<!-- AndroidTV support -->
|
||||||
|
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<!-- NFC PLUGIN. AUTO-GENERATED. DO NOT REMOVE. -->
|
<!-- NFC PLUGIN. AUTO-GENERATED. DO NOT REMOVE. -->
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
package com.tauri.api
|
package com.tauri.api
|
||||||
|
|
||||||
class MainActivity : TauriActivity()
|
class MainActivity : TauriActivity()
|
||||||
@@ -4,8 +4,8 @@ buildscript {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:8.0.0")
|
classpath("com.android.tools.build:gradle:8.5.1")
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21")
|
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.25")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,6 @@ repositories {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(gradleApi())
|
compileOnly(gradleApi())
|
||||||
implementation("com.android.tools.build:gradle:8.0.0")
|
implementation("com.android.tools.build:gradle:8.5.1")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ open class BuildTask : DefaultTask() {
|
|||||||
|
|
||||||
@TaskAction
|
@TaskAction
|
||||||
fun assemble() {
|
fun assemble() {
|
||||||
val executable = """node""";
|
val executable = """pnpm""";
|
||||||
try {
|
try {
|
||||||
runTauriCli(executable)
|
runTauriCli(executable)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
@@ -32,7 +32,7 @@ open class BuildTask : DefaultTask() {
|
|||||||
val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null")
|
val rootDirRel = rootDirRel ?: throw GradleException("rootDirRel cannot be null")
|
||||||
val target = target ?: throw GradleException("target cannot be null")
|
val target = target ?: throw GradleException("target cannot be null")
|
||||||
val release = release ?: throw GradleException("release cannot be null")
|
val release = release ?: throw GradleException("release cannot be null")
|
||||||
val args = listOf("../node_modules/.bin/../@tauri-apps/cli/tauri.js", "android", "android-studio-script");
|
val args = listOf("tauri", "android", "android-studio-script");
|
||||||
|
|
||||||
project.exec {
|
project.exec {
|
||||||
workingDir(File(project.projectDir, rootDirRel))
|
workingDir(File(project.projectDir, rootDirRel))
|
||||||
|
|||||||
@@ -21,5 +21,4 @@ kotlin.code.style=official
|
|||||||
# resources declared in the library itself and none from the library's dependencies,
|
# resources declared in the library itself and none from the library's dependencies,
|
||||||
# thereby reducing the size of the R class for that library
|
# thereby reducing the size of the R class for that library
|
||||||
android.nonTransitiveRClass=true
|
android.nonTransitiveRClass=true
|
||||||
android.defaults.buildfeatures.buildconfig=true
|
|
||||||
android.nonFinalResIds=false
|
android.nonFinalResIds=false
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#Tue May 10 19:22:52 CST 2022
|
#Tue May 10 19:22:52 CST 2022
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
@@ -1,89 +1,89 @@
|
|||||||
@rem
|
@rem
|
||||||
@rem Copyright 2015 the original author or authors.
|
@rem Copyright 2015 the original author or authors.
|
||||||
@rem
|
@rem
|
||||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@rem you may not use this file except in compliance with the License.
|
@rem you may not use this file except in compliance with the License.
|
||||||
@rem You may obtain a copy of the License at
|
@rem You may obtain a copy of the License at
|
||||||
@rem
|
@rem
|
||||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||||
@rem
|
@rem
|
||||||
@rem Unless required by applicable law or agreed to in writing, software
|
@rem Unless required by applicable law or agreed to in writing, software
|
||||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
@rem See the License for the specific language governing permissions and
|
@rem See the License for the specific language governing permissions and
|
||||||
@rem limitations under the License.
|
@rem limitations under the License.
|
||||||
@rem
|
@rem
|
||||||
|
|
||||||
@if "%DEBUG%" == "" @echo off
|
@if "%DEBUG%" == "" @echo off
|
||||||
@rem ##########################################################################
|
@rem ##########################################################################
|
||||||
@rem
|
@rem
|
||||||
@rem Gradle startup script for Windows
|
@rem Gradle startup script for Windows
|
||||||
@rem
|
@rem
|
||||||
@rem ##########################################################################
|
@rem ##########################################################################
|
||||||
|
|
||||||
@rem Set local scope for the variables with windows NT shell
|
@rem Set local scope for the variables with windows NT shell
|
||||||
if "%OS%"=="Windows_NT" setlocal
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
set DIRNAME=%~dp0
|
set DIRNAME=%~dp0
|
||||||
if "%DIRNAME%" == "" set DIRNAME=.
|
if "%DIRNAME%" == "" set DIRNAME=.
|
||||||
set APP_BASE_NAME=%~n0
|
set APP_BASE_NAME=%~n0
|
||||||
set APP_HOME=%DIRNAME%
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||||
|
|
||||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||||
|
|
||||||
@rem Find java.exe
|
@rem Find java.exe
|
||||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
||||||
set JAVA_EXE=java.exe
|
set JAVA_EXE=java.exe
|
||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if "%ERRORLEVEL%" == "0" goto execute
|
if "%ERRORLEVEL%" == "0" goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
echo.
|
echo.
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
echo location of your Java installation.
|
echo location of your Java installation.
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
:findJavaFromJavaHome
|
:findJavaFromJavaHome
|
||||||
set JAVA_HOME=%JAVA_HOME:"=%
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
if exist "%JAVA_EXE%" goto execute
|
if exist "%JAVA_EXE%" goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
echo.
|
echo.
|
||||||
echo Please set the JAVA_HOME variable in your environment to match the
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
echo location of your Java installation.
|
echo location of your Java installation.
|
||||||
|
|
||||||
goto fail
|
goto fail
|
||||||
|
|
||||||
:execute
|
:execute
|
||||||
@rem Setup the command line
|
@rem Setup the command line
|
||||||
|
|
||||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
|
||||||
@rem Execute Gradle
|
@rem Execute Gradle
|
||||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||||
|
|
||||||
:end
|
:end
|
||||||
@rem End local scope for the variables with windows NT shell
|
@rem End local scope for the variables with windows NT shell
|
||||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||||
|
|
||||||
:fail
|
:fail
|
||||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
rem the _cmd.exe /c_ return code!
|
rem the _cmd.exe /c_ return code!
|
||||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||||
exit /b 1
|
exit /b 1
|
||||||
|
|
||||||
:mainEnd
|
:mainEnd
|
||||||
if "%OS%"=="Windows_NT" endlocal
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|
||||||
:omega
|
:omega
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 844 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
@@ -3,6 +3,6 @@
|
|||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>method</key>
|
<key>method</key>
|
||||||
<string>development</string>
|
<string>debugging</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17150" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||||
|
<dependencies>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17122"/>
|
||||||
|
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||||
|
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<scenes>
|
||||||
|
<!--View Controller-->
|
||||||
|
<scene sceneID="s0d-6b-0kx">
|
||||||
|
<objects>
|
||||||
|
<viewController id="Y6W-OH-hqX" sceneMemberID="viewController">
|
||||||
|
<view key="view" contentMode="scaleToFill" id="5EZ-qb-Rvc">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<viewLayoutGuide key="safeArea" id="vDu-zF-Fre"/>
|
||||||
|
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||||
|
</view>
|
||||||
|
</viewController>
|
||||||
|
<placeholder placeholderIdentifier="IBFirstResponder" id="Ief-a0-LHa" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
|
||||||
|
</objects>
|
||||||
|
</scene>
|
||||||
|
</scenes>
|
||||||
|
<resources>
|
||||||
|
<systemColor name="systemBackgroundColor">
|
||||||
|
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</systemColor>
|
||||||
|
</resources>
|
||||||
|
</document>
|
||||||
@@ -3,16 +3,17 @@
|
|||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 51;
|
objectVersion = 56;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
2ECFC1BC47D948875C8CEC41 /* libapi.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FC53D4128D7F74E4E6338455 /* libapi.a */; };
|
|
||||||
3043432501C9BC2DB6B4CB95 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */; };
|
3043432501C9BC2DB6B4CB95 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */; };
|
||||||
328B4ADB3700C1873BEB7B10 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 90D3B673AFAB8D8AB561F616 /* main.mm */; };
|
328B4ADB3700C1873BEB7B10 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 90D3B673AFAB8D8AB561F616 /* main.mm */; };
|
||||||
6F379F15DA085785BA2624D4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6B7E79E23E646BA7968B457C /* Assets.xcassets */; };
|
6F379F15DA085785BA2624D4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6B7E79E23E646BA7968B457C /* Assets.xcassets */; };
|
||||||
|
832F9A55FEDEF3D807D8C40A /* libapp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 248286BAA086BB1A5F98B2B2 /* libapp.a */; };
|
||||||
9AADB041D25772D04E543F15 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62601E25FA39E62BE119B74D /* Metal.framework */; };
|
9AADB041D25772D04E543F15 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62601E25FA39E62BE119B74D /* Metal.framework */; };
|
||||||
9DDA3BE70DD0E4013973FE38 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6082E363D51372A7658C351 /* UIKit.framework */; };
|
9DDA3BE70DD0E4013973FE38 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6082E363D51372A7658C351 /* UIKit.framework */; };
|
||||||
|
AC8BDC2C7A63FA3FDC5967F4 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 4B2D1B108AE002010BDEC6D2 /* LaunchScreen.storyboard */; };
|
||||||
AFA0CA286325FD7A34968CA2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 384966E551417F94A02D2706 /* Security.framework */; };
|
AFA0CA286325FD7A34968CA2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 384966E551417F94A02D2706 /* Security.framework */; };
|
||||||
B60763BD194DFACA215EC7DA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC377692DC31A070A0188C9D /* QuartzCore.framework */; };
|
B60763BD194DFACA215EC7DA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DC377692DC31A070A0188C9D /* QuartzCore.framework */; };
|
||||||
C6D80743F168BDF017B7769E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */; };
|
C6D80743F168BDF017B7769E /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */; };
|
||||||
@@ -21,25 +22,26 @@
|
|||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
0E96CE07CD20273DD46BF325 /* main.rs */ = {isa = PBXFileReference; path = main.rs; sourceTree = "<group>"; };
|
0E96CE07CD20273DD46BF325 /* main.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = main.rs; sourceTree = "<group>"; };
|
||||||
1C1AB1B414CA2795AFBEDDB9 /* tray.rs */ = {isa = PBXFileReference; path = tray.rs; sourceTree = "<group>"; };
|
1C1AB1B414CA2795AFBEDDB9 /* tray.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = tray.rs; sourceTree = "<group>"; };
|
||||||
|
248286BAA086BB1A5F98B2B2 /* libapp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libapp.a; sourceTree = "<group>"; };
|
||||||
2F63E2AA460089BB58D40C79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
2F63E2AA460089BB58D40C79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||||
338E66700FD330B99D434DD7 /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
338E66700FD330B99D434DD7 /* MetalKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MetalKit.framework; path = System/Library/Frameworks/MetalKit.framework; sourceTree = SDKROOT; };
|
||||||
384966E551417F94A02D2706 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
384966E551417F94A02D2706 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
|
||||||
|
4B2D1B108AE002010BDEC6D2 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
59CFE20DCF760BE67D9CE3D6 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
|
||||||
5AC703CEBA41A121596066F3 /* api_iOS.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = api_iOS.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
5AC703CEBA41A121596066F3 /* Tauri API.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Tauri API.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
62601E25FA39E62BE119B74D /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
|
62601E25FA39E62BE119B74D /* Metal.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Metal.framework; path = System/Library/Frameworks/Metal.framework; sourceTree = SDKROOT; };
|
||||||
6B7E79E23E646BA7968B457C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
6B7E79E23E646BA7968B457C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
|
||||||
74A8FDFB350B966F5AAD4A24 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = assets; sourceTree = SOURCE_ROOT; };
|
74A8FDFB350B966F5AAD4A24 /* assets */ = {isa = PBXFileReference; lastKnownFileType = folder; path = assets; sourceTree = SOURCE_ROOT; };
|
||||||
785D025E9542F7E098BF22B5 /* lib.rs */ = {isa = PBXFileReference; path = lib.rs; sourceTree = "<group>"; };
|
785D025E9542F7E098BF22B5 /* lib.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = lib.rs; sourceTree = "<group>"; };
|
||||||
879941AE3DAA14534BBC6391 /* api_iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = api_iOS.entitlements; sourceTree = "<group>"; };
|
879941AE3DAA14534BBC6391 /* api_iOS.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = api_iOS.entitlements; sourceTree = "<group>"; };
|
||||||
90D3B673AFAB8D8AB561F616 /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
|
90D3B673AFAB8D8AB561F616 /* main.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
|
||||||
B6082E363D51372A7658C351 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
B6082E363D51372A7658C351 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
|
||||||
DC377692DC31A070A0188C9D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
DC377692DC31A070A0188C9D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||||
EC8C7948C50C3C9B5D96CB61 /* bindings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bindings.h; sourceTree = "<group>"; };
|
EC8C7948C50C3C9B5D96CB61 /* bindings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = bindings.h; sourceTree = "<group>"; };
|
||||||
F835F52713CE8F029D5D252C /* cmd.rs */ = {isa = PBXFileReference; path = cmd.rs; sourceTree = "<group>"; };
|
F835F52713CE8F029D5D252C /* cmd.rs */ = {isa = PBXFileReference; lastKnownFileType = text; path = cmd.rs; sourceTree = "<group>"; };
|
||||||
FC53D4128D7F74E4E6338455 /* libapi.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libapi.a; sourceTree = "<group>"; };
|
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -47,7 +49,7 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
2ECFC1BC47D948875C8CEC41 /* libapi.a in Frameworks */,
|
832F9A55FEDEF3D807D8C40A /* libapp.a in Frameworks */,
|
||||||
3043432501C9BC2DB6B4CB95 /* CoreGraphics.framework in Frameworks */,
|
3043432501C9BC2DB6B4CB95 /* CoreGraphics.framework in Frameworks */,
|
||||||
9AADB041D25772D04E543F15 /* Metal.framework in Frameworks */,
|
9AADB041D25772D04E543F15 /* Metal.framework in Frameworks */,
|
||||||
DFFF888045C8D9D9FB69E8FD /* MetalKit.framework in Frameworks */,
|
DFFF888045C8D9D9FB69E8FD /* MetalKit.framework in Frameworks */,
|
||||||
@@ -66,6 +68,7 @@
|
|||||||
children = (
|
children = (
|
||||||
74A8FDFB350B966F5AAD4A24 /* assets */,
|
74A8FDFB350B966F5AAD4A24 /* assets */,
|
||||||
6B7E79E23E646BA7968B457C /* Assets.xcassets */,
|
6B7E79E23E646BA7968B457C /* Assets.xcassets */,
|
||||||
|
4B2D1B108AE002010BDEC6D2 /* LaunchScreen.storyboard */,
|
||||||
F2116A6428EED18BE2A07E2B /* api_iOS */,
|
F2116A6428EED18BE2A07E2B /* api_iOS */,
|
||||||
86D903732E10FAC4D300E8DF /* Externals */,
|
86D903732E10FAC4D300E8DF /* Externals */,
|
||||||
7A9A7AC155D9E22E54D6D847 /* Sources */,
|
7A9A7AC155D9E22E54D6D847 /* Sources */,
|
||||||
@@ -87,7 +90,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */,
|
71EB788DE4662CFC0D97F567 /* CoreGraphics.framework */,
|
||||||
FC53D4128D7F74E4E6338455 /* libapi.a */,
|
248286BAA086BB1A5F98B2B2 /* libapp.a */,
|
||||||
62601E25FA39E62BE119B74D /* Metal.framework */,
|
62601E25FA39E62BE119B74D /* Metal.framework */,
|
||||||
338E66700FD330B99D434DD7 /* MetalKit.framework */,
|
338E66700FD330B99D434DD7 /* MetalKit.framework */,
|
||||||
DC377692DC31A070A0188C9D /* QuartzCore.framework */,
|
DC377692DC31A070A0188C9D /* QuartzCore.framework */,
|
||||||
@@ -101,7 +104,7 @@
|
|||||||
4AC51E67B71E27F15B02C5CD /* Products */ = {
|
4AC51E67B71E27F15B02C5CD /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
5AC703CEBA41A121596066F3 /* api_iOS.app */,
|
5AC703CEBA41A121596066F3 /* Tauri API.app */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -169,7 +172,7 @@
|
|||||||
);
|
);
|
||||||
name = api_iOS;
|
name = api_iOS;
|
||||||
productName = api_iOS;
|
productName = api_iOS;
|
||||||
productReference = 5AC703CEBA41A121596066F3 /* api_iOS.app */;
|
productReference = 5AC703CEBA41A121596066F3 /* Tauri API.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
@@ -178,7 +181,8 @@
|
|||||||
9BC88C3717DA5D4B78A51C15 /* Project object */ = {
|
9BC88C3717DA5D4B78A51C15 /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1200;
|
BuildIndependentTargetsInParallel = YES;
|
||||||
|
LastUpgradeCheck = 1430;
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
54DC6E273C78071F3BA12EF3 = {
|
54DC6E273C78071F3BA12EF3 = {
|
||||||
DevelopmentTeam = Q93MBH6S2F;
|
DevelopmentTeam = Q93MBH6S2F;
|
||||||
@@ -186,7 +190,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 8FA67D0F928A09CD639137D1 /* Build configuration list for PBXProject "api" */;
|
buildConfigurationList = 8FA67D0F928A09CD639137D1 /* Build configuration list for PBXProject "api" */;
|
||||||
compatibilityVersion = "Xcode 11.0";
|
compatibilityVersion = "Xcode 14.0";
|
||||||
developmentRegion = en;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
@@ -208,6 +212,7 @@
|
|||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
6F379F15DA085785BA2624D4 /* Assets.xcassets in Resources */,
|
6F379F15DA085785BA2624D4 /* Assets.xcassets in Resources */,
|
||||||
|
AC8BDC2C7A63FA3FDC5967F4 /* LaunchScreen.storyboard in Resources */,
|
||||||
F86717F05E27C72C9FA1FB27 /* assets in Resources */,
|
F86717F05E27C72C9FA1FB27 /* assets in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@@ -229,12 +234,13 @@
|
|||||||
outputFileListPaths = (
|
outputFileListPaths = (
|
||||||
);
|
);
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
"$(SRCROOT)/target/aarch64-apple-ios/${CONFIGURATION}/deps/libapi.a",
|
"$(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a",
|
||||||
"$(SRCROOT)/target/x86_64-apple-ios/${CONFIGURATION}/deps/libapi.a",
|
"$(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a",
|
||||||
|
"$(SRCROOT)/Externals/arm64-sim/${CONFIGURATION}/libapp.a",
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "node ../../../node_modules/.bin/../@tauri-apps/cli/tauri.js ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}";
|
shellScript = "pnpm tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths \"${FRAMEWORK_SEARCH_PATHS:?}\" --header-search-paths \"${HEADER_SEARCH_PATHS:?}\" --gcc-preprocessor-definitions \"${GCC_PREPROCESSOR_DEFINITIONS:-}\" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}";
|
||||||
};
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
@@ -380,20 +386,42 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_ENTITLEMENTS = api_iOS/api_iOS.entitlements;
|
CODE_SIGN_ENTITLEMENTS = api_iOS/api_iOS.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
DEVELOPMENT_TEAM = Q93MBH6S2F;
|
DEVELOPMENT_TEAM = Q93MBH6S2F;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
"EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
|
||||||
|
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"\".\"",
|
"\".\"",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = api_iOS/Info.plist;
|
INFOPLIST_FILE = api_iOS/Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
"LIBRARY_SEARCH_PATHS[arch=arm64-sim]" = "$(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
|
"LIBRARY_SEARCH_PATHS[arch=arm64-sim]" = (
|
||||||
"LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
|
"$(inherited)",
|
||||||
"LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
|
"$(PROJECT_DIR)/Externals/arm64-sim/$(CONFIGURATION)",
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
|
||||||
|
);
|
||||||
|
"LIBRARY_SEARCH_PATHS[arch=arm64]" = (
|
||||||
|
"$(inherited)",
|
||||||
|
"$(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION)",
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
|
||||||
|
);
|
||||||
|
"LIBRARY_SEARCH_PATHS[arch=x86_64]" = (
|
||||||
|
"$(inherited)",
|
||||||
|
"$(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION)",
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
|
||||||
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.tauri.api;
|
PRODUCT_BUNDLE_IDENTIFIER = com.tauri.api;
|
||||||
PRODUCT_NAME = "Tauri API";
|
PRODUCT_NAME = "Tauri API";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
@@ -413,20 +441,42 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CODE_SIGN_ENTITLEMENTS = api_iOS/api_iOS.entitlements;
|
CODE_SIGN_ENTITLEMENTS = api_iOS/api_iOS.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
DEVELOPMENT_TEAM = Q93MBH6S2F;
|
DEVELOPMENT_TEAM = Q93MBH6S2F;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
"EXCLUDED_ARCHS[sdk=iphoneos*]" = "arm64-sim x86_64";
|
||||||
|
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"\".\"",
|
"\".\"",
|
||||||
);
|
);
|
||||||
INFOPLIST_FILE = api_iOS/Info.plist;
|
INFOPLIST_FILE = api_iOS/Info.plist;
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
"LIBRARY_SEARCH_PATHS[arch=arm64-sim]" = "$(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
|
"LIBRARY_SEARCH_PATHS[arch=arm64-sim]" = (
|
||||||
"LIBRARY_SEARCH_PATHS[arch=arm64]" = "$(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
|
"$(inherited)",
|
||||||
"LIBRARY_SEARCH_PATHS[arch=x86_64]" = "$(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)";
|
"$(PROJECT_DIR)/Externals/arm64-sim/$(CONFIGURATION)",
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
|
||||||
|
);
|
||||||
|
"LIBRARY_SEARCH_PATHS[arch=arm64]" = (
|
||||||
|
"$(inherited)",
|
||||||
|
"$(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION)",
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
|
||||||
|
);
|
||||||
|
"LIBRARY_SEARCH_PATHS[arch=x86_64]" = (
|
||||||
|
"$(inherited)",
|
||||||
|
"$(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION)",
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)",
|
||||||
|
"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)",
|
||||||
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.tauri.api;
|
PRODUCT_BUNDLE_IDENTIFIER = com.tauri.api;
|
||||||
PRODUCT_NAME = "Tauri API";
|
PRODUCT_NAME = "Tauri API";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>IDEDidComputeMac32BitWarning</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1200"
|
LastUpgradeVersion = "1430"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
@@ -2,10 +2,6 @@
|
|||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>NFCReaderUsageDescription</key>
|
|
||||||
<string>NFC Test</string>
|
|
||||||
<key>NSCameraUsageDescription</key>
|
|
||||||
<string>Request camera access for barcode scanner</string>
|
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
@@ -45,6 +41,12 @@
|
|||||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||||
</array>
|
</array>
|
||||||
<key>NSFaceIDUsageDescription</key>
|
<key>NSFaceIDUsageDescription</key>
|
||||||
<string>Biometric Test</string>
|
<string>Authenticate with biometrics</string>
|
||||||
|
<key>NSCameraUsageDescription</key>
|
||||||
|
<string>Request camera access for WebRTC</string>
|
||||||
|
<key>NSMicrophoneUsageDescription</key>
|
||||||
|
<string>Request microphone access for WebRTC</string>
|
||||||
|
<key>NFCReaderUsageDescription</key>
|
||||||
|
<string>Read and write to NFC tags for testing</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
@@ -5,7 +5,6 @@
|
|||||||
<key>com.apple.developer.nfc.readersession.formats</key>
|
<key>com.apple.developer.nfc.readersession.formats</key>
|
||||||
<array>
|
<array>
|
||||||
<string>TAG</string>
|
<string>TAG</string>
|
||||||
<string>NDEF</string>
|
|
||||||
</array>
|
</array>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
name: api
|
name: api
|
||||||
options:
|
options:
|
||||||
bundleIdPrefix: com.tauri
|
bundleIdPrefix: com.tauri.api
|
||||||
deploymentTarget:
|
deploymentTarget:
|
||||||
iOS: 13.0
|
iOS: 14.0
|
||||||
fileGroups: [../../src]
|
fileGroups: [../../src]
|
||||||
configs:
|
configs:
|
||||||
debug: debug
|
debug: debug
|
||||||
@@ -36,6 +36,7 @@ targets:
|
|||||||
- path: assets
|
- path: assets
|
||||||
buildPhase: resources
|
buildPhase: resources
|
||||||
type: folder
|
type: folder
|
||||||
|
- path: LaunchScreen.storyboard
|
||||||
info:
|
info:
|
||||||
path: api_iOS/Info.plist
|
path: api_iOS/Info.plist
|
||||||
properties:
|
properties:
|
||||||
@@ -63,14 +64,16 @@ targets:
|
|||||||
base:
|
base:
|
||||||
ENABLE_BITCODE: false
|
ENABLE_BITCODE: false
|
||||||
ARCHS: [arm64, arm64-sim]
|
ARCHS: [arm64, arm64-sim]
|
||||||
VALID_ARCHS: arm64 arm64-sim
|
VALID_ARCHS: arm64 arm64-sim
|
||||||
LIBRARY_SEARCH_PATHS[arch=x86_64]: $(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
|
LIBRARY_SEARCH_PATHS[arch=x86_64]: $(inherited) $(PROJECT_DIR)/Externals/x86_64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
|
||||||
LIBRARY_SEARCH_PATHS[arch=arm64]: $(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
|
LIBRARY_SEARCH_PATHS[arch=arm64]: $(inherited) $(PROJECT_DIR)/Externals/arm64/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
|
||||||
LIBRARY_SEARCH_PATHS[arch=arm64-sim]: $(inherited) $(PROJECT_DIR)/Externals/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
|
LIBRARY_SEARCH_PATHS[arch=arm64-sim]: $(inherited) $(PROJECT_DIR)/Externals/arm64-sim/$(CONFIGURATION) $(SDKROOT)/usr/lib/swift $(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME) $(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)
|
||||||
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: true
|
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: true
|
||||||
|
EXCLUDED_ARCHS[sdk=iphonesimulator*]: arm64
|
||||||
|
EXCLUDED_ARCHS[sdk=iphoneos*]: arm64-sim x86_64
|
||||||
groups: [app]
|
groups: [app]
|
||||||
dependencies:
|
dependencies:
|
||||||
- framework: libapi.a
|
- framework: libapp.a
|
||||||
embed: false
|
embed: false
|
||||||
- sdk: CoreGraphics.framework
|
- sdk: CoreGraphics.framework
|
||||||
- sdk: Metal.framework
|
- sdk: Metal.framework
|
||||||
@@ -80,9 +83,10 @@ targets:
|
|||||||
- sdk: UIKit.framework
|
- sdk: UIKit.framework
|
||||||
- sdk: WebKit.framework
|
- sdk: WebKit.framework
|
||||||
preBuildScripts:
|
preBuildScripts:
|
||||||
- script: node ../../../node_modules/.bin/../@tauri-apps/cli/tauri.js ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}
|
- script: pnpm tauri ios xcode-script -v --platform ${PLATFORM_DISPLAY_NAME:?} --sdk-root ${SDKROOT:?} --framework-search-paths "${FRAMEWORK_SEARCH_PATHS:?}" --header-search-paths "${HEADER_SEARCH_PATHS:?}" --gcc-preprocessor-definitions "${GCC_PREPROCESSOR_DEFINITIONS:-}" --configuration ${CONFIGURATION:?} ${FORCE_COLOR} ${ARCHS:?}
|
||||||
name: Build Rust Code
|
name: Build Rust Code
|
||||||
basedOnDependencyAnalysis: false
|
basedOnDependencyAnalysis: false
|
||||||
outputFiles:
|
outputFiles:
|
||||||
- $(SRCROOT)/target/aarch64-apple-ios/${CONFIGURATION}/deps/libapi.a
|
- $(SRCROOT)/Externals/x86_64/${CONFIGURATION}/libapp.a
|
||||||
- $(SRCROOT)/target/x86_64-apple-ios/${CONFIGURATION}/deps/libapi.a
|
- $(SRCROOT)/Externals/arm64/${CONFIGURATION}/libapp.a
|
||||||
|
- $(SRCROOT)/Externals/arm64-sim/${CONFIGURATION}/libapp.a
|
||||||
|
|||||||
@@ -7,7 +7,10 @@ mod cmd;
|
|||||||
mod tray;
|
mod tray;
|
||||||
|
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use tauri::{webview::WebviewWindowBuilder, App, AppHandle, Manager, RunEvent, WebviewUrl};
|
use tauri::{
|
||||||
|
webview::{PageLoadEvent, WebviewWindowBuilder},
|
||||||
|
App, AppHandle, Emitter, Listener, RunEvent, WebviewUrl,
|
||||||
|
};
|
||||||
|
|
||||||
#[derive(Clone, Serialize)]
|
#[derive(Clone, Serialize)]
|
||||||
struct Reply {
|
struct Reply {
|
||||||
@@ -34,6 +37,7 @@ pub fn run() {
|
|||||||
.plugin(tauri_plugin_os::init())
|
.plugin(tauri_plugin_os::init())
|
||||||
.plugin(tauri_plugin_process::init())
|
.plugin(tauri_plugin_process::init())
|
||||||
.plugin(tauri_plugin_shell::init())
|
.plugin(tauri_plugin_shell::init())
|
||||||
|
.plugin(tauri_plugin_store::Builder::default().build())
|
||||||
.setup(move |app| {
|
.setup(move |app| {
|
||||||
#[cfg(desktop)]
|
#[cfg(desktop)]
|
||||||
{
|
{
|
||||||
@@ -41,6 +45,8 @@ pub fn run() {
|
|||||||
app.handle().plugin(tauri_plugin_cli::init())?;
|
app.handle().plugin(tauri_plugin_cli::init())?;
|
||||||
app.handle()
|
app.handle()
|
||||||
.plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
|
.plugin(tauri_plugin_global_shortcut::Builder::new().build())?;
|
||||||
|
app.handle()
|
||||||
|
.plugin(tauri_plugin_window_state::Builder::new().build())?;
|
||||||
app.handle()
|
app.handle()
|
||||||
.plugin(tauri_plugin_updater::Builder::new().build())?;
|
.plugin(tauri_plugin_updater::Builder::new().build())?;
|
||||||
}
|
}
|
||||||
@@ -49,6 +55,8 @@ pub fn run() {
|
|||||||
app.handle().plugin(tauri_plugin_barcode_scanner::init())?;
|
app.handle().plugin(tauri_plugin_barcode_scanner::init())?;
|
||||||
app.handle().plugin(tauri_plugin_nfc::init())?;
|
app.handle().plugin(tauri_plugin_nfc::init())?;
|
||||||
app.handle().plugin(tauri_plugin_biometric::init())?;
|
app.handle().plugin(tauri_plugin_biometric::init())?;
|
||||||
|
app.handle().plugin(tauri_plugin_geolocation::init())?;
|
||||||
|
app.handle().plugin(tauri_plugin_haptics::init())?;
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut webview_window_builder =
|
let mut webview_window_builder =
|
||||||
@@ -60,7 +68,7 @@ pub fn run() {
|
|||||||
.title("Tauri API Validation")
|
.title("Tauri API Validation")
|
||||||
.inner_size(1000., 800.)
|
.inner_size(1000., 800.)
|
||||||
.min_inner_size(600., 400.)
|
.min_inner_size(600., 400.)
|
||||||
.content_protected(true);
|
.visible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
@@ -107,18 +115,20 @@ pub fn run() {
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
})
|
})
|
||||||
.on_page_load(|webview, _| {
|
.on_page_load(|webview, payload| {
|
||||||
let webview_ = webview.clone();
|
if payload.event() == PageLoadEvent::Finished {
|
||||||
webview.listen("js-event", move |event| {
|
let webview_ = webview.clone();
|
||||||
println!("got js-event with message '{:?}'", event.payload());
|
webview.listen("js-event", move |event| {
|
||||||
let reply = Reply {
|
println!("got js-event with message '{:?}'", event.payload());
|
||||||
data: "something else".to_string(),
|
let reply = Reply {
|
||||||
};
|
data: "something else".to_string(),
|
||||||
|
};
|
||||||
|
|
||||||
webview_
|
webview_
|
||||||
.emit("rust-event", Some(reply))
|
.emit("rust-event", Some(reply))
|
||||||
.expect("failed to emit");
|
.expect("failed to emit");
|
||||||
});
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
@@ -132,7 +142,7 @@ pub fn run() {
|
|||||||
cmd::log_operation,
|
cmd::log_operation,
|
||||||
cmd::perform_request,
|
cmd::perform_request,
|
||||||
])
|
])
|
||||||
.build(tauri::tauri_build_context!())
|
.build(tauri::generate_context!())
|
||||||
.expect("error while building tauri application");
|
.expect("error while building tauri application");
|
||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
@@ -140,10 +150,12 @@ pub fn run() {
|
|||||||
|
|
||||||
app.run(move |_app_handle, _event| {
|
app.run(move |_app_handle, _event| {
|
||||||
#[cfg(desktop)]
|
#[cfg(desktop)]
|
||||||
if let RunEvent::ExitRequested { api, .. } = &_event {
|
if let RunEvent::ExitRequested { code, api, .. } = &_event {
|
||||||
// Keep the event loop running even if all windows are closed
|
if code.is_none() {
|
||||||
// This allow us to catch system tray events when there is no window
|
// Keep the event loop running even if all windows are closed
|
||||||
api.prevent_exit();
|
// This allow us to catch system tray events when there is no window
|
||||||
|
api.prevent_exit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
use std::sync::atomic::{AtomicBool, Ordering};
|
use std::sync::atomic::{AtomicBool, Ordering};
|
||||||
use tauri::{
|
use tauri::{
|
||||||
menu::{Menu, MenuItem},
|
menu::{Menu, MenuItem},
|
||||||
tray::{ClickType, TrayIconBuilder},
|
tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent},
|
||||||
Manager, Runtime, WebviewUrl, WebviewWindowBuilder,
|
Manager, Runtime, WebviewUrl, WebviewWindowBuilder,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -79,11 +79,15 @@ pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
|
|||||||
}
|
}
|
||||||
i @ "icon-1" | i @ "icon-2" => {
|
i @ "icon-1" | i @ "icon-2" => {
|
||||||
if let Some(tray) = app.tray_by_id("tray-1") {
|
if let Some(tray) = app.tray_by_id("tray-1") {
|
||||||
let _ = tray.set_icon(Some(tauri::Icon::Raw(if i == "icon-1" {
|
let _ = tray.set_icon(Some(if i == "icon-1" {
|
||||||
include_bytes!("../icons/icon.ico").to_vec()
|
tauri::image::Image::from_bytes(include_bytes!("../icons/icon.ico"))
|
||||||
|
.unwrap()
|
||||||
} else {
|
} else {
|
||||||
include_bytes!("../icons/tray_icon_with_transparency.png").to_vec()
|
tauri::image::Image::from_bytes(include_bytes!(
|
||||||
})));
|
"../icons/tray_icon_with_transparency.png"
|
||||||
|
))
|
||||||
|
.unwrap()
|
||||||
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"switch-menu" => {
|
"switch-menu" => {
|
||||||
@@ -103,7 +107,12 @@ pub fn create_tray<R: Runtime>(app: &tauri::AppHandle<R>) -> tauri::Result<()> {
|
|||||||
_ => {}
|
_ => {}
|
||||||
})
|
})
|
||||||
.on_tray_icon_event(|tray, event| {
|
.on_tray_icon_event(|tray, event| {
|
||||||
if event.click_type == ClickType::Left {
|
if let TrayIconEvent::Click {
|
||||||
|
button_state: MouseButtonState::Down,
|
||||||
|
button: MouseButton::Left,
|
||||||
|
..
|
||||||
|
} = event
|
||||||
|
{
|
||||||
let app = tray.app_handle();
|
let app = tray.app_handle();
|
||||||
if let Some(window) = app.get_webview_window("main") {
|
if let Some(window) = app.get_webview_window("main") {
|
||||||
let _ = window.show();
|
let _ = window.show();
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../node_modules/@tauri-apps/cli/schema.json",
|
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
|
||||||
"productName": "Tauri API",
|
"productName": "Tauri API",
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"identifier": "com.tauri.api",
|
"identifier": "com.tauri.api",
|
||||||
"build": {
|
"build": {
|
||||||
"devUrl": "http://localhost:5173",
|
"devUrl": "http://localhost:5173",
|
||||||
"frontendDist": "../dist",
|
"frontendDist": "../dist",
|
||||||
"beforeDevCommand": "yarn dev",
|
"beforeDevCommand": "pnpm dev",
|
||||||
"beforeBuildCommand": "yarn build"
|
"beforeBuildCommand": "pnpm build"
|
||||||
},
|
},
|
||||||
"app": {
|
"app": {
|
||||||
"withGlobalTauri": true,
|
"withGlobalTauri": true,
|
||||||
@@ -100,6 +100,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"iOS": {
|
||||||
|
"minimumSystemVersion": "14.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,197 +1,208 @@
|
|||||||
<script>
|
<script>
|
||||||
import { writable } from "svelte/store";
|
import { writable } from 'svelte/store'
|
||||||
import { open } from "@tauri-apps/plugin-shell";
|
import { open } from '@tauri-apps/plugin-shell'
|
||||||
import { getCurrent } from "@tauri-apps/api/window";
|
import { getCurrentWindow } from '@tauri-apps/api/window'
|
||||||
import { getCurrent as getCurrentWebview } from "@tauri-apps/api/webview";
|
import { getCurrentWebview } from '@tauri-apps/api/webview'
|
||||||
import * as os from "@tauri-apps/plugin-os";
|
import * as os from '@tauri-apps/plugin-os'
|
||||||
|
|
||||||
import Welcome from "./views/Welcome.svelte";
|
import Welcome from './views/Welcome.svelte'
|
||||||
import Cli from "./views/Cli.svelte";
|
import Cli from './views/Cli.svelte'
|
||||||
import Communication from "./views/Communication.svelte";
|
import Communication from './views/Communication.svelte'
|
||||||
import Dialog from "./views/Dialog.svelte";
|
import Dialog from './views/Dialog.svelte'
|
||||||
import FileSystem from "./views/FileSystem.svelte";
|
import FileSystem from './views/FileSystem.svelte'
|
||||||
import Http from "./views/Http.svelte";
|
import Http from './views/Http.svelte'
|
||||||
import Notifications from "./views/Notifications.svelte";
|
import Notifications from './views/Notifications.svelte'
|
||||||
import Shortcuts from "./views/Shortcuts.svelte";
|
import Shortcuts from './views/Shortcuts.svelte'
|
||||||
import Shell from "./views/Shell.svelte";
|
import Shell from './views/Shell.svelte'
|
||||||
import Updater from "./views/Updater.svelte";
|
import Store from './views/Store.svelte'
|
||||||
import Clipboard from "./views/Clipboard.svelte";
|
import Updater from './views/Updater.svelte'
|
||||||
import WebRTC from "./views/WebRTC.svelte";
|
import Clipboard from './views/Clipboard.svelte'
|
||||||
import Scanner from "./views/Scanner.svelte";
|
import WebRTC from './views/WebRTC.svelte'
|
||||||
import Biometric from "./views/Biometric.svelte";
|
import Scanner from './views/Scanner.svelte'
|
||||||
|
import Biometric from './views/Biometric.svelte'
|
||||||
|
import Geolocation from './views/Geolocation.svelte'
|
||||||
|
|
||||||
import { onMount, tick } from "svelte";
|
import { onMount, tick } from 'svelte'
|
||||||
import { ask } from "@tauri-apps/plugin-dialog";
|
import { ask } from '@tauri-apps/plugin-dialog'
|
||||||
import Nfc from "./views/Nfc.svelte";
|
import Nfc from './views/Nfc.svelte'
|
||||||
|
|
||||||
const appWindow = getCurrent();
|
const appWindow = getCurrentWindow()
|
||||||
|
|
||||||
if (appWindow.label !== "main") {
|
if (appWindow.label !== 'main') {
|
||||||
appWindow.onCloseRequested(async (event) => {
|
appWindow.onCloseRequested(async (event) => {
|
||||||
const confirmed = await confirm("Are you sure?");
|
const confirmed = await confirm('Are you sure?')
|
||||||
if (!confirmed) {
|
if (!confirmed) {
|
||||||
// user did not confirm closing the window; let's prevent it
|
// user did not confirm closing the window; let's prevent it
|
||||||
event.preventDefault();
|
event.preventDefault()
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentWebview().onFileDropEvent((event) => {
|
getCurrentWebview().onDragDropEvent((event) => {
|
||||||
onMessage(`File drop: ${JSON.stringify(event.payload)}`);
|
onMessage(`File drop: ${JSON.stringify(event.payload)}`)
|
||||||
});
|
})
|
||||||
|
|
||||||
const userAgent = navigator.userAgent.toLowerCase();
|
const userAgent = navigator.userAgent.toLowerCase()
|
||||||
const isMobile =
|
const isMobile = userAgent.includes('android') || userAgent.includes('iphone')
|
||||||
userAgent.includes("android") || userAgent.includes("iphone");
|
|
||||||
|
|
||||||
const views = [
|
const views = [
|
||||||
{
|
{
|
||||||
label: "Welcome",
|
label: 'Welcome',
|
||||||
component: Welcome,
|
component: Welcome,
|
||||||
icon: "i-ph-hand-waving",
|
icon: 'i-ph-hand-waving'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Communication",
|
label: 'Communication',
|
||||||
component: Communication,
|
component: Communication,
|
||||||
icon: "i-codicon-radio-tower",
|
icon: 'i-codicon-radio-tower'
|
||||||
},
|
},
|
||||||
!isMobile && {
|
!isMobile && {
|
||||||
label: "CLI",
|
label: 'CLI',
|
||||||
component: Cli,
|
component: Cli,
|
||||||
icon: "i-codicon-terminal",
|
icon: 'i-codicon-terminal'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Dialog",
|
label: 'Dialog',
|
||||||
component: Dialog,
|
component: Dialog,
|
||||||
icon: "i-codicon-multiple-windows",
|
icon: 'i-codicon-multiple-windows'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "File system",
|
label: 'File system',
|
||||||
component: FileSystem,
|
component: FileSystem,
|
||||||
icon: "i-codicon-files",
|
icon: 'i-codicon-files'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "HTTP",
|
label: 'HTTP',
|
||||||
component: Http,
|
component: Http,
|
||||||
icon: "i-ph-globe-hemisphere-west",
|
icon: 'i-ph-globe-hemisphere-west'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Notifications",
|
label: 'Notifications',
|
||||||
component: Notifications,
|
component: Notifications,
|
||||||
icon: "i-codicon-bell-dot",
|
icon: 'i-codicon-bell-dot'
|
||||||
},
|
},
|
||||||
!isMobile && {
|
!isMobile && {
|
||||||
label: "Shortcuts",
|
label: 'Shortcuts',
|
||||||
component: Shortcuts,
|
component: Shortcuts,
|
||||||
icon: "i-codicon-record-keys",
|
icon: 'i-codicon-record-keys'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Shell",
|
label: 'Shell',
|
||||||
component: Shell,
|
component: Shell,
|
||||||
icon: "i-codicon-terminal-bash",
|
icon: 'i-codicon-terminal-bash'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Store',
|
||||||
|
component: Store,
|
||||||
|
icon: 'i-codicon-file-code'
|
||||||
},
|
},
|
||||||
!isMobile && {
|
!isMobile && {
|
||||||
label: "Updater",
|
label: 'Updater',
|
||||||
component: Updater,
|
component: Updater,
|
||||||
icon: "i-codicon-cloud-download",
|
icon: 'i-codicon-cloud-download'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "Clipboard",
|
label: 'Clipboard',
|
||||||
component: Clipboard,
|
component: Clipboard,
|
||||||
icon: "i-codicon-clippy",
|
icon: 'i-codicon-clippy'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "WebRTC",
|
label: 'WebRTC',
|
||||||
component: WebRTC,
|
component: WebRTC,
|
||||||
icon: "i-ph-broadcast",
|
icon: 'i-ph-broadcast'
|
||||||
},
|
},
|
||||||
isMobile && {
|
isMobile && {
|
||||||
label: "Scanner",
|
label: 'Scanner',
|
||||||
component: Scanner,
|
component: Scanner,
|
||||||
icon: "i-ph-scan",
|
icon: 'i-ph-scan'
|
||||||
},
|
},
|
||||||
isMobile && {
|
isMobile && {
|
||||||
label: "NFC",
|
label: 'NFC',
|
||||||
component: Nfc,
|
component: Nfc,
|
||||||
icon: "i-ph-nfc",
|
icon: 'i-ph-nfc'
|
||||||
},
|
},
|
||||||
isMobile && {
|
isMobile && {
|
||||||
label: "Biometric",
|
label: 'Biometric',
|
||||||
component: Biometric,
|
component: Biometric,
|
||||||
icon: "i-ph-scan",
|
icon: 'i-ph-scan'
|
||||||
},
|
},
|
||||||
];
|
isMobile && {
|
||||||
|
label: 'Geolocation',
|
||||||
|
component: Geolocation,
|
||||||
|
icon: 'i-ph-map-pin'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
let selected = views[0];
|
let selected = views[0]
|
||||||
function select(view) {
|
function select(view) {
|
||||||
selected = view;
|
selected = view
|
||||||
}
|
}
|
||||||
|
|
||||||
// Window controls
|
// Window controls
|
||||||
let isWindowMaximized;
|
let isWindowMaximized
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
isWindowMaximized = await appWindow.isMaximized();
|
isWindowMaximized = await appWindow.isMaximized()
|
||||||
appWindow.onResized(async () => {
|
appWindow.onResized(async () => {
|
||||||
isWindowMaximized = await appWindow.isMaximized();
|
isWindowMaximized = await appWindow.isMaximized()
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
|
|
||||||
function minimize() {
|
function minimize() {
|
||||||
appWindow.minimize();
|
appWindow.minimize()
|
||||||
}
|
}
|
||||||
|
|
||||||
async function toggleMaximize() {
|
async function toggleMaximize() {
|
||||||
(await appWindow.isMaximized())
|
;(await appWindow.isMaximized())
|
||||||
? appWindow.unmaximize()
|
? appWindow.unmaximize()
|
||||||
: appWindow.maximize();
|
: appWindow.maximize()
|
||||||
}
|
}
|
||||||
|
|
||||||
let confirmed_close = false;
|
let confirmed_close = false
|
||||||
async function close() {
|
async function close() {
|
||||||
if (!confirmed_close) {
|
if (!confirmed_close) {
|
||||||
confirmed_close = await ask(
|
confirmed_close = await ask(
|
||||||
"Are you sure that you want to close this window?",
|
'Are you sure that you want to close this window?',
|
||||||
{
|
{
|
||||||
title: "Tauri API",
|
title: 'Tauri API'
|
||||||
}
|
}
|
||||||
);
|
)
|
||||||
if (confirmed_close) {
|
if (confirmed_close) {
|
||||||
appWindow.close();
|
appWindow.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// dark/light
|
// dark/light
|
||||||
let isDark;
|
let isDark
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
isDark = localStorage && localStorage.getItem("theme") == "dark";
|
isDark = localStorage && localStorage.getItem('theme') == 'dark'
|
||||||
applyTheme(isDark);
|
applyTheme(isDark)
|
||||||
});
|
})
|
||||||
function applyTheme(isDark) {
|
function applyTheme(isDark) {
|
||||||
const html = document.querySelector("html");
|
const html = document.querySelector('html')
|
||||||
isDark ? html.classList.add("dark") : html.classList.remove("dark");
|
isDark ? html.classList.add('dark') : html.classList.remove('dark')
|
||||||
localStorage && localStorage.setItem("theme", isDark ? "dark" : "");
|
localStorage && localStorage.setItem('theme', isDark ? 'dark' : '')
|
||||||
}
|
}
|
||||||
function toggleDark() {
|
function toggleDark() {
|
||||||
isDark = !isDark;
|
isDark = !isDark
|
||||||
applyTheme(isDark);
|
applyTheme(isDark)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Console
|
// Console
|
||||||
let messages = writable([]);
|
let messages = writable([])
|
||||||
let consoleTextEl;
|
let consoleTextEl
|
||||||
async function onMessage(value) {
|
async function onMessage(value) {
|
||||||
messages.update((r) => [
|
messages.update((r) => [
|
||||||
...r,
|
...r,
|
||||||
{
|
{
|
||||||
html:
|
html:
|
||||||
`<pre><strong class="text-accent dark:text-darkAccent">[${new Date().toLocaleTimeString()}]:</strong> ` +
|
`<pre><strong class="text-accent dark:text-darkAccent">[${new Date().toLocaleTimeString()}]:</strong> ` +
|
||||||
(typeof value === "string" ? value : JSON.stringify(value, null, 1)) +
|
(typeof value === 'string' ? value : JSON.stringify(value, null, 1)) +
|
||||||
"</pre>",
|
'</pre>'
|
||||||
},
|
}
|
||||||
]);
|
])
|
||||||
await tick();
|
await tick()
|
||||||
if (consoleTextEl) consoleTextEl.scrollTop = consoleTextEl.scrollHeight;
|
if (consoleTextEl) consoleTextEl.scrollTop = consoleTextEl.scrollHeight
|
||||||
}
|
}
|
||||||
|
|
||||||
// this function is renders HTML without sanitizing it so it's insecure
|
// this function is renders HTML without sanitizing it so it's insecure
|
||||||
@@ -203,111 +214,109 @@
|
|||||||
html:
|
html:
|
||||||
`<pre><strong class="text-accent dark:text-darkAccent">[${new Date().toLocaleTimeString()}]:</strong> ` +
|
`<pre><strong class="text-accent dark:text-darkAccent">[${new Date().toLocaleTimeString()}]:</strong> ` +
|
||||||
html +
|
html +
|
||||||
"</pre>",
|
'</pre>'
|
||||||
},
|
}
|
||||||
]);
|
])
|
||||||
await tick();
|
await tick()
|
||||||
if (consoleTextEl) consoleTextEl.scrollTop = consoleTextEl.scrollHeight;
|
if (consoleTextEl) consoleTextEl.scrollTop = consoleTextEl.scrollHeight
|
||||||
}
|
}
|
||||||
|
|
||||||
function clear() {
|
function clear() {
|
||||||
messages.update(() => []);
|
messages.update(() => [])
|
||||||
}
|
}
|
||||||
|
|
||||||
let consoleEl, consoleH, cStartY;
|
let consoleEl, consoleH, cStartY
|
||||||
let minConsoleHeight = 50;
|
let minConsoleHeight = 50
|
||||||
function startResizingConsole(e) {
|
function startResizingConsole(e) {
|
||||||
cStartY = e.clientY;
|
cStartY = e.clientY
|
||||||
|
|
||||||
const styles = window.getComputedStyle(consoleEl);
|
const styles = window.getComputedStyle(consoleEl)
|
||||||
consoleH = parseInt(styles.height, 10);
|
consoleH = parseInt(styles.height, 10)
|
||||||
|
|
||||||
const moveHandler = (e) => {
|
const moveHandler = (e) => {
|
||||||
const dy = e.clientY - cStartY;
|
const dy = e.clientY - cStartY
|
||||||
const newH = consoleH - dy;
|
const newH = consoleH - dy
|
||||||
consoleEl.style.height = `${
|
consoleEl.style.height = `${
|
||||||
newH < minConsoleHeight ? minConsoleHeight : newH
|
newH < minConsoleHeight ? minConsoleHeight : newH
|
||||||
}px`;
|
}px`
|
||||||
};
|
}
|
||||||
const upHandler = () => {
|
const upHandler = () => {
|
||||||
document.removeEventListener("mouseup", upHandler);
|
document.removeEventListener('mouseup', upHandler)
|
||||||
document.removeEventListener("mousemove", moveHandler);
|
document.removeEventListener('mousemove', moveHandler)
|
||||||
};
|
}
|
||||||
document.addEventListener("mouseup", upHandler);
|
document.addEventListener('mouseup', upHandler)
|
||||||
document.addEventListener("mousemove", moveHandler);
|
document.addEventListener('mousemove', moveHandler)
|
||||||
}
|
}
|
||||||
|
|
||||||
let isWindows;
|
let isWindows
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
isWindows = (await os.platform()) === "windows";
|
isWindows = (await os.platform()) === 'windows'
|
||||||
});
|
})
|
||||||
|
|
||||||
// mobile
|
// mobile
|
||||||
let isSideBarOpen = false;
|
let isSideBarOpen = false
|
||||||
let sidebar;
|
let sidebar
|
||||||
let sidebarToggle;
|
let sidebarToggle
|
||||||
let isDraggingSideBar = false;
|
let isDraggingSideBar = false
|
||||||
let draggingStartPosX = 0;
|
let draggingStartPosX = 0
|
||||||
let draggingEndPosX = 0;
|
let draggingEndPosX = 0
|
||||||
const clamp = (min, num, max) => Math.min(Math.max(num, min), max);
|
const clamp = (min, num, max) => Math.min(Math.max(num, min), max)
|
||||||
|
|
||||||
function toggleSidebar(sidebar, isSideBarOpen) {
|
function toggleSidebar(sidebar, isSideBarOpen) {
|
||||||
sidebar.style.setProperty(
|
sidebar.style.setProperty(
|
||||||
"--translate-x",
|
'--translate-x',
|
||||||
`${isSideBarOpen ? "0" : "-18.75"}rem`
|
`${isSideBarOpen ? '0' : '-18.75'}rem`
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
sidebar = document.querySelector("#sidebar");
|
sidebar = document.querySelector('#sidebar')
|
||||||
sidebarToggle = document.querySelector("#sidebarToggle");
|
sidebarToggle = document.querySelector('#sidebarToggle')
|
||||||
|
|
||||||
document.addEventListener("click", (e) => {
|
document.addEventListener('click', (e) => {
|
||||||
if (sidebarToggle.contains(e.target)) {
|
if (sidebarToggle.contains(e.target)) {
|
||||||
isSideBarOpen = !isSideBarOpen;
|
isSideBarOpen = !isSideBarOpen
|
||||||
} else if (isSideBarOpen && !sidebar.contains(e.target)) {
|
} else if (isSideBarOpen && !sidebar.contains(e.target)) {
|
||||||
isSideBarOpen = false;
|
isSideBarOpen = false
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
|
||||||
document.addEventListener("touchstart", (e) => {
|
document.addEventListener('touchstart', (e) => {
|
||||||
if (sidebarToggle.contains(e.target)) return;
|
if (sidebarToggle.contains(e.target)) return
|
||||||
|
|
||||||
const x = e.touches[0].clientX;
|
const x = e.touches[0].clientX
|
||||||
if ((0 < x && x < 20 && !isSideBarOpen) || isSideBarOpen) {
|
if ((0 < x && x < 20 && !isSideBarOpen) || isSideBarOpen) {
|
||||||
isDraggingSideBar = true;
|
isDraggingSideBar = true
|
||||||
draggingStartPosX = x;
|
draggingStartPosX = x
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
|
||||||
document.addEventListener("touchmove", (e) => {
|
document.addEventListener('touchmove', (e) => {
|
||||||
if (isDraggingSideBar) {
|
if (isDraggingSideBar) {
|
||||||
const x = e.touches[0].clientX;
|
const x = e.touches[0].clientX
|
||||||
draggingEndPosX = x;
|
draggingEndPosX = x
|
||||||
const delta = (x - draggingStartPosX) / 10;
|
const delta = (x - draggingStartPosX) / 10
|
||||||
sidebar.style.setProperty(
|
sidebar.style.setProperty(
|
||||||
"--translate-x",
|
'--translate-x',
|
||||||
`-${clamp(0, isSideBarOpen ? 0 - delta : 18.75 - delta, 18.75)}rem`
|
`-${clamp(0, isSideBarOpen ? 0 - delta : 18.75 - delta, 18.75)}rem`
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
|
||||||
document.addEventListener("touchend", () => {
|
document.addEventListener('touchend', () => {
|
||||||
if (isDraggingSideBar) {
|
if (isDraggingSideBar) {
|
||||||
const delta = (draggingEndPosX - draggingStartPosX) / 10;
|
const delta = (draggingEndPosX - draggingStartPosX) / 10
|
||||||
isSideBarOpen = isSideBarOpen
|
isSideBarOpen = isSideBarOpen ? delta > -(18.75 / 2) : delta > 18.75 / 2
|
||||||
? delta > -(18.75 / 2)
|
|
||||||
: delta > 18.75 / 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
isDraggingSideBar = false;
|
isDraggingSideBar = false
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
const sidebar = document.querySelector("#sidebar");
|
const sidebar = document.querySelector('#sidebar')
|
||||||
if (sidebar) {
|
if (sidebar) {
|
||||||
toggleSidebar(sidebar, isSideBarOpen);
|
toggleSidebar(sidebar, isSideBarOpen)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -326,7 +335,7 @@
|
|||||||
children:items-center children:justify-center"
|
children:items-center children:justify-center"
|
||||||
>
|
>
|
||||||
<span
|
<span
|
||||||
title={isDark ? "Switch to Light mode" : "Switch to Dark mode"}
|
title={isDark ? 'Switch to Light mode' : 'Switch to Dark mode'}
|
||||||
class="hover:bg-hoverOverlay active:bg-hoverOverlayDarker dark:hover:bg-darkHoverOverlay dark:active:bg-darkHoverOverlayDarker"
|
class="hover:bg-hoverOverlay active:bg-hoverOverlayDarker dark:hover:bg-darkHoverOverlay dark:active:bg-darkHoverOverlayDarker"
|
||||||
on:click={toggleDark}
|
on:click={toggleDark}
|
||||||
>
|
>
|
||||||
@@ -344,7 +353,7 @@
|
|||||||
<div class="i-codicon-chrome-minimize" />
|
<div class="i-codicon-chrome-minimize" />
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
title={isWindowMaximized ? "Restore" : "Maximize"}
|
title={isWindowMaximized ? 'Restore' : 'Maximize'}
|
||||||
class="hover:bg-hoverOverlay active:bg-hoverOverlayDarker dark:hover:bg-darkHoverOverlay dark:active:bg-darkHoverOverlayDarker"
|
class="hover:bg-hoverOverlay active:bg-hoverOverlayDarker dark:hover:bg-darkHoverOverlay dark:active:bg-darkHoverOverlayDarker"
|
||||||
on:click={toggleMaximize}
|
on:click={toggleMaximize}
|
||||||
>
|
>
|
||||||
@@ -387,7 +396,7 @@
|
|||||||
bg-darkPrimaryLighter transition-colors-250 overflow-hidden grid select-none px-2"
|
bg-darkPrimaryLighter transition-colors-250 overflow-hidden grid select-none px-2"
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
on:click={() => open("https://tauri.app/")}
|
on:click={() => open('https://tauri.app/')}
|
||||||
class="self-center p-7 cursor-pointer"
|
class="self-center p-7 cursor-pointer"
|
||||||
src="tauri_logo.png"
|
src="tauri_logo.png"
|
||||||
alt="Tauri logo"
|
alt="Tauri logo"
|
||||||
@@ -443,8 +452,8 @@
|
|||||||
href="##"
|
href="##"
|
||||||
class="nv {selected === view ? 'nv_selected' : ''}"
|
class="nv {selected === view ? 'nv_selected' : ''}"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
select(view);
|
select(view)
|
||||||
isSideBarOpen = false;
|
isSideBarOpen = false
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div class="{view.icon} mr-2" />
|
<div class="{view.icon} mr-2" />
|
||||||
@@ -492,7 +501,10 @@
|
|||||||
<div class="i-codicon-clear-all" />
|
<div class="i-codicon-clear-all" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div bind:this={consoleTextEl} class="px-2 overflow-y-auto all:font-mono code-block all:text-xs select-text mr-2">
|
<div
|
||||||
|
bind:this={consoleTextEl}
|
||||||
|
class="px-2 overflow-y-auto all:font-mono code-block all:text-xs select-text mr-2"
|
||||||
|
>
|
||||||
{#each $messages as r}
|
{#each $messages as r}
|
||||||
{@html r.html}
|
{@html r.html}
|
||||||
{/each}
|
{/each}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
* {
|
* {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-family: "Rubik", sans-serif;
|
font-family: 'Rubik', sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
|
||||||
|
// SPDX-License-Identifier: Apache-2.0
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
export function arrayBufferToBase64(buffer, callback) {
|
||||||
|
const blob = new Blob([buffer], {
|
||||||
|
type: 'application/octet-binary'
|
||||||
|
})
|
||||||
|
const reader = new FileReader()
|
||||||
|
reader.onload = function (evt) {
|
||||||
|
const dataurl = evt.target.result
|
||||||
|
callback(dataurl.substr(dataurl.indexOf(',') + 1))
|
||||||
|
}
|
||||||
|
reader.readAsDataURL(blob)
|
||||||
|
}
|
||||||