Compare commits
	
		
			13 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 319a2dc41a | |||
| e01a998f0e | |||
| e40606d97b | |||
| 449c7b2c04 | |||
| 006782b57f | |||
| d643da29b0 | |||
| 635f92d2bc | |||
| 9a2cb56094 | |||
| 5886283002 | |||
| f886194c9c | |||
| e4efec89d9 | |||
| dbc12a593f | |||
| d7666e862b | 
							
								
								
									
										4
									
								
								cli.child.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								cli.child.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | #!/usr/bin/env node | ||||||
|  | process.env.CLI_CALL = 'true'; | ||||||
|  | import * as cliTool from './ts/index.js'; | ||||||
|  | cliTool.runCli(); | ||||||
							
								
								
									
										2
									
								
								cli.js
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								cli.js
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| #!/usr/bin/env node | #!/usr/bin/env node | ||||||
| process.env.CLI_CALL = 'true'; | process.env.CLI_CALL = 'true'; | ||||||
| const cliTool = require('./dist_ts/index'); | const cliTool = await import('./dist_ts/index.js'); | ||||||
| cliTool.runCli(); | cliTool.runCli(); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| #!/usr/bin/env node | #!/usr/bin/env node | ||||||
| process.env.CLI_CALL = 'true'; | process.env.CLI_CALL = 'true'; | ||||||
| require('@gitzone/tsrun'); |  | ||||||
| const cliTool = require('./ts/index'); | import * as tsrun from '@gitzone/tsrun'; | ||||||
| cliTool.runCli(); | tsrun.runPath('./cli.child.js', import.meta.url); | ||||||
|   | |||||||
							
								
								
									
										27557
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										27557
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										47
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								package.json
									
									
									
									
									
								
							| @@ -1,16 +1,17 @@ | |||||||
