@mongosh/autocomplete 1.10.1 → 1.10.3
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/.depcheckrc +11 -0
- package/.eslintrc.js +10 -1
- package/.prettierignore +6 -0
- package/.prettierrc.json +1 -0
- package/README.md +7 -5
- package/lib/index.d.ts +1 -1
- package/lib/index.js +51 -38
- package/lib/index.js.map +1 -1
- package/package.json +19 -9
- package/src/index.spec.ts +393 -290
- package/src/index.ts +146 -73
- package/tsconfig-lint.json +5 -0
- package/tsconfig.json +3 -7
- package/tsconfig.lint.json +0 -8
package/.depcheckrc
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
ignores:
|
|
2
|
+
- '@mongodb-js/tsconfig-mongosh'
|
|
3
|
+
- '@mongodb-js/eslint-config-mongosh'
|
|
4
|
+
- '@mongodb-js/prettier-config-devtools'
|
|
5
|
+
- '@typescript-eslint/parser'
|
|
6
|
+
- '@typescript-eslint/eslint-plugin'
|
|
7
|
+
- chai
|
|
8
|
+
- eslint-plugin-mocha
|
|
9
|
+
- eslint-config-mongodb-js
|
|
10
|
+
ignore-patterns:
|
|
11
|
+
- .eslintrc.js
|
package/.eslintrc.js
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
const { fixCygwinPath } = require('@mongodb-js/eslint-config-mongosh/utils');
|
|
2
|
+
|
|
3
|
+
module.exports = {
|
|
4
|
+
root: true,
|
|
5
|
+
extends: ['@mongodb-js/eslint-config-mongosh'],
|
|
6
|
+
parserOptions: {
|
|
7
|
+
tsconfigRootDir: fixCygwinPath(__dirname),
|
|
8
|
+
project: ['./tsconfig-lint.json'],
|
|
9
|
+
},
|
|
10
|
+
};
|
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"@mongodb-js/prettier-config-devtools"
|
package/README.md
CHANGED
|
@@ -14,15 +14,17 @@ if (!completions || !completions.length) {
|
|
|
14
14
|
}
|
|
15
15
|
const entries = completions[0].map((completion) => {
|
|
16
16
|
return {
|
|
17
|
-
completion
|
|
17
|
+
completion,
|
|
18
18
|
};
|
|
19
19
|
});
|
|
20
20
|
```
|
|
21
|
+
|
|
21
22
|
### API
|
|
22
23
|
|
|
23
24
|
#### completions = autocomplete(serverVersion, line)
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
|
|
26
|
+
**serverVersion:** current version of MongoDB
|
|
27
|
+
**line:** current line to autcomplete
|
|
26
28
|
|
|
27
29
|
Returns an array of completions, and the line we were autocompleting. For
|
|
28
30
|
example:
|
|
@@ -35,14 +37,14 @@ const completions = autocomplete(serverVersion, line);
|
|
|
35
37
|
// returns:
|
|
36
38
|
// [
|
|
37
39
|
// [ 'db.coll.renameCollection', 'db.coll.replaceOne', 'db.coll.reIndex' ],
|
|
38
|
-
// 'db.coll.re'
|
|
40
|
+
// 'db.coll.re'
|
|
39
41
|
// ]
|
|
40
42
|
```
|
|
41
43
|
|
|
42
44
|
Autocomplete is based on currently implemeted APIs in [@mongosh/shell-api](https://www.npmjs.com/package/@mongosh/shell-api)
|
|
43
45
|
|
|
44
|
-
|
|
45
46
|
## Installation
|
|
47
|
+
|
|
46
48
|
```shell
|
|
47
49
|
npm install -S @mongosh/errors
|
|
48
50
|
```
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -16,14 +16,22 @@ const PROJECT = '$project';
|
|
|
16
16
|
const GROUP = '$group';
|
|
17
17
|
async function completer(params, line) {
|
|
18
18
|
var _a, _b, _c;
|
|
19
|
-
const SHELL_COMPLETIONS = shell_api_1.signatures.ShellApi
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
|
|
19
|
+
const SHELL_COMPLETIONS = shell_api_1.signatures.ShellApi
|
|
20
|
+
.attributes;
|
|
21
|
+
const COLL_COMPLETIONS = shell_api_1.signatures.Collection
|
|
22
|
+
.attributes;
|
|
23
|
+
const DB_COMPLETIONS = shell_api_1.signatures.Database
|
|
24
|
+
.attributes;
|
|
25
|
+
const AGG_CURSOR_COMPLETIONS = shell_api_1.signatures.AggregationCursor
|
|
26
|
+
.attributes;
|
|
27
|
+
const COLL_CURSOR_COMPLETIONS = shell_api_1.signatures.Cursor
|
|
28
|
+
.attributes;
|
|
29
|
+
const RS_COMPLETIONS = shell_api_1.signatures.ReplicaSet
|
|
30
|
+
.attributes;
|
|
31
|
+
const CONFIG_COMPLETIONS = shell_api_1.signatures.ShellConfig
|
|
32
|
+
.attributes;
|
|
33
|
+
const SHARD_COMPLETE = shell_api_1.signatures.Shard
|
|
34
|
+
.attributes;
|
|
27
35
|
const splitLineWhitespace = line.split(/(?<!\S)(?=\S)/);
|
|
28
36
|
const command = splitLineWhitespace[0].trim();
|
|
29
37
|
if ((_a = SHELL_COMPLETIONS[command]) === null || _a === void 0 ? void 0 : _a.isDirectShellCommand) {
|
|
@@ -35,8 +43,8 @@ async function completer(params, line) {
|
|
|
35
43
|
}
|
|
36
44
|
splitLineWhitespace.push('');
|
|
37
45
|
}
|
|
38
|
-
const hits = await completer(params, splitLineWhitespace.map(item => item.trim())) || [];
|
|
39
|
-
const fullLineHits = hits.map(hit => [...splitLineWhitespace.slice(0, -1), hit].join(''));
|
|
46
|
+
const hits = (await completer(params, splitLineWhitespace.map((item) => item.trim()))) || [];
|
|
47
|
+
const fullLineHits = hits.map((hit) => [...splitLineWhitespace.slice(0, -1), hit].join(''));
|
|
40
48
|
return [fullLineHits, line, 'exclusive'];
|
|
41
49
|
}
|
|
42
50
|
return [[line], line, 'exclusive'];
|
|
@@ -48,36 +56,37 @@ async function completer(params, line) {
|
|
|
48
56
|
const hits = filterShellAPI(params, SHELL_COMPLETIONS, elToComplete);
|
|
49
57
|
return [hits.length ? hits : [], line];
|
|
50
58
|
}
|
|
51
|
-
else if (
|
|
52
|
-
if (
|
|
59
|
+
else if (/\bdb\b/.exec(firstLineEl) && splitLine.length === 2) {
|
|
60
|
+
if (/aggregate\s*\(\s*\[\s*\{\s*/.exec(elToComplete)) {
|
|
53
61
|
const splitQuery = line.split('{');
|
|
54
62
|
const prefix = ((_b = splitQuery.pop()) === null || _b === void 0 ? void 0 : _b.trim()) || '';
|
|
55
|
-
const command = prefix
|
|
63
|
+
const command = prefix
|
|
64
|
+
? line.split(prefix).shift()
|
|
65
|
+
: line;
|
|
56
66
|
const suggestFirstStage = splitQuery.length <= 2;
|
|
57
67
|
const expressions = suggestFirstStage
|
|
58
|
-
?
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
...getStageAccumulators(params, elToComplete)
|
|
62
|
-
];
|
|
68
|
+
?
|
|
69
|
+
DB_AGGREGATE_COMPLETIONS
|
|
70
|
+
: [...exports.BASE_COMPLETIONS, ...getStageAccumulators(params, elToComplete)];
|
|
63
71
|
const hits = filterQueries(params, expressions, prefix, command);
|
|
64
72
|
return [hits.length ? hits : [], line];
|
|
65
73
|
}
|
|
66
74
|
const hits = filterShellAPI(params, DB_COMPLETIONS, elToComplete, splitLine);
|
|
67
75
|
const colls = await params.getCollectionCompletionsForCurrentDb(elToComplete.trim());
|
|
68
|
-
hits.push(...colls.map(coll => `${splitLine[0]}.${coll}`));
|
|
76
|
+
hits.push(...colls.map((coll) => `${splitLine[0]}.${coll}`));
|
|
69
77
|
return [hits.length ? hits : [], line];
|
|
70
78
|
}
|
|
71
|
-
else if (
|
|
72
|
-
if (
|
|
79
|
+
else if (/\bdb\b/.exec(firstLineEl) && splitLine.length > 2) {
|
|
80
|
+
if (!/^\s*\w+\s*$/.exec(splitLine[1]) &&
|
|
81
|
+
!/\bgetCollection\b/.exec(splitLine[1])) {
|
|
73
82
|
return [[], line];
|
|
74
83
|
}
|
|
75
84
|
if (splitLine.length > 3) {
|
|
76
|
-
if (splitLine[2]
|
|
85
|
+
if (/\baggregate\b/.exec(splitLine[2])) {
|
|
77
86
|
const hits = filterShellAPI(params, AGG_CURSOR_COMPLETIONS, elToComplete, splitLine);
|
|
78
87
|
return [hits.length ? hits : [], line];
|
|
79
88
|
}
|
|
80
|
-
else if (splitLine[2]
|
|
89
|
+
else if (/\bfind\b/.exec(splitLine[2])) {
|
|
81
90
|
const hits = filterShellAPI(params, COLL_CURSOR_COMPLETIONS, elToComplete, splitLine);
|
|
82
91
|
return [hits.length ? hits : [], line];
|
|
83
92
|
}
|
|
@@ -85,10 +94,10 @@ async function completer(params, line) {
|
|
|
85
94
|
}
|
|
86
95
|
if (splitLine[2].includes('([') || splitLine[2].includes('({')) {
|
|
87
96
|
let expressions;
|
|
88
|
-
if (splitLine[2]
|
|
97
|
+
if (/\baggregate\b/.exec(splitLine[2])) {
|
|
89
98
|
expressions = [
|
|
90
99
|
...exports.BASE_COMPLETIONS,
|
|
91
|
-
...getStageAccumulators(params, elToComplete)
|
|
100
|
+
...getStageAccumulators(params, elToComplete),
|
|
92
101
|
];
|
|
93
102
|
}
|
|
94
103
|
else {
|
|
@@ -96,22 +105,24 @@ async function completer(params, line) {
|
|
|
96
105
|
}
|
|
97
106
|
const splitQuery = line.split('{');
|
|
98
107
|
const prefix = (_c = splitQuery.pop()) === null || _c === void 0 ? void 0 : _c.trim();
|
|
99
|
-
const command = prefix
|
|
108
|
+
const command = prefix
|
|
109
|
+
? line.split(prefix).shift()
|
|
110
|
+
: line;
|
|
100
111
|
const hits = filterQueries(params, expressions, prefix || '', command);
|
|
101
112
|
return [hits.length ? hits : [], line];
|
|
102
113
|
}
|
|
103
114
|
const hits = filterShellAPI(params, COLL_COMPLETIONS, elToComplete, splitLine);
|
|
104
115
|
return [hits.length ? hits : [], line];
|
|
105
116
|
}
|
|
106
|
-
else if (
|
|
117
|
+
else if (/\bsh\b/.exec(firstLineEl) && splitLine.length === 2) {
|
|
107
118
|
const hits = filterShellAPI(params, SHARD_COMPLETE, elToComplete, splitLine);
|
|
108
119
|
return [hits.length ? hits : [], line];
|
|
109
120
|
}
|
|
110
|
-
else if (
|
|
121
|
+
else if (/\brs\b/.exec(firstLineEl) && splitLine.length === 2) {
|
|
111
122
|
const hits = filterShellAPI(params, RS_COMPLETIONS, elToComplete, splitLine);
|
|
112
123
|
return [hits.length ? hits : [], line];
|
|
113
124
|
}
|
|
114
|
-
else if (
|
|
125
|
+
else if (/\bconfig\b/.exec(firstLineEl) && splitLine.length === 2) {
|
|
115
126
|
const hits = filterShellAPI(params, CONFIG_COMPLETIONS, elToComplete, splitLine);
|
|
116
127
|
return [hits.length ? hits : [], line];
|
|
117
128
|
}
|
|
@@ -132,9 +143,11 @@ function isAcceptable(params, entry, versionKey) {
|
|
|
132
143
|
}
|
|
133
144
|
const isAcceptableEnvironment = !entry.env ||
|
|
134
145
|
!connectionInfo ||
|
|
135
|
-
(connectionInfo.is_data_federation
|
|
136
|
-
|
|
137
|
-
|
|
146
|
+
(connectionInfo.is_data_federation
|
|
147
|
+
? entry.env.includes(mongodb_constants_1.ADL)
|
|
148
|
+
: connectionInfo.is_atlas
|
|
149
|
+
? entry.env.includes(mongodb_constants_1.ATLAS)
|
|
150
|
+
: entry.env.includes(mongodb_constants_1.ON_PREM));
|
|
138
151
|
return isAcceptableVersion && isAcceptableEnvironment;
|
|
139
152
|
}
|
|
140
153
|
function getStageAccumulators(params, stage) {
|
|
@@ -150,9 +163,9 @@ function getStageAccumulators(params, stage) {
|
|
|
150
163
|
}
|
|
151
164
|
function filterQueries(params, completions, prefix, split) {
|
|
152
165
|
const hits = completions.filter((e) => {
|
|
153
|
-
return e.name && e.name.startsWith(prefix) && isAcceptable(params, e, 'version');
|
|
166
|
+
return (e.name && e.name.startsWith(prefix) && isAcceptable(params, e, 'version'));
|
|
154
167
|
});
|
|
155
|
-
return hits.map(h => `${split}${h.name}`);
|
|
168
|
+
return hits.map((h) => `${split}${h.name}`);
|
|
156
169
|
}
|
|
157
170
|
function filterShellAPI(params, completions, prefix, split) {
|
|
158
171
|
const hits = Object.keys(completions).filter((c) => {
|
|
@@ -164,7 +177,8 @@ function filterShellAPI(params, completions, prefix, split) {
|
|
|
164
177
|
const apiVersionInfo = params.apiVersionInfo();
|
|
165
178
|
let isAcceptableVersion;
|
|
166
179
|
let acceptableApiVersions;
|
|
167
|
-
if ((apiVersionInfo === null || apiVersionInfo === void 0 ? void 0 : apiVersionInfo.strict) &&
|
|
180
|
+
if ((apiVersionInfo === null || apiVersionInfo === void 0 ? void 0 : apiVersionInfo.strict) &&
|
|
181
|
+
(acceptableApiVersions = completions[c].apiVersions)) {
|
|
168
182
|
isAcceptableVersion =
|
|
169
183
|
+apiVersionInfo.version >= acceptableApiVersions[0] &&
|
|
170
184
|
+apiVersionInfo.version <= acceptableApiVersions[1];
|
|
@@ -180,12 +194,11 @@ function filterShellAPI(params, completions, prefix, split) {
|
|
|
180
194
|
semver_1.default.lte(serverVersion, acceptableVersions[1]));
|
|
181
195
|
}
|
|
182
196
|
const acceptableTopologies = completions[c].topologies;
|
|
183
|
-
const isAcceptableTopology = !acceptableTopologies ||
|
|
184
|
-
acceptableTopologies.includes(params.topology());
|
|
197
|
+
const isAcceptableTopology = !acceptableTopologies || acceptableTopologies.includes(params.topology());
|
|
185
198
|
return isAcceptableVersion && isAcceptableTopology;
|
|
186
199
|
});
|
|
187
200
|
if (split) {
|
|
188
|
-
return hits.map(h => `${split.slice(0, -1).join('.')}.${h}`);
|
|
201
|
+
return hits.map((h) => `${split.slice(0, -1).join('.')}.${h}`);
|
|
189
202
|
}
|
|
190
203
|
return hits;
|
|
191
204
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongosh/autocomplete",
|
|
3
|
-
"version": "1.10.
|
|
3
|
+
"version": "1.10.3",
|
|
4
4
|
"description": "MongoDB Shell Autocomplete Package",
|
|
5
5
|
"homepage": "https://github.com/mongodb-js/mongosh",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -19,21 +19,31 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"test": "mocha -r \"../../scripts/import-expansions.js\" --timeout 60000 -r ts-node/register \"./{src,lib}/**/*.spec.ts\"",
|
|
21
21
|
"test-ci": "node ../../scripts/run-if-package-requested.js npm test",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
22
|
+
"eslint": "eslint",
|
|
23
|
+
"lint": "npm run eslint . && npm run prettier -- --check .",
|
|
24
|
+
"check": "npm run lint && npm run depcheck",
|
|
25
|
+
"depcheck": "depcheck",
|
|
26
|
+
"compile": "tsc -p tsconfig.json",
|
|
27
|
+
"prepublish": "npm run compile",
|
|
28
|
+
"prettier": "prettier",
|
|
29
|
+
"reformat": "npm run prettier -- --write . && npm run eslint --fix"
|
|
26
30
|
},
|
|
27
31
|
"mongosh": {
|
|
28
32
|
"unitTestsOnly": true
|
|
29
33
|
},
|
|
30
34
|
"devDependencies": {
|
|
31
|
-
"
|
|
35
|
+
"@mongodb-js/eslint-config-mongosh": "1.10.3",
|
|
36
|
+
"@mongodb-js/prettier-config-devtools": "^1.0.1",
|
|
37
|
+
"@mongodb-js/tsconfig-mongosh": "1.10.3",
|
|
38
|
+
"depcheck": "^1.4.3",
|
|
39
|
+
"eslint": "^7.25.0",
|
|
40
|
+
"mocha": "^10.2.0",
|
|
41
|
+
"prettier": "^2.8.8"
|
|
32
42
|
},
|
|
33
43
|
"dependencies": {
|
|
34
44
|
"@mongodb-js/mongodb-constants": "^0.2.2",
|
|
35
|
-
"@mongosh/shell-api": "1.10.
|
|
36
|
-
"semver": "^7.
|
|
45
|
+
"@mongosh/shell-api": "1.10.3",
|
|
46
|
+
"semver": "^7.5.4"
|
|
37
47
|
},
|
|
38
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "5df718faed3916fc5ce637f953eef2f913b14303"
|
|
39
49
|
}
|