mirror of
https://github.com/ezolenko/rollup-plugin-typescript2.git
synced 2025-12-08 19:06:16 +00:00
fix: normalize paths in get-options-overrides (#331)
- the `outDir` was not normalized after the `/placeholder` part was
added to `cacheRoot`
- `cacheRoot` could have `\` directory separators on it on Windows,
which caused some tests to fail on Windows before
- tests have been normalized now too
- `expandIncludeWithDirs` used `path.join` without normalizing after
- `path.join` uses the OS's native separators (`posix.join` would do
POSIX separators only), so when the paths were already normalized
and then `path.join`ed, this would cause mixed separators on Windows
- this fixes the current CI failure on Windows in the `createFilter`
tests (`rootDirs` and `projectReferences`, which use
`expandIncludeWithDirs`)
- c.f. https://github.com/ezolenko/rollup-plugin-typescript2/runs/6516149780?check_suite_focus=true
This commit is contained in:
parent
e8240ae505
commit
d318e9a8fc
@ -11,7 +11,7 @@ import { getOptionsOverrides, createFilter } from "../src/get-options-overrides"
|
||||
|
||||
setTypescriptModule(ts);
|
||||
|
||||
const local = (x: string) => path.resolve(__dirname, x);
|
||||
const local = (x: string) => normalize(path.resolve(__dirname, x));
|
||||
const cacheDir = local("__temp/get-options-overrides");
|
||||
|
||||
// filter expects an absolute path and resolves include/exclude to process.cwd() by default: https://github.com/ezolenko/rollup-plugin-typescript2/pull/321#discussion_r873077874
|
||||
@ -51,7 +51,7 @@ const forcedOptions: ts.CompilerOptions = {
|
||||
noEmit: false,
|
||||
noEmitHelpers: false,
|
||||
noResolve: false,
|
||||
outDir: `${cacheDir}/placeholder`, // TODO: fix get-options-overrides.ts on Windows by normalizing the path: https://github.com/ezolenko/rollup-plugin-typescript2/pull/321#discussion_r869710856
|
||||
outDir: `${cacheDir}/placeholder`,
|
||||
};
|
||||
|
||||
const defaultPreParsedTsConfig: ts.ParsedCommandLine = {
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { createFilter as createRollupFilter} from "@rollup/pluginutils";
|
||||
import { createFilter as createRollupFilter, normalizePath as normalize } from "@rollup/pluginutils";
|
||||
import { tsModule } from "./tsproxy";
|
||||
import * as tsTypes from "typescript";
|
||||
import { IOptions } from "./ioptions";
|
||||
import { join } from "path";
|
||||
import * as path from "path";
|
||||
import { IContext } from "./context";
|
||||
|
||||
export function getOptionsOverrides({ useTsconfigDeclarationDir, cacheRoot }: IOptions, preParsedTsconfig?: tsTypes.ParsedCommandLine): tsTypes.CompilerOptions
|
||||
@ -13,7 +13,7 @@ export function getOptionsOverrides({ useTsconfigDeclarationDir, cacheRoot }: IO
|
||||
noResolve: false,
|
||||
noEmit: false,
|
||||
inlineSourceMap: false,
|
||||
outDir: `${cacheRoot}/placeholder`, // need an outdir that is different from source or tsconfig parsing trips up. https://github.com/Microsoft/TypeScript/issues/24715
|
||||
outDir: normalize(`${cacheRoot}/placeholder`), // need an outdir that is different from source or tsconfig parsing trips up. https://github.com/Microsoft/TypeScript/issues/24715
|
||||
moduleResolution: tsModule.ModuleResolutionKind.NodeJs,
|
||||
allowNonTsExtensions: true,
|
||||
};
|
||||
@ -42,9 +42,9 @@ function expandIncludeWithDirs(include: string | string[], dirs: string[])
|
||||
|
||||
dirs.forEach(root => {
|
||||
if (include instanceof Array)
|
||||
include.forEach(x => newDirs.push(join(root, x)));
|
||||
include.forEach(x => newDirs.push(normalize(path.join(root, x))));
|
||||
else
|
||||
newDirs.push(join(root, include));
|
||||
newDirs.push(normalize(path.join(root, include)));
|
||||
});
|
||||
return newDirs;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user