Michael Auerswald
b6d8a0f985
fix(core): Remove circular refs from Code and push msg ( #5741 )
...
* remove circular refs from code items (and lint fixes)
* cleanup
---------
* add some tests
Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-03-21 15:34:30 +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
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
कारतोफ्फेलस्क्रिप्ट™
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 100a0f1f3d
.
* 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
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