diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 2bbcd4d..0000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -packages/editor-ui -packages/design-system diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..ebf28d8 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +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, +}; diff --git a/credentials/ExampleCredentials.credentials.ts b/credentials/ExampleCredentials.credentials.ts index 7e84255..2484f47 100644 --- a/credentials/ExampleCredentials.credentials.ts +++ b/credentials/ExampleCredentials.credentials.ts @@ -1,8 +1,4 @@ -import { - ICredentialType, - NodePropertyTypes, -} from 'n8n-workflow'; - +import { ICredentialType, NodePropertyTypes } from 'n8n-workflow'; export class ExampleCredentials implements ICredentialType { name = 'exampleCredentials'; diff --git a/gulpfile.js b/gulpfile.js index 546bb43..5cab748 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,11 +1,11 @@ -const { src, dest } = require('gulp'); +const { task, src, dest } = require('gulp'); + +task('build:icons', copyIcons); function copyIcons() { - src('nodes/**/*.{png,svg}') - .pipe(dest('dist/nodes')) + src('nodes/**/*.{png,svg}').pipe(dest('dist/nodes')); - return src('credentials/**/*.{png,svg}') - .pipe(dest('dist/credentials')); + return src('credentials/**/*.{png,svg}').pipe(dest('dist/credentials')); } -exports.default = copyIcons; \ No newline at end of file +// TODO: Add i18n to pipeline diff --git a/nodes/ExampleNode/ExampleNode.node.ts b/nodes/ExampleNode/ExampleNode.node.ts index df7d60c..9d471db 100644 --- a/nodes/ExampleNode/ExampleNode.node.ts +++ b/nodes/ExampleNode/ExampleNode.node.ts @@ -1,10 +1,5 @@ import { IExecuteFunctions } from 'n8n-core'; -import { - INodeExecutionData, - INodeType, - INodeTypeDescription, -} from 'n8n-workflow'; - +import { INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow'; export class ExampleNode implements INodeType { description: INodeTypeDescription = { @@ -33,9 +28,7 @@ export class ExampleNode implements INodeType { ], }; - async execute(this: IExecuteFunctions): Promise { - const items = this.getInputData(); let item: INodeExecutionData; @@ -52,6 +45,5 @@ export class ExampleNode implements INodeType { } return this.prepareOutputData(items); - } } diff --git a/nodes/HttpBin/HttpBin.node.json b/nodes/HttpBin/HttpBin.node.json index cc9eb82..1ed6939 100644 --- a/nodes/HttpBin/HttpBin.node.json +++ b/nodes/HttpBin/HttpBin.node.json @@ -2,10 +2,7 @@ "node": "n8n-nodes-base.httpbin", "nodeVersion": "1.0", "codexVersion": "1.0", - "categories": [ - "Development", - "Developer Tools" - ], + "categories": ["Development", "Developer Tools"], "resources": { "credentialDocumentation": [ { diff --git a/nodes/HttpBin/HttpVerbDescriptions.ts b/nodes/HttpBin/HttpVerbDescriptions.ts index 265d131..80efc5b 100644 --- a/nodes/HttpBin/HttpVerbDescriptions.ts +++ b/nodes/HttpBin/HttpVerbDescriptions.ts @@ -64,7 +64,7 @@ const getOperation: INodeProperties[] = [ { name: 'arguments', default: {}, - description: 'The request\'s query parameters', + description: "The request's query parameters", displayName: 'Query Parameters', displayOptions: { show: { @@ -115,8 +115,7 @@ const deleteOperation: INodeProperties[] = [ { name: 'typeofData', default: 'queryParameter', - description: - 'Select type of data to send [Query Parameter Arguments, JSON-Body]', + description: 'Select type of data to send [Query Parameter Arguments, JSON-Body]', displayName: 'Type of Data', displayOptions: { show: { @@ -140,7 +139,7 @@ const deleteOperation: INodeProperties[] = [ { name: 'arguments', default: {}, - description: 'The request\'s query parameters', + description: "The request's query parameters", displayName: 'Query Parameters', displayOptions: { show: { @@ -187,7 +186,7 @@ const deleteOperation: INodeProperties[] = [ { name: 'arguments', default: {}, - description: 'The request\'s JSON properties', + description: "The request's JSON properties", displayName: 'JSON Object', displayOptions: { show: { diff --git a/package.json b/package.json index 08f4905..f7fe4ac 100644 --- a/package.json +++ b/package.json @@ -17,12 +17,11 @@ }, "main": "index.js", "scripts": { - "dev": "npm run watch", - "build": "tsc && gulp", + "build": "tsc && gulp build:icons", + "dev": "tsc --watch", + "format": "prettier nodes credentials --write", "lint": "tslint -p tsconfig.json -c tslint.json && node_modules/eslint/bin/eslint.js ./nodes", - "lintfix": "tslint --fix -p tsconfig.json -c tslint.json && node_modules/eslint/bin/eslint.js --fix ./nodes", - "watch": "tsc --watch", - "test": "jest" + "lintfix": "tslint --fix -p tsconfig.json -c tslint.json && node_modules/eslint/bin/eslint.js --fix ./nodes" }, "files": [ "dist" @@ -43,16 +42,12 @@ "@typescript-eslint/parser": "^5.29.0", "eslint-plugin-n8n-nodes-base": "^1.0.43", "gulp": "^4.0.2", - "jest": "^26.4.2", "n8n-workflow": "~0.104.0", - "ts-jest": "^26.3.0", + "prettier": "^2.7.1", "tslint": "^6.1.2", - "typescript": "~4.3.5" + "typescript": "~4.6.0" }, "dependencies": { "n8n-core": "~0.122.1" - }, - "overrides": { - "glob-parent": "5.1.2" } } diff --git a/tsconfig.json b/tsconfig.json index fc72671..f143b59 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,11 +2,10 @@ "compilerOptions": { "lib": [ "es2017", - "es2019.array" + "es2019" ], "types": [ "node", - "jest" ], "module": "commonjs", "noImplicitAny": true, @@ -19,16 +18,12 @@ "outDir": "./dist/", "target": "es2019", "sourceMap": true, - "esModuleInterop": true + "esModuleInterop": true, + "useUnknownInCatchVariables": false, }, "include": [ "credentials/**/*", - "src/**/*", "nodes/**/*", "nodes/**/*.json", - "test/**/*" ], - "exclude": [ - "**/*.spec.ts" - ] }