@atlaskit/editor-card-provider 3.1.11 → 3.1.13

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,17 @@
1
1
  # @atlaskit/editor-card-provider
2
2
 
3
+ ## 3.1.13
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 3.1.12
10
+
11
+ ### Patch Changes
12
+
13
+ - [#63428](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/63428) [`441be131933f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/441be131933f) - [ux] make youtube videos embed by default
14
+
3
15
  ## 3.1.11
4
16
 
5
17
  ### Patch Changes
@@ -21,6 +21,7 @@ var _transformer = require("./transformer");
21
21
  var _environments = require("./environments");
22
22
  var _linkProvider = require("@atlaskit/link-provider");
23
23
  var api = _interopRequireWildcard(require("./api"));
24
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
24
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
27
  function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(e, r) { return new BabelRegExp(e, void 0, r); }; var e = RegExp.prototype, r = new WeakMap(); function BabelRegExp(e, t, p) { var o = new RegExp(e, t); return r.set(o, p || r.get(e)), (0, _setPrototypeOf2.default)(o, BabelRegExp.prototype); } function buildGroups(e, t) { var p = r.get(t); return Object.keys(p).reduce(function (r, t) { var o = p[t]; if ("number" == typeof o) r[t] = e[o];else { for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++; r[t] = e[o[i]]; } return r; }, Object.create(null)); } return (0, _inherits2.default)(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) { var t = e.exec.call(this, r); if (t) { t.groups = buildGroups(t, this); var p = t.indices; p && (p.groups = buildGroups(p, this)); } return t; }, BabelRegExp.prototype[Symbol.replace] = function (t, p) { if ("string" == typeof p) { var o = r.get(this); return e[Symbol.replace].call(this, t, p.replace(/\$<([^>]+)>/g, function (e, r) { var t = o[r]; return "$" + (Array.isArray(t) ? t.join("$") : t); })); } if ("function" == typeof p) { var i = this; return e[Symbol.replace].call(this, t, function () { var e = arguments; return "object" != _typeof(e[e.length - 1]) && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e); }); } return e[Symbol.replace].call(this, t, p); }, _wrapRegExp.apply(this, arguments); } // import setimmediate to temporary fix dataloader 2.0.0 bug
