Commit Graph

16765 Commits

Author SHA1 Message Date
Ben Newman
76fdf0975c Restart server when package.json or .babelrc files change. 2016-05-20 12:59:09 -04:00
Ben Newman
c19f4ead0d Implement inputFile.readAndWatchFile.
This only works for files contained within the source root of the current
app or package.
2016-05-20 12:59:08 -04:00
Ben Newman
49a60f155b Support .babelrc presets and plugins.
In addition to package.json files with "babel" sections, BabelCompiler now
supports .babelrc files, though in both cases only the "presets" and
"plugins" fields are respected. If a .babelrc file is found, package.json
files are ignored.

Additional presets and plugins are now *prepended* to the original
babelOptions.{presets,plugins} lists, so that the custom plugins have a
chance to handle syntax differently than babel-preset-meteor would.

The inputFile.getPackageJson method has been replaced by a more general
method, inputFile.findControlFile.

Fixes #6351.
2016-05-20 12:59:08 -04:00
Ben Newman
fd0275f540 More tolerant path comparison in inputFile.require. 2016-05-20 12:59:07 -04:00
David Glasser
f1cc6dacc4 galaxy discovery tweaks
- Use deploy-specific CNAME by default
- Don't print deploy URL twice for authedRpc.
2016-05-20 12:59:07 -04:00
Ben Newman
53c4d8174f Bump $BUNDLE_VERSION to 0.6.7 before rebuilding dev bundle. 2016-05-19 18:35:05 -04:00
Ben Newman
303df5351d Merge branch 'devel' into release-1.3.3 2016-05-19 18:34:20 -04:00
Ben Newman
06cf88520e Bump $BUNDLE_VERSION to 0.6.6 before rebuilding dev bundle. 2016-05-19 17:48:39 -04:00
Ben Newman
7c208b355b Continue using Babel's CommonJS modules compiler for packages.
Switching immediately to module.import and module.export for package code
would make it difficult for package authors to use Meteor 1.3.3 to publish
packages that still work in apps using older versions of Meteor. There's
nothing wrong with compiling import/export statements to module.import and
module.export in application code, however, because apps only need to work
with one version of Meteor.
2016-05-19 17:48:39 -04:00
Ben Newman
9fa732d588 Upgrade meteor-babel to v0.10.2.
Among other general improvements, the installed node_modules directory has
been reduced in size from 500MB+ to 30MB.
2016-05-19 17:04:10 -04:00
Ben Newman
70f9dee8f1 Make require.resolve work for built-in modules on the server. 2016-05-19 17:04:09 -04:00
Ben Newman
218a4432b1 Support module.import(id, setters) and module.export(id, getters). 2016-05-19 17:04:09 -04:00
Ben Newman
e6951f18c4 Teach findImportedModuleIdentifiers about module.import(id, setters). 2016-05-19 17:04:09 -04:00
Ben Newman
5aee7a9a09 Use an appropriate module object in meteor shell. 2016-05-19 17:04:08 -04:00
Ben Newman
e95dfe410e Make sure dev_bundle/lib/node_modules/.bin is left intact.
If you run `meteor npm install` in bundle/programs/server, this change
means dev_bundle/lib/node_modules/.bin/node-pre-gyp will be available to
packages that need to rebuild binary dependencies, to pick just one
important example.
2016-05-19 17:04:08 -04:00
Ben Newman
6aec3603c8 Separate install-runtime.js from install-babel.js. 2016-05-19 17:04:08 -04:00
Ben Newman
1ef013f6ad Use regenerator-runtime in modules test app.
Apparently regenerator/runtime is now deprecated. I say "apparently," but
of course is my own doing.
2016-05-19 17:04:07 -04:00
Tom Coleman
531e0b7af7 Merge pull request #7086 from abernix/fix-history-match-optional
Fix incorrect History entry about Match.Maybe and Match.Optional
2016-05-19 13:57:59 -07:00
Jesse Rosenberger
026e063dcb Fix incorrect History entry about Match.Maybe and Match.Optional
The log entry about `Match.*` bugs in 1.3.2 is actually opposite of what was changed.  This clarifies it and adds an entry for the original addition of `Match.Maybe` to the 1.3 log.

Fixes #7083
2016-05-19 21:28:48 +03:00
Tom Coleman
a600fa57bd Merge pull request #7036 from meteor/speed-up-selftest
Speed up selftest
2016-05-19 11:17:00 -07:00
Tom Coleman
de262b70ce Update History.md 2016-05-19 11:02:39 -07:00
Tom Coleman
2c23780657 Merge pull request #6916 from AlexanderS/fix/email/date-header
Insert default date header into emails
2016-05-19 11:01:52 -07:00
Tom Coleman
4065990130 Fixed issue with not using builder properly 2016-05-19 09:25:54 -07:00
Tom Coleman
1000af63d3 Update History.md 2016-05-19 08:06:47 -07:00
Tom Coleman
326c1b086e Merge pull request #7080 from meteor/merge-4235
Merge 4235
2016-05-19 08:06:02 -07:00
Ben Newman
3ff519a94f Bump $BUNDLE_VERSION to 0.6.5 before rebuilding dev bundle. 2016-05-18 21:14:42 -04:00
Ben Newman
84b2a79b32 Upgrade meteor-babel to v0.10.0. 2016-05-18 21:14:04 -04:00
Tom Coleman
bb551b3192 Return a correct matching object from matchingDocument in the $eq case
For #4235. The previous version worked for most simple cases but was not actually correct. The idea is this function returns a "prototypical" document that can be tested by the oplog query -- this was returning `true` which tended to match but wasn't actually right.
2016-05-18 16:47:39 -07:00
Tom Coleman
0dd8e5d8ac Merge branch 'eq-operator' of https://github.com/ryneeverett/meteor into merge-4235 2016-05-18 16:41:47 -07:00
Tom Coleman
59d61cd44e Fix collection creation tests to pass when they re-run
cc @aldeed -- using test.id when you need a unique thing is the way to go.
2016-05-18 16:39:17 -07:00
Ben Newman
7c63a8e704 Allow custom Babel presets and plugins via package.json.
When the babel-compiler package is processing files, it will now read
their package.json files looking for a "babel" section with "presets" or
"plugins" fields. If found, these presets or plugins will be appended to
the existing babelOptions.presets or babelOptions.plugins arrays.

