n8n/packages/core/src
Iván Ovejero dff8456382
refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820)
Ensure all errors in `core` and `workflow` inherit from
`ApplicationError` so that we start normalizing all the errors we report
to Sentry

Follow-up to:
https://github.com/n8n-io/n8n/pull/7757#discussion_r1404338844

### `core` package

`ApplicationError`
- `FileSystemError` (abstract)
	- `FileNotFoundError`
	- `DisallowedFilepathError`
- `BinaryDataError` (abstract)
	- `InvalidModeError`
	- `InvalidManagerError`
- `InvalidExecutionMetadataError`

### `workflow` package

`ApplicationError`
- `ExecutionBaseError` (abstract)
	- `WorkflowActivationError`
		- `WorkflowDeactivationError`
		- `WebhookTakenError`
	- `WorkflowOperationError`
		- `SubworkflowOperationError`
			- `CliWorkflowOperationError`
	- `ExpressionError`
		- `ExpressionExtensionError`
	- `NodeError` (abstract)
		- `NodeOperationError`
		- `NodeApiError`
	- `NodeSSLError`

Up next:
- Reorganize errors in `cli`
- Flatten the hierarchy in `workflow` (do we really need
`ExecutionBaseError`?)
- Remove `ExecutionError` type
- Stop throwing plain `Error`s
- Replace `severity` with `level`
- Add node and credential types as `tags`
- Add workflow IDs and execution IDs as `extras`
2023-11-27 15:33:21 +01:00
..
BinaryData refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820) 2023-11-27 15:33:21 +01:00
errors refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820) 2023-11-27 15:33:21 +01:00
ObjectStore fix(core): Prevent object deletion request on no prefix match (#7366) 2023-10-06 15:46:39 +02:00
ActiveWorkflows.ts feat(core): Coordinate workflow activation in multiple main scenario in internal API (#7566) 2023-11-07 13:48:48 +01:00
Cipher.ts refactor(core): Migrate from crypto-js to native crypto (#7556) 2023-11-03 13:26:20 +01:00
ClassLoader.ts feat(core): Lazy-load nodes and credentials to reduce baseline memory usage (#4577) 2022-11-23 16:20:28 +01:00
Constants.ts feat(HTTP Request Node): Add pagination support (#5993) 2023-11-01 14:24:43 +01:00
Credentials.ts refactor(core): Abstract away InstanceSettings and encryptionKey into injectable services (no-changelog) (#7471) 2023-10-23 13:39:35 +02:00
DirectoryLoader.ts feat(editor): Add HTTP request nodes for credentials without a node (#7157) 2023-11-13 12:11:16 +01:00
ExecutionMetadata.ts refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820) 2023-11-27 15:33:21 +01:00
ExtractValue.ts refactor(core): Stop reporting to Sentry node parameter value extraction failure (no-changelog) (#7587) 2023-11-02 16:28:44 +01:00
index.ts refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820) 2023-11-27 15:33:21 +01:00
InstanceSettings.ts ci(core): Load config schema after process.env has been overwritten (no-changelog) (#7550) 2023-11-07 15:58:28 +01:00
Interfaces.ts refactor(core): Abstract away InstanceSettings and encryptionKey into injectable services (no-changelog) (#7471) 2023-10-23 13:39:35 +02:00
NodeExecuteFunctions.ts refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820) 2023-11-27 15:33:21 +01:00
OAuth2Helper.ts feat(core): Replace client-oauth2 with an in-repo package (#6266) 2023-05-17 16:40:53 +02:00
Secrets.ts feat: External Secrets storage for credentials (#6477) 2023-08-25 10:33:46 +02:00
WorkflowExecute.ts refactor(core): Reorganize error hierarchy in core and workflow packages (no-changelog) (#7820) 2023-11-27 15:33:21 +01:00