Michael Kret
5e16dd4ab4
feat(core): Improvements/overhaul for nodes working with binary data ( #7651 )
...
Github issue / Community forum post (link here to close automatically):
---------
Co-authored-by: Giulio Andreini <andreini@netseven.it>
Co-authored-by: Marcus <marcus@n8n.io>
2024-01-03 13:08:16 +02:00
कारतोफ्फेलस्क्रिप्ट™
8187be1b7d
feat(editor): Make PDF and Audio binary-data viewable in the UI ( #7367 )
...
fixes #7361
2023-10-09 17:43:57 +02:00
Iván Ovejero
6d6e2488c6
refactor(core): Generalize binary data manager interface (no-changelog) ( #7164 )
...
Depends on: #7092 | Story:
[PAY-768](https://linear.app/n8n/issue/PAY-768 )
This PR:
- Generalizes the `IBinaryDataManager` interface.
- Adjusts `Filesystem.ts` to satisfy the interface.
- Sets up an S3 client stub to be filled in in the next PR.
- Turns `BinaryDataManager` into an injectable service.
- Adjusts the config schema and adds new validators.
Note that the PR looks large but all the main changes are in
`packages/core/src/binaryData`.
Out of scope:
- `BinaryDataManager` (now `BinaryDataService`) and `Filesystem.ts` (now
`fs.client.ts`) were slightly refactored for maintainability, but fully
overhauling them is **not** the focus of this PR, which is meant to
clear the way for the S3 implementation. Future improvements for these
two should include setting up a backwards-compatible dir structure that
makes it easier to locate binary data files to delete, removing
duplication, simplifying cloning methods, using integers for binary data
size instead of `prettyBytes()`, writing tests for existing binary data
logic, etc.
---------
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-22 17:22:12 +02:00
कारतोफ्फेलस्क्रिप्ट™
6aa7b93473
refactor(core): Deprecate prepareOutputData
(no-changelog) ( #7091 )
2023-09-05 12:59:02 +02:00
कारतोफ्फेलस्क्रिप्ट™
0a31b8e2b4
feat(Read PDF Node): Replace pdf-parse with pdfjs, and add support for streaming and encrypted PDFs ( #6640 )
2023-07-18 20:07:29 +02:00
कारतोफ्फेलस्क्रिप्ट™
e57e85edf7
refactor: Delete unnecessary interface re-exports from core, and delete unused code in nodes-base (no-changelog) ( #6631 )
2023-07-12 11:15:38 +02:00
कारतोफ्फेलस्क्रिप्ट™
7a4e9ef5fa
refactor: Remove n8n-core dependency in nodes-base (no-changelog) ( #5649 )
2023-03-09 18:13:15 +01:00
कारतोफ्फेलस्क्रिप्ट™
5eb0d52459
refactor: Unify binary-data assertion across all nodes (no-changelog) ( #5624 )
2023-03-06 17:33:32 +01:00
Marcus
d266401ed8
test(Read PDF Node): Unit tests (no-changelog) ( #5453 )
...
✅ add ReadPDF node test
Co-authored-by: Michael Kret <michael.k@radency.com>
2023-02-10 16:26:26 +01:00
Iván Ovejero
b03e358a12
refactor: Integrate consistent-type-imports
in nodes-base (no-changelog) ( #5267 )
...
* 👕 Enable `consistent-type-imports` for nodes-base
* 👕 Apply to nodes-base
* ⏪ Undo unrelated changes
* 🚚 Move to `.eslintrc.js` in nodes-base
* ⏪ Revert "Enable `consistent-type-imports` for nodes-base"
This reverts commit 529ad72b05
.
* 👕 Fix severity
2023-01-27 12:22:44 +01:00
Michael Kret
6608e69457
refactor(core): Remove linting exceptions in nodes-base (no-changelog) ( #4944 )
2023-01-13 18:11:56 +01:00
कारतोफ्फेलस्क्रिप्ट™
1acc7fea89
refactor(core): Add more overloads for string-type node parameters (no-changelog) ( #5101 )
...
* refactor(core): Add more overloads for string-type node parameter (no-changelog)
continued from https://github.com/n8n-io/n8n/pull/4797
* include binaryPropertyOutput
2023-01-06 15:09:32 +01:00
Iván Ovejero
7e3f3c5097
refactor: Add lint rule node-class-description-name-miscased
(no-changelog) ( #5065 )
...
* 📦 Update `eslint-plugin-n8n-nodes-base` version
* 📦 Update `pnpm-lock`
* 👕 Enable rule
* 👕 Exempt pre-existing nodes with miscased names
2023-01-02 09:22:33 +01:00
Mike Arvela
6e8e4f5937
fix(nodes-base): fix and harmonize all primaryDocumentation links ( #4191 )
...
* fix(nodes-base): fix and harmonize all primaryDocumentation links
* feat(workflow, cli): expose documentation links to UI via node codex
* fix(editor-ui): link to correct node and credential documentation URLs
* config(nodes-base): update 'format' script to also format node descriptor json
* chore: fix outdated links to node reference documentation
2022-09-29 13:33:16 +03:00
Michael Kret
91d7e16c81
n8n-3867-progressively-apply-prettier-to-all ( #3873 )
...
* 🔨 formatting nodes with prettier
2022-08-17 17:50:24 +02:00
Iván Ovejero
88dea330b9
refactor: Apply more eslint-plugin-n8n-nodes-base
rules ( #3534 )
...
* ⚡ Update `lintfix` script
* ⚡ Run baseline `lintfix`
* 🔥 Remove unneeded exceptions (#3538 )
* 🔥 Remove exceptions for `node-param-default-wrong-for-simplify`
* 🔥 Remove exceptions for `node-param-placeholder-miscased-id`
* ⚡ Update version
* 👕 Apply `node-param-placeholder-missing` (#3542 )
* 👕 Apply `filesystem-wrong-cred-filename` (#3543 )
* 👕 Apply `node-param-description-missing-from-dynamic-options` (#3545 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-class-description-empty-string` (#3546 )
* 👕 Apply `node-class-description-icon-not-svg` (#3548 )
* 👕 Apply `filesystem-wrong-node-filename` (#3549 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Expand lintings to credentials (#3550 )
* 👕 Apply `node-param-multi-options-type-unsorted-items` (#3552 )
* ⚡ fix
* ⚡ Minor fixes
Co-authored-by: Michael Kret <michael.k@radency.com>
* 👕 Apply `node-param-description-wrong-for-dynamic-multi-options` (#3541 )
* ⚡ Add new lint rule, node-param-description-wrong-for-dynamic-multi-options
* ⚡ Fix with updated linting rules
* ⚡ Minor fixes
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-description-boolean-without-whether` (#3553 )
* ⚡ fix
* Update packages/nodes-base/nodes/Clockify/ProjectDescription.ts
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-display-name-wrong-for-dynamic-multi-options (#3537 )
* 👕 Add exceptions
* 👕 Add exception
* ✏️ Alphabetize rules
* ⚡ Restore `lintfix` command
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
Co-authored-by: brianinoa <54530642+brianinoa@users.noreply.github.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
2022-06-20 07:54:01 -07:00
Jan Oberhauser
bdb84130d6
feat(core): Add support for pairedItem (beta) ( #3012 )
...
* ✨ Add pairedItem support
* 👕 Fix lint issue
* 🐛 Fix resolution in frontend
* 🐛 Fix resolution issue
* 🐛 Fix resolution in frontend
* 🐛 Fix another resolution issue in frontend
* ⚡ Try to automatically add pairedItem data if possible
* ⚡ Cleanup
* ⚡ Display expression errors in editor UI
* 🐛 Fix issue that it did not display errors in production
* 🐛 Fix auto-fix of missing pairedItem data
* 🐛 Fix frontend resolution for not executed nodes
* ⚡ Fail execution on pairedItem resolve issue and display information
about itemIndex and runIndex
* ⚡ Allow that pairedItem is only set to number if runIndex is 0
* ✨ Improve Expression Errors
* ⚡ Remove no longer needed code
* ⚡ Make errors more helpful
* ⚡ Add additional errors
* 👕 Fix lint issue
* ⚡ Add pairedItem support to core nodes
* ⚡ Improve support in Merge-Node
* ⚡ Fix issue with not correctly converted incoming pairedItem data
* 🐛 Fix frontend resolve issue
* 🐛 Fix frontend parameter name display issue
* ⚡ Improve errors
* 👕 Fix lint issue
* ⚡ Improve errors
* ⚡ Make it possible to display parameter name in error messages
* ⚡ Improve error messages
* ⚡ Fix error message
* ⚡ Improve error messages
* ⚡ Add another error message
* ⚡ Simplify
2022-06-03 17:25:07 +02:00
Iván Ovejero
63b6c9f128
refactor: Apply more eslint-plugin-n8n-nodes-base
autofixable rules ( #3243 )
...
* ✏️ Alphabetize rules
* 🔖 Update version
* ⚡ Update lintfix command
* ⚡ Run baseline lintfix
* 📦 Update package-lock.json
* 👕 Apply `node-param-description-untrimmed` (#3200 )
* Removing unneeded backticks (#3249 )
* 👕 Apply node-param-description-wrong-for-return-all (#3253 )
* 👕 Apply node-param-description-missing-limit (#3252 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-excess-final-period (#3250 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-unencoded-angle-brackets (#3256 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-url-missing-protocol (#3258 )
* 👕 Apply `node-param-description-miscased-id` (#3254 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-wrong-for-limit (#3257 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply node-param-description-wrong-for-ignore-ssl-issues (#3261 )
* 👕 Apply rule
* ⚡ Restore lintfix script
* ⚡ Restore lintfix script
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
2022-05-06 23:01:25 +02:00
Iván Ovejero
0448feec56
refactor: Apply eslint-plugin-n8n-nodes-base
autofixable rules ( #3174 )
...
* ⚡ Initial setup
* 👕 Update `.eslintignore`
* 👕 Autofix node-param-default-missing (#3173 )
* 🔥 Remove duplicate key
* 👕 Add exceptions
* 📦 Update package-lock.json
* 👕 Apply `node-class-description-inputs-wrong-trigger-node` (#3176 )
* 👕 Apply `node-class-description-inputs-wrong-regular-node` (#3177 )
* 👕 Apply `node-class-description-outputs-wrong` (#3178 )
* 👕 Apply `node-execute-block-double-assertion-for-items` (#3179 )
* 👕 Apply `node-param-default-wrong-for-collection` (#3180 )
* 👕 Apply node-param-default-wrong-for-boolean (#3181 )
* Autofixed default missing
* Autofixed booleans, worked well
* ⚡ Fix params
* ⏪ Undo exempted autofixes
* 📦 Update package-lock.json
* 👕 Apply node-class-description-missing-subtitle (#3182 )
* ⚡ Fix missing comma
* 👕 Apply `node-param-default-wrong-for-fixed-collection` (#3184 )
* 👕 Add exception for `node-class-description-missing-subtitle`
* 👕 Apply `node-param-default-wrong-for-multi-options` (#3185 )
* 👕 Apply `node-param-collection-type-unsorted-items` (#3186 )
* Missing coma
* 👕 Apply `node-param-default-wrong-for-simplify` (#3187 )
* 👕 Apply `node-param-description-comma-separated-hyphen` (#3190 )
* 👕 Apply `node-param-description-empty-string` (#3189 )
* 👕 Apply `node-param-description-excess-inner-whitespace` (#3191 )
* Rule looks good
* Add whitespace rule in eslint config
* :zao: fix
* 👕 Apply `node-param-description-identical-to-display-name` (#3193 )
* 👕 Apply `node-param-description-missing-for-ignore-ssl-issues` (#3195 )
* ⏪ Revert ":zao: fix"
This reverts commit ef8a76f3df
.
* 👕 Apply `node-param-description-missing-for-simplify` (#3196 )
* 👕 Apply `node-param-description-missing-final-period` (#3194 )
* Rule working as intended
* Add rule to eslint
* 👕 Apply node-param-description-missing-for-return-all (#3197 )
* ⚡ Restore `lintfix` command
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: Omar Ajoue <krynble@gmail.com>
Co-authored-by: agobrech <ael.gobrecht@gmail.com>
Co-authored-by: Michael Kret <michael.k@radency.com>
2022-04-22 18:29:51 +02:00
Ahsan Virani
224ef736de
🐛 Binary data handling fixes ( #2629 )
...
* Update node airtable
* Update nodenextcloud
* Update node spreadsheet
* Update node cortex, dropbox, editImage nodes
* Update node emailSend
* Update node ftp
* Update node googleDrive
* Update node googleDrive fix
* Update node youtube
* Update node htmlExtract
* Update node linkedIn
* Update node mailgun
* Update node matrix
* Update node pipedrive
* Update node readPdf
* Update node facebookGraphApi
* Update node httpRequest
* Update node nocoDB
* Update node httpRequest, respondToWebhook
* Update node signi4
* Update node slack
* Update node zulip
* cleanup
* fix generic funcs
* 🐛 Fix EditImage Node
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-01-03 22:42:42 +01:00
Iván Ovejero
766f74c782
🚚 Directorize and alphabetize nodes ( #2445 )
...
* 🚚 Directorize nodes
* ⚡ Alphabetize nodes and credentials
* 🔥 Remove unused node
* 🔥 Remove unused codex
* 🔥 Remove duplicate cred file references
* 🐛 Fix node file paths
* 🔥 Remove duplicate node reference
2021-11-17 17:30:14 +01:00