From 31892ed50dd23824bcc3fa00c769c720d77d7b4a Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Tue, 10 Sep 2024 00:59:38 +0200 Subject: [PATCH] fix(create-router): load package.json at runtime --- packages/create-router/src/cli.ts | 2 +- .../src/utils/getPeerDependencyVersion.ts | 5 ++--- packages/create-router/src/utils/packageJson.ts | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 packages/create-router/src/utils/packageJson.ts diff --git a/packages/create-router/src/cli.ts b/packages/create-router/src/cli.ts index d92efe1c95..4b14a81004 100644 --- a/packages/create-router/src/cli.ts +++ b/packages/create-router/src/cli.ts @@ -1,6 +1,5 @@ import { basename, resolve } from 'node:path' import { Command, InvalidArgumentError } from 'commander' -import packageJson from '../package.json' import { NAME, SUPPORTED_BUNDLERS, @@ -8,6 +7,7 @@ import { } from './constants' import { validateProjectName } from './utils/validateProjectName' import { getPackageManager } from './utils/getPackageManager' +import { packageJson } from './utils/packageJson' import type { Bundler, PackageManager } from './constants' let directory: string | undefined diff --git a/packages/create-router/src/utils/getPeerDependencyVersion.ts b/packages/create-router/src/utils/getPeerDependencyVersion.ts index 604e67ad5c..a7f38a2b72 100644 --- a/packages/create-router/src/utils/getPeerDependencyVersion.ts +++ b/packages/create-router/src/utils/getPeerDependencyVersion.ts @@ -1,7 +1,6 @@ +import { resolve } from 'node:path' import type { PeerDependency } from '../types' -// do not import at build time since router peer dependencies will still be '*' -// eslint-disable-next-line import/no-commonjs -const packageJson = require('../../package.json') +import { packageJson } from './packageJson' export function getDependenciesWithVersion(deps: Array) { return deps.reduce( diff --git a/packages/create-router/src/utils/packageJson.ts b/packages/create-router/src/utils/packageJson.ts new file mode 100644 index 0000000000..4522a1edae --- /dev/null +++ b/packages/create-router/src/utils/packageJson.ts @@ -0,0 +1,14 @@ +import { readFile } from 'node:fs/promises' +import { resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +async function readPackageJson() { + const PACKAGE_JSON_FILE = resolve( + fileURLToPath(import.meta.url), + '../../package.json', + ) + const packageJson = await readFile(PACKAGE_JSON_FILE, 'utf-8') + return JSON.parse(packageJson) +} + +export const packageJson = await readPackageJson()