Compare commits

...

16 Commits

Author SHA1 Message Date
9a4611b70f 3.1.41 2019-08-27 16:45:47 +02:00
189dbc3654 fix(core): update 2019-08-27 16:45:46 +02:00
fc95fc96ed 3.1.40 2019-08-23 17:04:29 +02:00
467eed57d7 fix(core): update 2019-08-23 17:04:29 +02:00
a5ca5444a0 3.1.39 2019-08-23 16:48:53 +02:00
17610cb834 fix(core): update 2019-08-23 16:48:52 +02:00
e1f2b5c6fe 3.1.38 2019-08-23 16:42:55 +02:00
edbbae0bd0 fix(core): update 2019-08-23 16:42:55 +02:00
0e820bec27 3.1.37 2019-07-18 14:42:15 +02:00
91a3d612c6 fix(core): update 2019-07-18 14:42:14 +02:00
c696730e55 3.1.36 2019-07-17 17:57:21 +02:00
38d38ce246 fix(core): update 2019-07-17 17:57:20 +02:00
adfdf68c38 3.1.35 2019-07-17 17:55:03 +02:00
d4a4d69941 fix(core): update 2019-07-17 17:55:02 +02:00
c1fed2c758 3.1.34 2019-07-17 17:04:10 +02:00
9918d81f59 fix(core): update 2019-07-17 17:04:10 +02:00
10 changed files with 1161 additions and 650 deletions

View File

@@ -1,5 +1,7 @@
# gitzone ci_default
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
variables:
GIT_STRATEGY: clone
cache:
paths:
@@ -38,13 +40,25 @@ snyk:
# test stage
# ====================
testLTS:
testStable:
stage: test
script:
- npmci npm prepare
- npmci node install stable
- npmci npm install
- npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
- priv
testBuild:
stage: test
script:
- npmci npm prepare
- npmci node install lts
- npmci npm install
- npmci npm test
- npmci command npm run build
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
@@ -86,7 +100,9 @@ trigger:
- notpriv
pages:
image: hosttoday/ht-docker-node:npmci
image: hosttoday/ht-docker-dbase:npmci
services:
- docker:18-dind
stage: metadata
script:
- npmci command npm install -g @gitzone/tsdoc

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"workbench.colorCustomizations": {}
}

