diff --git a/package.json b/package.json index 45ffee9d4172c..216ca673b6167 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,6 @@ "chokidar": "3.5.2", "esbuild": "^0.20.2", "formidable": "3.5.1", - "prettier": "^3.2.5", "pug": "^3.0.3", "semver": "^7.5.4", "tslib": "^2.6.2", diff --git a/packages/@n8n_io/eslint-config/frontend.js b/packages/@n8n_io/eslint-config/frontend.js index 2899007ef2c54..e0051f10a1397 100644 --- a/packages/@n8n_io/eslint-config/frontend.js +++ b/packages/@n8n_io/eslint-config/frontend.js @@ -25,7 +25,6 @@ module.exports = { }, { files: ['**/*.vue'], - plugins: isCI ? [] : ['eslint-plugin-prettier'], rules: { 'vue/no-deprecated-slot-attribute': 'error', 'vue/no-deprecated-slot-scope-attribute': 'error', @@ -68,14 +67,6 @@ module.exports = { ], 'vue/no-v-html': 'error', - ...(isCI - ? {} - : { - 'prettier/prettier': ['error', { endOfLine: 'auto' }], - 'arrow-body-style': 'off', - 'prefer-arrow-callback': 'off', - }), - // TODO: remove these 'vue/no-mutating-props': 'warn', 'vue/no-side-effects-in-computed-properties': 'warn', diff --git a/packages/@n8n_io/eslint-config/package.json b/packages/@n8n_io/eslint-config/package.json index 6f776d0e64756..aac4ea2e32e68 100644 --- a/packages/@n8n_io/eslint-config/package.json +++ b/packages/@n8n_io/eslint-config/package.json @@ -6,7 +6,6 @@ "@types/eslint": "^8.56.5", "@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/parser": "^7.2.0", - "@vue/eslint-config-prettier": "^9.0.0", "@vue/eslint-config-typescript": "^13.0.0", "eslint": "^8.57.0", "eslint-config-airbnb-typescript": "^18.0.0", @@ -15,7 +14,6 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-lodash": "^7.4.0", "eslint-plugin-n8n-local-rules": "^1.0.0", - "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-unicorn": "^51.0.1", "eslint-plugin-unused-imports": "^3.1.0", "eslint-plugin-vue": "^9.23.0", diff --git a/packages/editor-ui/package.json b/packages/editor-ui/package.json index a44fa5c52f8fc..66aa2218f0d30 100644 --- a/packages/editor-ui/package.json +++ b/packages/editor-ui/package.json @@ -63,7 +63,7 @@ "n8n-design-system": "workspace:*", "n8n-workflow": "workspace:*", "pinia": "^2.1.6", - "prettier": "^3.1.0", + "prettier": "^3.3.3", "qrcode.vue": "^3.3.4", "stream-browserify": "^3.0.0", "timeago.js": "^4.0.2", diff --git a/packages/editor-ui/src/components/Draggable.vue b/packages/editor-ui/src/components/Draggable.vue index 6f1fcab336084..284c8addf8893 100644 --- a/packages/editor-ui/src/components/Draggable.vue +++ b/packages/editor-ui/src/components/Draggable.vue @@ -77,7 +77,7 @@ const onDrag = (event: MouseEvent) => { if (!isDragging.value && draggingElement.value) { isDragging.value = true; - const data = props.targetDataKey ? draggingElement.value.dataset.value : props.data ?? ''; + const data = props.targetDataKey ? draggingElement.value.dataset.value : (props.data ?? ''); ndvStore.draggableStartDragging({ type: props.type, diff --git a/packages/editor-ui/src/components/InputPanel.vue b/packages/editor-ui/src/components/InputPanel.vue index a9a6dd3909c7f..24b7e7f6b246f 100644 --- a/packages/editor-ui/src/components/InputPanel.vue +++ b/packages/editor-ui/src/components/InputPanel.vue @@ -417,7 +417,7 @@ export default defineComponent({ type="secondary" hide-icon :transparent="true" - :node-name="isActiveNodeConfig ? rootNode : currentNodeName ?? ''" + :node-name="isActiveNodeConfig ? rootNode : (currentNodeName ?? '')" :label="$locale.baseText('ndv.input.noOutputData.executePrevious')" telemetry-source="inputs" data-test-id="execute-previous-node" diff --git a/packages/editor-ui/src/components/Projects/ProjectSharing.vue b/packages/editor-ui/src/components/Projects/ProjectSharing.vue index b8a3ba9fefce0..788eec20cbc54 100644 --- a/packages/editor-ui/src/components/Projects/ProjectSharing.vue +++ b/packages/editor-ui/src/components/Projects/ProjectSharing.vue @@ -26,7 +26,7 @@ const emit = defineEmits<{ projectRemoved: [value: ProjectSharingData]; }>(); -const selectedProject = ref(Array.isArray(model.value) ? '' : model.value?.id ?? ''); +const selectedProject = ref(Array.isArray(model.value) ? '' : (model.value?.id ?? '')); const filter = ref(''); const selectPlaceholder = computed( () => props.placeholder ?? locale.baseText('projects.sharing.select.placeholder'), diff --git a/packages/editor-ui/src/components/RBAC.vue b/packages/editor-ui/src/components/RBAC.vue index 399a47d0ac4c2..741f2771c7f95 100644 --- a/packages/editor-ui/src/components/RBAC.vue +++ b/packages/editor-ui/src/components/RBAC.vue @@ -41,7 +41,7 @@ export default defineComponent({ const projectId = props.projectId ?? inferProjectIdFromRoute(route); const resourceType = props.resourceType ?? inferResourceTypeFromRoute(route); const resourceId = resourceType - ? props.resourceId ?? inferResourceIdFromRoute(route) + ? (props.resourceId ?? inferResourceIdFromRoute(route)) : undefined; return rbacStore.hasScope( diff --git a/packages/editor-ui/src/components/SaveButton.vue b/packages/editor-ui/src/components/SaveButton.vue index 46898f3cdba8d..acf896e136d83 100644 --- a/packages/editor-ui/src/components/SaveButton.vue +++ b/packages/editor-ui/src/components/SaveButton.vue @@ -25,7 +25,7 @@ const i18n = useI18n(); const saveButtonLabel = computed(() => { return props.isSaving - ? props.savingLabel ?? i18n.baseText('saveButton.saving') + ? (props.savingLabel ?? i18n.baseText('saveButton.saving')) : i18n.baseText('saveButton.save'); }); diff --git a/packages/editor-ui/src/components/WorkflowSelectorParameterInput/WorkflowSelectorParameterInput.vue b/packages/editor-ui/src/components/WorkflowSelectorParameterInput/WorkflowSelectorParameterInput.vue index 5051e095d8187..5eea4ed716764 100644 --- a/packages/editor-ui/src/components/WorkflowSelectorParameterInput/WorkflowSelectorParameterInput.vue +++ b/packages/editor-ui/src/components/WorkflowSelectorParameterInput/WorkflowSelectorParameterInput.vue @@ -87,7 +87,7 @@ const valueToDisplay = computed(() => { } if (isListMode.value) { - return props.modelValue ? props.modelValue.cachedResultName ?? props.modelValue.value : ''; + return props.modelValue ? (props.modelValue.cachedResultName ?? props.modelValue.value) : ''; } return props.modelValue ? props.modelValue.value : ''; diff --git a/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue b/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue index 8ff4d1f074eba..11fa0da31f81c 100644 --- a/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue +++ b/packages/editor-ui/src/components/canvas/elements/handles/render-types/CanvasHandleMainOutput.vue @@ -37,7 +37,7 @@ const plusLineSize = computed( small: 46, medium: 66, large: 80, - })[renderOptions.value.outputs?.labelSize ?? runData.value ? 'large' : 'small'], + })[(renderOptions.value.outputs?.labelSize ?? runData.value) ? 'large' : 'small'], ); function onMouseEnter() { diff --git a/packages/editor-ui/src/components/executions/workflow/WorkflowExecutionsList.vue b/packages/editor-ui/src/components/executions/workflow/WorkflowExecutionsList.vue index fda8e084876bb..530ca029ddd14 100644 --- a/packages/editor-ui/src/components/executions/workflow/WorkflowExecutionsList.vue +++ b/packages/editor-ui/src/components/executions/workflow/WorkflowExecutionsList.vue @@ -39,7 +39,7 @@ const router = useRouter(); const temporaryExecution = computed(() => props.executions.find((execution) => execution.id === props.execution?.id) ? undefined - : props.execution ?? undefined, + : (props.execution ?? undefined), ); const hidePreview = computed(() => { diff --git a/packages/editor-ui/src/views/NodeView.v2.vue b/packages/editor-ui/src/views/NodeView.v2.vue index 127a1c10c40f5..70efa6817759c 100644 --- a/packages/editor-ui/src/views/NodeView.v2.vue +++ b/packages/editor-ui/src/views/NodeView.v2.vue @@ -935,7 +935,7 @@ const workflowPermissions = computed(() => { const projectPermissions = computed(() => { const project = route.query?.projectId ? projectsStore.myProjects.find((p) => p.id === route.query.projectId) - : projectsStore.currentProject ?? projectsStore.personalProject; + : (projectsStore.currentProject ?? projectsStore.personalProject); return getResourcePermissions(project?.scopes); }); diff --git a/packages/editor-ui/src/views/NodeView.vue b/packages/editor-ui/src/views/NodeView.vue index a792ff135a85e..ea5b8555fd91f 100644 --- a/packages/editor-ui/src/views/NodeView.vue +++ b/packages/editor-ui/src/views/NodeView.vue @@ -507,7 +507,7 @@ export default defineComponent({ projectPermissions() { const project = this.$route.query?.projectId ? this.projectsStore.myProjects.find((p) => p.id === this.$route.query.projectId) - : this.projectsStore.currentProject ?? this.projectsStore.personalProject; + : (this.projectsStore.currentProject ?? this.projectsStore.personalProject); return getResourcePermissions(project?.scopes); }, }, diff --git a/packages/editor-ui/src/views/VariablesView.vue b/packages/editor-ui/src/views/VariablesView.vue index cd06b7e91cf6a..4e3ea69f1b2f1 100644 --- a/packages/editor-ui/src/views/VariablesView.vue +++ b/packages/editor-ui/src/views/VariablesView.vue @@ -124,7 +124,7 @@ function resetNewVariablesList() { const resourceToEnvironmentVariable = (data: IResource): EnvironmentVariable => ({ id: data.id, key: data.name, - value: 'value' in data ? data.value ?? '' : '', + value: 'value' in data ? (data.value ?? '') : '', }); const environmentVariableToResource = (data: EnvironmentVariable): IResource => ({ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ede735578926..da2a61e170a52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -88,7 +88,6 @@ overrides: chokidar: 3.5.2 esbuild: ^0.20.2 formidable: 3.5.1 - prettier: ^3.2.5 pug: ^3.0.3 semver: ^7.5.4 tslib: ^2.6.2 @@ -623,9 +622,6 @@ importers: '@typescript-eslint/parser': specifier: ^7.2.0 version: 7.2.0(eslint@8.57.0)(typescript@5.6.2) - '@vue/eslint-config-prettier': - specifier: ^9.0.0 - version: 9.0.0(@types/eslint@8.56.5)(eslint@8.57.0)(prettier@3.2.5) '@vue/eslint-config-typescript': specifier: ^13.0.0 version: 13.0.0(eslint-plugin-vue@9.23.0(eslint@8.57.0))(eslint@8.57.0)(typescript@5.6.2) @@ -650,9 +646,6 @@ importers: eslint-plugin-n8n-local-rules: specifier: ^1.0.0 version: 1.0.0 - eslint-plugin-prettier: - specifier: ^5.1.3 - version: 5.1.3(@types/eslint@8.56.5)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) eslint-plugin-unicorn: specifier: ^51.0.1 version: 51.0.1(eslint@8.57.0) @@ -1392,8 +1385,8 @@ importers: specifier: ^2.1.6 version: 2.1.6(typescript@5.6.2)(vue@3.4.21(typescript@5.6.2)) prettier: - specifier: ^3.2.5 - version: 3.2.5 + specifier: ^3.3.3 + version: 3.3.3 qrcode.vue: specifier: ^3.3.4 version: 3.3.4(vue@3.4.21(typescript@5.6.2)) @@ -3819,10 +3812,6 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -5435,12 +5424,6 @@ packages: '@vue/devtools-api@6.5.0': resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} - '@vue/eslint-config-prettier@9.0.0': - resolution: {integrity: sha512-z1ZIAAUS9pKzo/ANEfd2sO+v2IUalz7cM/cTLOZ7vRFOPk5/xuRKQteOu1DErFLAh/lYGXMVZ0IfYKlyInuDVg==} - peerDependencies: - eslint: '>= 8.0.0' - prettier: ^3.2.5 - '@vue/eslint-config-typescript@13.0.0': resolution: {integrity: sha512-MHh9SncG/sfqjVqjcuFLOLD6Ed4dRAis4HNt0dXASeAuLqIAx4YMB1/m2o4pUKK1vCt8fUvYG8KKX2Ot3BVZTg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -7171,20 +7154,6 @@ packages: resolution: {integrity: sha512-Qj8S+YgymYkt/5Fr1buwOTjl0jAERJBp3MA5V8M6NR1HYfErKazVjpOPEy5+04c0vAQZO1mPLGAzanxqqNUIng==} engines: {node: '>=20.15', pnpm: '>=9.6'} - eslint-plugin-prettier@5.1.3: - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: ^3.2.5 - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - eslint-plugin-unicorn@51.0.1: resolution: {integrity: sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==} engines: {node: '>=16'} @@ -7388,9 +7357,6 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-diff@1.2.0: - resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -10440,12 +10406,8 @@ packages: pretender@3.4.7: resolution: {integrity: sha512-jkPAvt1BfRi0RKamweJdEcnjkeu7Es8yix3bJ+KgBC5VpG/Ln4JE3hYN6vJym4qprm8Xo5adhWpm3HCoft1dOw==} - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} engines: {node: '>=14'} hasBin: true @@ -11516,10 +11478,6 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - syslog-client@1.1.1: resolution: {integrity: sha512-c3qKw8JzCuHt0mwrzKQr8eqOc3RB28HgOpFuwGMO3GLscVpfR+0ECevWLZq/yIJTbx3WTb3QXBFVpTFtKAPDrw==} @@ -15578,8 +15536,6 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@pkgr/core@0.1.1': {} - '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -17814,15 +17770,6 @@ snapshots: '@vue/devtools-api@6.5.0': {} - '@vue/eslint-config-prettier@9.0.0(@types/eslint@8.56.5)(eslint@8.57.0)(prettier@3.2.5)': - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: 5.1.3(@types/eslint@8.56.5)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5) - prettier: 3.2.5 - transitivePeerDependencies: - - '@types/eslint' - '@vue/eslint-config-typescript@13.0.0(eslint-plugin-vue@9.23.0(eslint@8.57.0))(eslint@8.57.0)(typescript@5.6.2)': dependencies: '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.6.2))(eslint@8.57.0)(typescript@5.6.2) @@ -19909,16 +19856,6 @@ snapshots: - supports-color - typescript - eslint-plugin-prettier@5.1.3(@types/eslint@8.56.5)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5): - dependencies: - eslint: 8.57.0 - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - optionalDependencies: - '@types/eslint': 8.56.5 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-plugin-unicorn@51.0.1(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.22.20 @@ -20233,8 +20170,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-diff@1.2.0: {} - fast-glob@3.2.12: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -23882,11 +23817,7 @@ snapshots: fake-xml-http-request: 2.1.2 route-recognizer: 0.3.4 - prettier-linter-helpers@1.0.0: - dependencies: - fast-diff: 1.2.0 - - prettier@3.2.5: {} + prettier@3.3.3: {} pretty-bytes@5.6.0: {} @@ -25252,11 +25183,6 @@ snapshots: symbol-tree@3.2.4: {} - synckit@0.8.8: - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - syslog-client@1.1.1: {} tailwindcss@3.4.3(ts-node@10.9.2(@types/node@18.16.16)(typescript@5.6.2)):