@@ -20,10 +20,6 @@ var ui_builder = function () {
2020 * @param pattern - the pattern to add
2121 */
2222 function addToPatternPaths ( patternlab , pattern ) {
23- if ( ! patternlab . patternPaths ) {
24- patternlab . patternPaths = { } ;
25- }
26-
2723 if ( ! patternlab . patternPaths [ pattern . patternGroup ] ) {
2824 patternlab . patternPaths [ pattern . patternGroup ] = { } ;
2925 }
@@ -40,10 +36,6 @@ var ui_builder = function () {
4036 * @param pattern - the pattern to add
4137 */
4238 function addToViewAllPaths ( patternlab , pattern ) {
43- if ( ! patternlab . viewAllPaths ) {
44- patternlab . viewAllPaths = { } ;
45- }
46-
4739 if ( ! patternlab . viewAllPaths [ pattern . patternGroup ] ) {
4840 patternlab . viewAllPaths [ pattern . patternGroup ] = { } ;
4941 }
@@ -342,10 +334,6 @@ var ui_builder = function () {
342334 patternGroups : { }
343335 } ;
344336
345- if ( ! patternlab . patternTypes ) {
346- patternlab . patternTypes = [ ] ;
347- }
348-
349337 _ . forEach ( sortPatterns ( patternlab . patterns ) , function ( pattern ) {
350338
351339 //ignore patterns we can omit from rendering directly
@@ -560,12 +548,23 @@ var ui_builder = function () {
560548 writeFile ( path . resolve ( paths . public . annotations , 'annotations.js' ) , annotations ) ;
561549 }
562550
551+ /**
552+ * Reset any global data we use between builds to guard against double adding things
553+ */
554+ function resetUIBuilderState ( patternlab ) {
555+ patternlab . patternPaths = { } ;
556+ patternlab . viewAllPaths = { } ;
557+ patternlab . patternTypes = [ ] ;
558+ }
559+
563560 /**
564561 * The main entry point for ui_builder
565562 * @param patternlab - global data store
566563 */
567564 function buildFrontend ( patternlab ) {
568565
566+ resetUIBuilderState ( patternlab ) ;
567+
569568 var paths = patternlab . config . paths ;
570569
571570 //determine which patterns should be included in the front-end rendering
@@ -626,6 +625,9 @@ var ui_builder = function () {
626625 } ,
627626 groupPatterns : function ( patternlab ) {
628627 return groupPatterns ( patternlab ) ;
628+ } ,
629+ resetUIBuilderState : function ( patternlab ) {
630+ resetUIBuilderState ( patternlab ) ;
629631 }
630632 } ;
631633
0 commit comments