mirror of
https://github.com/ajnart/homarr.git
synced 2026-02-27 17:00:54 +01:00
* fix(deps): update dependency typescript-eslint to ^8.12.2 * fix: lint issues --------- Co-authored-by: homarr-renovate[bot] <158783068+homarr-renovate[bot]@users.noreply.github.com> Co-authored-by: Meier Lukas <meierschlumpf@gmail.com>
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import fsPromises from "fs/promises";
|
|
import { glob } from "glob";
|
|
|
|
import packageJson from "~/../package.json";
|
|
|
|
const getPackageVersion = () => packageJson.version;
|
|
const getDependenciesAsync = async (): Promise<PackageJsonDependencies> => {
|
|
const pathNames = await glob("**/package.json", {
|
|
ignore: "node_modules/**",
|
|
cwd: "../../",
|
|
absolute: true,
|
|
});
|
|
const packageContents = await Promise.all(pathNames.map(async (path) => await fsPromises.readFile(path, "utf-8")));
|
|
const packageDependencies = packageContents
|
|
.map((packageContent) => (JSON.parse(packageContent) as PackageJson).dependencies)
|
|
.filter((dependencies) => dependencies !== undefined);
|
|
|
|
let dependencies = {};
|
|
for (const dependenciesOfPackage of packageDependencies) {
|
|
dependencies = { ...dependencies, ...dependenciesOfPackage };
|
|
}
|
|
return dependencies;
|
|
};
|
|
|
|
export const getPackageAttributesAsync = async () => {
|
|
return {
|
|
version: getPackageVersion(),
|
|
dependencies: await getDependenciesAsync(),
|
|
};
|
|
};
|
|
|
|
type PackageJsonDependencies = Record<string, string>;
|
|
interface PackageJson {
|
|
dependencies: PackageJsonDependencies | undefined;
|
|
}
|