@@ -12,9 +12,11 @@ var path = require('path'),
12
12
lih = require ( './list_item_hunter' ) ,
13
13
smh = require ( './style_modifier_hunter' ) ,
14
14
ph = require ( './parameter_hunter' ) ,
15
+ ch = require ( './changes_hunter' ) ,
15
16
JSON5 = require ( 'json5' ) ;
16
17
17
18
var markdown_parser = new mp ( ) ;
19
+ var changes_hunter = new ch ( ) ;
18
20
19
21
var pattern_assembler = function ( ) {
20
22
// HELPER FUNCTIONS
@@ -241,30 +243,6 @@ var pattern_assembler = function () {
241
243
addPattern ( pattern , patternlab ) ;
242
244
}
243
245
244
- function checkBuildState ( pattern , patternlab ) {
245
- //write the compiled template to the public patterns directory
246
- var renderedTemplatePath =
247
- patternlab . config . paths . public . patterns + pattern . getPatternLink ( patternlab , 'rendered' ) ;
248
-
249
- if ( ! pattern . compileState ) {
250
- pattern . compileState = CompileState . NEEDS_REBUILD ;
251
- }
252
-
253
- try {
254
- // Prevent error message if file does not exist
255
- fs . accessSync ( renderedTemplatePath , fs . F_OK ) ;
256
- var outputLastModified = fs . statSync ( renderedTemplatePath ) . mtime . getTime ( ) ;
257
-
258
- if ( pattern . lastModified && outputLastModified > pattern . lastModified ) {
259
- pattern . compileState = CompileState . CLEAN ;
260
- }
261
- } catch ( e ) {
262
- // Output does not exist yet, needs recompile
263
- }
264
- // Make the pattern known to the PatternGraph and remember its compileState
265
- patternlab . graph . add ( pattern ) ;
266
- }
267
-
268
246
function processPatternIterative ( relPath , patternlab ) {
269
247
270
248
var relativeDepth = ( relPath . match ( / \w (? = \\ ) | \w (? = \/ ) / g) || [ ] ) . length ;
@@ -334,7 +312,7 @@ var pattern_assembler = function () {
334
312
335
313
//see if this file has a state
336
314
setState ( currentPattern , patternlab , true ) ;
337
- var jsonFileLastModified = null ;
315
+
338
316
//look for a json file for this template
339
317
try {
340
318
var jsonFilename = path . resolve ( patternsPath , currentPattern . subdir , currentPattern . fileName + ".json" ) ;
@@ -345,7 +323,6 @@ var pattern_assembler = function () {
345
323
}
346
324
if ( jsonFilenameStats && jsonFilenameStats . isFile ( ) ) {
347
325
currentPattern . jsonFileData = fs . readJSONSync ( jsonFilename ) ;
348
- jsonFileLastModified = jsonFilenameStats . mtime . getTime ( ) ;
349
326
if ( patternlab . config . debug ) {
350
327
console . log ( 'processPatternIterative: found pattern-specific data.json for ' + currentPattern . patternPartial ) ;
351
328
}
@@ -382,17 +359,6 @@ var pattern_assembler = function () {
382
359
383
360
//add the raw template to memory
384
361
var templatePath = path . resolve ( patternsPath , currentPattern . relPath ) ;
385
- if ( templatePath ) {
386
- try {
387
- var stat = fs . statSync ( templatePath ) ;
388
- // Needs recompile whenever either the JSON or the source file has been changed
389
- currentPattern . lastModified = Math . max ( stat . mtime . getTime ( ) , jsonFileLastModified ) ;
390
- } catch ( e ) {
391
- // Ignore, not a regular file
392
- }
393
- }
394
-
395
- checkBuildState ( currentPattern , patternlab ) ;
396
362
397
363
currentPattern . template = fs . readFileSync ( templatePath , 'utf8' ) ;
398
364
@@ -402,6 +368,12 @@ var pattern_assembler = function () {
402
368
//find any pattern parameters that may be in the current pattern
403
369
currentPattern . parameteredPartials = currentPattern . findPartialsWithPatternParameters ( ) ;
404
370
371
+ [ templatePath , jsonFilename , listJsonFileName ] . forEach ( file => {
372
+ changes_hunter . checkLastModified ( currentPattern , file )
373
+ } ) ;
374
+
375
+ changes_hunter . checkBuildState ( currentPattern , patternlab ) ;
376
+
405
377
//add currentPattern to patternlab.patterns array
406
378
addPattern ( currentPattern , patternlab ) ;
407
379
@@ -584,9 +556,6 @@ var pattern_assembler = function () {
584
556
renderPattern : function ( template , data , partials ) {
585
557
return renderPattern ( template , data , partials ) ;
586
558
} ,
587
- check_build_state : function ( pattern , patternlab ) {
588
- return checkBuildState ( pattern , patternlab ) ;
589
- } ,
590
559
process_pattern_iterative : function ( file , patternlab ) {
591
560
return processPatternIterative ( file , patternlab ) ;
592
561
} ,
0 commit comments