diff --git a/demos/package.json b/demos/package.json index 1a8a0a81..c46577b6 100644 --- a/demos/package.json +++ b/demos/package.json @@ -9,8 +9,8 @@ }, "dependencies": { "@hocuspocus/provider": "^1.0.0-alpha.29", - "d3": "^7.2.1", - "fast-glob": "^3.2.7", + "d3": "^7.3.0", + "fast-glob": "^3.2.10", "remixicon": "^2.5.0", "shiki": "^0.10.0", "simplify-js": "^1.2.4", @@ -18,15 +18,15 @@ "yjs": "^13.5.23" }, "devDependencies": { - "@types/uuid": "^8.3.3", + "@types/uuid": "^8.3.4", "@vitejs/plugin-react-refresh": "^1.3.6", "@vitejs/plugin-vue": "^1.10.2", - "autoprefixer": "^10.4.1", + "autoprefixer": "^10.4.2", "iframe-resizer": "^4.3.2", "postcss": "^8.4.5", "react": "^17.0.2", "react-dom": "^17.0.2", - "sass": "^1.45.2", + "sass": "^1.47.0", "tailwindcss": "^2.2.19", "typescript": "^4.5.4", "uuid": "^8.3.2", diff --git a/demos/src/Examples/Community/React/MentionList.jsx b/demos/src/Examples/Community/React/MentionList.jsx index 40b157f4..e01b9f57 100644 --- a/demos/src/Examples/Community/React/MentionList.jsx +++ b/demos/src/Examples/Community/React/MentionList.jsx @@ -54,15 +54,18 @@ export const MentionList = forwardRef((props, ref) => { return (
- {props.items.map((item, index) => ( - - ))} + {props.items.length + ? props.items.map((item, index) => ( + + )) + :
No result
+ }
) }) diff --git a/demos/src/Examples/Community/Vue/MentionList.vue b/demos/src/Examples/Community/Vue/MentionList.vue index 3a159cb8..387f04bc 100644 --- a/demos/src/Examples/Community/Vue/MentionList.vue +++ b/demos/src/Examples/Community/Vue/MentionList.vue @@ -1,14 +1,19 @@ diff --git a/demos/src/Experiments/Commands/Vue/CommandsList.vue b/demos/src/Experiments/Commands/Vue/CommandsList.vue index d904afb6..87ce1178 100644 --- a/demos/src/Experiments/Commands/Vue/CommandsList.vue +++ b/demos/src/Experiments/Commands/Vue/CommandsList.vue @@ -1,14 +1,19 @@ diff --git a/demos/src/Nodes/Mention/React/MentionList.jsx b/demos/src/Nodes/Mention/React/MentionList.jsx index 0091b63e..2a0be1c2 100644 --- a/demos/src/Nodes/Mention/React/MentionList.jsx +++ b/demos/src/Nodes/Mention/React/MentionList.jsx @@ -51,15 +51,18 @@ export default forwardRef((props, ref) => { return (
- {props.items.map((item, index) => ( - - ))} + {props.items.length + ? props.items.map((item, index) => ( + + )) + :
No result
+ }
) }) diff --git a/demos/src/Nodes/Mention/Vue/MentionList.vue b/demos/src/Nodes/Mention/Vue/MentionList.vue index 3a159cb8..387f04bc 100644 --- a/demos/src/Nodes/Mention/Vue/MentionList.vue +++ b/demos/src/Nodes/Mention/Vue/MentionList.vue @@ -1,14 +1,19 @@ diff --git a/docs/api/nodes/code-block.md b/docs/api/nodes/code-block.md index 1208d24d..1c881d8b 100644 --- a/docs/api/nodes/code-block.md +++ b/docs/api/nodes/code-block.md @@ -22,17 +22,6 @@ npm install @tiptap/extension-code-block ## Settings -### HTMLAttributes -Custom HTML attributes that should be added to the rendered HTML tag. - -```js -CodeBlock.configure({ - HTMLAttributes: { - class: 'my-custom-class', - }, -}) -``` - ### languageClassPrefix Adds a prefix to language classes that are applied to code tags. @@ -44,6 +33,39 @@ CodeBlock.configure({ }) ``` +### exitOnTripleEnter +Define whether the node should be exited on triple enter. + +Default: `true` + +```js +CodeBlock.configure({ + exitOnTripleEnter: false, +}) +``` + +### exitOnArrowDown +Define whether the node should be exited on arrow down if there is no node after it. + +Default: `true` + +```js +CodeBlock.configure({ + exitOnArrowDown: false, +}) +``` + +### HTMLAttributes +Custom HTML attributes that should be added to the rendered HTML tag. + +```js +CodeBlock.configure({ + HTMLAttributes: { + class: 'my-custom-class', + }, +}) +``` + ## Commands ### setCodeBlock() diff --git a/docs/installation/vue3.md b/docs/installation/vue3.md index dd2c304c..91c5d29e 100644 --- a/docs/installation/vue3.md +++ b/docs/installation/vue3.md @@ -33,7 +33,7 @@ Okay, enough of the boring boilerplate work. Let’s finally install Tiptap! For npm install @tiptap/vue-3 @tiptap/starter-kit ``` -If you followed step 1 and 2, you can now start your project with `npm run dev`, and open [http://localhost:8080](http://localhost:8080) in your favorite browser. This might be different, if you’re working with an existing project. +If you followed step 1 and 2, you can now start your project with `npm run serve`, and open [http://localhost:8080](http://localhost:8080) in your favorite browser. This might be different, if you’re working with an existing project. ## 3. Create a new component To actually start using Tiptap, you’ll need to add a new component to your app. Let’s call it `Tiptap` and put the following example code in `components/Tiptap.vue`. @@ -151,6 +151,6 @@ export default { You should now see Tiptap in your browser. Time to give yourself a pat on the back! :) ## 5. Use v-model (optional) -You’re probably used to bind your data with `v-model` in forms, that’s also possible with Tiptap. Here is how that would work with Tiptap: +You’re probably used to binding your data with `v-model` in forms, that’s also possible with Tiptap. Here is how that would work with Tiptap: https://embed.tiptap.dev/preview/GuideGettingStarted/VModel diff --git a/docs/links.yaml b/docs/links.yaml index 2be86eb8..4103b70b 100644 --- a/docs/links.yaml +++ b/docs/links.yaml @@ -63,36 +63,52 @@ redirect: /examples/default items: - title: Default text editor + icon: edit-box-line link: /examples/default - title: Collaborative editing + icon: team-line link: /examples/collaborative-editing - title: Markdown shortcuts + icon: markdown-line link: /examples/markdown-shortcuts - title: Menus + icon: menu-line link: /examples/menus - title: Tables + icon: table-line link: /examples/tables - title: Images + icon: image-line link: /examples/images - title: Formatting + icon: indent-increase link: /examples/formatting - title: Tasks + icon: checkbox-multiple-line link: /examples/tasks - title: Long texts + icon: text-spacing link: /examples/book - title: Drawing + icon: pencil-ruler-line link: /examples/drawing - title: Mentions + icon: at-line link: /examples/suggestions - title: Minimal setup + icon: settings-line link: /examples/minimal - title: Force a title + icon: file-settings-line link: /examples/custom-document - title: A clever editor + icon: mental-health-line link: /examples/savvy - title: Interactivity + icon: cursor-fill link: /examples/interactivity - title: Syntax highlighting + icon: code-box-fill link: /examples/syntax-highlighting - title: Guide diff --git a/docs/overview/contributing.md b/docs/overview/contributing.md index 750c8558..f63df450 100644 --- a/docs/overview/contributing.md +++ b/docs/overview/contributing.md @@ -34,5 +34,5 @@ There is an eslint config that ensures a consistent code style. To check for err ## Testing for errors Your pull request will automatically execute all our existing tests. Make sure that they all pass, before sending a pull request. Run all tests locally with `$ yarn run test` or run single tests (e. g. when writing new ones) with `$ yarn run test:open`. -## Futher questions +## Further questions Any further questions? Create a new issue or discussion in the repository. We’ll get back to you. diff --git a/package.json b/package.json index 0b8cbd1e..581d6fca 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@lerna/project": "^4.0.0", "@rollup/plugin-babel": "^5.3.0", "@rollup/plugin-commonjs": "^21.0.1", - "@rollup/plugin-node-resolve": "^13.1.2", + "@rollup/plugin-node-resolve": "^13.1.3", "@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/parser": "^5.9.0", "babel-loader": "^8.2.3", @@ -48,7 +48,7 @@ "eslint-plugin-vue": "^8.2.0", "lerna": "^4.0.0", "minimist": "^1.2.5", - "rollup": "^2.62.0", + "rollup": "^2.63.0", "rollup-plugin-auto-external": "^2.0.0", "rollup-plugin-sourcemaps": "^0.6.3", "rollup-plugin-typescript2": "^0.31.1", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 3a903d81..3285d4c8 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,39 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.163](https://github.com/ueberdosis/tiptap/compare/@tiptap/core@2.0.0-beta.162...@tiptap/core@2.0.0-beta.163) (2022-01-13) + + +### Bug Fixes + +* support all characters for suggestion char, fix [#2385](https://github.com/ueberdosis/tiptap/issues/2385) ([42d3ee8](https://github.com/ueberdosis/tiptap/commit/42d3ee8fc9882a9fb9f87e696cebd0e6146d2e62)) + + + + + +# [2.0.0-beta.162](https://github.com/ueberdosis/tiptap/compare/@tiptap/core@2.0.0-beta.161...@tiptap/core@2.0.0-beta.162) (2022-01-11) + + +### Bug Fixes + +* Mark `@tiptap/react` and `@tiptap/core` as side effect free ([#2361](https://github.com/ueberdosis/tiptap/issues/2361)) ([e609b2d](https://github.com/ueberdosis/tiptap/commit/e609b2d11615dd85fd219731d1b73deaeccccd69)) + + + + + +# [2.0.0-beta.161](https://github.com/ueberdosis/tiptap/compare/@tiptap/core@2.0.0-beta.160...@tiptap/core@2.0.0-beta.161) (2022-01-10) + + +### Bug Fixes + +* add way to cancel inputrules and pasterules ([#2368](https://github.com/ueberdosis/tiptap/issues/2368)) ([669efd0](https://github.com/ueberdosis/tiptap/commit/669efd00e9a508bbb4d6275d47092470b2e16561)) + + + + + # [2.0.0-beta.160](https://github.com/ueberdosis/tiptap/compare/@tiptap/core@2.0.0-beta.159...@tiptap/core@2.0.0-beta.160) (2022-01-04) **Note:** Version bump only for package @tiptap/core diff --git a/packages/core/package.json b/packages/core/package.json index 0f8f83b9..af475104 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/core", "description": "headless rich text editor", - "version": "2.0.0-beta.160", + "version": "2.0.0-beta.163", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -26,7 +26,7 @@ "dependencies": { "@types/prosemirror-commands": "^1.0.4", "@types/prosemirror-keymap": "^1.0.4", - "@types/prosemirror-model": "^1.13.2", + "@types/prosemirror-model": "^1.16.0", "@types/prosemirror-schema-list": "^1.0.3", "@types/prosemirror-state": "^1.2.8", "@types/prosemirror-transform": "^1.1.5", @@ -43,5 +43,6 @@ "type": "git", "url": "https://github.com/ueberdosis/tiptap", "directory": "packages/core" - } + }, + "sideEffects": false } diff --git a/packages/core/src/ExtensionManager.ts b/packages/core/src/ExtensionManager.ts index ae7155bf..10399000 100644 --- a/packages/core/src/ExtensionManager.ts +++ b/packages/core/src/ExtensionManager.ts @@ -306,7 +306,7 @@ export class ExtensionManager { editor, rules: inputRules, }), - pasteRulesPlugin({ + ...pasteRulesPlugin({ editor, rules: pasteRules, }), diff --git a/packages/core/src/InputRule.ts b/packages/core/src/InputRule.ts index 88f18905..d147faff 100644 --- a/packages/core/src/InputRule.ts +++ b/packages/core/src/InputRule.ts @@ -33,7 +33,7 @@ export class InputRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => void + }) => void | null constructor(config: { find: InputRuleFinder, @@ -44,7 +44,7 @@ export class InputRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => void, + }) => void | null, }) { this.find = config.find this.handler = config.handler @@ -87,7 +87,7 @@ function run(config: { text: string, rules: InputRule[], plugin: Plugin, -}): any { +}): boolean { const { editor, from, @@ -148,7 +148,7 @@ function run(config: { state, }) - rule.handler({ + const handler = rule.handler({ state, range, match, @@ -158,7 +158,7 @@ function run(config: { }) // stop if there are no changes - if (!tr.steps.length) { + if (handler === null || !tr.steps.length) { return } diff --git a/packages/core/src/PasteRule.ts b/packages/core/src/PasteRule.ts index c14f0e88..4ed48f5d 100644 --- a/packages/core/src/PasteRule.ts +++ b/packages/core/src/PasteRule.ts @@ -34,7 +34,7 @@ export class PasteRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => void + }) => void | null constructor(config: { find: PasteRuleFinder, @@ -45,7 +45,7 @@ export class PasteRule { commands: SingleCommands, chain: () => ChainedCommands, can: () => CanCommands, - }) => void, + }) => void | null, }) { this.find = config.find this.handler = config.handler @@ -88,15 +88,14 @@ function run(config: { state: EditorState, from: number, to: number, - rules: PasteRule[], - plugin: Plugin, -}): any { + rule: PasteRule, +}): boolean { const { editor, state, from, to, - rules, + rule, } = config const { commands, chain, can } = new CommandManager({ @@ -104,6 +103,8 @@ function run(config: { state, }) + const handlers: (void | null)[] = [] + state.doc.nodesBetween(from, to, (node, pos) => { if (!node.isTextblock || node.type.spec.code) { return @@ -118,32 +119,36 @@ function run(config: { '\ufffc', ) - rules.forEach(rule => { - const matches = pasteRuleMatcherHandler(textToMatch, rule.find) + const matches = pasteRuleMatcherHandler(textToMatch, rule.find) - matches.forEach(match => { - if (match.index === undefined) { - return - } + matches.forEach(match => { + if (match.index === undefined) { + return + } - const start = resolvedFrom + match.index + 1 - const end = start + match[0].length - const range = { - from: state.tr.mapping.map(start), - to: state.tr.mapping.map(end), - } + const start = resolvedFrom + match.index + 1 + const end = start + match[0].length + const range = { + from: state.tr.mapping.map(start), + to: state.tr.mapping.map(end), + } - rule.handler({ - state, - range, - match, - commands, - chain, - can, - }) + const handler = rule.handler({ + state, + range, + match, + commands, + chain, + can, }) + + handlers.push(handler) }) }) + + const success = handlers.every(handler => handler !== null) + + return success } /** @@ -151,65 +156,62 @@ function run(config: { * text that matches any of the given rules to trigger the rule’s * action. */ -export function pasteRulesPlugin(props: { editor: Editor, rules: PasteRule[] }): Plugin { +export function pasteRulesPlugin(props: { editor: Editor, rules: PasteRule[] }): Plugin[] { const { editor, rules } = props let isProseMirrorHTML = false - const plugin = new Plugin({ - props: { - handlePaste: (view, event) => { - const html = event.clipboardData?.getData('text/html') + const plugins = rules.map(rule => { + return new Plugin({ + props: { + handlePaste: (view, event) => { + const html = event.clipboardData?.getData('text/html') - isProseMirrorHTML = !!html?.includes('data-pm-slice') + isProseMirrorHTML = !!html?.includes('data-pm-slice') - return false + return false + }, }, - }, - appendTransaction: (transactions, oldState, state) => { - const transaction = transactions[0] + appendTransaction: (transactions, oldState, state) => { + const transaction = transactions[0] - // stop if there is not a paste event - if (!transaction.getMeta('paste') || isProseMirrorHTML) { - return - } + // stop if there is not a paste event + if (!transaction.getMeta('paste') || isProseMirrorHTML) { + return + } - // stop if there is no changed range - const { doc, before } = transaction - const from = before.content.findDiffStart(doc.content) - const to = before.content.findDiffEnd(doc.content) + // stop if there is no changed range + const from = oldState.doc.content.findDiffStart(state.doc.content) + const to = oldState.doc.content.findDiffEnd(state.doc.content) - if (!isNumber(from) || !to || from === to.b) { - return - } + if (!isNumber(from) || !to || from === to.b) { + return + } - // build a chainable state - // so we can use a single transaction for all paste rules - const tr = state.tr - const chainableState = createChainableState({ - state, - transaction: tr, - }) + // build a chainable state + // so we can use a single transaction for all paste rules + const tr = state.tr + const chainableState = createChainableState({ + state, + transaction: tr, + }) - run({ - editor, - state: chainableState, - from: Math.max(from - 1, 0), - to: to.b, - rules, - plugin, - }) + const handler = run({ + editor, + state: chainableState, + from: Math.max(from - 1, 0), + to: to.b, + rule, + }) - // stop if there are no changes - if (!tr.steps.length) { - return - } + // stop if there are no changes + if (!handler || !tr.steps.length) { + return + } - return tr - }, - - // @ts-ignore - isPasteRules: true, + return tr + }, + }) }) - return plugin + return plugins } diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index a9028dfe..9ab8174f 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -21,6 +21,7 @@ export * from './pasteRules/markPasteRule' export * from './pasteRules/textPasteRule' export * from './utilities/callOrReturn' +export * from './utilities/escapeForRegEx' export * from './utilities/mergeAttributes' export * from './helpers/combineTransactionSteps' diff --git a/packages/core/src/inputRules/markInputRule.ts b/packages/core/src/inputRules/markInputRule.ts index 91663e34..faca667c 100644 --- a/packages/core/src/inputRules/markInputRule.ts +++ b/packages/core/src/inputRules/markInputRule.ts @@ -24,7 +24,7 @@ export function markInputRule(config: { const attributes = callOrReturn(config.getAttributes, undefined, match) if (attributes === false || attributes === null) { - return + return null } const { tr } = state diff --git a/packages/core/src/pasteRules/markPasteRule.ts b/packages/core/src/pasteRules/markPasteRule.ts index 6c0c9b1f..f4949b32 100644 --- a/packages/core/src/pasteRules/markPasteRule.ts +++ b/packages/core/src/pasteRules/markPasteRule.ts @@ -24,7 +24,7 @@ export function markPasteRule(config: { const attributes = callOrReturn(config.getAttributes, undefined, match) if (attributes === false || attributes === null) { - return + return null } const { tr } = state diff --git a/packages/core/src/utilities/escapeForRegEx.ts b/packages/core/src/utilities/escapeForRegEx.ts new file mode 100644 index 00000000..e06bd41b --- /dev/null +++ b/packages/core/src/utilities/escapeForRegEx.ts @@ -0,0 +1,4 @@ +// source: https://stackoverflow.com/a/6969486 +export function escapeForRegEx(string: string): string { + return string.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&') +} diff --git a/packages/extension-code-block-lowlight/CHANGELOG.md b/packages/extension-code-block-lowlight/CHANGELOG.md index 2811b40c..44b159ec 100644 --- a/packages/extension-code-block-lowlight/CHANGELOG.md +++ b/packages/extension-code-block-lowlight/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.65](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-code-block-lowlight@2.0.0-beta.64...@tiptap/extension-code-block-lowlight@2.0.0-beta.65) (2022-01-05) + +**Note:** Version bump only for package @tiptap/extension-code-block-lowlight + + + + + +# [2.0.0-beta.64](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-code-block-lowlight@2.0.0-beta.63...@tiptap/extension-code-block-lowlight@2.0.0-beta.64) (2022-01-05) + +**Note:** Version bump only for package @tiptap/extension-code-block-lowlight + + + + + # [2.0.0-beta.63](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-code-block-lowlight@2.0.0-beta.62...@tiptap/extension-code-block-lowlight@2.0.0-beta.63) (2022-01-04) **Note:** Version bump only for package @tiptap/extension-code-block-lowlight diff --git a/packages/extension-code-block-lowlight/package.json b/packages/extension-code-block-lowlight/package.json index fd2ca5dc..7842926e 100644 --- a/packages/extension-code-block-lowlight/package.json +++ b/packages/extension-code-block-lowlight/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-code-block-lowlight", "description": "code block extension for tiptap", - "version": "2.0.0-beta.63", + "version": "2.0.0-beta.65", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -24,7 +24,7 @@ "@tiptap/core": "^2.0.0-beta.1" }, "dependencies": { - "@tiptap/extension-code-block": "^2.0.0-beta.33", + "@tiptap/extension-code-block": "^2.0.0-beta.35", "@types/lowlight": "^0.0.3", "lowlight": "^1.20.0", "prosemirror-model": "^1.16.1", diff --git a/packages/extension-code-block/CHANGELOG.md b/packages/extension-code-block/CHANGELOG.md index 94e1428b..898e5d7b 100644 --- a/packages/extension-code-block/CHANGELOG.md +++ b/packages/extension-code-block/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.35](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-code-block@2.0.0-beta.34...@tiptap/extension-code-block@2.0.0-beta.35) (2022-01-05) + + +### Bug Fixes + +* prevent named capturing groups, fix [#2128](https://github.com/ueberdosis/tiptap/issues/2128) ([0e9930f](https://github.com/ueberdosis/tiptap/commit/0e9930f90f253f8667d1436dcf6c93279fda9aed)) + + + + + +# [2.0.0-beta.34](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-code-block@2.0.0-beta.33...@tiptap/extension-code-block@2.0.0-beta.34) (2022-01-05) + + +### Features + +* add exitOnTripleEnter and exitOnArrowDown options to CodeBlock extension ([a35b7fb](https://github.com/ueberdosis/tiptap/commit/a35b7fbe2cee0390895aaeb358503b5ead116b64)) + + + + + # [2.0.0-beta.33](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-code-block@2.0.0-beta.32...@tiptap/extension-code-block@2.0.0-beta.33) (2021-12-22) **Note:** Version bump only for package @tiptap/extension-code-block diff --git a/packages/extension-code-block/package.json b/packages/extension-code-block/package.json index 3cbc33d8..9c6a1d08 100644 --- a/packages/extension-code-block/package.json +++ b/packages/extension-code-block/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-code-block", "description": "code block extension for tiptap", - "version": "2.0.0-beta.33", + "version": "2.0.0-beta.35", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/extension-code-block/src/code-block.ts b/packages/extension-code-block/src/code-block.ts index 5d9f6651..69bdc34d 100644 --- a/packages/extension-code-block/src/code-block.ts +++ b/packages/extension-code-block/src/code-block.ts @@ -2,7 +2,24 @@ import { Node, textblockTypeInputRule } from '@tiptap/core' import { Plugin, PluginKey, TextSelection } from 'prosemirror-state' export interface CodeBlockOptions { + /** + * Adds a prefix to language classes that are applied to code tags. + * Defaults to `'language-'`. + */ languageClassPrefix: string, + /** + * Define whether the node should be exited on triple enter. + * Defaults to `true`. + */ + exitOnTripleEnter: boolean, + /** + * Define whether the node should be exited on arrow down if there is no node after it. + * Defaults to `true`. + */ + exitOnArrowDown: boolean, + /** + * Custom HTML attributes that should be added to the rendered HTML tag. + */ HTMLAttributes: Record, } @@ -21,8 +38,8 @@ declare module '@tiptap/core' { } } -export const backtickInputRegex = /^```(?[a-z]*)?[\s\n]$/ -export const tildeInputRegex = /^~~~(?[a-z]*)?[\s\n]$/ +export const backtickInputRegex = /^```([a-z]+)?[\s\n]$/ +export const tildeInputRegex = /^~~~([a-z]+)?[\s\n]$/ export const CodeBlock = Node.create({ name: 'codeBlock', @@ -30,6 +47,8 @@ export const CodeBlock = Node.create({ addOptions() { return { languageClassPrefix: 'language-', + exitOnTripleEnter: true, + exitOnArrowDown: true, HTMLAttributes: {}, } }, @@ -119,8 +138,12 @@ export const CodeBlock = Node.create({ return false }, - // escape node on triple enter + // exit node on triple enter Enter: ({ editor }) => { + if (!this.options.exitOnTripleEnter) { + return false + } + const { state } = editor const { selection } = state const { $from, empty } = selection @@ -147,8 +170,12 @@ export const CodeBlock = Node.create({ .run() }, - // escape node on arrow down + // exit node on arrow down ArrowDown: ({ editor }) => { + if (!this.options.exitOnArrowDown) { + return false + } + const { state } = editor const { selection, doc } = state const { $from, empty } = selection @@ -185,12 +212,16 @@ export const CodeBlock = Node.create({ textblockTypeInputRule({ find: backtickInputRegex, type: this.type, - getAttributes: ({ groups }) => groups, + getAttributes: match => ({ + language: match[1], + }), }), textblockTypeInputRule({ find: tildeInputRegex, type: this.type, - getAttributes: ({ groups }) => groups, + getAttributes: match => ({ + language: match[1], + }), }), ] }, diff --git a/packages/extension-heading/CHANGELOG.md b/packages/extension-heading/CHANGELOG.md index 2a495d62..8a2f4ae2 100644 --- a/packages/extension-heading/CHANGELOG.md +++ b/packages/extension-heading/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.25](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-heading@2.0.0-beta.24...@tiptap/extension-heading@2.0.0-beta.25) (2022-01-05) + + +### Bug Fixes + +* export type `Level` for external use ([#2354](https://github.com/ueberdosis/tiptap/issues/2354)) ([77095c4](https://github.com/ueberdosis/tiptap/commit/77095c4d52604b5c9d1d6cf748bb1110ea8cdd33)) + + + + + # [2.0.0-beta.24](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-heading@2.0.0-beta.23...@tiptap/extension-heading@2.0.0-beta.24) (2021-12-02) diff --git a/packages/extension-heading/package.json b/packages/extension-heading/package.json index 6a72f30a..bc814c92 100644 --- a/packages/extension-heading/package.json +++ b/packages/extension-heading/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-heading", "description": "heading extension for tiptap", - "version": "2.0.0-beta.24", + "version": "2.0.0-beta.25", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/extension-heading/src/heading.ts b/packages/extension-heading/src/heading.ts index 53625d58..5a3c285f 100644 --- a/packages/extension-heading/src/heading.ts +++ b/packages/extension-heading/src/heading.ts @@ -1,6 +1,6 @@ import { Node, mergeAttributes, textblockTypeInputRule } from '@tiptap/core' -type Level = 1 | 2 | 3 | 4 | 5 | 6 +export type Level = 1 | 2 | 3 | 4 | 5 | 6 export interface HeadingOptions { levels: Level[], diff --git a/packages/extension-highlight/CHANGELOG.md b/packages/extension-highlight/CHANGELOG.md index 6dedcaa7..8d76e808 100644 --- a/packages/extension-highlight/CHANGELOG.md +++ b/packages/extension-highlight/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.32](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-highlight@2.0.0-beta.31...@tiptap/extension-highlight@2.0.0-beta.32) (2022-01-07) + + +### Bug Fixes + +* fix a bug in the highlight regex, fix [#2355](https://github.com/ueberdosis/tiptap/issues/2355) ([b8a42fc](https://github.com/ueberdosis/tiptap/commit/b8a42fcaef7d75c1a30dbecfe403d7f0c3ec4e7d)) + + + + + # [2.0.0-beta.31](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-highlight@2.0.0-beta.30...@tiptap/extension-highlight@2.0.0-beta.31) (2021-12-02) diff --git a/packages/extension-highlight/package.json b/packages/extension-highlight/package.json index 3c076e38..9da3b50f 100644 --- a/packages/extension-highlight/package.json +++ b/packages/extension-highlight/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-highlight", "description": "highlight extension for tiptap", - "version": "2.0.0-beta.31", + "version": "2.0.0-beta.32", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/extension-highlight/src/highlight.ts b/packages/extension-highlight/src/highlight.ts index 3d3b8af7..71642cce 100644 --- a/packages/extension-highlight/src/highlight.ts +++ b/packages/extension-highlight/src/highlight.ts @@ -29,8 +29,8 @@ declare module '@tiptap/core' { } } -export const inputRegex = /(?:^|\s)((?:==)((?:[^~]+))(?:==))$/ -export const pasteRegex = /(?:^|\s)((?:==)((?:[^~]+))(?:==))/g +export const inputRegex = /(?:^|\s)((?:==)((?:[^~=]+))(?:==))$/ +export const pasteRegex = /(?:^|\s)((?:==)((?:[^~=]+))(?:==))/g export const Highlight = Mark.create({ name: 'highlight', diff --git a/packages/extension-link/CHANGELOG.md b/packages/extension-link/CHANGELOG.md index 5f6ee9b1..cb07dd2a 100644 --- a/packages/extension-link/CHANGELOG.md +++ b/packages/extension-link/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.35](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-link@2.0.0-beta.34...@tiptap/extension-link@2.0.0-beta.35) (2022-01-07) + + +### Bug Fixes + +* allow to remove autolinks with unsetLink ([ea10ffb](https://github.com/ueberdosis/tiptap/commit/ea10ffbc6a0f447c33680dcc6f6dc2fa6337c4c2)) + + + + + # [2.0.0-beta.34](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-link@2.0.0-beta.33...@tiptap/extension-link@2.0.0-beta.34) (2022-01-04) **Note:** Version bump only for package @tiptap/extension-link diff --git a/packages/extension-link/package.json b/packages/extension-link/package.json index 3f329671..a00840c2 100644 --- a/packages/extension-link/package.json +++ b/packages/extension-link/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-link", "description": "link extension for tiptap", - "version": "2.0.0-beta.34", + "version": "2.0.0-beta.35", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/extension-link/src/helpers/autolink.ts b/packages/extension-link/src/helpers/autolink.ts index 4421c7b6..bd72b1ce 100644 --- a/packages/extension-link/src/helpers/autolink.ts +++ b/packages/extension-link/src/helpers/autolink.ts @@ -18,8 +18,9 @@ export function autolink(options: AutolinkOptions): Plugin { appendTransaction: (transactions, oldState, newState) => { const docChanges = transactions.some(transaction => transaction.docChanged) && !oldState.doc.eq(newState.doc) + const preventAutolink = transactions.some(transaction => transaction.getMeta('preventAutolink')) - if (!docChanges) { + if (!docChanges || preventAutolink) { return } diff --git a/packages/extension-link/src/link.ts b/packages/extension-link/src/link.ts index 51c3e2e5..99939cbe 100644 --- a/packages/extension-link/src/link.ts +++ b/packages/extension-link/src/link.ts @@ -92,16 +92,25 @@ export const Link = Mark.create({ addCommands() { return { - setLink: attributes => ({ commands }) => { - return commands.setMark(this.name, attributes) + setLink: attributes => ({ chain }) => { + return chain() + .setMark(this.name, attributes) + .setMeta('preventAutolink', true) + .run() }, - toggleLink: attributes => ({ commands }) => { - return commands.toggleMark(this.name, attributes, { extendEmptyMarkRange: true }) + toggleLink: attributes => ({ chain }) => { + return chain() + .toggleMark(this.name, attributes, { extendEmptyMarkRange: true }) + .setMeta('preventAutolink', true) + .run() }, - unsetLink: () => ({ commands }) => { - return commands.unsetMark(this.name, { extendEmptyMarkRange: true }) + unsetLink: () => ({ chain }) => { + return chain() + .unsetMark(this.name, { extendEmptyMarkRange: true }) + .setMeta('preventAutolink', true) + .run() }, } }, diff --git a/packages/extension-mention/CHANGELOG.md b/packages/extension-mention/CHANGELOG.md index efe6193d..184eb809 100644 --- a/packages/extension-mention/CHANGELOG.md +++ b/packages/extension-mention/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.92](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-mention@2.0.0-beta.91...@tiptap/extension-mention@2.0.0-beta.92) (2022-01-13) + +**Note:** Version bump only for package @tiptap/extension-mention + + + + + # [2.0.0-beta.91](https://github.com/ueberdosis/tiptap/compare/@tiptap/extension-mention@2.0.0-beta.90...@tiptap/extension-mention@2.0.0-beta.91) (2022-01-04) **Note:** Version bump only for package @tiptap/extension-mention diff --git a/packages/extension-mention/package.json b/packages/extension-mention/package.json index 9e543971..32759d00 100644 --- a/packages/extension-mention/package.json +++ b/packages/extension-mention/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/extension-mention", "description": "mention extension for tiptap", - "version": "2.0.0-beta.91", + "version": "2.0.0-beta.92", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -24,7 +24,7 @@ "@tiptap/core": "^2.0.0-beta.1" }, "dependencies": { - "@tiptap/suggestion": "^2.0.0-beta.86", + "@tiptap/suggestion": "^2.0.0-beta.87", "prosemirror-model": "^1.16.1", "prosemirror-state": "^1.3.4" }, diff --git a/packages/html/CHANGELOG.md b/packages/html/CHANGELOG.md index a16ed621..d42d96a6 100644 --- a/packages/html/CHANGELOG.md +++ b/packages/html/CHANGELOG.md @@ -3,6 +3,30 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.162](https://github.com/ueberdosis/tiptap/compare/@tiptap/html@2.0.0-beta.161...@tiptap/html@2.0.0-beta.162) (2022-01-13) + +**Note:** Version bump only for package @tiptap/html + + + + + +# [2.0.0-beta.161](https://github.com/ueberdosis/tiptap/compare/@tiptap/html@2.0.0-beta.160...@tiptap/html@2.0.0-beta.161) (2022-01-11) + +**Note:** Version bump only for package @tiptap/html + + + + + +# [2.0.0-beta.160](https://github.com/ueberdosis/tiptap/compare/@tiptap/html@2.0.0-beta.159...@tiptap/html@2.0.0-beta.160) (2022-01-10) + +**Note:** Version bump only for package @tiptap/html + + + + + # [2.0.0-beta.159](https://github.com/ueberdosis/tiptap/compare/@tiptap/html@2.0.0-beta.158...@tiptap/html@2.0.0-beta.159) (2022-01-04) **Note:** Version bump only for package @tiptap/html diff --git a/packages/html/package.json b/packages/html/package.json index a6f11905..a343f4e7 100644 --- a/packages/html/package.json +++ b/packages/html/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/html", "description": "utility package to render tiptap JSON as HTML", - "version": "2.0.0-beta.159", + "version": "2.0.0-beta.162", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -21,7 +21,7 @@ "dist" ], "dependencies": { - "@tiptap/core": "^2.0.0-beta.160", + "@tiptap/core": "^2.0.0-beta.163", "prosemirror-model": "^1.16.1", "zeed-dom": "^0.9.19" }, diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index 7ddb1a4a..699053ee 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.105](https://github.com/ueberdosis/tiptap/compare/@tiptap/react@2.0.0-beta.104...@tiptap/react@2.0.0-beta.105) (2022-01-11) + + +### Bug Fixes + +* Mark `@tiptap/react` and `@tiptap/core` as side effect free ([#2361](https://github.com/ueberdosis/tiptap/issues/2361)) ([e609b2d](https://github.com/ueberdosis/tiptap/commit/e609b2d11615dd85fd219731d1b73deaeccccd69)) + + + + + # [2.0.0-beta.104](https://github.com/ueberdosis/tiptap/compare/@tiptap/react@2.0.0-beta.103...@tiptap/react@2.0.0-beta.104) (2022-01-04) **Note:** Version bump only for package @tiptap/react diff --git a/packages/react/package.json b/packages/react/package.json index c12b2e4f..0ef63443 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/react", "description": "React components for tiptap", - "version": "2.0.0-beta.104", + "version": "2.0.0-beta.105", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -40,5 +40,6 @@ "type": "git", "url": "https://github.com/ueberdosis/tiptap", "directory": "packages/react" - } + }, + "sideEffects": false } diff --git a/packages/starter-kit/CHANGELOG.md b/packages/starter-kit/CHANGELOG.md index 1b4868bf..e9e0b735 100644 --- a/packages/starter-kit/CHANGELOG.md +++ b/packages/starter-kit/CHANGELOG.md @@ -3,6 +3,54 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.171](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.170...@tiptap/starter-kit@2.0.0-beta.171) (2022-01-13) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + +# [2.0.0-beta.170](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.169...@tiptap/starter-kit@2.0.0-beta.170) (2022-01-11) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + +# [2.0.0-beta.169](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.168...@tiptap/starter-kit@2.0.0-beta.169) (2022-01-10) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + +# [2.0.0-beta.168](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.167...@tiptap/starter-kit@2.0.0-beta.168) (2022-01-05) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + +# [2.0.0-beta.167](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.166...@tiptap/starter-kit@2.0.0-beta.167) (2022-01-05) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + +# [2.0.0-beta.166](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.165...@tiptap/starter-kit@2.0.0-beta.166) (2022-01-05) + +**Note:** Version bump only for package @tiptap/starter-kit + + + + + # [2.0.0-beta.165](https://github.com/ueberdosis/tiptap/compare/@tiptap/starter-kit@2.0.0-beta.164...@tiptap/starter-kit@2.0.0-beta.165) (2022-01-04) **Note:** Version bump only for package @tiptap/starter-kit diff --git a/packages/starter-kit/package.json b/packages/starter-kit/package.json index 604c9b2e..033fb3f7 100644 --- a/packages/starter-kit/package.json +++ b/packages/starter-kit/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/starter-kit", "description": "starter kit for tiptap", - "version": "2.0.0-beta.165", + "version": "2.0.0-beta.171", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -21,17 +21,17 @@ "dist" ], "dependencies": { - "@tiptap/core": "^2.0.0-beta.160", + "@tiptap/core": "^2.0.0-beta.163", "@tiptap/extension-blockquote": "^2.0.0-beta.26", "@tiptap/extension-bold": "^2.0.0-beta.25", "@tiptap/extension-bullet-list": "^2.0.0-beta.26", "@tiptap/extension-code": "^2.0.0-beta.26", - "@tiptap/extension-code-block": "^2.0.0-beta.33", + "@tiptap/extension-code-block": "^2.0.0-beta.35", "@tiptap/extension-document": "^2.0.0-beta.15", "@tiptap/extension-dropcursor": "^2.0.0-beta.25", "@tiptap/extension-gapcursor": "^2.0.0-beta.34", "@tiptap/extension-hard-break": "^2.0.0-beta.30", - "@tiptap/extension-heading": "^2.0.0-beta.24", + "@tiptap/extension-heading": "^2.0.0-beta.25", "@tiptap/extension-history": "^2.0.0-beta.21", "@tiptap/extension-horizontal-rule": "^2.0.0-beta.30", "@tiptap/extension-italic": "^2.0.0-beta.25", diff --git a/packages/suggestion/CHANGELOG.md b/packages/suggestion/CHANGELOG.md index 5937d834..62a70e6e 100644 --- a/packages/suggestion/CHANGELOG.md +++ b/packages/suggestion/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.87](https://github.com/ueberdosis/tiptap/compare/@tiptap/suggestion@2.0.0-beta.86...@tiptap/suggestion@2.0.0-beta.87) (2022-01-13) + + +### Bug Fixes + +* support all characters for suggestion char, fix [#2385](https://github.com/ueberdosis/tiptap/issues/2385) ([42d3ee8](https://github.com/ueberdosis/tiptap/commit/42d3ee8fc9882a9fb9f87e696cebd0e6146d2e62)) + + + + + # [2.0.0-beta.86](https://github.com/ueberdosis/tiptap/compare/@tiptap/suggestion@2.0.0-beta.85...@tiptap/suggestion@2.0.0-beta.86) (2022-01-04) **Note:** Version bump only for package @tiptap/suggestion diff --git a/packages/suggestion/package.json b/packages/suggestion/package.json index 6d762a89..5ac3bc48 100644 --- a/packages/suggestion/package.json +++ b/packages/suggestion/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/suggestion", "description": "suggestion plugin for tiptap", - "version": "2.0.0-beta.86", + "version": "2.0.0-beta.87", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", diff --git a/packages/suggestion/src/findSuggestionMatch.ts b/packages/suggestion/src/findSuggestionMatch.ts index fe7be2b9..17dd3894 100644 --- a/packages/suggestion/src/findSuggestionMatch.ts +++ b/packages/suggestion/src/findSuggestionMatch.ts @@ -1,4 +1,4 @@ -import { Range } from '@tiptap/core' +import { Range, escapeForRegEx } from '@tiptap/core' import { ResolvedPos } from 'prosemirror-model' export interface Trigger { @@ -24,11 +24,7 @@ export function findSuggestionMatch(config: Trigger): SuggestionMatch { $position, } = config - // Matching expressions used for later - const escapedChar = char - .split('') - .map(c => `\\${c}`) - .join('') + const escapedChar = escapeForRegEx(char) const suffix = new RegExp(`\\s${escapedChar}$`) const prefix = startOfLine ? '^' : '' const regexp = allowSpaces diff --git a/packages/vue-2/CHANGELOG.md b/packages/vue-2/CHANGELOG.md index 115719cc..7e29d86a 100644 --- a/packages/vue-2/CHANGELOG.md +++ b/packages/vue-2/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.75](https://github.com/ueberdosis/tiptap/compare/@tiptap/vue-2@2.0.0-beta.74...@tiptap/vue-2@2.0.0-beta.75) (2022-01-11) + + +### Bug Fixes + +* Mark `@tiptap/vue-2` and `@tiptap/vue-3` as side effect free ([be8ca68](https://github.com/ueberdosis/tiptap/commit/be8ca68d97c8f169d548e72253d5e6406fcb4c5b)) + + + + + # [2.0.0-beta.74](https://github.com/ueberdosis/tiptap/compare/@tiptap/vue-2@2.0.0-beta.73...@tiptap/vue-2@2.0.0-beta.74) (2022-01-04) **Note:** Version bump only for package @tiptap/vue-2 diff --git a/packages/vue-2/package.json b/packages/vue-2/package.json index 1e35e723..5349a20f 100644 --- a/packages/vue-2/package.json +++ b/packages/vue-2/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/vue-2", "description": "Vue components for tiptap", - "version": "2.0.0-beta.74", + "version": "2.0.0-beta.75", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -36,5 +36,6 @@ "type": "git", "url": "https://github.com/ueberdosis/tiptap", "directory": "packages/vue-2" - } + }, + "sideEffects": false } diff --git a/packages/vue-3/CHANGELOG.md b/packages/vue-3/CHANGELOG.md index aaf5a6bc..6f61992b 100644 --- a/packages/vue-3/CHANGELOG.md +++ b/packages/vue-3/CHANGELOG.md @@ -3,6 +3,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [2.0.0-beta.88](https://github.com/ueberdosis/tiptap/compare/@tiptap/vue-3@2.0.0-beta.87...@tiptap/vue-3@2.0.0-beta.88) (2022-01-11) + + +### Bug Fixes + +* Mark `@tiptap/vue-2` and `@tiptap/vue-3` as side effect free ([be8ca68](https://github.com/ueberdosis/tiptap/commit/be8ca68d97c8f169d548e72253d5e6406fcb4c5b)) + + + + + +# [2.0.0-beta.87](https://github.com/ueberdosis/tiptap/compare/@tiptap/vue-3@2.0.0-beta.86...@tiptap/vue-3@2.0.0-beta.87) (2022-01-05) + + +### Bug Fixes + +* revert type changes for useEditor in vue-3 package ([3ba3afb](https://github.com/ueberdosis/tiptap/commit/3ba3afbea38b9b46b5d164e0d6a374ecd0ef63c6)) + + + + + # [2.0.0-beta.86](https://github.com/ueberdosis/tiptap/compare/@tiptap/vue-3@2.0.0-beta.85...@tiptap/vue-3@2.0.0-beta.86) (2022-01-04) **Note:** Version bump only for package @tiptap/vue-3 diff --git a/packages/vue-3/package.json b/packages/vue-3/package.json index 44f0fc4f..2ce94940 100644 --- a/packages/vue-3/package.json +++ b/packages/vue-3/package.json @@ -1,7 +1,7 @@ { "name": "@tiptap/vue-3", "description": "Vue components for tiptap", - "version": "2.0.0-beta.86", + "version": "2.0.0-beta.88", "homepage": "https://tiptap.dev", "keywords": [ "tiptap", @@ -37,5 +37,6 @@ "type": "git", "url": "https://github.com/ueberdosis/tiptap", "directory": "packages/vue-3" - } + }, + "sideEffects": false } diff --git a/packages/vue-3/src/useEditor.ts b/packages/vue-3/src/useEditor.ts index 20a1c409..2e6a64d1 100644 --- a/packages/vue-3/src/useEditor.ts +++ b/packages/vue-3/src/useEditor.ts @@ -1,15 +1,9 @@ -import { - onMounted, - onBeforeUnmount, - shallowRef, - Ref, -} from 'vue' +import { onMounted, onBeforeUnmount, shallowRef } from 'vue' import { EditorOptions } from '@tiptap/core' import { Editor } from './Editor' -// We set a custom return type. Otherwise TypeScript will throw TS4023. Not sure why. -export const useEditor = (options: Partial = {}): Ref => { - const editor = shallowRef() as Ref +export const useEditor = (options: Partial = {}) => { + const editor = shallowRef() onMounted(() => { editor.value = new Editor(options) diff --git a/rollup.config.js b/rollup.config.js index 2161b344..e16d9ad0 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -94,7 +94,9 @@ async function build(commandLineArgs) { '@tiptap/*': ['packages/*/src'], }, }, - include: null, + include: fs.existsSync(`${basePath}/tsconfig.json`) + ? [] + : null, }, }), ], diff --git a/yarn.lock b/yarn.lock index 90b7ade0..1b054750 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1961,9 +1961,9 @@ "@octokit/openapi-types" "^11.2.0" "@popperjs/core@^2.9.0": - version "2.11.0" - resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.0.tgz#6734f8ebc106a0860dff7f92bf90df193f0935d7" - integrity sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ== + version "2.11.2" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.2.tgz#830beaec4b4091a9e9398ac50f865ddea52186b9" + integrity sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA== "@rollup/plugin-babel@^5.3.0": version "5.3.0" @@ -1986,10 +1986,10 @@ magic-string "^0.25.7" resolve "^1.17.0" -"@rollup/plugin-node-resolve@^13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.2.tgz#f05cbdce79e6d5fe1c4249a33ea961ea21cec258" - integrity sha512-xyqbuf1vyOPC60jEKhx3DBHunymnCJswzjNTKfX4Jz7zCPar1UqbRZCNY1u5QaXh97beaFTWdoUUWiV4qX8o/g== +"@rollup/plugin-node-resolve@^13.1.3": + version "13.1.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.1.3.tgz#2ed277fb3ad98745424c1d2ba152484508a92d79" + integrity sha512-BdxNk+LtmElRo5d06MGY4zoepyrXX1tkzX2hrnPEZ53k78GuOMWLqmJDGIIOPwVRIFZrLQOo+Yr6KtCuLIA0AQ== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" @@ -2037,9 +2037,9 @@ "@types/estree" "*" "@types/eslint@*": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.1.tgz#13f3d69bac93c2ae008019c28783868d0a1d6605" - integrity sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ== + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.2.2.tgz#b64dbdb64b1957cfc8a698c68297fcf8983e94c7" + integrity sha512-nQxgB8/Sg+QKhnV8e0WzPpxjIGT3tuJDDzybkDi8ItE/IgTlHo07U0shaIjzhcvQxlq9SDRE42lsJ23uvEgJ2A== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2080,14 +2080,14 @@ integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== "@types/node@*": - version "17.0.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.7.tgz#4a53d8332bb65a45470a2f9e2611f1ced637a5cb" - integrity sha512-1QUk+WAUD4t8iR+Oj+UgI8oJa6yyxaB8a8pHaC8uqM6RrS1qbL7bf3Pwl5rHv0psm2CuDErgho6v5N+G+5fwtQ== + version "17.0.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.8.tgz#50d680c8a8a78fe30abe6906453b21ad8ab0ad7b" + integrity sha512-YofkM6fGv4gDJq78g4j0mMuGMkZVxZDgtU0JRdx6FgiJDG+0fY0GKVolOV8WqVmEhLCXkQRjwDdKyPxJp/uucg== "@types/node@^14.14.31": - version "14.18.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.4.tgz#b722d6c91f156d9359aeb20f2d7d06337b15c603" - integrity sha512-swe3lD4izOJWHuxvsZdDFRq6S9i6koJsXOnQKYekhSO5JTizMVirUFgY/bUsaOJQj8oSD4oxmRYPBM/0b6jpdw== + version "14.18.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.5.tgz#0dd636fe7b2c6055cbed0d4ca3b7fb540f130a96" + integrity sha512-LMy+vDDcQR48EZdEx5wRX1q/sEl6NdGuHXPnfeL8ixkwCOSZ2qnIyIZmcCbdX0MeRqHhAcHmX+haCbrS8Run+A== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -2151,10 +2151,10 @@ "@types/prosemirror-state" "*" "@types/prosemirror-view" "*" -"@types/prosemirror-model@*", "@types/prosemirror-model@^1.13.2": - version "1.13.2" - resolved "https://registry.yarnpkg.com/@types/prosemirror-model/-/prosemirror-model-1.13.2.tgz#2adad3ec478f83204f155d7fb94c9dfde2fc3296" - integrity sha512-a2rDB0aZ+7aIP7uBqQq1wLb4Hg4qqEvpkCqvhsgT/gG8IWC0peCAZfQ24sgTco0qSJLeDgIbtPeU6mgr869/kg== +"@types/prosemirror-model@*", "@types/prosemirror-model@^1.16.0": + version "1.16.0" + resolved "https://registry.yarnpkg.com/@types/prosemirror-model/-/prosemirror-model-1.16.0.tgz#8b22c7431a4c93f7f550fc89c4b0e2d44d42c8b6" + integrity sha512-nv93YLyTEcDDl17OB90EldxZjyJQJll2WSMLDvLzTewbpvE/vtMjHT3j4mik3uSzQ6YD486AcloCO3WODY/lDg== dependencies: "@types/orderedmap" "*" @@ -2235,10 +2235,10 @@ resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.3.tgz#ff5e2f1902969d305225a047c8a0fd5c915cebef" integrity sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ== -"@types/uuid@^8.3.3": - version "8.3.3" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.3.tgz#c6a60686d953dbd1b1d45e66f4ecdbd5d471b4d0" - integrity sha512-0LbEEx1zxrYB3pgpd1M5lEhLcXjKJnYghvhTRgaBeUivLHMDM1TzF3IJ6hXU2+8uA4Xz+5BA63mtZo5DjVT8iA== +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== "@types/yauzl@^2.9.1": version "2.9.2" @@ -2815,9 +2815,9 @@ astral-regex@^2.0.0: integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" - integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== + version "3.2.3" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9" + integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g== asynckit@^0.4.0: version "0.4.0" @@ -2834,13 +2834,13 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.1.tgz#1735959d6462420569bc42408016acbc56861c12" - integrity sha512-B3ZEG7wtzXDRCEFsan7HmR2AeNsxdJB0+sEC0Hc5/c2NbhJqPwuZm+tn233GBVw82L+6CtD6IPSfVruwKjfV3A== +autoprefixer@^10.4.2: + version "10.4.2" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" + integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== dependencies: browserslist "^4.19.1" - caniuse-lite "^1.0.30001294" + caniuse-lite "^1.0.30001297" fraction.js "^4.1.2" normalize-range "^0.1.2" picocolors "^1.0.0" @@ -3088,10 +3088,10 @@ camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001294: - version "1.0.30001295" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001295.tgz#68a60f8f0664f342b2835c5d8898b4faea7b3d51" - integrity sha512-lSP16vcyC0FEy0R4ECc9duSPoKoZy+YkpGkue9G4D81OfPnliopaZrU10+qtPdT8PbGXad/PNx43TIQrOmJZSQ== +caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: + version "1.0.30001298" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz#0e690039f62e91c3ea581673d716890512e7ec52" + integrity sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ== caseless@~0.12.0: version "0.12.0" @@ -3178,14 +3178,13 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-table3@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee" - integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== + version "0.6.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.1.tgz#36ce9b7af4847f288d3cdd081fbd09bf7bd237b8" + integrity sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA== dependencies: - object-assign "^4.1.0" string-width "^4.2.0" optionalDependencies: - colors "^1.1.2" + colors "1.4.0" cli-truncate@^2.1.0: version "2.1.0" @@ -3280,7 +3279,7 @@ colorette@^2.0.16: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== -colors@^1.1.2: +colors@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -3731,9 +3730,9 @@ d3-scale@4: integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== d3-shape@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.0.1.tgz#9ccdfb28fd9b0d12f2d8aec234cd5c4a9ea27931" - integrity sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.1.0.tgz#c8a495652d83ea6f524e482fca57aa3f8bc32556" + integrity sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ== dependencies: d3-path "1 - 3" @@ -3778,10 +3777,10 @@ d3-zoom@3: d3-selection "2 - 3" d3-transition "2 - 3" -d3@^7.2.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.2.1.tgz#97eafaa6fc8cd7c564c3ace1e6678cbecf63f3ea" - integrity sha512-E/5sP0aeK6YPXI/+4QlefvBFgmcyR2jYftId0PrYWv4Y/gW3c3thp1XG4rQzF0eUwV9tR1x05X5eWuJ6rQXvew== +d3@^7.3.0: + version "7.3.0" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.3.0.tgz#f3d5a22c1f658952a6491cf50132f5267ed7a40a" + integrity sha512-MDRLJCMK232OJQRqGljQ/gCxtB8k3/sLKFjftMjzPB3nKVUODpdW9Rb3vcq7U8Ka5YKoZkAmp++Ur6I+6iNWIw== dependencies: d3-array "3" d3-axis "3" @@ -4062,9 +4061,9 @@ ecc-jsbn@~0.1.1: safer-buffer "^2.1.0" electron-to-chromium@^1.4.17: - version "1.4.32" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.32.tgz#7ad1e76692b307da454b7380cc882784962648b8" - integrity sha512-7QRVfMlccTFs7cZV3lB0k9Wcm6R6F+w1yBPX+xBAlAP/1oJIstxTev3A4r8REnUUAFph/cIB8y/EBU7PDbJTQw== + version "1.4.38" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz#10ea58d73d36b13e78d5024f3b74a352d3958d01" + integrity sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ== emoji-regex@^8.0.0: version "8.0.0" @@ -4598,10 +4597,10 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.1.1, fast-glob@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== +fast-glob@^3.2.10, fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.2.10" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.10.tgz#2734f83baa7f43b7fd41e13bc34438f4ffe284ee" + integrity sha512-s9nFhFnvR63wls6/kM88kQqDhMu0AfdjqouE2l5GVQPbqLgyFjjU5ry/r2yKsJxpb9Py1EYNqieFrmMaX4v++A== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -4984,21 +4983,21 @@ globals@^13.6.0, globals@^13.9.0: type-fest "^0.20.2" globby@^11.0.2, globby@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" slash "^3.0.0" graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== gzip-size@^5.1.1: version "5.1.1" @@ -5093,9 +5092,9 @@ hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" @@ -5217,7 +5216,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4, ignore@^5.1.8: +ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -5236,9 +5235,9 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: resolve-from "^4.0.0" import-local@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" - integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -5396,9 +5395,9 @@ is-color-stop@^1.1.0: rgba-regex "^1.0.0" is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== dependencies: has "^1.0.3" @@ -5596,9 +5595,9 @@ isstream@~0.1.2: integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= jest-worker@^27.4.1: - version "27.4.5" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.5.tgz#d696e3e46ae0f24cff3fa7195ffba22889262242" - integrity sha512-f2s8kEdy15cv9r7q4KkzGXvlY0JTcmCbMHZBfSQDwW77REr45IDWwd0lksDFeVHH2jJ5pqb90T77XscrjeGzzg== + version "27.4.6" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.6.tgz#5d2d93db419566cb680752ca0792780e71b3273e" + integrity sha512-gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw== dependencies: "@types/node" "*" merge-stream "^2.0.0" @@ -5807,16 +5806,16 @@ linkifyjs@^3.0.5: integrity sha512-1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg== listr2@^3.8.3: - version "3.13.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.13.5.tgz#105a813f2eb2329c4aae27373a281d610ee4985f" - integrity sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA== + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== dependencies: cli-truncate "^2.1.0" colorette "^2.0.16" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.4.0" + rxjs "^7.5.1" through "^2.3.8" wrap-ansi "^7.0.0" @@ -6068,7 +6067,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -7573,10 +7572,10 @@ rollup-plugin-typescript2@^0.31.1: resolve "1.20.0" tslib "2.2.0" -rollup@^2.59.0, rollup@^2.62.0: - version "2.62.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.62.0.tgz#9e640b419fc5b9e0241844f6d55258bd79986ecc" - integrity sha512-cJEQq2gwB0GWMD3rYImefQTSjrPYaC6s4J9pYqnstVLJ1CHa/aZNVkD4Epuvg4iLeMA4KRiq7UM7awKK6j7jcw== +rollup@^2.59.0, rollup@^2.63.0: + version "2.63.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.63.0.tgz#fe2f7fec2133f3fab9e022b9ac245628d817c6bb" + integrity sha512-nps0idjmD+NXl6OREfyYXMn/dar3WGcyKn+KBzPdaLecub3x/LrId0wUcthcr8oZUAcZAR8NKcfGGFlNgGL1kQ== optionalDependencies: fsevents "~2.3.2" @@ -7609,7 +7608,7 @@ rxjs@^6.6.0: dependencies: tslib "^1.9.0" -rxjs@^7.4.0: +rxjs@^7.5.1: version "7.5.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.1.tgz#af73df343cbcab37628197f43ea0c8256f54b157" integrity sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ== @@ -7636,10 +7635,10 @@ safe-resolve@^1.0.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass@^1.45.2: - version "1.45.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.45.2.tgz#130b428c1692201cfa181139835d6fc378a33323" - integrity sha512-cKfs+F9AMPAFlbbTXNsbGvg3y58nV0mXA3E94jqaySKcC8Kq3/8983zVKQ0TLMUrHw7hF9Tnd3Bz9z5Xgtrl9g== +sass@^1.47.0: + version "1.47.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.47.0.tgz#c22dd0eed2e4a991430dae0b03c8e694bc41c2b4" + integrity sha512-GtXwvwgD7/6MLUZPnlA5/8cdRgC9SzT5kAnnJMRmEZQFRE3J56Foswig4NyyyQGsnmNvg6EUM/FP0Pe9Y2zywQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -7937,9 +7936,9 @@ split@^1.0.0: through "2" sshpk@^1.14.1, sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0"