@verdaccio/api 9.0.0-next-9.0 → 9.0.0-next-9.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/index.js CHANGED
@@ -72,7 +72,9 @@ function _default(config, auth, storage, logger) {
72
72
  return app;
73
73
  }
74
74
  function hasBodyParser(app) {
75
- var stack = app.stack || [];
75
+ var _router;
76
+ // @ts-ignore - Express internals: app.stack is not part of the public API
77
+ var stack = app.stack || ((_router = app._router) === null || _router === void 0 ? void 0 : _router.stack) || [];
76
78
  return stack.some(function (middleware) {
77
79
  var _middleware$handle;
78
80
  return ((_middleware$handle = middleware.handle) === null || _middleware$handle === void 0 ? void 0 : _middleware$handle.name) === 'jsonParser' || middleware.name === 'jsonParser';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_debug","_interopRequireDefault","require","_express","_middleware","_distTags","_package","_ping","_publish","_search","_stars","_user","_login","_profile","_search2","_token","_whoami","e","__esModule","debug","buildDebug","_default","config","auth","storage","logger","_config$flags","app","express","Router","param","validatePackage","validateName","match","use","apiJWTmiddleware","hasBodyParser","json","strict","limit","max_body_size","antiLoop","makeURLrelative","encodeScopePackage","whoami","profile","search","user","distTags","publish","ping","stars","v1Search","token","pkg","flags","webLogin","login","stack","some","middleware","_middleware$handle","handle","name"],"sources":["../src/index.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\nimport express from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport {\n antiLoop,\n encodeScopePackage,\n makeURLrelative,\n match,\n validateName,\n validatePackage,\n} from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Config, Logger } from '@verdaccio/types';\n\nimport distTags from './dist-tags';\nimport pkg from './package';\nimport ping from './ping';\nimport publish from './publish';\nimport search from './search';\nimport stars from './stars';\nimport user from './user';\nimport login from './v1/login';\nimport profile from './v1/profile';\nimport v1Search from './v1/search';\nimport token from './v1/token';\nimport whoami from './whoami';\n\nconst debug = buildDebug('verdaccio:api');\n\nexport default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router {\n /* eslint new-cap:off */\n const app = express.Router();\n\n // validate all of these params as a package name\n // this might be too harsh, so ask if it causes trouble\n app.param('package', validatePackage);\n app.param('filename', validateName);\n app.param('tag', validateName);\n app.param('version', validateName);\n app.param('revision', validateName);\n app.param('token', validateName);\n\n // Express route parameter names must be valid JavaScript identifiers, which means\n // they cannot start with a hyphen (-) or contain special characters like dots (.)\n app.param('_rev', match(/^-rev$/));\n app.param('org_couchdb_user', match(/^org\\.couchdb\\.user:/));\n\n app.use(auth.apiJWTmiddleware());\n\n // middleware might have registered a json parser already\n if (hasBodyParser(app)) {\n debug('json parser already registered');\n } else {\n app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));\n }\n\n app.use(antiLoop(config));\n app.use(makeURLrelative);\n // encode / in a scoped package name to be matched as a single parameter in routes\n app.use(encodeScopePackage);\n // for \"npm whoami\"\n whoami(app);\n profile(app, auth, config);\n search(app, logger);\n user(app, auth, config, logger);\n distTags(app, auth, storage, logger);\n publish(app, auth, storage, logger);\n ping(app);\n stars(app, storage);\n v1Search(app, auth, storage, logger);\n token(app, auth, storage, config, logger);\n pkg(app, auth, storage, logger);\n if (config.flags?.webLogin) {\n login(app, auth, storage, config, logger);\n }\n return app;\n}\n\nfunction hasBodyParser(app: Router): boolean {\n const stack = app.stack || [];\n return stack.some((middleware) => {\n return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_debug","_interopRequireDefault","require","_express","_middleware","_distTags","_package","_ping","_publish","_search","_stars","_user","_login","_profile","_search2","_token","_whoami","e","__esModule","debug","buildDebug","_default","config","auth","storage","logger","_config$flags","app","express","Router","param","validatePackage","validateName","match","use","apiJWTmiddleware","hasBodyParser","json","strict","limit","max_body_size","antiLoop","makeURLrelative","encodeScopePackage","whoami","profile","search","user","distTags","publish","ping","stars","v1Search","token","pkg","flags","webLogin","login","_router","stack","some","middleware","_middleware$handle","handle","name"],"sources":["../src/index.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport type { Router } from 'express';\nimport express from 'express';\n\nimport type { Auth } from '@verdaccio/auth';\nimport {\n antiLoop,\n encodeScopePackage,\n makeURLrelative,\n match,\n validateName,\n validatePackage,\n} from '@verdaccio/middleware';\nimport type { Storage } from '@verdaccio/store';\nimport type { Config, Logger } from '@verdaccio/types';\n\nimport distTags from './dist-tags';\nimport pkg from './package';\nimport ping from './ping';\nimport publish from './publish';\nimport search from './search';\nimport stars from './stars';\nimport user from './user';\nimport login from './v1/login';\nimport profile from './v1/profile';\nimport v1Search from './v1/search';\nimport token from './v1/token';\nimport whoami from './whoami';\n\nconst debug = buildDebug('verdaccio:api');\n\nexport default function (config: Config, auth: Auth, storage: Storage, logger: Logger): Router {\n /* eslint new-cap:off */\n const app = express.Router();\n\n // validate all of these params as a package name\n // this might be too harsh, so ask if it causes trouble\n app.param('package', validatePackage);\n app.param('filename', validateName);\n app.param('tag', validateName);\n app.param('version', validateName);\n app.param('revision', validateName);\n app.param('token', validateName);\n\n // Express route parameter names must be valid JavaScript identifiers, which means\n // they cannot start with a hyphen (-) or contain special characters like dots (.)\n app.param('_rev', match(/^-rev$/));\n app.param('org_couchdb_user', match(/^org\\.couchdb\\.user:/));\n\n app.use(auth.apiJWTmiddleware());\n\n // middleware might have registered a json parser already\n if (hasBodyParser(app)) {\n debug('json parser already registered');\n } else {\n app.use(express.json({ strict: false, limit: config.max_body_size || '10mb' }));\n }\n\n app.use(antiLoop(config));\n app.use(makeURLrelative);\n // encode / in a scoped package name to be matched as a single parameter in routes\n app.use(encodeScopePackage);\n // for \"npm whoami\"\n whoami(app);\n profile(app, auth, config);\n search(app, logger);\n user(app, auth, config, logger);\n distTags(app, auth, storage, logger);\n publish(app, auth, storage, logger);\n ping(app);\n stars(app, storage);\n v1Search(app, auth, storage, logger);\n token(app, auth, storage, config, logger);\n pkg(app, auth, storage, logger);\n if (config.flags?.webLogin) {\n login(app, auth, storage, config, logger);\n }\n return app;\n}\n\nfunction hasBodyParser(app: Router): boolean {\n // @ts-ignore - Express internals: app.stack is not part of the public API\n const stack = (app as any).stack || (app as any)._router?.stack || [];\n return stack.some((middleware: any) => {\n return middleware.handle?.name === 'jsonParser' || middleware.name === 'jsonParser';\n });\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/api",
3
- "version": "9.0.0-next-9.0",
3
+ "version": "9.0.0-next-9.1",
4
4
  "description": "Verdaccio Registry API",
5
5
  "main": "./build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -29,22 +29,22 @@
29
29
  "verdaccio"
30
30
  ],
31
31
  "engines": {
32
- "node": ">=18"
32
+ "node": ">=24"
33
33
  },
34
34
  "license": "MIT",
35
35
  "dependencies": {
36
- "@verdaccio/auth": "9.0.0-next-9.0",
37
- "@verdaccio/config": "9.0.0-next-9.0",
38
- "@verdaccio/core": "9.0.0-next-9.0",
39
- "@verdaccio/logger": "9.0.0-next-9.0",
40
- "@verdaccio/middleware": "9.0.0-next-9.0",
41
- "@verdaccio/store": "9.0.0-next-9.0",
36
+ "@verdaccio/auth": "9.0.0-next-9.1",
37
+ "@verdaccio/config": "9.0.0-next-9.1",
38
+ "@verdaccio/core": "9.0.0-next-9.1",
39
+ "@verdaccio/logger": "9.0.0-next-9.1",
40
+ "@verdaccio/middleware": "9.0.0-next-9.1",
41
+ "@verdaccio/store": "9.0.0-next-9.1",
42
42
  "debug": "4.4.3",
43
- "express": "4.22.1",
43
+ "express": "5.2.1",
44
44
  "lodash": "4.17.23"
45
45
  },
46
46
  "devDependencies": {
47
- "@verdaccio/test-helper": "5.0.0-next-9.0",
47
+ "@verdaccio/test-helper": "5.0.0-next-9.1",
48
48
  "@verdaccio/types": "14.0.0-next-9.0",
49
49
  "mockdate": "3.0.5",
50
50
  "nock": "13.5.6",