Giter Club home page Giter Club logo

meteorite's Introduction

Meteorite

NOTE: As of Meteor 0.9.0, Meteorite is no longer required! You can now install Atmosphere packages directly via the meteor tool.

Meteorite is a Meteor package installer.

It provides an easy way to install Meteor packages into your project from sources such as git and the filesystem.

It also gives a (now deprecated) method of publishing and installing packages from the Old Atmosphere Server. Please note that the latest and greatest packages are on the Real Atmosphere Server and can be installed directly with Meteor.

Installing Meteorite

Meteorite can be installed via npm.

$ npm install -g meteorite

NOTE:

If your system requires root access to install global npm packages, make sure you use the -H flag:

$ sudo -H npm install -g meteorite

NOTES

  • Meteor is not officially supported on windows; you can run it thanks to Tom Wijman's excellent work. However, meteorite's git based approach runs counter to the MSI installation that's required to get it working. So meteorite does not work under windows right now. Pull Requests which change this would be gladly accepted! Also, see this blog post for some information about how to use it.

  • You'll also need to ensure you have git installed and available in your path. Also, you'll need to make sure that mrt's install location (usually /usr/local/bin/) is on your path.

Usage

smart.json

List your packages in a smart.json file in the top level of the project. There are two (non-deprecated) ways to include packages:

{
  "packages": {
    "my:fork": {
      "git": "https://github.com/my/fork.git"
    },
    "local:version": {
      "path": "to/the/package/"
    }
  }
}

mrt install

Install all packages listed in smart.json that aren't already installed on your machine. Use this command if you are working collaboratively and your colleagues install new packages (smart.lock changes).

mrt update

Installs any available updates to the app's desired Meteor version and packages -- use this if a new version is available on git, for instance.

mrt link-package path/to/foo

Links packages/foo to path/to/foo so that you can use a local version without changing smart.json. Useful for quick changes to a package you maintain when developing an application.

Note that mrt install or mrt will overwrite this link if you also have foo in your smart.json (which you probably will). This may change in the future.

Options

Options can be passed at the very end of the command.

--verbose

Log debug information to the console.

Example: mrt add crypto-sha1 --verbose

Deprecated commands

As Meteorite now installs packages into the packages/ directory, you can simply run meteor to start your app. You may need to run mrt install first. You can run any meteor executable you like (e.g. from a checkout somewhere on your machine).

mrt

Works like meteor, but checks and installs the app's desired Meteor version and package dependencies before running the app. You may still want to use this, but it's no longer the official way to use Meteorite.

If however you want to use a forked version of Meteor in your project, you can still list it in your smart.json, and Meteorite will run it via mrt. (Of course you could just run it directly from a checkout too, which may be simpler).

mrt add <package>

Works like meteor add, but if the package isn't one of Meteor's included packages, it installs it from Old Atmosphere.

Unlike meteor add, only one package can be added at a time with mrt add.

# Add the latest version of the moment package on Atmosphere.
$ mrt add moment
# Add a specific version of a package.
$ mrt add router --pkg-version 0.3.4
# Meteorite will install page.js too, because router depends on it.

Note the packages on the old site are only likely to work with Meteor < 0.9.0.

mrt remove <package>

Similarly, removes a package from smart.json, and unlinks it from your project (as well as telling Meteor not to use it).

Other commands

When Meteorite is executed for an app, it checks or installs the app's desired Meteor version, packages and dependencies, then does the required book-keeping (described below), and finally passes the command onto meteor.

Permission woes?

It is not required that you run sudo mrt. If you do so, your home directory will pick up some root-owned files and you'll struggle to run mrt without sudo from then on. This isn't good.

To fix the problem, try cleaning up potentially "sudo-ed" files:

sudo mrt uninstall
sudo mrt uninstall --system
sudo chown -R `whoami` ~/.npm

