secrez 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -181,48 +181,6 @@ Running Secrez in different containers (with the `-c` option), you can set up mu
181
181
  secrez -c ~/data/secrez
182
182
  ```
183
183
 
184
- ## How to set up a Git repo for the data
185
-
186
- The best way to go is to set up a repo on your own server. If you can't do that, using a private repo on a service like GitHub is not a bad option. Let's see how you can configure it in this second case.
187
-
188
- First, you go to GitHub and create a new private repo. Don't add anything like README, Licence, etc. In the next page, GitHub will show you the command you must run to set up it locally. Here is an example, imagining that your data are in the default folder
189
-
190
- ```
191
- git --init --main-branch main
192
- git --remote-url git@github.com:sullof/jarrabish.git
193
- ```
194
-
195
- To push any change run
196
- ```
197
- git -p
198
- ```
199
- and, if you pushed changes to the repo on some other computer, to pull and merge, run
200
- ```
201
- git -P
202
- ```
203
- Notice that the lowercase `p` is an alias for `push` and the uppercase `P` for `pull`.
204
-
205
- ### What if I have a private remote repo?
206
-
207
- You should use Git anyway, to have a safe backup of your data. In this case, just run
208
- ```
209
- git --init
210
- ```
211
- to set the repo up. After, use `git -p` to commit your changes. It will allow you to reverse the data in case some critical error occurs. When you have a private repo, you can just add the remote url (see example above).
212
-
213
- If you need more, you can run commands using Shell, like
214
- ```
215
- shell "cd ~/.secrez && git log"
216
- ```
217
- However, if you like to do some reset, you should quit and run the commands directly in the shell.
218
-
219
- **Be careful when you do anything inside your container, you can irreversibly damage your data.**
220
-
221
- ### What about Mercurial or Subversion?
222
-
223
- You can use a different version control system.
224
- If you do so, though, be careful to correctly set up in the directory the equivalent of `.gitignore` to avoid pushing to the repo also data that must exist only locally.
225
-
226
184
  ## The commands
227
185
 
228
186
  ```
@@ -451,6 +409,12 @@ Secrez does not want to compete with password managers. So, don't expect in the
451
409
 
452
410
  ## History
453
411
 
412
+ __1.1.0__
413
+ * Remove `git`. If used carefully, the command was helpful, but still it is at risk of creating conflicts. After long thoughts, I disapproved my own proposal at: https://github.com/secrez/secrez/pull/163
414
+
415
+ __1.0.4__
416
+ * Fix wrong example in `import`
417
+
454
418
  __1.0.3__
455
419
  * `git` asks to quit Secrez and merge manually if there are remote changes
456
420
  * `totp` allows to add a totp code to an existing yaml file using the option `--set` (see the examples)
@@ -801,12 +765,12 @@ Thanks a lot for any contribution 😉
801
765
  -----------------------|---------|----------|---------|---------|-----------------------------------
802
766
  File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
803
767
  -----------------------|---------|----------|---------|---------|-----------------------------------
804
- All files | 69.69 | 55.82 | 71.76 | 69.62 |
768
+ All files | 71.33 | 58.19 | 71.98 | 71.28 |
805
769
  src | 59.63 | 54.79 | 55 | 61.32 |
806
770
  Command.js | 79.66 | 78.72 | 76.92 | 83.93 | 35,54-59,68,71,95
807
771
  PreCommand.js | 21.95 | 11.54 | 14.29 | 21.95 | 9-95,108
808
772
  cliConfig.js | 100 | 100 | 100 | 100 |
809
- src/commands | 78.81 | 63.22 | 89.24 | 78.6 |
773
+ src/commands | 81.58 | 66.85 | 89.95 | 81.4 |
810
774
  Alias.js | 90.54 | 77.36 | 100 | 90.41 | 85,96,118,145,149,154,164
811
775
  Bash.js | 75 | 0 | 66.67 | 75 | 20-21
812
776
  Cat.js | 98.9 | 88.89 | 100 | 98.9 | 144
@@ -820,7 +784,6 @@ All files | 69.69 | 55.82 | 71.76 | 69.62 |
820
784
  Edit.js | 13.58 | 0 | 40 | 13.58 | 78-193
821
785
  Export.js | 90.91 | 68 | 100 | 90.91 | 109,114-115,120,130,137,140
