Commit Graph

15 Commits

Author SHA1 Message Date
कारतोफ्फेलस्क्रिप्ट™
7a4e9ef5fa refactor: Remove n8n-core dependency in nodes-base (no-changelog) (#5649) 2023-03-09 18:13:15 +01:00
Michael Kret
bb4db58819 fix(core): Remove linting exceptions in nodes-base, @typescript-eslint/no-unsafe-argument (no-changelog) 2023-02-28 05:39:43 +02:00
Marcus
3e2d76ec79 test(Code Node): Unit tests (no-changelog) (#5373)
* ⚡ test setup

* ⚡️basic test with run once for all and each items

* 🎨 fix linting error

* ⚡️update to new Helper.setup(tests)

* ⚡ migrate tests to pin data approach
2023-02-09 13:56:39 +01:00
Iván Ovejero
0f228a60ba refactor(Code Node): Remove disallowed syntax checks (#5332)
🔥 Remove disallowed syntax checks in Code node
2023-02-02 10:11:36 +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 529ad72b051478fa1633aaf84b2864f2fdc7613c.

* 👕 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
Iván Ovejero
915f1445c2 fix(Code Node): Restore pairedItem to required n8n item keys (#4821)
🐛 Restore `pairedItem`
2022-12-05 17:53:16 +01:00
Iván Ovejero
46d4c4d329 refactor(Code Node): Limit n8n item key check (#4737)
⚡ Limit n8n item key check
2022-12-05 10:59:26 +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
cfd32d2642 refactor: Phase out TSLint in nodes-base (no-changelog) (#4798)
* 🔥 Remove TSLint scripts

* 🔥 Remove TSLint config

* 🔥 Remove TSLint exceptions

* 👕 Adjust lint config

* ✏️ Add story numbers
2022-12-02 15:25:21 +01:00
Iván Ovejero
740513b424 perf(Code Node): Improve n8n item key validation performance (#4669)
⚡ Improve validator performance
2022-11-22 14:49:13 +01:00
Iván Ovejero
9582a0f1c0 refactor(editor): Reintroduce item and items to CodeNodeEditor (#4553)
* ⚡ Alias legacy refs to new syntax

* 📘 Adjust types

* 👕 Switch `item` lint error to warning

* ⚡ Add completions for legacy vars

* ✏️ Add descriptions to completions

* ⚡ Add lintings

* 📘 Skip `any` for now

* ⚡ Expand regex
2022-11-10 16:29:41 +01:00
कारतोफ्फेलस्क्रिप्ट™
b282c7e5d9 fix(core): make deepCopy backward compatible (#4505)
* fix(core): make `deepCopy` backward compatible

`JSON.parse(JSON.stringify())`  uses `.toJSON` when available. so should `deepCopy`

* fix(core): prevent double quotes on luxon datetimes (#4508)

* 🐛 Prevent double quotes on luxon datetimes

* ⚡ Generalize solution

* update the types in packages/workflow/src/utils.ts

* add `toJSON` check to NodeErrors.isTraversableObject as well

* move the toJSON check before the cyclic dependency check

* fix(core): keep backward compatibility in deepCopy by calling `toJSON` on objects that have it

* fix(core): updating deepCopy typings

* Revert "fix(core): updating deepCopy typings"

This reverts commit 100a0f1f3d7ddac5425ccc8498381324f418d7a2.

* fix(core): temporarily removing Date cloning from deepCopy

* fix(core): updating deepCopy types

* fix(core): updating deepCopy

* fix(core): updating deepCopy get prototype of object

Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
Co-authored-by: Csaba Tuncsik <csaba@n8n.io>
2022-11-02 17:44:12 +01:00
Deborah
c74fdc7815 docs(Code Node): fix the docs link in the code node (#4366) 2022-10-18 11:21:28 +02:00
Iván Ovejero
1db4fa2bf8 feat(Code Node): create Code node (#3965)
* Introduce node deprecation (#3930)

✨ Introduce node deprecation

* 🚧 Scaffold out Code node

* 👕 Fix lint

* 📘 Create types file

* 🚚 Rename theme

* 🔥 Remove unneeded prop

* ⚡ Override keybindings

* ⚡ Expand lintings

* ⚡ Create editor content getter

* 🚚 Ensure all helpers use `$`

* ✨ Add autocompletion

* ⚡ Filter out welcome note node

* ⚡ Convey error line number

* ⚡ Highlight error line

* ⚡ Restore logging from node

* ✨ More autocompletions

* ⚡ Streamline completions

* ✏️ Update placeholders

* ⚡ Update linter to new methods

* 🔥 Remove `$nodeItem` completions

* ⚡ Re-update placeholders

* 🎨 Fix formatting

* 📦 Update `package-lock.json`

* ⚡ Refresh with multi-line empty string

* ⚡ Account for syntax errors

* 🔥 Remove unneeded variant

* ⚡ Minor improvements

* ⚡ Add more autocompletions

* 🚚 Rename extension

* 🔥 Remove outdated comments

* 🚚 Rename field

* ✨ More autocompletions

* ⚡ Fix up error display when empty text

* 🔥 Remove logging

* ✨ More error validation

* 🐛 Fix `pairedItem` to `pairedItem()`

* ⚡ Add item to validation info

* 📦 Update `package-lock.json`

* ⚡ Leftover fixes

* ⚡ Set `insertNewlineAndIndent`

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`

* 👕 Add lint exception

* 📘 Add type to mixin type

* Clean up comment

* ⚡ Refactor completion per new requirements

* ⚡ Adjust placeholders

* ⚡ Add `json` autocompletions for `$input`

* 🎨 Set border

* ⚡ Restore local completion source

* ⚡ Implement autocompletion for imports

* ⚡ Add `.*` to follow user typing on autocompletion

* 📘 Fix typings in autocompletions

* 👕 Add linting for use of `item()`

* 📦 Update `package-lock.json`

* 🐛 Fix for `$items(nodeName)[0]`

* ⚡ Filter down built-in modules list

* ⚡ Refactor error handling

* ⚡ Linter and validation improvements

* ⚡ Apply review feedback

* ♻️ More general refactorings

* ⚡ Add dot notation utility

* Customize input handler

* ⚡ Support `.json.` completions

* ⚡ Adjust placeholder

* ⚡ Sort imports

* 🔥 Remove blank rows addition

* ⚡ Add more error validation

* 📦 Update `package-lock.json`

* ⚡ Make date logging consistent

* 🔧 Adjust linting highlight range

* ⚡ Add line numbers to each item mode errors

* ⚡ Allow for links in error descriptions

* ⚡ More input validation

* ⚡ Expand linting to loops

* ⚡ Deprecate Function and Function Item nodes

* 🐛 Fix placeholder syntax

* 📘 Narrow down type

* 🚚 Rename using kebab-case

* 🔥 Remove `mapGetters`

* ✏️ Fix casing

* ⚡ Adjust import for type

* ✏️ Fix quotes

* 🐛 Fix `activeNode` reference

* ⚡ Use constant

* 🔥 Remove logging

* ✏️ Fix typo

* ⚡ Add missing `notice`

* ✏️ Add tags

* ✏️ Fix alias

* ✏️ Update copy

* 🔥 Remove wrong linting

* ✏️ Update copy

* ⚡ Add validation for `null`

* ⚡ Add validation for non-object and non-array

* ⚡ Add validation for non-array with json

* ✏️ Intentionally use wrong spelling

* ⚡ More validation

* ✏️ More copy updates

* ✏️ Placeholder updates

* ⏪ Restore spelling

* ⚡ Fix var name

* ✏️ More copy updates

* ⚡ Add luxon autocompletions

* ⚡ Make scrollable

* ⚡ Fix comma from merge conflict resolution

* 📦 Update `package-lock.json`

* 👕 Fix lint detail

* 🎨 Set font family

* ⚡ Bring in expressions fix

* ♻️ Address feedback

* ⚡ Exclude codemirror packages from render chunks

* 🐛 Fix placeholder not showing on first load

* feat(editor-ui): Replace `lezer` with `esprima` in client linter (#4192)

* 🔥 Remove addition from misresolved conflict

* ⚡ Replace `lezer` with `esprima` in client linter

* ⚡ Add missing key

* 📦 Update `package-lock.json`

* ⚡ Match dependencies

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`

* ⚡ Match whitespace

* 🐛 Fix selection

* ⚡ Expand validation

* 🔥 Remove validation

* ✏️ Update copy

* 🚚 Move to constants

* ⚡ More `null` validation

* ⚡ Support `all()` with index to access item

* ⚡ Gloss over n8n syntax error

* 🎨 Re-style diagnostic button

* 🔥 Remove `item` as `itemAlias`

* ⚡ Add linting for `item.json` in single item mode

* ⚡ Refactor to add label info descriptions

* ⚡ More autocompletions

* 👕 Fix lint

* ⚡ Simplify typings

* feat(nodes-base): Multiline autocompletion for `code-node-editor` (#4220)

* ⚡ Simplify typings

* ⚡ Consolidate helpers in utils

* ⚡ Multiline autocompletion for standalone vars

* 🔥 Remove unneeded mixins

* ✏️ Update copy

* ✏️ Prep TODOs

* ⚡ Multiline completion for `$input.method` + `$input.item`

* 🔥 Remove unused method

* 🔥 Remove another unused method

* 🚚 Move luxon strings to helpers

* ⚡ Multiline autocompletion for methods output

* ⚡ Refactor to use optional chaining

* 👕 Fix lint

* ✏️ Update TODOs

* ⚡ Multiline autocompletion for `json` fields

* 📘 Add typings

* ⚡ De-duplicate callback to forEach

* 🐛 Fix autocompletions not working with leading whitespace

* 🌐 Apply i18n

* 👕 Fix lint

* :constructor: Second-period var usage completions

* 👕 Fix lint

* 👕 Add exception

* ⚡ Add completion telemetry

* 📘 Add typing

* ⚡ Major refactoring to organize

* 🐛 Fix multiline `.all()[index]`

* 🐛 Do not autoclose square brackets prior to `.json`

* 🐛 Fix accessor for multiline `jsonField` completions

* ⚡ Add completions for half-assignments

* 🐛 Fix `jsonField` completions for `x.json`

* ✏️ Improve comments

* 🐛 Fix `.json[field]` for multiline matches

* ⚡ Cleanup

* 📦 Update `package-lock.json`

* 👕 Fix lint

* 🐛 Rely on original value for custom matcher

* ⚡ Create `customMatcherJsonFieldCompletions` to simplify setup

* 🐛 Include selector in `customMatcherJsonField` completions

* ✏️ Make naming consistent

* ✏️ Add docline

* ⚡ Finish self-review cleanup

* 🔥 Remove outdated comment

* 📌 Pin luxon to major-minor

* ✏️ Fix typo

* 📦 Update `package-lock.json`

* 📦 Update `package-lock.json`

* 📦 Re-update `package-lock.json`

* ➕ Add `luxon` for Gmail node

* 📦 Update `package-lock.json`

* ⚡ Replace Function with Code in suggested nodes

* 🐛 Fix `$prevNode` completions

* ✏️ Update `$execution.mode` copy

* ⚡ Separate luxon getters from methods

* ⚡ Adjusting linter to tolerate `.binary`

* ⚡ Adjust top-level item keys check

* ⚡ Anticipate user expecting `item` to pre-exist

* ⚡ Add linting for legacy item access

* ⚡ Add hint for attempted `items` access

* ⚡ Add keybinding for toggling comments

* ✏️ Update copy of `all`, `first`, `last` and `itemMatching`

* 🐛 Make `input.all()` etc act on copies

* 📦 Update `package-lock.json`

* 🐛 Fix guard in `$input.last()`

* ♻️ Address Jan's feedback

* ⬆️ Upgrade `eslint-plugin-n8n-nodes-base`

* 📦 Update `package-lock.json`

* 🔥 Remove unneeded exceptions

* ⚡ Restore placeholder logic

* ⚡ Add placeholders to client

* ⚡ Account for shadow item

* ✏️ More completion info labels

* 👕 Fix lint

* ✏️ Update copy

* ✏️ Update copy

* ✏️ More copy updates

* 📦 Update `package-lock.json`

* ⚡ Add more validation

* ⚡ Add placheolder on first load

* Replace `Cmd` with `Mod`

* 📦 Update `package-lock.json`
2022-10-13 14:28:02 +02:00