mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 03:05:25 +08:00
9a1695ccc1
With Embroider, we can rely on async `import()` to do the splitting for us. This commit extracts from `pretty-text` all the parts that are meant to be loaded async into a new `discourse-markdown-it` package that is also a V2 addon (meaning that all files are presumed unused until they are imported, aka "static"). Mostly I tried to keep the very discourse specific stuff (accessing site settings and loading plugin features) inside discourse proper, while the new package aims to have some resembalance of a general purpose library, a MarkdownIt++ if you will. It is far from perfect because of how all the "options" stuff work but I think it's a good start for more refactorings (clearing up the interfaces) to happen later. With this, pretty-text and app/lib/text are mostly a kitchen sink of loosely related text processing utilities. After the refactor, a lot more code related to setting up the engine are now loaded lazily, which should be a pretty nice win. I also noticed that we are currently pulling in the `xss` library at initial load to power the "sanitize" stuff, but I suspect with a similar refactoring effort those usages can be removed too. (See also #23790). This PR does not attempt to fix the sanitize issue, but I think it sets things up on the right trajectory for that to happen later. Co-authored-by: David Taylor <david@taylorhq.com>
46 lines
929 B
JSON
46 lines
929 B
JSON
{
|
|
"name": "discourse-markdown-it",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"description": "Discourse's markdown-it features",
|
|
"author": "Discourse <team@discourse.org>",
|
|
"license": "GPL-2.0-only",
|
|
"keywords": [
|
|
"ember-addon"
|
|
],
|
|
"exports": {
|
|
".": "./src/index.js",
|
|
"./*": "./src/*.js",
|
|
"./addon-main.js": "./addon-main.cjs"
|
|
},
|
|
"files": [
|
|
"addon-main.cjs",
|
|
"src"
|
|
],
|
|
"dependencies": {
|
|
"@embroider/addon-shim": "^1.0.0",
|
|
"discourse-common": "1.0.0",
|
|
"ember-auto-import": "^2.6.3",
|
|
"markdown-it": "^13.0.2"
|
|
},
|
|
"peerDependencies": {
|
|
"discourse-i18n": "1.0.0",
|
|
"pretty-text": "1.0.0",
|
|
"xss": "*"
|
|
},
|
|
"engines": {
|
|
"node": "16.* || >= 18",
|
|
"npm": "please-use-yarn",
|
|
"yarn": ">= 1.21.1"
|
|
},
|
|
"ember": {
|
|
"edition": "octane"
|
|
},
|
|
"ember-addon": {
|
|
"version": 2,
|
|
"type": "addon",
|
|
"main": "addon-main.cjs",
|
|
"app-js": {}
|
|
}
|
|
}
|