Skip to content

Commit 399d0e1

Browse files
fix(core): ReadDocumentation throw error on older node versions (#1295)
* fix(core): ReadDocumentation throw error on older node versions * fix(core): ReadDocumentation add additional error code to ignore
1 parent 2858fb1 commit 399d0e1

File tree

1 file changed

+60
-56
lines changed

1 file changed

+60
-56
lines changed

packages/core/src/lib/readDocumentation.js

+60-56
Original file line numberDiff line numberDiff line change
@@ -82,70 +82,74 @@ module.exports = function(pattern, patternlab, isVariant) {
8282

8383
// Read Documentation for Pattern-Group
8484
// Use this approach, since pattern lab is a pattern driven software
85-
try {
85+
if (pattern.patternGroup) {
8686
const groupRelPath = pattern.relPath.split(path.sep);
87-
const markdownFileNameGroup = path.resolve(
88-
patternlab.config.paths.source.patterns,
89-
groupRelPath[0] || pattern.subdir,
90-
GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION
91-
);
92-
const markdownFileContentsGroup = fs.readFileSync(
93-
markdownFileNameGroup,
94-
'utf8'
95-
);
96-
const markdownObjectGroup = markdown_parser.parse(
97-
markdownFileContentsGroup
98-
);
99-
100-
if (!_.isEmpty(markdownObjectGroup)) {
101-
pattern.patternGroupData = markdownObjectGroup;
102-
}
103-
} catch (err) {
104-
// do nothing when file not found
105-
if (err.code !== 'ENOENT') {
106-
logger.warning(
107-
`There was an error setting pattern group data after markdown parsing for ${path.join(
108-
patternlab.config.paths.source.patterns,
109-
path.parse(pattern.subdir).dir,
110-
GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION
111-
)}`
87+
try {
88+
const markdownFileNameGroup = path.resolve(
89+
patternlab.config.paths.source.patterns,
90+
groupRelPath[0] || pattern.subdir,
91+
GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION
11292
);
113-
logger.warning(err);
93+
const markdownFileContentsGroup = fs.readFileSync(
94+
markdownFileNameGroup,
95+
'utf8'
96+
);
97+
const markdownObjectGroup = markdown_parser.parse(
98+
markdownFileContentsGroup
99+
);
100+
101+
if (!_.isEmpty(markdownObjectGroup)) {
102+
pattern.patternGroupData = markdownObjectGroup;
103+
}
104+
} catch (err) {
105+
// do nothing when file not found
106+
if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') {
107+
logger.warning(
108+
`There was an error setting pattern group data after markdown parsing for ${path.join(
109+
patternlab.config.paths.source.patterns,
110+
groupRelPath[0] || pattern.subdir,
111+
GROUP_DOC_PREFIX + pattern.patternGroup + FILE_EXTENSION
112+
)}`
113+
);
114+
logger.warning(err);
115+
}
114116
}
115117
}
116118

117119
// Read Documentation for Pattern-Subgroup
118-
try {
120+
if (pattern.patternSubgroup) {
119121
const subgroupRelPath = pattern.relPath.split(path.sep);
120-
const markdownFileNameSubgroup = path.resolve(
121-
patternlab.config.paths.source.patterns,
122-
subgroupRelPath[0],
123-
subgroupRelPath[1],
124-
GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION
125-
);
126-
const markdownFileContentsSubgroup = fs.readFileSync(
127-
markdownFileNameSubgroup,
128-
'utf8'
129-
);
130-
const markdownObjectSubgroup = markdown_parser.parse(
131-
markdownFileContentsSubgroup
132-
);
133-
134-
if (!_.isEmpty(markdownObjectSubgroup)) {
135-
pattern.patternSubgroupData = markdownObjectSubgroup;
136-
}
137-
} catch (err) {
138-
// do nothing when file not found
139-
if (err.code !== 'ENOENT') {
140-
logger.warning(
141-
`There was an error setting pattern subgroup data after markdown parsing for ${path.join(
142-
patternlab.config.paths.source.patterns,
143-
path.parse(pattern.subdir).dir,
144-
path.parse(pattern.subdir).base,
145-
GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION
146-
)}`
122+
try {
123+
const markdownFileNameSubgroup = path.resolve(
124+
patternlab.config.paths.source.patterns,
125+
subgroupRelPath[0],
126+
subgroupRelPath[1],
127+
GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION
147128
);
148-
logger.warning(err);
129+
const markdownFileContentsSubgroup = fs.readFileSync(
130+
markdownFileNameSubgroup,
131+
'utf8'
132+
);
133+
const markdownObjectSubgroup = markdown_parser.parse(
134+
markdownFileContentsSubgroup
135+
);
136+
137+
if (!_.isEmpty(markdownObjectSubgroup)) {
138+
pattern.patternSubgroupData = markdownObjectSubgroup;
139+
}
140+
} catch (err) {
141+
// do nothing when file not found
142+
if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') {
143+
logger.warning(
144+
`There was an error setting pattern subgroup data after markdown parsing for ${path.join(
145+
patternlab.config.paths.source.patterns,
146+
subgroupRelPath[0],
147+
subgroupRelPath[1],
148+
GROUP_DOC_PREFIX + pattern.patternSubgroup + FILE_EXTENSION
149+
)}`
150+
);
151+
logger.warning(err);
152+
}
149153
}
150154
}
151155
};

0 commit comments

Comments
 (0)