Commit Graph

3557 Commits

Author SHA1 Message Date
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
Nick Martin
302d625cba make tests pass again 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
45217c41f3 Unbreak cli-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
Geoff Schmidt
43c29fbd0b move Library into its own file 2013-05-13 11:51:51 -07:00
Geoff Schmidt
0823323cbe Packages have a Library. This simplifies things considerably 2013-05-13 11:51:51 -07:00
Geoff Schmidt
64a01102da factor more logic into Library 2013-05-13 11:51:51 -07:00
Geoff Schmidt
67356c0988 continue factoring out Library 2013-05-13 11:51:51 -07:00
Geoff Schmidt
562490b776 bundler takes a library 2013-05-13 11:51:51 -07:00
Geoff Schmidt
a7eae9eb71 further refactor toward Library 2013-05-13 11:51:51 -07:00
Geoff Schmidt
bb07daa25e continue refactor toward Library 2013-05-13 11:51:51 -07:00
Geoff Schmidt
5b2523aa18 refactoring toward Library 2013-05-13 11:51:51 -07:00
David Glasser
347efb3623 don't lose emily's change to a moved file 2013-05-13 11:51:51 -07:00
David Glasser
ede68cd027 bundle NPM modules correctly.
tests mostly pass.
2013-05-13 11:51:51 -07:00
David Glasser
c628854bc8 hashes 2013-05-13 11:51:51 -07:00
David Glasser
3fcde01908 don't update NPM in warehouse 2013-05-13 11:51:51 -07:00
David Glasser
bff6101ad5 fix a bug 2013-05-13 11:51:50 -07:00
David Glasser
5b6bc3f29c update bundler.bundle API to use packageSearchOptions and releaseStamp 2013-05-13 11:51:50 -07:00
David Glasser
1ed8392a31 we don't think we need .call 2013-05-13 11:51:50 -07:00
David Glasser
28cf05e2d7 noMinify -> minify 2013-05-13 11:51:50 -07:00
David Glasser
c9b988cc62 export sha1 2013-05-13 11:51:50 -07:00
David Glasser
471ffd430b check in geoff's version of bundler.js 2013-05-13 11:51:50 -07:00
David Glasser
4838e5a365 resolved conflicts in packages.js.
we merged dependencies and metadataFileHashes as dependencyFileShas
2013-05-13 11:51:50 -07:00
David Glasser
6b48e8bd8a stuff that doesn't have conflicts 2013-05-13 11:51:50 -07:00