Commit Graph

19 Commits

Author SHA1 Message Date
Emily Stark
2413a8d3ed Use cryptographic PRNGs when available.
This means node's crypto.randomBytes on the server, and
window.crypto.getRandomValues on the client. If node's crypto.randomBytes throws
an exception, we fall back to crypto.pseudoRandomBytes. If
window.crypto.getRandomValues isn't supported by the browser, we fall back to
the alea generator that we had been using previously.
2013-09-25 15:53:04 -07:00
David Glasser
4b3cb9d305 Rename api.exportSymbol -> api.export. 2013-07-25 18:54:43 -07:00
David Glasser
db51a3a14c Eliminate the "past" package.
This package was always included in apps, and even if it was possible to remove,
there wasn't a compelling story about when users would remove and replace
it. Plus, not all backwards-compatibility code could even live in it (eg, field
names of objects), so it was incomplete. It also introduced odd load order
constraints.

Instead, we introduce two conventions for backwards-compatibility code:

  - Special comments of the form "// XXX COMPAT WITH 0.6.4"
  - When feasible, put backwards-compatibility code in a file called
    "deprecated.js" in the relevant package.

This is documented at:
https://github.com/meteor/meteor/wiki/Meteor-Style-Guide#deprecated-code-and-backwards-compatibility

Additionally, removed some symbols that existed for backwards compatibility with
Meteor 0.4.0 (changes made 10 months ago): Meteor.is_client, Meteor.is_server,
and (in a method) this.is_simulation.
2013-07-25 18:54:42 -07:00
David Glasser
9f38258b54 Drop all @export lines. Add api.exportSymbol instead. 2013-07-25 18:54:40 -07:00
David Glasser
25a3afff54 - drop where from all on_use/on_test (it is no longer being passed in)
- allow `api.use(package, {options})` without where
- fix showdown to use a weak dependency
2013-07-25 18:54:40 -07:00
David Glasser
d757b366d2 More fixes, from the merge of devel into linker.
Mostly related to making the big OAuth refactoring linker-friendly.
2013-05-28 15:52:50 -07:00
David Glasser
8a7b1ddf35 Merge branch 'devel' into linker.
Conflicts:
	meteor
	packages/absolute-url/.gitignore
	packages/accounts-base/package.js
	packages/accounts-oauth/package.js
	packages/audit-argument-checks/.gitignore
	packages/coffeescript/.gitignore
	packages/coffeescript/package.js
	packages/localstorage-polyfill/.gitignore
	packages/oauth1/package.js
	packages/oauth2/package.js
	packages/random/random.js
	scripts/generate-dev-bundle.sh
	tools/packages.js
	tools/run.js
	tools/server/server.js
2013-05-28 15:10:48 -07:00
Andrew Wilcox
1ad813951b Allow new Random instances to be constructed with specified seed.
For repeatable unit test failures with "random" data it's useful to be
able to create deterministic random number sequences.

Introduce `Random.create(seed...)` which returns a object with the
`Random` API (`id()`, `choice()`, etc.) initialized with the passed
seed(s).
2013-05-22 21:34:39 -07:00
David Glasser
6b48e8bd8a stuff that doesn't have conflicts 2013-05-13 11:51:50 -07:00
David Glasser
8dbee56e77 Add .gitignore to package directories to match linker branch.
This way switching between linker and devel doesn't leave you with lots of junk
in git status.
2013-05-13 10:57:37 -07:00
David Glasser
5a5204e3a4 Remove closures around package files. (hint: git blame -w)
The bundler now adds closures around client files and the server adds closures
around server files.
2013-03-19 15:13:53 -07:00
David Glasser
516f4dfaf7 Move Meteor.uuid to past package. Add Random.hexString. 2013-02-13 00:42:05 -08:00
David Glasser
b3d1fe4112 move objectid generation back into objectid class 2013-02-13 00:10:26 -08:00
David Glasser
9b486b3c9b Meteor.random -> Random.fraction
add Random.choice
2013-02-13 00:08:50 -08:00
David Glasser
d2ae5f7e1c Replace almost all uses of Meteor.uuid with Random.id. 2013-02-12 23:55:19 -08:00
David Glasser
ed36db211d Use Random.id() in Spark.
We couldn't use Meteor.uuid() because it contained '-' but Random.id() is fine.
2013-02-12 23:51:34 -08:00
David Glasser
e95bcb870c Get rid of duplicate random code inside minimongo.
Temporarily move the objectid-specific function into random.js.
2013-02-12 23:49:43 -08:00
David Glasser
eb14cfceeb Rename Meteor.id() -> Random.id() 2013-02-12 23:44:04 -08:00
David Glasser
fdb1773d4a Rename uuid package to random. No further changes. 2013-02-12 23:38:22 -08:00