aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/turbo-workspaces/src/errors.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/errors.ts
parent0b46fcd72ac34382387b2bcf9095233efbcc52f4 (diff)
downloadHydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.tar.gz
HydroRoll-dd84b9d64fb98746a230cd24233ff50a562c39c9.zip
Diffstat (limited to 'packages/turbo-workspaces/src/errors.ts')
-rw-r--r--packages/turbo-workspaces/src/errors.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/turbo-workspaces/src/errors.ts b/packages/turbo-workspaces/src/errors.ts
new file mode 100644
index 0000000..aa2fabe
--- /dev/null
+++ b/packages/turbo-workspaces/src/errors.ts
@@ -0,0 +1,31 @@
+export type ConvertErrorType =
+ // package manager general
+ | "package_manager-unexpected"
+ | "package_manager-already_in_use"
+ | "package_manager-unable_to_detect"
+ | "package_manager-unsupported_version"
+ // package manager specific
+ | "pnpm-workspace_parse_error"
+ // package.json
+ | "package_json-parse_error"
+ | "package_json-missing"
+ // other
+ | "invalid_directory"
+ | "error_removing_node_modules"
+ // default
+ | "unknown";
+
+export type ConvertErrorOptions = {
+ type?: ConvertErrorType;
+};
+
+export class ConvertError extends Error {
+ public type: ConvertErrorType;
+
+ constructor(message: string, opts?: ConvertErrorOptions) {
+ super(message);
+ this.name = "ConvertError";
+ this.type = opts?.type ?? "unknown";
+ Error.captureStackTrace(this, ConvertError);
+ }
+}