Skip to content
This repository
Fetching contributors…

Cannot retrieve contributors at this time

file 188 lines (137 sloc) 7.057 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
Release Notes
-------------------

Things to mention about 1.1/TODOC:
----------
- requirejs.undef()
- packagePaths removed
- jquery check only for holdReady jquerys that explicitly call define().


Implementation notes
--------
* Cannot get rid of interactive stuff for IE because requirejs supports loading
plain JS files that may not call define(). Since they do not call define, if
they are loaded in between anon define call scripts, since onload on scripts
do not fire immediately after script execution, the wrong names can be associated
with scripts.

1.1 items?
--------------
- map stuff
  - with config:
    http://groups.google.com/group/requirejs/browse_thread/thread/b382d90534f883db#
    https://groups.google.com/group/amd-implement/browse_thread/thread/c36e284a7f85021a/2290754c54b3ddad?#2290754c54b3ddad

- consider use: config standard?

- support shim exports: 'jQuery.fn.plugin'?

- remove special jquery detection, only do it for define() calls.
- check bug list
- robust handling for anon modules loaded outside loader.
- baseUrl and name optional in optimizer? r.js -o include=a,b out=foo.js
- globals: config to help underscore case?
- remove packagePaths config.
- Just remove packages config altogether, suggest volojs for making adapter modules.
  -> Allow 'module': '' and 'module/': '' config instead of packages config.
- allow error handler either per context, or per top-level require call.
- Config options: "main" and rename "deps" to "include" to match how build can read config now.
- allow define(function(require, exports, module, define)) where that local define
  only defines modules visible to the current module, to help with builds of projects
  that wrap up all of their defines in a file but still want it usuable to other
  modules?
- !removing priority config
- !Remove resourcesReady and jQuery callback holding

- modify plugins to use module.config() for some things.

DOC updates:
- Talk about paths and baseUrl first,
- Teach how to fail, how to debug first.
- remove require() references, focus on doing data-main and define() instead.
- local require.isBrowser (any other props?) removed. requirejs.isBrowser still available.
- domReady.withResources removed, no more loader done messages? jquery hooks removed too.
- catchError.define removed, now just pass localized error handler.
- Update api.html#errors to mention new local errors, requireType, requireModules.
- plugins: load.error(). Once called, there is no resetting from it, no undef.
- module.config()
- shim: use, always need to use mainConfigFile.
- removed order
- map config with *
- text plugin: make sure to use module.config() and update doc on how to set useXhr
- i18n plugin: make sure to use module.config() and update doc on how to set
  locale, config listing on api.html
- enforceDefine: true,
    - mention in error handling
    - create errors.html section for nodefine
    - ie9 cannot use error event listener because onreadystatechange fires first,
      and cannot use addEventListener (which has load fire after error) because
      of IE not firing onload right after script execution.
    - mention how it works with shim.exports string values.
    - paths array only works well if used with enforceDefine for IE.
- #scripterror document on errors page.
- mention https://github.com/jrburke/requirejs/wiki/Plugins on plugins page.
  - ask plugin authors to update if they work with 2.0
- For undef mention that it only cleans up the current module. If you want to
  it and anything it depends on, and clear its dependencies, then need to know
  the graph, probably by listening to onResourceLoad.
- building code with "shim" means that code cannot cdn load for instance jquery
  after a build since the non-amd code will expect jquery to already be there.
  Can just put a script tag in after require.js for it. or go full amd.

Almond updates:
- Support module.config.
- Support map config with *

Tests to write:
- IE error: introduce a "throw on undefined module" error?
- mapConfig test for packages.

Next release
--------------

- ie 10, order plugin not working?

https://github.com/jrburke/requirejs/issues/185

- add pluginBuilder to the load api

- problem with just require(['./relative/id']) inside a define call, the relative
  parentMap is not used because missing a function callback?

- make a note: order plugin is only useful for some top level dependencies that
do not use define/require api. otherwise mixing is bad.

- require-cs circular ref: https://github.com/jrburke/require-cs/issues/13

- Split plugins and their docs into separate repos with READMEs, keep the
  tests in requirejs repo for now.

- coffeescript 1.2 released, switch over the cs plugin.

- make a decision matrix of when to use what. Mention lowercase names for file name convention.

- order plugin not work with phantomjs build?
  CentOS 5.6 (Final), PhantomJS 1.4.1, Qt 4.7

- paths entry for socket.io to remote domain/port, but then do a require.toUrl('socket.io') and it returns
  a local path instead of the remote path?
- Should mention 'empty:' on the optimization page, particularly for excluding content.

- Try dojo with requirejs
  - http://sfoster.dojotoolkit.org/dojobox/1.7-branch/util/debug.profile.js
  - http://jsfiddle.net/sfoster/ztfdZ/

- upload plugins to cdnjs

- Spine
- handlebars
- raphael
- less
- jquery plugins


- Work on module adapter format: make sure global for jquery uses jQuery.
    - If OK, then do pull request for backbone branch.
- clarify commonjs wrapping in amd api page.

- Doc: add info about overriding requirejs.onError.
  - consider opt in fallback for define calls, detect require, doc.write it...

- Need to document define.amd.jQuery flag.

--------

- onResourceLoad, useful?

- cdnjs: how to use with fallback

- has() source trimming, needs brace matching?


- need to surface pragmasOnSave better?

- example using backbone and such.

- example that shows how to do a "include *" in a build.

- coffeescript: extend duplication: https://github.com/jrburke/require-cs/issues/7

- integrate properly with cpm

- A way to support local file/other kinds of caches?
http://groups.google.com/group/requirejs/browse_thread/thread/77092307ac6b9acb
http://www.html5rocks.com/en/tutorials/file/filesystem/#toc-filesystemurls

Docs:

- Pointer to motivations behind current thing, reason for dependencies.

- Update the coffeescript plugin to use the writeFile API?

- jjb's diagnostic/debug branch with dependency mappings

- https://github.com/jrburke/requirejs/issues/104: define as a special dependency?

- replacement for modify that intercepts callbacks, holds off until another module loads them?
  - A way to show dependency graph too?
- Minify the require.js files with UglifyJS.

- https://github.com/jrburke/requirejs/pull/71: process by 2/21

- If any other info: IE checkLoaded recursion? https://github.com/jrburke/requirejs/issues/82

- require.modify alternative syntax/patch.
- has.js plugins

- Visualization of dependencies, highlighting circular dependencies
Something went wrong with that request. Please try again.