Giter VIP home page Giter VIP logo

donejs's Introduction

@page DoneJS @hide title @hide sidebar

DoneJS logo

npm version Build Status Build Status Coverage Status

DoneJS is the easiest way to get a high-performance, real-time, web and mobile application done! The framework provides a nearly comprehensive combination of technologies for building complex JavaScript applications.

If you are looking for the fastest way to get a fully modern development environment setup and produce a lightning fast application, you’ve come to the right place.

DoneJS is a combination of the following technologies:

  • StealJS — ES6, CJS, and AMD module loader and builder
  • CanJS — Custom elements and model-view-viewmodel (MVVM) utilities
  • jQuery — DOM helpers
  • jQuery++ — Extended DOM helpers
  • QUnit or Mocha — Assertion library
  • FuncUnit — Functional tests
  • Testee or Karma — Test runner
  • DocumentJS — Documentation
  • can-ssr — Server-side rendering utilities for CanJS

DoneJS is an npm package that simply installs all the previous technologies. Check out DoneJS.com for the collective benefits of these technologies and guides on how to use them together to build an amazing application.

Contributing

Greenkeeper badge

Check out the contribution guide on DoneJS.com.

donejs's People

Contributors

akagomez avatar alfredo-delgado avatar andrejewski avatar atomgroom avatar bigab avatar chasenlehara avatar cherifgsoul avatar christopherjbaker avatar cklanac avatar daffl avatar generalmeow avatar greenkeeper[bot] avatar imaustink avatar julia-allyce avatar justinbmeyer avatar leoj3n avatar m-mujica avatar marshallswain avatar mattchewone avatar matthewp avatar mjstahl avatar morrme avatar moschel avatar obaidott avatar phillipskevin avatar sijiawu avatar skylerraytaylor avatar tomgreever avatar trevinhofmann avatar xedoken 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  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

donejs's Issues

body click not triggered.

