diff options
Diffstat (limited to 'packages/turbo-workspaces/src/errors.ts')
| -rw-r--r-- | packages/turbo-workspaces/src/errors.ts | 31 |
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); + } +} |
