Add support for spiderable #882

wants to merge 357 commits into


None yet
svasva commented Mar 26, 2013

This is necessary to allow to parse shared pages when sharing links.

avital and others added some commits Feb 15, 2013
@avital avital cleanup rebase mistake d34b4b8
@avital avital For formatting for 'meteor --help'
'meteor test-packages' is long
@avital avital Fix 1196c6a
@avital avital Generate engine version by hashing files fe00315
@avital avital Build package tarballs 84927fa
@avital avital Generate release manifest 850aea7
@avital avital Publish release 4aa1201
@avital avital Improve error when testing a non-existant package f6234b2
@avital avital WIP: Leave placemark comments in code in preparation for engine versi…
…on springboard
@avital avital Remove now unused 089c6fa
@avital avital Stamp engine version in ENGINE/.engine_version.txt 37de5da
@avital avital Detect when we should springboard 5580dd9
@glasser glasser Add a "uname and arch" function, borrowed from update.js. 2db2392
@glasser glasser get tarball path correctly d4660e6
@glasser glasser rename get_core_dir -> getEngineDir c2a1012
@glasser glasser maybe springboarding works 86962e3
@avital avital Minor changes from Nick code review ee1d36a
@avital avital Minor comment correction b8612d7
@avital avital Glasser code review 3b6c1bc
@glasser glasser remove debugging code bba7bda
@glasser glasser springboarding appears to actually work 5aabe7a
@glasser glasser missing var fcaac0a
@glasser glasser don't use a release manifest in a checkout
[ ... whiteboard task to look into this further ...]
@avital avital Checkouts don't load releases, take 2 c6a4b63
@glasser glasser - die if you use --release in a checkout
- don't run calculateReleaseVersion twice for test-packages
- DTRT for test-packages in a checkout
@glasser glasser files.get*Current*EngineDir 6497687
@glasser glasser no more warehouses in checkouts 431ff65
@avital avital Pass release into bundler in all cases 794a05b
@glasser glasser extend an XXX comment a798fb2
@avital avital Explicitly print published artifacts c421a22
@avital avital attempt to use git submodules a919cb3
@avital avital Improve error when package not found in PACKAGE_DIRS locally dfd8379
@avital avital update git submodules for the 'awssum' smart package bd6ed0a
@avital avital Packages in apps 942b8d3
@glasser glasser Move another script that we rebased into admin into tools 7c390c6
@glasser glasser build a tarball that can be used to upgrade from non-engine to engine
works on mac!
@avital avital Clarifications from Glasser's review 40717f1
@glasser glasser New fields in manifest.json for engine branch.
The old fields will be ignored by engine branch and will continue to be used to
get pre-engine releases up to engine land.
@glasser glasser latestRelease now goes based on a symlink, not semver 81db8fd
@avital avital checkpoint 1eafa07
@glasser glasser ensure some release f202c09
@glasser glasser fix typo aa105b7
@glasser glasser future.wrap on get_manifest didn't work (bad callback type).
just make it sync instead.
@glasser glasser .wait 8e06811
@glasser glasser Don't download engines that we already have. 947ddc7
@glasser glasser read engine version as string db9747c
@glasser glasser stupid script to make a sha-ish release into a numbered release and u…
…pdate the

