
Security News
Inside Lodash’s Security Reset and Maintenance Reboot
Lodash 4.17.23 marks a security reset, with maintainers rebuilding governance and infrastructure to support long-term, sustainable maintenance.
ember-cli-dfinity
Advanced tools
An add-on for using the Internet Computer in your EmberJS app.
ember install ember-cli-dfinity
If you are building the app to run on the Internet Computer, then you must install the dfx-ember-webpack-plugin Webpack plugin into the dfx project so it builds the EmberJS asset canister correctly.
Actors are the primary artifacts (or components) exposed by a canister running on the Internet Computer. The actor has an interface, which represents the publicly accessible methods of the canister. When developing your own DApp, you will have a candid interface for the actor like the following:
// hello.did
service : {
greet: (text) -> (text);
}
We import this interface definition into the EmberJS application to leverage it using the following command:
ember g actor hello --declaration
You must run this command from an EmberJS frontend application that is located in
$DFX_ROOT/src. For example,$DFX_ROOT/src/hello_frontend.$DFX_ROOTis the root project directory of the DApp, and has thedfx.jsonfile.
This command will create a symbolic link to the JavaScript declaration in
$ROOT/app/declarations, and then define the actor hello in $ROOT/app/actors
where $ROOT is the root directory of the EmberJS frontend application.
There will be times you need to manually define an actor's interface. For example,
your frontend needs to reference a canister that is not local to your project. You
can use the @query and @update decorators to manually define an actor.
import { Actor, query, update } from 'ember-cli-dfinity';
export default class HelloActor extends Actor {
@query (['text'], ['text']) // can also write @query('text, 'text')
greet;
};
You use defined actors by injecting them into EmberJS an entity (e.g., controller,
router, service, component, etc.) using the @actor decorator. For example, the
code below shows how you can inject the hello actor into an EmberJS controller
and call the greet method.
import Controller from '@ember/controller';
import { action } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import { actor } from 'ember-cli-dfinity';
export default class IndexController extends Controller {
@tracked
name;
@tracked
greeting;
// Bind the hello actor to the hello variable.
@actor({ canister: 'hello' })
hello;
@action
async submit(ev) {
// Prevent the default behavior for the submit button.
ev.preventDefault();
// Call the greet() method on the hello actor.
this.greeting = await this.hello.greet(this.name);
}
}
The config/environment.js file is where you configure how the Dapp connects to the
Internet Computer. The most important section in the configuration is dfx.agents.
This is where you define different agents that canisters use to communicate. The
$default agent must always be defined. Below is an example configuration that
will use the local network. You can customize the configuration for different
environments, such as production vs test.
// config/environment.js
module.exports = function (environment) {
let ENV = {
// ...
dfx: {
canisters: {
// Optional. You can define caninsters not defined in canister_ids.json, or
// override the existing canister ids here.
},
agents: {
$default: {
host: 'http://127.0.0.1:8000',
},
},
}
};
// ...
}
Check out the dummy application in tests/dummy for an example on how to
integrate canisters from the Internet Computer into your application. We will
provide more guidance on this over the course of the project.
See the Contributing guide for details.
This project is licensed under the Apache-2.0.
FAQs
An add-on for using the Internet Computer in your EmberJS app.
The npm package ember-cli-dfinity receives a total of 0 weekly downloads. As such, ember-cli-dfinity popularity was classified as not popular.
We found that ember-cli-dfinity 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
Lodash 4.17.23 marks a security reset, with maintainers rebuilding governance and infrastructure to support long-term, sustainable maintenance.

Security News
n8n led JavaScript Rising Stars 2025 by a wide margin, with workflow platforms seeing the largest growth across categories.

Security News
The U.S. government is rolling back software supply chain mandates, shifting from mandatory SBOMs and attestations to a risk-based approach.