Add rollup-plugin-minify-html-template-literals to node_modules
R=jacktfranklin@chromium.org
Bug: 1213034
Change-Id: I5da8225f60b53870a1c67d6b5d02a464c08f4eb2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2917088
Commit-Queue: Tim van der Lippe <tvanderlippe@chromium.org>
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
diff --git a/node_modules/clean-css/lib/reader/rebase.js b/node_modules/clean-css/lib/reader/rebase.js
new file mode 100644
index 0000000..181b319
--- /dev/null
+++ b/node_modules/clean-css/lib/reader/rebase.js
@@ -0,0 +1,101 @@
+var extractImportUrlAndMedia = require('./extract-import-url-and-media');
+var restoreImport = require('./restore-import');
+var rewriteUrl = require('./rewrite-url');
+
+var Token = require('../tokenizer/token');
+var isImport = require('../utils/is-import');
+
+var SOURCE_MAP_COMMENT_PATTERN = /^\/\*# sourceMappingURL=(\S+) \*\/$/;
+
+function rebase(tokens, rebaseAll, validator, rebaseConfig) {
+ return rebaseAll ?
+ rebaseEverything(tokens, validator, rebaseConfig) :
+ rebaseAtRules(tokens, validator, rebaseConfig);
+}
+
+function rebaseEverything(tokens, validator, rebaseConfig) {
+ var token;
+ var i, l;
+
+ for (i = 0, l = tokens.length; i < l; i++) {
+ token = tokens[i];
+
+ switch (token[0]) {
+ case Token.AT_RULE:
+ rebaseAtRule(token, validator, rebaseConfig);
+ break;
+ case Token.AT_RULE_BLOCK:
+ rebaseProperties(token[2], validator, rebaseConfig);
+ break;
+ case Token.COMMENT:
+ rebaseSourceMapComment(token, rebaseConfig);
+ break;
+ case Token.NESTED_BLOCK:
+ rebaseEverything(token[2], validator, rebaseConfig);
+ break;
+ case Token.RULE:
+ rebaseProperties(token[2], validator, rebaseConfig);
+ break;
+ }
+ }
+
+ return tokens;
+}
+
+function rebaseAtRules(tokens, validator, rebaseConfig) {
+ var token;
+ var i, l;
+
+ for (i = 0, l = tokens.length; i < l; i++) {
+ token = tokens[i];
+
+ switch (token[0]) {
+ case Token.AT_RULE:
+ rebaseAtRule(token, validator, rebaseConfig);
+ break;
+ }
+ }
+
+ return tokens;
+}
+
+function rebaseAtRule(token, validator, rebaseConfig) {
+ if (!isImport(token[1])) {
+ return;
+ }
+
+ var uriAndMediaQuery = extractImportUrlAndMedia(token[1]);
+ var newUrl = rewriteUrl(uriAndMediaQuery[0], rebaseConfig);
+ var mediaQuery = uriAndMediaQuery[1];
+
+ token[1] = restoreImport(newUrl, mediaQuery);
+}
+
+function rebaseSourceMapComment(token, rebaseConfig) {
+ var matches = SOURCE_MAP_COMMENT_PATTERN.exec(token[1]);
+
+ if (matches && matches[1].indexOf('data:') === -1) {
+ token[1] = token[1].replace(matches[1], rewriteUrl(matches[1], rebaseConfig, true));
+ }
+}
+
+function rebaseProperties(properties, validator, rebaseConfig) {
+ var property;
+ var value;
+ var i, l;
+ var j, m;
+
+ for (i = 0, l = properties.length; i < l; i++) {
+ property = properties[i];
+
+ for (j = 2 /* 0 is Token.PROPERTY, 1 is name */, m = property.length; j < m; j++) {
+ value = property[j][1];
+
+ if (validator.isUrl(value)) {
+ property[j][1] = rewriteUrl(value, rebaseConfig);
+ }
+ }
+ }
+}
+
+module.exports = rebase;