@verdaccio/middleware 8.0.0-next-8.28 → 8.0.0-next-8.30

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.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { match } from './middlewares/match';
2
- export { setSecurityWebHeaders } from './middlewares/security-headers';
3
2
  export { validateName, validatePackage } from './middlewares/validation';
4
3
  export { media } from './middlewares/media';
5
4
  export { makeURLrelative } from './middlewares/make-url-relative';
@@ -10,7 +9,7 @@ export { final } from './middlewares/final';
10
9
  export { allow } from './middlewares/allow';
11
10
  export { rateLimit } from './middlewares/rate-limit';
12
11
  export { userAgent } from './middlewares/user-agent';
13
- export { webMiddleware, renderWebMiddleware } from './middlewares/web';
12
+ export { webMiddleware, renderWebMiddleware, setSecurityWebHeaders } from './middlewares/web';
14
13
  export { errorReportingMiddleware, handleError } from './middlewares/error';
15
14
  export { log, LOG_STATUS_MESSAGE, LOG_VERDACCIO_BYTES, LOG_VERDACCIO_ERROR, } from './middlewares/log';
16
15
  export * from './types';
package/build/index.js CHANGED
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  var _exportNames = {
7
7
  match: true,
8
- setSecurityWebHeaders: true,
9
8
  validateName: true,
10
9
  validatePackage: true,
11
10
  media: true,
@@ -19,6 +18,7 @@ var _exportNames = {
19
18
  userAgent: true,
20
19
  webMiddleware: true,
21
20
  renderWebMiddleware: true,
21
+ setSecurityWebHeaders: true,
22
22
  errorReportingMiddleware: true,
23
23
  handleError: true,
24
24
  log: true,
@@ -125,7 +125,7 @@ Object.defineProperty(exports, "renderWebMiddleware", {
125
125
  Object.defineProperty(exports, "setSecurityWebHeaders", {
126
126
  enumerable: true,
127
127
  get: function () {
128
- return _securityHeaders.setSecurityWebHeaders;
128
+ return _web.setSecurityWebHeaders;
129
129
  }
130
130
  });
131
131
  Object.defineProperty(exports, "userAgent", {
@@ -153,7 +153,6 @@ Object.defineProperty(exports, "webMiddleware", {
153
153
  }
154
154
  });
155
155
  var _match = require("./middlewares/match");
156
- var _securityHeaders = require("./middlewares/security-headers");
157
156
  var _validation = require("./middlewares/validation");
158
157
  var _media = require("./middlewares/media");
159
158
  var _makeUrlRelative = require("./middlewares/make-url-relative");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_match","require","_securityHeaders","_validation","_media","_makeUrlRelative","_encodePkg","_json","_antiLoop","_final","_allow","_rateLimit","_userAgent","_web","_error","_log","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_api_urls","_webUrls"],"sources":["../src/index.ts"],"sourcesContent":["export { match } from './middlewares/match';\nexport { setSecurityWebHeaders } from './middlewares/security-headers';\nexport { validateName, validatePackage } from './middlewares/validation';\nexport { media } from './middlewares/media';\nexport { makeURLrelative } from './middlewares/make-url-relative';\nexport { encodeScopePackage } from './middlewares/encode-pkg';\nexport { expectJson } from './middlewares/json';\nexport { antiLoop } from './middlewares/antiLoop';\nexport { final } from './middlewares/final';\nexport { allow } from './middlewares/allow';\nexport { rateLimit } from './middlewares/rate-limit';\nexport { userAgent } from './middlewares/user-agent';\nexport { webMiddleware, renderWebMiddleware } from './middlewares/web';\nexport { errorReportingMiddleware, handleError } from './middlewares/error';\nexport {\n log,\n LOG_STATUS_MESSAGE,\n LOG_VERDACCIO_BYTES,\n LOG_VERDACCIO_ERROR,\n} from './middlewares/log';\nexport * from './types';\nexport * from './middlewares/api_urls';\nexport * from './middlewares/web/web-urls';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AACA,IAAAY,IAAA,GAAAZ,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,IAAA,GAAAd,OAAA;AAMA,IAAAe,MAAA,GAAAf,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,SAAA,GAAA5B,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAW,SAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,SAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,SAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,QAAA,GAAA7B,OAAA;AAAAgB,MAAA,CAAAC,IAAA,CAAAY,QAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,QAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,QAAA,CAAAV,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_match","require","_validation","_media","_makeUrlRelative","_encodePkg","_json","_antiLoop","_final","_allow","_rateLimit","_userAgent","_web","_error","_log","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_api_urls","_webUrls"],"sources":["../src/index.ts"],"sourcesContent":["export { match } from './middlewares/match';\nexport { validateName, validatePackage } from './middlewares/validation';\nexport { media } from './middlewares/media';\nexport { makeURLrelative } from './middlewares/make-url-relative';\nexport { encodeScopePackage } from './middlewares/encode-pkg';\nexport { expectJson } from './middlewares/json';\nexport { antiLoop } from './middlewares/antiLoop';\nexport { final } from './middlewares/final';\nexport { allow } from './middlewares/allow';\nexport { rateLimit } from './middlewares/rate-limit';\nexport { userAgent } from './middlewares/user-agent';\nexport { webMiddleware, renderWebMiddleware, setSecurityWebHeaders } from './middlewares/web';\nexport { errorReportingMiddleware, handleError } from './middlewares/error';\nexport {\n log,\n LOG_STATUS_MESSAGE,\n LOG_VERDACCIO_BYTES,\n LOG_VERDACCIO_ERROR,\n} from './middlewares/log';\nexport * from './types';\nexport * from './middlewares/api_urls';\nexport * from './middlewares/web/web-urls';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,IAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,IAAA,GAAAb,OAAA;AAMA,IAAAc,MAAA,GAAAd,OAAA;AAAAe,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,SAAA,GAAA3B,OAAA;AAAAe,MAAA,CAAAC,IAAA,CAAAW,SAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,SAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,SAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,QAAA,GAAA5B,OAAA;AAAAe,MAAA,CAAAC,IAAA,CAAAY,QAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAU,QAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,QAAA,CAAAV,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -4,16 +4,41 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setSecurityWebHeaders = setSecurityWebHeaders;
7
+ var _debug = _interopRequireDefault(require("debug"));
7
8
  var _core = require("@verdaccio/core");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ const debug = (0, _debug.default)('verdaccio:middleware:web:security');
8
11
  function setSecurityWebHeaders(_req, res, next) {
9
12
  // disable loading in frames (clickjacking, etc.)
10
- res.header(_core.HEADERS.FRAMES_OPTIONS, 'deny');
11
- // avoid stablish connections outside of domain
12
- res.header(_core.HEADERS.CSP, "connect-src 'self'");
13
- // https://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff
14
- res.header(_core.HEADERS.CTO, 'nosniff');
15
- // https://stackoverflow.com/questions/9090577/what-is-the-http-header-x-xss-protection
16
- res.header(_core.HEADERS.XSS, '1; mode=block');
13
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options
14
+ const framesOptions = res.getHeader(_core.HEADERS.FRAMES_OPTIONS);
15
+ if (!framesOptions || !(framesOptions === 'deny' || framesOptions === 'sameorigin')) {
16
+ debug('Missing or invalid X-Frame-Options header; setting to "deny"');
17
+ res.header(_core.HEADERS.FRAMES_OPTIONS, 'deny');
18
+ }
19
+
20
+ // avoid establishing connections outside of domain
21
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy
22
+ if (!res.getHeader(_core.HEADERS.CSP)) {
23
+ debug('Missing Content-Security-Policy header; setting to "connect-src \'self\'"');
24
+ res.header(_core.HEADERS.CSP, "connect-src 'self'");
25
+ }
26
+
27
+ // respect the content type of the response
28
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options
29
+ const cto = res.getHeader(_core.HEADERS.CTO);
30
+ if (!cto || cto !== 'nosniff') {
31
+ debug('Missing or invalid X-Content-Type-Options header; setting to "nosniff"');
32
+ res.header(_core.HEADERS.CTO, 'nosniff');
33
+ }
34
+
35
+ // block rendering of the page in case of XSS attack
36
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-XSS-Protection
37
+ const xss = res.getHeader(_core.HEADERS.XSS);
38
+ if (!xss || !(xss === '0' || xss.startsWith('1'))) {
39
+ debug('Missing or invalid X-XSS-Protection header; setting to "1; mode=block"');
40
+ res.header(_core.HEADERS.XSS, '1; mode=block');
41
+ }
17
42
  next();
18
43
  }
19
44
  //# sourceMappingURL=security.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","names":["_core","require","setSecurityWebHeaders","_req","res","next","header","HEADERS","FRAMES_OPTIONS","CSP","CTO","XSS"],"sources":["../../../src/middlewares/web/security.ts"],"sourcesContent":["import { HEADERS } from '@verdaccio/core';\n\nexport function setSecurityWebHeaders(_req, res, next): void {\n // disable loading in frames (clickjacking, etc.)\n res.header(HEADERS.FRAMES_OPTIONS, 'deny');\n // avoid stablish connections outside of domain\n res.header(HEADERS.CSP, \"connect-src 'self'\");\n // https://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff\n res.header(HEADERS.CTO, 'nosniff');\n // https://stackoverflow.com/questions/9090577/what-is-the-http-header-x-xss-protection\n res.header(HEADERS.XSS, '1; mode=block');\n next();\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,SAASC,qBAAqBA,CAACC,IAAI,EAAEC,GAAG,EAAEC,IAAI,EAAQ;EAC3D;EACAD,GAAG,CAACE,MAAM,CAACC,aAAO,CAACC,cAAc,EAAE,MAAM,CAAC;EAC1C;EACAJ,GAAG,CAACE,MAAM,CAACC,aAAO,CAACE,GAAG,EAAE,oBAAoB,CAAC;EAC7C;EACAL,GAAG,CAACE,MAAM,CAACC,aAAO,CAACG,GAAG,EAAE,SAAS,CAAC;EAClC;EACAN,GAAG,CAACE,MAAM,CAACC,aAAO,CAACI,GAAG,EAAE,eAAe,CAAC;EACxCN,IAAI,CAAC,CAAC;AACR","ignoreList":[]}
1
+ {"version":3,"file":"security.js","names":["_debug","_interopRequireDefault","require","_core","e","__esModule","default","debug","buildDebug","setSecurityWebHeaders","_req","res","next","framesOptions","getHeader","HEADERS","FRAMES_OPTIONS","header","CSP","cto","CTO","xss","XSS","startsWith"],"sources":["../../../src/middlewares/web/security.ts"],"sourcesContent":["import buildDebug from 'debug';\n\nimport { HEADERS } from '@verdaccio/core';\n\nconst debug = buildDebug('verdaccio:middleware:web:security');\n\nexport function setSecurityWebHeaders(_req, res, next): void {\n // disable loading in frames (clickjacking, etc.)\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Frame-Options\n const framesOptions = res.getHeader(HEADERS.FRAMES_OPTIONS);\n if (!framesOptions || !(framesOptions === 'deny' || framesOptions === 'sameorigin')) {\n debug('Missing or invalid X-Frame-Options header; setting to \"deny\"');\n res.header(HEADERS.FRAMES_OPTIONS, 'deny');\n }\n\n // avoid establishing connections outside of domain\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Content-Security-Policy\n if (!res.getHeader(HEADERS.CSP)) {\n debug('Missing Content-Security-Policy header; setting to \"connect-src \\'self\\'\"');\n res.header(HEADERS.CSP, \"connect-src 'self'\");\n }\n\n // respect the content type of the response\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Content-Type-Options\n const cto = res.getHeader(HEADERS.CTO);\n if (!cto || cto !== 'nosniff') {\n debug('Missing or invalid X-Content-Type-Options header; setting to \"nosniff\"');\n res.header(HEADERS.CTO, 'nosniff');\n }\n\n // block rendering of the page in case of XSS attack\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-XSS-Protection\n const xss = res.getHeader(HEADERS.XSS);\n if (!xss || !(xss === '0' || xss.startsWith('1'))) {\n debug('Missing or invalid X-XSS-Protection header; setting to \"1; mode=block\"');\n res.header(HEADERS.XSS, '1; mode=block');\n }\n next();\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAA0C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1C,MAAMG,KAAK,GAAG,IAAAC,cAAU,EAAC,mCAAmC,CAAC;AAEtD,SAASC,qBAAqBA,CAACC,IAAI,EAAEC,GAAG,EAAEC,IAAI,EAAQ;EAC3D;EACA;EACA,MAAMC,aAAa,GAAGF,GAAG,CAACG,SAAS,CAACC,aAAO,CAACC,cAAc,CAAC;EAC3D,IAAI,CAACH,aAAa,IAAI,EAAEA,aAAa,KAAK,MAAM,IAAIA,aAAa,KAAK,YAAY,CAAC,EAAE;IACnFN,KAAK,CAAC,8DAA8D,CAAC;IACrEI,GAAG,CAACM,MAAM,CAACF,aAAO,CAACC,cAAc,EAAE,MAAM,CAAC;EAC5C;;EAEA;EACA;EACA,IAAI,CAACL,GAAG,CAACG,SAAS,CAACC,aAAO,CAACG,GAAG,CAAC,EAAE;IAC/BX,KAAK,CAAC,2EAA2E,CAAC;IAClFI,GAAG,CAACM,MAAM,CAACF,aAAO,CAACG,GAAG,EAAE,oBAAoB,CAAC;EAC/C;;EAEA;EACA;EACA,MAAMC,GAAG,GAAGR,GAAG,CAACG,SAAS,CAACC,aAAO,CAACK,GAAG,CAAC;EACtC,IAAI,CAACD,GAAG,IAAIA,GAAG,KAAK,SAAS,EAAE;IAC7BZ,KAAK,CAAC,wEAAwE,CAAC;IAC/EI,GAAG,CAACM,MAAM,CAACF,aAAO,CAACK,GAAG,EAAE,SAAS,CAAC;EACpC;;EAEA;EACA;EACA,MAAMC,GAAG,GAAGV,GAAG,CAACG,SAAS,CAACC,aAAO,CAACO,GAAG,CAAC;EACtC,IAAI,CAACD,GAAG,IAAI,EAAEA,GAAG,KAAK,GAAG,IAAIA,GAAG,CAACE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;IACjDhB,KAAK,CAAC,wEAAwE,CAAC;IAC/EI,GAAG,CAACM,MAAM,CAACF,aAAO,CAACO,GAAG,EAAE,eAAe,CAAC;EAC1C;EACAV,IAAI,CAAC,CAAC;AACR","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/middleware",
3
- "version": "8.0.0-next-8.28",
3
+ "version": "8.0.0-next-8.30",
4
4
  "description": "Verdaccio Express Middleware",
5
5
  "main": "./build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -33,13 +33,13 @@
33
33
  "node": ">=18"
34
34
  },
35
35
  "dependencies": {
36
- "@verdaccio/config": "8.0.0-next-8.28",
37
- "@verdaccio/core": "8.0.0-next-8.28",
38
- "@verdaccio/url": "13.0.0-next-8.28",
36
+ "@verdaccio/config": "8.0.0-next-8.30",
37
+ "@verdaccio/core": "8.0.0-next-8.30",
38
+ "@verdaccio/url": "13.0.0-next-8.30",
39
39
  "debug": "4.4.3",
40
- "express": "4.21.2",
40
+ "express": "4.22.1",
41
41
  "express-rate-limit": "5.5.1",
42
- "lodash": "4.17.21",
42
+ "lodash": "4.17.23",
43
43
  "lru-cache": "7.18.3"
44
44
  },
45
45
  "funding": {
@@ -47,9 +47,9 @@
47
47
  "url": "https://opencollective.com/verdaccio"
48
48
  },
49
49
  "devDependencies": {
50
- "@verdaccio/logger": "8.0.0-next-8.28",
50
+ "@verdaccio/logger": "8.0.0-next-8.30",
51
51
  "@verdaccio/types": "13.0.0-next-8.10",
52
- "http-errors": "2.0.0",
52
+ "http-errors": "2.0.1",
53
53
  "supertest": "7.1.4",
54
54
  "jsdom": "26.1.0",
55
55
  "vitest": "3.2.4"
@@ -1,2 +0,0 @@
1
- import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types';
2
- export declare function setSecurityWebHeaders(req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer): void;
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setSecurityWebHeaders = setSecurityWebHeaders;
7
- var _core = require("@verdaccio/core");
8
- // TODO: remove, was relocated to web package
9
- // @ts-deprecated
10
- function setSecurityWebHeaders(req, res, next) {
11
- // disable loading in frames (clickjacking, etc.)
12
- res.header(_core.HEADERS.FRAMES_OPTIONS, 'deny');
13
- // avoid stablish connections outside of domain
14
- res.header(_core.HEADERS.CSP, "connect-src 'self'");
15
- // https://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff
16
- res.header(_core.HEADERS.CTO, 'nosniff');
17
- // https://stackoverflow.com/questions/9090577/what-is-the-http-header-x-xss-protection
18
- res.header(_core.HEADERS.XSS, '1; mode=block');
19
- next();
20
- }
21
- //# sourceMappingURL=security-headers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security-headers.js","names":["_core","require","setSecurityWebHeaders","req","res","next","header","HEADERS","FRAMES_OPTIONS","CSP","CTO","XSS"],"sources":["../../src/middlewares/security-headers.ts"],"sourcesContent":["import { HEADERS } from '@verdaccio/core';\n\nimport { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../types';\n\n// TODO: remove, was relocated to web package\n// @ts-deprecated\nexport function setSecurityWebHeaders(\n req: $RequestExtend,\n res: $ResponseExtend,\n next: $NextFunctionVer\n): void {\n // disable loading in frames (clickjacking, etc.)\n res.header(HEADERS.FRAMES_OPTIONS, 'deny');\n // avoid stablish connections outside of domain\n res.header(HEADERS.CSP, \"connect-src 'self'\");\n // https://stackoverflow.com/questions/18337630/what-is-x-content-type-options-nosniff\n res.header(HEADERS.CTO, 'nosniff');\n // https://stackoverflow.com/questions/9090577/what-is-the-http-header-x-xss-protection\n res.header(HEADERS.XSS, '1; mode=block');\n next();\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA;AACA;AACO,SAASC,qBAAqBA,CACnCC,GAAmB,EACnBC,GAAoB,EACpBC,IAAsB,EAChB;EACN;EACAD,GAAG,CAACE,MAAM,CAACC,aAAO,CAACC,cAAc,EAAE,MAAM,CAAC;EAC1C;EACAJ,GAAG,CAACE,MAAM,CAACC,aAAO,CAACE,GAAG,EAAE,oBAAoB,CAAC;EAC7C;EACAL,GAAG,CAACE,MAAM,CAACC,aAAO,CAACG,GAAG,EAAE,SAAS,CAAC;EAClC;EACAN,GAAG,CAACE,MAAM,CAACC,aAAO,CAACI,GAAG,EAAE,eAAe,CAAC;EACxCN,IAAI,CAAC,CAAC;AACR","ignoreList":[]}