Dump to eval-able JavaScript (initial implementation)
cpcallen opened this issue · 0 comments
cpcallen commented
This is a tracking bug for work that needs doing on this project before we can do an initial launch to trusted testers. The main criterion for completion is being able to dump the current dogfooding core in a form that can, after a reasonable amount of manual editing, be committed to our git repository to replace the now-outdated /demo/
database.
Major tasks:
- Revamp the skip/prune system so that the whole world doesn't get dumped into
core_00_es5.js
.- Use Dijkstra's algorithm to work out the preferred
Selector
for each object. - Add a slightly less thorough alternative to the existing
RECURSE
mode—one which stops at boundaries of the requested subtree (i.e., only recurses into objects whose preferred selector has the requested selector as a prefix.)
- Use Dijkstra's algorithm to work out the preferred
- Revamp the done system so that it doesn't take a ridiculously long time to dump (e.g.)
$.servers.telnet.connections
: don't keep trying to dump a large subgraph of the database when no further progress can be made on that subgraph for the time being. - Add copyright notices automatically
- Dump listened sockets
(This list is unfortunately subject to expansion.)