
Security News
Package Maintainers Call for Improvements to GitHub’s New npm Security Plan
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
ember-cli-inject-meta
Advanced tools
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 0 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.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.