From 31380e0d90ec0fb0e3b61b9a2a5cd983ab86b874 Mon Sep 17 00:00:00 2001
From: Antonio Laguna <sombragriselros@gmail.com>
Date: Fri, 14 Dec 2018 12:41:31 +0100
Subject: [PATCH 1/3] Safe checking if params are present

---
 src/plugins/postcss-icss-parser.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/plugins/postcss-icss-parser.js b/src/plugins/postcss-icss-parser.js
index 1cb7a988..2f2cba99 100644
--- a/src/plugins/postcss-icss-parser.js
+++ b/src/plugins/postcss-icss-parser.js
@@ -76,7 +76,9 @@ export default postcss.plugin(
       // Replace tokens in at-rules
       css.walkAtRules((atrule) => {
         // eslint-disable-next-line no-param-reassign
-        atrule.params = replaceImportsInString(atrule.params.toString());
+        if (atrule.params) {
+          atrule.params = replaceImportsInString(atrule.params.toString());
+        }
       });
 
       // Replace tokens in export

From 9d0c096a7b53f37f8c1d7ade3227bb5cb5fafe6f Mon Sep 17 00:00:00 2001
From: Antonio Laguna <sombragriselros@gmail.com>
Date: Fri, 14 Dec 2018 13:01:43 +0100
Subject: [PATCH 2/3] Fixing eslint

To be next to where the infraction happens
---
 src/plugins/postcss-icss-parser.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/plugins/postcss-icss-parser.js b/src/plugins/postcss-icss-parser.js
index 2f2cba99..9c0bbf30 100644
--- a/src/plugins/postcss-icss-parser.js
+++ b/src/plugins/postcss-icss-parser.js
@@ -75,8 +75,8 @@ export default postcss.plugin(
 
       // Replace tokens in at-rules
       css.walkAtRules((atrule) => {
-        // eslint-disable-next-line no-param-reassign
         if (atrule.params) {
+          // eslint-disable-next-line no-param-reassign
           atrule.params = replaceImportsInString(atrule.params.toString());
         }
       });

From 2bfb0b5b5044419d9f8a08543c5630376bb404d8 Mon Sep 17 00:00:00 2001
From: Antonio Laguna <sombragriselros@gmail.com>
Date: Fri, 14 Dec 2018 13:27:34 +0100
Subject: [PATCH 3/3] Adding comment to if rule

---
 src/plugins/postcss-icss-parser.js | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/plugins/postcss-icss-parser.js b/src/plugins/postcss-icss-parser.js
index 9c0bbf30..6730f50b 100644
--- a/src/plugins/postcss-icss-parser.js
+++ b/src/plugins/postcss-icss-parser.js
@@ -75,6 +75,8 @@ export default postcss.plugin(
 
       // Replace tokens in at-rules
       css.walkAtRules((atrule) => {
+        // Due reusing `ast` from `postcss-loader` some plugins may lack
+        // `params` property, we need to account for this possibility
         if (atrule.params) {
           // eslint-disable-next-line no-param-reassign
           atrule.params = replaceImportsInString(atrule.params.toString());