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)
- 'Portals Missing Resonators' Plugin: Portals with missing resos hardly distinguishable from portals with 8 resos HOT 5
- Plugin layer-count doesn't work when fields are not displayed
- Detect and show red plague portals HOT 3
- Android App crashing in versions 0.33.0 and 0.34.0 HOT 6
- MPE request option to reload prior project on restart
- can not be rendering intel's links, portal icons and so on HOT 5
- Machina Tools
- (Plugin-Ingress scoring regions) Region-name search results show wrong sub-cell HOT 2
- Remove custom plugins from IITC Mobile HOT 1
- Apple TestFlight version expired HOT 1
- Alphabetical sorting of all plugin links under the portal details panel HOT 3
- Hide portal levels plugin : Layers not related to portal levels are also included in the target.
- Bookmarks not showing HOT 6
- Access blocked: authorisation error [Sync Error] HOT 8
- Mobile: Login with "fake user agent" switches to Desktop mode
- console warning is spamming HOT 2
- Gaode Map tiles is broken HOT 2
- Wrong region naming (and probably indexing) in the AS face HOT 2
- Pixel 8 Pro Not Working At All
- Migrate Stamen map tiles to Stadia HOT 1
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.