@atlaskit/adf-utils 15.0.0 → 16.0.0
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 +12 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/media-link-transform.js +60 -0
- package/dist/cjs/validator/rules.js +2 -2
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/index.js +1 -0
- package/dist/es2019/media-link-transform.js +48 -0
- package/dist/es2019/validator/rules.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/media-link-transform.js +50 -0
- package/dist/esm/validator/rules.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/media-link-transform.d.ts +5 -0
- package/media-link-transform/package.json +7 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/adf-utils
|
|
2
2
|
|
|
3
|
+
## 16.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`304351e4b1e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/304351e4b1e) - CETI-241 - Added additional panel ADF attributes (panelIconId, panelIconText) to uniquely identify custom panel emojis. The change has been categorised as major since it is a change to the full-schema ADF. However, the custom panel feature is behind a feature flag, has not yet been released to production, and is only currently planned for release to Confluence. See ADF change #61 for further details.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- [`2f5133aedd7`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2f5133aedd7) - ED-13881 Update existing imports from @atlaskit/adf-schema to use declarative entry points
|
|
12
|
+
- [`3b49ff824ec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3b49ff824ec) - ED-14043 update prosemirror schema to only allow link mark on children of paragraph and mediaSingle
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
3
15
|
## 15.0.0
|
|
4
16
|
|
|
5
17
|
### Major Changes
|
package/dist/cjs/index.js
CHANGED
|
@@ -387,6 +387,12 @@ Object.defineProperty(exports, "tr", {
|
|
|
387
387
|
return _builders.tr;
|
|
388
388
|
}
|
|
389
389
|
});
|
|
390
|
+
Object.defineProperty(exports, "transformMediaLinkMarks", {
|
|
391
|
+
enumerable: true,
|
|
392
|
+
get: function get() {
|
|
393
|
+
return _mediaLinkTransform.transformMediaLinkMarks;
|
|
394
|
+
}
|
|
395
|
+
});
|
|
390
396
|
Object.defineProperty(exports, "transformTextLinkCodeMarks", {
|
|
391
397
|
enumerable: true,
|
|
392
398
|
get: function get() {
|
|
@@ -440,4 +446,6 @@ var _validator = require("./validator");
|
|
|
440
446
|
|
|
441
447
|
var _emptyAdf = require("./empty-adf");
|
|
442
448
|
|
|
449
|
+
var _mediaLinkTransform = require("./media-link-transform");
|
|
450
|
+
|
|
443
451
|
var _textLinkCodeTransform = require("./transforms/text-link-code-transform");
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.transformMediaLinkMarks = void 0;
|
|
7
|
+
|
|
8
|
+
var _traverse = require("./traverse/traverse");
|
|
9
|
+
|
|
10
|
+
// link mark on mediaSingle is deprecated, need to move link mark to child media node
|
|
11
|
+
// https://product-fabric.atlassian.net/browse/ED-14043
|
|
12
|
+
var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
13
|
+
var isTransformed = false;
|
|
14
|
+
var transformedAdf = (0, _traverse.traverse)(adf, {
|
|
15
|
+
mediaSingle: function mediaSingle(node) {
|
|
16
|
+
var _node$content$;
|
|
17
|
+
|
|
18
|
+
if (!node.marks || !node.content || ((_node$content$ = node.content[0]) === null || _node$content$ === void 0 ? void 0 : _node$content$.type) !== 'media') {
|
|
19
|
+
return node;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
var linkMark = null;
|
|
23
|
+
node.marks.forEach(function (mark, i) {
|
|
24
|
+
if (mark.type === 'link') {
|
|
25
|
+
var _node$marks;
|
|
26
|
+
|
|
27
|
+
linkMark = mark;
|
|
28
|
+
(_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.splice(i, 1);
|
|
29
|
+
isTransformed = true;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
if (node.marks.length === 0) {
|
|
34
|
+
delete node.marks;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (linkMark) {
|
|
38
|
+
var _mediaNode$marks;
|
|
39
|
+
|
|
40
|
+
var mediaNode = node.content[0]; // only add link mark if media node doesnt already have one
|
|
41
|
+
|
|
42
|
+
if ((_mediaNode$marks = mediaNode.marks) !== null && _mediaNode$marks !== void 0 && _mediaNode$marks.every(function (mark) {
|
|
43
|
+
return mark.type !== 'link';
|
|
44
|
+
})) {
|
|
45
|
+
mediaNode.marks.push(linkMark);
|
|
46
|
+
} else if (!mediaNode.marks) {
|
|
47
|
+
mediaNode.marks = [linkMark];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return node;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return {
|
|
55
|
+
transformedAdf: transformedAdf,
|
|
56
|
+
isTransformed: isTransformed
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
exports.transformMediaLinkMarks = transformMediaLinkMarks;
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.validatorFnMap = void 0;
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _url = require("@atlaskit/adf-schema/url");
|
|
9
9
|
|
|
10
10
|
var validatorFnMap = {
|
|
11
|
-
safeUrl:
|
|
11
|
+
safeUrl: _url.isSafeUrl
|
|
12
12
|
};
|
|
13
13
|
exports.validatorFnMap = validatorFnMap;
|
package/dist/cjs/version.json
CHANGED
package/dist/es2019/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { filter, map, reduce, traverse } from './traverse';
|
|
|
3
3
|
export { scrubAdf } from './scrub';
|
|
4
4
|
export { validateAttrs, validator } from './validator';
|
|
5
5
|
export { getEmptyADF } from './empty-adf';
|
|
6
|
+
export { transformMediaLinkMarks } from './media-link-transform';
|
|
6
7
|
export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { traverse } from './traverse/traverse';
|
|
2
|
+
// link mark on mediaSingle is deprecated, need to move link mark to child media node
|
|
3
|
+
// https://product-fabric.atlassian.net/browse/ED-14043
|
|
4
|
+
export const transformMediaLinkMarks = adf => {
|
|
5
|
+
let isTransformed = false;
|
|
6
|
+
const transformedAdf = traverse(adf, {
|
|
7
|
+
mediaSingle: node => {
|
|
8
|
+
var _node$content$;
|
|
9
|
+
|
|
10
|
+
if (!node.marks || !node.content || ((_node$content$ = node.content[0]) === null || _node$content$ === void 0 ? void 0 : _node$content$.type) !== 'media') {
|
|
11
|
+
return node;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let linkMark = null;
|
|
15
|
+
node.marks.forEach((mark, i) => {
|
|
16
|
+
if (mark.type === 'link') {
|
|
17
|
+
var _node$marks;
|
|
18
|
+
|
|
19
|
+
linkMark = mark;
|
|
20
|
+
(_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.splice(i, 1);
|
|
21
|
+
isTransformed = true;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
if (node.marks.length === 0) {
|
|
26
|
+
delete node.marks;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (linkMark) {
|
|
30
|
+
var _mediaNode$marks;
|
|
31
|
+
|
|
32
|
+
const mediaNode = node.content[0]; // only add link mark if media node doesnt already have one
|
|
33
|
+
|
|
34
|
+
if ((_mediaNode$marks = mediaNode.marks) !== null && _mediaNode$marks !== void 0 && _mediaNode$marks.every(mark => mark.type !== 'link')) {
|
|
35
|
+
mediaNode.marks.push(linkMark);
|
|
36
|
+
} else if (!mediaNode.marks) {
|
|
37
|
+
mediaNode.marks = [linkMark];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return node;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
transformedAdf,
|
|
46
|
+
isTransformed
|
|
47
|
+
};
|
|
48
|
+
};
|
package/dist/es2019/version.json
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { filter, map, reduce, traverse } from './traverse';
|
|
|
3
3
|
export { scrubAdf } from './scrub';
|
|
4
4
|
export { validateAttrs, validator } from './validator';
|
|
5
5
|
export { getEmptyADF } from './empty-adf';
|
|
6
|
+
export { transformMediaLinkMarks } from './media-link-transform';
|
|
6
7
|
export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { traverse } from './traverse/traverse';
|
|
2
|
+
// link mark on mediaSingle is deprecated, need to move link mark to child media node
|
|
3
|
+
// https://product-fabric.atlassian.net/browse/ED-14043
|
|
4
|
+
export var transformMediaLinkMarks = function transformMediaLinkMarks(adf) {
|
|
5
|
+
var isTransformed = false;
|
|
6
|
+
var transformedAdf = traverse(adf, {
|
|
7
|
+
mediaSingle: function mediaSingle(node) {
|
|
8
|
+
var _node$content$;
|
|
9
|
+
|
|
10
|
+
if (!node.marks || !node.content || ((_node$content$ = node.content[0]) === null || _node$content$ === void 0 ? void 0 : _node$content$.type) !== 'media') {
|
|
11
|
+
return node;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
var linkMark = null;
|
|
15
|
+
node.marks.forEach(function (mark, i) {
|
|
16
|
+
if (mark.type === 'link') {
|
|
17
|
+
var _node$marks;
|
|
18
|
+
|
|
19
|
+
linkMark = mark;
|
|
20
|
+
(_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.splice(i, 1);
|
|
21
|
+
isTransformed = true;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
if (node.marks.length === 0) {
|
|
26
|
+
delete node.marks;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (linkMark) {
|
|
30
|
+
var _mediaNode$marks;
|
|
31
|
+
|
|
32
|
+
var mediaNode = node.content[0]; // only add link mark if media node doesnt already have one
|
|
33
|
+
|
|
34
|
+
if ((_mediaNode$marks = mediaNode.marks) !== null && _mediaNode$marks !== void 0 && _mediaNode$marks.every(function (mark) {
|
|
35
|
+
return mark.type !== 'link';
|
|
36
|
+
})) {
|
|
37
|
+
mediaNode.marks.push(linkMark);
|
|
38
|
+
} else if (!mediaNode.marks) {
|
|
39
|
+
mediaNode.marks = [linkMark];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return node;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
transformedAdf: transformedAdf,
|
|
48
|
+
isTransformed: isTransformed
|
|
49
|
+
};
|
|
50
|
+
};
|
package/dist/esm/version.json
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -5,4 +5,5 @@ export { validateAttrs, validator } from './validator';
|
|
|
5
5
|
export type { Content, ErrorCallback, Output, ValidationError, ValidationErrorMap, ValidationErrorType, ValidationMode, ValidationOptions, ErrorCallbackOptions, Validate, } from './types/validatorTypes';
|
|
6
6
|
export type { ADFEntity, ADFEntityMark, Visitor, VisitorCollection, } from './types';
|
|
7
7
|
export { getEmptyADF } from './empty-adf';
|
|
8
|
+
export { transformMediaLinkMarks } from './media-link-transform';
|
|
8
9
|
export { transformTextLinkCodeMarks } from './transforms/text-link-code-transform';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atlaskit/adf-utils/media-link-transform",
|
|
3
|
+
"main": "../dist/cjs/media-link-transform.js",
|
|
4
|
+
"module": "../dist/esm/media-link-transform.js",
|
|
5
|
+
"module:es2019": "../dist/es2019/media-link-transform.js",
|
|
6
|
+
"types": "../dist/types/media-link-transform.d.ts"
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/adf-utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.0",
|
|
4
4
|
"description": "Set of utilities to traverse, modify and create ADF documents.",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"generate:spec": "rm -rf ./src/validator/specs/ && ../json-schema-generator/bin.js --outDir=./src/validator/specs/ --mode=Spec --stage=0 ./src/validator/entry.ts"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@atlaskit/adf-schema": "^
|
|
27
|
+
"@atlaskit/adf-schema": "^22.0.0",
|
|
28
28
|
"@babel/runtime": "^7.0.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|