| { | { | ||||||
|   "name": "@shipzone/npmci", |   "name": "@shipzone/npmci", | ||||||
|   "version": "3.1.79", |   "version": "4.0.2", | ||||||
|   "private": false, |   "private": false, | ||||||
|   "description": "node and docker in gitlab ci on steroids", |   "description": "node and docker in gitlab ci on steroids", | ||||||
|   "main": "dist_ts/index.js", |   "main": "dist_ts/index.js", | ||||||
|   "typings": "dist_ts/index.d.ts", |   "typings": "dist_ts/index.d.ts", | ||||||
|  |   "type": "module", | ||||||
|   "bin": { |   "bin": { | ||||||
|     "npmci": "cli.js" |     "npmci": "cli.js" | ||||||
|   }, |   }, | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "test": "tstest test/", |     "test": "tstest test/", | ||||||
|     "build": "tsbuild && (npm run testVersion)", |     "build": "tsbuild --allowimplicitany && (npm run testVersion)", | ||||||
|     "testVersion": "(cd test/assets/ && node ../../cli.js -v)" |     "testVersion": "(cd test/assets/ && node ../../cli.js -v)" | ||||||
|   }, |   }, | ||||||
|   "repository": { |   "repository": { | ||||||
| @@ -24,36 +25,36 @@ | |||||||
|   }, |   }, | ||||||
|   "homepage": "https://gitlab.com/gitzone/npmci#README", |   "homepage": "https://gitlab.com/gitzone/npmci#README", | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@gitzone/tsbuild": "^2.1.28", |     "@gitzone/tsbuild": "^2.1.65", | ||||||
|     "@gitzone/tsrun": "^1.2.18", |     "@gitzone/tsrun": "^1.2.37", | ||||||
|     "@gitzone/tstest": "^1.0.59", |     "@gitzone/tstest": "^1.0.73", | ||||||
|     "@pushrocks/tapbundle": "^3.2.14", |     "@pushrocks/tapbundle": "^5.0.4", | ||||||
|     "@types/node": "^16.11.6", |     "@types/node": "^18.8.3" | ||||||
|     "tslint": "^6.1.3", |  | ||||||
|     "tslint-config-prettier": "^1.18.0" |  | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@apiglobal/typedrequest": "^1.0.58", |     "@apiglobal/typedrequest": "^2.0.10", | ||||||
|     "@pushrocks/lik": "^5.0.0", |     "@pushrocks/lik": "^6.0.0", | ||||||
|     "@pushrocks/npmextra": "^3.0.9", |     "@pushrocks/npmextra": "^3.0.9", | ||||||
|     "@pushrocks/projectinfo": "^4.0.5", |     "@pushrocks/projectinfo": "^5.0.1", | ||||||
|     "@pushrocks/qenv": "^4.0.10", |     "@pushrocks/qenv": "^5.0.2", | ||||||
|     "@pushrocks/smartanalytics": "^2.0.15", |     "@pushrocks/smartanalytics": "^2.0.15", | ||||||
|     "@pushrocks/smartcli": "^3.0.14", |     "@pushrocks/smartcli": "^4.0.6", | ||||||
|     "@pushrocks/smartdelay": "^2.0.13", |     "@pushrocks/smartdelay": "^2.0.13", | ||||||
|     "@pushrocks/smartfile": "^8.0.10", |     "@pushrocks/smartenv": "^5.0.3", | ||||||
|     "@pushrocks/smartgit": "^2.0.1", |     "@pushrocks/smartfile": "^10.0.5", | ||||||
|     "@pushrocks/smartlog": "^2.0.44", |     "@pushrocks/smartgit": "^3.0.0", | ||||||
|  |     "@pushrocks/smartlog": "^3.0.1", | ||||||
|     "@pushrocks/smartlog-destination-local": "^8.0.8", |     "@pushrocks/smartlog-destination-local": "^8.0.8", | ||||||
|     "@pushrocks/smartparam": "^1.1.6", |     "@pushrocks/smartparam": "^1.1.6", | ||||||
|     "@pushrocks/smartpromise": "^3.1.6", |     "@pushrocks/smartpath": "^5.0.5", | ||||||
|     "@pushrocks/smartrequest": "^1.1.52", |     "@pushrocks/smartpromise": "^3.1.7", | ||||||
|     "@pushrocks/smartshell": "^2.0.28", |     "@pushrocks/smartrequest": "^2.0.11", | ||||||
|     "@pushrocks/smartsocket": "^1.2.8", |     "@pushrocks/smartshell": "^2.0.30", | ||||||
|  |     "@pushrocks/smartsocket": "^2.0.7", | ||||||
|     "@pushrocks/smartssh": "^1.2.3", |     "@pushrocks/smartssh": "^1.2.3", | ||||||
|     "@pushrocks/smartstring": "^3.0.24", |     "@pushrocks/smartstring": "^4.0.5", | ||||||
|     "@servezone/interfaces": "^1.0.3", |     "@servezone/interfaces": "^1.0.3", | ||||||
|     "@tsclass/tsclass": "^3.0.36", |     "@tsclass/tsclass": "^4.0.21", | ||||||
|     "@types/through2": "^2.0.36", |     "@types/through2": "^2.0.36", | ||||||
|     "through2": "^4.0.2" |     "through2": "^4.0.2" | ||||||
|   }, |   }, | ||||||
|   | |||||||
							
								
								
									
										4453
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4453
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										23
									
								
								test/test.cloudly.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								test/test.cloudly.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = '0'; | ||||||
