mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
fix package manager detection
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import path from "node:path";
|
||||
import { confirm, select } from "@inquirer/prompts";
|
||||
import { detect } from "detect-package-manager";
|
||||
import { execa } from "execa";
|
||||
import fs from "fs-extra";
|
||||
import ora from "ora";
|
||||
import { setupTurso } from "./helpers/db-setup";
|
||||
import type { PackageManager, ProjectConfig } from "./types";
|
||||
import { getUserPkgManager } from "./utils/get-package-manager";
|
||||
import { logger } from "./utils/logger";
|
||||
|
||||
export async function createProject(options: ProjectConfig) {
|
||||
@@ -38,7 +38,7 @@ export async function createProject(options: ProjectConfig) {
|
||||
let packageManager = options.packageManager;
|
||||
|
||||
if (!packageManager) {
|
||||
const detectedPackageManager = await detect();
|
||||
const detectedPackageManager = getUserPkgManager();
|
||||
|
||||
const useDetectedPackageManager = await confirm({
|
||||
message: `Use detected package manager (${detectedPackageManager})?`,
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import { DEFAULT_CONFIG } from "../consts";
|
||||
import type { ProjectConfig } from "../types";
|
||||
import { getUserPkgManager } from "./get-package-manager";
|
||||
|
||||
export function generateReproducibleCommand(config: ProjectConfig): string {
|
||||
const flags: string[] = [];
|
||||
const defaultPackageManager = getUserPkgManager();
|
||||
|
||||
if (config.database !== DEFAULT_CONFIG.database) {
|
||||
flags.push(`--database ${config.database}`);
|
||||
@@ -12,7 +14,7 @@ export function generateReproducibleCommand(config: ProjectConfig): string {
|
||||
}
|
||||
if (
|
||||
config.packageManager &&
|
||||
config.packageManager !== DEFAULT_CONFIG.packageManager
|
||||
config.packageManager !== defaultPackageManager
|
||||
) {
|
||||
flags.push(`--package-manager ${config.packageManager}`);
|
||||
}
|
||||
|
||||
16
apps/cli/src/utils/get-package-manager.ts
Normal file
16
apps/cli/src/utils/get-package-manager.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export type PackageManager = "npm" | "pnpm" | "yarn" | "bun";
|
||||
|
||||
export const getUserPkgManager: () => PackageManager = () => {
|
||||
const userAgent = process.env.npm_config_user_agent;
|
||||
|
||||
if (userAgent?.startsWith("yarn")) {
|
||||
return "yarn";
|
||||
}
|
||||
if (userAgent?.startsWith("pnpm")) {
|
||||
return "pnpm";
|
||||
}
|
||||
if (userAgent?.startsWith("bun")) {
|
||||
return "bun";
|
||||
}
|
||||
return "npm";
|
||||
};
|
||||
Reference in New Issue
Block a user