Commit Graph

597 Commits

Author SHA1 Message Date
David Glasser
21bdac8734 Merge branch 'master' into devel
Conflicts:
	History.md
	packages/accounts-password/package.js
	packages/accounts-password/password_server.js
	packages/constraint-solver/package.js
	packages/meteor-tool/package.js
	packages/non-core/npm-bcrypt/package.js
	packages/package-version-parser/package-version-parser-tests.js
	packages/package-version-parser/package-version-parser.js
	packages/package-version-parser/package.js
	tools/selftest.js
2015-03-17 13:41:14 -07:00
David Glasser
8409919bb6 actually fail on package creation error 2015-03-17 12:14:16 -07:00
Sashko Stubailo
efdfe62331 Validate number of colons in package name on create
Instead of in the general package version parser
2015-03-17 10:56:33 -07:00
Slava Kim
171e10a87f Create ssh files in a temp dir assigned by files.js
and not in /tmp
2015-03-12 22:59:28 -07:00
Slava Kim
6dede19a60 Clear screen before dropping into a Windows ssh 2015-03-12 22:46:58 -07:00
Sashko Stubailo
c6ea68f9b3 Make meteor create --package not use prefix
It used to create a directory with an underscore instead of a colon
Now, it just removes the prefix.

In cases where the name of the package has more than one colon or starts or ends
witha colon, we report an error.
2015-03-12 17:57:27 -07:00
David Greenspan
3d64b13555 Give more commands "--allow-incompatible-change"
build, deploy, --prepare-app, and --get-ready for now.

Make the error message more generic (not mention which commands
support the flag, because it will be basically "all" of them). Also
replace "breaking" with "potentially incompatible" as discussed with
Matt a while back.
2015-03-10 03:50:41 -07:00
David Greenspan
e7702f284e Change --breaking to --allow-incompatible-update 2015-03-10 01:37:58 -07:00
David Greenspan
a5c08b57de Remove all required: false in tool commands
As glasser mentioned in code review, it's totally unnecessary
2015-03-05 11:53:46 -08:00
David Greenspan
f34e06e69c Change name of --breaking
Put in our improved name and usage docs
2015-03-05 11:43:31 -08:00
David Greenspan
050fae168f Merge remote-tracking branch 'origin/devel' into use-logic-solver 2015-03-02 19:17:40 -08:00
Slava Kim
cbff527131 Add a spinner option to the admin progressbar-test command 2015-03-02 16:01:31 -08:00
Slava Kim
4af325b222 Add a dummy progress-bar test command for testing 2015-03-02 15:12:21 -08:00
Josh Owens
cc93674277 Set testing to automatically be run once. 2015-02-24 21:50:05 -08:00
David Greenspan
aa645f86a7 Implement --breaking flag
--breaking:
Allow packages in your project to be upgraded or downgraded
to versions that are not semver-compatible with the current
versions, if required to resolve package version conflicts.

Fix behavior so that packages you're updating count too.
2015-02-09 17:12:24 -08:00
Ben Newman
4ad860ca47 Move tools/shell/server.js to tools/server/shell-server.js.
Since this file ends up getting copied into the server bundle, along with
files like boot.js, it makes sense to keep it with those files.

Renamed tools/shell/client.js to tools/shell-client.js for symmetry.
2015-02-09 11:42:49 -05:00
Ben Newman
19080bd53d Split server/shell.js into shell/server.js and shell/client.js.
Note that shell/server.js is copied into the bundle as shell-server.js,
like before, however now it contains none of the extraneous code that
belongs in shell/client.js.

The original reason server and client code were combined in a single file
was to share helper functions and configuration variables (e.g.
getInfoFile and EXITING_MESSAGE). Now, shell/client.js requires
shell/server.js to access those shared exports.
2015-02-06 14:33:19 -05:00
Sashko Stubailo
3cd883bda4 Merge branch 'windows-r' into devel
Conflicts:
	meteor
	tools/tropohouse.js
2015-02-05 20:28:09 -08:00
Slava Kim
599f6b4f37 Convert __dirname 2015-02-05 17:02:19 -08:00
Slava Kim
cbac505a12 Move the mobile check on Windows earlier: before the ip/port parsing 2015-02-05 15:19:53 -08:00
Slava Kim
d3bf1c2cac Improve failing on Cordova on Windows 2015-02-05 01:27:30 -08:00
Slava Kim
d4e90d5008 Don't try to build mobile things on Windows 2015-02-05 01:27:30 -08:00
Ben Newman
5b6f4de2f4 Enforce that meteor shell is run from an app directory. 2015-02-04 19:39:41 -05:00
Sashko Stubailo
b3cb7a49f7 Merge branch 'devel' into windows-cr
Conflicts:
	packages/application-configuration/package.js
	packages/ctl-helper/package.js
	packages/ctl/package.js
	packages/dev-bundle-fetcher/package.js
	packages/follower-livedata/package.js
	packages/jquery/package.js
	packages/star-translate/package.js
	packages/test-in-browser/package.js
	tools/bundler.js
	tools/compiler.js
	tools/package-client.js
	tools/package-source.js
	tools/package-version-parser.js
	tools/server/boot.js
2015-02-04 13:56:54 -08:00
Sashko Stubailo
1bd73d2cb3 Print a better message on package creation 2015-02-04 13:07:57 -08:00
David Greenspan
45752e3203 parseConstraint -> parsePackageConstraint
In the return value, `name` has been changed to `package`,
and `vConstraint` is now `versionConstraint`.

`constraint.package` is better than `constraint.name`, where
`constraint` is a PackageConstraint.  It's also more consistent
with functions like parsePackageAtVersion which return an object
like `{package, version}`.

`vConstraint` was too cryptic.

