Commit Graph

269 Commits

Author SHA1 Message Date
Geoff Schmidt
bb0e000175 error handling for 'meteor run-command' 2013-05-13 11:55:12 -07:00
Geoff Schmidt
9847021633 Use a better strategy for avoiding package name conflicts with 'meteor run-command'. Random names don't work because they don't trigger the necessary rebuild. 2013-05-13 11:55:11 -07:00
Geoff Schmidt
077b695ac1 Add 'meteor run-command' which runs a package as a standalone command line tool 2013-05-13 11:55:11 -07:00
Geoff Schmidt
c62727a25c use buildmessages to report errors within legacy package role handlers 2013-05-13 11:55:11 -07:00
David Glasser
78d8f61564 Remove inaccurate comment and logging line.
(This function is not documented to users, but it's what the livedata package
uses to implement audit-check-coverage.)
2013-05-13 11:54:20 -07:00
Geoff Schmidt
ff09e101ee If we're using an arch-specific, auto-downloaded dev_bundles kit, get rid of the bundled node_modules 2013-05-13 11:54:20 -07:00
Geoff Schmidt
9dd512e769 Remove builder.copyFile (it actually duplicates the file option to builder.write) 2013-05-13 11:54:20 -07:00
Geoff Schmidt
1049c2d7d2 add missing dependencies (following rebase on devel) 2013-05-13 11:54:20 -07:00
Geoff Schmidt
0f3ab1af6b Change format identifiers to look like prereleases 2013-05-13 11:54:20 -07:00
Geoff Schmidt
84baa67186 Fix typo that broke npm shrinkwrap 2013-05-13 11:54:20 -07:00
Geoff Schmidt
607e637b22 Generate dev_bundle trampoline scripts in star balls. Nothing uses them yet. 2013-05-13 11:53:51 -07:00
Geoff Schmidt
90d32630cc Generalize Plugins to JsImage, and make ServerTarget derive from JsImageTarget. Neat! 2013-05-13 11:53:51 -07:00
Geoff Schmidt
3abacc44f1 move server config info out of program.json into a separate config.json 2013-05-13 11:53:51 -07:00
Geoff Schmidt
1fd27e9534 Paths in star.json point to control files, not directories with a well-known control file name. javascript-plugin-1 format is renamed javascript-image-1 format. 2013-05-13 11:53:51 -07:00
Geoff Schmidt
42bd977ab7 give plugins a version field too 2013-05-13 11:53:51 -07:00
Geoff Schmidt
5ec1d9997c rentame 'version' to 'format' in control files 2013-05-13 11:53:50 -07:00
Geoff Schmidt
49ddf192b3 give npm some nice error messages too 2013-05-13 11:53:50 -07:00
Geoff Schmidt
ed18c6ffb5 Comprehensive build-time error reporting system. In particular: if an error occurs, the build will try to continue to identify any other potential problems so that they can be flagged too. Syntax errors are captured and dealt with programmatically, rather than just being echoed to stderr by node. Stack traces are parsed to pull out file and line information, and a distinction is made between the 'user' and 'internal' portions of the stack. All of this is at build time only -- it has not been extended to (run-time) server or browser yet. Also, no source maps yet, though line numbers are computed correctly for units within the linker. 2013-05-13 11:52:43 -07:00
Geoff Schmidt
4bff34a680 Port 'less' package to new plugin API 2013-05-13 11:52:43 -07:00
Geoff Schmidt
d5660c3938 Make 'templating' use the new plugin API. Now handlebars can be a separate package again. 2013-05-13 11:52:43 -07:00
Geoff Schmidt
ec0f3ff595 Port 'meteor' package to use new Plugin API. When a package or an app uses a plugin, include the plugin source files among that target's dependencies. 2013-05-13 11:52:43 -07:00
Geoff Schmidt
d99dac599a use correct buildinfo.json so unipackages aren't rebuilt all the time 2013-05-13 11:52:43 -07:00
Geoff Schmidt
20efd73f98 New plugin API. Reimplement old add_extension API on top of new API for backcompat. 2013-05-13 11:52:43 -07:00
Geoff Schmidt
c599601ccf Refactor to create a concept of a serializable Plugin that can be loaded into a host nodejs process, and can be used for both general-purpose unipackage loading (eg, for DDP) and for bundler plugins. 2013-05-13 11:52:43 -07:00
Geoff Schmidt
193adbea59 Break local build info (eg, file dependencies) out into separate file, so that it will be easier to strip when publishing packages 2013-05-13 11:52:43 -07:00
Geoff Schmidt
a61fd1bf14 small cosmetic change 2013-05-13 11:52:42 -07:00
Geoff Schmidt
11819d4344 Detect npm dependencies that contain non-portable binary modules, and set the package arch appropriately (ultimately resulting in the generation of a star with a non-portable target) 2013-05-13 11:52:42 -07:00
Geoff Schmidt
8f42ce1434 Implement a real architecture system ('native.linux.x86_64' rather than 'server'). Add 'meteor rebuild-all' command. 2013-05-13 11:52:42 -07:00
Geoff Schmidt
675027fe93 Rebuild packages if they are moved, even if nothing else has changed (to pick up changes to the absolute paths encoded in the file dependency info) 2013-05-13 11:51:53 -07:00
Geoff Schmidt
d5e0313ff7 Replicate error message improvement from devel 2013-05-13 11:51:53 -07:00
Geoff Schmidt
9931898d22 Patches to make livedata load from non-server nodejs 2013-05-13 11:51:53 -07:00
Geoff Schmidt
54ca2a4463 Fix typos in bundler that prevented normal bundling 2013-05-13 11:51:53 -07:00
Geoff Schmidt
2c1b297dc1 Facility for including unipackages from non-Meteor-built command-line nodejs programs (eg, 'meteor'). Does not fully duplicate the server environment (specifically, does not provide a HTTP server) so livedata does not yet load. 2013-05-13 11:51:53 -07:00
Geoff Schmidt
78212bff0e Eliminate dead code 2013-05-13 11:51:53 -07:00
Geoff Schmidt
4eec2ec057 Make watch.stop() kill timers. 2013-05-13 11:51:53 -07:00
Geoff Schmidt
f102598c6f For faster startup, don't let run.js flush the package cache until first reload. 2013-05-13 11:51:53 -07:00
Geoff Schmidt
503a84a3aa Compile and save packages to Unipackage format for faster startup. Move npm processing to package build time. Let npm dependencies vary per-slice (eg, don't include npm packages used only by tests in non-test builds) -- implemented on disk but not yet exposed via API. 2013-05-13 11:51:53 -07:00
Geoff Schmidt
e26732d3dd Factor out bundle file-handling logic into new Builder class 2013-05-13 11:51:52 -07:00
Geoff Schmidt
4a92dff8da Get rid of roles completely and replace them with named slices. A package can have any number of slices and can define a default set of slices to include on each architecture, as well as a set of slices to use to set each architecture.
Also regularize how we handle file extensions -- no leading dots anywhere.
2013-05-13 11:51:52 -07:00
Geoff Schmidt
b2b8e4c2f4 make compile/link logic self-contained inside Slice 2013-05-13 11:51:52 -07:00
Geoff Schmidt
6fc6bf1dca Packages are modeled as a set of separately-compilable Slices 2013-05-13 11:51:52 -07:00
Geoff Schmidt
cb064eca31 Rewrite bundler and redesign bundle format to support multiple targets. When doing Npm.require on the server, don't infer the node_modules path from the path to the file; read that information out of bundle metadata. 2013-05-13 11:51:52 -07:00
Geoff Schmidt
9d8354b429 Library cleanups/simplifications 2013-05-13 11:51:52 -07:00
Geoff Schmidt
78a31231cd rename Library.flush -> Library.refresh because the old name was confusing 2013-05-13 11:51:52 -07:00
Geoff Schmidt
24682fd7f4 New Watcher implementation (for watching for changed files and determining when to rebundle the app.) Unlike the old DependencyWatcher, it uses absolute paths and contains no Meteor-specific knowledge. Also unlike the old DependencyWatcher, it has comprehensive unit tests (scripts/watch-test.sh). 2013-05-13 11:51:52 -07:00
Geoff Schmidt
7477cd48fd Unbreak bundler tests 2013-05-13 11:51:52 -07:00
Geoff Schmidt
aaa0e9be5d change inchworm_style to camelCase in a few files 2013-05-13 11:51:52 -07:00
Geoff Schmidt
1266e5278e Don't write bundle dependencies (files to monitor) to disk. Just plumb them through in memory from the bundler to the runner. 2013-05-13 11:51:52 -07:00
Geoff Schmidt
57db17dde0 Only create one Library. Flush it when the runner detects changes, not at bundle time, because that makes more sense. 2013-05-13 11:51:52 -07:00
Geoff Schmidt
54e43f511e Library refactorings. preload becomes override. flush() reloads preloaded/overridden packages along with everything else. 2013-05-13 11:51:51 -07:00