diff --git a/__tests__/get-options-overrides.spec.ts b/__tests__/get-options-overrides.spec.ts index 65f29a50..4960d904 100644 --- a/__tests__/get-options-overrides.spec.ts +++ b/__tests__/get-options-overrides.spec.ts @@ -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 = { diff --git a/src/get-options-overrides.ts b/src/get-options-overrides.ts index 56574a25..86617617 100644 --- a/src/get-options-overrides.ts +++ b/src/get-options-overrides.ts @@ -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; }