@verdaccio/hooks 8.0.3 → 8.0.4

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/notify.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Config, Manifest, Notification, RemoteUser } from '@verdaccio/types';
2
2
  export declare function compileTemplate(content: any, metadata: any): Promise<unknown>;
3
- export declare function handleNotify(metadata: Partial<Manifest>, notifyEntry: any, remoteUser: Partial<RemoteUser>, publishedPackage: string): Promise<boolean>;
4
- export declare function sendNotification(metadata: Manifest, notify: Notification, remoteUser: Partial<RemoteUser>, publishedPackage: string): Promise<boolean>;
5
- export declare function notify(metadata: Manifest, config: Config, remoteUser: RemoteUser, publishedPackage: string): Promise<boolean[]>;
3
+ export declare function handleNotify(metadata: Partial<Manifest>, notifyEntry: any, remoteUser: Partial<RemoteUser>, publishedPackage: string, publishType?: string): Promise<boolean>;
4
+ export declare function sendNotification(metadata: Manifest, notify: Notification, remoteUser: Partial<RemoteUser>, publishedPackage: string, publishType?: string): Promise<boolean>;
5
+ export declare function notify(metadata: Manifest, config: Config, remoteUser: RemoteUser, publishedPackage: string, publishType?: string): Promise<boolean[]>;
package/build/notify.js CHANGED
@@ -32,13 +32,10 @@ var debug = (0, _debug["default"])('verdaccio:hooks');
32
32
  function compileTemplate(content, metadata) {
33
33
  // FUTURE: multiple handlers
34
34
  return new Promise(function (resolve, reject) {
35
- var handler;
36
35
  try {
37
- if (!handler) {
38
- debug('compile default template handler %o', content);
39
- var template = _handlebars["default"].compile(content);
40
- return resolve(template(metadata));
41
- }
36
+ debug('compile default template handler %o', content);
37
+ var template = _handlebars["default"].compile(content);
38
+ return resolve(template(metadata));
42
39
  } catch (error) {
43
40
  debug('error template handler %o', error === null || error === void 0 ? void 0 : error.message);
44
41
  _logger.logger.error({
@@ -48,13 +45,12 @@ function compileTemplate(content, metadata) {
48
45
  }
49
46
  });
50
47
  }
51
- function handleNotify(_x, _x2, _x3, _x4) {
48
+ function handleNotify(_x, _x2, _x3, _x4, _x5) {
52
49
  return _handleNotify.apply(this, arguments);
53
50
  }
54
51
  function _handleNotify() {
55
- _handleNotify = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(metadata, notifyEntry, remoteUser, publishedPackage) {
56
- var _metadata, _metadata2;
57
- var regex, _notifyEntry$packageP, content, options, header, _t;
52
+ _handleNotify = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(metadata, notifyEntry, remoteUser, publishedPackage, publishType) {
53
+ var regex, _notifyEntry$packageP, publishMetadata, content, options, header, _t;
58
54
  return _regenerator().w(function (_context) {
59
55
  while (1) switch (_context.p = _context.n) {
60
56
  case 0:
@@ -83,36 +79,32 @@ function _handleNotify() {
83
79
  _logger.logger.error('Invalid regex pattern or flags: %o', _t === null || _t === void 0 ? void 0 : _t.message);
84
80
  return _context.a(2, false);
85
81
  case 4:
86
- if (!(typeof ((_metadata = metadata) === null || _metadata === void 0 ? void 0 : _metadata.publisher) === 'undefined' || ((_metadata2 = metadata) === null || _metadata2 === void 0 ? void 0 : _metadata2.publisher) === null)) {
87
- _context.n = 6;
88
- break;
89
- }
90
- // @ts-ignore
91
- metadata = _objectSpread(_objectSpread({}, metadata), {}, {
92
- publishedPackage: publishedPackage,
82
+ publishMetadata = _objectSpread(_objectSpread(_objectSpread({}, metadata), typeof metadata.publisher === 'undefined' || metadata.publisher === null ? {
83
+ // only expose the documented publisher fields, never the full remote
84
+ // user object (it may carry the auth token, which must not leak to the
85
+ // notification endpoint)
93
86
  publisher: {
94
- name: remoteUser.name
87
+ name: remoteUser.name,
88
+ groups: remoteUser.groups,
89
+ real_groups: remoteUser.real_groups
95
90
  }
91
+ } : {}), {}, {
92
+ publishedPackage: publishedPackage,
93
+ publishType: publishType
96
94
  });
97
- debug('template metadata %o', metadata);
95
+ debug('template metadata %o', publishMetadata);
98
96
  _context.n = 5;
99
- return compileTemplate(notifyEntry.content, metadata);
97
+ return compileTemplate(notifyEntry.content, publishMetadata);
100
98
  case 5:
101
99
  content = _context.v;
102
- case 6:
103
100
  options = {
104
101
  body: content
105
102
  }; // provides fallback support, it's accept an Object {} and Array of {}
106
103
  if (notifyEntry.headers && Array.isArray(notifyEntry.headers)) {
107
- header = {}; // FIXME: we can simplify this
108
- notifyEntry.headers.map(function (item) {
109
- if (Object.is(item, item)) {
110
- for (var key in item) {
111
- /* eslint no-prototype-builtins: 0 */
112
- if (item.hasOwnProperty(key)) {
113
- header[key] = item[key];
114
- }
115
- }
104
+ header = {};
105
+ notifyEntry.headers.forEach(function (item) {
106
+ if (item && _typeof(item) === 'object') {
107
+ Object.assign(header, item);
116
108
  }
117
109
  });
118
110
  options.headers = header;
@@ -120,12 +112,12 @@ function _handleNotify() {
120
112
  options.headers = notifyEntry.headers;
121
113
  }
122
114
  if (notifyEntry.endpoint) {
123
- _context.n = 7;
115
+ _context.n = 6;
124
116
  break;
125
117
  }
126
118
  debug('error due endpoint is missing');
127
119
  throw new Error('missing parameter');
128
- case 7:
120
+ case 6:
129
121
  return _context.a(2, (0, _notifyRequest.notifyRequest)(notifyEntry.endpoint, _objectSpread({
130
122
  method: notifyEntry.method
131
123
  }, options)));
@@ -134,17 +126,17 @@ function _handleNotify() {
134
126
  }));
135
127
  return _handleNotify.apply(this, arguments);
136
128
  }
137
- function sendNotification(metadata, notify, remoteUser, publishedPackage) {
138
- return handleNotify(metadata, notify, remoteUser, publishedPackage);
129
+ function sendNotification(metadata, notify, remoteUser, publishedPackage, publishType) {
130
+ return handleNotify(metadata, notify, remoteUser, publishedPackage, publishType);
139
131
  }
140
132
  function isHasNotification(value) {
141
133
  return value && _typeof(value) === 'object' && 'endpoint' in value && 'content' in value;
142
134
  }
143
- function notify(_x5, _x6, _x7, _x8) {
135
+ function notify(_x6, _x7, _x8, _x9, _x0) {
144
136
  return _notify.apply(this, arguments);
145
137
  }
146
138
  function _notify() {
147
- _notify = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(metadata, config, remoteUser, publishedPackage) {
139
+ _notify = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(metadata, config, remoteUser, publishedPackage, publishType) {
148
140
  var notification, isSingle, response, notificationEntries, results, _t2, _t3;
149
141
  return _regenerator().w(function (_context2) {
150
142
  while (1) switch (_context2.p = _context2.n) {
@@ -167,7 +159,7 @@ function _notify() {
167
159
  debug('send single notification');
168
160
  _context2.p = 2;
169
161
  _context2.n = 3;
170
- return sendNotification(metadata, config.notify, remoteUser, publishedPackage);
162
+ return sendNotification(metadata, config.notify, remoteUser, publishedPackage, publishType);
171
163
  case 3:
172
164
  response = _context2.v;
173
165
  return _context2.a(2, [response]);
@@ -198,7 +190,7 @@ function _notify() {
198
190
  return Promise.allSettled(notificationEntries.map(function (_ref3) {
199
191
  var _ref4 = _slicedToArray(_ref3, 2),
200
192
  item = _ref4[1];
201
- return sendNotification(metadata, item, remoteUser, publishedPackage);
193
+ return sendNotification(metadata, item, remoteUser, publishedPackage, publishType);
202
194
  }))["catch"](function (error) {
203
195
  _logger.logger.error({
204
196
  error: error
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","names":["_debug","_interopRequireDefault","require","_handlebars","_logger","_notifyRequest","e","__esModule","_slicedToArray","r","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","_regenerator","toStringTag","c","prototype","Generator","create","_regeneratorDefine2","p","y","G","v","d","bind","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","_typeof","toPrimitive","String","Number","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","debug","buildDebug","compileTemplate","content","metadata","reject","handler","template","Handlebars","compile","error","message","logger","handleNotify","_x","_x2","_x3","_x4","_handleNotify","_callee","notifyEntry","remoteUser","publishedPackage","_metadata","_metadata2","regex","_notifyEntry$packageP","options","header","_t","_context","packagePattern","packagePatternFlags","RegExp","publisher","body","headers","map","item","is","key","hasOwnProperty","endpoint","Error","notifyRequest","method","sendNotification","notify","isHasNotification","_x5","_x6","_x7","_x8","_notify","_callee2","config","notification","isSingle","response","notificationEntries","results","_t2","_t3","_context2","entries","_ref","_ref2","allSettled","_ref3","_ref4","result","status"],"sources":["../src/notify.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport Handlebars from 'handlebars';\n\nimport { logger } from '@verdaccio/logger';\nimport type { Config, Manifest, Notification, RemoteUser } from '@verdaccio/types';\n\nimport type { FetchOptions } from './notify-request';\nimport { notifyRequest } from './notify-request';\n\nconst debug = buildDebug('verdaccio:hooks');\n\nexport function compileTemplate(content, metadata) {\n // FUTURE: multiple handlers\n return new Promise((resolve, reject) => {\n let handler;\n try {\n if (!handler) {\n debug('compile default template handler %o', content);\n const template: HandlebarsTemplateDelegate = Handlebars.compile(content);\n return resolve(template(metadata));\n }\n } catch (error: any) {\n debug('error template handler %o', error?.message);\n logger.error(\n { error: error.message },\n 'notification template compilation has failed: @{error}'\n );\n reject(error);\n }\n });\n}\n\nexport async function handleNotify(\n metadata: Partial<Manifest>,\n notifyEntry,\n remoteUser: Partial<RemoteUser>,\n publishedPackage: string\n): Promise<boolean> {\n let regex;\n try {\n if (metadata.name && notifyEntry.packagePattern) {\n debug('checking package pattern %o', notifyEntry.packagePattern);\n debug('checking package pattern flags %o', notifyEntry.packagePatternFlags);\n regex = new RegExp(notifyEntry.packagePattern, notifyEntry.packagePatternFlags ?? '');\n if (!regex.test(metadata.name)) {\n logger.debug('Notification exclude does not match %o', metadata.name);\n return false;\n }\n debug('package pattern matched %o', metadata.name);\n }\n } catch (error: any) {\n logger.error('Invalid regex pattern or flags: %o', error?.message);\n return false;\n }\n\n let content;\n // FIXME: publisher is not part of the expected types metadata\n // @ts-ignore\n if (typeof metadata?.publisher === 'undefined' || metadata?.publisher === null) {\n // @ts-ignore\n metadata = { ...metadata, publishedPackage, publisher: { name: remoteUser.name as string } };\n debug('template metadata %o', metadata);\n content = await compileTemplate(notifyEntry.content, metadata);\n }\n\n const options: FetchOptions = {\n body: content,\n };\n\n // provides fallback support, it's accept an Object {} and Array of {}\n if (notifyEntry.headers && Array.isArray(notifyEntry.headers)) {\n const header = {};\n // FIXME: we can simplify this\n notifyEntry.headers.map(function (item): void {\n if (Object.is(item, item)) {\n for (const key in item) {\n /* eslint no-prototype-builtins: 0 */\n if (item.hasOwnProperty(key)) {\n header[key] = item[key];\n }\n }\n }\n });\n options.headers = header;\n } else if (Object.is(notifyEntry.headers, notifyEntry.headers)) {\n options.headers = notifyEntry.headers;\n }\n\n if (!notifyEntry.endpoint) {\n debug('error due endpoint is missing');\n throw new Error('missing parameter');\n }\n\n return notifyRequest(notifyEntry.endpoint, {\n method: notifyEntry.method,\n ...options,\n });\n}\n\nexport function sendNotification(\n metadata: Manifest,\n notify: Notification,\n remoteUser: Partial<RemoteUser>,\n publishedPackage: string\n): Promise<boolean> {\n return handleNotify(metadata, notify, remoteUser, publishedPackage) as Promise<any>;\n}\n\nfunction isHasNotification(value: any): value is Notification {\n return value && typeof value === 'object' && 'endpoint' in value && 'content' in value;\n}\n\nexport async function notify(\n metadata: Manifest,\n config: Config,\n remoteUser: RemoteUser,\n publishedPackage: string\n): Promise<boolean[]> {\n debug('init send notification');\n const notification = config?.notify;\n if (!notification) {\n debug('no notify configuration detected');\n return [false];\n }\n\n const isSingle = isHasNotification(notification);\n debug('is single notify %o', isSingle);\n if (isSingle) {\n debug('send single notification');\n try {\n const response = await sendNotification(\n metadata,\n config.notify as Notification,\n remoteUser,\n publishedPackage\n );\n return [response];\n } catch {\n debug('error on sending single notification');\n return [false];\n }\n } else {\n try {\n debug('send multiples notification');\n const notificationEntries = Object.entries(notification).filter(([, item]) =>\n isHasNotification(item)\n );\n debug('valid notification entries %o', notificationEntries.length);\n if (notificationEntries.length === 0) {\n // No valid notifications, return false for each entry\n return Object.keys(notification).map(() => false);\n }\n debug('sending %o notifications', notificationEntries.length);\n const results = await Promise.allSettled(\n notificationEntries.map(([, item]) =>\n sendNotification(metadata, item, remoteUser, publishedPackage)\n )\n ).catch((error) => {\n logger.error({ error }, 'notify request has failed: @error');\n });\n if (!results) {\n return [];\n }\n return results.map((result) => (result.status === 'fulfilled' ? result.value : false));\n } catch (error) {\n debug('error on sending multiple notification %o', error);\n return Object.keys(notification).map(() => false);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"notify.js","names":["_debug","_interopRequireDefault","require","_handlebars","_logger","_notifyRequest","e","__esModule","_slicedToArray","r","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","a","_arrayLikeToArray","t","toString","call","slice","constructor","name","Array","from","test","length","n","l","Symbol","iterator","i","u","f","o","next","Object","done","push","value","isArray","_regenerator","toStringTag","c","prototype","Generator","create","_regeneratorDefine2","p","y","G","v","d","bind","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","_typeof","toPrimitive","String","Number","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","debug","buildDebug","compileTemplate","content","metadata","reject","template","Handlebars","compile","error","message","logger","handleNotify","_x","_x2","_x3","_x4","_x5","_handleNotify","_callee","notifyEntry","remoteUser","publishedPackage","publishType","regex","_notifyEntry$packageP","publishMetadata","options","header","_t","_context","packagePattern","packagePatternFlags","RegExp","publisher","groups","real_groups","body","headers","item","assign","is","endpoint","Error","notifyRequest","method","sendNotification","notify","isHasNotification","_x6","_x7","_x8","_x9","_x0","_notify","_callee2","config","notification","isSingle","response","notificationEntries","results","_t2","_t3","_context2","entries","_ref","_ref2","map","allSettled","_ref3","_ref4","result","status"],"sources":["../src/notify.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport Handlebars from 'handlebars';\n\nimport { logger } from '@verdaccio/logger';\nimport type { Config, Manifest, Notification, RemoteUser } from '@verdaccio/types';\n\nimport type { FetchOptions } from './notify-request';\nimport { notifyRequest } from './notify-request';\n\nconst debug = buildDebug('verdaccio:hooks');\n\nexport function compileTemplate(content, metadata) {\n // FUTURE: multiple handlers\n return new Promise((resolve, reject) => {\n try {\n debug('compile default template handler %o', content);\n const template: HandlebarsTemplateDelegate = Handlebars.compile(content);\n return resolve(template(metadata));\n } catch (error: any) {\n debug('error template handler %o', error?.message);\n logger.error(\n { error: error.message },\n 'notification template compilation has failed: @{error}'\n );\n reject(error);\n }\n });\n}\n\nexport async function handleNotify(\n metadata: Partial<Manifest>,\n notifyEntry,\n remoteUser: Partial<RemoteUser>,\n publishedPackage: string,\n publishType?: string\n): Promise<boolean> {\n let regex;\n try {\n if (metadata.name && notifyEntry.packagePattern) {\n debug('checking package pattern %o', notifyEntry.packagePattern);\n debug('checking package pattern flags %o', notifyEntry.packagePatternFlags);\n regex = new RegExp(notifyEntry.packagePattern, notifyEntry.packagePatternFlags ?? '');\n if (!regex.test(metadata.name)) {\n logger.debug('Notification exclude does not match %o', metadata.name);\n return false;\n }\n debug('package pattern matched %o', metadata.name);\n }\n } catch (error: any) {\n logger.error('Invalid regex pattern or flags: %o', error?.message);\n return false;\n }\n\n const publishMetadata = {\n ...metadata,\n ...(typeof metadata.publisher === 'undefined' || metadata.publisher === null\n ? {\n // only expose the documented publisher fields, never the full remote\n // user object (it may carry the auth token, which must not leak to the\n // notification endpoint)\n publisher: {\n name: remoteUser.name,\n groups: remoteUser.groups,\n real_groups: remoteUser.real_groups,\n },\n }\n : {}),\n publishedPackage,\n publishType,\n };\n debug('template metadata %o', publishMetadata);\n const content = (await compileTemplate(notifyEntry.content, publishMetadata)) as string;\n\n const options: FetchOptions = {\n body: content,\n };\n\n // provides fallback support, it's accept an Object {} and Array of {}\n if (notifyEntry.headers && Array.isArray(notifyEntry.headers)) {\n const header = {};\n notifyEntry.headers.forEach((item): void => {\n if (item && typeof item === 'object') {\n Object.assign(header, item);\n }\n });\n options.headers = header;\n } else if (Object.is(notifyEntry.headers, notifyEntry.headers)) {\n options.headers = notifyEntry.headers;\n }\n\n if (!notifyEntry.endpoint) {\n debug('error due endpoint is missing');\n throw new Error('missing parameter');\n }\n\n return notifyRequest(notifyEntry.endpoint, {\n method: notifyEntry.method,\n ...options,\n });\n}\n\nexport function sendNotification(\n metadata: Manifest,\n notify: Notification,\n remoteUser: Partial<RemoteUser>,\n publishedPackage: string,\n publishType?: string\n): Promise<boolean> {\n return handleNotify(metadata, notify, remoteUser, publishedPackage, publishType) as Promise<any>;\n}\n\nfunction isHasNotification(value: any): value is Notification {\n return value && typeof value === 'object' && 'endpoint' in value && 'content' in value;\n}\n\nexport async function notify(\n metadata: Manifest,\n config: Config,\n remoteUser: RemoteUser,\n publishedPackage: string,\n publishType?: string\n): Promise<boolean[]> {\n debug('init send notification');\n const notification = config?.notify;\n if (!notification) {\n debug('no notify configuration detected');\n return [false];\n }\n\n const isSingle = isHasNotification(notification);\n debug('is single notify %o', isSingle);\n if (isSingle) {\n debug('send single notification');\n try {\n const response = await sendNotification(\n metadata,\n config.notify as Notification,\n remoteUser,\n publishedPackage,\n publishType\n );\n return [response];\n } catch {\n debug('error on sending single notification');\n return [false];\n }\n } else {\n try {\n debug('send multiples notification');\n const notificationEntries = Object.entries(notification).filter(([, item]) =>\n isHasNotification(item)\n );\n debug('valid notification entries %o', notificationEntries.length);\n if (notificationEntries.length === 0) {\n // No valid notifications, return false for each entry\n return Object.keys(notification).map(() => false);\n }\n debug('sending %o notifications', notificationEntries.length);\n const results = await Promise.allSettled(\n notificationEntries.map(([, item]) =>\n sendNotification(metadata, item, remoteUser, publishedPackage, publishType)\n )\n ).catch((error) => {\n logger.error({ error }, 'notify request has failed: @error');\n });\n if (!results) {\n return [];\n }\n return results.map((result) => (result.status === 'fulfilled' ? result.value : false));\n } catch (error) {\n debug('error on sending multiple notification %o', error);\n return Object.keys(notification).map(() => false);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,9 +1,23 @@
1
1
  {
2
2
  "name": "@verdaccio/hooks",
3
- "version": "8.0.3",
3
+ "version": "8.0.4",
4
4
  "description": "Verdaccio Hooks",
5
- "main": "./build/index.js",
6
- "types": "build/index.d.ts",
5
+ "keywords": [
6
+ "enterprise",
7
+ "modules",
8
+ "package",
9
+ "private",
10
+ "proxy",
11
+ "registry",
12
+ "repository",
13
+ "server",
14
+ "verdaccio"
15
+ ],
16
+ "homepage": "https://verdaccio.org",
17
+ "bugs": {
18
+ "url": "https://github.com/verdaccio/verdaccio/issues"
19
+ },
20
+ "license": "MIT",
7
21
  "author": {
8
22
  "name": "Juan Picado",
9
23
  "email": "juanpicado19@gmail.com"
@@ -13,25 +27,12 @@
13
27
  "url": "https://github.com/verdaccio/verdaccio",
14
28
  "directory": "packages/hooks"
15
29
  },
16
- "bugs": {
17
- "url": "https://github.com/verdaccio/verdaccio/issues"
18
- },
19
- "license": "MIT",
20
- "homepage": "https://verdaccio.org",
21
- "keywords": [
22
- "private",
23
- "package",
24
- "repository",
25
- "registry",
26
- "enterprise",
27
- "modules",
28
- "proxy",
29
- "server",
30
- "verdaccio"
31
- ],
32
- "engines": {
33
- "node": ">=18"
30
+ "funding": {
31
+ "type": "opencollective",
32
+ "url": "https://opencollective.com/verdaccio"
34
33
  },
34
+ "main": "./build/index.js",
35
+ "types": "build/index.d.ts",
35
36
  "dependencies": {
36
37
  "@verdaccio/core": "8.1.2",
37
38
  "@verdaccio/logger": "8.0.3",
@@ -41,14 +42,13 @@
41
42
  },
42
43
  "devDependencies": {
43
44
  "@verdaccio/config": "8.1.2",
44
- "@verdaccio/types": "13.0.2",
45
+ "@verdaccio/types": "13.0.3",
45
46
  "nock": "13.5.6",
46
47
  "vitest": "4.1.2",
47
- "@verdaccio/test-helper": "4.0.3"
48
+ "@verdaccio/test-helper": "4.0.6"
48
49
  },
49
- "funding": {
50
- "type": "opencollective",
51
- "url": "https://opencollective.com/verdaccio"
50
+ "engines": {
51
+ "node": ">=18"
52
52
  },
53
53
  "scripts": {
54
54
  "clean": "rimraf ./build",