Skip to content

Commit

Permalink
fix: use .css extension on react-loading-skeleton import
Browse files Browse the repository at this point in the history
react-loading-skeleton defines an exports field in its package.json which looks like this:

"exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "require": "./dist/index.cjs",
      "import": "./dist/index.js"
    },
    "./dist/skeleton.css": "./dist/skeleton.css"
  },

The webpack documentation states that if an exports field is defined in package.json, it replaces the default module loading behavior and any other request for a module will result in a ModuleNotFound error.

Our call to load react-loading-skeleton in Paragon looks like this:

@import "~react-loading-skeleton/dist/skeleton";

That isn’t in the list of possible exports.  This is though:

@import "~react-loading-skeleton/dist/skeleton.css";

This commit updates our import to the latter, which fixes downstream issues in MFEs that can’t figure out how to import react-loading-skeleton
  • Loading branch information
davidjoy committed Jun 8, 2023
1 parent 4da189c commit 77fe415
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion scss/core/core.scss
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,12 @@
@import "~bootstrap/scss/reboot";
@import "typography";
@import "grid";
@import "~react-loading-skeleton/dist/skeleton";
// The react-loading-skeleton package.json defines an 'exports' field which specifies a '.css'
// extension on this export. Without the '.css' on the end of this line, webpack can't find the file
// and the build fails.
// See https://webpack.js.org/guides/package-exports/ for more information on how webpack uses
// the 'exports' field.
@import "~react-loading-skeleton/dist/skeleton.css";
@import "~bootstrap/scss/transitions";
@import "utilities";
@import "~bootstrap/scss/media";
Expand Down

0 comments on commit 77fe415

Please sign in to comment.