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
Iván Ovejero
62c096710f
refactor: Run lintfix
(no-changelog) ( #7537 )
...
- Fix autofixable violations
- Remove unused directives
- Allow for PascalCased variables - needed for dynamically imported or
assigned classes, decorators, routers, etc.
2023-10-27 14:15:02 +02:00
Jon
cd6e22887f
docs: Update alias for iCalendar node ( #7269 )
2023-09-27 09:49:40 +01: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
कारतोफ्फेलस्क्रिप्ट™
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
Michael Kret
40879f67cb
test(iCalendar Node): Unit tests (no-changelog)
2023-02-10 12:55:07 +02: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
कारतोफ्फेलस्क्रिप्ट™
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
Michael Kret
61e26804ba
refactor(core): Remove linting exceptions in nodes-base ( #4794 )
...
* ⚡ enabled array-type
* ⚡ await-thenable on
* ⚡ ban-types on
* ⚡ default-param-last on
* ⚡ dot-notation on
* ⚡ member-delimiter-style on
* ⚡ no-duplicate-imports on
* ⚡ no-empty-interface on
* ⚡ no-floating-promises on
* ⚡ no-for-in-array on
* ⚡ no-invalid-void-type on
* ⚡ no-loop-func on
* ⚡ no-shadow on
* ⚡ ban-ts-comment re enabled
* ⚡ @typescript-eslint/lines-between-class-members on
* address my own comment
* @typescript-eslint/return-await on
* @typescript-eslint/promise-function-async on
* @typescript-eslint/no-unnecessary-boolean-literal-compare on
* @typescript-eslint/no-unnecessary-type-assertion on
* prefer-const on
* @typescript-eslint/prefer-optional-chain on
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2022-12-02 21:54:28 +01:00
Iván Ovejero
632f573021
refactor(core): Introduce overload for string-type node parameter (no-changelog) ( #4797 )
...
* 📘 Set up overload
* 🔥 Remove inferrable assertions
2022-12-02 12:53:59 +01:00
Iván Ovejero
0d9eeea024
refactor(core): Introduce overload for record-type node parameter (no-changelog) ( #4648 )
...
* 📘 Set up overload
* 🔥 Remove inferrable record assertions
* 👕 Fix semicolon
* 👕 Fix another semicolon
2022-11-18 16:29:44 +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
59f2e8e7d5
refactor: Apply more eslint-plugin-n8n-nodes-base
rules ( #3624 )
...
* ⬆️ Upgrade `eslint-plugin-n8n-nodes-base`
* 📦 Update `package-lock.json`
* 🔧 Adjust renamed filesystem rules
* ✏️ Alphabetize ruleset
* ⚡ Categorize overrides
* ⚡ Set renamings in lint exceptions
* ⚡ Run baseline `lintfix`
* ⚡ Update linting scripts
* 👕 Apply `node-param-description-missing-from-dynamic-multi-options`
* 👕 Apply `cred-class-field-name-missing-oauth2` (#3627 )
* Rule working as intended
* Removed comments
* Move cred rule to different rule set
* 👕 Apply `node-param-array-type-assertion`
* 👕 Apply `node-dirname-against-convention`
* Apply `cred-class-field-display-name-oauth2` (#3628 )
* Apply `node-execute-block-wrong-error-thrown`
* Apply `node-class-description-display-name-unsuffixed-trigger-node`
* Apply `node-class-description-name-unsuffixed-trigger-node`
* Apply `cred-class-name-missing-oauth2-suffix` (#3636 )
* Rule working as intended, add exception to existing nodes
* 👕 Apply `cred-class-field-name-uppercase-first-char` (#3638 )
* ⬆️ Upgrade to plugin version 1.2.28
* 📦 Update `package-lock.json`
* 👕 Update lintings with 1.2.8 change
* 👕 Apply `cred-class-field-name-unsuffixed`
* 👕 Apply `cred-class-name-unsuffixed`
* 👕 Apply `node-class-description-credentials-name-unsuffixed`
* ✏️ Alphabetize rules
* ➖ Remove `nodelinter` package
* 📦 Update `package-lock.json`
* ⚡ Consolidate `lint` and `lintfix` scripts
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
Co-authored-by: agobrech <ael.gobrecht@gmail.com>
2022-07-04 11:12:08 +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
6dcdb30bf4
refactor: Apply more nodelinting rules ( #3324 )
...
* ✏️ Alphabetize lint rules
* 🔥 Remove duplicates
* ⚡ Update `lintfix` script
* 👕 Apply `node-param-operation-without-no-data-expression` (#3329 )
* 👕 Apply `node-param-operation-without-no-data-expression`
* 👕 Add exceptions
* 👕 Apply `node-param-description-weak` (#3328 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-option-value-duplicate` (#3331 )
* 👕 Apply `node-param-description-miscased-json` (#3337 )
* 👕 Apply `node-param-display-name-excess-inner-whitespace` (#3335 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-type-options-missing-from-limit` (#3336 )
* Rule workig as intended
* ✏️ Uncomment rules
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-option-name-duplicate` (#3338 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-description-wrong-for-simplify` (#3334 )
* ⚡ fix
* ⚡ exceptions
* ⚡ changed rule ignoring from file to line
* 👕 Apply `node-param-resource-without-no-data-expression` (#3339 )
* 👕 Apply `node-param-display-name-untrimmed` (#3341 )
* 👕 Apply `node-param-display-name-miscased-id` (#3340 )
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-resource-with-plural-option` (#3342 )
* 👕 Apply `node-param-description-wrong-for-upsert` (#3333 )
* ⚡ fix
* ⚡ replaced record with contact in description
* ⚡ fix
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* 👕 Apply `node-param-option-description-identical-to-name` (#3343 )
* 👕 Apply `node-param-option-name-containing-star` (#3347 )
* 👕 Apply `node-param-display-name-wrong-for-update-fields` (#3348 )
* 👕 Apply `node-param-option-name-wrong-for-get-all` (#3345 )
* ⚡ fix
* ⚡ exceptions
* 👕 Apply node-param-display-name-wrong-for-simplify (#3344 )
* Rule working as intended
* Uncomented other rules
* 👕 Undo and add exceptions
Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
* ⚡ Alphabetize lint rules
* ⚡ Restore `lintfix` script
Co-authored-by: Michael Kret <88898367+michael-radency@users.noreply.github.com>
Co-authored-by: agobrech <45268029+agobrech@users.noreply.github.com>
2022-05-20 23:47:24 +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
Iván Ovejero
027dfb2f0a
⚡ Enable esModuleInterop
compiler option and upgrade to TypeScript 4.6 ( #3106 )
...
* ⚡ Enable `esModuleInterop` for /core
* ⚡ Adjust imports in /core
* ⚡ Enable `esModuleInterop` for /cli
* ⚡ Adjust imports in /cli
* ⚡ Enable `esModuleInterop` for /nodes-base
* ⚡ Adjust imports in /nodes-base
* ⚡ Make imports consistent
* ⬆️ Upgrade TypeScript to 4.6 (#3109 )
* ⬆️ Upgrade TypeScript to 4.6
* 📦 Update package-lock.json
* 🔧 Avoid erroring on untyped errors
* 📘 Fix type error
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-04-08 23:32:08 +02:00
Jan Oberhauser
e74caf4b0d
👕 Fix lint issue
2022-01-08 13:14:18 +01:00
Jonathan Bennetts
95542a5a8d
🐛 Fix iCalendar month bug ( #2644 )
2022-01-08 13:11:58 +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