Ky: No ES5 package

Created on 12 Sep 2018  路  6Comments  路  Source: sindresorhus/ky

This library doesn't work with popular tools like create-react-app or next.js. The reason is that it has no precompiled ES5 bundles. This is considered a bad practice as when someone is using it he has to compile it to ES5 himself to support older browsers. Also, ky won't work on older browsers when just put into the page as a script.

I don't think it's a good idea to force users to compile every dependency to make sure it's ES5-ready. It would massively affect build times.

Most helpful comment

I like idea behind this library. Unfortunately, I am not able to use it as other thousands of developers using create-react-app.

Reply to https://github.com/sindresorhus/ky/issues/28#issuecomment-420692840:

  • I don't believe that stable CRA v2 will be release in next 6 months - I would love to be wrong here ;)
  • read your explanation in sindresorhus/ama#446 but KY declared that it targets browsers so your main point is not valid for Ky

@sindresorhus Please consider to build version compatible with current version create-react-app. I am sure that it will help KY adoption a lot. If you check download rate at https://www.npmjs.com/package/ky and compare it to number of GitHub stars then you have to see unbalance there. I believe it is because ppl like KY concept but they can't use it.

All 6 comments

I don't transpile my modules. If you need support for older browsers, it's up to you to transpile for what you target. https://github.com/sindresorhus/ama/issues/446

FYI, create-react-app v2 will transpile dependencies, and will hopefully be out soon.

I agree that this issue should be considered in tools like webpack or babel, but I guess it's not coming anytime soon. And for the sake of simplicity of using the library, I'll still definitely go for a transpile, at least for the current standard (which is ES5 for now), as this is ridiculously easy with tools like rollup or parcel. That would save a lot of time of developers finding out why this is not working (because the errors are not very descriptive) - you can see clearly how much on the issue you've just linked. But... that's just my opinion, you're still the boss here 馃槃 Thanks for explaining your position on this!

P.S. Of course I mean only packages that are specifically aimed for browsers. Like this one 馃槃

I like idea behind this library. Unfortunately, I am not able to use it as other thousands of developers using create-react-app.

Reply to https://github.com/sindresorhus/ky/issues/28#issuecomment-420692840:

  • I don't believe that stable CRA v2 will be release in next 6 months - I would love to be wrong here ;)
  • read your explanation in sindresorhus/ama#446 but KY declared that it targets browsers so your main point is not valid for Ky

@sindresorhus Please consider to build version compatible with current version create-react-app. I am sure that it will help KY adoption a lot. If you check download rate at https://www.npmjs.com/package/ky and compare it to number of GitHub stars then you have to see unbalance there. I believe it is because ppl like KY concept but they can't use it.

In order to get this to work I would normally just add the module (ky) to the Webpack babel-loader include like so:

      {
        test: /\.js$/,
        include: [
          path.join(__dirname, './src'),
          path.join(__dirname, './node_modules/ky')
        ],
        loader: 'babel-loader'
      },

But it seems that with the new version of @babel they no longer allow you to use the root project's babel config (in .babelrc or package.json) to transpile another module with it's own package.json so I get an error that says Support for the experimental syntax 'objectRestSpread' isn't currently enabled even though my root project's config is using a preset that DOES have support for this.

So for anyone else running into this, the only solution I've found is to move the config out of package.json and into babel.config.js.

I don't believe that stable CRA v2 will be release in next 6 months - I would love to be wrong here ;)

LOL, create-react-app v2 was just released 馃ぃ(see https://reactjs.org/blog/2018/10/01/create-react-app-v2.html)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

popuguytheparrot picture popuguytheparrot  路  6Comments

sindresorhus picture sindresorhus  路  4Comments

kahirokunn picture kahirokunn  路  3Comments

kraniebrud picture kraniebrud  路  3Comments

fgreinus picture fgreinus  路  6Comments