Commit Graph

55 Commits

Author SHA1 Message Date
Seba Kerckhof
8b43e385e0 Add upgrader to add jquery dependency for blaze-users. (#10801) 2019-12-18 13:45:38 -05:00
Ben Newman
5ed64fb1db Remove explicit .js extension from tools/fs/files imports. 2019-07-04 10:32:09 -04:00
Jan Dvorak
ae397a3632 Fix #10428 facebook permissions (#10429)
* Fix #10428 facebook permissions 🛂

* Add missing semicolon in tools/upgraders.js
2019-03-15 11:08:01 -04:00
Ben Newman
76e03f51f3 Update remaining mentions of Meteor 1.6.2 to 1.7. 2018-04-25 10:09:51 -04:00
James Burgess
4ebf089d88 Remove underscore from meteor-base (#9596)
This should shave down bundle sizes by 14.4 kb for many non-blaze projects.

The other core meteor packages have not depended on `underscore` since #9362. However, we are only able to remove this last dependency now due to the previous commit, which eliminated usages of `underscore` from apps that did not have the package listed in their `packages` files. This was causing CI test failures that now should be corrected.

Any meteor apps currently using `_` without `underscore` listed in their `packages` file will need to add the package explicitly.

Version number of `meteor-base` bumped from 1.3.0 to 1.4.0.

There are only a few uses of `underscore` in these apps, and two of them actually used `underscore` without having it explicitly listed in their `packages` file.

This is a problem, because the apps were relying on the dependency from `meteor-base`, which we want to remove to cut down bundle sizes.

For the `modules` test app, I've added `underscore` to the `packages` file, because it is using `_` in an assertion about the module system. For the other app and all other uses of `_`, rather than add `underscore` to the `packages` files, I took the modernization route and replaced the functions with their ES6 equivalents, and then removed `underscore` from all `packages` files.
2018-03-07 11:23:52 -05:00
Jesse Rosenberger
5e4ee8dc36 Only import necessary functions from cordova, not *.
The rest of the module is not necessary.
2017-11-17 20:17:21 +02:00
Ben Newman
c8f77a57b9 Automatically add dynamic-import package when updating to Meteor 1.5. 2017-02-10 18:05:45 -05:00
Jesse Rosenberger
f4d677fbc8 Add an upgrader which modifies accounts-* packages automatically.
The transformations to be made here are:
   * Existence of `accounts-<service>` **adds** `<service>-config-ui`
   * Existence of `<service>` **changes to** `<service>-oauth`
 https://github.com/meteor/meteor/issues/7715#issuecomment-276529351

 Relates to:

  * facebook: https://github.com/meteor/meteor/pull/7728
  * github: https://github.com/meteor/meteor/pull/8303
  * google: https://github.com/meteor/meteor/pull/8275
  * meetup: https://github.com/meteor/meteor/pull/8231
  * meteor-developer: https://github.com/meteor/meteor/pull/8305
  * twitter: https://github.com/meteor/meteor/pull/8283
  * weibo: https://github.com/meteor/meteor/pull/8302
2017-02-10 17:34:28 +02:00
Ben Newman
3c7f83778f Move server-side component of meteor shell into a package. (#7624)
This will make it much easier to fix bugs and make improvements going
forward, since they won't have to wait for the next release of Meteor.

One functional change: when the parent process exits, it no longer forces
all connected shell clients to disconnect, which is actually a more
convenient behavior, because it gives the clients a chance to reconnect
when/if the server starts up again, and it's easy enough to kill the
clients if that's what you want.
2016-08-11 09:11:40 -04:00
Ben Newman
c946e77d64 Use .meteor/local/dev_bundle instead of .meteor/dev_bundle.
I'm deliberately leaving in the code to ensure .meteor/.gitignore contains
dev_bundle for now, so that the old file won't get accidentally checked
into anyone's app repository.
2016-07-14 10:12:47 -04:00
Martijn Walraven
169cdeac7d Fix undefined variable in 1.3.0-split-minifiers-package upgrader 2016-02-18 14:24:18 +01:00
SEKE
d4da2957a9 Rename separated minifiers to singular name and use separate versions from 1.3 onwards. 2016-02-10 12:32:17 +01:00
Sashko Stubailo
6fc2160d8e Make notice link to wiki page on breaking changes 2015-09-21 15:18:39 -04:00
Martijn Walraven
9952552b34 Fix bug in upgrader when there is no cordova-plugins file 2015-09-03 16:22:09 +02:00
Martijn Walraven
97b517025c Convert tarball URLs in cordova-plugins in upgrader
Although we convert tarball URLs when building, and we still need to do
this for plugins added through packages, seeing the old URLs in `meteor
list` may confuse people. So we now attempt to convert them as part of
upgrading, together with the plugin ID changes. This also gives us the
opportunity to warn people right away if they’ve been using non-GitHub
tarball URLs.
2015-09-02 16:30:32 +02:00
Martijn Walraven
3a1eaca782 Use Console.info to print notice header to make sure we're hiding the progress display 2015-09-02 16:30:32 +02:00
Martijn Walraven
9fbde12ea9 Avoid creating an empty cordova-plugins file when upgrading 2015-08-27 14:35:26 +02:00
Martijn Walraven
83c64a4a65 Fix upgrader and print more information about Cordova changes 2015-08-26 19:26:56 +02:00
Martijn Walraven
7d2cb49b65 Rename installationInstructionsURLForPlatform to installationInstructionsUrlForPlatform 2015-08-26 19:26:56 +02:00
Martijn Walraven
14d301f8ab Add comments and apply better naming to clarify plugins code
In particular, clearly differentiate between plugins (an array of
plugin IDs) and pluginVersions (an object of with id -> version
properties).
2015-08-26 19:26:56 +02:00
Martijn Walraven
2109bedb85 Add conversion to new Cordova plugin IDs
Cordova plugin IDs have changed as part of moving to npm. We convert
old plugin IDs to new IDs in the 1.2.0-cordova-changes upgrader, when
adding plugins, and when preparing for build.
2015-08-26 19:26:55 +02:00
Martijn Walraven
ae5c9670ad Add upgrader for the Cordova changes in 1.2 2015-08-26 19:26:55 +02:00
David Greenspan
92b3d3b1c4 Fix standard-minifiers-package upgrader
`projectConstraintsFile.addConstraints(['foo'])` is wrong because 'foo'
is supposed to be a constraint object, not a string.  However, it would
quietly add a blank line to .meteor/packages!  Now we detect this
mistake, and we also provide addPackages(['foo']).
2015-08-13 14:08:47 -07:00
Slava Kim
39d8aef3d9 move files into console/ tool-testing/ 2015-08-06 16:39:00 -07:00
Sashko Stubailo
3cfb718a91 Split meteor-platform into smaller umbrella packages
Discussion/plan here: https://github.com/meteor/meteor/pull/4851

`meteor-platform will no longer be a part of future Meteor releases. Apps
`upgraded to Meteor 1.2 will be automatically updated to use the packages listed
`above instead of meteor-platform. (Along with a set of packages like EJSON and
`Random that used to be in meteor platform but probably shouldn’t have been)

After this project, here is the set of packages that will be included by default
in a newly created Meteor app:

1. `meteor-base` is the set of packages that basically every single Meteor app will have. If you don’t have these packages, you are probably doing something that isn’t really supported, like building a command line tool or switching out the whole web server stack. It comes with the following packages:
    1. `meteor` - this includes stuff like `Meteor.isClient`, a default handler for `css` files, etc.
    2. `webapp` - this is responsible for handling actual HTTP connections, Websockets, and serving files
    3. `underscore` - almost all of Meteor is built on top of underscore, so it makes sense to let people assume that most or all Meteor apps right now will have this included
    4. `autoupdate` - refreshing the client is a core part of the Meteor development experience, and it’s integrated into several layers of the stack
    5. `ddp` - lots of core parts of Meteor assume that DDP can be used to communicate between client and server
2. `standard-minifiers` minifies your JS and CSS code in production
3. `ecmascript` allows you to write your app using new ES2015 JavaScript features
4. `es5-shim` polyfills some newer APIs in old and non-compliant browsers, in particular IE8
5. `mobile-experience` is a set of cordova-specific packages that set some good defaults when building for mobile. These packages only activate when you are building a native Android or iOS app.
    1. `fastclick` - avoid the 300ms touch delay
    2. `mobile-status-bar` - avoid the status bar information covering up your app content
    3. `launch-screen` - cover the app with a launch image so that people don’t have to see things loading
6. `mongo` is the package that enables Meteor to connect to MongoDB on the server and watch queries in real-time. It also includes Minimongo for the client so that you can publish Mongo documents over DDP. This package will be removable in case you want to use one of the community-supported drivers for alternate databases, and for the desirable future where Meteor supports other databases officially.
7. `blaze-html-templates` compiles your `html` files with Spacebars and includes the Blaze runtime on the client so that the templates can run. If you remove this, you might want to include a different view layer like `react`, or `angular`, and use a package for rendering the starter HTML like `static-html` (also coming out in Meteor 1.2)
8. `tracker` the package that powers a lot of Meteor’s reactive APIs on the client. Including it in the app allows you to use `Tracker.autorun` directly.
9. `session` a simple global reactive dictionary for the client.
10. `jquery` a convenient utility library for the client.
11. `insecure` a prototyping package that lets you make any database modifications from the client.
12. `autopublish` a prototyping package that lets you access the whole database (except sensitive user data) from the client.
2015-08-04 10:15:04 -07:00
Slava Kim
6b1bb038d8 Move files into tools/fs 2015-08-03 22:09:28 -07:00
David Glasser
bdf1968ceb Change less heuristic back to default-process
In addition to the old `*.lessimport` and `*.import.less` mechanisms for
telling the `less` package that a file isn't a root, you can also put it
in an `import` subdirectory or pass `{isImport: true}` to
`api.addFiles`. We no longer will need to rename every less file when we
upgrade.

Next commit will revert the changes to examples and docs.
2015-07-16 00:29:19 -07:00
David Glasser
5a17a2064b Mostly tweak comments
Replace "XXX BBP" with more specific #BBPFoo
2015-07-15 13:33:51 -07:00
Slava Kim
77fd7d7daf Add an upgrader that adds standard-minifiers package to the app 2015-06-22 20:24:41 -07:00
David Glasser
ab9ef40d25 Upgrader for Facebook API change. 2015-03-23 12:02:24 -07:00
Sashko Stubailo
a29f74874a Make console ok inside upgraders 2015-02-13 20:35:43 -08:00
Sashko Stubailo
e7167e5257 Factor out almost all fs. and path. calls in the tool
This will be useful when we want to be smart with windows file paths later
Also, all of the file calls are asynchronous with fibers now, which comes with
many benefits.

This is a combination of 23 commits. Original messages:
Wrap a large number of fs calls inside files.*

Convert a few more fs calls to files.*

More moving fs.* to files

Implement read/write streams and open/read/close

Get rid of fs from auth.js

Remove fs and unused imports from catalog-local and catalog-remote

Remove unused imports from catalog.js

Replace a whole lot of fs calls

Fix error

Migrate a lot more fs. calls to files.

Add a temporary symlink method

Convert old test to files.*

Use files.pathX instead of path.x everywhere

Replace path.x to files.pathX in tests

Small fixes to files.js and one rename

Make cleanup run in a fiber

Make wrapping functions take function name in case we need it

Add some timeouts and stuff to HCP tests

wrapFsFunc also makes a sync version of the function

Sometimes you just don't want to yield!

Make sure JsImage readFromDisk doesn't yield

Remove unused imports from npm test

Change order of test now that some things don't yield

Fix missing files import, and add a debug error printout
2014-12-15 15:32:06 -08:00
David Glasser
e88f588cfc Fix updating releases (not package update though)
Move run-upgrader command under 'admin'
2014-11-25 09:06:23 -08:00
David Glasser
45cc54fb63 comment and require cleanup 2014-11-25 09:06:20 -08:00
David Glasser
2410cec49d preserve spaces and comments from .meteor/packages 2014-11-25 09:06:20 -08:00
David Glasser
055575a80c Support .meteor/cordova-plugins 2014-11-25 09:06:17 -08:00
Avital Oliver
85eebd807d Notice for 0.9.1 now looks like the one for 0.9.0 2014-10-20 15:14:41 -07:00
Sashko Stubailo
4d8e54fe4f Small fixes 2014-09-30 19:25:35 -07:00
Sashko Stubailo
2368138e3b Fix upgrader after running it a few times 2014-09-30 19:16:10 -07:00
Sashko Stubailo
8beecd4238 First pass at an upgrader 2014-09-30 18:57:35 -07:00
Emily Stark
23b8e178ff Remove a word from 0.9.1 upgrader 2014-09-04 11:39:31 -07:00
Emily Stark
569431841e Add Blaze upgrader for 0.9.1 2014-09-04 11:34:44 -07:00
David Glasser
0562466ad4 Rename upgraders file to .finished-upgraders
The idea is that dotfiles in .meteor (like .id and .finished-upgraders)
aren't intended to be human-editable, whereas packages, release,
and versions are (although there are commands to edit them too).
2014-08-25 21:21:43 -07:00
David Glasser
2ee41fda74 Projects should start with all known upgraders 2014-08-25 17:38:27 -07:00
David Glasser
581832d967 Update notices 2014-08-25 15:48:58 -07:00
David Glasser
106bde8163 First draft of banners and upgraders.
old-banner needs to be manually copied into manifest.json
2014-08-25 14:00:04 -07:00
David Glasser
231f74bbb6 something more like a real notice 2014-08-25 12:05:30 -07:00
David Glasser
2e5adc2659 fix autoupdate test
also fixes a bunch of other stuff like:

- parseStack markTop works again (so you get the right line numbers in
  self-test)

- you can (with appropriate env var) run apps with NO PACKAGES at
  all (even ctl)

- more consistently refer to METEOR-CORE@ releases as "Meteor 1.2.3"
2014-06-17 14:26:29 -07:00
David Glasser
a1b3014e36 Implement upgraders and notices
They are the same!
2014-06-10 18:08:50 -07:00
ekatek
9e04e2dc35 unified versions wip two 2014-05-23 14:07:48 -07:00