Compare commits
	
		
			8 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 52cc249098 | |||
| 2e189b0660 | |||
| f876c7414b | |||
| 08b7585cfc | |||
| 76311fab72 | |||
| 1b73df64f5 | |||
| 701cee573b | |||
| 3dd086f711 | 
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@shipzone/npmci", |   "name": "@shipzone/npmci", | ||||||
|   "version": "3.1.14", |   "version": "3.1.18", | ||||||
|   "lockfileVersion": 1, |   "lockfileVersion": 1, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
| @@ -102,7 +102,7 @@ | |||||||
|     }, |     }, | ||||||
|     "@pushrocks/projectinfo": { |     "@pushrocks/projectinfo": { | ||||||
|       "version": "4.0.2", |       "version": "4.0.2", | ||||||
|       "resolved": "https://registry.npmjs.org/@pushrocks/projectinfo/-/projectinfo-4.0.2.tgz", |       "resolved": "https://verdaccio.lossless.one/@pushrocks%2fprojectinfo/-/projectinfo-4.0.2.tgz", | ||||||
|       "integrity": "sha512-u5tSlrJTdDb5r3qmPub5WkDWlW561WfjqylZMkswP4yNZSR2krhew4ra4Y2/6q2QUnMBXRmo1lj4n7ggXoDNWQ==", |       "integrity": "sha512-u5tSlrJTdDb5r3qmPub5WkDWlW561WfjqylZMkswP4yNZSR2krhew4ra4Y2/6q2QUnMBXRmo1lj4n7ggXoDNWQ==", | ||||||
|       "requires": { |       "requires": { | ||||||
|         "@pushrocks/smartfile": "^6.0.8", |         "@pushrocks/smartfile": "^6.0.8", | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| { | { | ||||||
|   "name": "@shipzone/npmci", |   "name": "@shipzone/npmci", | ||||||
|   "version": "3.1.14", |   "version": "3.1.18", | ||||||
|   "description": "node and docker in gitlab ci on steroids", |   "description": "node and docker in gitlab ci on steroids", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|   "typings": "dist/index.d.ts", |   "typings": "dist/index.d.ts", | ||||||
|   | |||||||
| @@ -165,7 +165,7 @@ export let getDockerBuildArgs = async (): Promise<string> => { | |||||||
|   let buildArgsString: string = ''; |   let buildArgsString: string = ''; | ||||||
|   for (const key in NpmciConfig.configObject.dockerBuildargEnvMap) { |   for (const key in NpmciConfig.configObject.dockerBuildargEnvMap) { | ||||||
|     const targetValue = process.env[NpmciConfig.configObject.dockerBuildargEnvMap[key]]; |     const targetValue = process.env[NpmciConfig.configObject.dockerBuildargEnvMap[key]]; | ||||||
|     buildArgsString = `${buildArgsString} --build-arg ${key}=${targetValue}`; |     buildArgsString = `${buildArgsString} --build-arg ${key}="${targetValue}"`; | ||||||
|   } |   } | ||||||
|   return buildArgsString; |   return buildArgsString; | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -3,6 +3,8 @@ import * as plugins from './mod.plugins'; | |||||||
| import { bash } from '../npmci.bash'; | import { bash } from '../npmci.bash'; | ||||||
| import { repo } from '../npmci.env'; | import { repo } from '../npmci.env'; | ||||||
|  |  | ||||||
|  | import { configObject } from '../npmci.config'; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * handle cli input |  * handle cli input | ||||||
|  * @param argvArg |  * @param argvArg | ||||||
| @@ -15,10 +17,10 @@ export let handleCli = async argvArg => { | |||||||
|         await mirror(); |         await mirror(); | ||||||
|         break; |         break; | ||||||
|       default: |       default: | ||||||
|         logger.log('error', `>>npmci git ...<< action >>${action}<< not supported`); |         logger.log('error', `npmci git -> action >>${action}<< not supported!`); | ||||||
|     } |     } | ||||||
|   } else { |   } else { | ||||||
|     logger.log('info', `>>npmci git ...<< cli arguments invalid... Please read the documentation.`); |     logger.log('info', `npmci git -> cli arguments invalid! Please read the documentation.`); | ||||||
|   } |   } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| @@ -26,6 +28,10 @@ export let mirror = async () => { | |||||||
|   const githubToken = process.env.NPMCI_GIT_GITHUBTOKEN; |   const githubToken = process.env.NPMCI_GIT_GITHUBTOKEN; | ||||||
|   const githubUser = process.env.NPMCI_GIT_GITHUBGROUP || repo.user; |   const githubUser = process.env.NPMCI_GIT_GITHUBGROUP || repo.user; | ||||||
|   const githubRepo = process.env.NPMCI_GIT_GITHUB || repo.repo; |   const githubRepo = process.env.NPMCI_GIT_GITHUB || repo.repo; | ||||||
|  |   if(configObject.projectInfo.npm.packageJson.private) { | ||||||
|  |     logger.log('warn', `refusing to mirror due to private property`); | ||||||
|  |     return; | ||||||
|  |   } | ||||||
|   if (githubToken) { |   if (githubToken) { | ||||||
|     logger.log('info', 'found github token.'); |     logger.log('info', 'found github token.'); | ||||||
|     logger.log('info', 'attempting the mirror the repository to GitHub'); |     logger.log('info', 'attempting the mirror the repository to GitHub'); | ||||||
|   | |||||||
| @@ -78,7 +78,7 @@ const publish = async () => { | |||||||
|  |  | ||||||
|   // -> configure registry url |   // -> configure registry url | ||||||
|   if (config.npmRegistryUrl) { |   if (config.npmRegistryUrl) { | ||||||
|     npmAccessCliString = `--registry=https://${config.npmRegistryUrl}`; |     npmRegistryCliString = `--registry=https://${config.npmRegistryUrl}`; | ||||||
|   } else { |   } else { | ||||||
|     logger.log('error', `no registry url specified. Can't publish!`); |     logger.log('error', `no registry url specified. Can't publish!`); | ||||||
|     process.exit(1); |     process.exit(1); | ||||||
|   | |||||||
| @@ -6,9 +6,10 @@ import { repo } from './npmci.env'; | |||||||
| import { KeyValueStore } from '@pushrocks/npmextra'; | import { KeyValueStore } from '@pushrocks/npmextra'; | ||||||
|  |  | ||||||
| export interface INpmciOptions { | export interface INpmciOptions { | ||||||
|  |   projectInfo: plugins.projectinfo.ProjectInfo; | ||||||
|   npmGlobalTools: string[]; |   npmGlobalTools: string[]; | ||||||
|   npmAccessLevel?: 'private' | 'public'; |   npmAccessLevel?: 'private' | 'public'; | ||||||
|   npmRegistryUrl?: string; |   npmRegistryUrl: string; | ||||||
|   dockerRegistryRepoMap: any; |   dockerRegistryRepoMap: any; | ||||||
|   dockerBuildargEnvMap: any; |   dockerBuildargEnvMap: any; | ||||||
| } | } | ||||||
| @@ -19,8 +20,11 @@ export let kvStorage = new KeyValueStore('custom', `${repo.user}_${repo.repo}`); | |||||||
| // handle config retrival | // handle config retrival | ||||||
| const npmciNpmextra = new plugins.npmextra.Npmextra(paths.cwd); | const npmciNpmextra = new plugins.npmextra.Npmextra(paths.cwd); | ||||||
| const defaultConfig: INpmciOptions = { | const defaultConfig: INpmciOptions = { | ||||||
|  |   projectInfo: new plugins.projectinfo.ProjectInfo(paths.cwd), | ||||||
|   npmGlobalTools: [], |   npmGlobalTools: [], | ||||||
|   dockerRegistryRepoMap: {}, |   dockerRegistryRepoMap: {}, | ||||||
|  |   npmAccessLevel: 'private', | ||||||
|  |   npmRegistryUrl: 'registry.npmjs.org', | ||||||
|   dockerBuildargEnvMap: {} |   dockerBuildargEnvMap: {} | ||||||
| }; | }; | ||||||
| export let configObject = npmciNpmextra.dataFor<INpmciOptions>('npmci', defaultConfig); | export let configObject = npmciNpmextra.dataFor<INpmciOptions>('npmci', defaultConfig); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user