Skip to content

refactor: Improve handling of non-empty, non-manifest JSON files - #1668

Open
d3xter666 wants to merge 3 commits into
refactor-manifest-messagesfrom
refactor-improve-json-handling-of-empty-non-manifest-files
Open

d3xter666 wants to merge 3 commits into
refactor-manifest-messagesfrom
refactor-improve-json-handling-of-empty-non-manifest-files

Conversation

@d3xter666

Copy link
Copy Markdown
Member

JIRA: CPOUI5FOUNDATION-1046

This PR steps over and extends #1667.

The reason behind this change is that besides it's not related to manifest.json parsing, it follows the same pattern for handling empty JSON files and providing more context in the error message.
Thus, we handle this edge case of parsing empty JSON files the same.

Note: There are special cases where an empty JSON is expected and is handled explicitly. Those are not touched. i.e. https://github.com/UI5/cli/blob/main/packages/builder/lib/processors/jsdoc/lib/createIndexFiles.js#L66-L68

@d3xter666
d3xter666 requested a review from a team October 19, 2026 10:35
@d3xter666
d3xter666 force-pushed the refactor-improve-json-handling-of-empty-non-manifest-files branch 4 times, most recently from 5202ff1 to ca50901 Compare October 20, 2026 06:40
@d3xter666
d3xter666 force-pushed the refactor-manifest-messages branch from 9a87056 to 15d0eb5 Compare October 20, 2026 06:40
@d3xter666
d3xter666 force-pushed the refactor-improve-json-handling-of-empty-non-manifest-files branch from ca50901 to 957e7b7 Compare October 20, 2026 07:06
@d3xter666
d3xter666 force-pushed the refactor-manifest-messages branch 2 times, most recently from 2e094a7 to 85ac842 Compare October 20, 2026 07:50
@d3xter666
d3xter666 force-pushed the refactor-improve-json-handling-of-empty-non-manifest-files branch from 957e7b7 to 796e968 Compare October 20, 2026 07:50
Comment thread packages/builder/lib/lbt/bundle/Builder.js Outdated
return JSON.parse(schemaFile);
const schemaUrl = new URL(`./schema/${schemaPath}`, import.meta.url);
const schemaFile = await readFile(fileURLToPath(schemaUrl), {encoding: "utf8"});
return parseJSON(schemaFile, schemaPath);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why provide the URL and not the file path here?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you mean exactly here. Maybe that I didn't provide the full path like fileURLToPath(schemaUrl)?
Fixed with 791e191

@d3xter666
d3xter666 force-pushed the refactor-improve-json-handling-of-empty-non-manifest-files branch 2 times, most recently from 791e191 to f88b4a8 Compare October 21, 2026 05:03
@d3xter666
d3xter666 force-pushed the refactor-manifest-messages branch from e9b7e4e to 54980c9 Compare October 21, 2026 05:05
@d3xter666
d3xter666 force-pushed the refactor-improve-json-handling-of-empty-non-manifest-files branch from f88b4a8 to 09d3d03 Compare October 21, 2026 05:21
Apply the parseJSON util to the non-manifest JSON parse sites in the
builder (lbt bundle module content and source maps, minifier source maps,
flexibility changes bundler and the .theming reader) so empty and
malformed files surface a clear, path-named error.

Also trim the redundant "Failed to parse JSON file" log in the lbt bundle
Builder: the util error (logged right after) already names the file and
the parse failure, so the catch now only states the skip action.
Apply the parseJSON util to the non-manifest JSON parse sites in the
project (build manifest, workspace package.json, ui5Framework helper,
maven/npm installers and the validation schema reader) so empty and
malformed files surface a clear, path-named error.
- Correct filenames for source maps
- Get schema path
@d3xter666
d3xter666 force-pushed the refactor-improve-json-handling-of-empty-non-manifest-files branch from 09d3d03 to 6fedb4f Compare October 21, 2026 05:23
@d3xter666
d3xter666 force-pushed the refactor-manifest-messages branch from 54980c9 to fca52ec Compare October 21, 2026 05:23

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants