[ACA-1390] add spellcheck for the typescript code (#363)

* add spellcheck for the typescript code

* update CI config

* update spellcheck rules

* update spellcheck config and code

* run spellcheck for e2e tests

* disable e2e test

* disable cypress for now
This commit is contained in:
Denys Vuika
2018-05-21 06:40:41 +01:00
committed by Cilibiu Bogdan
parent bda89943a8
commit 829b421108
14 changed files with 415 additions and 73 deletions

View File

@@ -24,6 +24,16 @@ jobs:
key: alfresco-content-app-{{ .Branch }}-{{ checksum "package.json" }}
- run: npm install
- run: npm run lint
spellcheck:
working_directory: ~/alfresco-content-app
docker:
- image: circleci/node:8-browsers
steps:
- checkout
- restore_cache:
key: alfresco-content-app-{{ .Branch }}-{{ checksum "package.json" }}
- run: npm install
- run: npm run spellcheck
test:
working_directory: ~/alfresco-content-app
docker:
@@ -53,6 +63,9 @@ workflows:
- lint:
requires:
- install
- spellcheck:
requires:
- install
- test:
requires:
- install

View File

@@ -21,4 +21,4 @@ install:
script:
# - docker-compose stop
- npm run build && npm run e2e:all
- npm run build && npm run e2e:docker

40
cspell.json Normal file
View File

@@ -0,0 +1,40 @@
{
"version": "0.1",
"language": "en",
"words": [
"succes",
"ngstack",
"sidenav",
"injectable",
"truthy",
"cryptodoc",
"mysites",
"afts",
"classlist",
"folderlink",
"filelink",
"datatable",
"repo",
"snackbar",
"promisify",
"xdescribe",
"unfavorite",
"unshare",
"validators",
"guid",
"polyfill",
"polyfills",
"jsonp",
"hammerjs",
"pdfjs",
"xpath",
"tooltip",
"tooltips",
"unindent"
],
"dictionaries": [
"html"
]
}

View File

@@ -87,7 +87,7 @@ describe('Mark items as favorites', () => {
browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform().then(done);
});
it('Favorite action has empty star icon for unfavorited item', () => {
it('Favorite action has empty star icon for an item not marked as favorite', () => {
dataTable.clickOnItemName(file1NotFav)
.then(() => toolbar.actions.openMoreMenu())
.then(() => expect(toolbar.actions.menu.getItemIconText('Favorite')).toEqual('star_border'));
@@ -99,7 +99,7 @@ describe('Mark items as favorites', () => {
.then(() => expect(toolbar.actions.menu.getItemIconText('Favorite')).toEqual('star_border'));
});
it('Favorite action has full star icon for favorited items', () => {
it('Favorite action has full star icon for items marked as favorite', () => {
dataTable.clickOnItemName(file3Fav)
.then(() => toolbar.actions.openMoreMenu())
.then(() => expect(toolbar.actions.menu.getItemIconText('Favorite')).toEqual('star'));

View File

@@ -274,7 +274,7 @@ describe('Toolbar actions - single selection : ', () => {
.then(() => browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform());
});
it('on Shared Files', () => {
xit('on Shared Files', () => {
page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES)
.then(() => dataTable.waitForHeader())
.then(() => dataTable.selectMultipleItems([ file1, file2 ]))

View File

@@ -35,9 +35,11 @@ describe('Login', () => {
const loginPage = new LoginPage();
const logoutPage = new LogoutPage();
/* cspell:disable-next-line */
const testUser = `user-${Utils.random()}@alfness`;
const russianUser = {
/* cspell:disable-next-line */
username: `пользвате${Utils.random()}`,
password: '密碼中國'
};

View File

@@ -34,8 +34,8 @@ describe('Breadcrumb', () => {
const username = `user-${Utils.random()}`;
const parent = `parent-${Utils.random()}`; let parentId;
const subfolder1 = `subfolder1-${Utils.random()}`; let subfolder1Id;
const subfolder2 = `subfolder2-${Utils.random()}`; let subfolder2Id;
const subFolder1 = `subFolder1-${Utils.random()}`; let subFolder1Id;
const subFolder2 = `subFolder2-${Utils.random()}`; let subFolder2Id;
const fileName1 = `file1-${Utils.random()}.txt`;
const siteName = `site-${Utils.random()}`;
@@ -57,9 +57,9 @@ describe('Breadcrumb', () => {
beforeAll(done => {
apis.admin.people.createUser(username)
.then(() => apis.user.nodes.createFolder(parent)).then(resp => parentId = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(subfolder1, parentId)).then(resp => subfolder1Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(subfolder2, subfolder1Id)).then(resp => subfolder2Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFile(fileName1, subfolder2Id))
.then(() => apis.user.nodes.createFolder(subFolder1, parentId)).then(resp => subFolder1Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(subFolder2, subFolder1Id)).then(resp => subFolder2Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFile(fileName1, subFolder2Id))
.then(() => apis.user.nodes.createFolder(parent2)).then(resp => parent2Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(folder1, parent2Id)).then(resp => folder1Id = resp.data.entry.id)
@@ -67,9 +67,9 @@ describe('Breadcrumb', () => {
.then(() => apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC))
.then(() => apis.user.sites.getDocLibId(siteName))
.then(resp => apis.user.nodes.createFolder(parent, resp)).then(resp => parentId = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(subfolder1, parentId)).then(resp => subfolder1Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(subfolder2, subfolder1Id)).then(resp => subfolder2Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFile(fileName1, subfolder2Id))
.then(() => apis.user.nodes.createFolder(subFolder1, parentId)).then(resp => subFolder1Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFolder(subFolder2, subFolder1Id)).then(resp => subFolder2Id = resp.data.entry.id)
.then(() => apis.user.nodes.createFile(fileName1, subFolder2Id))
.then(() => loginPage.loginWith(username))
.then(done);
@@ -137,10 +137,10 @@ describe('Breadcrumb', () => {
page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
.then(() => page.dataTable.waitForHeader())
.then(() => page.dataTable.doubleClickOnItemName(parent))
.then(() => page.dataTable.doubleClickOnItemName(subfolder1))
.then(() => page.dataTable.doubleClickOnItemName(subfolder2))
.then(() => page.dataTable.doubleClickOnItemName(subFolder1))
.then(() => page.dataTable.doubleClickOnItemName(subFolder2))
.then(() => {
const expectedBreadcrumb = [ 'Personal Files', parent, subfolder1, subfolder2 ];
const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1, subFolder2 ];
expect(breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
});
});
@@ -150,10 +150,10 @@ describe('Breadcrumb', () => {
.then(() => page.dataTable.waitForHeader())
.then(() => page.dataTable.doubleClickOnItemName(siteName))
.then(() => page.dataTable.doubleClickOnItemName(parent))
.then(() => page.dataTable.doubleClickOnItemName(subfolder1))
.then(() => page.dataTable.doubleClickOnItemName(subfolder2))
.then(() => page.dataTable.doubleClickOnItemName(subFolder1))
.then(() => page.dataTable.doubleClickOnItemName(subFolder2))
.then(() => {
const expectedItems = [ 'File Libraries', siteName, parent, subfolder1, subfolder2 ];
const expectedItems = [ 'File Libraries', siteName, parent, subFolder1, subFolder2 ];
expect(breadcrumb.getAllItems()).toEqual(expectedItems);
});
});
@@ -162,11 +162,11 @@ describe('Breadcrumb', () => {
page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
.then(() => page.dataTable.waitForHeader())
.then(() => page.dataTable.doubleClickOnItemName(parent))
.then(() => page.dataTable.doubleClickOnItemName(subfolder1))
.then(() => page.dataTable.doubleClickOnItemName(subfolder2))
.then(() => breadcrumb.clickItem(subfolder1))
.then(() => page.dataTable.doubleClickOnItemName(subFolder1))
.then(() => page.dataTable.doubleClickOnItemName(subFolder2))
.then(() => breadcrumb.clickItem(subFolder1))
.then(() => {
const expectedBreadcrumb = [ 'Personal Files', parent, subfolder1 ];
const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1 ];
expect(breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
});
});
@@ -175,10 +175,10 @@ describe('Breadcrumb', () => {
page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
.then(() => page.dataTable.waitForHeader())
.then(() => page.dataTable.doubleClickOnItemName(parent))
.then(() => page.dataTable.doubleClickOnItemName(subfolder1))
.then(() => page.dataTable.doubleClickOnItemName(subfolder2))
.then(() => page.dataTable.doubleClickOnItemName(subFolder1))
.then(() => page.dataTable.doubleClickOnItemName(subFolder2))
.then(() => {
expect(breadcrumb.getNthItemTooltip(3)).toEqual(subfolder1);
expect(breadcrumb.getNthItemTooltip(3)).toEqual(subFolder1);
});
});
@@ -200,13 +200,13 @@ describe('Breadcrumb', () => {
page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES)
.then(() => page.dataTable.waitForHeader())
.then(() => page.dataTable.doubleClickOnItemName(parent))
.then(() => page.dataTable.doubleClickOnItemName(subfolder1))
.then(() => page.dataTable.doubleClickOnItemName(subfolder2))
.then(() => page.dataTable.doubleClickOnItemName(subFolder1))
.then(() => page.dataTable.doubleClickOnItemName(subFolder2))
.then(() => page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH))
.then(() => page.dataTable.waitForEmptyState())
.then(() => browser.navigate().back())
.then(() => {
const expectedBreadcrumb = [ 'Personal Files', parent, subfolder1, subfolder2 ];
const expectedBreadcrumb = [ 'Personal Files', parent, subFolder1, subFolder2 ];
expect(breadcrumb.getAllItems()).toEqual(expectedBreadcrumb);
});
});

View File

@@ -39,7 +39,7 @@ export const log = {
return this;
},
dedent() {
unindent() {
this.i--;
return this;
},

View File

@@ -62,7 +62,7 @@ export const consoleReporter = {
},
suiteDone: (result) => {
log.dedent();
log.unindent();
},
jasmineDone: (result) => {

345
package-lock.json generated
View File

@@ -842,7 +842,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
},
@@ -851,7 +850,6 @@
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
"dev": true,
"requires": {
"color-name": "^1.1.1"
}
@@ -2295,8 +2293,15 @@
"commander": {
"version": "2.15.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
"dev": true
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
},
"comment-json": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/comment-json/-/comment-json-1.1.3.tgz",
"integrity": "sha1-aYbDMw/uDEyeAMI5jNYa+l2PI54=",
"requires": {
"json-parser": "^1.0.0"
}
},
"common-tags": {
"version": "1.7.2",
@@ -2394,6 +2399,32 @@
"typedarray": "^0.0.6"
}
},
"configstore": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
"integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
"requires": {
"dot-prop": "^4.1.0",
"graceful-fs": "^4.1.2",
"make-dir": "^1.0.0",
"unique-string": "^1.0.0",
"write-file-atomic": "^2.0.0",
"xdg-basedir": "^3.0.0"
}
},
"configstore-fork": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/configstore-fork/-/configstore-fork-3.1.6.tgz",
"integrity": "sha512-sQ31B6Ayj9Tqs2nPBrq+2cg8j9sb1Hd6iyqDx2rH+W1EoBDevYAkLk5ncNqktkj7hCeyrUzcNhQ5kUozKXd75A==",
"requires": {
"dot-prop": "^4.1.0",
"graceful-fs": "^4.1.2",
"make-dir": "^1.0.0",
"unique-string": "^1.0.0",
"write-file-atomic": "^2.0.0",
"xdg-basedir": "^3.0.0"
}
},
"connect": {
"version": "3.6.6",
"resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
@@ -2671,6 +2702,205 @@
"randomfill": "^1.0.3"
}
},
"crypto-random-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
"integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
},
"cspell": {
"version": "2.1.12",
"resolved": "https://registry.npmjs.org/cspell/-/cspell-2.1.12.tgz",
"integrity": "sha512-6ydTFFhPDirjOAl7ChrtlaVXiyqt1LmTRMpvYU1Jw9FarHxupnNq34itPL5BSDDjqeue5wI0A+VCjBnfAKuWMQ==",
"requires": {
"chalk": "^2.3.2",
"commander": "^2.15.1",
"comment-json": "^1.1.3",
"configstore-fork": "^3.1.6",
"cspell-dict-cpp": "^1.1.6",
"cspell-dict-django": "^1.0.2",
"cspell-dict-en-gb": "^1.1.0",
"cspell-dict-en_us": "^1.2.3",
"cspell-dict-golang": "^1.1.3",
"cspell-dict-latex": "^1.0.1",
"cspell-dict-php": "^1.0.2",
"cspell-dict-python": "^1.0.3",
"cspell-dict-rust": "^1.0.0",
"cspell-lib": "^2.0.2",
"cspell-trie": "^2.0.3",
"fs-extra": "^5.0.0",
"gensequence": "^2.1.1",
"glob": "^7.1.2",
"minimatch": "^3.0.4",
"rxjs": "^5.5.10",
"rxjs-from-iterable": "^1.0.5",
"vscode-uri": "^1.0.3",
"xregexp": "^4.1.1"
},
"dependencies": {
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"fs-extra": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
"integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"rxjs": {
"version": "5.5.10",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.10.tgz",
"integrity": "sha512-SRjimIDUHJkon+2hFo7xnvNC4ZEHGzCRwh9P7nzX3zPkCGFEg/tuElrNR7L/rZMagnK2JeH2jQwPRpmyXyLB6A==",
"requires": {
"symbol-observable": "1.0.1"
}
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"requires": {
"has-flag": "^3.0.0"
}
},
"symbol-observable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
},
"xregexp": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.1.1.tgz",
"integrity": "sha512-QJ1gfSUV7kEOLfpKFCjBJRnfPErUzkNKFMso4kDSmGpp3x6ZgkyKf74inxI7PnnQCFYq5TqYJCd7DrgDN8Q05A=="
}
}
},
"cspell-dict-cpp": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/cspell-dict-cpp/-/cspell-dict-cpp-1.1.6.tgz",
"integrity": "sha512-eVNenrvoViBsrfZYzChoJ1YJ5b0VxwgYCFhxxKjL3Bjk3Te98FM8Bk/ExSnv5KlwT56EhT5y+CBi0ejEv5XW/g==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-django": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cspell-dict-django/-/cspell-dict-django-1.0.2.tgz",
"integrity": "sha512-t52Ga2S7GgsCYaLsN+iqWLgHUHfqGfkMUv0gSjp2QOVOxGNQ4kjj1oJ6GkcZB5k6UnI2sgQ7uku/bjmNlnctDw==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-en-gb": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cspell-dict-en-gb/-/cspell-dict-en-gb-1.1.2.tgz",
"integrity": "sha512-ry4yNIzjVMZDwSrK7U/0M9vXdbzo7ZFpUHUAYa4r6B4CwUFHBC/d8C0fcav2Hf1jjfQ866AApg00HiRJLP3Aug==",
"requires": {
"configstore": "^3.1.1"
}
},
"cspell-dict-en_us": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/cspell-dict-en_us/-/cspell-dict-en_us-1.2.5.tgz",
"integrity": "sha512-OaoOaVzIGxJeeyAjZE6Re2+S5OuLHsMFzQcZ3qaD87uO0Q7U9TF6EFPJEmwNuR0Ye9o1rXYYMiFKan6EzH40qg==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-golang": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/cspell-dict-golang/-/cspell-dict-golang-1.1.3.tgz",
"integrity": "sha512-maImSmm4ctZ5cQ3tFyZr5nglBQ/GwY5OYT1eq6O6USjJRQxzWtzmI1EV8WKng1UEA1i07NqgUDQLejTx3W1hIg==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-latex": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cspell-dict-latex/-/cspell-dict-latex-1.0.1.tgz",
"integrity": "sha512-RyK6TgEpt6AfGbXStPi5G7Fy2CFJGmIAYs1ie6Qsyss7h3sAsHk19F2yZvwJU0dlHXyw4LujFbzo9ZR3HR7BIA==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-php": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/cspell-dict-php/-/cspell-dict-php-1.0.2.tgz",
"integrity": "sha512-F2NyT9rZ6CmcLhbeGH8OKwLlD9Q5zQConpNDVdu/E/ucEQ+HXIf65Ou5KJzlQcyUGC8P9PUmmUBEF60oW5HcCA==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-python": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/cspell-dict-python/-/cspell-dict-python-1.0.3.tgz",
"integrity": "sha512-zQYJu/kWvsZusuMelRk7e9B5xINglh49uLswLv598T+ZptzRzKO83im/yCG0RHBWvgYS+ze0eCpr0Ja5uqHu3Q==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-dict-rust": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cspell-dict-rust/-/cspell-dict-rust-1.0.0.tgz",
"integrity": "sha512-9Rew1ad6yPXQW9fxFQ/J41+fbKg6t9p4oSm7JS0aHuCtWc3w0knFYK7Ty/mVMw6oDFlemBNaBCPZON0M3+oIKg==",
"requires": {
"configstore": "^3.1.0"
}
},
"cspell-lib": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/cspell-lib/-/cspell-lib-2.0.2.tgz",
"integrity": "sha512-AcNlLBuOFR0xZGO9SwP0g42oFvu8TMooehLJ7FqDzAvCWqtO1u0ddvJ7bm8l8UZgABVchUSy2oqcLVAr4XdCvA==",
"requires": {
"iconv-lite": "^0.4.19",
"rxjs": "^5.5.6",
"rxjs-stream": "^1.1.0"
},
"dependencies": {
"rxjs": {
"version": "5.5.10",
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.10.tgz",
"integrity": "sha512-SRjimIDUHJkon+2hFo7xnvNC4ZEHGzCRwh9P7nzX3zPkCGFEg/tuElrNR7L/rZMagnK2JeH2jQwPRpmyXyLB6A==",
"requires": {
"symbol-observable": "1.0.1"
}
},
"symbol-observable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
}
}
},
"cspell-trie": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/cspell-trie/-/cspell-trie-2.0.3.tgz",
"integrity": "sha512-5jJiOPbKWzHNoJAwOQ/fkBXJ2xs+P5zfQmj2OEqq1k4Ck5/88KLEkXJmNOPDG8nDP1va5kaLz3vUtAxABo1bwg==",
"requires": {
"commander": "^2.11.0",
"cspell-lib": "^2.0.1",
"fs-extra": "^4.0.2",
"gensequence": "^2.1.1",
"rxjs": "^5.5.2",
"rxjs-from-iterable": "^1.0.5",
"rxjs-stream": "^1.0.4"
}
},
"css-parse": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
@@ -3290,6 +3520,14 @@
"domelementtype": "1"
}
},
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
"integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
"requires": {
"is-obj": "^1.0.0"
}
},
"double-ended-queue": {
"version": "2.1.0-0",
"resolved": "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz",
@@ -3670,8 +3908,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
"version": "1.9.1",
@@ -4332,7 +4569,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
"integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"jsonfile": "^4.0.0",
@@ -4354,8 +4590,7 @@
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "1.2.3",
@@ -4987,6 +5222,11 @@
"is-property": "^1.0.0"
}
},
"gensequence": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/gensequence/-/gensequence-2.1.1.tgz",
"integrity": "sha512-AyZrG5Qq8Tn0qnaDCnH2n9TsWnJLKBXEa2FcUlHWfEgl1rRS3MbcvB4OsarxyEekx/PwYlyKXvjQwNvYsByXAw=="
},
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
@@ -5079,7 +5319,6 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -5152,8 +5391,7 @@
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
},
"hammerjs": {
"version": "2.0.8",
@@ -5698,8 +5936,7 @@
"iconv-lite": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
"dev": true
"integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
},
"ieee754": {
"version": "1.1.11",
@@ -5745,8 +5982,7 @@
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
},
"in-publish": {
"version": "2.0.0",
@@ -5781,7 +6017,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
@@ -6028,6 +6263,11 @@
"kind-of": "^3.0.2"
}
},
"is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"is-odd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
@@ -6477,6 +6717,21 @@
"integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==",
"dev": true
},
"json-parser": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/json-parser/-/json-parser-1.1.5.tgz",
"integrity": "sha1-5i7FJh0aal/CDoEqMgdAxtkAVnc=",
"requires": {
"esprima": "^2.7.0"
},
"dependencies": {
"esprima": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
}
}
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
@@ -6518,7 +6773,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6"
}
@@ -7354,7 +7608,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz",
"integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==",
"dev": true,
"requires": {
"pify": "^3.0.0"
}
@@ -8292,7 +8545,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
@@ -8633,8 +8885,7 @@
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-is-inside": {
"version": "1.0.2",
@@ -8725,8 +8976,7 @@
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
},
"pinkie": {
"version": "2.0.4",
@@ -9847,6 +10097,16 @@
"symbol-observable": "^1.0.1"
}
},
"rxjs-from-iterable": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/rxjs-from-iterable/-/rxjs-from-iterable-1.0.5.tgz",
"integrity": "sha1-zqsVcAVLO7Bf0m15iBSCx9sbc9c="
},
"rxjs-stream": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/rxjs-stream/-/rxjs-stream-1.3.0.tgz",
"integrity": "sha512-Vj86/1qAYvCApBOIi7gghVteCrMCXTnQxICPnW/D+4vtFIpgSE/xDegUDYJy9bwKyxR7VteVDhZyCvQt4RV/xQ=="
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -10193,8 +10453,7 @@
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
},
"silent-error": {
"version": "1.1.0",
@@ -11579,11 +11838,18 @@
"imurmurhash": "^0.1.4"
}
},
"unique-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
"integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
"requires": {
"crypto-random-string": "^1.0.0"
}
},
"universalify": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz",
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=",
"dev": true
"integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
},
"unpipe": {
"version": "1.0.0",
@@ -11880,6 +12146,11 @@
"integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
"dev": true
},
"vscode-uri": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.3.tgz",
"integrity": "sha1-Yxvb9xbcyrDmUpGo3CXCMjIIWlI="
},
"wait-on": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wait-on/-/wait-on-2.1.0.tgz",
@@ -13250,8 +13521,17 @@
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"write-file-atomic": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
"integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
"requires": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
"signal-exit": "^3.0.2"
}
},
"ws": {
"version": "3.3.3",
@@ -13264,6 +13544,11 @@
"ultron": "~1.1.0"
}
},
"xdg-basedir": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
"integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
},
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",