Changes were discussed with Glasser in a code review.

Troposphere does not call parseConstraint or work with constraint
objects, so it doesn't need to change.

This is a breaking change to the package-version-parser API (or one
method of it, at least), but it is considered an internal API so we
are not worrying too much about it.
2015-02-02 13:13:31 -08:00
David Glasser
df37fe5a9d Remove legacy login support
This includes `meteor login --galaxy`.

We still should be capable of cleaning up legacy tokens when we find
them.
2015-01-29 14:03:11 -08:00
David Glasser
5cc93cea1a Remove legacy support from deploy-style commands
This includes removing the options `deploy --star`, `deploy --admin`,
and `logs -f`
2015-01-29 14:03:11 -08:00
David Glasser
0e0dfed6a8 Remove "control program" support
This was support code for a now unused system.
2015-01-29 14:03:10 -08:00
David Glasser
074087be8a meteor login --email was supposed to be boolean!
See #3532.

We honestly should probably just drop the option and allow you to type
either a username or a password, just like in accounts-ui.

Because options have to be consistently bool or not across commands (so
that you can put them before the command name), change the testing-only
dummy command's string option to a different nonsense name.
2015-01-27 14:17:41 -08:00
David Glasser
3d5e81bf23 Test the right packages with --test-app-path
Usually the project used for test-packages is a brand-new temporary
project. But you can also use --test-app-path, either for performance
reasons (to share the .meteor/local/isopacks cache between executions)
or because Cordova has issues with /tmp.  Previous to this change,
though, test-packages would leave packages in .meteor/packages from a
previous execution, even if they were packages that we are no longer
testing.

Fixes #3446.
2015-01-26 14:57:42 -08:00
Sashko Stubailo
3059961704 Make meteor shell work on Windows
We just need to convert paths before passing them to shell.js
2015-01-22 12:31:44 -08:00
Sashko Stubailo
a7eeda6be3 Rename metadata-colon-converter and remove adaptLegacyPath 2015-01-21 14:04:09 -08:00
Sashko Stubailo
ffe1353c55 Remove os.windows.x86_64 from list of valid archs 2015-01-21 14:04:08 -08:00
Slava Kim
ee7d0eda58 meteor create --package never creates paths with colons 2015-01-21 14:01:09 -08:00
Slava Kim
0dfecf2f37 meteor create --packages never creates files w colons 2015-01-21 13:56:53 -08:00
Sashko Stubailo
45e8f40ece Don't make paths with colons in create --package 2015-01-20 22:34:21 -08:00
Sashko Stubailo
06d6126e7e Use named pipes on Windows instead of socket files 2015-01-20 22:34:06 -08:00
Slava Kim
c91bf26f70 New 'get-machine' architecture: os.windows.x86_32 2015-01-20 22:03:23 -08:00
Slava Kim
82ae2e3feb Add windows x64 arch to the list of accepted args
for meteor admin get-machine.
2015-01-20 22:03:22 -08:00
Ben Newman
1aba3a8e7a Eliminate the need for getAppDir in tools/server/shell.js.
Summary:
Instead of expecting the child process to figure out where the
`.meteor/local` directory is, we now tell it explicitly via the
`METEOR_SHELL_DIR` environment variable.

Fixes #3437.

Test Plan:
Run `meteor shell` in a separate terminal and see that it still connects
to an app running from the same app directory.

Reviewers: glasser

Reviewed By: glasser

Differential Revision: https://phabricator.meteor.io/D11
2015-01-20 13:56:57 -05:00
David Glasser
2aba1dce35 style cleanup 2015-01-13 16:35:39 -08:00
rissem
bfdad18487 support velocity when using test-packages command 2015-01-13 16:33:56 -08:00
Tom Freudenberg
6dc8d5a0a8 Add git info for 'meteor --version' 2015-01-09 15:18:46 -08:00
David Glasser
4381bb86ef add XXX about #3446 2015-01-08 17:25:41 -08:00
David Glasser
ddd2fe8e91 Make 'pretty: true' to the default for commands
It was already set for most common commands, and was unnecessarily not
set for others.

The following commands are remaining "pretty: false":

- Commands that just print machine-parseable text: --version, --arch,
  admin members (without --add or --remove), mongo --url,
  authorized (without --add or --remove), whoami, list-organizations, list-sites
- Commands that just switch over to another codebase's interactive
  command: mongo without --url, admin get-machine, shell

The following commands used to be implicitly "pretty: false" and now
will be pretty:

- A bunch of troposphere admin commands: set-banners, recommend-release,
  change-homepage, set-unmigrated, set-latest-readme
- A few accounts/deploy related commands: logs, claim, login, logout
- remove-platform, reset, self-test
- admin maintainers (which unlike admin members and authorized prints an
  English header before the user list; maybe this is a mistake)

It might make sense in the future to further separate "pretty means can
show progress bars if the output is a TTY" from "pretty means can use
chalk styling and unicode bullets".

Fixes #3162.
2015-01-05 13:56:47 -08:00
David Glasser
00a7da3dd0 Fix test-packages * if some packages lack tests
Fixes #3334.

This was an intentional but poorly thought through change in
1.0.2 (1a9536baa).
2014-12-20 20:38:25 -08:00
David Glasser
74bf18809c Drop browserstack support from built tool
We haven't really been trying to keep 'meteor self-test' passing from
built tool in a while, so why waste the bandwidth?
2014-12-16 21:09:29 -08:00
Ben Newman
f9b7fa19a6 Avoid unnecessary dynamic requires.
CommonJS module identifiers are specified always to use forward slashes,
even on Windows, so there's no value in using path.join or files.pathJoin
to construct module identifiers.
2014-12-16 19:24:58 -05: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