822
786
  Find.js | 93.59 | 86.67 | 100 | 93.42 | 90,153,192-196,202
823
- Git.js | 13.41 | 0 | 50 | 13.41 | 74-197
824
787
  Help.js | 100 | 80 | 100 | 100 | 30
825
788
  Import.js | 93.2 | 85.48 | 100 | 93.1 | ...06,308,321,327,369,384-390,417
826
789
  Lcat.js | 100 | 85.71 | 100 | 100 | 55
@@ -861,11 +824,11 @@ All files | 69.69 | 55.82 | 71.76 | 69.62 |
861
824
  MainPromptMock.js | 100 | 100 | 66.67 | 100 |
862
825
  MultiEditorPrompt.js | 25 | 0 | 0 | 25 | 8-35
863
826
  SigintManager.js | 25 | 0 | 20 | 25 | 11-37
864
- src/utils | 69.92 | 62.1 | 56.25 | 69.55 |
827
+ src/utils | 69.92 | 63.28 | 56.25 | 69.55 |
865
828
  AliasManager.js | 100 | 91.67 | 100 | 100 | 48
866
829
  ContactManager.js | 71.43 | 60 | 85.71 | 71.43 | 13,36-38
867
830
  Fido2Client.js | 15.38 | 0 | 11.11 | 15.38 | 15-101
868
- HelpProto.js | 91.6 | 83.08 | 100 | 91.45 | 44,137-138,155-160,179
831
+ HelpProto.js | 91.6 | 84.06 | 100 | 91.45 | 44,137-138,155-160,179
869
832
  Logger.js | 63.64 | 56.25 | 36.84 | 62.79 | ...38-50,58,66-70,75,85,89,94,107
870
833
  -----------------------|---------|----------|---------|---------|-----------------------------------
871
834
 
