
Product
Introducing Historical Analytics – Now in Beta
We’re excited to announce a powerful new capability in Socket: historical data and enhanced analytics.
ember-cli-inject-meta
Advanced tools
Inject meta tags into an ember application to use as modules
Inject content into a meta tag which is defined as a module on runtime. This allows you to do operations such as read a cookie to set user data, make async calls to server to get permissions, get/set feature flags, so on and so forth all before your application loads.
In this example, we will create our user config that will be located in <APP_NAMESPACE>/config/user.js
. In your express server, you will have to define the middleware.
// server/index.js
var injectMeta = require('ember-cli-inject-meta');
app.use(injectMeta(function(req) {
return {
path: 'config/user',
content: {
username: 'offirgolan',
isAdmin: true
}
};
}))
This will add the following meta tag in your index.html
<meta name="app/config/user" data-module="true" content="%7B%22username%22%3A%22offirgolan%22%2C%22isAdmin%22%3Atrue%7D">
// app/routes/index.js
import Ember from 'ember';
import User from '../config/user';
export default Ember.Route.extend({
redirect() {
if(user.isAdmin) {
this.transitionToRoute('admin.index');
}
}
})
The injectMeta
function is passed a callback function that is given req
, res
, and inject
. You must call inject
, passing in either an array of objects, or a single object. Each meta module object should have:
path
(String): The path used to define your modules. (i.e confg/user
)content
(Object): The content your module will contain. This will be stringified and escaped before injecting it into the meta tag.Single Meta Tag
injectMeta(function(req) {
return {
path: 'config/user',
content: { username: 'offirgolan' }
};
});
Multiple Meta Tags
injectMeta(function(req) {
return [{
path: 'config/user',
content: { username: 'offirgolan' }
},{
path: 'config/api',
content: { endpoint: 'api/v2' }
}]
})
Multiple Meta Tags with Promises
injectMeta(function(req) {
var userConfig = getUserConfig(req).then(function(result) {
return {
path: 'config/user',
content: result
}
});
var apiConfig = getAPIConfig(req).then(function(result) {
return {
path: 'config/api',
content: result
}
});
return [ userConfig, apiConfig ];
})
FAQs
Inject meta tags into an ember application to use as modules
The npm package ember-cli-inject-meta receives a total of 11 weekly downloads. As such, ember-cli-inject-meta popularity was classified as not popular.
We found that ember-cli-inject-meta demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
We’re excited to announce a powerful new capability in Socket: historical data and enhanced analytics.
Product
Module Reachability filters out unreachable CVEs so you can focus on vulnerabilities that actually matter to your application.
Company News
Socket is bringing best-in-class reachability analysis into the platform — cutting false positives, accelerating triage, and cementing our place as the leader in software supply chain security.