pake-cli 1.0.0-beta.1 โ 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -95
- package/dist/cli.js +112 -90
- package/package.json +16 -5
- package/src-tauri/Cargo.lock +59 -188
- package/src-tauri/Cargo.toml +5 -4
- package/src-tauri/assets/main.wxs +310 -0
- package/src-tauri/icons/chatgpt.icns +0 -0
- package/src-tauri/icons/lizhi.icns +0 -0
- package/src-tauri/png/chatgpt_256.ico +0 -0
- package/src-tauri/png/chatgpt_32.ico +0 -0
- package/src-tauri/png/chatgpt_512.png +0 -0
- package/src-tauri/png/lizhi_256.ico +0 -0
- package/src-tauri/png/lizhi_32.ico +0 -0
- package/src-tauri/png/lizhi_512.png +0 -0
- package/src-tauri/src/main.rs +108 -136
- package/src-tauri/src/pake.js +19 -9
- package/src-tauri/tauri.conf.json +1 -1
- package/src-tauri/tauri.linux.conf.json +4 -2
- package/src-tauri/tauri.windows.conf.json +2 -1
- package/pake-default.icns +0 -0
- package/src-tauri/tauri.conf.json.bak +0 -30
package/dist/cli.js
CHANGED
|
@@ -6,38 +6,38 @@ import isurl from 'is-url';
|
|
|
6
6
|
import prompts from 'prompts';
|
|
7
7
|
import path from 'path';
|
|
8
8
|
import fs from 'fs/promises';
|
|
9
|
+
import chalk from 'chalk';
|
|
9
10
|
import crypto from 'crypto';
|
|
10
11
|
import axios from 'axios';
|
|
11
12
|
import { fileTypeFromBuffer } from 'file-type';
|
|
12
13
|
import { dir } from 'tmp-promise';
|
|
13
|
-
import chalk from 'chalk';
|
|
14
14
|
import ora from 'ora';
|
|
15
15
|
import shelljs from 'shelljs';
|
|
16
16
|
import updateNotifier from 'update-notifier';
|
|
17
17
|
|
|
18
|
-
/******************************************************************************
|
|
19
|
-
Copyright (c) Microsoft Corporation.
|
|
20
|
-
|
|
21
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
22
|
-
purpose with or without fee is hereby granted.
|
|
23
|
-
|
|
24
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
25
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
26
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
27
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
28
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
29
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
30
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
31
|
-
***************************************************************************** */
|
|
32
|
-
|
|
33
|
-
function __awaiter(thisArg, _arguments, P, generator) {
|
|
34
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
35
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
36
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
37
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
38
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
39
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
40
|
-
});
|
|
18
|
+
/******************************************************************************
|
|
19
|
+
Copyright (c) Microsoft Corporation.
|
|
20
|
+
|
|
21
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
22
|
+
purpose with or without fee is hereby granted.
|
|
23
|
+
|
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
25
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
26
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
27
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
28
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
29
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
30
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
31
|
+
***************************************************************************** */
|
|
32
|
+
|
|
33
|
+
function __awaiter(thisArg, _arguments, P, generator) {
|
|
34
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
35
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
36
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
37
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
38
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
39
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
40
|
+
});
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
const DEFAULT_PAKE_OPTIONS = {
|
|
@@ -1593,6 +1593,24 @@ function validateUrlInput(url) {
|
|
|
1593
1593
|
|
|
1594
1594
|
const npmDirectory = path.join(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
1595
1595
|
|
|
1596
|
+
const logger = {
|
|
1597
|
+
info(...msg) {
|
|
1598
|
+
log.info(...msg.map((m) => chalk.blue.bold(m)));
|
|
1599
|
+
},
|
|
1600
|
+
debug(...msg) {
|
|
1601
|
+
log.debug(...msg);
|
|
1602
|
+
},
|
|
1603
|
+
error(...msg) {
|
|
1604
|
+
log.error(...msg.map((m) => chalk.red.bold(m)));
|
|
1605
|
+
},
|
|
1606
|
+
warn(...msg) {
|
|
1607
|
+
log.info(...msg.map((m) => chalk.yellow.bold(m)));
|
|
1608
|
+
},
|
|
1609
|
+
success(...msg) {
|
|
1610
|
+
log.info(...msg.map((m) => chalk.green.bold(m)));
|
|
1611
|
+
}
|
|
1612
|
+
};
|
|
1613
|
+
|
|
1596
1614
|
function promptText(message, initial) {
|
|
1597
1615
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1598
1616
|
const response = yield prompts({
|
|
@@ -1617,18 +1635,43 @@ function mergeTauriConfig(url, options, tauriConf) {
|
|
|
1617
1635
|
Object.assign(tauriConf.tauri.windows[0], Object.assign({ url }, tauriConfWindowOptions));
|
|
1618
1636
|
tauriConf.package.productName = name;
|
|
1619
1637
|
tauriConf.tauri.bundle.identifier = identifier;
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1638
|
+
const exists = yield fs.stat(options.icon)
|
|
1639
|
+
.then(() => true)
|
|
1640
|
+
.catch(() => false);
|
|
1641
|
+
if (exists) {
|
|
1642
|
+
let updateIconPath = true;
|
|
1643
|
+
let customIconExt = path.extname(options.icon).toLowerCase();
|
|
1644
|
+
if (process.platform === "win32") {
|
|
1645
|
+
if (customIconExt === ".ico") {
|
|
1646
|
+
const ico_path = path.join(npmDirectory, `src-tauri/png/${name.toLowerCase()}_32.ico`);
|
|
1647
|
+
tauriConf.tauri.bundle.resources = [`png/${name.toLowerCase()}_32.ico`];
|
|
1648
|
+
yield fs.copyFile(options.icon, ico_path);
|
|
1649
|
+
}
|
|
1650
|
+
else {
|
|
1651
|
+
updateIconPath = false;
|
|
1652
|
+
logger.warn(`icon file in Windows must be 256 * 256 pix with .ico type, but you give ${customIconExt}`);
|
|
1653
|
+
}
|
|
1654
|
+
}
|
|
1655
|
+
if (process.platform === "linux") {
|
|
1656
|
+
delete tauriConf.tauri.bundle.deb.files;
|
|
1657
|
+
if (customIconExt != ".png") {
|
|
1658
|
+
updateIconPath = false;
|
|
1659
|
+
logger.warn(`icon file in Linux must be 512 * 512 pix with .png type, but you give ${customIconExt}`);
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
if (process.platform === "darwin" && customIconExt !== ".icns") {
|
|
1663
|
+
updateIconPath = false;
|
|
1664
|
+
logger.warn(`icon file in MacOS must be .icns type, but you give ${customIconExt}`);
|
|
1665
|
+
}
|
|
1666
|
+
if (updateIconPath) {
|
|
1667
|
+
tauriConf.tauri.bundle.icon = [options.icon];
|
|
1668
|
+
}
|
|
1669
|
+
else {
|
|
1670
|
+
logger.warn(`icon file will not change with default.`);
|
|
1671
|
+
}
|
|
1624
1672
|
}
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
const assertSrc = `src-tauri/assets/${name}.desktop`;
|
|
1628
|
-
const assertPath = path.join(npmDirectory, assertSrc);
|
|
1629
|
-
tauriConf.tauri.bundle.deb.files = {
|
|
1630
|
-
[installSrc]: assertPath
|
|
1631
|
-
};
|
|
1673
|
+
else {
|
|
1674
|
+
logger.warn("the custom icon path may not exists. we will use default icon to replace it");
|
|
1632
1675
|
}
|
|
1633
1676
|
let configPath = "";
|
|
1634
1677
|
switch (process.platform) {
|
|
@@ -1659,23 +1702,9 @@ function getIdentifier(name, url) {
|
|
|
1659
1702
|
return `pake-${postFixHash}`;
|
|
1660
1703
|
}
|
|
1661
1704
|
|
|
1662
|
-
const
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
},
|
|
1666
|
-
debug(...msg) {
|
|
1667
|
-
log.debug(...msg);
|
|
1668
|
-
},
|
|
1669
|
-
error(...msg) {
|
|
1670
|
-
log.error(...msg.map((m) => chalk.red.bold(m)));
|
|
1671
|
-
},
|
|
1672
|
-
warn(...msg) {
|
|
1673
|
-
log.info(...msg.map((m) => chalk.yellow.bold(m)));
|
|
1674
|
-
},
|
|
1675
|
-
success(...msg) {
|
|
1676
|
-
log.info(...msg.map((m) => chalk.green.bold(m)));
|
|
1677
|
-
}
|
|
1678
|
-
};
|
|
1705
|
+
const IS_MAC = process.platform === 'darwin';
|
|
1706
|
+
const IS_WIN = process.platform === 'win32';
|
|
1707
|
+
const IS_LINUX = process.platform === 'linux';
|
|
1679
1708
|
|
|
1680
1709
|
function handleIcon(options, url) {
|
|
1681
1710
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1688,15 +1717,21 @@ function handleIcon(options, url) {
|
|
|
1688
1717
|
}
|
|
1689
1718
|
}
|
|
1690
1719
|
if (!options.icon) {
|
|
1691
|
-
return
|
|
1720
|
+
return getDefaultIcon();
|
|
1692
1721
|
}
|
|
1693
1722
|
});
|
|
1694
1723
|
}
|
|
1695
|
-
function
|
|
1724
|
+
function getDefaultIcon() {
|
|
1696
1725
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1697
1726
|
logger.info('You have not provided an app icon, use the default icon.(use --icon option to assign an icon)');
|
|
1698
|
-
|
|
1699
|
-
|
|
1727
|
+
let iconPath = 'src-tauri/icons/icon.icns';
|
|
1728
|
+
if (IS_WIN) {
|
|
1729
|
+
iconPath = 'src-tauri/png/icon_256.ico';
|
|
1730
|
+
}
|
|
1731
|
+
else if (IS_LINUX) {
|
|
1732
|
+
iconPath = 'src-tauri/png/icon_512.png';
|
|
1733
|
+
}
|
|
1734
|
+
return path.join(npmDirectory, iconPath);
|
|
1700
1735
|
});
|
|
1701
1736
|
}
|
|
1702
1737
|
// export async function getIconFromPageUrl(url: string) {
|
|
@@ -1772,10 +1807,6 @@ function handleOptions(options, url) {
|
|
|
1772
1807
|
});
|
|
1773
1808
|
}
|
|
1774
1809
|
|
|
1775
|
-
const IS_MAC = process.platform === 'darwin';
|
|
1776
|
-
const IS_WIN = process.platform === 'win32';
|
|
1777
|
-
const IS_LINUX = process.platform === 'linux';
|
|
1778
|
-
|
|
1779
1810
|
function shellExec(command) {
|
|
1780
1811
|
return new Promise((resolve, reject) => {
|
|
1781
1812
|
shelljs.exec(command, { async: true, silent: false }, (code) => {
|
|
@@ -1816,7 +1847,7 @@ var tauri$3 = {
|
|
|
1816
1847
|
transparent: true,
|
|
1817
1848
|
fullscreen: false,
|
|
1818
1849
|
width: 1200,
|
|
1819
|
-
height:
|
|
1850
|
+
height: 780,
|
|
1820
1851
|
resizable: true
|
|
1821
1852
|
}
|
|
1822
1853
|
],
|
|
@@ -1869,7 +1900,8 @@ var tauri$2 = {
|
|
|
1869
1900
|
wix: {
|
|
1870
1901
|
language: [
|
|
1871
1902
|
"en-US"
|
|
1872
|
-
]
|
|
1903
|
+
],
|
|
1904
|
+
template: "assets/main.wxs"
|
|
1873
1905
|
}
|
|
1874
1906
|
}
|
|
1875
1907
|
}
|
|
@@ -1942,7 +1974,8 @@ var tauri = {
|
|
|
1942
1974
|
],
|
|
1943
1975
|
shortDescription: "",
|
|
1944
1976
|
targets: [
|
|
1945
|
-
"deb"
|
|
1977
|
+
"deb",
|
|
1978
|
+
"appimage"
|
|
1946
1979
|
]
|
|
1947
1980
|
}
|
|
1948
1981
|
};
|
|
@@ -1995,7 +2028,7 @@ class MacBuilder {
|
|
|
1995
2028
|
log.debug('PakeAppOptions', options);
|
|
1996
2029
|
const { name } = options;
|
|
1997
2030
|
yield mergeTauriConfig(url, options, tauriConf);
|
|
1998
|
-
yield shellExec(`cd ${npmDirectory} && npm install && npm run build
|
|
2031
|
+
yield shellExec(`cd ${npmDirectory} && npm install && npm run build`);
|
|
1999
2032
|
let arch = "x64";
|
|
2000
2033
|
if (process.arch === "arm64") {
|
|
2001
2034
|
arch = "aarch64";
|
|
@@ -2045,7 +2078,7 @@ class WinBuilder {
|
|
|
2045
2078
|
logger.debug('PakeAppOptions', options);
|
|
2046
2079
|
const { name } = options;
|
|
2047
2080
|
yield mergeTauriConfig(url, options, tauriConf);
|
|
2048
|
-
yield shellExec(`cd ${npmDirectory} && npm install && npm run build
|
|
2081
|
+
yield shellExec(`cd ${npmDirectory} && npm install && npm run build`);
|
|
2049
2082
|
const language = tauriConf.tauri.bundle.windows.wix.language[0];
|
|
2050
2083
|
const arch = process.arch;
|
|
2051
2084
|
const msiName = `${name}_${tauriConf.package.version}_${arch}_${language}.msi`;
|
|
@@ -2090,22 +2123,7 @@ class LinuxBuilder {
|
|
|
2090
2123
|
logger.debug('PakeAppOptions', options);
|
|
2091
2124
|
const { name } = options;
|
|
2092
2125
|
yield mergeTauriConfig(url, options, tauriConf);
|
|
2093
|
-
|
|
2094
|
-
const assertSrc = `src-tauri/assets/${name}.desktop`;
|
|
2095
|
-
const assertPath = path.join(npmDirectory, assertSrc);
|
|
2096
|
-
const desktopStr = `
|
|
2097
|
-
[Desktop Entry]
|
|
2098
|
-
Encoding=UTF-8
|
|
2099
|
-
Categories=Office
|
|
2100
|
-
Exec=${name}
|
|
2101
|
-
Icon=${name}
|
|
2102
|
-
Name=${name}
|
|
2103
|
-
StartupNotify=true
|
|
2104
|
-
Terminal=false
|
|
2105
|
-
Type=Application
|
|
2106
|
-
`;
|
|
2107
|
-
yield fs.writeFile(assertPath, desktopStr);
|
|
2108
|
-
yield shellExec(`cd ${npmDirectory} && npm install && npm run build:release`);
|
|
2126
|
+
yield shellExec(`cd ${npmDirectory} && npm install && npm run build`);
|
|
2109
2127
|
let arch = "";
|
|
2110
2128
|
if (process.arch === "x64") {
|
|
2111
2129
|
arch = "amd64";
|
|
@@ -2114,22 +2132,27 @@ Type=Application
|
|
|
2114
2132
|
arch = process.arch;
|
|
2115
2133
|
}
|
|
2116
2134
|
const debName = `${name}_${tauriConf.package.version}_${arch}.deb`;
|
|
2117
|
-
const appPath = this.getBuildedAppPath(npmDirectory, debName);
|
|
2135
|
+
const appPath = this.getBuildedAppPath(npmDirectory, "deb", debName);
|
|
2118
2136
|
const distPath = path.resolve(`${name}.deb`);
|
|
2119
2137
|
yield fs.copyFile(appPath, distPath);
|
|
2120
2138
|
yield fs.unlink(appPath);
|
|
2139
|
+
const appImageName = `${name}_${tauriConf.package.version}_${arch}.AppImage`;
|
|
2140
|
+
const appImagePath = this.getBuildedAppPath(npmDirectory, "appimage", appImageName);
|
|
2141
|
+
const distAppPath = path.resolve(`${name}.AppImage`);
|
|
2142
|
+
yield fs.copyFile(appImagePath, distAppPath);
|
|
2143
|
+
yield fs.unlink(appImagePath);
|
|
2121
2144
|
logger.success('Build success!');
|
|
2122
|
-
logger.success('You can find the app installer in', distPath);
|
|
2145
|
+
logger.success('You can find the deb app installer in', distPath);
|
|
2146
|
+
logger.success('You can find the Appimage app installer in', distAppPath);
|
|
2123
2147
|
});
|
|
2124
2148
|
}
|
|
2125
|
-
getBuildedAppPath(npmDirectory,
|
|
2126
|
-
return path.join(npmDirectory, 'src-tauri/target/release/bundle/
|
|
2149
|
+
getBuildedAppPath(npmDirectory, packageType, packageName) {
|
|
2150
|
+
return path.join(npmDirectory, 'src-tauri/target/release/bundle/', packageType, packageName);
|
|
2127
2151
|
}
|
|
2128
2152
|
}
|
|
2129
2153
|
|
|
2130
2154
|
class BuilderFactory {
|
|
2131
2155
|
static create() {
|
|
2132
|
-
console.log("now platform is ", process.platform);
|
|
2133
2156
|
if (IS_MAC) {
|
|
2134
2157
|
return new MacBuilder();
|
|
2135
2158
|
}
|
|
@@ -2144,7 +2167,7 @@ class BuilderFactory {
|
|
|
2144
2167
|
}
|
|
2145
2168
|
|
|
2146
2169
|
var name = "pake-cli";
|
|
2147
|
-
var version = "
|
|
2170
|
+
var version = "0.1.2";
|
|
2148
2171
|
var description = "๐คฑ๐ป ๅพ็ฎๅ็็จ Rust ๆๅ
็ฝ้กต็ๆๅพๅฐ็ๆก้ข App ๐คฑ๐ป A simple way to make any web page a desktop application using Rust.";
|
|
2149
2172
|
var bin = {
|
|
2150
2173
|
pake: "./cli.js"
|
|
@@ -2160,14 +2183,13 @@ var author = {
|
|
|
2160
2183
|
var files = [
|
|
2161
2184
|
"dist",
|
|
2162
2185
|
"src-tauri",
|
|
2163
|
-
"cli.js"
|
|
2164
|
-
"pake-default.icns"
|
|
2186
|
+
"cli.js"
|
|
2165
2187
|
];
|
|
2166
2188
|
var scripts = {
|
|
2167
2189
|
start: "npm run dev",
|
|
2168
2190
|
dev: "npm run tauri dev",
|
|
2169
2191
|
"dev:debug": "npm run tauri dev -- --features devtools",
|
|
2170
|
-
|
|
2192
|
+
build: "npm run tauri build --release",
|
|
2171
2193
|
"build:all-unix": "chmod +x ./script/build.sh && ./script/build.sh",
|
|
2172
2194
|
"build:all-windows": ".\\script\\build.bat",
|
|
2173
2195
|
tauri: "tauri",
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pake-cli",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "๐คฑ๐ป ๅพ็ฎๅ็็จ Rust ๆๅ
็ฝ้กต็ๆๅพๅฐ็ๆก้ข App ๐คฑ๐ป A simple way to make any web page a desktop application using Rust.",
|
|
5
|
+
"engines": {
|
|
6
|
+
"node": "^14.13 || >=16.0.0"
|
|
7
|
+
},
|
|
5
8
|
"bin": {
|
|
6
9
|
"pake": "./cli.js"
|
|
7
10
|
},
|
|
@@ -13,17 +16,25 @@
|
|
|
13
16
|
"name": "Tw93",
|
|
14
17
|
"email": "tw93@qq.com"
|
|
15
18
|
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"pake",
|
|
21
|
+
"pake-cli",
|
|
22
|
+
"rust",
|
|
23
|
+
"tauri",
|
|
24
|
+
"no-electron",
|
|
25
|
+
"productivity"
|
|
26
|
+
],
|
|
16
27
|
"files": [
|
|
17
28
|
"dist",
|
|
18
29
|
"src-tauri",
|
|
19
|
-
"cli.js"
|
|
20
|
-
"pake-default.icns"
|
|
30
|
+
"cli.js"
|
|
21
31
|
],
|
|
22
32
|
"scripts": {
|
|
23
33
|
"start": "npm run dev",
|
|
24
34
|
"dev": "npm run tauri dev",
|
|
25
35
|
"dev:debug": "npm run tauri dev -- --features devtools",
|
|
26
|
-
"build
|
|
36
|
+
"build": "npm run tauri build --release",
|
|
37
|
+
"build:mac": "npm run tauri build -- --target universal-apple-darwin",
|
|
27
38
|
"build:all-unix": "chmod +x ./script/build.sh && ./script/build.sh",
|
|
28
39
|
"build:all-windows": ".\\script\\build.bat",
|
|
29
40
|
"tauri": "tauri",
|
|
@@ -36,7 +47,7 @@
|
|
|
36
47
|
"license": "MIT",
|
|
37
48
|
"dependencies": {
|
|
38
49
|
"@tauri-apps/api": "^1.2.0",
|
|
39
|
-
"@tauri-apps/cli": "^1.2.
|
|
50
|
+
"@tauri-apps/cli": "^1.2.2",
|
|
40
51
|
"axios": "^1.1.3",
|
|
41
52
|
"chalk": "^5.1.2",
|
|
42
53
|
"commander": "^9.4.1",
|