Fix make-cjs-components script to work without mjs files being built first #1013
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR resolves the problem where the webpacking failed when building the cjs bundle without having first build the mjs files. It was due to the
webpack.common.cjs
file usingrequire.resolve()
command to get full path names; sincewebpack.common.cjs
is in thecomponents
directory, it was using the mainpackage.json
file, and so the pseudo-packages like#js
were resolving to themathjax-full/mjs
direcrtory rather than themathjax-full/cjs
directory.This resolves the problem by moving the
fullPath()
function to a separatefullpath.cjs
file in thecomponents/mjs
andcomponents/cjs
directories, so that the cjs file will use thecomponents/cjs/package.json
mappings instead.It also adds a test to the
link:full
script to only make the link if it is not already there, so it is safe to run the script more than once.