package/package.json CHANGED
@@ -1,73 +1,73 @@
1
1
  {
2
- "name": "secrez",
3
- "version": "1.0.4",
4
- "license": "MIT",
5
- "nyc": {
6
- "include": "src",
7
- "exclude": []
8
- },
9
- "dependencies": {
10
- "@secrez/core": "~1.0.3",
11
- "@secrez/crypto": "~1.0.1",
12
- "@secrez/fs": "~1.0.3",
13
- "@secrez/hub": "~0.2.1",
14
- "@secrez/utils": "~1.0.2",
15
- "case": "^1.6.3",
16
- "chalk": "^3.0.0",
17
- "clipboardy": "^2.3.0",
18
- "command-line-args": "^5.1.1",
19
- "external-editor": "^3.1.0",
20
- "fs-extra": "^9.1.0",
21
- "homedir": "^0.6.0",
22
- "inquirer": "^7.1.0",
23
- "inquirer-command-prompt": "^0.1.0",
24
- "jimp": "^0.13.0",
25
- "lodash": "^4.17.15",
26
- "otplib": "^12.0.1",
27
- "qrcode-reader": "^1.0.4",
28
- "superagent": "^5.3.1",
29
- "tiny-cli-editor": "^0.1.1"
30
- },
31
- "devDependencies": {
32
- "@secrez/courier": "~0.2.2",
33
- "@secrez/test-helpers": "~1.0.2",
34
- "chai": "^4.2.0",
35
- "chalk": "^3.0.0",
36
- "cross-env": "^7.0.2",
37
- "eslint": "^6.8.0",
38
- "eslint-plugin-node": "^11.0.0",
39
- "mocha": "^7.1.1",
40
- "nyc": "^15.1.0",
41
- "test-console": "^1.1.0"
42
- },
43
- "bin": {
44
- "secrez": "bin/secrez.js"
45
- },
46
- "preferGlobal": true,
47
- "description": "A secrets manager in times of crypto coins.",
48
- "main": "src/index.js",
49
- "repository": {
50
- "type": "git",
51
- "url": "git+https://github.com/secrez/secrez.git"
52
- },
53
- "author": {
54
- "name": "Francesco Sullo",
55
- "email": "francesco@sullo.co"
56
- },
57
- "bugs": {
58
- "url": "https://github.com/secrez/secrez/issues"
59
- },
60
- "homepage": "https://github.com/secrez/secrez#readme",
61
- "engines": {
62
- "node": ">=10.0.0"
63
- },
64
- "gitHead": "42cbc519dd2802a1e03c6203bb724c726c2bfb79",
65
- "scripts": {
66
- "dev": "cross-env NODE_ENV=dev bin/secrez.js -c `pwd`/tmp/secrez-dev -i 1e3 -l `pwd`/tmp",
67
- "lint": "eslint -c .eslintrc 'src/**/*.js' 'bin/*.js' 'test/*.test.js' 'test/**/*.js' 'test/**/**/*.js'",
68
- "test-only": "cross-env NODE_ENV=test ./node_modules/.bin/mocha test/*.test.js test/**/*.test.js test/**/**/*.js --exit",
69
- "test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text ./node_modules/.bin/_mocha test/*.test.js test/**/*.test.js test/**/**/*.js --exit",
70
- "posttest": "nyc check-coverage --statements 65 --branches 50 --functions 65 --lines 65",
71
- "build-helpers": "cd test/helpers/os && ./build.sh"
72
- }
2
+ "name": "secrez",
3
+ "version": "1.1.0",
4
+ "license": "MIT",
5
+ "scripts": {
6
+ "dev": "cross-env NODE_ENV=dev bin/secrez.js -c `pwd`/tmp/secrez-dev -i 1e3 -l `pwd`/tmp",
7
+ "lint": "eslint -c .eslintrc 'src/**/*.js' 'bin/*.js' 'test/*.test.js' 'test/**/*.js' 'test/**/**/*.js'",
8
+ "test-only": "cross-env NODE_ENV=test ./node_modules/.bin/mocha test/*.test.js test/**/*.test.js test/**/**/*.js --exit",
9
+ "test": "cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text ./node_modules/.bin/_mocha test/*.test.js test/**/*.test.js test/**/**/*.js --exit",
10
+ "posttest": "nyc check-coverage --statements 65 --branches 50 --functions 65 --lines 65",
11
+ "build-helpers": "cd test/helpers/os && ./build.sh"
12
+ },
13
+ "nyc": {
14
+ "include": "src",
15
+ "exclude": []
16
+ },
17
+ "dependencies": {
18
+ "@secrez/core": "workspace:~1.0.3",
19
+ "@secrez/crypto": "workspace:~1.0.1",
20
+ "@secrez/fs": "workspace:~1.0.3",
21
+ "@secrez/hub": "workspace:~0.2.1",
22
+ "@secrez/utils": "workspace:~1.0.2",
23
+ "case": "^1.6.3",
24
+ "chalk": "^3.0.0",
25
+ "clipboardy": "^2.3.0",
26
+ "command-line-args": "^5.1.1",
27
+ "external-editor": "^3.1.0",
28
+ "fs-extra": "^9.1.0",
29
+ "homedir": "^0.6.0",
30
+ "inquirer": "^7.1.0",
31
+ "inquirer-command-prompt": "^0.1.0",
32
+ "jimp": "^0.13.0",
33
+ "lodash": "^4.17.15",
34
+ "otplib": "^12.0.1",
35
+ "qrcode-reader": "^1.0.4",
36
+ "superagent": "^5.3.1",
37
+ "tiny-cli-editor": "^0.1.1"
38
+ },
39
+ "devDependencies": {
40
+ "@secrez/courier": "workspace:~0.2.2",
41
+ "@secrez/test-helpers": "workspace:~1.0.2",
42
+ "chai": "^4.2.0",
43
+ "chalk": "^3.0.0",
44
+ "cross-env": "^7.0.2",
45
+ "eslint": "^6.8.0",
46
+ "eslint-plugin-node": "^11.0.0",
47
+ "mocha": "^7.1.1",
48
+ "nyc": "^15.1.0",
49
+ "test-console": "^1.1.0"
50
+ },
51
+ "bin": {
52
+ "secrez": "bin/secrez.js"
53
+ },
54
+ "preferGlobal": true,
55
+ "description": "A secrets manager in times of crypto coins.",
56
+ "main": "src/index.js",
57
+ "repository": {
58
+ "type": "git",
59
+ "url": "git+https://github.com/secrez/secrez.git"
60
+ },
61
+ "author": {
62
+ "name": "Francesco Sullo",
63
+ "email": "francesco@sullo.co"
64
+ },
65
+ "bugs": {
66
+ "url": "https://github.com/secrez/secrez/issues"
67
+ },
68
+ "homepage": "https://github.com/secrez/secrez#readme",
69
+ "engines": {
70
+ "node": ">=10.0.0"
71
+ },
72
+ "gitHead": "42cbc519dd2802a1e03c6203bb724c726c2bfb79"
73
73
  }
