@atlaskit/prosemirror-input-rules 2.1.0 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atlaskit/prosemirror-input-rules
2
2
 
3
+ ## 2.1.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 2.1.2
10
+
11
+ ### Patch Changes
12
+
13
+ - [`4e6fbaf5898`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4e6fbaf5898) - ED-14117 Change EditorState.apply type to receive readonly transaction
14
+
15
+ Transactions should not be mutated after being dispatched as it can lead to
16
+ unexpected behaviour. This change patches the relevant types declared in
17
+ prosemirror-state as a compile-time safeguard.
18
+
19
+ - Updated dependencies
20
+
21
+ ## 2.1.1
22
+
23
+ ### Patch Changes
24
+
25
+ - [`19d72473dfb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19d72473dfb) - ED-13025 Bump prosemirror-view 1.23.1 -> 1.23.2
26
+
3
27
  ## 2.1.0
4
28
 
5
29
  ### Minor Changes
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.MAX_REGEX_MATCH = exports.TEXT_INPUT_RULE_TRANSACTION_KEY = exports.leafNodeReplacementCharacter = void 0;
6
+ exports.leafNodeReplacementCharacter = exports.TEXT_INPUT_RULE_TRANSACTION_KEY = exports.MAX_REGEX_MATCH = void 0;
7
7
  // ProseMirror uses the Unicode Character 'OBJECT REPLACEMENT CHARACTER' (U+FFFC) as text representation for
8
8
  // leaf nodes, i.e. nodes that don't have any content or text property (e.g. hardBreak, emoji, mention, rule)
9
9
  // It was introduced because of https://github.com/ProseMirror/prosemirror/issues/262
@@ -11,9 +11,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
 
12
12
  var _constants = require("./constants");
13
13
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
15
 
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
17
 
18
18
  var createInputEventHandler = function createInputEventHandler(_ref) {
19
19
  var rules = _ref.rules,
package/dist/cjs/index.js CHANGED
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "leafNodeReplacementCharacter", {
6
+ Object.defineProperty(exports, "MAX_REGEX_MATCH", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _constants.leafNodeReplacementCharacter;
9
+ return _constants.MAX_REGEX_MATCH;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "TEXT_INPUT_RULE_TRANSACTION_KEY", {
@@ -15,16 +15,16 @@ Object.defineProperty(exports, "TEXT_INPUT_RULE_TRANSACTION_KEY", {
15
15
  return _constants.TEXT_INPUT_RULE_TRANSACTION_KEY;
16
16
  }
17
17
  });
18
- Object.defineProperty(exports, "MAX_REGEX_MATCH", {
18
+ Object.defineProperty(exports, "createInputRulePlugin", {
19
19
  enumerable: true,
20
20
  get: function get() {
21
- return _constants.MAX_REGEX_MATCH;
21
+ return _plugin.createInputRulePlugin;
22
22
  }
23
23
  });
24
- Object.defineProperty(exports, "createInputRulePlugin", {
24
+ Object.defineProperty(exports, "leafNodeReplacementCharacter", {
25
25
  enumerable: true,
26
26
  get: function get() {
27
- return _plugin.createInputRulePlugin;
27
+ return _constants.leafNodeReplacementCharacter;
28
28
  }
29
29
  });
30
30
 
@@ -7,6 +7,8 @@ exports.createInputRulePlugin = createInputRulePlugin;
7
7
 
8
8
  var _prosemirrorState = require("prosemirror-state");
9
9
 
10
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
11
+
10
12
  var _constants = require("./constants");
11
13
 
12
14
  var _handler = require("./handler");
@@ -24,7 +26,7 @@ function createInputRulePlugin(pluginName, rules) {
24
26
  onInputEvent: onInputEvent,
25
27
  onBeforeRegexMatch: onBeforeRegexMatch
26
28
  });
27
- var plugin = new _prosemirrorState.Plugin({
29
+ var plugin = new _safePlugin.SafePlugin({
28
30
  key: pluginKey,
29
31
  state: {
30
32
  init: function init() {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/prosemirror-input-rules",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "sideEffects": false
5
5
  }
@@ -1,4 +1,5 @@
1
- import { Plugin, PluginKey, TextSelection } from 'prosemirror-state';
1
+ import { PluginKey, TextSelection } from 'prosemirror-state';
2
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
3
  import { TEXT_INPUT_RULE_TRANSACTION_KEY } from './constants';
3
4
  import { createInputEventHandler } from './handler';
4
5
  export function createInputRulePlugin(pluginName, rules, options = {}) {
@@ -13,7 +14,7 @@ export function createInputRulePlugin(pluginName, rules, options = {}) {
13
14
  onInputEvent,
14
15
  onBeforeRegexMatch
15
16
  });
16
- const plugin = new Plugin({
17
+ const plugin = new SafePlugin({
17
18
  key: pluginKey,
18
19
  state: {
19
20
  init() {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/prosemirror-input-rules",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "sideEffects": false
5
5
  }
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import { leafNodeReplacementCharacter, MAX_REGEX_MATCH, TEXT_INPUT_RULE_TRANSACTION_KEY } from './constants';
8
8
  export var createInputEventHandler = function createInputEventHandler(_ref) {
@@ -1,4 +1,5 @@
1
- import { Plugin, PluginKey, TextSelection } from 'prosemirror-state';
1
+ import { PluginKey, TextSelection } from 'prosemirror-state';
2
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
3
  import { TEXT_INPUT_RULE_TRANSACTION_KEY } from './constants';
3
4
  import { createInputEventHandler } from './handler';
4
5
  export function createInputRulePlugin(pluginName, rules) {
@@ -14,7 +15,7 @@ export function createInputRulePlugin(pluginName, rules) {
14
15
  onInputEvent: onInputEvent,
15
16
  onBeforeRegexMatch: onBeforeRegexMatch
16
17
  });
17
- var plugin = new Plugin({
18
+ var plugin = new SafePlugin({
18
19
  key: pluginKey,
19
20
  state: {
20
21
  init: function init() {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/prosemirror-input-rules",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "sideEffects": false
5
5
  }
@@ -1,9 +1,9 @@
1
- import { Plugin } from 'prosemirror-state';
1
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
2
  import type { InputRuleWrapper, OnBeforeRegexMatch, OnInputEvent } from './types';
3
3
  declare type Options = {
4
4
  allowInsertTextOnDocument?: boolean;
5
5
  onInputEvent?: OnInputEvent;
6
6
  onBeforeRegexMatch?: OnBeforeRegexMatch;
7
7
  };
8
- export declare function createInputRulePlugin(pluginName: string, rules: InputRuleWrapper[], options?: Options): Plugin;
8
+ export declare function createInputRulePlugin(pluginName: string, rules: InputRuleWrapper[], options?: Options): SafePlugin;
9
9
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/prosemirror-input-rules",
3
- "version": "2.1.0",
3
+ "version": "2.1.3",
4
4
  "description": "A package that contains helpers to create autoformatting rules for ProseMirror",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -19,18 +19,19 @@
19
19
  "releaseModel": "scheduled"
20
20
  },
21
21
  "dependencies": {
22
+ "@atlaskit/editor-common": "^65.0.0",
22
23
  "@babel/runtime": "^7.0.0",
23
24
  "prosemirror-state": "1.3.4"
24
25
  },
25
26
  "devDependencies": {
26
- "@atlaskit/adf-schema": "^20.0.0",
27
- "@atlaskit/editor-test-helpers": "^15.6.0",
27
+ "@atlaskit/adf-schema": "^22.0.0",
28
+ "@atlaskit/editor-test-helpers": "^16.1.0",
28
29
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
29
30
  "@types/prosemirror-history": "^1.0.1",
30
31
  "@types/prosemirror-model": "^1.11.0",
31
32
  "@types/prosemirror-state": "^1.2.0",
32
33
  "@types/prosemirror-view": "^1.9.0",
33
- "prosemirror-view": "1.23.1"
34
+ "prosemirror-view": "1.23.2"
34
35
  },
35
36
  "techstack": {
36
37
  "@atlassian/frontend": {
@@ -1,6 +1,7 @@
1
- import { EditorState, Plugin } from 'prosemirror-state';
1
+ import { EditorState } from 'prosemirror-state';
2
2
  import { EditorView } from 'prosemirror-view';
3
3
 
4
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
4
5
  import { createEditorState } from '@atlaskit/editor-test-helpers/create-editor-state';
5
6
  import { doc, DocBuilder, p } from '@atlaskit/editor-test-helpers/doc-builder';
6
7
 
@@ -20,7 +21,7 @@ describe('input-tule/plugin/createInputRulePlugin', () => {
20
21
  view.someProp('handleTextInput', (f) => f(view, $from.pos, $to.pos, text));
21
22
  }
22
23
 
23
- function createEditorView(lol: DocBuilder, customInputRule: Plugin) {
24
+ function createEditorView(lol: DocBuilder, customInputRule: SafePlugin) {
24
25
  const editorState = createEditorState(lol, customInputRule);
25
26
 
26
27
  return new EditorView(editorViewElement, {
package/src/plugin.ts CHANGED
@@ -1,4 +1,6 @@
1
- import { Plugin, PluginKey, TextSelection } from 'prosemirror-state';
1
+ import { PluginKey, TextSelection } from 'prosemirror-state';
2
+
3
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
4
 
3
5
  import { TEXT_INPUT_RULE_TRANSACTION_KEY } from './constants';
4
6
  import { createInputEventHandler } from './handler';
@@ -19,7 +21,7 @@ export function createInputRulePlugin(
19
21
  pluginName: string,
20
22
  rules: InputRuleWrapper[],
21
23
  options: Options = {},
22
- ): Plugin {
24
+ ): SafePlugin {
23
25
  const onInputEvent = options?.onInputEvent;
24
26
  const onBeforeRegexMatch = options?.onBeforeRegexMatch;
25
27
  const allowInsertTextOnDocument = Boolean(options?.allowInsertTextOnDocument);
@@ -33,7 +35,7 @@ export function createInputRulePlugin(
33
35
  onBeforeRegexMatch,
34
36
  });
35
37
 
36
- const plugin: Plugin = new Plugin<InputRulePluginState>({
38
+ const plugin = new SafePlugin<InputRulePluginState>({
37
39
  key: pluginKey,
38
40
  state: {
39
41
  init() {