Coder Social home page Coder Social logo

radian's Introduction


Radian

Build Status Selenium Test Status

A scalable framework for AngularJS running off RequireJS.

Visit radian.io for more info.

radian's People

Contributors

ahmednuaman avatar davej avatar joerayme avatar thesmaw avatar

Stargazers

 avatar  avatar Hany avatar Caner Candan avatar  avatar electronori avatar Bastien Auda avatar  avatar yuanchunfa avatar Anh Trinh avatar Israel Perales avatar Amit Portnoy avatar Vincent Ogloblinsky avatar  avatar Rildo Moraes avatar Marcell Kiss avatar Kris Ivanov avatar Johannes Millan avatar Ömer Aslanbakan avatar Shaun Wakashige avatar Adam Dunkley avatar Michi Kono avatar st44100 avatar Dan Mindru avatar  avatar  avatar Sanggyu Nam avatar Milan Jelicanin avatar Michael Cassius avatar Blazej Gruszka avatar Michael Robinson avatar Jason Gendron avatar Matheus Murbach avatar AnsonT avatar Prashanth Bhat avatar Gerard Finnerty avatar Daniel Chao avatar cheahkhing avatar Niket Shah avatar Bruno Gomes avatar Victor Perron avatar Sean Goresht avatar Felix avatar Rodrigo Baron avatar Stephen Chumley avatar Aleksandar Vidakovic avatar Janos Csikos avatar  avatar Young avatar Alan Kash avatar ✨ Kathryn Gonzalez ✨ avatar Ethan Tran avatar  avatar Mike Slattery avatar Faiz Shukri avatar Michael Reyes avatar ssnau avatar  avatar Alexander Ryzhikov avatar Bojan Vidanovic avatar Henrik Westphal avatar Robert Wade avatar Mark Jackson avatar John Pedrie avatar  avatar ahmed hamdy avatar floydwch avatar  avatar Bernd Rennebeck avatar Luis Ramos avatar Mike Quinlan avatar Chris Rolfs avatar der_On avatar Alessandro Miliucci avatar Mike Vegeto avatar Boris Cherny avatar  avatar Robb Schiller avatar Sebastian Blei avatar Sindre Sorhus avatar Adrian Ene avatar Brandon Smith avatar Jidé avatar Ciprian Florea avatar Robin Böhm avatar Alberto Basalo avatar Patrick Deroubaix avatar Frank de Groot - Schouten avatar Jez Stephens avatar Charles Buczel avatar Alonisser avatar robert dean avatar Paul Matyukov avatar Ludovic Claude avatar Harry Dobrev avatar janily avatar Amr Tamimi avatar  Tomek Sulkowski avatar  avatar Chris Witko avatar

Watchers

James Cloos avatar Dan Cancro avatar  avatar Niket Shah avatar Alexander Ryzhikov avatar Hitesh avatar Gautamdev Khanna avatar  avatar

radian's Issues

Broken when you choose to generate an app without example site code

I'm sure you're aware of this but it doesn't seem to be mentioned on the site.

Some but probably not all of the things that are broken:

  • @import 'icon/*.png' the folder and png files don't exist, causes compass:dev to abort (styles.sass)
  • @import 'partial/mixins' etc.., none of the partials exist, causes compass:dev to abort (_partials.sass)
  • app-controller.coffee has references to header-controller, footer-controller and page-title-factory, all of which don't exist. This creates the error Unknown provider: pageTitleFactoryProvider <- pageTitleFactory
  • routes.coffee has references to error-controller and home-controller which don't exist

Also when files aren't found they don't raise 404's they just return the index.html file instead. Perhaps if the path has a .js/.css/.jpg/.png/.gif extension then the server should return a 404 instead of the index.html file

Minify, combine and cache partials

I love Radian, it seems to very closely replicate what I have been trying to do with Angular and Yeoman myself, except Radian is a lot cleaner and more clearly thought-out.

