Skip to content

Commit

Permalink
env: update prosemirror versions (fix nhn#2631) (nhn#2648)
Browse files Browse the repository at this point in the history
* env: update prosemirror versions

* chore: fix types according to prosemirror updates

* chore: remove something added to DOM by prosemirror

* test: fix tests following prosemirror updates

* chore: fix type errors

* chore: apply code reviews

test: fix failing tests
chore: implement method that was not
chore: remove unused utility function

* chore: change npm ci to npm install in ci test workflows
  • Loading branch information
jajugoguma authored Aug 5, 2022
1 parent 3e33fd7 commit 65c4983
Show file tree
Hide file tree
Showing 69 changed files with 360 additions and 344 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/plugin-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
node-version: '15.x'
- name: Install
run: |
npm ci
npm install
- name: build toastmark
run: |
npm run build toastmark
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
node-version: '15.x'
- name: Install
run: |
npm ci
npm install
- name: build toastmark
run: |
npm run build toastmark
Expand Down
15 changes: 7 additions & 8 deletions apps/editor/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,12 @@
},
"dependencies": {
"dompurify": "^2.3.3",
"prosemirror-commands": "~1.1.9",
"prosemirror-history": "~1.1.3",
"prosemirror-inputrules": "~1.1.3",
"prosemirror-keymap": "~1.1.4",
"prosemirror-model": "~1.14.1",
"prosemirror-state": "~1.3.4",
"prosemirror-view": "~1.18.7",
"prosemirror-transform": "~1.3.0"
"prosemirror-commands": "^1.1.9",
"prosemirror-history": "^1.1.3",
"prosemirror-inputrules": "^1.1.3",
"prosemirror-keymap": "^1.1.4",
"prosemirror-model": "^1.14.1",
"prosemirror-state": "^1.3.4",
"prosemirror-view": "^1.18.7"
}
}
196 changes: 80 additions & 116 deletions apps/editor/src/__test__/integration/widget/widgetNode.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -92,17 +92,14 @@ describe('widgetNode', () => {
editor.setMarkdown('@test1 @test2');

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</div>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand All @@ -125,17 +122,14 @@ describe('widgetNode', () => {
editor.insertText('@test1 @test2');

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</div>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand All @@ -158,12 +152,9 @@ describe('widgetNode', () => {
editor.replaceWithWidget([1, 1], [1, 1], '[#toast](ui.toast.com)');

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span><a href="ui.toast.com">#toast</a></span>
</span>
<br>
</div>
<span class="tui-widget">
<span><a href="ui.toast.com">#toast</a></span>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand All @@ -181,20 +172,17 @@ describe('widgetNode', () => {
editor.insertText('@test1 [#toast](ui.toast.com) @test2');

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span><a href="ui.toast.com">#toast</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span><a href="ui.toast.com">#toast</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</div>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand All @@ -221,17 +209,14 @@ describe('widgetNode', () => {
editor.changeMode('wysiwyg');

const expectedEditor = oneLineTrim`
<p>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</p>
</span>
`;

expect(wwEditor).toContainHTML(expectedEditor);
Expand All @@ -241,18 +226,15 @@ describe('widgetNode', () => {
editor.setMarkdown('@test1 $$myText @test2');

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
$$myText
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
$$myText
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</div>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand All @@ -278,19 +260,16 @@ describe('widgetNode', () => {
editor.replaceSelection('@test1 @test2', [1, 1], [1, 13]);

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span>
<a href="www.google.com">@test1</a>
</span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test1</a>
</span>
<br>
</div>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand Down Expand Up @@ -329,12 +308,9 @@ describe('widgetNode', () => {
editor.replaceWithWidget(1, 1, '@test');

const expectedEditor = oneLineTrim`
<p>
<span class="tui-widget">
<span><a href="www.google.com">@test</a></span>
</span>
<br>
</p>
<span class="tui-widget">
<span><a href="www.google.com">@test</a></span>
</span>
`;

expect(wwEditor).toContainHTML(expectedEditor);
Expand All @@ -345,12 +321,9 @@ describe('widgetNode', () => {
editor.replaceWithWidget(1, 1, '[#toast](ui.toast.com)');

const expectedEditor = oneLineTrim`
<p>
<span class="tui-widget">
<span><a href="ui.toast.com">#toast</a></span>
</span>
<br>
</p>
<span class="tui-widget">
<span><a href="ui.toast.com">#toast</a></span>
</span>
`;

expect(wwEditor).toContainHTML(expectedEditor);
Expand All @@ -362,17 +335,14 @@ describe('widgetNode', () => {
editor.changeMode('markdown');

const expectedEditor = oneLineTrim`
<div>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</div>
</span>
`;
const expectedPreview = oneLineTrim`
<p>
Expand All @@ -398,19 +368,16 @@ describe('widgetNode', () => {
editor.replaceSelection('@test1 @test2', 1, 12);

const expectedEditor = oneLineTrim`
<p>
<span class="tui-widget">
<span>
<a href="www.google.com">@test1</a>
</span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test1</a>
</span>
<br>
</p>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
</span>
`;

expect(wwEditor).toContainHTML(expectedEditor);
Expand All @@ -422,17 +389,14 @@ describe('widgetNode', () => {
editor.insertText('@test1 @test2');

const expectedEditor = oneLineTrim`
<p>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<span class="tui-widget">
<span><a href="www.google.com">@test1</a></span>
</span>
<span class="tui-widget">
<span>
<a href="www.google.com">@test2</a>
</span>
<br>
</p>
</span>
`;

expect(wwEditor).toContainHTML(expectedEditor);
Expand Down
4 changes: 2 additions & 2 deletions apps/editor/src/__test__/unit/markdown/mdEditor.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,8 @@ describe('MarkdownEditor', () => {
it('setPlaceholder API', () => {
mde.setPlaceholder('Write something');

expect(getEditorHTML(mde)).toBe(
'<div><span class="placeholder ProseMirror-widget">Write something</span><br></div>'
expect(getEditorHTML(mde)).toContain(
'<span class="placeholder ProseMirror-widget">Write something</span>'
);
});

Expand Down
4 changes: 1 addition & 3 deletions apps/editor/src/__test__/unit/wysiwyg/wwEditor.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,8 @@ describe('WysiwygEditor', () => {
wwe.setPlaceholder('placeholder text');

assertToContainHTML(oneLineTrim`
<p>
<span class="placeholder ProseMirror-widget">placeholder text</span>
<br>
</p>
`);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ export default class ToMdConvertorState {
let trailing = '';

const progress = (node: Node | null, _: number | null, index: number) => {
let marks = node ? node.marks : [];
let marks = node ? (node.marks as Mark[]) : [];
let leading = trailing;

trailing = '';
Expand Down
8 changes: 4 additions & 4 deletions apps/editor/src/convertors/toWysiwyg/toWwConvertorState.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ export default class ToWwConvertorState {
this.schema = schema;
this.convertors = convertors;
this.stack = [{ type: this.schema.topNodeType, attrs: null, content: [] }];
this.marks = Mark.none;
this.marks = Mark.none as Mark[];
}

top() {
Expand Down Expand Up @@ -57,11 +57,11 @@ export default class ToWwConvertorState {
}

openMark(mark: Mark) {
this.marks = mark.addToSet(this.marks);
this.marks = mark.addToSet(this.marks) as Mark[];
}

closeMark(mark: MarkType) {
this.marks = mark.removeFromSet(this.marks);
this.marks = mark.removeFromSet(this.marks) as Mark[];
}

addNode(type: NodeType, attrs: Attrs, content: Node[]) {
Expand All @@ -82,7 +82,7 @@ export default class ToWwConvertorState {

closeNode() {
if (this.marks.length) {
this.marks = Mark.none;
this.marks = Mark.none as Mark[];
}

const { type, attrs, content } = this.stack.pop() as StackItem;
Expand Down
Loading

0 comments on commit 65c4983

Please sign in to comment.