|  | import { tap, expect } from '@pushrocks/tapbundle'; | ||||||
|  |  | ||||||
|  | import * as cloudlyConnectorMod from '../ts/connector.cloudly/cloudlyconnector.js'; | ||||||
|  |  | ||||||
|  | tap.test('should be able to announce a container to cloudly', async () => { | ||||||
|  |   const cloudlyConnector = new cloudlyConnectorMod.CloudlyConnector(null); | ||||||
|  |   await cloudlyConnector.announceDockerContainer({ | ||||||
|  |     registryUrl: 'registry.losssless.com', | ||||||
|  |     tag: 'testcontainer', | ||||||
|  |     version: 'x.x.x', | ||||||
|  |     labels: [] | ||||||
|  |   }, 'cloudly.lossless.one') | ||||||
|  | }); | ||||||
|  |  | ||||||
|  | tap.test('should close the program despite socket timeout', async (toolsArg) => { | ||||||
|  |   // TODO: remove when unreffed timeouts in webrequest have been solved. | ||||||
|  |   toolsArg.delayFor(0).then(() => { | ||||||
|  |     process.exit(); | ||||||
|  |   }) | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | tap.start(); | ||||||
							
								
								
									
										18
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -1,7 +1,9 @@ | |||||||
| import { tap, expect } from '@pushrocks/tapbundle'; | import { tap, expect } from '@pushrocks/tapbundle'; | ||||||
| import * as path from 'path'; | import * as path from 'path'; | ||||||
|  | import * as smartpath from '@pushrocks/smartpath'; | ||||||
|  |  | ||||||
| process.env.NPMTS_TEST = 'true'; | process.env.NPMTS_TEST = 'true'; | ||||||
|  | process.env.NPMCI_URL_CLOUDLY = 'localhost' | ||||||
|  |  | ||||||
| // set up environment | // set up environment | ||||||
| process.env.CI_REPOSITORY_URL = 'https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git'; | process.env.CI_REPOSITORY_URL = 'https://yyyyyy:xxxxxxxx@gitlab.com/mygroup/myrepo.git'; | ||||||
| @@ -14,10 +16,14 @@ process.env.NPMCI_LOGIN_DOCKER = 'docker.io|someuser|somepass'; | |||||||
| process.env.NPMCI_SSHKEY_1 = 'hostString|somePrivKey|##'; | process.env.NPMCI_SSHKEY_1 = 'hostString|somePrivKey|##'; | ||||||
|  |  | ||||||
| process.cwd = () => { | process.cwd = () => { | ||||||
|   return path.join(__dirname, 'assets/'); |   return path.join(smartpath.get.dirnameFromImportMetaUrl(import.meta.url), 'assets/'); | ||||||
| }; | }; | ||||||
|  |  | ||||||
| import * as npmci from '../ts'; | let npmci: typeof import('../ts/index.js'); | ||||||
|  |  | ||||||
|  | tap.preTask('should import npmci', async () => { | ||||||
|  |   npmci = await import('../ts/index.js'); | ||||||
|  | }) | ||||||
|  |  | ||||||
| // ====== | // ====== | ||||||
| // Docker | // Docker | ||||||
| @@ -37,8 +43,8 @@ tap.test('should return valid Dockerfiles', async () => { | |||||||
|     filePath: './Dockerfile_sometag1', |     filePath: './Dockerfile_sometag1', | ||||||
|     read: true, |     read: true, | ||||||
|   }); |   }); | ||||||
|   expect(dockerfile1.version).to.equal('latest'); |   expect(dockerfile1.version).toEqual('latest'); | ||||||
|   return expect(dockerfile2.version).to.equal('sometag1'); |   return expect(dockerfile2.version).toEqual('sometag1'); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| tap.test('should read a directory of Dockerfiles', async () => { | tap.test('should read a directory of Dockerfiles', async () => { | ||||||
| @@ -46,7 +52,7 @@ tap.test('should read a directory of Dockerfiles', async () => { | |||||||
|   return npmci.Dockerfile.readDockerfiles(npmciInstance.dockerManager).then( |   return npmci.Dockerfile.readDockerfiles(npmciInstance.dockerManager).then( | ||||||
|     async (readDockerfilesArrayArg: npmci.Dockerfile[]) => { |     async (readDockerfilesArrayArg: npmci.Dockerfile[]) => { | ||||||
|       sortableArray = readDockerfilesArrayArg; |       sortableArray = readDockerfilesArrayArg; | ||||||
|       return expect(readDockerfilesArrayArg[1].version).to.equal('sometag1'); |       return expect(readDockerfilesArrayArg[1].version).toEqual('sometag1'); | ||||||
|     } |     } | ||||||
|   ); |   ); | ||||||
| }); | }); | ||||||
| @@ -91,7 +97,7 @@ tap.test('should login docker daemon', async () => { | |||||||
| // SSH | // SSH | ||||||
| // === | // === | ||||||
| tap.test('should prepare SSH keys', async () => { | tap.test('should prepare SSH keys', async () => { | ||||||
|   const npmciModSsh = await import('../ts/mod_ssh'); |   const npmciModSsh = await import('../ts/mod_ssh/index.js'); | ||||||
|   return await npmciModSsh.handleCli({ |   return await npmciModSsh.handleCli({ | ||||||
|     _: ['ssh', 'prepare'], |     _: ['ssh', 'prepare'], | ||||||
|   }); |   }); | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								ts/00_commitinfo_data.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								ts/00_commitinfo_data.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | /** | ||||||
|  |  * autocreated commitinfo by @pushrocks/commitinfo | ||||||
|  |  */ | ||||||
|  | export const commitinfo = { | ||||||
|  |   name: '@shipzone/npmci', | ||||||
|  |   version: '4.0.2', | ||||||
|  |   description: 'node and docker in gitlab ci on steroids' | ||||||
|  | } | ||||||
| @@ -1,7 +1,7 @@ | |||||||
| import * as plugins from '../npmci.plugins'; | import * as plugins from '../npmci.plugins.js'; | ||||||
|  |  | ||||||
| import { Npmci } from '../npmci.classes.npmci'; | import { Npmci } from '../npmci.classes.npmci.js'; | ||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * connects to cloudly |  * connects to cloudly | ||||||
| @@ -14,9 +14,10 @@ export class CloudlyConnector { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   public async announceDockerContainer( |   public async announceDockerContainer( | ||||||
|     optionsArg: plugins.tsclass.container.IContainer |     optionsArg: plugins.tsclass.container.IContainer, | ||||||
|  |     testCloudlyUrlArg?: string | ||||||
|   ) { |   ) { | ||||||
|     const cloudlyUrl = this.npmciRef.npmciConfig.getConfig().urlCloudly; |     const cloudlyUrl = testCloudlyUrlArg || this.npmciRef.npmciConfig.getConfig().urlCloudly; | ||||||
|     if (!cloudlyUrl) { |     if (!cloudlyUrl) { | ||||||
|       logger.log( |       logger.log( | ||||||
|         'warn', |         'warn', | ||||||
| @@ -27,7 +28,7 @@ export class CloudlyConnector { | |||||||
|  |  | ||||||
|     const typedrequest = |     const typedrequest = | ||||||
|       new plugins.typedrequest.TypedRequest<plugins.servezoneInterfaces.requests.IRequest_InformAboutNewContainerImage>( |       new plugins.typedrequest.TypedRequest<plugins.servezoneInterfaces.requests.IRequest_InformAboutNewContainerImage>( | ||||||
|         `https://${cloudlyUrl}/versionmanager`, |         `https://${cloudlyUrl}/typedrequest`, | ||||||
|         'servezonestandard_InformAboutNewContainerVersion' |         'servezonestandard_InformAboutNewContainerVersion' | ||||||
|       ); |       ); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import { Npmci } from './npmci.classes.npmci'; | import { Npmci } from './npmci.classes.npmci.js'; | ||||||
| import { Dockerfile } from './manager.docker/mod.classes.dockerfile'; | import { Dockerfile } from './manager.docker/mod.classes.dockerfile.js'; | ||||||
|  |  | ||||||
| export const npmciInstance = new Npmci(); | export const npmciInstance = new Npmci(); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,13 +1,13 @@ | |||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import * as paths from '../npmci.paths'; | import * as paths from '../npmci.paths.js'; | ||||||
| import { bash } from '../npmci.bash'; | import { bash } from '../npmci.bash.js'; | ||||||
|  |  | ||||||
| // classes | // classes | ||||||
| import { Npmci } from '../npmci.classes.npmci'; | import { Npmci } from '../npmci.classes.npmci.js'; | ||||||
| import { Dockerfile } from './mod.classes.dockerfile'; | import { Dockerfile } from './mod.classes.dockerfile.js'; | ||||||
| import { DockerRegistry } from './mod.classes.dockerregistry'; | import { DockerRegistry } from './mod.classes.dockerregistry.js'; | ||||||
| import { RegistryStorage } from './mod.classes.registrystorage'; | import { RegistryStorage } from './mod.classes.registrystorage.js'; | ||||||
|  |  | ||||||
| export class NpmciDockerManager { | export class NpmciDockerManager { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
|   | |||||||
| @@ -1,13 +1,13 @@ | |||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import * as paths from '../npmci.paths'; | import * as paths from '../npmci.paths.js'; | ||||||
|  |  | ||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import { bash } from '../npmci.bash'; | import { bash } from '../npmci.bash.js'; | ||||||
|  |  | ||||||
| import { DockerRegistry } from './mod.classes.dockerregistry'; | import { DockerRegistry } from './mod.classes.dockerregistry.js'; | ||||||
| import * as helpers from './mod.helpers'; | import * as helpers from './mod.helpers.js'; | ||||||
| import { NpmciDockerManager } from '.'; | import { NpmciDockerManager } from './index.js'; | ||||||
| import { Npmci } from '../npmci.classes.npmci'; | import { Npmci } from '../npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * class Dockerfile represents a Dockerfile on disk in npmci |  * class Dockerfile represents a Dockerfile on disk in npmci | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import { bash } from '../npmci.bash'; | import { bash } from '../npmci.bash.js'; | ||||||
|  |  | ||||||
| export interface IDockerRegistryConstructorOptions { | export interface IDockerRegistryConstructorOptions { | ||||||
|   registryUrl: string; |   registryUrl: string; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import { ObjectMap } from '@pushrocks/lik'; | import { ObjectMap } from '@pushrocks/lik'; | ||||||
|  |  | ||||||
| import { DockerRegistry } from './mod.classes.dockerregistry'; | import { DockerRegistry } from './mod.classes.dockerregistry.js'; | ||||||
|  |  | ||||||
| export class RegistryStorage { | export class RegistryStorage { | ||||||
|   objectMap = new ObjectMap<DockerRegistry>(); |   objectMap = new ObjectMap<DockerRegistry>(); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import * as paths from '../npmci.paths'; | import * as paths from '../npmci.paths.js'; | ||||||
|  |  | ||||||
| import { Dockerfile } from './mod.classes.dockerfile'; | import { Dockerfile } from './mod.classes.dockerfile.js'; | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import { bash, bashNoError } from '../npmci.bash'; | import { bash, bashNoError } from '../npmci.bash.js'; | ||||||
| import { Npmci } from '../npmci.classes.npmci'; | import { Npmci } from '../npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| export class NpmciGitManager { | export class NpmciGitManager { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| import * as plugins from '../npmci.plugins'; | import * as plugins from '../npmci.plugins.js'; | ||||||
| import * as paths from '../npmci.paths'; | import * as paths from '../npmci.paths.js'; | ||||||
|  |  | ||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import { bash, bashNoError, nvmAvailable } from '../npmci.bash'; | import { bash, bashNoError, nvmAvailable } from '../npmci.bash.js'; | ||||||
| import { Npmci } from '../npmci.classes.npmci'; | import { Npmci } from '../npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| export class NpmciNodeJsManager { | export class NpmciNodeJsManager { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import * as paths from '../npmci.paths'; | import * as paths from '../npmci.paths.js'; | ||||||
|  |  | ||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import { bash, bashNoError, nvmAvailable } from '../npmci.bash'; | import { bash, bashNoError, nvmAvailable } from '../npmci.bash.js'; | ||||||
| import { Npmci } from '../npmci.classes.npmci'; | import { Npmci } from '../npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| export class NpmciNpmManager { | export class NpmciNpmManager { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import * as paths from '../npmci.paths'; | import * as paths from '../npmci.paths.js'; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * cleans npmci config files |  * cleans npmci config files | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import { bash } from '../npmci.bash'; | import { bash } from '../npmci.bash.js'; | ||||||
|  |  | ||||||
| export let command = async () => { | export let command = async () => { | ||||||
|   let wrappedCommand: string = ''; |   let wrappedCommand: string = ''; | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| let sshInstance: plugins.smartssh.SshInstance; | let sshInstance: plugins.smartssh.SshInstance; | ||||||
|  |  | ||||||
| export let handleCli = async (argvArg: any) => { | export let handleCli = async (argvArg: any) => { | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| import * as plugins from './mod.plugins'; | import * as plugins from './mod.plugins.js'; | ||||||
| import { bash } from '../npmci.bash'; | import { bash } from '../npmci.bash.js'; | ||||||
| import { logger } from '../npmci.logging'; | import { logger } from '../npmci.logging.js'; | ||||||
|  |  | ||||||
| const triggerValueRegex = | const triggerValueRegex = | ||||||
|   /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/; |   /^([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|([a-zA-Z0-9\.]*)\|?([a-zA-Z0-9\.\-\/]*)/; | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| export * from '../npmci.plugins'; | export * from '../npmci.plugins.js'; | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| import { logger } from './npmci.logging'; | import { logger } from './npmci.logging.js'; | ||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
| import * as paths from './npmci.paths'; | import * as paths from './npmci.paths.js'; | ||||||
|  |  | ||||||
| import * as smartpromise from '@pushrocks/smartpromise'; | import * as smartpromise from '@pushrocks/smartpromise'; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,17 +1,17 @@ | |||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
|  |  | ||||||
| import { CloudlyConnector } from './connector.cloudly/cloudlyconnector'; | import { CloudlyConnector } from './connector.cloudly/cloudlyconnector.js'; | ||||||
|  |  | ||||||
| import { NpmciInfo } from './npmci.classes.npmciinfo'; | import { NpmciInfo } from './npmci.classes.npmciinfo.js'; | ||||||
| import { NpmciCli } from './npmci.classes.npmcicli'; | import { NpmciCli } from './npmci.classes.npmcicli.js'; | ||||||
| import { NpmciConfig } from './npmci.classes.npmciconfig'; | import { NpmciConfig } from './npmci.classes.npmciconfig.js'; | ||||||
|  |  | ||||||
| // mods | // mods | ||||||
| import { NpmciDockerManager } from './manager.docker'; | import { NpmciDockerManager } from './manager.docker/index.js'; | ||||||
| import { NpmciGitManager } from './manager.git'; | import { NpmciGitManager } from './manager.git/index.js'; | ||||||
| import { NpmciNodeJsManager } from './manager.nodejs'; | import { NpmciNodeJsManager } from './manager.nodejs/index.js'; | ||||||
| import { NpmciNpmManager } from './manager.npm'; | import { NpmciNpmManager } from './manager.npm/index.js'; | ||||||
| import { NpmciEnv } from './npmci.classes.npmcienv'; | import { NpmciEnv } from './npmci.classes.npmcienv.js'; | ||||||
|  |  | ||||||
| export class Npmci { | export class Npmci { | ||||||
|   public analytics: plugins.smartanalytics.Analytics; |   public analytics: plugins.smartanalytics.Analytics; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| import { logger } from './npmci.logging'; | import { logger } from './npmci.logging.js'; | ||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
| import * as paths from './npmci.paths'; | import * as paths from './npmci.paths.js'; | ||||||
| import { Npmci } from './npmci.classes.npmci'; | import { Npmci } from './npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| export class NpmciCli { | export class NpmciCli { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
| @@ -15,7 +15,7 @@ export class NpmciCli { | |||||||
|     // clean |     // clean | ||||||
|     this.smartcli.addCommand('clean').subscribe( |     this.smartcli.addCommand('clean').subscribe( | ||||||
|       async (argv) => { |       async (argv) => { | ||||||
|         const modClean = await import('./mod_clean/index'); |         const modClean = await import('./mod_clean/index.js'); | ||||||
|         await modClean.clean(); |         await modClean.clean(); | ||||||
|       }, |       }, | ||||||
|       (err) => { |       (err) => { | ||||||
| @@ -27,7 +27,7 @@ export class NpmciCli { | |||||||
|     // command |     // command | ||||||
|     this.smartcli.addCommand('command').subscribe( |     this.smartcli.addCommand('command').subscribe( | ||||||
|       async (argv) => { |       async (argv) => { | ||||||
|         const modCommand = await import('./mod_command/index'); |         const modCommand = await import('./mod_command/index.js'); | ||||||
|         await modCommand.command(); |         await modCommand.command(); | ||||||
|       }, |       }, | ||||||
|       (err) => { |       (err) => { | ||||||
| @@ -82,7 +82,7 @@ export class NpmciCli { | |||||||
|     // trigger |     // trigger | ||||||
|     this.smartcli.addCommand('ssh').subscribe( |     this.smartcli.addCommand('ssh').subscribe( | ||||||
|       async (argvArg) => { |       async (argvArg) => { | ||||||
|         const modSsh = await import('./mod_ssh/index'); |         const modSsh = await import('./mod_ssh/index.js'); | ||||||
|         await modSsh.handleCli(argvArg); |         await modSsh.handleCli(argvArg); | ||||||
|       }, |       }, | ||||||
|       (err) => { |       (err) => { | ||||||
| @@ -94,7 +94,7 @@ export class NpmciCli { | |||||||
|     // trigger |     // trigger | ||||||
|     this.smartcli.addCommand('trigger').subscribe( |     this.smartcli.addCommand('trigger').subscribe( | ||||||
|       async (argv) => { |       async (argv) => { | ||||||
|         const modTrigger = await import('./mod_trigger/index'); |         const modTrigger = await import('./mod_trigger/index.js'); | ||||||
|         await modTrigger.trigger(); |         await modTrigger.trigger(); | ||||||
|       }, |       }, | ||||||
|       (err) => { |       (err) => { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
| import * as paths from './npmci.paths'; | import * as paths from './npmci.paths.js'; | ||||||
|  |  | ||||||
| import { logger } from './npmci.logging'; | import { logger } from './npmci.logging.js'; | ||||||
| import { Npmci } from './npmci.classes.npmci'; | import { Npmci } from './npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * the main config interface for npmci |  * the main config interface for npmci | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
| import { Npmci } from './npmci.classes.npmci'; | import { Npmci } from './npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| export class NpmciEnv { | export class NpmciEnv { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
| import * as paths from './npmci.paths'; | import * as paths from './npmci.paths.js'; | ||||||
| import { logger } from './npmci.logging'; | import { logger } from './npmci.logging.js'; | ||||||
| import { Npmci } from './npmci.classes.npmci'; | import { Npmci } from './npmci.classes.npmci.js'; | ||||||
|  |  | ||||||
| export class NpmciInfo { | export class NpmciInfo { | ||||||
|   public npmciRef: Npmci; |   public npmciRef: Npmci; | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
|  |  | ||||||
| export const logger = new plugins.smartlog.Smartlog({ | export const logger = new plugins.smartlog.Smartlog({ | ||||||
|   logContext: { |   logContext: { | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| import * as plugins from './npmci.plugins'; | import * as plugins from './npmci.plugins.js'; | ||||||
|  |  | ||||||
| export const cwd = process.cwd(); | export const cwd = process.cwd(); | ||||||
|  |  | ||||||
| // package paths | // package paths | ||||||
| export const NpmciPackageRoot = plugins.path.join(__dirname, '../'); | export const NpmciPackageRoot = plugins.path.join(plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url), '../'); | ||||||
| export const NpmciPackageConfig = plugins.path.join(NpmciPackageRoot, './config.json'); | export const NpmciPackageConfig = plugins.path.join(NpmciPackageRoot, './config.json'); | ||||||
|  |  | ||||||
| // project paths | // project paths | ||||||
|   | |||||||
| @@ -25,6 +25,7 @@ import * as smartgit from '@pushrocks/smartgit'; | |||||||
| import * as smartlog from '@pushrocks/smartlog'; | import * as smartlog from '@pushrocks/smartlog'; | ||||||
| import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local'; | import * as smartlogDestinationLocal from '@pushrocks/smartlog-destination-local'; | ||||||
| import * as smartparam from '@pushrocks/smartparam'; | import * as smartparam from '@pushrocks/smartparam'; | ||||||
|  | import * as smartpath from '@pushrocks/smartpath'; | ||||||
| import * as smartpromise from '@pushrocks/smartpromise'; | import * as smartpromise from '@pushrocks/smartpromise'; | ||||||
| import * as smartrequest from '@pushrocks/smartrequest'; | import * as smartrequest from '@pushrocks/smartrequest'; | ||||||
| import * as smartshell from '@pushrocks/smartshell'; | import * as smartshell from '@pushrocks/smartshell'; | ||||||
| @@ -39,10 +40,12 @@ export { | |||||||
|   smartanalytics, |   smartanalytics, | ||||||
|   smartdelay, |   smartdelay, | ||||||
|   smartfile, |   smartfile, | ||||||
|  |   smartgit, | ||||||
|   smartcli, |   smartcli, | ||||||
|   smartlog, |   smartlog, | ||||||
|   smartlogDestinationLocal, |   smartlogDestinationLocal, | ||||||
|   smartparam, |   smartparam, | ||||||
|  |   smartpath, | ||||||
|   smartpromise, |   smartpromise, | ||||||
|   smartrequest, |   smartrequest, | ||||||
|   smartshell, |   smartshell, | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | { | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "experimentalDecorators": true, | ||||||
|  |     "useDefineForClassFields": false, | ||||||
|  |     "target": "ES2022", | ||||||
|  |     "module": "ES2022", | ||||||
|  |     "moduleResolution": "nodenext", | ||||||
|  |     "esModuleInterop": true | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										17
									
								
								tslint.json
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								tslint.json
									
									
									
									
									
								
							| @@ -1,17 +0,0 @@ | |||||||
| { |  | ||||||
|   "extends": ["tslint:latest", "tslint-config-prettier"], |  | ||||||
|   "rules": { |  | ||||||
|     "semicolon": [true, "always"], |  | ||||||
|     "no-console": false, |  | ||||||
|     "ordered-imports": false, |  | ||||||
|     "object-literal-sort-keys": false, |  | ||||||
|     "member-ordering": { |  | ||||||
|       "options":{ |  | ||||||
|         "order": [ |  | ||||||
|           "static-method" |  | ||||||
|         ] |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "defaultSeverity": "warning" |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user