Coder Social home page Coder Social logo

lineman-angular-template's Introduction

A Lineman JS Template using Angular

Build Status

This is a project template for Angular JS applications using Lineman.

It includes the following features:

  1. Template Precompilation into Angulars $templateCache using grunt-angular-templates
  2. A basic login, logout service bound to sample routes inside config/server.js
  3. A router, and 2 views home and login
  4. A directive that shows a message on mouseover
  5. 2 Controllers, for home and login, with $scope variables set and bound
  6. A working, bound login form (username/password don't matter, but are required)
  7. Configured grunt-ng-annotate so you don't have to fully qualify angular dependencies.
  8. Auto generated sourcemaps with inlined sources via grunt-concat-sourcemap (you'll need to enable sourcemaps in Firefox/Chrome to see this)
  9. Unit Tests and End-to-End Tests
  10. Configuration to run Protractor for End-to-End Tests

Instructions

  1. git clone https://github.com/linemanjs/lineman-angular-template.git my-lineman-app
  2. cd my-lineman-app
  3. sudo npm install -g lineman
  4. npm install
  5. lineman run
  6. open your web browser to localhost:8000

Running Tests

This template was used as the basis of @davemo's Testing Strategies for Angular JS screencast, and contains all the tests we wrote in the screencast and a few more!

To run the unit tests:

  1. lineman run from 1 terminal window
  2. lineman spec from another terminal window, this will launch Testem and execute specs in Chrome

To run the end-to-end tests:

End-to-End Tests

  1. npm install protractor
  2. ./node_modules/protractor/bin/webdriver-manager update
  3. Make sure you have chrome installed.
  4. lineman run from 1 terminal window
  5. lineman grunt spec-e2e from another terminal window

Defining your apps angular.module in CoffeeScript

If you are using Coffeescript to define the angular.module for your app, you will need to swap the concat order in config/application.js such that coffeescript files are included before javascript. (If you are using JavaScript for defining the angular.module the default concat order is fine).

Add the following concat_sourcemap block to config/application.js if you want to define your app module in coffeescript:

module.exports = function(lineman) {
  return {

    concat_sourcemap: {
      js: {
        src: [
          "<%= files.js.vendor %>",
          "<%= files.coffee.generated %>",
          "<%= files.js.app %>",
          "<%= files.ngtemplates.dest %>"
        ]
      }
    }

  };
};

Hopefully this helps you get up and running with AngularJS!

lineman-angular-template's People

Contributors

ccarterc avatar davemo avatar dennisburton avatar foxandxss avatar jasonkarns avatar jwo avatar neall avatar searls avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lineman-angular-template's Issues

Unable to use ng-include with this setup.

It is nice to drop the header (navbar) & the footer in their own template files and just use ng-include to pull them in.

Is there a way to use ng-include with this setup?

Get spec-e2e to work headless with ci?

Tried to get this to work with phantomjs and had no joy :(

Installed protractor globally add created a new task called spec-e2e-ci.coffee which just referenced a new config file called spec-e2e-ci.js

I replaced the

  capabilities: {
    'browserName': 'chrome'
  }

with

  capabilities: {
    'browserName': 'phantomjs'
  }
$ ➜  load-balancer-service git:(master) ✗ lineman grunt spec-e2e-ci
Running "spec-e2e-ci" task
Starting selenium standalone server...
Selenium standalone server started at http://10.1.57.30:62627/wd/hub


  Load Balancers Page
    1) "before all" hook


  0 passing (10s)
  1 failing

  1) Load Balancers Page "before all" hook:
     Error: Timed out waiting for page to load
Wait timed out after 10049ms

I'm using mocha+chai btw which works fine with the regular spec-e2e / chrome driver setup so I don't think that's what's causing the problem.

Do you know a way to get this to work?

Any hints?

basic installation fails

was working a couple of days ago. Mac OSX version 10.8.5. Basic installation using git clone, npm install, lineman run launches OK, (lineman spec passes tests) but browser crashes (both chrome and safari).

default BookService not working

By default the list-of-books template is setup to work with a resource but has commented out code that uses a service. If you uncomment all the related code in books.html and books_controller.js the GET request does not work. When I inspect the models using Batarang I see

Books:  { 
then: null
catch: null
finally: null
success: null
error: null
 } 

my application.js has the following settings


        server: {
            pushState: true,
            // API Proxying
            //
            // During development, you'll likely want to make XHR (AJAX) requests to an API on the same
            // port as your lineman development server. By enabling the API proxy and setting the port, all
            // requests for paths that don't match a static asset in ./generated will be forwarded to
            // whatever service might be running on the specified port.
            //
            apiProxy: {
                enabled: true,
                host: 'localhost',
                port: 3000,
                prefix: 'api'
                // prefix: ''
            },
        },

When I try similar $http.get() requests to a local API I am using I get the same result. Am I doing something wrong or is this a bug?

Problems excluding directories from less

I'm having an issue trying to integrate FLAT-UI within the template. I set up everything in the vendor folder but upon hitting lineman-run I get the following error:

`NameError: variable @base-font-size is undefined in vendor/css/modules/buttons.less:11:13`

I've tryed to exclude the modules folder from the less compilation setting the line as follows:

paths: ["vendor/css/bootstrap/*.css", "vendor/css/flat-ui.less", "!vendor/css/modules/*.less", "app/css/**/*.less"] c

This has not worked, maybe this is not the place to exclude the directory, or is it a sintaxis error?

Should we use lineman-bower?

Angular is on fire, we get updates every week more or less and I am always updating it by hand. Shouldn't we add bower? I am not a bower lover, but maybe we can leave the dependencies updates to it.

configurable webfonts to point to bower downloaded files directly

Currently webfonts are copied from two locations:

in ... /config/files.coffee

webfonts:
   vendor: "vendor/webfonts/**/*.*"
   root: "webfonts"

If you were to use bower to install let's say bootstrap or font-awesome which have fonts directories, then on each upgrade, all fonts must be manually copied into vendor/webfonts.

I am wondering if it would be a good idea to make webfonts configurable as well.

something like:

module.exports = function(lineman) {
//Override file patterns here
return {
  js: {
  vendor: [
    "vendor/js/jquery.js",
    "vendor/js/angular.js",
    "vendor/js/**/*.js"
  ],
  app: [
    "app/js/app.js",
    "app/js/**/*.js"
  ]
},

webfonts:{
  "vendor/bower/bootstrap/fonts/**/*",
  "vendor/bower/font-awesome/fonts/**/*",
  "vendor/webfonts"
},

less: {
  compile: {
    options: {
      paths: [
        "vendor/css/normalize.css",
        "vendor/css/**/*.css",
        "app/css/**/*.less"
      ]
    }
  }
}
};
};

Q: why does server task run concat:less and other tasks again?

I'm seeing some tasks being run twice like the less:comple task or the concat-sourcemap:css task which gets run multiple times.

At first I thought this was a result of me modifying the old config with the new version of linemanjs, but this is the dump from a brand new install on a brand new laptop without any modifications.

Is this normal?


C:\Windows\system32>cd \ams\ams.spa

C:\AMS\AMS.SPA>lineman run
Running "common" task

Running "ngtemplates:app" (ngtemplates) task
File generated\angular\template-cache.js created.

Running "less:compile" (less) task
File generated/css/app.less.css created.

Running "coffee:compile" (coffee) task
>> Destination (generated/js/app.coffee.js) not written because compiled files w
ere empty.
File generated/js/spec.coffee.js created.
>> Destination (generated/js/spec-helpers.coffee.js) not written because compile
d files were empty.

Running "jshint:files" (jshint) task
>> 9 files lint free.

Running "concat_sourcemap:js" (concat_sourcemap) task
File "generated/js/app.js" created.

Running "concat_sourcemap:spec" (concat_sourcemap) task
File "generated/js/spec.js" created.

Running "concat_sourcemap:css" (concat_sourcemap) task
File "generated/css/app.css" created.

Running "copy:dev" (copy) task
Created 1 directories, copied 1 files

Running "images:dev" (images) task
Copying images to 'generated/img'

Running "webfonts:dev" (webfonts) task
Copying webfonts to 'generated/webfonts'

Running "pages:dev" (pages) task
generated/index.html generated from app/pages/index.us

Running "dev" task

Running "server" task
Starting express web server in 'generated' on port 8000
Simulating HTML5 pushState: Serving up 'generated/index.html' for all other unma
tched paths

Running "watch" task
Waiting...OK
>> File "vendor/js/angular.js" added.
>> File "vendor/js/angular-resource.js" added.
>> File "vendor/js/angular-route.js" added.
>> File "vendor/js/underscore.js" added.
>> File "app/js/app.js" added.
>> File "app/js/controllers/books_controller.js" added.
>> File "app/js/controllers/home_controller.js" added.
>> File "app/js/controllers/login_controller.js" added.
>> File "app/js/directives/shows_message_when_hovered.js" added.
>> File "app/js/resources/book_resource.js" added.
>> File "app/js/router.js" added.
>> File "app/js/services/authentication_service.js" added.
>> File "app/js/services/book_service.js" added.
>> File "spec/helpers/angular-mocks.js" added.
>> File "spec/helpers/helper.js" added.
>> File "spec/helpers/jasmine-fixture.js" added.
>> File "spec/helpers/jasmine-given.js" added.
>> File "spec/helpers/jasmine-only.js" added.
>> File "spec/helpers/jasmine-stealth.js" added.
>> File "spec/controllers/login_controller_spec.js" added.
>> File "spec/directives/shows_message_when_hovered_spec.js" added.
>> File "spec/controllers/login_controller_jasmine_given_spec.coffee" added.
>> File "spec/controllers/login_controller_spec.coffee" added.
>> File "spec/directives/shows_message_when_hovered_jasmine_given_spec.coffee" a
dded.
>> File "spec/services/authentication_service_spec.coffee" added.
>> File "vendor/css/foundation.min.css" added.
>> File "vendor/css/normalize.css" added.
>> File "app/css/main.less" added.
>> File "app/css/style.less" added.
>> File "app/pages/index.us" added.
>> File "app/img/demo1.jpg" added.
>> File "app/img/demo2.jpg" added.
>> File "app/templates/books.html" added.
>> File "app/templates/home.html" added.
>> File "app/templates/login.html" added.

Running "concat_sourcemap:js" (concat_sourcemap) task
File "generated/js/app.js" created.

Running "concat_sourcemap:spec" (concat_sourcemap) task
File "generated/js/spec.js" created.

Running "coffee:compile" (coffee) task
>> Destination (generated/js/app.coffee.js) not written because compiled files w
ere empty.
File generated/js/spec.coffee.js created.
>> Destination (generated/js/spec-helpers.coffee.js) not written because compile
d files were empty.

Running "concat_sourcemap:spec" (concat_sourcemap) task
File "generated/js/spec.js" created.

Running "concat_sourcemap:css" (concat_sourcemap) task
File "generated/css/app.css" created.

Running "less:compile" (less) task
File generated/css/app.less.css created.

Running "concat_sourcemap:css" (concat_sourcemap) task
File "generated/css/app.css" created.

Running "pages:dev" (pages) task
generated/index.html generated from app/pages/index.us

Running "images:dev" (images) task
Copying images to 'generated/img'

Running "jshint:files" (jshint) task
>> 9 files lint free.

Running "ngtemplates:app" (ngtemplates) task
File generated\angular\template-cache.js created.

Running "concat_sourcemap:js" (concat_sourcemap) task
File "generated/js/app.js" created.

Running "watch" task
Waiting...

Mixing *.coffee vs. *.js files

Is there any particular reason why we have some *.coffee and some *.js files throughout this project?

Would it be possible to convert any common files to *.js and leave users to decide which syntax they want to use for their personal files?

ui.bootstrap Datepicker issue

After adding datepicker console shows error :

TypeError: Cannot read property 'join' of undefined

how to fix this?

Task "sass" not found

I'm starting a new project using this template and would like to use Sass instead of Less.

On creating a sass file and running lineman build and grepping for styles I've added, nothing is found.

When running lineman run and creating a new scss file, a fatal error is thrown:

File "app/css/global.scss" renamed. 
Fatal error: Task "sass" not found.

I notice that there is no config for sass in config/files.js and that there is a flag set to false for enableSass in the node_modules/config/application.coffee but I'm not sure how to approach enabling this and creating a sass task. Is there something basic that I've missed?

Change underscore for lodash?

First of all, do we need underscore? I guess that yes, it is an awesome small library that comes handy in almost any project.

But I think that lodash is better, seems to be faster and seems to remove some problems with underscore.

What do you think?

Encoding issue with the included AngularJS files

Not a showstopper but thought I should mention it.

There seems to be some encoding problem with the included AngularJS files under the vendor/js/ directory. I see there are dashes, found in docstring, show up as – when comparing the files to their counterparts downloaded directly from AngularJS's site.

Problems encountered with grunt-attention

I am encountering an error trying to add grunt-attention to lineman-angular. I ran this by Foxandxss on irc #angularjs tonight and he suggested I create a new issue.

My application,js file is at https://gist.github.com/mdford/8590243 (I have stripped it down to just this module).

It works if I run >>lineman grunt attention

However, if I try to run >>lineman build I get the following error:

lineman build
Running "common" task
Warning: Task "ngtemplates" not found. Use --force to continue.
Aborted due to warnings.

I am running lineman v 0.23.2

Any thoughts?

Thanks!

Mark

To jQuery or not to jQuery (specs)

I want to open a discussion here.

The good part of angular is the freedom, you can do it like you want, but I think that there are some conventions that are good to follow.

I saw some different ways to test directives, there are people that like to test directives using e2e tests and others prefers unit tests.

Almost every directive test I saw uses the unit test approach. That approach uses jQuery.

Lets say that I have a calendar directive, it shows a calendar for a given month/year.

How could you test it?

For me, unit tests are to test a component in completely isolation and e2e to test everything working together.

Let's see the unit test approach.

I want to see that <calendar></calendar> generates the calendar for the current month.

To assert that (assuming that every day is a div) I could retrieve every day on the element that contains the ... day class. Then I assert I have 42 days (a 6-week calendar). I can only do that using jQuery because jQlite doesn't have class selectors.

I could assert that there is a day with the current class that marks 'today'. There is no way to do that with jQlite either.

Then I do the same tests with <calendar month="somemonth" year="someyear"></calendar> with valid values and also with invalid values.

What about e2e? e2e are for other kind of stuff. I would like to test there that if I go to: /calendar/2013/12 I get december 2013 calendar. I am testing the routing system there, I shouldn't test there that I have a 42 days calendar, that should be tested on the unit test.

Alright alright, you want to test your calendar with e2e where you can do some better selections...

Unit tests use a template made for the test element = '<calendar></calendar>' but the e2e tests will use the real template.

So if my real template has <calendar month="month" year="year"></calendar> how are you going to test the directive without attributes? You can't.

TL;DR;: I think that we should include jQuery in our spec helpers and load it before angular. Everybody seems to use jQuery to test their directives. You can check more examples on angular-ui bootstrap (where I consider that you could find the best made directives for angular).

Thoughts? :)

