diff --git a/wax-prosemirror-components/package.json b/wax-prosemirror-components/package.json index 347204e5474dda4580d605e15bd5470f3e3d96bf..13cf43d1ed4494001b4a8bf4fb2940bc94a8e7a2 100644 --- a/wax-prosemirror-components/package.json +++ b/wax-prosemirror-components/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror UI components", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" diff --git a/wax-prosemirror-components/rollup.config.js b/wax-prosemirror-components/rollup.config.js index 24921acbc8a720ca8d890a5d305cc732e8cb991f..776c3cdd2683ca66099b63794a196d3a1603d46d 100644 --- a/wax-prosemirror-components/rollup.config.js +++ b/wax-prosemirror-components/rollup.config.js @@ -22,7 +22,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: [ 'wax-prosemirror-themes', diff --git a/wax-prosemirror-core/package.json b/wax-prosemirror-core/package.json index 82aeda82bb86ae233406a5fb32a5cdcfbc44a513..e4767e473ad2678bcd33824fe0b6b36b9e00534d 100644 --- a/wax-prosemirror-core/package.json +++ b/wax-prosemirror-core/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror core", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" diff --git a/wax-prosemirror-core/rollup.config.js b/wax-prosemirror-core/rollup.config.js index f2b2c1be262df063f9b65f54b44ac8f463e43e14..15579cf57b7c5b6f2cc5e46a7de7b13ddaba4a99 100644 --- a/wax-prosemirror-core/rollup.config.js +++ b/wax-prosemirror-core/rollup.config.js @@ -26,7 +26,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: [ '@fortawesome/react-fontawesome', diff --git a/wax-prosemirror-layouts/package.json b/wax-prosemirror-layouts/package.json index 9533ba214d91187774f4934db99f8bd5ac8fab28..b808116174e1fe0d3eaebc7dc915b08c59bd8625 100644 --- a/wax-prosemirror-layouts/package.json +++ b/wax-prosemirror-layouts/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror layouts", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" diff --git a/wax-prosemirror-layouts/rollup.config.js b/wax-prosemirror-layouts/rollup.config.js index 15f2b480f1c1af25b3bbd637047338b2aca0e2b2..63bc022a1cf9e6e7d1ba75b7f0debfc20b525fef 100644 --- a/wax-prosemirror-layouts/rollup.config.js +++ b/wax-prosemirror-layouts/rollup.config.js @@ -22,7 +22,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: [ '@fortawesome/react-fontawesome', diff --git a/wax-prosemirror-plugins/index.js b/wax-prosemirror-plugins/index.js index 5377fcb7230b178788d69bf79f966224c53bd20c..72d283b67322f401b18d557fa3cd3d42652009e0 100644 --- a/wax-prosemirror-plugins/index.js +++ b/wax-prosemirror-plugins/index.js @@ -1,6 +1,5 @@ -export { - default as TrackChangePlugin -} from "./src/trackChanges/TrackChangePlugin"; +export { default as TrackChangePlugin } from './src/trackChanges/TrackChangePlugin'; -export { default as CommentPlugin } from "./src/comments/CommentPlugin"; -export { default as WaxSelectionPlugin } from "./src/WaxSelectionPlugin"; +export { default as CommentPlugin } from './src/comments/CommentPlugin'; +export { default as WaxSelectionPlugin } from './src/WaxSelectionPlugin'; +export { default as highlightPlugin } from './src/highlightPlugin'; diff --git a/wax-prosemirror-plugins/package.json b/wax-prosemirror-plugins/package.json index 448e83d5e1397f4ea8c6309365c502887562ca97..28d548f453cd92b8c0155b97d2539b43eb46b679 100644 --- a/wax-prosemirror-plugins/package.json +++ b/wax-prosemirror-plugins/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror plugins", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" @@ -16,6 +16,8 @@ "wax-prosemirror-components": "^0.0.13", "wax-prosemirror-core": "^0.0.13", "wax-prosemirror-layouts": "^0.0.13", - "wax-prosemirror-utilities": "^0.0.13" + "wax-prosemirror-utilities": "^0.0.13", + "highlight.js": "^10.1.1", + "prosemirror-highlightjs": "^0.2.0" } } diff --git a/wax-prosemirror-plugins/rollup.config.js b/wax-prosemirror-plugins/rollup.config.js index 1f3d57d4d114931c934f1d85a97d2340decdcf17..77ded1e2e3d7d5c9537e671cca11a154dfe791b2 100644 --- a/wax-prosemirror-plugins/rollup.config.js +++ b/wax-prosemirror-plugins/rollup.config.js @@ -21,6 +21,6 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], }; diff --git a/wax-prosemirror-plugins/src/highlightPlugin.js b/wax-prosemirror-plugins/src/highlightPlugin.js new file mode 100644 index 0000000000000000000000000000000000000000..40ee57e2958a57efb19fea37563766ed0832d276 --- /dev/null +++ b/wax-prosemirror-plugins/src/highlightPlugin.js @@ -0,0 +1,56 @@ +import hljs from 'highlight.js/lib/core'; +import { getHighlightDecorations } from 'prosemirror-highlightjs'; +import { DecorationSet } from 'prosemirror-view'; +import { Plugin } from 'prosemirror-state'; + +const highlightPlugin = (nodeTypes = ['code_block']) => { + return new Plugin({ + state: { + init(_, instance) { + const content = getHighlightDecorations( + instance.doc, + hljs, + nodeTypes, + () => undefined, + ); + return DecorationSet.create(instance.doc, content); + }, + apply(tr, set, state) { + if (!tr.docChanged) { + return set.map(tr.mapping, tr.doc); + } + + const { + selection: { $from, $to }, + doc, + } = state; + let codeBlock = false; + + doc.nodesBetween($from.pos, $to.pos, (node, from) => { + if (node.type.name === 'code_block') { + codeBlock = true; + } + }); + + if (codeBlock) { + const content = getHighlightDecorations( + tr.doc, + hljs, + nodeTypes, + () => undefined, + ); + + return DecorationSet.create(tr.doc, content); + } + return set.map(tr.mapping, tr.doc); + }, + }, + props: { + decorations(state) { + return this.getState(state); + }, + }, + }); +}; + +export default highlightPlugin; diff --git a/wax-prosemirror-schema/package.json b/wax-prosemirror-schema/package.json index 2ff92ca17e66b5d45594ec4c7d3580f5b5ca1b74..0a1a0bd5bdc56d1550d1813da44798008c40864e 100644 --- a/wax-prosemirror-schema/package.json +++ b/wax-prosemirror-schema/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror schema", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" diff --git a/wax-prosemirror-schema/rollup.config.js b/wax-prosemirror-schema/rollup.config.js index 43dfe7a1068c7266816a3b636d9c6a0bc3d39910..a2329d43dc9b596480b94aa0959afe51e5115c87 100644 --- a/wax-prosemirror-schema/rollup.config.js +++ b/wax-prosemirror-schema/rollup.config.js @@ -21,7 +21,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: ['uuid', 'wax-prosemirror-utilities'], }; diff --git a/wax-prosemirror-services/package.json b/wax-prosemirror-services/package.json index 87acd60fb3b9a360263d01e25d9bb77e463ab4a6..22559ee1200bcddd202490144434b03238b37115 100644 --- a/wax-prosemirror-services/package.json +++ b/wax-prosemirror-services/package.json @@ -4,18 +4,16 @@ "version": "0.0.13", "description": "Wax prosemirror services", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" }, "dependencies": { - "highlight.js": "^10.1.1", "inversify": "^5.0.1", "inversify-inject-decorators": "^3.1.0", "lodash": "^4.17.4", "prosemirror-commands": "^1.1.3", - "prosemirror-highlightjs": "^0.2.0", "prosemirror-history": "^1.1.3", "prosemirror-keymap": "^1.1.3", "prosemirror-schema-list": "^1.1.2", @@ -27,7 +25,8 @@ "wax-prosemirror-core": "^0.0.13", "wax-prosemirror-layouts": "^0.0.13", "wax-prosemirror-schema": "^0.0.13", - "wax-prosemirror-utilities": "^0.0.13" + "wax-prosemirror-utilities": "^0.0.13", + "wax-prosemirror-plugins": "^0.0.13" }, "peerDependencies": { "react": "^16.13.1", diff --git a/wax-prosemirror-services/rollup.config.js b/wax-prosemirror-services/rollup.config.js index 7e63479d193d24d2d3c9b56d1e6bb1c5f6d17704..9104a937f8191df3cbc19a85afd62c8880ec29c3 100644 --- a/wax-prosemirror-services/rollup.config.js +++ b/wax-prosemirror-services/rollup.config.js @@ -26,7 +26,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: [ 'uuid', diff --git a/wax-prosemirror-services/src/CodeBlockService/CodeBlockService.js b/wax-prosemirror-services/src/CodeBlockService/CodeBlockService.js index b1fef70169b1f3cb4b5556c49e1e46d8c9fe51b2..2e851d32204b2fe950ced53c598ede9d09b850bb 100644 --- a/wax-prosemirror-services/src/CodeBlockService/CodeBlockService.js +++ b/wax-prosemirror-services/src/CodeBlockService/CodeBlockService.js @@ -1,5 +1,4 @@ -import hljs from 'highlight.js/lib/core'; -import { highlightPlugin } from 'prosemirror-highlightjs'; +import { highlightPlugin } from 'wax-prosemirror-plugins'; import 'highlight.js/styles/github.css'; import { codeBlockNode } from 'wax-prosemirror-schema'; @@ -8,7 +7,7 @@ import CodeBlockTool from './CodeBlockTool'; export default class CodeBlockService extends Service { boot() { - this.app.PmPlugins.add('highlightPlugin', highlightPlugin(hljs)); + this.app.PmPlugins.add('highlightPlugin', highlightPlugin()); } register() { diff --git a/wax-prosemirror-themes/package.json b/wax-prosemirror-themes/package.json index c04406a394e9daf5b84570ce3e048a04b1458edd..cb35a2db4b95ed62d326d19ce708cca1d5025940 100644 --- a/wax-prosemirror-themes/package.json +++ b/wax-prosemirror-themes/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror themes", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" diff --git a/wax-prosemirror-themes/rollup.config.js b/wax-prosemirror-themes/rollup.config.js index 3c39189e3e4b21268c49f26122e133aa961bb395..8e17dca193a2ef10e475f47c0a5a8020c67b86e9 100644 --- a/wax-prosemirror-themes/rollup.config.js +++ b/wax-prosemirror-themes/rollup.config.js @@ -21,7 +21,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: ['styled-components'], }; diff --git a/wax-prosemirror-utilities/package.json b/wax-prosemirror-utilities/package.json index 396ef621c867e79eb369a6f0879621a5a2e518ce..5161ee3a4545b5c7d5f1c0c2214b8ba9b814497d 100644 --- a/wax-prosemirror-utilities/package.json +++ b/wax-prosemirror-utilities/package.json @@ -4,7 +4,7 @@ "version": "0.0.13", "description": "Wax prosemirror utilities", "license": "MIT", - "main": "dist/index.js", + "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "BABEL_ENV=production rollup -c" diff --git a/wax-prosemirror-utilities/rollup.config.js b/wax-prosemirror-utilities/rollup.config.js index be04b116222fce4550cc56a4ca3a6cd9371ff618..04222edfb6a5195cf85d9215974279aeb85317ea 100644 --- a/wax-prosemirror-utilities/rollup.config.js +++ b/wax-prosemirror-utilities/rollup.config.js @@ -21,7 +21,7 @@ export default { runtimeHelpers: true, }), commonjs(), - terser(), + // terser(), ], external: ['uuid'], };