Skip to content

Commit

Permalink
fix(core): load config util supports absolute paths on windows (#22837)
Browse files Browse the repository at this point in the history
  • Loading branch information
Coly010 committed Apr 17, 2024
1 parent da1808d commit 82145e7
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 82145e7

Please sign in to comment.