Customize Context passed to underscore templates

In my index.us template, I'd like to set up a global var with the root of my API. When i run lineman build in staging, i'd like this to be api.staging.site.com. When i run lineman build in production, i want this to be api.site.com.

What's the best way to do this with Lineman? I found a mention of a context object in pull #90, does that still work?

Include twitter-boostrap and jquery

I have added boostrap libs to the vendor/js and css. Then trying to apply boostrap dropdown. It not working. Other boostrap's buttons,labels,.. are working well.
Also can't add angular-cookies lib.Got errors.

require "protector/jasminewd" fails

I tried to use protractor with selenium installed via npm globally, so that it is located at /opt/local/lib/node_modules/selenium/lib/runner/selenium-server-standalone-2.20.0.jar.

By calling ./node_modules/protractor/bin/protractor config/spec-e2e.js I'm getting the following error:

Starting selenium standalone server...
Selenium standalone server started at http://192.168.120.218:60017/wd/hub

/projects/lineman-angular-template/spec-e2e/login_spec.coffee:2
require "protractor/jasminewd"
        ^^^^^^^^^^^^^^^^^^^^^^
Exception loading: /projects/lineman-angular-template/spec-e2e/login_spec.coffee
[SyntaxError: Unexpected string]

How to customize ngtemplates task

