mediawiki-extensions-Visual.../modules/parser/package.json
Gabriel Wicke 8368e17d6a Biggish token transform system refactoring
* All parser pipelines including tokenizer and DOM stuff are now constructed
  from a 'recipe' data structure in a ParserPipelineFactory.

* All sub-pipelines of these can now be cached

* Event registrations to a pipeline are directly forwarded to the last
  pipeline member to save relatively expensive event forwarding.

* Some APIs for on-demand expansion / format conversion of parameters from
  parser functions are added:

  param.to('tokens/expanded', cb)
  param.to('text/wiki', cb) (this does not work yet)

  All parameters are additionally wrapped into a Param object that provides
  method for positional parameter naming (.named() or conversion to a dict
  (.dict()).

* The async token transform manager is now separated from a frame object, with
  the frame holding arguments, an on-demand expansion method and loop checks.

* Only keys of template parameters are now expanded. Parser functions or
  template arguments trigger an expansion on-demand. This (unsurprisingly)
  makes a big performance difference with typical switch-heavy template
  systems.

* Return values from async transforms are no longer used in favor of plain
  callbacks. This saves the complication of having to maintain two code paths.
  A trick in transformTokens still avoids the construction of unneeded
  TokenAccumulators.

* The results of template expansions are no longer buffered.

* 301 parser tests are passing

Known issues:

* Cosmetic cleanup remains to do
* Some parser functions do not support async expansions yet, and need to be
  modified.

Change-Id: I1a7690baffbe8141cadf67270904a1b2e1df879a
2012-04-25 16:51:36 +02:00

30 lines
653 B
JSON

{
"name": "mediawiki-parsoid",
"description": "Mediawiki parser for the VisualEditor.",
"version": "0.0.1",
"dependencies": {
"events": "0.x.x",
"jquery": "1.x.x",
"request": "2.x.x",
"querystring": "0.x.x",
"path": "0.x.x",
"jshashes": "0.x.x",
"optimist": "0.x.x",
"assert": "0.x.x",
"jsdom": "0.x.x",
"pegjs": "0.x.x",
"lru-cache": "1.x.x"
},
"devDependencies": {
"coffee-script": "1.x.x",
"colors": "0.x.x",
"diff": "1.x.x",
"html5": "0.x.x"
},
"main": "mediawiki.parser.js",
"scripts": {
"pretest": "node ../../tests/parser/fetch-parserTests.txt.js",
"test": "node ../../tests/parser/parserTests.js"
}
}