Skip to content

Commit c7609d7

Browse files
committed
loosen rules on block scope "violations" and redeclares.
1 parent bf27083 commit c7609d7

File tree

6 files changed

+102
-101
lines changed

6 files changed

+102
-101
lines changed

.eslintrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
},
66
"globals": {},
77
"rules": {
8-
"block-scoped-var": 2,
8+
"block-scoped-var": 1,
99
"camelcase": 0,
1010
"comma-spacing": [1, {"before": false, "after": true}],
1111
"consistent-return": 2,
@@ -51,7 +51,7 @@
5151
"no-new": 2,
5252
"no-param-reassign": 2,
5353
"no-proto": 2,
54-
"no-redeclare": 2,
54+
"no-redeclare": 1,
5555
"no-script-url": 2,
5656
"no-self-assign": 2,
5757
"no-self-compare": 2,

builder/list_item_hunter.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ var list_item_hunter = function () {
1717
smh = require('./style_modifier_hunter'),
1818
pattern_assembler = new pa(),
1919
style_modifier_hunter = new smh(),
20-
items = [ 'zero','one','two','three','four','five','six','seven','eight','nine','ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen','twenty'];
20+
items = [ 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty'];
2121

2222
function processListItemPartials(pattern, patternlab) {
2323
//find any listitem blocks
@@ -33,6 +33,7 @@ var list_item_hunter = function () {
3333
var loopNumberString = liMatch.split('.')[1].split('}')[0].trim();
3434
var end = liMatch.replace('#', '/');
3535
var patternBlock = pattern.template.substring(pattern.template.indexOf(liMatch) + liMatch.length, pattern.template.indexOf(end)).trim();
36+
3637
//build arrays that repeat the block, however large we need to
3738
var repeatedBlockTemplate = [];
3839
var repeatedBlockHtml = '';

builder/media_hunter.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
/*
2-
* patternlab-node - v1.1.3 - 2016
3-
*
1+
/*
2+
* patternlab-node - v1.1.3 - 2016
3+
*
44
* Brian Muenzenmeyer, and the web community.
5-
* Licensed under the MIT license.
6-
*
7-
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
5+
* Licensed under the MIT license.
6+
*
7+
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
88
*
99
*/
1010

@@ -33,8 +33,8 @@ var media_hunter = function () {
3333
}
3434
});
3535
patternlab.mediaQueries.sort(function (a, b) {
36-
var integerPartA = a.match(/(?:\d*\.)?\d+/g);
37-
var integerPartB = b.match(/(?:\d*\.)?\d+/g);
36+
a.match(/(?:\d*\.)?\d+/g);
37+
b.match(/(?:\d*\.)?\d+/g);
3838
return parseInt(a, 10) > parseInt(b, 10);
3939
});
4040
}

builder/parameter_hunter.js

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
/*
2-
* patternlab-node - v1.1.3 - 2016
3-
*
1+
/*
2+
* patternlab-node - v1.1.3 - 2016
3+
*
44
* Brian Muenzenmeyer, and the web community.
5-
* Licensed under the MIT license.
6-
*
7-
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
5+
* Licensed under the MIT license.
6+
*
7+
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
88
*
99
*/
1010

@@ -20,13 +20,13 @@ var parameter_hunter = function () {
2020

2121
function findparameters(pattern, patternlab) {
2222
if (pattern.parameteredPartials && pattern.parameteredPartials.length > 0) {
23-
//compile this partial immeadiately, essentially consuming it.
24-
23+
//compile this partial immediately, essentially consuming it.
24+
2525
pattern.parameteredPartials.forEach(function (pMatch) {
2626
//find the partial's name and retrieve it
2727
var partialName = pMatch.match(/([\w\-\.\/~]+)/g)[0];
2828
var partialPattern = pattern_assembler.get_pattern_by_key(partialName, patternlab);
29-
29+
3030
//if we retrieved a pattern we should make sure that its extendedTemplate is reset. looks to fix #190
3131
partialPattern.extendedTemplate = partialPattern.template;
3232
if (patternlab.config.debug) {
@@ -37,13 +37,13 @@ var parameter_hunter = function () {
3737
var leftParen = pMatch.indexOf('(');
3838
var rightParen = pMatch.indexOf(')');
3939
var paramString = '{' + pMatch.substring(leftParen + 1, rightParen) + '}';
40-
40+
4141
//if param keys are wrapped in single quotes, replace with double quotes.
4242
var paramStringWellFormed = paramString.replace(/(')([^']+)(')(\s*\:)/g, '"$2"$4');
43-
43+
4444
//if params keys are not wrapped in any quotes, wrap in double quotes.
4545
paramStringWellFormed = paramStringWellFormed.replace(/([\{|,]\s*)([^\s"'\:]+)(\s*\:)/g, '$1"$2"$3');
46-
46+
4747
//if param values are wrapped in single quotes, replace with double quotes.
4848
paramStringWellFormed = paramStringWellFormed.replace(/(\:\s*)(')([^']+)(')/g, '$1"$3"');
4949

builder/pattern_assembler.js

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,62 @@ var pattern_assembler = function () {
7878
}
7979
}
8080

81+
function buildListItems(container) {
82+
//combine all list items into one structure
83+
var list = [];
84+
for (var item in container.listitems) {
85+
if (container.listitems.hasOwnProperty(item)) {
86+
list.push(container.listitems[item]);
87+
}
88+
}
89+
container.listItemArray = shuffle(list);
90+
91+
for (var i = 1; i <= container.listItemArray.length; i++) {
92+
var tempItems = [];
93+
if (i === 1) {
94+
tempItems.push(container.listItemArray[0]);
95+
container.listitems['' + i ] = tempItems;
96+
} else {
97+
for (var c = 1; c <= i; c++) {
98+
tempItems.push(container.listItemArray[c - 1]);
99+
container.listitems['' + i ] = tempItems;
100+
}
101+
}
102+
}
103+
}
104+
105+
function getpatternbykey(key, patternlab) {
106+
var i; // for the for loops
107+
108+
//look for exact key matches
109+
for (i = 0; i < patternlab.patterns.length; i++) {
110+
if (patternlab.patterns[i].key === key) {
111+
return patternlab.patterns[i];
112+
}
113+
}
114+
115+
//else look by verbose syntax
116+
for (i = 0; i < patternlab.patterns.length; i++) {
117+
switch (key) {
118+
case patternlab.patterns[i].subdir + '/' + patternlab.patterns[i].fileName:
119+
case patternlab.patterns[i].subdir + '/' + patternlab.patterns[i].fileName + '.mustache':
120+
return patternlab.patterns[i];
121+
}
122+
}
123+
124+
//return the fuzzy match if all else fails
125+
for (i = 0; i < patternlab.patterns.length; i++) {
126+
var keyParts = key.split('-'),
127+
keyType = keyParts[0],
128+
keyName = keyParts.slice(1).join('-');
129+
130+
if (patternlab.patterns[i].key.split('-')[0] === keyType && patternlab.patterns[i].key.indexOf(keyName) > -1) {
131+
return patternlab.patterns[i];
132+
}
133+
}
134+
throw 'Could not find pattern with key ' + key;
135+
}
136+
81137
function processPatternIterative(file, patternlab) {
82138
var fs = require('fs-extra'),
83139
of = require('./object_factory'),
@@ -240,38 +296,6 @@ var pattern_assembler = function () {
240296
pseudopattern_hunter.find_pseudopatterns(currentPattern, patternlab);
241297
}
242298

243-
function getpatternbykey(key, patternlab) {
244-
var i; // for the for loops
245-
246-
//look for exact key matches
247-
for (i = 0; i < patternlab.patterns.length; i++) {
248-
if (patternlab.patterns[i].key === key) {
249-
return patternlab.patterns[i];
250-
}
251-
}
252-
253-
//else look by verbose syntax
254-
for (i = 0; i < patternlab.patterns.length; i++) {
255-
switch (key) {
256-
case patternlab.patterns[i].subdir + '/' + patternlab.patterns[i].fileName:
257-
case patternlab.patterns[i].subdir + '/' + patternlab.patterns[i].fileName + '.mustache':
258-
return patternlab.patterns[i];
259-
}
260-
}
261-
262-
//return the fuzzy match if all else fails
263-
for (i = 0; i < patternlab.patterns.length; i++) {
264-
var keyParts = key.split('-'),
265-
keyType = keyParts[0],
266-
keyName = keyParts.slice(1).join('-');
267-
268-
if (patternlab.patterns[i].key.split('-')[0] === keyType && patternlab.patterns[i].key.indexOf(keyName) > -1) {
269-
return patternlab.patterns[i];
270-
}
271-
}
272-
throw 'Could not find pattern with key ' + key;
273-
}
274-
275299
function mergeData(obj1, obj2) {
276300
/*eslint-disable guard-for-in, no-param-reassign*/
277301
if (typeof obj2 === 'undefined') {
@@ -302,30 +326,6 @@ var pattern_assembler = function () {
302326
return obj2;
303327
}
304328

305-
function buildListItems(container) {
306-
//combine all list items into one structure
307-
var list = [];
308-
for (var item in container.listitems) {
309-
if (container.listitems.hasOwnProperty(item)) {
310-
list.push(container.listitems[item]);
311-
}
312-
}
313-
container.listItemArray = shuffle(list);
314-
315-
for (var i = 1; i <= container.listItemArray.length; i++) {
316-
var tempItems = [];
317-
if (i === 1) {
318-
tempItems.push(container.listItemArray[0]);
319-
container.listitems['' + i ] = tempItems;
320-
} else {
321-
for (var c = 1; c <= i; c++) {
322-
tempItems.push(container.listItemArray[c - 1]);
323-
container.listitems['' + i ] = tempItems;
324-
}
325-
}
326-
}
327-
}
328-
329329
//http://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array-in-javascript
330330
function shuffle(o) {
331331
/*eslint-disable curly*/

builder/patternlab.js

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
/*
2-
* patternlab-node - v1.1.3 - 2016
3-
*
1+
/*
2+
* patternlab-node - v1.1.3 - 2016
3+
*
44
* Brian Muenzenmeyer, and the web community.
5-
* Licensed under the MIT license.
6-
*
7-
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
5+
* Licensed under the MIT license.
6+
*
7+
* Many thanks to Brad Frost and Dave Olsen for inspiration, encouragement, and advice.
88
*
99
*/
1010

@@ -153,13 +153,24 @@ var patternlab_engine = function (config) {
153153
pattern_exporter.export_patterns(patternlab);
154154
}
155155

156+
function addToPatternPaths(bucketName, pattern) {
157+
//this is messy, could use a refactor.
158+
patternlab.patternPaths[bucketName][pattern.patternName] = pattern.subdir.replace(/\\/g, '/') + "/" + pattern.fileName;
159+
}
160+
161+
//todo: refactor this as a method on the pattern object itself once we merge dev with pattern-engines branch
162+
function isPatternExcluded(pattern) {
163+
// returns whether or not the first character of the pattern filename is an underscore, or excluded
164+
return pattern.fileName.charAt(0) === '_';
165+
}
166+
156167
function buildFrontEnd() {
157168
var pattern_assembler = new pa(),
158169
media_hunter = new mh(),
159170
styleGuideExcludes = patternlab.config.styleGuideExcludes,
160171
styleguidePatterns = [],
161172
i; // for loops
162-
173+
163174
patternlab.buckets = [];
164175
patternlab.bucketIndex = [];
165176
patternlab.patternPaths = {};
@@ -169,7 +180,7 @@ var patternlab_engine = function (config) {
169180
patternlab.patterns = patternlab.patterns.sort(function (a, b) {
170181
if (a.name > b.name) { return 1; }
171182
if (a.name < b.name) { return -1; }
172-
183+
173184
// a must be equal to b
174185
return 0;
175186
});
@@ -203,7 +214,7 @@ var patternlab_engine = function (config) {
203214
//build the styleguide
204215
var styleguideTemplate = fs.readFileSync(path.resolve(paths.source.patternlabFiles, 'styleguide.mustache'), 'utf8'),
205216
styleguideHtml = pattern_assembler.renderPattern(styleguideTemplate, {partials: styleguidePatterns});
206-
217+
207218
fs.outputFileSync(path.resolve(paths.public.styleguide, 'html/styleguide.html'), styleguideHtml);
208219

209220
//build the viewall pages
@@ -325,7 +336,7 @@ var patternlab_engine = function (config) {
325336
navSubItem.patternPartial = bucketName + "-" + pattern.patternName; //add the hyphenated name
326337

327338
//add the patternState if it exists
328-
if(pattern.patternState){
339+
if (pattern.patternState) {
329340
navSubItem.patternState = pattern.patternState;
330341
}
331342

@@ -351,7 +362,7 @@ var patternlab_engine = function (config) {
351362
navViewAllItem.patternPartial = "viewall-" + pattern.patternGroup;
352363

353364
bucket.patternItems.push(navViewAllItem);
354-
patternlab.viewAllPaths[bucketName]['viewall'] = pattern.subdir.slice(0, pattern.subdir.indexOf(pattern.patternGroup) + pattern.patternGroup.length);
365+
patternlab.viewAllPaths[bucketName].viewall = pattern.subdir.slice(0, pattern.subdir.indexOf(pattern.patternGroup) + pattern.patternGroup.length);
355366
}
356367

357368
//add the bucket.
@@ -477,17 +488,6 @@ var patternlab_engine = function (config) {
477488
fs.outputFileSync(path.resolve(paths.public.root, 'index.html'), patternlabSiteHtml);
478489
}
479490

480-
function addToPatternPaths(bucketName, pattern) {
481-
//this is messy, could use a refactor.
482-
patternlab.patternPaths[bucketName][pattern.patternName] = pattern.subdir.replace(/\\/g, '/') + "/" + pattern.fileName;
483-
}
484-
485-
//todo: refactor this as a method on the pattern object itself once we merge dev with pattern-engines branch
486-
function isPatternExcluded(pattern) {
487-
// returns whether or not the first character of the pattern filename is an underscore, or excluded
488-
return pattern.fileName.charAt(0) === '_';
489-
}
490-
491491
return {
492492
version: function () {
493493
return getVersion();

0 commit comments

Comments
 (0)