ronco / ember-cli-meta-tags Goto Github PK
View Code? Open in Web Editor NEWSet Head Tags From Ember Routes
License: MIT License
Set Head Tags From Ember Routes
License: MIT License
I think I might be missing something. The package itself works just fine, but it seems to not process in a way that facebook's crawler sees the tags. Is there a way to get this package to insert the tags so that crawlers can see them?
This was broken with #43, and can be fixed by using ember-runtime-enumerable-includes-polyfill
package.
The meta tags are added via JS. (obviously I guess). But Facebook share can't pick those up. So what is the point? Or am I missing a huge part of this?
I follow the doc and it works fine without another addon based on ember-cli-head, but after install ember-page-title, the headTags defined on route didn't work. Is there some known issue?
After updating https://github.com/rust-lang/crates.io to Ember 3.26 I've started seeing deprecation warnings that appear to be caused by this addon:
DEPRECATION: A value was injected implicitly on the 'router' property of an instance of <cargo@service:head-tags::ember192>. Implicit injection is now deprecated, please add an explicit injection for this value. If the injected value is a service, consider using the @service decorator. [deprecation id: implicit-injections] See https://deprecations.emberjs.com/v3.x#toc_implicit-injections for more details.
This add-on seems to be incompatible with ember-page-title. Just tested with a simplistic test case where the title tag is rendered twice, with the lower one being the only one to change.
If I have a meta-description tag in the index.html, and try to replace it with a specific one using this addon, it will not replace the existing meta tag, but just add a new one below.
Warning this idea is kind of rough right now and may make more sense in my head than how I am articulating here. In any event, I think the basic concept makes sense and would appreciate thoughts on its merit.
Problem: Currently meta-tags builds the headTags
object by crawling up the routes. It will collect and build an Ember.A
object with the values from each route level. This presents what might be considered a 'non-standard' approach to forcing meta tag recalculation.
Solution: We should strive for CPs and being able to bust the cache of a given route's tags. At this point headTags
should be a nested collection of CPs that can be recalculated at any point. When a route's meta tags are recalculated its children should also be forced to recalculate.
Unknowns: how to properly override a parent route's meta tag if a child route's is preferable. With a nested model that isn't as simple as the current flattened array solution.
In addition to being able to recalculate the tags themselves being able to recalculate the a given tag's properties would be desirable.
Refactor to use Ember idioms/tools to construct the head tags and avoid direct DOM manipulation.
Let's say I have a route that looks like /collection/book/chapter
, and each route level had its own, different, meta tags. Currently, when visiting a chapter, all the meta tags for the chapter, book, and collection will be rendered, meaning that services like Facebook will only pick up the latter, because it appears farthest down the DOM.
We'd like to replace the meta tags when traversing down through the nested routes, so is there a way of doing that?
This command has been deprecated. Please use ember install <addonName>
instead. Using Ember CLI 1.13.1
Hello,
I am using Ember Engines. And I run into a problem when I need to abort transition in my lazy engine to another engine. I got:
_extractHeadTagsFromRoute(route) {
let headTags = get(route, 'headTags');
Uncaught Error: Assertion Failed: Cannot call get with 'headTags' on an undefined object.
at assert (index.js:172)
at Object.get (index.js:1789)
at Class._extractHeadTagsFromRoute (head-tags.js:42)
at head-tags.js:32
at Array.forEach (<anonymous>)
at Class.collectHeadTags (head-tags.js:30)
at Router.<anonymous> (router-head-tags.js:19)
at sendEvent (index.js:270)
at Router.trigger (evented.js:113)
at router.js:188
Seems that because of lack of route infos I got undefined
in handlerInfo.route
in head-tags.js:collectHeadTags()
. I'll create a simple pull request
Not sure if this is an issue with the add-on or with my setup - I'm currently trying to generate tags such as <link href="something" rel="next">
in my Ember app, but these tags don't appear in the DOM on initial load with Fastboot (but do appear when the page loads normally). My code looks something like this:
afterModel: function() {
let headTags = [{
type: 'link',
tagId: 'link-pagination-next',
attrs: {
rel: 'next',
href: 'something' // I've also tried using content: 'something' here
}
},
...
];
this.set('headTags', tags);
}
I'm also adding title and meta tags in this method, and those appear in the DOM on initial Fastboot load. Is anyone else able to create link tags with Fastboot?
Current implementation will not pre-render the meta tags within ember-cli-fastboot.
Dependent on resolution to ember-fastboot/ember-cli-fastboot#49 and/or ember-fastboot/simple-dom#12.
Hi There,
I've implemented the updated library for nesting dynamic meta tag data however it appears that neither OpenGraph nor Twitter are reading our new meta tags.
When I look at our file I see all the meta tags I've just created listed at the bottom of our file. When I visit the OG Debugger & Twitter Validator - neither receive any of the content from our meta tags. When I hardcoded that information in our index.html
file before - they both did.
At first, I thought this was because the new meta tags were being inserted as part of {{content-for 'head-footer'}} and that needed to be moved up above our stylesheets. When I moved that snippet of code up however nothing changed. The meta tags are still being inserted at the bottom of our after our stylesheets.
I'm not sure whether that's the issue or not but, either way, OG nor Twitter are recognizing that these tags exist though they clearly do in our file. Any ideas on a fix for this? All the meta tags are populating correctly (including nested routes) which is great. Please see below for a snippet from our file or visit http://myhubapp.com and inspect the elements.
<meta id="ember612" content="Myhub | Social Planning" name="title" class="ember-view">
<meta id="ember614" content="Welcome to Myhub - the fastest, easiest way to plan group activities and pool money with your friends. Get started today with no added transaction fees." name="description" class="ember-view">
<meta id="ember616" content="Myhub | Social Planning" name="og:title" class="ember-view">
<meta id="ember618" content="Welcome to Myhub - the fastest, easiest way to plan group activities and pool money with your friends. Get started today with no added transaction fees." name="og:description" class="ember-view">
<meta id="ember620" content="Myhub" name="og:site_name" class="ember-view">
<meta id="ember622" content="en_US" name="og:site_locale" class="ember-view">
<meta id="ember624" content="website" name="og:type" class="ember-view">
<meta id="ember626" content="https://d257h11pznfsji.cloudfront.net/assets/images/misc/myhub-cover-8324fda3f5576b68240be61721fbb382.png" name="og:image" class="ember-view">
<meta id="ember628" content="http://myhubapp.com" name="og:url" class="ember-view">
<meta id="ember630" content="summary_large_image" name="twitter:card" class="ember-view">
<meta id="ember632" content="http://myhubapp.com" name="twitter:site" class="ember-view">
<meta id="ember634" content="@myhubapp" name="twitter:creator" class="ember-view">
<meta id="ember636" content="Myhub | Social Planning" name="twitter:title" class="ember-view">
<meta id="ember638" content="Welcome to Myhub - the fastest, easiest way to plan group activities and pool money with your friends. Get started today with no added transaction fees." name="twitter:description" class="ember-view">
<meta id="ember640" content="https://d257h11pznfsji.cloudfront.net/assets/images/misc/myhub-cover-8324fda3f5576b68240be61721fbb382.png" name="twitter:image" class="ember-view">
Thanks for your help!
Eric
For example, link
, which has some uses under the same realm of document metadata:
<link rel="author" href="..."/>
<link rel="canonical" href="..."/>
meta
property for object vice function usage.Is there a way to use async relationships in the headTags function?
Currently if I refer to an async relationship, then i get undefined show up in the meta tag, and I can't return a promise from headTags function.
As of the latest release, which includes the updated ember-cli-head 0.3.0 with FastBoot 1.0 support (#56), this addon does not render meta tags in FastBoot anymore.
The root issue is this one: ember-fastboot/ember-cli-fastboot#421
cc @cibernox
When implementing the meta() function, it has no access to the route's properties. In fact, "this" is undefined, so even this.controllerFor('routeName') fails.
I've "solved" this by hacking the call the setMeta() inside of the _runSetMeta() function, adding "this" as the only parameter to meta():
So, instead of:
return this.setMeta(meta());
I am left with:
return this.setMeta(meta(this));
This mean that, in my route, I can add this function:
meta: function(route) {
var controller = route.controllerFor('routeName');
//Rest of code
}
Am I missing something, or can this change be brought into the ember-cli-meta-tags source?
I'm trying to add ember-cli-meta-tags
to an in-repo-engine and I'm getting the following error:
Could not find module `my-engine/templates/head` imported from `my-engine/components/head-content`
Based on https://github.com/ronco/ember-cli-meta-tags#using-with-other-ember-cli-head-addons, I've tried creating the templates/head.hbs
template in both the addon
and app
folder but nothing seems to work.
Has anyone achieved this? Am I missing something?
It would be great if we could push meta tags to a {{content-for 'meta'}} helper, not just append them at the bottom of head
Hi guys currently experience this when Adding apple smart app banner meta tag ...
I'm new to Ember and specially EmberCLI so any ideas will appreciate it.
Currently I have a project which uses this module ember-cli-meta-tags
.
Now I'm wondering why the links I sent on social sites doesn't fetch the meta (description, title, image).
Does ember-cli-meta-tags requires the application to be server side rendered to make SEO works?
One of those projects where all the sharers are required so I'm adding in 'The Full Monty' from:
https://moz.com/blog/meta-data-templates-123
This includes:
<!-- Schema.org markup for Google+ -->
<meta itemprop="name" content="The Name or Title Here">
<meta itemprop="description" content="This is the page description">
<meta itemprop="image" content="http://www.example.com/image.jpg">
title should be a valid supported head tag.
DEPRECATION: You attempted to use "_routerMicrolib.currentHandlerInfos" which is a private API that will be removed. [deprecation id: remove-handler-infos] See https://emberjs.com/deprecations/v3.x#toc_remove-handler-infos for more details.
"ember-source": "~3.7.0",
"ember-cli-meta-tags": "^5.3.0",
See title -- these two obscure-ish properties are needed to properly set up Alternative Stylesheets. See section 4.8.4.11 here for details n' whatnot.
Good day,
I'm getting this warning message whenever I'm starting my ember server
and I don't know what causes ember-cli-meta-tags
to ask for more listeners but for now, I'm using this quick fix process.setMaxListeners(21)
on my ember-cli-build.js
.
The warning goes away when I have process.setMaxListeners(21)
. Is this the right approach?
ember-cli/ember-cli#5987 is also suggesting to increase process.setMaxListeners
.
(node) warning: possible EventEmitter memory leak detected. 11 exit listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at process.addListener (events.js:239:17)
at Object.<anonymous> (/Users/jake/Sites/pizza-ordering/client/node_modules/ember-cli-meta-tags/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/broccoli-merge-trees/node_modules/can-symlink/node_modules/tmp/lib/tmp.js:449:9)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/jake/Sites/pizza-ordering/client/node_modules/ember-cli-meta-tags/node_modules/ember-cli-babel/node_modules/broccoli-babel-transpiler/node_modules/broccoli-merge-trees/node_modules/can-symlink/index.js:1:73)
at Module._compile (module.js:434:26)
and here's my package.json for reference
{
"name": "client",
"version": "0.0.0",
"description": "Small description for client goes here",
"private": true,
"directories": {
"doc": "doc",
"test": "tests"
},
"scripts": {
"start": "ember server",
"build": "ember build",
"test": "ember test"
},
"repository": "",
"engines": {
"node": ">= 0.10.0"
},
"author": "",
"license": "MIT",
"devDependencies": {
"adyen-cse-js": "^0.1.19",
"broccoli-asset-rev": "^2.4.2",
"ember-ajax": "^2.0.1",
"ember-browserify": "^1.1.13",
"ember-cli": "2.6.2",
"ember-cli-app-version": "^1.0.0",
"ember-cli-babel": "^5.1.6",
"ember-cli-blanket": "0.7.0",
"ember-cli-clipboard": "0.4.0",
"ember-cli-content-security-policy": "0.4.0",
"ember-cli-dependency-checker": "^1.2.0",
"ember-cli-deploy": "^0.5.1",
"ember-cli-deploy-build": "0.1.0",
"ember-cli-deploy-display-revisions": "0.1.0",
"ember-cli-deploy-gzip": "0.1.1",
"ember-cli-deploy-manifest": "0.1.1",
"ember-cli-deploy-redis": "0.1.1",
"ember-cli-deploy-revision-data": "0.3.2",
"ember-cli-deploy-rollbar": "1.0.2",
"ember-cli-deploy-s3": "0.2.0",
"ember-cli-deploy-slack": "0.1.0",
"ember-cli-dotenv": "1.0.4",
"ember-cli-fastclick": "1.1.0",
"ember-cli-flash": "1.3.15",
"ember-cli-htmlbars": "^1.0.3",
"ember-cli-htmlbars-inline-precompile": "^0.3.1",
"ember-cli-ic-ajax": "0.2.5",
"ember-cli-inject-live-reload": "^1.4.0",
"ember-cli-jshint": "^1.0.0",
"ember-cli-maskedinput": "0.1.1",
"ember-cli-meta-tags": "4.0.0",
"ember-cli-mirage": "0.2.0-beta.5",
"ember-cli-moment-shim": "3.5.0",
"ember-cli-pace": "0.0.15",
"ember-cli-page-object": "1.1.0",
"ember-cli-qunit": "^1.4.0",
"ember-cli-release": "^0.2.9",
"ember-cli-sri": "^2.1.0",
"ember-cli-styles-reloader": "^0.1.6",
"ember-cli-stylus": "1.0.5",
"ember-cli-uglify": "^1.2.0",
"ember-data": "2.6.2",
"ember-export-application-global": "^1.0.5",
"ember-font-awesome": "2.1.1",
"ember-link-action": "0.0.38",
"ember-load-initializers": "^0.5.1",
"ember-metrics": "0.5.3",
"ember-moment": "4.1.0",
"ember-pikaday": "2.2.4",
"ember-pluralize": "0.2.0",
"ember-radio-button": "1.0.7",
"ember-resolver": "^2.0.3",
"ember-responsive": "1.2.6",
"ember-route-action-helper": "0.3.0",
"ember-tether": "0.3.1",
"ember-tooltips": "1.0.0",
"ember-validations": "2.0.0-alpha.4",
"ember-welcome-page": "^1.0.1",
"ember-wormhole": "0.4.0",
"emberx-select": "2.0.2",
"loader.js": "^4.0.1",
"torii": "0.6.1"
}
}
Thank you for this wonderful add-on.
I can generate dynamic social tags and I can see them.
The problem that I have is that I can't see the proper preview when I share a link on facebook.
Any idea why it happens?
P.S
When I inspect the page in my browser (chrom, firefox, ...), I see the meta tags
but when I look at the page source, they are not there.
Could it be the reason? if yes how can I resolve this.
Thank you very much.
This may be planned to be addressed before the deprecation takes placed, but thought I'd mention I'm getting this deprecation warning and it back traces to head-tags.js line 37
See https://emberjs.com/deprecations/v3.x#toc_remove-handler-infos for more details.
at logDeprecationStackTrace (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/deprecate.js:86:1)
at HANDLERS.(anonymous function) (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/handlers.js:11:1)
at raiseOnDeprecation (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/deprecate.js:110:1)
at HANDLERS.(anonymous function) (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/handlers.js:11:1)
at invoke (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/handlers.js:20:1)
at deprecate (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/deprecate.js:146:1)
at ResolvedRouteInfo.get (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/routing/lib/system/router.js:72:1)
at handlerInfos.forEach.handlerInfo (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/addon-tree-output/ember-cli-meta-tags/services/head-tags.js:31:1)
at Array.forEach (native)
at Class.collectHeadTags (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/addon-tree-output/ember-cli-meta-tags/services/head-tags.js:30:1)
at Class.on (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/addon-tree-output/ember-cli-meta-tags/initializers/router-head-tags.js:19:1)
at sendEvent (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/metal.js:182:1)
at Class.trigger (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/runtime/lib/mixins/evented.js:64:1)
at /tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/routing/lib/system/router.js:244:1
at invokeWithOnError (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:255:1)
at Queue.flush (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:168:1)
at DeferredActionQueues.flush (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:320:1)
at Backburner._end (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:750:1)
at Backburner._boundAutorunEnd (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:487:1)
at process._tickCallback (internal/process/next_tick.js:109:7)
DEPRECATION: You attempted to read "handlerInfo.handler" which is a private API that will be removed. [deprecation id: remove-handler-infos] See https://emberjs.com/deprecations/v3.x#toc_remove-handler-infos for more details.
at logDeprecationStackTrace (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/deprecate.js:86:1)
at HANDLERS.(anonymous function) (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/handlers.js:11:1)
at raiseOnDeprecation (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/deprecate.js:110:1)
at HANDLERS.(anonymous function) (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/handlers.js:11:1)
at invoke (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/handlers.js:20:1)
at deprecate (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/debug/lib/deprecate.js:146:1)
at ResolvedRouteInfo.get (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/routing/lib/system/router.js:72:1)
at handlerInfos.forEach.handlerInfo (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/addon-tree-output/ember-cli-meta-tags/services/head-tags.js:31:1)
at Array.forEach (native)
at Class.collectHeadTags (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/addon-tree-output/ember-cli-meta-tags/services/head-tags.js:30:1)
at Class.on (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/addon-tree-output/ember-cli-meta-tags/initializers/router-head-tags.js:19:1)
at sendEvent (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/metal.js:182:1)
at Class.trigger (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/runtime/lib/mixins/evented.js:64:1)
at /tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/@ember/-internals/routing/lib/system/router.js:244:1
at invokeWithOnError (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:255:1)
at Queue.flush (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:168:1)
at DeferredActionQueues.flush (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:320:1)
at Backburner._end (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:750:1)
at Backburner._boundAutorunEnd (/tmp/broccoli-9101Dd24O9FCOtwR/out-304-broccoli_merge_trees/assets/backburner.js:487:1)
at process._tickCallback (internal/process/next_tick.js:109:7)
In the new qunit API, instance-initializers are registered before we have access to our beforeEach
hooks. As a result, instance-initializers may setup, for example, the singleton router:main
with injections already defined. As a result, any attempt to stub a service will fail.
hooks.beforeEach(function() {
this.owner.register('service:mock-metrics', MockMetrics);
this.application.inject('router', 'metrics', 'service:mock-metrics'); //uses existing service
});
Two options may be:
Router.reopen
Anybody have any thoughts?
All tags generated include a media attribute, what is causing that? it's leaking ember app structure...
<meta property="og:image" content="https://foo.jpg" media="<client-web@service:media::ember227>" id="ember666" class="ember-view"></meta>
In Ember 2.8 this addon prevents the page from rendering and Ember throws error:
Uncaught Error: Assertion Failed: You cannot use `attributeBindings` on a tag-less component: <myapp@component:head-layout::ember203>
How can we resolve this?
I am trying not to hard-coded VALID_HEAD_TAGS
to support noscript
tag.
Any recommended way of doing this ? Thanks in advance.
Ember: 2.11.0
Ember CLI: 2.11.0
Steps to reproduce:
ember new fastboot-test
cd fastboot-test
ember install [email protected]
ember install ember-cli-meta-tags
ember fastboot
Upon visiting http://localhost:3000/ in the browser:
Unknown Error: Error: Assertion Failed: EventDispatcher should never be instantiated in fastboot mode. Please report this as an Ember bug.
at assert (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:16253:13)
at Object.assert (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:27925:34)
at Class.init (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:52253:19)
at Class.superWrapper [as init] (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:50979:22)
at new Class (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:46671:17)
at Function._ClassMixinProps.create (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:46859:12)
at instantiate (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:12101:23)
at lookup (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:11938:17)
at Object.lookup (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:11857:14)
at Class.lookup (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:43117:33)
at /Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:17904:59
at Class.init (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:17914:9)
at Class.superWrapper [as init] (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:50979:22)
at new Class (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:46671:17)
at Function._ClassMixinProps.create (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:46859:12)
at Object.initialize (/Users/kevin/code/fastboot-test/dist/fastboot/fastboot-test.js:328:38)
at /Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:15115:21
at Vertices.each (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:13180:13)
at Vertices.topsort (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:13147:14)
at DAG.topsort (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:13092:24)
at Class._runInitializer (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:15130:13)
at Class.runInstanceInitializers (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:15113:12)
at Class._bootSync (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:13398:24)
at /Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:14798:30
at initializePromise (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:69131:7)
at new Promise (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:69619:33)
at Class.boot (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:14797:27)
at /Users/kevin/code/fastboot-test/node_modules/fastboot/dist/cjs/ember-app.js:235:25
at tryCatch (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:69081:14)
at invokeCallback (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:69096:15)
at publish (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:69064:9)
at /Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:48967:16
at invokeWithOnError (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:10898:16)
at Object.flush (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:10957:9)
at Object.flush (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:11081:15)
at Object.end (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:11151:23)
at Timeout._onTimeout (/Users/kevin/code/fastboot-test/dist/fastboot/vendor.js:11717:16)
at ontimeout (timers.js:365:14)
at tryOnTimeout (timers.js:237:5)
at Timer.listOnTimeout (timers.js:207:5)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.