Copy disabled (too large)
Download .txt
Showing preview only (12,998K chars total). Download the full file to get everything.
Repository: 4commerce-technologies-AG/meteor
Branch: release-1.3.4.1-universal
Commit: ffdadacb6138
Files: 2037
Total size: 12.0 MB
Directory structure:
gitextract_hcijcecp/
├── .arcconfig
├── .eslintignore
├── .github/
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .mailmap
├── .reviewboardrc
├── .travis.yml
├── Contributing.md
├── History.md
├── IssueTriage.md
├── LICENSE.txt
├── LICENSES/
│ ├── Apache.txt
│ ├── Artistic.txt
│ ├── BSD.txt
│ ├── CDDL.txt
│ ├── DWTFYWT.txt
│ ├── Eclipse.txt
│ ├── ISC.txt
│ ├── IntelHAXM.txt
│ ├── MIT.txt
│ ├── MongoDB.txt
│ ├── Node.txt
│ ├── PublicDomain.txt
│ ├── andris9.txt
│ ├── browserify.txt
│ ├── commonmark.txt
│ ├── heapdump.txt
│ ├── ieee754.txt
│ ├── jsdoc.txt
│ ├── libuv.txt
│ ├── nan.txt
│ ├── through2.txt
│ ├── tough-cookie.txt
│ └── unorm.txt
├── README.md
├── Roadmap.md
├── circle.yml
├── examples/
│ ├── .gitignore
│ ├── other/
│ │ ├── benchmark/
│ │ │ └── .meteor/
│ │ │ └── release
│ │ ├── client-info/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── client-info.html
│ │ │ └── client-info.js
│ │ ├── controllers-demo/
│ │ │ └── .meteor/
│ │ │ └── release
│ │ ├── defer-in-inactive-tab/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ └── packages
│ │ │ ├── README.md
│ │ │ ├── test.html
│ │ │ └── test.js
│ │ ├── domrange-grid/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── domrange-grid.css
│ │ │ ├── domrange-grid.html
│ │ │ └── domrange-grid.js
│ │ ├── login-demo/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── login-demo.css
│ │ │ ├── login-demo.html
│ │ │ └── login-demo.js
│ │ ├── parties/
│ │ │ ├── .meteor/
│ │ │ │ ├── .finished-upgraders
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ ├── client/
│ │ │ │ ├── client.js
│ │ │ │ ├── parties.css
│ │ │ │ └── parties.html
│ │ │ ├── model.js
│ │ │ └── server/
│ │ │ └── server.js
│ │ ├── quiescence/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── quiescence.html
│ │ │ └── quiescence.js
│ │ ├── template-demo/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── client/
│ │ │ │ ├── d3.v2.js
│ │ │ │ ├── template-demo.css
│ │ │ │ ├── template-demo.html
│ │ │ │ └── template-demo.js
│ │ │ └── model.js
│ │ └── wordplay/
│ │ ├── .meteor/
│ │ │ ├── .finished-upgraders
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ ├── platforms
│ │ │ ├── release
│ │ │ └── versions
│ │ ├── TODO
│ │ ├── client/
│ │ │ ├── wordplay.css
│ │ │ ├── wordplay.html
│ │ │ └── wordplay.js
│ │ ├── model.js
│ │ ├── private/
│ │ │ └── enable2k.txt
│ │ └── server/
│ │ ├── game.js
│ │ └── make-boggle-dict.js.noload
│ └── unfinished/
│ ├── accounts-ui-viewer/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── accounts-ui-viewer.html
│ │ ├── accounts-ui-viewer.js
│ │ └── accounts-ui-viewer.less
│ ├── atoms/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── atoms.css
│ │ ├── atoms.html
│ │ └── atoms.js
│ ├── azrael/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ ├── azrael.css
│ │ │ ├── azrael.html
│ │ │ └── azrael.js
│ │ └── model.js
│ ├── benchmark/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── benchmark.css
│ │ ├── benchmark.html
│ │ ├── benchmark.js
│ │ ├── run-local.sh
│ │ └── scenarios/
│ │ ├── README.md
│ │ ├── default.json
│ │ ├── fast.json
│ │ ├── nodata.json
│ │ ├── scale10.json
│ │ ├── scale100.json
│ │ ├── scale20.json
│ │ ├── scale40.json
│ │ └── scale50.json
│ ├── blaze-test/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── client/
│ │ ├── blaze-test.css
│ │ ├── blaze-test.html
│ │ └── blaze-test.js
│ ├── chat-benchmark/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── benchmark.css
│ │ ├── benchmark.html
│ │ ├── benchmark.js
│ │ ├── run-local.sh
│ │ └── scenarios/
│ │ ├── README.md
│ │ └── default.json
│ ├── coffeeless/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ ├── coffeeless.coffee
│ │ │ ├── coffeeless.html
│ │ │ └── coffeeless.less
│ │ └── model.coffee
│ ├── controls/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ └── controls.js
│ │ ├── controls.css
│ │ └── controls.html
│ ├── jsparse-docs/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── jsparse-docs.css
│ │ ├── jsparse-docs.html
│ │ └── jsparse-docs.js
│ ├── leaderboard-remote/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── client/
│ │ ├── leaderboard-remote.css
│ │ ├── leaderboard-remote.html
│ │ └── leaderboard-remote.js
│ ├── movers/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ └── jquery-ui-sortable.js
│ │ ├── movers.html
│ │ ├── movers.js
│ │ └── movers.less
│ ├── parse-inspector/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── parse-inspector.css
│ │ ├── parse-inspector.html
│ │ └── parse-inspector.js
│ ├── python-ddp-client/
│ │ ├── README
│ │ ├── ddp-client.py
│ │ └── test_input
│ ├── reorderable-list/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ ├── jquery-ui-sortable.js
│ │ │ ├── shark.css
│ │ │ ├── shark.html
│ │ │ └── shark.js
│ │ └── lib/
│ │ └── items.js
│ ├── todos-backbone/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── body.html
│ │ ├── client/
│ │ │ └── todos.js
│ │ ├── common.js
│ │ └── todos.css
│ └── todos-underscore/
│ ├── .meteor/
│ │ ├── .gitignore
│ │ ├── packages
│ │ └── release
│ ├── body.html
│ ├── client/
│ │ └── client.js
│ ├── common.js
│ ├── main.css
│ ├── reset.css
│ └── server/
│ └── bootstrap.js
├── meteor
├── meteor.bat
├── packages/
│ ├── .gitignore
│ ├── accounts-base/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── accounts_client.js
│ │ ├── accounts_common.js
│ │ ├── accounts_rate_limit.js
│ │ ├── accounts_reconnect_tests.js
│ │ ├── accounts_server.js
│ │ ├── accounts_tests.js
│ │ ├── accounts_url_tests.js
│ │ ├── client_main.js
│ │ ├── client_tests.js
│ │ ├── localstorage_token.js
│ │ ├── package.js
│ │ ├── server_main.js
│ │ ├── server_tests.js
│ │ ├── url_client.js
│ │ └── url_server.js
│ ├── accounts-facebook/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── facebook.js
│ │ ├── facebook_login_button.css
│ │ └── package.js
│ ├── accounts-github/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── github.js
│ │ ├── github_login_button.css
│ │ └── package.js
│ ├── accounts-google/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── google.js
│ │ ├── google_login_button.css
│ │ └── package.js
│ ├── accounts-meetup/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meetup.js
│ │ ├── meetup_login_button.css
│ │ └── package.js
│ ├── accounts-meteor-developer/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meteor-developer-login-button.css
│ │ ├── meteor-developer.js
│ │ └── package.js
│ ├── accounts-oauth/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── oauth_client.js
│ │ ├── oauth_common.js
│ │ ├── oauth_server.js
│ │ ├── oauth_tests.js
│ │ └── package.js
│ ├── accounts-password/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── email_templates.js
│ │ ├── email_tests.js
│ │ ├── email_tests_setup.js
│ │ ├── package.js
│ │ ├── password_client.js
│ │ ├── password_server.js
│ │ ├── password_tests.js
│ │ └── password_tests_setup.js
│ ├── accounts-twitter/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── twitter.js
│ │ └── twitter_login_button.css
│ ├── accounts-ui/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── login_buttons.less
│ │ └── package.js
│ ├── accounts-ui-unstyled/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── accounts_ui.js
│ │ ├── accounts_ui_tests.js
│ │ ├── login_buttons.html
│ │ ├── login_buttons.import.less
│ │ ├── login_buttons.js
│ │ ├── login_buttons_dialogs.html
│ │ ├── login_buttons_dialogs.js
│ │ ├── login_buttons_dropdown.html
│ │ ├── login_buttons_dropdown.js
│ │ ├── login_buttons_session.js
│ │ ├── login_buttons_single.html
│ │ ├── login_buttons_single.js
│ │ └── package.js
│ ├── accounts-weibo/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── weibo.js
│ │ └── weibo_login_button.css
│ ├── allow-deny/
│ │ ├── README.md
│ │ ├── allow-deny-tests.js
│ │ ├── allow-deny.js
│ │ └── package.js
│ ├── appcache/
│ │ ├── .gitignore
│ │ ├── QA.md
│ │ ├── README.md
│ │ ├── appcache-client.js
│ │ ├── appcache-server.js
│ │ ├── appcache_tests-client.js
│ │ ├── appcache_tests-server.js
│ │ └── package.js
│ ├── audit-argument-checks/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── autopublish/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── autoupdate/
│ │ ├── .gitignore
│ │ ├── QA.md
│ │ ├── README.md
│ │ ├── autoupdate_client.js
│ │ ├── autoupdate_cordova.js
│ │ ├── autoupdate_server.js
│ │ └── package.js
│ ├── babel-compiler/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── babel-compiler.js
│ │ ├── babel.js
│ │ └── package.js
│ ├── babel-runtime/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── babel-runtime.js
│ │ └── package.js
│ ├── base64/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── base64.js
│ │ ├── base64_test.js
│ │ └── package.js
│ ├── binary-heap/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── binary-heap-tests.js
│ │ ├── max-heap.js
│ │ ├── min-heap.js
│ │ ├── min-max-heap.js
│ │ └── package.js
│ ├── blaze/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── attrs.js
│ │ ├── backcompat.js
│ │ ├── builtins.js
│ │ ├── dombackend.js
│ │ ├── domrange.js
│ │ ├── events.js
│ │ ├── exceptions.js
│ │ ├── lookup.js
│ │ ├── materializer.js
│ │ ├── microscore.js
│ │ ├── package.js
│ │ ├── preamble.js
│ │ ├── render_tests.js
│ │ ├── template.js
│ │ ├── view.js
│ │ └── view_tests.js
│ ├── blaze-html-templates/
│ │ ├── README.md
│ │ └── package.js
│ ├── blaze-tools/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── preamble.js
│ │ ├── tojs.js
│ │ ├── token_tests.js
│ │ └── tokens.js
│ ├── boilerplate-generator/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── boilerplate-generator.js
│ │ ├── boilerplate_web.browser.html
│ │ ├── boilerplate_web.cordova.html
│ │ └── package.js
│ ├── browser-policy/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-test.js
│ │ └── package.js
│ ├── browser-policy-common/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-common.js
│ │ └── package.js
│ ├── browser-policy-content/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-content.js
│ │ └── package.js
│ ├── browser-policy-framing/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-framing.js
│ │ └── package.js
│ ├── caching-compiler/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── caching-compiler.js
│ │ ├── multi-file-caching-compiler.js
│ │ └── package.js
│ ├── caching-html-compiler/
│ │ ├── README.md
│ │ ├── caching-html-compiler.js
│ │ └── package.js
│ ├── callback-hook/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── hook.js
│ │ ├── hook_tests.js
│ │ └── package.js
│ ├── check/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── isPlainObject.js
│ │ ├── match.js
│ │ ├── match_test.js
│ │ └── package.js
│ ├── code-prettify/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── lang-apollo.js
│ │ ├── lang-clj.js
│ │ ├── lang-css.js
│ │ ├── lang-go.js
│ │ ├── lang-hs.js
│ │ ├── lang-lisp.js
│ │ ├── lang-lua.js
│ │ ├── lang-ml.js
│ │ ├── lang-n.js
│ │ ├── lang-proto.js
│ │ ├── lang-scala.js
│ │ ├── lang-sql.js
│ │ ├── lang-tex.js
│ │ ├── lang-vhdl.js
│ │ ├── lang-wiki.js
│ │ ├── lang-xq.js
│ │ ├── lang-yaml.js
│ │ ├── package.js
│ │ ├── prettify.css
│ │ ├── prettify.js
│ │ └── styles/
│ │ ├── desert.css
│ │ └── sunburst.css
│ ├── coffeescript/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── compileCoffeescript/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-coffeescript.js
│ │ └── tests/
│ │ ├── bare_test_setup.coffee
│ │ ├── bare_tests.js
│ │ ├── coffeescript_strict_tests.coffee
│ │ ├── coffeescript_test_setup.js
│ │ ├── coffeescript_tests.coffee
│ │ ├── coffeescript_tests.js
│ │ ├── es2015_module.js
│ │ ├── litcoffeescript_tests.coffee.md
│ │ └── litcoffeescript_tests.litcoffee
│ ├── coffeescript-test-helper/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── exporting.coffee
│ │ └── package.js
│ ├── constraint-solver/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── benchmark-tests.js
│ │ ├── catalog-cache-tests.js
│ │ ├── catalog-cache.js
│ │ ├── catalog-loader.js
│ │ ├── constraint-solver-input.js
│ │ ├── constraint-solver-tests.js
│ │ ├── constraint-solver.js
│ │ ├── datatypes-tests.js
│ │ ├── datatypes.js
│ │ ├── gem-test-data.js
│ │ ├── input-tests.js
│ │ ├── package.js
│ │ ├── slow-test-data.js
│ │ ├── solver.js
│ │ ├── stack-overflow-bug-test-data.js
│ │ ├── version-pricer-tests.js
│ │ └── version-pricer.js
│ ├── crosswalk/
│ │ └── package.js
│ ├── ddp/
│ │ ├── .gitignore
│ │ ├── DDP.md
│ │ ├── README.md
│ │ └── package.js
│ ├── ddp-client/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── client_convenience.js
│ │ ├── id_map.js
│ │ ├── livedata_common.js
│ │ ├── livedata_connection.js
│ │ ├── livedata_connection_tests.js
│ │ ├── livedata_test_service.js
│ │ ├── livedata_tests.js
│ │ ├── namespace.js
│ │ ├── package.js
│ │ ├── random_stream.js
│ │ ├── random_stream_tests.js
│ │ ├── sockjs-0.3.4.js
│ │ ├── stream_client_common.js
│ │ ├── stream_client_nodejs.js
│ │ ├── stream_client_sockjs.js
│ │ ├── stream_client_tests.js
│ │ ├── stream_tests.js
│ │ └── stub_stream.js
│ ├── ddp-common/
│ │ ├── heartbeat.js
│ │ ├── method_invocation.js
│ │ ├── namespace.js
│ │ ├── package.js
│ │ ├── random_stream.js
│ │ └── utils.js
│ ├── ddp-rate-limiter/
│ │ ├── README.md
│ │ ├── ddp-rate-limiter-test-service.js
│ │ ├── ddp-rate-limiter-tests-common.js
│ │ ├── ddp-rate-limiter-tests.js
│ │ ├── ddp-rate-limiter.js
│ │ └── package.js
│ ├── ddp-server/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── crossbar.js
│ │ ├── crossbar_tests.js
│ │ ├── livedata_server.js
│ │ ├── livedata_server_tests.js
│ │ ├── package.js
│ │ ├── server_convenience.js
│ │ ├── session_view_tests.js
│ │ ├── stream_server.js
│ │ └── writefence.js
│ ├── deprecated/
│ │ ├── README
│ │ ├── amplify/
│ │ │ ├── .gitignore
│ │ │ ├── amplify.js
│ │ │ └── package.js
│ │ ├── backbone/
│ │ │ ├── .gitignore
│ │ │ ├── backbone.js
│ │ │ └── package.js
│ │ ├── bootstrap/
│ │ │ ├── .gitignore
│ │ │ ├── css/
│ │ │ │ ├── bootstrap-override.css
│ │ │ │ ├── bootstrap-responsive.css
│ │ │ │ └── bootstrap.css
│ │ │ ├── js/
│ │ │ │ └── bootstrap.js
│ │ │ └── package.js
│ │ └── d3/
│ │ ├── .gitignore
│ │ ├── d3.v3.js
│ │ └── package.js
│ ├── deps/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── diff-sequence/
│ │ ├── diff.js
│ │ ├── package.js
│ │ └── tests.js
│ ├── disable-oplog/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── ecmascript/
│ │ ├── README.md
│ │ ├── bare-test-file.js
│ │ ├── bare-test.js
│ │ ├── ecmascript.js
│ │ ├── package.js
│ │ ├── plugin.js
│ │ ├── runtime-tests.js
│ │ └── transpilation-tests.js
│ ├── ecmascript-runtime/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── runtime-tests.js
│ │ └── runtime.js
│ ├── ejson/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── custom_models_for_tests.js
│ │ ├── ejson.js
│ │ ├── ejson_test.js
│ │ ├── package.js
│ │ └── stringify.js
│ ├── email/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── email.js
│ │ ├── email_tests.js
│ │ └── package.js
│ ├── es5-shim/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── client.js
│ │ ├── console.js
│ │ ├── export_globals.js
│ │ ├── import_globals.js
│ │ ├── package.js
│ │ └── server.js
│ ├── facebook/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── facebook_client.js
│ │ ├── facebook_configure.html
│ │ ├── facebook_configure.js
│ │ ├── facebook_server.js
│ │ └── package.js
│ ├── facts/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── facts.html
│ │ ├── facts.js
│ │ └── package.js
│ ├── fastclick/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── fastclick.js
│ │ ├── package.js
│ │ ├── post.js
│ │ └── pre.js
│ ├── force-ssl/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── force_ssl_common.js
│ │ ├── force_ssl_server.js
│ │ └── package.js
│ ├── geojson-utils/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── geojson-utils.js
│ │ ├── geojson-utils.tests.js
│ │ ├── main.js
│ │ └── package.js
│ ├── github/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── github_client.js
│ │ ├── github_configure.html
│ │ ├── github_configure.js
│ │ ├── github_server.js
│ │ └── package.js
│ ├── google/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── google_client.js
│ │ ├── google_configure.html
│ │ ├── google_configure.js
│ │ ├── google_server.js
│ │ └── package.js
│ ├── handlebars/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── hot-code-push/
│ │ ├── README.md
│ │ ├── hot-code-push-tests.js
│ │ ├── hot-code-push.js
│ │ └── package.js
│ ├── html-tools/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── charref.js
│ │ ├── charref_tests.js
│ │ ├── package.js
│ │ ├── parse.js
│ │ ├── parse_tests.js
│ │ ├── scanner.js
│ │ ├── templatetag.js
│ │ ├── tokenize.js
│ │ ├── tokenize_tests.js
│ │ └── utils.js
│ ├── htmljs/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── html.js
│ │ ├── htmljs_test.js
│ │ ├── package.js
│ │ ├── preamble.js
│ │ └── visitors.js
│ ├── http/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── httpcall_client.js
│ │ ├── httpcall_common.js
│ │ ├── httpcall_server.js
│ │ ├── httpcall_tests.js
│ │ ├── package.js
│ │ ├── test_responder.js
│ │ └── test_static.serveme
│ ├── id-map/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── id-map.js
│ │ └── package.js
│ ├── insecure/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── jquery/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── jquery.js
│ │ ├── main.js
│ │ └── package.js
│ ├── jquery-waypoints/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── waypoints.coffee
│ ├── jshint/
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── lintJshint/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ └── plugin/
│ │ └── lint-jshint.js
│ ├── jsparse/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── lexer.js
│ │ ├── package.js
│ │ ├── parser.js
│ │ ├── parser_tests.js
│ │ ├── parserlib.js
│ │ └── stringify.js
│ ├── launch-screen/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── default-behavior.js
│ │ ├── mobile-launch-screen.js
│ │ └── package.js
│ ├── less/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── compileLessBatch/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── less_tests.js
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-less.js
│ │ └── tests/
│ │ ├── dir/
│ │ │ ├── in-dir.import.less
│ │ │ ├── in-dir2.import.less
│ │ │ ├── root.less
│ │ │ └── subdir/
│ │ │ └── in-subdir.import.less
│ │ ├── imports/
│ │ │ └── not-included.less
│ │ ├── top.import.less
│ │ ├── top2.less
│ │ └── top3.import.less
│ ├── livedata/
│ │ ├── .gitignore
│ │ ├── DDP.md
│ │ ├── README.md
│ │ └── package.js
│ ├── localstorage/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── localstorage.js
│ │ ├── localstorage_tests.js
│ │ └── package.js
│ ├── logging/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── logging.js
│ │ ├── logging_cordova.js
│ │ ├── logging_test.js
│ │ └── package.js
│ ├── logic-solver/
│ │ ├── README.md
│ │ ├── logic.js
│ │ ├── logic_tests.js
│ │ ├── minisat.js
│ │ ├── minisat_wrapper.js
│ │ ├── optimize.js
│ │ ├── package.js
│ │ └── types.js
│ ├── markdown/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── license.txt
│ │ ├── package.js
│ │ ├── showdown.js
│ │ └── template-integration.js
│ ├── meetup/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meetup_client.js
│ │ ├── meetup_configure.html
│ │ ├── meetup_configure.js
│ │ ├── meetup_server.js
│ │ └── package.js
│ ├── meteor/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── bare_test_setup.js
│ │ ├── bare_tests.js
│ │ ├── browser_environment_test.js
│ │ ├── client_environment.js
│ │ ├── client_environment_test.js
│ │ ├── cordova_environment.js
│ │ ├── cordova_environment_test.js
│ │ ├── debug.js
│ │ ├── debug_test.js
│ │ ├── dynamics_browser.js
│ │ ├── dynamics_nodejs.js
│ │ ├── dynamics_test.js
│ │ ├── errors.js
│ │ ├── fiber_helpers.js
│ │ ├── fiber_helpers_test.js
│ │ ├── fiber_stubs_client.js
│ │ ├── flush-buffers-on-exit-in-windows.js
│ │ ├── global.js
│ │ ├── helpers.js
│ │ ├── helpers_test.js
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── basic-file-types.js
│ │ ├── server_environment.js
│ │ ├── server_environment_test.js
│ │ ├── setimmediate.js
│ │ ├── startup_client.js
│ │ ├── startup_server.js
│ │ ├── string_utils.js
│ │ ├── test_environment.js
│ │ ├── timers.js
│ │ ├── timers_tests.js
│ │ ├── url_common.js
│ │ ├── url_server.js
│ │ ├── url_tests.js
│ │ └── wrapasync_test.js
│ ├── meteor-base/
│ │ ├── README.md
│ │ └── package.js
│ ├── meteor-developer/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meteor_developer_client.js
│ │ ├── meteor_developer_common.js
│ │ ├── meteor_developer_configure.html
│ │ ├── meteor_developer_configure.js
│ │ ├── meteor_developer_server.js
│ │ └── package.js
│ ├── meteor-platform/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── meteor-tool/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── meyerweb-reset/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── reset.css
│ ├── minifier-css/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── minification.js
│ │ ├── minifier-tests.js
│ │ ├── minifier.js
│ │ ├── package.js
│ │ └── urlrewriting-tests.js
│ ├── minifier-js/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── beautify-tests.js
│ │ ├── minifier.js
│ │ └── package.js
│ ├── minimongo/
│ │ ├── .gitignore
│ │ ├── NOTES
│ │ ├── README.md
│ │ ├── diff.js
│ │ ├── helpers.js
│ │ ├── id_map.js
│ │ ├── minimongo.js
│ │ ├── minimongo_server_tests.js
│ │ ├── minimongo_tests.js
│ │ ├── modify.js
│ │ ├── objectid.js
│ │ ├── observe.js
│ │ ├── package.js
│ │ ├── projection.js
│ │ ├── selector.js
│ │ ├── selector_modifier.js
│ │ ├── selector_projection.js
│ │ ├── sort.js
│ │ ├── sorter_projection.js
│ │ ├── wrap_transform.js
│ │ └── wrap_transform_tests.js
│ ├── mobile-experience/
│ │ ├── README.md
│ │ └── package.js
│ ├── mobile-status-bar/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── modules/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── buffer.js
│ │ ├── client.js
│ │ ├── css.js
│ │ ├── install-packages.js
│ │ ├── package.js
│ │ ├── process.js
│ │ ├── server.js
│ │ └── stubs.js
│ ├── modules-runtime/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── modules-runtime-tests.js
│ │ ├── modules-runtime.js
│ │ └── package.js
│ ├── mongo/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── allow_tests.js
│ │ ├── collection.js
│ │ ├── collection_tests.js
│ │ ├── doc_fetcher.js
│ │ ├── doc_fetcher_tests.js
│ │ ├── local_collection_driver.js
│ │ ├── mongo_driver.js
│ │ ├── mongo_livedata_tests.js
│ │ ├── observe_changes_tests.js
│ │ ├── observe_multiplex.js
│ │ ├── oplog_observe_driver.js
│ │ ├── oplog_tailing.js
│ │ ├── oplog_tests.js
│ │ ├── package.js
│ │ ├── polling_observe_driver.js
│ │ └── remote_collection_driver.js
│ ├── mongo-id/
│ │ ├── id.js
│ │ └── package.js
│ ├── mongo-livedata/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── non-core/
│ │ ├── README
│ │ ├── jquery-history/
│ │ │ ├── .gitignore
│ │ │ ├── history.adapter.jquery.js
│ │ │ ├── history.html4.js
│ │ │ ├── history.js
│ │ │ └── package.js
│ │ ├── jquery-layout/
│ │ │ ├── .gitignore
│ │ │ ├── jquery.layout.js
│ │ │ └── package.js
│ │ ├── npm-bcrypt/
│ │ │ ├── .gitignore
│ │ │ ├── .npm/
│ │ │ │ └── package/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README
│ │ │ │ └── npm-shrinkwrap.json
│ │ │ ├── .versions
│ │ │ ├── package.js
│ │ │ └── wrapper.js
│ │ └── npm-node-aes-gcm/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── .versions
│ │ ├── README.md
│ │ ├── package.js
│ │ └── wrapper.js
│ ├── npm-mongo/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── package.js
│ │ └── wrapper.js
│ ├── oauth/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── end_of_popup_response.html
│ │ ├── end_of_popup_response.js
│ │ ├── end_of_redirect_response.html
│ │ ├── end_of_redirect_response.js
│ │ ├── oauth_browser.js
│ │ ├── oauth_client.js
│ │ ├── oauth_common.js
│ │ ├── oauth_cordova.js
│ │ ├── oauth_server.js
│ │ ├── oauth_tests.js
│ │ ├── package.js
│ │ └── pending_credentials.js
│ ├── oauth-encryption/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── encrypt.js
│ │ ├── encrypt_tests.js
│ │ └── package.js
│ ├── oauth1/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── oauth1_binding.js
│ │ ├── oauth1_pending_request_tokens.js
│ │ ├── oauth1_server.js
│ │ ├── oauth1_tests.js
│ │ └── package.js
│ ├── oauth2/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── oauth2_server.js
│ │ ├── oauth2_tests.js
│ │ └── package.js
│ ├── observe-sequence/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── observe_sequence.js
│ │ ├── observe_sequence_tests.js
│ │ └── package.js
│ ├── ordered-dict/
│ │ ├── .gitignore
│ │ ├── ordered_dict.js
│ │ └── package.js
│ ├── package-stats-opt-out/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── package-version-parser/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package-version-parser-tests.js
│ │ ├── package-version-parser.js
│ │ ├── package.js
│ │ └── semver410.js
│ ├── preserve-inputs/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ └── package.js
│ ├── promise/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── client.js
│ │ ├── common.js
│ │ ├── package.js
│ │ ├── promise-tests.js
│ │ └── server.js
│ ├── random/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── package.js
│ │ ├── random.js
│ │ └── random_tests.js
│ ├── rate-limit/
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── rate-limit-tests.js
│ │ └── rate-limit.js
│ ├── reactive-dict/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── migration.js
│ │ ├── package.js
│ │ ├── reactive-dict-tests.js
│ │ └── reactive-dict.js
│ ├── reactive-var/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── reactive-var.js
│ ├── reload/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── package.js
│ │ ├── reload.js
│ │ └── reload_tests.js
│ ├── reload-safetybelt/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── reload-safety-belt-tests.js
│ │ ├── reload-safety-belt.js
│ │ └── safetybelt.js
│ ├── retry/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── retry.js
│ ├── routepolicy/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── routepolicy.js
│ │ └── routepolicy_tests.js
│ ├── service-configuration/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── service_configuration_common.js
│ │ └── service_configuration_server.js
│ ├── session/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── session.js
│ │ └── session_tests.js
│ ├── sha/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── sha256.js
│ ├── showdown/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── spacebars/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── spacebars-runtime.js
│ ├── spacebars-compiler/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── codegen.js
│ │ ├── compile_tests.js
│ │ ├── compiler.js
│ │ ├── compiler_output_tests.coffee
│ │ ├── optimizer.js
│ │ ├── package.js
│ │ ├── react.js
│ │ ├── spacebars_tests.js
│ │ └── templatetag.js
│ ├── spacebars-tests/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── assets/
│ │ │ ├── markdown_basic.html
│ │ │ ├── markdown_each1.html
│ │ │ ├── markdown_each2.html
│ │ │ ├── markdown_if1.html
│ │ │ └── markdown_if2.html
│ │ ├── old_templates.js
│ │ ├── old_templates_tests.js
│ │ ├── package.js
│ │ ├── template_tests.html
│ │ ├── template_tests.js
│ │ ├── template_tests_server.js
│ │ ├── templating_tests.html
│ │ └── templating_tests.js
│ ├── spiderable/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── phantom_script.js
│ │ ├── spiderable.html
│ │ ├── spiderable.js
│ │ ├── spiderable_client.js
│ │ ├── spiderable_client_tests.js
│ │ ├── spiderable_server.js
│ │ └── spiderable_server_tests.js
│ ├── srp/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── biginteger.js
│ │ ├── package.js
│ │ ├── srp.js
│ │ └── srp_tests.js
│ ├── standard-app-packages/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── standard-minifier-css/
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ ├── minifyStd/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README
│ │ │ │ └── npm-shrinkwrap.json
│ │ │ └── minifyStdCSS/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ └── plugin/
│ │ └── minify-css.js
│ ├── standard-minifier-js/
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── minifyStd/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ └── plugin/
│ │ └── minify-js.js
│ ├── standard-minifiers/
│ │ ├── README.md
│ │ └── package.js
│ ├── startup/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── static-html/
│ │ ├── README.md
│ │ ├── package.js
│ │ └── static-html.js
│ ├── stylus/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ ├── compileStylus/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README
│ │ │ │ └── npm-shrinkwrap.json
│ │ │ └── compileStylusBatch/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-stylus.js
│ │ ├── stylus_tests.html
│ │ ├── stylus_tests.import.styl
│ │ ├── stylus_tests.js
│ │ └── stylus_tests.styl
│ ├── templating/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── dynamic.html
│ │ ├── dynamic.js
│ │ ├── dynamic_tests.html
│ │ ├── dynamic_tests.js
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-templates.js
│ │ └── templating.js
│ ├── templating-tools/
│ │ ├── README.md
│ │ ├── code-generation.js
│ │ ├── compile-tags-with-spacebars.js
│ │ ├── html-scanner-tests.js
│ │ ├── html-scanner.js
│ │ ├── package.js
│ │ ├── templating-tools.js
│ │ └── throw-compile-error.js
│ ├── test-helpers/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── async_multi.js
│ │ ├── callback_logger.js
│ │ ├── canonicalize_html.js
│ │ ├── connection.js
│ │ ├── current_style.js
│ │ ├── domutils.js
│ │ ├── event_simulation.js
│ │ ├── package.js
│ │ ├── render_div.js
│ │ ├── seeded_random.js
│ │ ├── seeded_random_test.js
│ │ ├── try_all_permutations.js
│ │ └── try_all_permutations_test.js
│ ├── test-in-browser/
│ │ ├── .gitignore
│ │ ├── autoupdate.js
│ │ ├── diff_match_patch_uncompressed.js
│ │ ├── driver.css
│ │ ├── driver.html
│ │ ├── driver.js
│ │ └── package.js
│ ├── test-in-console/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── driver.js
│ │ ├── package.js
│ │ ├── reporter.js
│ │ ├── run.sh
│ │ └── runner.js
│ ├── test-server-tests-in-console-once/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── server.js
│ ├── tinytest/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── model.js
│ │ ├── package.js
│ │ ├── tinytest.js
│ │ ├── tinytest_client.js
│ │ └── tinytest_server.js
│ ├── tinytest-harness/
│ │ ├── README.md
│ │ └── package.js
│ ├── tracker/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── package.js
│ │ ├── tracker.js
│ │ └── tracker_tests.js
│ ├── twitter/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── twitter_client.js
│ │ ├── twitter_configure.html
│ │ ├── twitter_configure.js
│ │ └── twitter_server.js
│ ├── ui/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── underscore/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── post.js
│ │ ├── pre.js
│ │ └── underscore.js
│ ├── underscore-tests/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── each_test.js
│ │ └── package.js
│ ├── url/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── url_client.js
│ │ ├── url_common.js
│ │ └── url_server.js
│ ├── webapp/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── webapp_client.js
│ │ ├── webapp_client_tests.js
│ │ ├── webapp_cordova.js
│ │ ├── webapp_server.js
│ │ └── webapp_tests.js
│ ├── webapp-hashing/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── webapp-hashing.js
│ ├── weibo/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── weibo_client.js
│ │ ├── weibo_configure.html
│ │ ├── weibo_configure.js
│ │ └── weibo_server.js
│ └── xmlbuilder/
│ ├── .gitignore
│ ├── .npm/
│ │ └── package/
│ │ ├── .gitignore
│ │ ├── README
│ │ └── npm-shrinkwrap.json
│ ├── README.md
│ ├── package.js
│ └── xmlbuilder.js
├── scripts/
│ ├── admin/
│ │ ├── banners-oldcore.json
│ │ ├── banners.json
│ │ ├── bump-all-version-numbers.js
│ │ ├── check-package-dependencies.rb
│ │ ├── copy-bootstrap-tarballs-from-jenkins.sh
│ │ ├── copy-dev-bundle-from-jenkins.sh
│ │ ├── copy-windows-installer-from-jenkins.sh
│ │ ├── eslint/
│ │ │ ├── .eslintrc
│ │ │ ├── .gitignore
│ │ │ ├── eslint.sh
│ │ │ └── package.json
│ │ ├── find-author-github.sh
│ │ ├── find-new-npm-versions.sh
│ │ ├── git-hooks/
│ │ │ └── pre-commit
│ │ ├── install-from-bootstrap.sh
│ │ ├── jsdoc/
│ │ │ ├── .gitignore
│ │ │ ├── docdata-jsdoc-template/
│ │ │ │ └── publish.js
│ │ │ ├── jsdoc-conf.json
│ │ │ ├── jsdoc.sh
│ │ │ └── package.json
│ │ ├── launch-meteor
│ │ ├── manifest.json
│ │ ├── meteor-release-experimental.json
│ │ ├── meteor-release-official.json
│ │ ├── old-banner.txt
│ │ ├── publish-meteor-tool-on-all-platforms.sh
│ │ ├── publish-meteor-tool-on-arch.sh
│ │ ├── publish-meteor-tool.bat
│ │ └── test-packages-with-mongo-versions.rb
│ ├── benchmarks/
│ │ └── initial-start-time.sh
│ ├── build-dev-bundle-common.sh
│ ├── build-mongo-for-dev-bundle.sh
│ ├── build-node-for-dev-bundle.sh
│ ├── ci.sh
│ ├── dev-bundle-server-package.js
│ ├── dev-bundle-tool-package.js
│ ├── doctool.js
│ ├── doctool.md
│ ├── doctool.md.md
│ ├── generate-dev-bundle.ps1
│ ├── generate-dev-bundle.sh
│ ├── node.sh
│ ├── npm.cmd
│ └── windows/
│ ├── .gitignore
│ ├── README
│ ├── build-installer.ps1
│ ├── check-dev-bundle.ps1
│ ├── download-dev-bundle.ps1
│ └── installer/
│ ├── .gitignore
│ ├── MeteorSetup.sln
│ ├── WiXBalExtension/
│ │ ├── .gitignore
│ │ ├── BalExtensionExt.sln
│ │ ├── LICENSE.TXT
│ │ ├── build.bat
│ │ ├── inc/
│ │ │ ├── .gitignore
│ │ │ ├── Version.proj
│ │ │ ├── WixDistribution.cs
│ │ │ ├── WixDistribution.h
│ │ │ └── wix.rc
│ │ ├── wixext/
│ │ │ ├── BalCompiler.cs
│ │ │ ├── BalExtension.cs
│ │ │ ├── BalPreprocessorExtension.cs
│ │ │ ├── Properties/
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── WixBalExtensionExt.csproj
│ │ │ ├── Xsd/
│ │ │ │ └── bal.xsd
│ │ │ └── data/
│ │ │ ├── messages.xml
│ │ │ └── tables.xml
│ │ ├── wixlib/
│ │ │ ├── BalExtension.wixproj
│ │ │ ├── BalExtension.wxs
│ │ │ ├── wixstdba.wxs
│ │ │ ├── wixstdba_platform.wxi
│ │ │ └── wixstdba_x86.wxs
│ │ └── wixstdba/
│ │ ├── JSON.cpp
│ │ ├── JSON.h
│ │ ├── JSONValue.cpp
│ │ ├── JSONValue.h
│ │ ├── Resources/
│ │ │ ├── Hyperlink2Theme.xml
│ │ │ ├── HyperlinkTheme.wxl
│ │ │ ├── HyperlinkTheme.xml
│ │ │ ├── LoremIpsumLicense.rtf
│ │ │ ├── RtfTheme.wxl
│ │ │ └── RtfTheme.xml
│ │ ├── WixStandardBootstrapperApplication.cpp
│ │ ├── precomp.h
│ │ ├── resource.h
│ │ ├── wixstdba.cpp
│ │ ├── wixstdba.def
│ │ ├── wixstdba.rc
│ │ ├── wixstdba.vcxproj
│ │ └── wixstdba.vcxproj.filters
│ ├── WiXHelper/
│ │ ├── .gitignore
│ │ ├── CustomAction.cpp
│ │ ├── CustomAction.def
│ │ ├── WiXHelper.vcxproj
│ │ ├── WiXHelper.vcxproj.filters
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ └── targetver.h
│ ├── WiXInstaller/
│ │ ├── .gitignore
│ │ ├── Configuration.wxi
│ │ ├── MSIPackage.wixproj
│ │ ├── Meteor_Bundle.wxs
│ │ ├── Meteor_Product.wxs
│ │ ├── Resources/
│ │ │ ├── License.htm
│ │ │ ├── License.rtf
│ │ │ ├── Theme_Meteor.wxl
│ │ │ ├── Theme_Meteor.xml
│ │ │ └── dummy.file
│ │ └── SetupPackage.wixproj
│ ├── WiXSDK/
│ │ ├── inc/
│ │ │ ├── BalBaseBootstrapperApplication.h
│ │ │ ├── IBootstrapperApplication.h
│ │ │ ├── IBootstrapperBAFunction.h
│ │ │ ├── IBootstrapperEngine.h
│ │ │ ├── aclutil.h
│ │ │ ├── apuputil.h
│ │ │ ├── atomutil.h
│ │ │ ├── balcondition.h
│ │ │ ├── balinfo.h
│ │ │ ├── balretry.h
│ │ │ ├── balutil.h
│ │ │ ├── buffutil.h
│ │ │ ├── cabcutil.h
│ │ │ ├── cabutil.h
│ │ │ ├── certutil.h
│ │ │ ├── conutil.h
│ │ │ ├── cryputil.h
│ │ │ ├── custommsierrors.h
│ │ │ ├── dictutil.h
│ │ │ ├── dirutil.h
│ │ │ ├── dutil.h
│ │ │ ├── eseutil.h
│ │ │ ├── fileutil.h
│ │ │ ├── gdiputil.h
│ │ │ ├── iis7util.h
│ │ │ ├── inetutil.h
│ │ │ ├── iniutil.h
│ │ │ ├── jsonutil.h
│ │ │ ├── locutil.h
│ │ │ ├── logutil.h
│ │ │ ├── memutil.h
│ │ │ ├── metautil.h
│ │ │ ├── osutil.h
│ │ │ ├── pathutil.h
│ │ │ ├── perfutil.h
│ │ │ ├── polcutil.h
│ │ │ ├── procutil.h
│ │ │ ├── regutil.h
│ │ │ ├── resrutil.h
│ │ │ ├── reswutil.h
│ │ │ ├── rexutil.h
│ │ │ ├── rmutil.h
│ │ │ ├── rssutil.h
│ │ │ ├── sceutil.h
│ │ │ ├── shelutil.h
│ │ │ ├── sqlutil.h
│ │ │ ├── srputil.h
│ │ │ ├── strutil.h
│ │ │ ├── svcutil.h
│ │ │ ├── thmutil.h
│ │ │ ├── timeutil.h
│ │ │ ├── uriutil.h
│ │ │ ├── userutil.h
│ │ │ ├── wcalog.h
│ │ │ ├── wcautil.h
│ │ │ ├── wcawow64.h
│ │ │ ├── wcawrapquery.h
│ │ │ ├── wiutil.h
│ │ │ ├── wuautil.h
│ │ │ └── xmlutil.h
│ │ ├── vs2010/
│ │ │ └── lib/
│ │ │ └── x86/
│ │ │ ├── balutil.lib
│ │ │ ├── deputil.lib
│ │ │ ├── dutil.lib
│ │ │ └── wcautil.lib
│ │ ├── vs2012/
│ │ │ └── lib/
│ │ │ └── x86/
│ │ │ ├── balutil.lib
│ │ │ ├── deputil.lib
│ │ │ ├── dutil.lib
│ │ │ └── wcautil.lib
│ │ └── vs2013/
│ │ └── lib/
│ │ └── x86/
│ │ ├── balutil.lib
│ │ ├── deputil.lib
│ │ ├── dutil.lib
│ │ └── wcautil.lib
│ └── build.bat
└── tools/
├── PERFORMANCE.md
├── README.md
├── cli/
│ ├── README.md
│ ├── commands-aliases.js
│ ├── commands-cordova.js
│ ├── commands-packages-query.js
│ ├── commands-packages.js
│ ├── commands.js
│ ├── dev-bundle-bin-commands.js
│ ├── dev-bundle-bin-helpers.js
│ ├── example-repositories.js
│ ├── flush-buffers-on-exit-in-windows.js
│ ├── help.txt
│ └── main.js
├── console/
│ ├── README.md
│ ├── console.js
│ └── progress.js
├── cordova/
│ ├── README.md
│ ├── builder.js
│ ├── index.js
│ ├── project.js
│ ├── protect-string-proto.js
│ ├── run-targets.js
│ └── runner.js
├── fs/
│ ├── README.md
│ ├── files.js
│ ├── mini-files.js
│ ├── safe-pathwatcher.js
│ └── watch.js
├── index.js
├── inspector.js
├── isobuild/
│ ├── README.md
│ ├── build-plugin.js
│ ├── builder.js
│ ├── bundler.js
│ ├── compiler-deprecated-compile-step.js
│ ├── compiler-plugin.js
│ ├── compiler.js
│ ├── css-modules.js
│ ├── import-scanner.js
│ ├── isopack-cache.js
│ ├── isopack.js
│ ├── js-analyze.js
│ ├── linker.js
│ ├── linter-plugin.js
│ ├── meteor-npm-userconfig
│ ├── meteor-npm.js
│ ├── minifier-plugin.js
│ ├── npm-discards.js
│ ├── package-api.js
│ ├── package-source.js
│ ├── resolver.js
│ ├── source-arch.js
│ └── test-files.js
├── meteor-services/
│ ├── README.md
│ ├── auth-client.js
│ ├── auth.js
│ ├── config.js
│ ├── deploy.js
│ ├── service-connection.js
│ └── stats.js
├── packaging/
│ ├── README.md
│ ├── catalog/
│ │ ├── catalog-local.js
│ │ ├── catalog-remote.js
│ │ ├── catalog-utils.js
│ │ └── catalog.js
│ ├── package-client.js
│ ├── package-map.js
│ ├── package-version-parser.js
│ ├── release.js
│ ├── tropohouse.js
│ ├── updater.js
│ └── warehouse.js
├── project-context.js
├── runners/
│ ├── README.md
│ ├── run-all.js
│ ├── run-app.js
│ ├── run-log.js
│ ├── run-mongo.js
│ ├── run-proxy.js
│ ├── run-selenium.js
│ └── run-updater.js
├── shell-client.js
├── static-assets/
│ ├── README.md
│ ├── server/
│ │ ├── boot-utils.js
│ │ ├── boot.js
│ │ ├── mini-files.js
│ │ ├── npm-rebuild.js
│ │ ├── npm-require.js
│ │ ├── server-json.js
│ │ └── shell-server.js
│ ├── skel/
│ │ ├── .gitignore
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── platforms
│ │ ├── client/
│ │ │ ├── main.css
│ │ │ ├── main.html
│ │ │ └── main.js
│ │ ├── package.json
│ │ └── server/
│ │ └── main.js
│ └── skel-pack/
│ ├── README.md
│ ├── package.js
│ ├── ~fs-name~-tests.js
│ └── ~fs-name~.js
├── tests/
│ ├── apps/
│ │ ├── app-prints-pid/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── print.js
│ │ ├── app-throws-error/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── packages/
│ │ │ │ └── throwing-package/
│ │ │ │ ├── package.js
│ │ │ │ └── thrower.js
│ │ │ └── throw.js
│ │ ├── app-using-stylus/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── body.html
│ │ │ ├── client/
│ │ │ │ ├── app-export.import.styl
│ │ │ │ └── app.styl
│ │ │ ├── main.js
│ │ │ └── packages/
│ │ │ └── my-package/
│ │ │ ├── package-export.styl
│ │ │ ├── package-file.main.styl
│ │ │ ├── package-local-export.styl
│ │ │ └── package.js
│ │ ├── app-with-atmosphere-package/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ ├── release
│ │ │ └── versions
│ │ ├── app-with-unimported-lazy-file/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ ├── imports/
│ │ │ │ └── file.js
│ │ │ └── main.js
│ │ ├── build-errors/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── foo.awesome
│ │ │ └── packages/
│ │ │ └── with-colon-plugin/
│ │ │ ├── .gitignore
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── build-plugin-throws-error/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── file.extension
│ │ │ └── packages/
│ │ │ └── build-plugin/
│ │ │ ├── README.md
│ │ │ ├── build-plugin.js
│ │ │ └── package.js
│ │ ├── caching-coffee/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── f1.coffee
│ │ │ ├── f2.coffee
│ │ │ ├── f3.coffee
│ │ │ └── packages/
│ │ │ └── local-pack/
│ │ │ ├── p.coffee
│ │ │ └── package.js
│ │ ├── caching-less/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── imports/
│ │ │ │ └── dotdot.less
│ │ │ ├── output.js
│ │ │ ├── packages/
│ │ │ │ └── local-pack/
│ │ │ │ ├── p.less
│ │ │ │ └── package.js
│ │ │ ├── subdir/
│ │ │ │ ├── foo.import.less
│ │ │ │ └── nested-root.less
│ │ │ └── top.less
│ │ ├── caching-stylus/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── imports/
│ │ │ │ └── dotdot.styl
│ │ │ ├── output.js
│ │ │ ├── packages/
│ │ │ │ └── local-pack/
│ │ │ │ ├── p.styl
│ │ │ │ └── package.js
│ │ │ ├── subdir/
│ │ │ │ ├── foo.import.styl
│ │ │ │ └── nested-root.styl
│ │ │ └── top.styl
│ │ ├── circular-deps/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── packages/
│ │ │ │ ├── first/
│ │ │ │ │ └── package.js
│ │ │ │ ├── first-imply/
│ │ │ │ │ └── package.js
│ │ │ │ ├── first-unordered/
│ │ │ │ │ └── package.js
│ │ │ │ ├── first-weak/
│ │ │ │ │ └── package.js
│ │ │ │ ├── second/
│ │ │ │ │ └── package.js
│ │ │ │ ├── second-imply/
│ │ │ │ │ └── package.js
│ │ │ │ ├── second-unordered/
│ │ │ │ │ └── package.js
│ │ │ │ └── second-weak/
│ │ │ │ └── package.js
│ │ │ └── server/
│ │ │ └── exit123.js
│ │ ├── compiler-plugin-add-asset/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── foo.printme
│ │ │ ├── packages/
│ │ │ │ └── local-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ └── use-asset.js
│ │ ├── compiler-plugin-asset-and-source/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── asset-and-source/
│ │ │ ├── asset-and-source.js
│ │ │ └── package.js
│ │ ├── compiler-plugin-static-html/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ └── static.html
│ │ ├── compiler-plugin-static-html-error/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ └── static.html
│ │ ├── compiler-plugin-throws-on-instantiate/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── foo.printme
│ │ │ └── packages/
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── css-injection-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── css-injection-test.js
│ │ │ └── packages/
│ │ │ └── my-package/
│ │ │ ├── foo.css
│ │ │ └── package.js
│ │ ├── custom-minifier/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── body.html
│ │ │ ├── code.js
│ │ │ ├── packages/
│ │ │ │ └── custom-minifier/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin/
│ │ │ │ └── minify.js
│ │ │ └── styles.css
│ │ ├── ddp-heartbeat/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── server/
│ │ │ └── heartbeat_test.js
│ │ ├── debug-only-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── debug-only-prod-only/
│ │ │ └── package.js
│ │ ├── dev-bundle-bin-commands/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── package.json
│ │ ├── duplicate-compiler-extensions/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── bar.printme
│ │ │ ├── foo.printme
│ │ │ └── packages/
│ │ │ ├── another-local-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── empty/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── failover-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── server/
│ │ │ └── failover-test.js
│ │ ├── hot-code-push-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── hot-code-push-test.html
│ │ │ ├── hot-code-push-test.js
│ │ │ └── packages/
│ │ │ └── my-package/
│ │ │ ├── foo.js
│ │ │ └── package.js
│ │ ├── lint-on-publish/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ └── release
│ │ │ ├── a.js
│ │ │ └── packages/
│ │ │ ├── dep-package/
│ │ │ │ ├── dep-package.js
│ │ │ │ └── package.js
│ │ │ └── my-package/
│ │ │ ├── .versions
│ │ │ ├── my-package.js
│ │ │ └── package.js
│ │ ├── linting-app/
│ │ │ ├── .jshintrc
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── a.html
│ │ │ ├── client/
│ │ │ │ └── client.js
│ │ │ ├── packages/
│ │ │ │ └── my-package/
│ │ │ │ ├── .jshintrc
│ │ │ │ ├── .versions
│ │ │ │ ├── package-client.js
│ │ │ │ ├── package-server.js
│ │ │ │ └── package.js
│ │ │ └── server/
│ │ │ └── server.js
│ │ ├── local-compiler-plugin/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── bar.printme
│ │ │ ├── foo.printme
│ │ │ └── packages/
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── minification-css-splitting/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── body.html
│ │ │ ├── client/
│ │ │ │ └── lots-of-styles.main.styl
│ │ │ └── code.js
│ │ ├── minifier-plugin-bad-extension/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── minifier-plugin-multiple-minifiers-for-js/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ ├── local-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ └── local-plugin-2/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── mobile-platforms/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ ├── platforms
│ │ │ └── release
│ │ ├── modules/
│ │ │ ├── .gitignore
│ │ │ ├── .meteor/
│ │ │ │ ├── .finished-upgraders
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ ├── README.md
│ │ │ ├── client/
│ │ │ │ ├── compatibility/
│ │ │ │ │ └── bare.js
│ │ │ │ └── only.js
│ │ │ ├── eager-coffee.coffee
│ │ │ ├── eager-jsx.jsx
│ │ │ ├── eager.css
│ │ │ ├── imports/
│ │ │ │ ├── dir/
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ ├── lazy.css
│ │ │ │ ├── lazy.html
│ │ │ │ ├── lazy1.js
│ │ │ │ ├── lazy2.js
│ │ │ │ ├── plain.es5.js
│ │ │ │ ├── return.js
│ │ │ │ └── shared.js
│ │ │ ├── lazy-css.html
│ │ │ ├── lib/
│ │ │ │ ├── a/
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ ├── b/
│ │ │ │ │ └── package.json
│ │ │ │ └── index.js
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── client-only-ecmascript/
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── client.js
│ │ │ │ │ ├── imported.js
│ │ │ │ │ ├── package.js
│ │ │ │ │ └── server.js
│ │ │ │ ├── modules-test-package/
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── client.js
│ │ │ │ │ ├── common.js
│ │ │ │ │ ├── css/
│ │ │ │ │ │ ├── imported.css
│ │ │ │ │ │ └── not-imported.css
│ │ │ │ │ ├── illegal.html
│ │ │ │ │ ├── os-stub.js
│ │ │ │ │ ├── package.js
│ │ │ │ │ └── server.js
│ │ │ │ └── modules-test-plugin/
│ │ │ │ ├── .babelrc
│ │ │ │ ├── README.md
│ │ │ │ ├── array.arson
│ │ │ │ ├── modules-test-plugin.js
│ │ │ │ ├── one.arson
│ │ │ │ ├── oyez-transform.js
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ ├── server/
│ │ │ │ └── only.js
│ │ │ └── tests.js
│ │ ├── npmtest/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── npm-test/
│ │ │ ├── npmtest.js
│ │ │ └── package.js
│ │ ├── once/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── once.js
│ │ ├── package-stats-tests/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── package-stats-tests.js
│ │ │ └── packages/
│ │ │ ├── local-package/
│ │ │ │ ├── blah.js
│ │ │ │ └── package.js
│ │ │ └── package-stats-opt-out/
│ │ │ └── package.js
│ │ ├── package-tests/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── identifier
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── mobile-config.js
│ │ │ └── packages/
│ │ │ ├── contains-camera-cordova-plugin/
│ │ │ │ └── package.js
│ │ │ ├── contains-cordova-plugin/
│ │ │ │ ├── package.js
│ │ │ │ ├── package2.js
│ │ │ │ └── package3.js
│ │ │ ├── contains-old-cordova-plugin/
│ │ │ │ └── package.js
│ │ │ ├── contains-plugin/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .npm/
│ │ │ │ │ └── plugin/
│ │ │ │ │ └── compileCoffeescript/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── README
│ │ │ │ │ └── npm-shrinkwrap.json
│ │ │ │ ├── package.js
│ │ │ │ ├── package2.js
│ │ │ │ └── plugin/
│ │ │ │ └── plugin.js
│ │ │ ├── debug-only/
│ │ │ │ ├── debug-only.js
│ │ │ │ └── package.js
│ │ │ ├── depends-on-plugin/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── foo.js
│ │ │ │ └── package.js
│ │ │ ├── empty-cordova-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin/
│ │ │ │ ├── plugin.xml
│ │ │ │ ├── src/
│ │ │ │ │ └── android/
│ │ │ │ │ ├── Empty.java
│ │ │ │ │ └── Empty_changed.java
│ │ │ │ └── www/
│ │ │ │ └── Empty.js
│ │ │ ├── no-description/
│ │ │ │ └── package.js
│ │ │ ├── prod-only/
│ │ │ │ ├── package.js
│ │ │ │ └── prod-only.js
│ │ │ ├── say-something/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── foo.js
│ │ │ │ └── package.js
│ │ │ ├── say-something-client-targets/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── all-clients.js
│ │ │ │ ├── browser-client.js
│ │ │ │ ├── cordova-client.js
│ │ │ │ ├── package.js
│ │ │ │ └── server.js
│ │ │ ├── with-add-files/
│ │ │ │ ├── package.js
│ │ │ │ └── with-add-files.js
│ │ │ └── with-main-module/
│ │ │ ├── package.js
│ │ │ └── with-main-module.js
│ │ ├── packageless/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ └── release
│ │ │ └── packageless.js
│ │ ├── simple-app/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── simple.html
│ │ ├── standard-app/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── uses-published-package-with-inactive-source/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── packages/
│ │ └── local-plugin/
│ │ └── package.js
│ ├── autoupdate.js
│ ├── boot-tests.js
│ ├── build-errors.js
│ ├── built-packages/
│ │ └── has-colons.tgz
│ ├── bundle.js
│ ├── colon-converter-tests.js
│ ├── command-line.js
│ ├── compiler-plugins.js
│ ├── constraint-solver.js
│ ├── cordova-builds.js
│ ├── cordova-hcp.js
│ ├── cordova-platforms.js
│ ├── cordova-plugins.js
│ ├── cordova-run.js
│ ├── create.js
│ ├── custom-minifier.js
│ ├── ddp-heartbeat.js
│ ├── dev-bundle-bin-commands.js
│ ├── fake-mongod/
│ │ ├── fake-mongod
│ │ ├── fake-mongod.bat
│ │ └── fake-mongod.js
│ ├── galaxy.js
│ ├── help.js
│ ├── hot-code-push.js
│ ├── js-analyze.js
│ ├── linter-plugins.js
│ ├── login.js
│ ├── meteor-script-link-tests.js
│ ├── minifier-bad-plugins.js
│ ├── modules.js
│ ├── mongo.js
│ ├── npm.js
│ ├── old/
│ │ ├── app-with-package/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ └── packages
│ │ │ └── packages/
│ │ │ └── test-package/
│ │ │ ├── dummy.js
│ │ │ └── package.js
│ │ ├── app-with-private/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── packages/
│ │ │ │ └── test-package/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── package.js
│ │ │ │ ├── plugin.js
│ │ │ │ ├── test-package.js
│ │ │ │ ├── test-package.txt
│ │ │ │ └── test.notregistered
│ │ │ ├── private/
│ │ │ │ ├── nested/
│ │ │ │ │ └── test.txt
│ │ │ │ └── test.txt
│ │ │ └── test.js
│ │ ├── app-with-public/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── public/
│ │ │ ├── nested/
│ │ │ │ └── nested.txt
│ │ │ └── test.txt
│ │ ├── cli-test.sh
│ │ ├── empty-app/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── .id
│ │ │ └── packages
│ │ ├── test-bundler-assets.js
│ │ ├── test-bundler-npm.js
│ │ ├── test-bundler-options.js
│ │ └── test-watch.js
│ ├── old.js
│ ├── organizations.js
│ ├── package-tests.js
│ ├── packages/
│ │ ├── fake-accounts-base/
│ │ │ ├── fake-accounts-base-tests.js
│ │ │ ├── fake-accounts-base.js
│ │ │ └── package.js
│ │ ├── has-colons.tgz
│ │ ├── package-for-show/
│ │ │ ├── README.md
│ │ │ ├── package-completely-empty.js
│ │ │ ├── package-customizable.js
│ │ │ ├── package-rc-version.js
│ │ │ ├── package-with-deps.js
│ │ │ ├── package-with-exports.js
│ │ │ ├── package-with-git.js
│ │ │ ├── package-with-implies.js
│ │ │ └── package.js
│ │ ├── package-of-two-versions/
│ │ │ ├── package-version.js
│ │ │ └── package.js
│ │ ├── package-with-colons/
│ │ │ └── package.js
│ │ └── package-with-npm/
│ │ └── package.js
│ ├── parse-stack-test.js
│ ├── releases.js
│ ├── run.js
│ ├── source-maps.js
│ ├── standard-minification.js
│ ├── static-html.js
│ ├── stylus-cross-packages.js
│ ├── tarball.js
│ ├── test-modes.js
│ ├── utils-tests.js
│ ├── version-parser.js
│ └── wipe-all-packages.js
├── tool-env/
│ ├── README.md
│ ├── cleanup.js
│ ├── install-babel.js
│ ├── install-git-hooks.js
│ ├── install-runtime.js
│ ├── isopackets.js
│ ├── profile-require.js
│ ├── profile.js
│ └── source-map-retriever-stack.js
├── tool-testing/
│ ├── README.md
│ ├── galaxy-utils.js
│ ├── phantom/
│ │ └── open-url.js
│ ├── selftest.js
│ └── test-utils.js
├── upgraders.js
└── utils/
├── archinfo.js
├── buildmessage.js
├── buildmessage.md
├── colon-converter.js
├── fiber-helpers.js
├── func-utils.js
├── http-helpers.js
├── mongo-exit-codes.js
├── parse-stack.js
├── processes.js
└── utils.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .arcconfig
================================================
{
"project_id" : "Meteor framework",
"conduit_uri" : "https://phabricator.meteor.io/",
"immutable_history" : false
}
================================================
FILE: .eslintignore
================================================
android_bundle/
dev_bundle/
docs/
examples/
packages/
scripts/
tools/
!tools/*.js
!tools/isobuild/*.js
!tools/catalog/*.js
!tools/packaging/*.js
!tools/cli/*.js
!tools/runners/*.js
!tools/tool-env/*.js
!tools/fs/*.js
# Below, files that have yet to be converted to match the linter
tools/archinfo.js
tools/auth-client.js
tools/auth.js
tools/buildmessage.js
tools/cleanup.js
tools/colon-converter.js
tools/config.js
tools/console.js
tools/deploy.js
tools/fiber-helpers.js
tools/fs/files.js
tools/fs/mini-files.js
tools/func-utils.js
tools/http-helpers.js
tools/inspector.js
tools/index.js
tools/mongo-exit-codes.js
tools/processes.js
tools/progress.js
tools/project-context.js
tools/runners/run-log.js
tools/fs/safe-pathwatcher.js
tools/selftest.js
tools/service-connection.js
tools/shell-client.js
tools/stats.js
tools/test-utils.js
tools/upgraders.js
tools/utils/utils.js
tools/fs/watch.js
tools/catalog/catalog-local.js
tools/catalog/catalog-remote.js
tools/catalog/catalog.js
tools/catalog/catalog-utils.js
tools/cli/commands-cordova.js
tools/cli/commands-packages-query.js
tools/cli/commands-packages.js
tools/cli/commands.js
tools/cli/main.js
tools/tool-env/flush-buffers-on-exit-in-windows.js
tools/tool-env/install-babel.js
tools/tool-env/isopackets.js
tools/tool-env/profile-require.js
tools/tool-env/profile.js
tools/runners/run-all.js
tools/runners/run-app.js
tools/runners/run-mongo.js
tools/runners/run-proxy.js
tools/runners/run-selenium.js
tools/runners/run-updater.js
tools/packaging/package-client.js
tools/packaging/package-map.js
tools/packaging/package-version-parser.js
tools/packaging/release.js
tools/packaging/tropohouse.js
tools/packaging/updater.js
tools/packaging/warehouse.js
tools/isobuild/build-plugin.js
tools/isobuild/builder.js
tools/isobuild/bundler.js
tools/isobuild/compiler-deprecated-compile-step.js
tools/isobuild/compiler-plugin.js
tools/isobuild/compiler.js
tools/isobuild/import-scanner.js
tools/isobuild/isopack-cache.js
tools/isobuild/isopack.js
tools/isobuild/js-analyze.js
tools/isobuild/linker.js
tools/isobuild/linter-plugin.js
tools/isobuild/meteor-npm.js
tools/isobuild/npm-discards.js
tools/isobuild/package-api.js
tools/isobuild/package-source.js
tools/isobuild/source-arch.js
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
## README and "Good to know" section
Please make sure that you carefully have read the [README](https://github.com/4commerce-technologies-AG/meteor) and especially had a look to its "Good to know" section before filing a new issue.
## Guide and tutorial issues
Some of the already known issues may also help as a guide or tutorial. Please check out our [_guide flagged issues_](https://github.com/4commerce-technologies-AG/meteor/issues?q=+label%3Aflag%3Aguide+) if your question may already be answered.
Thanks for supporting this project
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves a feature request, be sure to link to that issue.
Note that we are unlikely to accept pull requests that add features without prior discussion. The best way to propose a feature is to open an issue first and discuss your ideas there before implementing them.
================================================
FILE: .gitignore
================================================
.DS_Store
/.meteor
*~
/dev_bundle
/dev_bundle*.tar.gz
/android_bundle
/android_bundle*.tar.gz
/node_*.tar.gz
/mongo_*.tar.gz
/dist
\#*\#
.\#*
.idea
*.iml
*.sublime-project
*.sublime-workspace
TAGS
*.log
*.out
npm-debug.log
universe
.babel-cache
mongo-test-output
================================================
FILE: .mailmap
================================================
# The presence of this file makes it easier to find GitHub usernames for
# History.md.
#
# This is a git dotfile that affects the output of 'git shortlog'. eg, run:
# git shortlog -s release/METEOR@1.0.1..HEAD
# to get a sorted list of all committers to revisions in HEAD but not
# in 1.0.1. To get the list including email addresses (useful for input
# to the script below) include --email as well.
#
# For any emails that show up in the shortlog that aren't in one of
# these lists, figure out their GitHub username and add them.
#
# A command-line way to get the GitHub username for an author:
# scripts/admin/find-author-github.sh 'User Name <foo@bar.com>'
# (Note that this script always outputs GITHUB so you should manually
# check to see if they are an MDG employee!)
GITHUB: 0a- <a@0a.io>
GITHUB: adnissen <andrew_nissen@yahoo.com>
GITHUB: aldeed <eric@dairystatedesigns.com>
GITHUB: AlexeyMK <alexey@alexeymk.com>
GITHUB: andylash <andy@squidnet.com>
GITHUB: ansman <nicklas@ansman.se>
GITHUB: anstarovoyt <andrey.starovoyt@jetbrains.com>
GITHUB: apendua <apendua@gmail.com>
GITHUB: awatson1978 <awatson1978@gmail.com>
GITHUB: awwx <andrew.wilcox@gmail.com>
GITHUB: babenzele <tim.p.phillips@gmail.com>
GITHUB: benweissmann <benweissmann@gmail.com>
GITHUB: bwhitty <bwhitten518@gmail.com>
GITHUB: Cangit <fredricendrerud@gmail.com>
GITHUB: chrisbridgett <me@chrisbridgett.com>
GITHUB: christianbundy <christianbundy@fraction.io>
GITHUB: cmather <mather.chris@gmail.com>
GITHUB: codeinthehole <david.winterbottom@gmail.com>
GITHUB: colllin <collindo@gmail.com>
GITHUB: cryptoquick <faustianightmare@gmail.com>
GITHUB: d4nyll <dan@danyll.com>
GITHUB: dandv <ddascalescu+github@gmail.com>
GITHUB: DanielDent <DanielDent@users.noreply.github.com>
GITHUB: DanielDent <sourcecode@contactdaniel.net>
GITHUB: DanielDornhardt <daniel@dornhardt.com>
GITHUB: davegonzalez <gonzalez.dalex@gmail.com>
GITHUB: DenisGorbachev <Denis.D.Gorbachev@gmail.com>
GITHUB: DenisGorbachev <Denis.Gorbachev@faster-than-wind.ru>
GITHUB: ducdigital <duc@ducdigital.com>
GITHUB: duckspeaker <gallo.j@gmail.com>
GITHUB: ecwyne <ecwyne@users.noreply.github.com>
GITHUB: emgee3 <hello@gravitronic.com>
GITHUB: EOT <eot@gmx.at>
GITHUB: fay-jai <willson.mock@gmail.com>
GITHUB: felixrabe <felix@rabe.io>
GITHUB: FooBarWidget <honglilai@gmail.com>
GITHUB: FredericoC <frederico.carvalho@3stack.com.au>
GITHUB: Gaelan <gbs@canishe.com>
GITHUB: graemian <graeme@graemep.co.za>
GITHUB: gsuess <garic.suess@gmail.com>
GITHUB: hwillson <hugh@octonary.com>
GITHUB: icellan <icellan@icellan.com>
GITHUB: ImtiazMajeed <imtiazmaj@gmail.com>
GITHUB: jacott <geoffjacobsen@gmail.com>
GITHUB: jakozaur <jacek@migdal.pl>
GITHUB: JamesLefrere <jlefrere@gmail.com>
GITHUB: jbruni <contato@jbruni.com.br>
GITHUB: jfhamlin <jfhamlin@gmail.com>
GITHUB: jperl <perl.jonathan@gmail.com>
GITHUB: kentonv <temporal@gmail.com>
GITHUB: kevinchiu <kevin.gc@gmail.com>
GITHUB: knownasilya <ilya@burstcreations.com>
GITHUB: LyuGGang <me@lyuwonkyung.com>
GITHUB: marcandre <github@marc-andre.ca>
GITHUB: mart-jansink <m.jansink@gmail.com>
GITHUB: matteodem <mat.demicheli@gmail.com>
GITHUB: Maxhodges <Max@whiterabbitpress.com>
GITHUB: MaximDubrovin <maxxdubrovin@gmail.com>
GITHUB: meawoppl <meawoppl@gmail.com>
GITHUB: meonkeys <haircut@gmail.com>
GITHUB: michaelbishop <michael@michaelsplace.net>
GITHUB: mitar <mitar.git@tnode.com>
GITHUB: mitar <mitar.github@tnode.com>
GITHUB: mizzao <mizzao@gmail.com>
GITHUB: mquandalle <maxime.quandalle@gmail.com>
GITHUB: mquandalle <maxime@quandalle.com>
GITHUB: murillo128 <sergio.garcia.murillo@gmail.com>
GITHUB: musically-ut <musically.ut@gmail.com>
GITHUB: nathan-muir <ndmuir@gmail.com>
GITHUB: Neftedollar <oildollar@gmail.com>
GITHUB: netanelgilad <netanelgilad@gmail.com>
GITHUB: ogourment <ogourment@smarterportal.com>
GITHUB: ograycode <jason@theograys.com>
GITHUB: omeid <public@omeid.me>
GITHUB: OyoKooN <nathan@sxnlabs.com>
GITHUB: paulswartz <paulswartz@gmail.com>
GITHUB: pcjpcj2 <pcjpcj2@gmail.com>
GITHUB: Pent <jon@empire5design.com>
GITHUB: physiocoder <ferro.roberto@email.it>
GITHUB: PooMaster <peter.d.curtis@gmail.com>
GITHUB: prapicault <pascal@rapicault.net>
GITHUB: prapicault <pascal@rapicorp.com>
GITHUB: Primigenus <rchoudhury@gmail.com>
GITHUB: pscanf <paolo.scanferla@mondora.com>
GITHUB: queso <joshua.owens@gmail.com>
GITHUB: rbabayoff <ronen@lavaina.com>
GITHUB: rcy <rcyeske@gmail.com>
GITHUB: rdickert <robert.dickert@gmail.com>
GITHUB: restebanez <restebanez@mdsol.com>
GITHUB: rgoomar <rishig92@gmail.com>
GITHUB: rgould <rwgould@gmail.com>
GITHUB: RichardLitt <richard.littauer@gmail.com>
GITHUB: richguan <guan.rich@gmail.com>
GITHUB: rick-golden-healthagen <rick.golden@healthagen.com>
GITHUB: rissem <rissem@gmail.com>
GITHUB: rjakobsson <robin@hopjakk.se>
GITHUB: RobertLowe <robert@iblargz.com>
GITHUB: romanzolotarev <romanzolotarev@me.com>
GITHUB: rosh93 <rosh93@gmail.com>
GITHUB: ryw <ry@rywalker.com>
GITHUB: rzymek <rzymek@gmail.com>
GITHUB: sdarnell <stephen@darnell.plus.com>
GITHUB: Siilwyn <Siilwyn@users.noreply.github.com>
GITHUB: smallhelm <smallhelm@users.noreply.github.com>
GITHUB: subhog <hubert@orlikarnia.com>
GITHUB: svda <svdakker@gmail.com>
GITHUB: Tarang <Tarang@users.noreply.github.com>
GITHUB: tbjers <torgny@xorcode.com>
GITHUB: thatneat <thatneat@users.noreply.github.com>
GITHUB: timhaines <tmhaines@gmail.com>
GITHUB: timoabend <timo.abend@liquidmotions.de>
GITHUB: tmeasday <tom@thesnail.org>
GITHUB: TomFreudenberg <tom.freudenberg@4commerce.de>
GITHUB: trusktr <joe@trusktr.io>
GITHUB: twhy <tom.wanghaiyi@gmail.com>
GITHUB: Urigo <uri.goldshtein@gmail.com>
GITHUB: waitingkuo <waitingkuo0527@gmail.com>
GITHUB: wulfmeister <wulfmeister@users.noreply.github.com>
GITHUB: yauh <stephan@yauh.de>
GITHUB: yeputons <egor.suvorov@gmail.com>
GITHUB: zol <zol@percolatestudio.com>
METEOR: arbesfeld <arbesfeld@gmail.com>
METEOR: avital <avital@thewe.net>
METEOR: benjamn <ben@meteor.com>
METEOR: benjamn <bn@cs.stanford.edu>
METEOR: debergalis <matt@meteor.com>
METEOR: dgreensp <dgreenspan@alum.mit.edu>
METEOR: ekatek <ekate@meteor.com>
METEOR: estark37 <emily@meteor.com>
METEOR: estark37 <estark37@gmail.com>
METEOR: glasser <glasser@davidglasser.net>
METEOR: glasser <glasser@meteor.com>
METEOR: gschmidt <geoff@geoffschmidt.com>
METEOR: justinsb <justin@fathomdb.com>
METEOR: karayu <lele.yu@gmail.com>
METEOR: mariapacana <maria.pacana@gmail.com>
METEOR: multilinear <mbrewer@meteor.com>
METEOR: n1mmy <nim@meteor.com>
METEOR: sixolet <naomi@meteor.com>
METEOR: Slava <imslavko@gmail.com>
METEOR: Slava <slava@meteor.com>
METEOR: stubailo <s.stubailo@gmail.com>
METEOR: stubailo <sashko@meteor.com>
METEOR: stubailo <sashko@mit.edu>
METEOR: stubailo <sashko@stubailo.com>
METEOR: yyx990803 <yyx990803@gmail.com>
================================================
FILE: .reviewboardrc
================================================
REVIEWBOARD_URL = 'https://rbcommons.com/s/meteor/'
REPOSITORY = 'Meteor framework'
================================================
FILE: .travis.yml
================================================
language: node_js
node_js:
- "0.10"
cache:
directories:
- "dev_bundle"
- ".meteor"
- ".babel-cache"
install: ./meteor --get-ready
script: TEST_PACKAGES_EXCLUDE="less" ./packages/test-in-console/run.sh
sudo: false
================================================
FILE: Contributing.md
================================================
# Contributing to Meteor universal fork
We are happy to have your help for building and running the Meteor universal fork. Here's how you can help us with tests, bug reports and new code.
<br/>
### README and "Good to know" section
Please make sure that you carefully have read the [README](https://github.com/4commerce-technologies-AG/meteor) and especially had a look to its "Good to know" section.
<br/>
### Guide and tutorial issues
Some of the already known issues may also help as a guide or tutorial. Please check out our [_guide flagged issues_](https://github.com/4commerce-technologies-AG/meteor/issues?q=+label%3Aflag%3Aguide+) if your question may already be answered.
<br/>
### Reporting a bug in Meteor universal fork
We welcome bug reports. If you've found a new bug in running Meteor universal fork please file a report in [our issue tracker](https://github.com/4commerce-technologies-AG/meteor/issues). Before you file your issue, please look twice to see if it has already been reported or solved. If so, comment, up-vote or +1 the existing, even closed, issue to show that it's affecting multiple people.
<br/>
<br/>
# Contributing to official Meteor project
Please check contribution for Meteor at the official project and
[read about their rules](https://github.com/meteor/meteor/blob/devel/Contributing.md)
================================================
FILE: History.md
================================================
## v.NEXT
## v1.3.4.1
* Increased the default HTTP timeout for requests made by the `meteor`
command-line tool to 60 seconds (previously 30), and [disabled the
timeout completely for Galaxy
deploys](https://forums.meteor.com/t/1-3-4-breaks-galaxy-deployment-etimedout/25383/).
* Minor bug fixes: [#7281](https://github.com/meteor/meteor/pull/7281)
[#7276](https://github.com/meteor/meteor/pull/7276)
## v1.3.4
* The version of `npm` used by `meteor npm` and when installing
`Npm.depends` dependencies of Meteor packages has been upgraded from
2.15.1 to **3.9.6**, which should lead to much flatter node_modules
dependency trees.
* The `meteor-babel` npm package has been upgraded to 0.11.6, and is now
installed using `npm@3.9.6`, fixing bugs arising from Windows path
limits, such as [#7247](https://github.com/meteor/meteor/issues/7247).
* The `reify` npm package has been upgraded to 0.3.4, fixing
[#7250](https://github.com/meteor/meteor/issues/7250).
* Thanks to caching improvements for the
`files.{stat,lstat,readdir,realpath}` methods and
`PackageSource#_findSources`, development server restart times are no
longer proportional to the number of files in `node_modules`
directories. [#7253](https://github.com/meteor/meteor/issues/7253)
[#7008](https://github.com/meteor/meteor/issues/7008)
* When installed via `InstallMeteor.exe` on Windows, Meteor can now be
easily uninstalled through the "Programs and Features" control panel.
* HTTP requests made by the `meteor` command-line tool now have a timeout
of 30 seconds, which can be adjusted by the `$TIMEOUT_SCALE_FACTOR`
environment variable. [#7143](https://github.com/meteor/meteor/pull/7143)
* The `request` npm dependency of the `http` package has been upgraded
from 2.53.0 to 2.72.0.
* The `--headless` option is now supported by `meteor test` and
`meteor test-packages`, in addition to `meteor self-test`.
[#7245](https://github.com/meteor/meteor/pull/7245)
* Miscellaneous fixed bugs:
[#7255](https://github.com/meteor/meteor/pull/7255)
[#7239](https://github.com/meteor/meteor/pull/7239)
## v1.3.3.1
* Fixed bugs:
[#7226](https://github.com/meteor/meteor/pull/7226)
[#7181](https://github.com/meteor/meteor/pull/7181)
[#7221](https://github.com/meteor/meteor/pull/7221)
[#7215](https://github.com/meteor/meteor/pull/7215)
[#7217](https://github.com/meteor/meteor/pull/7217)
* The `node-aes-gcm` npm package used by `oauth-encryption` has been
upgraded to 0.1.5. [#7217](https://github.com/meteor/meteor/issues/7217)
* The `reify` module compiler has been upgraded to 0.3.3.
* The `meteor-babel` package has been upgraded to 0.11.4.
* The `pathwatcher` npm package has been upgraded to 6.7.0.
* In CoffeeScript files with raw JavaScript enclosed by backticks, the
compiled JS will no longer contain `require` calls inserted by Babel.
[#7226](https://github.com/meteor/meteor/issues/7226)
* Code related to the Velocity testing system has been removed.
[#7235](https://github.com/meteor/meteor/pull/7235)
* Allow smtps:// in MAIL_URL [#7043](https://github.com/meteor/meteor/pull/7043)
* Adds `Accounts.onLogout()` a hook directly analogous to `Accounts.onLogin()`. [PR #6889](https://github.com/meteor/meteor/pull/6889)
## v1.3.3
* Node has been upgraded from 0.10.43 to 0.10.45.
* `npm` has been upgraded from 2.14.22 to 2.15.1.
* The `fibers` package has been upgraded to 1.0.13.
* The `meteor-babel` package has been upgraded to 0.10.9.
* The `meteor-promise` package has been upgraded to 0.7.1, a breaking
change for code that uses `Promise.denodeify`, `Promise.nodeify`,
`Function.prototype.async`, or `Function.prototype.asyncApply`, since
those APIs have been removed.
* Meteor packages with binary npm dependencies are now automatically
rebuilt using `npm rebuild` whenever the version of Node or V8 changes,
making it much simpler to use Meteor with different versions of Node.
5dc51d39ecc9e8e342884f3b4f8a489f734b4352
* `*.min.js` files are no longer minified during the build process.
[PR #6986](https://github.com/meteor/meteor/pull/6986) [Issue #5363](https://github.com/meteor/meteor/issues/5363)
* You can now pick where the `.meteor/local` directory is created by setting the `METEOR_LOCAL_DIR` environment variable. This lets you run multiple instances of the same Meteor app.
[PR #6760](https://github.com/meteor/meteor/pull/6760) [Issue #6532](https://github.com/meteor/meteor/issues/6532)
* Allow using authType in Facebook login [PR #5694](https://github.com/meteor/meteor/pull/5694)
* Adds flush() method to Tracker to force recomputation [PR #4710](https://github.com/meteor/meteor/pull/4710)
* Adds `defineMutationMethods` option (default: true) to `new Mongo.Collection` to override default behavior that sets up mutation methods (/collection/[insert|update...]) [PR #5778](https://github.com/meteor/meteor/pull/5778)
* Allow overridding the default warehouse url by specifying `METEOR_WAREHOUSE_URLBASE` [PR #7054](https://github.com/meteor/meteor/pull/7054)
* Allow `_id` in `$setOnInsert` in Minimongo: https://github.com/meteor/meteor/pull/7066
* Added support for `$eq` to Minimongo: https://github.com/meteor/meteor/pull/4235
* Insert a `Date` header into emails by default: https://github.com/meteor/meteor/pull/6916/files
* `meteor test` now supports setting the bind address using `--port IP:PORT` the same as `meteor run` [PR #6964](https://github.com/meteor/meteor/pull/6964) [Issue #6961](https://github.com/meteor/meteor/issues/6961)
* `Meteor.apply` now takes a `noRetry` option to opt-out of automatically retrying non-idempotent methods on connection blips: [PR #6180](https://github.com/meteor/meteor/pull/6180)
* DDP callbacks are now batched on the client side. This means that after a DDP message arrives, the local DDP client will batch changes for a minimum of 5ms (configurable via `bufferedWritesInterval`) and a maximum of 500ms (configurable via `bufferedWritesMaxAge`) before calling any callbacks (such as cursor observe callbacks).
* PhantomJS is no longer included in the Meteor dev bundle (#6905). If you
previously relied on PhantomJS for local testing, the `spiderable`
package, Velocity tests, or testing Meteor from a checkout, you should
now install PhantomJS yourself, by running the following commmand:
`meteor npm install -g phantomjs-prebuilt`
* The `babel-compiler` package now looks for `.babelrc` files and
`package.json` files with a "babel" section. If found, these files may
contribute additional Babel transforms that run before the usual
`babel-preset-meteor` set of transforms. In other words, if you don't
like the way `babel-preset-meteor` handles a particular kind of syntax,
you can add your preferred transform plugins to the "presets" or
"plugins" section of your `.babelrc` or `package.json` file. #6351
* When `BabelCompiler` cannot resolve a Babel plugin or preset package in
`.babelrc` or `package.json`, it now merely warns instead of
crashing. #7179
* Compiler plugins can now import npm packages that are visible to their
input files using `inputFile.require(id)`. b16e8d50194b37d3511889b316345f31d689b020
* `import` statements in application modules now declare normal variables
for the symbols that are imported, making it significantly easier to
inspect imported variables when debugging in the browser console or in
`meteor shell`.
* `import` statements in application modules are no longer restricted to
the top level, and may now appear inside conditional statements
(e.g. `if (Meteor.isServer) { import ... }`) or in nested scopes.
* `import` statements now work as expected in `meteor shell`. #6271
* Commands installed in `dev_bundle/lib/node_modules/.bin` (such as
`node-gyp` and `node-pre-gyp`) are now available to scripts run by
`meteor npm`. e95dfe410e1b43e8131bc2df9d2c29decdd1eaf6
* When building an application using `meteor build`, "devDependencies"
listed in `package.json` are no longer copied into the bundle. #6750
* Packages tested with `meteor test-packages` now have access to local
`node_modules` directories installed in the parent application or in the
package directory itself. #6827
* You no longer need to specify `DEPLOY_HOSTNAME=galaxy.meteor.com` to run
`meteor deploy` (and similar commands) against Galaxy. The AWS us-east-1
Galaxy is now the default for `DEPLOY_HOSTNAME`. If your app's DNS points to
another Galaxy region, `meteor deploy` will detect that automatically as
well. #7055
* The `coffeescript` plugin now passes raw JavaScript code enclosed by
back-ticks to `BabelCompiler`, enabling all ECMAScript features
(including `import` and `export`) within CoffeeScript. #6000 #6691
* The `coffeescript` package now implies the same runtime environment as
`ecmascript` (`ecmascript-runtime`, `babel-runtime`, and `promise`, but
not `modules`). #7184
* When Meteor packages install `npm` dependencies, the
`process.env.NPM_CONFIG_REGISTRY` environment variable is now
respected. #7162
* `files.rename` now always executes synchronously. 9856d1d418a4d19c0adf22ec9a92f7ce81a23b05
* "Bare" files contained by `client/compatibility/` directories or added
with `api.addFiles(path, ..., { bare: true })` are no longer compiled by
Babel. https://github.com/meteor/meteor/pull/7033#issuecomment-225126778
* Miscellaneous fixed bugs: #6877 #6843 #6881
## v1.3.2.4
> Meteor 1.3.2.4 was published because publishing 1.3.2.3 failed in an
unrecoverable way. Meteor 1.3.2.4 contains no additional changes beyond
the changes in 1.3.2.3.
## v1.3.2.3
* Reverted accidental changes included in 1.3.2.1 and 1.3.2.2 that
improved DDP performance by batching updates, but broke some packages
that relied on private methods of the DDP client Connection class. See
https://github.com/meteor/meteor/pull/5680 for more details. These
changes will be reinstated in 1.3.3.
## v1.3.2.2
* Fixed bugs #6819 and #6831.
## v1.3.2.1
* Fixed faulty comparison of `.sourcePath` and `.targetPath` properties of
files scanned by the `ImportScanner`, which caused problems for apps
using the `tap:i18n` package. 6e792a7cf25847b8cd5d5664a0ff45c9fffd9e57
## v1.3.2
* The `meteor/meteor` repository now includes a `Roadmap.md` file:
https://github.com/meteor/meteor/blob/devel/Roadmap.md
* Running `npm install` in `bundle/programs/server` when deploying an app
also rebuilds any binary npm dependencies, fixing #6537. Set
METEOR_SKIP_NPM_REBUILD=1 to disable this behavior if necessary.
* Non-.js(on) files in `node_modules` (such as `.less` and `.scss`) are
now processed by compiler plugins and may be imported by JS. #6037
* The `jquery` package can now be completely removed from any app (#6563),
and uses `<app>/node_modules/jquery` if available (#6626).
* Source maps are once again generated for all bundled JS files, even if
they are merely identity mappings, so that the files appear distinct in
the browser, and stack traces make more sense. #6639
* All application files in `imports` directories are now considered lazy,
regardless of whether the app is using the `modules` package. This could
be a breaking change for 1.3.2 apps that do not use `modules` or
`ecmascript` but contain `imports` directories. Workaround: move files
out of `imports`, or rename `imports` to something else.
* The `npm-bcrypt` package has been upgraded to use the latest version
(0.8.5) of the `bcrypt` npm package.
* Compiler plugins can call `addJavaScript({ path })` multiple times with
different paths for the same source file, and `module.id` will reflect
this `path` instead of the source path, if they are different. #6806
* Fixed bugs: https://github.com/meteor/meteor/milestones/Release%201.3.2
* Fixed unintended change to `Match.Optional` which caused it to behave the same as the new `Match.Maybe` and incorrectly matching `null` where it previously would not have allowed it. #6735
## v1.3.1
* Long isopacket node_modules paths have been shortened, fixing upgrade
problems on Windows. #6609
* Version 1.3.1 of Meteor can now publish packages for earlier versions of
Meteor, provided those packages do not rely on modules. #6484 #6618
* The meteor-babel npm package used by babel-compiler has been upgraded to
version 0.8.4. c8d12aed4e725217efbe86fa35de5d5e56d73c83
* The `meteor node` and `meteor npm` commands now return the same exit
codes as their child processes. #6673 #6675
* Missing module warnings are no longer printed for Meteor packages, or
for `require` calls when `require` is not a free variable, fixing
https://github.com/practicalmeteor/meteor-mocha/issues/19.
* Cordova iOS builds are no longer built by Meteor, but merely prepared
for building. 88d43a0f16a484a5716050cb7de8066b126c7b28
* Compiler plugin errors were formerly silenced for files not explicitly
added in package.js. Now those errors are reported when/if the files are
imported by the ImportScanner. be986fd70926c9dd8eff6d8866205f236c8562c4
## v1.3
### ES2015/Modules
* Enable ES2015 and CommonJS modules in Meteor apps and packages, on
both client and server. Also let you install modules in apps and
package by running `npm install`. See: https://github.com/meteor/meteor/blob/master/packages/modules/README.md
* Enable ES2015 generators and ES2016 async/await in the `ecmascript`
package.
* Inherit static getters and setters in subclasses, when using the
`ecmascript` package. #5624
* Report full file paths on compiler errors when using the
`ecmascript` package. #5551
* Now possible to `import` or `require` files with a `.json` file
extension. #5810
* `process.env.NODE_ENV` is now defined on both client and server as
either `development` or `production`, which also determines the boolean
flags `Meteor.isDevelopment` and `Meteor.isProduction`.
* Absolute identifiers for app modules no longer have the `/app/` prefix,
and absolute identifiers for Meteor packages now have the prefix
`/node_modules/meteor/` instead of just `/node_modules/`, meaning you
should `import {Blaze} from "meteor/blaze"` instead of `from "blaze"`.
* Package variables imported by application code are once again exposed
globally, allowing them to be accessed from the browser console or from
`meteor shell`. #5868
* Fixed global variable assignment analysis during linking. #5870 #5819
* Changes to files in node_modules will now trigger a restart of the
development server, just like any other file changes. #5815
* The meteor package now exports a `global` variable (a la Node) that
provides a reliable reference to the global object for all Meteor code.
* Packages in local node_modules directories now take precedence over
Meteor packages of the same name. #5933
* Upgraded `babel-compiler` to Babel 6, with the following set of plugins:
https://github.com/meteor/babel-preset-meteor/blob/master/index.js
* Lazy CSS modules may now be imported by JS: 12c946ee651a93725f243f790c7919de3d445a19
* Packages in the top-level node_modules directory of an app can now be
imported by Meteor packages: c631d3ac35f5ca418b93c454f521989855b8ec72
* Added support for wildcard import and export statements. #5872 #5897
* Client-side stubs for built-in Node modules are now provided
automatically if the `meteor-node-stubs` npm package is installed. #6056
* Imported file extensions are now optional for file types handled by
compiler plugins. #6151
* Upgraded Babel packages to ~6.5.0: 292824da3f8449afd1cd39fcd71acd415c809c0f
Note: .babelrc files are now ignored (#6016), but may be reenabled (#6351).
* Polyfills now provided for `process.nextTick` and `process.platform`. #6167 #6198 #6055 efe53de492da6df785f1cbef2799d1d2b492a939
* The `meteor test-app` command is now `meteor test [--full-app]`:
ab5ab15768136d55c76d51072e746d80b45ec181
* New apps now include a `package.json` file.
c51b8cf7ffd8e7c9ca93768a2df93e4b552c199c
* `require.resolve` is now supported.
https://github.com/benjamn/install/commit/ff6b25d6b5511d8a92930da41db73b93eb1d6cf8
* JSX now enabled in `.js` files processed by the `ecmascript` compiler
plugin. #6151
* On the server, modules contained within `node_modules` directories are
now loaded using the native Node `require` function. #6398
* All `<script>` tag(s) for application and package code now appear at the
end of the `<body>` rather than in the `<head>`. #6375
* The client-side version of `process.env.NODE_ENV` (and other environment
variables) now matches the corresponding server-side values. #6399
### Performance
* Don't reload package catalog from disk on rebuilds unless package
dependencies changed. #5747
* Improve minimongo performance on updating documents when there are
many active observes. #5627
### Platform
* Upgrade to Node v0.10.41.
* Allow all types of URLs that npm supports in `Npm.depends`
declarations.
* Split up `standard-minifiers` in separate CSS
(`standard-minifiers-css`) and JS minifiers
(`standard-minifiers-js`). `standard-minifiers` now acts as an
umbrella package for these 2 minifiers.
* Allow piping commands to `meteor shell` via STDIN. #5575
* Let users set the CAFILE environment variable to override the SSL
root certificate list. #4757 #5523
* `force-ssl` is now marked production only.
### Cordova
* Cordova dependencies have been upgraded to the latest versions
(`cordova-lib` 6.0.0, `cordova-ios` 4.0.1, and `cordova-android` 5.1.0).
* iOS apps now require iOS 8 or higher, and building for iOS requires Xcode 7.2
to be installed.
* Building for Android now requires Android SDK 23 to be installed. You may also
need to create a new AVD for the emulator.
* Building Cordova Android apps on Windows is now supported. #4155
* The Crosswalk plugin has been updated to 1.4.0.
* Cordova core plugins are now pinned to minimal versions known to be compatible
with the included platforms. A warning is printed asking people to upgrade
their dependencies if they specify an older version, but we'll always use
the pinned version regardless.
* The plugin used for file serving and hot code push has been completely
rewritten. Among many other improvements, it downloads updates incrementally,
can recover from downloading faulty JavaScript code, and is much more
reliable and performant.
See [`cordova-plugin-meteor-webapp`](https://github.com/meteor/cordova-plugin-meteor-webapp)
for more a more detailed description of the new design.
* If the callbacks added with `Meteor.startup()` do not complete within a set
time, we consider a downloaded version faulty and will fallback to the last
known good version. The default timeout is 20 seconds, but this can be
configured by setting `App.setPreference("WebAppStartupTimeout", "10000");`
(in milliseconds) in `mobile-config.js`.
* We now use `WKWebView` on iOS by default, even on iOS 8 (which works because
we do not use `file://` URLs).
* We now use `localhost` instead of `meteor.local` to serve files from. Since
`localhost` is considered a secure origin, this means the web view won't
disable web platform features that it otherwise would.
* The local server port now lies between 12000-13000 and is chosen based on
the `appId`, to both be consistent and lessen the chance of collisions between
multiple Meteor Cordova apps installed on the same device.
* The plugin now allows for local file access on both iOS and Android, using a
special URL prefix (`http://localhost:<port>/local-filesystem/<path>`).
* App icon and launch image sizes have been updated. Low resolution sizes for
now unsupported devices have been deprecated, and higher resolution versions
have been added.
* We now support the modern Cordova whitelist mechanism. `App.accessRule` has
been updated with new options.
* `meteor build` now supports a `--server-only` option to avoid building
the mobile apps when `ios` or `android` platforms have been added. It still
builds the `web.cordova` architecture in the server bundle however, so it can
be served for hot code pushes.
* `meteor run` now always tries to use an autodetected IP address as the
mobile `ROOT_URL`, even if we're not running on a device. This avoids a situation
where an app already installed on a device connects to a restarted development
server and receives a `localhost` `ROOT_URL`. #5973
* Fixed a discrepancy between the way we calculated client hashes during a mobile
build and on the server, which meant a Cordova app would always download a
new version the first time it started up.
* In Cordova apps, `Meteor.startup()` now correctly waits for the
device to be ready before firing the callback.
### Accounts
* Make `Accounts.forgotPassword` treat emails as case insensitive, as
the rest of the accounts system does.
### Blaze
* Don't throw in certain cases when calling a template helper with an
empty data context. #5411 #5736
* Improve automatic blocking of URLs in attribute values to also
include `vbscript:` URLs.
### Check
* Introduced new matcher `Match.Maybe(type)` which will also match (permit) `null` in addition to `undefined`. This is a suggested replacement (where appropriate) for `Match.Optional` which did not permit `null`. This prevents the need to use `Match.OneOf(null, undefined, type)`. #6220
### Testing
* Packages can now be marked as `testOnly` to only run as part of app
testing with `meteor test`. This is achieved by setting
`testOnly: true` to `Package.describe`.
### Uncategorized
* Remove warning in the `simple-todos-react` example app. #5716
* Fix interaction between `browser-policy` and `oauth` packages. #5628
* Add README.md to the `tinytest` package. #5750
* Don't crash when calling `ReactiveDict.prototype.clear` if a
property with a value wasn't previously accessed. #5530 #5602
* Move `DDPRateLimiter` to the server only, since it won't work if it
is called from the client. It will now error if referenced from the
client at all.
* Don't call function more than once when passing a `Match.Where`
argument to `check`. #5630 #5651
* Fix empty object argument check in `this.subscribe` in
templates. #5620
* Make `HTTP.call` not crash on undefined content. #5565 #5601
* Return observe handle from
`Mongo.Collection.prototype._publishCursor`. #4983 #5615
* Add 'Did you mean?' reminders for some CLI commands to help Rails
developers. #5593
* Make internal shell scripts compatible with other Unix-like
systems. #5585
* Add a `_pollingInterval` option to `coll.find()` that can be used in
conjunction with `_disableOplog: true`. #5586
* Expose Tinytest internals which can be used to extend it. #3541
* Improve error message from `check` when passing in null. #5545
* Split up `standard-minifiers` in separate CSS (`standard-minifier-css`) and JS
minifiers(`standard-minifier-js`). `standard-minifiers` now acts as an umbrella package for these
2 minifiers.
* Detect new Facebook user-agent in the `spiderable` package. #5516
* `Match.ObjectIncluding` now really requires plain objects. #6140
* Allow `git+` URL schemes for npm dependencies. #844
* Expose options `disableOplog`, `pollingIntervalMs`, and
`pollingThrottleMs` to `Cursor.find` for tuning observe parameters
on the server.
* Expose `dynamicHead` and `dynamicBody` hooks in boilerplate generation allowing code to inject content into the body and head tags from the server. #3860
* Add methods of the form `BrowserPolicy.content.allow<ContentType>BlobUrl()` to BrowserPolicy #5141
* Move `<script>` tags to end of `<body>` to enable 'loading' UI to be inserted into the boilerplate #6375
* Adds WebAppInternals.setBundledJsCssUrlRewriteHook allowing apps to supply a hook function that can create a dynamic bundledJsCssPrefix at runtime. This is useful if you're using a CDN by giving you a way to ensure the CDN won't cache broken js/css resources during an app upgrade.
Patches contributed by GitHub users vereed, mitar, nathan-muir,
robfallows, skishore, okland, Primigenus, zimme, welelay, rgoomar,
bySabi, mbrookes, TomFreudenberg, TechPlexEngineer, zacharydenton,
AlexeyMK, gwendall, dandv, devgrok, brianlukoff.
## v.1.2.1, 2015-Oct-26
* `coll.insert()` now uses a faster (but cryptographically insecure)
algorithm to generate document IDs when called outside of a method
and an `_id` field is not explicitly passed. With this change, there
are no longer two algorithms used to generate document
IDs. `Random.id()` can still be used to generate cryptographically
secure document IDs. [#5161](https://github.com/meteor/meteor/issues/5161)
* The `ecmascript-collections` package has been renamed to
`ecmascript-runtime` and now includes a more complete selection of
ES2015 polyfills and shims from [`core-js`](https://www.npmjs.com/package/core-js).
The complete list can be found
[here](https://github.com/meteor/ecmascript-runtime/blob/master/server.js).
* Check type of `onException` argument to `bindEnvironment`. [#5271](https://github.com/meteor/meteor/issues/5271)
* WebApp's `PORT` environment variable can now be a named pipe to better support
deployment on IIS on Windows. [4413](https://github.com/meteor/meteor/issues/4413)
* `Template.dynamic` can be now used as a block helper:
`{{#Template.dynamic}} ... {{/Template.dynamic}}` [#4756](https://github.com/meteor/meteor/issues/4756)
* `Collection#allow/deny` now throw errors when passed falsy values. [#5442](https://github.com/meteor/meteor/pull/5442)
* `source-map` has been updated to a newer patch version, which fixes major bugs
in particular around loading bundles generated by Webpack. [#5411](https://github.com/meteor/meteor/pull/5411)
* `check` now returns instead of throwing errors internally, which should make
it much faster. `check` is used in many core Meteor packages, so this should
result in small performance improvements across the framework. [#4584](https://github.com/meteor/meteor/pull/4584)
* The `userEmail` option to `Meteor.loginWithMeteorDeveloperAccount` has been
renamed to `loginHint`, and now supports Google accounts as well. The old
option still works for backwards compatibility. [#2422](https://github.com/meteor/meteor/issues/2422) [#5313](https://github.com/meteor/meteor/pull/5313)
* The old `addFiles` API for adding package assets no longer throws an error,
making it easier to share packages between pre- and post-1.2 versions of
Meteor. [#5458](https://github.com/meteor/meteor/issues/5458)
* Normally, you can't deploy to free meteor.com hosting or Galaxy from a
non-Linux machine if you have *local* non-published packages with binary
dependencies, nor can you run `meteor build --architecture SomeOtherArch`. As
a temporary workaround, if you set the `METEOR_BINARY_DEP_WORKAROUND`
variable, you will be able to deploy to Galaxy (but not free meteor.com
hosting), and tarballs built with `meteor build` will contain a
`programs/server/setup.sh` shell script which should be run on the server to
install those packages.
## v1.2.0.2, 2015-Sept-28
* Update Crosswalk plugin for Cordova to 1.3.1. [#5267](https://github.com/meteor/meteor/issues/5267)
* Fix `meteor add` for a Cordova plugin using a Git URL with SHA.
* Upgraded the `promise` package to use `meteor-promise@0.5.0`, which uses
the global `Promise` constructor in browsers that define it natively.
* Fix error in assigning attributes to `<body>` tag when using Blaze templates
or `static-html`. [#5232](https://github.com/meteor/meteor/issues/5232)
## v1.2.0.1, 2015-Sept-22
* Fix incorrect publishing of packages with exports but no source. [#5228](https://github.com/meteor/meteor/issues/5228)
## v1.2, 2015-Sept-21
There are quite a lot of changes in Meteor 1.2. See the
[Wiki](https://github.com/meteor/meteor/wiki/Breaking-changes-in-Meteor-1.2) for
a shorter list of breaking changes you should be aware of when upgrading.
### Core Packages
* `meteor-platform` has been deprecated in favor of the smaller `meteor-base`,
with apps listing their other dependencies explicitly. The v1.2 upgrader
will rewrite `meteor-platform` in existing apps. `meteor-base` puts fewer
symbols in the global namepsace, so it's no longer true that all apps
have symbols like `Random` and `EJSON` in the global namespace.
* New packages: `ecmascript`, `es5-shim`, `ecmascript-collections`, `promise`,
`static-html`, `jshint`, `babel-compiler`
* No longer include the `json` package by default, which contains code for
`JSON.parse` and `JSON.stringify`. (The last browser to not support JSON
natively was Internet Explorer 7.)
* `autoupdate` has been renamed `hot-code-push`
### Meteor Accounts
* Login attempts are now rate-limited by default. This can be turned off
using `Accounts.removeDefaultRateLimit()`.
* `loginWithPassword` now matches username or email in a case insensitive
manner. If there are multiple users with a username or email only differing
in case, a case sensitive match is required. [#550](https://github.com/meteor/meteor/issues/550)
* `loginWithGithub` now requests `user:email` scope by default, and attempts
to fetch the user's emails. If no public email has been set, we use the
primary email instead. We also store the complete list of emails. [#4545](https://github.com/meteor/meteor/issues/4545)
* When an account's email address is verified, deactivate other verification
tokens. [#4626](https://github.com/meteor/meteor/issues/4626)
* Fix bug where blank page is shown when an expired login token is
present. [#4825](https://github.com/meteor/meteor/issues/4825)
* Fix `OAuth1Binding.prototype.call` when making requests to Twitter
with a large parameter set.
* Directions for setting up Google OAuth in accounts-ui have been updated to
match Google's new requirements.
* Add `Accounts.oauth.unregisterService` method, and ensure that users can only
log in with currently registered services. [#4014](https://github.com/meteor/meteor/issues/4014)
* The `accounts-base` now defines reusable `AccountsClient` and
`AccountsServer` constructors, so that users can create multiple
independent instances of the `Accounts` namespace. [#4233](https://github.com/meteor/meteor/issues/4233)
* Create an index for `Meteor.users` on
`services.email.verificationTokens.token` (instead of
`emails.validationTokens.token`, which never was used for anything). [#4482](https://github.com/meteor/meteor/issues/4482)
* Remove an IE7-specific workaround from accounts-ui. [#4485](https://github.com/meteor/meteor/issues/4485)
### Livequery
* Improved server performance by reducing overhead of processing oplog after
database writes. Improvements are most noticeable in case when a method is
doing a lot of writes on collections with plenty of active observers. [#4694](https://github.com/meteor/meteor/issues/4694)
### Mobile
* The included Cordova tools have been updated to the latest version 5.2.0.
This includes Cordova Android 4.1 and Cordova iOS 3.9. These updates may
require you to make changes to your app. For details, see the [Cordova release
notes] (https://cordova.apache.org/#news) for for the different versions.
* Thanks to Cordova Android's support for pluggable web views, it is now
possible to install the [Crosswalk plugin]
(https://crosswalk-project.org/documentation/cordova/cordova_4.html), which
offers a hugely improved web view on older Android versions.
You can add the plugin to your app with `meteor add crosswalk`.
* The bundled Android tools have been removed and a system-wide install of the
Android SDK is now required. This should make it easier to keep the
development toolchain up to date and helps avoid some difficult to diagnose
failures. If you don't have your own Android tools installed already, you can
find more information about installing the Android SDK for [Mac] (https://github.com/meteor/meteor/wiki/Mobile-Dev-Install:-Android-on-Mac)
or [Linux]
(https://github.com/meteor/meteor/wiki/Mobile-Dev-Install:-Android-on-Linux).
* As part of moving to npm, many Cordova plugins have been renamed. Meteor
should perform conversions automatically, but you may want to be aware of this
to avoid surprises. See [here]
(https://cordova.apache.org/announcements/2015/04/21/plugins-release-and-move-to-npm.html)
for more information.
* Installing plugins from the local filesystem is now supported using `file://`
URLs, which should make developing your own plugins more convenient. It is
also needed as a temporary workaround for using the Facebook plugin.
Relative references are interpreted relative to the Meteor project directory.
(As an example,
`meteor add cordova:phonegap-facebook-plugin@file://../phonegap-facebook-plugin`
would attempt to install the plugin from the same directory you Meteor project
directory is located in.)
* Meteor no longer supports installing Cordova plugins from tarball URLs, but
does support Git URLs with a SHA reference (like
`https://github.com/apache/cordova-plugin-file#c452f1a67f41cb1165c92555f0e721fbb07329cc`).
Existing GitHub tarball URLs are converted automatically.
* Allow specifying a `buildNumber` in `App.info`, which is used to set the
`android-versionCode` and `ios-CFBundleVersion` in the `config.xml` of the
Cordova project. The build number is used to differentiate between
different versions of the app, and should be incremented before distributing
a built app to stores or testing services. [#4048](https://github.com/meteor/meteor/issues/4048)
* Other changes include performance enhancements when building and running,
and improved requirements checking and error reporting.
* Known issue: we do not currently show logging output when running on the
iOS Simulator. As a workaround, you can `meteor run ios-device` to open the
project in Xcode and watch the output there.
### Templates/Blaze
* New syntax: Handlebars sub-expressions are now supported -- as in,
`{{helper (anotherHelper arg1 arg2)}}` -- as well as new block helper forms
`#each .. in ..` and `#let x=y`. See
https://github.com/meteor/meteor/tree/devel/packages/spacebars
* Add a special case for the new `react-template-helper` package -- don't let
templates use {{> React}} with siblings since `React.render` assumes it's
being rendered into an empty container element. (This lets us throw the error
when compiling templates rather than when the app runs.)
* Improve parsing of `<script>` and `<style>` tags. [#3797](https://github.com/meteor/meteor/issues/3797)
* Fix a bug in `observe-sequence`. The bug was causing unnecessary rerenderings
in an instance of `#each` block helper followed by false "duplicate ids"
warnings. [#4049](https://github.com/meteor/meteor/issues/4049)
* `TemplateInstance#subscribe` now has a new `connection` option, which
specifies which connection should be used when making the subscription. The
default is `Meteor.connection`, which is the connection used when calling
`Meteor.subscribe`.
* Fix external `<script>` tags in body or templates. [#4415](https://github.com/meteor/meteor/issues/4415)
* Fix memory leak. [#4289](https://github.com/meteor/meteor/issues/4289)
* Avoid recursion when materializing DOM elements, to avoid stack overflow
errors in certain browsers. [#3028](https://github.com/meteor/meteor/issues/3028)
* Blaze and Meteor's built-in templating are now removable using
`meteor remove blaze-html-templates`. You can add back support for static
`head` and `body` tags in `.html` files by using the `static-html` package.
### DDP
* Websockets now support the
[`permessage-deflate`](https://tools.ietf.org/id/draft-ietf-hybi-permessage-compression-19.txt)
extension, which compresses data on the wire. It is enabled by default on the
server. To disable it, set `$SERVER_WEBSOCKET_COMPRESSION` to `0`. To configure
compression options, set `$SERVER_WEBSOCKET_COMPRESSION` to a JSON object that
will be used as an argument to
[`deflate.configure`](https://github.com/faye/permessage-deflate-node/blob/master/README.md).
Compression is supported on the client side by Meteor's Node DDP client and by
browsers including Chrome, Safari, and Firefox 37.
* The `ddp` package has been split into `ddp-client` and `ddp-server` packages;
using `ddp` is equivalent to using both. This allows you to use the Node DDP
client without adding the DDP server to your app. [#4191](https://github.com/meteor/meteor/issues/4191) [#3452](https://github.com/meteor/meteor/issues/3452)
* On the client, `Meteor.call` now takes a `throwStubExceptions` option; if set,
exceptions thrown by method stubs will be thrown instead of logged, and the
method will not be invoked on the server. [#4202](https://github.com/meteor/meteor/issues/4202)
* `sub.ready()` should return true inside that subscription's `onReady`
callback. [#4614](https://github.com/meteor/meteor/issues/4614)
* Fix method calls causing broken state when socket is reconnecting. [#5104](https://github.com/meteor/meteor/issues/5104)
### Isobuild
* Build plugins will no longer process files whose names match the extension
exactly (with no extra dot). If your build plugin needs to match filenames
exactly, you should use the new build plugin API in this release which
supplies a special `filenames` option. [#3985](https://github.com/meteor/meteor/issues/3985)
* Adding the same file twice in the same package is now an error. Previously,
this could either lead to the file being included multiple times, or to a
build time crash.
* You may now specify the `bare` option for JavaScript files on the server.
Previous versions only allowed this on the client. [#3681](https://github.com/meteor/meteor/issues/3681)
* Ignore `node_modules` directories in apps instead of processing them as Meteor
source code. [#4457](https://github.com/meteor/meteor/issues/4457) [#4452](https://github.com/meteor/meteor/issues/4452)
* Backwards-incompatible change for package authors: Static assets in package.js files must now be
explicitly declared by using `addAssets` instead of `addFiles`. Previously,
any file that didn't have a source handler was automatically registered as a
server-side asset. The `isAsset` option to `addFiles` is also deprecated in
favor of `addAssets`.
* Built files are now always annotated with line number comments, to improve the
debugging experience in browsers that don't support source maps.
* There is a completely new API for defining build plugins that cache their
output. There are now special APIs for defining linters and minifiers in
addition to compilers. The core Meteor packages for `less`, `coffee`, `stylus`
and `html` files have been updated to use this new API. Read more on the
[Wiki page](https://github.com/meteor/meteor/wiki/Build-Plugins-API).
### CSS
* LESS and Stylus now support cross-package imports.
* CSS concatenation and minification is delegated to the `standard-minifiers`
package, which is present by default (and added to existing apps by the v1.2
upgrader).
* CSS output is now split into multiple stylesheets to avoid hitting limits on
rules per stylesheet in certain versions of Internet Explorer. [#1876](https://github.com/meteor/meteor/issues/1876)
### Mongo
* The oplog observe driver now properly updates queries when you drop a
database. [#3847](https://github.com/meteor/meteor/issues/3847)
* MongoID logic has been moved out of `minimongo` into a new package called
`mongo-id`.
* Fix Mongo upserts with dotted keys in selector. [#4522](https://github.com/meteor/meteor/issues/4522)
### `meteor` command-line tool
* You can now create three new example apps with the command line tool. These
are the apps from the official tutorials at http://meteor.com/tutorials, which
demonstrate building the same app with Blaze, Angular, and React. Try these
apps with:
```sh
meteor create --example simple-todos
meteor create --example simple-todos-react
meteor create --example simple-todos-angular
```
* `meteor shell` no longer crashes when piped from another command.
* Avoid a race condition in `meteor --test` and work with newer versions of the
Velocity package. [#3957](https://github.com/meteor/meteor/issues/3957)
* Improve error handling when publishing packages. [#3977](https://github.com/meteor/meteor/issues/3977)
* Improve messaging around publishing binary packages. [#3961](https://github.com/meteor/meteor/issues/3961)
* Preserve the value of `_` in `meteor shell`. [#4010](https://github.com/meteor/meteor/issues/4010)
* `meteor mongo` now works on OS X when certain non-ASCII characters are in the
pathname, as long as the `pgrep` utility is installed (it ships standard with
OS X 10.8 and newer). [#3999](https://github.com/meteor/meteor/issues/3999)
* `meteor run` no longer ignores (and often reverts) external changes to
`.meteor/versions` which occur while the process is running. [#3582](https://github.com/meteor/meteor/issues/3582)
* Fix crash when downloading two builds of the same package version
simultaneously. [#4163](https://github.com/meteor/meteor/issues/4163)
* Improve messages printed by `meteor update`, displaying list of packages
that are not at the latest version available.
* When determining file load order, split file paths on path separator
before comparing path components alphabetically. [#4300](https://github.com/meteor/meteor/issues/4300)
* Fix inability to run `mongod` due to lack of locale configuration on some
platforms, and improve error message if the failure still occurs. [#4019](https://github.com/meteor/meteor/issues/4019)
* New `meteor lint` command.
### Minimongo
* The `$push` query modifier now supports a `$position` argument. [#4312](https://github.com/meteor/meteor/issues/4312)
* `c.update(selector, replacementDoc)` no longer shares mutable state between
replacementDoc and Minimongo internals. [#4377](https://github.com/meteor/meteor/issues/4377)
### Email
* `Email.send` now has a new option, `attachments`, in the same style as
`mailcomposer`.
[Details here.](https://github.com/andris9/mailcomposer#add-attachments)
### Tracker
* New `Tracker.Computation#onStop` method. [#3915](https://github.com/meteor/meteor/issues/3915)
* `ReactiveDict` has two new methods, `clear` and `all`. `clear` resets
the dictionary as if no items had been added, meaning all calls to `get` will
return `undefined`. `all` converts the dictionary into a regular JavaScript
object with a snapshot of the keys and values. Inside an autorun, `all`
registers a dependency on any changes to the dictionary. [#3135](https://github.com/meteor/meteor/issues/3135)
### Utilities
* New `beforeSend` option to `HTTP.call` on the client allows you to directly
access the `XMLHttpRequest` object and abort the call. [#4419](https://github.com/meteor/meteor/issues/4419) [#3243](https://github.com/meteor/meteor/issues/3243) [#3266](https://github.com/meteor/meteor/issues/3266)
* Parse `application/javascript` and `application/x-javascript` HTTP replies as
JSON too. [#4595](https://github.com/meteor/meteor/issues/4595)
* `Match.test` from the `check` package now properly compares boolean literals,
just like it does with Numbers and Strings. This applies to the `check`
function as well.
* Provide direct access to the `mailcomposer` npm module used by the `email`
package on `EmailInternals.NpmModules`. Allow specifying a `MailComposer`
object to `Email.send` instead of individual options. [#4209](https://github.com/meteor/meteor/issues/4209)
* Expose `Spiderable.requestTimeoutMs` from `spiderable` package to
allow apps to set the timeout for running phantomjs.
* The `spiderable` package now reports the URL it's trying to fetch on failure.
### Other bug fixes and improvements
* Upgraded dependencies:
- Node: 0.10.40 (from 0.10.36)
- uglify-js: 2.4.20 (from 2.4.17)
- http-proxy: 1.11.1 (from 1.6.0)
* `Meteor.loginWithGoogle` now supports `prompt`. Choose a prompt to always be
displayed on Google login.
* Upgraded `coffeescript` package to depend on NPM packages
coffeescript@1.9.2 and source-map@0.4.2. [#4302](https://github.com/meteor/meteor/issues/4302)
* Upgraded `fastclick` to 1.0.6 to fix an issue in iOS Safari. [#4393](https://github.com/meteor/meteor/issues/4393)
* Fix `Error: Can't render headers after they are sent to the client`. [#4253](https://github.com/meteor/meteor/issues/4253) [#4750](https://github.com/meteor/meteor/issues/4750)
* `Meteor.settings.public` is always available on client and server,
and modifications made on the server (for example, during app initialization)
affect the value seen by connecting clients. [#4704](https://github.com/meteor/meteor/issues/4704)
### Windows
* Increase the buffer size for `netstat` when looking for running Mongo servers. [#4125](https://github.com/meteor/meteor/issues/4125)
* The Windows installer now always fetches the latest available version of
Meteor at runtime, so that it doesn't need to be recompiled for every release.
* Fix crash in `meteor mongo` on Windows. [#4711](https://github.com/meteor/meteor/issues/4711)
## v1.1.0.3, 2015-Aug-03
### Accounts
* When using Facebook API version 2.4, properly fetch `email` and other fields.
Facebook recently forced all new apps to use version 2.4 of their API. [#4743](https://github.com/meteor/meteor/issues/4743)
## v1.1.0.2, 2015-Apr-06
### `meteor` command-line tool
* Revert a change in 1.1.0.1 that caused `meteor mongo` to fail on some Linux
systems. [#4115](https://github.com/meteor/meteor/issues/4115), [#4124](https://github.com/meteor/meteor/issues/4124), [#4134](https://github.com/meteor/meteor/issues/4134)
## v1.1.0.1, 2015-Apr-02
### Blaze
* Fix a regression in 1.1 in Blaze Templates: an error happening when View is
invalidated immediately, causing a client-side crash (accessing
`destroyMembers` of `undefined`). [#4097](https://github.com/meteor/meteor/issues/4097)
## v1.1, 2015-Mar-31
### Windows Support
* The Meteor command line tool now officially supports Windows 7, Windows 8.1,
Windows Server 2008, and Windows Server 2012. It can run from PowerShell or
Command Prompt.
* There is a native Windows installer that will be available for download from
<https://www.meteor.com/install> starting with this release.
* In this release, Meteor on Windows supports all features available on Linux
and Mac except building mobile apps with PhoneGap/Cordova.
* The `meteor admin get-machine` command now supports an additional
architecture, `os.windows.x86_32`, which can be used to build binary packages
for Windows.
### Version Solver
* The code that selects compatible package versions for `meteor update`
and resolves conflicts on `meteor add` has been rewritten from the ground up.
The core solver algorithm is now based on MiniSat, an open-source SAT solver,
improving performance and maintainability.
* Refresh the catalog instead of downgrading packages when the versions in
`.meteor/versions` aren't in the cache. [#3653](https://github.com/meteor/meteor/issues/3653)
* Don't downgrade packages listed in `.meteor/packages`, or upgrade to a new
major version, unless the new flag `--allow-incompatible-update` is passed
as an override.
* Error messages are more detailed when constraints are unsatisfiable.
* Prefer "patched" versions of new indirect dependencies, and take patches
to them on `meteor update` (for example, `1.0.1` or `1.0.0_1` over `1.0.0`).
* Version Solver is instrumented for profiling (`METEOR_PROFILE=1` in the
environment).
* Setting the `METEOR_PRINT_CONSTRAINT_SOLVER_INPUT` environment variable
prints information useful for diagnosing constraint solver bugs.
### Tracker
* Schedule the flush cycle using a better technique than `setTimeout` when
available. [#3889](https://github.com/meteor/meteor/issues/3889)
* Yield to the event loop during the flush cycle, unless we're executing a
synchronous `Tracker.flush()`. [#3901](https://github.com/meteor/meteor/issues/3901)
* Fix error reporting not being source-mapped properly. [#3655](https://github.com/meteor/meteor/issues/3655)
* Introduce a new option for `Tracker.autorun` - `onError`. This callback can be
used to handle errors caught in the reactive computations. [#3822](https://github.com/meteor/meteor/issues/3822)
### Blaze
* Fix stack overflow from nested templates and helpers by avoiding recursion
during rendering. [#3028](https://github.com/meteor/meteor/issues/3028)
### `meteor` command-line tool
* Don't fail if `npm` prints more than 200K. [#3887](https://github.com/meteor/meteor/issues/3887)
### Other bug fixes and improvements
* Upgraded dependencies:
- uglify-js: 2.4.17 (from 2.4.13)
Patches contributed by GitHub users hwillson, mitar, murillo128, Primigenus,
rjakobsson, and tmeasday.
## v1.0.5, 2015-Mar-25
* This version of Meteor now uses version 2.2 of the Facebook API for
authentication, instead of 1.0. If you use additional Facebook API methods
beyond login, you may need to request new permissions.
Facebook will automatically switch all apps to API version 2.0 on April
30th, 2015. Please make sure to update your application's permissions and API
calls by that date.
For more details, see
https://github.com/meteor/meteor/wiki/Facebook-Graph-API-Upgrade
## v1.0.4.2, 2015-Mar-20
* Fix regression in 1.0.4 where using Cordova for the first time in a project
with hyphens in its directory name would fail. [#3950](https://github.com/meteor/meteor/issues/3950)
## v1.0.4.1, 2015-Mar-18
* Fix regression in 1.0.4 where `meteor publish-for-arch` only worked for
packages without colons in their name. [#3951](https://github.com/meteor/meteor/issues/3951)
## v1.0.4, 2015-Mar-17
### Mongo Driver
* Meteor is now tested against MongoDB 2.6 by default (and the bundled version
used by `meteor run` has been upgraded). It should still work fine with
MongoDB 2.4. Previous versions of Meteor mostly worked with MongoDB 2.6, with
a few caveats:
- Some upsert invocations did not work with MongoDB in previous versions of
Meteor.
- Previous versions of Meteor required setting up a special "user-defined
role" with access to the `system.replset` table to use the oplog observe
driver with MongoDB 2.6. These extra permissions are not required with
this version of Meteor.
The MongoDB command needed to set up user permissions for the oplog observe
driver is slightly different in MongoDB 2.6; see
https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver for details.
We have also tested Meteor against the recently-released MongoDB 3.0.0.
While we are not shipping MongoDB 3.0 with Meteor in this release (preferring
to wait until its deployment is more widespread), we believe that Meteor
1.0.4 apps will work fine when used with MongoDB 3.0.0 servers.
* Fix 0.8.1 regression where failure to connect to Mongo at startup would log a
message but otherwise be ignored. Now it crashes the process, as it did before
0.8.1. [#3038](https://github.com/meteor/meteor/issues/3038)
* Use correct transform for allow/deny rules in `update` when different rules
have different transforms. [#3108](https://github.com/meteor/meteor/issues/3108)
* Provide direct access to the collection and database objects from the npm
Mongo driver via new `rawCollection` and `rawDatabase` methods on
`Mongo.Collection`. [#3640](https://github.com/meteor/meteor/issues/3640)
* Observing or publishing an invalid query now throws an error instead of
effectively hanging the server. [#2534](https://github.com/meteor/meteor/issues/2534)
### Livequery
* If the oplog observe driver gets too far behind in processing the oplog, skip
entries and re-poll queries instead of trying to keep up. [#2668](https://github.com/meteor/meteor/issues/2668)
* Optimize common cases faced by the "crossbar" data structure (used by oplog
tailing and DDP method write tracking). [#3697](https://github.com/meteor/meteor/issues/3697)
* The oplog observe driver recovers from failed attempts to apply the modifier
from the oplog (eg, because of empty field names).
### Minimongo
* When acting as an insert, `c.upsert({_id: 'x'}, {foo: 1})` now uses the `_id`
of `'x'` rather than a random `_id` in the Minimongo implementation of
`upsert`, just like it does for `c.upsert({_id: 'x'}, {$set: {foo: 1}})`.
(The previous behavior matched a bug in the MongoDB 2.4 implementation of
upsert that is fixed in MongoDB 2.6.) [#2278](https://github.com/meteor/meteor/issues/2278)
* Avoid unnecessary work while paused in minimongo.
* Fix bugs related to observing queries with field filters: `changed` callbacks
should not trigger unless a field in the filter has changed, and `changed`
callbacks need to trigger when a parent of an included field is
unset. [#2254](https://github.com/meteor/meteor/issues/2254) [#3571](https://github.com/meteor/meteor/issues/3571)
* Disallow setting fields with empty names in minimongo, to match MongoDB 2.6
semantics.
### DDP
* Subscription handles returned from `Meteor.subscribe` and
`TemplateInstance#subscribe` now have a `subscriptionId` property to identify
which subscription the handle is for.
* The `onError` callback to `Meteor.subscribe` has been replaced with a more
general `onStop` callback that has an error as an optional first argument.
The `onStop` callback is called when the subscription is terminated for
any reason. `onError` is still supported for backwards compatibility. [#1461](https://github.com/meteor/meteor/issues/1461)
* The return value from a server-side `Meteor.call` or `Meteor.apply` is now a
clone of what the function returned rather than sharing mutable state. [#3201](https://github.com/meteor/meteor/issues/3201)
* Make it easier to use the Node DDP client implementation without running a web
server too. [#3452](https://github.com/meteor/meteor/issues/3452)
### Blaze
* Template instances now have a `subscribe` method that functions exactly like
`Meteor.subscribe`, but stops the subscription when the template is destroyed.
There is a new method on Template instances called `subscriptionsReady()`
which is a reactive function that returns true when all of the subscriptions
made with `TemplateInstance#subscribe` are ready. There is also a built-in
helper that returns the same thing and can be accessed with
`Template.subscriptionsReady` inside any template.
* Add `onRendered`, `onCreated`, and `onDestroyed` methods to
`Template`. Assignments to `Template.foo.rendered` and so forth are deprecated
but are still supported for backwards compatibility.
* Fix bug where, when a helper or event handler was called from inside a custom
block helper, `Template.instance()` returned the `Template.contentBlock`
template instead of the actual user-defined template, making it difficult to
use `Template.instance()` for local template state.
* `Template.instance()` now works inside `Template.body`. [#3631](https://github.com/meteor/meteor/issues/3631)
* Allow specifying attributes on `<body>` tags in templates.
* Improve performance of rendering large arrays. [#3596](https://github.com/meteor/meteor/issues/3596)
### Isobuild
* Support `Npm.require('foo/bar')`. [#3505](https://github.com/meteor/meteor/issues/3505) [#3526](https://github.com/meteor/meteor/issues/3526)
* In `package.js` files, `Npm.require` can only require built-in Node modules
(and dev bundle modules, though you shouldn't depend on that), not the modules
from its own `Npm.depends`. Previously, such code would work but only on the
second time a `package.js` was executed.
* Ignore vim swap files in the `public` and `private` directories. [#3322](https://github.com/meteor/meteor/issues/3322)
* Fix regression in 1.0.2 where packages might not be rebuilt when the compiler
version changes.
### Meteor Accounts
* The `accounts-password` `Accounts.emailTemplates` can now specify arbitrary
email `headers`. The `from` address can now be set separately on the
individual templates, and is a function there rather than a static
string. [#2858](https://github.com/meteor/meteor/issues/2858) [#2854](https://github.com/meteor/meteor/issues/2854)
* Add login hooks on the client: `Accounts.onLogin` and
`Accounts.onLoginFailure`. [#3572](https://github.com/meteor/meteor/issues/3572)
* Add a unique index to the collection that stores OAuth login configuration to
ensure that only one configuration exists per service. [#3514](https://github.com/meteor/meteor/issues/3514)
* On the server, a new option
`Accounts.setPassword(user, password, { logout: false })` overrides the
default behavior of logging out all logged-in connections for the user. [#3846](https://github.com/meteor/meteor/issues/3846)
### Webapp
* `spiderable` now supports escaped `#!` fragments. [#2938](https://github.com/meteor/meteor/issues/2938)
* Disable `appcache` on Firefox by default. [#3248](https://github.com/meteor/meteor/issues/3248)
* Don't overly escape `Meteor.settings.public` and other parts of
`__meteor_runtime_config__`. [#3730](https://github.com/meteor/meteor/issues/3730)
* Reload the client program on `SIGHUP` or Node-specific IPC messages, not
`SIGUSR2`.
### `meteor` command-line tool
* Enable tab-completion of global variables in `meteor shell`. [#3227](https://github.com/meteor/meteor/issues/3227)
* Improve the stability of `meteor shell`. [#3437](https://github.com/meteor/meteor/issues/3437) [#3595](https://github.com/meteor/meteor/issues/3595) [#3591](https://github.com/meteor/meteor/issues/3591)
* `meteor login --email` no longer takes an ignored argument. [#3532](https://github.com/meteor/meteor/issues/3532)
* Fix regression in 1.0.2 where `meteor run --settings s` would ignore errors
reading or parsing the settings file. [#3757](https://github.com/meteor/meteor/issues/3757)
* Fix crash in `meteor publish` in some cases when the package is inside an
app. [#3676](https://github.com/meteor/meteor/issues/3676)
* Fix crashes in `meteor search --show-all` and `meteor search --maintainer`.
\#3636
* Kill PhantomJS processes after `meteor --test`, and only run the app
once. [#3205](https://github.com/meteor/meteor/issues/3205) [#3793](https://github.com/meteor/meteor/issues/3793)
* Give a better error when Mongo fails to start up due to a full disk. [#2378](https://github.com/meteor/meteor/issues/2378)
* After killing existing `mongod` servers, also clear the `mongod.lock` file.
* Stricter validation for package names: they cannot begin with a hyphen, end
with a dot, contain two consecutive dots, or start or end with a colon. (No
packages on Atmosphere fail this validation.) Additionally, `meteor create
--package` applies the same validation as `meteor publish` and disallows
packages with multiple colons. (Packages with multiple colons like
`local-test:iron:router` are used internally by `meteor test-packages` so that
is not a strict validation rule.)
* `meteor create --package` now no longer creates a directory with the full
name of the package, since Windows file systems cannot have colon characters
in file paths. Instead, the command now creates a directory named the same
as the second part of the package name after the colon (without the username
prefix).
### Meteor Mobile
* Upgrade the Cordova CLI dependency from 3.5.1 to 4.2.0. See the release notes
for the 4.x series of the Cordova CLI [on Apache
Cordova](http://cordova.apache.org/announcements/2014/10/16/cordova-4.html).
* Related to the recently discovered [attack
vectors](http://cordova.apache.org/announcements/2014/08/04/android-351.html)
in Android Cordova apps, Meteor Cordova apps no longer allow access to all
domains by default. If your app access external resources over XHR, you need
to add them to the whitelist of allowed domains with the newly added
[`App.accessRule`
method](https://docs.meteor.com/#/full/App-accessRule) in your
`mobile-config.js` file.
* Upgrade Cordova Plugins dependencies in Meteor Core packages:
- `org.apache.cordova.file`: from 1.3.0 to 1.3.3
- `org.apache.cordova.file-transfer`: from 0.4.4 to 0.5.0
- `org.apache.cordova.splashscreen`: from 0.3.3 to 1.0.0
- `org.apache.cordova.console`: from 0.2.10 to 0.2.13
- `org.apache.cordova.device`: from 0.2.11 to 0.3.0
- `org.apache.cordova.statusbar`: from 0.1.7 to 0.1.10
- `org.apache.cordova.inappbrowser`: from 0.5.1 to 0.6.0
- `org.apache.cordova.inappbrowser`: from 0.5.1 to 0.6.0
* Use the newer `ios-sim` binary, compiled with Xcode 6 on OS X Mavericks.
### Tracker
* Use `Session.set({k1: v1, k2: v2})` to set multiple values at once.
### Utilities
* Provide direct access to all options supported by the `request` npm module via
the new server-only `npmRequestOptions` option to `HTTP.call`. [#1703](https://github.com/meteor/meteor/issues/1703)
### Other bug fixes and improvements
* Many internal refactorings towards supporting Meteor on Windows are in this
release.
* Remove some packages used internally to support legacy MDG systems
(`application-configuration`, `ctl`, `ctl-helper`, `follower-livedata`,
`dev-bundle-fetcher`, and `star-translate`).
* Provide direct access to some npm modules used by core packages on the
`NpmModules` field of `WebAppInternals`, `MongoInternals`, and
`HTTPInternals`.
* Upgraded dependencies:
- node: 0.10.36 (from 0.10.33)
- Fibers: 1.0.5 (from 1.0.1)
- MongoDB: 2.6.7 (from 2.4.12)
- openssl in mongo: 1.0.2 (from 1.0.1j)
- MongoDB driver: 1.4.32 (from 1.4.1)
- bson: 0.2.18 (from 0.2.7)
- request: 2.53.0 (from 2.47.0)
Patches contributed by GitHub users 0a-, awatson1978, awwx, bwhitty,
christianbundy, d4nyll, dandv, DanielDent, DenisGorbachev, fay-jai, gsuess,
hwillson, jakozaur, meonkeys, mitar, netanelgilad, queso, rbabayoff, RobertLowe,
romanzolotarev, Siilwyn, and tmeasday.
## v.1.0.3.2, 2015-Feb-25
* Fix regression in 1.0.3 where the `meteor` tool could crash when downloading
the second build of a given package version; for example, when running `meteor
deploy` on an OSX or 32-bit Linux system for an app containing a binary
package. [#3761](https://github.com/meteor/meteor/issues/3761)
## v.1.0.3.1, 2015-Jan-20
* Rewrite `meteor show` and `meteor search` to show package information for
local packages and to show if the package is installed for non-local
packages. Introduce the `--show-all` flag, and deprecate the
`--show-unmigrated` and `--show-old flags`. Introduce the `--ejson` flag to
output an EJSON object.
* Support README.md files in`meteor publish`. Take in the documentation file in
`package.js` (set to `README.md` by default) and upload it to the server at
publication time. Excerpt the first non-header Markdown section for use in
`meteor show`.
* Support updates of package version metadata after that version has been
published by running `meteor publish --update` from the package directory.
* Add `meteor test-packages --velocity` (similar to `meteor run --test`). [#3330](https://github.com/meteor/meteor/issues/3330)
* Fix `meteor update <packageName>` to update `<packageName>` even if it's an
indirect dependency of your app. [#3282](https://github.com/meteor/meteor/issues/3282)
* Fix stack trace when a browser tries to use the server like a proxy. [#1212](https://github.com/meteor/meteor/issues/1212)
* Fix inaccurate session statistics and possible multiple invocation of
Connection.onClose callbacks.
* Switch CLI tool filesystem calls from synchronous to yielding (pro: more
concurrency, more responsive to signals; con: could introduce concurrency
bugs)
* Don't apply CDN prefix on Cordova. [#3278](https://github.com/meteor/meteor/issues/3278) [#3311](https://github.com/meteor/meteor/issues/3311)
* Don't try to refresh client app in the runner unless the app actually has the
autoupdate package. [#3365](https://github.com/meteor/meteor/issues/3365)
* Fix custom release banner logic. [#3353](https://github.com/meteor/meteor/issues/3353)
* Apply HTTP followRedirects option to non-GET requests. [#2808](https://github.com/meteor/meteor/issues/2808)
* Clean up temporary directories used by package downloads sooner. [#3324](https://github.com/meteor/meteor/issues/3324)
* If the tool knows about the requested release but doesn't know about the build
of its tool for the platform, refresh the catalog rather than failing
immediately. [#3317](https://github.com/meteor/meteor/issues/3317)
* Fix `meteor --get-ready` to not add packages to your app.
* Fix some corner cases in cleaning up app processes in the runner. Drop
undocumented `--keepalive` support. [#3315](https://github.com/meteor/meteor/issues/3315)
* Fix CSS autoupdate when `$ROOT_URL` has a non-trivial path. [#3111](https://github.com/meteor/meteor/issues/3111)
* Save Google OAuth idToken to the User service info object.
* Add git info to `meteor --version`.
* Correctly catch a case of illegal `Tracker.flush` during `Tracker.autorun`. [#3037](https://github.com/meteor/meteor/issues/3037)
* Upgraded dependencies:
- jquery: 1.11.2 (from 1.11.0)
Patches by GitHub users DanielDent, DanielDornhardt, PooMaster, Primigenus,
Tarang, TomFreudenberg, adnissen, dandv, fay-jai, knownasilya, mquandalle,
ogourment, restebanez, rissem, smallhelm and tmeasday.
## v1.0.2.1, 2014-Dec-22
* Fix crash in file change watcher. [#3336](https://github.com/meteor/meteor/issues/3336)
* Allow `meteor test-packages packages/*` even if not all package directories
have tests. [#3334](https://github.com/meteor/meteor/issues/3334)
* Fix typo in `meteor shell` output. [#3326](https://github.com/meteor/meteor/issues/3326)
## v1.0.2, 2014-Dec-19
### Improvements to the `meteor` command-line tool
* A new command called `meteor shell` attaches an interactive terminal to
an already-running server process, enabling inspection and execution of
server-side data and code, with dynamic tab completion of variable names
and properties. To see `meteor shell` in action, type `meteor run` in an
app directory, then (in another terminal) type `meteor shell` in the
same app directory. You do not have to wait for the app to start before
typing `meteor shell`, as it will automatically connect when the server
is ready. Note that `meteor shell` currently works for local development
only, and is not yet supported for apps running on remote hosts.
* We've done a major internal overhaul of the `meteor` command-line tool with an
eye to correctness, maintainability, and performance. Some details include:
* Refresh the package catalog for build commands only when an error
occurs that could be fixed by a refresh, not for every build command.
* Never run the constraint solver to select package versions more than once
per build.
* Built packages ("isopacks") are now cached inside individual app directories
instead of inside their source directories.
* `meteor run` starts Mongo in parallel with building the application.
* The constraint solver no longer leaves a `versions.json` file in your
packages source directories; when publishing a package that is not inside an
app, it will leave a `.versions` file (with the same format as
`.meteor/versions`) which you should check into source control.
* The constraint solver's model has been simplified so that plugins must use
the same version of packages as their surrounding package when built from
local source.
* Using `meteor debug` no longer requires manually continuing the debugger when
your app restarts, and it no longer overwrites the symbol `_` inside your app.
* Output from the command-line tool is now word-wrapped to the width of your
terminal.
* Remove support for the undocumented earliestCompatibleVersion feature of the
package system.
* Reduce CPU usage and disk I/O bandwidth by using kernel file-system change
notification events where possible. On file systems that do not support these
events (NFS, Vagrant Virtualbox shared folders, etc), file changes will only
be detected every 5 seconds; to detect changes more often in these cases (but
use more CPU), set the `METEOR_WATCH_FORCE_POLLING` environment
variable. [#2135](https://github.com/meteor/meteor/issues/2135)
* Reduce CPU usage by fixing a check for a parent process in `meteor
run` that was happening constantly instead of every few seconds. [#3252](https://github.com/meteor/meteor/issues/3252)
* Fix crash when two plugins defined source handlers for the same
extension. [#3015](https://github.com/meteor/meteor/issues/3015) [#3180](https://github.com/meteor/meteor/issues/3180)
* Fix bug (introduced in 0.9.3) where the warning about using experimental
versions of packages was printed too often.
* Fix bug (introduced in 1.0) where `meteor update --patch` crashed.
* Fix bug (introduced in 0.9.4) where banners about new releases could be
printed too many times.
* Fix crash when a package version contained a dot-separated pre-release part
with both digits and non-digits. [#3147](https://github.com/meteor/meteor/issues/3147)
* Corporate HTTP proxy support is now implemented using our websocket library's
new built-in implementation instead of a custom implementation. [#2515](https://github.com/meteor/meteor/issues/2515)
### Blaze
* Add default behavior for `Template.parentData` with no arguments. This
selects the first parent. [#2861](https://github.com/meteor/meteor/issues/2861)
* Fix `Blaze.remove` on a template's view to correctly remove the DOM
elements when the template was inserted using
`Blaze.renderWithData`. [#3130](https://github.com/meteor/meteor/issues/3130)
* Allow curly braces to be escaped in Spacebars. Use the special
sequences `{{|` and `{{{|` to insert a literal `{{` or `{{{`.
### Meteor Accounts
* Allow integration with OAuth1 servers that require additional query
parameters to be passed with the access token. [#2894](https://github.com/meteor/meteor/issues/2894)
* Expire a user's password reset and login tokens in all circumstances when
their password is changed.
### Other bug fixes and improvements
* Some packages are no longer released as part of the core release process:
amplify, backbone, bootstrap, d3, jquery-history, and jquery-layout. This
means that new versions of these packages can be published outside of the full
Meteor release cycle.
* Require plain objects as the update parameter when doing replacements
in server-side collections.
* Fix audit-argument-checks spurious failure when an argument is NaN. [#2914](https://github.com/meteor/meteor/issues/2914)
### Upgraded dependencies
- node: 0.10.33 (from 0.10.29)
- source-map-support: 0.2.8 (from 0.2.5)
- semver: 4.1.0 (from 2.2.1)
- request: 2.47.0 (from 2.33.0)
- tar: 1.0.2 (from 1.0.1)
- source-map: 0.1.40 (from 0.1.32)
- sqlite3: 3.0.2 (from 3.0.0)
- phantomjs npm module: 1.9.12 (from 1.8.1-1)
- http-proxy: 1.6.0 (from a fork of 1.0.2)
- esprima: 1.2.2 (from an unreleased 1.1-era commit)
- escope: 1.0.1 (from 1.0.0)
- openssl in mongo: 1.0.1j (from 1.0.1g)
- faye-websocket: 0.8.1 (from using websocket-driver instead)
- MongoDB: 2.4.12 (from 2.4.9)
Patches by GitHub users andylash, anstarovoyt, benweissmann, chrisbridgett,
colllin, dandv, ecwyne, graemian, JamesLefrere, kevinchiu, LyuGGang, matteodem,
mitar, mquandalle, musically-ut, ograycode, pcjpcj2, physiocoder, rgoomar,
timhaines, trusktr, Urigo, and zol.
## v1.0.1, 2014-Dec-09
* Fix a security issue in allow/deny rules that could result in data
loss. If your app uses allow/deny rules, or uses packages that use
allow/deny rules, we recommend that you update immediately.
## v1.0, 2014-Oct-28
### New Features
* Add the `meteor admin get-machine` command to make it easier to
publish packages with binary dependencies for all
architectures. `meteor publish` no longer publishes builds
automatically if your package has binary NPM dependencies.
* New `localmarket` example, highlighting Meteor's support for mobile
app development.
* Restyle the `leaderboard` example, and optimize it for both desktop
and mobile.
### Performance
* Reduce unnecessary syncs with the package server, which speeds up
startup times for many commands.
* Speed up `meteor deploy` by not bundling unnecessary files and
programs.
* To make Meteor easier to use on slow or unreliable network
connections, increase timeouts for DDP connections that the Meteor
tool uses to communicate with the package server. [#2777](https://github.com/meteor/meteor/issues/2777), [#2789](https://github.com/meteor/meteor/issues/2789).
### Mobile App Support
* Implemented reasonable default behavior for launch screens on mobile
apps.
* Don't build for Android when only the iOS build is required, and
vice versa.
* Fix bug that could cause mobile apps to stop being able to receive hot
code push updates.
* Fix bug where Cordova clients connected to http://example.com instead
of https://example.com when https:// was specified in the
--mobile-server option. [#2880](https://github.com/meteor/meteor/issues/2880)
* Fix stack traces when attempting to build or run iOS apps on Linux.
* Print a warning when building an app with mobile platforms and
outputting the build into the source tree. Outputting a build into the
source tree can cause subsequent builds to fail because they will
treat the build output as source files.
* Exit from `meteor run` when new Cordova plugins or platforms are
added, since we don't support hot code push for new plugins or
platforms.
* Fix quoting of arguments to Cordova plugins.
* The `accounts-twitter` package now works in Cordova apps in local
development. For workarounds for other login providers in local
development mode, see
https://github.com/meteor/meteor/wiki/OAuth-for-mobile-Meteor-clients.
### Packaging
* `meteor publish-for-arch` can publish packages built with different Meteor
releases.
* Fix default `api.versionsFrom` field in packages created with `meteor
create --package`.
* Fix bug where changes in an app's .meteor/versions file would not
cause the app to be rebuilt.
### Other bug fixes and improvements
* Use TLSv1 in the `spiderable` package, for compatibility with servers
that have disabled SSLv3 in response to the POODLE bug.
* Work around the `meteor run` proxy occasionally running out of sockets.
* Fix bug with regular expressions in minimongo. [#2817](https://github.com/meteor/meteor/issues/2817)
* Add READMEs for several core packages.
* Include protocols in URLs printed by `meteor deploy`.
* Improve error message for limited ordered observe. [#1643](https://github.com/meteor/meteor/issues/1643)
* Fix missing dependency on `random` in the `autoupdate` package. [#2892](https://github.com/meteor/meteor/issues/2892)
* Fix bug where all CSS would be removed from connected clients if a
CSS-only change is made between local development server restarts or
when deploying with `meteor deploy`.
* Increase height of the Google OAuth popup to the Google-recommended
value.
* Fix the layout of the OAuth configuration dialog when used with
Bootstrap.
* Allow build plugins to override the 'bare' option on added source
files. [#2834](https://github.com/meteor/meteor/issues/2834)
Patches by GitHub users DenisGorbachev, ecwyne, mitar, mquandalle,
Primigenus, svda, yauh, and zol.
## v0.9.4.1, 2014-Dec-09 (backport)
* Fix a security issue in allow/deny rules that could result in data
loss. If your app uses allow/deny rules, or uses packages that use
allow/deny rules, we recommend that you update immediately.
Backport from 1.0.1.
## v0.9.4, 2014-Oct-13
### New Features
* The new `meteor debug` command and `--debug-port` command line option
to `meteor run` allow you to easily use node-inspector to debug your
server-side code. Add a `debugger` statement to your code to create a
breakpoint.
* Add new a `meteor run --test` command that runs
[Velocity](https://github.com/meteor-velocity/velocity) tests in your
app .
* Add new callbacks `Accounts.onResetPasswordLink`,
`Accounts.onEnrollmentLink`, and `Accounts.onEmailVerificationLink`
that make it easier to build custom user interfaces on top of the
accounts system. These callbacks should be registered before
`Meteor.startup` fires, and will be called if the URL matches a link
in an email sent by `Accounts.resetPassword`, etc. See
https://docs.meteor.com/#Accounts-onResetPasswordLink.
* A new configuration file for mobile apps,
`<APP>/mobile-config.js`. This allows you to set app metadata, icons,
splash screens, preferences, and PhoneGap/Cordova plugin settings
without needing a `cordova_build_override` directory. See
https://docs.meteor.com/#mobileconfigjs.
### API Changes
* Rename `{{> UI.dynamic}}` to `{{> Template.dynamic}}`, and likewise
with `UI.contentBlock` and `UI.elseBlock`. The UI namespace is no
longer used anywhere except for backwards compatibility.
* Deprecate the `Template.someTemplate.myHelper = ...` syntax in favor
of `Template.someTemplate.helpers(...)`. Using the older syntax still
works, but prints a deprecation warning to the console.
* `Package.registerBuildPlugin` its associated functions have been added
to the public API, cleaned up, and documented. The new function is
identical to the earlier _transitional_registerBuildPlugin except for
minor backwards-compatible API changes. See
https://docs.meteor.com/#Package-registerBuildPlugin
* Rename the `showdown` package to `markdown`.
* Deprecate the `amplify`, `backbone`, `bootstrap`, and `d3` integration
packages in favor of community alternatives. These packages will no
longer be maintained by MDG.
### Tool Changes
* Improved output from `meteor build` to make it easier to publish
mobile apps to the App Store and Play Store. See the wiki pages for
instructions on how to publish your
[iOS](https://github.com/meteor/meteor/wiki/How-to-submit-your-iOS-app-to-App-Store)
and
[Android](https://github.com/meteor/meteor/wiki/How-to-submit-your-Android-app-to-Play-Store)
apps.
* Packages can now be marked as debug-mode only by adding `debugOnly:
true` to `Package.describe`. Debug-only packages are not included in
the app when it is bundled for production (`meteor build` or `meteor
run --production`). This allows package authors to build packages
specifically for testing and debugging without increasing the size of
the resulting app bundle or causing apps to ship with debug
functionality built in.
* Rework the process for installing mobile development SDKs. There is
now a `meteor install-sdk` command that automatically install what
software it can and points to documentation for the parts that
require manual installation.
* The `.meteor/cordova-platforms` file has been renamed to
`.meteor/platforms` and now includes the default `server` and
`browser` platforms. The default platforms can't currently be removed
from a project, though this will be possible in the future. The old
file will be automatically migrated to the new one when the app is run
with Meteor 0.9.4 or above.
* The `unipackage.json` file inside downloaded packages has been renamed
to `isopack.json` and has an improved forwards-compatible format. To
maintain backwards compatibility with previous releases, packages will
be built with both files.
* The local package metadata cache now uses SQLite, which is much faster
than the previous implementation. This improves `meteor` command line
tool startup time.
* The constraint solver used by the client to find compatible versions
of packages is now much faster.
* The `--port` option to `meteor run` now requires a numeric port
(e.g. `meteor run --port example.com` is no longer valid).
* The `--mobile-port` option `meteor run` has been reworked. The option
is now `--mobile-server` in `meteor run` and `--server` in `meteor
build`. `--server` is required for `meteor build` in apps with mobile
platforms installed. `--mobile-server` defaults to an automatically
detected IP address on port 3000, and `--server` requires a hostname
but defaults to port 80 if a port is not specified.
* Operations that take longer than a few seconds (e.g. downloading
packages, installing the Android SDK, etc) now show a progress bar.
* Complete support for using an HTTP proxy in the `meteor` command line
tool. Now all DDP connections can work through a proxy. Use the standard
`http_proxy` environment variable to specify your proxy endpoint. [#2515](https://github.com/meteor/meteor/issues/2515)
### Bug Fixes
* Fix behavior of ROOT_URL with path ending in `/`.
* Fix source maps when using a ROOT_URL with a path. [#2627](https://github.com/meteor/meteor/issues/2627)
* Change the mechanism that the Meteor tool uses to clean up app server
processes. The new mechanism is more resilient to slow app bundles and
other CPU-intensive tasks. [#2536](https://github.com/meteor/meteor/issues/2536), [#2588](https://github.com/meteor/meteor/issues/2588).
Patches by GitHub users cryptoquick, Gaelan, jperl, meonkeys, mitar,
mquandalle, prapicault, pscanf, richguan, rick-golden-healthagen,
rissem, rosh93, rzymek, and timoabend
## v0.9.3.1, 2014-Sep-30
* Don't crash when failing to contact the package server. [#2713](https://github.com/meteor/meteor/issues/2713)
* Allow more than one dash in package versions. [#2715](https://github.com/meteor/meteor/issues/2715)
## v0.9.3, 2014-Sep-25
### More Package Version Number Flexibility
* Packages now support relying on multiple major versions of their
dependencies (eg `blaze@1.0.0 || 2.0.0`). Additionally, you can now
call `api.versionsFrom(<release>)` multiple times, or with an array
(eg `api.versionsFrom([<release1>, <release2>])`. Meteor will
interpret this to mean that the package will work with packages from
all the listed releases.
* Support for "wrapped package" version numbers. There is now a `_` field
in version numbers. The `_` field must be an integer, and versions with
the `_` are sorted after versions without. This allows using the
upstream version number as the Meteor package version number and being
able to publish multiple version of the Meteor package (e.g.
`jquery@1.11.1_2`).
Note: packages using the `||` operator or the `_` symbol in their
versions or dependencies will be invisible to pre-0.9.3 users. Meteor
versions 0.9.2 and before do not understand the new version formats and
will not be able to use versions of packages that use the new features.
### Other Command-line Tool Improvements
* More detailed constraint solver output. Meteor now tells you which
constraints prevent upgrading or adding new packages. This will make
it much easier to update your app to new versions.
* Better handling of pre-release versions (e.g. versions with
`-`). Pre-release packages will now be included in an app if and only
if there is no way to meet the app's constraints without using a
pre-release package.
* Add `meteor admin set-unmigrated` to allow maintainers to hide
pre-0.9.0 packages in `meteor search` and `meteor show`. This will not
stop users from continuing to use the package, but it helps prevent
new users from finding old non-functional packages.
* Progress bars for time-intensive operations, like downloading large
packages.
### Other Changes
* Offically support `Meteor.wrapAsync` (renamed from
`Meteor._wrapAsync`). Additionally, `Meteor.wrapAsync` now lets you
pass an object to bind as `this` in the wrapped call. See
https://docs.meteor.com/#meteor_wrapasync.
* The `reactive-dict` package now allows an optional name argument to
enable data persistence during hot code push.
Patches by GitHub users evliu, meonkeys, mitar, mizzao, mquandalle,
prapicault, waitingkuo, wulfmeister.
## v0.9.2.2, 2014-Sep-17
* Fix regression in 0.9.2 that prevented some users from accessing the
Meteor development server in their browser. Specifically, 0.9.2
unintentionally changed the development mode server's default bind
host to localhost instead of 0.0.0.0. [#2596](https://github.com/meteor/meteor/issues/2596)
## v0.9.2.1, 2014-Sep-15
* Fix versions of packages that were published with `-cordova` versions
in 0.9.2 (appcache, fastclick, htmljs, logging, mobile-status-bar,
routepolicy, webapp-hashing).
## v0.9.2, 2014-Sep-15
This release contains our first support for building mobile apps in
Meteor, for both iOS and Android. This support comes via an
integration with Apache's Cordova/PhoneGap project.
* You can use Cordova/PhoneGap packages in your application or inside
a Meteor package to access a device's native functions directly from
JavaScript code.
* The `meteor add-platform` and `meteor run` commands now let you
launch the app in the iOS or Android simulator or run it on an
attached hardware device.
* This release extends hot code push to support live updates into
installed native apps.
* The `meteor bundle` command has been renamed to `meteor build` and
now outputs build projects for the mobile version of the targeted
app.
* See
https://github.com/meteor/meteor/wiki/Meteor-Cordova-Phonegap-integration
for more information about how to get started building mobile apps
with Meteor.
* Better mobile support for OAuth login: you can now use a
redirect-based flow inside UIWebViews, and the existing popup-based
flow has been adapted to work in Cordova/PhoneGap apps.
#### Bug fixes and minor improvements
* Fix sorting on non-trivial keys in Minimongo. [#2439](https://github.com/meteor/meteor/issues/2439)
* Bug fixes and performance improvements for the package system's
constraint solver.
* Improved error reporting for misbehaving oplog observe driver. [#2033](https://github.com/meteor/meteor/issues/2033) [#2244](https://github.com/meteor/meteor/issues/2244)
* Drop deprecated source map linking format used for older versions of
Firefox. [#2385](https://github.com/meteor/meteor/issues/2385)
* Allow Meteor tool to run from a symlink. [#2462](https://github.com/meteor/meteor/issues/2462)
* Assets added via a plugin are no longer considered source files. [#2488](https://github.com/meteor/meteor/issues/2488)
* Remove support for long deprecated `SERVER_ID` environment
variable. Use `AUTOUPDATE_VERSION` instead.
* Fix bug in reload-safetybelt package that resulted in reload loops in
Chrome with cookies disabled.
* Change the paths for static assets served from packages. The `:`
character is replaced with the `_` character in package names so as to
allow serving on mobile devices and ease operation on Windows. For
example, assets from the `abc:bootstrap` package are now served at
`/packages/abc_bootstrap` instead of `/packages/abc:bootstrap`.
* Also change the paths within a bundled Meteor app to allow for
different client architectures (eg mobile). For example,
`bundle/programs/client` is now `bundle/programs/web.browser`.
Patches by GitHub users awwx, mizzao, and mquandalle.
## v0.9.1.1, 2014-Sep-06
* Fix backwards compatibility for packages that had weak dependencies
on packages renamed in 0.9.1 (`ui`, `deps`, `livedata`). [#2521](https://github.com/meteor/meteor/issues/2521)
* Fix error when using the `reactive-dict` package without the `mongo`
package.
## v0.9.1, 2014-Sep-04
#### Organizations in Meteor developer accounts
Meteor 0.9.1 ships with organizations support in Meteor developer
accounts. Organizations are teams of users that make it easy to
collaborate on apps and packages.
Create an organization at
https://www.meteor.com/account-settings/organizations. Run the `meteor
authorized` command in your terminal to give an organization
permissions to your apps. To add an organization as a maintainer of
your packages, use the `meteor admin maintainers` command. You can
also publish packages with an organization's name in the package name
prefix instead of your own username.
#### One backwards incompatible change for templates
* Templates can no longer be named "body" or "instance".
#### Backwards compatible Blaze API changes
* New public and documented APIs:
* `Blaze.toHTMLWithData()`
* `Template.currentData()`
* `Blaze.getView()`
* `Template.parentData()` (previously `UI._parentData()`)
* `Template.instance()` (previously `UI._templateInstance()`)
* `Template.body` (previously `UI.body`)
* `new Template` (previously `Template.__create__`)
* `Blaze.getData()` (previously `UI.getElementData`, or `Blaze.getCurrentData` with no arguments)
* Deprecate the `ui` package. Instead, use the `blaze` package. The
`UI` and `Blaze` symbols are now the same.
* Deprecate `UI.insert`. `UI.render` and `UI.renderWithData` now
render a template and place it in the DOM.
* Add an underscore to some undocumented Blaze APIs to make them
internal. Notably: `Blaze._materializeView`, `Blaze._createView`,
`Blaze._toText`, `Blaze._destroyView`, `Blaze._destroyNode`,
`Blaze._withCurrentView`, `Blaze._DOMBackend`,
`Blaze._TemplateWith`
* Document Views. Views are the machinery powering DOM updates in
Blaze.
* Expose `view` property on template instances.
#### Backwards compatible renames
* Package renames
* `livedata` -> `ddp`
* `mongo-livedata` -> `mongo`
* `standard-app-packages` -> `meteor-platform`
* Symbol renames
* `Meteor.Collection` -> `Mongo.Collection`
* `Meteor.Collection.Cursor` -> `Mongo.Cursor`
* `Meteor.Collection.ObjectID` -> `Mongo.ObjectID`
* `Deps` -> `Tracker`
#### Other
* Add `reactive-var` package. Lets you define a single reactive
variable, like a single key in `Session`.
* Don't throw an exception in Chrome when cookies and local storage
are blocked.
* Bump DDP version to "1". Clients connecting with version "pre1" or
"pre2" should still work.
* Allow query parameters in OAuth1 URLs. [#2404](https://github.com/meteor/meteor/issues/2404)
* Fix `meteor list` if not all packages on server. Fixes [#2468](https://github.com/meteor/meteor/issues/2468)
Patch by GitHub user mitar.
## v0.9.0.1, 2014-Aug-27
* Fix issues preventing hot code reload from automatically reloading webapps in
two cases: when the old app was a pre-0.9.0 app, and when the app used
appcache. (In both cases, an explicit reload still worked.)
* Fix publishing packages containing a plugin with platform-specific code but
no platform-specific code in the main package.
* Fix `meteor add package@version` when the package was already added with a
different version constraint.
* Improve treatment of pre-release packages (packages with a dash in their
version). Guarantee that they will not be chosen by the constraint solver
unless explicitly requested. `meteor list` won't suggest that you update to
them.
* Fix slow spiderable executions.
* Fix dev-mode client-only restart when client files changed very soon after
server restart.
* Fix stack trace on `meteor add` constraint solver failure.
* Fix "access-denied" stack trace when publishing packages.
## v0.9.0, 2014-Aug-26
Meteor 0.9.0 introduces the Meteor Package Server. Incorporating lessons from
our community's Meteorite tool, Meteor 0.9.0 allows users to develop and publish
Meteor packages to a central repository. The `meteor publish` command is used to
publish packages. Non-core packages can now be added with `meteor add`, and you
can specify version constraints on the packages you use. Binary packages can be
published for additional architectures with `meteor publish-for-arch`, which
allows cross-platform deploys and bundling. You can search for packages with
`meteor search` and display information on them with `meteor show`, or you can
use the Atmosphere web interface developed by Percolate Studio at
https://atmospherejs.com/
See https://docs.meteor.com/#writingpackages and
https://docs.meteor.com/#packagejs for more details.
Other packaging-related changes:
* `meteor list` now lists the packages your app is using, which was formerly the
behavior of `meteor list --using`. To search for packages you are not
currently using, use `meteor search`. The concept of an "internal" package
(which did not show up in `meteor list`) no longer exists.
* To prepare a bundle created with `meteor bundle` for execution on a
server, you now run `npm install` with no arguments instead of having
to specify a few specific npm modules and their versions
explicitly. See the README in the generated bundle for more details.
* All `under_score`-style `package.js` APIs (`Package.on_use`, `api.add_files`,
etc) have been replaced with `camelCase` names (`Package.onUse`,
`api.addFiles`, etc). The old names continue to work for now.
* There's a new `archMatching` option to `Plugin.registerSourceHandler`, which
should be used by any plugin whose output is only for the client or only for
the server (eg, CSS and HTML templating packages); this allows Meteor to avoid
restarting the server when files processed by these plugins change.
Other changes:
* When running your app with the local development server, changes that only
affect the client no longer require restarting the server. Changes that only
affect CSS no longer require the browser to refresh the page, both in local
development and in some production environments. [#490](https://github.com/meteor/meteor/issues/490)
* When a call to `match` fails in a method or subscription, log the
failure on the server. (This matches the behavior described in our docs)
* The `appcache` package now defaults to functioning on all browsers
that support the AppCache API, rather than a whitelist of browsers.
The main effect of this change is that `appcache` is now enabled by
default on Firefox, because Firefox no longer makes a confusing
popup. You can still disable individual browsers with
`AppCache.config`. [#2241](https://github.com/meteor/meteor/issues/2241)
* The `forceApprovalPrompt` option can now be specified in `Accounts.ui.config`
in addition to `Meteor.loginWithGoogle`. [#2149](https://github.com/meteor/meteor/issues/2149)
* Don't leak websocket clients in server-to-server DDP in some cases (and fix
"Got open from inactive client"
error). https://github.com/faye/websocket-driver-node/pull/8
* Updated OAuth url for login with Meetup.
* Allow minimongo `changed` callbacks to mutate their `oldDocument`
argument. [#2231](https://github.com/meteor/meteor/issues/2231)
* Fix upsert called from client with no callback. [#2413](https://github.com/meteor/meteor/issues/2413)
* Avoid a few harmless exceptions in OplogObserveDriver.
* Refactor `observe-sequence` package.
* Fix `spiderable` race condition.
* Re-apply our fix of NPM bug https://github.com/npm/npm/issues/3265 which got
accidentally reverted upstream.
* Workaround for a crash in recent Safari
versions. https://github.com/meteor/meteor/commit/e897539adb
* Upgraded dependencies:
- less: 1.7.4 (from 1.7.1)
- tar: 1.0.1 (from 0.1.19)
- fstream: 1.0.2 (from 0.1.25)
Patches by GitHub users Cangit, dandv, ImtiazMajeed, MaximDubrovin, mitar,
mquandalle, rcy, RichardLitt, thatneat, and twhy.
## v0.8.3.1, 2014-Dec-09 (backport)
* Fix a security issue in allow/deny rules that could result in data
loss. If your app uses allow/deny rules, or uses packages that use
allow/deny rules, we recommend that you update immediately.
Backport from 1.0.1.
## v0.8.3, 2014-Jul-29
#### Blaze
* Refactor Blaze to simplify internals while preserving the public
API. `UI.Component` has been replaced with `Blaze.View.`
* Fix performance issues and memory leaks concerning event handlers.
* Add `UI.remove`, which removes a template after `UI.render`/`UI.insert`.
* Add `this.autorun` to the template instance, which is like `Deps.autorun`
but is automatically stopped when the template is destroyed.
* Create `<a>` tags as SVG elements when they have `xlink:href`
attributes. (Previously, `<a>` tags inside SVGs were never created as
SVG elements.) [#2178](https://github.com/meteor/meteor/issues/2178)
* Throw an error in `{{foo bar}}` if `foo` is missing or not a function.
* Cursors returned from template helpers for #each should implement
the `observeChanges` method and don't have to be Minimongo cursors
(allowing new custom data stores for Blaze like Miniredis).
* Remove warnings when {{#each}} iterates over a list of strings,
numbers, or other items that contains duplicates. [#1980](https://github.com/meteor/meteor/issues/1980)
#### Meteor Accounts
* Fix regression in 0.8.2 where an exception would be thrown if
`Meteor.loginWithPassword` didn't have a callback. Callbacks to
`Meteor.loginWithPassword` are now optional again. [#2255](https://github.com/meteor/meteor/issues/2255)
* Fix OAuth popup flow in mobile apps that don't support
`window.opener`. [#2302](https://github.com/meteor/meteor/issues/2302)
* Fix "Email already exists" error with MongoDB 2.6. [#2238](https://github.com/meteor/meteor/issues/2238)
#### mongo-livedata and minimongo
* Fix performance issue where a large batch of oplog updates could block
the node event loop for long periods. [#2299](https://github.com/meteor/meteor/issues/2299).
* Fix oplog bug resulting in error message "Buffer inexplicably empty". [#2274](https://github.com/meteor/meteor/issues/2274)
* Fix regression from 0.8.2 that caused collections to appear empty in
reactive `findOne()` or `fetch` queries that run before a mutator
returns. [#2275](https://github.com/meteor/meteor/issues/2275)
#### Miscellaneous
* Stop including code by default that automatically refreshes the page
if JavaScript and CSS don't load correctly. While this code is useful
in some multi-server deployments, it can cause infinite refresh loops
if there are errors on the page. Add the `reload-safetybelt` package
to your app if you want to include this code.
* On the server, `Meteor.startup(c)` now calls `c` immediately if the
server has already started up, matching the client behavior. [#2239](https://github.com/meteor/meteor/issues/2239)
* Add support for server-side source maps when debugging with
`node-inspector`.
* Add `WebAppInternals.addStaticJs()` for adding static JavaScript code
to be served in the app, inline if allowed by `browser-policy`.
* Make the `tinytest/run` method return immediately, so that `wait`
method calls from client tests don't block on server tests completing.
* Log errors from method invocations on the client if there is no
callback provided.
* Upgraded dependencies:
- node: 0.10.29 (from 0.10.28)
- less: 1.7.1 (from 1.6.1)
Patches contributed by GitHub users Cangit, cmather, duckspeaker, zol.
## v0.8.2, 2014-Jun-23
#### Meteor Accounts
* Switch `accounts-password` to use bcrypt to store passwords on the
server. (Previous versions of Meteor used a protocol called SRP.)
Users will be transparently transitioned when they log in. This
transition is one-way, so you cannot downgrade a production app once
you upgrade to 0.8.2. If you are maintaining an authenticating DDP
client:
- Clients that use the plaintext password login handler (i.e. call
the `login` method with argument `{ password: <plaintext
password> }`) will continue to work, but users will not be
transitioned from SRP to bcrypt when logging in with this login
handler.
- Clients that use SRP will no longer work. These clients should
instead directly call the `login` method, as in
`Meteor.loginWithPassword`. The argument to the `login` method
can be either:
- `{ password: <plaintext password> }`, or
- `{ password: { digest: <password hash>, algorithm: "sha-256" } }`,
where the password hash is the hex-encoded SHA256 hash of the
plaintext password.
* Show the display name of the currently logged-in user after following
an email verification link or a password reset link in `accounts-ui`.
* Add a `userEmail` option to `Meteor.loginWithMeteorDeveloperAccount`
to pre-fill the user's email address in the OAuth popup.
* Ensure that the user object has updated token information before
it is passed to email template functions. [#2210](https://github.com/meteor/meteor/issues/2210)
* Export the function that serves the HTTP response at the end of an
OAuth flow as `OAuth._endOfLoginResponse`. This function can be
overridden to make the OAuth popup flow work in certain mobile
environments where `window.opener` is not supported.
* Remove support for OAuth redirect URLs with a `redirect` query
parameter. This OAuth flow was never documented and never fully
worked.
#### Blaze
* Blaze now tracks individual CSS rules in `style` attributes and won't
overwrite changes to them made by other JavaScript libraries.
* Add `{{> UI.dynamic}}` to make it easier to dynamically render a
template with a data context.
* Add `UI._templateInstance()` for accessing the current template
instance from within a block helper.
* Add `UI._parentData(n)` for accessing parent data contexts from
within a block helper.
* Add preliminary API for registering hooks to run when Blaze intends to
insert, move, or remove DOM elements. For example, you can use these
hooks to animate nodes as they are inserted, moved, or removed. To use
them, you can set the `_uihooks` property on a container DOM
element. `_uihooks` is an object that can have any subset of the
following three properties:
- `insertElement: function (node, next)`: called when Blaze intends
to insert the DOM element `node` before the element `next`
- `moveElement: function (node, next)`: called when Blaze intends to
move the DOM element `node` before the element `next`
- `removeElement: function (node)`: called when Blaze intends to
remove the DOM element `node`
Note that when you set one of these functions on a container
element, Blaze will not do the actual operation; it's your
responsibility to actually insert, move, or remove the node (by
calling `$(node).remove()`, for example).
* The `findAll` method on template instances now returns a vanilla
array, not a jQuery object. The `$` method continues to
return a jQuery object. [#2039](https://github.com/meteor/meteor/issues/2039)
* Fix a Blaze memory leak by cleaning up event handlers when a template
instance is destroyed. [#1997](https://github.com/meteor/meteor/issues/1997)
* Fix a bug where helpers used by {{#with}} were still re-running when
their reactive data sources changed after they had been removed from
the DOM.
* Stop not updating form controls if they're focused. If a field is
edited by one user while another user is focused on it, it will just
lose its value but maintain its focus. [#1965](https://github.com/meteor/meteor/issues/1965)
* Add `_nestInCurrentComputation` option to `UI.render`, fixing a bug in
{{#each}} when an item is added inside a computation that subsequently
gets invalidated. [#2156](https://github.com/meteor/meteor/issues/2156)
* Fix bug where "=" was not allowed in helper arguments. [#2157](https://github.com/meteor/meteor/issues/2157)
* Fix bug when a template tag immediately follows a Spacebars block
comment. [#2175](https://github.com/meteor/meteor/issues/2175)
#### Command-line tool
* Add --directory flag to `meteor bundle`. Setting this flag outputs a
directory rather than a tarball.
* Speed up updates of NPM modules by upgrading Node to include our fix for
https://github.com/npm/npm/issues/3265 instead of passing `--force` to
`npm install`.
* Always rebuild on changes to npm-shrinkwrap.json files. [#1648](https://github.com/meteor/meteor/issues/1648)
* Fix uninformative error message when deploying to long hostnames. [#1208](https://github.com/meteor/meteor/issues/1208)
* Increase a buffer size to avoid failing when running MongoDB due to a
large number of processes running on the machine, and fix the error
message when the failure does occur. [#2158](https://github.com/meteor/meteor/issues/2158)
* Clarify a `meteor mongo` error message when using the MONGO_URL
environment variable. [#1256](https://github.com/meteor/meteor/issues/1256)
#### Testing
* Run server tests from multiple clients serially instead of in
parallel. This allows testing features that modify global server
state. [#2088](https://github.com/meteor/meteor/issues/2088)
#### Security
* Add Content-Type headers on JavaScript and CSS resources.
* Add `X-Content-Type-Options: nosniff` header to
`browser-policy-content`'s default policy. If you are using
`browser-policy-content` and you don't want your app to send this
header, then call `BrowserPolicy.content.allowContentTypeSniffing()`.
* Use `Meteor.absoluteUrl()` to compute the redirect URL in the `force-ssl`
package (instead of the host header).
#### Miscellaneous
* Allow `check` to work on the server outside of a Fiber. [#2136](https://github.com/meteor/meteor/issues/2136)
* EJSON custom type conversion functions should not be permitted to yield. [#2136](https://github.com/meteor/meteor/issues/2136)
* The legacy polling observe driver handles errors communicating with MongoDB
better and no longer gets "stuck" in some circumstances.
* Automatically rewind cursors before calls to `fetch`, `forEach`, or `map`. On
the client, don't cache the return value of `cursor.count()` (consistently
with the server behavior). `cursor.rewind()` is now a no-op. [#2114](https://github.com/meteor/meteor/issues/2114)
* Remove an obsolete hack in reporting line numbers for LESS errors. [#2216](https://github.com/meteor/meteor/issues/2216)
* Avoid exceptions when accessing localStorage in certain Internet
Explorer configurations. [#1291](https://github.com/meteor/meteor/issues/1291), [#1688](https://github.com/meteor/meteor/issues/1688).
* Make `handle.ready()` reactively stop, where `handle` is a
subscription handle.
* Fix an error message from `audit-argument-checks` after login.
* Make the DDP server send an error if the client sends a connect
message with a missing or malformed `support` field. [#2125](https://github.com/meteor/meteor/issues/2125)
* Fix missing `jquery` dependency in the `amplify` package. [#2113](https://github.com/meteor/meteor/issues/2113)
* Ban inserting EJSON custom types as documents. [#2095](https://github.com/meteor/meteor/issues/2095)
* Fix incorrect URL rewrites in stylesheets. [#2106](https://github.com/meteor/meteor/issues/2106)
* Upgraded dependencies:
- node: 0.10.28 (from 0.10.26)
- uglify-js: 2.4.13 (from 2.4.7)
- sockjs server: 0.3.9 (from 0.3.8)
- websocket-driver: 0.3.4 (from 0.3.2)
- stylus: 0.46.3 (from 0.42.3)
Patches contributed by GitHub users awwx, babenzele, Cangit, dandv,
ducdigital, emgee3, felixrabe, FredericoC, jbruni, kentonv, mizzao,
mquandalle, subhog, tbjers, tmeasday.
## v0.8.1.3, 2014-May-22
* Fix a security issue in the `spiderable` package. `spiderable` now
uses the ROOT_URL environment variable instead of the Host header to
determine which page to snapshot.
* Fix hardcoded Twitter URL in `oauth1` package. This fixes a regression
in 0.8.0.1 that broke Atmosphere packages that do OAuth1
logins. [#2154](https://github.com/meteor/meteor/issues/2154).
* Add `credentialSecret` argument to `Google.retrieveCredential`, which
was forgotten in a previous release.
* Remove nonexistent `-a` and `-r` aliases for `--add` and `--remove` in
`meteor help authorized`. [#2155](https://github.com/meteor/meteor/issues/2155)
* Add missing `underscore` dependency in the `oauth-encryption` package. [#2165](https://github.com/meteor/meteor/issues/2165)
* Work around IE8 bug that caused some apps to fail to render when
minified. [#2037](https://github.com/meteor/meteor/issues/2037).
## v0.8.1.2, 2014-May-12
* Fix memory leak (introduced in 0.8.1) by making sure to unregister
sessions at the server when they are closed due to heartbeat timeout.
* Add `credentialSecret` argument to `Google.retrieveCredential`,
`Facebook.retrieveCredential`, etc., which is needed to use them as of
0.8.1. [#2118](https://github.com/meteor/meteor/issues/2118)
* Fix 0.8.1 regression that broke apps using a `ROOT_URL` with a path
prefix. [#2109](https://github.com/meteor/meteor/issues/2109)
## v0.8.1.1, 2014-May-01
* Fix 0.8.1 regression preventing clients from specifying `_id` on insert. [#2097](https://github.com/meteor/meteor/issues/2097)
* Fix handling of malformed URLs when merging CSS files. [#2103](https://github.com/meteor/meteor/issues/2103), [#2093](https://github.com/meteor/meteor/issues/2093)
* Loosen the checks on the `options` argument to `Collection.find` to
allow undefined values.
## v0.8.1, 2014-Apr-30
#### Meteor Accounts
* Fix a security flaw in OAuth1 and OAuth2 implementations. If you are
using any OAuth accounts packages (such as `accounts-google` or
`accounts-twitter`), we recommend that you update immediately and log
out your users' current sessions with the following MongoDB command:
$ db.users.update({}, { $set: { 'services.resume.loginTokens': [] } }, { multi: true });
* OAuth redirect URLs are now required to be on the same origin as your app.
* Log out a user's other sessions when they change their password.
* Store pending OAuth login results in the database instead of
in-memory, so that an OAuth flow succeeds even if different requests
go to different server processes.
* When validateLoginAttempt callbacks return false, don't override a more
specific error message.
* Add `Random.secret()` for generating security-critical secrets like
login tokens.
* `Meteor.logoutOtherClients` now calls the user callback when other
login tokens have actually been removed from the database, not when
they have been marked for eventual removal. [#1915](https://github.com/meteor/meteor/issues/1915)
* Rename `Oauth` to `OAuth`. `Oauth` is now an alias for backwards
compatibility.
* Add `oauth-encryption` package for encrypting sensitive account
credentials in the database.
* A validate login hook can now override the exception thrown from
`beginPasswordExchange` like it can for other login methods.
* Remove an expensive observe over all users in the `accounts-base`
package.
#### Blaze
* Disallow `javascript:` URLs in URL attribute values by default, to
help prevent cross-site scripting bugs. Call
`UI._allowJavascriptUrls()` to allow them.
* Fix `UI.toHTML` on templates containing `{{#with}}`.
* Fix `{{#with}}` over a data context that is mutated. [#2046](https://github.com/meteor/meteor/issues/2046)
* Clean up autoruns when calling `UI.toHTML`.
* Properly clean up event listeners when removing templates.
* Add support for `{{!-- block comments --}}` in Spacebars. Block comments may
contain `}}`, so they are more useful than `{{! normal comments}}` for
commenting out sections of Spacebars templates.
* Don't dynamically insert `<tbody>` tags in reactive tables
* When handling a custom jQuery event, additional arguments are
no longer lost -- they now come after the template instance
argument. [#1988](https://github.com/meteor/meteor/issues/1988)
#### DDP and MongoDB
* Extend latency compensation to support an arbitrary sequence of
inserts in methods. Previously, documents created inside a method
stub on the client would eventually be replaced by new documents
from the server, causing the screen to flicker. Calling `insert`
inside a method body now generates the same ID on the client (inside
the method stub) and on the server. A sequence of inserts also
generates the same sequence of IDs. Code that wants a random stream
that is consistent between method stub and real method execution can
get one with `DDP.randomStream`.
https://trello.com/c/moiiS2rP/57-pattern-for-creating-multiple-database-records-from-a-method
* The document passed to the `insert` callback of `allow` and `deny` now only
has a `_id` field if the client explicitly specified one; this allows you to
use `allow`/`deny` rules to prevent clients from specifying their own
`_id`. As an exception, `allow`/`deny` rules with a `transform` always have an
`_id`.
* DDP now has an implementation of bidirectional heartbeats which is consistent
across SockJS and websocket transports. This enables connection keepalive and
allows servers and clients to more consistently and efficiently detect
disconnection.
* The DDP protocol version number has been incremented to "pre2" (adding
randomSeed and heartbeats).
* The oplog observe driver handles errors communicating with MongoDB
better and knows to re-poll all queries after a MongoDB failover.
* Fix bugs involving mutating DDP method arguments.
#### meteor command-line tool
* Move boilerplate HTML from tools to webapp. Change internal
`Webapp.addHtmlAttributeHook` API.
* Add `meteor list-sites` command for listing the sites that you have
deployed to meteor.com with your Meteor developer account.
* Third-party template languages can request that their generated source loads
before other JavaScript files, just like *.html files, by passing the
isTemplate option to Plugin.registerSourceHandler.
* You can specify a particular interface for the dev mode runner to bind to with
`meteor -p host:port`.
* Don't include proprietary tar tags in bundle tarballs.
* Convert relative URLs to absolute URLs when merging CSS files.
#### Upgraded dependencies
* Node.js from 0.10.25 to 0.10.26.
* MongoDB driver from 1.3.19 to 1.4.1
* stylus: 0.42.3 (from 0.42.2)
* showdown: 0.3.1
* css-parse: an unreleased version (from 1.7.0)
* css-stringify: an unreleased version (from 1.4.1)
Patches contributed by GitHub users aldeed, apendua, arbesfeld, awwx, dandv,
davegonzalez, emgee3, justinsb, mquandalle, Neftedollar, Pent, sdarnell,
and timhaines.
## v0.8.0.1, 2014-Apr-21
* Fix security flaw in OAuth1 implementation. Clients can no longer
choose the callback_url for OAuth1 logins.
## v0.8.0, 2014-Mar-27
Meteor 0.8.0 introduces Blaze, a total rewrite of our live templating engine,
replacing Spark. Advantages of Blaze include:
* Better interoperability with jQuery plugins and other techniques which
directly manipulate the DOM
* More fine-grained updates: only the specific elements or attributes that
change are touched rather than the entire template
* A fully documented templating language
* No need for the confusing `{{#constant}}`, `{{#isolate}}`, and `preserve`
directives
* Uses standard jQuery delegation (`.on`) instead of our custom implementation
* Blaze supports live SVG templates that work just like HTML templates
See
[the Using Blaze wiki page](https://github.com/meteor/meteor/wiki/Using-Blaze)
for full details on upgrading your app to 0.8.0. This includes:
* The `Template.foo.rendered` callback is now only called once when the template
is rendered, rather than repeatedly as it is "re-rendered", because templates
now directly update changed data instead of fully re-rendering.
* The `accounts-ui` login buttons are now invoked as a `{{> loginButtons}}`
rather than as `{{loginButtons}}`.
* Previous versions of Meteor used a heavily modified version of the Handlebars
templating language. In 0.8.0, we've given it its own name: Spacebars!
Spacebars has an
[explicit specification](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md)
instead of being defined as a series of changes to Handlebars. There are some
incompatibilities with our previous Handlebars fork, such as a
[different way of specifying dynamic element attributes](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#in-attribute-values)
and a
[new way of defining custom block helpers](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#custom-block-helpers).
* Your template files must consist of
[well-formed HTML](https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md#html-dialect). Invalid
HTML is now a compilation failure. (There is a current limitation in our HTML
parser such that it does not support
[omitting end tags](http://www.w3.org/TR/html5/syntax.html#syntax-tag-omission)
on elements such as `<P>` and `<LI>`.)
* `Template.foo` is no longer a function. It is instead a
"component". Components render to an intermediate representation of an HTML
tree, not a string, so there is no longer an easy way to render a component to
a static HTML string.
* `Meteor.render` and `Spark.render` have been removed. Use `UI.render` and
`UI.insert` instead.
* The `<body>` tag now defines a template just like the `<template>` tag, which
can have helpers and event handlers. Define them directly on the object
`UI.body`.
* Previous versions of Meteor shipped with a synthesized `tap` event,
implementing a zero-delay click event on mobile browsers. Unfortunately, this
event never worked very well. We're eliminating it. Instead, use one of the
excellent third party solutions.
* The `madewith` package (which supported adding a badge to your website
displaying its score from http://madewith.meteor.com/) has been removed, as it
is not compatible with the new version of that site.
* The internal `spark`, `liverange`, `universal-events`, and `domutils` packages
have been removed.
* The `Handlebars` namespace has been deprecated. `Handlebars.SafeString` is
now `Spacebars.SafeString`, and `Handlebars.registerHelper` is now
`UI.registerHelper`.
Patches contributed by GitHub users cmather and mart-jansink.
## v0.7.2.3, 2014-Dec-09 (backport)
* Fix a security issue in allow/deny rules that could result in data
loss. If your app uses allow/deny rules, or uses packages that use
allow/deny rules, we recommend that you update immediately.
Backport from 1.0.1.
## v0.7.2.2, 2014-Apr-21 (backport)
* Fix a security flaw in OAuth1 and OAuth2 implementations.
Backport from 0.8.1; see its entry for recommended actions to take.
## v0.7.2.1, 2014-Apr-30 (backport)
* Fix security flaw in OAuth1 implementation. Clients can no longer
choose the callback_url for OAuth1 logins.
Backport from 0.8.0.1.
## v0.7.2, 2014-Mar-18
* Support oplog tailing on queries with the `limit` option. All queries
except those containing `$near` or `$where` selectors or the `skip`
option can now be used with the oplog driver.
* Add hooks to login process: `Accounts.onLogin`,
`Accounts.onLoginFailure`, and `Accounts.validateLoginAttempt`. These
functions allow for rate limiting login attempts, logging an audit
trail, account lockout flags, and more. See:
http://docs.meteor.com/#accounts_validateloginattempt [#1815](https://github.com/meteor/meteor/issues/1815)
* Change the `Accounts.registerLoginHandler` API for custom login
methods. Login handlers now require a name and no longer have to deal
with generating resume tokens. See
https://github.com/meteor/meteor/blob/devel/packages/accounts-base/accounts_server.js
for details. OAuth based login handlers using the
`Oauth.registerService` packages are not affected.
* Add support for HTML email in `Accounts.emailTemplates`. [#1785](https://github.com/meteor/meteor/issues/1785)
* minimongo: Support `{a: {$elemMatch: {x: 1, $or: [{a: 1}, {b: 1}]}}}` [#1875](https://github.com/meteor/meteor/issues/1875)
* minimongo: Support `{a: {$regex: '', $options: 'i'}}` [#1874](https://github.com/meteor/meteor/issues/1874)
* minimongo: Fix sort implementation with multiple sort fields which each look
inside an array. eg, ensure that with sort key `{'a.x': 1, 'a.y': 1}`, the
document `{a: [{x: 0, y: 4}]}` sorts before
`{a: [{x: 0, y: 5}, {x: 1, y: 3}]}`, because the 3 should not be used as a
tie-breaker because it is not "next to" the tied 0s.
* minimongo: Fix sort implementation when selector and sort key share a field,
that field matches an array in the document, and only some values of the array
match the selector. eg, ensure that with sort key `{a: 1}` and selector
`{a: {$gt: 3}}`, the document `{a: [4, 6]}` sorts before `{a: [1, 5]}`,
because the 1 should not be used as a sort key because it does not match the
selector. (We only approximate the MongoDB behavior here by only supporting
relatively selectors.)
* Use `faye-websocket` (0.7.2) npm module instead of `websocket` (1.0.8) for
server-to-server DDP.
* Update Google OAuth package to use new `profile` and `email` scopes
instead of deprecated URL-based scopes. [#1887](https://github.com/meteor/meteor/issues/1887)
* Add `_throwFirstError` option to `Deps.flush`.
* Make `facts` package data available on the server as
`Facts._factsByPackage`.
* Fix issue where `LESS` compilation error could crash the `meteor run`
process. [#1877](https://github.com/meteor/meteor/issues/1877)
* Fix crash caused by empty HTTP host header in `meteor run` development
server. [#1871](https://github.com/meteor/meteor/issues/1871)
* Fix hot code reload in private browsing mode in Safari.
* Fix appcache size calculation to avoid erronious warnings. [#1847](https://github.com/meteor/meteor/issues/1847)
* Remove unused `Deps._makeNonReactive` wrapper function. Call
`Deps.nonreactive` directly instead.
* Avoid setting the `oplogReplay` on non-oplog collections. Doing so
caused mongod to crash.
* Add startup message to `test-in-console` to ease automation. [#1884](https://github.com/meteor/meteor/issues/1884)
* Upgraded dependencies
- amplify: 1.1.2 (from 1.1.0)
Patches contributed by GitHub users awwx, dandv, queso, rgould, timhaines, zol
## v0.7.1.2, 2014-Feb-27
* Fix bug in tool error handling that caused `meteor` to crash on Mac
OSX when no computer name is set.
* Work around a bug that caused MongoDB to fail an assertion when using
tailable cursors on non-oplog collections.
## v0.7.1.1, 2014-Feb-24
* Integrate with Meteor developer accounts, a new way of managing your
meteor.com deployed sites. When you use `meteor deploy`, you will be
prompted to create a developer account.
- Once you've created a developer account, you can log in and out
from the command line with `meteor login` and `meteor logout`.
- You can claim legacy sites with `meteor claim`. This command will
prompt you for your site password if you are claiming a
password-protected site; after claiming it, you will not need to
enter the site password again.
- You can add or remove authorized users, and view the list of
authorized users, for a site with `meteor authorized`.
- You can view your current username with `meteor whoami`.
- This release also includes the `accounts-meteor-developer` package
for building Meteor apps that allow users to log in with their own
developer accounts.
* Improve the oplog tailing implementation for getting real-time database
updates from MongoDB.
- Add support for all operators except `$where` and `$near`. Limit and
skip are not supported yet.
- Add optimizations to avoid needless data fetches from MongoDB.
- Fix an error ("Cannot call method 'has' of null") in an oplog
callback. [#1767](https://github.com/meteor/meteor/issues/1767)
* Add and improve support for minimongo operators.
- Support `$comment`.
- Support `obj` name in `$where`.
- `$regex` matches actual regexps properly.
- Improve support for `$nin`, `$ne`, `$not`.
- Support using `{ $in: [/foo/, /bar/] }`. [#1707](https://github.com/meteor/meteor/issues/1707)
- Support `{$exists: false}`.
- Improve type-checking for selectors.
- Support `{x: {$elemMatch: {$gt: 5}}}`.
- Match Mongo's behavior better when there are arrays in the document.
- Support `$near` with sort.
- Implement updates with `{ $set: { 'a.$.b': 5 } }`.
- Support `{$type: 4}` queries.
- Optimize `remove({})` when observers are paused.
- Make update-by-id constant time.
- Allow `{$set: {'x._id': 1}}`. [#1794](https://github.com/meteor/meteor/issues/1794)
* Upgraded dependencies
- node: 0.10.25 (from 0.10.22). The workaround for specific Node
versions from 0.7.0 is now removed; 0.10.25+ is supported.
- jquery: 1.11.0 (from 1.8.2). See
http://jquery.com/upgrade-guide/1.9/ for upgrade instructions.
- jquery-waypoints: 2.0.4 (from 1.1.7). Contains
backwards-incompatible changes.
- source-map: 0.3.2 (from 0.3.30) [#1782](https://github.com/meteor/meteor/issues/1782)
- websocket-driver: 0.3.2 (from 0.3.1)
- http-proxy: 1.0.2 (from a pre-release fork of 1.0)
- semver: 2.2.1 (from 2.1.0)
- request: 2.33.0 (from 2.27.0)
- fstream: 0.1.25 (from 0.1.24)
- tar: 0.1.19 (from 0.1.18)
- eachline: a fork of 2.4.0 (from 2.3.3)
- source-map: 0.1.31 (from 0.1.30)
- source-map-support: 0.2.5 (from 0.2.3)
- mongo: 2.4.9 (from 2.4.8)
- openssl in mongo: 1.0.1f (from 1.0.1e)
- kexec: 0.2.0 (from 0.1.1)
- less: 1.6.1 (from 1.3.3)
- stylus: 0.42.2 (from 0.37.0)
- nib: 1.0.2 (from 1.0.0)
- coffeescript: 1.7.1 (from 1.6.3)
* CSS preprocessing and sourcemaps:
- Add sourcemap support for CSS stylesheet preprocessors. Use
sourcemaps for stylesheets compiled with LESS.
- Improve CSS minification to deal with `@import` statements correctly.
- Lint CSS files for invalid `@` directives.
- Change the recommended suffix for imported LESS files from
`.lessimport` to `.import.less`. Add `.import.styl` to allow
`stylus` imports. `.lessimport` continues to work but is deprecated.
* Add `clientAddress` and `httpHeaders` to `this.connection` in method
calls and publish functions.
* Hash login tokens before storing them in the database. Legacy unhashed
tokens are upgraded to hashed tokens in the database as they are used
in login requests.
* Change default accounts-ui styling and add more CSS classes.
* Refactor command-line tool. Add test harness and better tests. Run
`meteor self-test --help` for info on running the tools test suite.
* Speed up application re-build in development mode by re-using file
hash computation between file change watching code and application
build code..
* Fix issues with documents containing a key named `length` with a
numeric value. Underscore treated these as arrays instead of objects,
leading to exceptions when . Patch Underscore to not treat plain
objects (`x.constructor === Object`) with numeric `length` fields as
arrays. [#594](https://github.com/meteor/meteor/issues/594) [#1737](https://github.com/meteor/meteor/issues/1737)
* Deprecate `Accounts.loginServiceConfiguration` in favor of
`ServiceConfiguration.configurations`, exported by the
`service-configuration` package. `Accounts.loginServiceConfiguration`
is maintained for backwards-compatibility, but it is defined in a
`Meteor.startup` block and so cannot be used from top-level code.
* Cursors with a field specifier containing `{_id: 0}` can no longer be
used with `observeChanges` or `observe`. This includes the implicit
calls to these functions that are done when returning a cursor from a
publish function or using `{{#each}}`.
* Transform functions must return objects and may not change the `_id`
field, though they may leave it out.
* Remove broken IE7 support from the `localstorage` package. Meteor
accounts logins no longer persist in IE7.
* Fix the `localstorage` package when used with Safari in private
browsing mode. This fixes a problem with login token storage and
account login. [#1291](https://github.com/meteor/meteor/issues/1291)
* Types added with `EJSON.addType` now have default `clone` and `equals`
implementations. Users may still specify `clone` or `equals` functions
to override the default behavior. [#1745](https://github.com/meteor/meteor/issues/1745)
* Add `frame-src` to `browser-policy-content` and account for
cross-browser CSP disparities.
* Deprecate `Oauth.initiateLogin` in favor of `Oauth.showPopup`.
* Add `WebApp.rawConnectHandlers` for adding connect handlers that run
before any other Meteor handlers, except `connect.compress()`. Raw
connect handlers see the URL's full path (even if ROOT_URL contains a
non-empty path) and they run before static assets are served.
* Add `Accounts.connection` to allow using Meteor accounts packages with
a non-default DDP connection.
* Detect and reload if minified CSS files fail to load at startup. This
prevents the application from running unstyled if the page load occurs
while the server is switching versions.
* Allow Npm.depends to specify any http or https URL containing a full
40-hex-digit SHA. [#1686](https://github.com/meteor/meteor/issues/1686)
* Add `retry` package for connection retry with exponential backoff.
* Pass `update` and `remove` return values correctly when using
collections validated with `allow` and `deny` rules. [#1759](https://github.com/meteor/meteor/issues/1759)
* If you're using Deps on the server, computations and invalidation
functions are not allowed to yield. Throw an error instead of behaving
unpredictably.
* Fix namespacing in coffeescript files added to a package with the
`bare: true` option. [#1668](https://github.com/meteor/meteor/issues/1668)
* Fix races when calling login and/or logoutOtherClients from multiple
tabs. [#1616](https://github.com/meteor/meteor/issues/1616)
* Include oauth_verifier as a header rather than a parameter in
the `oauth1` package. [#1825](https://github.com/meteor/meteor/issues/1825)
* Fix `force-ssl` to allow local development with `meteor run` in IPv6
environments. [#1751](https://github.com/meteor/meteor/issues/1751)`
* Allow cursors on named local collections to be returned from a publish
function in an array. [#1820](https://github.com/meteor/meteor/issues/1820)
* Fix build failure caused by a directory in `programs/` without a
package.js file.
* Do a better job of handling shrinkwrap files when an npm module
depends on something that isn't a semver. [#1684](https://github.com/meteor/meteor/issues/1684)
* Fix failures updating npm dependencies when a node_modules directory
exists above the project directory. [#1761](https://github.com/meteor/meteor/issues/1761)
* Preserve permissions (eg, executable bit) on npm files. [#1808](https://github.com/meteor/meteor/issues/1808)
* SockJS tweak to support relative base URLs.
* Don't leak sockets on error in dev-mode proxy.
* Clone arguments to `added` and `changed` methods in publish
functions. This allows callers to reuse objects and prevents already
published data from changing after the fact. [#1750](https://github.com/meteor/meteor/issues/1750)
* Ensure springboarding to a different meteor tools version always uses
`exec` to run the old version. This simplifies process management for
wrapper scripts.
Patches contributed by GitHub users DenisGorbachev, EOT, OyoKooN, awwx,
dandv, icellan, jfhamlin, marcandre, michaelbishop, mitar, mizzao,
mquandalle, paulswartz, rdickert, rzymek, timhaines, and yeputons.
## v0.7.0.1, 2013-Dec-20
* Two fixes to `meteor run` Mongo startup bugs that could lead to hangs with the
message "Initializing mongo database... this may take a moment.". [#1696](https://github.com/meteor/meteor/issues/1696)
* Apply the Node patch to 0.10.24 as well (see the 0.7.0 section for details).
* Fix gratuitous IE7 incompatibility. [#1690](https://github.com/meteor/meteor/issues/1690)
## v0.7.0, 2013-Dec-17
This version of Meteor contains a patch for a bug in Node 0.10 which
most commonly affects websockets. The patch is against Node version
0.10.22 and 0.10.23. We strongly recommend using one of these precise
versions of Node in production so that the patch will be applied. If you
use a newer version of Node with this version of Meteor, Meteor will not
apply the patch and will instead disable websockets.
* Rework how Meteor gets realtime database updates from MongoDB. Meteor
now reads the MongoDB "oplog" -- a special collection that records all
the write operations as they are applied to your database. This means
changes to the database are instantly noticed and reflected in Meteor,
whether they originated from Meteor or from an external database
client. Oplog tailing is automatically enabled in development mode
with `meteor run`, and can be enabled in production with the
`MONGO_OPLOG_URL` environment variable. Currently the only supported
selectors are equality checks; `$`-operators, `limit` and `skip`
queries fall back to the original poll-and-diff algorithm. See
https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver
for details.
* Add `Meteor.onConnection` and add `this.connection` to method
invocations and publish functions. These can be used to store data
associated with individual clients between subscriptions and method
calls. See http://docs.meteor.com/#meteor_onconnection for details. [#1611](https://github.com/meteor/meteor/issues/1611)
* Bundler failures cause non-zero exit code in `meteor run`. [#1515](https://github.com/meteor/meteor/issues/1515)
* Fix error when publish function callbacks are called during session shutdown.
* Rework hot code push. The new `autoupdate` package drives automatic
reloads on update using standard DDP messages instead of a hardcoded
message at DDP startup. Now the hot code push only triggers when
client code changes; server-only code changes will not cause the page
to reload.
* New `facts` package publishes internal statistics about Meteor.
* Add an explicit check that publish functions return a cursor, an array
of cursors, or a falsey value. This is a safety check to to prevent
users from accidentally returning Collection.findOne() or some other
value and expecting it to be published.
* Implement `$each`, `$sort`, and `$slice` options for minimongo's `$push`
modifier. [#1492](https://github.com/meteor/meteor/issues/1492)
* Introduce `--raw-logs` option to `meteor run` to disable log
coloring and timestamps.
* Add `WebAppInternals.setBundledJsCssPrefix()` to control where the
client loads bundled JavaScript and CSS files. This allows serving
files from a CDN to decrease page load times and reduce server load.
* Attempt to exit cleanly on `SIGHUP`. Stop accepting incoming
connections, kill DDP connections, and finish all outstanding requests
for static assets.
* In the HTTP server, only keep sockets with no active HTTP requests alive for 5
seconds.
* Fix handling of `fields` option in minimongo when only `_id` is present. [#1651](https://github.com/meteor/meteor/issues/1651)
* Fix issue where setting `process.env.MAIL_URL` in app code would not
alter where mail was sent. This was a regression in 0.6.6 from 0.6.5. [#1649](https://github.com/meteor/meteor/issues/1649)
* Use stderr instead of stdout (for easier automation in shell scripts) when
prompting for passwords and when downloading the dev bundle. [#1600](https://github.com/meteor/meteor/issues/1600)
* Ensure more downtime during file watching. [#1506](https://github.com/meteor/meteor/issues/1506)
* Fix `meteor run` with settings files containing non-ASCII characters. [#1497](https://github.com/meteor/meteor/issues/1497)
* Support `EJSON.clone` for `Meteor.Error`. As a result, they are properly
stringified in DDP even if thrown through a `Future`. [#1482](https://github.com/meteor/meteor/issues/1482)
* Fix passing `transform: null` option to `collection.allow()` to disable
transformation in validators. [#1659](https://github.com/meteor/meteor/issues/1659)
* Fix livedata error on `this.removed` during session shutdown. [#1540](https://github.com/meteor/meteor/issues/1540) [#1553](https://github.com/meteor/meteor/issues/1553)
* Fix incompatibility with Phusion Passenger by removing an unused line. [#1613](https://github.com/meteor/meteor/issues/1613)
* Ensure install script creates /usr/local on machines where it does not
exist (eg. fresh install of OSX Mavericks).
* Set x-forwarded-* headers in `meteor run`.
* Clean up package dirs containing only ".build".
* Check for matching hostname before doing end-of-oauth redirect.
* Only count files that actually go in the cache towards the `appcache`
size check. [#1653](https://github.com/meteor/meteor/issues/1653).
* Increase the maximum size spiderable will return for a page from 200kB
to 5MB.
* Upgraded dependencies:
* SockJS server from 0.3.7 to 0.3.8, including new faye-websocket module.
* Node from 0.10.21 to 0.10.22
* MongoDB from 2.4.6 to 2.4.8
* clean-css from 1.1.2 to 2.0.2
* uglify-js from a fork of 2.4.0 to 2.4.7
* handlebars npm module no longer available outside of handlebars package
Patches contributed by GitHub users AlexeyMK, awwx, dandv, DenisGorbachev,
emgee3, FooBarWidget, mitar, mcbain, rzymek, and sdarnell.
## v0.6.6.3, 2013-Nov-04
* Fix error when publish function callbacks are called during session
shutdown. [#1540](https://github.com/meteor/meteor/issues/1540) [#1553](https://github.com/meteor/meteor/issues/1553)
* Improve `meteor run` CPU usage in projects with many
directories. [#1506](https://github.com/meteor/meteor/issues/1506)
## v0.6.6.2, 2013-Oct-21
* Upgrade Node from 0.10.20 to 0.10.21 (security update).
## v0.6.6.1, 2013-Oct-12
* Fix file watching on OSX. Work around Node issue [#6251](https://github.com/meteor/meteor/issues/6251) by not using
fs.watch. [#1483](https://github.com/meteor/meteor/issues/1483)
## v0.6.6, 2013-Oct-10
#### Security
* Add `browser-policy` package for configuring and sending
Content-Security-Policy and X-Frame-Options HTTP headers.
[See the docs](http://docs.meteor.com/#browserpolicy) for more.
* Use cryptographically strong pseudorandom number generators when available.
#### MongoDB
* Add upsert support. `Collection.update` now supports the `{upsert:
true}` option. Additionally, add a `Collection.upsert` method which
returns the newly inserted object id if applicable.
* `update` and `remove` now return the number of documents affected. [#1046](https://github.com/meteor/meteor/issues/1046)
* `$near` operator for `2d` and `2dsphere` indices.
* The `fields` option to the collection methods `find` and `findOne` now works
on the client as well. (Operators such as `$elemMatch` and `$` are not yet
supported in `fields` projections.) [#1287](https://github.com/meteor/meteor/issues/1287)
* Pass an index and the cursor itself to the callbacks in `cursor.forEach` and
`cursor.map`, just like the corresponding `Array` methods. [#63](https://github.com/meteor/meteor/issues/63)
* Support `c.find(query, {limit: N}).count()` on the client. [#654](https://github.com/meteor/meteor/issues/654)
* Improve behavior of `$ne`, `$nin`, and `$not` selectors with objects containing
arrays. [#1451](https://github.com/meteor/meteor/issues/1451)
* Fix various bugs if you had two documents with the same _id field in
String and ObjectID form.
#### Accounts
* [Behavior Change] Expire login tokens periodically. Defaults to 90
days. Use `Accounts.config({loginExpirationInDays: null})` to disable
token expiration.
* [Behavior Change] Write dates generated by Meteor Accounts to Mongo as
Date instead of number; existing data can be converted by passing it
through `new Date()`. [#1228](https://github.com/meteor/meteor/issues/1228)
* Log out and close connections for users if they are deleted from the
database.
* Add Meteor.logoutOtherClients() for logging out other connections
logged in as the current user.
* `restrictCreationByEmailDomain` option in `Accounts.config` to restrict new
users to emails of specific domain (eg. only users with @meteor.com emails) or
a custom validator. [#1332](https://github.com/meteor/meteor/issues/1332)
* Support OAuth1 services that require request token secrets as well as
authentication token secrets. [#1253](https://github.com/meteor/meteor/issues/1253)
* Warn if `Accounts.config` is only called on the client. [#828](https://github.com/meteor/meteor/issues/828)
* Fix bug where callbacks to login functions could be called multiple
times when the client reconnects.
#### DDP
* Fix infinite loop if a client disconnects while a long yielding method is
running.
* Unfinished code to support DDP session resumption has been removed. Meteor
servers now stop processing messages from clients and reclaim memory
associated with them as soon as they are disconnected instead of a few minutes
later.
#### Tools
* The pre-0.6.5 `Package.register_extension` API has been removed. Use
`Package._transitional_registerBuildPlugin` instead, which was introduced in
0.6.5. (A bug prevented the 0.6.5 reimplementation of `register_extension`
from working properly anyway.)
* Support using an HTTP proxy in the `meteor` command line tool. This
allows the `update`, `deploy`, `logs`, and `mongo` commands to work
behind a proxy. Use the standard `http_proxy` environment variable to
specify your proxy endpoint. [#429](https://github.com/meteor/meteor/issues/429), [#689](https://github.com/meteor/meteor/issues/689), [#1338](https://github.com/meteor/meteor/issues/1338)
* Build Linux binaries on an older Linux machine. Meteor now supports
running on Linux machines with glibc 2.9 or newer (Ubuntu 10.04+, RHEL
and CentOS 6+, Fedora 10+, Debian 6+). Improve error message when running
on Linux with unsupported glibc, and include Mongo stderr if it fails
to start.
* Install NPM modules with `--force` to avoid corrupted local caches.
* Rebuild NPM modules in packages when upgrading to a version of Meteor that
uses a different version of Node.
* Disable the Mongo http interface. This lets you run meteor on two ports
differing by 1000 at the same time.
#### Misc
* [Known issue] Breaks support for pre-release OSX 10.9 'Mavericks'.
Will be addressed shortly. See issues:
https://github.com/joyent/node/issues/6251
https://github.com/joyent/node/issues/6296
* `EJSON.stringify` now takes options:
- `canonical` causes objects keys to be stringified in sorted order
- `indent` allows formatting control over the EJSON stringification
* EJSON now supports `Infinity`, `-Infinity` and `NaN`.
* Check that the argument to `EJSON.parse` is a string. [#1401](https://github.com/meteor/meteor/issues/1401)
* Better error from functions that use `Meteor._wrapAsync` (eg collection write
methods and `HTTP` methods) and in DDP server message processing. [#1387](https://github.com/meteor/meteor/issues/1387)
* Support `appcache` on Chrome for iOS.
* Support literate CoffeeScript files with the extension `.coffee.md` (in
addition to the already-supported `.litcoffee` extension). [#1407](https://github.com/meteor/meteor/issues/1407)
* Make `madewith` package work again (broken in 0.6.5). [#1448](https://github.com/meteor/meteor/issues/1448)
* Better error when passing a string to `{{#each}}`. [#722](https://github.com/meteor/meteor/issues/722)
* Add support for JSESSIONID cookies for sticky sessions. Set the
`USE_JSESSIONID` environment variable to enable placing a JSESSIONID
cookie on sockjs requests.
* Simplify the static analysis used to detect package-scope variables.
* Upgraded dependencies:
* Node from 0.8.24 to 0.10.20
* MongoDB from 2.4.4 to 2.4.6
* MongoDB driver from 1.3.17 to 1.3.19
* http-proxy from 0.10.1 to a pre-release of 1.0.0
* stylus from 0.30.1 to 0.37.0
* nib from 0.8.2 to 1.0.0
* optimist from 0.3.5 to 0.6.0
* semver from 1.1.0 to 2.1.0
* request from 2.12.0 to 2.27.0
* keypress from 0.1.0 to 0.2.1
* underscore from 1.5.1 to 1.5.2
* fstream from 0.1.21 to 0.1.24
* tar from 0.1.14 to 0.1.18
* source-map from 0.1.26 to 0.1.30
* source-map-support from a fork of 0.1.8 to 0.2.3
* escope from a fork of 0.0.15 to 1.0.0
* estraverse from 1.1.2-1 to 1.3.1
* simplesmtp from 0.1.25 to 0.3.10
* stream-buffers from 0.2.3 to 0.2.5
* websocket from 1.0.7 to 1.0.8
* cli-color from 0.2.2 to 0.2.3
* clean-css from 1.0.11 to 1.1.2
* UglifyJS2 from a fork of 2.3.6 to a different fork of 2.4.0
* connect from 2.7.10 to 2.9.0
* send from 0.1.0 to 0.1.4
* useragent from 2.0.1 to 2.0.7
* replaced byline with eachline 2.3.3
Patches contributed by GitHub users ansman, awwx, codeinthehole, jacott,
Maxhodges, meawoppl, mitar, mizzao, mquandalle, nathan-muir, RobertLowe, ryw,
sdarnell, and timhaines.
## v0.6.5.3, 2014-Dec-09 (backport)
* Fix a security issue in allow/deny rules that could result in data
loss. If your app uses allow/deny rules, or uses packages that use
allow/deny rules, we recommend that you update immediately.
Backport from 1.0.1.
## v0.6.5.2, 2013-Oct-21
* Upgrade Node from 0.8.24 to 0.8.26 (security patch)
## v0.6.5.1, 2013-Aug-28
* Fix syntax errors on lines that end with a backslash. [#1326](https://github.com/meteor/meteor/issues/1326)
* Fix serving static files with special characters in their name. [#1339](https://github.com/meteor/meteor/issues/1339)
* Upgrade `esprima` JavaScript parser to fix bug parsing complex regexps.
* Export `Spiderable` from `spiderable` package to allow users to set
`Spiderable.userAgentRegExps` to control what user agents are treated
as spiders.
* Add EJSON to standard-app-packages. [#1343](https://github.com/meteor/meteor/issues/1343)
* Fix bug in d3 tab character parsing.
* Fix regression when using Mongo ObjectIDs in Spark templates.
## v0.6.5, 2013-Aug-14
* New package system with package compiler and linker:
* Each package now has it own namespace for variable
declarations. Global variables used in a package are limited to
package scope.
* Packages must explicitly declare which symbols they export with
`api.export` in `package.js`.
* Apps and packages only see the exported symbols from packages they
explicitly use. For example, if your app uses package A which in
turn depends on package B, only package A's symbols will be
available in the app.
* Package names can only contain alphanumeric characters, dashes, and
dots. Packages with spaces and underscores must be renamed.
* Remove hardcoded list of required packages. New default
`standard-app-packages` package adds dependencies on the core Meteor
stack. This package can be removed to make an app with only parts of
the Meteor stack. `standard-app-packages` will be automatically
added to a project when it is updated to Meteor 0.6.5.
* Custom app packages in the `packages` directory are no longer
automatically used. They must be explicitly added to the app with
`meteor add <packagename>`. To help with the transition, all
packages in the `packages` directory will be automatically added to
the project when it is updated to Meteor 0.6.5.
* New "unipackage" on-disk format for built packages. Compiled packages are
cached and rebuilt only when their source or dependencies change.
* Add "unordered" and "weak" package dependency modes to allow
circular package dependencies and conditional code inclusion.
* New API (`_transitional_registerBuildPlugin`) for declaring
compilers, preprocessors, and file extension handlers. These new
build plugins are full compilation targets in their own right, and
have their own namespace, source files, NPM requirements, and package
dependencies. The old `register_extension` API is deprecated. Please
note that the `package.js` format and especially
`_transitional_registerBuildPlugin` are not frozen interfaces and
are subject to change in future releases.
* Add `api.imply`, which allows one package to "imply" another. If
package A implies package B, then anything that depends on package
A automatically depends on package B as well (and receives package
B's imports). This is useful for creating umbrella packages
(`standard-app-packages`) or sometimes for factoring common code
out of related packages (`accounts-base`).
* Move HTTP serving out of the server bootstrap and into the `webapp`
package. This allows building Meteor apps that are not web servers
(eg. command line tools, DDP clients, etc.). Connect middlewares can
now be registered on the new `WebApp.connectHandlers` instead of the
old `__meteor_bootstrap__.app`.
* The entire Meteor build process now has first-class source map
support. A source map is maintained for every source file as it
passes through the build pipeline. Currently, the source maps are
only served in development mode. Not all web browsers support source
maps yet and for those that do, you may have to turn on an option to
enable them. Source maps will always be used when reporting
exceptions on the server.
* Update the `coffeescript` package to generate source maps.
* Add new `Assets` API and `private` subdirectory for including and
accessing static assets on the server. http://docs.meteor.com/#assets
* Add `Meteor.disconnect`. Call this to disconnect from the
server and stop all live data updates. [#1151](https://github.com/meteor/meteor/issues/1151)
* Add `Match.Integer` to `check` for 32-bit signed integers.
* `Meteor.connect` has been renamed to `DDP.connect` and is now fully
supported on the server. Server-to-server DDP connections use
websockets, and can be used for both method calls and subscriptions.
* Rename `Meteor.default_connection` to `Meteor.connection` and
`Meteor.default_server` to `Meteor.server`.
* Rename `Meteor.http` to `HTTP`.
* `ROOT_URL` may now have a path part. This allows serving multiple
Meteor apps on the same domain.
* Support creating named unmanaged collections with
`new Meteor.Collection("name", {connection: null})`.
* New `Log` function in the `logging` package which prints with
timestamps, color, filenames and linenumbers.
* Include http response in errors from oauth providers. [#1246](https://github.com/meteor/meteor/issues/1246)
* The `observe` callback `movedTo` now has a fourth argument `before`.
* Move NPM control files for packages from `.npm` to
`.npm/package`. This is to allow build plugins such as `coffeescript`
to depend on NPM packages. Also, when removing the last NPM
dependency, clean up the `.npm` dir.
* Remove deprecated `Meteor.is_client` and `Meteor.is_server` variables.
* Implement "meteor bundle --debug" [#748](https://github.com/meteor/meteor/issues/748)
* Add `forceApprovalPrompt` option to `Meteor.loginWithGoogle`. [#1226](https://github.com/meteor/meteor/issues/1226)
* Make server-side Mongo `insert`s, `update`s, and `remove`s run
asynchronously when a callback is passed.
* Improve memory usage when calling `findOne()` on the server.
* Delete login tokens from server when user logs out.
* Rename package compatibility mode option to `add_files` from `raw` to
`bare`.
* Fix Mongo selectors of the form: {$regex: /foo/}.
* Fix Spark memory leak. [#1157](https://github.com/meteor/meteor/issues/1157)
* Fix EPIPEs during dev mode hot code reload.
* Fix bug where we would never quiesce if we tried to revive subs that errored
out (5e7138d)
* Fix bug where `this.fieldname` in handlebars template might refer to a
helper instead of a property of the current data context. [#1143](https://github.com/meteor/meteor/issues/1143)
* Fix submit events on IE8. [#1191](https://github.com/meteor/meteor/issues/1191)
* Handle `Meteor.loginWithX` being called with a callback but no options. [#1181](https://github.com/meteor/meteor/issues/1181)
* Work around a Chrome bug where hitting reload could cause a tab to
lose the DDP connection and never recover. [#1244](https://github.com/meteor/meteor/issues/1244)
* Upgraded dependencies:
* Node from 0.8.18 to 0.8.24
* MongoDB from 2.4.3 to 2.4.4, now with SSL support
* CleanCSS from 0.8.3 to 1.0.11
* Underscore from 1.4.4 to 1.5.1
* Fibers from 1.0.0 to 1.0.1
* MongoDB Driver from 1.3.7 to 1.3.17
Patches contributed by GitHub users btipling, mizzao, timhaines and zol.
## v0.6.4.1, 2013-Jul-19
* Update mongodb driver to use version 0.2.1 of the bson module.
## v0.6.4, 2013-Jun-10
* Separate OAuth flow logic from Accounts into separate packages. The
`facebook`, `github`, `google`, `meetup`, `twitter`, and `weibo`
packages can be used to perform an OAuth exchange without creating an
account and logging in. [#1024](https://github.com/meteor/meteor/issues/1024)
* If you set the `DISABLE_WEBSOCKETS` environment variable, browsers will not
attempt to connect to your app using Websockets. Use this if you know your
server environment does not properly proxy Websockets to reduce connection
startup time.
* Make `Meteor.defer` work in an inactive tab in iOS. [#1023](https://github.com/meteor/meteor/issues/1023)
* Allow new `Random` instances to be constructed with specified seed. This
can be used to create repeatable test cases for code that picks random
values. [#1033](https://github.com/meteor/meteor/issues/1033)
* Fix CoffeeScript error reporting to include source file and line
number again. [#1052](https://github.com/meteor/meteor/issues/1052)
* Fix Mongo queries which nested JavaScript RegExp objects inside `$or`. [#1089](https://github.com/meteor/meteor/issues/1089)
* Upgraded dependencies:
* Underscore from 1.4.2 to 1.4.4 [#776](https://github.com/meteor/meteor/issues/776)
* http-proxy from 0.8.5 to 0.10.1 [#513](https://github.com/meteor/meteor/issues/513)
* connect from 1.9.2 to 2.7.10
* Node mongodb client from 1.2.13 to 1.3.7 [#1060](https://github.com/meteor/meteor/issues/1060)
Patches contributed by GitHub users awwx, johnston, and timhaines.
## v0.6.3, 2013-May-15
* Add new `check` package for ensuring that a value matches a required
type and structure. This is used to validate untrusted input from the
client. See http://docs.meteor.com/#match for details.
* Use Websockets by default on supported browsers. This reduces latency
and eliminates the constant network spinner on iOS devices.
* With `autopublish` on, publish many useful fields on `Meteor.users`.
* Files in the `client/compatibility/` subdirectory of a Meteor app do
not get wrapped in a new variable scope. This is useful for
third-party libraries which expect `var` statements at the outermost
level to be global.
* Add synthetic `tap` event for use on touch enabled devices. This is a
replacement for `click` that fires immediately.
* When using the `http` package synchronously on the server, errors
are thrown rather than passed in `result.error`
* The `manager` option to the `Meteor.Collection` constructor is now called
`connection`. The old name still works for now. [#987](https://github.com/meteor/meteor/issues/987)
* The `localstorage-polyfill` smart package has been replaced by a
`localstorage` package, which defines a `Meteor._localStorage` API instead of
trying to replace the DOM `window.localStorage` facility. (Now, apps can use
the existence of `window.localStorage` to detect if the full localStorage API
is supported.) [#979](https://github.com/meteor/meteor/issues/979)
* Upgrade MongoDB from 2.2.1 to 2.4.3.
* Upgrade CoffeeScript from 1.5.0 to 1.6.2. [#972](https://github.com/meteor/meteor/issues/972)
* Faster reconnects when regaining connectivity. [#696](https://github.com/meteor/meteor/issues/696)
* `Email.send` has a new `headers` option to set arbitrary headers. [#963](https://github.com/meteor/meteor/issues/963)
* Cursor transform functions on the server no longer are required to return
objects with correct `_id` fields. [#974](https://github.com/meteor/meteor/issues/974)
* Rework `observe()` callback ordering in minimongo to improve fiber
safety on the server. This makes subscriptions on server to server DDP
more usable.
* Use binary search in minimongo when updating ordered queries. [#969](https://github.com/meteor/meteor/issues/969)
* Fix EJSON base64 decoding bug. [#1001](https://github.com/meteor/meteor/issues/1001)
* Support `appcache` on Chromium. [#958](https://github.com/meteor/meteor/issues/958)
Patches contributed by GitHub users awwx, jagill, spang, and timhaines.
## v0.6.2.1, 2013-Apr-24
* When authenticating with GitHub, include a user agent string. This
unbreaks "Sign in with GitHub"
Patch contributed by GitHub user pmark.
## v0.6.2, 2013-Apr-16
* Better error reporting:
* Capture real stack traces for `Meteor.Error`.
* Report better errors with misconfigured OAuth services.
* Add per-package upgrade notices to `meteor update`.
* Experimental server-to-server DDP support: `Meteor.connect` on the
server will connect to a remote DDP endpoint via WebSockets. Method
calls should work fine, but subscriptions and minimongo on the server
are still a work in progress.
* Upgrade d3 from 2.x to 3.1.4. See
https://github.com/mbostock/d3/wiki/Upgrading-to-3.0 for compatibility notes.
* Allow CoffeeScript to set global variables when using `use strict`. [#933](https://github.com/meteor/meteor/issues/933)
* Return the inserted documented ID from `LocalCollection.insert`. [#908](https://github.com/meteor/meteor/issues/908)
* Add Weibo token expiration time to `services.weibo.expiresAt`.
* `Spiderable.userAgentRegExps` can now be modified to change what user agents
are treated as spiders by the `spiderable` package.
* Prevent observe callbacks from affecting the arguments to identical
observes. [#855](https://github.com/meteor/meteor/issues/855)
* Fix meteor command line tool when run from a home directory with
spaces in its name. If you previously installed meteor release 0.6.0
or 0.6.1 you'll need to uninstall and reinstall meteor to support
users with spaces in their usernames (see
https://github.com/meteor/meteor/blob/master/README.md#uninstalling-meteor)
Patches contributed by GitHub users andreas-karlsson, awwx, jacott,
joshuaconner, and timhaines.
## v0.6.1, 2013-Apr-08
* Correct NPM behavior in packages in case there is a `node_modules` directory
somewhere above the app directory. [#927](https://github.com/meteor/meteor/issues/927)
* Small bug fix in the low-level `routepolicy` package.
Patches contributed by GitHub users andreas-karlsson and awwx.
## v0.6.0, 2013-Apr-04
* Meteor has a brand new distribution system! In this new system, code-named
Engine, packages are downloaded individually and on demand. All of the
packages in each official Meteor release are prefetched and cached so you can
still use Meteor while offline. You can have multiple releases of Meteor
installed simultaneously; apps are pinned to specific Meteor releases.
All `meteor` commands accept a `--release` argument to specify which release
to use; `meteor update` changes what release the app is pinned to.
Inside an app, the name of the release is available at `Meteor.release`.
When running Meteor directly from a git checkout, the release is ignored.
* Variables declared with `var` at the outermost level of a JavaScript
source file are now private to that file. Remove the `var` to share
a value between files.
* Meteor now supports any x86 (32- or 64-bit) Linux system, not just those which
use Debian or RedHat package management.
* Apps may contain packages inside a top-level directory named `packages`.
* Packages may depend on [NPM modules](https://npmjs.org), using the new
`Npm.depends` directive in their `package.js` file. (Note: if the NPM module
has architecture-specific binary components, bundles built with `meteor
bundle` or `meteor deploy` will contain the components as built for the
developer's platform and may not run on other platforms.)
* Meteor's internal package tests (as well as tests you add to your app's
packages with the unsupported `Tinytest` framework) are now run with the new
command `meteor test-packages`.
* `{{#each}}` helper can now iterate over falsey values without throwing an
exception. [#815](https://github.com/meteor/meteor/issues/815), [#801](https://github.com/meteor/meteor/issues/801)
* `{{#with}}` helper now only includes its block if its argument is not falsey,
and runs an `{{else}}` block if provided if the argument is falsey. [#770](https://github.com/meteor/meteor/issues/770), [#866](https://github.com/meteor/meteor/issues/866)
* Twitter login now stores `profile_image_url` and `profile_image_url_https`
attributes in the `user.services.twitter` namespace. [#788](https://github.com/meteor/meteor/issues/788)
* Allow packages to register file extensions with dots in the filename.
* When calling `this.changed` in a publish function, it is no longer an error to
clear a field which was never set. [#850](https://github.com/meteor/meteor/issues/850)
* Deps API
* Add `dep.depend()`, deprecate `Deps.depend(dep)` and
`dep.addDependent()`.
* If first run of `Deps.autorun` throws an exception, stop it and don't
rerun. This prevents a Spark exception when template rendering fails
("Can't call 'firstNode' of undefined").
* If an exception is thrown during `Deps.flush` with no stack, the
message is logged instead. [#822](https://github.com/meteor/meteor/issues/822)
* When connecting to MongoDB, use the JavaScript BSON parser unless specifically
requested in `MONGO_URL`; the native BSON parser sometimes segfaults. (Meteor
only started using the native parser in 0.5.8.)
* Calls to the `update` collection function in untrusted code may only use a
whitelisted list of modifier operators.
Patches contributed by GitHub users awwx, blackcoat, cmather, estark37,
mquandalle, Primigenus, raix, reustle, and timhaines.
## v0.5.9, 2013-Mar-14
* Fix regression in 0.5.8 that prevented users from editing their own
profile. [#809](https://github.com/meteor/meteor/issues/809)
* Fix regression in 0.5.8 where `Meteor.loggingIn()` would not update
reactively. [#811](https://github.com/meteor/meteor/issues/811)
## v0.5.8, 2013-Mar-13
* Calls to the `update` and `remove` collection functions in untrusted code may
no longer use arbitrary selectors. You must specify a single document ID when
invoking these functions from the client (other than in a method stub).
You may still use other selectors when calling `update` and `remove` on the
server and from client method stubs, so you can replace calls that are no
longer supported (eg, in event handlers) with custom method calls.
The corresponding `update` and `remove` callbacks passed to `allow` and `deny`
now take a single document instead of an array.
* Add new `appcache` package. Add this package to your project to speed
up page load and make hot code reload smoother using the HTML5
AppCache API. See http://docs.meteor.com/#appcache for details.
* Rewrite reactivity library. `Meteor.deps` is now `Deps` and has a new
API. `Meteor.autorun` and `Meteor.flush` are now called `Deps.autorun` and
`Deps.flush` (the old names still work for now). The other names under
`Meteor.deps` such as `Context` no longer exist. The new API is documented at
http://docs.meteor.com/#deps
* You can now provide a `transform` option to collections, which is a
function that documents coming out of that collection are passed
through. `find`, `findOne`, `allow`, and `deny` now take `transform` options,
which may override the Collection's `transform`. Specifying a `transform`
of `null` causes you to receive the documents unmodified.
* Publish functions may now return an array of cursors to publish. Currently,
the cursors must all be from different collections. [#716](https://github.com/meteor/meteor/issues/716)
* User documents have id's when `onCreateUser` and `validateNewUser` hooks run.
* Encode and store custom EJSON types in MongoDB.
* Support literate CoffeeScript files with the extension `.litcoffee`. [#766](https://github.com/meteor/meteor/issues/766)
* Add new login service provider for Meetup.com in `accounts-meetup` package.
* If you call `observe` or `observeChanges` on a cursor created with the
`reactive: false` option, it now only calls initial add callbacks and
does not continue watching the query. [#771](https://github.com/meteor/meteor/issues/771)
* In an event handler, if the data context is falsey, default it to `{}`
rather than to the global object. [#777](https://github.com/meteor/meteor/issues/777)
* Allow specifying multiple event handlers for the same selector. [#753](https://github.com/meteor/meteor/issues/753)
* Revert caching header change from 0.5.5. This fixes image flicker on redraw.
* Stop making `Session` available on the server; it's not useful there. [#751](https://github.com/meteor/meteor/issues/751)
* Force URLs in stack traces in browser consoles to be hyperlinks. [#725](https://github.com/meteor/meteor/issues/725)
* Suppress spurious `changed` callbacks with empty `fields` from
`Cursor.observeChanges`.
* Fix logic bug in template branch matching. [#724](https://github.com/meteor/meteor/issues/724)
* Make `spiderable` user-agent test case insensitive. [#721](https://github.com/meteor/meteor/issues/721)
* Fix several bugs in EJSON type support:
* Fix `{$type: 5}` selectors for binary values on browsers that do
not support `Uint8Array`.
* Fix EJSON equality on falsey values.
* Fix for returning a scalar EJSON type from a method. [#731](https://github.com/meteor/meteor/issues/731)
* Upgraded dependencies:
* mongodb driver to version 1.2.13 (from 0.1.11)
* mime module removed (it was unused)
Patches contributed by GitHub users awwx, cmather, graemian, jagill,
jmhredsox, kevinxucs, krizka, mitar, raix, and rasmuserik.
## v0.5.7, 2013-Feb-21
* The DDP wire protocol has been redesigned.
* The handshake message is now versioned. This breaks backwards
compatibility between sites with `Meteor.connect()`. Older meteor
apps can not talk to new apps and vice versa. This includes the
`madewith` package, apps using `madewith` must upgrade.
* New [EJSON](http://docs.meteor.com/#ejson) package allows you to use
Dates, Mongo ObjectIDs, and binary data in your collections and
Session variables. You can also add your own custom datatypes.
* Meteor now correctly represents empty documents in Collections.
* There is an informal specification in `packages/livedata/DDP.md`.
* Breaking API changes
* Changed the API for `observe`. Observing with `added`, `changed`
and `removed` callbacks is now unordered; for ordering information
use `addedAt`, `changedAt`, `removedAt`, and `movedTo`. Full
documentation is in the [`observe` docs](http://docs.meteor.com/#observe).
All callers of `observe` need to be updated.
* Changed the API for publish functions that do not return a cursor
(ie functions that call `this.set` and `this.unset`). See the
[`publish` docs](http://docs.meteor.com/#meteor_publish) for the new
API.
* New Features
* Added new [`observeChanges`](http://docs.meteor.com/#observe_changes)
API for keeping track of the contents of a cursor more efficiently.
* There is a new reactive function on subscription handles: `ready()`
returns true when the subscription has received all of its initial
documents.
* Added `Session.setDefault(key, value)` so you can easily provide
initial values for session variables that will not be clobbered on
hot code push.
* You can specify that a collection should use MongoDB ObjectIDs as
its `_id` fields for inserts instead of strings. This allows you to
use Meteor with existing MongoDB databases that have ObjectID
`_id`s. If you do this, you must use `EJSON.equals()` for comparing
equality instead of `===`. See http://docs.meteor.com/#meteor_collection.
* New [`random` package](http://docs.meteor.com/#random) provides
several functions for generating random values. The new
`Random.id()` function is used to provide shorter string IDs for
MongoDB documents. `Meteor.uuid()` is deprecated.
* `Meteor.status()` can return the status `failed` if DDP version
negotiation fails.
* Major Performance Enhancements
* Rewrote subscription duplication detection logic to use a more
efficient algorithm. This significantly reduces CPU usage on the
server during initial page load and when dealing with large amounts
of data.
* Reduced unnecessary MongoDB re-polling of live queries. Meteor no
longer polls for changes on queries that specify `_id` when
updates for a different specific `_id` are processed. This
drastically improves performance when dealing with many
subscriptions and updates to individual objects, such as those
generated by the `accounts-base` package on the `Meteor.users`
collection.
* Upgraded UglifyJS2 to version 2.2.5
Patches contributed by GitHub users awwx and michaelglenadams.
## v0.5.6, 2013-Feb-15
* Fix 0.5.5 regression: Minimongo selectors matching subdocuments under arrays
did not work correctly.
* Some Bootstrap icons should have appeared white.
Patches contributed by GitHub user benjaminchelli.
## v0.5.5, 2013-Feb-13
* Deprecate `Meteor.autosubscribe`. `Meteor.subscribe` now works within
`Meteor.autorun`.
* Allow access to `Meteor.settings.public` on the client. If the JSON
file you gave to `meteor --settings` includes a field called `public`,
that field will be available on the client as well as the server.
* `@import` works in `less`. Use the `.lessimport` file extension to
make a less file that is ignored by preprocessor so as to avoid double
processing. [#203](https://github.com/meteor/meteor/issues/203)
* Upgrade Fibers to version 1.0.0. The `Fiber` and `Future` symbols are
no longer exposed globally. To use fibers directly you can use:
`var Fiber = __meteor_bootstrap__.require('fibers');` and
`var Future = __meteor_bootstrap__.require('fibers/future');`
* Call version 1.1 of the Twitter API when authenticating with
OAuth. `accounts-twitter` users have until March 5th, 2013 to
upgrade before Twitter disables the old API. [#527](https://github.com/meteor/meteor/issues/527)
* Treat Twitter ids as strings, not numbers, as recommended by
Twitter. [#629](https://github.com/meteor/meteor/issues/629)
* You can now specify the `_id` field of a document passed to `insert`.
Meteor still auto-generates `_id` if it is not present.
* Expose an `invalidated` flag on `Meteor.deps.Context`.
* Populate user record with additional data from Facebook and Google. [#664](https://github.com/meteor/meteor/issues/664)
* Add Facebook token expiration time to `services.facebook.expiresAt`. [#576](https://github.com/meteor/meteor/issues/576)
* Allow piping a password to `meteor deploy` on `stdin`. [#623](https://github.com/meteor/meteor/issues/623)
* Correctly type cast arguments to handlebars helper. [#617](https://github.com/meteor/meteor/issues/617)
* Fix leaked global `userId` symbol.
* Terminate `phantomjs` properly on error when using the `spiderable`
package. [#571](https://github.com/meteor/meteor/issues/571)
* Stop serving non-cachable files with caching headers. [#631](https://github.com/meteor/meteor/issues/631)
* Fix race condition if server restarted between page load and initial
DDP connection. [#653](https://github.com/meteor/meteor/issues/653)
* Resolve issue where login methods sometimes blocked future methods. [#555](https://github.com/meteor/meteor/issues/555)
* Fix `Meteor.http` parsing of JSON responses on Firefox. [#553](https://github.com/meteor/meteor/issues/553)
* Minimongo no longer uses `eval`. [#480](https://github.com/meteor/meteor/issues/480)
* Serve 404 for `/app.manifest`. This allows experimenting with the
upcoming `appcache` smart package. [#628](https://github.com/meteor/meteor/issues/628)
* Upgraded many dependencies, including:
* node.js to version 0.8.18
* jquery-layout to version 1.3.0RC
* Twitter Bootstrap to version 2.3.0
* Less to version 1.3.3
* Uglify to version 2.2.3
* useragent to version 2.0.1
Patches contributed by GitHub users awwx, bminer, bramp, crunchie84,
danawoodman, dbimmler, Ed-von-Schleck, geoffd123, jperl, kevee,
milesmatthias, Primigenus, raix, timhaines, and xenolf.
## v0.5.4, 2013-Jan-08
* Fix 0.5.3 regression: `meteor run` could fail on OSX 10.8 if environment
variables such as `DYLD_LIBRARY_PATH` are set.
## v0.5.3, 2013-Jan-07
* Add `--settings` argument to `meteor deploy` and `meteor run`. This
allows you to specify deployment-specific information made available
to server code in the variable `Meteor.settings`.
* Support unlimited open tabs in a single browser. Work around the
browser per-hostname connection limit by using randomized hostnames
for deployed apps. [#131](https://github.com/meteor/meteor/issues/131)
* minimongo improvements:
* Allow observing cursors with `skip` or `limit`. [#528](https://github.com/meteor/meteor/issues/528)
* Allow sorting on `dotted.sub.keys`. [#533](https://github.com/meteor/meteor/issues/533)
* Allow querying specific array elements (`foo.1.bar`).
* `$and`, `$or`, and `$nor` no longer accept empty arrays (for consistency
with Mongo)
* Re-rendering a template with Spark no longer reverts changes made by
users to a `preserve`d form element. Instead, the newly rendered value
is only applied if it is different from the previously rendered value.
Additionally, `<INPUT>` elements with type other than TEXT can now have
reactive values (eg, the labels on submit buttons can now be
reactive). [#510](https://github.com/meteor/meteor/issues/510) [#514](https://github.com/meteor/meteor/issues/514) [#523](https://github.com/meteor/meteor/issues/523) [#537](https://github.com/meteor/meteor/issues/537) [#558](https://github.com/meteor/meteor/issues/558)
* Support JavaScript RegExp objects in selectors in Collection write
methods on the client, eg `myCollection.remove({foo: /bar/})`. [#346](https://github.com/meteor/meteor/issues/346)
* `meteor` command-line improvements:
* Improve error message when mongod fails to start.
* The `NODE_OPTIONS` environment variable can be used to pass command-line
flags to node (eg, `--debug` or `--debug-brk` to enable the debugger).
* Die with error if an app name is mistakenly passed to `meteor reset`.
* Add support for "offline" access tokens with Google login. [#464](https://github.com/meteor/meteor/issues/464) [#525](https://github.com/meteor/meteor/issues/525)
* Don't remove `serviceData` fields from previous logins when logging in
with an external service.
* Improve `OAuth1Binding` to allow making authenticated API calls to
OAuth1 providers (eg Twitter). [#539](https://github.com/meteor/meteor/issues/539)
* New login providers automatically work with `{{loginButtons}}` without
needing to edit the `accounts-ui-unstyled` package. [#572](https://github.com/meteor/meteor/issues/572)
* Use `Content-Type: application/json` by default when sending JSON data
with `Meteor.http`.
* Improvements to `jsparse`: hex literals, keywords as property names, ES5 line
continuations, trailing commas in object literals, line numbers in error
messages, decimal literals starting with `.`, regex character classes with
slashes.
* Spark improvements:
* Improve rendering of `<SELECT>` elements on IE. [#496](https://github.com/meteor/meteor/issues/496)
* Don't lose nested data contexts in IE9/10 after two seconds. [#458](https://github.com/meteor/meteor/issues/458)
* Don't print a stack trace if DOM nodes are manually removed
from the document without calling `Spark.finalize`. [#392](https://github.com/meteor/meteor/issues/392)
* Always use the `autoReconnect` flag when connecting to Mongo. [#425](https://github.com/meteor/meteor/issues/425)
* Fix server-side `observe` with no `added` callback. [#589](https://github.com/meteor/meteor/issues/589)
* Fix re-sending method calls on reconnect. [#538](https://github.com/meteor/meteor/issues/538)
* Remove deprecated `/sockjs` URL support from `Meteor.connect`.
* Avoid losing a few bits of randomness in UUID v4 creation. [#519](https://github.com/meteor/meteor/issues/519)
* Update clean-css package from 0.8.2 to 0.8.3, fixing minification of `0%`
values in `hsl` colors. [#515](https://github.com/meteor/meteor/issues/515)
Patches contributed by GitHub users Ed-von-Schleck, egtann, jwulf, lvbreda,
martin-naumann, meawoppl, nwmartin, timhaines, and zealoushacker.
## v0.5.2, 2012-Nov-27
* Fix 0.5.1 regression: Cursor `observe` works during server startup. [#507](https://github.com/meteor/meteor/issues/507)
## v0.5.1, 2012-Nov-20
* Speed up server-side subscription handling by avoiding redundant work
when the same Mongo query is observed multiple times concurrently (eg,
by multiple users subscribing to the same subscription), and by using
a simpler "unordered" algorithm.
* Meteor now waits to invoke method callbacks until all the data written by the
method is available in the local cache. This way, method callbacks can see the
full effects of their writes. This includes the callbacks passed to
`Meteor.call` and `Meteor.apply`, as well as to the `Meteor.Collection`
`insert`/`update`/`remove` methods.
If you want to process the method's result as soon as it arrives from the
server, even if the method's writes are not available yet, you can now specify
an `onResultReceived` callback to `Meteor.apply`.
* Rework latency compensation to show server data changes sooner. Previously, as
long as any method calls were in progress, Meteor would buffer all data
changes sent from the server until all methods finished. Meteor now only
buffers writes to documents written by client stubs, and applies the writes as
soon as all methods that wrote that document have finished.
* `Meteor.userLoaded()` and `{{currentUserLoaded}}` have been removed.
Previously, during the login process on the client, `Meteor.userId()` could be
set but the document at `Meteor.user()` could be incomplete. Meteor provided
the function `Meteor.userLoaded()` to differentiate between these states. Now,
this in-between state does not occur: when a user logs in, `Meteor.userId()`
only is set once `Meteor.user()` is fully loaded.
* New reactive function `Meteor.loggingIn()` and template helper
`{{loggingIn}}`; they are true whenever some login method is in progress.
`accounts-ui` now uses this to show an animation during login.
* The `sass` CSS preprocessor package has been removed. It was based on an
unmaintained NPM module which did not implement recent versions of the Sass
language and had no error handling. Consider using the `less` or `stylus`
packages instead. [#143](https://github.com/meteor/meteor/issues/143)
* `Meteor.setPassword` is now called `Accounts.setPassword`, matching the
documentation and original intention. [#454](https://github.com/meteor/meteor/issues/454)
* Passing the `wait` option to `Meteor.apply` now waits for all in-progress
method calls to finish before sending the method, instead of only guaranteeing
that its callback occurs after the callbacks of in-progress methods.
* New function `Accounts.callLoginMethod` which should be used to call custom
login handlers (such as those registered with
`Accounts.registerLoginHandler`).
* The callbacks for `Meteor.loginWithToken` and `Accounts.createUser` now match
the other login callbacks: they are called with error on error or with no
arguments on success.
* Fix bug where method calls could be dropped during a brief disconnection. [#339](https://github.com/meteor/meteor/issues/339)
* Prevent running the `meteor` command-line tool and server on unsupported Node
versions.
* Fix Minimongo query bug with nested objects. [#455](https://github.com/meteor/meteor/issues/455)
* In `accounts-ui`, stop page layout from changing during login.
* Use `path.join` instead of `/` in paths (helpful for the unofficial Windows
port) [#303](https://github.com/meteor/meteor/issues/303)
* The `spiderable` package serves pages to
[`facebookexternalhit`](https://www.facebook.com/externalhit_uatext.php) [#411](https://github.com/meteor/meteor/issues/411)
* Fix error on Firefox with DOM Storage disabled.
* Avoid invalidating listeners if setUserId is called with current value.
* Upgrade many dependencies, including:
* MongoDB 2.2.1 (from 2.2.0)
* underscore 1.4.2 (from 1.3.3)
* bootstrap 2.2.1 (from 2.1.1)
* jQuery 1.8.2 (from 1.7.2)
* less 1.3.1 (from 1.3.0)
* stylus 0.30.1 (from 0.29.0)
* coffee-script 1.4.0 (from 1.3.3)
Patches contributed by GitHub users ayal, dandv, possibilities, TomWij,
tmeasday, and workmad3.
## v0.5.0, 2012-Oct-17
* This release introduces Meteor Accounts, a full-featured auth system that supports
- fine-grained user-based control over database reads and writes
- federated login with any OAuth provider (with built-in support for
Facebook, GitHub, Google, Twitter, and Weibo)
- secure password login
- email validation and password recovery
- an optional set of UI widgets implementing standard login/signup/password
change/logout flows
When you upgrade to Meteor 0.5.0, existing apps will lose the ability to write
to the database from the client. To restore this, either:
- configure each of your collections with
[`collection.allow`](http://docs.meteor.com/#allow) and
[`collection.deny`](http://docs.meteor.com/#deny) calls to specify which
users can perform which write operations, or
- add the `insecure` smart package (which is included in new apps by default)
to restore the old behavior where anyone can write to any collection which
has not been configured with `allow` or `deny`
For more information on Meteor Accounts, see
http://docs.meteor.com/#dataandsecurity and
http://docs.meteor.com/#accounts_api
* The new function `Meteor.autorun` allows you run any code in a reactive
context. See http://docs.meteor.com/#meteor_autorun
* Arrays and objects can now be stored in the `Session`; mutating the value you
retrieve with `Session.get` does not affect the value in the session.
* On the client, `Meteor.apply` takes a new `wait` option, which ensures that no
further method calls are sent to the server until this method is finished; it
is used for login and logout methods in order to keep the user ID
well-defined. You can also specifiy an `onReconnect` handler which is run when
re-establishing a connection; Meteor Accounts uses this to log back in on
reconnect.
* Meteor now provides a compatible replacement for the DOM `localStorage`
facility that works in IE7, in the `localstorage-polyfill` smart package.
* Meteor now packages the D3 library for manipulating documents based on data in
a smart package called `d3`.
* `Meteor.Collection` now takes its optional `manager` argument (used to
associate a collection with a server you've connected to with
`Meteor.connect`) as a named option. (The old call syntax continues to work
for now.)
* Fix a bug where trying to immediately resubscribe to a record set after
unsubscribing could fail silently.
* Better error handling for failed Mongo writes from inside methods; previously,
errors here could cause clients to stop processing data from the server.
Patches contributed by GitHub users bradens, dandv, dybskiy, possibilities,
zhangcheng, and 75lb.
## v0.4.2, 2012-Oct-02
* Fix connection failure on iOS6. SockJS 0.3.3 includes this fix.
* The new `preserve-inputs` package, included by default in new Meteor apps,
restores the pre-v0.4.0 behavior of "preserving" all form input elements by ID
and name during re-rendering; users who want more precise control over
preservation can still use the APIs added in v0.4.0.
* A few changes to the `Meteor.absoluteUrl` function:
- Added a `replaceLocalhost` option.
- The `ROOT_URL` environment variable is respected by `meteor run`.
- It is now included in all apps via the `meteor` package. Apps that
explicitly added the now-deprecated `absolute-url` smart package will log a
deprecation warning.
* Upgrade Node from 0.8.8 to 0.8.11.
* If a Handlebars helper function `foo` returns null, you can now run do
`{{foo.bar}}` without error, just like when `foo` is a non-existent property.
* If you pass a non-scalar object to `Session.set`, an error will now be thrown
(matching the behavior of `Session.equals`). [#215](https://github.com/meteor/meteor/issues/215)
* HTML pages are now served with a `charset=utf-8` Content-Type header. [#264](https://github.com/meteor/meteor/issues/264)
* The contents of `<select>` tags can now be reactive even in IE 7 and 8.
* The `meteor` tool no longer gets confused if a parent directory of your
project is named `public`. [#352](https://github.com/meteor/meteor/issues/352)
* Fix a race condition in the `spiderable` package which could include garbage
in the spidered page.
* The REPL run by `admin/node.sh` no longer crashes Emacs M-x shell on exit.
* Refactor internal `reload` API.
* New internal `jsparse` smart package. Not yet exposed publicly.
Patch contributed by GitHub user yanivoliver.
## v0.4.1, 2012-Sep-24
* New `email` smart package, with [`Email.send`](http://docs.meteor.com/#email)
API.
* Upgrade Node from 0.6.17 to 0.8.8, as well as many Node modules in the dev
bundle; those that are user-exposed are:
* coffee-script: 1.3.3 (from 1.3.1)
* stylus: 0.29.0 (from 0.28.1)
* nib: 0.8.2 (from 0.7.0)
* All publicly documented APIs now use `camelCase` rather than
`under_scores`. The old spellings continue to work for now. New names are:
- `Meteor.isClient`/`isServer`
- `this.isSimulation` inside a method invocation
- `Meteor.deps.Context.onInvalidate`
- `Meteor.status(
gitextract_hcijcecp/
├── .arcconfig
├── .eslintignore
├── .github/
│ ├── ISSUE_TEMPLATE.md
│ └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── .mailmap
├── .reviewboardrc
├── .travis.yml
├── Contributing.md
├── History.md
├── IssueTriage.md
├── LICENSE.txt
├── LICENSES/
│ ├── Apache.txt
│ ├── Artistic.txt
│ ├── BSD.txt
│ ├── CDDL.txt
│ ├── DWTFYWT.txt
│ ├── Eclipse.txt
│ ├── ISC.txt
│ ├── IntelHAXM.txt
│ ├── MIT.txt
│ ├── MongoDB.txt
│ ├── Node.txt
│ ├── PublicDomain.txt
│ ├── andris9.txt
│ ├── browserify.txt
│ ├── commonmark.txt
│ ├── heapdump.txt
│ ├── ieee754.txt
│ ├── jsdoc.txt
│ ├── libuv.txt
│ ├── nan.txt
│ ├── through2.txt
│ ├── tough-cookie.txt
│ └── unorm.txt
├── README.md
├── Roadmap.md
├── circle.yml
├── examples/
│ ├── .gitignore
│ ├── other/
│ │ ├── benchmark/
│ │ │ └── .meteor/
│ │ │ └── release
│ │ ├── client-info/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── client-info.html
│ │ │ └── client-info.js
│ │ ├── controllers-demo/
│ │ │ └── .meteor/
│ │ │ └── release
│ │ ├── defer-in-inactive-tab/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ └── packages
│ │ │ ├── README.md
│ │ │ ├── test.html
│ │ │ └── test.js
│ │ ├── domrange-grid/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── domrange-grid.css
│ │ │ ├── domrange-grid.html
│ │ │ └── domrange-grid.js
│ │ ├── login-demo/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── login-demo.css
│ │ │ ├── login-demo.html
│ │ │ └── login-demo.js
│ │ ├── parties/
│ │ │ ├── .meteor/
│ │ │ │ ├── .finished-upgraders
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ ├── client/
│ │ │ │ ├── client.js
│ │ │ │ ├── parties.css
│ │ │ │ └── parties.html
│ │ │ ├── model.js
│ │ │ └── server/
│ │ │ └── server.js
│ │ ├── quiescence/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── quiescence.html
│ │ │ └── quiescence.js
│ │ ├── template-demo/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── client/
│ │ │ │ ├── d3.v2.js
│ │ │ │ ├── template-demo.css
│ │ │ │ ├── template-demo.html
│ │ │ │ └── template-demo.js
│ │ │ └── model.js
│ │ └── wordplay/
│ │ ├── .meteor/
│ │ │ ├── .finished-upgraders
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ ├── platforms
│ │ │ ├── release
│ │ │ └── versions
│ │ ├── TODO
│ │ ├── client/
│ │ │ ├── wordplay.css
│ │ │ ├── wordplay.html
│ │ │ └── wordplay.js
│ │ ├── model.js
│ │ ├── private/
│ │ │ └── enable2k.txt
│ │ └── server/
│ │ ├── game.js
│ │ └── make-boggle-dict.js.noload
│ └── unfinished/
│ ├── accounts-ui-viewer/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── accounts-ui-viewer.html
│ │ ├── accounts-ui-viewer.js
│ │ └── accounts-ui-viewer.less
│ ├── atoms/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── atoms.css
│ │ ├── atoms.html
│ │ └── atoms.js
│ ├── azrael/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ ├── azrael.css
│ │ │ ├── azrael.html
│ │ │ └── azrael.js
│ │ └── model.js
│ ├── benchmark/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── benchmark.css
│ │ ├── benchmark.html
│ │ ├── benchmark.js
│ │ ├── run-local.sh
│ │ └── scenarios/
│ │ ├── README.md
│ │ ├── default.json
│ │ ├── fast.json
│ │ ├── nodata.json
│ │ ├── scale10.json
│ │ ├── scale100.json
│ │ ├── scale20.json
│ │ ├── scale40.json
│ │ └── scale50.json
│ ├── blaze-test/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── client/
│ │ ├── blaze-test.css
│ │ ├── blaze-test.html
│ │ └── blaze-test.js
│ ├── chat-benchmark/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── benchmark.css
│ │ ├── benchmark.html
│ │ ├── benchmark.js
│ │ ├── run-local.sh
│ │ └── scenarios/
│ │ ├── README.md
│ │ └── default.json
│ ├── coffeeless/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ ├── coffeeless.coffee
│ │ │ ├── coffeeless.html
│ │ │ └── coffeeless.less
│ │ └── model.coffee
│ ├── controls/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ └── controls.js
│ │ ├── controls.css
│ │ └── controls.html
│ ├── jsparse-docs/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── jsparse-docs.css
│ │ ├── jsparse-docs.html
│ │ └── jsparse-docs.js
│ ├── leaderboard-remote/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── client/
│ │ ├── leaderboard-remote.css
│ │ ├── leaderboard-remote.html
│ │ └── leaderboard-remote.js
│ ├── movers/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ └── jquery-ui-sortable.js
│ │ ├── movers.html
│ │ ├── movers.js
│ │ └── movers.less
│ ├── parse-inspector/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── parse-inspector.css
│ │ ├── parse-inspector.html
│ │ └── parse-inspector.js
│ ├── python-ddp-client/
│ │ ├── README
│ │ ├── ddp-client.py
│ │ └── test_input
│ ├── reorderable-list/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── client/
│ │ │ ├── jquery-ui-sortable.js
│ │ │ ├── shark.css
│ │ │ ├── shark.html
│ │ │ └── shark.js
│ │ └── lib/
│ │ └── items.js
│ ├── todos-backbone/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── body.html
│ │ ├── client/
│ │ │ └── todos.js
│ │ ├── common.js
│ │ └── todos.css
│ └── todos-underscore/
│ ├── .meteor/
│ │ ├── .gitignore
│ │ ├── packages
│ │ └── release
│ ├── body.html
│ ├── client/
│ │ └── client.js
│ ├── common.js
│ ├── main.css
│ ├── reset.css
│ └── server/
│ └── bootstrap.js
├── meteor
├── meteor.bat
├── packages/
│ ├── .gitignore
│ ├── accounts-base/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── accounts_client.js
│ │ ├── accounts_common.js
│ │ ├── accounts_rate_limit.js
│ │ ├── accounts_reconnect_tests.js
│ │ ├── accounts_server.js
│ │ ├── accounts_tests.js
│ │ ├── accounts_url_tests.js
│ │ ├── client_main.js
│ │ ├── client_tests.js
│ │ ├── localstorage_token.js
│ │ ├── package.js
│ │ ├── server_main.js
│ │ ├── server_tests.js
│ │ ├── url_client.js
│ │ └── url_server.js
│ ├── accounts-facebook/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── facebook.js
│ │ ├── facebook_login_button.css
│ │ └── package.js
│ ├── accounts-github/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── github.js
│ │ ├── github_login_button.css
│ │ └── package.js
│ ├── accounts-google/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── google.js
│ │ ├── google_login_button.css
│ │ └── package.js
│ ├── accounts-meetup/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meetup.js
│ │ ├── meetup_login_button.css
│ │ └── package.js
│ ├── accounts-meteor-developer/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meteor-developer-login-button.css
│ │ ├── meteor-developer.js
│ │ └── package.js
│ ├── accounts-oauth/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── oauth_client.js
│ │ ├── oauth_common.js
│ │ ├── oauth_server.js
│ │ ├── oauth_tests.js
│ │ └── package.js
│ ├── accounts-password/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── email_templates.js
│ │ ├── email_tests.js
│ │ ├── email_tests_setup.js
│ │ ├── package.js
│ │ ├── password_client.js
│ │ ├── password_server.js
│ │ ├── password_tests.js
│ │ └── password_tests_setup.js
│ ├── accounts-twitter/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── twitter.js
│ │ └── twitter_login_button.css
│ ├── accounts-ui/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── login_buttons.less
│ │ └── package.js
│ ├── accounts-ui-unstyled/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── accounts_ui.js
│ │ ├── accounts_ui_tests.js
│ │ ├── login_buttons.html
│ │ ├── login_buttons.import.less
│ │ ├── login_buttons.js
│ │ ├── login_buttons_dialogs.html
│ │ ├── login_buttons_dialogs.js
│ │ ├── login_buttons_dropdown.html
│ │ ├── login_buttons_dropdown.js
│ │ ├── login_buttons_session.js
│ │ ├── login_buttons_single.html
│ │ ├── login_buttons_single.js
│ │ └── package.js
│ ├── accounts-weibo/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── weibo.js
│ │ └── weibo_login_button.css
│ ├── allow-deny/
│ │ ├── README.md
│ │ ├── allow-deny-tests.js
│ │ ├── allow-deny.js
│ │ └── package.js
│ ├── appcache/
│ │ ├── .gitignore
│ │ ├── QA.md
│ │ ├── README.md
│ │ ├── appcache-client.js
│ │ ├── appcache-server.js
│ │ ├── appcache_tests-client.js
│ │ ├── appcache_tests-server.js
│ │ └── package.js
│ ├── audit-argument-checks/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── autopublish/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── autoupdate/
│ │ ├── .gitignore
│ │ ├── QA.md
│ │ ├── README.md
│ │ ├── autoupdate_client.js
│ │ ├── autoupdate_cordova.js
│ │ ├── autoupdate_server.js
│ │ └── package.js
│ ├── babel-compiler/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── babel-compiler.js
│ │ ├── babel.js
│ │ └── package.js
│ ├── babel-runtime/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── babel-runtime.js
│ │ └── package.js
│ ├── base64/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── base64.js
│ │ ├── base64_test.js
│ │ └── package.js
│ ├── binary-heap/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── binary-heap-tests.js
│ │ ├── max-heap.js
│ │ ├── min-heap.js
│ │ ├── min-max-heap.js
│ │ └── package.js
│ ├── blaze/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── attrs.js
│ │ ├── backcompat.js
│ │ ├── builtins.js
│ │ ├── dombackend.js
│ │ ├── domrange.js
│ │ ├── events.js
│ │ ├── exceptions.js
│ │ ├── lookup.js
│ │ ├── materializer.js
│ │ ├── microscore.js
│ │ ├── package.js
│ │ ├── preamble.js
│ │ ├── render_tests.js
│ │ ├── template.js
│ │ ├── view.js
│ │ └── view_tests.js
│ ├── blaze-html-templates/
│ │ ├── README.md
│ │ └── package.js
│ ├── blaze-tools/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── preamble.js
│ │ ├── tojs.js
│ │ ├── token_tests.js
│ │ └── tokens.js
│ ├── boilerplate-generator/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── boilerplate-generator.js
│ │ ├── boilerplate_web.browser.html
│ │ ├── boilerplate_web.cordova.html
│ │ └── package.js
│ ├── browser-policy/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-test.js
│ │ └── package.js
│ ├── browser-policy-common/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-common.js
│ │ └── package.js
│ ├── browser-policy-content/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-content.js
│ │ └── package.js
│ ├── browser-policy-framing/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── browser-policy-framing.js
│ │ └── package.js
│ ├── caching-compiler/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── caching-compiler.js
│ │ ├── multi-file-caching-compiler.js
│ │ └── package.js
│ ├── caching-html-compiler/
│ │ ├── README.md
│ │ ├── caching-html-compiler.js
│ │ └── package.js
│ ├── callback-hook/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── hook.js
│ │ ├── hook_tests.js
│ │ └── package.js
│ ├── check/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── isPlainObject.js
│ │ ├── match.js
│ │ ├── match_test.js
│ │ └── package.js
│ ├── code-prettify/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── lang-apollo.js
│ │ ├── lang-clj.js
│ │ ├── lang-css.js
│ │ ├── lang-go.js
│ │ ├── lang-hs.js
│ │ ├── lang-lisp.js
│ │ ├── lang-lua.js
│ │ ├── lang-ml.js
│ │ ├── lang-n.js
│ │ ├── lang-proto.js
│ │ ├── lang-scala.js
│ │ ├── lang-sql.js
│ │ ├── lang-tex.js
│ │ ├── lang-vhdl.js
│ │ ├── lang-wiki.js
│ │ ├── lang-xq.js
│ │ ├── lang-yaml.js
│ │ ├── package.js
│ │ ├── prettify.css
│ │ ├── prettify.js
│ │ └── styles/
│ │ ├── desert.css
│ │ └── sunburst.css
│ ├── coffeescript/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── compileCoffeescript/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-coffeescript.js
│ │ └── tests/
│ │ ├── bare_test_setup.coffee
│ │ ├── bare_tests.js
│ │ ├── coffeescript_strict_tests.coffee
│ │ ├── coffeescript_test_setup.js
│ │ ├── coffeescript_tests.coffee
│ │ ├── coffeescript_tests.js
│ │ ├── es2015_module.js
│ │ ├── litcoffeescript_tests.coffee.md
│ │ └── litcoffeescript_tests.litcoffee
│ ├── coffeescript-test-helper/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── exporting.coffee
│ │ └── package.js
│ ├── constraint-solver/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── benchmark-tests.js
│ │ ├── catalog-cache-tests.js
│ │ ├── catalog-cache.js
│ │ ├── catalog-loader.js
│ │ ├── constraint-solver-input.js
│ │ ├── constraint-solver-tests.js
│ │ ├── constraint-solver.js
│ │ ├── datatypes-tests.js
│ │ ├── datatypes.js
│ │ ├── gem-test-data.js
│ │ ├── input-tests.js
│ │ ├── package.js
│ │ ├── slow-test-data.js
│ │ ├── solver.js
│ │ ├── stack-overflow-bug-test-data.js
│ │ ├── version-pricer-tests.js
│ │ └── version-pricer.js
│ ├── crosswalk/
│ │ └── package.js
│ ├── ddp/
│ │ ├── .gitignore
│ │ ├── DDP.md
│ │ ├── README.md
│ │ └── package.js
│ ├── ddp-client/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── client_convenience.js
│ │ ├── id_map.js
│ │ ├── livedata_common.js
│ │ ├── livedata_connection.js
│ │ ├── livedata_connection_tests.js
│ │ ├── livedata_test_service.js
│ │ ├── livedata_tests.js
│ │ ├── namespace.js
│ │ ├── package.js
│ │ ├── random_stream.js
│ │ ├── random_stream_tests.js
│ │ ├── sockjs-0.3.4.js
│ │ ├── stream_client_common.js
│ │ ├── stream_client_nodejs.js
│ │ ├── stream_client_sockjs.js
│ │ ├── stream_client_tests.js
│ │ ├── stream_tests.js
│ │ └── stub_stream.js
│ ├── ddp-common/
│ │ ├── heartbeat.js
│ │ ├── method_invocation.js
│ │ ├── namespace.js
│ │ ├── package.js
│ │ ├── random_stream.js
│ │ └── utils.js
│ ├── ddp-rate-limiter/
│ │ ├── README.md
│ │ ├── ddp-rate-limiter-test-service.js
│ │ ├── ddp-rate-limiter-tests-common.js
│ │ ├── ddp-rate-limiter-tests.js
│ │ ├── ddp-rate-limiter.js
│ │ └── package.js
│ ├── ddp-server/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── crossbar.js
│ │ ├── crossbar_tests.js
│ │ ├── livedata_server.js
│ │ ├── livedata_server_tests.js
│ │ ├── package.js
│ │ ├── server_convenience.js
│ │ ├── session_view_tests.js
│ │ ├── stream_server.js
│ │ └── writefence.js
│ ├── deprecated/
│ │ ├── README
│ │ ├── amplify/
│ │ │ ├── .gitignore
│ │ │ ├── amplify.js
│ │ │ └── package.js
│ │ ├── backbone/
│ │ │ ├── .gitignore
│ │ │ ├── backbone.js
│ │ │ └── package.js
│ │ ├── bootstrap/
│ │ │ ├── .gitignore
│ │ │ ├── css/
│ │ │ │ ├── bootstrap-override.css
│ │ │ │ ├── bootstrap-responsive.css
│ │ │ │ └── bootstrap.css
│ │ │ ├── js/
│ │ │ │ └── bootstrap.js
│ │ │ └── package.js
│ │ └── d3/
│ │ ├── .gitignore
│ │ ├── d3.v3.js
│ │ └── package.js
│ ├── deps/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── diff-sequence/
│ │ ├── diff.js
│ │ ├── package.js
│ │ └── tests.js
│ ├── disable-oplog/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── ecmascript/
│ │ ├── README.md
│ │ ├── bare-test-file.js
│ │ ├── bare-test.js
│ │ ├── ecmascript.js
│ │ ├── package.js
│ │ ├── plugin.js
│ │ ├── runtime-tests.js
│ │ └── transpilation-tests.js
│ ├── ecmascript-runtime/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── runtime-tests.js
│ │ └── runtime.js
│ ├── ejson/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── custom_models_for_tests.js
│ │ ├── ejson.js
│ │ ├── ejson_test.js
│ │ ├── package.js
│ │ └── stringify.js
│ ├── email/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── email.js
│ │ ├── email_tests.js
│ │ └── package.js
│ ├── es5-shim/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── client.js
│ │ ├── console.js
│ │ ├── export_globals.js
│ │ ├── import_globals.js
│ │ ├── package.js
│ │ └── server.js
│ ├── facebook/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── facebook_client.js
│ │ ├── facebook_configure.html
│ │ ├── facebook_configure.js
│ │ ├── facebook_server.js
│ │ └── package.js
│ ├── facts/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── facts.html
│ │ ├── facts.js
│ │ └── package.js
│ ├── fastclick/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── fastclick.js
│ │ ├── package.js
│ │ ├── post.js
│ │ └── pre.js
│ ├── force-ssl/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── force_ssl_common.js
│ │ ├── force_ssl_server.js
│ │ └── package.js
│ ├── geojson-utils/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── geojson-utils.js
│ │ ├── geojson-utils.tests.js
│ │ ├── main.js
│ │ └── package.js
│ ├── github/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── github_client.js
│ │ ├── github_configure.html
│ │ ├── github_configure.js
│ │ ├── github_server.js
│ │ └── package.js
│ ├── google/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── google_client.js
│ │ ├── google_configure.html
│ │ ├── google_configure.js
│ │ ├── google_server.js
│ │ └── package.js
│ ├── handlebars/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── hot-code-push/
│ │ ├── README.md
│ │ ├── hot-code-push-tests.js
│ │ ├── hot-code-push.js
│ │ └── package.js
│ ├── html-tools/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── charref.js
│ │ ├── charref_tests.js
│ │ ├── package.js
│ │ ├── parse.js
│ │ ├── parse_tests.js
│ │ ├── scanner.js
│ │ ├── templatetag.js
│ │ ├── tokenize.js
│ │ ├── tokenize_tests.js
│ │ └── utils.js
│ ├── htmljs/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── html.js
│ │ ├── htmljs_test.js
│ │ ├── package.js
│ │ ├── preamble.js
│ │ └── visitors.js
│ ├── http/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── httpcall_client.js
│ │ ├── httpcall_common.js
│ │ ├── httpcall_server.js
│ │ ├── httpcall_tests.js
│ │ ├── package.js
│ │ ├── test_responder.js
│ │ └── test_static.serveme
│ ├── id-map/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── id-map.js
│ │ └── package.js
│ ├── insecure/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── jquery/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── jquery.js
│ │ ├── main.js
│ │ └── package.js
│ ├── jquery-waypoints/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── waypoints.coffee
│ ├── jshint/
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── lintJshint/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ └── plugin/
│ │ └── lint-jshint.js
│ ├── jsparse/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── lexer.js
│ │ ├── package.js
│ │ ├── parser.js
│ │ ├── parser_tests.js
│ │ ├── parserlib.js
│ │ └── stringify.js
│ ├── launch-screen/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── default-behavior.js
│ │ ├── mobile-launch-screen.js
│ │ └── package.js
│ ├── less/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── compileLessBatch/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── less_tests.js
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-less.js
│ │ └── tests/
│ │ ├── dir/
│ │ │ ├── in-dir.import.less
│ │ │ ├── in-dir2.import.less
│ │ │ ├── root.less
│ │ │ └── subdir/
│ │ │ └── in-subdir.import.less
│ │ ├── imports/
│ │ │ └── not-included.less
│ │ ├── top.import.less
│ │ ├── top2.less
│ │ └── top3.import.less
│ ├── livedata/
│ │ ├── .gitignore
│ │ ├── DDP.md
│ │ ├── README.md
│ │ └── package.js
│ ├── localstorage/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── localstorage.js
│ │ ├── localstorage_tests.js
│ │ └── package.js
│ ├── logging/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── logging.js
│ │ ├── logging_cordova.js
│ │ ├── logging_test.js
│ │ └── package.js
│ ├── logic-solver/
│ │ ├── README.md
│ │ ├── logic.js
│ │ ├── logic_tests.js
│ │ ├── minisat.js
│ │ ├── minisat_wrapper.js
│ │ ├── optimize.js
│ │ ├── package.js
│ │ └── types.js
│ ├── markdown/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── license.txt
│ │ ├── package.js
│ │ ├── showdown.js
│ │ └── template-integration.js
│ ├── meetup/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meetup_client.js
│ │ ├── meetup_configure.html
│ │ ├── meetup_configure.js
│ │ ├── meetup_server.js
│ │ └── package.js
│ ├── meteor/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── bare_test_setup.js
│ │ ├── bare_tests.js
│ │ ├── browser_environment_test.js
│ │ ├── client_environment.js
│ │ ├── client_environment_test.js
│ │ ├── cordova_environment.js
│ │ ├── cordova_environment_test.js
│ │ ├── debug.js
│ │ ├── debug_test.js
│ │ ├── dynamics_browser.js
│ │ ├── dynamics_nodejs.js
│ │ ├── dynamics_test.js
│ │ ├── errors.js
│ │ ├── fiber_helpers.js
│ │ ├── fiber_helpers_test.js
│ │ ├── fiber_stubs_client.js
│ │ ├── flush-buffers-on-exit-in-windows.js
│ │ ├── global.js
│ │ ├── helpers.js
│ │ ├── helpers_test.js
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── basic-file-types.js
│ │ ├── server_environment.js
│ │ ├── server_environment_test.js
│ │ ├── setimmediate.js
│ │ ├── startup_client.js
│ │ ├── startup_server.js
│ │ ├── string_utils.js
│ │ ├── test_environment.js
│ │ ├── timers.js
│ │ ├── timers_tests.js
│ │ ├── url_common.js
│ │ ├── url_server.js
│ │ ├── url_tests.js
│ │ └── wrapasync_test.js
│ ├── meteor-base/
│ │ ├── README.md
│ │ └── package.js
│ ├── meteor-developer/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── meteor_developer_client.js
│ │ ├── meteor_developer_common.js
│ │ ├── meteor_developer_configure.html
│ │ ├── meteor_developer_configure.js
│ │ ├── meteor_developer_server.js
│ │ └── package.js
│ ├── meteor-platform/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── meteor-tool/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── meyerweb-reset/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── reset.css
│ ├── minifier-css/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── minification.js
│ │ ├── minifier-tests.js
│ │ ├── minifier.js
│ │ ├── package.js
│ │ └── urlrewriting-tests.js
│ ├── minifier-js/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── beautify-tests.js
│ │ ├── minifier.js
│ │ └── package.js
│ ├── minimongo/
│ │ ├── .gitignore
│ │ ├── NOTES
│ │ ├── README.md
│ │ ├── diff.js
│ │ ├── helpers.js
│ │ ├── id_map.js
│ │ ├── minimongo.js
│ │ ├── minimongo_server_tests.js
│ │ ├── minimongo_tests.js
│ │ ├── modify.js
│ │ ├── objectid.js
│ │ ├── observe.js
│ │ ├── package.js
│ │ ├── projection.js
│ │ ├── selector.js
│ │ ├── selector_modifier.js
│ │ ├── selector_projection.js
│ │ ├── sort.js
│ │ ├── sorter_projection.js
│ │ ├── wrap_transform.js
│ │ └── wrap_transform_tests.js
│ ├── mobile-experience/
│ │ ├── README.md
│ │ └── package.js
│ ├── mobile-status-bar/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── modules/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── buffer.js
│ │ ├── client.js
│ │ ├── css.js
│ │ ├── install-packages.js
│ │ ├── package.js
│ │ ├── process.js
│ │ ├── server.js
│ │ └── stubs.js
│ ├── modules-runtime/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── modules-runtime-tests.js
│ │ ├── modules-runtime.js
│ │ └── package.js
│ ├── mongo/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── allow_tests.js
│ │ ├── collection.js
│ │ ├── collection_tests.js
│ │ ├── doc_fetcher.js
│ │ ├── doc_fetcher_tests.js
│ │ ├── local_collection_driver.js
│ │ ├── mongo_driver.js
│ │ ├── mongo_livedata_tests.js
│ │ ├── observe_changes_tests.js
│ │ ├── observe_multiplex.js
│ │ ├── oplog_observe_driver.js
│ │ ├── oplog_tailing.js
│ │ ├── oplog_tests.js
│ │ ├── package.js
│ │ ├── polling_observe_driver.js
│ │ └── remote_collection_driver.js
│ ├── mongo-id/
│ │ ├── id.js
│ │ └── package.js
│ ├── mongo-livedata/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── non-core/
│ │ ├── README
│ │ ├── jquery-history/
│ │ │ ├── .gitignore
│ │ │ ├── history.adapter.jquery.js
│ │ │ ├── history.html4.js
│ │ │ ├── history.js
│ │ │ └── package.js
│ │ ├── jquery-layout/
│ │ │ ├── .gitignore
│ │ │ ├── jquery.layout.js
│ │ │ └── package.js
│ │ ├── npm-bcrypt/
│ │ │ ├── .gitignore
│ │ │ ├── .npm/
│ │ │ │ └── package/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README
│ │ │ │ └── npm-shrinkwrap.json
│ │ │ ├── .versions
│ │ │ ├── package.js
│ │ │ └── wrapper.js
│ │ └── npm-node-aes-gcm/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── .versions
│ │ ├── README.md
│ │ ├── package.js
│ │ └── wrapper.js
│ ├── npm-mongo/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── package.js
│ │ └── wrapper.js
│ ├── oauth/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── end_of_popup_response.html
│ │ ├── end_of_popup_response.js
│ │ ├── end_of_redirect_response.html
│ │ ├── end_of_redirect_response.js
│ │ ├── oauth_browser.js
│ │ ├── oauth_client.js
│ │ ├── oauth_common.js
│ │ ├── oauth_cordova.js
│ │ ├── oauth_server.js
│ │ ├── oauth_tests.js
│ │ ├── package.js
│ │ └── pending_credentials.js
│ ├── oauth-encryption/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── encrypt.js
│ │ ├── encrypt_tests.js
│ │ └── package.js
│ ├── oauth1/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── oauth1_binding.js
│ │ ├── oauth1_pending_request_tokens.js
│ │ ├── oauth1_server.js
│ │ ├── oauth1_tests.js
│ │ └── package.js
│ ├── oauth2/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── oauth2_server.js
│ │ ├── oauth2_tests.js
│ │ └── package.js
│ ├── observe-sequence/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── observe_sequence.js
│ │ ├── observe_sequence_tests.js
│ │ └── package.js
│ ├── ordered-dict/
│ │ ├── .gitignore
│ │ ├── ordered_dict.js
│ │ └── package.js
│ ├── package-stats-opt-out/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── package-version-parser/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package-version-parser-tests.js
│ │ ├── package-version-parser.js
│ │ ├── package.js
│ │ └── semver410.js
│ ├── preserve-inputs/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ └── package.js
│ ├── promise/
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── client.js
│ │ ├── common.js
│ │ ├── package.js
│ │ ├── promise-tests.js
│ │ └── server.js
│ ├── random/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── package.js
│ │ ├── random.js
│ │ └── random_tests.js
│ ├── rate-limit/
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── rate-limit-tests.js
│ │ └── rate-limit.js
│ ├── reactive-dict/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── migration.js
│ │ ├── package.js
│ │ ├── reactive-dict-tests.js
│ │ └── reactive-dict.js
│ ├── reactive-var/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── reactive-var.js
│ ├── reload/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── package.js
│ │ ├── reload.js
│ │ └── reload_tests.js
│ ├── reload-safetybelt/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── reload-safety-belt-tests.js
│ │ ├── reload-safety-belt.js
│ │ └── safetybelt.js
│ ├── retry/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── retry.js
│ ├── routepolicy/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── routepolicy.js
│ │ └── routepolicy_tests.js
│ ├── service-configuration/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── service_configuration_common.js
│ │ └── service_configuration_server.js
│ ├── session/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── session.js
│ │ └── session_tests.js
│ ├── sha/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── sha256.js
│ ├── showdown/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── spacebars/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── spacebars-runtime.js
│ ├── spacebars-compiler/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── codegen.js
│ │ ├── compile_tests.js
│ │ ├── compiler.js
│ │ ├── compiler_output_tests.coffee
│ │ ├── optimizer.js
│ │ ├── package.js
│ │ ├── react.js
│ │ ├── spacebars_tests.js
│ │ └── templatetag.js
│ ├── spacebars-tests/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── assets/
│ │ │ ├── markdown_basic.html
│ │ │ ├── markdown_each1.html
│ │ │ ├── markdown_each2.html
│ │ │ ├── markdown_if1.html
│ │ │ └── markdown_if2.html
│ │ ├── old_templates.js
│ │ ├── old_templates_tests.js
│ │ ├── package.js
│ │ ├── template_tests.html
│ │ ├── template_tests.js
│ │ ├── template_tests_server.js
│ │ ├── templating_tests.html
│ │ └── templating_tests.js
│ ├── spiderable/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── phantom_script.js
│ │ ├── spiderable.html
│ │ ├── spiderable.js
│ │ ├── spiderable_client.js
│ │ ├── spiderable_client_tests.js
│ │ ├── spiderable_server.js
│ │ └── spiderable_server_tests.js
│ ├── srp/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── biginteger.js
│ │ ├── package.js
│ │ ├── srp.js
│ │ └── srp_tests.js
│ ├── standard-app-packages/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── standard-minifier-css/
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ ├── minifyStd/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README
│ │ │ │ └── npm-shrinkwrap.json
│ │ │ └── minifyStdCSS/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ └── plugin/
│ │ └── minify-css.js
│ ├── standard-minifier-js/
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ └── minifyStd/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ └── plugin/
│ │ └── minify-js.js
│ ├── standard-minifiers/
│ │ ├── README.md
│ │ └── package.js
│ ├── startup/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── static-html/
│ │ ├── README.md
│ │ ├── package.js
│ │ └── static-html.js
│ ├── stylus/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── plugin/
│ │ │ ├── compileStylus/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── README
│ │ │ │ └── npm-shrinkwrap.json
│ │ │ └── compileStylusBatch/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-stylus.js
│ │ ├── stylus_tests.html
│ │ ├── stylus_tests.import.styl
│ │ ├── stylus_tests.js
│ │ └── stylus_tests.styl
│ ├── templating/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── dynamic.html
│ │ ├── dynamic.js
│ │ ├── dynamic_tests.html
│ │ ├── dynamic_tests.js
│ │ ├── package.js
│ │ ├── plugin/
│ │ │ └── compile-templates.js
│ │ └── templating.js
│ ├── templating-tools/
│ │ ├── README.md
│ │ ├── code-generation.js
│ │ ├── compile-tags-with-spacebars.js
│ │ ├── html-scanner-tests.js
│ │ ├── html-scanner.js
│ │ ├── package.js
│ │ ├── templating-tools.js
│ │ └── throw-compile-error.js
│ ├── test-helpers/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── async_multi.js
│ │ ├── callback_logger.js
│ │ ├── canonicalize_html.js
│ │ ├── connection.js
│ │ ├── current_style.js
│ │ ├── domutils.js
│ │ ├── event_simulation.js
│ │ ├── package.js
│ │ ├── render_div.js
│ │ ├── seeded_random.js
│ │ ├── seeded_random_test.js
│ │ ├── try_all_permutations.js
│ │ └── try_all_permutations_test.js
│ ├── test-in-browser/
│ │ ├── .gitignore
│ │ ├── autoupdate.js
│ │ ├── diff_match_patch_uncompressed.js
│ │ ├── driver.css
│ │ ├── driver.html
│ │ ├── driver.js
│ │ └── package.js
│ ├── test-in-console/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── driver.js
│ │ ├── package.js
│ │ ├── reporter.js
│ │ ├── run.sh
│ │ └── runner.js
│ ├── test-server-tests-in-console-once/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── server.js
│ ├── tinytest/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── model.js
│ │ ├── package.js
│ │ ├── tinytest.js
│ │ ├── tinytest_client.js
│ │ └── tinytest_server.js
│ ├── tinytest-harness/
│ │ ├── README.md
│ │ └── package.js
│ ├── tracker/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── deprecated.js
│ │ ├── package.js
│ │ ├── tracker.js
│ │ └── tracker_tests.js
│ ├── twitter/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── twitter_client.js
│ │ ├── twitter_configure.html
│ │ ├── twitter_configure.js
│ │ └── twitter_server.js
│ ├── ui/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ └── package.js
│ ├── underscore/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── post.js
│ │ ├── pre.js
│ │ └── underscore.js
│ ├── underscore-tests/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── each_test.js
│ │ └── package.js
│ ├── url/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── url_client.js
│ │ ├── url_common.js
│ │ └── url_server.js
│ ├── webapp/
│ │ ├── .gitignore
│ │ ├── .npm/
│ │ │ └── package/
│ │ │ ├── .gitignore
│ │ │ ├── README
│ │ │ └── npm-shrinkwrap.json
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── webapp_client.js
│ │ ├── webapp_client_tests.js
│ │ ├── webapp_cordova.js
│ │ ├── webapp_server.js
│ │ └── webapp_tests.js
│ ├── webapp-hashing/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ └── webapp-hashing.js
│ ├── weibo/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.js
│ │ ├── weibo_client.js
│ │ ├── weibo_configure.html
│ │ ├── weibo_configure.js
│ │ └── weibo_server.js
│ └── xmlbuilder/
│ ├── .gitignore
│ ├── .npm/
│ │ └── package/
│ │ ├── .gitignore
│ │ ├── README
│ │ └── npm-shrinkwrap.json
│ ├── README.md
│ ├── package.js
│ └── xmlbuilder.js
├── scripts/
│ ├── admin/
│ │ ├── banners-oldcore.json
│ │ ├── banners.json
│ │ ├── bump-all-version-numbers.js
│ │ ├── check-package-dependencies.rb
│ │ ├── copy-bootstrap-tarballs-from-jenkins.sh
│ │ ├── copy-dev-bundle-from-jenkins.sh
│ │ ├── copy-windows-installer-from-jenkins.sh
│ │ ├── eslint/
│ │ │ ├── .eslintrc
│ │ │ ├── .gitignore
│ │ │ ├── eslint.sh
│ │ │ └── package.json
│ │ ├── find-author-github.sh
│ │ ├── find-new-npm-versions.sh
│ │ ├── git-hooks/
│ │ │ └── pre-commit
│ │ ├── install-from-bootstrap.sh
│ │ ├── jsdoc/
│ │ │ ├── .gitignore
│ │ │ ├── docdata-jsdoc-template/
│ │ │ │ └── publish.js
│ │ │ ├── jsdoc-conf.json
│ │ │ ├── jsdoc.sh
│ │ │ └── package.json
│ │ ├── launch-meteor
│ │ ├── manifest.json
│ │ ├── meteor-release-experimental.json
│ │ ├── meteor-release-official.json
│ │ ├── old-banner.txt
│ │ ├── publish-meteor-tool-on-all-platforms.sh
│ │ ├── publish-meteor-tool-on-arch.sh
│ │ ├── publish-meteor-tool.bat
│ │ └── test-packages-with-mongo-versions.rb
│ ├── benchmarks/
│ │ └── initial-start-time.sh
│ ├── build-dev-bundle-common.sh
│ ├── build-mongo-for-dev-bundle.sh
│ ├── build-node-for-dev-bundle.sh
│ ├── ci.sh
│ ├── dev-bundle-server-package.js
│ ├── dev-bundle-tool-package.js
│ ├── doctool.js
│ ├── doctool.md
│ ├── doctool.md.md
│ ├── generate-dev-bundle.ps1
│ ├── generate-dev-bundle.sh
│ ├── node.sh
│ ├── npm.cmd
│ └── windows/
│ ├── .gitignore
│ ├── README
│ ├── build-installer.ps1
│ ├── check-dev-bundle.ps1
│ ├── download-dev-bundle.ps1
│ └── installer/
│ ├── .gitignore
│ ├── MeteorSetup.sln
│ ├── WiXBalExtension/
│ │ ├── .gitignore
│ │ ├── BalExtensionExt.sln
│ │ ├── LICENSE.TXT
│ │ ├── build.bat
│ │ ├── inc/
│ │ │ ├── .gitignore
│ │ │ ├── Version.proj
│ │ │ ├── WixDistribution.cs
│ │ │ ├── WixDistribution.h
│ │ │ └── wix.rc
│ │ ├── wixext/
│ │ │ ├── BalCompiler.cs
│ │ │ ├── BalExtension.cs
│ │ │ ├── BalPreprocessorExtension.cs
│ │ │ ├── Properties/
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── WixBalExtensionExt.csproj
│ │ │ ├── Xsd/
│ │ │ │ └── bal.xsd
│ │ │ └── data/
│ │ │ ├── messages.xml
│ │ │ └── tables.xml
│ │ ├── wixlib/
│ │ │ ├── BalExtension.wixproj
│ │ │ ├── BalExtension.wxs
│ │ │ ├── wixstdba.wxs
│ │ │ ├── wixstdba_platform.wxi
│ │ │ └── wixstdba_x86.wxs
│ │ └── wixstdba/
│ │ ├── JSON.cpp
│ │ ├── JSON.h
│ │ ├── JSONValue.cpp
│ │ ├── JSONValue.h
│ │ ├── Resources/
│ │ │ ├── Hyperlink2Theme.xml
│ │ │ ├── HyperlinkTheme.wxl
│ │ │ ├── HyperlinkTheme.xml
│ │ │ ├── LoremIpsumLicense.rtf
│ │ │ ├── RtfTheme.wxl
│ │ │ └── RtfTheme.xml
│ │ ├── WixStandardBootstrapperApplication.cpp
│ │ ├── precomp.h
│ │ ├── resource.h
│ │ ├── wixstdba.cpp
│ │ ├── wixstdba.def
│ │ ├── wixstdba.rc
│ │ ├── wixstdba.vcxproj
│ │ └── wixstdba.vcxproj.filters
│ ├── WiXHelper/
│ │ ├── .gitignore
│ │ ├── CustomAction.cpp
│ │ ├── CustomAction.def
│ │ ├── WiXHelper.vcxproj
│ │ ├── WiXHelper.vcxproj.filters
│ │ ├── stdafx.cpp
│ │ ├── stdafx.h
│ │ └── targetver.h
│ ├── WiXInstaller/
│ │ ├── .gitignore
│ │ ├── Configuration.wxi
│ │ ├── MSIPackage.wixproj
│ │ ├── Meteor_Bundle.wxs
│ │ ├── Meteor_Product.wxs
│ │ ├── Resources/
│ │ │ ├── License.htm
│ │ │ ├── License.rtf
│ │ │ ├── Theme_Meteor.wxl
│ │ │ ├── Theme_Meteor.xml
│ │ │ └── dummy.file
│ │ └── SetupPackage.wixproj
│ ├── WiXSDK/
│ │ ├── inc/
│ │ │ ├── BalBaseBootstrapperApplication.h
│ │ │ ├── IBootstrapperApplication.h
│ │ │ ├── IBootstrapperBAFunction.h
│ │ │ ├── IBootstrapperEngine.h
│ │ │ ├── aclutil.h
│ │ │ ├── apuputil.h
│ │ │ ├── atomutil.h
│ │ │ ├── balcondition.h
│ │ │ ├── balinfo.h
│ │ │ ├── balretry.h
│ │ │ ├── balutil.h
│ │ │ ├── buffutil.h
│ │ │ ├── cabcutil.h
│ │ │ ├── cabutil.h
│ │ │ ├── certutil.h
│ │ │ ├── conutil.h
│ │ │ ├── cryputil.h
│ │ │ ├── custommsierrors.h
│ │ │ ├── dictutil.h
│ │ │ ├── dirutil.h
│ │ │ ├── dutil.h
│ │ │ ├── eseutil.h
│ │ │ ├── fileutil.h
│ │ │ ├── gdiputil.h
│ │ │ ├── iis7util.h
│ │ │ ├── inetutil.h
│ │ │ ├── iniutil.h
│ │ │ ├── jsonutil.h
│ │ │ ├── locutil.h
│ │ │ ├── logutil.h
│ │ │ ├── memutil.h
│ │ │ ├── metautil.h
│ │ │ ├── osutil.h
│ │ │ ├── pathutil.h
│ │ │ ├── perfutil.h
│ │ │ ├── polcutil.h
│ │ │ ├── procutil.h
│ │ │ ├── regutil.h
│ │ │ ├── resrutil.h
│ │ │ ├── reswutil.h
│ │ │ ├── rexutil.h
│ │ │ ├── rmutil.h
│ │ │ ├── rssutil.h
│ │ │ ├── sceutil.h
│ │ │ ├── shelutil.h
│ │ │ ├── sqlutil.h
│ │ │ ├── srputil.h
│ │ │ ├── strutil.h
│ │ │ ├── svcutil.h
│ │ │ ├── thmutil.h
│ │ │ ├── timeutil.h
│ │ │ ├── uriutil.h
│ │ │ ├── userutil.h
│ │ │ ├── wcalog.h
│ │ │ ├── wcautil.h
│ │ │ ├── wcawow64.h
│ │ │ ├── wcawrapquery.h
│ │ │ ├── wiutil.h
│ │ │ ├── wuautil.h
│ │ │ └── xmlutil.h
│ │ ├── vs2010/
│ │ │ └── lib/
│ │ │ └── x86/
│ │ │ ├── balutil.lib
│ │ │ ├── deputil.lib
│ │ │ ├── dutil.lib
│ │ │ └── wcautil.lib
│ │ ├── vs2012/
│ │ │ └── lib/
│ │ │ └── x86/
│ │ │ ├── balutil.lib
│ │ │ ├── deputil.lib
│ │ │ ├── dutil.lib
│ │ │ └── wcautil.lib
│ │ └── vs2013/
│ │ └── lib/
│ │ └── x86/
│ │ ├── balutil.lib
│ │ ├── deputil.lib
│ │ ├── dutil.lib
│ │ └── wcautil.lib
│ └── build.bat
└── tools/
├── PERFORMANCE.md
├── README.md
├── cli/
│ ├── README.md
│ ├── commands-aliases.js
│ ├── commands-cordova.js
│ ├── commands-packages-query.js
│ ├── commands-packages.js
│ ├── commands.js
│ ├── dev-bundle-bin-commands.js
│ ├── dev-bundle-bin-helpers.js
│ ├── example-repositories.js
│ ├── flush-buffers-on-exit-in-windows.js
│ ├── help.txt
│ └── main.js
├── console/
│ ├── README.md
│ ├── console.js
│ └── progress.js
├── cordova/
│ ├── README.md
│ ├── builder.js
│ ├── index.js
│ ├── project.js
│ ├── protect-string-proto.js
│ ├── run-targets.js
│ └── runner.js
├── fs/
│ ├── README.md
│ ├── files.js
│ ├── mini-files.js
│ ├── safe-pathwatcher.js
│ └── watch.js
├── index.js
├── inspector.js
├── isobuild/
│ ├── README.md
│ ├── build-plugin.js
│ ├── builder.js
│ ├── bundler.js
│ ├── compiler-deprecated-compile-step.js
│ ├── compiler-plugin.js
│ ├── compiler.js
│ ├── css-modules.js
│ ├── import-scanner.js
│ ├── isopack-cache.js
│ ├── isopack.js
│ ├── js-analyze.js
│ ├── linker.js
│ ├── linter-plugin.js
│ ├── meteor-npm-userconfig
│ ├── meteor-npm.js
│ ├── minifier-plugin.js
│ ├── npm-discards.js
│ ├── package-api.js
│ ├── package-source.js
│ ├── resolver.js
│ ├── source-arch.js
│ └── test-files.js
├── meteor-services/
│ ├── README.md
│ ├── auth-client.js
│ ├── auth.js
│ ├── config.js
│ ├── deploy.js
│ ├── service-connection.js
│ └── stats.js
├── packaging/
│ ├── README.md
│ ├── catalog/
│ │ ├── catalog-local.js
│ │ ├── catalog-remote.js
│ │ ├── catalog-utils.js
│ │ └── catalog.js
│ ├── package-client.js
│ ├── package-map.js
│ ├── package-version-parser.js
│ ├── release.js
│ ├── tropohouse.js
│ ├── updater.js
│ └── warehouse.js
├── project-context.js
├── runners/
│ ├── README.md
│ ├── run-all.js
│ ├── run-app.js
│ ├── run-log.js
│ ├── run-mongo.js
│ ├── run-proxy.js
│ ├── run-selenium.js
│ └── run-updater.js
├── shell-client.js
├── static-assets/
│ ├── README.md
│ ├── server/
│ │ ├── boot-utils.js
│ │ ├── boot.js
│ │ ├── mini-files.js
│ │ ├── npm-rebuild.js
│ │ ├── npm-require.js
│ │ ├── server-json.js
│ │ └── shell-server.js
│ ├── skel/
│ │ ├── .gitignore
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── platforms
│ │ ├── client/
│ │ │ ├── main.css
│ │ │ ├── main.html
│ │ │ └── main.js
│ │ ├── package.json
│ │ └── server/
│ │ └── main.js
│ └── skel-pack/
│ ├── README.md
│ ├── package.js
│ ├── ~fs-name~-tests.js
│ └── ~fs-name~.js
├── tests/
│ ├── apps/
│ │ ├── app-prints-pid/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── print.js
│ │ ├── app-throws-error/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── packages/
│ │ │ │ └── throwing-package/
│ │ │ │ ├── package.js
│ │ │ │ └── thrower.js
│ │ │ └── throw.js
│ │ ├── app-using-stylus/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── body.html
│ │ │ ├── client/
│ │ │ │ ├── app-export.import.styl
│ │ │ │ └── app.styl
│ │ │ ├── main.js
│ │ │ └── packages/
│ │ │ └── my-package/
│ │ │ ├── package-export.styl
│ │ │ ├── package-file.main.styl
│ │ │ ├── package-local-export.styl
│ │ │ └── package.js
│ │ ├── app-with-atmosphere-package/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ ├── release
│ │ │ └── versions
│ │ ├── app-with-unimported-lazy-file/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ ├── imports/
│ │ │ │ └── file.js
│ │ │ └── main.js
│ │ ├── build-errors/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── foo.awesome
│ │ │ └── packages/
│ │ │ └── with-colon-plugin/
│ │ │ ├── .gitignore
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── build-plugin-throws-error/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── file.extension
│ │ │ └── packages/
│ │ │ └── build-plugin/
│ │ │ ├── README.md
│ │ │ ├── build-plugin.js
│ │ │ └── package.js
│ │ ├── caching-coffee/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── f1.coffee
│ │ │ ├── f2.coffee
│ │ │ ├── f3.coffee
│ │ │ └── packages/
│ │ │ └── local-pack/
│ │ │ ├── p.coffee
│ │ │ └── package.js
│ │ ├── caching-less/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── imports/
│ │ │ │ └── dotdot.less
│ │ │ ├── output.js
│ │ │ ├── packages/
│ │ │ │ └── local-pack/
│ │ │ │ ├── p.less
│ │ │ │ └── package.js
│ │ │ ├── subdir/
│ │ │ │ ├── foo.import.less
│ │ │ │ └── nested-root.less
│ │ │ └── top.less
│ │ ├── caching-stylus/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── imports/
│ │ │ │ └── dotdot.styl
│ │ │ ├── output.js
│ │ │ ├── packages/
│ │ │ │ └── local-pack/
│ │ │ │ ├── p.styl
│ │ │ │ └── package.js
│ │ │ ├── subdir/
│ │ │ │ ├── foo.import.styl
│ │ │ │ └── nested-root.styl
│ │ │ └── top.styl
│ │ ├── circular-deps/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── packages/
│ │ │ │ ├── first/
│ │ │ │ │ └── package.js
│ │ │ │ ├── first-imply/
│ │ │ │ │ └── package.js
│ │ │ │ ├── first-unordered/
│ │ │ │ │ └── package.js
│ │ │ │ ├── first-weak/
│ │ │ │ │ └── package.js
│ │ │ │ ├── second/
│ │ │ │ │ └── package.js
│ │ │ │ ├── second-imply/
│ │ │ │ │ └── package.js
│ │ │ │ ├── second-unordered/
│ │ │ │ │ └── package.js
│ │ │ │ └── second-weak/
│ │ │ │ └── package.js
│ │ │ └── server/
│ │ │ └── exit123.js
│ │ ├── compiler-plugin-add-asset/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── foo.printme
│ │ │ ├── packages/
│ │ │ │ └── local-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ └── use-asset.js
│ │ ├── compiler-plugin-asset-and-source/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── asset-and-source/
│ │ │ ├── asset-and-source.js
│ │ │ └── package.js
│ │ ├── compiler-plugin-static-html/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ └── static.html
│ │ ├── compiler-plugin-static-html-error/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ └── static.html
│ │ ├── compiler-plugin-throws-on-instantiate/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── foo.printme
│ │ │ └── packages/
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── css-injection-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── css-injection-test.js
│ │ │ └── packages/
│ │ │ └── my-package/
│ │ │ ├── foo.css
│ │ │ └── package.js
│ │ ├── custom-minifier/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── body.html
│ │ │ ├── code.js
│ │ │ ├── packages/
│ │ │ │ └── custom-minifier/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin/
│ │ │ │ └── minify.js
│ │ │ └── styles.css
│ │ ├── ddp-heartbeat/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── server/
│ │ │ └── heartbeat_test.js
│ │ ├── debug-only-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── debug-only-prod-only/
│ │ │ └── package.js
│ │ ├── dev-bundle-bin-commands/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── package.json
│ │ ├── duplicate-compiler-extensions/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── bar.printme
│ │ │ ├── foo.printme
│ │ │ └── packages/
│ │ │ ├── another-local-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── empty/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ ├── failover-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── server/
│ │ │ └── failover-test.js
│ │ ├── hot-code-push-test/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── hot-code-push-test.html
│ │ │ ├── hot-code-push-test.js
│ │ │ └── packages/
│ │ │ └── my-package/
│ │ │ ├── foo.js
│ │ │ └── package.js
│ │ ├── lint-on-publish/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ └── release
│ │ │ ├── a.js
│ │ │ └── packages/
│ │ │ ├── dep-package/
│ │ │ │ ├── dep-package.js
│ │ │ │ └── package.js
│ │ │ └── my-package/
│ │ │ ├── .versions
│ │ │ ├── my-package.js
│ │ │ └── package.js
│ │ ├── linting-app/
│ │ │ ├── .jshintrc
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── a.html
│ │ │ ├── client/
│ │ │ │ └── client.js
│ │ │ ├── packages/
│ │ │ │ └── my-package/
│ │ │ │ ├── .jshintrc
│ │ │ │ ├── .versions
│ │ │ │ ├── package-client.js
│ │ │ │ ├── package-server.js
│ │ │ │ └── package.js
│ │ │ └── server/
│ │ │ └── server.js
│ │ ├── local-compiler-plugin/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── bar.printme
│ │ │ ├── foo.printme
│ │ │ └── packages/
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── minification-css-splitting/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── body.html
│ │ │ ├── client/
│ │ │ │ └── lots-of-styles.main.styl
│ │ │ └── code.js
│ │ ├── minifier-plugin-bad-extension/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── local-plugin/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── minifier-plugin-multiple-minifiers-for-js/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ ├── local-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ └── local-plugin-2/
│ │ │ ├── package.js
│ │ │ └── plugin.js
│ │ ├── mobile-platforms/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ ├── platforms
│ │ │ └── release
│ │ ├── modules/
│ │ │ ├── .gitignore
│ │ │ ├── .meteor/
│ │ │ │ ├── .finished-upgraders
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ ├── release
│ │ │ │ └── versions
│ │ │ ├── README.md
│ │ │ ├── client/
│ │ │ │ ├── compatibility/
│ │ │ │ │ └── bare.js
│ │ │ │ └── only.js
│ │ │ ├── eager-coffee.coffee
│ │ │ ├── eager-jsx.jsx
│ │ │ ├── eager.css
│ │ │ ├── imports/
│ │ │ │ ├── dir/
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ ├── lazy.css
│ │ │ │ ├── lazy.html
│ │ │ │ ├── lazy1.js
│ │ │ │ ├── lazy2.js
│ │ │ │ ├── plain.es5.js
│ │ │ │ ├── return.js
│ │ │ │ └── shared.js
│ │ │ ├── lazy-css.html
│ │ │ ├── lib/
│ │ │ │ ├── a/
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ ├── b/
│ │ │ │ │ └── package.json
│ │ │ │ └── index.js
│ │ │ ├── package.json
│ │ │ ├── packages/
│ │ │ │ ├── client-only-ecmascript/
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── client.js
│ │ │ │ │ ├── imported.js
│ │ │ │ │ ├── package.js
│ │ │ │ │ └── server.js
│ │ │ │ ├── modules-test-package/
│ │ │ │ │ ├── README.md
│ │ │ │ │ ├── client.js
│ │ │ │ │ ├── common.js
│ │ │ │ │ ├── css/
│ │ │ │ │ │ ├── imported.css
│ │ │ │ │ │ └── not-imported.css
│ │ │ │ │ ├── illegal.html
│ │ │ │ │ ├── os-stub.js
│ │ │ │ │ ├── package.js
│ │ │ │ │ └── server.js
│ │ │ │ └── modules-test-plugin/
│ │ │ │ ├── .babelrc
│ │ │ │ ├── README.md
│ │ │ │ ├── array.arson
│ │ │ │ ├── modules-test-plugin.js
│ │ │ │ ├── one.arson
│ │ │ │ ├── oyez-transform.js
│ │ │ │ ├── package.js
│ │ │ │ └── plugin.js
│ │ │ ├── server/
│ │ │ │ └── only.js
│ │ │ └── tests.js
│ │ ├── npmtest/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── packages/
│ │ │ └── npm-test/
│ │ │ ├── npmtest.js
│ │ │ └── package.js
│ │ ├── once/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── once.js
│ │ ├── package-stats-tests/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── package-stats-tests.js
│ │ │ └── packages/
│ │ │ ├── local-package/
│ │ │ │ ├── blah.js
│ │ │ │ └── package.js
│ │ │ └── package-stats-opt-out/
│ │ │ └── package.js
│ │ ├── package-tests/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── identifier
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── mobile-config.js
│ │ │ └── packages/
│ │ │ ├── contains-camera-cordova-plugin/
│ │ │ │ └── package.js
│ │ │ ├── contains-cordova-plugin/
│ │ │ │ ├── package.js
│ │ │ │ ├── package2.js
│ │ │ │ └── package3.js
│ │ │ ├── contains-old-cordova-plugin/
│ │ │ │ └── package.js
│ │ │ ├── contains-plugin/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .npm/
│ │ │ │ │ └── plugin/
│ │ │ │ │ └── compileCoffeescript/
│ │ │ │ │ ├── .gitignore
│ │ │ │ │ ├── README
│ │ │ │ │ └── npm-shrinkwrap.json
│ │ │ │ ├── package.js
│ │ │ │ ├── package2.js
│ │ │ │ └── plugin/
│ │ │ │ └── plugin.js
│ │ │ ├── debug-only/
│ │ │ │ ├── debug-only.js
│ │ │ │ └── package.js
│ │ │ ├── depends-on-plugin/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── foo.js
│ │ │ │ └── package.js
│ │ │ ├── empty-cordova-plugin/
│ │ │ │ ├── package.js
│ │ │ │ └── plugin/
│ │ │ │ ├── plugin.xml
│ │ │ │ ├── src/
│ │ │ │ │ └── android/
│ │ │ │ │ ├── Empty.java
│ │ │ │ │ └── Empty_changed.java
│ │ │ │ └── www/
│ │ │ │ └── Empty.js
│ │ │ ├── no-description/
│ │ │ │ └── package.js
│ │ │ ├── prod-only/
│ │ │ │ ├── package.js
│ │ │ │ └── prod-only.js
│ │ │ ├── say-something/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── foo.js
│ │ │ │ └── package.js
│ │ │ ├── say-something-client-targets/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── all-clients.js
│ │ │ │ ├── browser-client.js
│ │ │ │ ├── cordova-client.js
│ │ │ │ ├── package.js
│ │ │ │ └── server.js
│ │ │ ├── with-add-files/
│ │ │ │ ├── package.js
│ │ │ │ └── with-add-files.js
│ │ │ └── with-main-module/
│ │ │ ├── package.js
│ │ │ └── with-main-module.js
│ │ ├── packageless/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ ├── platforms
│ │ │ │ └── release
│ │ │ └── packageless.js
│ │ ├── simple-app/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── simple.html
│ │ ├── standard-app/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── uses-published-package-with-inactive-source/
│ │ ├── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── packages
│ │ │ └── release
│ │ └── packages/
│ │ └── local-plugin/
│ │ └── package.js
│ ├── autoupdate.js
│ ├── boot-tests.js
│ ├── build-errors.js
│ ├── built-packages/
│ │ └── has-colons.tgz
│ ├── bundle.js
│ ├── colon-converter-tests.js
│ ├── command-line.js
│ ├── compiler-plugins.js
│ ├── constraint-solver.js
│ ├── cordova-builds.js
│ ├── cordova-hcp.js
│ ├── cordova-platforms.js
│ ├── cordova-plugins.js
│ ├── cordova-run.js
│ ├── create.js
│ ├── custom-minifier.js
│ ├── ddp-heartbeat.js
│ ├── dev-bundle-bin-commands.js
│ ├── fake-mongod/
│ │ ├── fake-mongod
│ │ ├── fake-mongod.bat
│ │ └── fake-mongod.js
│ ├── galaxy.js
│ ├── help.js
│ ├── hot-code-push.js
│ ├── js-analyze.js
│ ├── linter-plugins.js
│ ├── login.js
│ ├── meteor-script-link-tests.js
│ ├── minifier-bad-plugins.js
│ ├── modules.js
│ ├── mongo.js
│ ├── npm.js
│ ├── old/
│ │ ├── app-with-package/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ └── packages
│ │ │ └── packages/
│ │ │ └── test-package/
│ │ │ ├── dummy.js
│ │ │ └── package.js
│ │ ├── app-with-private/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ ├── packages/
│ │ │ │ └── test-package/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── package.js
│ │ │ │ ├── plugin.js
│ │ │ │ ├── test-package.js
│ │ │ │ ├── test-package.txt
│ │ │ │ └── test.notregistered
│ │ │ ├── private/
│ │ │ │ ├── nested/
│ │ │ │ │ └── test.txt
│ │ │ │ └── test.txt
│ │ │ └── test.js
│ │ ├── app-with-public/
│ │ │ ├── .meteor/
│ │ │ │ ├── .gitignore
│ │ │ │ ├── .id
│ │ │ │ ├── packages
│ │ │ │ └── release
│ │ │ └── public/
│ │ │ ├── nested/
│ │ │ │ └── nested.txt
│ │ │ └── test.txt
│ │ ├── cli-test.sh
│ │ ├── empty-app/
│ │ │ └── .meteor/
│ │ │ ├── .gitignore
│ │ │ ├── .id
│ │ │ └── packages
│ │ ├── test-bundler-assets.js
│ │ ├── test-bundler-npm.js
│ │ ├── test-bundler-options.js
│ │ └── test-watch.js
│ ├── old.js
│ ├── organizations.js
│ ├── package-tests.js
│ ├── packages/
│ │ ├── fake-accounts-base/
│ │ │ ├── fake-accounts-base-tests.js
│ │ │ ├── fake-accounts-base.js
│ │ │ └── package.js
│ │ ├── has-colons.tgz
│ │ ├── package-for-show/
│ │ │ ├── README.md
│ │ │ ├── package-completely-empty.js
│ │ │ ├── package-customizable.js
│ │ │ ├── package-rc-version.js
│ │ │ ├── package-with-deps.js
│ │ │ ├── package-with-exports.js
│ │ │ ├── package-with-git.js
│ │ │ ├── package-with-implies.js
│ │ │ └── package.js
│ │ ├── package-of-two-versions/
│ │ │ ├── package-version.js
│ │ │ └── package.js
│ │ ├── package-with-colons/
│ │ │ └── package.js
│ │ └── package-with-npm/
│ │ └── package.js
│ ├── parse-stack-test.js
│ ├── releases.js
│ ├── run.js
│ ├── source-maps.js
│ ├── standard-minification.js
│ ├── static-html.js
│ ├── stylus-cross-packages.js
│ ├── tarball.js
│ ├── test-modes.js
│ ├── utils-tests.js
│ ├── version-parser.js
│ └── wipe-all-packages.js
├── tool-env/
│ ├── README.md
│ ├── cleanup.js
│ ├── install-babel.js
│ ├── install-git-hooks.js
│ ├── install-runtime.js
│ ├── isopackets.js
│ ├── profile-require.js
│ ├── profile.js
│ └── source-map-retriever-stack.js
├── tool-testing/
│ ├── README.md
│ ├── galaxy-utils.js
│ ├── phantom/
│ │ └── open-url.js
│ ├── selftest.js
│ └── test-utils.js
├── upgraders.js
└── utils/
├── archinfo.js
├── buildmessage.js
├── buildmessage.md
├── colon-converter.js
├── fiber-helpers.js
├── func-utils.js
├── http-helpers.js
├── mongo-exit-codes.js
├── parse-stack.js
├── processes.js
└── utils.js
Showing preview only (203K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2456 symbols across 204 files)
FILE: examples/other/template-demo/client/d3.v2.js
function d3_class (line 16) | function d3_class(ctor, properties) {
function d3_arrayCopy (line 29) | function d3_arrayCopy(pseudoarray) {
function d3_arraySlice (line 34) | function d3_arraySlice(pseudoarray) {
function d3_Map (line 52) | function d3_Map() {}
function d3_identity (line 100) | function d3_identity(d) {
function d3_this (line 103) | function d3_this() {
function d3_true (line 106) | function d3_true() {
function d3_functor (line 109) | function d3_functor(v) {
function d3_rebind (line 120) | function d3_rebind(target, source, method) {
function d3_number (line 216) | function d3_number(x) {
function d3_zipLength (line 244) | function d3_zipLength(d) {
function map (line 296) | function map(array, depth) {
function entries (line 311) | function entries(map, depth) {
function d3_splitter (line 388) | function d3_splitter(d) {
function d3_collapse (line 391) | function d3_collapse(s) {
function d3_range_integerScale (line 408) | function d3_range_integerScale(x) {
function ready (line 434) | function ready(req) {
function ready (line 459) | function ready(req) {
function d3_dispatch (line 494) | function d3_dispatch() {}
function d3_dispatch_event (line 503) | function d3_dispatch_event(dispatch) {
function d3_format_precision (line 598) | function d3_format_precision(x, p) {
function d3_format_typeDefault (line 601) | function d3_format_typeDefault(x) {
function d3_format_group (line 604) | function d3_format_group(value) {
function d3_formatPrefix (line 620) | function d3_formatPrefix(d, i) {
function d3_ease_clamp (line 672) | function d3_ease_clamp(f) {
function d3_ease_reverse (line 677) | function d3_ease_reverse(f) {
function d3_ease_reflect (line 682) | function d3_ease_reflect(f) {
function d3_ease_identity (line 687) | function d3_ease_identity(t) {
function d3_ease_poly (line 690) | function d3_ease_poly(e) {
function d3_ease_sin (line 695) | function d3_ease_sin(t) {
function d3_ease_exp (line 698) | function d3_ease_exp(t) {
function d3_ease_circle (line 701) | function d3_ease_circle(t) {
function d3_ease_elastic (line 704) | function d3_ease_elastic(a, p) {
function d3_ease_back (line 715) | function d3_ease_back(s) {
function d3_ease_bounce (line 721) | function d3_ease_bounce(t) {
function d3_eventCancel (line 725) | function d3_eventCancel() {
function d3_eventSource (line 729) | function d3_eventSource() {
function d3_eventDispatch (line 734) | function d3_eventDispatch(target) {
function d3_transform (line 759) | function d3_transform(m) {
function d3_transformDot (line 775) | function d3_transformDot(a, b) {
function d3_transformNormalize (line 778) | function d3_transformNormalize(a) {
function d3_transformCombine (line 786) | function d3_transformCombine(a, b, k) {
function d3_interpolateByName (line 994) | function d3_interpolateByName(name) {
function d3_uninterpolateNumber (line 1006) | function d3_uninterpolateNumber(a, b) {
function d3_uninterpolateClamp (line 1012) | function d3_uninterpolateClamp(a, b) {
function d3_rgb (line 1021) | function d3_rgb(r, g, b) {
function d3_Rgb (line 1024) | function d3_Rgb(r, g, b) {
function d3_rgb_hex (line 1048) | function d3_rgb_hex(v) {
function d3_rgb_parse (line 1051) | function d3_rgb_parse(format, rgb, hsl) {
function d3_rgb_hsl (line 1087) | function d3_rgb_hsl(r, g, b) {
function d3_rgb_lab (line 1098) | function d3_rgb_lab(r, g, b) {
function d3_rgb_xyz (line 1105) | function d3_rgb_xyz(r) {
function d3_rgb_parseNumber (line 1108) | function d3_rgb_parseNumber(c) {
function d3_hsl (line 1267) | function d3_hsl(h, s, l) {
function d3_Hsl (line 1270) | function d3_Hsl(h, s, l) {
function d3_hsl_rgb (line 1289) | function d3_hsl_rgb(h, s, l) {
function d3_hcl (line 1312) | function d3_hcl(h, c, l) {
function d3_Hcl (line 1315) | function d3_Hcl(h, c, l) {
function d3_hcl_lab (line 1332) | function d3_hcl_lab(h, c, l) {
function d3_lab (line 1338) | function d3_lab(l, a, b) {
function d3_Lab (line 1341) | function d3_Lab(l, a, b) {
function d3_lab_rgb (line 1360) | function d3_lab_rgb(l, a, b) {
function d3_lab_hcl (line 1367) | function d3_lab_hcl(l, a, b) {
function d3_lab_xyz (line 1370) | function d3_lab_xyz(x) {
function d3_xyz_lab (line 1373) | function d3_xyz_lab(x) {
function d3_xyz_rgb (line 1376) | function d3_xyz_rgb(r) {
function d3_selection (line 1379) | function d3_selection(groups) {
function d3_selection_selector (line 1421) | function d3_selection_selector(selector) {
function d3_selection_selectorAll (line 1439) | function d3_selection_selectorAll(selector) {
function d3_selection_attr (line 1456) | function d3_selection_attr(name, value) {
function d3_selection_classedRe (line 1498) | function d3_selection_classedRe(name) {
function d3_selection_classed (line 1501) | function d3_selection_classed(name, value) {
function d3_selection_classedName (line 1514) | function d3_selection_classedName(name) {
function d3_selection_style (line 1544) | function d3_selection_style(name, value, priority) {
function d3_selection_property (line 1565) | function d3_selection_property(name, value) {
function append (line 1600) | function append() {
function appendNS (line 1603) | function appendNS() {
function insert (line 1610) | function insert() {
function insertNS (line 1613) | function insertNS() {
function bind (line 1635) | function bind(group, groupData) {
function d3_selection_dataNode (line 1711) | function d3_selection_dataNode(data) {
function d3_selection_filter (line 1733) | function d3_selection_filter(selector) {
function d3_selection_sortComparator (line 1754) | function d3_selection_sortComparator(comparator) {
function d3_selection_on (line 1773) | function d3_selection_on(type, listener, capture) {
function d3_selection_each (line 1806) | function d3_selection_each(groups, callback) {
function d3_selection_enter (line 1852) | function d3_selection_enter(selection) {
function d3_transition (line 1880) | function d3_transition(groups, id, time) {
function attrTween (line 2010) | function attrTween(d, i) {
function attrTweenNS (line 2016) | function attrTweenNS(d, i) {
function d3_transition_each (line 2070) | function d3_transition_each(callback) {
function tweenFunction (line 2089) | function tweenFunction(d, i, a) {
function tweenString (line 2093) | function tweenString(d, i, a) {
function d3_tweenNull (line 2099) | function d3_tweenNull(d, i, a) {
function d3_tweenByName (line 2102) | function d3_tweenByName(b, name) {
function d3_timer_step (line 2134) | function d3_timer_step() {
function d3_timer_flush (line 2162) | function d3_timer_flush() {
function d3_mousePoint (line 2181) | function d3_mousePoint(container, e) {
function d3_noop (line 2212) | function d3_noop() {}
function d3_scaleExtent (line 2214) | function d3_scaleExtent(domain) {
function d3_scaleRange (line 2218) | function d3_scaleRange(scale) {
function d3_scale_nice (line 2221) | function d3_scale_nice(domain, nice) {
function d3_scale_niceDefault (line 2233) | function d3_scale_niceDefault() {
function d3_scale_linear (line 2239) | function d3_scale_linear(domain, range, interpolate, clamp) {
function d3_scale_linearRebind (line 2291) | function d3_scale_linearRebind(scale, linear) {
function d3_scale_linearNice (line 2294) | function d3_scale_linearNice(dx) {
function d3_scale_linearTickRange (line 2305) | function d3_scale_linearTickRange(domain, m) {
function d3_scale_linearTicks (line 2313) | function d3_scale_linearTicks(domain, m) {
function d3_scale_linearTickFormat (line 2316) | function d3_scale_linearTickFormat(domain, m) {
function d3_scale_bilinear (line 2319) | function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {
function d3_scale_polylinear (line 2325) | function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {
function d3_scale_log (line 2343) | function d3_scale_log(linear, log) {
function d3_scale_logp (line 2393) | function d3_scale_logp(x) {
function d3_scale_logn (line 2396) | function d3_scale_logn(x) {
function d3_scale_pow (line 2408) | function d3_scale_pow(linear, exponent) {
function d3_scale_powPow (line 2442) | function d3_scale_powPow(e) {
function d3_scale_ordinal (line 2456) | function d3_scale_ordinal(domain, ranger) {
function d3_scale_quantile (line 2551) | function d3_scale_quantile(domain, range) {
function d3_scale_quantize (line 2586) | function d3_scale_quantize(x0, x1, range) {
function d3_scale_threshold (line 2615) | function d3_scale_threshold(domain, range) {
function d3_scale_identity (line 2637) | function d3_scale_identity(domain) {
function arc (line 2661) | function arc() {
function d3_svg_arcInnerRadius (line 2692) | function d3_svg_arcInnerRadius(d) {
function d3_svg_arcOuterRadius (line 2695) | function d3_svg_arcOuterRadius(d) {
function d3_svg_arcStartAngle (line 2698) | function d3_svg_arcStartAngle(d) {
function d3_svg_arcEndAngle (line 2701) | function d3_svg_arcEndAngle(d) {
function d3_svg_line (line 2704) | function d3_svg_line(projection) {
function d3_svg_lineX (line 2752) | function d3_svg_lineX(d) {
function d3_svg_lineY (line 2755) | function d3_svg_lineY(d) {
function d3_svg_lineLinear (line 2776) | function d3_svg_lineLinear(points) {
function d3_svg_lineLinearClosed (line 2779) | function d3_svg_lineLinearClosed(points) {
function d3_svg_lineStepBefore (line 2782) | function d3_svg_lineStepBefore(points) {
function d3_svg_lineStepAfter (line 2787) | function d3_svg_lineStepAfter(points) {
function d3_svg_lineCardinalOpen (line 2792) | function d3_svg_lineCardinalOpen(points, tension) {
function d3_svg_lineCardinalClosed (line 2795) | function d3_svg_lineCardinalClosed(points, tension) {
function d3_svg_lineCardinal (line 2798) | function d3_svg_lineCardinal(points, tension, closed) {
function d3_svg_lineHermite (line 2801) | function d3_svg_lineHermite(points, tangents) {
function d3_svg_lineCardinalTangents (line 2828) | function d3_svg_lineCardinalTangents(points, tension) {
function d3_svg_lineBasis (line 2838) | function d3_svg_lineBasis(points) {
function d3_svg_lineBasisOpen (line 2860) | function d3_svg_lineBasisOpen(points) {
function d3_svg_lineBasisClosed (line 2880) | function d3_svg_lineBasisClosed(points) {
function d3_svg_lineBundle (line 2899) | function d3_svg_lineBundle(points, tension) {
function d3_svg_lineDot4 (line 2912) | function d3_svg_lineDot4(a, b) {
function d3_svg_lineBasisBezier (line 2916) | function d3_svg_lineBasisBezier(path, x, y) {
function d3_svg_lineSlope (line 2919) | function d3_svg_lineSlope(p0, p1) {
function d3_svg_lineFiniteDifferences (line 2922) | function d3_svg_lineFiniteDifferences(points) {
function d3_svg_lineMonotoneTangents (line 2930) | function d3_svg_lineMonotoneTangents(points) {
function d3_svg_lineMonotone (line 2954) | function d3_svg_lineMonotone(points) {
function d3_svg_lineRadial (line 2963) | function d3_svg_lineRadial(points) {
function d3_svg_area (line 2974) | function d3_svg_area(projection) {
function chord (line 3064) | function chord(d, i) {
function subgroup (line 3068) | function subgroup(self, f, d, i) {
function equals (line 3078) | function equals(a, b) {
function arc (line 3081) | function arc(r, p, a) {
function curve (line 3084) | function curve(r0, p0, r1, p1) {
function d3_svg_chordSource (line 3114) | function d3_svg_chordSource(d) {
function d3_svg_chordTarget (line 3117) | function d3_svg_chordTarget(d) {
function d3_svg_chordRadius (line 3120) | function d3_svg_chordRadius(d) {
function d3_svg_chordStartAngle (line 3123) | function d3_svg_chordStartAngle(d) {
function d3_svg_chordEndAngle (line 3126) | function d3_svg_chordEndAngle(d) {
function diagonal (line 3131) | function diagonal(d, i) {
function d3_svg_diagonalProjection (line 3159) | function d3_svg_diagonalProjection(d) {
function d3_svg_diagonalRadialProjection (line 3169) | function d3_svg_diagonalRadialProjection(projection) {
function symbol (line 3179) | function symbol(d, i) {
function d3_svg_symbolSize (line 3194) | function d3_svg_symbolSize() {
function d3_svg_symbolType (line 3197) | function d3_svg_symbolType() {
function d3_svg_symbolCircle (line 3200) | function d3_svg_symbolCircle(size) {
function axis (line 3231) | function axis(g) {
function d3_svg_axisX (line 3358) | function d3_svg_axisX(selection, x) {
function d3_svg_axisY (line 3363) | function d3_svg_axisY(selection, y) {
function d3_svg_axisSubdivide (line 3368) | function d3_svg_axisSubdivide(scale, ticks, m) {
function brush (line 3387) | function brush(g) {
function redraw (line 3417) | function redraw(g) {
function redrawX (line 3422) | function redrawX(g) {
function redrawY (line 3426) | function redrawY(g) {
function brushstart (line 3430) | function brushstart() {
function drag (line 3614) | function drag() {
function mousedown (line 3617) | function mousedown() {
function zoom (line 3672) | function zoom() {
function location (line 3702) | function location(p) {
function point (line 3705) | function point(l) {
function scaleTo (line 3708) | function scaleTo(s) {
function translateTo (line 3711) | function translateTo(p, l) {
function dispatch (line 3716) | function dispatch(event) {
function mousedown (line 3730) | function mousedown() {
function mousewheel (line 3749) | function mousewheel() {
function mousemove (line 3755) | function mousemove() {
function dblclick (line 3758) | function dblclick() {
function touchstart (line 3764) | function touchstart() {
function touchmove (line 3782) | function touchmove() {
function d3_behavior_zoomDelta (line 3797) | function d3_behavior_zoomDelta() {
function d3_layout_bundlePath (line 3819) | function d3_layout_bundlePath(link) {
function d3_layout_bundleAncestors (line 3832) | function d3_layout_bundleAncestors(node) {
function d3_layout_bundleLeastCommonAncestor (line 3842) | function d3_layout_bundleLeastCommonAncestor(a, b) {
function relayout (line 3854) | function relayout() {
function resort (line 3920) | function resort() {
function repulse (line 3967) | function repulse(node) {
function position (line 4139) | function position(dimension, size) {
function neighbor (line 4144) | function neighbor() {
function dragstart (line 4170) | function dragstart(d) {
function d3_layout_forceDragOver (line 4177) | function d3_layout_forceDragOver(d) {
function d3_layout_forceDragOut (line 4180) | function d3_layout_forceDragOut(d) {
function d3_layout_forceDragEnd (line 4183) | function d3_layout_forceDragEnd() {
function d3_layout_forceDrag (line 4187) | function d3_layout_forceDrag() {
function d3_layout_forceAccumulate (line 4192) | function d3_layout_forceAccumulate(quad, alpha, charges) {
function d3_layout_forceLinkDistance (line 4219) | function d3_layout_forceLinkDistance(link) {
function d3_layout_forceLinkStrength (line 4222) | function d3_layout_forceLinkStrength(link) {
function position (line 4227) | function position(node, x, dx, dy) {
function depth (line 4242) | function depth(node) {
function partition (line 4250) | function partition(d, i) {
function pie (line 4264) | function pie(data, i) {
function stack (line 4313) | function stack(data, index) {
function d3_layout_stackX (line 4367) | function d3_layout_stackX(d) {
function d3_layout_stackY (line 4370) | function d3_layout_stackY(d) {
function d3_layout_stackOut (line 4373) | function d3_layout_stackOut(d, y0, y) {
function d3_layout_stackOrderDefault (line 4440) | function d3_layout_stackOrderDefault(data) {
function d3_layout_stackOffsetZero (line 4443) | function d3_layout_stackOffsetZero(data) {
function d3_layout_stackMaxIndex (line 4448) | function d3_layout_stackMaxIndex(array) {
function d3_layout_stackReduceSum (line 4458) | function d3_layout_stackReduceSum(d) {
function d3_layout_stackSum (line 4461) | function d3_layout_stackSum(p, d) {
function histogram (line 4466) | function histogram(data, i) {
function d3_layout_histogramBinSturges (line 4510) | function d3_layout_histogramBinSturges(range, values) {
function d3_layout_histogramBinFixed (line 4513) | function d3_layout_histogramBinFixed(range, n) {
function d3_layout_histogramRange (line 4518) | function d3_layout_histogramRange(values) {
function recurse (line 4523) | function recurse(data, depth, nodes) {
function revalue (line 4544) | function revalue(node, depth) {
function hierarchy (line 4555) | function hierarchy(d) {
function d3_layout_hierarchyRebind (line 4581) | function d3_layout_hierarchyRebind(object, hierarchy) {
function d3_layout_hierarchyChildren (line 4590) | function d3_layout_hierarchyChildren(d) {
function d3_layout_hierarchyValue (line 4593) | function d3_layout_hierarchyValue(d) {
function d3_layout_hierarchySort (line 4596) | function d3_layout_hierarchySort(a, b) {
function d3_layout_hierarchyLinks (line 4599) | function d3_layout_hierarchyLinks(nodes) {
function pack (line 4612) | function pack(d, i) {
function d3_layout_packSort (line 4647) | function d3_layout_packSort(a, b) {
function d3_layout_packInsert (line 4650) | function d3_layout_packInsert(a, b) {
function d3_layout_packSplice (line 4657) | function d3_layout_packSplice(a, b) {
function d3_layout_packIntersects (line 4661) | function d3_layout_packIntersects(a, b) {
function d3_layout_packSiblings (line 4665) | function d3_layout_packSiblings(node) {
function d3_layout_packLink (line 4729) | function d3_layout_packLink(node) {
function d3_layout_packUnlink (line 4732) | function d3_layout_packUnlink(node) {
function d3_layout_packTransform (line 4736) | function d3_layout_packTransform(node, x, y, k) {
function d3_layout_packPlace (line 4746) | function d3_layout_packPlace(a, b, c) {
function cluster (line 4762) | function cluster(d, i) {
function d3_layout_clusterY (line 4794) | function d3_layout_clusterY(children) {
function d3_layout_clusterX (line 4799) | function d3_layout_clusterX(children) {
function d3_layout_clusterLeft (line 4804) | function d3_layout_clusterLeft(node) {
function d3_layout_clusterRight (line 4808) | function d3_layout_clusterRight(node) {
function tree (line 4814) | function tree(d, i) {
function d3_layout_treeSeparation (line 4913) | function d3_layout_treeSeparation(a, b) {
function d3_layout_treeLeft (line 4916) | function d3_layout_treeLeft(node) {
function d3_layout_treeRight (line 4920) | function d3_layout_treeRight(node) {
function d3_layout_treeSearch (line 4924) | function d3_layout_treeSearch(node, compare) {
function d3_layout_treeRightmost (line 4936) | function d3_layout_treeRightmost(a, b) {
function d3_layout_treeLeftmost (line 4939) | function d3_layout_treeLeftmost(a, b) {
function d3_layout_treeDeepest (line 4942) | function d3_layout_treeDeepest(a, b) {
function d3_layout_treeVisitAfter (line 4945) | function d3_layout_treeVisitAfter(node, callback) {
function d3_layout_treeShift (line 4960) | function d3_layout_treeShift(node) {
function d3_layout_treeMove (line 4969) | function d3_layout_treeMove(ancestor, node, shift) {
function d3_layout_treeAncestor (line 4979) | function d3_layout_treeAncestor(vim, node, ancestor) {
function scale (line 4984) | function scale(children, k) {
function squarify (line 4991) | function squarify(node) {
function stickify (line 5018) | function stickify(node) {
function worst (line 5035) | function worst(row, u) {
function position (line 5046) | function position(row, u, rect, flush) {
function treemap (line 5076) | function treemap(d) {
function padFunction (line 5095) | function padFunction(node) {
function padConstant (line 5099) | function padConstant(node) {
function d3_layout_treemapPadNull (line 5124) | function d3_layout_treemapPadNull(node) {
function d3_layout_treemapPad (line 5132) | function d3_layout_treemapPad(node, padding) {
function d3_dsv (line 5149) | function d3_dsv(delimiter, mimeType) {
function azimuthal (line 5233) | function azimuthal(coordinates) {
function albers (line 5269) | function albers(coordinates) {
function reload (line 5277) | function reload() {
function albersUsa (line 5312) | function albersUsa(coordinates) {
function bonne (line 5337) | function bonne(coordinates) {
function equirectangular (line 5386) | function equirectangular(coordinates) {
function mercator (line 5408) | function mercator(coordinates) {
function d3_geo_type (line 5428) | function d3_geo_type(types, defaultValue) {
function path (line 5435) | function path(d, i) {
function project (line 5442) | function project(coordinates) {
function polygonArea (line 5534) | function polygonArea(coordinates) {
function polygonCentroid (line 5539) | function polygonCentroid(coordinates) {
function area (line 5570) | function area(coordinates) {
function d3_path_circle (line 5586) | function d3_path_circle(radius) {
function d3_geo_bounds (line 5599) | function d3_geo_bounds(o, f) {
function d3_geo_boundsFeature (line 5613) | function d3_geo_boundsFeature(o, f) {
function d3_geo_boundsFeatureCollection (line 5616) | function d3_geo_boundsFeatureCollection(o, f) {
function d3_geo_boundsGeometryCollection (line 5621) | function d3_geo_boundsGeometryCollection(o, f) {
function d3_geo_boundsLineString (line 5626) | function d3_geo_boundsLineString(o, f) {
function d3_geo_boundsMultiLineString (line 5631) | function d3_geo_boundsMultiLineString(o, f) {
function d3_geo_boundsMultiPolygon (line 5638) | function d3_geo_boundsMultiPolygon(o, f) {
function d3_geo_boundsPoint (line 5645) | function d3_geo_boundsPoint(o, f) {
function d3_geo_boundsPolygon (line 5648) | function d3_geo_boundsPolygon(o, f) {
function circle (line 5655) | function circle() {}
function visible (line 5656) | function visible(point) {
function clip (line 5709) | function clip(coordinates) {
function resample (line 5733) | function resample(coordinates) {
function greatArc (line 5757) | function greatArc() {
function d3_geo_greatArcSource (line 5790) | function d3_geo_greatArcSource(d) {
function d3_geo_greatArcTarget (line 5793) | function d3_geo_greatArcTarget(d) {
function d3_geo_greatArcInterpolator (line 5796) | function d3_geo_greatArcInterpolator() {
function d3_geo_greatArcInterpolate (line 5826) | function d3_geo_greatArcInterpolate(a, b) {
function d3_geom_contourStart (line 5862) | function d3_geom_contourStart(grid) {
function d3_geom_hullCCW (line 5944) | function d3_geom_hullCCW(i1, i2, i3, v) {
function d3_geom_polygonInside (line 6004) | function d3_geom_polygonInside(p, a, b) {
function d3_geom_polygonIntersect (line 6007) | function d3_geom_polygonIntersect(c, d, a, b) {
function d3_voronoi_tessellate (line 6055) | function d3_voronoi_tessellate(vertices, callback) {
function insert (line 6367) | function insert(n, p, x1, y1, x2, y2) {
function insertChild (line 6386) | function insertChild(n, p, x1, y1, x2, y2) {
function d3_geom_quadtreeNode (line 6404) | function d3_geom_quadtreeNode() {
function d3_geom_quadtreeVisit (line 6411) | function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {
function d3_geom_quadtreePoint (line 6420) | function d3_geom_quadtreePoint(p) {
function d3_time_utc (line 6428) | function d3_time_utc() {
function d3_time_formatAbbreviate (line 6496) | function d3_time_formatAbbreviate(name) {
function format (line 6501) | function format(date) {
function d3_time_parse (line 6534) | function d3_time_parse(date, template, string, j) {
function d3_time_formatRe (line 6548) | function d3_time_formatRe(names) {
function d3_time_formatLookup (line 6551) | function d3_time_formatLookup(names) {
function d3_time_parseWeekdayAbbrev (line 6644) | function d3_time_parseWeekdayAbbrev(date, string, i) {
function d3_time_parseWeekday (line 6649) | function d3_time_parseWeekday(date, string, i) {
function d3_time_parseMonthAbbrev (line 6654) | function d3_time_parseMonthAbbrev(date, string, i) {
function d3_time_parseMonth (line 6659) | function d3_time_parseMonth(date, string, i) {
function d3_time_parseLocaleFull (line 6664) | function d3_time_parseLocaleFull(date, string, i) {
function d3_time_parseLocaleDate (line 6667) | function d3_time_parseLocaleDate(date, string, i) {
function d3_time_parseLocaleTime (line 6670) | function d3_time_parseLocaleTime(date, string, i) {
function d3_time_parseFullYear (line 6673) | function d3_time_parseFullYear(date, string, i) {
function d3_time_parseYear (line 6678) | function d3_time_parseYear(date, string, i) {
function d3_time_expandYear (line 6683) | function d3_time_expandYear(d) {
function d3_time_parseMonthNumber (line 6686) | function d3_time_parseMonthNumber(date, string, i) {
function d3_time_parseDay (line 6691) | function d3_time_parseDay(date, string, i) {
function d3_time_parseHour24 (line 6696) | function d3_time_parseHour24(date, string, i) {
function d3_time_parseMinutes (line 6701) | function d3_time_parseMinutes(date, string, i) {
function d3_time_parseSeconds (line 6706) | function d3_time_parseSeconds(date, string, i) {
function d3_time_parseMilliseconds (line 6711) | function d3_time_parseMilliseconds(date, string, i) {
function d3_time_parseAmPm (line 6717) | function d3_time_parseAmPm(date, string, i) {
function d3_time_zone (line 6725) | function d3_time_zone(d) {
function format (line 6731) | function format(date) {
function d3_time_formatIsoNative (line 6755) | function d3_time_formatIsoNative(date) {
function d3_time_interval (line 6763) | function d3_time_interval(local, step, number) {
function d3_time_interval_utc (line 6811) | function d3_time_interval_utc(method) {
function d3_time_scale (line 6911) | function d3_time_scale(linear, methods, format) {
function d3_time_scaleExtent (line 6949) | function d3_time_scaleExtent(domain) {
function d3_time_scaleDate (line 6953) | function d3_time_scaleDate(t) {
function d3_time_scaleFormat (line 6956) | function d3_time_scaleFormat(formats) {
function d3_time_scaleSetYear (line 6963) | function d3_time_scaleSetYear(y) {
function d3_time_scaleGetYear (line 6968) | function d3_time_scaleGetYear(d) {
function d3_time_scaleUTCSetYear (line 7019) | function d3_time_scaleUTCSetYear(y) {
function d3_time_scaleUTCGetYear (line 7024) | function d3_time_scaleUTCGetYear(d) {
FILE: examples/unfinished/movers/client/jquery-ui-sortable.js
function focusable (line 123) | function focusable( element, isTabIndexNotNaN ) {
function visible (line 144) | function visible( element ) {
function reduce (line 186) | function reduce( elem, size, border, margin ) {
function handlerProxy (line 692) | function handlerProxy() {
function handlerProxy (line 728) | function handlerProxy() {
function isOverAxis (line 987) | function isOverAxis( x, reference, size ) {
function isFloating (line 991) | function isFloating(item) {
FILE: examples/unfinished/python-ddp-client/ddp-client.py
function log (line 17) | def log(msg):
function parse_command (line 22) | def parse_command(params):
class DDPClient (line 29) | class DDPClient(WebSocketClient):
method __init__ (line 31) | def __init__(self, url, print_raw):
method send (line 56) | def send(self, msg_dict):
method block_until_return (line 74) | def block_until_return(self, msg_type, msg_id):
method opened (line 93) | def opened(self):
method received_message (line 99) | def received_message(self, data):
method closed (line 170) | def closed(self, code, reason=None):
method run (line 177) | def run(self):
class App (line 188) | class App(Cmd):
method __init__ (line 191) | def __init__(self, ddp_endpoint, print_raw):
method do_call (line 215) | def do_call(self, params):
method do_sub (line 229) | def do_sub(self, params):
method do_EOF (line 243) | def do_EOF(self, line):
method do_help (line 250) | def do_help(self, line):
method emptyline (line 272) | def emptyline(self):
method next_id (line 276) | def next_id(self):
function main (line 283) | def main():
FILE: examples/unfinished/reorderable-list/client/jquery-ui-sortable.js
function focusable (line 123) | function focusable( element, isTabIndexNotNaN ) {
function visible (line 144) | function visible( element ) {
function reduce (line 186) | function reduce( elem, size, border, margin ) {
function handlerProxy (line 692) | function handlerProxy() {
function handlerProxy (line 728) | function handlerProxy() {
function isOverAxis (line 987) | function isOverAxis( x, reference, size ) {
function isFloating (line 991) | function isFloating(item) {
FILE: examples/unfinished/todos-backbone/client/todos.js
function all (line 13) | function all () {
function all_done (line 17) | function all_done () {
function all_remaining (line 21) | function all_remaining () {
function nextOrder (line 25) | function nextOrder () {
FILE: examples/unfinished/todos-underscore/client/client.js
function renderItem (line 22) | function renderItem (obj) {
function setCurrentList (line 104) | function setCurrentList (list_id) {
function updateLocalTags (line 179) | function updateLocalTags() {
FILE: packages/accounts-base/accounts_client.js
class AccountsClient (line 13) | class AccountsClient extends AccountsCommon {
method constructor (line 14) | constructor(options) {
method userId (line 38) | userId() {
method _setLoggingIn (line 45) | _setLoggingIn(x) {
method loggingIn (line 56) | loggingIn() {
method logout (line 66) | logout(callback) {
method logoutOtherClients (line 85) | logoutOtherClients(callback) {
FILE: packages/accounts-base/accounts_common.js
class AccountsCommon (line 10) | class AccountsCommon {
method constructor (line 11) | constructor(options) {
method userId (line 49) | userId() {
method user (line 57) | user() {
method config (line 97) | config(options) {
method onLogin (line 151) | onLogin(func) {
method onLoginFailure (line 160) | onLoginFailure(func) {
method onLogout (line 169) | onLogout(func) {
method _initConnection (line 173) | _initConnection(options) {
method _getTokenLifetimeMs (line 206) | _getTokenLifetimeMs() {
method _tokenExpiration (line 211) | _tokenExpiration(when) {
method _tokenExpiresSoon (line 217) | _tokenExpiresSoon(when) {
FILE: packages/accounts-base/accounts_reconnect_tests.js
function loginAsUser1 (line 20) | function loginAsUser1() {
function onUser1LoggedIn (line 27) | function onUser1LoggedIn(err) {
function onUser2LoggedIn (line 35) | function onUser2LoggedIn(err) {
function onUser2LoggedInAfterReconnect (line 42) | function onUser2LoggedInAfterReconnect() {
function onFailedLogin (line 48) | function onFailedLogin(err) {
function failTest (line 56) | function failTest() {
function onUser2LoggedInAfterReconnectAfterFailedLogin (line 62) | function onUser2LoggedInAfterReconnectAfterFailedLogin() {
function checkFinalState (line 68) | function checkFinalState(err, connectionUserId) {
FILE: packages/accounts-base/accounts_server.js
class AccountsServer (line 13) | class AccountsServer extends AccountsCommon {
method constructor (line 17) | constructor(server) {
method userId (line 70) | userId() {
method validateLoginAttempt (line 95) | validateLoginAttempt(func) {
method validateNewUser (line 105) | validateNewUser(func) {
method onCreateUser (line 118) | onCreateUser(func) {
function cloneAttemptWithConnection (line 132) | function cloneAttemptWithConnection(connection, attempt) {
function setupDefaultLoginHandlers (line 962) | function setupDefaultLoginHandlers(accounts) {
function defaultResumeLoginHandler (line 969) | function defaultResumeLoginHandler(accounts, options) {
function setExpireTokensInterval (line 1135) | function setExpireTokensInterval(accounts) {
function usingOAuthEncryption (line 1150) | function usingOAuthEncryption() {
function pinEncryptedFieldsToUser (line 1162) | function pinEncryptedFieldsToUser(serviceData, userId) {
function defaultCreateUserHook (line 1206) | function defaultCreateUserHook(options, user) {
function defaultValidateNewUserHook (line 1284) | function defaultValidateNewUserHook(user) {
function setupUsersCollection (line 1398) | function setupUsersCollection(users) {
FILE: packages/accounts-base/url_client.js
function attemptToMatchHash (line 29) | function attemptToMatchHash(accounts, hash, success) {
function defaultSuccessHandler (line 63) | function defaultSuccessHandler(token, urlPart) {
FILE: packages/accounts-password/email_templates.js
function greet (line 1) | function greet(welcomeMsg) {
FILE: packages/allow-deny/allow-deny.js
constant ALLOWED_UPDATE_OPERATIONS (line 354) | const ALLOWED_UPDATE_OPERATIONS = {
function transformDoc (line 428) | function transformDoc(validator, doc) {
function docToValidate (line 434) | function docToValidate(validator, doc, generatedId) {
function addValidator (line 451) | function addValidator(collection, allowOrDeny, options) {
function throwIfSelectorIsNotId (line 492) | function throwIfSelectorIsNotId(selector, methodName) {
function alreadyInSimulation (line 501) | function alreadyInSimulation() {
FILE: packages/babel-compiler/babel-compiler.js
function profile (line 137) | function profile(name, func) {
function infer (line 211) | function infer(listName, prefix) {
function packageNameFromTopLevelModuleId (line 336) | function packageNameFromTopLevelModuleId(id) {
FILE: packages/babel-compiler/babel.js
function getDefaultOptions (line 6) | function getDefaultOptions(extraFeatures) {
FILE: packages/babel-runtime/babel-runtime.js
function defineProperties (line 108) | function defineProperties(target, props) {
FILE: packages/binary-heap/max-heap.js
function leftChildIdx (line 223) | function leftChildIdx (i) { return i * 2 + 1; }
function rightChildIdx (line 224) | function rightChildIdx (i) { return i * 2 + 2; }
function parentIdx (line 225) | function parentIdx (i) { return (i - 1) >> 1; }
FILE: packages/caching-compiler/caching-compiler.js
constant LRU (line 6) | const LRU = Npm.require('lru-cache');
method constructor (line 11) | constructor({
method getCacheKey (line 48) | getCacheKey(inputFile) {
method addCompileResult (line 60) | addCompileResult(inputFile, compileResult) {
method compileResultSize (line 67) | compileResultSize(compileResult) {
method stringifyCompileResult (line 73) | stringifyCompileResult(compileResult) {
method parseCompileResult (line 81) | parseCompileResult(stringifiedCompileResult) {
method _parseJSONOrNull (line 84) | _parseJSONOrNull(json) {
method _cacheDebug (line 94) | _cacheDebug(message) {
method setDiskCacheDirectory (line 100) | setDiskCacheDirectory(diskCache) {
method sourceMapSize (line 108) | sourceMapSize(sm) {
method _deepHash (line 120) | _deepHash(val) {
method _writeFileAsync (line 164) | _writeFileAsync(filename, contents) {
method _readFileOrNull (line 179) | _readFileOrNull(filename) {
method constructor (line 236) | constructor({
method compileOneFile (line 265) | compileOneFile(inputFile) {
method processFilesForTarget (line 273) | processFilesForTarget(inputFiles) {
method _cacheFilename (line 321) | _cacheFilename(cacheKey) {
method _readCache (line 331) | _readCache(cacheKey) {
method _writeCacheAsync (line 343) | _writeCacheAsync(cacheKey, compileResult) {
method _readAndParseCompileResultOrNull (line 353) | _readAndParseCompileResultOrNull(filename) {
FILE: packages/caching-compiler/multi-file-caching-compiler.js
constant LRU (line 3) | const LRU = Npm.require('lru-cache');
method constructor (line 18) | constructor({
method compileOneFile (line 57) | compileOneFile(inputFile, allFiles) {
method isRoot (line 66) | isRoot(inputFile) {
method getAbsoluteImportPath (line 74) | getAbsoluteImportPath(inputFile) {
method processFilesForTarget (line 83) | processFilesForTarget(inputFiles) {
method _cacheEntryValid (line 160) | _cacheEntryValid(cacheEntry, cacheKeyMap) {
method _cacheFilename (line 169) | _cacheFilename(absoluteImportPath) {
method _readCache (line 175) | _readCache(absoluteImportPath) {
method _writeCacheAsync (line 206) | _writeCacheAsync(absoluteImportPath, cacheEntry) {
FILE: packages/caching-html-compiler/caching-html-compiler.js
method constructor (line 16) | constructor(name, tagScannerFunc, tagHandlerFunc) {
method compileResultSize (line 29) | compileResultSize(compileResult) {
method processFilesForTarget (line 38) | processFilesForTarget(inputFiles) {
method getCacheKey (line 44) | getCacheKey(inputFile) {
method compileOneFile (line 51) | compileOneFile(inputFile) {
method addCompileResult (line 76) | addCompileResult(inputFile, compileResult) {
FILE: packages/check/isPlainObject.js
function type (line 16) | function type( obj ) {
function isWindow (line 25) | function isWindow( obj ) {
FILE: packages/code-prettify/prettify.js
function L (line 2) | function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var...
function M (line 6) | function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.classN...
function B (line 7) | function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}
function x (line 7) | function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(...
function u (line 9) | function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''...
function D (line 12) | function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.clas...
function k (line 15) | function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(...
function C (line 15) | function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-m...
function E (line 15) | function E(a){var m=
function m (line 25) | function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Inf...
FILE: packages/coffeescript/plugin/compile-coffeescript.js
class CoffeeCompiler (line 22) | class CoffeeCompiler extends CachingCompiler {
method constructor (line 23) | constructor() {
method _getCompileOptions (line 40) | _getCompileOptions(inputFile) {
method _outputFilePath (line 56) | _outputFilePath(inputFile) {
method getCacheKey (line 60) | getCacheKey(inputFile) {
method compileOneFile (line 68) | compileOneFile(inputFile) {
method addCompileResult (line 117) | addCompileResult(inputFile, sourceWithMap) {
method compileResultSize (line 127) | compileResultSize(sourceWithMap) {
function stripExportedVars (line 133) | function stripExportedVars(source, exports) {
function addSharedHeader (line 200) | function addSharedHeader(source, sourceMap) {
FILE: packages/constraint-solver/benchmark-tests.js
function getCatalogStub (line 284) | function getCatalogStub (gems) {
FILE: packages/constraint-solver/constraint-solver-input.js
function getMentionedPackages (line 121) | function getMentionedPackages(input) {
FILE: packages/ddp-common/random_stream.js
function randomToken (line 36) | function randomToken() {
FILE: packages/ddp-rate-limiter/ddp-rate-limiter-tests.js
function createTestUser (line 285) | function createTestUser(test, expect) {
function callFnMultipleTimesThenExpectResult (line 319) | function callFnMultipleTimesThenExpectResult(
FILE: packages/ddp-server/livedata_server.js
function finish (line 719) | function finish() {
FILE: packages/ddp-server/livedata_server_tests.js
method testResolvedPromise (line 161) | testResolvedPromise(arg) {
method testRejectedPromise (line 174) | testRejectedPromise(arg) {
FILE: packages/ddp-server/writefence.js
function invokeCallback (line 99) | function invokeCallback (func) {
FILE: packages/deprecated/amplify/amplify.js
function createFromStorageInterface (line 155) | function createFromStorageInterface( storageType, storage ) {
function copy (line 379) | function copy( obj ) {
function noop (line 421) | function noop() {}
function isFunction (line 422) | function isFunction( obj ) {
function async (line 426) | function async( fn ) {
function chunk (line 712) | function chunk() {
function success (line 816) | function success( data, status ) {
function error (line 819) | function error( data, status ) {
FILE: packages/deprecated/bootstrap/js/bootstrap.js
function removeElement (line 115) | function removeElement() {
function clearMenus (line 739) | function clearMenus() {
function getParent (line 745) | function getParent($this) {
function removeWithAnimation (line 1270) | function removeWithAnimation() {
function ScrollSpy (line 1541) | function ScrollSpy(element, options) {
function next (line 1752) | function next() {
FILE: packages/deprecated/d3/d3.v3.js
function d3_number (line 71) | function d3_number(x) {
function d3_zipLength (line 141) | function d3_zipLength(d) {
function d3_range_integerScale (line 182) | function d3_range_integerScale(x) {
function d3_class (line 187) | function d3_class(ctor, properties) {
function d3_Map (line 204) | function d3_Map() {}
function map (line 254) | function map(mapType, array, depth) {
function entries (line 278) | function entries(map, depth) {
function d3_Set (line 320) | function d3_Set() {}
function d3_rebind (line 354) | function d3_rebind(target, source, method) {
function d3_dispatch (line 365) | function d3_dispatch() {}
function d3_dispatch_event (line 380) | function d3_dispatch_event(dispatch) {
function d3_eventCancel (line 403) | function d3_eventCancel() {
function d3_eventSource (line 407) | function d3_eventSource() {
function d3_eventDispatch (line 412) | function d3_eventDispatch(target) {
function d3_mousePoint (line 433) | function d3_mousePoint(container, e) {
function d3_arrayCopy (line 457) | function d3_arrayCopy(pseudoarray) {
function d3_arraySlice (line 462) | function d3_arraySlice(pseudoarray) {
function drag (line 485) | function drag() {
function mousedown (line 488) | function mousedown() {
function d3_selection (line 543) | function d3_selection(groups) {
function d3_selection_selector (line 585) | function d3_selection_selector(selector) {
function d3_selection_selectorAll (line 603) | function d3_selection_selectorAll(selector) {
function d3_selection_attr (line 641) | function d3_selection_attr(name, value) {
function d3_collapse (line 665) | function d3_collapse(s) {
function d3_selection_classedRe (line 689) | function d3_selection_classedRe(name) {
function d3_selection_classed (line 692) | function d3_selection_classed(name, value) {
function d3_selection_classedName (line 705) | function d3_selection_classedName(name) {
function d3_selection_style (line 731) | function d3_selection_style(name, value, priority) {
function d3_selection_property (line 752) | function d3_selection_property(name, value) {
function append (line 787) | function append() {
function appendNS (line 790) | function appendNS() {
function insert (line 798) | function insert(d, i) {
function insertNS (line 801) | function insertNS(d, i) {
function bind (line 823) | function bind(group, groupData) {
function d3_selection_dataNode (line 894) | function d3_selection_dataNode(data) {
function d3_selection_filter (line 916) | function d3_selection_filter(selector) {
function d3_selection_sortComparator (line 937) | function d3_selection_sortComparator(comparator) {
function d3_noop (line 943) | function d3_noop() {}
function d3_selection_on (line 957) | function d3_selection_on(type, listener, capture) {
function d3_selection_onListener (line 994) | function d3_selection_onListener(listener, argumentz) {
function d3_selection_onFilter (line 1006) | function d3_selection_onFilter(listener, argumentz) {
function d3_selection_each (line 1020) | function d3_selection_each(groups, callback) {
function d3_selection_enter (line 1045) | function d3_selection_enter(selection) {
function zoom (line 1095) | function zoom() {
function location (line 1131) | function location(p) {
function point (line 1134) | function point(l) {
function scaleTo (line 1137) | function scaleTo(s) {
function translateTo (line 1140) | function translateTo(p, l) {
function rescale (line 1145) | function rescale() {
function dispatch (line 1153) | function dispatch(event) {
function mousedown (line 1162) | function mousedown() {
function mousewheel (line 1181) | function mousewheel() {
function mousemove (line 1187) | function mousemove() {
function dblclick (line 1190) | function dblclick() {
function touchstart (line 1196) | function touchstart() {
function touchmove (line 1214) | function touchmove() {
function d3_Color (line 1236) | function d3_Color() {}
function d3_hsl (line 1243) | function d3_hsl(h, s, l) {
function d3_Hsl (line 1246) | function d3_Hsl(h, s, l) {
function d3_hsl_rgb (line 1263) | function d3_hsl_rgb(h, s, l) {
function d3_sgn (line 1284) | function d3_sgn(x) {
function d3_acos (line 1287) | function d3_acos(x) {
function d3_asin (line 1290) | function d3_asin(x) {
function d3_sinh (line 1293) | function d3_sinh(x) {
function d3_cosh (line 1296) | function d3_cosh(x) {
function d3_haversin (line 1299) | function d3_haversin(x) {
function d3_hcl (line 1305) | function d3_hcl(h, c, l) {
function d3_Hcl (line 1308) | function d3_Hcl(h, c, l) {
function d3_hcl_lab (line 1323) | function d3_hcl_lab(h, c, l) {
function d3_lab (line 1329) | function d3_lab(l, a, b) {
function d3_Lab (line 1332) | function d3_Lab(l, a, b) {
function d3_lab_rgb (line 1349) | function d3_lab_rgb(l, a, b) {
function d3_lab_hcl (line 1356) | function d3_lab_hcl(l, a, b) {
function d3_lab_xyz (line 1359) | function d3_lab_xyz(x) {
function d3_xyz_lab (line 1362) | function d3_xyz_lab(x) {
function d3_xyz_rgb (line 1365) | function d3_xyz_rgb(r) {
function d3_rgb (line 1371) | function d3_rgb(r, g, b) {
function d3_Rgb (line 1374) | function d3_Rgb(r, g, b) {
function d3_rgb_hex (line 1399) | function d3_rgb_hex(v) {
function d3_rgb_parse (line 1402) | function d3_rgb_parse(format, rgb, hsl) {
function d3_rgb_hsl (line 1439) | function d3_rgb_hsl(r, g, b) {
function d3_rgb_lab (line 1450) | function d3_rgb_lab(r, g, b) {
function d3_rgb_xyz (line 1457) | function d3_rgb_xyz(r) {
function d3_rgb_parseNumber (line 1460) | function d3_rgb_parseNumber(c) {
function d3_functor (line 1616) | function d3_functor(v) {
function d3_identity (line 1622) | function d3_identity(d) {
function respond (line 1630) | function respond() {
function d3_xhr_fixCallback (line 1684) | function d3_xhr_fixCallback(callback) {
function d3_dsv (line 1689) | function d3_dsv(delimiter, mimeType) {
function d3_timer_step (line 1815) | function d3_timer_step() {
function d3_timer_flush (line 1843) | function d3_timer_flush() {
function d3_formatPrefix (line 1871) | function d3_formatPrefix(d, i) {
function d3_format_precision (line 1984) | function d3_format_precision(x, p) {
function d3_format_typeDefault (line 1987) | function d3_format_typeDefault(x) {
function d3_geo_streamGeometry (line 2011) | function d3_geo_streamGeometry(geometry, listener) {
function d3_geo_streamLine (line 2056) | function d3_geo_streamLine(coordinates, listener, closed) {
function d3_geo_streamPolygon (line 2062) | function d3_geo_streamPolygon(coordinates, listener) {
function d3_geo_areaRingStart (line 2091) | function d3_geo_areaRingStart() {
function d3_geo_bounds (line 2111) | function d3_geo_bounds(projectStream) {
function d3_geo_centroidPoint (line 2169) | function d3_geo_centroidPoint(λ, φ) {
function d3_geo_centroidRingStart (line 2178) | function d3_geo_centroidRingStart() {
function d3_geo_centroidLineStart (line 2193) | function d3_geo_centroidLineStart() {
function d3_geo_centroidLineEnd (line 2217) | function d3_geo_centroidLineEnd() {
function d3_geo_cartesian (line 2220) | function d3_geo_cartesian(spherical) {
function d3_geo_cartesianDot (line 2224) | function d3_geo_cartesianDot(a, b) {
function d3_geo_cartesianCross (line 2227) | function d3_geo_cartesianCross(a, b) {
function d3_geo_cartesianAdd (line 2230) | function d3_geo_cartesianAdd(a, b) {
function d3_geo_cartesianScale (line 2235) | function d3_geo_cartesianScale(vector, k) {
function d3_geo_cartesianNormalize (line 2238) | function d3_geo_cartesianNormalize(d) {
function d3_true (line 2244) | function d3_true() {
function d3_geo_spherical (line 2247) | function d3_geo_spherical(cartesian) {
function d3_geo_sphericalEqual (line 2250) | function d3_geo_sphericalEqual(a, b) {
function d3_geo_clipPolygon (line 2253) | function d3_geo_clipPolygon(segments, compare, inside, interpolate, list...
function d3_geo_clipPolygonLinkCircular (line 2339) | function d3_geo_clipPolygonLinkCircular(array) {
function d3_geo_clip (line 2350) | function d3_geo_clip(pointVisible, clipLine, interpolate) {
function d3_geo_clipSegmentLength1 (line 2439) | function d3_geo_clipSegmentLength1(segment) {
function d3_geo_clipBufferListener (line 2442) | function d3_geo_clipBufferListener() {
function d3_geo_clipAreaRing (line 2463) | function d3_geo_clipAreaRing(ring, invisible) {
function d3_geo_clipSort (line 2479) | function d3_geo_clipSort(a, b) {
function d3_geo_clipAntimeridianLine (line 2483) | function d3_geo_clipAntimeridianLine(listener) {
function d3_geo_clipAntimeridianIntersect (line 2522) | function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
function d3_geo_clipAntimeridianInterpolate (line 2526) | function d3_geo_clipAntimeridianInterpolate(from, to, direction, listene...
function d3_geo_clipCircle (line 2549) | function d3_geo_clipCircle(radius) {
function d3_geo_clipView (line 2646) | function d3_geo_clipView(x0, y0, x1, y1) {
function d3_geo_clipViewT (line 2786) | function d3_geo_clipViewT(num, denominator, t) {
function d3_geo_compose (line 2798) | function d3_geo_compose(a, b) {
function d3_geo_resample (line 2807) | function d3_geo_resample(project) {
function d3_geo_projection (line 2877) | function d3_geo_projection(project) {
function d3_geo_projectionMutator (line 2882) | function d3_geo_projectionMutator(projectAt) {
function d3_geo_projectionRadiansRotate (line 2947) | function d3_geo_projectionRadiansRotate(rotate, stream) {
function d3_geo_equirectangular (line 2970) | function d3_geo_equirectangular(λ, φ) {
function forward (line 2978) | function forward(coordinates) {
function d3_geo_rotation (line 2988) | function d3_geo_rotation(δλ, δφ, δγ) {
function d3_geo_forwardRotationλ (line 2991) | function d3_geo_forwardRotationλ(δλ) {
function d3_geo_rotationλ (line 2996) | function d3_geo_rotationλ(δλ) {
function d3_geo_rotationφγ (line 3001) | function d3_geo_rotationφγ(δφ, δγ) {
function circle (line 3015) | function circle() {
function d3_geo_circleInterpolate (line 3045) | function d3_geo_circleInterpolate(radius, precision) {
function d3_geo_circleAngle (line 3062) | function d3_geo_circleAngle(cr, point) {
function graticule (line 3075) | function graticule() {
function lines (line 3081) | function lines() {
function d3_geo_graticuleX (line 3147) | function d3_geo_graticuleX(y0, y1, dy) {
function d3_geo_graticuleY (line 3155) | function d3_geo_graticuleY(x0, x1, dx) {
function d3_source (line 3163) | function d3_source(d) {
function d3_target (line 3166) | function d3_target(d) {
function greatArc (line 3171) | function greatArc() {
function d3_geo_interpolate (line 3198) | function d3_geo_interpolate(x0, y0, x1, y1) {
function d3_geo_lengthLineStart (line 3223) | function d3_geo_lengthLineStart() {
function d3_geo_conic (line 3238) | function d3_geo_conic(projectAt) {
function d3_geo_conicEqualArea (line 3246) | function d3_geo_conicEqualArea(φ0, φ1) {
function albersUsa (line 3267) | function albersUsa(coordinates) {
function projection (line 3270) | function projection(point) {
function d3_geo_albersUsaInvert (line 3299) | function d3_geo_albersUsaInvert(projection, extent) {
function d3_geo_pathAreaRingStart (line 3324) | function d3_geo_pathAreaRingStart() {
function d3_geo_pathBuffer (line 3338) | function d3_geo_pathBuffer() {
function d3_geo_pathCentroidPoint (line 3396) | function d3_geo_pathCentroidPoint(x, y) {
function d3_geo_pathCentroidLineStart (line 3402) | function d3_geo_pathCentroidLineStart() {
function d3_geo_pathCentroidLineEnd (line 3422) | function d3_geo_pathCentroidLineEnd() {
function d3_geo_pathCentroidRingStart (line 3425) | function d3_geo_pathCentroidRingStart() {
function d3_geo_pathContext (line 3446) | function d3_geo_pathContext(context) {
function path (line 3488) | function path(object) {
function d3_geo_pathCircle (line 3522) | function d3_geo_pathCircle(radius) {
function d3_geo_pathProjectStream (line 3525) | function d3_geo_pathProjectStream(project) {
function d3_geo_azimuthal (line 3556) | function d3_geo_azimuthal(scale, angle) {
function d3_geo_conicConformal (line 3582) | function d3_geo_conicConformal(φ0, φ1) {
function d3_geo_conicEquidistant (line 3600) | function d3_geo_conicEquidistant(φ0, φ1) {
function d3_geo_mercator (line 3622) | function d3_geo_mercator(λ, φ) {
function d3_geo_mercatorProjection (line 3628) | function d3_geo_mercatorProjection(project) {
function d3_geo_transverseMercator (line 3669) | function d3_geo_transverseMercator(λ, φ) {
function d3_svg_line (line 3681) | function d3_svg_line(projection) {
function d3_svg_lineX (line 3729) | function d3_svg_lineX(d) {
function d3_svg_lineY (line 3732) | function d3_svg_lineY(d) {
function d3_svg_lineLinear (line 3753) | function d3_svg_lineLinear(points) {
function d3_svg_lineLinearClosed (line 3756) | function d3_svg_lineLinearClosed(points) {
function d3_svg_lineStepBefore (line 3759) | function d3_svg_lineStepBefore(points) {
function d3_svg_lineStepAfter (line 3764) | function d3_svg_lineStepAfter(points) {
function d3_svg_lineCardinalOpen (line 3769) | function d3_svg_lineCardinalOpen(points, tension) {
function d3_svg_lineCardinalClosed (line 3772) | function d3_svg_lineCardinalClosed(points, tension) {
function d3_svg_lineCardinal (line 3776) | function d3_svg_lineCardinal(points, tension) {
function d3_svg_lineHermite (line 3779) | function d3_svg_lineHermite(points, tangents) {
function d3_svg_lineCardinalTangents (line 3806) | function d3_svg_lineCardinalTangents(points, tension) {
function d3_svg_lineBasis (line 3816) | function d3_svg_lineBasis(points) {
function d3_svg_lineBasisOpen (line 3838) | function d3_svg_lineBasisOpen(points) {
function d3_svg_lineBasisClosed (line 3858) | function d3_svg_lineBasisClosed(points) {
function d3_svg_lineBundle (line 3877) | function d3_svg_lineBundle(points, tension) {
function d3_svg_lineDot4 (line 3890) | function d3_svg_lineDot4(a, b) {
function d3_svg_lineBasisBezier (line 3894) | function d3_svg_lineBasisBezier(path, x, y) {
function d3_svg_lineSlope (line 3897) | function d3_svg_lineSlope(p0, p1) {
function d3_svg_lineFiniteDifferences (line 3900) | function d3_svg_lineFiniteDifferences(points) {
function d3_svg_lineMonotoneTangents (line 3908) | function d3_svg_lineMonotoneTangents(points) {
function d3_svg_lineMonotone (line 3932) | function d3_svg_lineMonotone(points) {
function hull (line 3938) | function hull(data) {
function d3_geom_hullCCW (line 4017) | function d3_geom_hullCCW(i1, i2, i3, v) {
function d3_geom_polygonInside (line 4076) | function d3_geom_polygonInside(p, a, b) {
function d3_geom_polygonIntersect (line 4079) | function d3_geom_polygonIntersect(c, d, a, b) {
function voronoi (line 4107) | function voronoi(data) {
function d3_geom_voronoiTessellate (line 4230) | function d3_geom_voronoiTessellate(points, callback) {
function quadtree (line 4512) | function quadtree(data) {
function d3_geom_quadtreeCompatX (line 4603) | function d3_geom_quadtreeCompatX(d) {
function d3_geom_quadtreeCompatY (line 4606) | function d3_geom_quadtreeCompatY(d) {
function d3_geom_quadtreeNode (line 4609) | function d3_geom_quadtreeNode() {
function d3_geom_quadtreeVisit (line 4618) | function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {
function d3_interpolateRgb (line 4628) | function d3_interpolateRgb(a, b) {
function d3_transform (line 4644) | function d3_transform(m) {
function d3_transformDot (line 4660) | function d3_transformDot(a, b) {
function d3_transformNormalize (line 4663) | function d3_transformNormalize(a) {
function d3_transformCombine (line 4671) | function d3_transformCombine(a, b, k) {
function d3_interpolateNumber (line 4685) | function d3_interpolateNumber(a, b) {
function d3_interpolateTransform (line 4692) | function d3_interpolateTransform(a, b) {
function d3_interpolateObject (line 4745) | function d3_interpolateObject(a, b) {
function d3_interpolateString (line 4765) | function d3_interpolateString(a, b) {
function d3_interpolate (line 4829) | function d3_interpolate(a, b) {
function d3_interpolateByName (line 4834) | function d3_interpolateByName(name) {
function d3_interpolateArray (line 4847) | function d3_interpolateArray(a, b) {
function d3_ease_clamp (line 4898) | function d3_ease_clamp(f) {
function d3_ease_reverse (line 4903) | function d3_ease_reverse(f) {
function d3_ease_reflect (line 4908) | function d3_ease_reflect(f) {
function d3_ease_quad (line 4913) | function d3_ease_quad(t) {
function d3_ease_cubic (line 4916) | function d3_ease_cubic(t) {
function d3_ease_cubicInOut (line 4919) | function d3_ease_cubicInOut(t) {
function d3_ease_poly (line 4925) | function d3_ease_poly(e) {
function d3_ease_sin (line 4930) | function d3_ease_sin(t) {
function d3_ease_exp (line 4933) | function d3_ease_exp(t) {
function d3_ease_circle (line 4936) | function d3_ease_circle(t) {
function d3_ease_elastic (line 4939) | function d3_ease_elastic(a, p) {
function d3_ease_back (line 4947) | function d3_ease_back(s) {
function d3_ease_bounce (line 4953) | function d3_ease_bounce(t) {
function d3_interpolateHcl (line 4957) | function d3_interpolateHcl(a, b) {
function d3_interpolateHsl (line 4967) | function d3_interpolateHsl(a, b) {
function d3_interpolateLab (line 4977) | function d3_interpolateLab(a, b) {
function d3_interpolateRound (line 4986) | function d3_interpolateRound(a, b) {
function d3_uninterpolateNumber (line 4992) | function d3_uninterpolateNumber(a, b) {
function d3_uninterpolateClamp (line 4998) | function d3_uninterpolateClamp(a, b) {
function d3_layout_bundlePath (line 5012) | function d3_layout_bundlePath(link) {
function d3_layout_bundleAncestors (line 5025) | function d3_layout_bundleAncestors(node) {
function d3_layout_bundleLeastCommonAncestor (line 5035) | function d3_layout_bundleLeastCommonAncestor(a, b) {
function relayout (line 5047) | function relayout() {
function resort (line 5113) | function resort() {
function repulse (line 5160) | function repulse(node) {
function position (line 5325) | function position(dimension, size) {
function neighbor (line 5330) | function neighbor() {
function dragmove (line 5357) | function dragmove(d) {
function d3_layout_forceDragstart (line 5363) | function d3_layout_forceDragstart(d) {
function d3_layout_forceDragend (line 5366) | function d3_layout_forceDragend(d) {
function d3_layout_forceMouseover (line 5369) | function d3_layout_forceMouseover(d) {
function d3_layout_forceMouseout (line 5373) | function d3_layout_forceMouseout(d) {
function d3_layout_forceAccumulate (line 5376) | function d3_layout_forceAccumulate(quad, alpha, charges) {
function recurse (line 5406) | function recurse(node, depth, nodes) {
function revalue (line 5425) | function revalue(node, depth) {
function hierarchy (line 5436) | function hierarchy(d) {
function d3_layout_hierarchyRebind (line 5462) | function d3_layout_hierarchyRebind(object, hierarchy) {
function d3_layout_hierarchyChildren (line 5468) | function d3_layout_hierarchyChildren(d) {
function d3_layout_hierarchyValue (line 5471) | function d3_layout_hierarchyValue(d) {
function d3_layout_hierarchySort (line 5474) | function d3_layout_hierarchySort(a, b) {
function d3_layout_hierarchyLinks (line 5477) | function d3_layout_hierarchyLinks(nodes) {
function position (line 5489) | function position(node, x, dx, dy) {
function depth (line 5504) | function depth(node) {
function partition (line 5512) | function partition(d, i) {
function pie (line 5526) | function pie(data) {
function stack (line 5575) | function stack(data, index) {
function d3_layout_stackX (line 5629) | function d3_layout_stackX(d) {
function d3_layout_stackY (line 5632) | function d3_layout_stackY(d) {
function d3_layout_stackOut (line 5635) | function d3_layout_stackOut(d, y0, y) {
function d3_layout_stackOrderDefault (line 5702) | function d3_layout_stackOrderDefault(data) {
function d3_layout_stackOffsetZero (line 5705) | function d3_layout_stackOffsetZero(data) {
function d3_layout_stackMaxIndex (line 5710) | function d3_layout_stackMaxIndex(array) {
function d3_layout_stackReduceSum (line 5720) | function d3_layout_stackReduceSum(d) {
function d3_layout_stackSum (line 5723) | function d3_layout_stackSum(p, d) {
function histogram (line 5728) | function histogram(data, i) {
function d3_layout_histogramBinSturges (line 5772) | function d3_layout_histogramBinSturges(range, values) {
function d3_layout_histogramBinFixed (line 5775) | function d3_layout_histogramBinFixed(range, n) {
function d3_layout_histogramRange (line 5780) | function d3_layout_histogramRange(values) {
function tree (line 5785) | function tree(d, i) {
function d3_layout_treeSeparation (line 5884) | function d3_layout_treeSeparation(a, b) {
function d3_layout_treeLeft (line 5887) | function d3_layout_treeLeft(node) {
function d3_layout_treeRight (line 5891) | function d3_layout_treeRight(node) {
function d3_layout_treeSearch (line 5895) | function d3_layout_treeSearch(node, compare) {
function d3_layout_treeRightmost (line 5907) | function d3_layout_treeRightmost(a, b) {
function d3_layout_treeLeftmost (line 5910) | function d3_layout_treeLeftmost(a, b) {
function d3_layout_treeDeepest (line 5913) | function d3_layout_treeDeepest(a, b) {
function d3_layout_treeVisitAfter (line 5916) | function d3_layout_treeVisitAfter(node, callback) {
function d3_layout_treeShift (line 5931) | function d3_layout_treeShift(node) {
function d3_layout_treeMove (line 5940) | function d3_layout_treeMove(ancestor, node, shift) {
function d3_layout_treeAncestor (line 5950) | function d3_layout_treeAncestor(vim, node, ancestor) {
function pack (line 5955) | function pack(d, i) {
function d3_layout_packSort (line 5990) | function d3_layout_packSort(a, b) {
function d3_layout_packInsert (line 5993) | function d3_layout_packInsert(a, b) {
function d3_layout_packSplice (line 6000) | function d3_layout_packSplice(a, b) {
function d3_layout_packIntersects (line 6004) | function d3_layout_packIntersects(a, b) {
function d3_layout_packSiblings (line 6008) | function d3_layout_packSiblings(node) {
function d3_layout_packLink (line 6072) | function d3_layout_packLink(node) {
function d3_layout_packUnlink (line 6075) | function d3_layout_packUnlink(node) {
function d3_layout_packTransform (line 6079) | function d3_layout_packTransform(node, x, y, k) {
function d3_layout_packPlace (line 6089) | function d3_layout_packPlace(a, b, c) {
function cluster (line 6105) | function cluster(d, i) {
function d3_layout_clusterY (line 6137) | function d3_layout_clusterY(children) {
function d3_layout_clusterX (line 6142) | function d3_layout_clusterX(children) {
function d3_layout_clusterLeft (line 6147) | function d3_layout_clusterLeft(node) {
function d3_layout_clusterRight (line 6151) | function d3_layout_clusterRight(node) {
function scale (line 6157) | function scale(children, k) {
function squarify (line 6164) | function squarify(node) {
function stickify (line 6191) | function stickify(node) {
function worst (line 6208) | function worst(row, u) {
function position (line 6219) | function position(row, u, rect, flush) {
function treemap (line 6249) | function treemap(d) {
function padFunction (line 6268) | function padFunction(node) {
function padConstant (line 6272) | function padConstant(node) {
function d3_layout_treemapPadNull (line 6303) | function d3_layout_treemapPadNull(node) {
function d3_layout_treemapPad (line 6311) | function d3_layout_treemapPad(node, padding) {
function d3_scaleExtent (line 6357) | function d3_scaleExtent(domain) {
function d3_scaleRange (line 6361) | function d3_scaleRange(scale) {
function d3_scale_bilinear (line 6364) | function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {
function d3_scale_nice (line 6370) | function d3_scale_nice(domain, nice) {
function d3_scale_polylinear (line 6382) | function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {
function d3_scale_linear (line 6400) | function d3_scale_linear(domain, range, interpolate, clamp) {
function d3_scale_linearRebind (line 6452) | function d3_scale_linearRebind(scale, linear) {
function d3_scale_linearNice (line 6455) | function d3_scale_linearNice(dx) {
function d3_scale_linearTickRange (line 6466) | function d3_scale_linearTickRange(domain, m) {
function d3_scale_linearTicks (line 6474) | function d3_scale_linearTicks(domain, m) {
function d3_scale_linearTickFormat (line 6477) | function d3_scale_linearTickFormat(domain, m, format) {
function d3_scale_log (line 6486) | function d3_scale_log(linear, base, log, pow) {
function d3_scale_logp (line 6541) | function d3_scale_logp(x) {
function d3_scale_powp (line 6544) | function d3_scale_powp(x) {
function d3_scale_logn (line 6547) | function d3_scale_logn(x) {
function d3_scale_pown (line 6550) | function d3_scale_pown(x) {
function d3_scale_logNice (line 6553) | function d3_scale_logNice(base) {
function d3_scale_pow (line 6570) | function d3_scale_pow(linear, exponent) {
function d3_scale_powPow (line 6604) | function d3_scale_powPow(e) {
function d3_scale_ordinal (line 6618) | function d3_scale_ordinal(domain, ranger) {
function d3_scale_quantile (line 6713) | function d3_scale_quantile(domain, range) {
function d3_scale_quantize (line 6748) | function d3_scale_quantize(x0, x1, range) {
function d3_scale_threshold (line 6777) | function d3_scale_threshold(domain, range) {
function d3_scale_identity (line 6799) | function d3_scale_identity(domain) {
function arc (line 6822) | function arc() {
function d3_svg_arcInnerRadius (line 6854) | function d3_svg_arcInnerRadius(d) {
function d3_svg_arcOuterRadius (line 6857) | function d3_svg_arcOuterRadius(d) {
function d3_svg_arcStartAngle (line 6860) | function d3_svg_arcStartAngle(d) {
function d3_svg_arcEndAngle (line 6863) | function d3_svg_arcEndAngle(d) {
function d3_svg_lineRadial (line 6872) | function d3_svg_lineRadial(points) {
function d3_svg_area (line 6883) | function d3_svg_area(projection) {
function chord (line 6973) | function chord(d, i) {
function subgroup (line 6977) | function subgroup(self, f, d, i) {
function equals (line 6987) | function equals(a, b) {
function arc (line 6990) | function arc(r, p, a) {
function curve (line 6993) | function curve(r0, p0, r1, p1) {
function d3_svg_chordRadius (line 7023) | function d3_svg_chordRadius(d) {
function diagonal (line 7028) | function diagonal(d, i) {
function d3_svg_diagonalProjection (line 7056) | function d3_svg_diagonalProjection(d) {
function d3_svg_diagonalRadialProjection (line 7066) | function d3_svg_diagonalRadialProjection(projection) {
function symbol (line 7074) | function symbol(d, i) {
function d3_svg_symbolSize (line 7089) | function d3_svg_symbolSize() {
function d3_svg_symbolType (line 7092) | function d3_svg_symbolType() {
function d3_svg_symbolCircle (line 7095) | function d3_svg_symbolCircle(size) {
function d3_transition (line 7124) | function d3_transition(groups, id) {
function d3_transition_tween (line 7198) | function d3_transition_tween(groups, name, value, tween) {
function attrNull (line 7212) | function attrNull() {
function attrNullNS (line 7215) | function attrNullNS() {
function attrString (line 7219) | function attrString() {
function attrStringNS (line 7225) | function attrStringNS() {
function attrTween (line 7236) | function attrTween(d, i) {
function attrTweenNS (line 7242) | function attrTweenNS(d, i) {
function styleNull (line 7261) | function styleNull() {
function styleString (line 7265) | function styleString() {
function d3_transition_text (line 7286) | function d3_transition_text(b) {
function d3_transitionNode (line 7355) | function d3_transitionNode(node, i, id, inherit) {
function axis (line 7408) | function axis(g) {
function d3_svg_axisX (line 7545) | function d3_svg_axisX(selection, x) {
function d3_svg_axisY (line 7550) | function d3_svg_axisY(selection, y) {
function d3_svg_axisSubdivide (line 7555) | function d3_svg_axisSubdivide(scale, ticks, m) {
function brush (line 7574) | function brush(g) {
function redraw (line 7604) | function redraw(g) {
function redrawX (line 7609) | function redrawX(g) {
function redrawY (line 7613) | function redrawY(g) {
function brushstart (line 7617) | function brushstart() {
function d3_time_utc (line 7800) | function d3_time_utc() {
function d3_time_interval (line 7868) | function d3_time_interval(local, step, number) {
function d3_time_interval_utc (line 7916) | function d3_time_interval_utc(method) {
function format (line 7979) | function format(date) {
function d3_time_parse (line 8015) | function d3_time_parse(date, template, string, j) {
function d3_time_formatRe (line 8029) | function d3_time_formatRe(names) {
function d3_time_formatLookup (line 8032) | function d3_time_formatLookup(names) {
function d3_time_formatPad (line 8037) | function d3_time_formatPad(value, fill, width) {
function d3_time_parseWeekdayAbbrev (line 8134) | function d3_time_parseWeekdayAbbrev(date, string, i) {
function d3_time_parseWeekday (line 8139) | function d3_time_parseWeekday(date, string, i) {
function d3_time_parseMonthAbbrev (line 8144) | function d3_time_parseMonthAbbrev(date, string, i) {
function d3_time_parseMonth (line 8149) | function d3_time_parseMonth(date, string, i) {
function d3_time_parseLocaleFull (line 8154) | function d3_time_parseLocaleFull(date, string, i) {
function d3_time_parseLocaleDate (line 8157) | function d3_time_parseLocaleDate(date, string, i) {
function d3_time_parseLocaleTime (line 8160) | function d3_time_parseLocaleTime(date, string, i) {
function d3_time_parseFullYear (line 8163) | function d3_time_parseFullYear(date, string, i) {
function d3_time_parseYear (line 8168) | function d3_time_parseYear(date, string, i) {
function d3_time_expandYear (line 8173) | function d3_time_expandYear(d) {
function d3_time_parseMonthNumber (line 8176) | function d3_time_parseMonthNumber(date, string, i) {
function d3_time_parseDay (line 8181) | function d3_time_parseDay(date, string, i) {
function d3_time_parseHour24 (line 8186) | function d3_time_parseHour24(date, string, i) {
function d3_time_parseMinutes (line 8191) | function d3_time_parseMinutes(date, string, i) {
function d3_time_parseSeconds (line 8196) | function d3_time_parseSeconds(date, string, i) {
function d3_time_parseMilliseconds (line 8201) | function d3_time_parseMilliseconds(date, string, i) {
function d3_time_parseAmPm (line 8207) | function d3_time_parseAmPm(date, string, i) {
function d3_time_zone (line 8215) | function d3_time_zone(d) {
function format (line 8221) | function format(date) {
function d3_time_formatIsoNative (line 8245) | function d3_time_formatIsoNative(date) {
function d3_time_scale (line 8292) | function d3_time_scale(linear, methods, format) {
function d3_time_scaleExtent (line 8330) | function d3_time_scaleExtent(domain) {
function d3_time_scaleDate (line 8334) | function d3_time_scaleDate(t) {
function d3_time_scaleFormat (line 8337) | function d3_time_scaleFormat(formats) {
function d3_time_scaleSetYear (line 8344) | function d3_time_scaleSetYear(y) {
function d3_time_scaleGetYear (line 8349) | function d3_time_scaleGetYear(d) {
function d3_time_scaleUTCSetYear (line 8396) | function d3_time_scaleUTCSetYear(y) {
function d3_time_scaleUTCGetYear (line 8401) | function d3_time_scaleUTCGetYear(d) {
function d3_text (line 8414) | function d3_text(request) {
function d3_json (line 8420) | function d3_json(request) {
function d3_html (line 8426) | function d3_html(request) {
function d3_xml (line 8434) | function d3_xml(request) {
FILE: packages/ecmascript-runtime/runtime-tests.js
function isOdd (line 45) | function isOdd(n) {
function Constructor (line 87) | function Constructor() {}
FILE: packages/ecmascript/ecmascript.js
method compileForShell (line 2) | compileForShell(command) {
FILE: packages/ecmascript/runtime-tests.js
function dump (line 2) | function dump(pieces) {
class Foo (line 19) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Bar (line 33) | class Bar {
method constructor (line 34) | constructor(x) {
method constructor (line 201) | constructor() { super(123); }
method x (line 202) | x() { return super.x(); }
class Foo (line 38) | class Foo extends Bar {}
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Foo (line 50) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Foo (line 77) | class Foo {}
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Foo (line 86) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Bar (line 96) | class Bar extends Foo {}
method constructor (line 34) | constructor(x) {
method constructor (line 201) | constructor() { super(123); }
method x (line 202) | x() { return super.x(); }
class Foo (line 106) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Bar (line 112) | class Bar extends Foo {}
method constructor (line 34) | constructor(x) {
method constructor (line 201) | constructor() { super(123); }
method x (line 202) | x() { return super.x(); }
class Foo (line 125) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Foo (line 140) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
function print (line 154) | function print(x) {
function doLater (line 157) | function doLater(f) {
class Class1 (line 180) | class Class1 {
method foo (line 181) | foo() { return 123; }
method bar (line 182) | static bar() { return 1; }
class Class2 (line 184) | class Class2 extends Class1 {}
class Class3 (line 185) | class Class3 extends Class2 {
method foo (line 186) | foo() {
class Foo (line 195) | class Foo {
method constructor (line 20) | constructor(x) {
method staticMethod (line 51) | static staticMethod() {
method prototypeMethod (line 55) | prototypeMethod() {
method static1 (line 87) | static static1() {
method constructor (line 107) | constructor() {
method [frob] (line 126) | static [frob](n) { return n+1; }
method two (line 141) | get two() { return 1+1; }
method three (line 142) | static get three() { return 1+1+1; }
method constructor (line 196) | constructor(value) { this.value = value; }
method x (line 197) | x() { return this.value; }
class Bar (line 200) | class Bar extends Foo {
method constructor (line 34) | constructor(x) {
method constructor (line 201) | constructor() { super(123); }
method x (line 202) | x() { return super.x(); }
class Base (line 289) | class Base {
method constructor (line 290) | constructor(...args) {
method inherited (line 295) | static inherited() {
class Derived (line 300) | class Derived extends Base {
method constructor (line 301) | constructor() {
FILE: packages/ecmascript/transpilation-tests.js
function transform (line 5) | function transform(input) {
function contains (line 9) | function contains(haystack, needle) {
FILE: packages/ejson/custom_models_for_tests.js
function Address (line 1) | function Address (city, state) {
function Person (line 25) | function Person (name, dob, address) {
function Holder (line 59) | function Holder (content) {
FILE: packages/ejson/stringify.js
function quote (line 10) | function quote(string) {
FILE: packages/email/email_tests.js
function smokeEmailTest (line 6) | function smokeEmailTest(testFunction) {
FILE: packages/es5-shim/console.js
function wrap (line 3) | function wrap(method) {
FILE: packages/fastclick/fastclick.js
function FastClick (line 20) | function FastClick(layer, options) {
FILE: packages/geojson-utils/geojson-utils.js
function boundingBoxAroundPolyCoords (line 51) | function boundingBoxAroundPolyCoords (coords) {
function pnpoly (line 72) | function pnpoly (x,y,coords) {
FILE: packages/geojson-utils/geojson-utils.tests.js
function toGeoJSONPoint (line 94) | function toGeoJSONPoint (coordinates) {
FILE: packages/http/httpcall_common.js
constant MAX_LENGTH (line 1) | const MAX_LENGTH = 500;
function truncate (line 16) | function truncate(str, length) {
FILE: packages/jquery/jquery.js
function isArraylike (line 571) | function isArraylike( obj ) {
function Sizzle (line 783) | function Sizzle( selector, context, results, seed ) {
function createCache (line 897) | function createCache() {
function markFunction (line 915) | function markFunction( fn ) {
function assert (line 924) | function assert( fn ) {
function addHandle (line 946) | function addHandle( attrs, handler ) {
function siblingCheck (line 961) | function siblingCheck( a, b ) {
function createInputPseudo (line 988) | function createInputPseudo( type ) {
function createButtonPseudo (line 999) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 1010) | function createPositionalPseudo( fn ) {
function testContext (line 1033) | function testContext( context ) {
function setFilters (line 2042) | function setFilters() {}
function toSelector (line 2113) | function toSelector( tokens ) {
function addCombinator (line 2123) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2176) | function elementMatcher( matchers ) {
function multipleContexts (line 2190) | function multipleContexts( selector, contexts, results ) {
function condense (line 2199) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2220) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2313) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2371) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function winnow (line 2667) | function winnow( elements, qualifier, not ) {
function sibling (line 2997) | function sibling( cur, dir ) {
function createOptions (line 3080) | function createOptions( options ) {
function detach (line 3480) | function detach() {
function completed (line 3494) | function completed() {
function dataAttr (line 3657) | function dataAttr( elem, key, data ) {
function isEmptyDataObject (line 3689) | function isEmptyDataObject( obj ) {
function internalData (line 3705) | function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
function internalRemoveData (line 3794) | function internalRemoveData( elem, name, pvt ) {
function returnTrue (line 4279) | function returnTrue() {
function returnFalse (line 4283) | function returnFalse() {
function safeActiveElement (line 4287) | function safeActiveElement() {
function createSafeFragment (line 5296) | function createSafeFragment( document ) {
function getAll (line 5348) | function getAll( context, tag ) {
function fixDefaultChecked (line 5371) | function fixDefaultChecked( elem ) {
function manipulationTarget (line 5379) | function manipulationTarget( elem, content ) {
function disableScript (line 5389) | function disableScript( elem ) {
function restoreScript (line 5393) | function restoreScript( elem ) {
function setGlobalEval (line 5404) | function setGlobalEval( elems, refElements ) {
function cloneCopyEvent (line 5412) | function cloneCopyEvent( src, dest ) {
function fixCloneNodeIssues (line 5440) | function fixCloneNodeIssues( src, dest ) {
function actualDisplay (line 6031) | function actualDisplay( name, doc ) {
function defaultDisplay (line 6053) | function defaultDisplay( nodeName ) {
function addGetHookIf (line 6252) | function addGetHookIf( conditionFn, hookFn ) {
function computeStyleTests (line 6346) | function computeStyleTests() {
function vendorPropName (line 6466) | function vendorPropName( style, name ) {
function showHide (line 6488) | function showHide( elements, show ) {
function setPositiveNumber (line 6539) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 6547) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 6586) | function getWidthOrHeight( elem, name, extra ) {
function Tween (line 6925) | function Tween( elem, options, prop, end, easing ) {
function createFxNow (line 7094) | function createFxNow() {
function genFx (line 7102) | function genFx( type, includeWidth ) {
function createTween (line 7122) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 7136) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 7278) | function propFilter( props, specialEasing ) {
function Animation (line 7315) | function Animation( elem, properties, options ) {
function addToPrefiltersOrTransports (line 8629) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8661) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8688) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8708) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8763) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 9223) | function done( status, nativeStatusText, responses, headers ) {
function buildParams (line 9468) | function buildParams( prefix, obj, traditional, add ) {
function createStandardXHR (line 9741) | function createStandardXHR() {
function createActiveXHR (line 9747) | function createActiveXHR() {
function getWindow (line 10052) | function getWindow( elem ) {
FILE: packages/jshint/plugin/lint-jshint.js
function JsHintLinter (line 13) | function JsHintLinter () {
function reportErrors (line 107) | function reportErrors(file, errors) {
FILE: packages/less/plugin/compile-less.js
class LessCompiler (line 13) | class LessCompiler extends MultiFileCachingCompiler {
method constructor (line 14) | constructor() {
method getCacheKey (line 21) | getCacheKey(inputFile) {
method compileResultSize (line 25) | compileResultSize(compileResult) {
method isRoot (line 34) | isRoot(inputFile) {
method compileOneFile (line 45) | compileOneFile(inputFile, allFiles) {
method addCompileResult (line 90) | addCompileResult(inputFile, compileResult) {
class MeteorImportLessPlugin (line 99) | class MeteorImportLessPlugin {
method constructor (line 100) | constructor(allFiles) {
method install (line 105) | install(less, pluginManager) {
class MeteorImportLessFileManager (line 111) | class MeteorImportLessFileManager extends less.AbstractFileManager {
method constructor (line 112) | constructor(allFiles) {
method supports (line 118) | supports(filename) {
method loadFile (line 129) | loadFile(filename, currentDirectory, options, environment, cb) {
function decodeFilePath (line 161) | function decodeFilePath (filePath) {
FILE: packages/logic-solver/minisat.js
function globalEval (line 3) | function globalEval(x){eval.call(null,x)}
function assert (line 3) | function assert(condition,text){if(!condition){abort("Assertion failed: ...
function getCFunc (line 3) | function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=e...
function parseJSFunc (line 3) | function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRe...
function setValue (line 3) | function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(...
function getValue (line 3) | function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.l...
function allocate (line 3) | function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof ...
function Pointer_stringify (line 3) | function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var ...
function UTF16ToString (line 3) | function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEA...
function stringToUTF16 (line 3) | function stringToUTF16(str,outPtr){for(var i=0;i<str.length;++i){var cod...
function UTF32ToString (line 3) | function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32...
function stringToUTF32 (line 3) | function stringToUTF32(str,outPtr){var iChar=0;for(var iCodeUnit=0;iCode...
function demangle (line 3) | function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(...
function demangleAll (line 3) | function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(...
function jsStackTrace (line 3) | function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new E...
function stackTrace (line 3) | function stackTrace(){return demangleAll(jsStackTrace())}
function alignMemoryPage (line 3) | function alignMemoryPage(x){return x+4095&-4096}
function enlargeMemory (line 3) | function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1)...
function callRuntimeCallbacks (line 3) | function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var c...
function preRun (line 3) | function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="func...
function ensureInitRuntime (line 3) | function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitial...
function preMain (line 3) | function preMain(){callRuntimeCallbacks(__ATMAIN__)}
function exitRuntime (line 3) | function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}
function postRun (line 3) | function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="f...
function addOnPreRun (line 3) | function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}
function addOnInit (line 3) | function addOnInit(cb){__ATINIT__.unshift(cb)}
function addOnPreMain (line 3) | function addOnPreMain(cb){__ATMAIN__.unshift(cb)}
function addOnExit (line 3) | function addOnExit(cb){__ATEXIT__.unshift(cb)}
function addOnPostRun (line 3) | function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}
function intArrayFromString (line 3) | function intArrayFromString(stringy,dontAddNull,length){var ret=(new Run...
function intArrayToString (line 3) | function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i...
function writeStringToMemory (line 3) | function writeStringToMemory(string,buffer,dontAddNull){var array=intArr...
function writeArrayToMemory (line 3) | function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++...
function writeAsciiToMemory (line 3) | function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.le...
function unSign (line 3) | function unSign(value,bits,ignore){if(value>=0){return value}return bits...
function reSign (line 3) | function reSign(value,bits,ignore){if(value<=0){return value}var half=bi...
function addRunDependency (line 3) | function addRunDependency(id){runDependencies++;if(Module["monitorRunDep...
function removeRunDependency (line 3) | function removeRunDependency(id){runDependencies--;if(Module["monitorRun...
function copyTempFloat (line 3) | function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDo...
function copyTempDouble (line 3) | function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempD...
function _atexit (line 3) | function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}
function ___cxa_atexit (line 3) | function ___cxa_atexit(){return _atexit.apply(null,arguments)}
function ___setErrNo (line 3) | function ___setErrNo(value){HEAP32[___errno_state>>2]=value;return value}
function _sysconf (line 3) | function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 132:c...
function __ZSt18uncaught_exceptionv (line 3) | function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv...
function ___resumeException (line 3) | function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=pt...
function ___cxa_find_matching_catch (line 3) | function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thr...
function ___cxa_throw (line 3) | function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:pt...
function _abort (line 3) | function _abort(){Module["abort"]()}
function _send (line 3) | function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock)...
function _pwrite (line 3) | function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes...
function _write (line 3) | function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!st...
function _fileno (line 3) | function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)r...
function _fwrite (line 3) | function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if...
function __reallyNegative (line 3) | function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}
function __formatString (line 3) | function __formatString(format,varargs){var textIndex=format;var argInde...
function _fprintf (line 3) | function _fprintf(stream,format,varargs){var result=__formatString(forma...
function _printf (line 3) | function _printf(format,varargs){var result=__formatString(format,vararg...
function _pthread_once (line 3) | function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.se...
function _fputc (line 3) | function _fputc(c,stream){var chr=unSign(c&255);HEAP8[_fputc.ret>>0]=chr...
function _pthread_getspecific (line 3) | function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}
function _fputs (line 3) | function _fputs(s,stream){var fd=_fileno(stream);return _write(fd,s,_str...
function _puts (line 3) | function _puts(s){var result=Pointer_stringify(s);var string=result.subs...
function _pthread_setspecific (line 3) | function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){...
function __exit (line 3) | function __exit(status){Module["exit"](status)}
function _exit (line 3) | function _exit(status){__exit(status)}
function _malloc (line 3) | function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr...
function ___cxa_allocate_exception (line 3) | function ___cxa_allocate_exception(size){return _malloc(size)}
function _fmod (line 3) | function _fmod(x,y){return x%y}
function _fmodl (line 3) | function _fmodl(){return _fmod.apply(null,arguments)}
function ___cxa_pure_virtual (line 3) | function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function ca...
function _time (line 3) | function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}...
function _pthread_key_create (line 3) | function _pthread_key_create(key,destructor){if(key==0){return ERRNO_COD...
function ___cxa_guard_acquire (line 3) | function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[va...
function ___cxa_guard_release (line 3) | function ___cxa_guard_release(){}
function _vfprintf (line 3) | function _vfprintf(s,f,va_arg){return _fprintf(s,f,HEAP32[va_arg>>2])}
function ___cxa_begin_catch (line 3) | function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exc...
function _emscripten_memcpy_big (line 3) | function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray...
function _sbrk (line 3) | function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMe...
function ___errno_location (line 3) | function ___errno_location(){return ___errno_state}
function _copysign (line 3) | function _copysign(a,b){return __reallyNegative(a)===__reallyNegative(b)...
function _copysignl (line 3) | function _copysignl(){return _copysign.apply(null,arguments)}
function invoke_iiii (line 3) | function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](i...
function invoke_viiiii (line 3) | function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"...
function invoke_vi (line 3) | function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e)...
function invoke_vii (line 3) | function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}...
function invoke_ii (line 3) | function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}c...
function invoke_v (line 3) | function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(type...
function invoke_viiiiii (line 3) | function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_vii...
function invoke_iii (line 3) | function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,...
function invoke_viiii (line 3) | function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](ind...
function nb (line 7) | function nb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}
function ob (line 7) | function ob(){return i|0}
function pb (line 7) | function pb(a){a=a|0;i=a}
function qb (line 7) | function qb(a,b){a=a|0;b=b|0;if(!q){q=a;r=b}}
function rb (line 7) | function rb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2...
function sb (line 7) | function sb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2...
function tb (line 7) | function tb(a){a=a|0;F=a}
function ub (line 7) | function ub(){return F|0}
function vb (line 7) | function vb(a){a=a|0;Ba(a|0)|0;ud()}
function wb (line 7) | function wb(a){a=a|0;return}
function xb (line 7) | function xb(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;c[b>>2]...
function yb (line 7) | function yb(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function zb (line 7) | function zb(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if(!d){i=b;return}c[a+4...
function Ab (line 7) | function Ab(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function Bb (line 7) | function Bb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((a[d>>0]...
function Cb (line 7) | function Cb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=...
function Db (line 7) | function Db(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function Eb (line 7) | function Eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i...
function Fb (line 7) | function Fb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=c[p>...
function Gb (line 7) | function Gb(b){b=b|0;var d=0,e=0,f=0,g=0,j=0;g=i;c[b>>2]=1816;f=b+4|0;e=...
function Hb (line 7) | function Hb(a){a=a|0;var b=0;b=i;Ib(a);pd(a);i=b;return}
function Ib (line 7) | function Ib(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=1816;d=a+628|0;e=c[d>>2...
function Jb (line 7) | function Jb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m=0,n=0,o...
function Kb (line 7) | function Kb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Lb (line 7) | function Lb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;d=f>>1;a[(c...
function Mb (line 7) | function Mb(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function Nb (line 7) | function Nb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i...
function Ob (line 7) | function Ob(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Pb (line 7) | function Pb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i...
function Qb (line 7) | function Qb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=c[e>>...
function Rb (line 7) | function Rb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Sb (line 7) | function Sb(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function Tb (line 7) | function Tb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function Ub (line 7) | function Ub(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Vb (line 7) | function Vb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Wb (line 7) | function Wb(b){b=b|0;var e=0,f=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s...
function Xb (line 7) | function Xb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Yb (line 7) | function Yb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Zb (line 7) | function Zb(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function _b (line 7) | function _b(b,e,f){b=b|0;e=e|0;f=f|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0...
function $b (line 7) | function $b(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function ac (line 7) | function ac(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function bc (line 7) | function bc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+32|0;j=g;d=...
function cc (line 7) | function cc(){var d=0,e=0,f=0;d=i;i=i+16|0;e=d;a[528]=0;a[536]=1;a[544]=...
function dc (line 7) | function dc(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function ec (line 7) | function ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0...
function fc (line 7) | function fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0.0,m=0,n=0.0,o=0.0,q...
function gc (line 7) | function gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=a+8|0;f=c[e>>...
function hc (line 7) | function hc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;e=a+32|0;d=c[e>...
function ic (line 7) | function ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function jc (line 7) | function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;e=b+4|0...
function kc (line 7) | function kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function lc (line 7) | function lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function mc (line 7) | function mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+4|0;f=c...
function nc (line 7) | function nc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+4|0;f=c...
function oc (line 7) | function oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function pc (line 7) | function pc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;f=i;k=e...
function qc (line 7) | function qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+4|0;f=c...
function rc (line 7) | function rc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function sc (line 7) | function sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i...
function tc (line 7) | function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0...
function uc (line 7) | function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function vc (line 7) | function vc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function wc (line 7) | function wc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,j=0,k=0;f=i;j=c[b>>2]|0;h=j...
function xc (line 7) | function xc(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;d=i;i=i+16|0;g=d;Gb(b);...
function yc (line 7) | function yc(a){a=a|0;var b=0;b=i;zc(a);pd(a);i=b;return}
function zc (line 7) | function zc(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=3424;d=a+904|0;e=c[d>>2...
function Ac (line 7) | function Ac(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i...
function Bc (line 7) | function Bc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function Cc (line 7) | function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0...
function Dc (line 7) | function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Ec (line 7) | function Ec(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Fc (line 7) | function Fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i...
function Gc (line 7) | function Gc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Hc (line 7) | function Hc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function Ic (line 7) | function Ic(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Jc (line 7) | function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Kc (line 7) | function Kc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Lc (line 7) | function Lc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Mc (line 7) | function Mc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Nc (line 7) | function Nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Oc (line 7) | function Oc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|...
function Pc (line 7) | function Pc(){var d=0,e=0,f=0;d=i;i=i+16|0;e=d;a[2608]=0;a[2616]=1;a[262...
function Qc (line 7) | function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;c[a>>2]=0;e=a+4|0;c...
function Rc (line 7) | function Rc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;e=a+32|0;d=c[e>...
function Sc (line 7) | function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0...
function Tc (line 7) | function Tc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;k=c...
function Uc (line 7) | function Uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Vc (line 7) | function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Wc (line 7) | function Wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Xc (line 7) | function Xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;h=c[a>>...
function Yc (line 7) | function Yc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;f=c[a>>2]|0...
function Zc (line 7) | function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i...
function _c (line 7) | function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+4|0;f=c...
function $c (line 7) | function $c(){var a=0,b=0;b=i;Ka(3864)|0;a=od(936)|0;xc(a);i=b;return a|0}
function ad (line 7) | function ad(a){a=a|0;var b=0;b=i;if(!a){i=b;return}gb[c[(c[a>>2]|0)+4>>2...
function bd (line 7) | function bd(){var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=od(936)|0;xc(e);c[964]=...
function cd (line 7) | function cd(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;if((c[962]|0)>=(b|...
function dd (line 7) | function dd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|...
function ed (line 7) | function ed(){var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d;e=c[964]|0;f=e+664|0;...
function fd (line 7) | function fd(){return(c[(c[964]|0)+4>>2]|0)+1|0}
function gd (line 7) | function gd(){return c[962]|0}
function hd (line 7) | function hd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;h=d+16|0;f...
function id (line 7) | function id(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b;d=c[964]|0;c[e>>2]...
function jd (line 7) | function jd(){return c[(c[964]|0)+36>>2]|0}
function kd (line 7) | function kd(){return c[(c[964]|0)+32>>2]|0}
function ld (line 7) | function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i...
function md (line 7) | function md(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[p>>2]|0;...
function nd (line 7) | function nd(){var a=0,b=0;a=i;i=i+16|0;if(!(Ja(4064,3)|0)){b=Ha(c[1014]|...
function od (line 7) | function od(a){a=a|0;var b=0,d=0;b=i;a=(a|0)==0?1:a;d=Sd(a)|0;if(d){i=b;...
function pd (line 7) | function pd(a){a=a|0;var b=0;b=i;Td(a);i=b;return}
function qd (line 7) | function qd(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function rd (line 7) | function rd(a){a=a|0;return}
function sd (line 7) | function sd(a){a=a|0;return 4264}
function td (line 7) | function td(a){a=a|0;var b=0;b=i;i=i+16|0;jb[a&3]();md(4312,b)}
function ud (line 7) | function ud(){var a=0,b=0;b=nd()|0;if(((b|0)!=0?(a=c[b>>2]|0,(a|0)!=0):0...
function vd (line 7) | function vd(){var a=0;a=c[1102]|0;c[1102]=a+0;return a|0}
function wd (line 7) | function wd(a){a=a|0;return}
function xd (line 7) | function xd(a){a=a|0;return}
function yd (line 7) | function yd(a){a=a|0;return}
function zd (line 7) | function zd(a){a=a|0;return}
function Ad (line 7) | function Ad(a){a=a|0;return}
function Bd (line 7) | function Bd(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function Cd (line 7) | function Cd(a){a=a|0;var b=0;b=i;pd(a);i=b;return}
function Dd (line 7) | function Dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+64|0;f=...
function Ed (line 7) | function Ed(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=i;g=d+16|0;h=...
function Fd (line 7) | function Fd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((c[b+8>>2]|0...
function Gd (line 7) | function Gd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((a|0)==(c[b+...
function Hd (line 7) | function Hd(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function Id (line 7) | function Id(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;b=i;a[d+53>...
function Jd (line 7) | function Jd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0...
function Kd (line 7) | function Kd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;g=i;if((c[d...
function Ld (line 7) | function Ld(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i...
function Md (line 7) | function Md(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[b...
function Nd (line 7) | function Nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2...
function Od (line 7) | function Od(a){a=a|0;var b=0;b=i;if(!a)a=0;else a=(Hd(a,4504,4672,0)|0)!...
function Pd (line 7) | function Pd(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;a=a+12|0;d=nd()|0...
function Qd (line 7) | function Qd(){var a=0;a=i;i=i+16|0;if(!(Ma(4056,20)|0)){i=a;return}else ...
function Rd (line 7) | function Rd(a){a=a|0;var b=0;b=i;i=i+16|0;Td(a);if(!(Pa(c[1014]|0,0)|0))...
function Sd (line 7) | function Sd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Td (line 7) | function Td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Ud (line 7) | function Ud(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;do if(a){if(b>>>0>42949...
function Vd (line 7) | function Vd(a){a=a|0;if((a|0)==32)a=1;else a=(a+ -9|0)>>>0<5;return a&1|0}
function Wd (line 7) | function Wd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0...
function Xd (line 11) | function Xd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Yd (line 11) | function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;c[a+104>>2]=b;f=c[a...
function Zd (line 11) | function Zd(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;j=b+104|0;l=c[j...
function _d (line 11) | function _d(a,b){a=+a;b=b|0;var d=0,e=0;d=i;if((b|0)>1023){a=a*8.9884656...
function $d (line 11) | function $d(a,b){a=+a;b=b|0;var c=0;c=i;a=+_d(a,b);i=c;return+a}
function ae (line 11) | function ae(b){b=b|0;var d=0,e=0,f=0;e=i;f=b+74|0;d=a[f>>0]|0;a[f>>0]=d+...
function be (line 11) | function be(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(a...
function ce (line 11) | function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,h=0;d=i;i=i+112|0;e=d...
function de (line 11) | function de(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+112|0;g=e;c...
function ee (line 11) | function ee(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=i;f=a[b>>0]|0;e=a[c>>0]|0...
function fe (line 11) | function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function ge (line 11) | function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function he (line 11) | function he(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=a+4|0;h=c...
function ie (line 11) | function ie(){}
function je (line 11) | function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;r...
function ke (line 11) | function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0...
function le (line 11) | function le(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F=b<<c|(a&(1<<c)-1<<32...
function me (line 11) | function me(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}
function ne (line 11) | function ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(F=b+d+(c>>...
function oe (line 11) | function oe(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F=b>>>c;return a>>>c|(...
function pe (line 11) | function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Ca(b|...
function qe (line 11) | function qe(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F=b>>c;return a>>>c|(b...
function re (line 11) | function re(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;...
function se (line 11) | function se(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c...
function te (line 11) | function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=b...
function ue (line 11) | function ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0...
function ve (line 11) | function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0...
function we (line 11) | function we(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=te(e,...
function xe (line 11) | function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=ze(a,b,c,d,0)|0;return a|0}
function ye (line 11) | function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g...
function ze (line 11) | function ze(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function Ae (line 11) | function Ae(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eb[a&1](b|0,c|0,d|0)|0}
function Be (line 11) | function Be(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;fb[a&3](b|0...
function Ce (line 11) | function Ce(a,b){a=a|0;b=b|0;gb[a&31](b|0)}
function De (line 11) | function De(a,b,c){a=a|0;b=b|0;c=c|0;hb[a&3](b|0,c|0)}
function Ee (line 11) | function Ee(a,b){a=a|0;b=b|0;return ib[a&1](b|0)|0}
function Fe (line 11) | function Fe(a){a=a|0;jb[a&3]()}
function Ge (line 11) | function Ge(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;kb[...
function He (line 11) | function He(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&3](b|0,c|0)|0}
function Ie (line 11) | function Ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;mb[a&3](b|0,c|0,d|0...
function Je (line 11) | function Je(a,b,c){a=a|0;b=b|0;c=c|0;ca(0);return 0}
function Ke (line 11) | function Ke(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(1)}
function Le (line 11) | function Le(a){a=a|0;ca(2)}
function Me (line 11) | function Me(a,b){a=a|0;b=b|0;ca(3)}
function Ne (line 11) | function Ne(a){a=a|0;ca(4);return 0}
function Oe (line 11) | function Oe(){ca(5)}
function Pe (line 11) | function Pe(){bb()}
function Qe (line 11) | function Qe(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(6)}
function Re (line 11) | function Re(a,b){a=a|0;b=b|0;ca(7);return 0}
function Se (line 11) | function Se(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(8)}
function BigInteger (line 33) | function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNum...
function nbi (line 33) | function nbi(){return new BigInteger(null)}
function am1 (line 33) | function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math....
function am2 (line 33) | function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=th...
function am3 (line 33) | function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=th...
function int2char (line 33) | function int2char(n){return BI_RM.charAt(n)}
function intAt (line 33) | function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return c==null?-1:c}
function bnpCopyTo (line 33) | function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r[i]=this[i];r.t=this....
function bnpFromInt (line 33) | function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if...
function nbv (line 33) | function nbv(i){var r=nbi();r.fromInt(i);return r}
function bnpFromString (line 33) | function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(...
function bnpClamp (line 33) | function bnpClamp(){var c=this.s&this.DM;while(this.t>0&&this[this.t-1]=...
function bnToString (line 33) | function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);v...
function bnNegate (line 33) | function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}
function bnAbs (line 33) | function bnAbs(){return this.s<0?this.negate():this}
function bnCompareTo (line 33) | function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r...
function nbits (line 33) | function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){...
function bnBitLength (line 33) | function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+n...
function bnpDLShiftTo (line 33) | function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];...
function bnpDRShiftTo (line 33) | function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r[i-n]=this[i];r.t=M...
function bnpLShiftTo (line 33) | function bnpLShiftTo(n,r){var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<...
function bnpRShiftTo (line 33) | function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>...
function bnpSubTo (line 33) | function bnpSubTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=...
function bnpMultiplyTo (line 33) | function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y...
function bnpSquareTo (line 33) | function bnpSquareTo(r){var x=this.abs();var i=r.t=2*x.t;while(--i>=0)r[...
function bnpDivRemTo (line 33) | function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this...
function bnMod (line 33) | function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&...
function Classic (line 33) | function Classic(m){this.m=m}
function cConvert (line 33) | function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this....
function cRevert (line 33) | function cRevert(x){return x}
function cReduce (line 33) | function cReduce(x){x.divRemTo(this.m,null,x)}
function cMulTo (line 33) | function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}
function cSqrTo (line 33) | function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}
function bnpInvDigit (line 33) | function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)re...
function Montgomery (line 33) | function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32...
function montConvert (line 33) | function montConvert(x){var r=nbi();x.abs().dlShiftTo(this.m.t,r);r.divR...
function montRevert (line 33) | function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}
function montReduce (line 33) | function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i<this...
function montSqrTo (line 33) | function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}
function montMulTo (line 33) | function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}
function bnpIsEven (line 33) | function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}
function bnpExp (line 33) | function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nb...
function bnModPowInt (line 33) | function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);el...
function bnpFromRadix (line 33) | function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.c...
function bnpChunkSize (line 33) | function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}
function bnSigNum (line 33) | function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&t...
function bnpDMultiply (line 33) | function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++t...
function bnpDAddOffset (line 33) | function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++...
function bnpToRadix (line 33) | function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)re...
function bnIntValue (line 33) | function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;e...
function bnpAddTo (line 33) | function bnpAddTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=...
function ExitStatus (line 33) | function ExitStatus(status){this.name="ExitStatus";this.message="Program...
function pad (line 33) | function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}
function run (line 33) | function run(args){args=args||Module["arguments"];if(preloadStartTime===...
function exit (line 33) | function exit(status){if(Module["noExitRuntime"]){return}ABORT=true;EXIT...
function abort (line 33) | function abort(text){if(text){Module.print(text);Module.printErr(text)}A...
FILE: packages/markdown/showdown.js
function headerId (line 809) | function headerId(m) {
FILE: packages/meteor/flush-buffers-on-exit-in-windows.js
function tryToExit (line 13) | function tryToExit() {
FILE: packages/meteor/helpers.js
function logErr (line 161) | function logErr(err) {
FILE: packages/meteor/setimmediate.js
function useSetImmediate (line 38) | function useSetImmediate() {
function usePostMessage (line 53) | function usePostMessage() {
function useTimeout (line 129) | function useTimeout() {
FILE: packages/minimongo/minimongo_server_tests.js
function testSelectorPaths (line 2) | function testSelectorPaths (sel, paths, desc) {
function testSelectorAffectedByModifier (line 61) | function testSelectorAffectedByModifier (sel, mod, yes, desc) {
function affected (line 66) | function affected(sel, mod, desc) {
function notAffected (line 69) | function notAffected(sel, mod, desc) {
function testSelProjectionComb (line 100) | function testSelProjectionComb (sel, proj, expected, desc) {
function testSorterProjectionComb (line 338) | function testSorterProjectionComb (sortSpec, proj, expected, desc) {
function T (line 387) | function T (sel, mod, desc) {
function F (line 390) | function F (sel, mod, desc) {
FILE: packages/minimongo/minimongo_tests.js
function distance (line 2919) | function distance(a, b) {
FILE: packages/modules/install-packages.js
function install (line 1) | function install(name, mainModule) {
FILE: packages/mongo/collection.js
function convertRegexpToMongoSelector (line 411) | function convertRegexpToMongoSelector(regexp) {
function wrapCallback (line 642) | function wrapCallback(callback, convertResult) {
function popCallbackFromArgs (line 764) | function popCallbackFromArgs(args) {
FILE: packages/mongo/mongo_livedata_tests.js
function collectionInsert (line 2215) | function collectionInsert (test, expect, coll, index) {
function collectionUpsert (line 2224) | function collectionUpsert (test, expect, coll, index) {
function collectionUpsertExisting (line 2237) | function collectionUpsertExisting (test, expect, coll, index) {
function functionCallsInsert (line 2257) | function functionCallsInsert (test, expect, coll, index) {
function functionCallsUpsert (line 2271) | function functionCallsUpsert (test, expect, coll, index) {
function functionCallsUpsertExisting (line 2283) | function functionCallsUpsertExisting (test, expect, coll, index) {
function functionCalls3Inserts (line 2300) | function functionCalls3Inserts (test, expect, coll, index) {
function functionChainInsert (line 2316) | function functionChainInsert (test, expect, coll, index) {
function functionChain2Insert (line 2330) | function functionChain2Insert (test, expect, coll, index) {
function functionChain2Upsert (line 2344) | function functionChain2Upsert (test, expect, coll, index) {
FILE: packages/non-core/jquery-layout/jquery.layout.js
function g (line 58) | function g (f) { return f; }
function createLog (line 588) | function createLog () {
function getBranch (line 946) | function getBranch (path, create) {
function g (line 1165) | function g (f) { return f; }
function createFxOptions (line 2069) | function createFxOptions ( pane ) {
function close_2 (line 3351) | function close_2 () {
function open_2 (line 3523) | function open_2 () {
function open_NOW (line 3640) | function open_NOW () {
function close_NOW (line 3673) | function close_NOW () {
function cancelMouseOut (line 3822) | function cancelMouseOut (evt) {
function sizePane_2 (line 4021) | function sizePane_2 () {
function _below (line 4394) | function _below ($E) {
function _measure (line 4398) | function _measure () {
function copy (line 4732) | function copy (n) { // n = pane
function move (line 4746) | function move (oPane, pane) {
function keyDown (line 4836) | function keyDown (evt) {
function allowOverflow (line 4894) | function allowOverflow (el) {
function resetOverflow (line 4963) | function resetOverflow (el) {
function parse (line 5463) | function parse (h) {
function calc (line 5930) | function calc (x,y) { return (parseInt(x,10) / parseInt(y,10) * 100).toF...
FILE: packages/package-version-parser/semver410.js
function parse (line 246) | function parse(version, loose) {
function valid (line 252) | function valid(version, loose) {
function clean (line 259) | function clean(version, loose) {
function SemVer (line 266) | function SemVer(version, loose) {
function inc (line 465) | function inc(version, release, loose, identifier) {
function compareIdentifiers (line 481) | function compareIdentifiers(a, b) {
function rcompareIdentifiers (line 498) | function rcompareIdentifiers(a, b) {
function compare (line 503) | function compare(a, b, loose) {
function compareLoose (line 508) | function compareLoose(a, b) {
function rcompare (line 513) | function rcompare(a, b, loose) {
function sort (line 518) | function sort(list, loose) {
function rsort (line 525) | function rsort(list, loose) {
function gt (line 532) | function gt(a, b, loose) {
function lt (line 537) | function lt(a, b, loose) {
function eq (line 542) | function eq(a, b, loose) {
function neq (line 547) | function neq(a, b, loose) {
function gte (line 552) | function gte(a, b, loose) {
function lte (line 557) | function lte(a, b, loose) {
function cmp (line 562) | function cmp(a, op, b, loose) {
function Comparator (line 587) | function Comparator(comp, loose) {
function Range (line 651) | function Range(range, loose) {
function toComparators (line 734) | function toComparators(range, loose) {
function parseComparator (line 745) | function parseComparator(comp, loose) {
function isX (line 758) | function isX(id) {
function replaceTildes (line 768) | function replaceTildes(comp, loose) {
function replaceTilde (line 774) | function replaceTilde(comp, loose) {
function replaceCarets (line 809) | function replaceCarets(comp, loose) {
function replaceCaret (line 815) | function replaceCaret(comp, loose) {
function replaceXRanges (line 864) | function replaceXRanges(comp, loose) {
function replaceXRange (line 871) | function replaceXRange(comp, loose) {
function replaceStars (line 937) | function replaceStars(comp, loose) {
function hyphenReplace (line 948) | function hyphenReplace($0,
function testSet (line 991) | function testSet(set, version) {
function satisfies (line 1025) | function satisfies(version, range, loose) {
function maxSatisfying (line 1035) | function maxSatisfying(versions, range, loose) {
function validRange (line 1044) | function validRange(range, loose) {
function ltr (line 1056) | function ltr(version, range, loose) {
function gtr (line 1062) | function gtr(version, range, loose) {
function outside (line 1067) | function outside(version, range, hilo, loose) {
FILE: packages/random/random.js
function Mash (line 16) | function Mash() {
function createAleaGeneratorWithGeneratedSeed (line 265) | function createAleaGeneratorWithGeneratedSeed() {
FILE: packages/rate-limit/rate-limit-tests.js
function createTempConnectionHandle (line 334) | function createTempConnectionHandle(id, clientIP) {
function createTempMethodInvocation (line 354) | function createTempMethodInvocation(userId, connectionHandle, methodName) {
FILE: packages/sha/sha256.js
function SHA256 (line 16) | function SHA256(s){
FILE: packages/srp/biginteger.js
function BigInteger (line 48) | function BigInteger(a,b,c) {
function nbi (line 56) | function nbi() { return new BigInteger(null); }
function am1 (line 66) | function am1(i,x,w,j,c,n) {
function am2 (line 77) | function am2(i,x,w,j,c,n) {
function am3 (line 91) | function am3(i,x,w,j,c,n) {
function int2char (line 141) | function int2char(n) { return BI_RM.charAt(n); }
function intAt (line 142) | function intAt(s,i) {
function bnpCopyTo (line 148) | function bnpCopyTo(r) {
function bnpFromInt (line 155) | function bnpFromInt(x) {
function nbv (line 164) | function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
function bnpFromString (line 167) | function bnpFromString(s,b) {
function bnpClamp (line 206) | function bnpClamp() {
function bnToString (line 212) | function bnToString(b) {
function bnNegate (line 242) | function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); retu...
function bnAbs (line 245) | function bnAbs() { return (this.s<0)?this.negate():this; }
function bnCompareTo (line 248) | function bnCompareTo(a) {
function nbits (line 259) | function nbits(x) {
function bnBitLength (line 270) | function bnBitLength() {
function bnpDLShiftTo (line 276) | function bnpDLShiftTo(n,r) {
function bnpDRShiftTo (line 285) | function bnpDRShiftTo(n,r) {
function bnpLShiftTo (line 292) | function bnpLShiftTo(n,r) {
function bnpRShiftTo (line 309) | function bnpRShiftTo(n,r) {
function bnpSubTo (line 327) | function bnpSubTo(a,r) {
function bnpMultiplyTo (line 361) | function bnpMultiplyTo(a,r) {
function bnpSquareTo (line 373) | function bnpSquareTo(r) {
function bnpDivRemTo (line 391) | function bnpDivRemTo(m,q,r) {
function bnMod (line 439) | function bnMod(a) {
function Classic (line 447) | function Classic(m) { this.m = m; }
function cConvert (line 448) | function cConvert(x) {
function cRevert (line 452) | function cRevert(x) { return x; }
function cReduce (line 453) | function cReduce(x) { x.divRemTo(this.m,null,x); }
function cMulTo (line 454) | function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
function cSqrTo (line 455) | function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
function bnpInvDigit (line 473) | function bnpInvDigit() {
function Montgomery (line 489) | function Montgomery(m) {
function montConvert (line 499) | function montConvert(x) {
function montRevert (line 508) | function montRevert(x) {
function montReduce (line 516) | function montReduce(x) {
function montSqrTo (line 535) | function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
function montMulTo (line 538) | function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
function bnpIsEven (line 547) | function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
function bnpExp (line 550) | function bnpExp(e,z) {
function bnModPowInt (line 563) | function bnModPowInt(e,m) {
function bnClone (line 636) | function bnClone() { var r = nbi(); this.copyTo(r); return r; }
function bnIntValue (line 639) | function bnIntValue() {
function bnByteValue (line 651) | function bnByteValue() { return (this.t==0)?this.s:(this[0]<<24)>>24; }
function bnShortValue (line 654) | function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; }
function bnpChunkSize (line 657) | function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r...
function bnSigNum (line 660) | function bnSigNum() {
function bnpToRadix (line 667) | function bnpToRadix(b) {
function bnpFromRadix (line 682) | function bnpFromRadix(s,b) {
function bnpFromNumber (line 709) | function bnpFromNumber(a,b,c) {
function bnToByteArray (line 735) | function bnToByteArray() {
function bnEquals (line 759) | function bnEquals(a) { return(this.compareTo(a)==0); }
function bnMin (line 760) | function bnMin(a) { return(this.compareTo(a)<0)?this:a; }
function bnMax (line 761) | function bnMax(a) { return(this.compareTo(a)>0)?this:a; }
function bnpBitwiseTo (line 764) | function bnpBitwiseTo(a,op,r) {
function op_and (line 782) | function op_and(x,y) { return x&y; }
function bnAnd (line 783) | function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; }
function op_or (line 786) | function op_or(x,y) { return x|y; }
function bnOr (line 787) | function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; }
function op_xor (line 790) | function op_xor(x,y) { return x^y; }
function bnXor (line 791) | function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; }
function op_andnot (line 794) | function op_andnot(x,y) { return x&~y; }
function bnAndNot (line 795) | function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); ret...
function bnNot (line 798) | function bnNot() {
function bnShiftLeft (line 807) | function bnShiftLeft(n) {
function bnShiftRight (line 814) | function bnShiftRight(n) {
function lbit (line 821) | function lbit(x) {
function bnGetLowestSetBit (line 833) | function bnGetLowestSetBit() {
function cbit (line 841) | function cbit(x) {
function bnBitCount (line 848) | function bnBitCount() {
function bnTestBit (line 855) | function bnTestBit(n) {
function bnpChangeBit (line 862) | function bnpChangeBit(n,op) {
function bnSetBit (line 869) | function bnSetBit(n) { return this.changeBit(n,op_or); }
function bnClearBit (line 872) | function bnClearBit(n) { return this.changeBit(n,op_andnot); }
function bnFlipBit (line 875) | function bnFlipBit(n) { return this.changeBit(n,op_xor); }
function bnpAddTo (line 878) | function bnpAddTo(a,r) {
function bnAdd (line 911) | function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; }
function bnSubtract (line 914) | function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; }
function bnMultiply (line 917) | function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; }
function bnDivide (line 920) | function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; }
function bnRemainder (line 923) | function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return...
function bnDivideAndRemainder (line 926) | function bnDivideAndRemainder(a) {
function bnpDMultiply (line 933) | function bnpDMultiply(n) {
function bnpDAddOffset (line 940) | function bnpDAddOffset(n,w) {
function NullExp (line 951) | function NullExp() {}
function nNop (line 952) | function nNop(x) { return x; }
function nMulTo (line 953) | function nMulTo(x,y,r) { x.multiplyTo(y,r); }
function nSqrTo (line 954) | function nSqrTo(x,r) { x.squareTo(r); }
function bnPow (line 962) | function bnPow(e) { return this.exp(e,new NullExp()); }
function bnpMultiplyLowerTo (line 966) | function bnpMultiplyLowerTo(a,n,r) {
function bnpMultiplyUpperTo (line 979) | function bnpMultiplyUpperTo(a,n,r) {
function Barrett (line 991) | function Barrett(m) {
function barrettConvert (line 1000) | function barrettConvert(x) {
function barrettRevert (line 1006) | function barrettRevert(x) { return x; }
function barrettReduce (line 1009) | function barrettReduce(x) {
function barrettSqrTo (line 1020) | function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
function barrettMulTo (line 1023) | function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
function bnModPow (line 1032) | function bnModPow(e,m) {
function bnGCD (line 1091) | function bnGCD(a) {
function bnpModInt (line 1119) | function bnpModInt(n) {
function bnModInverse (line 1129) | function bnModInverse(m) {
function bnIsProbablePrime (line 1174) | function bnIsProbablePrime(t) {
function bnpMillerRabin (line 1193) | function bnpMillerRabin(t) {
FILE: packages/standard-minifier-css/plugin/minify-css.js
function CssToolsMinifier (line 10) | function CssToolsMinifier () {}
FILE: packages/standard-minifier-js/plugin/minify-js.js
function UglifyJSMinifier (line 8) | function UglifyJSMinifier () {}
FILE: packages/static-html/static-html.js
function compileTagsToStaticHtml (line 9) | function compileTagsToStaticHtml(tags) {
class StaticHtmlTagHandler (line 19) | class StaticHtmlTagHandler {
method constructor (line 20) | constructor() {
method getResults (line 29) | getResults() {
method addTagToResults (line 33) | addTagToResults(tag) {
method addBodyAttrs (line 70) | addBodyAttrs(attrs) {
method throwCompileError (line 86) | throwCompileError(message, overrideIndex) {
FILE: packages/stylus/plugin/compile-stylus.js
class StylusCompiler (line 13) | class StylusCompiler extends MultiFileCachingCompiler {
method constructor (line 14) | constructor() {
method getCacheKey (line 21) | getCacheKey(inputFile) {
method compileResultSize (line 25) | compileResultSize(compileResult) {
method isRoot (line 34) | isRoot(inputFile) {
method compileOneFile (line 44) | compileOneFile(inputFile, allFiles) {
method addCompileResult (line 173) | addCompileResult(inputFile, {css, sourceMap}) {
function statOrNull (line 182) | function statOrNull(path) {
FILE: packages/templating-tools/compile-tags-with-spacebars.js
class SpacebarsTagCompiler (line 11) | class SpacebarsTagCompiler {
method constructor (line 12) | constructor() {
method getResults (line 21) | getResults() {
method addTagToResults (line 25) | addTagToResults(tag) {
method addBodyAttrs (line 85) | addBodyAttrs(attrs) {
method throwCompileError (line 101) | throwCompileError(message, overrideIndex) {
FILE: packages/templating-tools/html-scanner-tests.js
function scanForTest (line 53) | function scanForTest(contents) {
FILE: packages/templating-tools/html-scanner.js
class HtmlScan (line 14) | class HtmlScan {
method constructor (line 22) | constructor({
method advance (line 149) | advance(amount) {
method throwCompileError (line 154) | throwCompileError(msg, overrideIndex) {
method throwBodyAttrsError (line 165) | throwBodyAttrsError(msg) {
method getTags (line 169) | getTags() {
FILE: packages/test-in-browser/diff_match_patch_uncompressed.js
function diff_match_patch (line 30) | function diff_match_patch() {
function diff_linesToCharsMunge_ (line 459) | function diff_linesToCharsMunge_(text) {
function diff_halfMatchI_ (line 661) | function diff_halfMatchI_(longtext, shorttext, i) {
function diff_cleanupSemanticScore_ (line 855) | function diff_cleanupSemanticScore_(one, two) {
function match_bitapScore_ (line 1455) | function match_bitapScore_(e, x) {
FILE: scripts/windows/installer/WiXBalExtension/wixext/BalCompiler.cs
class BalCompiler (line 29) | public sealed class BalCompiler : CompilerExtension
method BalCompiler (line 37) | public BalCompiler()
method ParseElement (line 59) | public override void ParseElement(SourceLineNumberCollection sourceLin...
method ParseAttribute (line 99) | public override void ParseAttribute(SourceLineNumberCollection sourceL...
method ParseConditionElement (line 138) | private void ParseConditionElement(XmlNode node)
method ParseWixExtendedBootstrapperApplicationElement (line 207) | private void ParseWixExtendedBootstrapperApplicationElement(XmlNode node)
FILE: scripts/windows/installer/WiXBalExtension/wixext/BalExtension.cs
class BalExtension (line 22) | public sealed class BalExtension : WixExtension
method GetLibrary (line 69) | public override Library GetLibrary(TableDefinitionCollection tableDefi...
FILE: scripts/windows/installer/WiXBalExtension/wixext/BalPreprocessorExtension.cs
class BalPreprocessorExtension (line 18) | public sealed class BalPreprocessorExtension : PreprocessorExtension
method EvaluateFunction (line 31) | public override string EvaluateFunction(string prefix, string function...
FILE: scripts/windows/installer/WiXBalExtension/wixstdba/JSON.cpp
function JSONValue (line 47) | JSONValue *JSON::Parse(const char *data)
function JSONValue (line 85) | JSONValue *JSON::Parse(const wchar_t *data)
FILE: scripts/windows/installer/WiXBalExtension/wixstdba/JSON.h
function isnan (line 31) | static inline bool isnan(double x) { return x != x; }
function isinf (line 32) | static inline bool isinf(double x) { return !isnan(x) && isnan(x - x); }
function wcsncasecmp (line 50) | static inline int wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size...
function simplejson_wcsnlen (line 75) | static inline bool simplejson_wcsnlen(const wchar_t *s, size_t n) {
type std (line 90) | typedef std::vector<JSONValue*> JSONArray;
type std (line 91) | typedef std::map<std::wstring, JSONValue*> JSONObject;
function class (line 95) | class JSON
FILE: scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.cpp
function JSONValue (line 49) | JSONValue *JSONValue::Parse(const wchar_t **data)
function JSONArray (line 535) | const JSONArray &JSONValue::AsArray() const
function JSONObject (line 548) | const JSONObject &JSONValue::AsObject() const
function JSONValue (line 604) | JSONValue *JSONValue::Child(std::size_t index)
function JSONValue (line 645) | JSONValue* JSONValue::Child(const wchar_t* name)
FILE: scripts/windows/installer/WiXBalExtension/wixstdba/JSONValue.h
type JSONType (line 35) | enum JSONType { JSONType_Null, JSONType_String, JSONType_Bool, JSONType_...
function class (line 37) | class JSONValue
FILE: scripts/windows/installer/WiXBalExtension/wixstdba/WixStandardBootstrapperApplication.cpp
type WIXSTDBA_STATE (line 58) | enum WIXSTDBA_STATE
type WM_WIXSTDBA (line 78) | enum WM_WIXSTDBA
type WIXSTDBA_PAGE (line 88) | enum WIXSTDBA_PAGE
type WIXSTDBA_CONTROL (line 117) | enum WIXSTDBA_CONTROL
function ExtractActionProgressText (line 279) | void ExtractActionProgressText(
class CWixStandardBootstrapperApplication (line 306) | class CWixStandardBootstrapperApplication : public CBalBaseBootstrapperA...
method STDMETHODIMP (line 309) | virtual STDMETHODIMP OnStartup()
method STDMETHODIMP_ (line 326) | virtual STDMETHODIMP_(int) OnShutdown()
method STDMETHODIMP_ (line 369) | virtual STDMETHODIMP_(int) OnDetectRelatedBundle(
method STDMETHODIMP_ (line 391) | virtual STDMETHODIMP_(void) OnDetectPackageComplete(
method STDMETHODIMP_ (line 407) | virtual STDMETHODIMP_(int) OnDetectUpdateBegin(
method STDMETHODIMP_ (line 426) | virtual STDMETHODIMP_(int) OnDetectBegin(
method STDMETHODIMP_ (line 435) | virtual STDMETHODIMP_(void) OnDetectComplete(
method STDMETHODIMP_ (line 476) | virtual STDMETHODIMP_(int) OnPlanRelatedBundle(
method STDMETHODIMP_ (line 498) | virtual STDMETHODIMP_(int) OnPlanPackageBegin(
method STDMETHODIMP_ (line 542) | virtual STDMETHODIMP_(void) OnPlanComplete(
method STDMETHODIMP_ (line 564) | virtual STDMETHODIMP_(int) OnCachePackageBegin(
method STDMETHODIMP_ (line 589) | virtual STDMETHODIMP_(int) OnCacheAcquireProgress(
method STDMETHODIMP_ (line 630) | virtual STDMETHODIMP_(int) OnCacheAcquireComplete(
method STDMETHODIMP_ (line 642) | virtual STDMETHODIMP_(int) OnCacheVerifyComplete(
method STDMETHODIMP_ (line 653) | virtual STDMETHODIMP_(void) OnCacheComplete(
method STDMETHODIMP_ (line 662) | virtual STDMETHODIMP_(int) OnError(
method STDMETHODIMP_ (line 723) | virtual STDMETHODIMP_(int) OnExecuteMsiMessage(
method STDMETHODIMP_ (line 754) | virtual STDMETHODIMP_(int) OnProgress(
method STDMETHODIMP_ (line 775) | virtual STDMETHODIMP_(int) OnExecutePackageBegin(
method OnExecuteProgress (line 843) | virtual int __stdcall OnExecuteProgress(
method STDMETHODIMP_ (line 882) | virtual STDMETHODIMP_(int) OnExecutePackageComplete(
method STDMETHODIMP_ (line 934) | virtual STDMETHODIMP_(void) OnExecuteComplete(
method STDMETHODIMP_ (line 947) | virtual STDMETHODIMP_(int) OnResolveSource(
method STDMETHODIMP_ (line 1000) | virtual STDMETHODIMP_(int) OnApplyComplete(
method DWORD (line 1038) | static DWORD WINAPI UiThreadProc(
method DWORD (line 1124) | static DWORD WINAPI ThreadProc(
method HRESULT (line 1187) | HRESULT InitializeData()
method HRESULT (line 1292) | HRESULT ProcessCommandLine(
method HRESULT (line 1377) | HRESULT LoadLocalization(
method HRESULT (line 1410) | HRESULT LoadTheme(
method HRESULT (line 1444) | HRESULT ParseOverridableVariablesFromXml(
method HRESULT (line 1495) | HRESULT ParsePrerequisiteInformationFromXml(
method HRESULT (line 1532) | HRESULT ParseBootrapperApplicationDataFromXml(
method HRESULT (line 1625) | HRESULT CreateMainWindow()
method InitializeTaskbarButton (line 1703) | void InitializeTaskbarButton()
method DestroyMainWindow (line 1724) | void DestroyMainWindow()
method LRESULT (line 1744) | static LRESULT CALLBACK WndProc(
method BOOL (line 1932) | BOOL OnCreate(
method OnShowHelp (line 2023) | void OnShowHelp()
method OnDetect (line 2042) | void OnDetect()
method OnPlan (line 2079) | void OnPlan(
method OnApply (line 2144) | void OnApply()
method OnChangeState (line 2182) | void OnChangeState(
method BOOL (line 2507) | BOOL OnClose()
method OnClickAcceptCheckbox (line 2541) | void OnClickAcceptCheckbox()
method OnClickOptionsButton (line 2552) | void OnClickOptionsButton()
method BOOL (line 2560) | BOOL CheckNonEmptyField(LPCWSTR wzEditVarID)
method BOOL (line 2587) | BOOL CheckCurrentUserPassword(LPCWSTR wzPasswordVarID)
method BOOL (line 2724) | BOOL CheckInstallPathIsValid(LPCWSTR wzInstallPath)
method BOOL (line 2755) | BOOL CheckEmailAddressIsValid(LPCWSTR wzEmailVarID, LPCWSTR wzPassVarI...
method OnClickNextButton (line 2817) | void OnClickNextButton()
method OnClickInstallScope (line 2855) | void OnClickInstallScope()
method OnClickSkipRegistrationCheckbox (line 2879) | void OnClickSkipRegistrationCheckbox()
method OnSignIn (line 2905) | void OnSignIn()
method OnClickBackButton (line 2940) | void OnClickBackButton()
method OnClickOptionsBrowseButton (line 2971) | void OnClickOptionsBrowseButton(DWORD dwControl)
method OnClickOptionsOkButton (line 3007) | void OnClickOptionsOkButton()
method OnClickOptionsCancelButton (line 3035) | void OnClickOptionsCancelButton()
method OnClickRepairButton (line 3044) | void OnClickRepairButton()
method OnClickUninstallButton (line 3053) | void OnClickUninstallButton()
method TryLaunchAfterInstall (line 3060) | void TryLaunchAfterInstall(LPWSTR wzVarTargetPath)
method OnClickCloseButton (line 3102) | void OnClickCloseButton()
method OnClickEulaLink (line 3114) | void OnClickEulaLink()
method OnClickUpgradeLink (line 3161) | void OnClickUpgradeLink()
method OnClickLaunchButton (line 3174) | void OnClickLaunchButton()
method OnClickRestartButton (line 3221) | void OnClickRestartButton()
method OnClickLogFileLink (line 3235) | void OnClickLogFileLink()
method SetState (line 3256) | void SetState(
method DeterminePageId (line 3288) | void DeterminePageId(
method HRESULT (line 3392) | HRESULT EvaluateConditions()
method CopyBundleLogToSpecifiedPath (line 3419) | void CopyBundleLogToSpecifiedPath()
method SetTaskbarButtonProgress (line 3447) | void SetTaskbarButtonProgress(
method SetTaskbarButtonState (line 3500) | void SetTaskbarButtonState(
method SetProgressState (line 3517) | void SetProgressState(
method SavePageSettings (line 3536) | void SavePageSettings(
method HRESULT (line 3571) | HRESULT LoadBootstrapperBAFunctions()
method getWindowsUserAgent (line 3612) | bool getWindowsUserAgent(std::string &str){
method BOOL (line 3638) | BOOL POSTRequest(
method BOOL (line 3720) | BOOL REST_SignInOrRegister(
method HRESULT (line 3865) | HRESULT DAPI LocGetString(
method CWixStandardBootstrapperApplication (line 3892) | CWixStandardBootstrapperApplication(
function HRESULT (line 4106) | HRESULT CreateBootstrapperApplication(
FILE: scripts/windows/installer/WiXBalExtension/wixstdba/wixstdba.cpp
function BOOL (line 18) | BOOL WINAPI DllMain(
function HRESULT (line 40) | HRESULT WINAPI BootstrapperApplicationCreate(
function BootstrapperApplicationDestroy (line 58) | void WINAPI BootstrapperApplicationDestroy()
FILE: scripts/windows/installer/WiXHelper/CustomAction.cpp
function HRESULT (line 28) | HRESULT ExtractBinary(
function HRESULT (line 71) | HRESULT ExtractBinaryToFile(
function BOOL (line 102) | BOOL ExecuteCommandLine(LPWSTR CommandLine, DWORD & exitCode)
function HRESULT (line 153) | HRESULT UnzipToFolder(
function UINT (line 234) | UINT __stdcall Extract_MeteorFiles(MSIHANDLE hInstall)
function HRESULT (line 263) | HRESULT Download_Package(
function UINT (line 379) | UINT FetchHTTPSToShortString(wchar_t *url, char *result) {
function UINT (line 418) | UINT __stdcall Download_MeteorPackage(MSIHANDLE hInstall)
function UINT (line 466) | UINT __stdcall BulkRemoveMeteorFiles(MSIHANDLE hInstall)
function BOOL (line 507) | BOOL WINAPI DllMain(
FILE: scripts/windows/installer/WiXHelper/stdafx.h
type BURN_DOWNLOAD_SOURCE (line 21) | typedef struct _BURN_DOWNLOAD_SOURCE
FILE: scripts/windows/installer/WiXSDK/inc/BalBaseBootstrapperApplication.h
function class (line 19) | class CBalBaseBootstrapperApplication : public IBootstrapperApplication
function BOOL (line 591) | BOOL CheckCanceled()
function BOOL (line 598) | BOOL IsRollingBack()
function BOOL (line 603) | BOOL IsCanceled()
function virtual (line 630) | virtual ~CBalBaseBootstrapperApplication()
FILE: scripts/windows/installer/WiXSDK/inc/IBootstrapperApplication.h
type BOOTSTRAPPER_DISPLAY (line 17) | enum BOOTSTRAPPER_DISPLAY
type BOOTSTRAPPER_RESTART (line 27) | enum BOOTSTRAPPER_RESTART
type BOOTSTRAPPER_RESUME_TYPE (line 37) | enum BOOTSTRAPPER_RESUME_TYPE
type BOOTSTRAPPER_ERROR_TYPE (line 49) | enum BOOTSTRAPPER_ERROR_TYPE
type BOOTSTRAPPER_RELATED_OPERATION (line 60) | enum BOOTSTRAPPER_RELATED_OPERATION
type BOOTSTRAPPER_CACHE_OPERATION (line 72) | enum BOOTSTRAPPER_CACHE_OPERATION
type BOOTSTRAPPER_APPLY_RESTART (line 80) | enum BOOTSTRAPPER_APPLY_RESTART
type BOOTSTRAPPER_RELATION_TYPE (line 88) | enum BOOTSTRAPPER_RELATION_TYPE
type BOOTSTRAPPER_COMMAND (line 100) | struct BOOTSTRAPPER_COMMAND
FILE: scripts/windows/installer/WiXSDK/inc/IBootstrapperBAFunction.h
function interface (line 16) | interface IBootstrapperBAFunction
FILE: scripts/windows/installer/WiXSDK/inc/IBootstrapperEngine.h
type BOOTSTRAPPER_ACTION (line 24) | enum BOOTSTRAPPER_ACTION
type BOOTSTRAPPER_ACTION_STATE (line 37) | enum BOOTSTRAPPER_ACTION_STATE
type BOOTSTRAPPER_PACKAGE_STATE (line 50) | enum BOOTSTRAPPER_PACKAGE_STATE
type BOOTSTRAPPER_REQUEST_STATE (line 60) | enum BOOTSTRAPPER_REQUEST_STATE
type BOOTSTRAPPER_FEATURE_STATE (line 70) | enum BOOTSTRAPPER_FEATURE_STATE
type BOOTSTRAPPER_FEATURE_ACTION (line 79) | enum BOOTSTRAPPER_FEATURE_ACTION
type BOOTSTRAPPER_LOG_LEVEL (line 90) | enum BOOTSTRAPPER_LOG_LEVEL
type BOOTSTRAPPER_UPDATE_HASH_TYPE (line 99) | enum BOOTSTRAPPER_UPDATE_HASH_TYPE
FILE: scripts/windows/installer/WiXSDK/inc/aclutil.h
type ACL_ACCESS (line 26) | struct ACL_ACCESS
type ACL_ACE (line 39) | struct ACL_ACE
FILE: scripts/windows/installer/WiXSDK/inc/apuputil.h
type APUP_HASH_ALGORITHM (line 25) | enum APUP_HASH_ALGORITHM
type APPLICATION_UPDATE_ENCLOSURE (line 34) | struct APPLICATION_UPDATE_ENCLOSURE
type APPLICATION_UPDATE_ENTRY (line 48) | struct APPLICATION_UPDATE_ENTRY
type APPLICATION_UPDATE_CHAIN (line 65) | struct APPLICATION_UPDATE_CHAIN
FILE: scripts/windows/installer/WiXSDK/inc/atomutil.h
type ATOM_UNKNOWN_ATTRIBUTE (line 25) | struct ATOM_UNKNOWN_ATTRIBUTE
type ATOM_UNKNOWN_ELEMENT (line 34) | struct ATOM_UNKNOWN_ELEMENT
type ATOM_LINK (line 44) | struct ATOM_LINK
type ATOM_CONTENT (line 57) | struct ATOM_CONTENT
type ATOM_AUTHOR (line 66) | struct ATOM_AUTHOR
type ATOM_CATEGORY (line 73) | struct ATOM_CATEGORY
type ATOM_ENTRY (line 82) | struct ATOM_ENTRY
type ATOM_FEED (line 105) | struct ATOM_FEED
FILE: scripts/windows/installer/WiXSDK/inc/balcondition.h
type BAL_CONDITION (line 20) | typedef struct _BAL_CONDITION
type BAL_CONDITIONS (line 27) | typedef struct _BAL_CONDITIONS
FILE: scripts/windows/installer/WiXSDK/inc/balinfo.h
type BAL_INFO_PACKAGE_TYPE (line 20) | enum BAL_INFO_PACKAGE_TYPE
type BAL_INFO_PACKAGE (line 33) | typedef struct _BAL_INFO_PACKAGE
type BAL_INFO_PACKAGES (line 45) | typedef struct _BAL_INFO_PACKAGES
type BAL_INFO_BUNDLE (line 52) | typedef struct _BAL_INFO_BUNDLE
FILE: scripts/windows/installer/WiXSDK/inc/balretry.h
type BALRETRY_TYPE (line 20) | enum BALRETRY_TYPE
FILE: scripts/windows/installer/WiXSDK/inc/cabcutil.h
type COMPRESSION_TYPE (line 34) | enum COMPRESSION_TYPE
FILE: scripts/windows/installer/WiXSDK/inc/cabutil.h
type HRESULT (line 26) | typedef HRESULT (*CAB_CALLBACK_OPEN_FILE)(LPCWSTR wzFile, INT_PTR* ppFile);
type HRESULT (line 27) | typedef HRESULT (*CAB_CALLBACK_READ_FILE)(INT_PTR pFile, LPVOID pvData, ...
type HRESULT (line 28) | typedef HRESULT (*CAB_CALLBACK_WRITE_FILE)(INT_PTR pFile, LPVOID pvData,...
type LONG (line 29) | typedef LONG (*CAB_CALLBACK_SEEK_FILE)(INT_PTR pFile, DWORD dwMove, DWOR...
type HRESULT (line 30) | typedef HRESULT (*CAB_CALLBACK_CLOSE_FILE)(INT_PTR pFile);
type HRESULT (line 32) | typedef HRESULT (*CAB_CALLBACK_BEGIN_FILE)(LPCWSTR wzFileId, FILETIME* p...
type HRESULT (line 33) | typedef HRESULT (*CAB_CALLBACK_END_FILE)(LPCWSTR wzFileId, LPVOID pvCont...
type HRESULT (line 34) | typedef HRESULT (*CAB_CALLBACK_PROGRESS)(BOOL fBeginFile, LPCWSTR wzFile...
FILE: scripts/windows/installer/WiXSDK/inc/conutil.h
type CONSOLE_COLOR (line 53) | enum CONSOLE_COLOR { CONSOLE_COLOR_NORMAL, CONSOLE_COLOR_RED, CONSOLE_CO...
FILE: scripts/windows/installer/WiXSDK/inc/dictutil.h
type DICT_FLAG (line 27) | enum DICT_FLAG
FILE: scripts/windows/installer/WiXSDK/inc/dirutil.h
type DIR_DELETE (line 16) | enum DIR_DELETE
FILE: scripts/windows/installer/WiXSDK/inc/dutil.h
type REPORT_LEVEL (line 23) | enum REPORT_LEVEL
function countofVerify (line 179) | char countofVerify(void const *, T) throw() { return 0; }
function countofVerify (line 180) | void countofVerify(T *const, T *const *) throw() {}
type BYTE (line 195) | typedef const BYTE* LPCBYTE;
FILE: scripts/windows/installer/WiXSDK/inc/eseutil.h
type ESE_COLUMN_SCHEMA (line 22) | struct ESE_COLUMN_SCHEMA
type ESE_TABLE_SCHEMA (line 33) | struct ESE_TABLE_SCHEMA
type ESE_DATABASE_SCHEMA (line 41) | struct ESE_DATABASE_SCHEMA
type ESE_QUERY_TYPE (line 47) | enum ESE_QUERY_TYPE
FILE: scripts/windows/installer/WiXSDK/inc/fileutil.h
type FILE_ARCHITECTURE (line 28) | enum FILE_ARCHITECTURE
type FILE_ENCODING (line 36) | enum FILE_ENCODING
FILE: scripts/windows/installer/WiXSDK/inc/iis7util.h
type IIS7_APPHOSTELEMENTCOMPARISON (line 167) | struct IIS7_APPHOSTELEMENTCOMPARISON
FILE: scripts/windows/installer/WiXSDK/inc/iniutil.h
type INI_VALUE (line 27) | struct INI_VALUE
FILE: scripts/windows/installer/WiXSDK/inc/jsonutil.h
type JSON_TOKEN (line 19) | enum JSON_TOKEN
type JSON_VALUE (line 32) | typedef struct _JSON_VALUE
type JSON_READER (line 36) | typedef struct _JSON_READER
type JSON_WRITER (line 45) | typedef struct _JSON_WRITER
FILE: scripts/windows/installer/WiXSDK/inc/locutil.h
type LOC_STRING (line 19) | struct LOC_STRING
type LOC_CONTROL (line 28) | struct LOC_CONTROL
type WIX_LOCALIZATION (line 40) | struct WIX_LOCALIZATION
FILE: scripts/windows/installer/WiXSDK/inc/logutil.h
function HRESULT (line 133) | inline HRESULT LogId(
function HRESULT (line 154) | inline HRESULT LogIdArgs(
function HRESULT (line 184) | inline HRESULT LogErrorId(
FILE: scripts/windows/installer/WiXSDK/inc/osutil.h
type OS_VERSION (line 19) | enum OS_VERSION
FILE: scripts/windows/installer/WiXSDK/inc/pathutil.h
type PATH_EXPAND (line 19) | enum PATH_EXPAND
FILE: scripts/windows/installer/WiXSDK/inc/procutil.h
type PROC_FILESYSTEMREDIRECTION (line 20) | typedef struct _PROC_FILESYSTEMREDIRECTION
FILE: scripts/windows/installer/WiXSDK/inc/regutil.h
type REG_KEY_BITNESS (line 24) | enum REG_KEY_BITNESS
FILE: scripts/windows/installer/WiXSDK/inc/rexutil.h
type MEM_FILE (line 26) | struct MEM_FILE
type FAKE_FILE_TYPE (line 33) | enum FAKE_FILE_TYPE { NORMAL_FILE, MEMORY_FILE }
type HRESULT (line 35) | typedef HRESULT (*REX_CALLBACK_PROGRESS)(BOOL fBeginFile, LPCWSTR wzFile...
type VOID (line 36) | typedef VOID (*REX_CALLBACK_WRITE)(UINT cb);
type FAKE_FILE (line 39) | struct FAKE_FILE // used __in internal file table
FILE: scripts/windows/installer/WiXSDK/inc/rmutil.h
type _RMU_SESSION (line 19) | struct _RMU_SESSION
FILE: scripts/windows/installer/WiXSDK/inc/rssutil.h
type RSS_UNKNOWN_ATTRIBUTE (line 25) | struct RSS_UNKNOWN_ATTRIBUTE
type RSS_UNKNOWN_ELEMENT (line 34) | struct RSS_UNKNOWN_ELEMENT
type RSS_ITEM (line 44) | struct RSS_ITEM
type RSS_CHANNEL (line 60) | struct RSS_CHANNEL
FILE: scripts/windows/installer/WiXSDK/inc/sceutil.h
type SCE_COLUMN_SCHEMA (line 39) | struct SCE_COLUMN_SCHEMA
type SCE_INDEX_SCHEMA (line 53) | struct SCE_INDEX_SCHEMA
type SCE_TABLE_SCHEMA (line 61) | struct SCE_TABLE_SCHEMA
type SCE_DATABASE_SCHEMA (line 76) | struct SCE_DATABASE_SCHEMA
type SCE_DATABASE (line 82) | struct SCE_DATABASE
FILE: scripts/windows/installer/WiXSDK/inc/sqlutil.h
type SQL_FILESPEC (line 30) | struct SQL_FILESPEC
FILE: scripts/windows/installer/WiXSDK/inc/srputil.h
type SRP_ACTION (line 22) | enum SRP_ACTION
FILE: scripts/windows/installer/WiXSDK/inc/thmutil.h
type THEME_CONTROL_DATA (line 21) | enum THEME_CONTROL_DATA
type THEME_CONTROL_TYPE (line 26) | enum THEME_CONTROL_TYPE
type THEME_BILLBOARD (line 46) | struct THEME_BILLBOARD
type THEME_COLUMN (line 53) | struct THEME_COLUMN
type THEME_TAB (line 61) | struct THEME_TAB
type THEME_ASSIGN_CONTROL_ID (line 69) | struct THEME_ASSIGN_CONTROL_ID
type THEME_CONTROL (line 77) | struct THEME_CONTROL
type THEME_IMAGELIST (line 128) | struct THEME_IMAGELIST
type THEME_PAGE (line 135) | struct THEME_PAGE
type THEME_FONT (line 144) | struct THEME_FONT
type THEME (line 154) | struct THEME
FILE: scripts/windows/installer/WiXSDK/inc/uriutil.h
type URI_PROTOCOL (line 23) | enum URI_PROTOCOL
type URI_INFO (line 34) | typedef struct _URI_INFO
FILE: scripts/windows/installer/WiXSDK/inc/wcautil.h
type WCA_ACTION (line 40) | enum WCA_ACTION
type WCA_CASCRIPT (line 47) | enum WCA_CASCRIPT
type WCA_CASCRIPT_CLOSE (line 53) | enum WCA_CASCRIPT_CLOSE
type WCA_TODO (line 59) | enum WCA_TODO
type WCA_CASCRIPT_STRUCT (line 67) | struct WCA_CASCRIPT_STRUCT
type LOGLEVEL (line 98) | enum LOGLEVEL
FILE: scripts/windows/installer/WiXSDK/inc/wcawrapquery.h
type eWrapQueryAction (line 19) | enum eWrapQueryAction
type eColumnDataType (line 27) | enum eColumnDataType
type eFormatMaskColumn (line 35) | enum eFormatMaskColumn
type WCA_WRAPQUERY_STRUCT (line 72) | struct WCA_WRAPQUERY_STRUCT
FILE: scripts/windows/installer/WiXSDK/inc/wiutil.h
type WIU_RESTART (line 36) | enum WIU_RESTART
type WIU_MSI_EXECUTE_MESSAGE_TYPE (line 43) | enum WIU_MSI_EXECUTE_MESSAGE_TYPE
type WIU_MSI_EXECUTE_MESSAGE (line 55) | typedef struct _WIU_MSI_EXECUTE_MESSAGE
type WIU_MSI_PROGRESS (line 89) | typedef struct _WIU_MSI_PROGRESS
type WIU_MSI_EXECUTE_CONTEXT (line 105) | typedef struct _WIU_MSI_EXECUTE_CONTEXT
FILE: scripts/windows/installer/WiXSDK/inc/xmlutil.h
type XML_LOAD_ATTRIBUTE (line 29) | enum XML_LOAD_ATTRIBUTE
FILE: tools/cli/commands-cordova.js
function createProjectContext (line 12) | function createProjectContext(appDir) {
FILE: tools/cli/commands-packages.js
function getLaterReleaseVersions (line 1564) | function getLaterReleaseVersions(releaseTrack, releaseVersion) {
FILE: tools/cli/commands.js
function parseServerOptionsForRunCommand (line 78) | function parseServerOptionsForRunCommand(options, runTargets) {
function parsePortOption (line 96) | function parsePortOption(portOption) {
function parseMobileServerOption (line 107) | function parseMobileServerOption(mobileServerOption,
function detectMobileServerUrl (line 121) | function detectMobileServerUrl(parsedServerUrl, isRunOnDeviceRequested) {
function parseRunTargets (line 149) | function parseRunTargets(targets) {
function doRunCommand (line 282) | function doRunCommand(options) {
function doTestCommand (line 1486) | function doTestCommand(options) {
function updateProgress (line 2304) | function updateProgress() {
FILE: tools/cli/example-repositories.js
constant EXAMPLE_REPOSITORIES (line 1) | const EXAMPLE_REPOSITORIES = {
FILE: tools/cli/main.js
function Command (line 36) | function Command(options) {
FILE: tools/console/console.js
method setHeadless (line 360) | setHeadless(headless) {
method setHeadless (line 1268) | setHeadless(headless) {
FILE: tools/cordova/builder.js
class CordovaBuilder (line 60) | class CordovaBuilder {
method constructor (line 61) | constructor(projectContext, projectRoot, options) {
method initalizeDefaults (line 73) | initalizeDefaults() {
method processControlFile (line 195) | processControlFile() {
method writeConfigXmlAndCopyResources (line 218) | writeConfigXmlAndCopyResources(shouldCopyResources = true) {
method configureAndCopyImages (line 304) | configureAndCopyImages(sizes, xmlElement, tag) {
method copyWWW (line 352) | copyWWW(bundlePath) {
method appendVersion (line 388) | appendVersion(program, publicSettings) {
method generateBootstrapPage (line 398) | generateBootstrapPage(applicationPath, program, publicSettings) {
method copyBuildOverride (line 440) | copyBuildOverride() {
function createAppConfiguration (line 452) | function createAppConfiguration(builder) {
FILE: tools/cordova/index.js
constant CORDOVA_ARCH (line 9) | const CORDOVA_ARCH = "web.cordova";
constant CORDOVA_PLATFORMS (line 11) | const CORDOVA_PLATFORMS = ['ios', 'android'];
constant CORDOVA_PLATFORM_VERSIONS (line 13) | const CORDOVA_PLATFORM_VERSIONS = {
constant PLATFORM_TO_DISPLAY_NAME_MAP (line 18) | const PLATFORM_TO_DISPLAY_NAME_MAP = {
function displayNameForPlatform (line 23) | function displayNameForPlatform(platform) {
function displayNamesForPlatforms (line 27) | function displayNamesForPlatforms(platforms) {
function filterPlatforms (line 35) | function filterPlatforms(platforms) {
function splitPluginsAndPackages (line 39) | function splitPluginsAndPackages(packages) {
function pluginVersionsFromStarManifest (line 59) | function pluginVersionsFromStarManifest(star) {
function newPluginId (line 64) | function newPluginId(id) {
function convertPluginVersions (line 68) | function convertPluginVersions(pluginVersions) {
function convertToGitUrl (line 101) | function convertToGitUrl(url) {
function displayNameForHostPlatform (line 124) | function displayNameForHostPlatform(platform = process.platform) {
FILE: tools/cordova/project.js
function logIfVerbose (line 34) | function logIfVerbose(...args) {
function log (line 40) | function log(...args) {
class CordovaProject (line 78) | class CordovaProject {
method constructor (line 79) | constructor(projectContext, options = {}) {
method createIfNeeded (line 91) | createIfNeeded() {
method prepareFromAppBundle (line 171) | prepareFromAppBundle(bundlePath, pluginVersions) {
method prepareForPlatform (line 211) | prepareForPlatform(platform) {
method buildForPlatform (line 225) | buildForPlatform(platform, options = {}, extraPaths) {
method run (line 239) | async run(platform, isDevice, options = [], extraPaths = []) {
method checkPlatformRequirements (line 262) | checkPlatformRequirements(platform) {
method listInstalledPlatforms (line 331) | listInstalledPlatforms() {
method installedVersionForPlatform (line 335) | installedVersionForPlatform(platform) {
method updatePlatforms (line 350) | updatePlatforms(platforms = this.listInstalledPlatforms()) {
method addPlatform (line 357) | addPlatform(platform) {
method removePlatform (line 366) | removePlatform(platform) {
method cordovaPlatformsInApp (line 373) | get cordovaPlatformsInApp() {
method ensurePlatformsAreSynchronized (line 379) | ensurePlatformsAreSynchronized(platforms = this.cordovaPlatformsInApp) {
method listInstalledPluginVersions (line 407) | listInstalledPluginVersions() {
method listFetchedPluginVersions (line 425) | listFetchedPluginVersions() {
method targetForPlugin (line 450) | targetForPlugin(id, version) {
method resolveLocalPluginPath (line 480) | resolveLocalPluginPath(pluginPath) {
method addPlugin (line 489) | addPlugin(id, version, config = {}) {
method removePlugins (line 503) | removePlugins(plugins) {
method ensurePluginsAreSynchronized (line 516) | ensurePluginsAreSynchronized(pluginVersions, pluginsConfiguration = {}) {
method ensurePinnedPluginVersions (line 635) | ensurePinnedPluginVersions(pluginVersions) {
method defaultOptions (line 658) | get defaultOptions() {
method defaultEnvWithPathsAdded (line 662) | defaultEnvWithPathsAdded(...extraPaths) {
method defaultPaths (line 669) | get defaultPaths() {
method runCommands (line 680) | runCommands(title, promiseOrAsyncFunction, env = this.defaultEnvWithPa...
FILE: tools/cordova/protect-string-proto.js
function makeDescriptor (line 14) | function makeDescriptor() {
FILE: tools/cordova/run-targets.js
class CordovaRunTarget (line 12) | class CordovaRunTarget {
method title (line 13) | get title() {
class iOSRunTarget (line 18) | class iOSRunTarget extends CordovaRunTarget {
method constructor (line 19) | constructor(isDevice) {
method displayName (line 25) | get displayName() {
method start (line 29) | async start(cordovaProject) {
function openXcodeProject (line 52) | function openXcodeProject(projectDir) {
class AndroidRunTarget (line 95) | class AndroidRunTarget extends CordovaRunTarget {
method constructor (line 96) | constructor(isDevice) {
method displayName (line 102) | get displayName() {
method start (line 106) | async start(cordovaProject) {
method checkPlatformRequirementsAndSetEnv (line 120) | async checkPlatformRequirementsAndSetEnv(cordovaProject) {
method tailLogs (line 138) | async tailLogs(cordovaProject, target) {
function logFromAndroidLogcatLine (line 167) | function logFromAndroidLogcatLine(Log, line) {
function logFromConsoleOutput (line 213) | function logFromConsoleOutput(Log, message, filename, lineNumber) {
function isDebugOutput (line 233) | function isDebugOutput(message) {
FILE: tools/cordova/runner.js
class CordovaRunner (line 9) | class CordovaRunner {
method constructor (line 10) | constructor(cordovaProject, runTargets) {
method projectContext (line 17) | get projectContext() {
method platformsForRunTargets (line 21) | get platformsForRunTargets() {
method checkPlatformsForRunTargets (line 25) | checkPlatformsForRunTargets() {
method printWarningsIfNeeded (line 46) | printWarningsIfNeeded() {
method prepareProject (line 74) | prepareProject(bundlePath, pluginVersions, options) {
method startRunTargets (line 93) | startRunTargets() {
method havePlatformsChangedSinceLastRun (line 110) | havePlatformsChangedSinceLastRun() {
method havePluginsChangedSinceLastRun (line 122) | havePluginsChangedSinceLastRun(pluginVersions) {
FILE: tools/fs/files.js
function wrapFsFunc (line 1326) | function wrapFsFunc(fsFuncName, pathArgIndices, options) {
function enableCache (line 1446) | function enableCache(name) {
FILE: tools/fs/safe-pathwatcher.js
function pathwatcherWrapper (line 23) | function pathwatcherWrapper() {
function watchFileWrapper (line 73) | function watchFileWrapper() {
FILE: tools/fs/watch.js
class WatchSet (line 64) | class WatchSet {
method constructor (line 65) | constructor() {
method addFile (line 102) | addFile(filePath, hash) {
method addDirectory (line 120) | addDirectory({absPath, include, exclude, names, contents: unsortedCont...
method merge (line 138) | merge(other) {
method clone (line 157) | clone() {
method toJSON (line 169) | toJSON() {
method fromJSON (line 206) | static fromJSON(json) {
function sha1 (line 254) | function sha1(contents) {
function readDirectory (line 262) | function readDirectory({absPath, include, exclude, names}) {
class Watcher (line 319) | class Watcher {
method constructor (line 320) | constructor(options) {
method _fireIfFileChanged (line 359) | _fireIfFileChanged(absPath) {
method _fireIfDirectoryChanged (line 402) | _fireIfDirectoryChanged(info) {
method _startFileWatches (line 425) | _startFileWatches() {
method _watchFileOrDirectory (line 444) | _watchFileOrDirectory(absPath) {
method _makeWatchEventCallback (line 490) | _makeWatchEventCallback(absPath) {
method _mustNotExist (line 572) | _mustNotExist(absPath) {
method _mustBeAFile (line 580) | _mustBeAFile(absPath) {
method _updateStatForWatch (line 588) | _updateStatForWatch(absPath) {
method _checkDirectories (line 652) | _checkDirectories() {
method _fire (line 674) | _fire() {
method stop (line 685) | stop() {
function isUpToDate (line 702) | function isUpToDate(watchSet) {
function readAndWatchDirectory (line 720) | function readAndWatchDirectory(watchSet, options) {
function readAndWatchFileWithHash (line 733) | function readAndWatchFileWithHash(watchSet, absPath) {
function readAndWatchFile (line 746) | function readAndWatchFile(watchSet, absPath) {
FILE: tools/inspector.js
function start (line 36) | function start(debugPort, entryPoint) {
function DebugEntry (line 50) | function DebugEntry(debugPort, entryPoint) {
function connect (line 156) | function connect(port) {
function disconnect (line 218) | function disconnect() {
function BackloggedStreamWriter (line 247) | function BackloggedStreamWriter(target) {
function banner (line 289) | function banner(debugPort) {
function stop (line 308) | function stop(debugPort) {
FILE: tools/isobuild/build-plugin.js
class SourceProcessorSet (line 64) | class SourceProcessorSet {
method constructor (line 65) | constructor(myPackageDisplayName, {
method _conflictError (line 93) | _conflictError(package1, package2, conflict) {
method addSourceProcessor (line 106) | addSourceProcessor(sp) {
method _addSourceProcessorHelper (line 115) | _addSourceProcessorHelper(sp, things, byThing, errorPrefix) {
method addLegacyHandler (line 134) | addLegacyHandler({ extension, handler, packageDisplayName, isTemplate,
method merge (line 162) | merge(otherSet, options = {}) {
method getByExtension (line 178) | getByExtension(extension) {
method getByFilename (line 190) | getByFilename(filename) {
method classifyFilename (line 202) | classifyFilename(filename, arch) {
method isEmpty (line 254) | isEmpty() {
method appReadDirectoryOptions (line 262) | appReadDirectoryOptions(arch) {
class SourceClassification (line 297) | class SourceClassification {
method constructor (line 298) | constructor(type, {
method isNonLegacySource (line 380) | isNonLegacySource() {
class InputFile (line 388) | class InputFile {
method getContentsAsBuffer (line 394) | getContentsAsBuffer() {
method getPackageName (line 404) | getPackageName() {
method getPathInPackage (line 414) | getPathInPackage() {
method getSourceHash (line 424) | getSourceHash() {
method getArch (line 434) | getArch() {
method getContentsAsString (line 443) | getContentsAsString() {
method getBasename (line 453) | getBasename() {
method getDirname (line 464) | getDirname() {
method getFileOptions (line 475) | getFileOptions() {
method error (line 489) | error(options) {
method _reportError (line 506) | _reportError(message, info) {
FILE: tools/isobuild/builder.js
constant ENABLE_IN_PLACE_BUILDER_REPLACEMENT (line 36) | const ENABLE_IN_PLACE_BUILDER_REPLACEMENT =
class Builder (line 51) | class Builder {
method constructor (line 52) | constructor({outputPath, previousBuilder}) {
method _ensureDirectory (line 113) | _ensureDirectory(relPath) {
method _sanitize (line 151) | _sanitize(relPath, isDirectory) {
method write (line 226) | write(relPath, {data, file, hash, sanitize, executable, symlink}) {
method writeJson (line 281) | writeJson(relPath, data) {
method reserve (line 312) | reserve(relPath, {directory} = {}) {
method generateFilename (line 368) | generateFilename(relPath, {directory} = {}) {
method writeToGeneratedFilename (line 380) | writeToGeneratedFilename(relPath, writeOptions) {
method copyDirectory (line 404) | copyDirectory({
method enter (line 522) | enter(relPath) {
method complete (line 569) | complete() {
method abort (line 613) | abort() {
method getWatchSet (line 619) | getWatchSet() {
function atomicallyRewriteFile (line 624) | function atomicallyRewriteFile(path, data, options) {
function symlinkWithOverwrite (line 646) | function symlinkWithOverwrite(source, target) {
FILE: tools/isobuild/bundler.js
function rejectBadPath (line 182) | function rejectBadPath(p) {
class NodeModulesDirectory (line 218) | class NodeModulesDirectory {
method constructor (line 219) | constructor({
method copy (line 254) | copy() {
method isPortable (line 258) | isPortable() {
method getPreferredBundlePath (line 262) | getPreferredBundlePath(kind) {
method toJSON (line 325) | toJSON() {
method readDirsFromJSON (line 336) | static readDirsFromJSON(node_modules, {
class File (line 427) | class File {
method constructor (line 428) | constructor (options) {
method toString (line 478) | toString() {
method hash (line 482) | hash() {
method contents (line 491) | contents(encoding) {
method setContents (line 503) | setContents(b) {
method size (line 512) | size() {
method setUrlToHash (line 522) | setUrlToHash(fileAndUrlSuffix, urlSuffix) {
method addCacheBuster (line 530) | addCacheBuster() {
method setUrlFromRelPath (line 549) | setUrlFromRelPath(relPath) {
method setTargetPathFromRelPath (line 562) | setTargetPathFromRelPath(relPath) {
method setSourceMap (line 577) | setSourceMap(sourceMap, root) {
method setAssets (line 591) | setAssets(assets) {
class Target (line 602) | class Target {
method constructor (line 603) | constructor({
method make (line 684) | make({packages, minifyMode, addCacheBusters, minifiers}) {
method _determineLoadOrder (line 750) | _determineLoadOrder({packages}) {
method _runCompilerPlugins (line 903) | _runCompilerPlugins() {
method _emitResources (line 918) | _emitResources(sourceBatches) {
method minifyJs (line 1059) | minifyJs(minifierDef, minifyMode) {
method rewriteSourceMaps (line 1105) | rewriteSourceMaps() {
method _addCordovaDependency (line 1143) | _addCordovaDependency(name, version, override) {
method _addDirectCordovaDependencies (line 1168) | _addDirectCordovaDependencies() {
method _addCacheBusters (line 1181) | _addCacheBusters(type) {
method getWatchSet (line 1188) | getWatchSet() {
method mostCompatibleArch (line 1198) | mostCompatibleArch() {
class ClientTarget (line 1220) | class ClientTarget extends Target {
method constructor (line 1221) | constructor (options) {
method minifyCss (line 1237) | minifyCss(minifierDef, minifyMode) {
method write (line 1287) | write(builder, {minifyMode}) {
class JsImage (line 1427) | class JsImage {
method constructor (line 1428) | constructor() {
method load (line 1466) | load(bindings) {
method _makeNpmRequire (line 1645) | _makeNpmRequire(nodeModulesDirsByPackageName) {
method write (line 1725) | write(builder, options) {
method readFromDisk (line 1943) | static readFromDisk (controlFilePath) {
class JsImageTarget (line 2005) | class JsImageTarget extends Target {
method constructor (line 2006) | constructor(options) {
method toJsImage (line 2016) | toJsImage() {
class ServerTarget (line 2041) | class ServerTarget extends JsImageTarget {
method constructor (line 2046) | constructor (options, ...args) {
method write (line 2069) | write(builder, options) {
function bundle (line 2483) | function bundle({
function lintBundle (line 2733) | function lintBundle (projectContext, isopack, packageSource) {
FILE: tools/isobuild/compiler-deprecated-compile-step.js
method _getOption (line 274) | _getOption(name, options) {
FILE: tools/isobuild/compiler-plugin.js
constant CACHE_SIZE (line 60) | const CACHE_SIZE = process.env.METEOR_LINKER_CACHE_SIZE || 1024*1024*100;
constant CACHE_DEBUG (line 61) | const CACHE_DEBUG = !! process.env.METEOR_TEST_PRINT_LINKER_CACHE_DEBUG;
constant LINKER_CACHE_SALT (line 62) | const LINKER_CACHE_SALT = 7;
constant LINKER_CACHE (line 63) | const LINKER_CACHE = new LRU({
function populateServerLibPackages (line 79) | function populateServerLibPackages() {
class CompilerPluginProcessor (line 100) | class CompilerPluginProcessor {
method constructor (line 101) | constructor({
method runCompilerPlugins (line 121) | runCompilerPlugins() {
class InputFile (line 200) | class InputFile extends buildPluginModule.InputFile {
method constructor (line 201) | constructor(resourceSlot) {
method getContentsAsBuffer (line 217) | getContentsAsBuffer() {
method getPackageName (line 222) | getPackageName() {
method isPackageFile (line 227) | isPackageFile() {
method isApplicationFile (line 231) | isApplicationFile() {
method getSourceRoot (line 235) | getSourceRoot() {
method getPathInPackage (line 248) | getPathInPackage() {
method getFileOptions (line 253) | getFileOptions() {
method readAndWatchFileWithHash (line 260) | readAndWatchFileWithHash(path) {
method readAndWatchFile (line 277) | readAndWatchFile(path) {
method findControlFile (line 284) | findControlFile(basename) {
method _resolveCacheLookup (line 317) | _resolveCacheLookup(id, parentPath) {
method _resolveCacheStore (line 322) | _resolveCacheStore(id, parentPath, resolved) {
method resolve (line 330) | resolve(id, parentPath) {
method require (line 355) | require(id, parentPath) {
method getArch (line 359) | getArch() {
method getSourceHash (line 363) | getSourceHash() {
method getExtension (line 372) | getExtension() {
method getDeclaredExports (line 383) | getDeclaredExports() {
method getDisplayPath (line 394) | getDisplayPath() {
method addStylesheet (line 413) | addStylesheet(options) {
method addJavaScript (line 438) | addJavaScript(options) {
method addAsset (line 461) | addAsset(options) {
method addHtml (line 476) | addHtml(options) {
method _reportError (line 481) | _reportError(message, info) {
class ResourceSlot (line 498) | class ResourceSlot {
method constructor (line 499) | constructor(unibuildResourceInfo,
method _getOption (line 554) | _getOption(name, options) {
method _isLazy (line 562) | _isLazy(options) {
method addStylesheet (line 592) | addStylesheet(options) {
method addJavaScript (line 651) | addJavaScript(options) {
method addAsset (line 688) | addAsset(options) {
method addHtml (line 713) | addHtml(options) {
method addError (line 737) | addError(message, info) {
class PackageSourceBatch (line 755) | class PackageSourceBatch {
method constructor (line 756) | constructor(unibuild, processor, {
method addImportExtension (line 849) | addImportExtension(extension) {
method getResolver (line 861) | getResolver() {
method _getSourceProcessorSet (line 890) | _getSourceProcessorSet() {
method computeJsOutputFilesMap (line 914) | static computeJsOutputFilesMap(sourceBatches) {
method _warnAboutMissingModules (line 1114) | static _warnAboutMissingModules(missingNodeModules) {
method getResources (line 1210) | getResources({
method _linkJS (line 1231) | _linkJS(jsResources, meteorInstallOptions) {
FILE: tools/isobuild/compiler.js
function getLinterSourceProcessorSet (line 268) | function getLinterSourceProcessorSet({isopack, activePluginPackages}) {
function addNodeModulesDirectory (line 406) | function addNodeModulesDirectory(options) {
function addAsset (line 454) | function addAsset(contents, relPath, hash) {
function runLinters (line 659) | function runLinters({inputSourceArch, isopackCache, sources,
function getActivePluginPackages (line 807) | function getActivePluginPackages(isopk, {
function isIsobuildFeaturePackage (line 939) | function isIsobuildFeaturePackage(packageName) {
constant KNOWN_ISOBUILD_FEATURE_PACKAGES (line 946) | const KNOWN_ISOBUILD_FEATURE_PACKAGES = {
FILE: tools/isobuild/css-modules.js
function cssToCommonJS (line 1) | function cssToCommonJS(css) {
FILE: tools/isobuild/import-scanner.js
method isFile (line 31) | isFile() {
method isDirectory (line 35) | isDirectory() {
method ".js" (line 43) | ".js"(dataString) {
method ".json" (line 48) | ".json"(dataString) {
method ".css" (line 54) | ".css"(dataString, hash) {
function canBeParsedAsPlainJS (line 63) | function canBeParsedAsPlainJS(dataString, hash) {
constant IMPORT_SCANNER_CACHE (line 88) | const IMPORT_SCANNER_CACHE = new LRU({
method length (line 90) | length(ids) {
class ImportScanner (line 97) | class ImportScanner {
method constructor (line 98) | constructor({
method _getFile (line 143) | _getFile(absPath) {
method _addFile (line 150) | _addFile(absPath, file) {
method addInputFiles (line 176) | addInputFiles(files) {
method _checkSourceAndTargetPaths (line 215) | _checkSourceAndTargetPaths(file) {
method _combineFiles (line 282) | _combineFiles(oldFile, newFile) {
method scanImports (line 335) | scanImports() {
method addNodeModules (line 345) | addNodeModules(identifiers) {
method getOutputFiles (line 395) | getOutputFiles(options) {
method _getSourcePath (line 403) | _getSourcePath(file) {
method _findImportedModuleIdentifiers (line 441) | _findImportedModuleIdentifiers(file) {
method _scanFile (line 459) | _scanFile(file) {
method _readFile (line 543) | _readFile(absPath) {
method _readModule (line 554) | _readModule(absPath) {
method _getInstallPath (line 590) | _getInstallPath(absPath) {
method _getNodeModulesInstallPath (line 609) | _getNodeModulesInstallPath(absPath) {
method _getSourceRootInstallPath (line 631) | _getSourceRootInstallPath(absPath) {
method _splitPath (line 683) | _splitPath(path) {
method _onMissing (line 692) | _onMissing(id, absParentPath) {
method _addPkgJsonToOutput (line 744) | _addPkgJsonToOutput(pkgJsonPath, pkg) {
FILE: tools/isobuild/isopack-cache.js
class IsopackCache (line 12) | class IsopackCache {
method constructor (line 13) | constructor(options) {
method buildLocalPackages (line 61) | buildLocalPackages(rootPackageNames) {
method wipeCachedPackages (line 81) | wipeCachedPackages(packages) {
method getIsopack (line 108) | getIsopack(name) {
method eachBuiltIsopack (line 116) | eachBuiltIsopack(iterator) {
method getSourceRoot (line 123) | getSourceRoot(name, arch) {
method uses (line 144) | uses(isopack, name, arch) {
method implies (line 171) | implies(isopack, name, arch) {
method _ensurePackageLoaded (line 198) | _ensurePackageLoaded(name, onStack) {
method _loadLocalPackage (line 312) | _loadLocalPackage(name, packageInfo, previousIsopack) {
method _lintLocalPackage (line 394) | _lintLocalPackage(packageSource, isopack) {
method _checkUpToDate (line 411) | _checkUpToDate(isopackBuildInfoJson) {
method _checkUpToDatePreloaded (line 448) | _checkUpToDatePreloaded(previousIsopack) {
method _isopackDir (line 472) | _isopackDir(packageName) {
method _pluginCacheDirForPackage (line 477) | _pluginCacheDirForPackage(packageName) {
method _pluginCacheDirForVersion (line 483) | _pluginCacheDirForVersion(packageName, version) {
method _pluginCacheDirForLocal (line 489) | _pluginCacheDirForLocal(packageName) {
method _isopackBuildInfoPath (line 496) | _isopackBuildInfoPath(packageName) {
method forgetPreviousIsopackCache (line 502) | forgetPreviousIsopackCache() {
method _shouldLintPackage (line 507) | _shouldLintPackage(packageSource) {
method getLintingMessagesForLocalPackages (line 517) | getLintingMessagesForLocalPackages() {
FILE: tools/isobuild/isopack.js
method canWriteLegacyBuilds (line 1129) | canWriteLegacyBuilds() {
method featureEnabled (line 1907) | featureEnabled(featurePackageName) {
method displayName (line 1927) | displayName() {
FILE: tools/isobuild/js-analyze.js
method length (line 9) | length(ast) {
function tryToParse (line 15) | function tryToParse(source, hash) {
function findImportedModuleIdentifiers (line 54) | function findImportedModuleIdentifiers(source, hash) {
function isNode (line 142) | function isNode(value) {
function isIdWithName (line 150) | function isIdWithName(node, name) {
function isFunctionWithParameter (line 156) | function isFunctionWithParameter(node, name) {
function getRequiredModuleId (line 164) | function getRequiredModuleId(node) {
function isStringLiteral (line 178) | function isStringLiteral(node) {
function getImportedModuleId (line 185) | function getImportedModuleId(node) {
function findAssignedGlobals (line 221) | function findAssignedGlobals(source, hash) {
FILE: tools/isobuild/linker.js
constant CACHE_SIZE (line 14) | const CACHE_SIZE = process.env.METEOR_APP_PRELINK_CACHE_SIZE || 1024*102...
constant APP_PRELINK_CACHE (line 17) | const APP_PRELINK_CACHE = new LRU({
method _buildModuleTree (line 225) | _buildModuleTree() {
method _chunkifyModuleTree (line 260) | _chunkifyModuleTree(tree, chunks, sourceWidth) {
method _chunkifyEagerRequires (line 312) | _chunkifyEagerRequires(chunks, moduleCount, sourceWidth) {
method _useMeteorInstall (line 512) | _useMeteorInstall() {
method _getClosureHeader (line 516) | _getClosureHeader() {
method _getClosureFooter (line 552) | _getClosureFooter() {
function addIdentityMapping (line 632) | function addIdentityMapping(pos) {
method originalPositionFor (line 655) | originalPositionFor(pos) {
FILE: tools/isobuild/linter-plugin.js
class LinterPlugin (line 3) | class LinterPlugin {
method constructor (line 4) | constructor(pluginDefinition, userPlugin) {
class LintingFile (line 10) | class LintingFile extends InputFile {
method constructor (line 11) | constructor(source) {
method getContentsAsBuffer (line 16) | getContentsAsBuffer() {
method getPathInPackage (line 20) | getPathInPackage() {
method getPackageName (line 24) | getPackageName() {
method getSourceHash (line 28) | getSourceHash() {
method getArch (line 32) | getArch() {
method getFileOptions (line 36) | getFileOptions() {
FILE: tools/isobuild/meteor-npm.js
function walk (line 125) | function walk(deps) {
function recordLastRebuildVersions (line 145) | function recordLastRebuildVersions(pkgDir) {
function isPortable (line 242) | function isPortable(dir, shouldCache) {
function isSubtreeOf (line 443) | function isSubtreeOf(subsetTree, supersetTree) {
function getInstalledDependenciesTree (line 591) | function getInstalledDependenciesTree(dir) {
function shrinkwrap (line 792) | function shrinkwrap(dir) {
FILE: tools/isobuild/minifier-plugin.js
class InputFile (line 4) | class InputFile extends buildPluginModule.InputFile {
method constructor (line 5) | constructor(source, options = {}) {
method getContentsAsBuffer (line 13) | getContentsAsBuffer() {
method getPathInPackage (line 16) | getPathInPackage() {
method getPackageName (line 19) | getPackageName() {
method getSourceHash (line 22) | getSourceHash() {
method getArch (line 25) | getArch() {
method error (line 29) | error({message, sourcePath, line, column, func}) {
method getPathInBundle (line 44) | getPathInBundle() {
method getSourceMap (line 53) | getSourceMap() {
class JsFile (line 58) | class JsFile extends InputFile {
method addJavaScript (line 63) | addJavaScript(options) {
class CssFile (line 73) | class CssFile extends InputFile {
method addStylesheet (line 78) | addStylesheet(options) {
FILE: tools/isobuild/npm-discards.js
function NpmDiscards (line 9) | function NpmDiscards() {
function merge (line 24) | function merge(into, from) {
function matches (line 78) | function matches(pattern, relPath) {
FILE: tools/isobuild/package-api.js
function toArray (line 10) | function toArray (x) {
function toArchArray (line 17) | function toArchArray (arch) {
function mapWhereToArch (line 44) | function mapWhereToArch (where) {
function forAllMatchingArchs (line 56) | function forAllMatchingArchs (archs, f) {
function PackageAPI (line 73) | function PackageAPI (options) {
method mainModule (line 341) | mainModule(path, arch) {
method addAssets (line 378) | addAssets(paths, arch) {
method _addFiles (line 394) | _addFiles(type, paths, arch, fileOptions) {
FILE: tools/isobuild/package-source.js
class SymlinkLoopChecker (line 197) | class SymlinkLoopChecker {
method constructor (line 198) | constructor(sourceRoot) {
method check (line 204) | check(relDir, quietly = true) {
method getFiles (line 409) | getFiles() {
function watchPackageFiles (line 496) | function watchPackageFiles(watchSet) {
method getFiles (line 1206) | getFiles(sourceProcessorSet, watchSet) {
method _readAndWatchDirectory (line 1256) | _readAndWatchDirectory(relDir, watchSet, {include, exclude, names}) {
method getFiles (line 1298) | getFiles(sourceProcessorSet, watchSet) {
method _inferFileOptions (line 1362) | _inferFileOptions(relPath, {arch, isApp}) {
method _findSources (line 1428) | _findSources({
method _findAssets (line 1582) | _findAssets({
method displayName (line 1938) | displayName() {
FILE: tools/isobuild/resolver.js
class Resolver (line 41) | class Resolver {
method constructor (line 42) | constructor({
method isTopLevel (line 66) | static isTopLevel(id) {
method isNative (line 70) | static isNative(id) {
method getNativeStubId (line 74) | static getNativeStubId(id) {
method resolve (line 81) | resolve(id, absParentPath, _seenDirPaths) {
method _joinAndStat (line 135) | _joinAndStat(...joinArgs) {
method _resolveAbsolute (line 169) | _resolveAbsolute(id, absParentPath) {
method _resolveRelative (line 174) | _resolveRelative(id, absParentPath) {
method _resolveNodeModule (line 180) | _resolveNodeModule(id, absParentPath) {
method _readPkgJson (line 256) | _readPkgJson(path) {
method _resolvePkgJsonMain (line 276) | _resolvePkgJsonMain(dirPath, _seenDirPaths) {
FILE: tools/isobuild/source-arch.js
function reportMissingOption (line 4) | function reportMissingOption(name) {
class SourceArch (line 13) | class SourceArch {
method constructor (line 14) | constructor(pkg, {
FILE: tools/isobuild/test-files.js
constant TEST_FILENAME_REGEXPS (line 5) | const TEST_FILENAME_REGEXPS = [
constant APP_TEST_FILENAME_REGEXPS (line 11) | const APP_TEST_FILENAME_REGEXPS = [
function isTestFilePath (line 19) | function isTestFilePath(path) {
FILE: tools/meteor-services/auth.js
function cleanUp (line 102) | function cleanUp() {
FILE: tools/meteor-services/deploy.js
constant CAPABILITIES (line 16) | const CAPABILITIES = ['showDeployMessages', 'canTransferAuthorization'];
function addScheme (line 822) | function addScheme(hostOrURL) {
function getDeployURL (line 838) | function getDeployURL(site) {
function discoverGalaxy (line 868) | async function discoverGalaxy(site, scheme) {
FILE: tools/packaging/catalog/catalog-remote.js
function callback (line 295) | function callback(err, rows) {
function callback (line 342) | function callback(err) {
FILE: tools/packaging/package-client.js
function bundleBuild (line 350) | function bundleBuild(isopack, isopackCache) {
function createBuiltPackage (line 393) | function createBuiltPackage(isopack, isopackCache) {
function createAndPublishBuiltPackage (line 445) | function createAndPublishBuiltPackage(conn, isopack, isopackCache) {
FILE: tools/project-context.js
function ProjectContext (line 37) | function ProjectContext(options) {
method getOriginalAppDirForTestPackages (line 564) | getOriginalAppDirForTestPackages() {
FILE: tools/runners/run-all.js
class Runner (line 17) | class Runner {
method constructor (line 18) | constructor({
method start (line 114) | start() {
method _startMongoAsync (line 166) | async _startMongoAsync() {
method stop (line 176) | stop() {
method regenerateAppPort (line 198) | regenerateAppPort() {
FILE: tools/runners/run-app.js
function eachline (line 90) | function eachline(stream, encoding, callback) {
function maybePrintLintWarnings (line 762) | function maybePrintLintWarnings(bundleResult) {
FILE: tools/runners/run-log.js
function getLoggingPackage (line 21) | function getLoggingPackage() {
FILE: tools/runners/run-mongo.js
method onStopped (line 799) | onStopped() {
FILE: tools/runners/run-proxy.js
function attempt (line 173) | function attempt(resOrSocket, fn) {
function showErrorPage (line 225) | function showErrorPage(res) {
function escapeEntities (line 263) | function escapeEntities(str) {
FILE: tools/runners/run-updater.js
function check (line 24) | async function check() {
FILE: tools/shell-client.js
function Client (line 17) | function Client(shellDir) {
function onConnect (line 127) | function onConnect() {
function onClose (line 146) | function onClose() {
function onError (line 158) | function onError(err) {
function tearDown (line 163) | function tearDown() {
function shellBanner (line 187) | function shellBanner() {
FILE: tools/static-assets/server/boot.js
function addNodeModulesPath (line 137) | function addNodeModulesPath(path) {
function statOrNull (line 153) | function statOrNull(path) {
FILE: tools/static-assets/server/npm-rebuild.js
function rebuild (line 30) | function rebuild(i) {
FILE: tools/static-assets/server/npm-require.js
function statOrNull (line 9) | function statOrNull(path) {
function findAppDirHelper (line 17) | function findAppDirHelper(absOSPath) {
function findAppDir (line 31) | function findAppDir(absPath) {
function registerNodeModules (line 55) | function registerNodeModules(name, node_modules) {
function getRelID (line 114) | function getRelID(id) {
function npmRequire (line 128) | function npmRequire(id) {
function resolve (line 134) | function resolve(id) {
function resolveInLocalBuild (line 166) | function resolveInLocalBuild(id) {
function resolveInNodeModules (line 170) | function resolveInNodeModules(id) {
function resolveInDevBundle (line 188) | function resolveInDevBundle(id) {
function tryResolve (line 193) | function tryResolve(id) {
FILE: tools/static-assets/server/shell-server.js
function callback (line 20) | function callback() {
function Server (line 56) | function Server(shellDir) {
function readJSONFromStream (line 89) | function readJSONFromStream(inputStream, callback) {
function addHelp (line 278) | function addHelp(cmd, helpText) {
function getInfoFile (line 315) | function getInfoFile(shellDir) {
function getHistoryFile (line 320) | function getHistoryFile(shellDir) {
function getTerminalWidth (line 324) | function getTerminalWidth() {
function evalCommand (line 342) | function evalCommand(command, context, filename, callback) {
function stripParens (line 384) | function stripParens(command) {
FILE: tools/static-assets/skel/client/main.js
method counter (line 12) | counter() {
method 'click button' (line 18) | 'click button'(event, instance) {
FILE: tools/tests/apps/app-using-stylus/main.js
function colorToRGBString (line 11) | function colorToRGBString(color) {
FILE: tools/tests/apps/custom-minifier/packages/custom-minifier/plugin/minify.js
function CustomMinifier (line 15) | function CustomMinifier(type) {
FILE: tools/tests/apps/minification-css-splitting/code.js
function report (line 2) | function report () {
function linkHref (line 14) | function linkHref (prev) {
FILE: tools/tests/apps/minifier-plugin-bad-extension/packages/local-plugin/plugin.js
function Minifier (line 8) | function Minifier () {}
FILE: tools/tests/apps/minifier-plugin-multiple-minifiers-for-js/packages/local-plugin-2/plugin.js
function Minifier (line 8) | function Minifier () {}
FILE: tools/tests/apps/minifier-plugin-multiple-minifiers-for-js/packages/local-plugin/plugin.js
function Minifier (line 8) | function Minifier () {}
FILE: tools/tests/apps/modules/imports/lazy1.js
function reset (line 6) | function reset() {
FILE: tools/tests/apps/modules/imports/lazy2.js
function reset (line 6) | function reset() {
FILE: tools/tests/apps/modules/packages/modules-test-package/common.js
function checkPackageVars (line 5) | function checkPackageVars() {
FILE: tools/tests/apps/modules/packages/modules-test-plugin/plugin.js
class ArsonCompiler (line 17) | class ArsonCompiler {
method processFilesForTarget (line 22) | processFilesForTarget(inputFiles) {
FILE: tools/tests/apps/package-tests/packages/empty-cordova-plugin/plugin/src/android/Empty.java
class Empty (line 9) | public class Empty extends CordovaPlugin {
method onMessage (line 10) | public Object onMessage(String id, Object data) {
method execute (line 13) | @Override
FILE: tools/tests/apps/package-tests/packages/empty-cordova-plugin/plugin/src/an
Copy disabled (too large)
Download .json
Condensed preview — 2037 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (13,570K chars).
[
{
"path": ".arcconfig",
"chars": 122,
"preview": "{\n \"project_id\" : \"Meteor framework\",\n \"conduit_uri\" : \"https://phabricator.meteor.io/\",\n \"immutable_history\" : false"
},
{
"path": ".eslintignore",
"chars": 2235,
"preview": "android_bundle/\ndev_bundle/\ndocs/\nexamples/\npackages/\nscripts/\ntools/\n!tools/*.js\n!tools/isobuild/*.js\n!tools/catalog/*."
},
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 545,
"preview": "## README and \"Good to know\" section\n\nPlease make sure that you carefully have read the [README](https://github.com/4com"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 410,
"preview": "Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. "
},
{
"path": ".gitignore",
"chars": 263,
"preview": ".DS_Store\n/.meteor\n*~\n/dev_bundle\n/dev_bundle*.tar.gz\n/android_bundle\n/android_bundle*.tar.gz\n/node_*.tar.gz\n/mongo_*.ta"
},
{
"path": ".mailmap",
"chars": 6788,
"preview": "# The presence of this file makes it easier to find GitHub usernames for\n# History.md.\n#\n# This is a git dotfile that af"
},
{
"path": ".reviewboardrc",
"chars": 84,
"preview": "REVIEWBOARD_URL = 'https://rbcommons.com/s/meteor/'\nREPOSITORY = 'Meteor framework'\n"
},
{
"path": ".travis.yml",
"chars": 229,
"preview": "language: node_js\nnode_js:\n - \"0.10\"\ncache:\n directories:\n - \"dev_bundle\"\n - \".meteor\"\n - \".babel-cache\"\ninst"
},
{
"path": "Contributing.md",
"chars": 1339,
"preview": "# Contributing to Meteor universal fork\n\nWe are happy to have your help for building and running the Meteor universal fo"
},
{
"path": "History.md",
"chars": 195256,
"preview": "## v.NEXT\n\n## v1.3.4.1\n\n* Increased the default HTTP timeout for requests made by the `meteor`\n command-line tool to 60"
},
{
"path": "IssueTriage.md",
"chars": 5993,
"preview": "# Issue Triage\n\nThis document describes the process Meteor contributors use to organize issues. We use Github [issues](h"
},
{
"path": "LICENSE.txt",
"chars": 1520,
"preview": "========================================\nMeteor is licensed under the MIT License\n======================================"
},
{
"path": "LICENSES/Apache.txt",
"chars": 4753,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/Artistic.txt",
"chars": 493,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/BSD.txt",
"chars": 42273,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/CDDL.txt",
"chars": 1196,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/DWTFYWT.txt",
"chars": 1398,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/Eclipse.txt",
"chars": 11733,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/ISC.txt",
"chars": 1798,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/IntelHAXM.txt",
"chars": 2290,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/MIT.txt",
"chars": 28209,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/MongoDB.txt",
"chars": 10660,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/Node.txt",
"chars": 28794,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/PublicDomain.txt",
"chars": 2275,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/andris9.txt",
"chars": 1483,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/browserify.txt",
"chars": 3175,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/commonmark.txt",
"chars": 6600,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/heapdump.txt",
"chars": 1124,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/ieee754.txt",
"chars": 3159,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/jsdoc.txt",
"chars": 14253,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/libuv.txt",
"chars": 2175,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/nan.txt",
"chars": 2457,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/through2.txt",
"chars": 2174,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/tough-cookie.txt",
"chars": 4088,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "LICENSES/unorm.txt",
"chars": 2353,
"preview": "====================================================================\nFor the license for Meteor itself, see LICENSE.txt "
},
{
"path": "README.md",
"chars": 13662,
"preview": " {\n Meteor.publish(\"clientInfo\", function () {\n var self = this;\n self.added(\"clientInfo\", \"i"
},
{
"path": "examples/other/controllers-demo/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/other/defer-in-inactive-tab/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/defer-in-inactive-tab/.meteor/packages",
"chars": 179,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/defer-in-inactive-tab/README.md",
"chars": 542,
"preview": "# Defer in Inactive Tab\n\nTests that `Meteor.defer` works in an inactive tab in iOS Safari.\n\n(`setTimeout` and `setInterv"
},
{
"path": "examples/other/defer-in-inactive-tab/test.html",
"chars": 1097,
"preview": "<head>\n <title>defer in inactive tab</title>\n <meta name=\"viewport\" content=\"width=device-width\">\n</head>\n\n<body>\n {{"
},
{
"path": "examples/other/defer-in-inactive-tab/test.js",
"chars": 1524,
"preview": "if (Meteor.isClient) {\n \n var isParent = (window.location.pathname === '/');\n var isChild = ! isParent;\n\n Template.r"
},
{
"path": "examples/other/domrange-grid/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/domrange-grid/.meteor/packages",
"chars": 219,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/domrange-grid/.meteor/release",
"chars": 5,
"preview": "none\n"
},
{
"path": "examples/other/domrange-grid/domrange-grid.css",
"chars": 335,
"preview": "/* CSS declarations go here */\n\n\n* { margin: 0; padding: 0 }\n\n#grid td {\n width: 20px;\n height: 20px;\n vertical-align"
},
{
"path": "examples/other/domrange-grid/domrange-grid.html",
"chars": 63,
"preview": "<head>\n <title>domrange-grid</title>\n</head>\n\n<body>\n\n</body>\n"
},
{
"path": "examples/other/domrange-grid/domrange-grid.js",
"chars": 3008,
"preview": "if (Meteor.isClient) {\n Meteor.startup(function () {\n var N = 10;\n var numColors = 6;\n var colors = [];\n fo"
},
{
"path": "examples/other/login-demo/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/login-demo/.meteor/packages",
"chars": 211,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/login-demo/.meteor/release",
"chars": 5,
"preview": "none\n"
},
{
"path": "examples/other/login-demo/login-demo.css",
"chars": 310,
"preview": "\n* { padding: 0; margin: 0; }\n\n#main {\n margin: 50px;\n text-align: center;\n font-size: 24px;\n}\n\n.msgDiv {\n margin: 3"
},
{
"path": "examples/other/login-demo/login-demo.html",
"chars": 1698,
"preview": "<head>\n <title>login-demo</title>\n</head>\n\n<body>\n <div id=\"main\">\n {{> main}}\n </div>\n <div id=\"readme\">\n <p>"
},
{
"path": "examples/other/login-demo/login-demo.js",
"chars": 1417,
"preview": "Gizmos = new Mongo.Collection(\"gizmos\");\n\nif (Meteor.isClient) {\n\n var allGizmos = Meteor.subscribe(\"allGizmos\");\n\n Te"
},
{
"path": "examples/other/parties/.meteor/.finished-upgraders",
"chars": 229,
"preview": "# This file contains information which helps Meteor properly upgrade your\n# app when you run 'meteor update'. You should"
},
{
"path": "examples/other/parties/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/parties/.meteor/packages",
"chars": 285,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/parties/.meteor/platforms",
"chars": 15,
"preview": "server\nbrowser\n"
},
{
"path": "examples/other/parties/.meteor/release",
"chars": 13,
"preview": "METEOR@0.9.4\n"
},
{
"path": "examples/other/parties/.meteor/versions",
"chars": 1208,
"preview": "accounts-base@1.1.2\naccounts-facebook@1.0.2\naccounts-oauth@1.1.2\naccounts-password@1.0.3\naccounts-twitter@1.0.2\naccounts"
},
{
"path": "examples/other/parties/client/client.js",
"chars": 8347,
"preview": "// All Tomorrow's Parties -- client\n\nMeteor.subscribe(\"directory\");\nMeteor.subscribe(\"parties\");\n\n// If no party selecte"
},
{
"path": "examples/other/parties/client/parties.css",
"chars": 1115,
"preview": ".header {\n padding: 20px 0;\n}\n\n.details {\n margin-top: -18px;\n}\n\n.mask {\n position: absolute;\n width: 100%;\n"
},
{
"path": "examples/other/parties/client/parties.html",
"chars": 5549,
"preview": "<head>\n <title>All Tomorrow's Parties</title>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n"
},
{
"path": "examples/other/parties/model.js",
"chars": 5938,
"preview": "// All Tomorrow's Parties -- data model\n// Loaded on both the client and the server\n\n///////////////////////////////////"
},
{
"path": "examples/other/parties/server/server.js",
"chars": 296,
"preview": "// All Tomorrow's Parties -- server\n\nMeteor.publish(\"directory\", function () {\n return Meteor.users.find({}, {fields: {"
},
{
"path": "examples/other/quiescence/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/quiescence/.meteor/packages",
"chars": 211,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/quiescence/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/other/quiescence/quiescence.html",
"chars": 941,
"preview": "<head>\n <title>quiescence</title>\n</head>\n\n<body>\n {{> clock}}\n {{> updated}}\n {{> stream}}\n</body>\n\n<template name="
},
{
"path": "examples/other/quiescence/quiescence.js",
"chars": 2218,
"preview": "Time = new Mongo.Collection(\"time\");\nResults = new Mongo.Collection(\"results\");\nMagic = new Mongo.Collection(\"magic\");\n\n"
},
{
"path": "examples/other/template-demo/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/template-demo/.meteor/packages",
"chars": 191,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/template-demo/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/other/template-demo/client/d3.v2.js",
"chars": 239690,
"preview": "(function() {\n if (!Date.now) Date.now = function() {\n return +(new Date);\n };\n try {\n document.createElement(\""
},
{
"path": "examples/other/template-demo/client/template-demo.css",
"chars": 769,
"preview": "body {\n font-family: 'Helvetica Neue', Helvetica, Arial, san-serif;\n width: 600px;\n margin: auto;\n padding: "
},
{
"path": "examples/other/template-demo/client/template-demo.html",
"chars": 6935,
"preview": "<head>\n <title>Advanced Template Demo</title>\n</head>\n\n<body>\n {{> page}}\n</body>\n\n<template name=\"page\">\n <h1>Advanc"
},
{
"path": "examples/other/template-demo/client/template-demo.js",
"chars": 6657,
"preview": "Timers = new Mongo.Collection(null);\n\n///////////////////////////////////////////////////////////////////////////////\n\ni"
},
{
"path": "examples/other/template-demo/model.js",
"chars": 43,
"preview": "Circles = new Mongo.Collection(\"circles\");\n"
},
{
"path": "examples/other/wordplay/.meteor/.finished-upgraders",
"chars": 229,
"preview": "# This file contains information which helps Meteor properly upgrade your\n# app when you run 'meteor update'. You should"
},
{
"path": "examples/other/wordplay/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/other/wordplay/.meteor/packages",
"chars": 195,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/other/wordplay/.meteor/platforms",
"chars": 15,
"preview": "server\nbrowser\n"
},
{
"path": "examples/other/wordplay/.meteor/release",
"chars": 13,
"preview": "METEOR@0.9.4\n"
},
{
"path": "examples/other/wordplay/.meteor/versions",
"chars": 838,
"preview": "application-configuration@1.0.3\nautoupdate@1.1.2\nbase64@1.0.1\nbinary-heap@1.0.1\nblaze-tools@1.0.1\nblaze@2.0.2\nboilerplat"
},
{
"path": "examples/other/wordplay/TODO",
"chars": 275,
"preview": "TODOS\nstrip spaces on input box\nfocus input on game start\nstyling\neliminate extra divs\n\nPOSSIBLE EXTENSIONS\npublish rema"
},
{
"path": "examples/other/wordplay/client/wordplay.css",
"chars": 2469,
"preview": "body {\n margin: 0px;\n background-color: #f4f4f4;\n font-family: Helvetica, Arial, sans-serif;\n}\n\n/* base styles "
},
{
"path": "examples/other/wordplay/client/wordplay.html",
"chars": 3248,
"preview": "<head>\n <title>Word play!</title>\n</head>\n\n<body>\n {{> page}}\n</body>\n\n<template name=\"page\">\n <div id=\"main\">\n <d"
},
{
"path": "examples/other/wordplay/client/wordplay.js",
"chars": 6372,
"preview": "////////// Main client application logic //////////\n\n//////\n////// Utility functions\n//////\n\nvar player = function () {\n"
},
{
"path": "examples/other/wordplay/model.js",
"chars": 4782,
"preview": "////////// Shared code (client and server) //////////\n\nGames = new Mongo.Collection('games');\n// { board: ['A','I',...],"
},
{
"path": "examples/other/wordplay/private/enable2k.txt",
"chars": 1750148,
"preview": "// enable2k dictionary courtesy of http://www.morewords.com/, public\n// domain. includes standard inflections, which ar"
},
{
"path": "examples/other/wordplay/server/game.js",
"chars": 2185,
"preview": "////////// Server only logic //////////\n\nMeteor.methods({\n start_new_game: function () {\n // create a new game w/ fr"
},
{
"path": "examples/other/wordplay/server/make-boggle-dict.js.noload",
"chars": 3483,
"preview": "require(\"./words.js\");\n\nvar BOGGLE_DICE = ['pchoas', 'oattow', 'lrytte', 'vthrwe',\n 'eghwne', 'seotis'"
},
{
"path": "examples/unfinished/accounts-ui-viewer/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/accounts-ui-viewer/.meteor/packages",
"chars": 312,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/accounts-ui-viewer/.meteor/release",
"chars": 6,
"preview": "0.6.1\n"
},
{
"path": "examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.html",
"chars": 5046,
"preview": "<head>\n <title>accounts-ui-viewer</title>\n</head>\n\n<body>\n {{> page}}\n</body>\n\n<template name=\"radio\">\n <span class=\""
},
{
"path": "examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.js",
"chars": 6963,
"preview": "\nMeteor.users.allow({update: function () { return true; }});\n\nif (Meteor.isClient) {\n\n Accounts.STASH = _.extend({}, Ac"
},
{
"path": "examples/unfinished/accounts-ui-viewer/accounts-ui-viewer.less",
"chars": 1405,
"preview": "html, body { height: 100%; }\n\n#controlpane {\n position: absolute;\n left: 0;\n width: 299px;\n top: 0;\n bottom: 0;\n\n "
},
{
"path": "examples/unfinished/atoms/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/atoms/.meteor/packages",
"chars": 211,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/atoms/.meteor/release",
"chars": 5,
"preview": "none\n"
},
{
"path": "examples/unfinished/atoms/atoms.css",
"chars": 198,
"preview": "g[class=atom] circle {\n stroke: black;\n stroke-width: 3px;\n}\n\ng[class=atom] text {\n font-family: Arial, sans-serif;\n "
},
{
"path": "examples/unfinished/atoms/atoms.html",
"chars": 780,
"preview": "<head>\n <title>Atoms</title>\n</head>\n\n<body>\n <div id=\"atoms\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"500\""
},
{
"path": "examples/unfinished/atoms/atoms.js",
"chars": 91,
"preview": "if (Meteor.isClient) {\n Template.atom.textY = function () {\n return this.y + 8;\n };\n}\n"
},
{
"path": "examples/unfinished/azrael/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/azrael/.meteor/packages",
"chars": 211,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/azrael/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/unfinished/azrael/client/azrael.css",
"chars": 329,
"preview": "#room-list .room.selected {\n color: white;\n background-color: black;\n}\n\n.room .name {\n display: inline;\n}\n\n.roo"
},
{
"path": "examples/unfinished/azrael/client/azrael.html",
"chars": 1132,
"preview": "<body>\n\n<div class=\"ui-layout-center\" id=\"chat-view\">\n {{> center_pane }}\n</div>\n<div class=\"ui-layout-east\">East</div>"
},
{
"path": "examples/unfinished/azrael/client/azrael.js",
"chars": 4405,
"preview": "Meteor.subscribe('rooms');\n\nSession.set('current_room', null);\nSession.set('editing_room_name', false);\n\nDeps.autorun(fu"
},
{
"path": "examples/unfinished/azrael/model.js",
"chars": 596,
"preview": "// XXX it is actually very dangerous to store times as Number. use\n// Date type once it's implemented in minimongo\nRooms"
},
{
"path": "examples/unfinished/benchmark/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/benchmark/.meteor/packages",
"chars": 221,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/benchmark/.meteor/release",
"chars": 8,
"preview": "0.6.5.1\n"
},
{
"path": "examples/unfinished/benchmark/benchmark.css",
"chars": 31,
"preview": "/* CSS declarations go here */\n"
},
{
"path": "examples/unfinished/benchmark/benchmark.html",
"chars": 314,
"preview": "<head>\n <title>benchmark</title>\n</head>\n\n<body>\n {{> status}}\n\n {{> params}}\n</body>\n\n<template name=\"status\">\n <p>"
},
{
"path": "examples/unfinished/benchmark/benchmark.js",
"chars": 6448,
"preview": "\n// Pick scenario from settings.\n// XXX settings now has public. could move stuff there and avoid this.\nvar PARAMS = {};"
},
{
"path": "examples/unfinished/benchmark/run-local.sh",
"chars": 2074,
"preview": "#!/usr/bin/env bash\n\nPORT=9000\nif [ -z \"$NUM_CLIENTS\" ]; then\n NUM_CLIENTS=10\nfi\nif [ -z \"$DURATION\" ]; then\n DURATION"
},
{
"path": "examples/unfinished/benchmark/scenarios/README.md",
"chars": 529,
"preview": "Parameters for simulation:\n\n- numCollections\n how many collections to spread the documents over\n\n- maxAgeSeconds: How"
},
{
"path": "examples/unfinished/benchmark/scenarios/default.json",
"chars": 209,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 1,\n \"updatesPerSecond\": 1,"
},
{
"path": "examples/unfinished/benchmark/scenarios/fast.json",
"chars": 206,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 5,\n \"updatesPerSecond\": 5,"
},
{
"path": "examples/unfinished/benchmark/scenarios/nodata.json",
"chars": 46,
"preview": "{\n \"params\": {\n \"numCollections\": 1\n }\n}\n"
},
{
"path": "examples/unfinished/benchmark/scenarios/scale10.json",
"chars": 208,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 10,\n \"updatesPerSecond\": 1"
},
{
"path": "examples/unfinished/benchmark/scenarios/scale100.json",
"chars": 211,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 100,\n \"updatesPerSecond\": "
},
{
"path": "examples/unfinished/benchmark/scenarios/scale20.json",
"chars": 208,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 20,\n \"updatesPerSecond\": 2"
},
{
"path": "examples/unfinished/benchmark/scenarios/scale40.json",
"chars": 208,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 40,\n \"updatesPerSecond\": 4"
},
{
"path": "examples/unfinished/benchmark/scenarios/scale50.json",
"chars": 208,
"preview": " {\n \"params\": {\n \"numCollections\": 1,\n \"maxAgeSeconds\": 60,\n \"insertsPerSecond\": 50,\n \"updatesPerSecond\": 5"
},
{
"path": "examples/unfinished/blaze-test/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/blaze-test/.meteor/packages",
"chars": 225,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/blaze-test/.meteor/release",
"chars": 5,
"preview": "none\n"
},
{
"path": "examples/unfinished/blaze-test/client/blaze-test.css",
"chars": 31,
"preview": "/* CSS declarations go here */\n"
},
{
"path": "examples/unfinished/blaze-test/client/blaze-test.html",
"chars": 60,
"preview": "<head>\n <title>blaze-test</title>\n</head>\n\n<body>\n\n</body>\n"
},
{
"path": "examples/unfinished/blaze-test/client/blaze-test.js",
"chars": 4021,
"preview": "Meteor.startup(function () {\n\nBlaze._wrapAutorun = function (c) {\n console.log('Created #' + c._id);\n var callback = f"
},
{
"path": "examples/unfinished/chat-benchmark/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/chat-benchmark/.meteor/packages",
"chars": 227,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/chat-benchmark/.meteor/release",
"chars": 8,
"preview": "0.6.5.1\n"
},
{
"path": "examples/unfinished/chat-benchmark/benchmark.css",
"chars": 31,
"preview": "/* CSS declarations go here */\n"
},
{
"path": "examples/unfinished/chat-benchmark/benchmark.html",
"chars": 335,
"preview": "<head>\n <title>benchmark</title>\n</head>\n\n<body>\n {{> status}}\n\n {{> params}}\n\n {{> serverFacts}}\n</body>\n\n<template"
},
{
"path": "examples/unfinished/chat-benchmark/benchmark.js",
"chars": 5508,
"preview": "// Pick which scenario we run. Pass the 'SCENARIO' environment variable\n// to change this. See 'benchmark-scenarios.js' "
},
{
"path": "examples/unfinished/chat-benchmark/run-local.sh",
"chars": 1603,
"preview": "#!/usr/bin/env bash\n\nPORT=9000\nNUM_CLIENTS=10\nDURATION=120\nREPORT_INTERVAL=10\n\nset -e\ntrap 'echo \"FAILED. Killing: $(job"
},
{
"path": "examples/unfinished/chat-benchmark/scenarios/README.md",
"chars": 633,
"preview": "Each client creates a room when it starts up and joins that room plus\n`roomsPerClient` other rooms.\n\nEvery `talkativePer"
},
{
"path": "examples/unfinished/chat-benchmark/scenarios/default.json",
"chars": 245,
"preview": "{\n \"params\": {\n \"roomsPerClient\": 5,\n \"messageHistorySeconds\": 600,\n \"roomHistorySeconds\": 500,\n \"talkative"
},
{
"path": "examples/unfinished/coffeeless/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/coffeeless/.meteor/packages",
"chars": 197,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/coffeeless/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/unfinished/coffeeless/client/coffeeless.coffee",
"chars": 189,
"preview": "Meteor.subscribe 'presses'\n\nTemplate.button_demo.events =\n 'click input': ->\n console.log \"press\"\n Presses.inse"
},
{
"path": "examples/unfinished/coffeeless/client/coffeeless.html",
"chars": 700,
"preview": "<head>\n <title>coffeeless</title>\n</head>\n\n<body>\n <h1>coffeeless</h1>\n\n Welcome to Meteor! Here is a button for you "
},
{
"path": "examples/unfinished/coffeeless/client/coffeeless.less",
"chars": 123,
"preview": "@red: #842210;\n\nh1 {\n color: @red;\n}\n\nimg {\n display: block;\n position: absolute;\n top: 0px;\n right: 0px;"
},
{
"path": "examples/unfinished/coffeeless/model.coffee",
"chars": 121,
"preview": "root = exports ? this # export Presses globally.\nroot.Presses = new Mongo.Collection 'presses'\n\nMeteor.publish 'presses'"
},
{
"path": "examples/unfinished/controls/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/controls/.meteor/packages",
"chars": 191,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/controls/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/unfinished/controls/client/controls.js",
"chars": 984,
"preview": "var SPEW = function(str) {\n SPEW.lines.push(str);\n // use counter to signal invalidation\n Session.set(\"SPEW_V\", (Sess"
},
{
"path": "examples/unfinished/controls/controls.css",
"chars": 31,
"preview": "/* CSS declarations go here */\n"
},
{
"path": "examples/unfinished/controls/controls.html",
"chars": 678,
"preview": "<head>\n <title>controls</title>\n</head>\n\n<body>\n {{> radios}}\n {{> checkboxes}}\n {{> spew}}\n</body>\n\n<template name="
},
{
"path": "examples/unfinished/jsparse-docs/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/jsparse-docs/.meteor/packages",
"chars": 191,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/jsparse-docs/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/unfinished/jsparse-docs/jsparse-docs.css",
"chars": 905,
"preview": "\np, .topnotes .nodespec { margin: 0.8em; }\n.topnotes {\n background: #ffd;\n margin-bottom: 2em;\n margin-left: 1e"
},
{
"path": "examples/unfinished/jsparse-docs/jsparse-docs.html",
"chars": 12644,
"preview": "<head>\n <title>jsparse Docs</title>\n</head>\n\n<body>\n <div id=\"page\">\n {{> page}}\n </div>\n</body>\n\n<template name=\""
},
{
"path": "examples/unfinished/jsparse-docs/jsparse-docs.js",
"chars": 2229,
"preview": "\n\nif (Meteor.isClient) {\n Template.page.nodespec = function (fn) {\n var parts = [fn()];\n var replaceParts = funct"
},
{
"path": "examples/unfinished/leaderboard-remote/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/leaderboard-remote/.meteor/packages",
"chars": 191,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/leaderboard-remote/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/unfinished/leaderboard-remote/client/leaderboard-remote.css",
"chars": 663,
"preview": "body {\n width: 400px;\n margin: 100px auto 0 auto;\n background-color: white;\n font-family: 'Helvetica Neue', "
},
{
"path": "examples/unfinished/leaderboard-remote/client/leaderboard-remote.html",
"chars": 562,
"preview": "<head>\n <title>Remote collection demo</title>\n</head>\n\n<body>\n <div id=\"wrapper\">\n <img src=\"planes.png\" id=\"meteor\">"
},
{
"path": "examples/unfinished/leaderboard-remote/client/leaderboard-remote.js",
"chars": 1257,
"preview": "Leaderboard = DDP.connect(\"http://leader2.meteor.com/sockjs\");\n\n// XXX I'd rather this be Leaderboard.Players.. can this"
},
{
"path": "examples/unfinished/movers/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/movers/.meteor/packages",
"chars": 221,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/movers/.meteor/release",
"chars": 5,
"preview": "none\n"
},
{
"path": "examples/unfinished/movers/client/jquery-ui-sortable.js",
"chars": 69736,
"preview": "/*! jQuery UI - v1.10.3 - 2013-07-30\n* http://jqueryui.com\n* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui"
},
{
"path": "examples/unfinished/movers/movers.html",
"chars": 283,
"preview": "<head>\n <title>movers</title>\n</head>\n\n<body>\n {{> main}}\n</body>\n\n<template name=\"main\">\n<div class=\"container\">\n <d"
},
{
"path": "examples/unfinished/movers/movers.js",
"chars": 2767,
"preview": "if (Meteor.isClient) {\n var moveCount = 0;\n var MOVE_INTERVAL = 3000;\n var MOVE_DURATION = 2000;\n\n doMove = function"
},
{
"path": "examples/unfinished/movers/movers.less",
"chars": 253,
"preview": ".item {\n border: 1px solid black;\n padding: 10px;\n font-size: 18px;\n margin-bottom: 10px;\n font-weight: bold;\n pos"
},
{
"path": "examples/unfinished/parse-inspector/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/parse-inspector/.meteor/packages",
"chars": 215,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/parse-inspector/.meteor/release",
"chars": 6,
"preview": "0.6.0\n"
},
{
"path": "examples/unfinished/parse-inspector/parse-inspector.css",
"chars": 3241,
"preview": "\n* { padding: 0; margin: 0; }\nhtml, body { height: 100%; }\n\n#topbar {\n position: absolute;\n width: 100%;\n top: 0;\n h"
},
{
"path": "examples/unfinished/parse-inspector/parse-inspector.html",
"chars": 816,
"preview": "<head>\n <title>jsparser</title>\n</head>\n\n<body>\n {{> page}}\n</body>\n\n<template name=\"page\">\n <div id=\"topbar\">\n <d"
},
{
"path": "examples/unfinished/parse-inspector/parse-inspector.js",
"chars": 5810,
"preview": "\n\nif (Meteor.isClient) {\n Meteor.startup(function () {\n if (! Session.get(\"input\"))\n Session.set(\"input\", \"var "
},
{
"path": "examples/unfinished/python-ddp-client/README",
"chars": 24,
"preview": "sudo easy_install ws4py\n"
},
{
"path": "examples/unfinished/python-ddp-client/ddp-client.py",
"chars": 10313,
"preview": "#!/usr/bin/env python2.7\n\nimport sys\nimport json\nimport time\nimport argparse\nimport thread\nimport threading\nimport trace"
},
{
"path": "examples/unfinished/python-ddp-client/test_input",
"chars": 329,
"preview": "sub\nsub undefinedSub\nsub undefinedSub someArg\nsub undefinedSub {}\nsub allApps\nsub myApp \"foo.bar\"\nsub myApp [\"foo.meteor"
},
{
"path": "examples/unfinished/reorderable-list/.meteor/.gitignore",
"chars": 6,
"preview": "local\n"
},
{
"path": "examples/unfinished/reorderable-list/.meteor/packages",
"chars": 200,
"preview": "# Meteor packages used by this project, one per line.\n#\n# 'meteor add' and 'meteor remove' will edit this file for you,\n"
},
{
"path": "examples/unfinished/reorderable-list/.meteor/release",
"chars": 5,
"preview": "none\n"
},
{
"path": "examples/unfinished/reorderable-list/client/jquery-ui-sortable.js",
"chars": 69736,
"preview": "/*! jQuery UI - v1.10.3 - 2013-07-30\n* http://jqueryui.com\n* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui"
},
{
"path": "examples/unfinished/reorderable-list/client/shark.css",
"chars": 162,
"preview": "#list div {\n padding: 10px;\n height: 19px;\n border: 1px solid #bbb;\n margin: 8px;\n font-weight: bold;\n cursor: mov"
},
{
"path": "examples/unfinished/reorderable-list/client/shark.html",
"chars": 131,
"preview": "<body>\n <div id=\"list\">\n {{#each items}}\n <div class=\"item\">\n {{text}}\n </div>\n {{/each}}\n </di"
},
{
"path": "examples/unfinished/reorderable-list/client/shark.js",
"chars": 1113,
"preview": "UI.body.items = Items.find({}, { sort: { rank: 1 } });\n\nSimpleRationalRanks = {\n beforeFirst: function (firstRank) { re"
},
{
"path": "examples/unfinished/reorderable-list/lib/items.js",
"chars": 285,
"preview": "Items = new Mongo.Collection(\"items\");\n\nif (Meteor.isServer) {\n if (Items.find().count() === 0) {\n _.each(\n [\"v"
}
]
// ... and 1837 more files (download for full content)
About this extraction
This page contains the full source code of the 4commerce-technologies-AG/meteor GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2037 files (12.0 MB), approximately 3.3M tokens, and a symbol index with 2456 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.