wikiparser-node 1.18.1 → 1.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +7 -2
  2. package/bin/config.js +2 -2
  3. package/bundle/bundle-es7.min.js +29 -29
  4. package/bundle/bundle-lsp.min.js +95 -29
  5. package/bundle/bundle.min.js +26 -26
  6. package/config/.schema.json +13 -0
  7. package/config/default.json +460 -4
  8. package/config/enwiki.json +111 -0
  9. package/config/jawiki.json +954 -0
  10. package/config/llwiki.json +117 -0
  11. package/config/minimum.json +10 -0
  12. package/config/moegirl.json +104 -0
  13. package/config/zhwiki.json +109 -0
  14. package/dist/addon/token.js +10 -9
  15. package/dist/addon/transclude.js +1 -3
  16. package/dist/base.d.mts +5 -0
  17. package/dist/base.d.ts +5 -0
  18. package/dist/base.js +1 -0
  19. package/dist/base.mjs +2 -1
  20. package/dist/bin/config.js +82 -59
  21. package/dist/index.d.ts +5 -1
  22. package/dist/index.js +68 -73
  23. package/dist/lib/document.d.ts +6 -6
  24. package/dist/lib/document.js +43 -36
  25. package/dist/lib/element.d.ts +6 -0
  26. package/dist/lib/element.js +543 -466
  27. package/dist/lib/lsp.d.ts +1 -0
  28. package/dist/lib/lsp.js +84 -56
  29. package/dist/lib/redirectMap.d.ts +7 -0
  30. package/dist/lib/redirectMap.js +31 -0
  31. package/dist/lib/text.d.ts +2 -2
  32. package/dist/lib/text.js +383 -325
  33. package/dist/lib/title.d.ts +23 -4
  34. package/dist/lib/title.js +17 -5
  35. package/dist/mixin/noEscape.d.ts +4 -0
  36. package/dist/mixin/noEscape.js +22 -0
  37. package/dist/mixin/readOnly.d.ts +4 -0
  38. package/dist/mixin/readOnly.js +26 -0
  39. package/dist/parser/braces.js +29 -15
  40. package/dist/parser/commentAndExt.js +5 -16
  41. package/dist/parser/links.js +1 -1
  42. package/dist/parser/quotes.js +1 -1
  43. package/dist/parser/redirect.js +1 -3
  44. package/dist/src/arg.js +253 -202
  45. package/dist/src/attribute.d.ts +0 -5
  46. package/dist/src/attribute.js +3 -7
  47. package/dist/src/converter.js +213 -162
  48. package/dist/src/gallery.js +1 -2
  49. package/dist/src/heading.js +5 -6
  50. package/dist/src/imageParameter.js +16 -16
  51. package/dist/src/imagemap.js +3 -2
  52. package/dist/src/index.d.ts +1 -1
  53. package/dist/src/index.js +722 -694
  54. package/dist/src/link/base.js +292 -241
  55. package/dist/src/link/file.js +13 -17
  56. package/dist/src/link/galleryImage.js +1 -1
  57. package/dist/src/link/redirectTarget.js +1 -2
  58. package/dist/src/magicLink.d.ts +0 -6
  59. package/dist/src/magicLink.js +5 -15
  60. package/dist/src/nested.js +7 -7
  61. package/dist/src/nowiki/base.js +2 -1
  62. package/dist/src/nowiki/index.js +4 -3
  63. package/dist/src/onlyinclude.js +95 -44
  64. package/dist/src/parameter.d.ts +0 -6
  65. package/dist/src/parameter.js +1 -13
  66. package/dist/src/redirect.js +6 -6
  67. package/dist/src/syntax.d.ts +4 -1
  68. package/dist/src/syntax.js +4 -1
  69. package/dist/src/table/base.d.ts +0 -5
  70. package/dist/src/table/base.js +2 -9
  71. package/dist/src/table/index.js +6 -3
  72. package/dist/src/table/td.d.ts +1 -0
  73. package/dist/src/table/td.js +2 -3
  74. package/dist/src/table/trBase.js +3 -1
  75. package/dist/src/tagPair/index.js +2 -1
  76. package/dist/src/transclude.js +706 -647
  77. package/dist/util/debug.js +10 -3
  78. package/dist/util/lint.js +31 -30
  79. package/dist/util/string.js +4 -5
  80. package/extensions/dist/base.js +8 -6
  81. package/extensions/dist/lint.js +1 -1
  82. package/extensions/dist/lsp.js +0 -5
  83. package/extensions/es7/base.js +8 -6
  84. package/extensions/es7/lint.js +1 -1
  85. package/extensions/ui.css +1 -1
  86. package/package.json +3 -4
package/README.md CHANGED
@@ -17,7 +17,7 @@ WikiParser-Node is an offline [Wikitext](https://www.mediawiki.org/wiki/Wikitext
17
17
 
18
18
  ## Mini (also known as [WikiLint](https://www.npmjs.com/package/wikilint))
19
19
 
20
- This version provides a [CLI](https://en.wikipedia.org/wiki/Command-line_interface), but only retains the parsing functionality and linting functionality. The parsed AST cannot be modified. It is used for a [VSCode extension](https://marketplace.visualstudio.com/items?itemName=Bhsd.vscode-extension-wikiparser) and an [ESLint plugin](https://www.npmjs.com/package/eslint-plugin-wikitext).
20
+ This version provides a [CLI](https://en.wikipedia.org/wiki/Command-line_interface), but only retains the parsing functionality and linting functionality. The parsed AST cannot be modified. It is used for the [WikiParser Language Server](https://marketplace.visualstudio.com/items?itemName=Bhsd.vscode-extension-wikiparser) VSCode extension.
21
21
 
22
22
  ## Browser-compatible
23
23
 
@@ -59,7 +59,7 @@ For more browser extensions, please refer to the corresponding [documentation](h
59
59
 
60
60
  ## CLI usage
61
61
 
62
- For MediaWiki sites hosted by the Wikimedia Foundation, such as different language editions of Wikipedia, you can use the following command to obtain the parser configuration:
62
+ For MediaWiki sites with the [CodeMirror extension](https://mediawiki.org/wiki/Extension:CodeMirror) installed, such as different language editions of Wikipedia and other [Wikimedia Foundation-hosted sites](https://meta.wikimedia.org/wiki/Special:SiteMatrix), you can use the following command to obtain the parser configuration:
63
63
 
64
64
  ```sh
65
65
  npx getParserConfig <site> <script path> [force]
@@ -78,10 +78,15 @@ Parser.config = 'jawiki';
78
78
 
79
79
  Please refer to the [Wiki](https://github.com/bhsd-harry/wikiparser-node/wiki/Home-%28EN%29).
80
80
 
81
+ # Performance
82
+
83
+ A full dump scan of Chinese Wikipedia's ~2.8 million articles (parsing and linting) on a personal MacBook Air takes about 4 hours.
84
+
81
85
  # Known issues
82
86
 
83
87
  ## Parser
84
88
 
89
+ 1. Memory leaks may occur in rare cases.
85
90
  1. Preformatted text with a leading space is only processed by [`Token.prototype.toHtml`](https://github.com/bhsd-harry/wikiparser-node/wiki/Token-%28EN%29#tohtml).
86
91
 
87
92
  ## HTML conversion
package/bin/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
  const /** @type {import('./config.ts').default} */ fetchConfig = require('../dist/bin/config.js').default;
4
- const [,, site, url, force, old] = process.argv;
5
- fetchConfig(site, url, force, old);
4
+ const [,, site, url, force] = process.argv;
5
+ fetchConfig(site, url, force);