verdaccio 5.3.2 → 5.4.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/CHANGELOG.md +18 -0
- package/README.md +6 -5
- package/build/api/endpoint/api/user.js +15 -5
- package/build/api/endpoint/api/v1/index.js +26 -0
- package/build/api/endpoint/api/v1/profile.js +12 -4
- package/build/api/endpoint/api/v1/token.js +14 -5
- package/build/api/endpoint/index.js +4 -7
- package/build/api/index.js +11 -5
- package/build/api/rate-limiter.js +24 -0
- package/build/api/web/api.js +4 -16
- package/build/api/web/endpoint/index.js +45 -0
- package/build/api/web/endpoint/package.js +10 -5
- package/build/api/web/endpoint/search.js +8 -2
- package/build/api/web/endpoint/user.js +9 -3
- package/build/api/web/index.js +5 -2
- package/build/lib/auth-utils.js +11 -4
- package/build/lib/config.js +15 -6
- package/build/lib/constants.js +5 -4
- package/build/lib/up-storage.js +6 -3
- package/build/lib/utils.js +11 -2
- package/conf/default.yaml +3 -1
- package/conf/docker.yaml +3 -1
- package/package.json +14 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [5.4.0](https://github.com/verdaccio/verdaccio/compare/v5.3.2...v5.4.0) (2021-12-24)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add cache-control header to endpoints ([#2791](https://github.com/verdaccio/verdaccio/issues/2791)) ([fd3ad1e](https://github.com/verdaccio/verdaccio/commit/fd3ad1e546f5293e862d767f23b3714e6dd5dc8c))
|
|
11
|
+
* add rate limit to user api endpoints ([#2800](https://github.com/verdaccio/verdaccio/issues/2800)) ([#2799](https://github.com/verdaccio/verdaccio/issues/2799)) ([f64e403](https://github.com/verdaccio/verdaccio/commit/f64e403f0a1d710a0d866ca2db480199c83a3609))
|
|
12
|
+
* add rate limit to web endpoints ([#2799](https://github.com/verdaccio/verdaccio/issues/2799)) ([c91d6be](https://github.com/verdaccio/verdaccio/commit/c91d6beb8bde1c5f275d7f570209cf723dce47c5))
|
|
13
|
+
* allow override user rate limit and user agent ([#2803](https://github.com/verdaccio/verdaccio/issues/2803)) ([5b1264c](https://github.com/verdaccio/verdaccio/commit/5b1264c733ea249efc38e963f0e99fb093d61406))
|
|
14
|
+
* jwt default time new set ([#2787](https://github.com/verdaccio/verdaccio/issues/2787)) ([1c17d09](https://github.com/verdaccio/verdaccio/commit/1c17d0986ea551b427994f8392a9d8ef29ba88e9))
|
|
15
|
+
* user agent is the client by default ([#2793](https://github.com/verdaccio/verdaccio/issues/2793)) ([e5d79ce](https://github.com/verdaccio/verdaccio/commit/e5d79ce8f00a18f0c0646b761f22dc608b5baf87))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **deps:** update dependency @verdaccio/commons-api to v10.1.0 ([#2789](https://github.com/verdaccio/verdaccio/issues/2789)) ([c5c0ef8](https://github.com/verdaccio/verdaccio/commit/c5c0ef8750abeb50d933c639a2041d25a889820b))
|
|
21
|
+
* **deps:** update dependency body-parser to v1.19.1 ([#2788](https://github.com/verdaccio/verdaccio/issues/2788)) ([46e583f](https://github.com/verdaccio/verdaccio/commit/46e583f683520b3a69dbd14ed43146492c0e80be))
|
|
22
|
+
|
|
5
23
|
### [5.3.2](https://github.com/verdaccio/verdaccio/compare/v5.3.1...v5.3.2) (2021-12-16)
|
|
6
24
|
|
|
7
25
|
|
package/README.md
CHANGED
|
@@ -69,15 +69,16 @@ booted in a couple of seconds, fast enough for any CI. Many open source projects
|
|
|
69
69
|
|
|
70
70
|
## Talks
|
|
71
71
|
|
|
72
|
-
### **
|
|
72
|
+
### **Using Docker and Verdaccio to make Integration Testing Easy - Docker All Hands #4 December - 2021**.
|
|
73
73
|
|
|
74
|
-
[](https://www.youtube.com/watch?v=zRI0skF1f8I)
|
|
75
75
|
|
|
76
76
|
You might want to check out as well our previous talks:
|
|
77
77
|
|
|
78
|
-
- [
|
|
79
|
-
- [
|
|
80
|
-
- [
|
|
78
|
+
- [**Juan Picado** – Testing the integrity of React components by publishing in a private registry](https://www.youtube.com/watch?v=bRKZbrlQqLY&t=16s&ab_channel=ReactFinland)
|
|
79
|
+
- [BeerJS Cba Meetup No. 53 May 2021 - **Juan Picado** React Finland - 2021](https://www.youtube.com/watch?v=6SyjqBmS49Y&ab_channel=BeerJSCba)
|
|
80
|
+
- [Node.js Dependency Confusion Attacks - April 2021 - **Juan Picado**](https://www.youtube.com/watch?v=qTRADSp3Hpo)
|
|
81
|
+
- [**OpenJS World 2020** about \*Cover your Projects with a Multi purpose Lightweight Node.js Registry - **Juan Picado**](https://www.youtube.com/watch?v=oVCjDWeehAQ)
|
|
81
82
|
- [ViennaJS Meetup - Introduction to Verdaccio by **Priscila Olivera** and **Juan Picado**](https://www.youtube.com/watch?v=hDIFKzmoCa)
|
|
82
83
|
- [Open Source? trivago - Verdaccio (**Ayush** and **Juan Picado**) January 2020](https://www.youtube.com/watch?v=A5CWxJC9xzc)
|
|
83
84
|
- [GitNation Open Source Stage - How we have built a Node.js Registry with React - **Juan Picado** December 2019](https://www.youtube.com/watch?v=gpjC8Qp9B9A)
|
|
@@ -9,6 +9,8 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
9
9
|
|
|
10
10
|
var _cookies = _interopRequireDefault(require("cookies"));
|
|
11
11
|
|
|
12
|
+
var _express = _interopRequireDefault(require("express"));
|
|
13
|
+
|
|
12
14
|
var _utils = require("../../../lib/utils");
|
|
13
15
|
|
|
14
16
|
var _constants = require("../../../lib/constants");
|
|
@@ -17,16 +19,21 @@ var _authUtils = require("../../../lib/auth-utils");
|
|
|
17
19
|
|
|
18
20
|
var _logger = require("../../../lib/logger");
|
|
19
21
|
|
|
22
|
+
var _rateLimiter = require("../../rate-limiter");
|
|
23
|
+
|
|
20
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
25
|
|
|
22
26
|
function _default(route, auth, config) {
|
|
23
|
-
|
|
27
|
+
/* eslint new-cap:off */
|
|
28
|
+
const userRouter = _express.default.Router();
|
|
29
|
+
|
|
30
|
+
userRouter.get('/-/user/:org_couchdb_user', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
|
|
24
31
|
res.status(_constants.HTTP_STATUS.OK);
|
|
25
32
|
next({
|
|
26
33
|
ok: (0, _authUtils.getAuthenticatedMessage)(req.remote_user.name)
|
|
27
34
|
});
|
|
28
35
|
});
|
|
29
|
-
|
|
36
|
+
userRouter.put('/-/user/:org_couchdb_user/:_rev?/:revision?', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
|
|
30
37
|
const {
|
|
31
38
|
name,
|
|
32
39
|
password
|
|
@@ -47,6 +54,7 @@ function _default(route, auth, config) {
|
|
|
47
54
|
const restoredRemoteUser = (0, _authUtils.createRemoteUser)(name, user.groups || []);
|
|
48
55
|
const token = await (0, _authUtils.getApiToken)(auth, config, restoredRemoteUser, password);
|
|
49
56
|
res.status(_constants.HTTP_STATUS.CREATED);
|
|
57
|
+
res.set(_constants.HEADERS.CACHE_CONTROL, 'no-cache, no-store');
|
|
50
58
|
return next({
|
|
51
59
|
ok: (0, _authUtils.getAuthenticatedMessage)(req.remote_user.name),
|
|
52
60
|
token
|
|
@@ -73,6 +81,7 @@ function _default(route, auth, config) {
|
|
|
73
81
|
const token = name && password ? await (0, _authUtils.getApiToken)(auth, config, user, password) : undefined;
|
|
74
82
|
req.remote_user = user;
|
|
75
83
|
res.status(_constants.HTTP_STATUS.CREATED);
|
|
84
|
+
res.set(_constants.HEADERS.CACHE_CONTROL, 'no-cache, no-store');
|
|
76
85
|
return next({
|
|
77
86
|
ok: `user '${req.body.name}' created`,
|
|
78
87
|
token
|
|
@@ -80,7 +89,7 @@ function _default(route, auth, config) {
|
|
|
80
89
|
});
|
|
81
90
|
}
|
|
82
91
|
});
|
|
83
|
-
|
|
92
|
+
userRouter.delete('/-/user/token/*', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
|
|
84
93
|
res.status(_constants.HTTP_STATUS.OK);
|
|
85
94
|
next({
|
|
86
95
|
ok: _constants.API_MESSAGE.LOGGED_OUT
|
|
@@ -88,7 +97,7 @@ function _default(route, auth, config) {
|
|
|
88
97
|
}); // placeholder 'cause npm require to be authenticated to publish
|
|
89
98
|
// we do not do any real authentication yet
|
|
90
99
|
|
|
91
|
-
|
|
100
|
+
userRouter.post('/_session', _cookies.default.express(), function (req, res, next) {
|
|
92
101
|
res.cookies.set('AuthSession', String(Math.random()), (0, _authUtils.createSessionToken)());
|
|
93
102
|
next({
|
|
94
103
|
ok: true,
|
|
@@ -96,5 +105,6 @@ function _default(route, auth, config) {
|
|
|
96
105
|
roles: []
|
|
97
106
|
});
|
|
98
107
|
});
|
|
108
|
+
route.use(userRouter);
|
|
99
109
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3VzZXIudHMiXSwibmFtZXMiOlsicm91dGUiLCJhdXRoIiwiY29uZmlnIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJvayIsInJlbW90ZV91c2VyIiwibmFtZSIsInB1dCIsInBhc3N3b3JkIiwiYm9keSIsInJlbW90ZU5hbWUiLCJfIiwiaXNOaWwiLCJhdXRoZW50aWNhdGUiLCJjYWxsYmFja0F1dGhlbnRpY2F0ZSIsImVyciIsInVzZXIiLCJsb2dnZXIiLCJlcnJvciIsIkVycm9yQ29kZSIsImdldENvZGUiLCJVTkFVVEhPUklaRUQiLCJBUElfRVJST1IiLCJCQURfVVNFUk5BTUVfUEFTU1dPUkQiLCJyZXN0b3JlZFJlbW90ZVVzZXIiLCJncm91cHMiLCJ0b2tlbiIsIkNSRUFURUQiLCJCQURfUkVRVUVTVCIsIlBBU1NXT1JEX1NIT1JUIiwiYWRkX3VzZXIiLCJJTlRFUk5BTF9FUlJPUiIsIm1lc3NhZ2UiLCJnZXRDb25mbGljdCIsInVuZGVmaW5lZCIsImRlbGV0ZSIsIkFQSV9NRVNTQUdFIiwiTE9HR0VEX09VVCIsInBvc3QiLCJDb29raWVzIiwiZXhwcmVzcyIsImNvb2tpZXMiLCJzZXQiLCJTdHJpbmciLCJNYXRoIiwicmFuZG9tIiwicm9sZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUllLGtCQUFVQSxLQUFWLEVBQXlCQyxJQUF6QixFQUFzQ0MsTUFBdEMsRUFBNEQ7QUFDekVGLEVBQUFBLEtBQUssQ0FBQ0csR0FBTixDQUFVLDJCQUFWLEVBQXVDLFVBQVVDLEdBQVYsRUFBK0JDLEdBQS9CLEVBQThDQyxJQUE5QyxFQUE0RTtBQUNqSEQsSUFBQUEsR0FBRyxDQUFDRSxNQUFKLENBQVdDLHVCQUFZQyxFQUF2QjtBQUNBSCxJQUFBQSxJQUFJLENBQUM7QUFDSEksTUFB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LENBQUNFLE1BQUosQ0FBV0MsdUJBQVl5QixPQUF2QjtBQUNBLGVBQU8zQixJQUFJLENBQUM7QUFDVkksVUFBQUEsRUFBRSxFQUFHLFNBQVFOLEdBQUcsQ0FBQ1csSUFBSixDQUFTSCxJQUFLLFdBRGpCO0FBRVZvQixVQUFBQTtBQUZVLFNBQUQsQ0FBWDtBQUlELE9BbkJEO0FBb0JEO0FBQ0YsR0FoREQ7QUFrREFoQyxFQUFBQSxLQUFLLENBQUN5QyxNQUFOLENBQWEsaUJBQWIsRUFBZ0MsVUFBVXJDLEdBQVYsRUFBK0JDLEdBQS9CLEVBQThDQyxJQUE5QyxFQUE0RTtBQUMxR0QsSUFBQUEsR0FBRyxDQUFDRSxNQUFKLENBQVdDLHVCQUFZQyxFQUF2QjtBQUNBSCxJQUFBQSxJQUFJLENBQUM7QUFDSEksTUFBQUEsRUFBRSxFQUFFZ0MsdUJBQVlDO0FBRGIsS0FBRCxDQUFKO0FBR0QsR0FMRCxFQTFEeUUsQ0FpRXpFO0FBQ0E7O0FBQ0EzQyxFQUFBQSxLQUFLLENBQUM0QyxJQUFOLENBQVcsV0FBWCxFQUF3QkMsaUJBQVFDLE9BQVIsRUFBeEIsRUFBMkMsVUFBVTFDLEdBQVYsRUFBK0JDLEdBQS9CLEVBQXFEQyxJQUFyRCxFQUFtRjtBQUM1SEQsSUFBQUEsR0FBRyxDQUFDMEMsT0FBSixDQUFZQyxHQUFaLENBQWdCLGFBQWhCLEVBQStCQyxNQUFNLENBQUNDLElBQUksQ0FBQ0MsTUFBTCxFQUFELENBQXJDLEVBQXNELG9DQUF0RDtBQUVBN0MsSUFBQUEsSUFBSSxDQUFDO0FBQ0hJLE1BQUFBLEVBQUUsRUFBRSxJQUREO0FBRUhFLE1BQUFBLElBQUksRUFBRSxVQUZIO0FBR0h3QyxNQUFBQSxLQUFLLEVBQUU7QUFISixLQUFELENBQUo7QUFLRCxHQVJEO0FBU0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IENvb2tpZXMgZnJvbSAnY29va2llcyc7XG5cbmltcG9ydCB7IENvbmZpZywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgQVBJX01FU1NBR0UsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjcmVhdGVSZW1vdGVVc2VyLCBjcmVhdGVTZXNzaW9uVG9rZW4sIGdldEFwaVRva2VuLCBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZSwgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuXG5pbXBvcnQgeyAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIGF1dGg6IElBdXRoLCBjb25maWc6IENvbmZpZyk6IHZvaWQge1xuICByb3V0ZS5nZXQoJy8tL3VzZXIvOm9yZ19jb3VjaGRiX3VzZXInLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgIG5leHQoe1xuICAgICAgb2s6IGdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlKHJlcS5yZW1vdGVfdXNlci5uYW1lKSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcm91dGUucHV0KCcvLS91c2VyLzpvcmdfY291Y2hkYl91c2VyLzpfcmV2Py86cmV2aXNpb24/JywgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IG5hbWUsIHBhc3N3b3JkIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCByZW1vdGVOYW1lID0gcmVxLnJlbW90ZV91c2VyLm5hbWU7XG5cbiAgICBpZiAoXy5pc05pbChyZW1vdGVOYW1lKSA9PT0gZmFsc2UgJiYgXy5pc05pbChuYW1lKSA9PT0gZmFsc2UgJiYgcmVtb3RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIGZ1bmN0aW9uIGNhbGxiYWNrQXV0aGVudGljYXRlKGVyciwgdXNlcik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKHsgbmFtZSwgZXJyIH0sICdhdXRoZW50aWNhdGluZyBmb3IgdXNlciBAe3VzZXJuYW1lfSBmYWlsZWQuIEVycm9yOiBAe2Vyci5tZXNzYWdlfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCwgQVBJX0VSUk9SLkJBRF9VU0VSTkFNRV9QQVNTV09SRCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdG9yZWRSZW1vdGVVc2VyOiBSZW1vdGVVc2VyID0gY3JlYXRlUmVtb3RlVXNlcihuYW1lLCB1c2VyLmdyb3VwcyB8fCBbXSk7XG4gICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCByZXN0b3JlZFJlbW90ZVVzZXIsIHBhc3N3b3JkKTtcblxuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuXG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UocmVxLnJlbW90ZV91c2VyLm5hbWUpLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkgPT09IGZhbHNlKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNULCBBUElfRVJST1IuUEFTU1dPUkRfU0hPUlQoKSkpO1xuICAgICAgfVxuXG4gICAgICBhdXRoLmFkZF91c2VyKG5hbWUsIHBhc3N3b3JkLCBhc3luYyBmdW5jdGlvbiAoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA+PSBIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCAmJiBlcnIuc3RhdHVzIDwgSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IpIHtcbiAgICAgICAgICAgIC8vIFdpdGggbnBtIHJlZ2lzdGVyaW5nIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4sXG4gICAgICAgICAgICAvLyBhbmQgbnBtIGFjY2VwdHMgb25seSBhbiA0MDkgZXJyb3IuXG4gICAgICAgICAgICAvLyBTbywgY2hhbmdpbmcgc3RhdHVzIGNvZGUgaGVyZS5cbiAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVyci5zdGF0dXMsIGVyci5tZXNzYWdlKSB8fCBFcnJvckNvZGUuZ2V0Q29uZmxpY3QoZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRva2VuID0gbmFtZSAmJiBwYXNzd29yZCA/IGF3YWl0IGdldEFwaVRva2VuKGF1dGgsIGNvbmZpZywgdXNlciwgcGFzc3dvcmQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogYHVzZXIgJyR7cmVxLmJvZHkubmFtZX0nIGNyZWF0ZWRgLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgcm91dGUuZGVsZXRlKCcvLS91c2VyL3Rva2VuLyonLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgIG5leHQoe1xuICAgICAgb2s6IEFQSV9NRVNTQUdFLkxPR0dFRF9PVVQsXG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIHBsYWNlaG9sZGVyICdjYXVzZSBucG0gcmVxdWlyZSB0byBiZSBhdXRoZW50aWNhdGVkIHRvIHB1Ymxpc2hcbiAgLy8gd2UgZG8gbm90IGRvIGFueSByZWFsIGF1dGhlbnRpY2F0aW9uIHlldFxuICByb3V0ZS5wb3N0KCcvX3Nlc3Npb24nLCBDb29raWVzLmV4cHJlc3MoKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgcmVzLmNvb2tpZXMuc2V0KCdBdXRoU2Vzc2lvbicsIFN0cmluZyhNYXRoLnJhbmRvbSgpKSwgY3JlYXRlU2Vzc2lvblRva2VuKCkpO1xuXG4gICAgbmV4dCh7XG4gICAgICBvazogdHJ1ZSxcbiAgICAgIG5hbWU6ICdzb21lYm9keScsXG4gICAgICByb2xlczogW10sXG4gICAgfSk7XG4gIH0pO1xufVxuIl19
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3VzZXIudHMiXSwibmFtZXMiOlsicm91dGUiLCJhdXRoIiwiY29uZmlnIiwidXNlclJvdXRlciIsImV4cHJlc3MiLCJSb3V0ZXIiLCJnZXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJvayIsInJlbW90ZV91c2VyIiwibmFtZSIsInB1dCIsInBhc3N3b3JkIiwiYm9keSIsInJlbW90ZU5hbWUiLCJfIiwiaXNOaWwiLCJhdXRoZW50aWNhdGUiLCJjYWxsYmFja0F1dGhlbnRpY2F0ZSIsImVyciIsInVzZXIiLCJsb2dnZXIiLCJlcnJvciIsIkVycm9yQ29kZSIsImdldENvZGUiLCJVTkFVVEhPUklaRUQiLCJBUElfRVJST1IiLCJCQURfVVNFUk5BTUVfUEFTU1dPUkQiLCJyZXN0b3JlZFJlbW90ZVVzZXIiLCJncm91cHMiLCJ0b2tlbiIsIkNSRUFURUQiLCJzZXQiLCJIRUFERVJTIiwiQ0FDSEVfQ09OVFJPTCIsIkJBRF9SRVFVRVNUIiwiUEFTU1dPUkRfU0hPUlQiLCJhZGRfdXNlciIsIklOVEVSTkFMX0VSUk9SIiwibWVzc2FnZSIsImdldENvbmZsaWN0IiwidW5kZWZpbmVkIiwiZGVsZXRlIiwiQVBJX01FU1NBR0UiLCJMT0dHRURfT1VUIiwicG9zdCIsIkNvb2tpZXMiLCJjb29raWVzIiwiU3RyaW5nIiwiTWF0aCIsInJhbmRvbSIsInJvbGVzIiwidXNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7QUFFZSxrQkFBVUEsS0FBVixFQUF5QkMsSUFBekIsRUFBc0NDLE1BQXRDLEVBQTREO0FBQ3pFO0FBQ0EsUUFBTUMsVUFBVSxHQUFHQyxpQkFBUUMsTUFBUixFQUFuQjs7QUFFQUYsRUFBQUEsVUFBVSxDQUFDRyxHQUFYLENBQWUsMkJBQWYs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LE9BQVIsRUFBN0IsRUFBZ0QsVUFBVUksR0FBVixFQUErQkMsR0FBL0IsRUFBcURDLElBQXJELEVBQW1GO0FBQ2pJRCxJQUFBQSxHQUFHLENBQUM0QyxPQUFKLENBQVlmLEdBQVosQ0FBZ0IsYUFBaEIsRUFBK0JnQixNQUFNLENBQUNDLElBQUksQ0FBQ0MsTUFBTCxFQUFELENBQXJDLEVBQXNELG9DQUF0RDtBQUVBOUMsSUFBQUEsSUFBSSxDQUFDO0FBQ0hJLE1BQUFBLEVBQUUsRUFBRSxJQUREO0FBRUhFLE1BQUFBLElBQUksRUFBRSxVQUZIO0FBR0h5QyxNQUFBQSxLQUFLLEVBQUU7QUFISixLQUFELENBQUo7QUFLRCxHQVJEO0FBVUF6RCxFQUFBQSxLQUFLLENBQUMwRCxHQUFOLENBQVV2RCxVQUFWO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IENvb2tpZXMgZnJvbSAnY29va2llcyc7XG5cbmltcG9ydCB7IENvbmZpZywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IGV4cHJlc3MsIHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgQVBJX01FU1NBR0UsIEhFQURFUlMsIEhUVFBfU1RBVFVTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjcmVhdGVSZW1vdGVVc2VyLCBjcmVhdGVTZXNzaW9uVG9rZW4sIGdldEFwaVRva2VuLCBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZSwgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuXG5pbXBvcnQgeyAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJQXV0aCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGxpbWl0ZXIgfSBmcm9tICcuLi8uLi9yYXRlLWxpbWl0ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogSUF1dGgsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCB1c2VyUm91dGVyID0gZXhwcmVzcy5Sb3V0ZXIoKTtcblxuICB1c2VyUm91dGVyLmdldCgnLy0vdXNlci86b3JnX2NvdWNoZGJfdXNlcicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICBuZXh0KHtcbiAgICAgIG9rOiBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZShyZXEucmVtb3RlX3VzZXIubmFtZSksXG4gICAgfSk7XG4gIH0pO1xuXG4gIHVzZXJSb3V0ZXIucHV0KCcvLS91c2VyLzpvcmdfY291Y2hkYl91c2VyLzpfcmV2Py86cmV2aXNpb24/JywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgbmFtZSwgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHJlbW90ZU5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgIGlmIChfLmlzTmlsKHJlbW90ZU5hbWUpID09PSBmYWxzZSAmJiBfLmlzTmlsKG5hbWUpID09PSBmYWxzZSAmJiByZW1vdGVOYW1lID09PSBuYW1lKSB7XG4gICAgICBhdXRoLmF1dGhlbnRpY2F0ZShuYW1lLCBwYXNzd29yZCwgYXN5bmMgZnVuY3Rpb24gY2FsbGJhY2tBdXRoZW50aWNhdGUoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBuYW1lLCBlcnIgfSwgJ2F1dGhlbnRpY2F0aW5nIGZvciB1c2VyIEB7dXNlcm5hbWV9IGZhaWxlZC4gRXJyb3I6IEB7ZXJyLm1lc3NhZ2V9Jyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVELCBBUElfRVJST1IuQkFEX1VTRVJOQU1FX1BBU1NXT1JEKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN0b3JlZFJlbW90ZVVzZXI6IFJlbW90ZVVzZXIgPSBjcmVhdGVSZW1vdGVVc2VyKG5hbWUsIHVzZXIuZ3JvdXBzIHx8IFtdKTtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHJlc3RvcmVkUmVtb3RlVXNlciwgcGFzc3dvcmQpO1xuXG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UocmVxLnJlbW90ZV91c2VyLm5hbWUpLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkgPT09IGZhbHNlKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNULCBBUElfRVJST1IuUEFTU1dPUkRfU0hPUlQoKSkpO1xuICAgICAgfVxuXG4gICAgICBhdXRoLmFkZF91c2VyKG5hbWUsIHBhc3N3b3JkLCBhc3luYyBmdW5jdGlvbiAoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA+PSBIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCAmJiBlcnIuc3RhdHVzIDwgSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IpIHtcbiAgICAgICAgICAgIC8vIFdpdGggbnBtIHJlZ2lzdGVyaW5nIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4sXG4gICAgICAgICAgICAvLyBhbmQgbnBtIGFjY2VwdHMgb25seSBhbiA0MDkgZXJyb3IuXG4gICAgICAgICAgICAvLyBTbywgY2hhbmdpbmcgc3RhdHVzIGNvZGUgaGVyZS5cbiAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVyci5zdGF0dXMsIGVyci5tZXNzYWdlKSB8fCBFcnJvckNvZGUuZ2V0Q29uZmxpY3QoZXJyLm1lc3NhZ2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRva2VuID0gbmFtZSAmJiBwYXNzd29yZCA/IGF3YWl0IGdldEFwaVRva2VuKGF1dGgsIGNvbmZpZywgdXNlciwgcGFzc3dvcmQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBvazogYHVzZXIgJyR7cmVxLmJvZHkubmFtZX0nIGNyZWF0ZWRgLFxuICAgICAgICAgIHRva2VuLFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgdXNlclJvdXRlci5kZWxldGUoJy8tL3VzZXIvdG9rZW4vKicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICBuZXh0KHtcbiAgICAgIG9rOiBBUElfTUVTU0FHRS5MT0dHRURfT1VULFxuICAgIH0pO1xuICB9KTtcblxuICAvLyBwbGFjZWhvbGRlciAnY2F1c2UgbnBtIHJlcXVpcmUgdG8gYmUgYXV0aGVudGljYXRlZCB0byBwdWJsaXNoXG4gIC8vIHdlIGRvIG5vdCBkbyBhbnkgcmVhbCBhdXRoZW50aWNhdGlvbiB5ZXRcbiAgdXNlclJvdXRlci5wb3N0KCcvX3Nlc3Npb24nLCBDb29raWVzLmV4cHJlc3MoKSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgcmVzLmNvb2tpZXMuc2V0KCdBdXRoU2Vzc2lvbicsIFN0cmluZyhNYXRoLnJhbmRvbSgpKSwgY3JlYXRlU2Vzc2lvblRva2VuKCkpO1xuXG4gICAgbmV4dCh7XG4gICAgICBvazogdHJ1ZSxcbiAgICAgIG5hbWU6ICdzb21lYm9keScsXG4gICAgICByb2xlczogW10sXG4gICAgfSk7XG4gIH0pO1xuXG4gIHJvdXRlLnVzZSh1c2VyUm91dGVyKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _express = require("express");
|
|
9
|
+
|
|
10
|
+
var _profile = _interopRequireDefault(require("./profile"));
|
|
11
|
+
|
|
12
|
+
var _token = _interopRequireDefault(require("./token"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
var _default = (auth, storage, config) => {
|
|
17
|
+
const route = (0, _express.Router)();
|
|
18
|
+
/* eslint new-cap: 0 */
|
|
19
|
+
|
|
20
|
+
route.use('/-/npm/v1/', (0, _profile.default)(auth, config));
|
|
21
|
+
route.use('/-/npm/v1/', (0, _token.default)(auth, storage, config));
|
|
22
|
+
return route;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.default = _default;
|
|
26
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL2luZGV4LnRzIl0sIm5hbWVzIjpbImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwicm91dGUiLCJ1c2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztlQUVlLENBQUNBLElBQUQsRUFBT0MsT0FBUCxFQUFnQkMsTUFBaEIsS0FBMkI7QUFDeEMsUUFBTUMsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUN4QkEsRUFBQUEsS0FBSyxDQUFDQyxHQUFOLENBQVUsWUFBVixFQUF3QixzQkFBUUosSUFBUixFQUFjRSxNQUFkLENBQXhCO0FBQ0FDLEVBQUFBLEtBQUssQ0FBQ0MsR0FBTixDQUFVLFlBQVYsRUFBd0Isb0JBQU1KLElBQU4sRUFBWUMsT0FBWixFQUFxQkMsTUFBckIsQ0FBeEI7QUFDQSxTQUFPQyxLQUFQO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBwcm9maWxlIGZyb20gJy4vcHJvZmlsZSc7XG5pbXBvcnQgdG9rZW4gZnJvbSAnLi90b2tlbic7XG5cbmV4cG9ydCBkZWZhdWx0IChhdXRoLCBzdG9yYWdlLCBjb25maWcpID0+IHtcbiAgY29uc3Qgcm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cbiAgcm91dGUudXNlKCcvLS9ucG0vdjEvJywgcHJvZmlsZShhdXRoLCBjb25maWcpKTtcbiAgcm91dGUudXNlKCcvLS9ucG0vdjEvJywgdG9rZW4oYXV0aCwgc3RvcmFnZSwgY29uZmlnKSk7XG4gIHJldHVybiByb3V0ZTtcbn07XG4iXX0=
|
|
@@ -7,15 +7,22 @@ exports.default = _default;
|
|
|
7
7
|
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
9
|
|
|
10
|
+
var _express = require("express");
|
|
11
|
+
|
|
10
12
|
var _constants = require("../../../../lib/constants");
|
|
11
13
|
|
|
12
14
|
var _utils = require("../../../../lib/utils");
|
|
13
15
|
|
|
14
16
|
var _authUtils = require("../../../../lib/auth-utils");
|
|
15
17
|
|
|
18
|
+
var _rateLimiter = require("../../../rate-limiter");
|
|
19
|
+
|
|
16
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
21
|
|
|
18
|
-
function _default(
|
|
22
|
+
function _default(auth, config) {
|
|
23
|
+
const profileRoute = (0, _express.Router)();
|
|
24
|
+
/* eslint new-cap: 0 */
|
|
25
|
+
|
|
19
26
|
function buildProfile(name) {
|
|
20
27
|
return {
|
|
21
28
|
tfa: false,
|
|
@@ -29,7 +36,7 @@ function _default(route, auth) {
|
|
|
29
36
|
};
|
|
30
37
|
}
|
|
31
38
|
|
|
32
|
-
|
|
39
|
+
profileRoute.get('/user', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
|
|
33
40
|
if (_lodash.default.isNil(req.remote_user.name) === false) {
|
|
34
41
|
return next(buildProfile(req.remote_user.name));
|
|
35
42
|
}
|
|
@@ -39,7 +46,7 @@ function _default(route, auth) {
|
|
|
39
46
|
message: _constants.API_ERROR.MUST_BE_LOGGED
|
|
40
47
|
});
|
|
41
48
|
});
|
|
42
|
-
|
|
49
|
+
profileRoute.post('/user', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
|
|
43
50
|
if (_lodash.default.isNil(req.remote_user.name)) {
|
|
44
51
|
res.status(_constants.HTTP_STATUS.UNAUTHORIZED);
|
|
45
52
|
return next({
|
|
@@ -79,5 +86,6 @@ function _default(route, auth) {
|
|
|
79
86
|
return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.INTERNAL_ERROR, _constants.APP_ERROR.PROFILE_ERROR));
|
|
80
87
|
}
|
|
81
88
|
});
|
|
89
|
+
return profileRoute;
|
|
82
90
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Byb2ZpbGUudHMiXSwibmFtZXMiOlsiYXV0aCIsImNvbmZpZyIsInByb2ZpbGVSb3V0ZSIsImJ1aWxkUHJvZmlsZSIsIm5hbWUiLCJ0ZmEiLCJlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIiwiY3JlYXRlZCIsInVwZGF0ZWQiLCJjaWRyX3doaXRlbGlzdCIsImZ1bGxuYW1lIiwiZ2V0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJfIiwiaXNOaWwiLCJyZW1vdGVfdXNlciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiVU5BVVRIT1JJWkVEIiwibWVzc2FnZSIsIkFQSV9FUlJPUiIsIk1VU1RfQkVfTE9HR0VEIiwicG9zdCIsInBhc3N3b3JkIiwiYm9keSIsIm5ldyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJQQVNTV09SRF9TSE9SVCIsImNoYW5nZVBhc3N3b3JkIiwib2xkIiwiZXJyIiwiaXNVcGRhdGVkIiwiaXNOdWxsIiwiZ2V0Q29uZmxpY3QiLCJnZXRJbnRlcm5hbEVycm9yIiwiSU5URVJOQUxfU0VSVkVSX0VSUk9SIiwiU0VSVklDRV9VTkFWQUlMQUJMRSIsIlNVUFBPUlRfRVJST1JTIiwiVEZBX0RJU0FCTEVEIiwiSU5URVJOQUxfRVJST1IiLCJBUFBfRVJST1IiLCJQUk9GSUxFX0VSUk9SIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7QUFhZSxrQkFBVUEsSUFBVixFQUF1QkMsTUFBdkIsRUFBdUM7QUFDcEQsUUFBTUMsWUFBWSxHQUFHLHNCQUFyQjtBQUErQjs7QUFDL0IsV0FBU0MsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNkM7QUFDM0MsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUUsS0FEQTtBQUVMRCxNQUFBQSxJQUZLO0FBR0xFLE1BQUFBLEtBQUssRUFBRSxFQUhGO0FBSUxDLE1BQUFBLGNB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NEI7QUFDakMsYUFBT1csSUFBSSxDQUFDYyxpQkFBVUMsT0FBVixDQUFrQlYsdUJBQVlvQixtQkFBOUIsRUFBbURDLDBCQUFlQyxZQUFsRSxDQUFELENBQVg7QUFDRCxLQUZNLE1BRUE7QUFDTCxhQUFPM0IsSUFBSSxDQUFDYyxpQkFBVUMsT0FBVixDQUFrQlYsdUJBQVl1QixjQUE5QixFQUE4Q0MscUJBQVVDLGFBQXhELENBQUQsQ0FBWDtBQUNEO0FBQ0YsR0FqQ0Q7QUFtQ0EsU0FBTzVDLFlBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQUF9FUlJPUiwgSFRUUF9TVEFUVVMsIFNVUFBPUlRfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcblxuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsIElBdXRoIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgbGltaXRlciB9IGZyb20gJy4uLy4uLy4uL3JhdGUtbGltaXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvZmlsZSB7XG4gIHRmYTogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZDogYm9vbGVhbjtcbiAgY3JlYXRlZDogc3RyaW5nO1xuICB1cGRhdGVkOiBzdHJpbmc7XG4gIGNpZHJfd2hpdGVsaXN0OiBzdHJpbmdbXSB8IG51bGw7XG4gIGZ1bGxuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChhdXRoOiBJQXV0aCwgY29uZmlnKTogUm91dGVyIHtcbiAgY29uc3QgcHJvZmlsZVJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIGZ1bmN0aW9uIGJ1aWxkUHJvZmlsZShuYW1lOiBzdHJpbmcpOiBQcm9maWxlIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGZhOiBmYWxzZSxcbiAgICAgIG5hbWUsXG4gICAgICBlbWFpbDogJycsXG4gICAgICBlbWFpbF92ZXJpZmllZDogZmFsc2UsXG4gICAgICBjcmVhdGVkOiAnJyxcbiAgICAgIHVwZGF0ZWQ6ICcnLFxuICAgICAgY2lkcl93aGl0ZWxpc3Q6IG51bGwsXG4gICAgICBmdWxsbmFtZTogJycsXG4gICAgfTtcbiAgfVxuXG4gIHByb2ZpbGVSb3V0ZS5nZXQoJy91c2VyJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgIH1cblxuICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICByZXR1cm4gbmV4dCh7XG4gICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgfSk7XG4gIH0pO1xuXG4gIHByb2ZpbGVSb3V0ZS5wb3N0KCcvdXNlcicsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBpZiAoXy5pc05pbChyZXEucmVtb3RlX3VzZXIubmFtZSkpIHtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgbWVzc2FnZTogQVBJX0VSUk9SLk1VU1RfQkVfTE9HR0VELFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBwYXNzd29yZCwgdGZhIH0gPSByZXEuYm9keTtcbiAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgIGlmIChfLmlzTmlsKHBhc3N3b3JkKSA9PT0gZmFsc2UpIHtcbiAgICAgIGlmICh2YWxpZGF0ZVBhc3N3b3JkKHBhc3N3b3JkLm5ldykgPT09IGZhbHNlKSB7XG4gICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5QQVNTV09SRF9TSE9SVCgpKSk7XG4gICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgfVxuXG4gICAgICBhdXRoLmNoYW5nZVBhc3N3b3JkKG5hbWUsIHBhc3N3b3JkLm9sZCwgcGFzc3dvcmQubmV3LCAoZXJyLCBpc1VwZGF0ZWQpOiAkTmV4dEZ1bmN0aW9uVmVyID0+IHtcbiAgICAgICAgaWYgKF8uaXNOdWxsKGVycikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyLnN0YXR1cywgZXJyLm1lc3NhZ2UpIHx8IEVycm9yQ29kZS5nZXRDb25mbGljdChlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGlzVXBkYXRlZCkge1xuICAgICAgICAgIHJldHVybiBuZXh0KGJ1aWxkUHJvZmlsZShyZXEucmVtb3RlX3VzZXIubmFtZSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoXy5pc05pbCh0ZmEpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuU0VSVklDRV9VTkFWQUlMQUJMRSwgU1VQUE9SVF9FUlJPUlMuVEZBX0RJU0FCTEVEKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBBUFBfRVJST1IuUFJPRklMRV9FUlJPUikpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHByb2ZpbGVSb3V0ZTtcbn1cbiJdfQ==
|
|
@@ -9,6 +9,8 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
9
9
|
|
|
10
10
|
var _debug = _interopRequireDefault(require("debug"));
|
|
11
11
|
|
|
12
|
+
var _express = require("express");
|
|
13
|
+
|
|
12
14
|
var _constants = require("../../../../lib/constants");
|
|
13
15
|
|
|
14
16
|
var _utils = require("../../../../lib/utils");
|
|
@@ -19,6 +21,8 @@ var _cryptoUtils = require("../../../../lib/crypto-utils");
|
|
|
19
21
|
|
|
20
22
|
var _logger = require("../../../../lib/logger");
|
|
21
23
|
|
|
24
|
+
var _rateLimiter = require("../../../rate-limiter");
|
|
25
|
+
|
|
22
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
27
|
|
|
24
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -36,8 +40,11 @@ function normalizeToken(token) {
|
|
|
36
40
|
} // https://github.com/npm/npm-profile/blob/latest/lib/index.js
|
|
37
41
|
|
|
38
42
|
|
|
39
|
-
function _default(
|
|
40
|
-
|
|
43
|
+
function _default(auth, storage, config) {
|
|
44
|
+
const tokenRoute = (0, _express.Router)();
|
|
45
|
+
/* eslint new-cap: 0 */
|
|
46
|
+
|
|
47
|
+
tokenRoute.get('/tokens', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), async function (req, res, next) {
|
|
41
48
|
const {
|
|
42
49
|
name
|
|
43
50
|
} = req.remote_user;
|
|
@@ -68,7 +75,7 @@ function _default(route, auth, storage, config) {
|
|
|
68
75
|
|
|
69
76
|
return next(_utils.ErrorCode.getUnauthorized());
|
|
70
77
|
});
|
|
71
|
-
|
|
78
|
+
tokenRoute.post('/tokens', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), function (req, res, next) {
|
|
72
79
|
const {
|
|
73
80
|
password,
|
|
74
81
|
readonly,
|
|
@@ -115,6 +122,7 @@ function _default(route, auth, storage, config) {
|
|
|
115
122
|
};
|
|
116
123
|
await storage.saveToken(saveToken);
|
|
117
124
|
debug('token %o was created for user %o', key, name);
|
|
125
|
+
res.set(_constants.HEADERS.CACHE_CONTROL, 'no-cache, no-store');
|
|
118
126
|
return next(normalizeToken({
|
|
119
127
|
token,
|
|
120
128
|
user: name,
|
|
@@ -132,7 +140,7 @@ function _default(route, auth, storage, config) {
|
|
|
132
140
|
}
|
|
133
141
|
});
|
|
134
142
|
});
|
|
135
|
-
|
|
143
|
+
tokenRoute.delete('/tokens/token/:tokenKey', (0, _rateLimiter.limiter)(config === null || config === void 0 ? void 0 : config.userRateLimit), async (req, res, next) => {
|
|
136
144
|
const {
|
|
137
145
|
params: {
|
|
138
146
|
tokenKey
|
|
@@ -165,5 +173,6 @@ function _default(route, auth, storage, config) {
|
|
|
165
173
|
|
|
166
174
|
return next(_utils.ErrorCode.getUnauthorized());
|
|
167
175
|
});
|
|
176
|
+
return tokenRoute;
|
|
168
177
|
}
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Rva2VuLnRzIl0sIm5hbWVzIjpbImRlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJyb3V0ZSIsImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJyZW1vdGVfdXNlciIsIl8iLCJpc05pbCIsInRva2VucyIsInJlYWRUb2tlbnMiLCJ1c2VyIiwidG90YWxUb2tlbnMiLCJsZW5ndGgiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk9LIiwib2JqZWN0cyIsIm1hcCIsInVybHMiLCJlcnJvciIsImxvZ2dlciIsIm1zZyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJJTlRFUk5BTF9FUlJPUiIsIm1lc3NhZ2UiLCJnZXRVbmF1dGhvcml6ZWQiLCJwb3N0IiwicGFzc3dvcmQiLCJyZWFkb25seSIsImNpZHJfd2hpdGVsaXN0IiwiYm9keSIsImlzQm9vbGVhbiIsImlzQXJyYXkiLCJCQURfREFUQSIsIlNVUFBPUlRfRVJST1JTIiwiUEFSQU1FVEVSU19OT1RfVkFMSUQiLCJhdXRoZW50aWNhdGUiLCJlcnIiLCJlcnJvckNvZGUiLCJVTkFVVEhPUklaRUQiLCJpc0Z1bmN0aW9uIiwic2F2ZVRva2VuIiwiTk9UX0lNUExFTUVOVEVEIiwiU1RPUkFHRV9OT1RfSU1QTEVNRU5UIiwia2V5IiwibWFza2VkVG9rZW4iLCJnZXRUaW1lIiwiY2lkciIsImRlbGV0ZSIsInBhcmFtcyIsInRva2VuS2V5IiwiZGVsZXRlVG9rZW4iLCJpbmZvIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFJQSxNQUFNQSxLQUFLLEdBQUcsb0JBQVcsaUJBQVgsQ0FBZDs7QUFLQSxTQUFTQyxjQUFULENBQXdCQyxLQUF4QixF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WVUsY0FBOUIsRUFBOENMLEtBQUssQ0FBQ00sT0FBcEQsQ0FBRCxDQUFYO0FBQ0Q7QUFDRjs7QUFDRCxXQUFPdEIsSUFBSSxDQUFDbUIsaUJBQVVJLGVBQVYsRUFBRCxDQUFYO0FBQ0QsR0FsQkQ7QUFtQkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgSFRUUF9TVEFUVVMsIFNVUFBPUlRfRVJST1JTIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFcnJvckNvZGUsIG1hc2sgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBzdHJpbmdUb01ENSB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jcnlwdG8tdXRpbHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5cbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kLCBJQXV0aCwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogSUF1dGgsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciwgY29uZmlnOiBDb25maWcpOiB2b2lkIHtcbiAgcm91dGUuZ2V0KCcvLS9ucG0vdjEvdG9rZW5zJywgYXN5bmMgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgc3RvcmFnZS5yZWFkVG9rZW5zKHsgdXNlcjogbmFtZSB9KTtcbiAgICAgICAgY29uc3QgdG90YWxUb2tlbnMgPSB0b2tlbnMubGVuZ3RoO1xuICAgICAgICBkZWJ1ZygndG9rZW4gbGlzdCByZXRyaWV2ZWQ6ICVvJywgdG90YWxUb2tlbnMpO1xuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgIG9iamVjdHM6IHRva2Vucy5tYXAobm9ybWFsaXplVG9rZW4pLFxuICAgICAgICAgIHVybHM6IHtcbiAgICAgICAgICAgIG5leHQ6ICcnLCAvLyBUT0RPOiBwYWdpbmF0aW9uP1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gbGlzdCBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUiwgZXJyb3IubWVzc2FnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0VW5hdXRob3JpemVkKCkpO1xuICB9KTtcblxuICByb3V0ZS5wb3N0KCcvLS9ucG0vdjEvdG9rZW5zJywgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBjb25zdCB7IHBhc3N3b3JkLCByZWFkb25seSwgY2lkcl93aGl0ZWxpc3QgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKCFfLmlzQm9vbGVhbihyZWFkb25seSkgfHwgIV8uaXNBcnJheShjaWRyX3doaXRlbGlzdCkpIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9EQVRBLCBTVVBQT1JUX0VSUk9SUy5QQVJBTUVURVJTX05PVF9WQUxJRCkpO1xuICAgIH1cblxuICAgIGF1dGguYXV0aGVudGljYXRlKG5hbWUsIHBhc3N3b3JkLCBhc3luYyAoZXJyLCB1c2VyOiBSZW1vdGVVc2VyKSA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVycm9yQ29kZSwgZXJyLm1lc3NhZ2UpKTtcbiAgICAgIH1cblxuICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcblxuICAgICAgaWYgKCFfLmlzRnVuY3Rpb24oc3RvcmFnZS5zYXZlVG9rZW4pKSB7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLk5PVF9JTVBMRU1FTlRFRCwgU1VQUE9SVF9FUlJPUlMuU1RPUkFHRV9OT1RfSU1QTEVNRU5UKSk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgICAgIGNvbnN0IGtleSA9IHN0cmluZ1RvTUQ1KHRva2VuKTtcbiAgICAgICAgLy8gVE9ETzogdXNlIGEgdXRpbGl0eSBoZXJlXG4gICAgICAgIGNvbnN0IG1hc2tlZFRva2VuID0gbWFzayh0b2tlbiwgNSk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICogdG9rZW46IHdlIGRvIG5vdCBzdG9yZSB0aGUgcmVhbCB0b2tlbiAoaXQgaXMgZ2VuZXJhdGVkIG9uY2UgYW5kIHJldHJpZXZlZCB0byB0aGUgdXNlciksIGp1c3QgYSBtYXNrIG9mIGl0LlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgIHRva2VuOiBtYXNrZWRUb2tlbixcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgY2lkcjogY2lkcl93aGl0ZWxpc3QsXG4gICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCBzdG9yYWdlLnNhdmVUb2tlbihzYXZlVG9rZW4pO1xuICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGNyZWF0aW9uIGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIHJvdXRlLmRlbGV0ZSgnLy0vbnBtL3YxL3Rva2Vucy90b2tlbi86dG9rZW5LZXknLCBhc3luYyAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIHBhcmFtczogeyB0b2tlbktleSB9LFxuICAgIH0gPSByZXE7XG4gICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICBpZiAoXy5pc05pbChuYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgIGRlYnVnKCclbyBoYXMgcmVxdWVzdGVkIHJlbW92ZSBhIHRva2VuJywgbmFtZSk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBzdG9yYWdlLmRlbGV0ZVRva2VuKG5hbWUsIHRva2VuS2V5KTtcbiAgICAgICAgbG9nZ2VyLmluZm8oeyB0b2tlbktleSwgbmFtZSB9LCAndG9rZW4gaWQgQHt0b2tlbktleX0gd2FzIHJldm9rZWQgZm9yIHVzZXIgQHtuYW1lfScpO1xuICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5JTlRFUk5BTF9FUlJPUiwgZXJyb3IubWVzc2FnZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0VW5hdXRob3JpemVkKCkpO1xuICB9KTtcbn1cbiJdfQ==
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Rva2VuLnRzIl0sIm5hbWVzIjpbImRlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJhdXRoIiwic3RvcmFnZSIsImNvbmZpZyIsInRva2VuUm91dGUiLCJnZXQiLCJ1c2VyUmF0ZUxpbWl0IiwicmVxIiwicmVzIiwibmV4dCIsIm5hbWUiLCJyZW1vdGVfdXNlciIsIl8iLCJpc05pbCIsInRva2VucyIsInJlYWRUb2tlbnMiLCJ1c2VyIiwidG90YWxUb2tlbnMiLCJsZW5ndGgiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk9LIiwib2JqZWN0cyIsIm1hcCIsInVybHMiLCJlcnJvciIsImxvZ2dlciIsIm1zZyIsIkVycm9yQ29kZSIsImdldENvZGUiLCJJTlRFUk5BTF9FUlJPUiIsIm1lc3NhZ2UiLCJnZXRVbmF1dGhvcml6ZWQiLCJwb3N0IiwicGFzc3dvcmQiLCJyZWFkb25seSIsImNpZHJfd2hpdGVsaXN0IiwiYm9keSIsImlzQm9vbGVhbiIsImlzQXJyYXkiLCJCQURfREFUQSIsIlNVUFBPUlRfRVJST1JTIiwiUEFSQU1FVEVSU19OT1RfVkFMSUQiLCJhdXRoZW50aWNhdGUiLCJlcnIiLCJlcnJvckNvZGUiLCJVTkFVVEhPUklaRUQiLCJpc0Z1bmN0aW9uIiwic2F2ZVRva2VuIiwiTk9UX0lNUExFTUVOVEVEIiwiU1RPUkFHRV9OT1RfSU1QTEVNRU5UIiwia2V5IiwibWFza2VkVG9rZW4iLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7Ozs7Ozs7OztBQUVB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RixjQUFNUixPQUFPLENBQUMyRCxXQUFSLENBQW9CbkQsSUFBcEIsRUFBMEJrRCxRQUExQixDQUFOOztBQUNBbEMsdUJBQU9vQyxJQUFQLENBQVk7QUFBRUYsVUFBQUEsUUFBRjtBQUFZbEQsVUFBQUE7QUFBWixTQUFaLEVBQWdDLG1EQUFoQzs7QUFDQSxlQUFPRCxJQUFJLENBQUMsRUFBRCxDQUFYO0FBQ0QsT0FKRCxDQUlFLE9BQU9nQixLQUFQLEVBQWM7QUFDZEMsdUJBQU9ELEtBQVAsQ0FBYTtBQUFFQSxVQUFBQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7QUFBZixTQUFiLEVBQW1DLHFDQUFuQzs7QUFDQSxlQUFPbEIsSUFBSSxDQUFDbUIsaUJBQVVDLE9BQVYsQ0FBa0JULHVCQUFZVSxjQUE5QixFQUE4Q0wsS0FBSyxDQUFDTSxPQUFwRCxDQUFELENBQVg7QUFDRDtBQUNGOztBQUNELFdBQU90QixJQUFJLENBQUNtQixpQkFBVUksZUFBVixFQUFELENBQVg7QUFDRCxHQWxCRDtBQW9CQSxTQUFPNUIsVUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IENvbmZpZywgUmVtb3RlVXNlciwgVG9rZW4gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IEhFQURFUlMsIEhUVFBfU1RBVFVTLCBTVVBQT1JUX0VSUk9SUyB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBtYXNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IGdldEFwaVRva2VuIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgc3RyaW5nVG9NRDUgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY3J5cHRvLXV0aWxzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuXG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgSUF1dGgsIElTdG9yYWdlSGFuZGxlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGxpbWl0ZXIgfSBmcm9tICcuLi8uLi8uLi9yYXRlLWxpbWl0ZXInO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoYXV0aDogSUF1dGgsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciwgY29uZmlnOiBDb25maWcpOiBSb3V0ZXIge1xuICBjb25zdCB0b2tlblJvdXRlID0gUm91dGVyKCk7IC8qIGVzbGludCBuZXctY2FwOiAwICovXG4gIHRva2VuUm91dGUuZ2V0KCcvdG9rZW5zJywgbGltaXRlcihjb25maWc/LnVzZXJSYXRlTGltaXQpLCBhc3luYyBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSBhd2FpdCBzdG9yYWdlLnJlYWRUb2tlbnMoeyB1c2VyOiBuYW1lIH0pO1xuICAgICAgICBjb25zdCB0b3RhbFRva2VucyA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgIGRlYnVnKCd0b2tlbiBsaXN0IHJldHJpZXZlZDogJW8nLCB0b3RhbFRva2Vucyk7XG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgb2JqZWN0czogdG9rZW5zLm1hcChub3JtYWxpemVUb2tlbiksXG4gICAgICAgICAgdXJsczoge1xuICAgICAgICAgICAgbmV4dDogJycsIC8vIFRPRE86IHBhZ2luYXRpb24/XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBsaXN0IGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gIH0pO1xuXG4gIHRva2VuUm91dGUucG9zdCgnL3Rva2VucycsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBjb25zdCB7IHBhc3N3b3JkLCByZWFkb25seSwgY2lkcl93aGl0ZWxpc3QgfSA9IHJlcS5ib2R5O1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKCFfLmlzQm9vbGVhbihyZWFkb25seSkgfHwgIV8uaXNBcnJheShjaWRyX3doaXRlbGlzdCkpIHtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9EQVRBLCBTVVBQT1JUX0VSUk9SUy5QQVJBTUVURVJTX05PVF9WQUxJRCkpO1xuICAgIH1cblxuICAgIGF1dGguYXV0aGVudGljYXRlKG5hbWUsIHBhc3N3b3JkLCBhc3luYyAoZXJyLCB1c2VyOiBSZW1vdGVVc2VyKSA9PiB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKGVycm9yQ29kZSwgZXJyLm1lc3NhZ2UpKTtcbiAgICAgIH1cblxuICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcblxuICAgICAgaWYgKCFfLmlzRnVuY3Rpb24oc3RvcmFnZS5zYXZlVG9rZW4pKSB7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLk5PVF9JTVBMRU1FTlRFRCwgU1VQUE9SVF9FUlJPUlMuU1RPUkFHRV9OT1RfSU1QTEVNRU5UKSk7XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgICAgIGNvbnN0IGtleSA9IHN0cmluZ1RvTUQ1KHRva2VuKTtcbiAgICAgICAgLy8gVE9ETzogdXNlIGEgdXRpbGl0eSBoZXJlXG4gICAgICAgIGNvbnN0IG1hc2tlZFRva2VuID0gbWFzayh0b2tlbiwgNSk7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWQgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICogdG9rZW46IHdlIGRvIG5vdCBzdG9yZSB0aGUgcmVhbCB0b2tlbiAoaXQgaXMgZ2VuZXJhdGVkIG9uY2UgYW5kIHJldHJpZXZlZCB0byB0aGUgdXNlciksIGp1c3QgYSBtYXNrIG9mIGl0LlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgIHRva2VuOiBtYXNrZWRUb2tlbixcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgY2lkcjogY2lkcl93aGl0ZWxpc3QsXG4gICAgICAgICAgcmVhZG9ubHksXG4gICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCBzdG9yYWdlLnNhdmVUb2tlbihzYXZlVG9rZW4pO1xuICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICByZXMuc2V0KEhFQURFUlMuQ0FDSEVfQ09OVFJPTCwgJ25vLWNhY2hlLCBuby1zdG9yZScpO1xuICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnJvci5tc2cgfSwgJ3Rva2VuIGNyZWF0aW9uIGhhcyBmYWlsZWQ6IEB7ZXJyb3J9Jyk7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIHRva2VuUm91dGUuZGVsZXRlKCcvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsIGxpbWl0ZXIoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSwgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBwYXJhbXM6IHsgdG9rZW5LZXkgfSxcbiAgICB9ID0gcmVxO1xuICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgc3RvcmFnZS5kZWxldGVUb2tlbihuYW1lLCB0b2tlbktleSk7XG4gICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe30pO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gY3JlYXRpb24gaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIGVycm9yLm1lc3NhZ2UpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldFVuYXV0aG9yaXplZCgpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHRva2VuUm91dGU7XG59XG4iXX0=
|
|
@@ -25,9 +25,7 @@ var _package = _interopRequireDefault(require("./api/package"));
|
|
|
25
25
|
|
|
26
26
|
var _stars = _interopRequireDefault(require("./api/stars"));
|
|
27
27
|
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
var _token = _interopRequireDefault(require("./api/v1/token"));
|
|
28
|
+
var _v = _interopRequireDefault(require("./api/v1"));
|
|
31
29
|
|
|
32
30
|
var _search2 = _interopRequireDefault(require("./api/v1/search"));
|
|
33
31
|
|
|
@@ -71,15 +69,14 @@ function _default(config, auth, storage) {
|
|
|
71
69
|
|
|
72
70
|
(0, _whoami.default)(app);
|
|
73
71
|
(0, _package.default)(app, auth, storage, config);
|
|
74
|
-
(0, _profile.default)(app, auth);
|
|
75
72
|
(0, _search.default)(app, auth, storage);
|
|
76
|
-
(0, _user.default)(app, auth, config);
|
|
77
73
|
(0, _distTags.default)(app, auth, storage);
|
|
78
74
|
(0, _publish.default)(app, auth, storage, config);
|
|
79
75
|
(0, _ping.default)(app);
|
|
80
76
|
(0, _stars.default)(app, storage);
|
|
81
77
|
(0, _search2.default)(app, auth, storage);
|
|
82
|
-
(0,
|
|
78
|
+
(0, _user.default)(app, auth, config);
|
|
79
|
+
app.use((0, _v.default)(auth, storage, config));
|
|
83
80
|
return app;
|
|
84
81
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvaW5kZXgudHMiXSwibmFtZXMiOlsibWF0Y2giLCJ2YWxpZGF0ZU5hbWUiLCJ2YWxpZGF0ZVBhY2thZ2UiLCJlbmNvZGVTY29wZVBhY2thZ2UiLCJhbnRpTG9vcCIsInJlcXVpcmUiLCJjb25maWciLCJhdXRoIiwic3RvcmFnZSIsImFwcCIsImV4cHJlc3MiLCJSb3V0ZXIiLCJwYXJhbSIsInVzZSIsImFwaUpXVG1pZGRsZXdhcmUiLCJib2R5UGFyc2VyIiwianNvbiIsInN0cmljdCIsImxpbWl0IiwibWF4X2JvZHlfc2l6ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTTtBQUFFQSxFQUFBQSxLQUFGO0FBQVNDLEVBQUFBLFlBQVQ7QUFBdUJDLEVBQUFBLGVBQXZCO0FBQXdDQyxFQUFBQSxrQkFBeEM7QUFBNERDLEVBQUFBO0FBQTVELElBQXlFQyxPQUFPLENBQUMsZUFBRCxDQUF0Rjs7QUFFZSxrQkFBVUMsTUFBVixFQUEwQkMsSUFBMUIsRUFBdUNDLE9BQXZDLEVBQWlFO0FBQzlFO0FBQ0EsUUFBTUMsR0FBRyxHQUFHQyxpQkFBUUMsTUFBUixFQUFaO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQUYsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlYsZUFBckI7QUFDQU8sRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsS0FBVixFQUFpQlgsWUFBakI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsU0FBVixFQUFxQlgsWUFBckI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsVUFBVixFQUFzQlgsWUFBdEI7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsT0FBVixFQUFtQlgsWUFBbkIsRUFYOEUsQ0FhOUU7QUFDQTs7QUFDQVEsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsTUFBVixFQUFrQlosS0FBSyxDQUFDLFFBQUQsQ0FBdkI7QUFDQVMsRUFBQUEsR0FBRyxDQUFDRyxLQUFKLENBQVUsa0JBQVYsRUFBOEJaLEtBQUssQ0FBQyxzQkFBRCxDQUFuQztBQUNBUyxFQUFBQSxHQUFHLENBQUNHLEtBQUosQ0FBVSxVQUFWLEVBQXNCWixLQUFLLENBQUMsSUFBRCxDQUEzQjtBQUVBUyxFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUU4sSUFBSSxDQUFDTyxnQkFBTCxFQUFSO0FBQ0FMLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRRSxvQkFBV0MsSUFBWCxDQUFnQjtBQUFFQyxJQUFBQSxNQUFNLEVBQUUsS0FBVjtBQUFpQkMsSUFBQUEsS0FBSyxFQUFFWixNQUFNLENBQUNhLGFBQVAsSUFBd0I7QUFBaEQsR0FBaEIsQ0FBUjtBQUNBVixFQUFBQSxHQUFHLENBQUNJLEdBQUosQ0FBUVQsUUFBUSxDQUFDRSxNQUFELENBQWhCLEVBckI4RSxDQXNCOUU7O0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRVixrQkFBUixFQXZCOEUsQ0F3QjlFOztBQUNBLHVCQUFPTSxHQUFQO0FBQ0Esd0JBQUlBLEdBQUosRUFBU0YsSUFBVCxFQUFlQyxPQUFmLEVBQXdCRixNQUF4QjtBQUNBLHVCQUFPRyxHQUFQLEVBQVlGLElBQVosRUFBa0JDLE9BQWxCO0FBQ0EseUJBQVNDLEdBQVQsRUFBY0YsSUFBZCxFQUFvQkMsT0FBcEI7QUFDQSx3QkFBUUMsR0FBUixFQUFhRixJQUFiLEVBQW1CQyxPQUFuQixFQUE0QkYsTUFBNUI7QUFDQSxxQkFBS0csR0FBTDtBQUNBLHNCQUFNQSxHQUFOLEVBQVdELE9BQVg7QUFDQSx3QkFBU0MsR0FBVCxFQUFjRixJQUFkLEVBQW9CQyxPQUFwQjtBQUNBLHFCQUFLQyxHQUFMLEVBQVVGLElBQVYsRUFBZ0JELE1BQWhCO0FBQ0FHLEVBQUFBLEdBQUcsQ0FBQ0ksR0FBSixDQUFRLGdCQUFNTixJQUFOLEVBQVlDLE9BQVosRUFBcUJGLE1BQXJCLENBQVI7QUFDQSxTQUFPRyxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZXhwcmVzcyBmcm9tICdleHByZXNzJztcbmltcG9ydCBib2R5UGFyc2VyIGZyb20gJ2JvZHktcGFyc2VyJztcbmltcG9ydCB7IElBdXRoLCBJU3RvcmFnZUhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgd2hvYW1pIGZyb20gJy4vYXBpL3dob2FtaSc7XG5pbXBvcnQgcGluZyBmcm9tICcuL2FwaS9waW5nJztcbmltcG9ydCB1c2VyIGZyb20gJy4vYXBpL3VzZXInO1xuaW1wb3J0IGRpc3RUYWdzIGZyb20gJy4vYXBpL2Rpc3QtdGFncyc7XG5pbXBvcnQgcHVibGlzaCBmcm9tICcuL2FwaS9wdWJsaXNoJztcbmltcG9ydCBzZWFyY2ggZnJvbSAnLi9hcGkvc2VhcmNoJztcbmltcG9ydCBwa2cgZnJvbSAnLi9hcGkvcGFja2FnZSc7XG5pbXBvcnQgc3RhcnMgZnJvbSAnLi9hcGkvc3RhcnMnO1xuaW1wb3J0IG5wbVYxIGZyb20gJy4vYXBpL3YxJztcbmltcG9ydCB2MVNlYXJjaCBmcm9tICcuL2FwaS92MS9zZWFyY2gnO1xuXG5jb25zdCB7IG1hdGNoLCB2YWxpZGF0ZU5hbWUsIHZhbGlkYXRlUGFja2FnZSwgZW5jb2RlU2NvcGVQYWNrYWdlLCBhbnRpTG9vcCB9ID0gcmVxdWlyZSgnLi4vbWlkZGxld2FyZScpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoY29uZmlnOiBDb25maWcsIGF1dGg6IElBdXRoLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpIHtcbiAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gIGNvbnN0IGFwcCA9IGV4cHJlc3MuUm91dGVyKCk7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAvLyB2YWxpZGF0ZSBhbGwgb2YgdGhlc2UgcGFyYW1zIGFzIGEgcGFja2FnZSBuYW1lXG4gIC8vIHRoaXMgbWlnaHQgYmUgdG9vIGhhcnNoLCBzbyBhc2sgaWYgaXQgY2F1c2VzIHRyb3VibGVcbiAgYXBwLnBhcmFtKCdwYWNrYWdlJywgdmFsaWRhdGVQYWNrYWdlKTtcbiAgYXBwLnBhcmFtKCdmaWxlbmFtZScsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndGFnJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCd2ZXJzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgYXBwLnBhcmFtKCdyZXZpc2lvbicsIHZhbGlkYXRlTmFtZSk7XG4gIGFwcC5wYXJhbSgndG9rZW4nLCB2YWxpZGF0ZU5hbWUpO1xuXG4gIC8vIHRoZXNlIGNhbid0IGJlIHNhZmVseSBwdXQgaW50byBleHByZXNzIHVybCBmb3Igc29tZSByZWFzb25cbiAgLy8gVE9ETzogRm9yIHNvbWUgcmVhc29uPyB3aGF0IHJlYXNvbj9cbiAgYXBwLnBhcmFtKCdfcmV2JywgbWF0Y2goL14tcmV2JC8pKTtcbiAgYXBwLnBhcmFtKCdvcmdfY291Y2hkYl91c2VyJywgbWF0Y2goL15vcmdcXC5jb3VjaGRiXFwudXNlcjovKSk7XG4gIGFwcC5wYXJhbSgnYW55dGhpbmcnLCBtYXRjaCgvLiovKSk7XG5cbiAgYXBwLnVzZShhdXRoLmFwaUpXVG1pZGRsZXdhcmUoKSk7XG4gIGFwcC51c2UoYm9keVBhcnNlci5qc29uKHsgc3RyaWN0OiBmYWxzZSwgbGltaXQ6IGNvbmZpZy5tYXhfYm9keV9zaXplIHx8ICcxMG1iJyB9KSk7XG4gIGFwcC51c2UoYW50aUxvb3AoY29uZmlnKSk7XG4gIC8vIGVuY29kZSAvIGluIGEgc2NvcGVkIHBhY2thZ2UgbmFtZSB0byBiZSBtYXRjaGVkIGFzIGEgc2luZ2xlIHBhcmFtZXRlciBpbiByb3V0ZXNcbiAgYXBwLnVzZShlbmNvZGVTY29wZVBhY2thZ2UpO1xuICAvLyBmb3IgXCJucG0gd2hvYW1pXCJcbiAgd2hvYW1pKGFwcCk7XG4gIHBrZyhhcHAsIGF1dGgsIHN0b3JhZ2UsIGNvbmZpZyk7XG4gIHNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBkaXN0VGFncyhhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICBwdWJsaXNoKGFwcCwgYXV0aCwgc3RvcmFnZSwgY29uZmlnKTtcbiAgcGluZyhhcHApO1xuICBzdGFycyhhcHAsIHN0b3JhZ2UpO1xuICB2MVNlYXJjaChhcHAsIGF1dGgsIHN0b3JhZ2UpO1xuICB1c2VyKGFwcCwgYXV0aCwgY29uZmlnKTtcbiAgYXBwLnVzZShucG1WMShhdXRoLCBzdG9yYWdlLCBjb25maWcpKTtcbiAgcmV0dXJuIGFwcDtcbn1cbiJdfQ==
|
package/build/api/index.js
CHANGED
|
@@ -49,10 +49,16 @@ const defineAPI = function (config, storage) {
|
|
|
49
49
|
|
|
50
50
|
app.use((0, _middleware.log)(config));
|
|
51
51
|
app.use(_middleware.errorReportingMiddleware);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
next
|
|
55
|
-
|
|
52
|
+
|
|
53
|
+
if (config.user_agent) {
|
|
54
|
+
app.use(function (req, res, next) {
|
|
55
|
+
res.setHeader('X-Powered-By', (0, _utils.getUserAgent)(config.user_agent));
|
|
56
|
+
next();
|
|
57
|
+
});
|
|
58
|
+
} else {
|
|
59
|
+
app.disable('x-powered-by');
|
|
60
|
+
}
|
|
61
|
+
|
|
56
62
|
app.use((0, _compression.default)());
|
|
57
63
|
app.get('/-/static/favicon.ico', (0, _middleware.serveFavicon)(config)); // Hook for tests only
|
|
58
64
|
|
|
@@ -125,4 +131,4 @@ var _default = async function _default(configHash) {
|
|
|
125
131
|
};
|
|
126
132
|
|
|
127
133
|
exports.default = _default;
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvaW5kZXgudHMiXSwibmFtZXMiOlsiZGVmaW5lQVBJIiwiY29uZmlnIiwic3RvcmFnZSIsImF1dGgiLCJBdXRoIiwiYXBwIiwic2V0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXNlIiwiZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlIiwicmVxIiwicmVzIiwibmV4dCIsInNldEhlYWRlciIsInVzZXJfYWdlbnQiLCJnZXQiLCJfZGVidWciLCJzZWxmX3BhdGgiLCJwbHVnaW5fcGFyYW1zIiwibG9nZ2VyIiwicGx1Z2lucyIsIm1pZGRsZXdhcmVzIiwicGx1Z2luIiwicmVnaXN0ZXJfbWlkZGxld2FyZXMiLCJmb3JFYWNoIiwiXyIsIkVycm9yQ29kZSIsImdldE5vdEZvdW5kIiwiQVBJX0VSUk9SIiwiV0VCX0RJU0FCTEVEIiwiRklMRV9OT1RfRk9VTkQiLCJlcnIiLCJpc0Vycm9yIiwiY29kZSIsInN0YXR1c0NvZGUiLCJIVFRQX1NUQVRVUyIsIk5PVF9NT0RJRklFRCIsImlzRnVuY3Rpb24iLCJsb2NhbHMiLCJyZXBvcnRfZXJyb3IiLCJub29wIiwiZmluYWwiLCJjb25maWdIYXNoIiwibG9ncyIsIkFwcENvbmZpZyIsImNsb25lRGVlcCIsImZpbHRlcnMiLCJmaWx0ZXJfbWV0YWRhdGEiLCJTdG9yYWdlIiwiaW5pdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHLFVBQVVDLE1BQVYsRUFBMkJDLE9BQTNCLEVBQTBEO0FBQzFFLFFBQU1DLElBQVcsR0FBRyxJQUFJQyxhQUFKLENBQVNILE1BQVQsQ0FBcEI7QUFDQSxRQUFNSSxHQUFnQixHQUFHLHVCQUF6QixDQUYwRSxDQUkxRTtBQUNBOztBQUNBQSxFQUFBQSxHQUFH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aUQsSUFBUixDQUFhbEQsTUFBYixFQUFxQitDLE9BQXJCLENBQU47QUFDQSxTQUFPaEQsU0FBUyxDQUFDQyxNQUFELEVBQVNDLE9BQVQsQ0FBaEI7QUFDRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBleHByZXNzLCB7IEFwcGxpY2F0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgY29tcHJlc3Npb24gZnJvbSAnY29tcHJlc3Npb24nO1xuaW1wb3J0IGNvcnMgZnJvbSAnY29ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3IgfSBmcm9tICdodHRwLWVycm9ycyc7XG5pbXBvcnQgeyBDb25maWcgYXMgSUNvbmZpZywgSVBsdWdpbk1pZGRsZXdhcmUsIElQbHVnaW5TdG9yYWdlRmlsdGVyIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgbG9hZFBsdWdpbiBmcm9tICcuLi9saWIvcGx1Z2luLWxvYWRlcic7XG5pbXBvcnQgQXV0aCBmcm9tICcuLi9saWIvYXV0aCc7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IEFwcENvbmZpZyBmcm9tICcuLi9saWIvY29uZmlnJztcbmltcG9ydCB7ICRSZXNwb25zZUV4dGVuZCwgJFJlcXVlc3RFeHRlbmQsICROZXh0RnVuY3Rpb25WZXIsIElTdG9yYWdlSGFuZGxlciwgSUF1dGggfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBzZXR1cCwgbG9nZ2VyIH0gZnJvbSAnLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgd2ViQVBJIGZyb20gJy4vd2ViL2FwaSc7XG5pbXBvcnQgd2ViIGZyb20gJy4vd2ViJztcbmltcG9ydCBhcGlFbmRwb2ludCBmcm9tICcuL2VuZHBvaW50JztcbmltcG9ydCBob29rRGVidWcgZnJvbSAnLi9kZWJ1Zyc7XG5pbXBvcnQgeyBsb2csIGZpbmFsLCBlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUsIHNlcnZlRmF2aWNvbiB9IGZyb20gJy4vbWlkZGxld2FyZSc7XG5cbmNvbnN0IGRlZmluZUFQSSA9IGZ1bmN0aW9uIChjb25maWc6IElDb25maWcsIHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlcik6IGFueSB7XG4gIGNvbnN0IGF1dGg6IElBdXRoID0gbmV3IEF1dGgoY29uZmlnKTtcbiAgY29uc3QgYXBwOiBBcHBsaWNhdGlvbiA9IGV4cHJlc3MoKTtcblxuICAvLyBydW4gaW4gcHJvZHVjdGlvbiBtb2RlIGJ5IGRlZmF1bHQsIGp1c3QgaW4gY2FzZVxuICAvLyBpdCBzaG91bGRuJ3QgbWFrZSBhbnkgZGlmZmVyZW5jZSBhbnl3YXlcbiAgYXBwLnNldCgnZW52JywgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgfHwgJ3Byb2R1Y3Rpb24nKTtcbiAgYXBwLnVzZShjb3JzKCkpO1xuXG4gIC8vIFJvdXRlciBzZXR1cFxuICBhcHAudXNlKGxvZyhjb25maWcpKTtcbiAgYXBwLnVzZShlcnJvclJlcG9ydGluZ01pZGRsZXdhcmUpO1xuICBhcHAudXNlKGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIHJlcy5zZXRIZWFkZXIoJ1gtUG93ZXJlZC1CeScsIGNvbmZpZy51c2VyX2FnZW50KTtcbiAgICBuZXh0KCk7XG4gIH0pO1xuXG4gIGFwcC51c2UoY29tcHJlc3Npb24oKSk7XG5cbiAgYXBwLmdldCgnLy0vc3RhdGljL2Zhdmljb24uaWNvJywgc2VydmVGYXZpY29uKGNvbmZpZykpO1xuXG4gIC8vIEhvb2sgZm9yIHRlc3RzIG9ubHlcbiAgaWYgKGNvbmZpZy5fZGVidWcpIHtcbiAgICBob29rRGVidWcoYXBwLCBjb25maWcuc2VsZl9wYXRoKTtcbiAgfVxuXG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuXG4gIGNvbnN0IHBsdWdpbnM6IElQbHVnaW5NaWRkbGV3YXJlPElDb25maWc+W10gPSBsb2FkUGx1Z2luKGNvbmZpZywgY29uZmlnLm1pZGRsZXdhcmVzLCBwbHVnaW5fcGFyYW1zLCBmdW5jdGlvbiAocGx1Z2luOiBJUGx1Z2luTWlkZGxld2FyZTxJQ29uZmlnPikge1xuICAgIHJldHVybiBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXM7XG4gIH0pO1xuICBwbHVnaW5zLmZvckVhY2goKHBsdWdpbjogSVBsdWdpbk1pZGRsZXdhcmU8SUNvbmZpZz4pID0+IHtcbiAgICBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXMoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgfSk7XG5cbiAgLy8gRm9yICBucG0gcmVxdWVzdFxuICBhcHAudXNlKGFwaUVuZHBvaW50KGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuXG4gIC8vIEZvciBXZWJVSSAmIFdlYlVJIEFQSVxuICBpZiAoXy5nZXQoY29uZmlnLCAnd2ViLmVuYWJsZScsIHRydWUpKSB7XG4gICAgYXBwLnVzZSgnLycsIHdlYihjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcbiAgICBhcHAudXNlKCcvLS92ZXJkYWNjaW8vJywgd2ViQVBJKGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuICB9IGVsc2Uge1xuICAgIGFwcC5nZXQoJy8nLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5XRUJfRElTQUJMRUQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENhdGNoIDQwNFxuICBhcHAuZ2V0KCcvKicsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5GSUxFX05PVF9GT1VORCkpO1xuICB9KTtcblxuICBhcHAudXNlKGZ1bmN0aW9uIChlcnI6IEh0dHBFcnJvciwgcmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBpZiAoXy5pc0Vycm9yKGVycikpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VDT05OQUJPUlQnICYmIHJlcy5zdGF0dXNDb2RlID09PSBIVFRQX1NUQVRVUy5OT1RfTU9ESUZJRUQpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChfLmlzRnVuY3Rpb24ocmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IpID09PSBmYWxzZSkge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIHZlcnkgZWFybHkgZXJyb3IgdGhpcyBtaWRkbGV3YXJlIG1heSBub3QgYmUgbG9hZGVkIGJlZm9yZSBlcnJvciBpcyBnZW5lcmF0ZWRcbiAgICAgICAgLy8gZml4aW5nIHRoYXRcbiAgICAgICAgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKHJlcSwgcmVzLCBfLm5vb3ApO1xuICAgICAgfVxuICAgICAgcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbCB0byBNaWRkbGV3YXJlLmZpbmFsXG4gICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgIH1cbiAgfSk7XG5cbiAgYXBwLnVzZShmaW5hbCk7XG5cbiAgcmV0dXJuIGFwcDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChhc3luYyBmdW5jdGlvbiAoY29uZmlnSGFzaDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgc2V0dXAoY29uZmlnSGFzaC5sb2dzKTtcbiAgY29uc3QgY29uZmlnOiBJQ29uZmlnID0gbmV3IEFwcENvbmZpZyhfLmNsb25lRGVlcChjb25maWdIYXNoKSk7XG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuICBjb25zdCBmaWx0ZXJzID0gbG9hZFBsdWdpbihjb25maWcsIGNvbmZpZy5maWx0ZXJzIHx8IHt9LCBwbHVnaW5fcGFyYW1zLCAocGx1Z2luOiBJUGx1Z2luU3RvcmFnZUZpbHRlcjxJQ29uZmlnPikgPT4gcGx1Z2luLmZpbHRlcl9tZXRhZGF0YSk7XG4gIGNvbnN0IHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciA9IG5ldyBTdG9yYWdlKGNvbmZpZyk7XG4gIC8vIHdhaXRzIHVudGlsIGluaXQgY2FsbHMgaGF2ZSBiZWVuIGluaXRpYWxpemVkXG4gIGF3YWl0IHN0b3JhZ2UuaW5pdChjb25maWcsIGZpbHRlcnMpO1xuICByZXR1cm4gZGVmaW5lQVBJKGNvbmZpZywgc3RvcmFnZSk7XG59KTtcbiJdfQ==
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvaW5kZXgudHMiXSwibmFtZXMiOlsiZGVmaW5lQVBJIiwiY29uZmlnIiwic3RvcmFnZSIsImF1dGgiLCJBdXRoIiwiYXBwIiwic2V0IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXNlIiwiZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlIiwidXNlcl9hZ2VudCIsInJlcSIsInJlcyIsIm5leHQiLCJzZXRIZWFkZXIiLCJkaXNhYmxlIiwiZ2V0IiwiX2RlYnVnIiwic2VsZl9wYXRoIiwicGx1Z2luX3BhcmFtcyIsImxvZ2dlciIsInBsdWdpbnMiLCJtaWRkbGV3YXJlcyIsInBsdWdpbiIsInJlZ2lzdGVyX21pZGRsZXdhcmVzIiwiZm9yRWFjaCIsIl8iLCJFcnJvckNvZGUiLCJnZXROb3RGb3VuZCIsIkFQSV9FUlJPUiIsIldFQl9ESVNBQkxFRCIsIkZJTEVfTk9UX0ZPVU5EIiwiZXJyIiwiaXNFcnJvciIsImNvZGUiLCJzdGF0dXNDb2RlIiwiSFRUUF9TVEFUVVMiLCJOT1RfTU9ESUZJRUQiLCJpc0Z1bmN0aW9uIiwibG9jYWxzIiwicmVwb3J0X2Vycm9yIiwibm9vcCIsImZpbmFsIiwiY29uZmlnSGFzaCIsImxvZ3MiLCJBcHBDb25maWciLCJjbG9uZURlZXAiLCJmaWx0ZXJzIiwiZmlsdGVyX21ldGFkYXRhIiwiU3RvcmFnZSIsImluaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLFNBQVMsR0FBRyxVQUFVQyxNQUFWLEVBQTJCQyxPQUEzQixFQUEwRDtBQUMxRSxRQUFNQyxJQUFXLEdBQUcsSUFBSUMsYUFBSixDQUFTSCxNQUFULENBQXBCO0FBQ0EsUUFBTUksR0FBZ0IsR0FBRyx1QkFBekIsQ0FGMEUsQ0FJMUU7QUFDQTs7QUFDQUEs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QTJDQSxNQUFNLENBQUN5QixlQUExRyxDQUFoQjtBQUNBLFFBQU1oRCxPQUF3QixHQUFHLElBQUlpRCxnQkFBSixDQUFZbEQsTUFBWixDQUFqQyxDQVQ2RCxDQVU3RDs7QUFDQSxRQUFNQyxPQUFPLENBQUNrRCxJQUFSLENBQWFuRCxNQUFiLEVBQXFCZ0QsT0FBckIsQ0FBTjtBQUNBLFNBQU9qRCxTQUFTLENBQUNDLE1BQUQsRUFBU0MsT0FBVCxDQUFoQjtBQUNELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGV4cHJlc3MsIHsgQXBwbGljYXRpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBjb21wcmVzc2lvbiBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgY29ycyBmcm9tICdjb3JzJztcbmltcG9ydCB7IEh0dHBFcnJvciB9IGZyb20gJ2h0dHAtZXJyb3JzJztcbmltcG9ydCB7IENvbmZpZyBhcyBJQ29uZmlnLCBJUGx1Z2luTWlkZGxld2FyZSwgSVBsdWdpblN0b3JhZ2VGaWx0ZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCBsb2FkUGx1Z2luIGZyb20gJy4uL2xpYi9wbHVnaW4tbG9hZGVyJztcbmltcG9ydCBBdXRoIGZyb20gJy4uL2xpYi9hdXRoJztcbmltcG9ydCB7IEVycm9yQ29kZSwgZ2V0VXNlckFnZW50IH0gZnJvbSAnLi4vbGliL3V0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCBBcHBDb25maWcgZnJvbSAnLi4vbGliL2NvbmZpZyc7XG5pbXBvcnQgeyAkUmVzcG9uc2VFeHRlbmQsICRSZXF1ZXN0RXh0ZW5kLCAkTmV4dEZ1bmN0aW9uVmVyLCBJU3RvcmFnZUhhbmRsZXIsIElBdXRoIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgc2V0dXAsIGxvZ2dlciB9IGZyb20gJy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IHdlYkFQSSBmcm9tICcuL3dlYi9hcGknO1xuaW1wb3J0IHdlYiBmcm9tICcuL3dlYic7XG5pbXBvcnQgYXBpRW5kcG9pbnQgZnJvbSAnLi9lbmRwb2ludCc7XG5pbXBvcnQgaG9va0RlYnVnIGZyb20gJy4vZGVidWcnO1xuaW1wb3J0IHsgbG9nLCBmaW5hbCwgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlLCBzZXJ2ZUZhdmljb24gfSBmcm9tICcuL21pZGRsZXdhcmUnO1xuXG5jb25zdCBkZWZpbmVBUEkgPSBmdW5jdGlvbiAoY29uZmlnOiBJQ29uZmlnLCBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpOiBhbnkge1xuICBjb25zdCBhdXRoOiBJQXV0aCA9IG5ldyBBdXRoKGNvbmZpZyk7XG4gIGNvbnN0IGFwcDogQXBwbGljYXRpb24gPSBleHByZXNzKCk7XG5cbiAgLy8gcnVuIGluIHByb2R1Y3Rpb24gbW9kZSBieSBkZWZhdWx0LCBqdXN0IGluIGNhc2VcbiAgLy8gaXQgc2hvdWxkbid0IG1ha2UgYW55IGRpZmZlcmVuY2UgYW55d2F5XG4gIGFwcC5zZXQoJ2VudicsIHByb2Nlc3MuZW52Lk5PREVfRU5WIHx8ICdwcm9kdWN0aW9uJyk7XG4gIGFwcC51c2UoY29ycygpKTtcblxuICAvLyBSb3V0ZXIgc2V0dXBcbiAgYXBwLnVzZShsb2coY29uZmlnKSk7XG4gIGFwcC51c2UoZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKTtcbiAgaWYgKGNvbmZpZy51c2VyX2FnZW50KSB7XG4gICAgYXBwLnVzZShmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHJlcy5zZXRIZWFkZXIoJ1gtUG93ZXJlZC1CeScsIGdldFVzZXJBZ2VudChjb25maWcudXNlcl9hZ2VudCkpO1xuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIGFwcC5kaXNhYmxlKCd4LXBvd2VyZWQtYnknKTtcbiAgfVxuXG4gIGFwcC51c2UoY29tcHJlc3Npb24oKSk7XG5cbiAgYXBwLmdldCgnLy0vc3RhdGljL2Zhdmljb24uaWNvJywgc2VydmVGYXZpY29uKGNvbmZpZykpO1xuXG4gIC8vIEhvb2sgZm9yIHRlc3RzIG9ubHlcbiAgaWYgKGNvbmZpZy5fZGVidWcpIHtcbiAgICBob29rRGVidWcoYXBwLCBjb25maWcuc2VsZl9wYXRoKTtcbiAgfVxuXG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuXG4gIGNvbnN0IHBsdWdpbnM6IElQbHVnaW5NaWRkbGV3YXJlPElDb25maWc+W10gPSBsb2FkUGx1Z2luKGNvbmZpZywgY29uZmlnLm1pZGRsZXdhcmVzLCBwbHVnaW5fcGFyYW1zLCBmdW5jdGlvbiAocGx1Z2luOiBJUGx1Z2luTWlkZGxld2FyZTxJQ29uZmlnPikge1xuICAgIHJldHVybiBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXM7XG4gIH0pO1xuICBwbHVnaW5zLmZvckVhY2goKHBsdWdpbjogSVBsdWdpbk1pZGRsZXdhcmU8SUNvbmZpZz4pID0+IHtcbiAgICBwbHVnaW4ucmVnaXN0ZXJfbWlkZGxld2FyZXMoYXBwLCBhdXRoLCBzdG9yYWdlKTtcbiAgfSk7XG5cbiAgLy8gRm9yICBucG0gcmVxdWVzdFxuICBhcHAudXNlKGFwaUVuZHBvaW50KGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuXG4gIC8vIEZvciBXZWJVSSAmIFdlYlVJIEFQSVxuICBpZiAoXy5nZXQoY29uZmlnLCAnd2ViLmVuYWJsZScsIHRydWUpKSB7XG4gICAgYXBwLnVzZSgnLycsIHdlYihjb25maWcsIGF1dGgsIHN0b3JhZ2UpKTtcbiAgICBhcHAudXNlKCcvLS92ZXJkYWNjaW8vJywgd2ViQVBJKGNvbmZpZywgYXV0aCwgc3RvcmFnZSkpO1xuICB9IGVsc2Uge1xuICAgIGFwcC5nZXQoJy8nLCBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5XRUJfRElTQUJMRUQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIENhdGNoIDQwNFxuICBhcHAuZ2V0KCcvKicsIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKEFQSV9FUlJPUi5GSUxFX05PVF9GT1VORCkpO1xuICB9KTtcblxuICBhcHAudXNlKGZ1bmN0aW9uIChlcnI6IEh0dHBFcnJvciwgcmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpIHtcbiAgICBpZiAoXy5pc0Vycm9yKGVycikpIHtcbiAgICAgIGlmIChlcnIuY29kZSA9PT0gJ0VDT05OQUJPUlQnICYmIHJlcy5zdGF0dXNDb2RlID09PSBIVFRQX1NUQVRVUy5OT1RfTU9ESUZJRUQpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIGlmIChfLmlzRnVuY3Rpb24ocmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IpID09PSBmYWxzZSkge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIHZlcnkgZWFybHkgZXJyb3IgdGhpcyBtaWRkbGV3YXJlIG1heSBub3QgYmUgbG9hZGVkIGJlZm9yZSBlcnJvciBpcyBnZW5lcmF0ZWRcbiAgICAgICAgLy8gZml4aW5nIHRoYXRcbiAgICAgICAgZXJyb3JSZXBvcnRpbmdNaWRkbGV3YXJlKHJlcSwgcmVzLCBfLm5vb3ApO1xuICAgICAgfVxuICAgICAgcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbCB0byBNaWRkbGV3YXJlLmZpbmFsXG4gICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgIH1cbiAgfSk7XG5cbiAgYXBwLnVzZShmaW5hbCk7XG5cbiAgcmV0dXJuIGFwcDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChhc3luYyBmdW5jdGlvbiAoY29uZmlnSGFzaDogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgc2V0dXAoY29uZmlnSGFzaC5sb2dzKTtcbiAgY29uc3QgY29uZmlnOiBJQ29uZmlnID0gbmV3IEFwcENvbmZpZyhfLmNsb25lRGVlcChjb25maWdIYXNoKSk7XG4gIC8vIHJlZ2lzdGVyIG1pZGRsZXdhcmUgcGx1Z2luc1xuICBjb25zdCBwbHVnaW5fcGFyYW1zID0ge1xuICAgIGNvbmZpZzogY29uZmlnLFxuICAgIGxvZ2dlcjogbG9nZ2VyLFxuICB9O1xuICBjb25zdCBmaWx0ZXJzID0gbG9hZFBsdWdpbihjb25maWcsIGNvbmZpZy5maWx0ZXJzIHx8IHt9LCBwbHVnaW5fcGFyYW1zLCAocGx1Z2luOiBJUGx1Z2luU3RvcmFnZUZpbHRlcjxJQ29uZmlnPikgPT4gcGx1Z2luLmZpbHRlcl9tZXRhZGF0YSk7XG4gIGNvbnN0IHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlciA9IG5ldyBTdG9yYWdlKGNvbmZpZyk7XG4gIC8vIHdhaXRzIHVudGlsIGluaXQgY2FsbHMgaGF2ZSBiZWVuIGluaXRpYWxpemVkXG4gIGF3YWl0IHN0b3JhZ2UuaW5pdChjb25maWcsIGZpbHRlcnMpO1xuICByZXR1cm4gZGVmaW5lQVBJKGNvbmZpZywgc3RvcmFnZSk7XG59KTtcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.limiter = void 0;
|
|
7
|
+
|
|
8
|
+
var _expressRateLimit = _interopRequireDefault(require("express-rate-limit"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
|
|
14
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
|
+
|
|
16
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
|
|
18
|
+
const limiter = rateLimitOptions => {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
return new _expressRateLimit.default(_objectSpread({}, rateLimitOptions));
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.limiter = limiter;
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGkvcmF0ZS1saW1pdGVyLnRzIl0sIm5hbWVzIjpbImxpbWl0ZXIiLCJyYXRlTGltaXRPcHRpb25zIiwiUmF0ZUxpbWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7QUFHQSxNQUFNQSxPQUFPLEdBQUlDLGdCQUFELElBQXFDO0FBQ25EO0FBQ0EsU0FBTyxJQUFJQyx5QkFBSixtQkFDRkQsZ0JBREUsRUFBUDtBQUdELENBTEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmF0ZUxpbWl0IGZyb20gJ2V4cHJlc3MtcmF0ZS1saW1pdCc7XG5pbXBvcnQgeyBSYXRlTGltaXQgYXMgUmF0ZUxpbWl0VHlwZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5jb25zdCBsaW1pdGVyID0gKHJhdGVMaW1pdE9wdGlvbnM6IFJhdGVMaW1pdFR5cGUpID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gbmV3IFJhdGVMaW1pdCh7XG4gICAgLi4ucmF0ZUxpbWl0T3B0aW9ucyxcbiAgfSk7XG59O1xuXG5leHBvcnQgeyBsaW1pdGVyIH07XG4iXX0=
|
package/build/api/web/api.js
CHANGED
|
@@ -13,11 +13,7 @@ var _search = _interopRequireDefault(require("../../lib/search"));
|
|
|
13
13
|
|
|
14
14
|
var _middleware = require("../middleware");
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _package = _interopRequireDefault(require("./endpoint/package"));
|
|
19
|
-
|
|
20
|
-
var _search2 = _interopRequireDefault(require("./endpoint/search"));
|
|
16
|
+
var _endpoint = _interopRequireDefault(require("./endpoint"));
|
|
21
17
|
|
|
22
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
19
|
|
|
@@ -31,11 +27,9 @@ const route = (0, _express.Router)();
|
|
|
31
27
|
function _default(config, auth, storage) {
|
|
32
28
|
_search.default.configureStorage(storage); // validate all of these params as a package name
|
|
33
29
|
// this might be too harsh, so ask if it causes trouble
|
|
34
|
-
// $FlowFixMe
|
|
35
30
|
|
|
36
31
|
|
|
37
|
-
route.param('package', _middleware.validatePackage);
|
|
38
|
-
|
|
32
|
+
route.param('package', _middleware.validatePackage);
|
|
39
33
|
route.param('filename', _middleware.validateName);
|
|
40
34
|
route.param('version', _middleware.validateName);
|
|
41
35
|
route.param('anything', (0, _middleware.match)(/.*/));
|
|
@@ -44,13 +38,7 @@ function _default(config, auth, storage) {
|
|
|
44
38
|
}));
|
|
45
39
|
route.use(auth.webUIJWTmiddleware());
|
|
46
40
|
route.use(_middleware.setSecurityWebHeaders);
|
|
47
|
-
(0,
|
|
48
|
-
(0, _search2.default)(route, storage, auth);
|
|
49
|
-
(0, _user.default)(route, auth, config); // What are you looking for? logout? client side will remove token when user click logout,
|
|
50
|
-
// or it will auto expire after 24 hours.
|
|
51
|
-
// This token is different with the token send to npm client.
|
|
52
|
-
// We will/may replace current token with JWT in next major release, and it will not expire at all(configurable).
|
|
53
|
-
|
|
41
|
+
route.use((0, _endpoint.default)(auth, storage, config));
|
|
54
42
|
return route;
|
|
55
43
|
}
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvd2ViL2FwaS50cyJdLCJuYW1lcyI6WyJyb3V0ZSIsImNvbmZpZyIsImF1dGgiLCJzdG9yYWdlIiwiU2VhcmNoIiwiY29uZmlndXJlU3RvcmFnZSIsInBhcmFtIiwidmFsaWRhdGVQYWNrYWdlIiwidmFsaWRhdGVOYW1lIiwidXNlIiwiYm9keVBhcnNlciIsInVybGVuY29kZWQiLCJleHRlbmRlZCIsIndlYlVJSldUbWlkZGxld2FyZSIsInNldFNlY3VyaXR5V2ViSGVhZGVycyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOztBQUVBOzs7O0FBRUEsTUFBTUEsS0FBSyxHQUFHLHNCQUFkO0FBQXdCOztBQUV4QjtBQUNBO0FBQ0E7O0FBQ2Usa0JBQVVDLE1BQVYsRUFBMEJDLElBQTFCLEVBQXVDQyxPQUF2QyxFQUF5RTtBQUN0RkMsa0JBQU9DLGdCQUFQLENBQXdCRixPQUF4QixFQURzRixDQUV0RjtBQUNBOzs7QUFDQUgsRUFBQUEsS0FBSyxDQUFDTSxLQUFOLENBQVksU0FBWixFQUF1QkMsMkJBQXZCO0FBQ0FQLEVBQUFBLEtBQUssQ0FBQ00sS0FBTixDQUFZLFVBQVosRUFBd0JFLHdCQUF4QjtBQUNBUixFQUFBQSxLQUFLLENBQUNNLEtBQU4sQ0FBWSxTQUFaLEVBQXVCRSx3QkFBdkI7QUFDQVIsRUFBQUEsS0FBSyxDQUFDTSxLQUFOLENBQVksVUFBWixFQUF3Qix1QkFBTSxJQUFOLENBQXhCO0FBRUFOLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVQyxvQkFBV0MsVUFBWCxDQUFzQjtBQUFFQyxJQUFBQSxRQUFRLEVBQUU7QUFBWixHQUF0QixDQUFWO0FBQ0FaLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVUCxJQUFJLENBQUNXLGtCQUFMLEVBQVY7QUFDQWIsRUFBQUEsS0FBSyxDQUFDUyxHQUFOLENBQVVLLGlDQUFWO0FBQ0FkLEVBQUFBLEtBQUssQ0FBQ1MsR0FBTixDQUFVLHVCQUFPUCxJQUFQLEVBQWFDLE9BQWIsRUFBc0JGLE1BQXRCLENBQVY7QUFDQSxTQUFPRCxLQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBib2R5UGFyc2VyIGZyb20gJ2JvZHktcGFyc2VyJztcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IFNlYXJjaCBmcm9tICcuLi8uLi9saWIvc2VhcmNoJztcbmltcG9ydCB7IG1hdGNoLCB2YWxpZGF0ZU5hbWUsIHZhbGlkYXRlUGFja2FnZSwgc2V0U2VjdXJpdHlXZWJIZWFkZXJzIH0gZnJvbSAnLi4vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBJQXV0aCwgSVN0b3JhZ2VIYW5kbGVyIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHdlYkFwaSBmcm9tICcuL2VuZHBvaW50JztcblxuY29uc3Qgcm91dGUgPSBSb3V0ZXIoKTsgLyogZXNsaW50IG5ldy1jYXA6IDAgKi9cblxuLypcbiBUaGlzIGZpbGUgaW5jbHVkZSBhbGwgdmVyZGFjY2lvIG9ubHkgQVBJKFdlYiBVSSksIGZvciBucG0gQVBJIHBsZWFzZSBzZWUgLi4vZW5kcG9pbnQvXG4qL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGNvbmZpZzogQ29uZmlnLCBhdXRoOiBJQXV0aCwgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyKTogUm91dGVyIHtcbiAgU2VhcmNoLmNvbmZpZ3VyZVN0b3JhZ2Uoc3RvcmFnZSk7XG4gIC8vIHZhbGlkYXRlIGFsbCBvZiB0aGVzZSBwYXJhbXMgYXMgYSBwYWNrYWdlIG5hbWVcbiAgLy8gdGhpcyBtaWdodCBiZSB0b28gaGFyc2gsIHNvIGFzayBpZiBpdCBjYXVzZXMgdHJvdWJsZVxuICByb3V0ZS5wYXJhbSgncGFja2FnZScsIHZhbGlkYXRlUGFja2FnZSk7XG4gIHJvdXRlLnBhcmFtKCdmaWxlbmFtZScsIHZhbGlkYXRlTmFtZSk7XG4gIHJvdXRlLnBhcmFtKCd2ZXJzaW9uJywgdmFsaWRhdGVOYW1lKTtcbiAgcm91dGUucGFyYW0oJ2FueXRoaW5nJywgbWF0Y2goLy4qLykpO1xuXG4gIHJvdXRlLnVzZShib2R5UGFyc2VyLnVybGVuY29kZWQoeyBleHRlbmRlZDogZmFsc2UgfSkpO1xuICByb3V0ZS51c2UoYXV0aC53ZWJVSUpXVG1pZGRsZXdhcmUoKSk7XG4gIHJvdXRlLnVzZShzZXRTZWN1cml0eVdlYkhlYWRlcnMpO1xuICByb3V0ZS51c2Uod2ViQXBpKGF1dGgsIHN0b3JhZ2UsIGNvbmZpZykpO1xuICByZXR1cm4gcm91dGU7XG59XG4iXX0=
|