bootstrap tarball
@glasser glasser global meteor update 948cf0e
@glasser glasser move update code into meteor.js. maybe global 'meteor update' works 776bdb7
@glasser glasser dependency on release file 528527a
@glasser glasser springboard me maybe 24f19ce
@glasser glasser no-op change 732cfbb
@glasser glasser parallelize publish-release package publishing 7d928d7
@avital avital Attempt to notify users of new release on 'meteor run' 6443d7b
@glasser glasser console.log a38c550
@avital avital A better attempt to tell users to upgrade on 'meteor run' db7cfba
@avital avital don't die if can't get manifest 1a08a0f
@glasser glasser oops, symlink should be to json file, not nothing c5ed11c
@glasser glasser meteor update app 5f168a2
@glasser glasser make update --release more better d0656b2
@avital avital newline 3b2aee4
@glasser glasser let you update sans --release to a non-downloaded thing 95db2bb
@avital avital clarifying comment 7fc3b10
@avital avital -> d729cd8
@avital avital Correct previous wrong reordering 71cc2e6
@avital avital (maybe) make warehouse s3 objects public when published c2c5ff5
@glasser glasser unbreak deploying with password bf88167
@avital avital No warehouseBaseUrl in manifest.json 54d74d3
@avital avital Eliminate unused updater.CURRENT_VERSION 986e435
@glasser glasser update engines/latest symlink! cdaac4c
@glasser glasser comment fix f3d3911
@glasser glasser Add comment about Meteor.release bd2e6bc
@glasser glasser make background downloads quiet 72de060
@glasser glasser test against "0.6.0" 11f4c13
@avital avital Directory reorg:
- Move lib/ to engine/
- Move server/ into engine/server/
- Remove dead code
@glasser glasser Reorganize build-engine-tree. Stop shipping 6e41827
@avital avital Fix tests def09c9
@glasser glasser previous commit changed how packages are built, this matches it 94c1d3b
@glasser glasser manifest is 0.6.0 e49f60f
@glasser glasser release json files end with .release.json now 6c49cba
@glasser glasser fix for *.release.json 1e56a0d
@glasser glasser allow you to run from anywhere c4266f0
@glasser glasser use multiple arguments instead of comma-separation for test-packages
also, update its docs
@glasser glasser fix ebe5ef3
@glasser glasser run-all-tests is really run-engine-tests d36ac07
@glasser glasser "app needs to update" message 5849629
@glasser glasser Run "meteor update" from the install script d7de90d
@glasser glasser change startup message to be after npm (and print a "Restarting" mess…
@glasser glasser don't skip subdirs named 'packages' in apps, just top level (fixes docs) 03b573d
@glasser glasser Meteor.release (string, client and server; none if not from a release) 63a7b4f
@glasser glasser don't use $TMPDIR, it means something 962bce4
@glasser glasser Display Meteor release in the skel app c27beab
@avital avital release changelog 46b43fe
@avital avital rm post-upgrade.js 3c0d1d7
@glasser glasser shrink size of fake release 2b86472
@glasser glasser Fix need to require Fiber. 25ac684
@glasser glasser drop 'var' from wordplay functions used outside file faa1818
@glasser glasser Wrap client code in closure too.
Update parties and test helpers to not use file-level vars.
@glasser glasser 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.
@glasser glasser Another round of removing __meteor_bootstrap__.require. 599c6ed
glasser and others added some commits Mar 20, 2013
@glasser glasser die if running a "none" app from warehouse without specifying --release 652b9b9
@glasser glasser change message for meteor update in a checkout 9898e7c
@glasser glasser Delete chaff, such as 1b67923
@glasser glasser Merge branch 'engine' into devel.
Major completed changes:

- Packages can depend on npm modules
- Apps can contain packages in a directory called "packages"
- Tests are run with a new "meteor test-packages" subcommand
- All JS files are wrapped in closures (so top-level "var" is now file-local)

Additionally, there has been a major rehaul of the release process and how
installation and "meteor update" works. Apps can be pinned to particular
releases (though this is ignored if you're running Meteor from a git checkout)
and you may can have multiple releases installed in parallel. The bulk of
Meteor's code is installed in your home directory at ~/.meteor/ instead of
globally. Some aspects of this are not yet finalized (and will be before the
next release), but all aspects relating to running Meteor from a checkout should
@glasser glasser Push 0.6.0-alpha1 7eb4dbe
@glasser glasser Undocumented test-packages option to specify a different driver.
Will be used by Seismograph.
@glasser glasser Support test-packages --settings. 2f1ef40
@sixolet sixolet Started a package to allow you to run Meteor tests from the command line 62884e8
@sixolet sixolet Teach the phantom driver to know about expected failures bc587d7
@sixolet sixolet Added a simple shell script to run tests 250ab97
@sixolet sixolet Test runner handles double finish cbf663b
@sixolet sixolet Whitespace. Testing git hook 4deddb6
@sixolet sixolet Maybe handle null results better? 1a2fa29
@sixolet sixolet Added REST request support to test-in-phantom a67578d
@sixolet sixolet Reporting more information 9b8415d
@sixolet sixolet Test if platform is empty not null to give it the local platform dca5741
@sixolet sixolet Multiple results per REST request e552dc5
@sixolet sixolet Defer between tests; fix normal in-browser test runs faf906c
@sixolet sixolet Added 3s delay to see if that helps complete automated test runs on l…
…inux 64
@sixolet sixolet revert the deferring of runNext() I think it was causing problems 3268dd2
@sixolet sixolet Meteor is now guaranteed to be the right one on your path dd3face
@sixolet sixolet dollar sign a738b6b
@sixolet sixolet Synchronously get the dev bundle if it is not there e19b121
@sixolet sixolet Remove console.log on report again 79132b4
@sixolet sixolet Running tests from the command line works again bee0aaf
@glasser glasser Support test-packages --production. eeab9aa
@sixolet sixolet Fixing run script to know about its directory 93b81a8
@sixolet sixolet rename test-in-phantom test-in-console c33a442
@sixolet sixolet actually change the references c520377
Chris Mather Fixes #850. Publish this.changed unset a field that doesn't exist.
This used to throw an error "Could not find field to clear". Now it
@sixolet sixolet Merge branch 'test-in-phantom' into devel 06b3e22
Chris Mather Merge branch 'devel' of into devel a1e7344
@glasser glasser change noMinify bundler option to minify 9fbe8e1
@glasser glasser Revert addition of Meteor.release to skel. ac378fc
Chris Mather Fixes #822. Deps.flush hides Error.message.
Prints e.message if e.stack undefined.
@glasser glasser Make _renameAlmostAtomically slightly more atomic.
This removes an existence check before a rename, and just tries the rename and
sees if it succeeds.
@glasser glasser support github tarballs as dependencies d714d1f
@glasser glasser don't watch warehouse "tools" files for reload aad4b37
@glasser glasser make build-tools-tree more set-e/u db20379
@sixolet sixolet Clean up test-in-console output 3aa9e1a
@n1mmy n1mmy Disable the native parser by default.
This was the behavior pre-0.5.8, and prevents some errors from becoming segfaults.
@dgreensp dgreensp small comment clarifications cfacac8
@dgreensp dgreensp dep.depend() instead of Deps.depend(dep)
simpler than having Deps.depend and addDependent, reads fine
@dgreensp dgreensp fix whitespace c61b796
@dgreensp dgreensp docs wording 0fe094f
@dgreensp dgreensp Deps.depend past-compat 1a6686a
@dgreensp dgreensp more whitespace issues 440ca35
@dgreensp dgreensp Merge branch 'deps-radical' into devel 243e088
@dgreensp dgreensp Deps 9d9160f
@glasser glasser don't shrinkwrap-install things that we're about to (un/re)-install 37e518c
@glasser glasser use alpha1 in run-tools-tests 425278a
@glasser glasser Make directories in the warehouse contain read-only files. 664b98b
@glasser glasser Skip slow npm-update step for warehouse packages, which should be wri…
@glasser glasser "meteor run" exits on concurrent "meteor update" that would affect it e070bf2
@glasser glasser Add a friendly comment to the top of launch-meteor. eb72c0e
@glasser glasser Some updates to shrinkwrap files that I didn't commit before because …
…I had a

corrupted repo from some unfinished code.
@glasser glasser Update package NPM modules at most once per bundler run. c489d44
Chris Mather Add Chris to list of names in docs introduction. 065ca60
@glasser glasser Stop building bootstrap tarballs at release time.
Going to build them at bless time instead.
@dgreensp dgreensp Don't rerun computations that throw in first run
This change prevents Spark from rerunning isolates that errored during initial rendering, and it seems like the right thing in general.
@glasser glasser Make --version/checkout logic more reasonable. bef03af

Is this different from

try {
} catch (e) {
  throw e;
} finally {
  self.firstRun = false;

? (Not that there's anything wrong or unclear about your version, just curious if I'm missing something.)

Avoiding a catch and rethrow may increase the likelihood of getting the right stack trace (the original one) across browsers. In old IE (6 or 7 I think), a simple try/finally would cause the original stack trace to be lost. Chrome had a bug in the last couple years where a rethrown exception would have the correct e.stack but show up with the wrong trace in the console if uncaught: . (Old IE doesn't have e.stack, but it shows the line number if the error is uncaught.)

So it's partly superstitious, but basically I try not to catch and rethrow the same exception if possible.


Wacky! Glad I asked.

estark37 and others added some commits Mar 22, 2013
@estark37 estark37 Add tests for issue #770 357d35d
@estark37 estark37 Fix #770.
Add optional else case to {{#with}}.
@glasser glasser Merge branch 'pr/866' into devel 9dcedac
@glasser glasser update for PR 866. f05064a
@glasser glasser publish-release now lets you specify the git rev to publish (from jen…

and the release name.
mquandalle Possibility to register multiple extensions such as '' Add …
…the new registered_file_extension function Solve issue #830
mquandalle 2 new functions : files.findExtension and files.extname 1ef7e77
@n1mmy n1mmy Stylistic cleanups and finding on other place that needs findExtension c905c7b
@n1mmy n1mmy Merge branch 'pr-857' into devel c299785
@n1mmy n1mmy note for #857. 485d963
@n1mmy n1mmy Comment on API mismatch between with-dot and without. 9f397fb
@Primigenus Primigenus Fixes #848. Remove spurious 'cursors' from api docs. d9667c9
@glasser glasser credit for PR 866. 6af1185
@glasser glasser Overhaul release blessing process.
Blessing is now the time that bootstrap tarballs are created.

There's a banner that goes into the global manifest (stored in

The global manifest.json is now entirely generated: there's no record of the
current version stored in git.

Have not yet updated launch-meteor or or the fake release
for this brave new bootstrap world, or
@glasser glasser Slight improvements to launch-meteor. 9a38eb2
@glasser glasser manage git tags in publish/bless-release 18a0e0a
@glasser glasser In launch-meteor, print all messages to standard error.
That way (eg) `meteor --version` prints to stdout the version even if there's
some bootstrapping required.
@glasser glasser fix release blessing c05b0dd
@glasser glasser New script. 8ebcca8
@glasser glasser move upgrade-to-engine stuff into a subdir.
i *think* this stuff should currently work with the new bootstrappy but have not
tested. certainly, the text is bad.
@awwx awwx spelling fix in test-packages help 661484f
@awwx awwx test that CoffeeScript can set global vars using this b1a27cd
@awwx awwx Remove unneeded code to pass "this" to top-level code.
Reverts commit c1f2379, as @glasser
discovered it isn't needed and so is an unnecessary complication.

Add a space after the leading "(function(){", to make generated code
easier to read.
@awwx awwx add documentation for setting global vars in CoffeeScript e0d6c7d
@glasser glasser Wrap new doc section, link to `global` in the Node API, and mention @. 2790b90
@glasser glasser Merge branch 'pr/869' into devel d2b7b63
@dgreensp dgreensp Fix error on Meteor.loginWithGoogle() with no args 2601075
@n1mmy n1mmy Workaround issue with new node and old connect. Fixes #852
New node (0.8.21+) throws an error when path.join is passed null. Connect 1.9.2's static.send (used by gzippo) does this if you don't pass a 'root' option. Passing root: '/' works around this, but we should consider fixing the underlying issue, possibly by upgrading connect.
@n1mmy n1mmy Add explicit safety check for non-object modifiers passed to update. 2dcef81
@dgreensp dgreensp demo of login and private data 2c8f7d5
@dgreensp dgreensp more readme d90f422
@dgreensp dgreensp log errors from login (eg not configured) f7dbbca
@svasva svasva Add social net support for spiderable 321b2a5
@svasva svasva closed this Mar 26, 2013
svasva commented Mar 26, 2013

oh, forked wrong branch. please ignore this.

@svasva svasva deleted the svasva:patch-1 branch Mar 26, 2013

Why are we hard coding in UTF8?


Why is this commit so large?

There are a lot of whitespace changes, you can disable whitespaces in the diff viewer with ?w=1


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment