Skip to content

Commit

Permalink
fix(core): load config util supports absolute paths on windows
Browse files Browse the repository at this point in the history
  • Loading branch information
Coly010 committed Apr 17, 2024
1 parent 2ee9650 commit 9e680ac
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions packages/devkit/src/utils/config-utils.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { dirname, extname, join } from 'path';
import { existsSync, readdirSync } from 'fs';
import { requireNx } from '../../nx';
import { pathToFileURL } from 'node:url';

const { workspaceRoot, registerTsProject } = requireNx();

Expand Down Expand Up @@ -70,8 +71,9 @@ async function load(path: string): Promise<any> {
return require(path);
} catch (e: any) {
if (e.code === 'ERR_REQUIRE_ESM') {
// If `require` fails to load ESM, try dynamic `import()`.
return await dynamicImport(`${path}?t=${Date.now()}`);
// If `require` fails to load ESM, try dynamic `import()`. ESM requires file url protocol for handling absolute paths.
const pathAsFileUrl = pathToFileURL(path).pathname;
return await dynamicImport(`${pathAsFileUrl}?t=${Date.now()}`);
}

// Re-throw all other errors
Expand Down

0 comments on commit 9e680ac

Please sign in to comment.