We were getting problems (eg, adding a `readme.md` to a plugin without
an accompanying `readme.md.meta` would end up creating a tiddler called
“undefined”)
Now a [[ has to be preceded by the beginning of the string or a
whitespace and a ]] has to be followed by whitespace or the end of the
string to act as quotes.
Thanks to @Skeeve for the regex
Now implements (and mostly follows) requirements of Modules/1.1 spec
implementes only the required "secure sandbox" subset of the spec
`module` free variable changed from the `moduleInfo` to an id container
`require` free variable given a "main" property
boot module scope closed and exported
this also changes the interface between boot and bootprefix slightly
(should now be able to create multiple TW instances under node)
BREAKING CHANGES:
The tiddlywiki module itself now exports a single constructor function
Modules which depended on `module` referring to `moduleInfo` will break
Modules which don't conform to Modules/1.1 will break
(by attempting to modify require.main or module.id)
This includes potentially breaking changes.
Specifically, before this patch tiddlywiki would default to relative module identifiers
Now, tiddlywiki will only search relative paths if explicitly specified
Additionally, some "defaulted export contexts" were removed
(some modules may make assumptions about context)
Some unit tests were modified slightly from their originals
Tiddlywiki doesn't have a notion of a "main" program's path
Some require calls were explicitly made relative
None of these changes should affect the requirement under test in each case
Previously, the command line interface required a wiki folder to be
specified.
This is part of the work to enable TiddlyWiki5 to be used more easily
as a library in other node.js apps
JavaScript errors are invisible unless you've got developer tools open,
which is making it hard for users to report errors. This change makes
JavaScript errors popup a big red alert
Get rid of the separate renderContext stack and instead have a parent
pointer on renderer nodes. This lets us walk back up the render tree to
resolve context references