Closed bcolloran closed 6 years ago
Great idea. It would also be worth writing up how we bundle, publish, and ship a new version and keeping that on the wiki. I don't think it is as simple as updating package.json
and hitting the "publish" button on GH.
@wlach any thoughts on this William? Now that I have jsmd export working, i want to move our examples to that (#224), among other experiments with jsmd export -- and I'd also like to be able to start sharing notebooks. But that's blocked on being able to build the serverless versions of the html file, js bundle, and css bundle without the neutrino hotloader middleware/bootstrapping stuff.
@hamilton at least in the early stages (between now and our target full release in the summer), the build/ship process could be that simple-- just have neutrino copy versioned app resources to docs/dist
(or where we want) in the repo, and they automatically become publically available and hotlinkable on the github pages site. That process can work for now until we want to think about iodide.io, cdns, etc.
My immediate thought would be to customize where we output the assets:
https://neutrino.js.org/customization/#optionsoutput
I think it might be easier/simpler to version by directory, as opposed to by file name. I.e.
/0.8.5/index.css /0.8.5/index.js
You might be able to get some help on the #neutrino
irc channel for this.
Started working on this, still have some details to sort out.
now that we have Neutrino up and running, we can work on refining our build process a little bit. @wlach, i'll basically write out a wishlist, and we can figure out what makes sense, and break out more specific issues as needed
[ ] semantic version naming of the js/css bundles with corresponding refs in the index.html -- ideally, the version number in package.json should propagate to the name of the js file a la "iodideApp.0.0.1.js" and "iodideApp.0.0.1.css", and to the links in the html file. (#238)
[ ] we also need to be able to somehow inject the version number into the js file, so that e.g. we can write the correct string to the html output that we export in
/src/jsmd-tools.js
(see the bottom of the file). (we want to use the the version number in other places too, like an "about" pane)[ ] we want to make sure that html file built in the "/build" folder matches the template in
/src/jsmd-tools.js
(modulo changes to the template that we might want to make if we bundle all the css in one css file). (should we move that html template to another file and import in into jsmd-tool.js, so that we can also use the same template string in the build process?)