Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
ba42658ee9 | |||
68687c2bca | |||
2b76f54408 | |||
64561ab878 | |||
8bb8574da7 | |||
6a5ecfcb19 |
@ -3,14 +3,14 @@ image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- .npmci_cache/
|
||||
key: "$CI_BUILD_STAGE"
|
||||
- .npmci_cache/
|
||||
key: '$CI_BUILD_STAGE'
|
||||
|
||||
stages:
|
||||
- security
|
||||
- test
|
||||
- release
|
||||
- metadata
|
||||
- security
|
||||
- test
|
||||
- release
|
||||
- metadata
|
||||
|
||||
# ====================
|
||||
# security stage
|
||||
@ -18,21 +18,23 @@ stages:
|
||||
mirror:
|
||||
stage: security
|
||||
script:
|
||||
- npmci git mirror
|
||||
- npmci git mirror
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
snyk:
|
||||
image: registry.gitlab.com/hosttoday/ht-docker-node:snyk
|
||||
stage: security
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci command npm install -g snyk
|
||||
- npmci command npm install --ignore-scripts
|
||||
- npmci command snyk test
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
# ====================
|
||||
# test stage
|
||||
@ -41,37 +43,40 @@ snyk:
|
||||
testStable:
|
||||
stage: test
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci npm test
|
||||
- npmci npm prepare
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci npm test
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- docker
|
||||
- priv
|
||||
- lossless
|
||||
- docker
|
||||
- priv
|
||||
|
||||
testBuild:
|
||||
stage: test
|
||||
script:
|
||||
- npmci npm prepare
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci command npm run build
|
||||
- npmci npm prepare
|
||||
- npmci node install stable
|
||||
- npmci npm install
|
||||
- npmci command npm run build
|
||||
coverage: /\d+.?\d+?\%\s*coverage/
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
release:
|
||||
stage: release
|
||||
script:
|
||||
- npmci node install stable
|
||||
- npmci npm publish
|
||||
- npmci node install stable
|
||||
- npmci npm publish
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
# ====================
|
||||
# metadata stage
|
||||
@ -85,18 +90,20 @@ codequality:
|
||||
- npmci npm install
|
||||
- npmci command "tslint -c tslint.json ./ts/**/*.ts"
|
||||
tags:
|
||||
- docker
|
||||
- priv
|
||||
- lossless
|
||||
- docker
|
||||
- priv
|
||||
|
||||
trigger:
|
||||
stage: metadata
|
||||
script:
|
||||
- npmci trigger
|
||||
- npmci trigger
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
tags:
|
||||
- docker
|
||||
- notpriv
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
|
||||
pages:
|
||||
stage: metadata
|
||||
@ -107,6 +114,7 @@ pages:
|
||||
- npmci npm install
|
||||
- npmci command tsdoc
|
||||
tags:
|
||||
- lossless
|
||||
- docker
|
||||
- notpriv
|
||||
only:
|
||||
@ -114,5 +122,5 @@ pages:
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- public
|
||||
- public
|
||||
allow_failure: true
|
||||
|
2
package-lock.json
generated
2
package-lock.json
generated
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tsclass/tsclass",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.3",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tsclass/tsclass",
|
||||
"version": "3.0.0",
|
||||
"version": "3.0.3",
|
||||
"private": false,
|
||||
"description": "common classes for TypeScript",
|
||||
"main": "dist/index.js",
|
||||
|
@ -49,6 +49,11 @@ class myOwnInvoice implements IInvoice {
|
||||
|
||||
> The modules in bold letters exist as own modules and can be used seperately
|
||||
|
||||
|
||||
## Contribution
|
||||
|
||||
We are always happy for code contributions. If you are not the code contributing type that is ok. Still, maintaining Open Source repositories takes considerable time and thought. If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)
|
||||
|
||||
For further information read the linked docs at the top of this readme.
|
||||
|
||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
@ -3,7 +3,7 @@ import { tap, expect } from '@pushrocks/tapbundle';
|
||||
import * as tsclass from '../ts/index';
|
||||
|
||||
tap.test('should assign a correct type', async () => {
|
||||
let contact: tsclass.IContact;
|
||||
let contact: tsclass.business.IContact;
|
||||
});
|
||||
|
||||
tap.start();
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { IContact } from '..';
|
||||
import { IDate } from '..';
|
||||
import { business, general } from '..';
|
||||
|
||||
/**
|
||||
* describes a company's lifecycle state
|
||||
@ -11,8 +10,8 @@ export type TCompanyStatus = 'planed' | 'founding' | 'active' | 'liquidation' |
|
||||
*/
|
||||
export interface ICompany {
|
||||
name: string;
|
||||
foundedDate: IDate;
|
||||
closedDate: IDate;
|
||||
status: TCompanyStatus;
|
||||
contact: IContact;
|
||||
foundedDate: general.IDate;
|
||||
closedDate: general.IDate;
|
||||
status: business.TCompanyStatus;
|
||||
contact: business.IContact;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IAddress } from '..';
|
||||
import { business } from '..';
|
||||
|
||||
export type TContactSalutation = 'Mr' | 'Ms' | 'Mrs';
|
||||
|
||||
@ -16,7 +16,7 @@ export interface IContact {
|
||||
name: string;
|
||||
surname?: string;
|
||||
legalEntity?: string;
|
||||
address: IAddress;
|
||||
address: business.IAddress;
|
||||
description: string;
|
||||
customerNumber?: string;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IAuthor } from '..';
|
||||
import { content } from '..';
|
||||
|
||||
export interface IArticle {
|
||||
/**
|
||||
@ -9,7 +9,7 @@ export interface IArticle {
|
||||
/**
|
||||
* the Author of an article
|
||||
*/
|
||||
author: IAuthor;
|
||||
author: content.IAuthor;
|
||||
|
||||
/**
|
||||
* the content of an article
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { IDate } from '..';
|
||||
import { IArticle } from '..';
|
||||
import { general, content } from '..';
|
||||
|
||||
export interface IAuthor {
|
||||
/**
|
||||
@ -15,10 +14,10 @@ export interface IAuthor {
|
||||
/**
|
||||
* the birthday of an author
|
||||
*/
|
||||
birthday: IDate;
|
||||
birthday: general.IDate;
|
||||
|
||||
/**
|
||||
* articles of an author
|
||||
*/
|
||||
articles: IArticle[];
|
||||
articles: content.IArticle[];
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
import { TCurrency } from './currency';
|
||||
import { ITransaction } from './transaction';
|
||||
import { finance } from '../';
|
||||
|
||||
export interface ICheckingAccount {
|
||||
name: string;
|
||||
currency: TCurrency;
|
||||
transactions: ITransaction[];
|
||||
currency: finance.TCurrency;
|
||||
transactions: finance.ITransaction[];
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
import { IInvoice } from './invoice';
|
||||
import { IContact } from '../business/contact';
|
||||
import { business } from '../';
|
||||
|
||||
export interface IExpenseItem {
|
||||
description: string;
|
||||
@ -14,5 +13,5 @@ export interface IVoucher {
|
||||
date: Date;
|
||||
description: string;
|
||||
expenseItems: IExpenseItem[];
|
||||
contactRef: IContact;
|
||||
contactRef: business.IContact;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IContact } from '..';
|
||||
import { business } from '..';
|
||||
|
||||
export type TInvoiceStatus = 'draft' | 'invoice' | 'paid' | 'refunded';
|
||||
|
||||
@ -10,8 +10,8 @@ export interface IInvoiceItem {
|
||||
}
|
||||
|
||||
export interface IInvoice {
|
||||
billedBy: IContact;
|
||||
billedTo: IContact;
|
||||
billedBy: business.IContact;
|
||||
billedTo: business.IContact;
|
||||
status: TInvoiceStatus;
|
||||
items: IInvoiceItem[];
|
||||
}
|
||||
|
@ -1,21 +1,16 @@
|
||||
// Business
|
||||
import * as business from './business';
|
||||
export * from './business';
|
||||
|
||||
// Finance
|
||||
import * as finance from './finance';
|
||||
export * from './finance';
|
||||
|
||||
// Content
|
||||
import * as content from './content';
|
||||
export * from './content';
|
||||
|
||||
// General
|
||||
import * as general from './general';
|
||||
export * from './general';
|
||||
|
||||
// Network
|
||||
import * as network from './network';
|
||||
export * from './network';
|
||||
|
||||
export { business, finance, content, general, network };
|
||||
|
@ -0,0 +1,8 @@
|
||||
export interface ICert {
|
||||
id: string;
|
||||
domainName: string;
|
||||
created: number;
|
||||
privateKey: string;
|
||||
publicKey: string;
|
||||
csr: string;
|
||||
}
|
||||
|
Reference in New Issue
Block a user