fix(core): update
This commit is contained in:
		
							
								
								
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -15,8 +15,6 @@ node_modules/ | |||||||
|  |  | ||||||
| # builds | # builds | ||||||
| dist/ | dist/ | ||||||
| dist_web/ | dist_*/ | ||||||
| dist_serve/ |  | ||||||
| dist_ts_web/ |  | ||||||
|  |  | ||||||
| # custom | # custom | ||||||
							
								
								
									
										111
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							| @@ -3,75 +3,82 @@ image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | |||||||
|  |  | ||||||
| cache: | cache: | ||||||
|   paths: |   paths: | ||||||
|   - .npmci_cache/ |     - .npmci_cache/ | ||||||
|   key: "$CI_BUILD_STAGE" |   key: '$CI_BUILD_STAGE' | ||||||
|  |  | ||||||
| stages: | stages: | ||||||
| - security |   - security | ||||||
| - test |   - test | ||||||
| - release |   - release | ||||||
| - metadata |   - metadata | ||||||
|  |  | ||||||
|  | before_script: | ||||||
|  |   - npm install -g @shipzone/npmci | ||||||
|  |  | ||||||
| # ==================== | # ==================== | ||||||
| # security stage | # security stage | ||||||
| # ==================== | # ==================== | ||||||
| mirror: | auditProductionDependencies: | ||||||
|   stage: security |   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||||
|   script: |  | ||||||
|   - npmci git mirror |  | ||||||
|   tags: |  | ||||||
|   - docker |  | ||||||
|   - notpriv |  | ||||||
|  |  | ||||||
| snyk: |  | ||||||
|   stage: security |   stage: security | ||||||
|   script: |   script: | ||||||
|     - npmci npm prepare |     - npmci npm prepare | ||||||
|     - npmci command npm install -g snyk |     - npmci command npm install --production --ignore-scripts | ||||||
|     - npmci command npm install --ignore-scripts |     - npmci command npm config set registry https://registry.npmjs.org | ||||||
|     - npmci command snyk test |     - npmci command npm audit --audit-level=high --only=prod --production | ||||||
|   tags: |   tags: | ||||||
|   - docker |     - docker | ||||||
|   - notpriv |   allow_failure: true | ||||||
|  |  | ||||||
|  | auditDevDependencies: | ||||||
|  |   image: registry.gitlab.com/hosttoday/ht-docker-node:npmci | ||||||
|  |   stage: security | ||||||
|  |   script: | ||||||
|  |     - npmci npm prepare | ||||||
|  |     - npmci command npm install --ignore-scripts | ||||||
|  |     - npmci command npm config set registry https://registry.npmjs.org | ||||||
|  |     - npmci command npm audit --audit-level=high --only=dev | ||||||
|  |   tags: | ||||||
|  |     - docker | ||||||
|  |   allow_failure: true | ||||||
|  |  | ||||||
| # ==================== | # ==================== | ||||||
| # test stage | # test stage | ||||||
| # ==================== | # ==================== | ||||||
|  |  | ||||||
| testLTS: | testStable: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|   - npmci npm prepare |     - npmci npm prepare | ||||||
|   - npmci node install lts |     - npmci node install stable | ||||||
|   - npmci npm install |     - npmci npm install | ||||||
|   - npmci npm test |     - npmci npm test | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|   - docker |     - docker | ||||||
|   - notpriv |  | ||||||
|  |  | ||||||
| testBuild: | testBuild: | ||||||
|   stage: test |   stage: test | ||||||
|   script: |   script: | ||||||
|   - npmci npm prepare |     - npmci npm prepare | ||||||
|   - npmci node install lts |     - npmci node install stable | ||||||
|   - npmci npm install |     - npmci npm install | ||||||
|   - npmci command npm run build |     - npmci command npm run build | ||||||
|   coverage: /\d+.?\d+?\%\s*coverage/ |   coverage: /\d+.?\d+?\%\s*coverage/ | ||||||
|   tags: |   tags: | ||||||
|   - docker |     - docker | ||||||
|   - notpriv |  | ||||||
|  |  | ||||||
| release: | release: | ||||||
|   stage: release |   stage: release | ||||||
|   script: |   script: | ||||||
|   - npmci node install lts |     - npmci node install stable | ||||||
|   - npmci npm publish |     - npmci npm publish | ||||||
|   only: |   only: | ||||||
|   - tags |     - tags | ||||||
|   tags: |   tags: | ||||||
|   - docker |     - lossless | ||||||
|   - notpriv |     - docker | ||||||
|  |     - notpriv | ||||||
|  |  | ||||||
| # ==================== | # ==================== | ||||||
| # metadata stage | # metadata stage | ||||||
| @@ -79,33 +86,37 @@ release: | |||||||
| codequality: | codequality: | ||||||
|   stage: metadata |   stage: metadata | ||||||
|   allow_failure: true |   allow_failure: true | ||||||
|  |   only: | ||||||
|  |     - tags | ||||||
|   script: |   script: | ||||||
|     - npmci command npm install -g tslint typescript |     - npmci command npm install -g typescript | ||||||
|  |     - npmci npm prepare | ||||||
|     - npmci npm install |     - npmci npm install | ||||||
|     - npmci command "tslint -c tslint.json ./ts/**/*.ts" |  | ||||||
|   tags: |   tags: | ||||||
|   - docker |     - lossless | ||||||
|   - priv |     - docker | ||||||
|  |     - priv | ||||||
|  |  | ||||||
| trigger: | trigger: | ||||||
|   stage: metadata |   stage: metadata | ||||||
|   script: |   script: | ||||||
|   - npmci trigger |     - npmci trigger | ||||||
|   only: |   only: | ||||||
|   - tags |     - tags | ||||||
|   tags: |   tags: | ||||||
|   - docker |     - lossless | ||||||
|   - notpriv |     - docker | ||||||
|  |     - notpriv | ||||||
|  |  | ||||||
| pages: | pages: | ||||||
|   image: hosttoday/ht-docker-node:npmci |  | ||||||
|   stage: metadata |   stage: metadata | ||||||
|   script: |   script: | ||||||
|     - npmci command npm install -g @gitzone/tsdoc |     - npmci node install stable  | ||||||
|     - npmci npm prepare |     - npmci npm prepare | ||||||
|     - npmci npm install |     - npmci npm install | ||||||
|     - npmci command tsdoc |     - npmci command npm run buildDocs | ||||||
|   tags: |   tags: | ||||||
|  |     - lossless | ||||||
|     - docker |     - docker | ||||||
|     - notpriv |     - notpriv | ||||||
|   only: |   only: | ||||||
| @@ -113,5 +124,5 @@ pages: | |||||||
|   artifacts: |   artifacts: | ||||||
|     expire_in: 1 week |     expire_in: 1 week | ||||||
|     paths: |     paths: | ||||||
|     - public |       - public | ||||||
|   allow_failure: true |   allow_failure: true | ||||||
|   | |||||||
							
								
								
									
										11
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | { | ||||||
|  |   "version": "0.2.0", | ||||||
|  |   "configurations": [ | ||||||
|  |     { | ||||||
|  |       "command": "npm test", | ||||||
|  |       "name": "Run npm test", | ||||||
|  |       "request": "launch", | ||||||
|  |       "type": "node-terminal" | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,26 @@ | |||||||
|  | { | ||||||
|  |   "json.schemas": [ | ||||||
|  |     { | ||||||
|  |       "fileMatch": ["/npmextra.json"], | ||||||
|  |       "schema": { | ||||||
|  |         "type": "object", | ||||||
|  |         "properties": { | ||||||
|  |           "npmci": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "settings for npmci" | ||||||
|  |           }, | ||||||
|  |           "gitzone": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "settings for gitzone", | ||||||
|  |             "properties": { | ||||||
|  |               "projectType": { | ||||||
|  |                 "type": "string", | ||||||
|  |                 "enum": ["website", "element", "service", "npm", "wcc"] | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   ] | ||||||
|  | } | ||||||
							
								
								
									
										56
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,56 +0,0 @@ | |||||||
| # @pushrocks/smartssh |  | ||||||
| setups SSH quickly and in a painless manner |  | ||||||
|  |  | ||||||
| ## Availabililty and Links |  | ||||||
| * [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smartssh) |  | ||||||
| * [gitlab.com (source)](https://gitlab.com/pushrocks/smartssh) |  | ||||||
| * [github.com (source mirror)](https://github.com/pushrocks/smartssh) |  | ||||||
| * [docs (typedoc)](https://pushrocks.gitlab.io/smartssh/) |  | ||||||
|  |  | ||||||
| ## Status for master |  | ||||||
| [](https://gitlab.com/pushrocks/smartssh/commits/master) |  | ||||||
| [](https://gitlab.com/pushrocks/smartssh/commits/master) |  | ||||||
| [](https://www.npmjs.com/package/@pushrocks/smartssh) |  | ||||||
| [](https://snyk.io/test/npm/@pushrocks/smartssh) |  | ||||||
| [](https://nodejs.org/dist/latest-v10.x/docs/api/) |  | ||||||
| [](https://nodejs.org/dist/latest-v10.x/docs/api/) |  | ||||||
| [](https://prettier.io/) |  | ||||||
|  |  | ||||||
| ## Usage |  | ||||||
|  |  | ||||||
| ```javascript |  | ||||||
| var smartssh = require('smartssh'); |  | ||||||
| var sshInstance = new smartssh.sshInstance({ |  | ||||||
|   sshDir: '/some/path/.ssh', // the standard ssh directory, optional, defaults to "~./.ssh" |  | ||||||
|   sshSync: true // sync ssh this instance will represent the status of an ssh dir if set to true; |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| sshInstance.addKey( |  | ||||||
|   new smartssh.sshKey({ |  | ||||||
|     private: 'somestring', |  | ||||||
|     public: 'somestring', // optional |  | ||||||
|     host: 'github.com', |  | ||||||
|     encoding: 'base64' // optional, defaults to "utf8", can be "utf8" or "base64", useful for reading ssh keys from environment variables |  | ||||||
|   }) |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| sshInstance.removeKey(sshInstance.getKey('github.com')); // removes key for host "github.com" is present |  | ||||||
|  |  | ||||||
| sshInstance.createKey({ |  | ||||||
|   host: 'gitlab.com' // returns new key in the form sshKey, read more about the sshKey class below |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| sshInstance.getKey({ |  | ||||||
|   // returns ssh key in the form sshKey, read more about the sshKey class below |  | ||||||
|   host: 'github.com' |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| sshInstance.getKeys(); // returns array of all available getKeys. Each key is in form of class sshKey |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| 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) |  | ||||||
|  |  | ||||||
| [](https://maintainedby.lossless.com) |  | ||||||
| @@ -4,11 +4,12 @@ | |||||||
|     "npmAccessLevel": "public" |     "npmAccessLevel": "public" | ||||||
|   }, |   }, | ||||||
|   "gitzone": { |   "gitzone": { | ||||||
|  |     "projectType": "npm", | ||||||
|     "module": { |     "module": { | ||||||
|       "githost": "gitlab.com", |       "githost": "gitlab.com", | ||||||
|       "gitscope": "pushrocks", |       "gitscope": "pushrocks", | ||||||
|       "gitrepo": "smartssh", |       "gitrepo": "smartssh", | ||||||
|       "shortDescription": "setups SSH quickly and in a painless manner", |       "description": "setups SSH quickly and in a painless manner", | ||||||
|       "npmPackagename": "@pushrocks/smartssh", |       "npmPackagename": "@pushrocks/smartssh", | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
|     } |     } | ||||||
|   | |||||||
							
								
								
									
										2204
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2204
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										44
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								package.json
									
									
									
									
									
								
							| @@ -3,12 +3,14 @@ | |||||||
|   "version": "1.2.4", |   "version": "1.2.4", | ||||||
|   "private": false, |   "private": false, | ||||||
|   "description": "setups SSH quickly and in a painless manner", |   "description": "setups SSH quickly and in a painless manner", | ||||||
|   "main": "dist/index.js", |   "main": "dist_ts/index.js", | ||||||
|   "typings": "dist/index.d.ts", |   "typings": "dist_ts/index.d.ts", | ||||||
|  |   "type": "module", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "test": "(tstest test/)", |     "test": "(tstest test/)", | ||||||
|     "testDocker": "tsdocker", |     "testDocker": "tsdocker", | ||||||
|     "build": "(tsbuild)" |     "build": "(tsbuild)", | ||||||
|  |     "buildDocs": "tsdoc" | ||||||
|   }, |   }, | ||||||
|   "repository": { |   "repository": { | ||||||
|     "type": "git", |     "type": "git", | ||||||
| @@ -26,32 +28,36 @@ | |||||||
|   }, |   }, | ||||||
|   "homepage": "https://gitlab.com/pushrocks/smartssh#readme", |   "homepage": "https://gitlab.com/pushrocks/smartssh#readme", | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@pushrocks/smartfile": "^7.0.4", |     "@pushrocks/smartfile": "^10.0.5", | ||||||
|     "@pushrocks/smartpath": "^4.0.1", |     "@pushrocks/smartpath": "^5.0.5", | ||||||
|     "@pushrocks/smartpromise": "^3.0.2", |     "@pushrocks/smartpromise": "^3.0.2", | ||||||
|     "@pushrocks/smartshell": "^2.0.23", |     "@pushrocks/smartshell": "^2.0.23", | ||||||
|     "@pushrocks/smartstring": "^3.0.10", |     "@pushrocks/smartstring": "^4.0.5", | ||||||
|     "@types/fs-extra": "^8.0.0", |     "@types/fs-extra": "^9.0.13", | ||||||
|     "@types/minimatch": "^3.0.3", |     "@types/minimatch": "^5.1.2", | ||||||
|     "fs-extra": "^8.1.0", |     "fs-extra": "^10.1.0", | ||||||
|     "minimatch": "^3.0.4" |     "minimatch": "^5.1.0" | ||||||
|   }, |   }, | ||||||
|   "devDependencies": { |   "devDependencies": { | ||||||
|     "@gitzone/tsbuild": "^2.1.11", |     "@gitzone/tsbuild": "^2.1.11", | ||||||
|     "@gitzone/tsdocker": "^1.2.39", |  | ||||||
|     "@gitzone/tsrun": "^1.2.6", |     "@gitzone/tsrun": "^1.2.6", | ||||||
|     "@gitzone/tstest": "^1.0.24", |     "@gitzone/tstest": "^1.0.24", | ||||||
|     "@pushrocks/tapbundle": "^3.0.11", |     "@pushrocks/tapbundle": "^5.0.4", | ||||||
|     "@types/node": "^12.6.6" |     "@types/node": "^18.8.4" | ||||||
|   }, |   }, | ||||||
|   "files": [ |   "files": [ | ||||||
|     "ts/*", |     "ts/**/*", | ||||||
|     "ts_web/*", |     "ts_web/**/*", | ||||||
|     "dist/*", |     "dist/**/*", | ||||||
|     "dist_web/*", |     "dist_*/**/*", | ||||||
|     "assets/*", |     "dist_ts/**/*", | ||||||
|  |     "dist_ts_web/**/*", | ||||||
|  |     "assets/**/*", | ||||||
|     "cli.js", |     "cli.js", | ||||||
|     "npmextra.json", |     "npmextra.json", | ||||||
|     "readme.md" |     "readme.md" | ||||||
|  |   ], | ||||||
|  |   "browserslist": [ | ||||||
|  |     "last 1 chrome versions" | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
							
								
								
									
										4213
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4213
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										36
									
								
								test/test.ts
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								test/test.ts
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| import { expect, tap } from '@pushrocks/tapbundle'; | import { expect, tap } from '@pushrocks/tapbundle'; | ||||||
| import smartssh = require('../ts/index'); | import * as smartssh from '../ts/index.js'; | ||||||
| import path = require('path'); | import * as path from 'path'; | ||||||
|  |  | ||||||
| let testSshInstance: smartssh.SshInstance; | let testSshInstance: smartssh.SshInstance; | ||||||
| let testSshKey: smartssh.SshKey; | let testSshKey: smartssh.SshKey; | ||||||
| @@ -8,18 +8,18 @@ tap.test('should create a valid SshKey object', async () => { | |||||||
|   testSshKey = new smartssh.SshKey({ |   testSshKey = new smartssh.SshKey({ | ||||||
|     host: 'example.com', |     host: 'example.com', | ||||||
|     private: 'someExamplePrivateKey', |     private: 'someExamplePrivateKey', | ||||||
|     public: 'someExamplePublicKey' |     public: 'someExamplePublicKey', | ||||||
|   }); |   }); | ||||||
|   expect(testSshKey).to.be.instanceof(smartssh.SshKey); |   expect(testSshKey).toBeInstanceOf(smartssh.SshKey); | ||||||
| }); | }); | ||||||
| tap.test('.type should be a valid type', async () => { | tap.test('.type should be a valid type', async () => { | ||||||
|   expect(testSshKey.type).equal('duplex'); |   expect(testSshKey.type).toEqual('duplex'); | ||||||
| }); | }); | ||||||
| tap.test('.publicKey should be public key', async () => { | tap.test('.publicKey should be public key', async () => { | ||||||
|   expect(testSshKey.pubKey).equal('someExamplePublicKey'); |   expect(testSshKey.pubKey).toEqual('someExamplePublicKey'); | ||||||
| }); | }); | ||||||
| tap.test('.privateKey should be private key', async () => { | tap.test('.privateKey should be private key', async () => { | ||||||
|   expect(testSshKey.privKey).equal('someExamplePrivateKey'); |   expect(testSshKey.privKey).toEqual('someExamplePrivateKey'); | ||||||
| }); | }); | ||||||
| tap.test('.publicKeyBase64 should be public key base 64 encoded', async () => { | tap.test('.publicKeyBase64 should be public key base 64 encoded', async () => { | ||||||
|   // tslint:disable-next-line:no-unused-expression |   // tslint:disable-next-line:no-unused-expression | ||||||
| @@ -32,49 +32,49 @@ tap.test('.store() should store the file to disk', async () => { | |||||||
| // SSH INstance | // SSH INstance | ||||||
| tap.test("'new' keyword should create a new SshInstance object from class", async () => { | tap.test("'new' keyword should create a new SshInstance object from class", async () => { | ||||||
|   testSshInstance = new smartssh.SshInstance({ |   testSshInstance = new smartssh.SshInstance({ | ||||||
|     sshDirPath: path.join(process.cwd(), 'test/temp/') |     sshDirPath: path.join(process.cwd(), 'test/temp/'), | ||||||
|   }); |   }); | ||||||
|   expect(testSshInstance).be.instanceof(smartssh.SshInstance); |   expect(testSshInstance).toBeInstanceOf(smartssh.SshInstance); | ||||||
| }); | }); | ||||||
| tap.test('.addKey() should accept a new SshKey object', async () => { | tap.test('.addKey() should accept a new SshKey object', async () => { | ||||||
|   testSshInstance.addKey( |   testSshInstance.addKey( | ||||||
|     new smartssh.SshKey({ |     new smartssh.SshKey({ | ||||||
|       public: 'somePublicKey', |       public: 'somePublicKey', | ||||||
|       private: 'somePrivateKey', |       private: 'somePrivateKey', | ||||||
|       host: 'gitlab.com' |       host: 'gitlab.com', | ||||||
|     }) |     }) | ||||||
|   ); |   ); | ||||||
|   testSshInstance.addKey( |   testSshInstance.addKey( | ||||||
|     new smartssh.SshKey({ |     new smartssh.SshKey({ | ||||||
|       public: 'somePublicKey', |       public: 'somePublicKey', | ||||||
|       private: 'somePrivateKey', |       private: 'somePrivateKey', | ||||||
|       host: 'bitbucket.org' |       host: 'bitbucket.org', | ||||||
|     }) |     }) | ||||||
|   ); |   ); | ||||||
|   testSshInstance.addKey( |   testSshInstance.addKey( | ||||||
|     new smartssh.SshKey({ |     new smartssh.SshKey({ | ||||||
|       public: 'someGitHubPublicKey', |       public: 'someGitHubPublicKey', | ||||||
|       private: 'someGitHubPrivateKey', |       private: 'someGitHubPrivateKey', | ||||||
|       host: 'github.com' |       host: 'github.com', | ||||||
|     }) |     }) | ||||||
|   ); |   ); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| tap.test('.sshKeys should point to an array of sshKeys', async () => { | tap.test('.sshKeys should point to an array of sshKeys', async () => { | ||||||
|   let sshKeyArray = testSshInstance.sshKeys; |   let sshKeyArray = testSshInstance.sshKeys; | ||||||
|   expect(sshKeyArray).be.instanceOf(Array); |   expect(sshKeyArray).toBeInstanceOf(Array); | ||||||
|   expect(sshKeyArray[0].host).equal('gitlab.com'); |   expect(sshKeyArray[0].host).toEqual('gitlab.com'); | ||||||
|   expect(sshKeyArray[1].host).equal('bitbucket.org'); |   expect(sshKeyArray[1].host).toEqual('bitbucket.org'); | ||||||
|   expect(sshKeyArray[2].host).equal('github.com'); |   expect(sshKeyArray[2].host).toEqual('github.com'); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| tap.test('.getKey() should get a specific key selected by host', async () => { | tap.test('.getKey() should get a specific key selected by host', async () => { | ||||||
|   expect(testSshInstance.getKey('github.com').pubKey).equal('someGitHubPublicKey'); |   expect(testSshInstance.getKey('github.com').pubKey).toEqual('someGitHubPublicKey'); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| tap.test('.removeKey() should remove a key', async () => { | tap.test('.removeKey() should remove a key', async () => { | ||||||
|   testSshInstance.removeKey(testSshInstance.getKey('bitbucket.org')); |   testSshInstance.removeKey(testSshInstance.getKey('bitbucket.org')); | ||||||
|   expect(testSshInstance.sshKeys[1].host).equal('github.com'); |   expect(testSshInstance.sshKeys[1].host).toEqual('github.com'); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| tap.test('it should store to disk', async () => { | tap.test('it should store to disk', async () => { | ||||||
|   | |||||||
							
								
								
									
										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: '@pushrocks/smartssh', | ||||||
|  |   version: '1.2.5', | ||||||
|  |   description: 'setups SSH quickly and in a painless manner' | ||||||
|  | } | ||||||
							
								
								
									
										10
									
								
								ts/index.ts
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								ts/index.ts
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | |||||||
| import * as plugins from './smartssh.plugins'; | import * as plugins from './smartssh.plugins.js'; | ||||||
|  |  | ||||||
| export { SshInstance } from './smartssh.classes.sshinstance'; | export { SshInstance } from './smartssh.classes.sshinstance.js'; | ||||||
| export { SshKey } from './smartssh.classes.sshkey'; | export { SshKey } from './smartssh.classes.sshkey.js'; | ||||||
| export { SshDir } from './smartssh.classes.sshdir'; | export { SshDir } from './smartssh.classes.sshdir.js'; | ||||||
| export { SshConfig } from './smartssh.classes.sshconfig'; | export { SshConfig } from './smartssh.classes.sshconfig.js'; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| import * as plugins from './smartssh.plugins'; | import * as plugins from './smartssh.plugins.js'; | ||||||
| import { SshKey } from './smartssh.classes.sshkey'; | import { SshKey } from './smartssh.classes.sshkey.js'; | ||||||
|  |  | ||||||
| export let sshKeyArrayFromDir = function(dirArg: string): SshKey[] { | export let sshKeyArrayFromDir = function (dirArg: string): SshKey[] { | ||||||
|   let sshKeyArray = []; // TODO |   let sshKeyArray = []; // TODO | ||||||
|   return sshKeyArray; |   return sshKeyArray; | ||||||
| }; | }; | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| import * as plugins from './smartssh.plugins'; | import * as plugins from './smartssh.plugins.js'; | ||||||
| import * as helpers from './smartssh.classes.helpers'; | import * as helpers from './smartssh.classes.helpers.js'; | ||||||
| import { SshKey } from './smartssh.classes.sshkey'; | import { SshKey } from './smartssh.classes.sshkey.js'; | ||||||
|  |  | ||||||
| export class SshConfig { | export class SshConfig { | ||||||
|   private _sshKeyArray: SshKey[]; |   private _sshKeyArray: SshKey[]; | ||||||
| @@ -34,7 +34,7 @@ export class SshConfig { | |||||||
|       configArray.push({ |       configArray.push({ | ||||||
|         configString: configString, |         configString: configString, | ||||||
|         authorized: sshKey.authorized, |         authorized: sshKey.authorized, | ||||||
|         sshKey: sshKey |         sshKey: sshKey, | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|     let configFile: string = ''; |     let configFile: string = ''; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| import * as plugins from './smartssh.plugins'; | import * as plugins from './smartssh.plugins.js'; | ||||||
| import * as helpers from './smartssh.classes.helpers'; | import * as helpers from './smartssh.classes.helpers.js'; | ||||||
| import { SshInstance } from './smartssh.classes.sshinstance'; | import { SshInstance } from './smartssh.classes.sshinstance.js'; | ||||||
| import { SshKey } from './smartssh.classes.sshkey'; | import { SshKey } from './smartssh.classes.sshkey.js'; | ||||||
| import { SshConfig } from './smartssh.classes.sshconfig'; | import { SshConfig } from './smartssh.classes.sshconfig.js'; | ||||||
|  |  | ||||||
| export class SshDir { | export class SshDir { | ||||||
|   // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE |   // sshDir class -> NOT EXPORTED, ONLY FOR INTERNAL USE | ||||||
| @@ -23,7 +23,7 @@ export class SshDir { | |||||||
|     // syncs sshInstance to directory |     // syncs sshInstance to directory | ||||||
|     let path = this._path; |     let path = this._path; | ||||||
|     if (dirPathArg) path = dirPathArg; |     if (dirPathArg) path = dirPathArg; | ||||||
|     this._sshKeyArray.forEach(sshKeyArg => { |     this._sshKeyArray.forEach((sshKeyArg) => { | ||||||
|       sshKeyArg.store(path); |       sshKeyArg.store(path); | ||||||
|     }); |     }); | ||||||
|     this._sshConfig.store(path); |     this._sshConfig.store(path); | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| import * as plugins from './smartssh.plugins'; | import * as plugins from './smartssh.plugins.js'; | ||||||
| import * as helpers from './smartssh.classes.helpers'; | import * as helpers from './smartssh.classes.helpers.js'; | ||||||
|  |  | ||||||
| import { SshDir } from './smartssh.classes.sshdir'; | import { SshDir } from './smartssh.classes.sshdir.js'; | ||||||
| import { SshConfig } from './smartssh.classes.sshconfig'; | import { SshConfig } from './smartssh.classes.sshconfig.js'; | ||||||
| import { SshKey } from './smartssh.classes.sshkey'; | import { SshKey } from './smartssh.classes.sshkey.js'; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * SshInstance is the main class dealing with ssh management |  * SshInstance is the main class dealing with ssh management | ||||||
| @@ -45,7 +45,7 @@ export class SshInstance { | |||||||
|   // non altering methods |   // non altering methods | ||||||
|   getKey(hostArg: string): SshKey { |   getKey(hostArg: string): SshKey { | ||||||
|     this._syncAuto('from'); |     this._syncAuto('from'); | ||||||
|     let filteredArray = this._sshKeyArray.filter(function(keyArg) { |     let filteredArray = this._sshKeyArray.filter(function (keyArg) { | ||||||
|       return keyArg.host === hostArg; |       return keyArg.host === hostArg; | ||||||
|     }); |     }); | ||||||
|     if (filteredArray.length > 0) { |     if (filteredArray.length > 0) { | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| import * as plugins from './smartssh.plugins'; | import * as plugins from './smartssh.plugins.js'; | ||||||
| import * as helpers from './smartssh.classes.helpers'; | import * as helpers from './smartssh.classes.helpers.js'; | ||||||
|  |  | ||||||
| export class SshKey { | export class SshKey { | ||||||
|   private _privKey: string; |   private _privKey: string; | ||||||
| @@ -8,7 +8,7 @@ export class SshKey { | |||||||
|   private _authorized: boolean; |   private _authorized: boolean; | ||||||
|  |  | ||||||
|   private _smarthshellInstance = new plugins.shelljs.Smartshell({ |   private _smarthshellInstance = new plugins.shelljs.Smartshell({ | ||||||
|     executor: 'bash' |     executor: 'bash', | ||||||
|   }); |   }); | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
|   | |||||||
							
								
								
									
										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