electron-version-deployer-cli 0.3.8 → 0.4.1

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 CHANGED
@@ -150,6 +150,13 @@ export type EVDConfigType = {
150
150
  // package.json 文件路径(相对 folder)
151
151
  packageJSON: string;
152
152
  };
153
+ // 额外需要打包的文件夹
154
+ // 这将会在部署时将文件夹里面的内容,一同部署到服务器上
155
+ // 文件会被放在根目录的 basename 文件中,比如
156
+ // 传入 ['/user/myname/Desktop/test'] 这样一个文件夹,那么最终会被放到根目录的
157
+ // /test 中
158
+ // 注意当个文件不能超过 25mb 这是 cloudflare 的限制
159
+ extraFolders: string[] | (() => Promise<string[]>) | (() => string[]);
153
160
  // netlify 部署设置
154
161
  netlify?: {
155
162
  // 网站域名如 https://site.netlify.app
package/dist/cli.cjs CHANGED
@@ -591,11 +591,39 @@ commander.program.command("deploy").description("执行部署").action(async (so
591
591
  await validateConfigs(configs);
592
592
  await checkIsFirstTimeDeploy(configs);
593
593
  await validateRemotePackageJSON(configs);
594
+ await deployExtraFolders(configs);
594
595
  await deploy(configs);
595
596
  } catch (e) {
596
597
  console.log(logSymbols.error, e.toString());
597
598
  }
598
599
  });
600
+ async function deployExtraFolders(configs) {
601
+ const extraFolders = configs.extraFolders;
602
+ if (!extraFolders)
603
+ return;
604
+ let folders = [];
605
+ if (typeof extraFolders === "function") {
606
+ folders = await extraFolders();
607
+ } else {
608
+ folders = extraFolders;
609
+ }
610
+ for (const folder of folders) {
611
+ if (!node_fs.existsSync(folder)) {
612
+ throw new Error(`未找到文件夹 ${folder}`);
613
+ }
614
+ const stat = node_fs.statSync(folder);
615
+ if (!stat.isDirectory()) {
616
+ throw new Error(`${folder} 不是一个文件夹`);
617
+ }
618
+ const destFolder = r(`node_modules/.evd/${node_path.basename(folder)}`);
619
+ if (node_fs.existsSync(destFolder)) {
620
+ node_fs.rmSync(destFolder, { recursive: true });
621
+ }
622
+ node_fs.cpSync(folder, r(`node_modules/.evd/${node_path.basename(folder)}`), {
623
+ recursive: true
624
+ });
625
+ }
626
+ }
599
627
  async function deploy(configs) {
600
628
  console.log(logSymbols.info, "开始部署", r());
601
629
  await getWhichProvider(configs).deploy({
@@ -698,4 +726,4 @@ async function installPrebuilt(configs) {
698
726
  }
699
727
  commander.program.description(
700
728
  "Electron 版本部署 CLI,简化你的 Electron 软件更新,让一切变得简单。"
701
- ).helpOption("-h, --help", "使用帮助").version("0.3.8", "-V, --version", "显示版本号").parse(process.argv);
729
+ ).helpOption("-h, --help", "使用帮助").version("0.4.1", "-V, --version", "显示版本号").parse(process.argv);
@@ -11,6 +11,7 @@ export type EVDConfigType = {
11
11
  codes: string;
12
12
  packageJSON: string;
13
13
  };
14
+ extraFolders?: string[] | (() => Promise<string[]>) | (() => string[]);
14
15
  netlify?: {
15
16
  url: string;
16
17
  token: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "electron-version-deployer-cli",
3
3
  "private": false,
4
- "version": "0.3.8",
4
+ "version": "0.4.1",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.cjs.js",
7
7
  "module": "./dist/index.es.js",