Giter VIP home page Giter VIP logo

Comments (12)

modos189 avatar modos189 commented on May 20, 2024 1

Babel requires a node.js, which I would like to avoid.

I found a project that implements the Javascript interpreter on Python. As stated, he is not production ready, but it works.

And if there were no problems with connecting DukPy, I would prefer to choose TypeScript, not Babel. Because he too implements the capabilities of the new ES, but it also supports types.

from ingress-intel-total-conversion.

modos189 avatar modos189 commented on May 20, 2024

https://github.com/amol-/dukpy

from ingress-intel-total-conversion.

johnd0e avatar johnd0e commented on May 20, 2024

requires a node.js, which I would like to avoid.

I'm curious: why?
As we possibly also need other node.js-powered tools (such eslint, jslint, jshint, JSCS, webpack,...)

I would prefer to choose TypeScript.

Well, TypeScript may be excellent, but it is not subset of ES*, and there is no any direct browser support of it (and possible never be).
But option for using TypeScript would be great, as well as CoffeeScript (just example).

from ingress-intel-total-conversion.

johnd0e avatar johnd0e commented on May 20, 2024

Anyway (whatever tool is finally chosen), I want to know if you are actually going to implement it in build chain soon?
Could I start using some of ES2015 features now, or better to wait when build chain get ready?

from ingress-intel-total-conversion.

modos189 avatar modos189 commented on May 20, 2024

I don't want to use nodejs and npm because it's a huge additional dependency for the sake of just supporting the JS transpiler.

I tested DukPy and it doesn't suit us because of too low speed. At the same time, I really want to use at least ES2015. This standard is supported by all devices except Android < 5.0.

What if we use ES2015 for project, and for Android < 5.0 connect the browser version of Babel?

from ingress-intel-total-conversion.

johnd0e avatar johnd0e commented on May 20, 2024

for the sake of just supporting the JS transpiler.

May be not just transpiler, but some other tools.

This standard is supported by all devices except Android < 5.0.

As far as I know not all the features of the standard is equally supported, so we should choose carefully...

What if we use ES2015 for project, and for Android < 5.0 connect the browser version of Babel?

Well, we should try.

P.S.
As for node.js.
Actually I do not think that this dependency is so bad, if it'll be optional.

I mean if the project could be built as is, and only with some additional flags building script will try to call node.js-related tools.

from ingress-intel-total-conversion.

johnd0e avatar johnd0e commented on May 20, 2024

this._GAPIPromise = this._ready ? Promise.resolve(window.google) : new Promise(function (resolve, reject) {

from ingress-intel-total-conversion.

1valdis avatar 1valdis commented on May 20, 2024

It's painful to see those vars already, I write all my code with let/const only even without usage of transpilers. I think you should consider versions of browsers you want to support and, as a result, the list of features that you'd allow to use. Also, I think it's better to still switch to Node with Babel. As @johnd0e suggested, it'd be possible to use linters and static code analyze tools like sonarjs, which can greatly improve code quality.

from ingress-intel-total-conversion.

modos189 avatar modos189 commented on May 20, 2024

Which of the new JS features may we want to use that are not supported in all modern browsers? Now support for old standards we need only for Android before 5.0, such devices we have about 2%. So I want to know if it's better to dynamically connect babel only in old browsers, or better to transpile all iitc code with plugins? But if second, what to do with third-party plugins?

from ingress-intel-total-conversion.

johnd0e avatar johnd0e commented on May 20, 2024

better to transpile all iitc code with plugins?

I'd prefer this option.
And I suppose that it can be supplementary 'compatibility' release.

(But honestly, this is not main problem of current iitc codebase)

from ingress-intel-total-conversion.

1valdis avatar 1valdis commented on May 20, 2024

Dynamically adding Babel will add a lot of overhead to process and transpile all the scripts every time. In-browser Babel is mostly for prototyping. Production builds should be precompiled.

from ingress-intel-total-conversion.

johnd0e avatar johnd0e commented on May 20, 2024

One more question: JS Promise vs jQuery.Deferred().

Promise is not part of ES5, that's why we begin to use jQuery.Deferred (iitc-project/ingress-intel-total-conversion#1163).

But refactoring of game_status.js/map_data_request.js/redeeming.js/request_handling.js/search.js/send_request.js/... will demand more extensive promises using, so we should decide whether to stick to jQuery's implementation, or switch to native JS's.

from ingress-intel-total-conversion.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.