Compare commits
37 Commits
disable-ca
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5650bed28f | ||
|
|
73c99818fa | ||
|
|
a36a4a1841 | ||
|
|
b2ba2d1cf1 | ||
|
|
7eb8838df5 | ||
|
|
74b954cc9a | ||
|
|
58094ce2e5 | ||
|
|
0b3d008aa1 | ||
|
|
571ab0acb1 | ||
|
|
0466fdb2df | ||
|
|
9969923e63 | ||
|
|
cfbd8bcab6 | ||
|
|
979eefad2e | ||
|
|
3e403ea10b | ||
|
|
7828722ad9 | ||
|
|
5e81fb4d38 | ||
|
|
4058614a41 | ||
|
|
2d6d19c412 | ||
|
|
cf37545eb1 | ||
|
|
40a1d2e467 | ||
|
|
9fbef7d5ad | ||
|
|
246155d65e | ||
|
|
231c29c85a | ||
|
|
35d7b9b3eb | ||
|
|
f61f363162 | ||
|
|
d8174322fd | ||
|
|
c429bcc06a | ||
|
|
6ad687a369 | ||
|
|
a4a172f3cb | ||
|
|
bd8bf2ca91 | ||
|
|
b11e4aa54f | ||
|
|
8915c01d82 | ||
|
|
0c5df74fad | ||
|
|
994a677b3e | ||
|
|
b4c404769c | ||
|
|
a5c6769fa7 | ||
|
|
10212ac293 |
@@ -12,6 +12,9 @@ trim_trailing_whitespace = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.yml]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
25
.eslintrc.js
25
.eslintrc.js
@@ -1,3 +1,6 @@
|
||||
/**
|
||||
* @type {import('@types/eslint').ESLint.ConfigData}
|
||||
*/
|
||||
module.exports = {
|
||||
root: true,
|
||||
|
||||
@@ -8,23 +11,23 @@ module.exports = {
|
||||
},
|
||||
|
||||
parser: '@typescript-eslint/parser',
|
||||
|
||||
parserOptions: {
|
||||
project: ['./tsconfig.json'],
|
||||
sourceType: 'module',
|
||||
extraFileExtensions: ['.json'],
|
||||
},
|
||||
ignorePatterns: [
|
||||
'.eslintrc.js',
|
||||
'**/*.js',
|
||||
'**/node_modules/**',
|
||||
'**/dist/**',
|
||||
],
|
||||
|
||||
ignorePatterns: ['.eslintrc.js', '**/*.js', '**/node_modules/**', '**/dist/**'],
|
||||
|
||||
overrides: [
|
||||
{
|
||||
files: ['package.json'],
|
||||
plugins: ['eslint-plugin-n8n-nodes-base'],
|
||||
extends: ['plugin:n8n-nodes-base/community'],
|
||||
rules: {
|
||||
'n8n-nodes-base/community-package-json-name-still-default': 'off',
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['./credentials/**/*.ts'],
|
||||
@@ -33,9 +36,6 @@ module.exports = {
|
||||
rules: {
|
||||
'n8n-nodes-base/cred-class-field-documentation-url-missing': 'off',
|
||||
'n8n-nodes-base/cred-class-field-documentation-url-miscased': 'off',
|
||||
|
||||
'n8n-nodes-base/cred-filename-against-convention': 'off',
|
||||
'n8n-nodes-base/cred-class-field-name-uppercase-first-char': 'off',
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -46,13 +46,6 @@ module.exports = {
|
||||
'n8n-nodes-base/node-execute-block-missing-continue-on-fail': 'off',
|
||||
'n8n-nodes-base/node-resource-description-filename-against-convention': 'off',
|
||||
'n8n-nodes-base/node-param-fixed-collection-type-unsorted-items': 'off',
|
||||
'n8n-nodes-base/node-execute-block-operation-missing-singular-pairing': 'off',
|
||||
'n8n-nodes-base/node-execute-block-operation-missing-plural-pairing': 'off',
|
||||
|
||||
'n8n-nodes-base/node-dirname-against-convention': 'off',
|
||||
'n8n-nodes-base/node-filename-against-convention': 'off',
|
||||
'n8n-nodes-base/node-param-operation-option-action-miscased': 'off',
|
||||
'n8n-nodes-base/node-param-display-name-miscased': 'off',
|
||||
},
|
||||
},
|
||||
],
|
||||
|
||||
16
.eslintrc.prepublish.js
Normal file
16
.eslintrc.prepublish.js
Normal file
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* @type {import('@types/eslint').ESLint.ConfigData}
|
||||
*/
|
||||
module.exports = {
|
||||
extends: "./.eslintrc.js",
|
||||
|
||||
overrides: [
|
||||
{
|
||||
files: ['package.json'],
|
||||
plugins: ['eslint-plugin-n8n-nodes-base'],
|
||||
rules: {
|
||||
'n8n-nodes-base/community-package-json-name-still-default': 'error',
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
2
.npmignore
Normal file
2
.npmignore
Normal file
@@ -0,0 +1,2 @@
|
||||
.DS_Store
|
||||
*.tsbuildinfo
|
||||
76
CODE_OF_CONDUCT.md
Normal file
76
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as
|
||||
contributors and maintainers pledge to making participation in our project and
|
||||
our community a harassment-free experience for everyone, regardless of age, body
|
||||
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
||||
level of experience, education, socio-economic status, nationality, personal
|
||||
appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment
|
||||
include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
||||
advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic
|
||||
address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable
|
||||
behavior and are expected to take appropriate and fair corrective action in
|
||||
response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or
|
||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
||||
permanently any contributor for other behaviors that they deem inappropriate,
|
||||
threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces
|
||||
when an individual is representing the project or its community. Examples of
|
||||
representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event. Representation of a project may be
|
||||
further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported by contacting the project team at jan@n8n.io. All
|
||||
complaints will be reviewed and investigated and will result in a response that
|
||||
is deemed necessary and appropriate to the circumstances. The project team is
|
||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
||||
Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
||||
faith may face temporary or permanent repercussions as determined by other
|
||||
members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
||||
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
||||
@@ -1,4 +1,4 @@
|
||||
Copyright <YEAR> <COPYRIGHT HOLDER>
|
||||
Copyright 2022 n8n
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
|
||||
48
README.md
48
README.md
@@ -1,21 +1,45 @@
|
||||

|
||||
|
||||
# n8n-nodes-starter
|
||||
|
||||
This repo contains example nodes to help you get started building your own custom integrations for n8n.
|
||||
This repo contains example nodes to help you get started building your own custom integrations for [n8n](n8n.io). It includes the node linter and other dependencies.
|
||||
|
||||
All nodes are npm packages. To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).
|
||||
To make your custom node available to the community, you must create it as an npm package, and [submit it to the npm registry](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
You need the following installed on your development machine:
|
||||
|
||||
* [git](https://git-scm.com/downloads)
|
||||
* Node.js and pnpm. Minimum version Node 18. You can find instructions on how to install both using nvm (Node Version Manager) for Linux, Mac, and WSL [here](https://github.com/nvm-sh/nvm). For Windows users, refer to Microsoft's guide to [Install NodeJS on Windows](https://docs.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-windows).
|
||||
* Install n8n with:
|
||||
```
|
||||
pnpm install n8n -g
|
||||
```
|
||||
* Recommended: follow n8n's guide to [set up your development environment](https://docs.n8n.io/integrations/creating-nodes/build/node-development-environment/).
|
||||
|
||||
## Using this starter
|
||||
|
||||
1. Clone the repo:
|
||||
```
|
||||
git clone https://github.com/n8n-io/n8n-nodes-starter.git
|
||||
```
|
||||
2. Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/).
|
||||
3. Open the project in your editor.
|
||||
4. Browse the examples in `/nodes`. Modify the examples, or replace them with your own nodes.
|
||||
5. Update the `package.json` to match your details.
|
||||
6. Run `npm run lint` to check for errors or `npm run lintfix` to automatically fix errors when possible.
|
||||
7. Publish your package to npm. More information on the links below.
|
||||
These are the basic steps for working with the starter. For detailed guidance on creating and publishing nodes, refer to the [documentation](https://docs.n8n.io/integrations/creating-nodes/).
|
||||
|
||||
1. [Generate a new repository](https://github.com/n8n-io/n8n-nodes-starter/generate) from this template repository.
|
||||
2. Clone your new repo:
|
||||
```
|
||||
git clone https://github.com/<your organization>/<your-repo-name>.git
|
||||
```
|
||||
3. Run `pnpm i` to install dependencies.
|
||||
4. Open the project in your editor.
|
||||
5. Browse the examples in `/nodes` and `/credentials`. Modify the examples, or replace them with your own nodes.
|
||||
6. Update the `package.json` to match your details.
|
||||
7. Run `pnpm lint` to check for errors or `pnpm lintfix` to automatically fix errors when possible.
|
||||
8. Test your node locally. Refer to [Run your node locally](https://docs.n8n.io/integrations/creating-nodes/test/run-node-locally/) for guidance.
|
||||
9. Replace this README with documentation for your node. Use the [README_TEMPLATE](README_TEMPLATE.md) to get started.
|
||||
10. Update the LICENSE file to use your details.
|
||||
11. [Publish](https://docs.npmjs.com/packages-and-modules/contributing-packages-to-the-registry) your package to npm.
|
||||
|
||||
## More information
|
||||
|
||||
Refer to our [documentation on creating nodes](https://docs.n8n.io/integrations/creating-nodes/) for detailed information on building your own nodes.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
48
README_TEMPLATE.md
Normal file
48
README_TEMPLATE.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# n8n-nodes-_node-name_
|
||||
|
||||
This is an n8n community node. It lets you use _app/service name_ in your n8n workflows.
|
||||
|
||||
_App/service name_ is _one or two sentences describing the service this node integrates with_.
|
||||
|
||||
[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.
|
||||
|
||||
[Installation](#installation)
|
||||
[Operations](#operations)
|
||||
[Credentials](#credentials) <!-- delete if no auth needed -->
|
||||
[Compatibility](#compatibility)
|
||||
[Usage](#usage) <!-- delete if not using this section -->
|
||||
[Resources](#resources)
|
||||
[Version history](#version-history) <!-- delete if not using this section -->
|
||||
|
||||
## Installation
|
||||
|
||||
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
|
||||
|
||||
## Operations
|
||||
|
||||
_List the operations supported by your node._
|
||||
|
||||
## Credentials
|
||||
|
||||
_If users need to authenticate with the app/service, provide details here. You should include prerequisites (such as signing up with the service), available authentication methods, and how to set them up._
|
||||
|
||||
## Compatibility
|
||||
|
||||
_State the minimum n8n version, as well as which versions you test against. You can also include any known version incompatibility issues._
|
||||
|
||||
## Usage
|
||||
|
||||
_This is an optional section. Use it to help users with any difficult or confusing aspects of the node._
|
||||
|
||||
_By the time users are looking for community nodes, they probably already know n8n basics. But if you expect new users, you can link to the [Try it out](https://docs.n8n.io/try-it-out/) documentation to help them get started._
|
||||
|
||||
## Resources
|
||||
|
||||
* [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
|
||||
* _Link to app/service documentation._
|
||||
|
||||
## Version history
|
||||
|
||||
_This is another optional section. If your node has multiple versions, include a short description of available versions and what changed, as well as any compatibility impact._
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@ export class HttpBinApi implements ICredentialType {
|
||||
name: 'token',
|
||||
type: 'string',
|
||||
default: '',
|
||||
typeOptions: {
|
||||
password: true,
|
||||
}
|
||||
},
|
||||
{
|
||||
displayName: 'Domain',
|
||||
@@ -28,14 +31,14 @@ export class HttpBinApi implements ICredentialType {
|
||||
// stating how this credential is injected as part of the request
|
||||
// An example is the Http Request node that can make generic calls
|
||||
// reusing this credential
|
||||
authenticate = {
|
||||
authenticate: IAuthenticateGeneric = {
|
||||
type: 'generic',
|
||||
properties: {
|
||||
headers: {
|
||||
Authorization: '={{"Bearer " + $credentials.token}}',
|
||||
},
|
||||
},
|
||||
} as IAuthenticateGeneric;
|
||||
};
|
||||
|
||||
// The block below tells how this credential can be tested
|
||||
test: ICredentialTestRequest = {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { IExecuteFunctions } from 'n8n-core';
|
||||
import {
|
||||
import type {
|
||||
IExecuteFunctions,
|
||||
INodeExecutionData,
|
||||
INodeType,
|
||||
INodeTypeDescription,
|
||||
NodeOperationError,
|
||||
} from 'n8n-workflow';
|
||||
import { NodeConnectionType, NodeOperationError } from 'n8n-workflow';
|
||||
|
||||
export class ExampleNode implements INodeType {
|
||||
description: INodeTypeDescription = {
|
||||
@@ -16,8 +16,8 @@ export class ExampleNode implements INodeType {
|
||||
defaults: {
|
||||
name: 'Example Node',
|
||||
},
|
||||
inputs: ['main'],
|
||||
outputs: ['main'],
|
||||
inputs: [NodeConnectionType.Main],
|
||||
outputs: [NodeConnectionType.Main],
|
||||
properties: [
|
||||
// Node properties which the user gets displayed and
|
||||
// can change on the node.
|
||||
@@ -50,7 +50,7 @@ export class ExampleNode implements INodeType {
|
||||
myString = this.getNodeParameter('myString', itemIndex, '') as string;
|
||||
item = items[itemIndex];
|
||||
|
||||
item.json['myString'] = myString;
|
||||
item.json.myString = myString;
|
||||
} catch (error) {
|
||||
// This node should never fail but we want to showcase how
|
||||
// to handle errors.
|
||||
@@ -71,6 +71,6 @@ export class ExampleNode implements INodeType {
|
||||
}
|
||||
}
|
||||
|
||||
return this.prepareOutputData(items);
|
||||
return [items];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ export class HttpBin implements INodeType {
|
||||
description: 'Interact with HttpBin API',
|
||||
defaults: {
|
||||
name: 'HttpBin',
|
||||
color: '#3b4151',
|
||||
},
|
||||
inputs: ['main'],
|
||||
outputs: ['main'],
|
||||
|
||||
@@ -17,7 +17,7 @@ export const httpVerbOperations: INodeProperties[] = [
|
||||
{
|
||||
name: 'GET',
|
||||
value: 'get',
|
||||
action: 'Perform a GET request',
|
||||
description: 'Perform a GET request',
|
||||
routing: {
|
||||
request: {
|
||||
method: 'GET',
|
||||
@@ -28,7 +28,7 @@ export const httpVerbOperations: INodeProperties[] = [
|
||||
{
|
||||
name: 'DELETE',
|
||||
value: 'delete',
|
||||
action: 'Perform a DELETE request',
|
||||
description: 'Perform a DELETE request',
|
||||
routing: {
|
||||
request: {
|
||||
method: 'DELETE',
|
||||
@@ -45,10 +45,10 @@ export const httpVerbOperations: INodeProperties[] = [
|
||||
// We do that by adding `operation: ["get"]` to `displayOptions.show`
|
||||
const getOperation: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Type of Data',
|
||||
name: 'typeofData',
|
||||
default: 'queryParameter',
|
||||
description: 'Select type of data to send [Query Parameters]',
|
||||
displayName: 'Type of Data',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['httpVerb'],
|
||||
@@ -65,10 +65,10 @@ const getOperation: INodeProperties[] = [
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
displayName: 'Query Parameters',
|
||||
name: 'arguments',
|
||||
default: {},
|
||||
description: "The request's query parameters",
|
||||
displayName: 'Query Parameters',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['httpVerb'],
|
||||
@@ -116,10 +116,10 @@ const getOperation: INodeProperties[] = [
|
||||
// We do that by adding `operation: ["delete"]` to `displayOptions.show`
|
||||
const deleteOperation: INodeProperties[] = [
|
||||
{
|
||||
displayName: 'Type of Data',
|
||||
name: 'typeofData',
|
||||
default: 'queryParameter',
|
||||
description: 'Select type of data to send [Query Parameter Arguments, JSON-Body]',
|
||||
displayName: 'Type of Data',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['httpVerb'],
|
||||
@@ -140,10 +140,10 @@ const deleteOperation: INodeProperties[] = [
|
||||
type: 'options',
|
||||
},
|
||||
{
|
||||
displayName: 'Query Parameters',
|
||||
name: 'arguments',
|
||||
default: {},
|
||||
description: "The request's query parameters",
|
||||
displayName: 'Query Parameters',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['httpVerb'],
|
||||
@@ -187,10 +187,10 @@ const deleteOperation: INodeProperties[] = [
|
||||
},
|
||||
},
|
||||
{
|
||||
displayName: 'JSON Object',
|
||||
name: 'arguments',
|
||||
default: {},
|
||||
description: "The request's JSON properties",
|
||||
displayName: 'JSON Object',
|
||||
displayOptions: {
|
||||
show: {
|
||||
resource: ['httpVerb'],
|
||||
|
||||
5563
package-lock.json
generated
5563
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
43
package.json
43
package.json
@@ -1,28 +1,34 @@
|
||||
{
|
||||
"name": "n8n-nodes-starter",
|
||||
"name": "n8n-nodes-<...>",
|
||||
"version": "0.1.0",
|
||||
"description": "Example starter module for custom n8n nodes.",
|
||||
"description": "",
|
||||
"keywords": [
|
||||
"n8n-community-node-package"
|
||||
],
|
||||
"license": "MIT",
|
||||
"homepage": "https://n8n.io",
|
||||
"homepage": "",
|
||||
"author": {
|
||||
"name": "Jan Oberhauser",
|
||||
"email": "jan@n8n.io"
|
||||
"name": "",
|
||||
"email": ""
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/n8n-io/n8n-nodes-starter.git"
|
||||
"url": "https://github.com/<...>/n8n-nodes-<...>.git"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.10",
|
||||
"pnpm": ">=9.1"
|
||||
},
|
||||
"packageManager": "pnpm@9.1.4",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
"build": "tsc && gulp build:icons",
|
||||
"dev": "tsc --watch",
|
||||
"format": "prettier nodes credentials --write",
|
||||
"lint": "tslint -p tsconfig.json -c tslint.json; eslint nodes credentials package.json",
|
||||
"lintfix": "tslint --fix -p tsconfig.json -c tslint.json; eslint nodes credentials package.json --fix",
|
||||
"prepare": "npm run build && npm run lint"
|
||||
"lint": "eslint nodes credentials package.json",
|
||||
"lintfix": "eslint nodes credentials package.json --fix",
|
||||
"prepublishOnly": "pnpm build && pnpm lint -c .eslintrc.prepublish.js nodes credentials package.json"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
@@ -30,7 +36,7 @@
|
||||
"n8n": {
|
||||
"n8nNodesApiVersion": 1,
|
||||
"credentials": [
|
||||
"dist/credentials/ExampleCredentials.credentials.js",
|
||||
"dist/credentials/ExampleCredentialsApi.credentials.js",
|
||||
"dist/credentials/HttpBinApi.credentials.js"
|
||||
],
|
||||
"nodes": [
|
||||
@@ -39,15 +45,14 @@
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/express": "^4.17.6",
|
||||
"@types/request-promise-native": "~1.0.15",
|
||||
"@typescript-eslint/parser": "^5.29.0",
|
||||
"eslint-plugin-n8n-nodes-base": "^1.5.1",
|
||||
"@typescript-eslint/parser": "^7.15.0",
|
||||
"eslint": "^8.56.0",
|
||||
"eslint-plugin-n8n-nodes-base": "^1.16.1",
|
||||
"gulp": "^4.0.2",
|
||||
"n8n-core": "^0.125.0",
|
||||
"n8n-workflow": "^0.107.0",
|
||||
"prettier": "^2.7.1",
|
||||
"tslint": "^6.1.2",
|
||||
"typescript": "~4.6.0"
|
||||
"prettier": "^3.3.2",
|
||||
"typescript": "^5.5.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"n8n-workflow": "*"
|
||||
}
|
||||
}
|
||||
|
||||
4286
pnpm-lock.yaml
generated
Normal file
4286
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": [
|
||||
"es2017",
|
||||
"es2019"
|
||||
],
|
||||
"types": [
|
||||
"node",
|
||||
],
|
||||
"module": "commonjs",
|
||||
"noImplicitAny": true,
|
||||
"removeComments": true,
|
||||
"strictNullChecks": true,
|
||||
"strict": true,
|
||||
"preserveConstEnums": true,
|
||||
"resolveJsonModule": true,
|
||||
"declaration": true,
|
||||
"outDir": "./dist/",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"target": "es2019",
|
||||
"sourceMap": true,
|
||||
"esModuleInterop": true,
|
||||
"lib": ["es2019", "es2020", "es2022.error"],
|
||||
"removeComments": true,
|
||||
"useUnknownInCatchVariables": false,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"noImplicitAny": true,
|
||||
"noImplicitReturns": true,
|
||||
"noUnusedLocals": true,
|
||||
"strictNullChecks": true,
|
||||
"preserveConstEnums": true,
|
||||
"esModuleInterop": true,
|
||||
"resolveJsonModule": true,
|
||||
"incremental": true,
|
||||
"declaration": true,
|
||||
"sourceMap": true,
|
||||
"skipLibCheck": true,
|
||||
"outDir": "./dist/",
|
||||
},
|
||||
"include": [
|
||||
"credentials/**/*",
|
||||
|
||||
127
tslint.json
127
tslint.json
@@ -1,127 +0,0 @@
|
||||
{
|
||||
"linterOptions": {
|
||||
"exclude": [
|
||||
"node_modules/**/*"
|
||||
]
|
||||
},
|
||||
"defaultSeverity": "error",
|
||||
"jsRules": {},
|
||||
"rules": {
|
||||
"array-type": [
|
||||
true,
|
||||
"array-simple"
|
||||
],
|
||||
"arrow-return-shorthand": true,
|
||||
"ban": [
|
||||
true,
|
||||
{
|
||||
"name": "Array",
|
||||
"message": "tsstyle#array-constructor"
|
||||
}
|
||||
],
|
||||
"ban-types": [
|
||||
true,
|
||||
[
|
||||
"Object",
|
||||
"Use {} instead."
|
||||
],
|
||||
[
|
||||
"String",
|
||||
"Use 'string' instead."
|
||||
],
|
||||
[
|
||||
"Number",
|
||||
"Use 'number' instead."
|
||||
],
|
||||
[
|
||||
"Boolean",
|
||||
"Use 'boolean' instead."
|
||||
]
|
||||
],
|
||||
"class-name": true,
|
||||
"curly": [
|
||||
true,
|
||||
"ignore-same-line"
|
||||
],
|
||||
"forin": true,
|
||||
"jsdoc-format": true,
|
||||
"label-position": true,
|
||||
"indent": [
|
||||
true,
|
||||
"tabs",
|
||||
2
|
||||
],
|
||||
"member-access": [
|
||||
true,
|
||||
"no-public"
|
||||
],
|
||||
"new-parens": true,
|
||||
"no-angle-bracket-type-assertion": true,
|
||||
"no-any": true,
|
||||
"no-arg": true,
|
||||
"no-conditional-assignment": true,
|
||||
"no-construct": true,
|
||||
"no-debugger": true,
|
||||
"no-default-export": true,
|
||||
"no-duplicate-variable": true,
|
||||
"no-inferrable-types": true,
|
||||
"ordered-imports": [
|
||||
true,
|
||||
{
|
||||
"import-sources-order": "any",
|
||||
"named-imports-order": "case-insensitive"
|
||||
}
|
||||
],
|
||||
"no-namespace": [
|
||||
true,
|
||||
"allow-declarations"
|
||||
],
|
||||
"no-reference": true,
|
||||
"no-string-throw": true,
|
||||
"no-unused-expression": true,
|
||||
"no-var-keyword": true,
|
||||
"object-literal-shorthand": true,
|
||||
"only-arrow-functions": [
|
||||
true,
|
||||
"allow-declarations",
|
||||
"allow-named-functions"
|
||||
],
|
||||
"prefer-const": true,
|
||||
"radix": true,
|
||||
"semicolon": [
|
||||
true,
|
||||
"always",
|
||||
"ignore-bound-class-methods"
|
||||
],
|
||||
"switch-default": true,
|
||||
"trailing-comma": [
|
||||
true,
|
||||
{
|
||||
"multiline": {
|
||||
"objects": "always",
|
||||
"arrays": "always",
|
||||
"functions": "always",
|
||||
"typeLiterals": "ignore"
|
||||
},
|
||||
"esSpecCompliant": true
|
||||
}
|
||||
],
|
||||
"triple-equals": [
|
||||
true,
|
||||
"allow-null-check"
|
||||
],
|
||||
"use-isnan": true,
|
||||
"quotes": [
|
||||
"error",
|
||||
"single"
|
||||
],
|
||||
"variable-name": [
|
||||
true,
|
||||
"check-format",
|
||||
"ban-keywords",
|
||||
"allow-leading-underscore",
|
||||
"allow-trailing-underscore"
|
||||
]
|
||||
},
|
||||
"rulesDirectory": []
|
||||
}
|
||||
Reference in New Issue
Block a user