Comments (12)
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.
https://github.com/amol-/dukpy
from ingress-intel-total-conversion.
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.
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.
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.
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.
from ingress-intel-total-conversion.
It's painful to see those var
s 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.
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.
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.
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.
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)
- Filtering portals by level doesn't work for Machina HOT 1
- Found 1 Fatal Exception Crash and 1 IllegalArgumentException from Testing
- Permalink menu entry broken since v38.0
- AP gain calculation does not include Machina recapture 1331 bonus
- __MACHINA__ is part of RES on guess player level popup
- Level 1 portals show incorrect "resonator level(s) needed for next portal level" HOT 3
- Feature Request: OSM plugin: Add more raster tile services HOT 3
- SVG icons for plugins HOT 3
- Update `localStorage` use?
- A strange dialog "warping" in one browser profile but not another HOT 2
- FR: Allow `dialog`s to snap to sidebar HOT 1
- Stale timestamps with `build.py --watch`
- FR: Clear field `(X)` button for `Search location`
- FR: `Zoom to ...` buttons for Bookmarks and Drawtools
- FR: Add option to set the opacity of lines drawn using DrawTools HOT 2
- Request: Zoom in/out operation with one finger
- FR: Add ability to share multiple portals with maps as a multistop route HOT 1
- plugins/basemap-kartverket.js need new URLs for tiles
- [Enhancement] Support Android's Themed app icons
- Stuck before signing in HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ingress-intel-total-conversion.