1669
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@shipzone/npmci",
"version": "3.1.33",
"version": "3.1.41",
"private": false,
"description": "node and docker in gitlab ci on steroids",
"main": "dist/index.js",
@@ -24,31 +24,33 @@
},
"homepage": "https://gitlab.com/gitzone/npmci#README",
"devDependencies": {
"@gitzone/tsbuild": "^2.1.11",
"@gitzone/tsbuild": "^2.1.17",
"@gitzone/tsrun": "^1.2.6",
"@gitzone/tstest": "^1.0.24",
"@pushrocks/tapbundle": "^3.0.9",
"@types/node": "^12.0.8",
"tslint": "^5.17.0",
"@pushrocks/tapbundle": "^3.0.13",
"@types/node": "^12.7.2",
"tslint": "^5.19.0",
"tslint-config-prettier": "^1.18.0"
},
"dependencies": {
"@pushrocks/lik": "^3.0.5",
"@pushrocks/lik": "^3.0.11",
"@pushrocks/npmextra": "^3.0.5",
"@pushrocks/projectinfo": "^4.0.2",
"@pushrocks/smartanalytics": "^2.0.15",
"@pushrocks/smartcli": "^3.0.7",
"@pushrocks/smartdelay": "^2.0.3",
"@pushrocks/smartfile": "^7.0.2",
"@pushrocks/smartgit": "^1.0.12",
"@pushrocks/smartlog": "^2.0.19",
"@pushrocks/smartlog-destination-local": "^8.0.2",
"@pushrocks/smartparam": "^1.0.4",
"@pushrocks/smartpromise": "^3.0.2",
"@pushrocks/smartrequest": "^1.1.16",
"@pushrocks/smartrequest": "^1.1.23",
"@pushrocks/smartshell": "^2.0.23",
"@pushrocks/smartsocket": "^1.1.38",
"@pushrocks/smartsocket": "^1.1.45",
"@pushrocks/smartssh": "^1.2.3",
"@pushrocks/smartstring": "^3.0.10",
"@servezone/servezone-interfaces": "^2.0.28",
"@types/shelljs": "^0.8.5",
"@types/through2": "^2.0.34",
"through2": "^3.0.1"
@@ -58,6 +60,7 @@
"ts_web/*",
"dist/*",
"dist_web/*",
"dist_ts_web/*",
"assets/*",
"cli.js",
"npmextra.json",

View File

@@ -96,6 +96,6 @@ Use TypeScript for best in class instellisense.
For further information read the linked docs at the top of this readme.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy)
[![repo-footer](https://shipzone.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)
[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com)

View File

@@ -41,6 +41,9 @@ export let mirror = async () => {
if (githubToken) {
logger.log('info', 'found github token.');
logger.log('info', 'attempting the mirror the repository to GitHub');
// plugins.smartgit.GitRepo;
// add the mirror
await bash(
`git remote add mirror https://${githubToken}@github.com/${githubUser}/${githubRepo}.git`

View File

@@ -1 +1,5 @@
export * from '../npmci.plugins';
import * as smartgit from '@pushrocks/smartgit';
export { smartgit };

View File

@@ -50,6 +50,8 @@ export let install = async versionArg => {
} else {
logger.log('warn', 'Nvm not in path so staying at installed node version!');
}
logger.log('info', 'now installing latest npm version');
await bash('npm install -g npm');
await bash('node -v');
await bash('npm -v');
await bash(`npm config set cache ${paths.NpmciCacheDir} --global `);

View File

@@ -66,18 +66,25 @@ const prepare = async () => {
* publish a package to npm
*/
const publish = async () => {
const buildPublishCommand = async () => {
let npmAccessCliString = ``;
let npmRegistryCliString = ``;
let publishVerdaccioAsWell = false;
const config = await configModule.getConfig();
const availableRegistries: string[] = [];
await plugins.smartparam.forEachMinimatch(process.env, 'NPMCI_TOKEN_NPM*', npmEnvArg => {
availableRegistries.push(npmEnvArg.split('|')[0]);
});
// -> configure package access level
if (
config.npmAccessLevel &&
(config.npmAccessLevel === 'public' || config.npmAccessLevel === 'private')
) {
if (config.npmAccessLevel) {
npmAccessCliString = `--access=${config.npmAccessLevel}`;
if (config.npmAccessLevel === 'public') {
publishVerdaccioAsWell = true;
}
} else {
throw new Error('You need to set a npmAccessLevel!!!');
}
// -> configure registry url
if (config.npmRegistryUrl) {
npmRegistryCliString = `--registry=https://${config.npmRegistryUrl}`;
@@ -86,6 +93,29 @@ const publish = async () => {
process.exit(1);
}
let publishCommand = `npm publish ${npmAccessCliString} ${npmRegistryCliString} `;
// publishEverywhere
if (publishVerdaccioAsWell) {
const verdaccioRegistry = availableRegistries.find(registryString =>
registryString.startsWith('verdaccio')
);
if (verdaccioRegistry) {
logger.log(
'info',
`package is public and verdaccio registry is specified. Also publishing to Verdaccio!`
);
publishCommand = `${publishCommand} && npm publish ${npmAccessCliString} --registry=https://${verdaccioRegistry}`;
} else {
logger.log(
'error',
`This package should also be published to Verdaccio, however there is no Verdaccio registry data available!`
);
}
}
return publishCommand;
};
// -> preparing
logger.log('info', `now preparing environment:`);
prepare();
@@ -105,7 +135,7 @@ const publish = async () => {
// -> publish it
logger.log('info', `now invoking npm to publish the package!`);
await bash(`npm publish ${npmAccessCliString} ${npmRegistryCliString}`);
await bash(await buildPublishCommand());
logger.log('success', `Package was successfully published!`);
};

View File

@@ -3,6 +3,13 @@ import * as path from 'path';
export { path };
// @servezone
import * as servezoneInterfaces from '@servezone/servezone-interfaces';
export {
servezoneInterfaces
};
// @pushrocks
import * as projectinfo from '@pushrocks/projectinfo';
import * as npmextra from '@pushrocks/npmextra';