aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-workspaces/src/index.ts
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:44 +0800
commitdd84b9d64fb98746a230cd24233ff50a562c39c9 (patch)
treeb583261ef00b3afe72ec4d6dacb31e57779a6faf /packages/turbo-workspaces/src/index.ts
parent0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff)
downloadHydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz
HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip
Diffstat (limited to 'packages/turbo-workspaces/src/index.ts')
-rw-r--r--packages/turbo-workspaces/src/index.ts58
1 files changed, 58 insertions, 0 deletions
diff --git a/packages/turbo-workspaces/src/index.ts b/packages/turbo-workspaces/src/index.ts
new file mode 100644
index 0000000..c7fc6b8
--- /dev/null
+++ b/packages/turbo-workspaces/src/index.ts
@@ -0,0 +1,58 @@
+import { getAvailablePackageManagers } from "@turbo/utils";
+import getWorkspaceDetails from "./getWorkspaceDetails";
+import { convertProject } from "./convert";
+import { Logger } from "./logger";
+import install, { getPackageManagerMeta } from "./install";
+import { ConvertError } from "./errors";
+import MANAGERS from "./managers";
+
+import type {
+ PackageManager,
+ Options,
+ InstallArgs,
+ Workspace,
+ Project,
+} from "./types";
+import type { ConvertErrorType } from "./errors";
+
+async function convert({
+ root,
+ to,
+ options,
+}: {
+ root: string;
+ to: PackageManager;
+ options?: Options;
+}) {
+ const logger = new Logger({ ...options, interactive: false });
+ const [project, availablePackageManagers] = await Promise.all([
+ getWorkspaceDetails({ root }),
+ getAvailablePackageManagers(),
+ ]);
+ await convertProject({
+ project,
+ to: {
+ name: to,
+ version: availablePackageManagers[to].version as PackageManager,
+ },
+ logger,
+ options,
+ });
+}
+
+export type {
+ PackageManager,
+ Options,
+ InstallArgs,
+ Workspace,
+ Project,
+ ConvertErrorType,
+};
+export {
+ convert,
+ getWorkspaceDetails,
+ install,
+ MANAGERS,
+ getPackageManagerMeta,
+ ConvertError,
+};