From 9837f67140e1bd90946f6b3fc7ea27a6d6508a6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Mon, 6 Nov 2017 11:39:11 +0100 Subject: [PATCH] Small adjustments in webasset filters * Add comment with source file to JsDelimiterBundler and JsPluginDelimiterBundler * Include source file name in JsPluginDelimiterBundler catch block and use log.error instead of console.error --- src/octoprint/server/__init__.py | 5 +++-- src/octoprint/server/util/webassets.py | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py index bf60a8c0..f9e2a95e 100644 --- a/src/octoprint/server/__init__.py +++ b/src/octoprint/server/__init__.py @@ -1235,7 +1235,8 @@ class Server(object): less_plugins = list(dynamic_plugin_assets["external"]["less"]) # a couple of custom filters - from octoprint.server.util.webassets import LessImportRewrite, JsDelimiterBundler, JsPluginDelimiterBundler, SourceMapRewrite, SourceMapRemove + from octoprint.server.util.webassets import LessImportRewrite, JsDelimiterBundler, JsPluginDelimiterBundler, \ + SourceMapRewrite, SourceMapRemove from webassets.filter import register_filter register_filter(LessImportRewrite) @@ -1246,7 +1247,7 @@ class Server(object): # JS js_filters = ["sourcemap_remove", "js_delimiter_bundler"] - js_plugin_filters = js_filters + ["js_plugin_delimiter_bundler"] + js_plugin_filters = ["sourcemap_remove", "js_plugin_delimiter_bundler"] js_libs_bundle = Bundle(*js_libs, output="webassets/packed_libs.js", filters=",".join(js_filters)) diff --git a/src/octoprint/server/util/webassets.py b/src/octoprint/server/util/webassets.py index 9e41ceb7..74e40392 100644 --- a/src/octoprint/server/util/webassets.py +++ b/src/octoprint/server/util/webassets.py @@ -96,14 +96,21 @@ class JsDelimiterBundler(Filter): options = {} def input(self, _in, out, **kwargs): + source = kwargs.get("source", "n/a") + + out.write("// source: " + source + "\n") out.write(_in.read()) out.write("\n;\n") + class JsPluginDelimiterBundler(Filter): name = "js_plugin_delimiter_bundler" options = {} def input(self, _in, out, **kwargs): + source = kwargs.get("source", "n/a") + + out.write("// source: " + source + "\n") out.write("(function () {\n try {\n ") out.write(_in.read().replace('\n', '\n ')) - out.write("\n } catch (error) {\n console.error(error);\n }\n})();\n") + out.write("\n } catch (error) {\n log.error(\"Error in bundled asset " + source + ":\", (error.stack || error));\n }\n})();\n")