mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-11 10:09:59 +00:00
Rename directory: app -> bridge
This commit is contained in:
35
bridge/bin/lib/config.js
Normal file
35
bridge/bin/lib/config.js
Normal file
@@ -0,0 +1,35 @@
|
||||
// @ts-check
|
||||
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import url from "url";
|
||||
|
||||
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
||||
|
||||
/**
|
||||
* @typedef {object} Config
|
||||
* @prop {string} author
|
||||
* @prop {string} homepageUrl
|
||||
* @prop {string} applicationName
|
||||
* @prop {string} applicationVersion
|
||||
* @prop {string} applicationDirectoryName
|
||||
* @prop {string} applicationExecutableName
|
||||
* @prop {string} extensionId
|
||||
*/
|
||||
|
||||
/** @type {Config} */
|
||||
//
|
||||
let config;
|
||||
|
||||
try {
|
||||
config = JSON.parse(
|
||||
fs.readFileSync(path.join(__dirname, "../../config.json"), {
|
||||
encoding: "utf-8"
|
||||
})
|
||||
);
|
||||
} catch (err) {
|
||||
console.error("Error: Failed to load build config!", err);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
export default config;
|
||||
98
bridge/bin/lib/paths.js
Normal file
98
bridge/bin/lib/paths.js
Normal file
@@ -0,0 +1,98 @@
|
||||
// @ts-check
|
||||
|
||||
import path from "path";
|
||||
import url from "url";
|
||||
|
||||
import config from "./config.js";
|
||||
|
||||
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
||||
const rootPath = path.join(__dirname, "../../../");
|
||||
|
||||
export const DIST_PATH = path.join(rootPath, "dist/bridge");
|
||||
export const LICENSE_PATH = path.join(rootPath, "LICENSE");
|
||||
|
||||
export const REGISTRY_KEY = config.applicationName;
|
||||
|
||||
export const pkgPlatformMap = {
|
||||
win32: "win",
|
||||
darwin: "macos",
|
||||
linux: "linux"
|
||||
};
|
||||
|
||||
export const MANIFEST_NAME = `${config.applicationName}.json`;
|
||||
|
||||
/**
|
||||
* @param {string} platform
|
||||
* @returns {string}
|
||||
*/
|
||||
export function getExecutableName(platform) {
|
||||
switch (platform) {
|
||||
case "win32":
|
||||
return `${config.applicationExecutableName}.exe`;
|
||||
case "darwin":
|
||||
case "linux":
|
||||
return config.applicationExecutableName;
|
||||
}
|
||||
|
||||
throw new Error("No executable name for specified platform!");
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} platform
|
||||
* @param {string} arch
|
||||
* @returns {string}
|
||||
*/
|
||||
export function getExecutableDirectory(platform, arch) {
|
||||
const EXECUTABLE_DIR_WIN32_X64 = `C:\\Program Files\\${config.applicationDirectoryName}\\`;
|
||||
const EXECUTABLE_DIR_WIN32_X86 = `C:\\Program Files (x86)\\${config.applicationDirectoryName}\\`;
|
||||
const EXECUTABLE_DIR_DARWIN = `/Library/Application Support/${config.applicationDirectoryName}/`;
|
||||
const EXECUTABLE_DIR_LINUX = `/opt/${config.applicationDirectoryName}/`;
|
||||
|
||||
switch (platform) {
|
||||
case "win32":
|
||||
switch (arch) {
|
||||
case "x86":
|
||||
return EXECUTABLE_DIR_WIN32_X86;
|
||||
case "x64":
|
||||
return EXECUTABLE_DIR_WIN32_X64;
|
||||
}
|
||||
break;
|
||||
case "darwin":
|
||||
return EXECUTABLE_DIR_DARWIN;
|
||||
case "linux":
|
||||
return EXECUTABLE_DIR_LINUX;
|
||||
}
|
||||
|
||||
throw new Error("No executable directory for specified platform!");
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} platform
|
||||
* @param {string} arch
|
||||
* @param {string} [linuxPackageType]
|
||||
* @returns {string}
|
||||
*/
|
||||
export function getManifestDirectory(platform, arch, linuxPackageType) {
|
||||
const MANIFEST_DIR_DARWIN =
|
||||
"/Library/Application Support/Mozilla/NativeMessagingHosts/";
|
||||
const MANIFEST_DIR_LINUX_DEB = "/usr/lib/mozilla/native-messaging-hosts/";
|
||||
const MANIFEST_DIR_LINUX_RPM = "/usr/lib64/mozilla/native-messaging-hosts/";
|
||||
|
||||
switch (platform) {
|
||||
case "win32":
|
||||
return getExecutableDirectory(platform, arch);
|
||||
case "darwin":
|
||||
return MANIFEST_DIR_DARWIN;
|
||||
case "linux":
|
||||
switch (linuxPackageType) {
|
||||
case "deb":
|
||||
return MANIFEST_DIR_LINUX_DEB;
|
||||
case "rpm":
|
||||
return MANIFEST_DIR_LINUX_RPM;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
throw new Error("No manifest directory for specified platform!");
|
||||
}
|
||||
Reference in New Issue
Block a user