diff --git a/.github/workflows/lint_python.yml b/.github/workflows/lint_python.yml index 2ab8abf..6e97bbe 100644 --- a/.github/workflows/lint_python.yml +++ b/.github/workflows/lint_python.yml @@ -1,22 +1,59 @@ name: lint_python -on: [pull_request, push] + +on: + pull_request: + push: + jobs: lint_python: runs-on: ubuntu-latest + steps: - uses: actions/checkout@v3 - - uses: actions/setup-python@v4 + + - name: Set up Python + uses: actions/setup-python@v4 with: python-version: 3.x - - run: pip install --upgrade pip setuptools ruff - - run: pip install -e ".[dev]" - - run: black --check . - - run: codespell --ignore-words-list="ro" --skip="*.json,*.lock,./.git" - - run: ruff --format=github . - - run: pip install --editable . - - run: mypy --non-interactive . - - run: cp -R django_ckeditor_5 example/blog - - run: cd example - - run: pip install -e ".[dev]" - - run: pytest example/blog - - run: safety check + + - name: Upgrade pip and install dependencies + run: | + pip install --upgrade pip setuptools ruff + pip install -e ".[dev]" + + - name: Code formatting check + run: black --check . + + - name: Spell check + run: codespell --ignore-words-list="ro" --skip="*.json,*.lock,./.git" + + - name: Ruff check + run: ruff check . + + - name: Type checking with mypy + run: mypy --non-interactive . + + - name: Copy CKEditor files + run: cp -R django_ckeditor_5 example/blog + + - name: Change directory to example + run: cd example + + - name: Install dependencies in example + run: pip install -e ".[dev]" + + - name: Run tests with pytest + run: pytest example/blog + + - name: Print Python version + run: python --version + + - name: Print pip version + run: pip --version + + - name: List installed pip packages + run: pip list + +# - name: Check for vulnerabilities +# run: safety check + diff --git a/.gitignore b/.gitignore index fcc213d..58b7d6a 100644 --- a/.gitignore +++ b/.gitignore @@ -29,4 +29,5 @@ example/blog/pyproject.toml django_ckeditor_5/static/django_ckeditor_5/dist/*.map django_ckeditor_5/static/django_ckeditor_5/dist build.sh -lint.sh \ No newline at end of file +lint.sh +venv \ No newline at end of file diff --git a/django_ckeditor_5/fields.py b/django_ckeditor_5/fields.py index e7a25e3..b198335 100644 --- a/django_ckeditor_5/fields.py +++ b/django_ckeditor_5/fields.py @@ -4,11 +4,11 @@ class CKEditor5Field(models.Field): - def __init__(self, *args, config_name="default", **kwargs): + def __init__(self, *args, config_name="default", **kwargs) -> None: self.config_name = config_name super().__init__(*args, **kwargs) - def get_internal_type(self): + def get_internal_type(self) -> str: return "TextField" def formfield(self, **kwargs): @@ -17,5 +17,5 @@ def formfield(self, **kwargs): "max_length": self.max_length, **({"widget": CKEditor5Widget(config_name=self.config_name)}), **kwargs, - } + }, ) diff --git a/django_ckeditor_5/package-lock.json b/django_ckeditor_5/package-lock.json index 8f34dc7..2c286a9 100644 --- a/django_ckeditor_5/package-lock.json +++ b/django_ckeditor_5/package-lock.json @@ -7,76 +7,139 @@ "": { "name": "django_ckeditor_5", "version": "0.2.10", - "license": "ISC", + "license": "BSD-3-Clause", "dependencies": { - "@ckeditor/ckeditor5-adapter-ckfinder": "^39.0.2", - "@ckeditor/ckeditor5-alignment": "^39.0.2", - "@ckeditor/ckeditor5-autoformat": "^39.0.2", - "@ckeditor/ckeditor5-basic-styles": "^39.0.2", - "@ckeditor/ckeditor5-block-quote": "^39.0.2", - "@ckeditor/ckeditor5-code-block": "^39.0.2", - "@ckeditor/ckeditor5-editor-classic": "^39.0.2", - "@ckeditor/ckeditor5-essentials": "^39.0.2", - "@ckeditor/ckeditor5-font": "^39.0.2", - "@ckeditor/ckeditor5-heading": "^39.0.2", - "@ckeditor/ckeditor5-highlight": "^39.0.2", - "@ckeditor/ckeditor5-horizontal-line": "^39.0.2", - "@ckeditor/ckeditor5-html-support": "^39.0.2", - "@ckeditor/ckeditor5-image": "^39.0.2", - "@ckeditor/ckeditor5-indent": "^39.0.2", + "@ckeditor/ckeditor5-adapter-ckfinder": "^40.2.0", + "@ckeditor/ckeditor5-alignment": "^40.2.0", + "@ckeditor/ckeditor5-autoformat": "^40.2.0", + "@ckeditor/ckeditor5-basic-styles": "^40.2.0", + "@ckeditor/ckeditor5-block-quote": "^40.2.0", + "@ckeditor/ckeditor5-code-block": "^40.2.0", + "@ckeditor/ckeditor5-editor-classic": "^40.2.0", + "@ckeditor/ckeditor5-essentials": "^40.2.0", + "@ckeditor/ckeditor5-font": "^40.2.0", + "@ckeditor/ckeditor5-heading": "^40.2.0", + "@ckeditor/ckeditor5-highlight": "^40.2.0", + "@ckeditor/ckeditor5-horizontal-line": "^40.2.0", + "@ckeditor/ckeditor5-html-support": "^40.2.0", + "@ckeditor/ckeditor5-image": "^40.2.0", + "@ckeditor/ckeditor5-indent": "^40.2.0", "@ckeditor/ckeditor5-inspector": "^4.1.0", - "@ckeditor/ckeditor5-link": "^39.0.2", - "@ckeditor/ckeditor5-list": "^39.0.2", - "@ckeditor/ckeditor5-markdown-gfm": "^39.0.2", - "@ckeditor/ckeditor5-media-embed": "^39.0.2", - "@ckeditor/ckeditor5-mention": "^39.0.2", - "@ckeditor/ckeditor5-paragraph": "^39.0.2", - "@ckeditor/ckeditor5-paste-from-office": "^39.0.2", - "@ckeditor/ckeditor5-remove-format": "^39.0.2", - "@ckeditor/ckeditor5-source-editing": "^39.0.2", - "@ckeditor/ckeditor5-style": "^39.0.2", - "@ckeditor/ckeditor5-table": "^39.0.2", - "@ckeditor/ckeditor5-theme-lark": "^39.0.2", - "@ckeditor/ckeditor5-ui": "^39.0.2", - "@ckeditor/ckeditor5-upload": "^39.0.2", - "@ckeditor/ckeditor5-word-count": "^39.0.2" + "@ckeditor/ckeditor5-link": "^40.2.0", + "@ckeditor/ckeditor5-list": "^40.2.0", + "@ckeditor/ckeditor5-markdown-gfm": "^40.2.0", + "@ckeditor/ckeditor5-media-embed": "^40.2.0", + "@ckeditor/ckeditor5-mention": "^40.2.0", + "@ckeditor/ckeditor5-paragraph": "^40.2.0", + "@ckeditor/ckeditor5-paste-from-office": "^40.2.0", + "@ckeditor/ckeditor5-remove-format": "^40.2.0", + "@ckeditor/ckeditor5-source-editing": "^40.2.0", + "@ckeditor/ckeditor5-style": "^40.2.0", + "@ckeditor/ckeditor5-table": "^40.2.0", + "@ckeditor/ckeditor5-theme-lark": "^40.2.0", + "@ckeditor/ckeditor5-ui": "^40.2.0", + "@ckeditor/ckeditor5-upload": "^40.2.0", + "@ckeditor/ckeditor5-word-count": "^40.2.0" }, "devDependencies": { - "@ckeditor/ckeditor5-core": "^39.0.2", - "@ckeditor/ckeditor5-dev-translations": "^39.1.0", - "@ckeditor/ckeditor5-dev-utils": "^39.0.0", - "@ckeditor/ckeditor5-theme-lark": "^39.0.2", + "@ckeditor/ckeditor5-core": "^40.2.0", + "@ckeditor/ckeditor5-dev-translations": "^39.5.1", + "@ckeditor/ckeditor5-dev-utils": "^39.5.1", + "@ckeditor/ckeditor5-theme-lark": "^40.2.0", "css-loader": "6", "mini-css-extract-plugin": "^2.7.6", "postcss-loader": "7", "raw-loader": "4", "style-loader": "3", - "terser-webpack-plugin": "^5.3.9", + "terser-webpack-plugin": "^5.3.10", "webpack": "5", "webpack-cli": "5" } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/generator": { - "version": "7.20.14", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", - "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -84,79 +147,77 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -168,7 +229,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -181,7 +241,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -196,7 +255,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } @@ -205,15 +263,13 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -223,7 +279,6 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -232,9 +287,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.15", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz", - "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -244,34 +299,34 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", - "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.13", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -279,13 +334,13 @@ } }, "node_modules/@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -293,80 +348,80 @@ } }, "node_modules/@ckeditor/ckeditor5-adapter-ckfinder": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-39.0.2.tgz", - "integrity": "sha512-7HIFArQXAI6ciXc9hvaJngmS15EV34UZGHKXM6pbZJkJCcdMQ/qL5rMZ2NiLDfvm8hrBwx4O8Vt0tmWa4ylyJg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-40.2.0.tgz", + "integrity": "sha512-YKdydg4DzaMk91saOL55KBNQE3St2NEj1E9hlk9CzHKQaHc79dYzHDNBolSE7ZmzkNJ4ToVbY7kRW5CDGfG5Rg==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-alignment": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-39.0.2.tgz", - "integrity": "sha512-TjM+9h3tFn1wgnF4RJg0WaA758kT5VGSaVi0Ti6NECckPGXnccJpIQ7ZMSKAe4zCfaRSmNQsNYc20iq7w7+leg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-alignment/-/ckeditor5-alignment-40.2.0.tgz", + "integrity": "sha512-OMvOdgEWBzFQbcHLu4CYMe/LONSmn07BxrXQ4Uxd++Wr45U2ElrbkKcJldARa+J97YGEzaaCI3igXDh6g4fkRA==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-autoformat": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-39.0.2.tgz", - "integrity": "sha512-iltoRC/XAgApwM7+TErrGMjkX+G13YbB/YxCTXBBQeHiPRnEEpPMeqHGyLMipSshq6mCZaPNwzmfaQ1pQ+PWlg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-40.2.0.tgz", + "integrity": "sha512-F3w5k7ti5l6V8U07eSQ3gup3ivltRZQXdtvstBXMmTzDb2ceazNcUDLb6TKSHp5y30ETN0dRGgbhx9xiDL0TXg==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-basic-styles": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-39.0.2.tgz", - "integrity": "sha512-sp5sfE4d8Tng/zIssBK+SgaEkPfGcbmoGkjbHhPlWYAoQB9ONwvWkRZy9s3C+H0gfsEj3EqqxUKY70Us0yT8rA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-40.2.0.tgz", + "integrity": "sha512-P7jYddLnRpaR4zVCqDa8InsZ6YNRHdF0RrX6+Uz81+A1IfyfmSd+5IaiLxxdnFWQ4JlEhJutjy9vMwSmOhZocQ==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-block-quote": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-39.0.2.tgz", - "integrity": "sha512-ykxkLWJ1nuu5vVBnvHKKgKleudUNTjt/2zDsvUAiBbl4iN0rnOqhLbSL54fY4130p/DvE1CVoozqNiv7L83Vjw==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-40.2.0.tgz", + "integrity": "sha512-t03Yp+MeAyQhwdGZqUlkJEx25VSiigpzkIGGOhccSaTIIZ9XcWDkrTevDhwA4Pq4Q9IRQ8Loj3KCVSBuAqkBgw==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-clipboard": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-39.0.2.tgz", - "integrity": "sha512-SSuanBiQ4lWznXSGyeV5vqQweVWZ1+iZG1/atmrZSb/BOWa3XD6EGPu9tuzdm9MCjk2OxBuyMT07Cw+WzXFosQ==", - "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2", - "@ckeditor/ckeditor5-widget": "39.0.2", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-40.2.0.tgz", + "integrity": "sha512-8/xPH9/i86ukcEiHdmTgNuPVJeYTrivbx5ZYqycPO4Eem7VM99gIbOe7pIYpuV+klr9ymVxIHbGyTJDJ3oUO8A==", + "dependencies": { + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0", + "@ckeditor/ckeditor5-widget": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-code-block": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-39.0.2.tgz", - "integrity": "sha512-VlG/+VqxrR/JWQZVsGzemr3caOgQLB5OmSsFKPBEzoMI+05zf2UM232DyBVBUfA6UJ5L/ZMkT9YdUi+XhFnhAQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-code-block/-/ckeditor5-code-block-40.2.0.tgz", + "integrity": "sha512-0BMJPteTuOPcb63vba6qEu91duo4yur7FycHk6uCZmDyn0Ctp8n8zBWSDStUMYS32djrWGEclodnehjF0X57HA==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-core": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-39.0.2.tgz", - "integrity": "sha512-/xtor5vIXgwBVsAj+yO/wyzezQUmXabdkb/T8aSXtO2665zeOVbDbtSsJ1Ov7Tz5A4Ia1pA9d7iDCt7E8Kva7A==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-40.2.0.tgz", + "integrity": "sha512-0fqIaN+ZhkXXA3mpBN+alycBzPMc8ruO8VrP0OnvCjowqZVS2HXC2AaXNBdxc75xGI3ScXIor7FsgFHxVJIYYQ==", "dependencies": { - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-dev-translations": { - "version": "39.1.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-dev-translations/-/ckeditor5-dev-translations-39.1.0.tgz", - "integrity": "sha512-QvgIHjjn7p9sJuJb1COdMINAajcv6iTLJUnsg9bf2/xSqvbz3c3KixeNXddlDHsLTaD6ZVopQvdGKMus0HuLLQ==", + "version": "39.5.1", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-dev-translations/-/ckeditor5-dev-translations-39.5.1.tgz", + "integrity": "sha512-dpLJRPrEuu/NDR/XMR7clcAxELKkJDGh45GKeRk3pA/jL9cK3rh5fr6m9TFKy2qbjnPaxNaBaHCLybQHTDw/vw==", "dev": true, "dependencies": { "@babel/parser": "^7.18.9", @@ -382,12 +437,12 @@ } }, "node_modules/@ckeditor/ckeditor5-dev-utils": { - "version": "39.0.0", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-39.0.0.tgz", - "integrity": "sha512-24saz8z7zyLgs8Gqttx44mGaueEIk80Fbr9hIICipmVgiqXIfjwF8+d6rW0co2ebIdCP9N7mXryE+vP2i/rVfg==", + "version": "39.5.1", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-dev-utils/-/ckeditor5-dev-utils-39.5.1.tgz", + "integrity": "sha512-66LfUgbcgRDRcHUmxD6kIYw/0XhmPBd89Z7GsiDzL3l0U5h+n+yrskHQgBTWN4wI08qGvxhbFIHcvSCIqj0Xzg==", "dev": true, "dependencies": { - "@ckeditor/ckeditor5-dev-translations": "^39.0.0", + "@ckeditor/ckeditor5-dev-translations": "^39.5.1", "chalk": "^3.0.0", "cli-cursor": "^3.1.0", "cli-spinners": "^2.6.1", @@ -604,98 +659,98 @@ } }, "node_modules/@ckeditor/ckeditor5-editor-classic": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-39.0.2.tgz", - "integrity": "sha512-zDDFe70junUJT5VltMsVdBqSZUew4fCe8fmi9JMI2m2MAwNwARAOkOy9mQMMTJlrD+P3CfD/Y9QpromEjLOnYA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-40.2.0.tgz", + "integrity": "sha512-dftfDBxANOgqgQZ4SB3YTsEV/XX1u0g9jopbOBwqIABnVVa8zoGcktgFdGnLUFk51sL65baSx2z8Z1NNYdZcFQ==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-engine": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-39.0.2.tgz", - "integrity": "sha512-ERcEpIrmTML0/uhukkC+ZJSOx4mRaPbNG5vPEBXIentfDpzu1NrmUhGZRGXaw5lltL+NJbuTI0wjEINap0Hl3w==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-40.2.0.tgz", + "integrity": "sha512-sgboUX8Ps+LcEgywyT3BeK1nzLHjNVIiZU1qvRxR3ixzIw4w2xRNXCGfESWLW5Y5rv9+ypUCrX61oLnZU64PQQ==", "dependencies": { - "@ckeditor/ckeditor5-utils": "39.0.2", + "@ckeditor/ckeditor5-utils": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-enter": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-39.0.2.tgz", - "integrity": "sha512-7yeZI/mzJH4/yryXFQemrueZA/UNGkfnauN8Mu6XFMykoRNo6l+cASz0x4iGb3pWumV3g+tUeX6AJmuwXkRb5A==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-40.2.0.tgz", + "integrity": "sha512-GjTRaKNX8QEDJ3YYKG3GfPZfGHrcigGBxbo+1WDT7NaOsR2DA/CIZfHlAPfgJDAMV17bhWsT3gy3+oQZsExtnQ==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2" + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-essentials": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-39.0.2.tgz", - "integrity": "sha512-5Nf3XeuB0thXTJS2M2JYrlW2uuSujNOhwW7L05e7Z5JP4nUSkopBHdvymX9feZKMzGPOw6SVhk8gQIDYV7S28A==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-40.2.0.tgz", + "integrity": "sha512-7iUUy0Uwiei4yLrn145SOcyzriMeVFVc5ontQkxQE5b9alFdAc/6ZoDPZqwD7V0zi5RQ/2YsoVMRLFa4hbPfNA==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-font": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-39.0.2.tgz", - "integrity": "sha512-6sGgo9X23gAllVjzGH1gOkjIEHkvm2O40IqUKCBwzn0K6Ry6St4R4QtcQeFV5jxAMKn0eD7blPuhItVrjmN0hw==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-font/-/ckeditor5-font-40.2.0.tgz", + "integrity": "sha512-k38+eQQF+zfiauVDxcMBHGG1ShRwCNibaJipu5FKzvGY5PJELUsIfor1dsSPsTADWxWMpBi5qEaSO4S4+Lu/JA==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-heading": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-39.0.2.tgz", - "integrity": "sha512-P1ogDMAsTZB/TfuNwifNv1H9KHaMSPRaPfd+clhhLV/GAdt2rGMeH0HKuSke54cZYB6qMQP7Za8Xsfi2ufY0GA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-40.2.0.tgz", + "integrity": "sha512-uDT1sttMy+KrKi90jnqEI43886o1wfKrROWqaMbmKOerTbIi58GNH9LvX04sf1RyHV3+3566RRmB248fsLkYjA==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-highlight": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-39.0.2.tgz", - "integrity": "sha512-WlinrcgNRgTMPCtg3ZfirEdbVpP+xSQdYGA/kmMTcjEnzfEUZv5ceecAF367158+hQNhY06p7Zpvxot8z6pobA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-highlight/-/ckeditor5-highlight-40.2.0.tgz", + "integrity": "sha512-V9/KfZzTv3JdLK4o+kojy4bBFtpt35Y8EFfuJfSqubztrQVjG7uYkbeN0AypP+5ovIM/WbQx+Vh14PDEfBNaMg==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-horizontal-line": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-39.0.2.tgz", - "integrity": "sha512-lKPqiOwmuX/9s5TclET7cywcQ76TJh/w+6u3BK8buzlmyWzdeYXUyljNqWCgiS0i2yyY4w5XaJxXB/Ey7Ks8/w==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-horizontal-line/-/ckeditor5-horizontal-line-40.2.0.tgz", + "integrity": "sha512-cngw6unhl+GIin+InlGgg4SnzXagM302UypwR7t9WtVqO75ohecVRZ2S0H9WHrsb9IlbfCN+o7WVIb4MmXkRVQ==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-html-support": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-39.0.2.tgz", - "integrity": "sha512-vA5nbuE4PnCOw7HK+y9dgXi6vKlVRq/fEeG7H5HNuF1CRVqBMUenFUFTNFrIi/ZHp7L2QhVs0uvQLnbYm3gPqQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-html-support/-/ckeditor5-html-support-40.2.0.tgz", + "integrity": "sha512-NbUjSir3aaVxk8y0oPWLaPGB4kDeH2XuSZXVRAvwiYP8c8ICh7gAq2L3KVLmveXW/FIHHYdR+wNu0qNa34V0rw==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-image": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-39.0.2.tgz", - "integrity": "sha512-sp7ce+j/UqRW4kmhMX8DfZKPbNs5HgiEQY8ChQUPOKghstEjBrPpGFYCJ++NMPmWguDTzLxVAVuo2k+VOt+swA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-40.2.0.tgz", + "integrity": "sha512-0Dunw1o5k2+5Q5XiWLDG1r8k9awosfIFuDZwqKJGWtDaNE4QQbJ9+iJSwiiRw2QjcGr7D3JdH7xwJZFra7kYmA==", "dependencies": { - "@ckeditor/ckeditor5-ui": "39.0.2", - "ckeditor5": "39.0.2", + "@ckeditor/ckeditor5-ui": "40.2.0", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-indent": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-39.0.2.tgz", - "integrity": "sha512-wU/1jBqgkK068fxkZDxnZM5iACunABXBVtpgfXqe2S6cMPVQyhiLzo955Yt7BhqN7Mkor59xESO2+Npj/vwB7w==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-40.2.0.tgz", + "integrity": "sha512-gSlRGoyAslB2OpqghimIY6Oiflf3Z2/MdLBzvFipU5N4X66cL29HuWZc/bOkcFzWwNeDK5LgzfLdvXNzkdv5Xw==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-inspector": { @@ -709,142 +764,141 @@ } }, "node_modules/@ckeditor/ckeditor5-link": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-39.0.2.tgz", - "integrity": "sha512-UKSamaD+yGaLPo/7pLS6bi+h2pRpX7qFSe4isVvmC8PfhN4YAm6ZYpIXpnktzfv2+/Jx6P9HzfjOnJPPT5PRdQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-40.2.0.tgz", + "integrity": "sha512-/r4Ti9USdrURBX+qutvyDGOb75sNuSgtXdI8xK503EVfx5yBIi6qsYIYWoFvnGJKkLYkVo+940ilduhwzq0M7g==", "dependencies": { - "@ckeditor/ckeditor5-ui": "39.0.2", - "ckeditor5": "39.0.2", + "@ckeditor/ckeditor5-ui": "40.2.0", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-list": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-39.0.2.tgz", - "integrity": "sha512-XRcp67PuDK/mP0sL8g+TFLIr/MigVHKATwO+7OAJZlGAGxr73V/eRw3G6ZAe6Lh0lVQPRA54r+h5DHG5P+KRRg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-40.2.0.tgz", + "integrity": "sha512-lsQWSLSFRHRQ2AxA6vgTib9YELjF2J5jpR6H4RDW1gM//dL3FjvLxKPPN/V7rMcp15rrpSiOya+qB99l24DEpQ==", "dependencies": { - "@ckeditor/ckeditor5-ui": "39.0.2", - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-markdown-gfm": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-39.0.2.tgz", - "integrity": "sha512-x4sQHFiQbr0z0pPElevtBpO052iOCokQRJ00ZOHzZc4gOUdxSHikNLZnRcjOm2QVgOudA0C7JuaYq3LhQU3cNQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-markdown-gfm/-/ckeditor5-markdown-gfm-40.2.0.tgz", + "integrity": "sha512-S4QrCfI+jE2fNbp3Q+Gip3vTpoXDMkj8AQFDsvZ07yMOR84VHfulWsxutjNKZ/sGCYWOSohQToMj55IyRZjHUA==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "marked": "4.0.12", "turndown": "6.0.0", "turndown-plugin-gfm": "1.0.2" } }, "node_modules/@ckeditor/ckeditor5-media-embed": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-39.0.2.tgz", - "integrity": "sha512-1QL+nYSTKlnTz9rMWeuW0/kvq8eCR0Yl0dJl+37uPJOrR6fQNxVcGq375D9f+WO45IJjOZ+7dtgxm19WK3R1cQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-40.2.0.tgz", + "integrity": "sha512-ORY7VebL7UTuBG/4++UxzqEKjnlZZKAFqUrIom7xXpQNfo6oJFtZLnKYwESZ6iNk7NBOAeiHEecP2tKWyFQd1g==", "dependencies": { - "@ckeditor/ckeditor5-ui": "39.0.2", - "ckeditor5": "39.0.2" + "@ckeditor/ckeditor5-ui": "40.2.0", + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-mention": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-39.0.2.tgz", - "integrity": "sha512-uTRenNKntYlzqnK5urqtwWRS5Frn888tne6YRJsHUJINX1h9kxgQ44svYx6QF9ZMdStmkEbKJfjZwNfnwWd95g==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-mention/-/ckeditor5-mention-40.2.0.tgz", + "integrity": "sha512-W/P35BhcKi0u4Ek+T3P6i+DOgtcMKa0NjTocUE/Jx87QSFOVTka2POeaG3uUA5JkJ1ukSNOVRxj8/ypx2pFQLg==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-paragraph": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-39.0.2.tgz", - "integrity": "sha512-is0+G3ghz+6EwoNT5ciySiPt05FI0I/lxPksSDl4QG9BcGUwkN94fJalCxgXuMlGulojm/YZ3dCmJPnLMrAnUA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-40.2.0.tgz", + "integrity": "sha512-NotxWP1cKvbJSY1UwdTe/Oy1NnAj9Etsi4Z7XA908EvCsNSnFtzdMhYzLhFZJ18avrQFDa7PpSKSyN3M64CbSA==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2" + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-paste-from-office": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-39.0.2.tgz", - "integrity": "sha512-Y9O1C+9BpFCtvYI80AJzm/BkZWMedhreCaZcSCsEUUIo6vrIwehatTvgqWZJLwKZwL+4iy5/Kv9OfUhvO10I8Q==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-40.2.0.tgz", + "integrity": "sha512-kdk7uJlSa9mvyuNAwmIfV6Kc1tfWI6DbCs19jyseA/F0vySKibb0DsBVSZ7xa5ihcjphfJvwpypWYL0BYdYKLQ==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-remove-format": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-39.0.2.tgz", - "integrity": "sha512-gCoWMMUyvqjtQs+EUr7JpO8LEF2Ip7qXmCuSwLTteet79a8sQyllPY6O3UOUEuFMO2GtT36+jtQ93pQh7onn+g==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-remove-format/-/ckeditor5-remove-format-40.2.0.tgz", + "integrity": "sha512-fJHv6oIu0CGSbhFyK6rvtTqzuPTHyjtuaBYYA93clRXsBhZcmm3M7g63Tz6O6ez/Z/kw+Zk+p0SvdL7tVXUUMw==", "dependencies": { - "ckeditor5": "39.0.2" + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-select-all": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-39.0.2.tgz", - "integrity": "sha512-/zTPZ14sfsL6E7LHcdOSW5JR7A5tsaSO2KNlQ/jm77XWSeQ7HZ4I7hoLXWksvcseubQ+xExWrzMQIjIOGqBLcQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-40.2.0.tgz", + "integrity": "sha512-yaYCqhdMcoEH3BsilhweNdbOfuO/cexQ1r1/mYoBoW4CypIuAeq8J/3qLpvFaThmCRPzJBn1J7v2Yjs/0UnamA==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2" + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-source-editing": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-39.0.2.tgz", - "integrity": "sha512-l0uoi64JcLjpXZxduCAvXQjv5a/Ng9bbjw2v8ksVMMVslVpugPqdYXRRRezXBW4guwGVLRmgUEISGwUH4n1FHg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-source-editing/-/ckeditor5-source-editing-40.2.0.tgz", + "integrity": "sha512-Kh0HXxtOs1jNQAUYzxY1IG7JyUG88AJnM9cNATI9+zo55XwPqBrs6w3hesDDF83Vp87Kjtw9lViHUwwcPRl59Q==", "dependencies": { - "@ckeditor/ckeditor5-theme-lark": "39.0.2", - "ckeditor5": "39.0.2" + "@ckeditor/ckeditor5-theme-lark": "40.2.0", + "ckeditor5": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-style": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-39.0.2.tgz", - "integrity": "sha512-JfVTUqqAxZrGGoAOoFa73cSxEgjun+sv7maFbz/oUFLwxkMddC4Blf51RWIIBe9r8/tgg7kqBBLVLUU5o8/S7A==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-style/-/ckeditor5-style-40.2.0.tgz", + "integrity": "sha512-a4NmUKJM/svRhDI5n/+Vlp5jfeULNerEOo1kaSfhG2jx2hihmZuF2Ke7vP20bzt8SnP0Qq72WNjSpMK9CZlzjw==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-table": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-39.0.2.tgz", - "integrity": "sha512-IpI53KPEOj1F1vbMYUHLkOeoQoQV/q3pfiJxXXHZja1QaIEnqZT7YcSvJQbCyiuQw4UCZqU5x84c8GcyIZlBhg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-40.2.0.tgz", + "integrity": "sha512-yODne7az/aJ9lsuI7w476pgGV2QBoH2tOKp3JFh/e2DdHC20637LCVd0cx8sUe3zk61X/eYPY+wOiRJx/mIUqg==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-theme-lark": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-39.0.2.tgz", - "integrity": "sha512-v6S3++hkoKgqV71BCafKWYmPA6o/X44kUzdahnFs1rYBM5WS87y9Jb0W8Rv8FXXD5QD0H2axtySw9S6HfYspQw==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-theme-lark/-/ckeditor5-theme-lark-40.2.0.tgz", + "integrity": "sha512-Oxz/tfca4YosjyRHn1wX5pBgm8GMZSRuuNOu/OcLdRHN40sPWkb8Ilz6bY0SGgrYIgtXmXLGj+NVLSKPSab3EA==", "dependencies": { - "@ckeditor/ckeditor5-ui": "39.0.2" + "@ckeditor/ckeditor5-ui": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-typing": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-39.0.2.tgz", - "integrity": "sha512-ylkBumukIRe/8jQTanVYNcExvoraXX9TIX3POwiug2F+c/POKjoHgeq8+Wf/JEl7/ydtXZKT5tROqOe9haSteA==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-40.2.0.tgz", + "integrity": "sha512-2E7LkmC4RHdenMUwow0EZDKxlbX00c5UHysUVT51EBGrXiJcN++0cqxQaeJzQ262oTDpk94qE5IZdGXt3ntzrw==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2", + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-ui": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-39.0.2.tgz", - "integrity": "sha512-OHYasdPXG1Vy1tR5hcGeffeqg6ujWzCEbRczuU+0sC3ttYkxrnFk6qYe7gjA+BoqD61otk1au+rhCVux8dy0hQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-40.2.0.tgz", + "integrity": "sha512-K8oC9zrJokZD5Nl4uQjJMo8Couds0eHmfNI/go6iU4A4OAdDzph+W50QnyMed4etKnMdhvUSbnuZnPtQjnsvFA==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2", + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0", "color-convert": "2.0.1", "color-parse": "1.4.2", "lodash-es": "4.17.21", @@ -852,61 +906,61 @@ } }, "node_modules/@ckeditor/ckeditor5-undo": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-39.0.2.tgz", - "integrity": "sha512-DSy7rRtnpVPpzZYOoQJNZ/6Zx4LEk3WVf8VG8wJDgpuxbRrE59DsNwVEqGEvDyVGlgzbuWZrfkkcL4hjcoYHCw==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-40.2.0.tgz", + "integrity": "sha512-k2VZS5x4SJtYk3zhdwHYg+D00DgD0iWR0H4qQgcWmQMFRipYvXJRixP3hSLZGJciQanPFeYcjZgxNQ+rU1s8ug==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2" + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-upload": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-39.0.2.tgz", - "integrity": "sha512-6LLU9lJDlnE4RT1GBzK1V6gsIv/+4NiWVojblzET9AlyMI4BRTn3/PPxZRWyPPKH96AeuIWoyj32D/a24yQujg==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-40.2.0.tgz", + "integrity": "sha512-AdJSKvWEQbSSyA/DfxbCHRhFN6S4ew4kuYETO57e6AS3aOuYGLBRdu9Mub7IAQcOyy1LL6ktr9u5WEOoWS2h0w==", "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2" + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0" } }, "node_modules/@ckeditor/ckeditor5-utils": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-39.0.2.tgz", - "integrity": "sha512-aqiGhPJxEihSLW21lGWcAvjVTTwJYxEbfMk1eLf/BEY3euy6iltRC6EqbXkyJDcKGU7cQtk6JXAIkH+D2FF87g==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-40.2.0.tgz", + "integrity": "sha512-f+kTJBwwk7Y/LXm8pEPxBTXVlJwQrH7Levzye9zxEDB0Jtj7+brGr87o666fPmL/ATQc5M+VPhbvnk2sOv7WKg==", "dependencies": { "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-watchdog": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-39.0.2.tgz", - "integrity": "sha512-9E7BNp9c+nj/01JWF4lBVcDwJI2lN/Vgerw+ex4l/nTRl7crLzckSy3DWhYlpQPjJzsrkFjGQ+zCG4C/Vevl3Q==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-watchdog/-/ckeditor5-watchdog-40.2.0.tgz", + "integrity": "sha512-ets7o2dUR7l23G9o/RAbu+gJzUkc2Ul269E3TEhZnbQXFjshvEGK2kzuay7I+/waL3ADuYe4zuoBqsqdPoAhfg==", "dependencies": { "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-widget": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-39.0.2.tgz", - "integrity": "sha512-bGs8iKD3c+r3/JCqhXoh/MPJut0JcdUdxDSgS+xYu1UJ03b/K39/0QbdVjT1I6oNRSDb4IUwBO2Xc3zTMl/qTw==", - "dependencies": { - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-enter": "39.0.2", - "@ckeditor/ckeditor5-typing": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-40.2.0.tgz", + "integrity": "sha512-okeUSwbnu6TUKvwBOl0YdED6Me0/vvs1ybfKZPNEJNwGl989iG0LQO4oYUye8BTCZvzCZ2cBTb1Cvnwr8KRcbg==", + "dependencies": { + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-enter": "40.2.0", + "@ckeditor/ckeditor5-typing": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0", "lodash-es": "4.17.21" } }, "node_modules/@ckeditor/ckeditor5-word-count": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-39.0.2.tgz", - "integrity": "sha512-eKXSEEU+SkIgD8Sezj7Lzt8pX1XLkDgMfMGU2LoIB5BXChlV2mR6Zuz9Au2uzkrWmUxTerjtgIrpQZBtrMSeFQ==", + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-word-count/-/ckeditor5-word-count-40.2.0.tgz", + "integrity": "sha512-toQl5keROXYudpGIq/xvzpLq7fOqz39mQKcr+RrkHrJb322n311g2yaNWLDofRbdU6y9+BTal707n219bp7BcA==", "dependencies": { - "ckeditor5": "39.0.2", + "ckeditor5": "40.2.0", "lodash-es": "4.17.21" } }, @@ -1333,11 +1387,10 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", - "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1351,14 +1404,13 @@ "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@nodelib/fs.scandir": { @@ -1738,10 +1790,9 @@ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "license": "MIT", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -2123,23 +2174,23 @@ } }, "node_modules/ckeditor5": { - "version": "39.0.2", - "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-39.0.2.tgz", - "integrity": "sha512-7wuhb5LYeAZ9PaEZlNNAOnfDLWozt3+tOdc1St7AYR4PO1UW/5crWHvs+6jejxB56Zk6LUaHUS6ECecdapihmA==", - "dependencies": { - "@ckeditor/ckeditor5-clipboard": "39.0.2", - "@ckeditor/ckeditor5-core": "39.0.2", - "@ckeditor/ckeditor5-engine": "39.0.2", - "@ckeditor/ckeditor5-enter": "39.0.2", - "@ckeditor/ckeditor5-paragraph": "39.0.2", - "@ckeditor/ckeditor5-select-all": "39.0.2", - "@ckeditor/ckeditor5-typing": "39.0.2", - "@ckeditor/ckeditor5-ui": "39.0.2", - "@ckeditor/ckeditor5-undo": "39.0.2", - "@ckeditor/ckeditor5-upload": "39.0.2", - "@ckeditor/ckeditor5-utils": "39.0.2", - "@ckeditor/ckeditor5-watchdog": "39.0.2", - "@ckeditor/ckeditor5-widget": "39.0.2" + "version": "40.2.0", + "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-40.2.0.tgz", + "integrity": "sha512-JaFuY/6DX1wbA6yRB2xQVMr+9W1C3HvSX4AT10ccoKBKe9OctIatekDt2ztV+cMaVHLF1wocskS/Ql9XFRy2Eg==", + "dependencies": { + "@ckeditor/ckeditor5-clipboard": "40.2.0", + "@ckeditor/ckeditor5-core": "40.2.0", + "@ckeditor/ckeditor5-engine": "40.2.0", + "@ckeditor/ckeditor5-enter": "40.2.0", + "@ckeditor/ckeditor5-paragraph": "40.2.0", + "@ckeditor/ckeditor5-select-all": "40.2.0", + "@ckeditor/ckeditor5-typing": "40.2.0", + "@ckeditor/ckeditor5-ui": "40.2.0", + "@ckeditor/ckeditor5-undo": "40.2.0", + "@ckeditor/ckeditor5-upload": "40.2.0", + "@ckeditor/ckeditor5-utils": "40.2.0", + "@ckeditor/ckeditor5-watchdog": "40.2.0", + "@ckeditor/ckeditor5-widget": "40.2.0" } }, "node_modules/clean-stack": { @@ -2819,7 +2870,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } @@ -3473,8 +3523,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/jsdom": { "version": "16.7.0", @@ -3729,11 +3778,10 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -3955,11 +4003,16 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -4256,9 +4309,9 @@ "dev": true }, "node_modules/postcss": { - "version": "8.4.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz", - "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "funding": [ { @@ -4268,11 +4321,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.7", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -5264,11 +5320,10 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5592,13 +5647,13 @@ } }, "node_modules/terser": { - "version": "5.17.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.3.tgz", - "integrity": "sha512-AudpAZKmZHkG9jueayypz4duuCFJMMNGRMwaPvQKWfxKedh8Z2x3OCoDqIIi1xx5+iwx1u6Au8XQcc9Lke65Yg==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -5610,16 +5665,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" diff --git a/django_ckeditor_5/package.json b/django_ckeditor_5/package.json index d73e507..0f5dabf 100644 --- a/django_ckeditor_5/package.json +++ b/django_ckeditor_5/package.json @@ -11,49 +11,49 @@ "author": "", "license": "BSD-3-Clause", "dependencies": { - "@ckeditor/ckeditor5-adapter-ckfinder": "^39.0.2", - "@ckeditor/ckeditor5-alignment": "^39.0.2", - "@ckeditor/ckeditor5-autoformat": "^39.0.2", - "@ckeditor/ckeditor5-basic-styles": "^39.0.2", - "@ckeditor/ckeditor5-block-quote": "^39.0.2", - "@ckeditor/ckeditor5-code-block": "^39.0.2", - "@ckeditor/ckeditor5-editor-classic": "^39.0.2", - "@ckeditor/ckeditor5-essentials": "^39.0.2", - "@ckeditor/ckeditor5-font": "^39.0.2", - "@ckeditor/ckeditor5-heading": "^39.0.2", - "@ckeditor/ckeditor5-highlight": "^39.0.2", - "@ckeditor/ckeditor5-horizontal-line": "^39.0.2", - "@ckeditor/ckeditor5-html-support": "^39.0.2", - "@ckeditor/ckeditor5-image": "^39.0.2", - "@ckeditor/ckeditor5-indent": "^39.0.2", + "@ckeditor/ckeditor5-adapter-ckfinder": "^40.2.0", + "@ckeditor/ckeditor5-alignment": "^40.2.0", + "@ckeditor/ckeditor5-autoformat": "^40.2.0", + "@ckeditor/ckeditor5-basic-styles": "^40.2.0", + "@ckeditor/ckeditor5-block-quote": "^40.2.0", + "@ckeditor/ckeditor5-code-block": "^40.2.0", + "@ckeditor/ckeditor5-editor-classic": "^40.2.0", + "@ckeditor/ckeditor5-essentials": "^40.2.0", + "@ckeditor/ckeditor5-font": "^40.2.0", + "@ckeditor/ckeditor5-heading": "^40.2.0", + "@ckeditor/ckeditor5-highlight": "^40.2.0", + "@ckeditor/ckeditor5-horizontal-line": "^40.2.0", + "@ckeditor/ckeditor5-html-support": "^40.2.0", + "@ckeditor/ckeditor5-image": "^40.2.0", + "@ckeditor/ckeditor5-indent": "^40.2.0", "@ckeditor/ckeditor5-inspector": "^4.1.0", - "@ckeditor/ckeditor5-link": "^39.0.2", - "@ckeditor/ckeditor5-list": "^39.0.2", - "@ckeditor/ckeditor5-markdown-gfm": "^39.0.2", - "@ckeditor/ckeditor5-media-embed": "^39.0.2", - "@ckeditor/ckeditor5-mention": "^39.0.2", - "@ckeditor/ckeditor5-paragraph": "^39.0.2", - "@ckeditor/ckeditor5-paste-from-office": "^39.0.2", - "@ckeditor/ckeditor5-remove-format": "^39.0.2", - "@ckeditor/ckeditor5-source-editing": "^39.0.2", - "@ckeditor/ckeditor5-style": "^39.0.2", - "@ckeditor/ckeditor5-table": "^39.0.2", - "@ckeditor/ckeditor5-theme-lark": "^39.0.2", - "@ckeditor/ckeditor5-ui": "^39.0.2", - "@ckeditor/ckeditor5-upload": "^39.0.2", - "@ckeditor/ckeditor5-word-count": "^39.0.2" + "@ckeditor/ckeditor5-link": "^40.2.0", + "@ckeditor/ckeditor5-list": "^40.2.0", + "@ckeditor/ckeditor5-markdown-gfm": "^40.2.0", + "@ckeditor/ckeditor5-media-embed": "^40.2.0", + "@ckeditor/ckeditor5-mention": "^40.2.0", + "@ckeditor/ckeditor5-paragraph": "^40.2.0", + "@ckeditor/ckeditor5-paste-from-office": "^40.2.0", + "@ckeditor/ckeditor5-remove-format": "^40.2.0", + "@ckeditor/ckeditor5-source-editing": "^40.2.0", + "@ckeditor/ckeditor5-style": "^40.2.0", + "@ckeditor/ckeditor5-table": "^40.2.0", + "@ckeditor/ckeditor5-theme-lark": "^40.2.0", + "@ckeditor/ckeditor5-ui": "^40.2.0", + "@ckeditor/ckeditor5-upload": "^40.2.0", + "@ckeditor/ckeditor5-word-count": "^40.2.0" }, "devDependencies": { - "@ckeditor/ckeditor5-core": "^39.0.2", - "@ckeditor/ckeditor5-dev-translations": "^39.1.0", - "@ckeditor/ckeditor5-dev-utils": "^39.0.0", - "@ckeditor/ckeditor5-theme-lark": "^39.0.2", + "@ckeditor/ckeditor5-core": "^40.2.0", + "@ckeditor/ckeditor5-dev-translations": "^39.5.1", + "@ckeditor/ckeditor5-dev-utils": "^39.5.1", + "@ckeditor/ckeditor5-theme-lark": "^40.2.0", "css-loader": "6", "mini-css-extract-plugin": "^2.7.6", "postcss-loader": "7", "raw-loader": "4", "style-loader": "3", - "terser-webpack-plugin": "^5.3.9", + "terser-webpack-plugin": "^5.3.10", "webpack": "5", "webpack-cli": "5" } diff --git a/django_ckeditor_5/static/django_ckeditor_5/src/override-django.css b/django_ckeditor_5/static/django_ckeditor_5/src/override-django.css index 9bd3fad..207759a 100644 --- a/django_ckeditor_5/static/django_ckeditor_5/src/override-django.css +++ b/django_ckeditor_5/static/django_ckeditor_5/src/override-django.css @@ -41,4 +41,7 @@ form .aligned .ck ul { .ck.ck-editor { position: relative; width: 100%; +} +.ck-editor-container{ + width: 100%; } \ No newline at end of file diff --git a/django_ckeditor_5/templates/django_ckeditor_5/widget.html b/django_ckeditor_5/templates/django_ckeditor_5/widget.html index 313cd87..06c37ac 100644 --- a/django_ckeditor_5/templates/django_ckeditor_5/widget.html +++ b/django_ckeditor_5/templates/django_ckeditor_5/widget.html @@ -1,9 +1,11 @@ +
{% if errors %} {{ errors }} {% endif %} +
{{ config|json_script:script_id }} diff --git a/django_ckeditor_5/views.py b/django_ckeditor_5/views.py index 40f43b1..4d76a0a 100644 --- a/django_ckeditor_5/views.py +++ b/django_ckeditor_5/views.py @@ -31,15 +31,18 @@ def get_storage_class(): try: return import_string(default_storage_setting) except ImportError: - raise ImproperlyConfigured(f"Invalid default storage class: {default_storage_setting}") + error_msg = f"Invalid default storage class: {default_storage_setting}" + raise ImproperlyConfigured(error_msg) elif default_storage_name: try: return import_string(default_storage_name) except ImportError: - raise ImproperlyConfigured(f"Invalid default storage class: {default_storage_name}") + error_msg = f"Invalid default storage class: {default_storage_name}" + raise ImproperlyConfigured(error_msg) else: - raise ImproperlyConfigured( - "Either CKEDITOR_5_FILE_STORAGE, DEFAULT_FILE_STORAGE, or STORAGES['default'] setting is required.") + error_msg = ("Either CKEDITOR_5_FILE_STORAGE, DEFAULT_FILE_STORAGE, " + "or STORAGES['default'] setting is required.") + raise ImproperlyConfigured(error_msg) storage = get_storage_class() diff --git a/django_ckeditor_5/widgets.py b/django_ckeditor_5/widgets.py index 4c5de09..5f70c0e 100644 --- a/django_ckeditor_5/widgets.py +++ b/django_ckeditor_5/widgets.py @@ -37,28 +37,28 @@ def __init__(self, config_name="default", attrs=None): def format_error(self, ex): return "{} {}".format( - _("Check the correct settings.CKEDITOR_5_CONFIGS "), str(ex) + _("Check the correct settings.CKEDITOR_5_CONFIGS "), str(ex), ) class Media: css = { "all": [ "django_ckeditor_5/dist/styles.css", - ] + ], } custom_css = getattr(settings, "CKEDITOR_5_CUSTOM_CSS", None) if custom_css: css["all"].append(custom_css) - js = ["django_ckeditor_5/dist/bundle.js", ] + js = ["django_ckeditor_5/dist/bundle.js" ] configs = getattr(settings, "CKEDITOR_5_CONFIGS", None) if configs is not None: for config in configs: language = configs[config].get('language') if language: if isinstance(language, str) and language != "en": - js += [f"django_ckeditor_5/dist/translations/{language}.js", ] + js += [f"django_ckeditor_5/dist/translations/{language}.js" ] elif isinstance(language, dict) and language.get('ui') and language["ui"] != "en": - js += [f"django_ckeditor_5/dist/translations/{language['ui']}.js", ] + js += [f"django_ckeditor_5/dist/translations/{language['ui']}.js" ] def render(self, name, value, attrs=None, renderer=None): context = super().get_context(name, value, attrs) diff --git a/example/blog/articles/forms.py b/example/blog/articles/forms.py index 09a9c1b..c57932d 100644 --- a/example/blog/articles/forms.py +++ b/example/blog/articles/forms.py @@ -17,6 +17,7 @@ class Meta: fields = ("author", "text") widgets = { "text": CKEditor5Widget( - attrs={"class": "django_ckeditor_5"}, config_name="comment" - ) + attrs={"class": "django_ckeditor_5"}, + config_name="comment", + ), } diff --git a/example/blog/articles/migrations/0001_initial.py b/example/blog/articles/migrations/0001_initial.py index 9213769..0952a7b 100644 --- a/example/blog/articles/migrations/0001_initial.py +++ b/example/blog/articles/migrations/0001_initial.py @@ -7,37 +7,51 @@ class Migration(migrations.Migration): - initial = True - dependencies = [ - ] + dependencies = [] operations = [ migrations.CreateModel( - name='Article', + name="Article", fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=200, null=True, verbose_name='Title')), - ('text', django_ckeditor_5.fields.CKEditor5Field(verbose_name='Text')), - ('text2', django_ckeditor_5.fields.CKEditor5Field(blank=True, null=True, verbose_name='Text 2')), + ( + "id", + models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID"), + ), + ("title", models.CharField(max_length=200, null=True, verbose_name="Title")), + ("text", django_ckeditor_5.fields.CKEditor5Field(verbose_name="Text")), + ( + "text2", + django_ckeditor_5.fields.CKEditor5Field(blank=True, null=True, verbose_name="Text 2"), + ), ], options={ - 'verbose_name': 'Article', - 'verbose_name_plural': 'Articles', + "verbose_name": "Article", + "verbose_name_plural": "Articles", }, ), migrations.CreateModel( - name='Comment', + name="Comment", fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('author', models.CharField(max_length=250)), - ('text', django_ckeditor_5.fields.CKEditor5Field(verbose_name='Text')), - ('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='articles.article')), + ( + "id", + models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID"), + ), + ("author", models.CharField(max_length=250)), + ("text", django_ckeditor_5.fields.CKEditor5Field(verbose_name="Text")), + ( + "article", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="comments", + to="articles.article", + ), + ), ], options={ - 'verbose_name': 'Comment', - 'verbose_name_plural': 'Comments', + "verbose_name": "Comment", + "verbose_name_plural": "Comments", }, ), ] diff --git a/example/blog/articles/models.py b/example/blog/articles/models.py index ace7370..3d8d124 100644 --- a/example/blog/articles/models.py +++ b/example/blog/articles/models.py @@ -24,7 +24,9 @@ class Comment(models.Model): author = models.CharField(max_length=250) text = CKEditor5Field("Text") article = models.ForeignKey( - Article, related_name="comments", on_delete=models.CASCADE + Article, + related_name="comments", + on_delete=models.CASCADE, ) class Meta: diff --git a/example/blog/blog/settings.py b/example/blog/blog/settings.py index e8614ee..bccec4f 100644 --- a/example/blog/blog/settings.py +++ b/example/blog/blog/settings.py @@ -79,7 +79,7 @@ "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": os.path.join(BASE_DIR, "db.sqlite3"), - } + }, } # Password validation @@ -272,19 +272,19 @@ "title": "Heading 3", "class": "ck-heading_heading3", }, - ] + ], }, "list": { "properties": { "styles": True, "startIndex": True, "reversed": True, - } + }, }, "htmlSupport": { "allow": [ - {"name": "/.*/", "attributes": True, "classes": True, "styles": True} - ] + {"name": "/.*/", "attributes": True, "classes": True, "styles": True}, + ], }, "mention": { "feeds": [ @@ -299,14 +299,14 @@ "@Ted", ], "minimumCharacters": 1, - } - ] + }, + ], }, "style": { "definitions": [ {"name": "Article category", "element": "h3", "classes": ["category"]}, {"name": "Info box", "element": "p", "classes": ["info-box"]}, - ] + ], }, }, } diff --git a/example/blog/manage.py b/example/blog/manage.py index 83c4370..08d1064 100755 --- a/example/blog/manage.py +++ b/example/blog/manage.py @@ -9,11 +9,12 @@ def main(): try: from django.core.management import execute_from_command_line except ImportError as exc: - raise ImportError( + error_msg = ( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you " "forget to activate a virtual environment?" - ) from exc + ) + raise ImportError(error_msg) from exc execute_from_command_line(sys.argv) diff --git a/example/blog/tests/test_upload_file.py b/example/blog/tests/test_upload_file.py index f734045..09899d1 100644 --- a/example/blog/tests/test_upload_file.py +++ b/example/blog/tests/test_upload_file.py @@ -5,7 +5,8 @@ def test_upload_file(admin_client, file): with file as upload: response = admin_client.post( - reverse("ck_editor_5_upload_file"), {"upload": upload} + reverse("ck_editor_5_upload_file"), + {"upload": upload}, ) assert response.status_code == 200 assert "url" in response.json() @@ -18,7 +19,8 @@ def test_upload_file(admin_client, file): def test_upload_file_to_google_cloud(admin_client, file, settings): with file as upload: response = admin_client.post( - reverse("ck_editor_5_upload_file"), {"upload": upload} + reverse("ck_editor_5_upload_file"), + {"upload": upload}, ) assert response.status_code == 200 assert "url" in response.json() diff --git a/pyproject.toml b/pyproject.toml index dabd71f..256c74a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ keywords = ["CKEditor", "CKEditor5", "Django"] license = {text = "BSD-3-Clause"} readme = "README.rst" requires-python = ">=3.7" -version = "0.2.10" +version = "0.2.11" authors = [ {"name" = "Vladislav Khoboko", "email" = "vladislah@gmail.com"}, @@ -21,6 +21,7 @@ classifiers = [ "Framework :: Django :: 2.2", "Framework :: Django :: 3.0", "Framework :: Django :: 4.0", + "Framework :: Django :: 5.0", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", @@ -29,6 +30,8 @@ classifiers = [ "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", ] @@ -44,19 +47,19 @@ repository = "https://github.com/hvlads/django-ckeditor-5" [project.optional-dependencies] dev = [ - 'bandit[toml] == 1.7.5', + 'bandit[toml] == 1.7.6', 'black == 22.12.0', 'codespell == 2.2.2', - 'coverage == 6.5.0', - 'mypy == 0.991', - 'mypy-extensions == 0.4.3', - 'pytest == 7.2.0', + 'coverage == 7.4.0', + 'mypy == 1.8.0', + 'mypy-extensions == 1.0.0', + 'pytest == 7.4.4', 'pytest-cov == 4.0.0', 'pytest-django == 4.5.2', 'pytest-mock == 3.10.0', 'safety == 2.3.5', 'types-setuptools == 65.6.0.2', - 'typing_extensions == 4.4.0', + 'typing_extensions == 4.9.0', ] [tool.setuptools] @@ -146,9 +149,9 @@ select = [ "W", # pycodestyle "YTT", # flake8-2020 # "ANN", # flake8-annotations - # "COM", # flake8-commas + "COM", # flake8-commas # "D", # pydocstyle - # "EM", # flake8-errmsg + "EM", # flake8-errmsg # "NPY", # NumPy-specific rules # "PD", # pandas-vet # "PTH", # flake8-use-pathlib