If possible, try not to install Meteorite as root either. If you have permissions problems, make sure you install with sudo -H npm install -g meteorite. If you've installed without -H, your ~/.npm directory will be owned by root and you should run the chown command above to fix it.

How Meteorite works

Apps tell Meteorite the Meteor version and packages they want with a file called smart.json in their root directory. Meteorite will install those dependencies the next time it is executed within that app.

Meteorite writes to a smart.lock file in the app's root directory to track the exact versions of its dependencies, even when it's set up in a fresh environment. You should check the smart.lock file into your app's version control, to ensure that other developers are running the same versions of the dependencies. Any changes in smart.json take precendence over smart.lock. The smart.lock file is reset with the mrt update command.

Example smart.json

The meteor property is not required: apps will depend on Meteor's master branch by default. You can specify meteor.branch, meteor.tag or meteor.git to use alternate branches, tags and forks respectively. Note that meteor.git expects an actual URL, use ssh://[email protected]/meteor/meteor.git instead of [email protected]:meteor/meteor.git.

{
  "packages": {
    "moment": {},
    "router": "0.3.4",
    "roles": {
      "version": "1.0.1"
    },
    "accounts-persona": {
      "git": "https://github.com/vladikoff/meteor-accounts-persona"
    },
    "normalize.css": {
      "git": "https://github.com/rithis/meteor-normalize.css",
      "tag": "v2.0.1"
    },
    "branch-of-package": {
      "git": "https://github.com/EventedMind/iron-router.git",
      "branch": "dev"
    },
    "my-experiment": {
      "path": "/path/to/local/package"
    }
  }
}

Bash Completion

Use Meteorite's bash completion by sourcing it in your .bashrc or .bash_profile.

Depending on where you installed Meteorite:

if [ -f /path/to/meteorite/completions/mrt.bash ]; then
  . /path/to/meteorite/completions/mrt.bash
fi

Alternatively, you can create a symbolic link under bash_completion.d:

ln -s /path/to/meteorite/completions/mrt.bash /path/to/bash_completion.d/mrt

Running Meteorite In a Git Hook Script

If you encounter checkout errors while running mrt install or mrt update within a Git hook script, it is because GIT_DIR is set to an unexpected value when running within a hook. The solution is to temporarily unset it just before running the mrt command.

(unset GIT_DIR; mrt update)

Contributing

Contributions to meteorite are very welcome! Please see the Contribution Guide for details.

meteorite's People

Contributors

alanning avatar aldeed avatar artyomxx avatar ba3r avatar bregenspan avatar chilldude avatar dandv avatar davedx avatar dburles avatar devonbarrett avatar emgee3 avatar fritz-gerneth avatar gsuess avatar limeyd avatar mcinglis avatar michaelgomedstar avatar mitar avatar paralin avatar philcockfield avatar possibilities avatar praus avatar seanhussey avatar suchow avatar tejas-manohar avatar tmeasday avatar xgorse avatar yeputons avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meteorite's Issues

Meteorite fails after installation

Installed with npm install -g and then when running mrt get the following error:

Stand back while Meteorite does it's thing

