|
@@ -0,0 +1,43 @@
|
|
|
+const fs = require('fs-extra');
|
|
|
+const path = require('path');
|
|
|
+const { execSync } = require('child_process');
|
|
|
+
|
|
|
+const platform = process.argv[2];
|
|
|
+
|
|
|
+const distDir = path.resolve(__dirname, '../dist');
|
|
|
+const tmpDir = `${distDir}/tmp`;
|
|
|
+const publicDir = `${tmpDir}/public`;
|
|
|
+const outDir = `${distDir}/${platform}`;
|
|
|
+
|
|
|
+async function build() {
|
|
|
+ if (platform != 'linux' && platform != 'win')
|
|
|
+ throw new Error(`Unknown platform: ${platform}`);
|
|
|
+
|
|
|
+ await fs.emptyDir(outDir);
|
|
|
+
|
|
|
+ // перемещаем public на место
|
|
|
+ if (await fs.pathExists(publicDir)) {
|
|
|
+
|
|
|
+ const zipFile = `${tmpDir}/public.zip`;
|
|
|
+ const jsonFile = `${distDir}/public.json`;//distDir !!!
|
|
|
+
|
|
|
+ await fs.remove(zipFile);
|
|
|
+ execSync(`zip -r ${zipFile} .`, {cwd: publicDir, stdio: 'inherit'});
|
|
|
+
|
|
|
+ const data = (await fs.readFile(zipFile)).toString('base64');
|
|
|
+ await fs.writeFile(jsonFile, JSON.stringify({data}));
|
|
|
+ } else {
|
|
|
+ throw new Error(`publicDir: ${publicDir} does not exist`);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+async function main() {
|
|
|
+ try {
|
|
|
+ await build();
|
|
|
+ } catch(e) {
|
|
|
+ console.error(e);
|
|
|
+ process.exit(1);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+main();
|