From 091239ec33920fdbba8b51642563f82b44bdc2de Mon Sep 17 00:00:00 2001 From: Fabian Braun Date: Wed, 21 Aug 2024 00:42:00 +0200 Subject: [PATCH] fix: Source maps and djangocms-text-ckeditor plugin migration (#16) --- CHANGELOG.rst | 6 ++- djangocms_text/__init__.py | 2 +- .../migrations/0003_auto_20240702_1409.py | 9 ++-- package-lock.json | 53 ++++++++++++++++--- package.json | 1 + webpack.config.js | 7 ++- 6 files changed, 61 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index df9f3905..4ab96720 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,9 +2,11 @@ Changelog ========= -0.2.1 (20-08-2024) -================== +0.2.2 / 0.2.1 (20-08-2024) +========================== +* fix: Let the migration only convert djangocms-text-ckeditor plugins if a corresponding table exists in the database +* fix: Let webpack import js map files from node libraries to remove references to non-existing map files in the js bundles * fix: Unnecessary call to `static` in widget Media class made djangocms-text fail with manifest file storages 0.2.0 (24-07-2024) diff --git a/djangocms_text/__init__.py b/djangocms_text/__init__.py index 334b93ad..98ce7c42 100644 --- a/djangocms_text/__init__.py +++ b/djangocms_text/__init__.py @@ -15,4 +15,4 @@ 9. Publish the release when ready 10. Github actions will publish the new package to pypi """ -__version__ = "0.2.1" +__version__ = "0.2.2" diff --git a/djangocms_text/migrations/0003_auto_20240702_1409.py b/djangocms_text/migrations/0003_auto_20240702_1409.py index 6ee5c968..db1ec495 100644 --- a/djangocms_text/migrations/0003_auto_20240702_1409.py +++ b/djangocms_text/migrations/0003_auto_20240702_1409.py @@ -1,6 +1,6 @@ # Generated by Django 3.2.25 on 2024-07-02 14:09 -from django.db import migrations, models, OperationalError +from django.db import migrations, models def migrate_text_ckeditor_fields(apps, schema_editor): @@ -20,17 +20,13 @@ class Meta: json = models.JSONField(blank=True, null=True) rte = models.CharField(max_length=16, blank=True) - try: + if CKEditorText._meta.db_table in schema_editor.connection.introspection.table_names(): existing_texts = Text_Text.objects.all().values_list("cmsplugin_ptr_id", flat=True) qs = CKEditorText.objects.using(schema_editor.connection.alias).exclude(cmsplugin_ptr_id__in=existing_texts) Text_Text.objects.using(schema_editor.connection.alias).bulk_create( Text_Text(body=ckeditor_text.body, rte="text_ckeditor4", cmsplugin_ptr_id=ckeditor_text.cmsplugin_ptr_id) for ckeditor_text in qs ) - except OperationalError as e: - if "no such table" in str(e): - return - raise e class Migration(migrations.Migration): @@ -42,5 +38,6 @@ class Migration(migrations.Migration): operations = [ migrations.RunPython( code=migrate_text_ckeditor_fields, + reverse_code=migrations.RunPython.noop, ) ] diff --git a/package-lock.json b/package-lock.json index 8ba449b4..27d793cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,6 +73,7 @@ "sass": "^1.72.0", "sass-loader": "^14.1.1", "slim-select": "^2.8.2", + "source-map-loader": "^5.0.0", "style-loader": "^3.3.4", "webpack": "^5.90.3", "webpack-cli": "^5.1.4" @@ -2338,11 +2339,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4086,9 +4087,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4503,6 +4504,18 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", @@ -6689,6 +6702,12 @@ } ] }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, "node_modules/sass": { "version": "1.72.0", "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz", @@ -6905,6 +6924,26 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", + "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, "node_modules/source-map-support": { "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", diff --git a/package.json b/package.json index c1838cff..6a7640b4 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "sass": "^1.72.0", "sass-loader": "^14.1.1", "slim-select": "^2.8.2", + "source-map-loader": "^5.0.0", "style-loader": "^3.3.4", "webpack": "^5.90.3", "webpack-cli": "^5.1.4" diff --git a/webpack.config.js b/webpack.config.js index 140dba2a..e8721b64 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -78,7 +78,12 @@ module.exports = { { test: /\.(s[ac]ss)$/i, use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'], - }, + }, + { + test: /\.js$/, + enforce: "pre", + use: ["source-map-loader"], + }, // { // test: /\.js$/,