mirror of
https://github.com/streetwriters/notesnook.git
synced 2026-02-24 04:00:59 +01:00
setup: make self inclusion option when finding dependencies
This commit is contained in:
@@ -61,7 +61,10 @@ if (IS_BOOTSTRAP_ALL) {
|
||||
new Set(
|
||||
(
|
||||
await Promise.all(
|
||||
allPackages.map(async (scope) => await findDependencies(scope))
|
||||
allPackages.map(
|
||||
async (scope) =>
|
||||
await findDependencies(scope, { includeSelf: true })
|
||||
)
|
||||
)
|
||||
).flat()
|
||||
).values()
|
||||
@@ -69,7 +72,9 @@ if (IS_BOOTSTRAP_ALL) {
|
||||
|
||||
await bootstrapPackages(dependencies);
|
||||
} else {
|
||||
const dependencies = await findDependencies(scopes[args.scope]);
|
||||
const dependencies = await findDependencies(scopes[args.scope], {
|
||||
includeSelf: true
|
||||
});
|
||||
await bootstrapPackages(dependencies);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ export async function findPackages(projects, root) {
|
||||
return pkgs;
|
||||
}
|
||||
|
||||
export async function findDependencies(packagePath) {
|
||||
export async function findDependencies(packagePath, { includeSelf }) {
|
||||
const key = path.resolve(packagePath);
|
||||
if (depMemo.has(key)) return Array.from(depMemo.get(key));
|
||||
const pkg = readPackage(packagePath);
|
||||
@@ -52,9 +52,10 @@ export async function findDependencies(packagePath) {
|
||||
filterDependencies({ ...pkg.dependencies, ...pkg.devDependencies })
|
||||
);
|
||||
for (const dep of dependencies)
|
||||
for (const c of await findDependencies(dep)) dependencies.add(c);
|
||||
for (const c of await findDependencies(dep, { includeSelf }))
|
||||
dependencies.add(c);
|
||||
|
||||
dependencies.add(path.resolve(packagePath));
|
||||
if (includeSelf) dependencies.add(path.resolve(packagePath));
|
||||
depMemo.set(key, dependencies);
|
||||
return Array.from(dependencies);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user