Open savetheclocktower opened 2 months ago
This is almost 100% done:
pulsar.sh
is copied to the resources folder and named either pulsar
or pulsar-next
depending on the chosen release channelATOM_BASE_NAME
variable that the editor can read; that's how the editor itself knows which release channel it is (at least when launched via CLI)ATOM_BASE_NAME
, then falls back to checking for the presence of either pulsar.sh
or pulsar-next.sh
(or .cmd
for Windows) in the resources directorypulsar.sh
is symlinked to pulsar
; pulsar-next.sh
is symlinked to pulsar-next
(whichever of the two is present)ATOM_HOME
, it's respected; otherwise the shell script picks the correct ATOM_HOME
for the user's release channel and exports it so the editor can read itThings left to solve:
ppm
is run in the terminal? How does it know that it's a version of ppm
that operates on a version of Pulsar under a different release channel? (In other words, how does it know it's supposed to install things in ~/.pulsar-next
rather than ~/.pulsar
?
ppm-next
at build time
The “canary” channel — which I sometimes call “PulsarNext” because I can't decide on a name — is something we'll have to do for a while so that people can run the latest-Electron version alongside the regular Pulsar version. This roughly corresponds to Atom's concept of a separate “release channel”; Atom had
beta
andnightly
release channels.To make this possible,
yarn dist --next
(the--next
flag is new) will tell the repo to build a different channel of Pulsar — complete with a different name, a different storage path (for IndexedDB and other data), and a differentATOM_HOME
(since two versions of Pulsar with different underlying Electron versions shouldn't share~/.pulsar
). Thepulsar
andppm
executables should have different names — e.g.,pulsar-next
andppm-next
.Perhaps most challenging is the fact that
ppm-next
will need to point to the PulsarNext app'sATOM_HOME
. For instance,ppm-next
should not list the packages that are installed into~/.pulsar
; it should default to listing the packages installed into~/.pulsar-next
.Requirements:
pulsar
andppm
to (e.g.)pulsar-next
andppm-next
so they don't get in the waypulsar-next
to launch Pulsarpulsar
to launch PulsarNextppm-next
to install things in the wrongATOM_HOME
folder and vice versaATOM_HOME
, but we might also want to introduce some sort of “are you sure”? speed bump here.ppm-next rebuild foo
rebuilds packagefoo
…incompatible-packages
package)