-
-
Notifications
You must be signed in to change notification settings - Fork 594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(typescript): path validation issue in validatePaths function #1800
Conversation
Current code allows paths that are below the 'file' option but not nested directories. For example if file option is set to "C:/examplelib/output" then "C:/examplelib" is fine while "C:/examplelib/output/decl" is not. The order change in this commit fixes this issue introduced in 12.1.1.
Thanks for the PR. Looks like you've got some test failures in Windows. |
} else if(dirProperty === 'outDir') { | ||
const fromTsDirToRollup = relative(compilerOptions[dirProperty],outputDir); | ||
if (fromTsDirToRollup.startsWith('..')) { | ||
context.error(`@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside the same directory as the Rollup 'file' option.`); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since we've added a new condition here, please add a test where there is an error produced. that will help prevent regressions in the future.
@JaCraig are you running tests locally before pushing? |
Code can be shortened to } else {
let fromTsDirToRollup;
if (dirProperty === 'outDir') {
fromTsDirToRollup = relative(compilerOptions[dirProperty]!, outputDir);
} else {
fromTsDirToRollup = relative(outputDir, compilerOptions[dirProperty]!);
}
if (fromTsDirToRollup.startsWith('..')) {
context.error(
`@rollup/plugin-typescript: Path of Typescript compiler option '${dirProperty}' must be located inside the same directory as the Rollup 'file' option.`
);
}
} |
Rollup Plugin Name:
@rollup/plugin-typescript
This PR contains:
Are tests included?
Breaking Changes?
If yes, then include "BREAKING CHANGES:" in the first commit message body, followed by a description of what is breaking.
List any relevant issue numbers:
resolves #1790
Description
In the @rollup/plugin-typescript plugin, current code allows paths that are below the 'file' option but not nested directories. For example if file option is set to "C:/examplelib/output" directory, then "C:/examplelib" is fine while "C:/examplelib/output/decl" is not. The order change in this commit fixes this issue introduced in 12.1.1.