microbundle icon indicating copy to clipboard operation
microbundle copied to clipboard

Not generating correct names for different output formats

Open markerikson opened this issue 3 years ago • 6 comments

I'm trying out Microbundle with https://github.com/reduxjs/redux-toolkit . For some reason, Microbundle seems to be ignoring the names that I've specified in the various main/module/exports fields, and is trying to reuse the the name from main for all output files.

Here's what I'm seeing. Currently, I've got package.json configured with these file names:

  "source": "src/index.ts",
  "main": "dist/a.js",   
  "exports": "./dist/b.modern.js",
  "module": "dist/c.module.js", 
  "unpkg": "dist/d.umd.js",   
  "types": "dist/typings.d.ts",

Microbundle reports this output:

Build "toolkit" to dist:
      7.22 kB: a.js.gz
      6.45 kB: a.js.br
      6.06 kB: a.modern.js.gz
      5.42 kB: a.modern.js.br
      7.14 kB: a.module.js.gz
      6.39 kB: a.module.js.br
      7.31 kB: a.umd.js.gz
      6.53 kB: a.umd.js.br

And the output files are:

dist/a.js
dist/a.modern.js
dist/a.module.js
dist/a.umd.js

Those are clearly not the file names I specified. Is there something obvious I'm missing here?

markerikson avatar Mar 29 '21 02:03 markerikson

Hi @markerikson - what is your build script like? I believe we infer from filenames passed as --input / position arts, but use the configured names when compiling from "source".

developit avatar Mar 29 '21 03:03 developit

Right now all I'm doing is npm run microbundle, where that's a run script that is also literally just "microbundle". So, something isn't adding up here.

Visual diff vs current RTK master:

image

markerikson avatar Mar 29 '21 03:03 markerikson

I am also facing the same issue using [email protected]. I have created repository with bare minimum code to reproduce this issue https://github.com/ppiyush13/microbundle-issue_825.

Simply execute npm run build or yarn build script to generate bundles in dist directory.

ppiyush13 avatar Apr 06 '21 11:04 ppiyush13

I've got a similar issue - even though I have specified a filename with .mjs extension in exports field, microbundle build (0.13) seems to ignore it and still generates the standard set of files, i.e.

my-lib.js
my-lib.modern.js
my-lib.module.js
my-lib.umd.js

szimek avatar Apr 19 '21 20:04 szimek

Any update ?

ppiyush13 avatar May 02 '21 04:05 ppiyush13

Customizing the file name with pkg.exports should be doable with #784, though that doesn't cover the full width of this issue.

rschristian avatar May 02 '21 04:05 rschristian