@@ -54,6 +55,9 @@ var isConfluenceWhiteboard = function isConfluenceWhiteboard(url) {
54
55
  var isConfluenceDatabase = function isConfluenceDatabase(url) {
55
56
  return url.match(/\/wiki\/spaces\/~?[\d\w]+\/database\/\d+(\?.*(savedViewId=[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}|entryId=[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}|unsavedView=.+).*)?$/);
56
57
  };
58
+ var isYoutubeVideo = function isYoutubeVideo(url) {
59
+ return url.match(/^https:\/\/(.*?\.)?(youtube\..*?\/(watch\?|v\/|shorts\/)|youtu\.be)/);
60
+ };
57
61
  var EditorCardProvider = exports.EditorCardProvider = /*#__PURE__*/function () {
58
62
  function EditorCardProvider(envKey, baseUrlOverride) {
59
63
  var _this = this;
@@ -323,7 +327,7 @@ var EditorCardProvider = exports.EditorCardProvider = /*#__PURE__*/function () {
323
327
  }, {
324
328
  key: "getHardCodedAppearance",
325
329
  value: function getHardCodedAppearance(url) {
326
- if (isJiraRoadmapOrTimeline(url) || isPolarisView(url) || isJwmView(url) || isGiphyMedia(url) || isProformaView(url) || isConfluenceWhiteboard(url) || isConfluenceDatabase(url)) {
330
+ if (isJiraRoadmapOrTimeline(url) || isPolarisView(url) || isJwmView(url) || isGiphyMedia(url) || isProformaView(url) || isConfluenceWhiteboard(url) || isConfluenceDatabase(url) || (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.embed-youtube-by-default') && isYoutubeVideo(url)) {
327
331
  return 'embed';
328
332
  }
329
333
  }
@@ -8,6 +8,7 @@ import { Transformer } from './transformer';
8
8
  import { getBaseUrl, getResolverUrl } from './environments';
9
9
  import { CardClient } from '@atlaskit/link-provider';
10
10
  import * as api from './api';
11
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
11
12
  const BATCH_WAIT_TIME = 50;
12
13
 
13
14
  // Check if it is matching a Jira Roadmaps or Jira Timeline url
@@ -19,6 +20,7 @@ const isGiphyMedia = url => url.match(/^https:\/\/(.*?\.)?giphy\.com\/(gifs|medi
19
20
  const isProformaView = url => url.match(/^https:\/\/[^/]+\/jira\/(core|software(\/c)?|servicedesk)\/projects\/\w+\/forms\/form\/direct\/\d+\/\d+.*$/);
20
21
  const isConfluenceWhiteboard = url => url.match(/\/wiki\/spaces\/?.*\/whiteboard\/(?<resourceId>\d+)(\?\/)?/) || url.match(/\/wiki\/spaces\/?.*\/whiteboard\/(?<resourceId>[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12})(\?\/)?/);
21
22
  const isConfluenceDatabase = url => url.match(/\/wiki\/spaces\/~?[\d\w]+\/database\/\d+(\?.*(savedViewId=[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}|entryId=[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}|unsavedView=.+).*)?$/);
23
+ const isYoutubeVideo = url => url.match(/^https:\/\/(.*?\.)?(youtube\..*?\/(watch\?|v\/|shorts\/)|youtu\.be)/);
22
24
  export class EditorCardProvider {
23
25
  constructor(envKey, baseUrlOverride) {
24
26
  this.baseUrl = baseUrlOverride || getBaseUrl(envKey);
@@ -110,7 +112,7 @@ export class EditorCardProvider {
110
112
  return (_this$providersData2 = this.providersData) === null || _this$providersData2 === void 0 ? void 0 : _this$providersData2.patterns.find(pattern => url.match(pattern.source));
111
113
  }
112
114
  getHardCodedAppearance(url) {
113
- if (isJiraRoadmapOrTimeline(url) || isPolarisView(url) || isJwmView(url) || isGiphyMedia(url) || isProformaView(url) || isConfluenceWhiteboard(url) || isConfluenceDatabase(url)) {
115
+ if (isJiraRoadmapOrTimeline(url) || isPolarisView(url) || isJwmView(url) || isGiphyMedia(url) || isProformaView(url) || isConfluenceWhiteboard(url) || isConfluenceDatabase(url) || getBooleanFF('platform.linking-platform.embed-youtube-by-default') && isYoutubeVideo(url)) {
114
116
  return 'embed';
115
117
  }
116
118
  }
@@ -17,6 +17,7 @@ import { Transformer } from './transformer';
17
17
  import { getBaseUrl, getResolverUrl } from './environments';
18
18
  import { CardClient } from '@atlaskit/link-provider';
19
19
  import * as api from './api';
20
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
20
21
  var BATCH_WAIT_TIME = 50;
21
22
 
22
23
  // Check if it is matching a Jira Roadmaps or Jira Timeline url
@@ -46,6 +47,9 @@ var isConfluenceWhiteboard = function isConfluenceWhiteboard(url) {
46
47
  var isConfluenceDatabase = function isConfluenceDatabase(url) {
47
48
  return url.match(/\/wiki\/spaces\/~?[\d\w]+\/database\/\d+(\?.*(savedViewId=[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}|entryId=[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}|unsavedView=.+).*)?$/);
48
49
  };
50
+ var isYoutubeVideo = function isYoutubeVideo(url) {
51
+ return url.match(/^https:\/\/(.*?\.)?(youtube\..*?\/(watch\?|v\/|shorts\/)|youtu\.be)/);
52
+ };
49
53
  export var EditorCardProvider = /*#__PURE__*/function () {
50
54
  function EditorCardProvider(envKey, baseUrlOverride) {
51
55
  var _this = this;
@@ -315,7 +319,7 @@ export var EditorCardProvider = /*#__PURE__*/function () {
315
319
  }, {
316
320
  key: "getHardCodedAppearance",
317
321
  value: function getHardCodedAppearance(url) {
318
- if (isJiraRoadmapOrTimeline(url) || isPolarisView(url) || isJwmView(url) || isGiphyMedia(url) || isProformaView(url) || isConfluenceWhiteboard(url) || isConfluenceDatabase(url)) {
322
+ if (isJiraRoadmapOrTimeline(url) || isPolarisView(url) || isJwmView(url) || isGiphyMedia(url) || isProformaView(url) || isConfluenceWhiteboard(url) || isConfluenceDatabase(url) || getBooleanFF('platform.linking-platform.embed-youtube-by-default') && isYoutubeVideo(url)) {
319
323
  return 'embed';
320
324
  }
321
325
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-card-provider",
3
- "version": "3.1.11",
3
+ "version": "3.1.13",
4
4
  "description": "Contains the EditorCardProvider, for determining smart card behaviour in the editor.",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -36,7 +36,8 @@
36
36
  "dependencies": {
37
37
  "@atlaskit/link-client-extension": "^1.8.0",
38
38
  "@atlaskit/link-extractors": "^1.2.0",
39
- "@atlaskit/linking-common": "^4.21.0",
39
+ "@atlaskit/linking-common": "^5.0.0",
40
+ "@atlaskit/platform-feature-flags": "^0.2.1",
40
41
  "@babel/runtime": "^7.0.0",
41
42
  "dataloader": "^2.0.0",
42
43
  "json-ld-types": "^3.9.1",
@@ -48,7 +49,13 @@
48
49
  },
49
50
  "devDependencies": {
50
51
  "@atlassian/atlassian-frontend-prettier-config-1.0.0": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.0",
52
+ "@atlassian/feature-flags-test-utils": "^0.1.1",
51
53
  "typescript": "~4.9.5"
52
54
  },
55
+ "platform-feature-flags": {
56
+ "platform.linking-platform.embed-youtube-by-default": {
57
+ "type": "boolean"
58
+ }
59
+ },
53
60
  "prettier": "@atlassian/atlassian-frontend-prettier-config-1.0.0"
54
61
  }