Commit Graph

294 Commits

Author SHA1 Message Date
Ben Newman
e3e259169f Merge branch 'release-1.5.1' into release-1.6 2017-06-27 11:30:41 -04:00
Jesse Rosenberger
e2a6f397e7 Merge pull request #8842 from RickvdP/master
Updated old github wiki references to Meteor Guide/API docs
2017-06-26 14:08:39 +03:00
Ben Newman
943c6a4d83 Merge branch 'release-1.5.1' into release-1.6 2017-06-21 14:40:01 -04:00
Rick
c6f80b9502 Updated doc URLs 2017-06-19 12:00:35 +02:00
Ben Newman
ab4f54c49a Revert unnecessary npm_config_disturl overrides. 2017-06-15 09:40:11 -04:00
Ben Newman
8550412bb0 Reimplement meteor debug using the Node 8 inspector.
This is the feature that excites me most about Meteor 1.6, hands down.

Benefits include:

* Works with `meteor test[-packages] --debug-port 9229` (for tests), as
  well as just `meteor debug` (for apps).

* The application process waits patiently for the debugger to attach, so
  you don't have to race to open the debugger.

* The application process pauses at a location just after all server code
  has been evaluated, but before any code starts executing, giving you a
  chance to set reliable breakpoints anywhere in server code. This is much
  better than using the `node --inspect-brk` flag, since that stops too
  soon to set any useful breakpoints.

* The application server runs at full speed, so you don't have to wait
  forever to hit that all-important breakpoint, and you don't lose nearly
  as much time if you accidentally continue past the line of code where
  the trouble is occurring.

* Even if your application is stuck in an infinite loop, you can still
  attach the debugger, pause execution, and debug the loop.

