Skip to content

Commit 522e136

Browse files
Add possibility for merge strategy change
1 parent e164127 commit 522e136

File tree

10 files changed

+22
-11
lines changed

10 files changed

+22
-11
lines changed

packages/cli/test/fixtures/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
"patternStateCascade": ["inprogress", "inreview", "complete"],
7373
"patternExportDirectory": "./pattern_exports/",
7474
"patternExportPatternPartials": [],
75+
"patternMergeVariantArrays": true,
7576
"serverOptions": {
7677
"wait": 1000
7778
},

packages/core/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"patternExportPatternPartials": [],
7676
"patternExportPreserveDirectoryStructure": true,
7777
"patternExportRaw": false,
78+
"patternMergeVariantArrays": true,
7879
"serverOptions": {
7980
"wait": 1000
8081
},

packages/core/src/lib/pseudopattern_hunter.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,18 @@ pseudopattern_hunter.prototype.find_pseudopatterns = function(
6060
}
6161

6262
//extend any existing data with variant data
63-
variantFileData = _.merge(
63+
variantFileData = _.mergeWith(
6464
{},
6565
currentPattern.jsonFileData,
66-
variantFileData
66+
variantFileData,
67+
(objValue, srcValue) => {
68+
if (
69+
_.isArray(objValue) &&
70+
patternlab.config.patternMergeVariantArrays
71+
) {
72+
return objValue.concat(srcValue);
73+
}
74+
}
6775
);
6876

6977
const variantName = pseudoPatterns[i]

packages/core/test/util/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
"patternExportPatternPartials": [],
5858
"patternExportDirectory": "./pattern_exports/",
5959
"patternExtension": "mustache",
60+
"patternMergeVariantArrays": true,
6061
"cacheBust": true,
6162
"outputFileSuffixes": {
6263
"rendered": ".rendered",

packages/development-edition-engine-handlebars/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@
7070
"patternExportPatternPartials": [],
7171
"patternExportPreserveDirectoryStructure": true,
7272
"patternExportRaw": false,
73+
"patternMergeVariantArrays": true,
7374
"serverOptions": {
7475
"wait": 1000
7576
},

packages/development-edition-engine-react/patternlab-config.json

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,7 @@
2525
"m": [500, 800],
2626
"l": [800, 2600]
2727
},
28-
<<<<<<< HEAD:packages/development-edition-engine-react/patternlab-config.json
2928
"logLevel": "info",
30-
=======
31-
"patternExportAll": false,
32-
"patternExportPreserveDirectoryStructure": false,
33-
"patternExportRaw": false,
34-
"patternExportPatternPartials": [],
35-
"patternExportDirectory": "./pattern_exports/",
36-
"cacheBust": true,
37-
>>>>>>> 436dd99e50d808cd14691593b927209f1ecb663e:patternlab-config.json
3829
"outputFileSuffixes": {
3930
"rendered": ".rendered",
4031
"rawTemplate": "",
@@ -79,8 +70,12 @@
7970
},
8071
"patternExtension": "mustache",
8172
"patternStateCascade": ["inprogress", "inreview", "complete"],
73+
"patternExportAll": false,
74+
"patternExportPreserveDirectoryStructure": false,
75+
"patternExportRaw": false,
8276
"patternExportDirectory": "./pattern_exports/",
8377
"patternExportPatternPartials": [],
78+
"patternMergeVariantArrays": true,
8479
"serverOptions": {
8580
"wait": 1000
8681
},

packages/development-edition-engine-twig/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
],
8181
"patternExportDirectory": "pattern_exports",
8282
"patternExportPatternPartials": [],
83+
"patternMergeVariantArrays": true,
8384
"serverOptions": {
8485
"wait": 1000
8586
},

packages/edition-node-gulp/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"patternExportPatternPartials": [],
7676
"patternExportPreserveDirectoryStructure": true,
7777
"patternExportRaw": false,
78+
"patternMergeVariantArrays": true,
7879
"serverOptions": {
7980
"wait": 1000
8081
},

packages/edition-node/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"patternExportPatternPartials": [],
7676
"patternExportPreserveDirectoryStructure": true,
7777
"patternExportRaw": false,
78+
"patternMergeVariantArrays": true,
7879
"serverOptions": {
7980
"wait": 1000
8081
},

packages/edition-twig/patternlab-config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@
139139
"patternExportPatternPartials": [],
140140
"patternExportPreserveDirectoryStructure": true,
141141
"patternExportRaw": false,
142+
"patternMergeVariantArrays": true,
142143
"serverOptions": {
143144
"wait": 1000
144145
},

0 commit comments

Comments
 (0)