The default ngtemplates task generate code:

angular.module("app").run(["$templateCache", function($templateCache) {
    ...
})

Can I change the module name?
Like:

angular.module("Myapp").run(["$templateCache", function($templateCache) {
    ...
})

Help with integration

Would you please try this e2e test? I think it is not finding your "app" module and it is not finding "inject". I ran this test today on your master branch after installing webdriver-manager and using command lineman grunt spec-e2e.

$ cat spec-e2e/app_spec.coffee

describe "my angular app", ->

  beforeEach -> module "app"

  beforeEach inject ($controller, $rootScope, $state) ->
    @$controller = $controller
    @$rootScope = $rootScope
    @$state = $state

Documentation: Incorrect reference to config/application.js in README.md?

It appears as if there is an outdated reference to config/application.js in the README (when referencing config values to modify when developing with CoffeeScript).

Either config/application.js should be config/lineman.js, or the changes necessary for proper CoffeeScript usage should be modified (or so it seems, please correct me if I'm wrong).

lineman-angular-template cannot coffeescript

hello world,

I have bumped into an issue with

https://github.com/linemanjs/lineman-angular-template

I cannot get it to recognize coffeescript files.

I follow these steps to reproduce the bug:

// /tmp/latapp/config/application.js

module.exports = function(lineman) {
  return {
    server: {
      pushState: true
    },

    concat_sourcemap: {
      js: {
        src: [
          "<%= files.js.vendor %>",
          "<%= files.coffee.generated %>",
          "<%= files.js.app %>",
          "<%= files.ngtemplates.dest %>"
        ]
      }
    }
  };
};
  • npm i -g js2coffee
  • cd /tmp/latapp/app/js/
  • js2coffee app.js > app.coffee
  • mv app.js /tmp/
  • cd /tmp/latapp/
  • lineman run
  • visit localhost:8000
  • Observe whitepage error in browser.

LESS, paths and wildcards

I am trying to split up my stylesheets into multiple .less files - for instance like this:

css/foo.less
css/style.less

With the default configuration the less compiler will compile both of these files. However if I introduce a variable blue in style.less and try to use it in foo.less I will get an error because the files are compiled independently of each other (NameError: variable @blue is undefined).

The solution seems to be to use an import statement from style.less and then change the configuration to only compile style.less.

I imagined that this would work:

less: {
compile: {
options: {
paths: ["vendor/css/normalize.css", "vendor/css/*/.css", "app/css/style.less"]
}
}
}

However after making this change both files are still being compiled and the error still occurs.

This appears to me to be because of the global default configuration in files.coffee where less.app is set to "app/css/*/.less".

Directly calling lessc on app/css/style.less works fine.

And indeed setting the following in config/files.js makes less compilation work without errors:

less: {
app: "app/css/style.less",
compile: {
options: {
paths: ["vendor/css/normalize.css", "vendor/css/*/.css"]
}
}
}

However that seems like the wrong way to do? I would have expected that editing paths would have been enough?

What is the recommended way of working with multiple files in lineman and ensuring their ordering? I imagine the same issues will present itself with .js files as well.

broken distribution with "lineman build"

I have this weird problem with "lineman build" that i can't solve.

Following the steps that generate the error:

  1. OK: run the build script
  2. OK: everything runs smoothly and i put the content of the "dist" folder online
  3. PROBLEM: the app will try to load "main.html" (which is a template file URL) that obviously return a 404.
  4. PROBLEM: i re-run "lineman run" to fix the issue and i discover that even my app running from the "generated" folder is "broken" (looking for the main.html file)

to fix the dev i simply have to re-save "main.html" that triggers this:

Running "ngtemplates:app" (ngtemplates) task
File generated/angular/template-cache.js created.

Running "concat_sourcemap:js" (concat_sourcemap) task
File "generated/js/app.js" created.

which makes the "dev app" (the one in the "generated" folder) work again.

So the "real" problem is....why does the built version look for my template files URLs?
Any help it's appreciated, thanks!

coffeescript compiling

In js2coffee.org, this compiles:

=>
    1

as this:

(function(_this) {
  return (function() {
    return 1;
  });
})(this);

When I do the same under lineman, I get this:

      (function() {
        return 1;
      });

Notice, the function is not calling itself. Can you please direct me to the right place or upgrade if this is not a bug with the code in lineman. Thank you...

This is my configuration:

  "dependencies": {
    "lineman-angular": "0.3.x"
  },
  "devDependencies": {
    "lineman-less": "~0.1.0"
  }

Question: how can I limit expansion of subdirectories for directives and individual views in pages

I'm pretty bad at understanding how lineman's grunt tasks work, but at the moment I have a lot of html files in app/pages and I would like to organise them into app/templates/ and other subdirectories for related views.

However, when I do so pages:dev simply puts them all into the root of /generated/ - how do I modify it so that files in subdirectories in app/pages/ get placed into a corresponding subdirectory in generated/?

"Bring config back into line with the archetype." broke previous config files

We started using lineman months ago on our windows PCs for development with angular.
The config file started with something like this:

module.exports = require(process.env['LINEMAN_MAIN'])
    .config.extend('application', {

Now, we installed npm and lineman on a new designer's MAC, cloned our existing project and then tried lineman run, and we get these errors:

Running "concat_sourcemap:css" (concat_sourcemap) task
Warning: must provide pattern Used --force, continuing.

also, it seems to run the concat tasks twice
I'm guessing we need to upgrade something, but i'm not sure what at this point?

Protractor tests requires

Playing with travis and e2e I saw that we have:

lineman grunt spec-e2e and ./nodule_modules/.bin/protractor config/spec-e2e.js

What's the difference? The first one works, the second throw an error about this:

protractor = require("protractor")
require "protractor/jasminewd"
require 'jasmine-given'

So the question is. Why we need those requires? I have some e2e tests in my app and I don't needed any of those 3 lines.

In concrete the second command is crying about the jasminewd require.

SyntaxError: Unexpected string

from scratch

Just tried to build from scratch and ran into:
Running "watch" task
Waiting...
PushState: '/' not found in /Users/cat/Sites/llsapp/generated - Serving up 'generated/index.html'
Error: ENOENT, stat 'generated/index.html'

PushState: '/favicon.ico' not found in /Users/cat/Sites/llsapp/generated - Serving up 'generated/index.html'
Error: ENOENT, stat 'generated/index.html'

xxxxxxxxxxxxx
I'm sure it's something not-so-hard but the first thing I do is check the issues, since there were no issues figured I would put this in. Will update this when I figure out the simple thing I missed....
xxxxxxxxxxxxx

Here is how I got here:
catmini:~ cat$ cd Sites/
catmini:Sites cat$ git clone https://github.com/davemo/lineman-angular-template.git llsapp
Cloning into 'llsapp'...
remote: Counting objects: 578, done.
remote: Compressing objects: 100% (331/331), done.
remote: Total 578 (delta 241), reused 537 (delta 218)
Receiving objects: 100% (578/578), 1.12 MiB | 152 KiB/s, done.
Resolving deltas: 100% (241/241), done.
catmini:Sites cat$ cd llsapp/
catmini:llsapp cat$ sudo npm install -g lineman
Password:
npm http GET https://registry.npmjs.org/lineman
npm http 200 https://registry.npmjs.org/lineman
xxxxxxxxx delete lots of npm messages only a few warns xxxxxxxxx
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.17","npm":"1.3.9"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.17","npm":"1.3.9"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.17","npm":"1.3.9"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.17","npm":"1.3.9"})
npm WARN engine [email protected]: wanted: {"node":"0.8.x"} (current: {"node":"v0.10.17","npm":"1.3.9"})
xxxxxxxxx Run xxxxxxxxx
catmini:llsapp cat$ lineman run

Tasks directory "/usr/local/lib/node_modules/lineman/tasks/../node_modules/grunt-angular-templates/tasks" not found.
Tasks directory "/usr/local/lib/node_modules/lineman/tasks/../node_modules/grunt-concat-sourcemap/tasks" not found.
Tasks directory "/usr/local/lib/node_modules/lineman/tasks/../node_modules/grunt-ngmin/tasks" not found.

Running "common" task
Warning: Task "ngtemplates" not found. Used --force, continuing.

Running "dev" task

Running "server" task
Starting express web server in "./generated" on port 8000
Simulating HTML5 pushState: Serving up 'generated/index.html' for all other unmatched paths

Running "watch" task
Waiting...
PushState: '/' not found in /Users/cat/Sites/llsapp/generated - Serving up 'generated/index.html'
Error: ENOENT, stat 'generated/index.html'

PushState: '/favicon.ico' not found in /Users/cat/Sites/llsapp/generated - Serving up 'generated/index.html'
Error: ENOENT, stat 'generated/index.html'

Running spec-e2e with protractor 0.19.0

I'm running into an issue running protractor tests with the lineman-angular-template on OSX. It looks like something in protractor has changed, because when i revert to 0.18.0, it works.

Here's the error I'm getting

lineman grunt spec-e2e
Running "spec-e2e" task

------------------------------------
PID: 14924 (capability: chrome #1)
------------------------------------


/Users/dc/dev/node/lineman-angular-template/node_modules/protractor/lib/driverProviders/local.dp.js:42
        throw new Error('Could not find chromedriver at ' +
              ^
Error: Could not find chromedriver at /Users/dc/dev/node/lineman-angular-template/node_modules/protractor/selenium/chromedriver.exe
    at LocalDriverProvider.addDefaultBinaryLocs_ (/Users/dc/dev/node/lineman-angular-template/node_modules/protractor/lib/driverProviders/local.dp.js:42:15)
    at LocalDriverProvider.setupEnv (/Users/dc/dev/node/lineman-angular-template/node_modules/protractor/lib/driverProviders/local.dp.js:59:8)
    at Runner.run (/Users/dc/dev/node/lineman-angular-template/node_modules/protractor/lib/runner.js:308:31)
    at process.<anonymous> (/Users/dc/dev/node/lineman-angular-template/node_modules/protractor/lib/runFromLauncher.js:32:14)
    at process.EventEmitter.emit (events.js:98:17)
    at handleMessage (child_process.js:318:10)
    at Pipe.channel.onread (child_process.js:345:11)
[launcher] Runner Process Exited With Error Code: 8

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.