Giter VIP home page Giter VIP logo

monument's People

Contributors

adrian-bobev avatar ariessa avatar brunolm avatar darkul1994 avatar designfrontier avatar dottorblaster avatar elementh avatar ewenchou avatar geritol avatar greenkeeper[bot] avatar haroon-sheikh avatar juliusmbu1 avatar keevcodes avatar kellyi avatar lazycoder9 avatar ming13 avatar rs-crawford avatar uniqname avatar xrahul avatar zberwaldt 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

monument's Issues

Create Documentation

Make lots of documentation.

One item that needs to be documented is the setMaxListener that flags based on process.env.NODE_ENV = production. More details here about setting that correctly on heroku.

Also need to document best practice of resource aggregation instead of request aggregation.

Would be nice to have a good solid article about maintaining encapsulation in code through events for data etc..

cache and cache headers for static assets

handle sending appropriate headers based on queries from browsers (304, 200) and include long cache headers in the header of responses. Make it configurable so that it can be set easily somewhere.

.send breaks when a rendered dot.js template is passed in.

gets:

/Users/designfrontier/projects/dfRedesign/node_modules/monument/utils/send.js:15
            that.setEncoding(encoding); //encoding header for the response
                 ^
TypeError: undefined is not a function
    at ServerResponse.send (/Users/designfrontier/projects/dfRedesign/node_modules/monument/utils/send.js:15:9)
    at EventEmitter.<anonymous> (/Users/designfrontier/projects/dfRedesign/routes/main.js:17:18)
    at EventEmitter.g (events.js:199:16)
    at EventEmitter.emit (events.js:107:17)
    at EventEmitter.<anonymous> (/Users/designfrontier/projects/dfRedesign/data/articles.js:465:10)
    at EventEmitter.emit (events.js:107:17)
    at EventEmitter.<anonymous> (/Users/designfrontier/projects/dfRedesign/routes/main.js:20:9)
    at EventEmitter.emit (events.js:107:17)
    at Server.<anonymous> (/Users/designfrontier/projects/dfRedesign/node_modules/monument/routes/index.js:253:11)
    at Server.emit (events.js:110:17)

Memory and event.emitter

There is some wackiness here... rewrite to use own event system instead of built in events.emitter.

Handle `?someList[]=value` convention

There is a convention where parameter keys are suffix with [] indicating multiple values are expected. Monument should handle this convention elegantly. @eatrocks is currently working on a pull request addressing this.

missing headers crashes an app

make sure that the check for compression on line 208 of /routes/index.js verifies that the header exists. either at line 208 or in the getCompression [line 131] function. Also look at simplifying the getCompression function.

This causes the app to crash when a client without headers requests a page. And then boom.

output from crash:

2015-03-11T16:50:31.739795+00:00 heroku[web.1]: State changed from starting to up
2015-03-11T16:50:32.051283+00:00 app[web.1]: /app/node_modules/newrelic/lib/transaction/tracer/index.js:158
2015-03-11T16:50:32.051290+00:00 app[web.1]:       throw err
2015-03-11T16:50:32.051292+00:00 app[web.1]:             ^
2015-03-11T16:50:32.051297+00:00 app[web.1]:     at Object.<anonymous> (/app/node_modules/monument/routes/index.js:208:22)
2015-03-11T16:50:32.051304+00:00 app[web.1]:     at Array.forEach (native)
2015-03-11T16:50:32.075881+00:00 app[web.1]: npm ERR! Linux 3.13.0-40-generic
2015-03-11T16:50:32.051299+00:00 app[web.1]:     at stateCheck (/app/node_modules/monument/node_modules/event-state/app.js:46:15)
2015-03-11T16:50:32.051301+00:00 app[web.1]:     at Object.call (/app/node_modules/monument/node_modules/event-state/app.js:32:6)
2015-03-11T16:50:32.051302+00:00 app[web.1]:     at /app/node_modules/monument/emitter.js:15:31
2015-03-11T16:50:32.051295+00:00 app[web.1]:     at getCompression (/app/node_modules/monument/routes/index.js:135:24)
2015-03-11T16:50:32.051307+00:00 app[web.1]:     at /app/node_modules/monument/utils/staticFileEtags.js:15:11
2015-03-11T16:50:32.051305+00:00 app[web.1]:     at Object.emitter.emit (/app/node_modules/monument/emitter.js:11:25)
2015-03-11T16:50:32.051310+00:00 app[web.1]:     at wrapped (/app/node_modules/newrelic/lib/transaction/tracer/index.js:155:28)
2015-03-11T16:50:32.051308+00:00 app[web.1]:     at wrappedCallback (/app/node_modules/newrelic/lib/transaction/tracer/index.js:260:17)
2015-03-11T16:50:32.071760+00:00 app[web.1]: 
2015-03-11T16:50:32.083993+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2015-03-11T16:50:32.051293+00:00 app[web.1]: TypeError: Cannot read property 'split' of undefined
2015-03-11T16:50:32.076389+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2015-03-11T16:50:32.076642+00:00 app[web.1]: npm ERR! node v0.12.0
2015-03-11T16:50:32.077445+00:00 app[web.1]: npm ERR! npm  v2.5.1
2015-03-11T16:50:32.077639+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2015-03-11T16:50:32.077837+00:00 app[web.1]: npm ERR! [email protected] start: `node app.js`
2015-03-11T16:50:32.077987+00:00 app[web.1]: npm ERR! Exit status 1
2015-03-11T16:50:32.078168+00:00 app[web.1]: npm ERR! 
2015-03-11T16:50:32.078325+00:00 app[web.1]: npm ERR! Failed at the [email protected] start script 'node app.js'.
2015-03-11T16:50:32.078504+00:00 app[web.1]: npm ERR! This is most likely a problem with the designfrontier-website package,
2015-03-11T16:50:32.082896+00:00 app[web.1]: 
2015-03-11T16:50:32.079253+00:00 app[web.1]: npm ERR!     npm owner ls designfrontier-website
2015-03-11T16:50:32.079412+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2015-03-11T16:50:32.083830+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2015-03-11T16:50:32.078664+00:00 app[web.1]: npm ERR! not with npm itself.
2015-03-11T16:50:32.078808+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2015-03-11T16:50:32.078956+00:00 app[web.1]: npm ERR!     node app.js
2015-03-11T16:50:32.079107+00:00 app[web.1]: npm ERR! You can get their info via:
2015-03-11T16:50:32.069550+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/components/navigation/navigation.js" host=www.designfrontier.net request_id=7beb108a-5d21-4b05-9d9f-411e269f5c75 fwd="220.181.108.159" dyno=web.1 connect=1ms service=45ms status=503 bytes=0
2015-03-11T16:50:33.048418+00:00 heroku[web.1]: Process exited with status 1
2015-03-11T16:50:33.058097+00:00 heroku[web.1]: State changed from up to crashed

Cleanup the readme.md

Remove any reference to monumentjs and replace with just monument after the rename I missed a few...

Provide way to change dotjs configuration.

Default configuration for dotjs.strip is true which was causing a Uncaught SyntaxError: Unexpected end of input error. When set to false, the error went away. There doesn't seem to be a way to change the configuration while using monument.

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.