You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
import * as path from "path";
|
|
import { promises as fs } from "fs";
|
|
import { fileURLToPath } from "url";
|
|
|
|
export async function loadAppConfig() {
|
|
const packageJson = await loadPackageJson();
|
|
const appName = process.env.TIME_SAFARI_APP_TITLE || packageJson.name;
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
return {
|
|
pwaConfig: {
|
|
manifest: {
|
|
name: appName,
|
|
short_name: appName,
|
|
icons: [
|
|
{
|
|
src: "./img/icons/android-chrome-192x192.png",
|
|
sizes: "192x192",
|
|
type: "image/png",
|
|
},
|
|
{
|
|
src: "./img/icons/android-chrome-512x512.png",
|
|
sizes: "512x512",
|
|
type: "image/png",
|
|
},
|
|
{
|
|
src: "./img/icons/android-chrome-maskable-192x192.png",
|
|
sizes: "192x192",
|
|
type: "image/png",
|
|
purpose: "maskable",
|
|
},
|
|
{
|
|
src: "./img/icons/android-chrome-maskable-512x512.png",
|
|
sizes: "512x512",
|
|
type: "image/png",
|
|
purpose: "maskable",
|
|
},
|
|
],
|
|
},
|
|
},
|
|
aliasConfig: {
|
|
"@": path.resolve(path.dirname(__dirname), "src"),
|
|
buffer: path.resolve(path.dirname(__dirname), "node_modules", "buffer"),
|
|
"dexie-export-import/dist/import":
|
|
"dexie-export-import/dist/import/index.js",
|
|
},
|
|
};
|
|
}
|
|
|
|
async function loadPackageJson() {
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
const packageJsonPath = path.resolve(path.dirname(__dirname), "package.json");
|
|
const packageJsonData = await fs.readFile(packageJsonPath, "utf-8");
|
|
return JSON.parse(packageJsonData);
|
|
}
|
|
|