Hooks for sentry integration (#1460)

* add sentry webpack plugin

* allow override of webpack config

* work around cheerio inability to parse jinga templates

* webpack can not minify jinja templates

* allow script injection to specify other attributes

* allow script injection to specify other attributes

* Adjustments to make plugin systems work

* Add sourcemaps for javascript in prod webpack

* Update .gitignore

* Fix spelling errors

Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com>
This commit is contained in:
Bruce Martin
2020-05-08 15:59:56 -07:00
committed by GitHub
co-authored by Matt Weiden
parent 9026e0ce41
commit c1bf491a96
12 changed files with 100 additions and 38 deletions
+9 -11
View File
@@ -32,17 +32,15 @@ class CspHashPlugin {
};
}
// remove no-csp-hash attributes
let foundOne = false;
$("script[no-csp-hash]").each((i, elmt) => {
$(elmt).removeAttr("no-csp-hash");
foundOne = true;
});
$("style[no-csp-hash]").each((i, elmt) => {
$(elmt).removeAttr("no-csp-hash");
foundOne = true;
});
if (foundOne) data.html = $.html();
// Remove no-csp-hash attributes. Cheerio does not parse Jinja templates
// correctly, so we brute force this with a regular expression.
data.html = data.html
.replace(/(<script .*)no-csp-hash(.*>)/, (match, p1, p2) =>
[p1, p2].join("")
)
.replace(/(<style .*)no-csp-hash(.*>)/, (match, p1, p2) =>
[p1, p2].join("")
);
// Tell webpack to move on
cb(null, data);