@verdaccio/server 7.0.0-next-7.19 → 7.0.0-next-8.21
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 +37 -0
- package/build/server.js +3 -3
- package/build/server.js.map +1 -1
- package/package.json +14 -14
- package/src/server.ts +5 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# @verdaccio/server
|
|
2
2
|
|
|
3
|
+
## 7.0.0-next-8.21
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7c9f3cf: chore: improve startup logging
|
|
8
|
+
- Updated dependencies [8c10a3e]
|
|
9
|
+
- Updated dependencies [a05a7d8]
|
|
10
|
+
- Updated dependencies [7c9f3cf]
|
|
11
|
+
- @verdaccio/config@7.0.0-next-8.21
|
|
12
|
+
- @verdaccio/core@7.0.0-next-8.21
|
|
13
|
+
- @verdaccio/loaders@7.0.0-next-8.21
|
|
14
|
+
- @verdaccio/store@7.0.0-next-8.21
|
|
15
|
+
- @verdaccio/auth@7.0.0-next-8.21
|
|
16
|
+
- @verdaccio/web@7.0.0-next-8.21
|
|
17
|
+
- @verdaccio/api@7.0.0-next-8.21
|
|
18
|
+
- @verdaccio/middleware@7.0.0-next-8.21
|
|
19
|
+
- verdaccio-audit@12.0.0-next-8.21
|
|
20
|
+
- @verdaccio/utils@7.0.0-next-8.21
|
|
21
|
+
- @verdaccio/logger@7.0.0-next-8.21
|
|
22
|
+
|
|
23
|
+
## 7.0.0-next-7.20
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies [ccc7bd1]
|
|
28
|
+
- @verdaccio/middleware@7.0.0-next-7.20
|
|
29
|
+
- @verdaccio/api@7.0.0-next-7.20
|
|
30
|
+
- @verdaccio/auth@7.0.0-next-7.20
|
|
31
|
+
- @verdaccio/web@7.0.0-next-7.20
|
|
32
|
+
- @verdaccio/store@7.0.0-next-7.20
|
|
33
|
+
- @verdaccio/core@7.0.0-next-7.20
|
|
34
|
+
- @verdaccio/config@7.0.0-next-7.20
|
|
35
|
+
- @verdaccio/loaders@7.0.0-next-7.20
|
|
36
|
+
- verdaccio-audit@12.0.0-next-7.20
|
|
37
|
+
- @verdaccio/utils@7.0.0-next-7.20
|
|
38
|
+
- @verdaccio/logger@7.0.0-next-7.20
|
|
39
|
+
|
|
3
40
|
## 7.0.0-next-7.19
|
|
4
41
|
|
|
5
42
|
### Patch Changes
|
package/build/server.js
CHANGED
|
@@ -26,7 +26,7 @@ const {
|
|
|
26
26
|
version
|
|
27
27
|
} = require('../package.json');
|
|
28
28
|
const defineAPI = async function (config, storage) {
|
|
29
|
-
var _config$server;
|
|
29
|
+
var _config$server, _config$serverSetting, _config$serverSetting2;
|
|
30
30
|
const auth = new _auth.Auth(config);
|
|
31
31
|
await auth.init();
|
|
32
32
|
const app = (0, _express.default)();
|
|
@@ -59,7 +59,7 @@ const defineAPI = async function (config, storage) {
|
|
|
59
59
|
logger: _logger.logger
|
|
60
60
|
}, function (plugin) {
|
|
61
61
|
return typeof plugin.register_middlewares !== 'undefined';
|
|
62
|
-
});
|
|
62
|
+
}, (_config$serverSetting = config === null || config === void 0 || (_config$serverSetting2 = config.serverSettings) === null || _config$serverSetting2 === void 0 ? void 0 : _config$serverSetting2.pluginPrefix) !== null && _config$serverSetting !== void 0 ? _config$serverSetting : 'verdaccio', _core.PLUGIN_CATEGORY.MIDDLEWARE);
|
|
63
63
|
if (plugins.length === 0) {
|
|
64
64
|
_logger.logger.info('none middleware plugins has been defined, adding audit middleware by default');
|
|
65
65
|
// @ts-ignore
|
|
@@ -134,7 +134,7 @@ var startServer = exports.default = async function startServer(configHash) {
|
|
|
134
134
|
// register middleware plugins
|
|
135
135
|
debug('loaded filter plugin');
|
|
136
136
|
// @ts-ignore
|
|
137
|
-
const storage = new _store.Storage(config);
|
|
137
|
+
const storage = new _store.Storage(config, _logger.logger);
|
|
138
138
|
try {
|
|
139
139
|
// waits until init calls have been initialized
|
|
140
140
|
debug('storage init start');
|
package/build/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":["_compression","_interopRequireDefault","require","_cors","_debug","_express","_lodash","_verdaccioAudit","_api","_auth","_config","_core","_loaders","_logger","_middleware","_store","_web","_debug2","e","__esModule","default","debug","buildDebug","version","defineAPI","config","storage","_config$server","auth","Auth","init","app","express","set","process","env","NODE_ENV","server","trustProxy","use","cors","rateLimit","serverSettings","errorReportingMiddlewareWrap","errorReportingMiddleware","logger","log","userAgent","compression","get","req","res","next","url","hookDebug","configPath","plugins","asyncLoadPlugin","middlewares","plugin","register_middlewares","length","info","push","AuditMiddleware","enabled","strict_ssl","forEach","apiEndpoint","_","_req","locals","app_version","middleware","webMiddleware","errorUtils","getNotFound","API_ERROR","WEB_DISABLED","handleError","final","startServer","exports","configHash","AppConfig","Storage","err","error","msg","Error"],"sources":["../src/server.ts"],"sourcesContent":["import compression from 'compression';\nimport cors from 'cors';\nimport buildDebug from 'debug';\nimport express from 'express';\nimport _ from 'lodash';\nimport AuditMiddleware from 'verdaccio-audit';\n\nimport apiEndpoint from '@verdaccio/api';\nimport { Auth } from '@verdaccio/auth';\nimport { Config as AppConfig } from '@verdaccio/config';\nimport { API_ERROR, errorUtils, pluginUtils } from '@verdaccio/core';\nimport { asyncLoadPlugin } from '@verdaccio/loaders';\nimport { logger } from '@verdaccio/logger';\nimport {\n errorReportingMiddleware,\n final,\n handleError,\n log,\n rateLimit,\n userAgent,\n} from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { ConfigYaml } from '@verdaccio/types';\nimport { Config as IConfig } from '@verdaccio/types';\nimport webMiddleware from '@verdaccio/web';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\nimport hookDebug from './debug';\n\nconst debug = buildDebug('verdaccio:server');\nconst { version } = require('../package.json');\n\nconst defineAPI = async function (config: IConfig, storage: Storage): Promise<any> {\n const auth: Auth = new Auth(config);\n await auth.init();\n const app = express();\n // run in production mode by default, just in case\n // it shouldn't make any difference anyway\n app.set('env', process.env.NODE_ENV || 'production');\n if (config.server?.trustProxy) {\n app.set('trust proxy', config.server.trustProxy);\n }\n app.use(cors());\n app.use(rateLimit(config.serverSettings.rateLimit));\n\n const errorReportingMiddlewareWrap = errorReportingMiddleware(logger);\n\n // Router setup\n app.use(log(logger));\n app.use(errorReportingMiddlewareWrap);\n app.use(userAgent(config));\n app.use(compression());\n\n app.get(\n '/favicon.ico',\n function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {\n req.url = '/-/static/favicon.ico';\n next();\n }\n );\n\n // Hook for tests only\n if (config._debug) {\n hookDebug(app, config.configPath);\n }\n\n const plugins: pluginUtils.ExpressMiddleware<IConfig, {}, Auth>[] = await asyncLoadPlugin(\n config.middlewares,\n {\n config,\n logger,\n },\n function (plugin) {\n return typeof plugin.register_middlewares !== 'undefined';\n }\n );\n\n if (plugins.length === 0) {\n logger.info('none middleware plugins has been defined, adding audit middleware by default');\n // @ts-ignore\n plugins.push(new AuditMiddleware({ enabled: true, strict_ssl: true }, { config, logger }));\n }\n\n plugins.forEach((plugin: pluginUtils.ExpressMiddleware<IConfig, {}, Auth>) => {\n plugin.register_middlewares(app, auth, storage);\n });\n\n // For npm request\n // @ts-ignore\n app.use(apiEndpoint(config, auth, storage));\n\n // For WebUI & WebUI API\n if (_.get(config, 'web.enable', true)) {\n app.use((_req, res, next) => {\n res.locals.app_version = version ?? '';\n next();\n });\n const middleware = await webMiddleware(config, auth, storage);\n app.use(middleware);\n } else {\n app.get('/', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next(errorUtils.getNotFound(API_ERROR.WEB_DISABLED));\n });\n }\n\n // Catch 404\n app.get('/*', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next(errorUtils.getNotFound('resource not found'));\n });\n\n // @ts-ignore\n app.use(handleError(logger));\n\n // app.use(function (\n // err: HttpError,\n // req: $RequestExtend,\n // res: $ResponseExtend,\n // next: $NextFunctionVer\n // ) {\n // if (_.isError(err)) {\n // if (err.code === 'ECONNABORT' && res.statusCode === HTTP_STATUS.NOT_MODIFIED) {\n // return next();\n // }\n // if (_.isFunction(res.locals.report_error) === false) {\n // // in case of very early error this middleware may not be loaded before error is generated\n // // fixing that\n // errorReportingMiddlewareWrap(req, res, _.noop);\n // }\n // res.locals.report_error(err);\n // } else {\n // // Fall to Middleware.final\n // return next(err);\n // }\n // });\n\n app.use(final);\n\n return app;\n};\n\nexport default (async function startServer(configHash: ConfigYaml): Promise<any> {\n debug('start server');\n const config: IConfig = new AppConfig({ ...configHash } as any);\n // register middleware plugins\n debug('loaded filter plugin');\n // @ts-ignore\n const storage: Storage = new Storage(config);\n try {\n // waits until init calls have been initialized\n debug('storage init start');\n await storage.init(config);\n debug('storage init end');\n } catch (err: any) {\n logger.error({ error: err.msg }, 'storage has failed: @{error}');\n throw new Error(err);\n }\n return await defineAPI(config, storage);\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"server.js","names":["_compression","_interopRequireDefault","require","_cors","_debug","_express","_lodash","_verdaccioAudit","_api","_auth","_config","_core","_loaders","_logger","_middleware","_store","_web","_debug2","e","__esModule","default","debug","buildDebug","version","defineAPI","config","storage","_config$server","_config$serverSetting","_config$serverSetting2","auth","Auth","init","app","express","set","process","env","NODE_ENV","server","trustProxy","use","cors","rateLimit","serverSettings","errorReportingMiddlewareWrap","errorReportingMiddleware","logger","log","userAgent","compression","get","req","res","next","url","hookDebug","configPath","plugins","asyncLoadPlugin","middlewares","plugin","register_middlewares","pluginPrefix","PLUGIN_CATEGORY","MIDDLEWARE","length","info","push","AuditMiddleware","enabled","strict_ssl","forEach","apiEndpoint","_","_req","locals","app_version","middleware","webMiddleware","errorUtils","getNotFound","API_ERROR","WEB_DISABLED","handleError","final","startServer","exports","configHash","AppConfig","Storage","err","error","msg","Error"],"sources":["../src/server.ts"],"sourcesContent":["import compression from 'compression';\nimport cors from 'cors';\nimport buildDebug from 'debug';\nimport express from 'express';\nimport _ from 'lodash';\nimport AuditMiddleware from 'verdaccio-audit';\n\nimport apiEndpoint from '@verdaccio/api';\nimport { Auth } from '@verdaccio/auth';\nimport { Config as AppConfig } from '@verdaccio/config';\nimport { API_ERROR, PLUGIN_CATEGORY, errorUtils, pluginUtils } from '@verdaccio/core';\nimport { asyncLoadPlugin } from '@verdaccio/loaders';\nimport { logger } from '@verdaccio/logger';\nimport {\n errorReportingMiddleware,\n final,\n handleError,\n log,\n rateLimit,\n userAgent,\n} from '@verdaccio/middleware';\nimport { Storage } from '@verdaccio/store';\nimport { ConfigYaml } from '@verdaccio/types';\nimport { Config as IConfig } from '@verdaccio/types';\nimport webMiddleware from '@verdaccio/web';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types/custom';\nimport hookDebug from './debug';\n\nconst debug = buildDebug('verdaccio:server');\nconst { version } = require('../package.json');\n\nconst defineAPI = async function (config: IConfig, storage: Storage): Promise<any> {\n const auth: Auth = new Auth(config);\n await auth.init();\n const app = express();\n // run in production mode by default, just in case\n // it shouldn't make any difference anyway\n app.set('env', process.env.NODE_ENV || 'production');\n if (config.server?.trustProxy) {\n app.set('trust proxy', config.server.trustProxy);\n }\n app.use(cors());\n app.use(rateLimit(config.serverSettings.rateLimit));\n\n const errorReportingMiddlewareWrap = errorReportingMiddleware(logger);\n\n // Router setup\n app.use(log(logger));\n app.use(errorReportingMiddlewareWrap);\n app.use(userAgent(config));\n app.use(compression());\n\n app.get(\n '/favicon.ico',\n function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void {\n req.url = '/-/static/favicon.ico';\n next();\n }\n );\n\n // Hook for tests only\n if (config._debug) {\n hookDebug(app, config.configPath);\n }\n\n const plugins: pluginUtils.ExpressMiddleware<IConfig, {}, Auth>[] = await asyncLoadPlugin(\n config.middlewares,\n {\n config,\n logger,\n },\n function (plugin) {\n return typeof plugin.register_middlewares !== 'undefined';\n },\n config?.serverSettings?.pluginPrefix ?? 'verdaccio',\n PLUGIN_CATEGORY.MIDDLEWARE\n );\n\n if (plugins.length === 0) {\n logger.info('none middleware plugins has been defined, adding audit middleware by default');\n // @ts-ignore\n plugins.push(new AuditMiddleware({ enabled: true, strict_ssl: true }, { config, logger }));\n }\n\n plugins.forEach((plugin: pluginUtils.ExpressMiddleware<IConfig, {}, Auth>) => {\n plugin.register_middlewares(app, auth, storage);\n });\n\n // For npm request\n // @ts-ignore\n app.use(apiEndpoint(config, auth, storage));\n\n // For WebUI & WebUI API\n if (_.get(config, 'web.enable', true)) {\n app.use((_req, res, next) => {\n res.locals.app_version = version ?? '';\n next();\n });\n const middleware = await webMiddleware(config, auth, storage);\n app.use(middleware);\n } else {\n app.get('/', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next(errorUtils.getNotFound(API_ERROR.WEB_DISABLED));\n });\n }\n\n // Catch 404\n app.get('/*', function (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) {\n next(errorUtils.getNotFound('resource not found'));\n });\n\n // @ts-ignore\n app.use(handleError(logger));\n\n // app.use(function (\n // err: HttpError,\n // req: $RequestExtend,\n // res: $ResponseExtend,\n // next: $NextFunctionVer\n // ) {\n // if (_.isError(err)) {\n // if (err.code === 'ECONNABORT' && res.statusCode === HTTP_STATUS.NOT_MODIFIED) {\n // return next();\n // }\n // if (_.isFunction(res.locals.report_error) === false) {\n // // in case of very early error this middleware may not be loaded before error is generated\n // // fixing that\n // errorReportingMiddlewareWrap(req, res, _.noop);\n // }\n // res.locals.report_error(err);\n // } else {\n // // Fall to Middleware.final\n // return next(err);\n // }\n // });\n\n app.use(final);\n\n return app;\n};\n\nexport default (async function startServer(configHash: ConfigYaml): Promise<any> {\n debug('start server');\n const config: IConfig = new AppConfig({ ...configHash } as any);\n // register middleware plugins\n debug('loaded filter plugin');\n // @ts-ignore\n const storage: Storage = new Storage(config, logger);\n try {\n // waits until init calls have been initialized\n debug('storage init start');\n await storage.init(config);\n debug('storage init end');\n } catch (err: any) {\n logger.error({ error: err.msg }, 'storage has failed: @{error}');\n throw new Error(err);\n }\n return await defineAPI(config, storage);\n});\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verdaccio/server",
|
|
3
|
-
"version": "7.0.0-next-
|
|
3
|
+
"version": "7.0.0-next-8.21",
|
|
4
4
|
"description": "server logic",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -29,25 +29,25 @@
|
|
|
29
29
|
"node": ">=18"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@verdaccio/api": "7.0.0-next-
|
|
33
|
-
"@verdaccio/auth": "7.0.0-next-
|
|
34
|
-
"@verdaccio/core": "7.0.0-next-
|
|
35
|
-
"@verdaccio/config": "7.0.0-next-
|
|
36
|
-
"@verdaccio/loaders": "7.0.0-next-
|
|
37
|
-
"@verdaccio/logger": "7.0.0-next-
|
|
38
|
-
"@verdaccio/middleware": "7.0.0-next-
|
|
39
|
-
"@verdaccio/store": "7.0.0-next-
|
|
40
|
-
"@verdaccio/utils": "7.0.0-next-
|
|
41
|
-
"@verdaccio/web": "7.0.0-next-
|
|
42
|
-
"verdaccio-audit": "12.0.0-next-
|
|
32
|
+
"@verdaccio/api": "7.0.0-next-8.21",
|
|
33
|
+
"@verdaccio/auth": "7.0.0-next-8.21",
|
|
34
|
+
"@verdaccio/core": "7.0.0-next-8.21",
|
|
35
|
+
"@verdaccio/config": "7.0.0-next-8.21",
|
|
36
|
+
"@verdaccio/loaders": "7.0.0-next-8.21",
|
|
37
|
+
"@verdaccio/logger": "7.0.0-next-8.21",
|
|
38
|
+
"@verdaccio/middleware": "7.0.0-next-8.21",
|
|
39
|
+
"@verdaccio/store": "7.0.0-next-8.21",
|
|
40
|
+
"@verdaccio/utils": "7.0.0-next-8.21",
|
|
41
|
+
"@verdaccio/web": "7.0.0-next-8.21",
|
|
42
|
+
"verdaccio-audit": "12.0.0-next-8.21",
|
|
43
43
|
"compression": "1.7.4",
|
|
44
44
|
"cors": "2.8.5",
|
|
45
|
-
"debug": "4.3.
|
|
45
|
+
"debug": "4.3.6",
|
|
46
46
|
"express": "4.19.2",
|
|
47
47
|
"lodash": "4.17.21"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@verdaccio/proxy": "7.0.0-next-
|
|
50
|
+
"@verdaccio/proxy": "7.0.0-next-8.21",
|
|
51
51
|
"@verdaccio/test-helper": "3.0.0-next-7.2",
|
|
52
52
|
"http-errors": "2.0.0"
|
|
53
53
|
},
|
package/src/server.ts
CHANGED
|
@@ -8,7 +8,7 @@ import AuditMiddleware from 'verdaccio-audit';
|
|
|
8
8
|
import apiEndpoint from '@verdaccio/api';
|
|
9
9
|
import { Auth } from '@verdaccio/auth';
|
|
10
10
|
import { Config as AppConfig } from '@verdaccio/config';
|
|
11
|
-
import { API_ERROR, errorUtils, pluginUtils } from '@verdaccio/core';
|
|
11
|
+
import { API_ERROR, PLUGIN_CATEGORY, errorUtils, pluginUtils } from '@verdaccio/core';
|
|
12
12
|
import { asyncLoadPlugin } from '@verdaccio/loaders';
|
|
13
13
|
import { logger } from '@verdaccio/logger';
|
|
14
14
|
import {
|
|
@@ -72,7 +72,9 @@ const defineAPI = async function (config: IConfig, storage: Storage): Promise<an
|
|
|
72
72
|
},
|
|
73
73
|
function (plugin) {
|
|
74
74
|
return typeof plugin.register_middlewares !== 'undefined';
|
|
75
|
-
}
|
|
75
|
+
},
|
|
76
|
+
config?.serverSettings?.pluginPrefix ?? 'verdaccio',
|
|
77
|
+
PLUGIN_CATEGORY.MIDDLEWARE
|
|
76
78
|
);
|
|
77
79
|
|
|
78
80
|
if (plugins.length === 0) {
|
|
@@ -144,7 +146,7 @@ export default (async function startServer(configHash: ConfigYaml): Promise<any>
|
|
|
144
146
|
// register middleware plugins
|
|
145
147
|
debug('loaded filter plugin');
|
|
146
148
|
// @ts-ignore
|
|
147
|
-
const storage: Storage = new Storage(config);
|
|
149
|
+
const storage: Storage = new Storage(config, logger);
|
|
148
150
|
try {
|
|
149
151
|
// waits until init calls have been initialized
|
|
150
152
|
debug('storage init start');
|