Ben Newman fd3b2b0296 Implement Npm.strip, for use in package.js.
Summary:
The `Npm.strip` method makes up for packages that have missing or
incomplete .npmignore files by telling the bundler to strip out certain
unnecessary files and/or directories during `meteor build`.

The `discards` parameter should be an object whose keys are NPM
package names and whose values are arrays of strings (or regular
expressions) that match paths in that package's directory that should be
stripped before installation. For example:

  Npm.strip({
    connect: [/*\.wmv$/],
    useragent: ["tests/"]
  });

This means (1) "remove any files with the `.wmv` extension from the
'connect' package directory" and (2) "remove the 'tests' directory from
the 'useragent' package directory."

The values can also be objects, in which case the keys of the nested
objects will match nested dependency names. For example,

  Npm.strip({
    connect: {
      multiparty: ["test/"]
    }
  });

will discard the "test" directory from the "multiparty" package that is
depended upon by the "connect" package.

If you need to discard files from both "connect" and "multiparty", here's
a little trick you can use:

  Npm.strip({
    connect: {
      connect: ["huge.wmv"],
      multiparty: ["test/"]
    }
  });

This makes intuitive sense because requiring the "connect" package from
the "connect" package always returns the package itself.

Test Plan:
Run `meteor rebuild <package>` for the packages whose package.js files I
modified, and verify that the `Npm.strip`ped paths are absent from the
generated bundle.

Reviewers: glasser, nim, emily

Differential Revision: https://phabricator.meteor.com/D865
2014-10-17 18:24:31 -04:00
2012-03-21 19:41:06 -07:00
2014-08-14 21:39:14 -07:00
2014-10-13 14:51:41 -07:00
2014-10-12 00:25:54 -07:00
2014-10-14 21:14:14 -07:00

Meteor

Meteor is an ultra-simple environment for building modern web applications.

With Meteor you write apps:

  • in pure Javascript
  • that send data over the wire, rather than HTML
  • using your choice of popular open-source libraries

Documentation is available at http://docs.meteor.com/

Quick Start

Install Meteor:

curl https://install.meteor.com | /bin/sh

Create a project:

meteor create try-meteor

Run it:

cd try-meteor
meteor

Deploy it to the world, for free:

meteor deploy try-meteor.meteor.com

Slow Start (for developers)

If you want to run on the bleeding edge, or help develop Meteor, you can run Meteor directly from a git checkout.

git clone git://github.com/meteor/meteor.git
cd meteor

If you're the sort of person who likes to build everything from scratch, you can build all the Meteor dependencies (node.js, npm, mongodb, etc) with the provided script. This requires git, a C and C++ compiler, autotools, and scons. If you do not run this script, Meteor will automatically download pre-compiled binaries when you first run it.

# OPTIONAL
./scripts/generate-dev-bundle.sh

Now you can run meteor directly from the checkout (if you did not build the dependency bundle above, this will take a few moments to download a pre-build version).

./meteor --help

From your checkout, you can read the docs locally. The /docs directory is a meteor application, so simply change into the /docs directory and launch the app:

cd docs/
../meteor

You'll then be able to read the docs locally in your browser at http://localhost:3000/.

Note that if you run Meteor from a git checkout, you cannot pin apps to specific Meteor releases or run using different Meteor releases using --release.

Uninstalling Meteor

Aside from a short launcher shell script, Meteor installs itself inside your home directory. To uninstall Meteor, run:

rm -rf ~/.meteor/
sudo rm /usr/local/bin/meteor

Developer Resources

Building an application with Meteor?

Interested in contributing to Meteor?

We are hiring! Visit https://www.meteor.com/jobs/working-at-meteor to learn more about working full-time on the Meteor project.

Description
No description provided
Readme MIT 202 MiB
Languages
JavaScript 91.1%
TypeScript 3.9%
Shell 0.9%
Java 0.7%
Swift 0.7%
Other 2.5%