verdaccio 6.4.0 → 6.5.1
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 +23 -20
- 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 +27 -20
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.
|
|
27
|
+
const version = "6.5.1" || '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=
|
|
@@ -36,35 +36,38 @@ function addUserAuthApi(auth, config) {
|
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
39
|
+
if (config?.flags?.changePassword === true) {
|
|
40
|
+
route.put((0, _utils2.wrapSecPath)(_middleware.WebUrls.reset_password), function (req, res, next) {
|
|
41
|
+
if (_lodash.default.isNil(req.remote_user.name)) {
|
|
42
|
+
res.status(_constants.HTTP_STATUS.UNAUTHORIZED);
|
|
43
|
+
return next({
|
|
44
|
+
// FUTURE: update to a more meaningful message
|
|
45
|
+
message: _constants.API_ERROR.MUST_BE_LOGGED
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
const {
|
|
49
|
+
password
|
|
50
|
+
} = req.body;
|
|
51
|
+
const {
|
|
52
|
+
name
|
|
53
|
+
} = req.remote_user;
|
|
54
|
+
if (_core.validationUtils.validatePassword(password.new) === false) {
|
|
55
|
+
return next(_utils.ErrorCode.getCode(_constants.HTTP_STATUS.BAD_REQUEST, _constants.APP_ERROR.PASSWORD_VALIDATION));
|
|
56
|
+
}
|
|
54
57
|
auth.changePassword(name, password.old, password.new, (err, isUpdated) => {
|
|
55
58
|
if (_lodash.default.isNil(err) && isUpdated) {
|
|
56
59
|
next({
|
|
57
60
|
ok: true
|
|
58
61
|
});
|
|
62
|
+
} else if (!_lodash.default.isNil(err)) {
|
|
63
|
+
return next(_utils.ErrorCode.getCode(_lodash.default.isNil(err.status) ? _constants.HTTP_STATUS.CONFLICT : err.status, err.message));
|
|
59
64
|
} else {
|
|
60
65
|
return next(_utils.ErrorCode.getInternalError(_constants.API_ERROR.INTERNAL_SERVER_ERROR));
|
|
61
66
|
}
|
|
62
67
|
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
67
70
|
return route;
|
|
68
71
|
}
|
|
69
72
|
var _default = exports.default = addUserAuthApi;
|
|
70
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb3JlIiwiX21pZGRsZXdhcmUiLCJfYXV0aFV0aWxzIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl91dGlsczIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJhZGRVc2VyQXV0aEFwaSIsImF1dGgiLCJjb25maWciLCJyb3V0ZSIsIlJvdXRlciIsInBvc3QiLCJ3cmFwU2VjUGF0aCIsIldlYlVybHMiLCJ1c2VyX2xvZ2luIiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiYm9keSIsImF1dGhlbnRpY2F0ZSIsImVyciIsInVzZXIiLCJlcnJvckNvZGUiLCJtZXNzYWdlIiwiSFRUUF9TVEFUVVMiLCJVTkFVVEhPUklaRUQiLCJJTlRFUk5BTF9FUlJPUiIsIkVycm9yQ29kZSIsImdldENvZGUiLCJyZW1vdGVfdXNlciIsImpXVFNpZ25PcHRpb25zIiwiZ2V0U2VjdXJpdHkiLCJ3ZWIiLCJzaWduIiwic2V0IiwiSEVBREVSUyIsIkNBQ0hFX0NPTlRST0wiLCJ0b2tlbiIsImp3dEVuY3J5cHQiLCJuYW1lIiwiZmxhZ3MiLCJjaGFuZ2VQYXNzd29yZCIsInB1dCIsInJlc2V0X3Bhc3N3b3JkIiwiXyIsImlzTmlsIiwic3RhdHVzIiwiQVBJX0VSUk9SIiwiTVVTVF9CRV9MT0dHRUQiLCJ2YWxpZGF0aW9uVXRpbHMiLCJ2YWxpZGF0ZVBhc3N3b3JkIiwibmV3IiwiQkFEX1JFUVVFU1QiLCJBUFBfRVJST1IiLCJQQVNTV09SRF9WQUxJREFUSU9OIiwib2xkIiwiaXNVcGRhdGVkIiwib2siLCJDT05GTElDVCIsImdldEludGVybmFsRXJyb3IiLCJJTlRFUk5BTF9TRVJWRVJfRVJST1IiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3dlYi9hcGkvdXNlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJlcXVlc3QsIFJlc3BvbnNlIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB0eXBlIHsgQXV0aCB9IGZyb20gJ0B2ZXJkYWNjaW8vYXV0aCc7XG5pbXBvcnQgeyB2YWxpZGF0aW9uVXRpbHMgfSBmcm9tICdAdmVyZGFjY2lvL2NvcmUnO1xuaW1wb3J0IHsgV2ViVXJscywgcmF0ZUxpbWl0IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB0eXBlIHsgQ29uZmlnLCBKV1RTaWduT3B0aW9ucywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyBnZXRTZWN1cml0eSB9IGZyb20gJy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgQVBQX0VSUk9SLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgJE5leHRGdW5jdGlvblZlciB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IHdyYXBTZWNQYXRoIH0gZnJvbSAnLi91dGlscyc7XG5cbmZ1bmN0aW9uIGFkZFVzZXJBdXRoQXBpKGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnKTogUm91dGVyIHtcbiAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gIGNvbnN0IHJvdXRlID0gUm91dGVyKCk7XG4gIHJvdXRlLnBvc3QoXG4gICAgd3JhcFNlY1BhdGgoV2ViVXJscy51c2VyX2xvZ2luKSxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCB7IHVzZXJuYW1lLCBwYXNzd29yZCB9ID0gcmVxLmJvZHk7XG5cbiAgICAgIGF1dGguYXV0aGVudGljYXRlKHVzZXJuYW1lLCBwYXNzd29yZCwgYXN5bmMgKGVyciwgdXNlcj86IFJlbW90ZVVzZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgICAgbmV4dChFcnJvckNvZGUuZ2V0Q29kZShlcnJvckNvZGUsIGVyci5tZXNzYWdlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlciBhcyBSZW1vdGVVc2VyO1xuICAgICAgICAgIGNvbnN0IGpXVFNpZ25PcHRpb25zOiBKV1RTaWduT3B0aW9ucyA9IGdldFNlY3VyaXR5KGNvbmZpZykud2ViLnNpZ247XG4gICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICBuZXh0KHtcbiAgICAgICAgICAgIHRva2VuOiBhd2FpdCBhdXRoLmp3dEVuY3J5cHQodXNlciBhcyBSZW1vdGVVc2VyLCBqV1RTaWduT3B0aW9ucyksXG4gICAgICAgICAgICB1c2VybmFtZTogcmVxLnJlbW90ZV91c2VyLm5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICBpZiAoY29uZmlnPy5mbGFncz8uY2hhbmdlUGFzc3dvcmQgPT09IHRydWUpIHtcbiAgICByb3V0ZS5wdXQoXG4gICAgICB3cmFwU2VjUGF0aChXZWJVcmxzLnJlc2V0X3Bhc3N3b3JkKSxcbiAgICAgIGZ1bmN0aW9uIChyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKF8uaXNOaWwocmVxLnJlbW90ZV91c2VyLm5hbWUpKSB7XG4gICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQpO1xuICAgICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICAgIC8vIEZVVFVSRTogdXBkYXRlIHRvIGEgbW9yZSBtZWFuaW5nZnVsIG1lc3NhZ2VcbiAgICAgICAgICAgIG1lc3NhZ2U6IEFQSV9FUlJPUi5NVVNUX0JFX0xPR0dFRCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuICAgICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgICBpZiAodmFsaWRhdGlvblV0aWxzLnZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQubmV3KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCwgQVBQX0VSUk9SLlBBU1NXT1JEX1ZBTElEQVRJT04pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF1dGguY2hhbmdlUGFzc3dvcmQoXG4gICAgICAgICAgbmFtZSBhcyBzdHJpbmcsXG4gICAgICAgICAgcGFzc3dvcmQub2xkLFxuICAgICAgICAgIHBhc3N3b3JkLm5ldyxcbiAgICAgICAgICAoZXJyLCBpc1VwZGF0ZWQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIGlmIChfLmlzTmlsKGVycikgJiYgaXNVcGRhdGVkKSB7XG4gICAgICAgICAgICAgIG5leHQoe1xuICAgICAgICAgICAgICAgIG9rOiB0cnVlLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIV8uaXNOaWwoZXJyKSkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShcbiAgICAgICAgICAgICAgICAgIF8uaXNOaWwoZXJyLnN0YXR1cykgPyBIVFRQX1NUQVRVUy5DT05GTElDVCA6IGVyci5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICBlcnIubWVzc2FnZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiByb3V0ZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYWRkVXNlckF1dGhBcGk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUdBLElBQUFHLEtBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUdBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQUVBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUFzQyxTQUFBRSx1QkFBQU8sQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUV0QyxTQUFTRyxjQUFjQSxDQUFDQyxJQUFVLEVBQUVDLE1BQWMsRUFBVTtFQUMxRDtFQUNBLE1BQU1DLEtBQUssR0FBRyxJQUFBQyxlQUFNLEVBQUMsQ0FBQztFQUN0QkQsS0FBSyxDQUFDRSxJQUFJLENB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
|
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.
|
|
8
|
+
const pkgVersion = "6.5.1" || '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.
|
|
14
|
+
const pkgVersion = "6.5.1" || '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.
|
|
8
|
+
const pkgVersion = "6.5.1" || '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.
|
|
3
|
+
"version": "6.5.1",
|
|
4
4
|
"description": "A lightweight private npm proxy registry",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Verdaccio Maintainers",
|
|
@@ -20,22 +20,22 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@cypress/request": "3.0.10",
|
|
23
|
-
"@verdaccio/auth": "8.0.0-next-8.
|
|
24
|
-
"@verdaccio/config": "8.0.0-next-8.
|
|
25
|
-
"@verdaccio/core": "8.0.0-next-8.
|
|
26
|
-
"@verdaccio/hooks": "8.0.0-next-8.
|
|
27
|
-
"@verdaccio/loaders": "8.0.0-next-8.
|
|
23
|
+
"@verdaccio/auth": "8.0.0-next-8.37",
|
|
24
|
+
"@verdaccio/config": "8.0.0-next-8.37",
|
|
25
|
+
"@verdaccio/core": "8.0.0-next-8.37",
|
|
26
|
+
"@verdaccio/hooks": "8.0.0-next-8.37",
|
|
27
|
+
"@verdaccio/loaders": "8.0.0-next-8.27",
|
|
28
28
|
"@verdaccio/local-storage-legacy": "11.1.1",
|
|
29
|
-
"@verdaccio/logger": "8.0.0-next-8.
|
|
30
|
-
"@verdaccio/middleware": "8.0.0-next-8.
|
|
31
|
-
"@verdaccio/package-filter": "13.0.0-next-8.
|
|
29
|
+
"@verdaccio/logger": "8.0.0-next-8.37",
|
|
30
|
+
"@verdaccio/middleware": "8.0.0-next-8.37",
|
|
31
|
+
"@verdaccio/package-filter": "13.0.0-next-8.5",
|
|
32
32
|
"@verdaccio/search-indexer": "8.0.0-next-8.6",
|
|
33
|
-
"@verdaccio/signature": "8.0.0-next-8.
|
|
33
|
+
"@verdaccio/signature": "8.0.0-next-8.29",
|
|
34
34
|
"@verdaccio/streams": "10.2.1",
|
|
35
|
-
"@verdaccio/tarball": "13.0.0-next-8.
|
|
36
|
-
"@verdaccio/ui-theme": "
|
|
37
|
-
"@verdaccio/url": "13.0.0-next-8.
|
|
38
|
-
"@verdaccio/utils": "8.1.0-next-8.
|
|
35
|
+
"@verdaccio/tarball": "13.0.0-next-8.37",
|
|
36
|
+
"@verdaccio/ui-theme": "9.0.0-next-9.10",
|
|
37
|
+
"@verdaccio/url": "13.0.0-next-8.37",
|
|
38
|
+
"@verdaccio/utils": "8.1.0-next-8.37",
|
|
39
39
|
"JSONStream": "1.3.5",
|
|
40
40
|
"async": "3.2.6",
|
|
41
41
|
"clipanion": "4.0.0-rc.4",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"lru-cache": "7.18.3",
|
|
49
49
|
"mime": "3.0.0",
|
|
50
50
|
"semver": "7.7.4",
|
|
51
|
-
"verdaccio-audit": "13.0.0-next-8.
|
|
52
|
-
"verdaccio-htpasswd": "13.0.0-next-8.
|
|
51
|
+
"verdaccio-audit": "13.0.0-next-8.37",
|
|
52
|
+
"verdaccio-htpasswd": "13.0.0-next-8.37"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@babel/cli": "7.28.6",
|
|
@@ -74,14 +74,16 @@
|
|
|
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.4.0",
|
|
78
|
+
"@verdaccio/e2e-ui": "2.4.0",
|
|
78
79
|
"@verdaccio/eslint-config": "13.0.0",
|
|
79
|
-
"@verdaccio/test-helper": "4.0.0-next-8.
|
|
80
|
-
"@verdaccio/types": "13.0.0-next-8.
|
|
80
|
+
"@verdaccio/test-helper": "4.0.0-next-8.21",
|
|
81
|
+
"@verdaccio/types": "13.0.0-next-8.12",
|
|
81
82
|
"@vitest/coverage-v8": "3.2.4",
|
|
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"
|