Skip to content

Commit 0183f50

Browse files
committed
handle deps
1 parent 32ee34d commit 0183f50

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed
Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
/* eslint-disable no-console */
12
import { readFileSync, writeFileSync } from 'fs';
23
import { cp } from 'fs/promises';
3-
import { join, resolve } from 'path';
4+
import { join } from 'path';
45

56
export async function copyToTemp(originalPath: string, tmpDirPath: string): Promise<void> {
67
// copy files to tmp dir
@@ -12,25 +13,40 @@ export async function copyToTemp(originalPath: string, tmpDirPath: string): Prom
1213
function fixPackageJson(cwd: string): void {
1314
const packageJsonPath = join(cwd, 'package.json');
1415
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8')) as {
16+
dependencies?: Record<string, string>;
1517
devDependencies?: Record<string, string>;
1618
volta?: Record<string, unknown>;
1719
};
1820

1921
// 1. Fix file dependencies
20-
if (packageJson.devDependencies?.['@sentry-internal/test-utils']) {
21-
const newPath = join(__dirname, '../../test-utils');
22-
packageJson.devDependencies['@sentry-internal/test-utils'] = `link:${newPath}`;
23-
// eslint-disable-next-line no-console
24-
console.log(`Fixed devDependencies['@sentry-internal/test-utils'] to ${newPath}`);
22+
const didFixTestUtilsDependency =
23+
(packageJson.dependencies && fixTestUtilsDependency(packageJson.dependencies)) ||
24+
(packageJson.devDependencies && fixTestUtilsDependency(packageJson.devDependencies));
25+
26+
if (!didFixTestUtilsDependency) {
27+
console.log("No '@sentry-internal/test-utils' dependency found");
2528
}
2629

2730
// 2. Fix volta extends
2831
if (packageJson.volta?.extends === '../../package.json') {
2932
const newPath = join(__dirname, '../package.json');
3033
packageJson.volta.extends = newPath;
31-
// eslint-disable-next-line no-console
3234
console.log(`Fixed volta.extends to ${newPath}`);
35+
} else {
36+
console.log('No volta.extends found');
3337
}
3438

3539
writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
3640
}
41+
42+
function fixTestUtilsDependency(dependencyObj: Record<string, string>): boolean {
43+
// 1. Fix file dependencies
44+
if (dependencyObj['@sentry-internal/test-utils']) {
45+
const newPath = join(__dirname, '../../test-utils');
46+
dependencyObj['@sentry-internal/test-utils'] = `link:${newPath}`;
47+
console.log(`Fixed '@sentry-internal/test-utils' dependency to ${newPath}`);
48+
return true;
49+
}
50+
51+
return false;
52+
}

0 commit comments

Comments
 (0)