I don't think you're missing anything :-(
There are a few examples out there, but most are for the sc20 packages themselves.
There a few scattered bpm enabled examples out there (but most I found were using earlier versions of bpm)
a bpm rebuild will gen two assets/bpm files - one for dependencies (loaded first) and then one for my app.
I've laid out my project.json file thusly:
{
"name": "Project",
"bpm": "1.0.0",
"bpm:build": {
"bpm_libs.js": {
"spade:format": "function",
"directories": [
]
},
"bpm_styles.css": {
"directories": [
]
},
"Project/bpm_libs.js": {
"spade:format": "function",
"directories": [
"lib",
"templates"
]
},
"Project/bpm_styles.css": {
"directories": [
]
}
},
"dependencies:development": {
"spade-qunit": "~> 1.0.0",
"qunit": ">= 0"
},
"dependencies": {
"jquery": ">= 0",
"spade": ">= 0",
"uglify-js": ">= 0",
"sproutcore": ">= 0-pre",
"sproutcore-datastore": ">= 0-pre"
}
}
and in my html file I bootstrap thusly:
<!-- load all of the dependencies -->
<script type="text/javascript" src="assets/bpm_libs.js"></script>
<!-- load my app assets -->
<script type="text/javascript" src="assets/Project/bpm_libs.js"></script>
<script type="text/javascript">
spade.ready(function() {
console.log("spading main now");
spade.require('Project/main');
});
</script>
All of my app code is in
./lib
./models
./views
./controllers
etc
my .lib/main.js file bootstraps the balance of my app
require("sproutcore");
require("sproutcore-datastore");
Project = SC.Application.create({
store: SC.Store.create().from(SC.Record.fixtures)
});
require ('./models');
require ('./controllers');
require ('./views');
require ('./core');
HTH
-jeff
-Peter
-Peter
-Peter