Comments (7)
Ok, keep me posted. Also, the author of core-js contacted me and may have some ideas too. I bet we can do a combination of things to improve this. I'm interested to see what you put together. Thanks for taking on the challenge!
from metadata.
Before I do a pull request or any CLA stuff, can you please review this commit (which I would submit as is, I think) and see if it's the way you want to go? I don't assume I'd be doing the rest of them, but this would be a start - not sure how much bigger the other repos are and I'd like guidance on how to continue down the path if at all...
https://github.com/MrAndMrsK/metadata/commit/4b23faf2a111624f0accdc6cbbe8d7bbca39c929
Thanks
from metadata.
Let's see if we can get a few other guys to look at this and see what direction we want to go. @jdanyow Take a look at this PR. Any thoughts on this or how we can remove the hard dependency on core-js. Should we remove it entirely and then feature detect and throw like this? It might work. We can still configure core-js by default in the skeles. @PWKad I would appreciate your feedback as well.
@MrAndMrsK There are some other apis we need to check as well. @ahmedshuhel Can you find that list of es6 apis that you created that we rely on?
from metadata.
I wonder if we could add some asserting methods in pal that the various libraries could call to assert that what they need is present.
from metadata.
Yes, it is true that the other aurelia modules also rely on other es6 features, but for this library these were the only two I noticed. I'm proposing that each module, which I assume can be used possibly without their peers (in the aurelia-framework dependency tree) would have their own featureDetect script. If this is missing a check, then it is because I missed its usage.
FYI, to identify es6 features, I merely renamed the compiled output to .ts and brought in the pal.d.ts as a reference. Typescript highlighted the only remaining issues which were usages of Reflect
and Map
.
(I am a little confused by the type annotations in the compiled /dist/aurelia-metadata.js
because I don't think even es7 considers them valid syntax. Should this file actually already be a .ts file?)
from metadata.
agree- lets add some assert methods to the PAL, memoizing as-needed. Need to figure out how to write tests for these as well.
from metadata.
All done :)
from metadata.
Related Issues (20)
- Latest aurelia-metadata library causes decorators to fail in aurelia-validation HOT 4
- typings.json needs aurelia-pal
- Reflect.getOwnMetadata is not a function HOT 2
- __metadata__ property is enumerable HOT 5
- protocol decorator should return the target HOT 2
- Issue with Origin.get in relation to aurelia-cli and require.js HOT 3
- peerDeps on aurelia-polyfills? HOT 1
- Internet Explorer 11 - Object.getPrototypeOf('aurelia-dom-boundary') error HOT 11
- Specify aurelia-pal version in typings dependency. HOT 2
- Reflect.getOwnMetadata fails on nodejs HOT 2
- Origin detection HOT 13
- Exists bug in dist/system/index - key need to be _key HOT 3
- 'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead HOT 11
- Typings are referencing aurelia-pal master typing HOT 6
- Cannot find name 'SVGElementTagNameMap' HOT 3
- Incorrect view-model metadata while unit-testing HOT 8
- Dist/Types folder directory is missing on master. HOT 2
- 'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.
- Use webkit in android and windows 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 metadata.