View File

@@ -24,7 +24,8 @@
"e2e:all": "npm run start:docker && npm run cypress:ci && npm run e2e && npm run stop:docker",
"cypress:open": "cypress open",
"cypress:run": "cypress run",
"cypress:ci": "cypress run --browser chrome --config baseUrl=http://localhost:3000"
"cypress:ci": "cypress run --browser chrome --config baseUrl=http://localhost:3000",
"spellcheck": "cspell 'src/**/*.ts' 'e2e/**/*.ts'"
},
"private": true,
"dependencies": {
@@ -49,6 +50,7 @@
"@ngx-translate/core": "9.1.1",
"alfresco-js-api": "2.4.0-31a7fc6e5d58dc8bf202ef9a80bc993c9f48fe18",
"core-js": "2.5.3",
"cspell": "^2.1.12",
"hammerjs": "2.0.8",
"moment-es6": "1.0.0",
"pdfjs-dist": "2.0.303",

View File

@@ -66,7 +66,7 @@ export class NodeDeleteDirective {
(data) => {
const processedData = this.processStatus(data);
this.getDeleteMesssage(processedData)
this.getDeleteMessage(processedData)
.subscribe((message) => {
const withUndo = processedData.someSucceeded ? this.translation.translate.instant('APP.ACTIONS.UNDO') : '';
@@ -194,7 +194,7 @@ export class NodeDeleteDirective {
}
}
private getDeleteMesssage(status): Observable<string> {
private getDeleteMessage(status): Observable<string> {
if (status.allFailed && !status.oneFailed) {
return this.translation.get(
'APP.MESSAGES.ERRORS.NODE_DELETION_PLURAL',

View File

@@ -79,10 +79,10 @@ export class NodeRestoreDirective {
.flatMap(() => this.getDeletedNodes())
.subscribe(
(deletedNodesList: DeletedNodesPaging) => {
const { entries: nodelist } = deletedNodesList.list;
const { entries: nodeList } = deletedNodesList.list;
const { fail: restoreErrorNodes } = this.restoreProcessStatus;
const selectedNodes = this.diff(restoreErrorNodes, selection, false);
const remainingNodes = this.diff(selectedNodes, nodelist);
const remainingNodes = this.diff(selectedNodes, nodeList);
if (!remainingNodes.length) {
this.restoreNotification();

View File

@@ -1069,21 +1069,21 @@ describe('NodeActionsService', () => {
baseName: 'withExtension.txt',
expected: 'withExtension-1.txt'
}, {
name: 'with-lineStringSufix.txt',
baseName: 'with-lineStringSufix.txt',
expected: 'with-lineStringSufix-1.txt'
name: 'with-lineStringSuffix.txt',
baseName: 'with-lineStringSuffix.txt',
expected: 'with-lineStringSuffix-1.txt'
}, {
name: 'noExtension-1',
baseName: 'noExtension-1',
expected: 'noExtension-1-1'
}, {
name: 'with-lineNumberSufix-1.txt',
baseName: 'with-lineNumberSufix-1.txt',
expected: 'with-lineNumberSufix-1-1.txt'
name: 'with-lineNumberSuffix-1.txt',
baseName: 'with-lineNumberSuffix-1.txt',
expected: 'with-lineNumberSuffix-1-1.txt'
}, {
name: 'with-lineNumberSufix.txt',
name: 'with-lineNumberSuffix.txt',
baseName: undefined,
expected: 'with-lineNumberSufix-1.txt'
expected: 'with-lineNumberSuffix-1.txt'
}, {
name: 'noExtension-1',
baseName: 'noExtension',