Files
meteor/tools/static-assets
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
..

Isobuild Static Assets

Files here are designed to be copied to the output destination of a Meteor CLI command.

Sometimes, for code sharing, the JS files can be imported by parts of the tool (like mini-files.js - it is shared between built apps and tool).

skel - App Skeleton

skel is a folder that is the skeleton of a new fresh app. It is copied to the destination on meteor create command. The important part of the skeleton is the packages it includes by default.

skel-pack - Package Skeleton

Similar to skel, skel-pack is copied on meteor create --package command.

server - Bundled App's Bootstrap

The server folder is copied by Isobuild when the app is bundled (on meteor run or meteor build). The boot.js file is the default entry point of any built Meteor app, it loads the server program and runs the files from the manifest. It also sets up the source-maps and a backdoor for meteor shell.

cordova-bootstrap-page - First page opened by a Meteor-Cordova app

Since Meteor has a special way of loading sources from Application Bundle or from the Application Local Storage, there is a special page that bootstraps the process.

cordova-assets - Images used by Cordova apps

Bootscreen and icon images.