Skip to content

Commit 3b106b9

Browse files
committed
[change] ネストしたspriteへのパスへのワークアラウンド
1 parent c312e3c commit 3b106b9

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

lib/loader.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,26 @@
55
var path = require("path");
66
var loaderUtils = require("loader-utils");
77
var camelCase = require("lodash.camelcase");
8+
var escapeRegexp = require("escape-regexp");
89
var processCss = require("./processCss");
910
var getImportPrefix = require("./getImportPrefix");
1011

12+
const pathtoSprites = path.resolve('client/images/sprites');
13+
const nestedImport = escapeRegexp('../../../styles');
1114

1215
module.exports = function(content, map) {
1316
// ワークアラウンド
1417
// postcss-spritesに各コンポーネント用のsprite.pngを渡す方法がわからない
15-
if (content.match(/url\(client\/images\/sprites/)) {
16-
content = content.replace(/url\(client\/images\/sprites\//g, 'url(../../images/sprites/');
18+
const parsedMap = JSON.parse(map);
19+
const hasSprite = content.match(/url\(client\/images\/sprites/) ? true : false;
20+
const isNested = parsedMap.sources.filter((source)=> source.match(nestedImport)).length > 0;
21+
22+
if (hasSprite) {
23+
if (isNested) {
24+
content = content.replace(/url\(client\/images\/sprites\//g, 'url(../../../images/sprites/');
25+
} else {
26+
content = content.replace(/url\(client\/images\/sprites\//g, 'url(../../images/sprites/');
27+
}
1728
}
1829

1930
if(this.cacheable) this.cacheable();

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66
"dependencies": {
77
"css-selector-tokenizer": "^0.5.1",
88
"cssnano": ">=2.6.1 <4",
9+
"escape-regexp": "0.0.1",
910
"loader-utils": "~0.2.2",
10-
"object-assign": "^4.0.1",
1111
"lodash.camelcase": "^3.0.1",
12+
"object-assign": "^4.0.1",
1213
"postcss": "^5.0.6",
1314
"postcss-modules-extract-imports": "1.0.0-beta2",
1415
"postcss-modules-local-by-default": "^1.0.0",

0 commit comments

Comments
 (0)