67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
|
|
const path = require("path");
|
||
|
|
const {
|
||
|
|
TwaManifest,
|
||
|
|
TwaGenerator,
|
||
|
|
KeyTool,
|
||
|
|
JdkHelper,
|
||
|
|
AndroidSdkTools,
|
||
|
|
Config,
|
||
|
|
ConsoleLog,
|
||
|
|
} = require("@bubblewrap/core");
|
||
|
|
|
||
|
|
const PLACEHOLDER_DOMAIN = "app.deldel.ir";
|
||
|
|
const PACKAGE_ID = "ir.deldel.app";
|
||
|
|
|
||
|
|
async function main() {
|
||
|
|
const log = new ConsoleLog("generate");
|
||
|
|
|
||
|
|
const manifest = await TwaManifest.fromWebManifest(
|
||
|
|
"http://127.0.0.1:3000/manifest.webmanifest"
|
||
|
|
);
|
||
|
|
|
||
|
|
manifest.packageId = PACKAGE_ID;
|
||
|
|
manifest.host = PLACEHOLDER_DOMAIN;
|
||
|
|
manifest.name = "دلدل";
|
||
|
|
manifest.launcherName = "دلدل";
|
||
|
|
manifest.appVersionName = "1.0.0";
|
||
|
|
manifest.appVersionCode = 1;
|
||
|
|
manifest.signingKey = {
|
||
|
|
path: path.join(process.cwd(), "android.keystore"),
|
||
|
|
alias: "android",
|
||
|
|
};
|
||
|
|
|
||
|
|
await manifest.saveToFile(path.join(process.cwd(), "twa-manifest.json"));
|
||
|
|
log.info("twa-manifest.json written.");
|
||
|
|
|
||
|
|
const twaGenerator = new TwaGenerator();
|
||
|
|
await twaGenerator.createTwaProject(process.cwd(), manifest, log);
|
||
|
|
log.info("Android project generated.");
|
||
|
|
|
||
|
|
const config = await Config.loadConfig(
|
||
|
|
path.join(require("os").homedir(), ".bubblewrap", "config.json")
|
||
|
|
);
|
||
|
|
const jdkHelper = new JdkHelper(process, config);
|
||
|
|
const androidSdkTools = await AndroidSdkTools.create(process, config, jdkHelper, log);
|
||
|
|
const keyTool = new KeyTool(jdkHelper, log);
|
||
|
|
|
||
|
|
await keyTool.createSigningKey(
|
||
|
|
{
|
||
|
|
path: manifest.signingKey.path,
|
||
|
|
alias: manifest.signingKey.alias,
|
||
|
|
fullName: "Deldel App",
|
||
|
|
organization: "Deldel",
|
||
|
|
organizationalUnit: "Development",
|
||
|
|
country: "IR",
|
||
|
|
password: "deldel1234",
|
||
|
|
keypassword: "deldel1234",
|
||
|
|
},
|
||
|
|
false
|
||
|
|
);
|
||
|
|
log.info("Signing keystore generated at android.keystore");
|
||
|
|
}
|
||
|
|
|
||
|
|
main().catch((err) => {
|
||
|
|
console.error(err);
|
||
|
|
process.exit(1);
|
||
|
|
});
|