/usr/local/share/npm/lib/node_modules/meteorite/node_modules/underscore/underscore.js:77
if (nativeForEach && obj.forEach === nativeForEach) {
^
TypeError: Cannot read property 'forEach' of undefined
at Function..each..forEach (/usr/local/share/npm/lib/node_modules/meteorite/node_modules/underscore/underscore.js:77:29)
at Function.Package.prepareList (/usr/local/share/npm/lib/node_modules/meteorite/lib/dependencies/package.js:234:5)
at new Dependencies (/usr/local/share/npm/lib/node_modules/meteorite/lib/dependencies/dependencies.js:21:31)
at Project.checkSmartJson (/usr/local/share/npm/lib/node_modules/meteorite/lib/project.js:59:18)
at Project.fetch (/usr/local/share/npm/lib/node_modules/meteorite/lib/project.js:80:8)
at Project.install (/usr/local/share/npm/lib/node_modules/meteorite/lib/project.js:124:8)
at Project.execute (/usr/local/share/npm/lib/node_modules/meteorite/lib/project.js:176:8)
at _.each.Meteorite.(anonymous function) as run
at Object. (/usr/local/share/npm/lib/node_modules/meteorite/bin/mrt.js:24:26)
at Module._compile (module.js:449:26)

UPDATE: mrt works just fine when the app is created with mrt. The error above only takes place when I try to run mrt with any command from the app created with meteor. As such, it may be "a feature, not a bug", but it's a pity if that's the case, as we are severely limiting ppl who did not use mrt to create their app initially to add meteorite packages.

Meteorite does not check for bundled packages as dependencies

Meteorite currently fails to "see" Meteor core/bundled packages as valid dependencies. For example, when creating smart packages for jquery plugins (e.g. https://github.com/IainShigeoka/meteor-jquery-tipsy) we should specify a dependency on jquery. Currently with this configuration, Meteorite bails since it can't find a jquery smart package in atmosphere.

The same would apply for smart packages that depend on bundled modules like accounts that the user may not have enabled (or may not even be available if they're not on the auth branch).

release subcommand should fail more gracefully (or it should succeed)

Yesterday I tried to release my urlify package: https://github.com/audreyr/meteor-urlify

From my urlify/ directory, I entered:

$ mrt release .

I was prompted for my username/password. I entered in the right username but the wrong password (accidentally). My terminal froze up at the Password: prompt, and I couldn't CTRL+C out of it.

This morning I tried again, this time eagerly with the right password in hand :)

Instead of seeing the username/password prompt, I got this error:

urlify audreyr$ mrt release .
/usr/local/lib/node_modules/meteorite/lib/atmosphere.js:94
      throw "This tag has already been committed to the repo.";
      ^
This tag has already been committed to the repo.

not an issue

but this project is really cool. thanks for sharing.

mrt not downloading submodules

Hi,

OSX 10.8, Mountain Lion. Running a simple smart.json:

{
  "packages": {
    "underscore-string":{
        "git":"https://github.com/possibilities/meteor-underscore-string.git"
        ,"branch":"master"
    }
  },
  "meteor": {
    "git": "https://github.com/meteor/meteor.git",
    "branch": "master"
  }
}

To include the underscore-string smart package via git. Running mrt results in:

 $ mrt
Meteor installed
[[[[[ ~/dev/meteor/test ]]]]]

Running on: http://localhost:3000/
No dependency info in bundle. Filesystem monitoring disabled.
Errors prevented startup:
Exception while bundling application:
Error: ENOENT, no such file or directory '/Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/packages/underscore-string/lib/underscore.string/lib/underscore.string.js'
    at Object.openSync (fs.js:240:18)
    at Object.readFileSync (fs.js:128:15)
    at Object.add_resource (/Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/app/lib/bundler.js:269:23)
    at /Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/packages/meteor/package.js:10:12
    at [object Object].add_file (/Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/app/lib/bundler.js:196:5)
    at /Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/app/lib/bundler.js:97:16
    at Array.forEach (native)
    at Function.<anonymous> (/Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/app/lib/third/underscore.js:76:11)
    at /Users/ion/.meteorite/meteors/meteor/meteor/92b848fe1aff55658ae38d4e1b1aeb081370ca12/app/lib/bundler.js:96:11
    at Array.forEach (native)

Please fix the problem and restart.

Looking in the .meteorite package shows that the underscore-string source is there, except that the submodule is not being downloaded and unpacked (hence the file from the submodule, underscore.string.js is not found). Am I using the smart package dependencies wrong or is this a bug? Thanks!

.meteor/meteorite is a symlink

After a mrt install (e.g. in atmosphere):

tom@simba atmosphere (master) $ ls -l .meteor/meteorite
lrwxr-xr-x  1 tom  staff  84 25 Jul 11:38 .meteor/meteorite -> /Users/tom/.meteorite/meteors/meteor/meteor/a07411e69d7339ef10ac2792b8b749e65e907b10

I think the offending line of code is meteor.js:103. The secondary problem here is if change your meteor definition in smart.json, it' can't over-install.

Possible "leak" between meteor installs

Hi,

I'm in the process of trying to isolate the date issue in the auth branch and discovered an interesting, possible bug in Meteorite. Please see my example project:

https://github.com/IainShigeoka/meteor-date-test

I'm using Meteorite to switch between the 0.3.9 release tag and the auth branch of Meteor. The date bug is reliably showing up in the auth branch but not in the tag. The Meteorite issue is that when I switch from the 0.3.9 tag to the auth branch by editing my smart.json file and running Meteorite, everything works fine - the auth bug appears. When I switch back to master by editing my smart.json file and running Meteorite, the bug is still present. However, if I run mrt uninstall --system then re-run Meteorite on the tag version, the original, normal 0.3.9 behavior is present.

Based on this, I'm guessing that Meteorite isn't doing a 100% clean switch between these meteor versions. Could there be something Meteor is caching somewhere between versions that mrt uninstall --system removes/resets that preserves whatever bug it is in the auth code that is causing the date problem?

I'd like to have Meteorite working 100% before I add this example project to my main Meteor issue so we can eliminate Meteorite from the equation. Thanks

Replacing spark

Is meteorite able to replace core packages such as spark?

Any way to get that working?

run meteor command failed after 'mrt' has been used to add dependency

I just start using meteorite, is this normal?

After I used 'mrt' to add this dependency https://github.com/tmeasday/meteor-router to an app created by meteor, I couldn't run with 'meteor' command anymore. This is the error I got.

$ meteor

Running on: http://localhost:3000/
Errors prevented startup:
Exception while bundling application:
Error: ENOENT, no such file or directory '/usr/local/meteor/packages/router/package.js'
at Object.openSync (fs.js:240:18)
at Object.readFileSync (fs.js:128:15)
at [object Object].init_from_library (/usr/local/meteor/app/lib/packages.js:91:19)
at Object.get (/usr/local/meteor/app/lib/packages.js:222:11)
at /usr/local/meteor/app/lib/bundler.js:84:28
at Array.forEach (native)
at Function. (/usr/local/meteor/app/lib/third/underscore.js:76:11)
at Object.use (/usr/local/meteor/app/lib/bundler.js:83:9)
at [object Object].on_use (/usr/local/meteor/app/lib/packages.js:133:11)
at [object Object].use (/usr/local/meteor/app/lib/bundler.js:363:11)
Your application is crashing. Waiting for file change.

Meteorite not installing on node 0.8.8

It looks like meteorite depends on commander which doesn't support node 0.8.x. Tom thought the commander dependency was removed for 0.0.13 but it doesn't appear to be. Is node 0.8.x not supported? Thanks

$ sudo npm install meteorite -g
npm http GET https://registry.npmjs.org/meteorite
npm http 200 https://registry.npmjs.org/meteorite
npm http GET https://registry.npmjs.org/meteorite/-/meteorite-0.0.13.tgz
npm http 200 https://registry.npmjs.org/meteorite/-/meteorite-0.0.13.tgz
npm http GET https://registry.npmjs.org/ddp
npm http GET https://registry.npmjs.org/prompt/0.2.3
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/fstream
npm http GET https://registry.npmjs.org/wrench
npm http GET https://registry.npmjs.org/optimist
npm http 200 https://registry.npmjs.org/ddp
npm http GET https://registry.npmjs.org/ddp/-/ddp-0.2.0.tgz
npm http 200 https://registry.npmjs.org/prompt/0.2.3
npm http GET https://registry.npmjs.org/prompt/-/prompt-0.2.3.tgz
npm http 200 https://registry.npmjs.org/underscore
npm http 200 https://registry.npmjs.org/ddp/-/ddp-0.2.0.tgz
npm http 200 https://registry.npmjs.org/wrench
npm http 200 https://registry.npmjs.org/fstream
npm http 200 https://registry.npmjs.org/prompt/-/prompt-0.2.3.tgz
npm http 200 https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/ws/0.4.16
npm http GET https://registry.npmjs.org/wordwrap
npm http GET https://registry.npmjs.org/graceful-fs
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/inherits
npm http GET https://registry.npmjs.org/pkginfo
npm http GET https://registry.npmjs.org/read
npm http GET https://registry.npmjs.org/revalidator
npm http GET https://registry.npmjs.org/utile
npm http GET https://registry.npmjs.org/winston
npm http 200 https://registry.npmjs.org/ws/0.4.16
npm http GET https://registry.npmjs.org/ws/-/ws-0.4.16.tgz
npm http 200 https://registry.npmjs.org/wordwrap
npm http 200 https://registry.npmjs.org/inherits
npm http 200 https://registry.npmjs.org/rimraf
npm http 200 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.10.tgz
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz
npm http 200 https://registry.npmjs.org/pkginfo
npm http 200 https://registry.npmjs.org/read
npm http 200 https://registry.npmjs.org/revalidator
npm http GET https://registry.npmjs.org/read/-/read-0.1.1.tgz
npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.16.tgz
npm http 200 https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.1.10.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz
npm http 200 https://registry.npmjs.org/utile
npm http GET https://registry.npmjs.org/utile/-/utile-0.1.3.tgz
npm http 200 https://registry.npmjs.org/read/-/read-0.1.1.tgz
npm http 200 https://registry.npmjs.org/utile/-/utile-0.1.3.tgz
npm http 200 https://registry.npmjs.org/winston
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/i
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/deep-equal
npm http GET https://registry.npmjs.org/rimraf
npm http GET https://registry.npmjs.org/ncp
npm http GET https://registry.npmjs.org/colors
npm http GET https://registry.npmjs.org/cycle
npm http GET https://registry.npmjs.org/eyes
npm http GET https://registry.npmjs.org/request
npm http GET https://registry.npmjs.org/stack-trace
npm http GET https://registry.npmjs.org/options
npm http GET https://registry.npmjs.org/commander
npm http 304 https://registry.npmjs.org/rimraf
npm http 304 https://registry.npmjs.org/mkdirp
npm http 200 https://registry.npmjs.org/deep-equal
npm http 200 https://registry.npmjs.org/i
npm http 200 https://registry.npmjs.org/colors
npm http 200 https://registry.npmjs.org/cycle
npm http 200 https://registry.npmjs.org/ncp
npm http 200 https://registry.npmjs.org/eyes
npm http 200 https://registry.npmjs.org/options
npm http 200 https://registry.npmjs.org/stack-trace
npm http GET https://registry.npmjs.org/options/-/options-0.0.3.tgz
npm http 200 https://registry.npmjs.org/async
npm http 200 https://registry.npmjs.org/commander
npm http 200 https://registry.npmjs.org/request
npm http GET https://registry.npmjs.org/request/-/request-2.9.203.tgz
npm http 200 https://registry.npmjs.org/options/-/options-0.0.3.tgz
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws'
npm ERR! error rolling back [email protected] Error: ENOTEMPTY, rmdir '/usr/local/lib/node_modules/meteorite/node_modules/ddp/node_modules/ws/node_modules/options'

npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: [email protected]
npm ERR! Required: {"node":">= 0.4.x < 0.8.0"}
npm ERR! Actual:   {"npm":"1.1.24","node":"0.8.8"}
npm ERR! 
npm ERR! System Darwin 12.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "meteorite" "-g"
npm ERR! cwd /Users/ion/dev/meteor/my-test-project
npm ERR! node -v v0.8.8
npm ERR! npm -v 1.1.24
npm ERR! code ENOTSUP
npm ERR! message Unsupported
npm ERR! errno {}
npm http 200 https://registry.npmjs.org/request/-/request-2.9.203.tgz
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/ion/dev/meteor/my-test-project/npm-debug.log
npm not ok
$ 

mrt create error

Error: there was a problem parsing the smart package file for

TypeError: Cannot read property 'forEach' of undefined when installing Atmosphere package

Hi,

I don't know if this is a real bug, but so far I've found now way to solve this.
Installed node from source.

When I try to start Meteorite again OR try to remove the package (in this case underscore, but it happens with other atmosphere packages, too) it gives me the same error.

node -v
v0.8.11
npm -v
1.1.62
meteor --version
Meteor version 0.4.1 (e27304c999)

Here's what I did:

gluraK/inhji~/meteor/$ mrt create testapp

Installing Meteor

  branch: https://github.com/meteor/meteor.git#master

Installing smart packages

testapp: created.

To run your new app:
   cd testapp
   meteor
gluraK/inhji~/meteor/$ cd testapp
gluraK/inhji~/meteor/testapp/$ mrt add underscore

/usr/local/lib/node_modules/meteorite/node_modules/underscore/underscore.js:77
    if (nativeForEach && obj.forEach === nativeForEach) {
                            ^
TypeError: Cannot read property 'forEach' of undefined
    at Function._.each._.forEach (/usr/local/lib/node_modules/meteorite/node_modules/underscore/underscore.js:77:29)
    at Function.Package.prepareList (/usr/local/lib/node_modules/meteorite/lib/dependencies/package.js:234:5)
    at new Dependencies (/usr/local/lib/node_modules/meteorite/lib/dependencies/dependencies.js:21:31)
    at Project.checkSmartJson (/usr/local/lib/node_modules/meteorite/lib/project.js:59:18)
    at Project.fetch (/usr/local/lib/node_modules/meteorite/lib/project.js:80:8)
    at Project.installPackage (/usr/local/lib/node_modules/meteorite/lib/project.js:217:8)
    at Meteorite.add (/usr/local/lib/node_modules/meteorite/lib/meteorite.js:82:16)
    at Object.<anonymous> (/usr/local/lib/node_modules/meteorite/bin/mrt.js:24:26)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
gluraK/inhji~/meteor/testapp/$

mrt command only works on user path.

Hi Guys, I am starting with meteor and decide to use meteorite to manage my dependencies and it is ok.

However I came across on weir problem.
If I create a project on my user path, when I run it works well.

rodrigopinto@prometheus:~ [ruby-1.9.2] $ mrt create cool-app

and when I run

rodrigopinto@prometheus:~/cool-app [ruby-1.9.2] $ mrt run

or

rodrigopinto@prometheus:~/cool-app [ruby-1.9.2] $ meteor

I access http://localhost:3000 and my app is displayed, but If I create a project on another path, when I run meteor or mrt run I get a blank page.

rodrigopinto@prometheus:~/code/github/public [ruby-1.9.2] $ mrt create cool-app

Does anybody have this problem?

Standard meteor packages in smart.json

Unless I am misunderstood, smart.json handles all sorts of packages sources, file system, git, atmosphere, excluding smart packages shipped with meteor (less, coffeescript, http etc...).

It would be really nice if all the dependencies could be listed in smart json, including standard meteor packages?

Note: This is meant to be either a feature request or a documentation bug ... if standard meteor packages can be added to smart.json, I wasn't able to find a corresponding doc entry

Meteorite fails creating the example

Running the example ($ meteor create --example todos) from http://www.meteor.com/examples/todos gives the following error:
$ mrt create --example todos

/usr/lib/node_modules/meteorite/lib/meteorite.js:27
throw 'No name provided to mrt create!';
^
No name provided to mrt create!

Providing a name fixes the error:

$ mrt create example --example todos
Fetching Meteor (branch: master)...
Downloading Meteor development bundle...

################################################################## 100,0%

example: created (from 'todos' template).

To run your new app:
cd example
meteor

Meteor 'help' command not supported

$ mrt help

/usr/local/lib/node_modules/meteorite/bin/mrt.js:16
meteoritesubCommandName;
^
TypeError: Property 'help' of object [object Object] is not a function
at Object. (/usr/local/lib/node_modules/meteorite/bin/mrt.js:16:25)
at Module._compile (module.js:446:26)
at Object..js (module.js:464:10)
at Module.load (module.js:353:31)
at Function._load (module.js:311:12)
at Array.0 (module.js:484:10)
at EventEmitter._tickCallback (node.js:190:38)

mrt add - support for git repos

It would be awesome to be able to use the command like this:
mrt add some-package https://github.com/user/some-package.git --branch test

can't depend on two packages that both depend on a third package

installing league causes this error

fs.js:432
  return binding.readlink(pathModule._makeLong(path));
                 ^ 
Error: ENOENT, no such file or directory '/Users/mike/src/league/.meteor/meteorite/packages/deps-extensions'    
    at Object.readlinkSync (fs.js:432:18)
    at [object Object].installInto (/Users/mike/work/m/meteorite/lib/dependencies/package.js:31:40)
    at /Users/mike/work/m/meteorite/lib/dependencies/dependencies.js:73:9
    at Function.<anonymous> (/Users/mike/work/m/meteorite/node_modules/underscore/underscore.js:84:24)
    at [object Object].installInto (/Users/mike/work/m/meteorite/lib/dependencies/dependencies.js:72:5)
    at /Users/mike/work/m/meteorite/lib/project.js:124:25
    at /Users/mike/work/m/meteorite/lib/meteor.js:99:9
    at [object Object].isMeteorInstalled (/Users/mike/work/m/meteorite/lib/project.js:136:5)
    at [object Object].installInto (/Users/mike/work/m/meteorite/lib/meteor.js:85:11)
    at /Users/mike/work/m/meteorite/lib/project.js:121:17

mrt help fails

mrt help

node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Property 'help' of object [object Object] is not a function
at Object. (/usr/local/lib/node_modules/meteorite/bin/mrt.js:16:25)
at Module._compile (module.js:441:26)
at Object..js (module.js:459:10)
at Module.load (module.js:348:31)
at Function._load (module.js:308:12)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)

mrt --version should return meteorite version

In addition to the standard meteor version information, mrt --version should include the meteorite version. Current behavior returns:

$ mrt --version
Fetching Meteor (branch: master)...
Resolving dependencies..
Meteor installed
Meteor version 0.3.9 (git checkout)

Would recommend something like:

$ mrt --version
Fetching Meteor (branch: master)...
Resolving dependencies..
Meteor installed
Meteor version 0.3.9 (git checkout)
Meteorite version 0.0.13

Make working offline better

I was going to iterate on a package while I was offline today so in Atmoshere's smart.json I changed the package's specification to use a local path. Didn't work because 1) I think there's a problem comparing a atmosphere based package to a path based package and 2) when I cleared problem 1 mrt wanted to contact atmosphere.

So I think problem 1 is a fixable bug which I'll patch when I get a chance to make sure I fully understand what I'm doing.

Problem 2 I think gets fixed by waiting for atmosphere and not continuing even if we can't get any repos. Definitely need output here so users know what's going on.

@tmeasday My question for you is should I wait for problem 2 until you've worked out "better dependency resolution"?

Could you clarify how the "test-package" import works

Lets say I'm writing a package which includes an example_usage_app which naturally depends on my package. It would be really convenient if I could have the example_usage_app running and it would reload on changes to it's files or dependencies. I suspect this is doable with the "test_package" dependency but I haven't quite figured out how.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.