Security News
The Push to Ban Ransom Payments Is Gaining Momentum
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
ember-cli-inject-meta
Advanced tools
Readme
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
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.
Security News
Ransomware costs victims an estimated $30 billion per year and has gotten so out of control that global support for banning payments is gaining momentum.
Application Security
New SEC disclosure rules aim to enforce timely cyber incident reporting, but fear of job loss and inadequate resources lead to significant underreporting.
Security News
The Python Software Foundation has secured a 5-year sponsorship from Fastly that supports PSF's activities and events, most notably the security and reliability of the Python Package Index (PyPI).