From efad4c55c4f0043b80327479816b91825ef45fa9 Mon Sep 17 00:00:00 2001 From: Josef Bredreck Date: Fri, 5 Mar 2021 18:48:01 +0100 Subject: [PATCH 1/2] fix(core): ReadDocumentation throw error on older node versions --- packages/core/src/lib/readDocumentation.js | 116 +++++++++++---------- 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/packages/core/src/lib/readDocumentation.js b/packages/core/src/lib/readDocumentation.js index 2860dc48f..1e6a085f7 100644 --- a/packages/core/src/lib/readDocumentation.js +++ b/packages/core/src/lib/readDocumentation.js @@ -82,70 +82,74 @@ module.exports = function(pattern, patternlab, isVariant) { // Read Documentation for Pattern-Group // Use this approach, since pattern lab is a pattern driven software - try { + if (pattern.patternGroup) { const groupRelPath = pattern.relPath.split(path.sep); - const markdownFileNameGroup = path.resolve( - patternlab.config.paths.source.patterns, - groupRelPath[0] || pattern.subdir, - GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION - ); - const markdownFileContentsGroup = fs.readFileSync( - markdownFileNameGroup, - 'utf8' - ); - const markdownObjectGroup = markdown_parser.parse( - markdownFileContentsGroup - ); - - if (!_.isEmpty(markdownObjectGroup)) { - pattern.patternGroupData = markdownObjectGroup; - } - } catch (err) { - // do nothing when file not found - if (err.code !== 'ENOENT') { - logger.warning( - `There was an error setting pattern group data after markdown parsing for ${path.join( - patternlab.config.paths.source.patterns, - path.parse(pattern.subdir).dir, - GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION - )}` + try { + const markdownFileNameGroup = path.resolve( + patternlab.config.paths.source.patterns, + groupRelPath[0] || pattern.subdir, + GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION ); - logger.warning(err); + const markdownFileContentsGroup = fs.readFileSync( + markdownFileNameGroup, + 'utf8' + ); + const markdownObjectGroup = markdown_parser.parse( + markdownFileContentsGroup + ); + + if (!_.isEmpty(markdownObjectGroup)) { + pattern.patternGroupData = markdownObjectGroup; + } + } catch (err) { + // do nothing when file not found + if (err.code !== 'ENOENT') { + logger.warning( + `There was an error setting pattern group data after markdown parsing for ${path.join( + patternlab.config.paths.source.patterns, + groupRelPath[0] || pattern.subdir, + GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION + )}` + ); + logger.warning(err); + } } } // Read Documentation for Pattern-Subgroup - try { + if (pattern.patternSubgroup) { const subgroupRelPath = pattern.relPath.split(path.sep); - const markdownFileNameSubgroup = path.resolve( - patternlab.config.paths.source.patterns, - subgroupRelPath[0], - subgroupRelPath[1], - GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION - ); - const markdownFileContentsSubgroup = fs.readFileSync( - markdownFileNameSubgroup, - 'utf8' - ); - const markdownObjectSubgroup = markdown_parser.parse( - markdownFileContentsSubgroup - ); - - if (!_.isEmpty(markdownObjectSubgroup)) { - pattern.patternSubgroupData = markdownObjectSubgroup; - } - } catch (err) { - // do nothing when file not found - if (err.code !== 'ENOENT') { - logger.warning( - `There was an error setting pattern subgroup data after markdown parsing for ${path.join( - patternlab.config.paths.source.patterns, - path.parse(pattern.subdir).dir, - path.parse(pattern.subdir).base, - GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION - )}` + try { + const markdownFileNameSubgroup = path.resolve( + patternlab.config.paths.source.patterns, + subgroupRelPath[0], + subgroupRelPath[1], + GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION ); - logger.warning(err); + const markdownFileContentsSubgroup = fs.readFileSync( + markdownFileNameSubgroup, + 'utf8' + ); + const markdownObjectSubgroup = markdown_parser.parse( + markdownFileContentsSubgroup + ); + + if (!_.isEmpty(markdownObjectSubgroup)) { + pattern.patternSubgroupData = markdownObjectSubgroup; + } + } catch (err) { + // do nothing when file not found + if (err.code !== 'ENOENT') { + logger.warning( + `There was an error setting pattern subgroup data after markdown parsing for ${path.join( + patternlab.config.paths.source.patterns, + subgroupRelPath[0], + subgroupRelPath[1], + GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION + )}` + ); + logger.warning(err); + } } } }; From 1a2deee09fcb4dd8d00824322abca3d346bd8d8d Mon Sep 17 00:00:00 2001 From: Josef Bredreck Date: Fri, 5 Mar 2021 18:54:42 +0100 Subject: [PATCH 2/2] fix(core): ReadDocumentation add additional error code to ignore --- packages/core/src/lib/readDocumentation.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/lib/readDocumentation.js b/packages/core/src/lib/readDocumentation.js index 1e6a085f7..d17364d61 100644 --- a/packages/core/src/lib/readDocumentation.js +++ b/packages/core/src/lib/readDocumentation.js @@ -103,7 +103,7 @@ module.exports = function(pattern, patternlab, isVariant) { } } catch (err) { // do nothing when file not found - if (err.code !== 'ENOENT') { + if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') { logger.warning( `There was an error setting pattern group data after markdown parsing for ${path.join( patternlab.config.paths.source.patterns, @@ -139,7 +139,7 @@ module.exports = function(pattern, patternlab, isVariant) { } } catch (err) { // do nothing when file not found - if (err.code !== 'ENOENT') { + if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') { logger.warning( `There was an error setting pattern subgroup data after markdown parsing for ${path.join( patternlab.config.paths.source.patterns,