mattma / ember-rocks Goto Github PK
View Code? Open in Web Editor NEWAn Em(ber) command line utility to help you build an ambitious web application via `em` command
License: MIT License
An Em(ber) command line utility to help you build an ambitious web application via `em` command
License: MIT License
Heya, this is just a friendly note to let you know that a new version of Liftoff and some of the dependencies commonly used in conjunction with it have been released. This release adds better support for situations where your user's configuration files are written using features behind a v8 flag (e.g. --harmony
). Windows users and io.js
users should see less issues if you upgrade!
Some helpful links:
https://github.com/tkellen/node-liftoff/blob/master/UPGRADING.md#100---200
https://github.com/tkellen/node-v8flags/blob/master/README.md#example
https://github.com/tkellen/node-hacker/blob/master/bin/hacker.js#L10-L14
Thanks!
karudo@Deoniss-Mac-mini ~/w/test> em new testapp
[12:45:50] [-log:] Starting to generate an application at ~/work/test/testapp
[12:45:50] [-done:] A new Ember.js mvc application have been successfully created!
[12:45:50] [-log:] NPM is installing node packages...
[12:45:50] [-done:] A new Node.js web server have been successfully created!
[12:45:50] [-log:] It may take up to 1 minute and half!
[12:45:50] [-log:] Be patient, fetching packages from internet ...
[12:48:18] [-log:] Bower is installing javascript packages...
[12:48:21] [-log:] em-cli is doing REALLY hard to initialize your repo ...
[12:48:22] [-done:] Initialized a new git repo and did a first commit
[12:48:22] [-copy:] => cd testapp # navigate to the newly created application
[12:48:22] [-copy:] => em serve # kick start the server, open project in favorite browser, auto watch file changes and rebuild the project
karudo@Deoniss-Mac-mini ~/w/test> cd testapp/
karudo@Deoniss-Mac-mini ~/w/t/testapp> em serve
[12:48:57] Using gulpfile ~/work/test/testapp/gulpfile.js
[12:48:57] Starting 'express'...
[12:48:57] Finished 'express' after 101 ms
[12:48:57] Starting 'sass'...
[12:48:58] Starting 'buildjs'...
[12:48:58] Starting 'buildhbs'...
[12:48:58] Starting 'injectLRScript'...
Starting web server on port 3001 in development mode
[12:48:58] Finished 'injectLRScript' after 49 ms
[12:48:58] Finished 'buildhbs' after 98 ms
/Users/karudo/work/test/testapp/node_modules/gulp-ruby-sass/index.js:101
var msg = err.trim();
^
TypeError: Object Error: spawn ENOENT has no method 'trim'
at ChildProcess. (/Users/karudo/work/test/testapp/node_modules/gulp-ruby-sass/index.js:101:18)
at ChildProcess.emit (events.js:95:17)
at Process.ChildProcess._handle.onexit (child_process.js:808:12)
I am trying to implement em test
command for running the client side ember code integration tests. The testing tech stack is below
mocha (BDD)
chai
karma
phantomJS
Karma is lacking support on Javascript ES6 module pre-compressors. What I am trying to do?
If you use ember-rocks
utility, you could generate a new project by em new my-app
. Then you could start to develop your project by cd my-app
, and then em serve
. If you open your favorite browser and navigate to localhost:3001
, you should a nice shining app.
Now, I want to write some integration tests for my front end javascript code using the tech stack I listed above.
Now, I need your suggestion or help.
Please, go to this repo, and look at the README.md content to see how you could start helping.
Post any question you may have. THANKS!
[22:51:04] [-log:] em-cli is doing REALLY hard to initialize your repo ...
Unhandled rejection TypeError: undefined is not a function
at C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\src\commands\create.js:166:7
at tryCatcher (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\bluebird\js\main\util.js:2
4:31)
at Promise._settlePromiseFromHandler (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\blu
ebird\js\main\promise.js:466:31)
at Promise._settlePromiseAt (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\bluebird\js
main\promise.js:545:18)
at Promise._settlePromises (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\bluebird\js\m
ain\promise.js:661:14)
at Async._drainQueue (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\bluebird\js\main\as
ync.js:79:16)
at Async._drainQueues (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\bluebird\js\main\a
sync.js:89:10)
at Async.drainQueues (C:\Users\she\AppData\Roaming\npm\node_modules\ember-rocks\node_modules\bluebird\js\main\as
ync.js:14:14)
at process._tickCallback (node.js:419:13)
Is there a simple way to support coffee-script?
Like npm install --save-dev ember-cli-coffeescript
in ember-cli?
I have initialised a new ember-rocks (v0.6.0) using em new app and served said app afterwards with em serve in the given folder.
When I load up the app in the browser (Chrome 39.0.2171.95 m) it seems to work fine, but Ember logs to the console that it cannot find application or index template and nothing is rendered.
The generated templates.js contains the application and index templates:
define("rocks/templates\\application",["exports"],function(__exports__){
return __exports__["default"] = Ember.Handlebars.template({"1":function(depth0,helpers,partials,data) {
data.buffer.push(" Ember Rocks ");
},"3":function(depth0,helpers,partials,data) {
data.buffer.push(" Home ");
},"5":function(depth0,helpers,partials,data) {
data.buffer.push(" Users ");
},"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
var stack1, escapeExpression=this.escapeExpression, helperMissing=helpers.helperMissing, buffer = '';
data.buffer.push("<header ");
data.buffer.push(escapeExpression(helpers['bind-attr'].call(depth0, {"name":"bind-attr","hash":{
'class': ("isMenuOpen:open")
},"hashTypes":{'class': "STRING"},"hashContexts":{'class': depth0},"types":[],"contexts":[],"data":data})));
data.buffer.push(">\n <div class='app-bar'>\n <button class=\"menu\" ");
data.buffer.push(escapeExpression(helpers.action.call(depth0, "toggleMenu", {"name":"action","hash":{},"hashTypes":{},"hashContexts":{},"types":["STRING"],"contexts":[depth0],"data":data})));
data.buffer.push(">\n <span>navigation bar</span>\n <span>navigation bar</span>\n <span>navigation bar</span>\n </button>\n <h1> ");
stack1 = ((helpers['link-to'] || (depth0 && depth0['link-to']) || helperMissing).call(depth0, "index", {"name":"link-to","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(1, data),"inverse":this.noop,"types":["STRING"],"contexts":[depth0],"data":data}));
if (stack1 != null) { data.buffer.push(stack1); }
data.buffer.push(" </h1>\n </div>\n</header>\n\n<nav ");
data.buffer.push(escapeExpression(helpers['bind-attr'].call(depth0, {"name":"bind-attr","hash":{
'class': ("isMenuOpen:open")
},"hashTypes":{'class': "STRING"},"hashContexts":{'class': depth0},"types":[],"contexts":[],"data":data})));
data.buffer.push(" ");
data.buffer.push(escapeExpression(helpers.action.call(depth0, "close", {"name":"action","hash":{},"hashTypes":{},"hashContexts":{},"types":["STRING"],"contexts":[depth0],"data":data})));
data.buffer.push(">\n <h4> Navigation </h4>\n <ul>\n <li> ");
stack1 = ((helpers['link-to'] || (depth0 && depth0['link-to']) || helperMissing).call(depth0, "index", {"name":"link-to","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(3, data),"inverse":this.noop,"types":["STRING"],"contexts":[depth0],"data":data}));
if (stack1 != null) { data.buffer.push(stack1); }
data.buffer.push(" </li>\n <li> ");
stack1 = ((helpers['link-to'] || (depth0 && depth0['link-to']) || helperMissing).call(depth0, "users", {"name":"link-to","hash":{},"hashTypes":{},"hashContexts":{},"fn":this.program(5, data),"inverse":this.noop,"types":["STRING"],"contexts":[depth0],"data":data}));
if (stack1 != null) { data.buffer.push(stack1); }
data.buffer.push(" </li>\n </ul>\n</nav>\n\n<main>\n ");
stack1 = helpers._triageMustache.call(depth0, "outlet", {"name":"_triageMustache","hash":{},"hashTypes":{},"hashContexts":{},"types":["ID"],"contexts":[depth0],"data":data});
if (stack1 != null) { data.buffer.push(stack1); }
data.buffer.push("\n</main>\n");
return buffer;
},"useData":true});
});
define("rocks/templates\\index",["exports"],function(__exports__){
return __exports__["default"] = Ember.Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
data.buffer.push("<h2> Home Page </h2>\n\n<p> Here is the homepage of Ember Rocks Application </p>\n");
},"useData":true});
});
Any ideas?
I generated a new project with version 0.9.5 and tried to run ´em t´ to see if the tests were working correctly since I was having problems in an earlier version as well. It looks like the test cannot find the App variable or something in the start-app helper isn't working as expected.
Here is the output that I'm getting from ´em t´:
Integration -
Home - '/' -
"before each" hook ‣
TypeError: undefined is not a function
at startApp (http://localhost:7357/tests/tests.js:30:28)
at Context.<anonymous> (http://localhost:7357/tests/tests.js:96:13)
at callFn (http://localhost:7357/tests/assets/scripts/mocha.js:4496:21)
at Hook.Runnable.run (http://localhost:7357/tests/assets/scripts/mocha.js:4489:7)
at next (http://localhost:7357/tests/assets/scripts/mocha.js:4777:10)
at http://localhost:7357/tests/assets/scripts/mocha.js:4794:5
at timeslice (http://localhost:7357/tests/assets/scripts/mocha.js:6218:27)
"after each" hook ‣
TypeError: Cannot read property 'destroy' of undefined
at Context.<anonymous> (http://localhost:7357/tests/tests.js:100:25)
at callFn (http://localhost:7357/tests/assets/scripts/mocha.js:4496:21)
at Hook.Runnable.run (http://localhost:7357/tests/assets/scripts/mocha.js:4489:7)
at next (http://localhost:7357/tests/assets/scripts/mocha.js:4777:10)
at http://localhost:7357/tests/assets/scripts/mocha.js:4794:5
at timeslice (http://localhost:7357/tests/assets/scripts/mocha.js:6218:27)
Can you confirm that it isn't currently working?
was seeing the structure of the ember-rocks, the folder server is only used for mockup of a REST API or have another use?
if only for mockup was thinking of using a module to mock api so let simpler to use.
My preference would be for ember-rocks to do this optionally and not automatically. Maybe this is something you could prompt the user for using Inquirer.js. What do you think?
I just installed EMRocks today. I have tried creating a new app a few times but it's not happy with Bluebird?
[16:47:43] [-log:] Starting to generate an application at /www/5movez_app
[16:47:43] [-done:] A new Ember.js mvc application have been successfully created!
[16:47:43] [-done:] A new Node.js web server have been successfully created!
[16:47:43] [-log:] It may take up to 1 minute and half!
[16:47:43] [-log:] Be patient, fetching packages from internet ...
[16:47:43] [-log:] NPM is installing node packages...
[16:47:43] [-log:] Bower is installing javascript packages...
[16:47:43] [-log:] em-cli is doing REALLY hard to initialize your repo ...
Possibly unhandled TypeError: undefined is not a function
at /usr/local/lib/node_modules/ember-rocks/src/commands/create.js:166:7
at tryCatcher (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/util.js:24:31)
at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/promise.js:466:31)
at Promise._settlePromiseAt (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/promise.js:545:18)
at Promise._settlePromises (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/promise.js:661:14)
at Async._drainQueue (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/async.js:79:16)
at Async._drainQueues (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/async.js:89:10)
at Async.drainQueues (/usr/local/lib/node_modules/ember-rocks/node_modules/bluebird/js/main/async.js:14:14)
at process._tickCallback (node.js:419:13)
What about a pod structure support like in ember-cli? It is very useful especially when project is large.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.