From e33acfe27caa21f7bced7b0e8a2adbb832934c0a Mon Sep 17 00:00:00 2001 From: Luka Trovic Date: Tue, 8 Oct 2024 17:40:30 +0200 Subject: [PATCH] chore: install @nextcloud/prettier-config, eslint-config-prettier Signed-off-by: Luka Trovic --- .eslintrc.cjs | 9 + .prettierignore | 15 + cypress/e2e/nodes/Links.spec.js | 5 + package-lock.json | 395 +++++++++++++++++++++- package.json | 5 + src/commands/index.js | 4 +- src/commands/listInputRule.js | 2 +- src/components/Assistant.vue | 181 +++++++--- src/components/BaseReader.vue | 13 +- src/components/CollisionResolveDialog.vue | 38 ++- src/components/Editor.provider.js | 4 +- src/components/Editor.singleton.js | 2 +- src/components/Editor.vue | 383 ++++++++++++--------- src/components/HelpModal.vue | 147 ++++---- src/components/PlainTextReader.vue | 1 - src/components/PublicFilesEditor.vue | 9 +- src/components/Reader.vue | 28 +- src/components/RichTextReader.vue | 8 +- src/components/SkeletonLoading.vue | 48 ++- src/components/ViewerComponent.vue | 20 +- src/css/print.scss | 61 ++-- src/css/prosemirror.scss | 63 ++-- src/css/style.scss | 5 +- src/css/variables.scss | 3 +- src/extensions/Autofocus.js | 18 +- src/extensions/CollaborationCursor.js | 28 +- src/extensions/Emoji.js | 8 +- src/extensions/FocusTrap.js | 7 +- src/extensions/KeepSyntax.js | 4 +- src/extensions/Keymap.js | 8 +- src/extensions/LinkBubble.js | 8 +- src/extensions/LinkPicker.js | 1 - src/extensions/Markdown.js | 38 ++- src/extensions/Mention.js | 17 +- src/extensions/Mention.vue | 5 +- src/extensions/PlainText.js | 6 +- src/extensions/RichText.js | 16 +- src/extensions/Search.js | 5 +- src/extensions/UserColor.js | 37 +- src/extensions/transformPastedHTML.js | 9 +- src/helpers/files.js | 148 ++++---- src/helpers/index.js | 12 +- src/helpers/links.js | 19 +- src/helpers/logger.js | 9 +- src/helpers/mappings.js | 4 +- src/helpers/mime.js | 10 +- src/helpers/platform.js | 5 +- src/helpers/prosemirrorUtils.js | 2 +- src/helpers/yjs.js | 37 +- src/markdownit/callouts.js | 4 +- src/markdownit/details.ts | 15 +- src/markdownit/hardbreak.js | 17 +- src/markdownit/index.js | 3 +- src/markdownit/keepSyntax.js | 25 +- src/markdownit/preview.js | 23 +- src/markdownit/splitMixedLists.js | 12 +- src/markdownit/underline.js | 2 +- src/marks/Link.js | 30 +- src/marks/Strike.js | 3 +- src/marks/Underline.js | 4 +- src/marks/index.js | 8 +- src/mixins/CopyToClipboardMixin.js | 3 +- src/mixins/refreshMoment.js | 2 - src/mixins/setContent.js | 7 +- src/nodes/BulletList.js | 12 +- src/nodes/Callout.vue | 11 +- src/nodes/Callouts.js | 51 +-- src/nodes/CodeBlock.js | 8 +- src/nodes/CodeBlockView.vue | 58 +++- src/nodes/Details.js | 174 +++++----- src/nodes/DetailsContent.js | 16 +- src/nodes/DetailsSummary.js | 14 +- src/nodes/DetailsView.vue | 9 +- src/nodes/EditableTable.js | 1 - src/nodes/FrontMatter.js | 38 ++- src/nodes/HardBreak.js | 3 +- src/nodes/Heading.js | 18 +- src/nodes/Image.js | 16 +- src/nodes/ImageView.vue | 109 +++--- src/nodes/Paragraph.js | 11 +- src/nodes/PlainTextDocument.js | 1 - src/nodes/Preview.js | 97 +++--- src/nodes/Preview.vue | 8 +- src/nodes/TaskItem.js | 59 ++-- src/nodes/TaskList.js | 10 +- src/nodes/TrailingNode.js | 12 +- src/plugins/LinkBubblePluginView.js | 32 +- src/plugins/extractHeadings.js | 16 +- src/plugins/extractLinkParagraphs.js | 32 +- src/plugins/headingAnchor.js | 29 +- src/plugins/linkHelpers.js | 6 +- src/plugins/links.js | 38 ++- src/plugins/previewOptions.js | 33 +- src/plugins/searchDecorations.js | 31 +- src/plugins/searchQuery.js | 26 +- src/services/AttachmentResolver.js | 31 +- src/services/NotifyService.js | 7 +- src/services/PollingBackend.js | 61 +++- src/services/SessionApi.js | 47 +-- src/services/SyncService.d.ts | 36 +- src/services/SyncService.js | 101 ++++-- src/services/SyncServiceProvider.js | 18 +- src/services/WebSocketPolyfill.js | 76 +++-- src/store/index.js | 20 +- src/tests/builders.js | 26 +- src/tests/helpers.js | 13 +- src/tests/markdown.spec.js | 214 +++++++++--- src/tests/plaintext.spec.js | 141 ++++---- src/tests/tiptap.spec.js | 30 +- src/tests/yjs.spec.js | 46 ++- src/views/DirectEditing.vue | 130 ++++--- src/views/FilesSettings.vue | 4 +- src/views/RichWorkspace.vue | 239 +++++++------ 113 files changed, 2722 insertions(+), 1565 deletions(-) create mode 100644 .prettierignore diff --git a/.eslintrc.cjs b/.eslintrc.cjs index bc019d9820d..9820f64845c 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -7,6 +7,15 @@ module.exports = { root: true, extends: [ '@nextcloud/eslint-config/typescript', + 'prettier', + ], + "overrides": [ + { + "files": ["**/*.vue"], + "rules": { + "vue/first-attribute-linebreak": "off" + } + } ], rules: { '@typescript-eslint/no-unused-vars': ['off'], diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000000..d51580bad64 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,15 @@ +# version control systems directories +**/.git +**/.svn +**/.hg + +# 3rdparty dependencies +**/node_modules +**/vendor + +# Compiled JS output +js/ + +# PHP +lib/ +**/*.php diff --git a/cypress/e2e/nodes/Links.spec.js b/cypress/e2e/nodes/Links.spec.js index 40518b7b937..1e1e9abe86c 100644 --- a/cypress/e2e/nodes/Links.spec.js +++ b/cypress/e2e/nodes/Links.spec.js @@ -27,6 +27,11 @@ describe('test link marks', function() { describe('link bubble', function() { + /** + * + * @param link + * @param options + */ function clickLink(link, options = {}) { cy.getContent() .find(`a[href*="${link}"]`) diff --git a/package-lock.json b/package-lock.json index 3860e6adc56..925370eee9e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -94,6 +94,7 @@ "@nextcloud/browserslist-config": "^3.0.1", "@nextcloud/cypress": "^1.0.0-beta.8", "@nextcloud/eslint-config": "^8.4.1", + "@nextcloud/prettier-config": "^1.1.0", "@nextcloud/stylelint-config": "^3.0.1", "@nextcloud/vite-config": "^1.4.2", "@types/markdown-it": "^13.0.9", @@ -106,6 +107,7 @@ "cypress-split": "^1.24.0", "cypress-visual-regression": "^5.2.2", "cypress-vite": "^1.5.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-cypress": "^3.5.0", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", @@ -4492,6 +4494,19 @@ "npm": "^10.0.0" } }, + "node_modules/@nextcloud/prettier-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/prettier-config/-/prettier-config-1.1.0.tgz", + "integrity": "sha512-mhgDTSAn2YqSi6kw7Ooy5IVxQKmOr+iUtOlI26LLH3pGrI1ARc0CvGs7l9UD59MaUql+F5uVutHROPo9imsqOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-plugin-packagejson": "^2.5.0" + }, + "peerDependencies": { + "prettier": ">=3.0.0" + } + }, "node_modules/@nextcloud/router": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.0.1.tgz", @@ -4811,6 +4826,19 @@ "node": ">= 8" } }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/@popperjs/core": { "version": "2.11.5", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", @@ -6653,6 +6681,22 @@ "prettier": "^1.18.2 || ^2.0.0" } }, + "node_modules/@vue/compiler-sfc/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@vue/compiler-sfc/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -6714,6 +6758,23 @@ "url": "https://opencollective.com/postcss/" } }, + "node_modules/@vue/component-compiler-utils/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@vue/component-compiler-utils/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -10128,6 +10189,16 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, "node_modules/detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -10989,6 +11060,19 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, "node_modules/eslint-config-standard": { "version": "17.1.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", @@ -12627,6 +12711,19 @@ "node": ">=8.0.0" } }, + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -12689,6 +12786,16 @@ "assert-plus": "^1.0.0" } }, + "node_modules/git-hooks-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/fisker/git-hooks-list?sponsor=1" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -22247,20 +22354,41 @@ } }, "node_modules/prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "optional": true, + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "peer": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-plugin-packagejson": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.2.tgz", + "integrity": "sha512-w+TmoLv2pIa+siplW1cCj2ujEXQQS6z7wmWLOiLQK/2QVl7Wy6xh/ZUpqQw8tbKMXDodmSW4GONxlA33xpdNOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sort-package-json": "2.10.1", + "synckit": "0.9.1" + }, + "peerDependencies": { + "prettier": ">= 1.16.0" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, "node_modules/pretty": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz", @@ -25121,6 +25249,92 @@ "slug": "cli.js" } }, + "node_modules/sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sort-package-json": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.10.1.tgz", + "integrity": "sha512-d76wfhgUuGypKqY72Unm5LFnMpACbdxXsLPcL27pOsSrmVqH3PztFp1uq+Z22suk15h7vXmTesuh2aEjdCqb5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.0", + "get-stdin": "^9.0.0", + "git-hooks-list": "^3.0.0", + "globby": "^13.1.2", + "is-plain-obj": "^4.1.0", + "semver": "^7.6.0", + "sort-object-keys": "^1.1.3" + }, + "bin": { + "sort-package-json": "cli.js" + } + }, + "node_modules/sort-package-json/node_modules/detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-package-json/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-package-json/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sort-package-json/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -25965,6 +26179,23 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "node_modules/synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, "node_modules/tabbable": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", @@ -26612,10 +26843,11 @@ } }, "node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", - "dev": true + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "license": "0BSD" }, "node_modules/tsx": { "version": "4.7.1", @@ -31893,6 +32125,15 @@ "resolved": "https://registry.npmjs.org/@nextcloud/paths/-/paths-2.2.1.tgz", "integrity": "sha512-M3ShLjrxR7B48eKThLMoqbxTqTKyQXcwf9TgeXQGbCIhiHoXU6as5j8l5qNv/uZlANokVdowpuWHBi3b2+YNNA==" }, + "@nextcloud/prettier-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@nextcloud/prettier-config/-/prettier-config-1.1.0.tgz", + "integrity": "sha512-mhgDTSAn2YqSi6kw7Ooy5IVxQKmOr+iUtOlI26LLH3pGrI1ARc0CvGs7l9UD59MaUql+F5uVutHROPo9imsqOQ==", + "dev": true, + "requires": { + "prettier-plugin-packagejson": "^2.5.0" + } + }, "@nextcloud/router": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@nextcloud/router/-/router-3.0.1.tgz", @@ -32134,6 +32375,12 @@ "fastq": "^1.6.0" } }, + "@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true + }, "@popperjs/core": { "version": "2.11.5", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", @@ -33357,6 +33604,12 @@ "source-map": "^0.6.1" }, "dependencies": { + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "optional": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -33407,6 +33660,13 @@ "source-map": "^0.6.1" } }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "optional": true + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -36012,6 +36272,12 @@ "minimalistic-assert": "^1.0.0" } }, + "detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "dev": true + }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -36894,6 +37160,13 @@ } } }, + "eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "requires": {} + }, "eslint-config-standard": { "version": "17.1.0", "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", @@ -37860,6 +38133,12 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, + "get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", + "dev": true + }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -37907,6 +38186,12 @@ "assert-plus": "^1.0.0" } }, + "git-hooks-list": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", + "dev": true + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -44231,10 +44516,21 @@ } }, "prettier": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "optional": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "peer": true + }, + "prettier-plugin-packagejson": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-packagejson/-/prettier-plugin-packagejson-2.5.2.tgz", + "integrity": "sha512-w+TmoLv2pIa+siplW1cCj2ujEXQQS6z7wmWLOiLQK/2QVl7Wy6xh/ZUpqQw8tbKMXDodmSW4GONxlA33xpdNOg==", + "dev": true, + "requires": { + "sort-package-json": "2.10.1", + "synckit": "0.9.1" + } }, "pretty": { "version": "2.0.0", @@ -46198,6 +46494,61 @@ "resolved": "https://registry.npmjs.org/slug/-/slug-9.1.0.tgz", "integrity": "sha512-ioOsCfzQSu+D6NZ8XMCR8IW9FgvF8W7Xzz56hBkB/ALvNaWeBs2MUvvPugq3GCrxfHPFeK6hAxGkY/WLnfX2Lg==" }, + "sort-object-keys": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true + }, + "sort-package-json": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.10.1.tgz", + "integrity": "sha512-d76wfhgUuGypKqY72Unm5LFnMpACbdxXsLPcL27pOsSrmVqH3PztFp1uq+Z22suk15h7vXmTesuh2aEjdCqb5w==", + "dev": true, + "requires": { + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.0", + "get-stdin": "^9.0.0", + "git-hooks-list": "^3.0.0", + "globby": "^13.1.2", + "is-plain-obj": "^4.1.0", + "semver": "^7.6.0", + "sort-object-keys": "^1.1.3" + }, + "dependencies": { + "detect-newline": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", + "dev": true + }, + "globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dev": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + } + } + }, "source-map": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", @@ -46823,6 +47174,16 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, + "synckit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", + "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "dev": true, + "requires": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + } + }, "tabbable": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", @@ -47290,9 +47651,9 @@ } }, "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", "dev": true }, "tsx": { diff --git a/package.json b/package.json index 5d5ceacd31a..72f72f3f9f7 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "text", "description": "Collaborative document editing", "version": "5.0.0", + "prettier": "@nextcloud/prettier-config", "authors": [ { "name": "Julius Härtl", @@ -24,6 +25,8 @@ "lint:fix": "tsc && eslint --ext .js,.vue src cypress --fix", "stylelint": "stylelint src/**/*.vue src/**/*.scss src/**/*.css css/*.scss", "stylelint:fix": "stylelint src/**/*.vue src/**/*.scss src/**/*.css css/*.scss --fix", + "prettier": "prettier --check src/**/*.js src/**/*.ts src/**/*.vue src/**/*.scss", + "prettier:fix": "prettier --write src/**/*.js src/**/*.ts src/**/*.vue src/**/*.scss", "test": "NODE_ENV=test jest", "test:cypress": "cd cypress && ./runLocal.sh run", "test:cypress:open": "cd cypress && ./runLocal.sh open", @@ -122,6 +125,7 @@ "@nextcloud/browserslist-config": "^3.0.1", "@nextcloud/cypress": "^1.0.0-beta.8", "@nextcloud/eslint-config": "^8.4.1", + "@nextcloud/prettier-config": "^1.1.0", "@nextcloud/stylelint-config": "^3.0.1", "@nextcloud/vite-config": "^1.4.2", "@types/markdown-it": "^13.0.9", @@ -134,6 +138,7 @@ "cypress-split": "^1.24.0", "cypress-visual-regression": "^5.2.2", "cypress-vite": "^1.5.0", + "eslint-config-prettier": "^9.1.0", "eslint-plugin-cypress": "^3.5.0", "identity-obj-proxy": "^3.0.0", "jest": "^29.7.0", diff --git a/src/commands/index.js b/src/commands/index.js index ed9a7f22ca4..5fb034cdbd9 100644 --- a/src/commands/index.js +++ b/src/commands/index.js @@ -5,6 +5,4 @@ import listInputRule from './listInputRule.js' -export { - listInputRule, -} +export { listInputRule } diff --git a/src/commands/listInputRule.js b/src/commands/listInputRule.js index 44887358e47..17fcfbbc2d5 100644 --- a/src/commands/listInputRule.js +++ b/src/commands/listInputRule.js @@ -12,7 +12,7 @@ import { InputRule, wrappingInputRule } from '@tiptap/core' * @param {object} type Node Type object * @param {*} getAttributes handler to get the attributes */ -export default function(find, type, getAttributes) { +export default function (find, type, getAttributes) { const handler = ({ state, range, match }) => { const wrap = wrappingInputRule({ find, type, getAttributes }) wrap.handler({ state, range, match }) diff --git a/src/components/Assistant.vue b/src/components/Assistant.vue index 487448fd502..0fdecc25974 100644 --- a/src/components/Assistant.vue +++ b/src/components/Assistant.vue @@ -4,7 +4,8 @@ --> - {{ type.name }} - + {{ t('text', 'Translate') }} - + {{ t('text', 'Show assistant results') }} - @@ -56,7 +68,8 @@
    -