styled-components / polished

A lightweight toolset for writing styles in JavaScript ✨
https://polished.js.org/
MIT License
7.6k stars 209 forks source link

UMD of polished is not valid on the browser side #568

Open jmfrancois opened 3 years ago

jmfrancois commented 3 years ago

What You Are Seeing

I see global variable for package that do not exists in UMD. It exists since 3.6.0 version. 3.5.2 is working well:

You can just look at the signature on the first 4 lines

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@babel/runtime/helpers/esm/extends'), require('@babel/runtime/helpers/esm/assertThisInitialized'), require('@babel/runtime/helpers/esm/inheritsLoose'), require('@babel/runtime/helpers/esm/wrapNativeSuper'), require('@babel/runtime/helpers/esm/taggedTemplateLiteralLoose')) :
  typeof define === 'function' && define.amd ? define(['exports', '@babel/runtime/helpers/esm/extends', '@babel/runtime/helpers/esm/assertThisInitialized', '@babel/runtime/helpers/esm/inheritsLoose', '@babel/runtime/helpers/esm/wrapNativeSuper', '@babel/runtime/helpers/esm/taggedTemplateLiteralLoose'], factory) :
  (global = global || self, factory(global.polished = {}, global.extends, global.assertThisInitialized, global.inheritsLoose, global.wrapNativeSuper, global.taggedTemplateLiteralLoose));
}(this, (function (exports, _extends, _assertThisInitialized, _inheritsLoose, _wrapNativeSuper, _taggedTemplateLiteralLoose) { 'use strict';

This seems to have been introduced by #7886d942b03ba452be4926a8d566ff67c4ac4161

What You Expected To See

I exepct to see only umd dependencies that exists in UMD.

(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
  (global = global || self, factory(global.polished = {}));
}(this, (function (exports) { 'use strict';

And a chapter on the README explaining how to setup a script tag to use this umd build it in the browser.

ctrlplusb commented 3 years ago

The latest version (4.1.1) tries to require babel-runtime helpers too. Would be awesome if those were just inlined within the UMD build. 🙏

https://unpkg.com/browse/polished@4.1.1/dist/polished.js

It appears that 3.6.0 has the same issue.