diff --git a/.gitignore b/.gitignore index 518329ca0..8e57ffcf7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ .idea *.iml *.sublime-* +.DS_Store # npm node_modules diff --git a/packages/less/src/less/parser/parser.js b/packages/less/src/less/parser/parser.js index d9b1e8137..41b7d01a5 100644 --- a/packages/less/src/less/parser/parser.js +++ b/packages/less/src/less/parser/parser.js @@ -1684,7 +1684,7 @@ const Parser = function Parser(context, imports, fileInfo) { let features; const index = parserInput.i; - const dir = parserInput.$re(/^@import?\s+/); + const dir = parserInput.$re(/^@import\s+/); if (dir) { const options = (dir ? this.importOptions() : null) || {}; @@ -1844,7 +1844,7 @@ const Parser = function Parser(context, imports, fileInfo) { let args; let options; const index = parserInput.i; - const dir = parserInput.$re(/^@plugin?\s+/); + const dir = parserInput.$re(/^@plugin\s+/); if (dir) { args = this.pluginArgs(); diff --git a/packages/test-data/css/_main/impor.css b/packages/test-data/css/_main/impor.css new file mode 100644 index 000000000..7345719e9 --- /dev/null +++ b/packages/test-data/css/_main/impor.css @@ -0,0 +1 @@ +@impor "impor-typo-dont-parse-as-@import.less"; diff --git a/packages/test-data/css/_main/plugi.css b/packages/test-data/css/_main/plugi.css new file mode 100644 index 000000000..de4c6a02c --- /dev/null +++ b/packages/test-data/css/_main/plugi.css @@ -0,0 +1 @@ +@plugi "plugi-typo-dont-parse-as-@plugin"; diff --git a/packages/test-data/less/_main/impor.less b/packages/test-data/less/_main/impor.less new file mode 100644 index 000000000..bb5e36b0a --- /dev/null +++ b/packages/test-data/less/_main/impor.less @@ -0,0 +1,5 @@ +// https://github.com/less/less.js/issues/3660 +// const dir = parserInput.$re(/^@import?\s+/); +// correct regexp is /^@import\s+/ +// so follow code will change nothing, parse result is same with raw less code +@impor "impor-typo-dont-parse-as-@import.less"; diff --git a/packages/test-data/less/_main/plugi.less b/packages/test-data/less/_main/plugi.less new file mode 100644 index 000000000..e200eb9f5 --- /dev/null +++ b/packages/test-data/less/_main/plugi.less @@ -0,0 +1,5 @@ +// https://github.com/less/less.js/issues/3660 +// const dir = parserInput.$re(/^@plugin?\s+/); +// correct regexp is /^@plugin\s+/ +// so follow code will change nothing, parse result is same with raw less code +@plugi "plugi-typo-dont-parse-as-@plugin";