Skip to content

Commit

Permalink
refactor: stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Oct 29, 2018
1 parent 2502fbc commit 2a41654
Show file tree
Hide file tree
Showing 23 changed files with 75 additions and 882 deletions.
4 changes: 3 additions & 1 deletion src/index.js
Expand Up @@ -130,7 +130,9 @@ export default function loader(content, map, meta) {

if (result.messages && result.messages.length > 0) {
result.messages
.filter((message) => (message.type === 'module' ? message : false))
.filter(
(message) => (message.type === 'css-loader' ? message : false)
)
.forEach((message) => {
try {
moduleObj = message.modify(moduleObj, this);
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/import.js
Expand Up @@ -58,7 +58,7 @@ const parseImport = (params) => {

export default postcss.plugin(
pluginName,
(options) =>
(options = {}) =>
function process(css, result) {
const { importLoaders } = options;
const imports = {};
Expand Down Expand Up @@ -101,7 +101,7 @@ export default postcss.plugin(

result.messages.push({
pluginName,
type: 'module',
type: 'css-loader',
modify(moduleObj, loaderContext) {
const { url, media } = importee;

Expand Down
3 changes: 2 additions & 1 deletion src/plugins/url.js
Expand Up @@ -117,7 +117,7 @@ export default postcss.plugin(
Object.keys(urls).forEach((url) => {
result.messages.push({
pluginName,
type: 'module',
type: 'css-loader',
modify(moduleObj, loaderContext) {
if (!hasURLEscapeRuntime) {
moduleObj.imports.push(
Expand All @@ -139,6 +139,7 @@ export default postcss.plugin(
urlToRequest(normalizedUrl)
)}));`
);
// eslint-disable-next-line no-param-reassign
moduleObj.module = moduleObj.module.replace(
new RegExp(placeholder, 'g'),
`" + ${placeholder} + "`
Expand Down
17 changes: 5 additions & 12 deletions test/__snapshots__/import-option.test.js.snap
Expand Up @@ -6,8 +6,7 @@ exports[`import false: module (evaluated) 1`] = `
Array [
Array [
1,
"
@import url(test.css);
"@import url(test.css);
@import url('test.css');
@import url(\\"test.css\\");
@IMPORT url(test.css);
Expand Down Expand Up @@ -56,9 +55,8 @@ exports[`import false: module 1`] = `
"// CSS runtime
module.exports = exports = require(\\"../../../src/runtime/api.js\\")(false);
// CSS module
exports.push([module.id, \\"\\\\n@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test-media.css) screen and print;\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\", \\"\\"]);
exports.push([module.id, \\"@import url(test.css);\\\\n@import url('test.css');\\\\n@import url(\\\\\\"test.css\\\\\\");\\\\n@IMPORT url(test.css);\\\\n@import URL(test.css);\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import \\\\\\"test.css\\\\\\";\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import url(test.css) screen and print;\\\\n@import url(test.css) SCREEN AND PRINT;\\\\n@import url(test.css)screen and print;\\\\n@import url(test-media.css) screen and print;\\\\n@import url(test-other.css) (min-width: 100px);\\\\n@import url(http://example.com/style.css);\\\\n@import url(http://example.com/style.css#hash);\\\\n@import url(http://example.com/other-style.css) screen and print;\\\\n@import url(\\\\\\"//example.com/style.css\\\\\\");\\\\n@import url(~package/test.css);\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n@import url('query.css?foo=1&bar=1');\\\\n@import url('other-query.css?foo=1&bar=1#hash');\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\", \\"\\"]);
"
`;

Expand Down Expand Up @@ -94,9 +92,7 @@ Array [
],
Array [
4,
"
.test {
".test {
c: d;
}
",
Expand Down Expand Up @@ -148,8 +144,7 @@ Array [
],
Array [
1,
"
@import url();
"@import url();
@import url('');
@import url(\\"\\");
@import '';
Expand Down Expand Up @@ -179,7 +174,6 @@ Array [
exports[`import true: module 1`] = `
"// CSS runtime
module.exports = exports = require(\\"../../../src/runtime/api.js\\")(false);
// CSS imports
exports.i(require(\\"-!../../../src/index.js??ref--4!./test.css\\"), \\"\\");
exports.i(require(\\"-!../../../src/index.js??ref--4!./test.css\\"), \\"screen and print\\");
Expand All @@ -192,9 +186,8 @@ exports.push([module.id, \\"@import url(//example.com/style.css);\\", \\"\\"]);
exports.i(require(\\"-!../../../src/index.js??ref--4!package/test.css\\"), \\"\\");
exports.i(require(\\"-!../../../src/index.js??ref--4!./query.css?foo=1&bar=1\\"), \\"\\");
exports.i(require(\\"-!../../../src/index.js??ref--4!./other-query.css?foo=1&bar=1\\"), \\"\\");
// CSS module
exports.push([module.id, \\"\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\", \\"\\"]);
exports.push([module.id, \\"@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import '';\\\\n@import \\\\\\"\\\\\\";\\\\n@import \\\\\\" \\\\\\";\\\\n@import url();\\\\n@import url('');\\\\n@import url(\\\\\\"\\\\\\");\\\\n@import ;\\\\n@import foo-bar;\\\\n@import-normalize;\\\\n@import url('http://') :root {}\\\\n\\\\n.class {\\\\n a: b c d;\\\\n}\\\\n\\\\n.foo {\\\\n @import 'path.css';\\\\n}\\\\n\\", \\"\\"]);
"
`;

Expand Down

0 comments on commit 2a41654

Please sign in to comment.