@@ -99,8 +99,8 @@ class Import extends require('../Command') {
99
99
  examples: [
100
100
  ['import seed.json', 'copies seed.json from the disk into the current directory'],
101
101
  ['import seed.json.secrez --password s8eeuhwy36534', 'imports seed.json and decrypts it using the specified password'],
102
- ['import seed.json.secrez -d', 'imports seed.json trying to decrypt it using the key shared with the contact who encrypted the data'],
103
- ['import seed.json.secrez -d --public-key Tush76/u+..... ', 'imports seed.json trying to decrypt it using a shared key generated using the specified public key'],
102
+ ['import seed.json.secrez', 'imports seed.json trying to decrypt it using the key shared with the contact who encrypted the data'],
103
+ ['import seed.json.secrez--public-key Tush76/u+..... ', 'imports seed.json trying to decrypt it using a shared key generated using the specified public key'],
104
104
  ['import -m ethKeys', 'copies ethKeys and remove it from the disk'],
105
105
  ['import -p ~/passwords', 'imports all the text files in the folder passwords'],
106
106
  ['import -b -p ~/passwords', 'imports all the files, included binaries'],
@@ -108,7 +108,7 @@ class HelpProto {
108
108
  let m = max - x
109
109
  if (example.length <= m) {
110
110
  elem = spacer + ' '.repeat(x) + example
111
- str.push(elem + ' '.repeat(tot - elem.length))
111
+ str.push(elem + ' '.repeat(tot > elem.length ? tot - elem.length : 3))
112
112
  break
113
113
  } else {
114
114
  j = -1
@@ -125,7 +125,7 @@ class HelpProto {
125
125
  }
126
126
  let good = example.substring(0, li)
127
127
  elem = spacer + ' '.repeat(x) + good
128
- str.push(elem + ' '.repeat(tot - elem.length))
128
+ str.push(elem + ' '.repeat(tot > elem.length ? tot - elem.length : 3))
129
129
  example = example.substring(li + 1)
130
130
  i++
131
131
  // console.log(i, example)
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2017-present, Francesco Sullo <francesco@sullo.co>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/coverage.report DELETED
@@ -1,324 +0,0 @@
1
-
2
- > secrez@1.0.4 test /Users/sullof/Projects/Personal/secrez/packages/secrez
3
- > cross-env NODE_ENV=test nyc --reporter=lcov --reporter=text ./node_modules/.bin/_mocha test/*.test.js test/**/*.test.js test/**/**/*.js --exit
4
-
5
-
6
-
7
- #Command
8
- #constructor
9
- ✓ should instantiate a Command object
10
- #getFileList
11
- ✓ should get the current internal folder dir
12
- ✓ should get the current external folder dir
13
- #help & #setHelpAndCompletion
14
- ✓ should do nothing
15
- #validate
16
- ✓ should validate the options
17
-
18
- #Fido2Client
19
- #configuration
20
- ✓ should verify that all the scripts exist
21
-
22
- #Alias
23
- ✓ should return the help
24
- ✓ create aliases and lists them
25
- - should chain two commands
26
- ✓ rename and delete aliases
27
- ✓ should throw if there are errors
28
-
29
- #Cat
30
- ✓ should return the help
31
- ✓ should show the content of a file
32
- ✓ should show either one or all the versions of a file
33
- ✓ should throw if entry is not a file or file does not exist
34
- ✓ should throw if trying to cat a binary file
35
- ✓ should show the content of a Yaml file
36
-
37
- #Cd
38
- ✓ should return the help
39
- ✓ change to a folder
40
- ✓ return en error if changing to a file
41
-
42
- #Chat
43
- ✓ should return the help
44
- ✓ should run the chat if the courier is ready (288ms)
45
-
46
- #Contacts
47
- ✓ should return the help
48
- ✓ create a contacts
49
- ✓ create contacts and get their public keys
50
- ✓ should list contacts
51
- ✓ should update a contact
52
- ✓ should rename a contacts
53
- ✓ should remove a contacts
54
- ✓ should throw if there are errors
55
-
56
- #Copy
57
- ✓ should return the help
58
- ✓ should copy a file to the clipboard (431ms)
59
- ✓ should copy a string to the clipboard (267ms)
60
- ✓ should copy a card to the clipboard (984ms)
61
- ✓ should return an error if the file does not exist or is a folder (52ms)
62
- ✓ should throw if copying to clipboard a binary files
63
-
64
- #Courier
65
- ✓ should return the help
66
- ✓ should check if it is ready
67
- ✓ should set up the courier (182ms)
68
- ✓ should set up the courier and get the default message when is already set up (174ms)
69
-
70
- #Ds
71
- ✓ should return the help
72
- ✓ should list all datasets
73
- ✓ should create a new dataset
74
- ✓ should rename a dataset
75
- ✓ should delete a dataset
76
-
77
- #Export
78
- ✓ should return the help
79
- ✓ should export a file to the current local folder
80
- ✓ should export a binary file to the current local folder
81
- ✓ should export an encrypted file to the current local folder (55ms)
82
- ✓ should export a file and delete it after 1 second (1210ms)
83
- ✓ should return an error if the file does not exist or is a folder
84
-
85
- #Find
86
- ✓ should return the help
87
- ✓ should show find a string in the tree (58ms)
88
- ✓ should find no result without parameters
89
- ✓ should skip binary files from search
90
-
91
- #Help
92
- ✓ should return the help
93
- ✓ #execAsync and format
94
- ✓ should throw if wrong command
95
- ✓ -- to complete coverage
96
-
97
- #Import
98
- ✓ should return the help
99
- ✓ should import a file in the current folder
100
- ✓ should import an encrypted file
101
- ✓ should import an encrypted file encrypted for myself
102
- ✓ should import an encrypted binary file and export it again verifying it is fine
103
- ✓ should import files recursively
104
- ✓ should read a folder and import the only text file
105
- ✓ should read a folder and import text and binary files
106
- ✓ should simulate the import of two files
107
- ✓ should move the imported file
108
- ✓ should import a backup from another software spanning the data among folders and files
109
- ✓ should import a backup from another software but saving the tags as tags
110
- ✓ should import a backup from another software using tags to prefix the paths
111
- ✓ should import using tags to prefix the paths, ignoring the tags
112
- ✓ should import from a LastPass-like csv setting the path from "grouping" and "name"
113
- ✓ should import from a json
114
- ✓ should throw importing a malformed backup
115
- ✓ should throw importing a CSV indicating wrong fields to generate the path
116
-
117
- #Lcat
118
- ✓ should return the help
119
- ✓ cat a file
120
- ✓ return en error if trying to cat a binary file
121
-
122
- #Lcd
123
- ✓ should return the help
124
- ✓ change to a folder
125
- ✓ return en error if changing to a file
126
-
127
- #Lls
128
- ✓ should return the help
129
- ✓ should list a folder
130
- ✓ return en error if lls-ing a not existing path
131
- ✓ return a message if no files are found
132
-
133
- #Lpwd
134
- ✓ should return the help
135
- ✓ change to a folder
136
-
137
- #Ls
138
- ✓ should return the help
139
- ✓ should return all the datasets
140
- ✓ should list folders and files
141
- ✓ should list folders and files using wildcards
142
-
143
- #Mkdir
144
- ✓ should return the help
145
- ✓ should create a folder
146
- ✓ should create a nested folder
147
- ✓ should throw if trying to create a child of a file
148
- ✓ should throw if wrong parameters
149
-
150
- #Mv
151
- ✓ should return the help
152
- ✓ should rename a file
153
- ✓ should move a file to another folder
154
- ✓ should move many files to another folder
155
- ✓ should move a file to another subfolder
156
- ✓ should move and rename file to another folder
157
- ✓ should move file to another folder using wildcards
158
- ✓ should move file to another dataset using wildcards
159
- ✓ should move file managing duplicates
160
- ✓ should throw if parameters are missed or wrong
161
- ✓ should move files from and to other datasets (51ms)
162
- ✓ should move the results of a find
163
-
164
- #Paste
165
- ✓ should return the help
166
- ✓ should paste the clipboard content to a new file (101ms)
167
- ✓ should paste the clipboard content to an existent file (168ms)
168
- ✓ should paste a single field to a yml card (98ms)
169
-
170
- #Pwd
171
- ✓ should return the help
172
- ✓ should show the working folder
173
-
174
- #Quit
175
- ✓ should show the content of an external file via bash
176
-
177
- #Rm
178
- ✓ should return the help
179
- ✓ should delete a file with one version
180
- ✓ should delete many files usign wildcards
181
- ✓ should return errors if wrong parameters
182
- ✓ should delete some versions of a file
183
-
184
- #Shell
185
- ✓ should return the help
186
- ✓ should show the content of an external file via shell
187
-
188
- #Tag
189
- ✓ should return the help
190
- ✓ should tag a file
191
- ✓ should remove a tag
192
- ✓ should list all the tags
193
- ✓ should show the file tagged as
194
- ✓ should show very long file tagged as
195
-
196
- #Totp
197
- ✓ should return the help
198
- ✓ should totp a file to the clipboard (403ms)
199
- ✓ should read a totp secret from an image and add the totp field to the card (136ms)
200
- ✓ should read a totp secret from an image and return the secret (59ms)
201
- ✓ should throw if bad image
202
- ✓ should throw if missing parameters
203
- ✓ should throw if the yaml is malformed (74ms)
204
- ✓ should read a totp secret from the clipboard (168ms)
205
-
206
- #Touch
207
- ✓ should return the help
208
- ✓ should create a file
209
- ✓ should create a file with content
210
- ✓ should throw if trying to create a child of a file
211
- ✓ should throw if wrong parameters
212
-
213
- #Use
214
- ✓ should return the help
215
- ✓ should use a new dataset, creating it if does not exist
216
-
217
- #Ver
218
- ✓ should show the current version
219
-
220
- #Whoami
221
- ✓ should return the help
222
- ✓ should see who am I (46ms)
223
-
224
- #Help
225
- ✓ should return the help
226
-
227
- #Join
228
- ✓ should return the help
229
- ✓ should join a chat with user0x
230
- ✓ should join a chat with user0x
231
- ✓ should jump between chats
232
- ✓ should return all the users
233
- ✓ should throw if contact not found or multiple chat (67ms)
234
-
235
- #Leave
236
- ✓ should return the help
237
- ✓ should leave the room
238
-
239
- #Quit
240
- ✓ should return the help (54ms)
241
- ✓ should quit the chat, even if inside a room (82ms)
242
-
243
- #Send
244
- ✓ should return the help
245
- ✓ should send a message to user0 (193ms)
246
-
247
- #Show
248
- ✓ should return the help
249
- ✓ should show history messages (810ms)
250
-
251
-
252
- 162 passing (28s)
253
- 1 pending
254
-
255
- -----------------------|---------|----------|---------|---------|-----------------------------------
256
- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
257
- -----------------------|---------|----------|---------|---------|-----------------------------------
258
- All files | 69.69 | 55.82 | 71.76 | 69.62 |
259
- src | 59.63 | 54.79 | 55 | 61.32 |
260
- Command.js | 79.66 | 78.72 | 76.92 | 83.93 | 35,54-59,68,71,95
261
- PreCommand.js | 21.95 | 11.54 | 14.29 | 21.95 | 9-95,108
262
- cliConfig.js | 100 | 100 | 100 | 100 |
263
- src/commands | 78.81 | 63.22 | 89.24 | 78.6 |
264
- Alias.js | 90.54 | 77.36 | 100 | 90.41 | 85,96,118,145,149,154,164
265
- Bash.js | 75 | 0 | 66.67 | 75 | 20-21
266
- Cat.js | 98.9 | 88.89 | 100 | 98.9 | 144
267
- Cd.js | 96.43 | 86.67 | 100 | 96.43 | 45
268
- Chat.js | 19.51 | 0 | 16.67 | 19.51 | 24-130
269
- Conf.js | 10.45 | 0 | 25 | 10.45 | 132-473
270
- Contacts.js | 74.67 | 65.98 | 92.86 | 74.5 | ...75-197,221,226,238,294,307,317
271
- Copy.js | 94.87 | 74.51 | 100 | 94.81 | 96,141,158,183
272
- Courier.js | 63.54 | 41.86 | 85.71 | 63.83 | ...24,139-156,168,180-183,195-201
273
- Ds.js | 92.54 | 82.05 | 100 | 92.42 | 94,103-108,120
274
- Edit.js | 13.58 | 0 | 40 | 13.58 | 78-193
275
- Export.js | 90.91 | 68 | 100 | 90.91 | 109,114-115,120,130,137,140
276
- Find.js | 93.59 | 86.67 | 100 | 93.42 | 90,153,192-196,202
277
- Git.js | 13.41 | 0 | 50 | 13.41 | 74-197
278
- Help.js | 100 | 80 | 100 | 100 | 30
279
- Import.js | 93.2 | 85.48 | 100 | 93.1 | ...06,308,321,327,369,384-390,417
280
- Lcat.js | 100 | 85.71 | 100 | 100 | 55
281
- Lcd.js | 95.65 | 81.82 | 100 | 95.65 | 49
282
- Lls.js | 95.45 | 72.73 | 100 | 95.45 | 91
283
- Lpwd.js | 92.31 | 100 | 100 | 92.31 | 38
284
- Ls.js | 91.3 | 75 | 100 | 90.77 | 99,110-112,126,169
285
- Mkdir.js | 100 | 66.67 | 100 | 100 | 39-45
286
- Mv.js | 91.01 | 77.36 | 100 | 90.8 | 114,137,148-154
287
- Paste.js | 87.23 | 75 | 100 | 87.23 | 66,72,75,83,107,124
288
- Pwd.js | 92.31 | 100 | 100 | 92.31 | 36
289
- Quit.js | 90 | 50 | 100 | 90 | 29
290
- Rm.js | 94 | 80.95 | 100 | 93.88 | 61,116,124
291
- Shell.js | 88.24 | 60 | 100 | 88.24 | 39,54
292
- Ssh.js | 25 | 0 | 40 | 25 | 64-104
293
- Tag.js | 98.04 | 92.31 | 100 | 97.94 | 123,164
294
- Totp.js | 96.47 | 74.47 | 100 | 96.47 | 164-165,209
295
- Touch.js | 100 | 71.43 | 100 | 100 | 57,68
296
- Use.js | 96.77 | 89.47 | 100 | 96.77 | 65
297
- Ver.js | 90 | 66.67 | 100 | 90 | 27
298
- Whoami.js | 93.1 | 63.64 | 80 | 93.1 | 32,65
299
- chat.js | 85.37 | 53.85 | 100 | 85.37 | 94,103-116,122,128
300
- index.js | 91.67 | 60 | 100 | 91.3 | 23,32
301
- src/commands/chat | 79.44 | 63.29 | 92.31 | 79.33 |
302
- Contacts.js | 80 | 42.86 | 80 | 80 | 56,65,69,82
303
- Help.js | 86.67 | 60 | 100 | 86.67 | 38-39
304
- Join.js | 95.65 | 82.61 | 100 | 95.56 | 41,104
305
- Leave.js | 100 | 60 | 100 | 100 | 28,32
306
- Quit.js | 100 | 75 | 100 | 100 | 27
307
- Send.js | 67.65 | 46.67 | 100 | 67.65 | 40,44,47,74,83-92
308
- Show.js | 68.75 | 70.59 | 100 | 68.75 | 63-67,76,91-97
309
- Whoami.js | 42.86 | 0 | 60 | 42.86 | 24,32-41
310
- src/prompts | 15.14 | 0 | 14.29 | 15.36 |
311
- ChatPrompt.js | 6.17 | 0 | 0 | 6.17 | 9-155
312
- ChatPromptMock.js | 100 | 100 | 66.67 | 100 |
313
- CommandPrompt.js | 10.42 | 0 | 0 | 10.56 | 25-286
314
- Completion.js | 4.41 | 0 | 0 | 4.62 | 7-107
315
- MainPromptMock.js | 100 | 100 | 66.67 | 100 |
316
- MultiEditorPrompt.js | 25 | 0 | 0 | 25 | 8-35
317
- SigintManager.js | 25 | 0 | 20 | 25 | 11-37
318
- src/utils | 69.92 | 62.1 | 56.25 | 69.55 |
319
- AliasManager.js | 100 | 91.67 | 100 | 100 | 48
320
- ContactManager.js | 71.43 | 60 | 85.71 | 71.43 | 13,36-38
321
- Fido2Client.js | 15.38 | 0 | 11.11 | 15.38 | 15-101
322
- HelpProto.js | 91.6 | 83.08 | 100 | 91.45 | 44,137-138,155-160,179
323
- Logger.js | 63.64 | 56.25 | 36.84 | 62.79 | ...38-50,58,66-70,75,85,89,94,107
324
- -----------------------|---------|----------|---------|---------|-----------------------------------