Skip to content

Commit b8c3504

Browse files
committed
fix: sync tsgo package for custom paths
1 parent 25e448c commit b8c3504

1 file changed

Lines changed: 30 additions & 12 deletions

File tree

src/index.ts

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ const resolveProjectPackage = (
4242
}
4343
};
4444

45-
const isTypeScriptGoSupportedPackage = (
45+
const getTypeScriptGoPackage = (
4646
packageJsonPath: string | undefined,
47-
): boolean => {
47+
): TypeScriptGoPackage | undefined => {
4848
if (!packageJsonPath) {
49-
return false;
49+
return undefined;
5050
}
5151

5252
try {
@@ -55,16 +55,28 @@ const isTypeScriptGoSupportedPackage = (
5555
typeof packageJson.version === 'string' ? packageJson.version : '';
5656
const versionMatch = version.match(/^(\d+)\.(\d+)(?:\.|$|-)/);
5757

58-
return (
58+
if (
5959
packageJson.name === TYPESCRIPT_PACKAGE &&
60-
Boolean(versionMatch) &&
60+
versionMatch &&
6161
Number(versionMatch[1]) >= 7
62-
);
62+
) {
63+
return 'typescript';
64+
}
65+
66+
if (packageJson.name === TYPESCRIPT_PREVIEW_PACKAGE) {
67+
return 'preview';
68+
}
69+
70+
return undefined;
6371
} catch {
64-
return false;
72+
return undefined;
6573
}
6674
};
6775

76+
const isTypeScriptGoSupportedPackage = (
77+
packageJsonPath: string | undefined,
78+
): boolean => getTypeScriptGoPackage(packageJsonPath) === 'typescript';
79+
6880
const resolveProjectTypeScriptPaths = (
6981
rootPath: string,
7082
): ProjectTypeScriptPaths => {
@@ -100,11 +112,17 @@ const applyTypeScriptDefaults = (
100112
typescriptOptions as TypeScriptOptionsWithTsgoPackage;
101113

102114
if (configuredPath) {
103-
return (
104-
Boolean(typescriptOptions.tsgo) ||
105-
(typescriptOptions.tsgo !== false &&
106-
isTypeScriptGoSupportedPackage(configuredPath))
107-
);
115+
const tsgoPackage = getTypeScriptGoPackage(configuredPath);
116+
117+
if (typescriptOptions.tsgo === undefined && tsgoPackage === 'typescript') {
118+
typescriptOptions.tsgo = true;
119+
}
120+
121+
if (typescriptOptions.tsgo === true && tsgoPackage) {
122+
normalizedOptions.tsgoPackage = tsgoPackage;
123+
}
124+
125+
return Boolean(typescriptOptions.tsgo);
108126
}
109127

110128
if (typescriptOptions.tsgo === false) {

0 commit comments

Comments
 (0)