One thing I feel is missing from Radian is minification/combining of partials for the production version of the app. Perhaps take a look at grunt-angular-templates. I tend to use a lot of small partials and making multiple requests for a few small partials makes app significantly slower on production. You can also transparently fallback to using .html files (perhaps for the development version) and continue to use the same path.

Issues with dependencies when running: yo radian

I am on OSX Mavericks 10.9.3 and have followed the instructions on your homepage for installing Radian as well as Yeoman. All is fine here.

Now when I want to create an app with the "yo radian" command I get the following two errors:

./util/has_cairo_freetype.sh: line 4: pkg-config: command not found
gyp: Call to './util/has_cairo_freetype.sh' returned exit status 0. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:340:16)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:797:12)
gyp ERR! System Darwin 13.2.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxx/Documents/dev/radian/node_modules/grunt-spritesmith/node_modules/spritesmith/node_modules/canvassmith/node_modules/canvas
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.13.0
gyp ERR! not ok

and at the end I get:

npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9.3
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@~0.10.0
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.11.14
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9

npm ERR! System Darwin 13.2.0
npm ERR! command "node" "/usr/local/bin/npm" "install"
npm ERR! cwd /Users/xxx/Documents/dev/radian
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.10
npm ERR! code EPEERINVALID

Have you got any advice on how to fix these issues or references I could read through that would help me solve the problem? I have looked around on Google but haven't found any solutions that have solved anything for me. Such solutions included updating Karma to the latest version but that also ups the version of grunt-karma that is needed and all other dependencies listed didn't seem to get solved by this.

Any help at all would be great as I am really anxious to give Radian a try.

You are leaking your key.

Using the selenium server at ahmednuaman-radian:06dd4e07-0f52-4fdf-be5e-389f2117bbf5@localhost:4445

Crawler overwrites main `index.html` file

When I run grunt build everything runs file until it gets to the crawler and outputs "Indexed http://localhost:8000/ and saved to build/index.html". Basically the crawled index.html replaces the original index.html.

This means that I can not access the built JS version of the site, I am presuming that this is not the expected behaviour.

"yo radian:partial" generator issue

If you are using SCSS, a semi-colon is not added in _partials.scss for the import of the SCSS file relating to the partial you just added

Use grunt-sass (and possibly bourbon)?

This is a feature request. I realise that Radian can't be everything to everybody but I think it's good to move away from the ruby dependencies where possible.

I've been using grunt-sass for a number of months now and I find it very stable, the only issue is that grunt-sass (and libsass) doesn't work with ruby libs like compass. I use bourbon instead and find it excellent. I also prefer scss to sass but that's very much a personal preference.

Support multiple modules?

Having more than one module has become more difficult because the helper base classes are coupled to the module that is defined in the config file.

I'm not sure how I feel about this, I have only ever used one module in the past so I don't think it will effect me but I think it's worth raising the issue because 'scalable' applications could legitimately be broken down into multiple modules.

If this is considered an issue then there are two potential solutions that I can think of.

  1. Require (or make optional) the module name in the @register method.
  2. Use a generator that creates module specific base classes. i.e. yo radian:module 'module name' creates a ModuleNameCtrl/ModuleNameService/etc base class.

Again, I'm not sure that this is an issue that needs to be fixed but I think it's worth considering.

Live Reload for SASS?

I think I understand why you haven't included live reload. It can be very frustrating when you save a file without thinking and the app reloads causing the application state to be lost.

It is super useful for SASS though because it can update CSS without refreshing the browser and keeping the browser state in tact. What do you think about the idea of including Live Reload for CSS files only?

The package karma does not satisfy its siblings' peerDependencies requirements!

NPM install not finishing and showing following error. I have karma 0.10.9 installed globally.

npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9.3
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@~0.10.0
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.11.14
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9
npm ERR! peerinvalid Peer [email protected] wants karma@>=0.9

npm ERR! System Darwin 13.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "karma"
npm ERR! cwd /Users/jca27/Dev/sq-web-v2
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code EPEERINVALID

All coffee files are compiled, linted, source mapped and documentation regenerated each time a single coffee file is saved

The watch steps should only apply to the edited file(s) not to every single file.

