verdaccio 6.5.0 → 6.5.2
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/build/api/index.js +1 -1
- package/build/api/web/api/index.js +2 -2
- package/build/api/web/api/user.js +28 -22
- package/build/lib/auth-utils.js +3 -3
- package/build/lib/cli/cli.js +1 -1
- package/build/lib/cli/commands/init.js +1 -1
- package/build/lib/cli/commands/version.js +1 -1
- package/cypress/e2e/01-home.cy.ts +11 -0
- package/cypress/e2e/02-signin.cy.ts +11 -0
- package/cypress/e2e/03-layout.cy.ts +11 -0
- package/cypress/e2e/04-search.cy.ts +11 -0
- package/cypress/e2e/05-settings.cy.ts +11 -0
- package/cypress/e2e/06-publish.cy.ts +11 -0
- package/cypress/e2e/07-change-password.cy.ts +32 -0
- package/cypress/support/e2e.ts +1 -0
- package/cypress.config.ts +21 -0
- package/package.json +11 -4
package/build/api/index.js
CHANGED
|
@@ -24,7 +24,7 @@ var _endpoint = _interopRequireDefault(require("./endpoint"));
|
|
|
24
24
|
var _middleware2 = require("./middleware");
|
|
25
25
|
var _web = _interopRequireDefault(require("./web"));
|
|
26
26
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
27
|
-
const version = "6.5.
|
|
27
|
+
const version = "6.5.2" || 'dev';
|
|
28
28
|
const defineAPI = async function (config, storage) {
|
|
29
29
|
const auth = new _auth.Auth(config, _logger.logger, {
|
|
30
30
|
legacyMergeConfigs: true
|
|
@@ -23,9 +23,9 @@ var _default = (auth, storage, config) => {
|
|
|
23
23
|
router.use((0, _package.default)(storage, auth, config));
|
|
24
24
|
router.use((0, _search.default)(storage, auth));
|
|
25
25
|
if ((0, _utils.hasLogin)(config)) {
|
|
26
|
-
router.use((0, _user.default)(auth,
|
|
26
|
+
router.use((0, _user.default)(auth, config));
|
|
27
27
|
}
|
|
28
28
|
return router;
|
|
29
29
|
};
|
|
30
30
|
exports.default = _default;
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9wYWNrYWdlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zZWFyY2giLCJfdXNlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0IiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJyb3V0ZXIiLCJSb3V0ZXIiLCJ1c2UiLCJyYXRlTGltaXQiLCJ3aW5kb3dNcyIsIm1heCIsIndlYiIsInBhY2thZ2VBcGkiLCJzZWFyY2giLCJoYXNMb2dpbiIsInVzZXIiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS93ZWIvYXBpL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuXG5pbXBvcnQgeyBoYXNMb2dpbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgcGFja2FnZUFwaSBmcm9tICcuL3BhY2thZ2UnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL3NlYXJjaCc7XG5pbXBvcnQgdXNlciBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgZGVmYXVsdCAoYXV0aCwgc3RvcmFnZSwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IHJvdXRlciA9IFJvdXRlcigpO1xuICByb3V0ZXIudXNlKFxuICAgIHJhdGVMaW1pdCh7XG4gICAgICB3aW5kb3dNczogMiAqIDYwICogMTAwMCwgLy8gMiAgbWludXRlc1xuICAgICAgbWF4OiA1MDAwLCAvLyBsaW1pdCBlYWNoIElQIHRvIDEwMDAgcmVxdWVzdHMgcGVyIHdpbmRvd01zXG4gICAgICAuLi5jb25maWc/
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9wYWNrYWdlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zZWFyY2giLCJfdXNlciIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0IiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJyb3V0ZXIiLCJSb3V0ZXIiLCJ1c2UiLCJyYXRlTGltaXQiLCJ3aW5kb3dNcyIsIm1heCIsIndlYiIsInBhY2thZ2VBcGkiLCJzZWFyY2giLCJoYXNMb2dpbiIsInVzZXIiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS93ZWIvYXBpL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuXG5pbXBvcnQgeyBoYXNMb2dpbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgcGFja2FnZUFwaSBmcm9tICcuL3BhY2thZ2UnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL3NlYXJjaCc7XG5pbXBvcnQgdXNlciBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgZGVmYXVsdCAoYXV0aCwgc3RvcmFnZSwgY29uZmlnKSA9PiB7XG4gIGNvbnN0IHJvdXRlciA9IFJvdXRlcigpO1xuICByb3V0ZXIudXNlKFxuICAgIHJhdGVMaW1pdCh7XG4gICAgICB3aW5kb3dNczogMiAqIDYwICogMTAwMCwgLy8gMiAgbWludXRlc1xuICAgICAgbWF4OiA1MDAwLCAvLyBsaW1pdCBlYWNoIElQIHRvIDEwMDAgcmVxdWVzdHMgcGVyIHdpbmRvd01zXG4gICAgICAuLi5jb25maWc/LndlYj8ucmF0ZUxpbWl0LFxuICAgIH0pXG4gICk7XG4gIHJvdXRlci51c2UocGFja2FnZUFwaShzdG9yYWdlLCBhdXRoLCBjb25maWcpKTtcbiAgcm91dGVyLnVzZShzZWFyY2goc3RvcmFnZSwgYXV0aCkpO1xuICBpZiAoaGFzTG9naW4oY29uZmlnKSkge1xuICAgIHJvdXRlci51c2UodXNlcihhdXRoLCBjb25maWcpKTtcbiAgfVxuICByZXR1cm4gcm91dGVyO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sS0FBQSxHQUFBRixzQkFBQSxDQUFBSixPQUFBO0FBQTBCLFNBQUFJLHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBQUEsSUFBQUcsUUFBQSxHQUVYQSxDQUFDQyxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxLQUFLO0VBQ3hDLE1BQU1DLE1BQU0sR0FBRyxJQUFBQyxlQUFNLEVBQUMsQ0FBQztFQUN2QkQsTUFBTSxDQUFDRSxHQUFHLENBQ1IsSUFBQUMscUJBQVMsRUFBQztJQUNSQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJO0lBQUU7SUFDekJDLEdBQUcsRUFBRSxJQUFJO0lBQUU7SUFDWCxHQUFHTixNQUFNLEVBQUVPLEdBQUcsRUFBRUg7RUFDbEIsQ0FBQyxDQUNILENBQUM7RUFDREgsTUFBTSxDQUFDRSxHQUFHLENBQUMsSUFBQUssZ0JBQVUsRUFBQ1QsT0FBTyxFQUFFRCxJQUFJLEVBQUVFLE1BQU0sQ0FBQyxDQUFDO0VBQzdDQyxNQUFNLENBQUNFLEdBQUcsQ0FBQyxJQUFBTSxlQUFNLEVBQUNWLE9BQU8sRUFBRUQsSUFBSSxDQUFDLENBQUM7RUFDakMsSUFBSSxJQUFBWSxlQUFRLEVBQUNWLE1BQU0sQ0FBQyxFQUFFO0lBQ3BCQyxNQUFNLENBQUNFLEdBQUcsQ0FBQyxJQUFBUSxhQUFJLEVBQUNiLElBQUksRUFBRUUsTUFBTSxDQUFDLENBQUM7RUFDaEM7RUFDQSxPQUFPQyxNQUFNO0FBQ2YsQ0FBQztBQUFBVyxPQUFBLENBQUFoQixPQUFBLEdBQUFDLFFBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -24,47 +24,53 @@ function addUserAuthApi(auth, config) {
|
|
|
24
24
|
auth.authenticate(username, password, async (err, user) => {
|
|
25
25
|
if (err) {
|
|
26
26
|
const errorCode = err.message ? _constants.HTTP_STATUS.UNAUTHORIZED : _constants.HTTP_STATUS.INTERNAL_ERROR;
|
|
27
|
-
|
|
27
|
+
if (errorCode === _constants.HTTP_STATUS.UNAUTHORIZED) {
|
|
28
|
+
res.set(_constants.HEADERS.WWW_AUTH, _constants.TOKEN_BEARER);
|
|
29
|
+
}
|
|
30
|
+
return next(_utils.ErrorCode.getCode(errorCode, err.message));
|
|
28
31
|
} else {
|
|
29
32
|
req.remote_user = user;
|
|
30
33
|
const jWTSignOptions = (0, _authUtils.getSecurity)(config).web.sign;
|
|
31
34
|
res.set(_constants.HEADERS.CACHE_CONTROL, 'no-cache, no-store');
|
|
32
|
-
next({
|
|
35
|
+
return next({
|
|
33
36
|
token: await auth.jwtEncrypt(user, jWTSignOptions),
|
|
34
37
|
username: req.remote_user.name
|
|
35
38
|
});
|
|
36
39
|
}
|
|
37
40
|
});
|
|
38
41
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
if (config?.flags?.changePassword === true) {
|
|
43
|
+
route.put((0, _utils2.wrapSecPath)(_middleware.WebUrls.reset_password), function (req, res, next) {
|
|
44
|
+
if (_lodash.default.isNil(req.remote_user.name)) {
|
|
45
|
+
res.status(_constants.HTTP_STATUS.UNAUTHORIZED);
|
|
46
|
+
return next({
|
|
47
|
+
// FUTURE: update to a more meaningful message
|
|
48
|
+
message: _constants.API_ERROR.MUST_BE_LOGGED
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const {
|
|
52
|
+
password
|
|
53
|
+
} = req.body;
|
|
54
|
+
const {
|
|
55
|
+
name
|
|
56
|
+
} = req.remote_user;
|
|
57
|
+
if (_core.validationUtils.validatePassword(password.new) === false) {
|
|
58
|
+
return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.BAD_REQUEST, _constants.APP_ERROR.PASSWORD_VALIDATION));
|
|
59
|
+
}
|
|
54
60
|
auth.changePassword(name, password.old, password.new, (err, isUpdated) => {
|
|
55
61
|
if (_lodash.default.isNil(err) && isUpdated) {
|
|
56
62
|
next({
|
|
57
63
|
ok: true
|
|
58
64
|
});
|
|
65
|
+
} else if (!_lodash.default.isNil(err)) {
|
|
66
|
+
return next(_utils.ErrorCode.getCode(_lodash.default.isNil(err.status) ? _constants.HTTP_STATUS.CONFLICT : err.status, err.message));
|
|
59
67
|
} else {
|
|
60
68
|
return next(_utils.ErrorCode.getInternalError(_constants.API_ERROR.INTERNAL_SERVER_ERROR));
|
|
61
69
|
}
|
|
62
70
|
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
67
73
|
return route;
|
|
68
74
|
}
|
|
69
75
|
var _default = exports.default = addUserAuthApi;
|
|
70
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb3JlIiwiX21pZGRsZXdhcmUiLCJfYXV0aFV0aWxzIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl91dGlsczIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJhZGRVc2VyQXV0aEFwaSIsImF1dGgiLCJjb25maWciLCJyb3V0ZSIsIlJvdXRlciIsInBvc3QiLCJ3cmFwU2VjUGF0aCIsIldlYlVybHMiLCJ1c2VyX2xvZ2luIiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiYm9keSIsImF1dGhlbnRpY2F0ZSIsImVyciIsInVzZXIiLCJlcnJvckNvZGUiLCJtZXNzYWdlIiwiSFRUUF9TVEFUVVMiLCJVTkFVVEhPUklaRUQiLCJJTlRFUk5BTF9FUlJPUiIsInNldCIsIkhFQURFUlMiLCJXV1dfQVVUSCIsIlRPS0VOX0JFQVJFUiIsIkVycm9yQ29kZSIsImdldENvZGUiLCJyZW1vdGVfdXNlciIsImpXVFNpZ25PcHRpb25zIiwiZ2V0U2VjdXJpdHkiLCJ3ZWIiLCJzaWduIiwiQ0FDSEVfQ09OVFJPTCIsInRva2VuIiwiand0RW5jcnlwdCIsIm5hbWUiLCJmbGFncyIsImNoYW5nZVBhc3N3b3JkIiwicHV0IiwicmVzZXRfcGFzc3dvcmQiLCJfIiwiaXNOaWwiLCJzdGF0dXMiLCJBUElfRVJST1IiLCJNVVNUX0JFX0xPR0dFRCIsInZhbGlkYXRpb25VdGlscyIsInZhbGlkYXRlUGFzc3dvcmQiLCJuZXciLCJCQURfUkVRVUVTVCIsIkFQUF9FUlJPUiIsIlBBU1NXT1JEX1ZBTElEQVRJT04iLCJvbGQiLCJpc1VwZGF0ZWQiLCJvayIsIkNPTkZMSUNUIiwiZ2V0SW50ZXJuYWxFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvd2ViL2FwaS91c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHR5cGUgeyBBdXRoIH0gZnJvbSAnQHZlcmRhY2Npby9hdXRoJztcbmltcG9ydCB7IHZhbGlkYXRpb25VdGlscyB9IGZyb20gJ0B2ZXJkYWNjaW8vY29yZSc7XG5pbXBvcnQgeyBXZWJVcmxzLCByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHR5cGUgeyBDb25maWcsIEpXVFNpZ25PcHRpb25zLCBSZW1vdGVVc2VyIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCB7IGdldFNlY3VyaXR5IH0gZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUFBfRVJST1IsIEhFQURFUlMsIEhUVFBfU1RBVFVTLCBUT0tFTl9CRUFSRVIgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgdHlwZSB7ICROZXh0RnVuY3Rpb25WZXIgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyB3cmFwU2VjUGF0aCB9IGZyb20gJy4vdXRpbHMnO1xuXG5mdW5jdGlvbiBhZGRVc2VyQXV0aEFwaShhdXRoOiBBdXRoLCBjb25maWc6IENvbmZpZyk6IFJvdXRlciB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCByb3V0ZSA9IFJvdXRlcigpO1xuICByb3V0ZS5wb3N0KFxuICAgIHdyYXBTZWNQYXRoKFdlYlVybHMudXNlcl9sb2dpbiksXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogUmVxdWVzdCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgY29uc3QgeyB1c2VybmFtZSwgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuXG4gICAgICBhdXRoLmF1dGhlbnRpY2F0ZSh1c2VybmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI/OiBSZW1vdGVVc2VyKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICBjb25zdCBlcnJvckNvZGUgPSBlcnIubWVzc2FnZSA/IEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCA6IEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SO1xuICAgICAgICAgIGlmIChlcnJvckNvZGUgPT09IEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCkge1xuICAgICAgICAgICAgcmVzLnNldChIRUFERVJTLldXV19BVVRILCBUT0tFTl9CRUFSRVIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShlcnJvckNvZGUsIGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlciBhcyBSZW1vdGVVc2VyO1xuICAgICAgICAgIGNvbnN0IGpXVFNpZ25PcHRpb25zOiBKV1RTaWduT3B0aW9ucyA9IGdldFNlY3VyaXR5KGNvbmZpZykud2ViLnNpZ247XG4gICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICB0b2tlbjogYXdhaXQgYXV0aC5qd3RFbmNyeXB0KHVzZXIgYXMgUmVtb3RlVXNlciwgaldUU2lnbk9wdGlvbnMpLFxuICAgICAgICAgICAgdXNlcm5hbWU6IHJlcS5yZW1vdGVfdXNlci5uYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgaWYgKGNvbmZpZz8uZmxhZ3M/LmNoYW5nZVBhc3N3b3JkID09PSB0cnVlKSB7XG4gICAgcm91dGUucHV0KFxuICAgICAgd3JhcFNlY1BhdGgoV2ViVXJscy5yZXNldF9wYXNzd29yZCksXG4gICAgICBmdW5jdGlvbiAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSkge1xuICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICAvLyBGVVRVUkU6IHVwZGF0ZSB0byBhIG1vcmUgbWVhbmluZ2Z1bCBtZXNzYWdlXG4gICAgICAgICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHBhc3N3b3JkIH0gPSByZXEuYm9keTtcbiAgICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgICAgaWYgKHZhbGlkYXRpb25VdGlscy52YWxpZGF0ZVBhc3N3b3JkKHBhc3N3b3JkLm5ldykgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuQkFEX1JFUVVFU1QsIEFQUF9FUlJPUi5QQVNTV09SRF9WQUxJREFUSU9OKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdXRoLmNoYW5nZVBhc3N3b3JkKFxuICAgICAgICAgIG5hbWUgYXMgc3RyaW5nLFxuICAgICAgICAgIHBhc3N3b3JkLm9sZCxcbiAgICAgICAgICBwYXNzd29yZC5uZXcsXG4gICAgICAgICAgKGVyciwgaXNVcGRhdGVkKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBpZiAoXy5pc05pbChlcnIpICYmIGlzVXBkYXRlZCkge1xuICAgICAgICAgICAgICBuZXh0KHtcbiAgICAgICAgICAgICAgICBvazogdHJ1ZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFfLmlzTmlsKGVycikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoXG4gICAgICAgICAgICAgICAgICBfLmlzTmlsKGVyci5zdGF0dXMpID8gSFRUUF9TVEFUVVMuQ09ORkxJQ1QgOiBlcnIuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgZXJyLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0SW50ZXJuYWxFcnJvcihBUElfRVJST1IuSU5URVJOQUxfU0VSVkVSX0VSUk9SKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcm91dGU7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFkZFVzZXJBdXRoQXBpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFHQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFBc0MsU0FBQUUsdUJBQUFPLENBQUEsV0FBQUEs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
|
package/build/lib/auth-utils.js
CHANGED
|
@@ -9,8 +9,8 @@ var _config = require("@verdaccio/config");
|
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
function getSecurity(config) {
|
|
11
11
|
if (_lodash.default.isNil(config.security) === false) {
|
|
12
|
-
return _lodash.default.merge(_config.defaultSecurity, config.security);
|
|
12
|
+
return _lodash.default.merge({}, _config.defaultSecurity, config.security);
|
|
13
13
|
}
|
|
14
|
-
return _config.defaultSecurity;
|
|
14
|
+
return _lodash.default.merge({}, _config.defaultSecurity);
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uZmlnIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZ2V0U2VjdXJpdHkiLCJjb25maWciLCJfIiwiaXNOaWwiLCJzZWN1cml0eSIsIm1lcmdlIiwiZGVmYXVsdFNlY3VyaXR5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hdXRoLXV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGRlZmF1bHRTZWN1cml0eSB9IGZyb20gJ0B2ZXJkYWNjaW8vY29uZmlnJztcbmltcG9ydCB7IENvbmZpZywgU2VjdXJpdHkgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3VyaXR5KGNvbmZpZzogQ29uZmlnKTogU2VjdXJpdHkge1xuICBpZiAoXy5pc05pbChjb25maWcuc2VjdXJpdHkpID09PSBmYWxzZSkge1xuICAgIHJldHVybiBfLm1lcmdlKHt9LCBkZWZhdWx0U2VjdXJpdHksIGNvbmZpZy5zZWN1cml0eSk7XG4gIH1cblxuICByZXR1cm4gXy5tZXJnZSh7fSwgZGVmYXVsdFNlY3VyaXR5KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQW9ELFNBQUFELHVCQUFBRyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRzdDLFNBQVNHLFdBQVdBLENBQUNDLE1BQWMsRUFBWTtFQUNwRCxJQUFJQyxlQUFDLENBQUNDLEtBQUssQ0FBQ0YsTUFBTSxDQUFDRyxRQUFRLENBQUMsS0FBSyxLQUFLLEVBQUU7SUFDdEMsT0FBT0YsZUFBQyxDQUFDRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUVDLHVCQUFlLEVBQUVMLE1BQU0sQ0FBQ0csUUFBUSxDQUFDO0VBQ3REO0VBRUEsT0FBT0YsZUFBQyxDQUFDRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUVDLHVCQUFlLENBQUM7QUFDckMiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/build/lib/cli/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ var _info = require("./commands/info");
|
|
|
5
5
|
var _init = require("./commands/init");
|
|
6
6
|
var _version = require("./commands/version");
|
|
7
7
|
var _utils = require("./utils");
|
|
8
|
-
const pkgVersion = "6.5.
|
|
8
|
+
const pkgVersion = "6.5.2" || 'dev';
|
|
9
9
|
if (process.getuid && process.getuid() === 0) {
|
|
10
10
|
process.emitWarning(`Verdaccio doesn't need superuser privileges. don't run it under root`);
|
|
11
11
|
}
|
|
@@ -11,7 +11,7 @@ var _bootstrap = require("../../bootstrap");
|
|
|
11
11
|
var _logger = require("../../logger");
|
|
12
12
|
var _utils = require("../../utils");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
const pkgVersion = "6.5.
|
|
14
|
+
const pkgVersion = "6.5.2" || 'dev';
|
|
15
15
|
const pkgName = 'verdaccio';
|
|
16
16
|
const DEFAULT_PROCESS_NAME = exports.DEFAULT_PROCESS_NAME = 'verdaccio';
|
|
17
17
|
class InitCommand extends _clipanion.Command {
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.VersionCommand = void 0;
|
|
7
7
|
var _clipanion = require("clipanion");
|
|
8
|
-
const pkgVersion = "6.5.
|
|
8
|
+
const pkgVersion = "6.5.2" || 'dev';
|
|
9
9
|
class VersionCommand extends _clipanion.Command {
|
|
10
10
|
static paths = [[`--version`], [`-v`]];
|
|
11
11
|
async execute() {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRegistryConfig, homeTests } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
const config = createRegistryConfig({
|
|
6
|
+
registryUrl,
|
|
7
|
+
title: 'Verdaccio e2e',
|
|
8
|
+
credentials: { user: 'test', password: 'test' },
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
homeTests(config);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRegistryConfig, signinTests } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
const config = createRegistryConfig({
|
|
6
|
+
registryUrl,
|
|
7
|
+
title: 'Verdaccio e2e',
|
|
8
|
+
credentials: { user: 'test', password: 'test' },
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
signinTests(config);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRegistryConfig, layoutTests } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
const config = createRegistryConfig({
|
|
6
|
+
registryUrl,
|
|
7
|
+
title: 'Verdaccio e2e',
|
|
8
|
+
credentials: { user: 'test', password: 'test' },
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
layoutTests(config);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRegistryConfig, searchTests } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
const config = createRegistryConfig({
|
|
6
|
+
registryUrl,
|
|
7
|
+
title: 'Verdaccio e2e',
|
|
8
|
+
credentials: { user: 'test', password: 'test' },
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
searchTests(config);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRegistryConfig, settingsTests } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
const config = createRegistryConfig({
|
|
6
|
+
registryUrl,
|
|
7
|
+
title: 'Verdaccio e2e',
|
|
8
|
+
credentials: { user: 'test', password: 'test' },
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
settingsTests(config);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createRegistryConfig, publishTests } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
const config = createRegistryConfig({
|
|
6
|
+
registryUrl,
|
|
7
|
+
title: 'Verdaccio e2e',
|
|
8
|
+
credentials: { user: 'test', password: 'test' },
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
publishTests(config);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { changePasswordTests, createRegistryConfig } from '@verdaccio/e2e-ui';
|
|
2
|
+
|
|
3
|
+
const registryUrl = Cypress.env('VERDACCIO_URL') || 'http://localhost:4873';
|
|
4
|
+
|
|
5
|
+
// Unlike the e2e-tests repo (which targets the published `verdaccio:6`
|
|
6
|
+
// docker image and has to skip the happy path around the unpublished
|
|
7
|
+
// reset_password inversion fix), this spec runs against the locally
|
|
8
|
+
// built 6.x source in this repo — where the fix lives — so every
|
|
9
|
+
// change-password scenario can execute.
|
|
10
|
+
const config = createRegistryConfig({
|
|
11
|
+
registryUrl,
|
|
12
|
+
title: 'Verdaccio e2e',
|
|
13
|
+
credentials: { user: 'test', password: 'test' },
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
// The published `@verdaccio/e2e-ui@2.4.0` change-password suite ends its
|
|
17
|
+
// happy-path test on `/-/web/success` with a valid JWT still in
|
|
18
|
+
// localStorage. Its `after()` hook then does `cy.visit('/')` + `cy.login`
|
|
19
|
+
// to restore the original password, but the home page renders the
|
|
20
|
+
// logged-in menu (no `header--button-login`) so `cy.login` times out.
|
|
21
|
+
//
|
|
22
|
+
// Mocha runs outer `afterEach` hooks *before* inner `after` hooks, so
|
|
23
|
+
// dropping the session here clears the way for the suite's restore step
|
|
24
|
+
// to find the Login button. Remove this block once the e2e-ui release
|
|
25
|
+
// that ships the equivalent cleanup inside the suite lands in
|
|
26
|
+
// `package.json`.
|
|
27
|
+
afterEach(() => {
|
|
28
|
+
cy.clearLocalStorage();
|
|
29
|
+
cy.clearCookies();
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
changePasswordTests(config);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@verdaccio/e2e-ui/commands';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineConfig } from 'cypress';
|
|
2
|
+
|
|
3
|
+
import { setupVerdaccioTasks } from '@verdaccio/e2e-ui';
|
|
4
|
+
|
|
5
|
+
const registryUrl = process.env.VERDACCIO_URL || 'http://localhost:4873';
|
|
6
|
+
|
|
7
|
+
export default defineConfig({
|
|
8
|
+
e2e: {
|
|
9
|
+
baseUrl: registryUrl,
|
|
10
|
+
specPattern: 'cypress/e2e/**/*.cy.ts',
|
|
11
|
+
supportFile: 'cypress/support/e2e.ts',
|
|
12
|
+
setupNodeEvents(on) {
|
|
13
|
+
setupVerdaccioTasks(on, { registryUrl });
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
video: false,
|
|
17
|
+
screenshotOnRunFailure: false,
|
|
18
|
+
env: {
|
|
19
|
+
VERDACCIO_URL: registryUrl,
|
|
20
|
+
},
|
|
21
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "verdaccio",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.2",
|
|
4
4
|
"description": "A lightweight private npm proxy registry",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Verdaccio Maintainers",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@verdaccio/signature": "8.0.0-next-8.29",
|
|
34
34
|
"@verdaccio/streams": "10.2.1",
|
|
35
35
|
"@verdaccio/tarball": "13.0.0-next-8.37",
|
|
36
|
-
"@verdaccio/ui-theme": "9.0.0-next-9.
|
|
36
|
+
"@verdaccio/ui-theme": "9.0.0-next-9.14",
|
|
37
37
|
"@verdaccio/url": "13.0.0-next-8.37",
|
|
38
38
|
"@verdaccio/utils": "8.1.0-next-8.37",
|
|
39
39
|
"JSONStream": "1.3.5",
|
|
@@ -74,7 +74,8 @@
|
|
|
74
74
|
"@types/semver": "7.7.1",
|
|
75
75
|
"@types/supertest": "6.0.3",
|
|
76
76
|
"@verdaccio-scope/verdaccio-auth-foo": "0.0.2",
|
|
77
|
-
"@verdaccio/e2e-cli": "2.
|
|
77
|
+
"@verdaccio/e2e-cli": "2.6.0",
|
|
78
|
+
"@verdaccio/e2e-ui": "2.4.1",
|
|
78
79
|
"@verdaccio/eslint-config": "13.0.0",
|
|
79
80
|
"@verdaccio/test-helper": "4.0.0-next-8.21",
|
|
80
81
|
"@verdaccio/types": "13.0.0-next-8.12",
|
|
@@ -82,6 +83,7 @@
|
|
|
82
83
|
"@vitest/eslint-plugin": "1.6.9",
|
|
83
84
|
"babel-plugin-transform-inline-environment-variables": "0.4.4",
|
|
84
85
|
"cross-env": "10.1.0",
|
|
86
|
+
"cypress": "15",
|
|
85
87
|
"eslint": "10.0.3",
|
|
86
88
|
"eslint-plugin-cypress": "6.1.0",
|
|
87
89
|
"eslint-plugin-jest": "29.15.0",
|
|
@@ -134,7 +136,12 @@
|
|
|
134
136
|
"code:types": "tsc --emitDeclarationOnly -p tsconfig.json",
|
|
135
137
|
"code:docker-build": "yarn babel src/ --out-dir build/ --copy-files --extensions \".ts,.tsx\"",
|
|
136
138
|
"docker": "docker build -t verdaccio/verdaccio:local . --no-cache",
|
|
137
|
-
"docker:run": "docker run -it --rm -p 4873:4873 -e \"DEBUG=verdaccio*\" verdaccio/verdaccio:local"
|
|
139
|
+
"docker:run": "docker run -it --rm -p 4873:4873 -e \"DEBUG=verdaccio*\" verdaccio/verdaccio:local",
|
|
140
|
+
"e2e:ui:start": "node bin/verdaccio --config ./scripts/e2e-ui-config.yaml",
|
|
141
|
+
"e2e:ui:run": "cypress run",
|
|
142
|
+
"e2e:ui:open": "cypress open",
|
|
143
|
+
"e2e:ui:local": "./scripts/e2e-ui-local.sh",
|
|
144
|
+
"e2e:ui:local:open": "./scripts/e2e-ui-local.sh --open"
|
|
138
145
|
},
|
|
139
146
|
"engines": {
|
|
140
147
|
"node": ">=18"
|