* No more `node-inspector`! Instead, you can now debug your server code in
  native Chrome DevTools, or several other high-quality inspector clients,
  such as VS Code or WebStorm (seriously, check out the documentation:
  https://nodejs.org/en/docs/inspector/#inspector-tools-clients). The list
  of debuggable processes can be found at the URL chrome://inspect.

* Realistic performance and memory profiling is now possible via the
  familiar DevTools interface.

* I highly recommend this Chrome extension that automatically (re)connects
  to any open inspector sockets, so you don't have to keep manually
  (re)attaching the debugger: http://june07.com/nim

* The implementation of `meteor debug` no longer has to proxy multiple
  private/public debugger ports. Look at all that deleted code!

This new inspector is so much better than the old `node-inspector` that
I've been using the release-1.6 branch to debug problems in Meteor 1.5,
despite the risks of using Node 8, because those risks are so far
outweighed by the quality of the new debugging experience.

That said, the experience isn't perfect (yet). I welcome your feedback on
the Meteor 1.6 PR: https://github.com/meteor/meteor/pull/8728
2017-06-14 19:08:40 -04:00
Ben Newman
92b6d48960 Set disturl safely for meteor npm and Meteor package .npm management. 2017-06-14 12:18:39 -04:00
Michał Powaga
ec78bdb8ce Remove redundant empty line 2017-06-14 15:42:35 +01:00
Michał Powaga
4d106db287 Fix formatting 2017-06-14 15:38:53 +01:00
Michał Powaga
e6a53ee564 Update help.txt 2017-06-08 23:30:36 +01:00
Michał Powaga
7239bf5ec2 Add --extra-packages option to test and test-packages commands 2017-06-08 23:26:47 +01:00
Michał Powaga
809179b725 Add example to help command 2017-06-08 11:02:27 +01:00
Michał Powaga
0f6f9d5ebf Trim input when parsing --extra-packages 2017-06-08 10:59:14 +01:00
Michał Powaga
dd19865a1e Add --extra-packages option 2017-06-06 23:24:42 +01:00
Ben Newman
6418026e15 Update all new Buffer usage to Buffer.from for Node 6+.
https://github.com/nodejs/node/wiki/Breaking-changes-between-v5-and-v6
2017-06-05 18:16:03 -04:00
James
6445a44001 Clarify meteor update message for indirect dependencies
* Adjust string style to be in line with meteor style guide 6.2

* Partially addresses #8721 #8488
2017-05-29 14:41:00 -04:00
Jesse Rosenberger
948ec2b05f Merge branch 'master' into devel 2017-04-07 18:50:17 +03:00
Ben Newman
05f6705d15 Merge pull request #8431 from hwillson/issue-8154
Added CLI help text for meteor update --all-packages.
2017-03-08 11:40:17 -05:00
Jesse Rosenberger
513c270013 Add quotes around "meteor update" command. 2017-03-03 16:46:13 +02:00
Jesse Rosenberger
ad11a741bd Add brackets around package name.
To indicate that it's a variable, in the same way that `<target-version>` is notated (as well as other places in the `help.txt`).
2017-03-01 19:40:00 +02:00
Hugh Willson
8b431c6f80 Removed additional "newer versions" message reference; not needed. 2017-03-01 12:03:59 -05:00
Hugh Willson
148aeef2c9 Added paragraph explaining how to get extra information about packages that can't be updated. 2017-03-01 10:59:46 -05:00
David Glasser
adc468f670 Remove meteor npm install instruction (#8433)
As of #8108, `meteor create` runs `meteor npm install`, so it doesn't need to tell you do to do so.
2017-02-28 09:14:53 +02:00
Hugh Willson
3802addaae Added CLI help text for meteor update --all-packages. 2017-02-27 10:30:28 -05:00
tcastelli
907e1d9183 Update help text to clarify the use of external npm commands (#8355)
* Update help text to clarify the use of external npm commands

First attempt to improve the help text regarding the external npm commands that can be run directly with 'meteor'.
#8277
Further enhancements could include listing also the "current" available external commands by parsing a ls/dir command or 'meteor npm list -g -depth 0'. If they command is uninstalled between the call of 'meteor help' and 'meteor <external command>' we are not the ones to be blamed but the user instead :)

* Update 'external command' to 'npm command'

* Joining new suggestions and cleaning some redundancy

Included @abernix suggestions (with some variations) to include references to npm and node. Also clarified how to install a npm package and run it afterwards

* Typo

Changed to global context

* Reword description of "other" npm commands

These commands are similar to `node` and `npm`, but we didn't want
them to be confused with `npm command` commands.

* Avoid repetition of `meteor npm install --global`
2017-02-15 15:46:53 -05:00
Ben Newman
868a52829f Register package@version constraints for current release.
Package version unpinning (#7084) removed all exact package@=version
constraints derived from the current release.

As we discovered with Meteor 1.4.2.4 (#8306), this meant releases no
longer had any power to enforce package upgrades, which is why the
follow-up Meteor 1.4.2.5 release (#8311) was necessary.

This commit has the same effect as putting package@version in your
.meteor/packages file for every local/core package that your app uses.
2017-02-07 14:52:49 -05:00
Ben Newman
cc8734ddca Merge branch 'master' into devel 2017-02-02 15:18:48 -05:00
Ben Newman
1f60258821 Merge pull request #8142 from abernix/feature/fix-7849-stale-cordova-build
Cordova project preparation must occur before copying to the build
2017-02-01 12:40:06 -05:00
Ben Newman
bf9338b367 Support ./meteor publish-release --skip-tree-hashing ... flag. 2017-02-01 12:24:06 -05:00
Hugh Willson
524e34bce2 Slight wording changes. 2017-01-15 10:37:52 -05:00
Hugh Willson
7064a029ef Updated to include note about matching architecture versions for packages. 2017-01-13 10:48:04 -05:00
Hugh Willson
24e64f483e Updated meteor build CLI help to include os.windows.x86_32 --architecture option. 2017-01-12 11:05:22 -05:00
Ben Newman
83b05896c3 Merge pull request #8142 from abernix/feature/fix-7849-stale-cordova-build
Cordova project preparation must occur before copying to the build
2016-12-13 19:01:49 -05:00
Jesse Rosenberger
4a16e649cc Fix console glitch when using some admin package functions
Tiny fix for an old issue where the console output would get corrupted when running `meteor admin set-unmigrated` or `meteor admin change-homepage` due to missing newline on `rawInfo` command.

Fixes meteor/meteor#4054
2016-12-13 15:54:10 +02:00
Jesse Rosenberger
1fda39b3a0 Cordova project preparation must occur before copying to the build
This fixes a regression caused by 88d43a0f16 which is demonstrated in meteor/meteor#7849.

Essentially, with the current implementation some Cordova build elements are "stale" when the build is copied.  For example, if you execute a `meteor run ios` and then `meteor build . --server=http://example.com/` (note: `example.com`) the `config.xml` (`<access origin />`), the boilerplate HTML (`__meteor_runtime_config__`) and other elements of the bundle (`Info.plist` on iOS) will still contain the previously used `http://<local_ip>:3000` address instead of `http://example.com` as they should.

Additionally, it would appear that it's impossible to actually checkout a project and immediately run `meteor build` without running `meteor run (android|ios)` first.

Various work-arounds for this seem to exist, such as running `meteor build` twice, or running `meteor run --server=http://production.com` first.

Ultimately, this is occurring because the bundle is being copied before the Cordova `prepareForPlatform` occurs which I believe was not intended.

There is already a test in place which fails without this fix, but marked as `slow` and therefore not executed on CircleCI.  Specifically, `cordova builds with server options` would have caught this.  Forcibly running this test locally now passes with this change.

Fixes meteor/meteor#7849
Fixes meteor/meteor#7291
Fixes meteor/meteor#6756
2016-12-12 17:11:55 +02:00
Ben Newman
ac86594346 Install npm dependencies automatically when creating apps.
Although I have said I do not think Meteor should run `npm install`
automatically to update application node_modules, my real concern is that
Meteor should not interfere with your preferred node_modules-related
workflow, be it npm, npm-shinkwrap.json, yarn, yarn.lock, checking your
node_modules into git/mercurial/cvs, or whatever other scheme you have.

Automatically installing node_modules from the default package.json file
when a new app is created will eliminate real confusion, and should not
interfere with any workflows, because there is no opportunity to establish
another workflow before Meteor runs `npm install` the very first time.
2016-11-28 12:11:59 -05:00
Ben Newman
41713dacf7 Include meteor npm install in new app instructions.
Thanks to @ptica for this suggestion:
https://github.com/meteor/meteor/issues/8042#issuecomment-260277876
2016-11-14 12:51:00 -05:00
Mehdi AHRAOUI
0466fdd37f Scaffold an official project structure
Scaffold an official project structure
Add --bare option to meteor create

Notice scaffold options on meteor create

add full skeleton

add spaces

remove shell-server package from skew-full + add description of new packages

Add --bare option to meteor create

Notice scaffold options on meteor create

add full skeleton

add spaces

remove shell-server package from skew-full + add description of new packages

improve PR

resolve conflict

Fix rebase

fix static-assets readme

Fix tipo

Remove insecure and auto publish packages

Remove useraccounts-configuration.js

add tests

fix PR
2016-11-11 11:00:33 -05:00
Ben Newman
acc98c7c15 Set NPM_CONFIG_PREFIX to dev_bundle by default. 2016-11-02 19:23:09 -04:00
Ben Newman
31e7b8bb48 Clean up temporary package.json files. 2016-11-02 15:45:04 -04:00
Ben Newman
643a9f12da Move default npm deps install function into own module.
This extraction was necessary because importing tools/cli/commands.js is
not entirely side-effect-free, and was interfering with older tests.
2016-11-02 15:38:39 -04:00
Ben Newman
fd57b86125 Run npm install in test apps even if package.json exists. 2016-11-02 14:18:43 -04:00
Ben Newman
6dcd8b78f2 Run installDefaultNpmDeps whenever creating self-test apps.
Some tests disable the --prepare-app step, but still need babel-runtime
to be installed.
2016-11-02 12:05:33 -04:00
Ben Newman
10f997ae0e Make --prepare-app install default npm deps to fix self-tests.
Tests were broken by the new dependency on the babel-runtime npm
package, but fortunately all those tests run `meteor --prepare-app`
whenever an app is created by a self-test, so this change should fix
most of the breakages.
2016-11-02 12:05:33 -04:00
Ben Newman
b3746d8879 Install basic npm dependencies when running test-packages.
At this point, the only dependencies installed in this way are
babel-runtime and meteor-node-stubs, but that set of packages will
expand in the future as we move more dependencies to npm.
2016-11-02 12:05:33 -04:00
Ben Newman
8fe91e22e7 Set METEOR_ALLOW_SUPERUSER if necessary when springboarding.
Part of #7959.
2016-10-31 13:57:27 -04:00
Jesse Rosenberger
74afdd5daf Don't pass --allow-superuser flags to a springboarded version of Meteor
By removing the `--allow-superuser` and `--unsafe-perm` arguments before springboarding, it prevents older versions of Meteor from objecting to its use.  Catching it at the highest level should be sufficient to discourage root usage as intended in meteor/meteor#7821

Intended to fix...  meteor/meteor#7959
2016-10-31 13:26:04 -04:00
Jesse Rosenberger
3ee8c252bb Fully implement --no-release-check for meteor test
I accidentally a line when I committed/submitted meteor/meteor#7799, as reported in this comment:

https://github.com/meteor/meteor/issues/7026#issuecomment-256728729

The `METEOR_NO_RELEASE_CHECK` environment variable did/does work properly, but both were meant to work.
2016-10-28 16:11:30 -04:00
Ben Newman
50528819cf Change terminology from METEOR_UNSAFE_PERM to METEOR_ALLOW_SUPERUSER.
The --unsafe-perm option is still supported but no longer advertised.
2016-10-28 16:11:29 -04:00
Ben Newman
e4acc36f63 Respect METEOR_UNSAFE_PERM in addition to --unsafe-perm.
This is important for `meteor npm`, since we don't parse or pass through
Meteor-specific command-line arguments when running `meteor npm`.

When METEOR_UNSAFE_PERM is set, its value is now propagated to any npm
commands via the NPM_CONFIG_UNSAFE_PERM variable.

Helps with #7959.
Follow-up to #7821.
2016-10-28 16:11:29 -04:00