From 885614f1e5c0e23bc6f0407e8bbece99ccc00b21 Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Sun, 19 Jul 2026 15:29:21 +0200 Subject: [PATCH 1/7] chore: link docs enriched-html package to local source --- docs/docusaurus.config.js | 39 ++++ docs/package.json | 1 - docs/yarn.lock | 477 +------------------------------------- 3 files changed, 40 insertions(+), 477 deletions(-) diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 75f30d672..0aacead1e 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -1,6 +1,8 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion +const path = require('path'); + const lightCodeTheme = require('./src/theme/CodeBlock/highlighting-light.js'); const darkCodeTheme = require('./src/theme/CodeBlock/highlighting-dark.js'); @@ -19,6 +21,41 @@ function reactNativeWebPlugin() { }; } +// TEMP (docs in progress): consume react-native-enriched-html from the local +// package source instead of the published npm build, so the docs can use +// features that are merged but not yet released. +function enrichedHtmlLocalSourcePlugin() { + const librarySource = path.resolve(__dirname, '../src'); + return { + name: 'enriched-html-local-source', + configureWebpack(_config, isServer, utils) { + return { + module: { + rules: [ + { + test: /\.tsx?$/, + include: librarySource, + use: [utils.getJSLoader({ isServer })], + }, + ], + }, + resolve: { + alias: { + 'react-native-enriched-html$': path.resolve( + librarySource, + 'index.tsx' + ), + // The react-native-enriched-html has separate react and react-dom dependencies in node_modules, + // so React would otherwise be resolved from the repo root and bundled twice. + 'react': path.resolve(__dirname, 'node_modules/react'), + 'react-dom': path.resolve(__dirname, 'node_modules/react-dom'), + }, + }, + }; + }, + }; +} + /** @type {import('@docusaurus/types').Config} */ const config = { title: 'React Native Enriched HTML', @@ -81,6 +118,8 @@ const config = { plugins: [ reactNativeWebPlugin, + // TEMP (docs in progress): see the plugin definition above. + enrichedHtmlLocalSourcePlugin, function transpileTRexUiTheme() { return { name: 'transpile-t-rex-ui-theme', diff --git a/docs/package.json b/docs/package.json index ea1d49c9e..04ad4fb38 100644 --- a/docs/package.json +++ b/docs/package.json @@ -35,7 +35,6 @@ "react": "19.1.1", "react-dom": "19.1.1", "react-native": "0.86.0", - "react-native-enriched-html": "1.0.1", "react-native-web": "0.21.2" }, "resolutions": { diff --git a/docs/yarn.lock b/docs/yarn.lock index 1ff021f02..49aa76212 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -2919,32 +2919,6 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.8.0": - version: 1.8.0 - resolution: "@floating-ui/core@npm:1.8.0" - dependencies: - "@floating-ui/utils": "npm:^0.2.12" - checksum: 10c0/cece958f6fab0f8cd7740cd57988c4f8bc5356dca39dd4c093433d44c91952c3a02c7a54d93d7ed6c078b6544d531a29f66621d2839c8bfbb4467dca6aed7df0 - languageName: node - linkType: hard - -"@floating-ui/dom@npm:^1.0.0": - version: 1.8.0 - resolution: "@floating-ui/dom@npm:1.8.0" - dependencies: - "@floating-ui/core": "npm:^1.8.0" - "@floating-ui/utils": "npm:^0.2.12" - checksum: 10c0/c32b2de7a596b69cfffa909c7028825e14f6319be1b45da529f8943c89fe16b75a49c214e800c87ded3f172353d3b99163d50072f11410488e756961b7b629cc - languageName: node - linkType: hard - -"@floating-ui/utils@npm:^0.2.12": - version: 0.2.12 - resolution: "@floating-ui/utils@npm:0.2.12" - checksum: 10c0/bb910b90d56991a62011afaf5f8e0c4b7fb6dab69403f4dd17fbd6eb25560b28d533dff9791f270b4f459852e9006a1077b5d73cbedb5e34d9424afc6a828314 - languageName: node - linkType: hard - "@hapi/hoek@npm:^9.0.0, @hapi/hoek@npm:^9.3.0": version: 9.3.0 resolution: "@hapi/hoek@npm:9.3.0" @@ -4127,233 +4101,6 @@ __metadata: languageName: node linkType: hard -"@tiptap/core@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/core@npm:3.27.1" - peerDependencies: - "@tiptap/pm": 3.27.1 - checksum: 10c0/222a3adbc31f5ea2d439e59b87aa108b886d8e4703d83e2f22c4df474869abeac84e7c02004881bc87f3317f656f830a85125aa35a3597d3b8dd3c68c427064c - languageName: node - linkType: hard - -"@tiptap/extension-blockquote@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-blockquote@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/bbe88f9a0c81d4024492e0366bec8c3c947bba8ff949d1bfa0e43399b2dd9176eb2e588209b7e1a9a01c38841ea16d0926a838f6705fb720fbb39e393a3b1236 - languageName: node - linkType: hard - -"@tiptap/extension-bold@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-bold@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/830f05176c58289a48e7b1647a35089d02bf0a03bb9aa4079959d04882a7bff7f092a978c7f104e18fea159ceeae38d7e1b4b22c0d593e25e5ba4d8135973c11 - languageName: node - linkType: hard - -"@tiptap/extension-bubble-menu@npm:^3.27.1": - version: 3.28.0 - resolution: "@tiptap/extension-bubble-menu@npm:3.28.0" - dependencies: - "@floating-ui/dom": "npm:^1.0.0" - peerDependencies: - "@tiptap/core": 3.28.0 - "@tiptap/pm": 3.28.0 - checksum: 10c0/ffc5152e0026785ddee586b738e75acb90883a13019e685c8f7c88a58683967a06005ef8e803caf7b83f904a4b8ad21a23b85e5a8e1f8b331ef89cb8d111060a - languageName: node - linkType: hard - -"@tiptap/extension-code@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-code@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/39c6f9975545c35c8cce6ab21686e24835ef33c9adb111f0b357b2409360754d90a5a84562e0b276298b9e3fccb219667614832e944890be58efa20a1e24a656 - languageName: node - linkType: hard - -"@tiptap/extension-document@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-document@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/7efc37d644fecb2bc26698f515b05c8624e2d1a929fee76ee9e663dab95d8c056bb8f3534c43d8cf32e9c0baac68112dfc05f75ae46a8a9308b6f57c235fed9b - languageName: node - linkType: hard - -"@tiptap/extension-floating-menu@npm:^3.27.1": - version: 3.28.0 - resolution: "@tiptap/extension-floating-menu@npm:3.28.0" - peerDependencies: - "@floating-ui/dom": ^1.0.0 - "@tiptap/core": 3.28.0 - "@tiptap/pm": 3.28.0 - checksum: 10c0/a5a895761841d55c668ba89ef19d7fafd0cb1e4137d4c78e3ffb9cb560f4ef385069688f4ef8d17610201b4e3cee9baf1180a389c60ad25a707a1562bfcd82bc - languageName: node - linkType: hard - -"@tiptap/extension-heading@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-heading@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/d0cfc6bb29dd9bc0839672da5901a75f7b3b4799a324221162e9e3fb41cff1b85f3be34b0f1fbe008cb585119bb397f442a933eda2dd7ff2a20bd6f4be7d08ef - languageName: node - linkType: hard - -"@tiptap/extension-history@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-history@npm:3.27.1" - peerDependencies: - "@tiptap/extensions": 3.27.1 - checksum: 10c0/b55e5a9d3e6a4045cadd0ee3eff9eeb60e49af55200150ab7af0cb5ab33be453310796ff5497ee154d9d0168b0c60cda04e375c00ee702c9d4d519d75e497121 - languageName: node - linkType: hard - -"@tiptap/extension-image@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-image@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/c53d6200997b4ebc4f73f6a7a04cf7064c43caa9de98eac98882e70e866b3549de7a8ef1853998cb481cd3c1aa56fd1c5278b4293c758ff57fe31a6b09358a9c - languageName: node - linkType: hard - -"@tiptap/extension-italic@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-italic@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/d65771eb363e952bfbf5f7b532cc6eaf8711d235cb8cec8c028a88ee1464bde39ab8c20236662bdbae88d11ec2fc92723da9a241bbe6e500579bb04d66b7b080 - languageName: node - linkType: hard - -"@tiptap/extension-link@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-link@npm:3.27.1" - dependencies: - linkifyjs: "npm:^4.3.3" - peerDependencies: - "@tiptap/core": 3.27.1 - "@tiptap/pm": 3.27.1 - checksum: 10c0/ff49533091f2888b5b289180d938e567e20446359cda7b95c1c49cb18634dc6b873e1d41b1bc6b7cee6380a0d87e3c3c93a264ef79e873d8200a3fd8407e4e5c - languageName: node - linkType: hard - -"@tiptap/extension-list@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-list@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - "@tiptap/pm": 3.27.1 - checksum: 10c0/3a6b4cf750ad9e244f32177dcb23b6dfcfa19e99e05a51c32b914790a118368acf22ff038fe4f6e89eaa2959aa74243c4d6fe841729f8d4eaa4b31530d900508 - languageName: node - linkType: hard - -"@tiptap/extension-paragraph@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-paragraph@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/aa8b8b42d9506634fdcf0f9a391ca27fb6af4c1f1e2b0427fad71142542bf90d68bd0dead45c856b194b50029c7014fd2451ab37857b40d2acf3243f6d12fa89 - languageName: node - linkType: hard - -"@tiptap/extension-strike@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-strike@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/7bdec226b37e143de81b7181a0ec62ed3281a53562817aa31bea4833f11f61c8360f72c4b698bd9a5f1bc9af84820b781a5ad6c2146b6cc313ea1b2bd78ac848 - languageName: node - linkType: hard - -"@tiptap/extension-text-align@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-text-align@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/9d020a2dfde9dc26c2df59a6912e3f7bbf5247ff6a911aef0fb9cef809caf2a0fa2c03086c38c1a1ffb4e9fb3b447f43018954d98262636ab03732d3deebedf8 - languageName: node - linkType: hard - -"@tiptap/extension-text@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-text@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/6ca3675edd8518920523844cdbd6daa3849ff84553fcf1a1adf7dba1dedc776dedc330a491a02818a73700b79870542dfa1cc6c9e6cdd55df49fd33c5127805d - languageName: node - linkType: hard - -"@tiptap/extension-underline@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extension-underline@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - checksum: 10c0/f6e77bfb36b1b8b972702bff1ffaf5ede407037bc4a02b3b0c9531315779e07ba12fd3550a734725fdfe648d1c358360648d4a4c9f28889368e61ceb149c6a7c - languageName: node - linkType: hard - -"@tiptap/extensions@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/extensions@npm:3.27.1" - peerDependencies: - "@tiptap/core": 3.27.1 - "@tiptap/pm": 3.27.1 - checksum: 10c0/95d43644870fcebed455ee67e7527c4a086286cdd186407fd774307ca5a3f517d73ca51df852f4671825032cb408796d755baa8de8732078c1174c3702ca46cf - languageName: node - linkType: hard - -"@tiptap/pm@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/pm@npm:3.27.1" - dependencies: - prosemirror-changeset: "npm:^2.3.0" - prosemirror-commands: "npm:^1.6.2" - prosemirror-dropcursor: "npm:^1.8.1" - prosemirror-gapcursor: "npm:^1.3.2" - prosemirror-history: "npm:^1.4.1" - prosemirror-inputrules: "npm:^1.4.0" - prosemirror-keymap: "npm:^1.2.3" - prosemirror-model: "npm:^1.25.7" - prosemirror-schema-list: "npm:^1.5.0" - prosemirror-state: "npm:^1.4.4" - prosemirror-tables: "npm:^1.8.0" - prosemirror-transform: "npm:^1.12.0" - prosemirror-view: "npm:^1.41.8" - checksum: 10c0/0345fb3290528ddd9c5813aa2500d7d6f8182bc259b2b463771368fec07175311b79afba82619ac9d63daff04c897400123f18b5c6218fce2a31e9b6b3f5d047 - languageName: node - linkType: hard - -"@tiptap/react@npm:3.27.1": - version: 3.27.1 - resolution: "@tiptap/react@npm:3.27.1" - dependencies: - "@tiptap/extension-bubble-menu": "npm:^3.27.1" - "@tiptap/extension-floating-menu": "npm:^3.27.1" - "@types/use-sync-external-store": "npm:^0.0.6" - fast-equals: "npm:^5.3.3" - use-sync-external-store: "npm:^1.4.0" - peerDependencies: - "@tiptap/core": 3.27.1 - "@tiptap/pm": 3.27.1 - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - "@types/react-dom": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - dependenciesMeta: - "@tiptap/extension-bubble-menu": - optional: true - "@tiptap/extension-floating-menu": - optional: true - checksum: 10c0/3f7c8ba1894bce6a9883050f21d690b9b8f5170d8d4399acd3a6eac75ae0c7854f98314853d4e120466a6e0aeecd932df597cb0f5348df7d11df611eb48696db - languageName: node - linkType: hard - "@types/body-parser@npm:*": version: 1.19.6 resolution: "@types/body-parser@npm:1.19.6" @@ -5074,13 +4821,6 @@ __metadata: languageName: node linkType: hard -"@types/use-sync-external-store@npm:^0.0.6": - version: 0.0.6 - resolution: "@types/use-sync-external-store@npm:0.0.6" - checksum: 10c0/77c045a98f57488201f678b181cccd042279aff3da34540ad242f893acc52b358bd0a8207a321b8ac09adbcef36e3236944390e2df4fcedb556ce7bb2a88f2a8 - languageName: node - linkType: hard - "@types/ws@npm:^8.5.10": version: 8.18.1 resolution: "@types/ws@npm:8.18.1" @@ -7536,7 +7276,6 @@ __metadata: react: "npm:19.1.1" react-dom: "npm:19.1.1" react-native: "npm:0.86.0" - react-native-enriched-html: "npm:1.0.1" react-native-web: "npm:0.21.2" languageName: unknown linkType: soft @@ -7607,7 +7346,7 @@ __metadata: languageName: node linkType: hard -"dompurify@npm:3.4.11, dompurify@npm:^3.3.3": +"dompurify@npm:^3.3.3": version: 3.4.11 resolution: "dompurify@npm:3.4.11" dependencies: @@ -8172,13 +7911,6 @@ __metadata: languageName: node linkType: hard -"fast-equals@npm:^5.3.3": - version: 5.4.1 - resolution: "fast-equals@npm:5.4.1" - checksum: 10c0/18faf5894c39591d61e802b2f574cbc57d2ff2530c71b8cd4e2b4f3c250174002a9aa0b5f4d6f61073a9942a96d71bc7f36514a9b0dc9a2a5cc3395b2a910dbf - languageName: node - linkType: hard - "fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" @@ -9902,13 +9634,6 @@ __metadata: languageName: node linkType: hard -"linkifyjs@npm:^4.3.3": - version: 4.3.3 - resolution: "linkifyjs@npm:4.3.3" - checksum: 10c0/0eac293927f1465d13625c8c67c83c50d7fda9137c255a4a2ff5970ea4e9ba57de4846b170326e54b9e4e82be24f3705572bc50773737be9b13af5f1e4577798 - languageName: node - linkType: hard - "loader-runner@npm:^4.3.1": version: 4.3.2 resolution: "loader-runner@npm:4.3.2" @@ -11652,13 +11377,6 @@ __metadata: languageName: node linkType: hard -"orderedmap@npm:^2.0.0": - version: 2.1.1 - resolution: "orderedmap@npm:2.1.1" - checksum: 10c0/8d7d266659d1828937046e8b2a7b5f75914e0391db985da0ca75cd2246cccbf6d6f3a0886aa2034da15ee4923e8c45f95f8b588f575f535f0adecdefccc54634 - languageName: node - linkType: hard - "p-cancelable@npm:^3.0.0": version: 3.0.0 resolution: "p-cancelable@npm:3.0.0" @@ -12905,145 +12623,6 @@ __metadata: languageName: node linkType: hard -"prosemirror-changeset@npm:^2.3.0": - version: 2.4.1 - resolution: "prosemirror-changeset@npm:2.4.1" - dependencies: - prosemirror-transform: "npm:^1.0.0" - checksum: 10c0/ca6b6bab73809dbb8554cddc0a3af666db8bcfed57938314ce6b04b28e41ea355441eaadabcddd9c785727219ad3779534dfa6e33521f0d333e90788b8dc9e3c - languageName: node - linkType: hard - -"prosemirror-commands@npm:^1.6.2": - version: 1.7.1 - resolution: "prosemirror-commands@npm:1.7.1" - dependencies: - prosemirror-model: "npm:^1.0.0" - prosemirror-state: "npm:^1.0.0" - prosemirror-transform: "npm:^1.10.2" - checksum: 10c0/4884ea7a66b79b51e72bb2ef358284d70e9a071deb4cbfab3dd8ee3449e9a0e34cb391d92f487c013d3716b823fc5568ad5e409a9444b3630ae0b87617c2fca1 - languageName: node - linkType: hard - -"prosemirror-dropcursor@npm:^1.8.1": - version: 1.8.3 - resolution: "prosemirror-dropcursor@npm:1.8.3" - dependencies: - prosemirror-state: "npm:^1.0.0" - prosemirror-transform: "npm:^1.1.0" - prosemirror-view: "npm:^1.1.0" - checksum: 10c0/123381f83a1843ee97d98143bde070cef727dbd20228f63bf7ebf30446d4352baf6982702de9907b27b7958a33d46c8c3d1a274331862c8d7a5912c838a6abce - languageName: node - linkType: hard - -"prosemirror-gapcursor@npm:^1.3.2": - version: 1.4.1 - resolution: "prosemirror-gapcursor@npm:1.4.1" - dependencies: - prosemirror-keymap: "npm:^1.0.0" - prosemirror-model: "npm:^1.0.0" - prosemirror-state: "npm:^1.0.0" - prosemirror-view: "npm:^1.0.0" - checksum: 10c0/1719ef91274d0f76f6c5e667d839aae0576e38b1fc08e178425fa076821ef3da88ebd0fe40049d7dd157aa224672270e569f032316de9de588a1baabcfe802f1 - languageName: node - linkType: hard - -"prosemirror-history@npm:^1.4.1": - version: 1.5.0 - resolution: "prosemirror-history@npm:1.5.0" - dependencies: - prosemirror-state: "npm:^1.2.2" - prosemirror-transform: "npm:^1.0.0" - prosemirror-view: "npm:^1.31.0" - rope-sequence: "npm:^1.3.0" - checksum: 10c0/9f24c99316c30a52ff40ddd59fc83b5180f1326ee6f466bfa82b847a503b0cdff234c35d5e3decb39ae1382a189ceec7462333ed7d6c34e2c95921892bb98b78 - languageName: node - linkType: hard - -"prosemirror-inputrules@npm:^1.4.0": - version: 1.5.1 - resolution: "prosemirror-inputrules@npm:1.5.1" - dependencies: - prosemirror-state: "npm:^1.0.0" - prosemirror-transform: "npm:^1.0.0" - checksum: 10c0/cff1ff9f7e726bf324e6cddd2c48984e6b2970cc98cd5dc59e6dbe2e9df0e01e4a2d100c77c721067804170b9607769c0fee7c98f2cfb4f3cff9af919fce31b9 - languageName: node - linkType: hard - -"prosemirror-keymap@npm:^1.0.0, prosemirror-keymap@npm:^1.2.3": - version: 1.2.3 - resolution: "prosemirror-keymap@npm:1.2.3" - dependencies: - prosemirror-state: "npm:^1.0.0" - w3c-keyname: "npm:^2.2.0" - checksum: 10c0/0ec2f8bd9b608d0e6a0cdab1d66f9a6b41edcff0239b32ccca1018a0733e52448e4758218a2d472fb8c33c1609426dc6bad4944b28c1c3d509a83201a23035e9 - languageName: node - linkType: hard - -"prosemirror-model@npm:^1.0.0, prosemirror-model@npm:^1.21.0, prosemirror-model@npm:^1.25.4, prosemirror-model@npm:^1.25.7, prosemirror-model@npm:^1.25.8": - version: 1.25.11 - resolution: "prosemirror-model@npm:1.25.11" - dependencies: - orderedmap: "npm:^2.0.0" - checksum: 10c0/e41faa477414160a602289b778189163b39a4563799defea1862183087f9ec77f02c292e3e79dd32fcc1a8878aedbdcea50f0f752ee03fe64c24ce6780b82205 - languageName: node - linkType: hard - -"prosemirror-schema-list@npm:^1.5.0": - version: 1.5.1 - resolution: "prosemirror-schema-list@npm:1.5.1" - dependencies: - prosemirror-model: "npm:^1.0.0" - prosemirror-state: "npm:^1.0.0" - prosemirror-transform: "npm:^1.7.3" - checksum: 10c0/e6fd27446bc90556a9797f6ca0cb54e7db53cc7c20fbf633b7d0f4709c45accfa2f3a0f6575fe47aa83cb75781a9b773198d236a44db9d8eef2802a1501e4301 - languageName: node - linkType: hard - -"prosemirror-state@npm:^1.0.0, prosemirror-state@npm:^1.2.2, prosemirror-state@npm:^1.4.4": - version: 1.4.4 - resolution: "prosemirror-state@npm:1.4.4" - dependencies: - prosemirror-model: "npm:^1.0.0" - prosemirror-transform: "npm:^1.0.0" - prosemirror-view: "npm:^1.27.0" - checksum: 10c0/1428636a37c127afe0d11a4f4eb44d75a7f16717940405082bd16fa4c28cfeef9375d49f48e411e5f0fa26f3e5798af7f270edc9bc9b0e647df8bb79983bcd59 - languageName: node - linkType: hard - -"prosemirror-tables@npm:^1.8.0": - version: 1.8.5 - resolution: "prosemirror-tables@npm:1.8.5" - dependencies: - prosemirror-keymap: "npm:^1.2.3" - prosemirror-model: "npm:^1.25.4" - prosemirror-state: "npm:^1.4.4" - prosemirror-transform: "npm:^1.10.5" - prosemirror-view: "npm:^1.41.4" - checksum: 10c0/d6e8cd9d333987ce6492202d5f815b268bb9a722d81456628eff999444d44fa97e8a801a5a20a44e678892f37053f314885d5a03e1df834653e3ea455f0f9290 - languageName: node - linkType: hard - -"prosemirror-transform@npm:^1.0.0, prosemirror-transform@npm:^1.1.0, prosemirror-transform@npm:^1.10.2, prosemirror-transform@npm:^1.10.5, prosemirror-transform@npm:^1.12.0, prosemirror-transform@npm:^1.7.3": - version: 1.12.0 - resolution: "prosemirror-transform@npm:1.12.0" - dependencies: - prosemirror-model: "npm:^1.21.0" - checksum: 10c0/e9e94fbb36fa53badc73d27833bac834835246f28a6176fb33c65a85c9025da0c08ac503f860898591a14fcacef58ba18a29e8df5a916cf376084bc17f324753 - languageName: node - linkType: hard - -"prosemirror-view@npm:^1.0.0, prosemirror-view@npm:^1.1.0, prosemirror-view@npm:^1.27.0, prosemirror-view@npm:^1.31.0, prosemirror-view@npm:^1.41.4, prosemirror-view@npm:^1.41.8": - version: 1.42.1 - resolution: "prosemirror-view@npm:1.42.1" - dependencies: - prosemirror-model: "npm:^1.25.8" - prosemirror-state: "npm:^1.0.0" - prosemirror-transform: "npm:^1.1.0" - checksum: 10c0/159131ef97b274fa9604dae5e7089dc9046bf536ef4aa561698582ea305413fe758a717fc22bad3dfb0c1781a3e986ef910c0f84fb018d92c61d549a7abd9d97 - languageName: node - linkType: hard - "proto-list@npm:~1.2.1": version: 1.2.4 resolution: "proto-list@npm:1.2.4" @@ -13291,37 +12870,6 @@ __metadata: languageName: node linkType: hard -"react-native-enriched-html@npm:1.0.1": - version: 1.0.1 - resolution: "react-native-enriched-html@npm:1.0.1" - dependencies: - "@tiptap/core": "npm:3.27.1" - "@tiptap/extension-blockquote": "npm:3.27.1" - "@tiptap/extension-bold": "npm:3.27.1" - "@tiptap/extension-code": "npm:3.27.1" - "@tiptap/extension-document": "npm:3.27.1" - "@tiptap/extension-heading": "npm:3.27.1" - "@tiptap/extension-history": "npm:3.27.1" - "@tiptap/extension-image": "npm:3.27.1" - "@tiptap/extension-italic": "npm:3.27.1" - "@tiptap/extension-link": "npm:3.27.1" - "@tiptap/extension-list": "npm:3.27.1" - "@tiptap/extension-paragraph": "npm:3.27.1" - "@tiptap/extension-strike": "npm:3.27.1" - "@tiptap/extension-text": "npm:3.27.1" - "@tiptap/extension-text-align": "npm:3.27.1" - "@tiptap/extension-underline": "npm:3.27.1" - "@tiptap/extensions": "npm:3.27.1" - "@tiptap/pm": "npm:3.27.1" - "@tiptap/react": "npm:3.27.1" - dompurify: "npm:3.4.11" - peerDependencies: - react: "*" - react-native: "*" - checksum: 10c0/692120bc1bb9bd1698e9d0909d7ec34ef0879b22665da657b27502bb7c86d05fbc3e52981e0d66c6124e779a1844a4e0dde17c7f81932c3fd70e73c43135aeb2 - languageName: node - linkType: hard - "react-native-web@npm:0.21.2": version: 0.21.2 resolution: "react-native-web@npm:0.21.2" @@ -13887,13 +13435,6 @@ __metadata: languageName: node linkType: hard -"rope-sequence@npm:^1.3.0": - version: 1.3.4 - resolution: "rope-sequence@npm:1.3.4" - checksum: 10c0/caa90be3d7a7cad155fb354a4679a1280dc9819c81bd319542a0d893a64e152284abb9cc1631d4351b328016a8d6c35a48c912234edfaf5173daef44b2e3609b - languageName: node - linkType: hard - "roughjs@npm:^4.6.6": version: 4.6.6 resolution: "roughjs@npm:4.6.6" @@ -15193,15 +14734,6 @@ __metadata: languageName: node linkType: hard -"use-sync-external-store@npm:^1.4.0": - version: 1.6.0 - resolution: "use-sync-external-store@npm:1.6.0" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - checksum: 10c0/35e1179f872a53227bdf8a827f7911da4c37c0f4091c29b76b1e32473d1670ebe7bcd880b808b7549ba9a5605c233350f800ffab963ee4a4ee346ee983b6019b - languageName: node - linkType: hard - "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -15299,13 +14831,6 @@ __metadata: languageName: node linkType: hard -"w3c-keyname@npm:^2.2.0": - version: 2.2.8 - resolution: "w3c-keyname@npm:2.2.8" - checksum: 10c0/37cf335c90efff31672ebb345577d681e2177f7ff9006a9ad47c68c5a9d265ba4a7b39d6c2599ceea639ca9315584ce4bd9c9fbf7a7217bfb7a599e71943c4c4 - languageName: node - linkType: hard - "walker@npm:^1.0.7": version: 1.0.8 resolution: "walker@npm:1.0.8" From 23c2ced8eef69f345ffbbf84d5646253c1bf79e1 Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Sun, 19 Jul 2026 16:45:27 +0200 Subject: [PATCH 2/7] chore: typecheck and linting in docs --- docs/docusaurus.config.js | 7 ++++--- docs/tsconfig.json | 14 ++++++++++++++ eslint.config.mjs | 12 +++++++++++- package.json | 3 ++- 4 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 docs/tsconfig.json diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 0aacead1e..7ec460e1a 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -178,9 +178,10 @@ const config = { dropdownActiveClassDisabled: true, }, { - href: 'https://github.com/software-mansion/react-native-enriched-html/', - position: 'right', - className: 'header-github', + 'href': + 'https://github.com/software-mansion/react-native-enriched-html/', + 'position': 'right', + 'className': 'header-github', 'aria-label': 'GitHub repository', }, ], diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 000000000..2eb7fc302 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": ["../tsconfig.base.json", "@docusaurus/tsconfig"], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@site/*": ["./*"], + // TEMP (docs in progress): resolve react-native-enriched-html from the + // local package source. See more details in docusaurus.config.js file. + "react-native-enriched-html": ["../src/index.tsx"], + }, + }, + "exclude": [".docusaurus", "build"], + "include": ["src/examples"], +} diff --git a/eslint.config.mjs b/eslint.config.mjs index 8126d849f..803a952c6 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -33,6 +33,16 @@ export default defineConfig([ }, }, { - ignores: ['node_modules/', 'lib/', 'apps/example-web/dist/', 'cpp/build/'], + ignores: [ + 'node_modules/', + 'lib/', + 'apps/example-web/dist/', + 'cpp/build/', + 'docs/**/*', + '!docs/src', + '!docs/src/examples', + '!docs/src/examples/**', + '!docs/*', + ], }, ]); diff --git a/package.json b/package.json index 8236571ca..222fd436f 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,11 @@ "example": "yarn workspace react-native-enriched-example", "example-web": "yarn workspace react-native-enriched-web-example", "test": "jest --passWithNoTests", - "typecheck": "yarn typecheck:lib && yarn typecheck:example && yarn typecheck:example-web", + "typecheck": "yarn typecheck:lib && yarn typecheck:example && yarn typecheck:example-web && yarn typecheck:docs", "typecheck:lib": "tsc -p tsconfig.build.json", "typecheck:example": "tsc -p apps/example/tsconfig.json", "typecheck:example-web": "tsc -p apps/example-web/tsconfig.app.json", + "typecheck:docs": "tsc -p docs/tsconfig.json", "lint": "eslint \"**/*.{js,ts,tsx}\"", "lint:android": "cd apps/example/android && ./gradlew lintVerify", "lint:android:fix": "cd apps/example/android && ./gradlew lintFormat", From 3ebccf9308596003d9503776c317ff2657427991 Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Mon, 20 Jul 2026 11:42:12 +0200 Subject: [PATCH 3/7] refactor: remove comments --- docs/docusaurus.config.js | 4 ---- docs/tsconfig.json | 2 -- 2 files changed, 6 deletions(-) diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 7ec460e1a..ef7083460 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -21,9 +21,6 @@ function reactNativeWebPlugin() { }; } -// TEMP (docs in progress): consume react-native-enriched-html from the local -// package source instead of the published npm build, so the docs can use -// features that are merged but not yet released. function enrichedHtmlLocalSourcePlugin() { const librarySource = path.resolve(__dirname, '../src'); return { @@ -118,7 +115,6 @@ const config = { plugins: [ reactNativeWebPlugin, - // TEMP (docs in progress): see the plugin definition above. enrichedHtmlLocalSourcePlugin, function transpileTRexUiTheme() { return { diff --git a/docs/tsconfig.json b/docs/tsconfig.json index 2eb7fc302..deebfe944 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -4,8 +4,6 @@ "baseUrl": ".", "paths": { "@site/*": ["./*"], - // TEMP (docs in progress): resolve react-native-enriched-html from the - // local package source. See more details in docusaurus.config.js file. "react-native-enriched-html": ["../src/index.tsx"], }, }, From 92324a0f86a388ac6a38df056dfee72364a91ead Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Mon, 20 Jul 2026 12:47:57 +0200 Subject: [PATCH 4/7] docs: update tsconfig --- docs/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tsconfig.json b/docs/tsconfig.json index deebfe944..a9d1ea357 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": ["../tsconfig.base.json", "@docusaurus/tsconfig"], + "extends": ["../tsconfig.base.json"], "compilerOptions": { "baseUrl": ".", "paths": { From 3a769f44ce2583fd857d0cc38ab5226ceaf1435b Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Mon, 20 Jul 2026 13:16:15 +0200 Subject: [PATCH 5/7] fix: local source packages installation on ci builds --- .github/workflows/docs-build.yml | 8 +++++++- .github/workflows/docs-publish.yml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index 81df8ad19..357744079 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -22,7 +22,13 @@ jobs: with: node-version: 22 cache: yarn - cache-dependency-path: docs/yarn.lock + cache-dependency-path: | + yarn.lock + docs/yarn.lock + + - name: Install library dependencies (local source) + working-directory: ${{ github.workspace }} + run: yarn install --immutable - name: Install dependencies run: yarn install --immutable diff --git a/.github/workflows/docs-publish.yml b/.github/workflows/docs-publish.yml index 2bbd08cab..5f18a5668 100644 --- a/.github/workflows/docs-publish.yml +++ b/.github/workflows/docs-publish.yml @@ -27,7 +27,13 @@ jobs: with: node-version: 22 cache: yarn - cache-dependency-path: docs/yarn.lock + cache-dependency-path: | + yarn.lock + docs/yarn.lock + + - name: Install library dependencies (local source) + working-directory: ${{ github.workspace }} + run: yarn install --immutable - name: Install dependencies run: yarn install --immutable From 7db83cdaaf0a8ae4bd10d0534d72830a80f364fd Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz <146986839+hejsztynx@users.noreply.github.com> Date: Mon, 20 Jul 2026 13:39:05 +0200 Subject: [PATCH 6/7] cleanup Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- docs/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tsconfig.json b/docs/tsconfig.json index a9d1ea357..667e75b5f 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": ["../tsconfig.base.json"], + "extends": "../tsconfig.base.json", "compilerOptions": { "baseUrl": ".", "paths": { From 34fa7e0d1f68f7e58f4233198d4017e71d129fbf Mon Sep 17 00:00:00 2001 From: Krystian Sienkiewicz Date: Tue, 21 Jul 2026 10:28:18 +0200 Subject: [PATCH 7/7] refactor: clarifying comment --- eslint.config.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/eslint.config.mjs b/eslint.config.mjs index 803a952c6..972b2260b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -38,6 +38,9 @@ export default defineConfig([ 'lib/', 'apps/example-web/dist/', 'cpp/build/', + // excludes all docs/ except: + // - files directly in the docs/ directory + // - the docs/src/examples directory 'docs/**/*', '!docs/src', '!docs/src/examples',