>> File "assets/js/routes.coffee" changed.

Running "coffeelint:all" (coffeelint) task
>> 23 files lint free.

Running "coffee:dev" (coffee) task
File assets/js/app.js created.
File assets/js/app.js.map created.
File assets/js/config.js created.
File assets/js/config.js.map created.
File assets/js/controller/app-controller.js created.
File assets/js/app-controller.js.map created.
File assets/js/routes.js created.
File assets/js/routes.js.map created.
File assets/js/startup.js created.
File assets/js/startup.js.map created.

Running "docco:all" (docco) task
docco: Gruntfile.coffee -> docs/Gruntfile.html
docco: assets/js/app.coffee -> docs/app.html
docco: assets/js/config.coffee -> docs/config.html
docco: assets/js/controller/app-controller.coffee -> docs/app-controller.html
docco: assets/js/routes.coffee -> docs/routes.html
docco: assets/js/startup.coffee -> docs/startup.html
docco: crawler.coffee -> docs/crawler.html
docco: grunt/coffeelint.coffee -> docs/coffeelint.html
docco: grunt/contrib-coffee.coffee -> docs/contrib-coffee.html
docco: grunt/contrib-compass.coffee -> docs/contrib-compass.html
docco: grunt/contrib-copy.coffee -> docs/contrib-copy.html
docco: grunt/contrib-imagemin.coffee -> docs/contrib-imagemin.html
docco: grunt/contrib-requirejs.coffee -> docs/contrib-requirejs.html
docco: grunt/contrib-watch.coffee -> docs/contrib-watch.html
docco: grunt/docco.coffee -> docs/docco.html
docco: grunt/exec.coffee -> docs/exec.html
docco: grunt/express-server.coffee -> docs/express-server.html
docco: grunt/jade.coffee -> docs/jade.html
docco: grunt/karma.coffee -> docs/karma.html
docco: grunt/text-replace.coffee -> docs/text-replace.html
docco: server.coffee -> docs/server.html
docco: test/unit/karma.conf.coffee -> docs/karma.conf.html
docco: test/unit/test-main.coffee -> docs/test-main.html
Completed in 4.960s at Sun Dec 29 2013 22:34:00 GMT+0000 (GMT)

You can read about how to do this here: https://github.com/gruntjs/grunt-contrib-watch#compiling-files-as-needed

Also I think it's worth considering moving docco out of watch because it's not really necessary for development.

unexpected release tag

The newest release tag is 1.0.3 without the leading v. The generator is terminated by the bad url when requesting the tar file.

e2e tests won't run locally due to missing selenium config

Running grunt test doesn't fully complete when running locally because selenium hasn't been set up:

Running "exec:e2e" (exec) task
Starting selenium standalone server...
>>
>> /usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:187
>> throw new Error('Unable to start selenium. ' +
>> ^
>> Error: Unable to start selenium. You must specify either a seleniumAddress, seleniumServerJar, or saucelabs account, or use webdriver-manager.
>>   at setUpSelenium (/usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:187:15)
>>   at Object.runOnce (/usr/local/share/npm/lib/node_modules/protractor/lib/runner.js:397:10)
>>   at Object.<anonymous> (/usr/local/share/npm/lib/node_modules/protractor/lib/cli.js:102:8)
>>   at Module._compile (module.js:456:26)
>>   at Object.Module._extensions..js (module.js:474:10)
>>   at Module.load (module.js:356:32)
>>   at Function.Module._load (module.js:312:12)
>>   at Function.Module.runMain (module.js:497:10)
>>   at startup (node.js:119:16)
>>   at node.js:901:3
>> Exited with code: 8.
Warning: Task "exec:e2e" failed. Use --force to continue.

Not sure the solution to this - docs, extra config or both?

Support for different preprocessors?

As it happens, your opinions closely match mine, coffeescript + sass (although I prefer the scss syntax) + jade. Obviously not everybody is going to agree with us though.

Is it in your plans to support other preprocessors? Stylus + nib is a viable alternative to compass for example. Also some people will want to work with vanilla js or css or html.

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.