fix(core): update
This commit is contained in:
parent
1fd2bb8e01
commit
098a9c64c6
20013
package-lock.json
generated
20013
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -11,9 +11,9 @@
|
|||||||
"build": "(tsbuild --web)"
|
"build": "(tsbuild --web)"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@gitzone/tsbuild": "^2.1.25",
|
"@gitzone/tsbuild": "^2.1.27",
|
||||||
"@gitzone/tsrun": "^1.2.12",
|
"@gitzone/tsrun": "^1.2.17",
|
||||||
"@gitzone/tstest": "^1.0.54",
|
"@gitzone/tstest": "^1.0.57",
|
||||||
"@pushrocks/tapbundle": "^3.2.14",
|
"@pushrocks/tapbundle": "^3.2.14",
|
||||||
"tslint": "^6.1.3",
|
"tslint": "^6.1.3",
|
||||||
"tslint-config-prettier": "^1.18.0"
|
"tslint-config-prettier": "^1.18.0"
|
||||||
@ -21,7 +21,8 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@pushrocks/smartfile": "^8.0.10",
|
"@pushrocks/smartfile": "^8.0.10",
|
||||||
"@pushrocks/smartrequest": "^1.1.52",
|
"@pushrocks/smartrequest": "^1.1.52",
|
||||||
"@pushrocks/smarturl": "^2.0.1"
|
"@pushrocks/smarturl": "^2.0.1",
|
||||||
|
"@tsclass/tsclass": "^3.0.33"
|
||||||
},
|
},
|
||||||
"private": false,
|
"private": false,
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
|
18
test/test.ts
18
test/test.ts
@ -3,24 +3,24 @@ import * as gitlab from '../ts/index';
|
|||||||
|
|
||||||
let testGitlabAccount: gitlab.GitlabAccount;
|
let testGitlabAccount: gitlab.GitlabAccount;
|
||||||
|
|
||||||
tap.test('should create an anonymous Gitlab Account', async () => {
|
const test1 = tap.test('should create an anonymous Gitlab Account', async () => {
|
||||||
testGitlabAccount = gitlab.GitlabAccount.createAnonymousAccount();
|
testGitlabAccount = gitlab.GitlabAccount.createAnonymousAccount();
|
||||||
expect(testGitlabAccount).to.be.instanceOf(gitlab.GitlabAccount);
|
expect(testGitlabAccount).to.be.instanceOf(gitlab.GitlabAccount);
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get the pushrocks group', async () => {
|
const test2 = tap.test('should get the pushrocks group', async () => {
|
||||||
const pushrocksGroup = await testGitlabAccount.getGroupByName('pushrocks');
|
const pushrocksGroup = await testGitlabAccount.getGroupByName('pushrocks');
|
||||||
expect(pushrocksGroup).to.be.instanceOf(gitlab.GitlabGroup);
|
expect(pushrocksGroup).to.be.instanceOf(gitlab.GitlabGroup);
|
||||||
console.log(pushrocksGroup);
|
console.log(pushrocksGroup);
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get the pushrocks group', async () => {
|
const test3 = tap.test('should get the pushrocks group', async () => {
|
||||||
const pushrocksGroup = await testGitlabAccount.getGroupByName('pushrocks');
|
const pushrocksGroup = await testGitlabAccount.getGroupByName('pushrocks');
|
||||||
expect(pushrocksGroup).to.be.instanceOf(gitlab.GitlabGroup);
|
expect(pushrocksGroup).to.be.instanceOf(gitlab.GitlabGroup);
|
||||||
await pushrocksGroup.getProjects();
|
await pushrocksGroup.getProjects();
|
||||||
});
|
});
|
||||||
|
|
||||||
tap.test('should get the readme of a project', async () => {
|
const test4 = tap.test('should get the readme of a project', async () => {
|
||||||
const pushrocksGroup = await testGitlabAccount.getGroupByName('pushrocks');
|
const pushrocksGroup = await testGitlabAccount.getGroupByName('pushrocks');
|
||||||
expect(pushrocksGroup).to.be.instanceOf(gitlab.GitlabGroup);
|
expect(pushrocksGroup).to.be.instanceOf(gitlab.GitlabGroup);
|
||||||
const projects = await pushrocksGroup.getProjects();
|
const projects = await pushrocksGroup.getProjects();
|
||||||
@ -29,7 +29,15 @@ tap.test('should get the readme of a project', async () => {
|
|||||||
});
|
});
|
||||||
expect(selectedProject.data.name).to.equal('smartfile');
|
expect(selectedProject.data.name).to.equal('smartfile');
|
||||||
const readme = await selectedProject.getReadmeAsMarkdown('master');
|
const readme = await selectedProject.getReadmeAsMarkdown('master');
|
||||||
expect(readme).to.startWith('# @pushrocks/smartfile');
|
expect(readme.startsWith('# @pushrocks/smartfile')).to.be.true;
|
||||||
|
return projects;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const test5 = tap.test('should be able to create an article list', async () => {
|
||||||
|
const projects: gitlab.GitlabProject[] = (await test4.testResultPromise) as any;
|
||||||
|
for (const project of projects) {
|
||||||
|
console.log(await project.getProjectAsArticle());
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
tap.start();
|
tap.start();
|
||||||
|
@ -33,7 +33,7 @@ export class GitlabAccount {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// lets deal with pagination headers
|
// lets deal with pagination headers
|
||||||
const findLinkName = (markup) => {
|
const findLinkName = (markup: string) => {
|
||||||
const pattern = /<([^\s>]+)(\s|>)+/;
|
const pattern = /<([^\s>]+)(\s|>)+/;
|
||||||
return markup.match(pattern)[1];
|
return markup.match(pattern)[1];
|
||||||
};
|
};
|
||||||
|
@ -148,4 +148,26 @@ export class GitlabProject {
|
|||||||
const readmeFile = await this.getFileFromProject('readme.md', refArg);
|
const readmeFile = await this.getFileFromProject('readme.md', refArg);
|
||||||
return readmeFile.contents.toString('utf8');
|
return readmeFile.contents.toString('utf8');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async getNpmKeywords(refArg: string = 'master'): Promise<string[]> {
|
||||||
|
const packageJsonFile = await this.getFileFromProject('package.json', refArg);
|
||||||
|
const packageJsonObject: any = JSON.parse(packageJsonFile.contents.toString('utf8'));
|
||||||
|
return packageJsonObject.keywords ? packageJsonObject.keywords : [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public async getProjectAsArticle(): Promise<plugins.tsclass.content.IArticle> {
|
||||||
|
return {
|
||||||
|
url: this.data.web_url,
|
||||||
|
author: null,
|
||||||
|
content: await this.getReadmeAsMarkdown().catch(err => null),
|
||||||
|
tags: await this.getNpmKeywords().catch(err => null),
|
||||||
|
title: this.data.name,
|
||||||
|
timestamp: new Date(this.data.last_activity_at).getTime(),
|
||||||
|
featuredImageUrl: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async syncNpmTagsToGitlabTopics() {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
// @tsclass scope
|
||||||
|
import * as tsclass from '@tsclass/tsclass';
|
||||||
|
|
||||||
|
export {
|
||||||
|
tsclass
|
||||||
|
}
|
||||||
|
|
||||||
// pushrocks scope
|
// pushrocks scope
|
||||||
import * as smartfile from '@pushrocks/smartfile';
|
import * as smartfile from '@pushrocks/smartfile';
|
||||||
import * as smartrequest from '@pushrocks/smartrequest';
|
import * as smartrequest from '@pushrocks/smartrequest';
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
export * from './gitlab.classes.group';
|
export * from './gitlab.classes.group';
|
||||||
export * from './gitlab.classes.account';
|
export * from './gitlab.classes.account';
|
||||||
|
export * from './gitlab.classes.project';
|
Loading…
Reference in New Issue
Block a user