Security News
Highlights from the 2024 Rails Community Survey
A record 2,709 developers participated in the 2024 Ruby on Rails Community Survey, revealing key tools, practices, and trends shaping the Rails ecosystem.
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, res, inject) {
inject({
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, res, inject) {
inject({
path: 'config/user',
content: { username: 'offirgolan' }
});
});
Mutliple Meta Tags
injectMeta(function(req, res, inject) {
inject([{
path: 'config/user',
content: { username: 'offirgolan' }
},{
path: 'config/api',
content: { endpoint: 'api/v2' }
}])
})
FAQs
Inject meta tags into an ember application to use as modules
The npm package ember-cli-inject-meta receives a total of 6 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
A record 2,709 developers participated in the 2024 Ruby on Rails Community Survey, revealing key tools, practices, and trends shaping the Rails ecosystem.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.