Note that no other Babel options are currently supported, and the
"babel-preset-meteor" preset cannot be removed, though additional presets
and/or plugins can be added to it. This is by design: Meteor cannot
support your configuration it uses babel-preset-meteor, at least.

The preset and/or plugin modules listed in package.json must be installed
locally somewhere such that the given file can import them. If they are
top-level identifiers, they will be prefixed with "babel-plugin-" or
"babel-preset-", the same as Babel does it. Otherwise they will be
required as-is, so that you can implement your own Babel plugins locally,
rather than always using plugins installed from npm.

See the included tests for a concrete example.

Fixes #6351.
2016-05-18 16:37:38 -04:00
Ben Newman
b16e8d5019 Implement inputFile.{getPackageJson,resolve,require} for use by plugins.
These changes allow Package.registerCompiler-style compiler plugins to
extract package.json and npm package information at compile time from the
files that the plugin processes.

This information was accessible before, but it certainly wasn't easy to
obtain it. These convenience methods should satisfy the motivation behind
2016-05-18 16:37:37 -04:00
Ben Newman
3f9b8c2566 Watch package.json files in addition to package.js files. 2016-05-18 16:37:36 -04:00
Ben Newman
650fd81521 Add profiling for meteorNpm.{runNpmCommand,rebuildIfNonPortable}. 2016-05-18 15:17:51 -04:00
Ben Newman
93d8281f48 Implement Console.setHeadless instead of Console.{enable,disable}Spinner. 2016-05-17 19:53:12 -04:00
Sashko Stubailo
65957b1713 Make setDefault compatible with object type argument (#7021) 2016-05-17 16:00:42 -07:00
Tom Coleman
04ff1aa115 Update History.md 2016-05-17 15:46:45 -07:00
Tom Coleman
3546da6105 Merge pull request #7066 from gsuess/devel
Minimongo: Allow `_id` in `$setOnInsert`.
2016-05-17 18:46:07 -04:00
Zoltan Olah
ccaba1e690 Merge branch 'laosb-warehouse-urlbase-override' into devel 2016-05-17 15:13:52 -07:00
Zoltan Olah
971db8870a Updates History.md for PR #5778 2016-05-17 15:09:31 -07:00
Zoltan Olah
73b0564395 Merge pull request #5778 from aldeed/disable-mutation-methods
Allow new Mongo.Collection to be called multiple times for the same collection name
2016-05-17 15:05:15 -07:00
Ben Newman
05dfe24438 Avoid test timeouts by printing keepalive message every 5min.
Even though @abernix set the circle.yml timeout to 1200 seconds, I'm still
seeing tests occasionally time out. This commit should prevent timeouts by
printing a "[ProgressDisplayFull keepalive]" message every five minutes,
if nothing else has been printed in the meantime.

Related: https://github.com/meteor/meteor/pull/7063
2016-05-17 14:41:17 -04:00
Ben Newman
f6b75305b3 Pay attention to unibuild.arch when determining usesModules.
Fixes #6877.
2016-05-17 14:27:56 -04:00
Ben Newman
8253e5862d Fix linter unibuild.arch matching.
Fixes #6843.
2016-05-17 13:05:15 -04:00
Ben Newman
d6a4bd4f7f Bump $BUNDLE_VERSION to 0.6.4 before rebuilding dev bundle. 2016-05-17 11:50:49 -04:00
Ben Newman
6e1346a74b Remove phantomjs-prebuilt from the dev bundle.
Saves 50MB from the extracted size of the dev_bundle/lib/node_modules
directory, previously 262MB. The entire dev bundle is 332MB extracted, for
perspective.

More importantly, since the `phantomjs` binary is not very compressible,
this change reduces the *compressed* size of the dev bundle from 71MB to
54MB, a 24% savings.

Closes #6905.
2016-05-17 11:50:48 -04:00
Eric Dobbertin
2ddf14575a Allow new Mongo.Collection to be called multiple times for the same collection name
- No error is thrown when constructing a Mongo.Collection twice for the same name if _suppressSameNameError option is true
- If mutation methods were already created for a named collection, we skip them and do not throw an error
- Mongo.Collection constructor takes a new option, defineMutationMethods, which can be set to false to skip creating the default mutation methods
- _defineMutationMethods function performance is slightly improved by returning earlier if there is no need to loop through method types
2016-05-17 09:59:41 -05:00
Wexpo Lyu
376df0d285 Update History.md 2016-05-17 17:01:58 +08:00
Ben Newman
aadb252b93 Clearly mark empty stub CSS modules so that they can be overridden.
Fixes #6881.
2016-05-16 22:13:24 -04:00
Ben Newman
7574f74481 Avoid copying devDependencies from local node_modules directories.
Fixes #6750.
2016-05-16 20:49:02 -04:00