diff --git a/.eslintrc.js b/.eslintrc.js index b3c4c73..264928d 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,51 +2,51 @@ * @type {import('@types/eslint').ESLint.ConfigData} */ module.exports = { - root: true, + root: true, - env: { - browser: true, - es6: true, - node: true, - }, + env: { + browser: true, + es6: true, + node: true, + }, - parser: '@typescript-eslint/parser', + parser: '@typescript-eslint/parser', - parserOptions: { - project: ['./tsconfig.json'], - sourceType: 'module', - extraFileExtensions: ['.json'], - }, + 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'], - plugins: ['eslint-plugin-n8n-nodes-base'], - extends: ['plugin:n8n-nodes-base/credentials'], - rules: { - 'n8n-nodes-base/cred-class-field-documentation-url-missing': 'off', - 'n8n-nodes-base/cred-class-field-documentation-url-miscased': 'off', - }, - }, - { - files: ['./nodes/**/*.ts'], - plugins: ['eslint-plugin-n8n-nodes-base'], - extends: ['plugin:n8n-nodes-base/nodes'], - rules: { - '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', - }, - }, - ], + 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'], + plugins: ['eslint-plugin-n8n-nodes-base'], + extends: ['plugin:n8n-nodes-base/credentials'], + rules: { + 'n8n-nodes-base/cred-class-field-documentation-url-missing': 'off', + 'n8n-nodes-base/cred-class-field-documentation-url-miscased': 'off', + }, + }, + { + files: ['./nodes/**/*.ts'], + plugins: ['eslint-plugin-n8n-nodes-base'], + extends: ['plugin:n8n-nodes-base/nodes'], + rules: { + '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', + }, + }, + ], }; diff --git a/.eslintrc.prepublish.js b/.eslintrc.prepublish.js index 2d319f0..5eca32f 100644 --- a/.eslintrc.prepublish.js +++ b/.eslintrc.prepublish.js @@ -2,15 +2,15 @@ * @type {import('@types/eslint').ESLint.ConfigData} */ module.exports = { - extends: "./.eslintrc.js", + extends: "./.eslintrc.js", - overrides: [ - { - files: ['package.json'], - plugins: ['eslint-plugin-n8n-nodes-base'], - rules: { - 'n8n-nodes-base/community-package-json-name-still-default': 'error', - }, - }, - ], + overrides: [ + { + files: ['package.json'], + plugins: ['eslint-plugin-n8n-nodes-base'], + rules: { + 'n8n-nodes-base/community-package-json-name-still-default': 'error', + }, + }, + ], }; diff --git a/.prettierrc.js b/.prettierrc.js index ebf28d8..7b306ba 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,51 +1,51 @@ module.exports = { - /** - * https://prettier.io/docs/en/options.html#semicolons - */ - semi: true, - - /** - * https://prettier.io/docs/en/options.html#trailing-commas - */ - trailingComma: 'all', - - /** - * https://prettier.io/docs/en/options.html#bracket-spacing - */ - bracketSpacing: true, - - /** - * https://prettier.io/docs/en/options.html#tabs - */ - useTabs: true, - - /** - * https://prettier.io/docs/en/options.html#tab-width - */ - tabWidth: 2, - - /** - * https://prettier.io/docs/en/options.html#arrow-function-parentheses - */ - arrowParens: 'always', - - /** - * https://prettier.io/docs/en/options.html#quotes - */ - singleQuote: true, - - /** - * https://prettier.io/docs/en/options.html#quote-props - */ - quoteProps: 'as-needed', - - /** - * https://prettier.io/docs/en/options.html#end-of-line - */ - endOfLine: 'lf', - - /** - * https://prettier.io/docs/en/options.html#print-width - */ - printWidth: 100, + /** + * https://prettier.io/docs/en/options.html#semicolons + */ + semi: true, + + /** + * https://prettier.io/docs/en/options.html#trailing-commas + */ + trailingComma: 'all', + + /** + * https://prettier.io/docs/en/options.html#bracket-spacing + */ + bracketSpacing: true, + + /** + * https://prettier.io/docs/en/options.html#tabs + */ + useTabs: true, + + /** + * https://prettier.io/docs/en/options.html#tab-width + */ + tabWidth: 2, + + /** + * https://prettier.io/docs/en/options.html#arrow-function-parentheses + */ + arrowParens: 'always', + + /** + * https://prettier.io/docs/en/options.html#quotes + */ + singleQuote: true, + + /** + * https://prettier.io/docs/en/options.html#quote-props + */ + quoteProps: 'as-needed', + + /** + * https://prettier.io/docs/en/options.html#end-of-line + */ + endOfLine: 'lf', + + /** + * https://prettier.io/docs/en/options.html#print-width + */ + printWidth: 100, }; diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 306a6af..0064931 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,7 @@ { - "recommendations": [ - "dbaeumer.vscode-eslint", - "EditorConfig.EditorConfig", - "esbenp.prettier-vscode", - ] + "recommendations": [ + "dbaeumer.vscode-eslint", + "EditorConfig.EditorConfig", + "esbenp.prettier-vscode", + ] } diff --git a/README.md b/README.md index e3870fa..e10fb9c 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes There is only one node in this package capable of interacting with below resources and respective operations: - Short Links - - Create short url *(v0.0.1)* - - List short urls *(v0.0.2)* - - more options coming soon ... + - Create short url *(v0.0.1)* + - List short urls *(v0.0.2)* + - more options coming soon ... ## Credentials diff --git a/credentials/Shlink.icon.svg b/credentials/Shlink.icon.svg new file mode 100644 index 0000000..1689431 --- /dev/null +++ b/credentials/Shlink.icon.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/credentials/ShlinkApi.credentials.ts b/credentials/ShlinkApi.credentials.ts index 8bf0611..bf8d51b 100644 --- a/credentials/ShlinkApi.credentials.ts +++ b/credentials/ShlinkApi.credentials.ts @@ -1,16 +1,20 @@ -import { IAuthenticate, ICredentialType, INodeProperties } from 'n8n-workflow'; - +import { IAuthenticate, IconFile, ICredentialType, INodeProperties } from 'n8n-workflow'; +const icon: IconFile = 'file:Shlink.icon.svg'; export class ShlinkApi implements ICredentialType { name = 'shlinkApi'; + icon = { + dark: icon, + light: icon, + }; displayName = 'Shlink API'; documentationUrl: string = 'https://shlink.io/documentation/api-docs/authentication/'; authenticate: IAuthenticate = { type: 'generic', properties: { headers: { - 'x-api-key': '={{ $credentials["apiKey"] }}' - } - } + 'x-api-key': '={{ $credentials["apiKey"] }}', + }, + }, }; properties: INodeProperties[] = [ { @@ -21,7 +25,7 @@ export class ShlinkApi implements ICredentialType { password: true, }, required: true, - default: '' + default: '', }, { displayName: 'Host', diff --git a/gulpfile.js b/gulpfile.js index 831c707..edb92fe 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -4,13 +4,13 @@ const { task, src, dest } = require('gulp'); task('build:icons', copyIcons); function copyIcons() { - const nodeSource = path.resolve('nodes', '**', '*.{png,svg}'); - const nodeDestination = path.resolve('dist', 'nodes'); + const nodeSource = path.resolve('nodes', '**', '*.{png,svg}'); + const nodeDestination = path.resolve('dist', 'nodes'); - src(nodeSource).pipe(dest(nodeDestination)); + src(nodeSource).pipe(dest(nodeDestination)); - const credSource = path.resolve('credentials', '**', '*.{png,svg}'); - const credDestination = path.resolve('dist', 'credentials'); + const credSource = path.resolve('credentials', '**', '*.{png,svg}'); + const credDestination = path.resolve('dist', 'credentials'); - return src(credSource).pipe(dest(credDestination)); + return src(credSource).pipe(dest(credDestination)); } diff --git a/nodes/Shlink/Shlink.node.json b/nodes/Shlink/Shlink.node.json index eb9c88c..862ef2e 100644 --- a/nodes/Shlink/Shlink.node.json +++ b/nodes/Shlink/Shlink.node.json @@ -1,18 +1,18 @@ { - "node": "n8n-nodes-base.Shlink", - "nodeVersion": "1.0", - "codexVersion": "1.0", - "categories": ["Communication", "Sales", "Marketing & Content"], - "resources": { - "credentialDocumentation": [ - { - "url": "https://shlink.io/documentation/api-docs/authentication/" - } - ], - "primaryDocumentation": [ - { - "url": "https://shlink.io/documentation/api-docs/authentication/" - } - ] - } + "node": "n8n-nodes-base.Shlink", + "nodeVersion": "1.0", + "codexVersion": "1.0", + "categories": ["Communication", "Sales", "Marketing & Content"], + "resources": { + "credentialDocumentation": [ + { + "url": "https://shlink.io/documentation/api-docs/authentication/" + } + ], + "primaryDocumentation": [ + { + "url": "https://shlink.io/documentation/api-docs/authentication/" + } + ] + } } diff --git a/nodes/Shlink/Shlink.node.ts b/nodes/Shlink/Shlink.node.ts index 49274fb..cc6792f 100644 --- a/nodes/Shlink/Shlink.node.ts +++ b/nodes/Shlink/Shlink.node.ts @@ -5,8 +5,8 @@ import { shortURLsOperationOptions } from "./operations"; export class Shlink implements INodeType { description: INodeTypeDescription = { displayName: 'Shlink', - name: 'shlink', - icon: { + name: 'shlink', + icon: { dark: 'file:Shlink.icon.svg', light: 'file:Shlink.icon.svg', }, @@ -14,7 +14,7 @@ export class Shlink implements INodeType { version: [1], defaultVersion: 1, subtitle: '={{ $parameter["resource"] + " (" + $parameter["operation"] + ")" }}', - description: 'Call Shlink endpoints.', + description: 'Call Shlink endpoints.', defaults: { name: 'Shlink', }, @@ -33,9 +33,9 @@ export class Shlink implements INodeType { 'Content-Type': 'application/json', } }, - properties: [ - resourceOptions, + properties: [ + resourceOptions, ...shortURLsOperationOptions, - ] - }; + ] + }; } diff --git a/nodes/Shlink/operations/short-urls.ts b/nodes/Shlink/operations/short-urls.ts index daad592..50bca2c 100644 --- a/nodes/Shlink/operations/short-urls.ts +++ b/nodes/Shlink/operations/short-urls.ts @@ -2,252 +2,252 @@ import { INodeProperties } from 'n8n-workflow'; import { resourceKeys } from '../resources'; const operations = { - short_url_create: 'short_url_create', - short_url_list: 'short_url_list' + short_url_create: 'short_url_create', + short_url_list: 'short_url_list' } as const; const operationParameters: INodeProperties[] = [ - { - displayName: 'Long URL', - description: 'URL to be shortened', - name: 'shortURLLongURL', - required: true, - type: 'string', - default: '', - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Title', - description: 'Display title of the URL', - name: 'shortURLTitle', - type: 'string', - default: undefined, - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Crawlable', - description: "Whether this URL will be included as 'Allow' in Shlink's robots.txt", - name: 'shortURLIsCrawlable', - type: 'boolean', - default: false, - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Forward Query', - description: 'Whether the query params should be forwarded from the short URL to the long one', - name: 'shortURLForwardQuery', - type: 'boolean', - default: true, - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Find If Exists', - description: - 'Whether force existing matching URL to be returned if found, instead of creating a new one', - name: 'shortURLFindIfExists', - type: 'boolean', - default: true, - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Domain', - description: 'The domain to which the short URL will be attached', - required: true, - name: 'shortURLDomain', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Path Prefix', - description: - 'A prefix that will be prepended to provided custom slug or auto-generated short code', - name: 'shortURLPathPrefix', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'URL Generation Method', - description: 'Choose how to generate the short URL', - name: 'shortURLGenerationMethod', - type: 'options', - required: true, - default: 'short_code', - options: [ - { - name: 'Short Code', - value: 'short_code', - }, - { - name: 'Custom Slug', - value: 'custom_slug', - }, - ], - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Custom Slug', - description: 'A unique custom slug to be used instead of the generated short code', - name: 'shortURLCustomSlug', - type: 'string', - default: '', - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - shortURLGenerationMethod: ['custom_slug'], - }, - }, - }, - { - displayName: 'Short Code Length', - description: 'The length for generated short code. It has to be at least 4 and defaults to 5.', - name: 'shortURLLength', - type: 'number', - typeOptions: { - minValue: 4, - }, - default: 5, - displayOptions: { - show: { - operation: [operations.short_url_create], - resource: [resourceKeys['short-urls']], - shortURLGenerationMethod: ['short_code'], - }, - }, - }, - { - displayName: 'Page', - description: 'The length for generated short code. It has to be at least 4 and defaults to 5.', - name: 'shortURLPage', - type: 'number', - typeOptions: { - minValue: 1, - }, - default: 1, - displayOptions: { - show: { - operation: [operations.short_url_list], - resource: [resourceKeys['short-urls']], - }, - }, - }, - { - displayName: 'Items / Page', - description: 'The length for generated short code. It has to be at least 4 and defaults to 5.', - name: 'shortURLItemsPerPage', - type: 'number', - typeOptions: { - minValue: 1, - }, - default: undefined, - displayOptions: { - show: { - operation: [operations.short_url_list], - resource: [resourceKeys['short-urls']], - }, - }, - }, + { + displayName: 'Long URL', + description: 'URL to be shortened', + name: 'shortURLLongURL', + required: true, + type: 'string', + default: '', + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Title', + description: 'Display title of the URL', + name: 'shortURLTitle', + type: 'string', + default: undefined, + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Crawlable', + description: "Whether this URL will be included as 'Allow' in Shlink's robots.txt", + name: 'shortURLIsCrawlable', + type: 'boolean', + default: false, + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Forward Query', + description: 'Whether the query params should be forwarded from the short URL to the long one', + name: 'shortURLForwardQuery', + type: 'boolean', + default: true, + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Find If Exists', + description: + 'Whether force existing matching URL to be returned if found, instead of creating a new one', + name: 'shortURLFindIfExists', + type: 'boolean', + default: true, + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Domain', + description: 'The domain to which the short URL will be attached', + required: true, + name: 'shortURLDomain', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Path Prefix', + description: + 'A prefix that will be prepended to provided custom slug or auto-generated short code', + name: 'shortURLPathPrefix', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'URL Generation Method', + description: 'Choose how to generate the short URL', + name: 'shortURLGenerationMethod', + type: 'options', + required: true, + default: 'short_code', + options: [ + { + name: 'Short Code', + value: 'short_code', + }, + { + name: 'Custom Slug', + value: 'custom_slug', + }, + ], + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Custom Slug', + description: 'A unique custom slug to be used instead of the generated short code', + name: 'shortURLCustomSlug', + type: 'string', + default: '', + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + shortURLGenerationMethod: ['custom_slug'], + }, + }, + }, + { + displayName: 'Short Code Length', + description: 'The length for generated short code. It has to be at least 4 and defaults to 5.', + name: 'shortURLLength', + type: 'number', + typeOptions: { + minValue: 4, + }, + default: 5, + displayOptions: { + show: { + operation: [operations.short_url_create], + resource: [resourceKeys['short-urls']], + shortURLGenerationMethod: ['short_code'], + }, + }, + }, + { + displayName: 'Page', + description: 'The length for generated short code. It has to be at least 4 and defaults to 5.', + name: 'shortURLPage', + type: 'number', + typeOptions: { + minValue: 1, + }, + default: 1, + displayOptions: { + show: { + operation: [operations.short_url_list], + resource: [resourceKeys['short-urls']], + }, + }, + }, + { + displayName: 'Items / Page', + description: 'The length for generated short code. It has to be at least 4 and defaults to 5.', + name: 'shortURLItemsPerPage', + type: 'number', + typeOptions: { + minValue: 1, + }, + default: undefined, + displayOptions: { + show: { + operation: [operations.short_url_list], + resource: [resourceKeys['short-urls']], + }, + }, + }, ]; const operationOptions: INodeProperties[] = [ - { - displayName: 'Operation', - name: 'operation', - type: 'options', - noDataExpression: true, - displayOptions: { - show: { - resource: [resourceKeys['short-urls']], - }, - }, - options: [ - { - name: 'Create', - value: operations.short_url_create, - action: 'Create short url', - routing: { - request: { - method: 'POST', - url: '/short-urls', - body: { - longUrl: '={{ $parameter["shortURLLongURL"] }}', - title: '={{ $parameter["shortURLTitle"] ? $parameter["shortURLTitle"] : $parameter["shortURLLongURL"] }}', - crawlable: '={{ $parameter["shortURLIsCrawlable"] }}', - forwardQuery: '={{ $parameter["shortURLForwardQuery"] }}', - domain: '={{ $parameter["shortURLDomain"] }}', - pathPrefix: '={{ $parameter["shortURLPathPrefix"] }}', - customSlug: '={{ $parameter["shortURLGenerationMethod"] === "custom_slug" ? $parameter["shortURLCustomSlug"] : undefined }}', - findIfExists: '={{ $parameter["shortURLFindIfExists"] }}', - shortCodeLength: '={{ $parameter["shortURLGenerationMethod"] === "short_code" ? $parameter["shortURLLength"] : undefined }}', - }, - encoding: 'json', - json: true, - }, - }, - }, - { - name: 'List', - value: operations.short_url_list, - action: 'List short urls', - routing: { - request: { - method: 'GET', - url: '/short-urls', - qs: { - itemsPerPage: '={{ $parameter["shortURLItemsPerPage"] }}', - page: '={{ $parameter["shortURLPage"] }}', - }, - encoding: 'json', - json: true, - }, - }, - }, - ], - default: 'short_url_create', - }, - ...operationParameters, + { + displayName: 'Operation', + name: 'operation', + type: 'options', + noDataExpression: true, + displayOptions: { + show: { + resource: [resourceKeys['short-urls']], + }, + }, + options: [ + { + name: 'Create', + value: operations.short_url_create, + action: 'Create short url', + routing: { + request: { + method: 'POST', + url: '/short-urls', + body: { + longUrl: '={{ $parameter["shortURLLongURL"] }}', + title: '={{ $parameter["shortURLTitle"] ? $parameter["shortURLTitle"] : $parameter["shortURLLongURL"] }}', + crawlable: '={{ $parameter["shortURLIsCrawlable"] }}', + forwardQuery: '={{ $parameter["shortURLForwardQuery"] }}', + domain: '={{ $parameter["shortURLDomain"] }}', + pathPrefix: '={{ $parameter["shortURLPathPrefix"] }}', + customSlug: '={{ $parameter["shortURLGenerationMethod"] === "custom_slug" ? $parameter["shortURLCustomSlug"] : undefined }}', + findIfExists: '={{ $parameter["shortURLFindIfExists"] }}', + shortCodeLength: '={{ $parameter["shortURLGenerationMethod"] === "short_code" ? $parameter["shortURLLength"] : undefined }}', + }, + encoding: 'json', + json: true, + }, + }, + }, + { + name: 'List', + value: operations.short_url_list, + action: 'List short urls', + routing: { + request: { + method: 'GET', + url: '/short-urls', + qs: { + itemsPerPage: '={{ $parameter["shortURLItemsPerPage"] }}', + page: '={{ $parameter["shortURLPage"] }}', + }, + encoding: 'json', + json: true, + }, + }, + }, + ], + default: 'short_url_create', + }, + ...operationParameters, ]; export const shortURLsOperationOptions = operationOptions; diff --git a/nodes/Shlink/resources.ts b/nodes/Shlink/resources.ts index f68cb55..ddfab40 100644 --- a/nodes/Shlink/resources.ts +++ b/nodes/Shlink/resources.ts @@ -1,18 +1,18 @@ import type { INodeProperties } from 'n8n-workflow'; export const resourceKeys = { - 'short-urls': 'short-urls', + 'short-urls': 'short-urls', } as const; export const resourceOptions: INodeProperties = { - displayName: 'Resource', - name: 'resource', - type: 'options', - noDataExpression: true, - options: [ - { - name: 'Short URL', - value: resourceKeys['short-urls'], - }, - ], - default: 'short-urls', + displayName: 'Resource', + name: 'resource', + type: 'options', + noDataExpression: true, + options: [ + { + name: 'Short URL', + value: resourceKeys['short-urls'], + }, + ], + default: 'short-urls', }; diff --git a/package-lock.json b/package-lock.json index a4dcc53..4d6c38c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "n8n-nodes-shlink", - "version": "0.0.3", + "version": "0.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "n8n-nodes-shlink", - "version": "0.0.3", + "version": "0.0.2", "license": "MIT", "devDependencies": { "@typescript-eslint/parser": "^7.15.0", @@ -15,7 +15,7 @@ "gulp": "^4.0.2", "n8n-workflow": "*", "prettier": "^3.3.2", - "typescript": "^5.5.3" + "typescript": "^5.5.4" }, "engines": { "node": ">=18.10" @@ -25,25 +25,28 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, "license": "MIT", "engines": { @@ -99,9 +102,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "license": "MIT", "engines": { @@ -109,14 +112,14 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dev": true, "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -303,16 +306,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/parser": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", - "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -332,14 +335,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", - "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -350,9 +353,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", - "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "license": "MIT", "engines": { @@ -364,14 +367,14 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", - "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -514,13 +517,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", - "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -539,9 +542,9 @@ "license": "ISC" }, "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, "license": "MIT", "bin": { @@ -1329,7 +1332,6 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, "license": "MIT", "dependencies": { @@ -1653,13 +1655,13 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2009,9 +2011,9 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -2032,17 +2034,18 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -2738,9 +2741,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "dev": true, "funding": [ { @@ -2844,7 +2847,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3379,9 +3382,9 @@ "license": "ISC" }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -3618,9 +3621,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -4513,9 +4516,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { @@ -4655,9 +4658,9 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, @@ -4699,9 +4702,9 @@ } }, "node_modules/nan": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.20.0.tgz", - "integrity": "sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==", + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", "dev": true, "license": "MIT", "optional": true @@ -5762,16 +5765,16 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -6375,9 +6378,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", - "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", "dev": true, "license": "CC0-1.0" }, @@ -6934,9 +6937,9 @@ } }, "node_modules/ts-api-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", - "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.0.tgz", + "integrity": "sha512-032cPxaEKwM+GT3vA5JXNzIaizx388rhsSW79vGRNGXfRRAdEAn2mvk36PvK5HnOchyWZ7afLEXqYCvPCrzuzQ==", "dev": true, "license": "MIT", "engines": { @@ -6947,9 +6950,9 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.0.tgz", + "integrity": "sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==", "dev": true, "license": "0BSD" }, @@ -6994,9 +6997,9 @@ "license": "MIT" }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index 0240e19..ab6aae5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "n8n-nodes-shlink", - "version": "0.0.2", + "version": "0.0.3", "description": "n8n nodes to call shlink apis.", "keywords": [ "n8n-community-node-package", @@ -49,7 +49,7 @@ "gulp": "^4.0.2", "n8n-workflow": "*", "prettier": "^3.3.2", - "typescript": "^5.5.3" + "typescript": "^5.5.4" }, "peerDependencies": { "n8n-workflow": "*" diff --git a/tsconfig.json b/tsconfig.json index 7469d24..62ef1f2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,30 +1,30 @@ { - "compilerOptions": { - "strict": true, - "module": "commonjs", - "moduleResolution": "node", - "target": "es2019", - "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/**/*", - "nodes/**/*", - "nodes/**/*.json", - "package.json", - ], + "compilerOptions": { + "strict": true, + "module": "commonjs", + "moduleResolution": "node", + "target": "es2019", + "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/**/*", + "nodes/**/*", + "nodes/**/*.json", + "package.json", + ], } diff --git a/tslint.json b/tslint.json index f03bbfe..8789e7c 100644 --- a/tslint.json +++ b/tslint.json @@ -1,127 +1,127 @@ { - "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": [] + "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": [] }