I have this in a controller (doesn't work):

'body click': function( el ) 
{
     alert('ok');
},

When i try this:

$('body').click(function(el) 
{
    alert('ok');
});

It's work.

This sound weird, please can you take a look at this issue.
Many thanks

[CLOSED] Add a Gitter chat badge to README.md

Issue by gitter-badger from Thursday Jun 04, 2015 at 21:32 GMT
Originally opened as #5


donejs/donejs now has a Chat Room on Gitter

@matthewp has just created a chat room. You can visit it here: https://gitter.im/donejs/donejs.

This pull-request adds this badge to your README.md:

Gitter

If my aim is a little off, please let me know.

Happy chatting.

PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.


gitter-badger included the following code: https://github.com/donejs/donejs/pull/5/commits

Steal supports packages

Steal will be able to declare packages like:

steal.packages('contacts','login','filemanager')

This tells the builder to build contacts, login, and filemanager packages that can be progressively loaded later. In development, when code runs like:

steal('contacts', function(){ ... })

Steal will simply steal contacts/contacts.js and anything it steals that hasn't already been stolen.

But in production, instead of stealing contacts/contacts.js, it will steal app/packages/contacts.js. app/packages/contacts.js will be comprised of contacts/contacts.js and the steals unique to contacts/contacts.js.

In summary, packages tells steal that other resources will be loaded and to package and minify them in an efficient way for progressive loading. In the app's production.js, it tells it where to find these packages.

Example

Packages lets you define several parts of your application to progressively load. In this example, we want to load only what is needed to get the application started and defer the rest until we know if the user has logged in or not. The following is done with 3.3 code:

// tell steal that you want to build these as packages
steal.packages('contacts','login','filemanager')
      // load the minimum you need to start your app
      .then('jquery/controller/route',
              function(){

// checks if the user logged in or not
// we might get this from the page
$.ajax({
  url: '/curuser',
  success: function(){
    // if the user is, start routing
    new Router(window);
  },
  error : function(){
    // otherwise load the login code
    steal('login')
  }
});

// a router that listens to hashchange and loads modules on demand.
$.Controller('Router',{
  "contacts route" : function(){
    steal('contacts', function(){
      // setup contacts
    })
  },
  "filemanger route" : function(){
    steal('filemanager', function(){
      // setup filemanager
    })
  }
})

})

Impact

This makes progressive loading very simple. You define the parts of the app you want to load later and steal them naturally in development mode.

Steal's build system will make sure to package them as efficiently as possible. In fact, dependencies between packages are packaged themselves to improving caching and minimize load times.

When it comes time to build, everything just 'works'. No configuration files!

I believe this will be a game-changer. It provide the fastest possible load times for complex apps in a straightforward manner.

Steal to support cache busting

(Moving to a new issue, as per Justin's request.)

As JMVC gets traction and is used more and more in production, there is a clear need for cache busting in steal.

Something along these lines:

Current way to load an app in prod is:

<script type="text/javascript" src="steal.production.js?myApp"></script>

What if there would be an option to add:
<script type="text/javascript" src="steal.production.js?myApp&_=123456789"></script>

Inspired by jQuery getScript cache busting.

The _ variable would propagate to all dependency calls steal makes.
This way you could change the _ variable to the build number for your app and be sure that
users always get the latest code and we can turn up cache to forever. (or git revision)

(Maybe "v" is a better varible than "_" )

js steal/getjs mxui goes into infinite loop

> js steal/getjs mxui
...
U mxui/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/grid/tree/test/combobox/test/funcunit/positioning6e_tests.js
...

[CLOSED] Specify a base url for ajax requests

Issue by matthewp from Friday Jun 12, 2015 at 19:54 GMT
Originally opened as #8


For Cordova and NW.js builds we need to specify a base url for all ajax requests. A couple of ideas:

Steal configuration

Cordova apps need their own html file anyways so it could be configured in the script tag:

<script src="node_modules/steal/steal.production.js" base="http://place-my-order.com"></script>

And then in models:

import superMap from 'can-connect/super-map';

superMap({
  resource: System.base + '/api/states',
  idProp: 'short',
  Map: State,
  List: State.List,
  name: 'states'
});

Good

  • This works today.

Bad

  • A bit nasty to have to do this for each model (you could have a lot).
  • You have to have a default for the web application as well (yuck).

base-url module

You could create a base-url module that is imported by all of your models:

import baseUrl from 'base-url';

superMap({
  resource: baseUrl + '/api/states',
  idProp: 'short',
  Map: State,
  List: State.List,
  name: 'states'
});

It would look like:

var baseUrl = '';

if(inCordova() || inNw()) {
  baseUrl = "http://place-my-order.com"
}

export baseUrl;

Good

  • This works today.

Bad

  • Sloppy, you have 1 file that does nasty platform detection.

base-url with mapping

Similar to above but based on map config:

import baseUrl from 'base-url';

superMap({
  resource: baseUrl + '/api/states',
  idProp: 'short',
  Map: State,
  List: State.List,
  name: 'states'
});

In the build:

var cordova = process.argv.indexOf("cordova") > 0;

var system = {
  config: __dirname + "/package.json!npm"
};

if(cordova) {
  system.map = {
    "base-url": "base-url-cordova"
  };
}

stealTools.build(system);

Good

  • This works today.

Bad

  • map is somewhat of an advanced feature most people don't understand.
  • our build.js is going to become big.

Can-Value not included in version 3.3

How to include canjs binding in JavaScriptMVC version 3.3. on CanJS master checkout it gives following warning and does not load controls.

can/construct/construct.js: extending a can.Construct without calling extend

JavascriptMVC with Google App Engine

I am trying to use JavscriptMVC in a GAE project and I am running into some problems when it is loading. Firebug shows that all of the .js files are being loaded, but when it comes time to load all of the .ejs files, it breaks. It shows them as 200 OK, but it does not seem to like the mime type. Anyone ever dealt with this or has anyone ever successfully deployed JMVC with App Engine?

Thanks

'Access denied' when downloading 3.2

GitHub throws an error when I try to download the 3.2 release.
The errors look like this:
Error
Code AccessDenied Code
Message Access Denied Message
RequestId 5742B846DCD21D59 RequestId
HostId NodjZWmI4/b6S6yiplUdPLXbjVKlK3Cgjat+jET294Ahyv34H65dySk6FHMgI4DK HostId
Error

Generating namespaced controller does not work properly

Given an application named
"Test"

The following command:
./js jquery/generate/controller Test.Controller.Test

does not create a file called "test_controller.js" in test/controllers/ as described in the documentation.
Instead it creates a directory "test " in test/controllers/ containing another directory "views" and these files: funcunit.html, test_test.js, test.html, test.js.
Works with 3.05 but not in 3.1

Did I miss something that has changed in the latest version?

file not found error when generating scaffold Cookbook.Models.Recipe

js jquery\generate\scaffold Cookbook.Models.Recipe
cookbook/models/recipe.js
cookbook/test/qunit/recipe_test.js
cookbook/models/models.js (steal added)
cookbook/test/qunit/qunit.js (steal added)
cookbook/fixtures/fixtures.js (error adding)
cookbook/recipe/create/create.html
cookbook/recipe/create/create.js
cookbook/recipe/create/create_test.js
cookbook/recipe/create/funcunit.html
cookbook/recipe/create/views/init.ejs
cookbook/recipe/list/funcunit.html
cookbook/recipe/list/list.html
cookbook/recipe/list/list.js
cookbook/recipe/list/list_test.js
cookbook/recipe/list/views/recipe.ejs
cookbook/recipe/list/views/init.ejs
cookbook/test/funcunit/funcunit.js (steal added)
org.mozilla.javascript.WrappedException: Wrapped java.io.FileNotFoundException: cookbook\test\funcunit\funcunit.js

actually the cookbook/test/funcunit directory even not be created

Model destroy - need attributes

Similar to this question:
http://forum.javascriptmvc.com/topic/destroy-method-signature-on-model?reply=true&remember=604800&securemode=false

I have a nested route in a rails app and need additional attributes of the model instance to form it correctly. Currently only ID is passed into Destroy.

Last word from Justin on that thread "I need to think about how to make something like this a little easier."

Any more thoughts on this? Would like to be able to refer to all attributes on model in destroy().

Difference between javascriptmvc and jquerymx

According to the docs for javascriptmvc, we should:
git submodule add [email protected]:YOU/jquerymx.git jquery

According to the docs for jquerymx, we should:
git submodule add [email protected]:YOU/javascriptmvc.git jquery

Considering that "./js" only actually works within the javascriptmvc codebase, what exactly should I be doing to start using JMVC?
If this is already painfully clear in the readme, I apologise, but I just can't figure out what I should be doing to just get started here :(

pluginifyjs does not parse EJS correctly

I am using EJS templates in an app, but when I run pluginifyjs on it, the resulting JS file has the EJS code concatenated directly into it. Trying to load this file in a browser throws an error: "Illegal XML character '<%'". The pluginifyjs script should parse EJS code into regular JS before inserting into the final JS output, so that it is possible to embed EJS files in applications.

FuncIt

Get FuncIt working. I can help get the basics going again.

Size Goals

I'd like to keep JMVC as small as possible. Here are some size-ish goals:

$.Class

currently: .985 KB
wanted: < .900 KB

$.Controller

currently: 1.74 KB
wanted : < 1.7 KB

$.Model

currently: 2.82 KB > 2.74KB
wanted: 2.5 KB

$.View

currenty: 1.62 KB
wanted: 1.5 KB

$.EJS

current: 1.5 KB

I think this is ok :-)

$.String

current: .666 KB > .650 KB
wanted: .5 KB

Summary

Combined, this would bring JMVC to 8.6 KB (which is back to inline with my 7kb goal for everything w/o EJS).

Oh, also steal ...

Steal

current: 4.97 KB
wanted: 4 KB

join and such needs to be cleaned up for this

{{else}} in {{#each}} doesn't work

Issue by daffl from Thursday Oct 08, 2015 at 00:31 GMT
Originally opened as #217


See

<can-import from="donejs-chat/models/message" />
<h5><a can-href="{ page='home' }">Home</a></h5>
<message-model get-list="{}" class="list-group">
  <div class="list-group">
    {{#each ./value}}
      <div class="list-group-item">
        <h4 class="list-group-item-heading">{{name}}</h4>
        <p class="list-group-item-text">{{message}}</p>
      </div>
    {{else}}
    <div class="list-group-item">
      <h4 class="list-group-item-heading">No messages</h4>
    </div>
    {{/each}}
  </div>
</message-model>

Your tutorials about get started are outdated if using the bat file! (Installing with a script)

  1. Here [http://v3.javascriptmvc.com/docs.html#&who=developwithgit] go to "Installing with a script" and click on the "Windows". The link is dead - page not found: https://github.com/jupiterjs/javascriptmvc/raw/master/scripts/getjmvc.bat

Please update this.

  1. If you change "jupiterjs" to "bitovi", because your project migrated you will get: https://github.com/bitovi/javascriptmvc/raw/master/scripts/getjmvc.bat
    Now this works, but after run it will create the following folders: canjs, documentjs, funcunit, jquerypp, steal.. Wait a minute: jquerypp?? canjs??

Now in your tutorial at http://javascriptmvc.com/docs.html#!rapidstart have:
steal('jquery/class', function(){
$.Class
})

Well, jquery doesn't exists. Now we have jquerypp, therefore all your tutorials are broken.

  1. We can fix this too, change the example to:
    steal('jquerypp/class', function(){
    $.Class
    })
    Now I get the following errors:
    GET file:///D:/web/abc/can/lib/jquery.1.8.3.js steal.js:1321
    GET file:///D:/web/abc/can/construct/construct.js steal.js:1321
    GET file:///D:/web/abc/can/construct/proxy/proxy.js steal.js:1321
    GET file:///D:/web/abc/can/construct/super/super.js steal.js:1321

  2. I give up using git. I download the full static package and it works...

  3. Using the zip file provided will not work with git... I don't know why but there is a problem with the funcunit folder...
    I get "Not a git repository: /Users/daff/Jupiter/jmvc/..../modules/syn" in GitExtensions...

  4. Removed the folder, I will might take a look later at this problem..

You should really do something about it because this sucks!
thanks for your time.

ECS - A coffeescript version of EJS

I'd like to make EJS more powerful

Functions are likely to become more popular w/i EJS. But they are cumbersome.

I'd like to make a coffeescript version of ejs. It could look like:

<%+ formFor model,  (f) -> %>
   <%= f.input "name" %>
<%-%>

The problem is indention. I'm thinking tags like <%+ and <%- could be used to control indention.

js scripts reference invalid FuncUnit path

The js and js.bat scripts (example) reference incorrect paths. In particular they reference "funcunit\java\selenium-server-standalone...".

The "java" portion of the path no longer exists in funcunit, instead it should just be "funcunit\selenium" (fix slashes depending on windows / *nix).

$.Model.List can sort

$.Model.List should accept a sort order

I'd like list to be able to take a sort order. When an item is updated or added to the list, the lists event will come with it's new position in the list.

Maybe something like:

l = new $.Model.List([
 {name: 'a'},
 {name: 'b'}
],{
  sortBy : 'name'
})

l.bind('add', function(ev, newItem, position) {
  // will be called with
  // newItem == {name: 'c'}
  // position == 2
})

l.push({name: 'c'})

Production.css and base64 images urls gets errenous url

When building app a production css is generated. Jmvc adds some magic to this process, e.g. updating urls in the css etc. When using base64 encoded images in css (as shown below) there is a problem.

My css
a { background-image: url("data:image/png;base64,iV...ggg=="); }

Production css becomes
a { background-image: url("../data:image/png;base64,iV...ggg=="); }

Problem
"NetworkError: 404 Not Found ..."
the url should not be changed when handling css base64 image urls.

bug with 3.1.0 model.js

Hi, Justin

It seems there is a bug in model.js v3.1.0 line1014:

        "default" : function(val, error, type){
            var construct = $.String.getObject(type)
            return construct ? construct(val) : val;
        }

when type is passed in as undefined, $.String.getObject(type) returns the 'DOMWindow', which is an object instead of function; then jquery.js throws out an exception "TypeError: object is not a function" in line 7101: success = ajaxConvert( s, response ); This happens after an ajax call is finished, the following was the complete call stack:

jQuery.Class.convert.default() at model.js:1014
jQuery.Class._updateProperty() at model.js:1301
jQuery.Class._setProperty() at model.js:1277
jQuery.Class.attr() at model.js:1200
jQuery.Class.attrs() at model.js:1364
jQuery.Class.setup() at model.js:1048
extend.newInstance() at class.js:439
Class() at class.js:532
jQuery.Class.model() at model.js:770
class_cb() at class.js:396
ajaxConvert() at jquery.js:7551
done() at jquery.js:7101
jQuery.ajaxTransport.send.callback() at jquery.js:7909

Thanks

Jeff

MXUI documentation

Clean up and document MXUI.

Things to think about ...

A lot of the API needs to get cleaned up, but we should prioritize what is most useful:

  • fill
  • accordion
  • grid
  • list
  • slider

etc

$.Model should inherit from $.Observe

$.Observe's event system is much better than $.Model's. Same with $.Model.List vs $.Observe.List.

I'd like to make $.Model inherit from $.Observe and start working with nested objects

Some things that need to be thought about:

  • How $.Model handles errors.

  • Do we remove direct property access? Like

    model.name

  • Getter / Setters

  • nested defaults, converters, types, etc

[CLOSED] donejs cli

Issue by matthewp from Thursday Jun 04, 2015 at 21:31 GMT
Originally opened as #4


I wonder if we should have a cli tool like ember-cli. It could include generators and a dev server. This would make the "getting started" story much simpler and make donejs easier to sell.

[CLOSED] Create a better error message for when package.json has an error in it.

Issue by mjstahl from Monday Jul 27, 2015 at 14:35 GMT
Originally opened as #14


If you create an error in your package.json (i.e. add a comma where it doesn't belong) and then try and run a donejs command. You get the following error message:

No local package.json found. Please run "donejs init"

This is only true when the file cannot be found. But the user can inspect their filesystem and see the file is there, but may not understand (based on our error message) that their file has an error in it.

NodeJS support

Have StealJS (and by extension everything else) able to run from node.

we can have substitute js scripts that run node if present.

Why

  • Much better performance
  • JS community man

javascriptMVC 3.2.2 Fununit/run on Windows generate broken page URL

When start test with phantomjs like this
js.bat funcunit/run phantomjs plugins/publish_panel/funcunit.html
It generate file path starting with file:// !!!! But windows need file:/// (plus one '/' ).

I found what is wrong. In funcinit/run file we have
FuncUnit.funcunitPage = FuncUnit._getPageUrl(page, opts.coverage, FuncUnit.coverageIgnore);
There are two function with name _getPageUrl(). One is in steal/browser/browser.js and one in funcunit/commandline/util.js
But funcunit/run use first one where i have found ERROR in 38 line:
page = "file://"+cwd+"/"+page; - but must be: page = "file:///"+cwd+"/"+page;

Compression can't handle "class" property when passing data to $.View

In an .ejs file I have:

<%= $.View('//myapp/controllers/widgets/crud/views/_button', {id: 'add-item', url: $.myapp.make_url("test"), text: "Add " + this.type}) %>

The _button.ejs looks like this:

<div id="<%= this.id %>">
   <a href="<%= this.url %>"><%= this.text %></a>
</div>

When I run the build script (e.g. ./js myapp/scripts/build.js) I get the "SyntaxError: invalid property id" problem that had been reported way back when. Just as was reported in that old bug, everything works fine for me in development mode. It only fails when I try to compress it using the build script.

I tried changing the "id" to something else, such as "buttonId", but I still have the problem.

I'm using javascriptmvc v3.0.5.

File name too long during StealJS multibuild.

Hi. I'm using JSMVC v3.3, downloaded from the website (not cloned from github)

I recently hit an issue where during the multibuild, some packages have super long name that exceeds the max number of characters for a filename. The reason is that the project has a lot apps, and it is trying to join all the apps together to work out the file name for shared packages.

In previous version of JSMVC v3.3, it uses numeral numbers as file name like 0.js, 1.js, 2.js etc.. which worked for us.

[CLOSED] Guide for setting up and starting the application.

Issue by daffl from Monday Jun 08, 2015 at 22:59 GMT
Originally opened as #7


Updated first part of the guide describing how to initialize and start your application.
Questions and issues:

  • This donejs package needs a new release
  • Automatic installation of peerDependencies will be gone in NPM 3
  • can-ssr should probably also be a DoneJS dependency. @matthewp why was it renamed from done-ssr?

daffl included the following code: https://github.com/donejs/donejs/pull/7/commits

JavaScriptMVC Community Gamification

I've been inspired by http://www.codinghorror.com/blog/2011/10/the-gamification.html and would like to do something similar with JavaScriptMVC.

We can have a points system and give away prizes for achieving a certain level of points. Points can be earned for:

  • Setting up an account (we probably need to know github and forums user).
  • Viewing a documentation page for 1 min a scrolling to the bottom of it (0.5)
  • Expanding demos (0.5)
  • Posting on the forums (1)
  • Answering a question correctly on the forums (5)
  • Submitting an accepted bug report (10)
  • Fixing documentation (10)
  • Writing an article (10)
  • Launching an app (20)
  • Fixing a bug (50)
  • Implementing a feature (100)

We can give away prizes:

  • sticker
  • yellow headband
  • t-shirt
  • jersey
  • ?

Creating an app with 2 words camel cased like: "MyApp" will make scaffold not to work...

For example if you make an app:

PublicRelations

Then run the scaffold for a model like Dog

it will work for the first ~10 files, shows the path PublicRelations/.../...
but then it will throw an error saying that the folder public_relations doesn't exists.

I think that the script that generates some part of the code is incoherent.. This looks like a DRY problem.. I don't know, just test and see if you can do anything.
PublicRelation/public_relation.css
PublicRelation/public_relation.html
PublicRelation/public_relation.js
PublicRelation/public_relation.md
PublicRelation/fixtures/fixtures.js
PublicRelation/funcunit.html
PublicRelation/models/models.js
PublicRelation/qunit.html
PublicRelation/scripts/build.html
PublicRelation/scripts/build.js
PublicRelation/scripts/clean.js
PublicRelation/scripts/crawl.js
PublicRelation/scripts/docs.js
PublicRelation/test/funcunit/public_relation_test.js
PublicRelation/test/funcunit/funcunit.js
PublicRelation/test/qunit/public_relation_test.js
PublicRelation/test/qunit/qunit.js
! Error: folder public_relation does not exist!

If then I build an app like this:

Public_relation

Looks at the log (the ones with the "P" big also works in the previous part):

Public_relation/public_relation.css
Public_relation/public_relation.html
Public_relation/public_relation.js
Public_relation/public_relation.md
Public_relation/fixtures/fixtures.js
Public_relation/funcunit.html
Public_relation/models/models.js
Public_relation/qunit.html
Public_relation/scripts/build.html
Public_relation/scripts/build.js
Public_relation/scripts/clean.js
Public_relation/scripts/crawl.js
Public_relation/scripts/docs.js
Public_relation/test/funcunit/public_relation_test.js
Public_relation/test/funcunit/funcunit.js
Public_relation/test/qunit/public_relation_test.js
Public_relation/test/qunit/qunit.js
public_relation/models/dog.js
public_relation/test/qunit/dog_test.js
public_relation/models/models.js (steal added)
public_relation/test/qunit/qunit.js (steal added)
public_relation/fixtures/fixtures.js (code added)
public_relation/dog/create/create.html
public_relation/dog/create/create.js
public_relation/dog/create/create_test.js
public_relation/dog/create/funcunit.html
public_relation/dog/create/views/init.ejs
public_relation/dog/list/funcunit.html
public_relation/dog/list/list.html
public_relation/dog/list/list.js
public_relation/dog/list/list_test.js
public_relation/dog/list/views/dog.ejs
public_relation/dog/list/views/init.ejs
public_relation/test/funcunit/funcunit.js (steal added)
public_relation/test/funcunit/funcunit.js (steal added)
public_relation/public_relation.js (steal added)
public_relation/public_relation.js (steal added)
public_relation/public_relation.js (code added)

Now you can standardize the way is done, in this case half is one way (does not sanitize input and the other it is).

Thanks for the fix, hope not to find many more problems :s

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.