@verdaccio/core 6.0.0-6-next.75 → 7.0.0-next-7.7

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 CHANGED
@@ -1,5 +1,186 @@
1
1
  # @verdaccio/core
2
2
 
3
+ ## 7.0.0-next-7.7
4
+
5
+ ## 7.0.0-next.6
6
+
7
+ ## 7.0.0-next.5
8
+
9
+ ### Minor Changes
10
+
11
+ - f047cc8: refactor: auth with legacy sign support
12
+
13
+ ## 7.0.0-next.4
14
+
15
+ ## 7.0.0-next.3
16
+
17
+ ### Major Changes
18
+
19
+ - e7ebccb61: update major dependencies, remove old nodejs support
20
+
21
+ ### Minor Changes
22
+
23
+ - daceb6d87: restore legacy support
24
+
25
+ ## 7.0.0-next.2
26
+
27
+ ## 7.0.0-next.1
28
+
29
+ ## 7.0.0-next.0
30
+
31
+ ### Major Changes
32
+
33
+ - feat!: bump to v7
34
+
35
+ ## 6.0.0
36
+
37
+ ### Major Changes
38
+
39
+ - 292c0a37f: feat!: replace deprecated request dependency by got
40
+
41
+ This is a big refactoring of the core, fetching dependencies, improve code, more tests and better stability. This is essential for the next release, will take some time but would allow modularize more the core.
42
+
43
+ ## Notes
44
+
45
+ - Remove deprecated `request` by other `got`, retry improved, custom Agent ( got does not include it built-in)
46
+ - Remove `async` dependency from storage (used by core) it was linked with proxy somehow safe to remove now
47
+ - Refactor with promises instead callback wherever is possible
48
+ - ~Document the API~
49
+ - Improve testing, integration tests
50
+ - Bugfix
51
+ - Clean up old validations
52
+ - Improve performance
53
+
54
+ ## 💥 Breaking changes
55
+
56
+ - Plugin API methods were callbacks based are returning promises, this will break current storage plugins, check documentation for upgrade.
57
+ - Write Tarball, Read Tarball methods parameters change, a new set of options like `AbortController` signals are being provided to the `addAbortSignal` can be internally used with Streams when a request is aborted. eg: `addAbortSignal(signal, fs.createReadStream(pathName));`
58
+ - `@verdaccio/streams` stream abort support is legacy is being deprecated removed
59
+ - Remove AWS and Google Cloud packages for future refactoring [#2574](https://github.com/verdaccio/verdaccio/pull/2574).
60
+
61
+ - a3a209b5e: feat: migrate to pino.js 8
62
+ - 459b6fa72: refactor: search v1 endpoint and local-database
63
+
64
+ - refactor search `api v1` endpoint, improve performance
65
+ - remove usage of `async` dependency https://github.com/verdaccio/verdaccio/issues/1225
66
+ - refactor method storage class
67
+ - create new module `core` to reduce the ammount of modules with utilities
68
+ - use `undici` instead `node-fetch`
69
+ - use `fastify` instead `express` for functional test
70
+
71
+ ### Breaking changes
72
+
73
+ - plugin storage API changes
74
+ - remove old search endpoint (return 404)
75
+ - filter local private packages at plugin level
76
+
77
+ The storage api changes for methods `get`, `add`, `remove` as promise base. The `search` methods also changes and recieves a `query` object that contains all query params from the client.
78
+
79
+ ```ts
80
+ export interface IPluginStorage<T> extends IPlugin {
81
+ add(name: string): Promise<void>;
82
+ remove(name: string): Promise<void>;
83
+ get(): Promise<any>;
84
+ init(): Promise<void>;
85
+ getSecret(): Promise<string>;
86
+ setSecret(secret: string): Promise<any>;
87
+ getPackageStorage(packageInfo: string): IPackageStorage;
88
+ search(query: searchUtils.SearchQuery): Promise<searchUtils.SearchItem[]>;
89
+ saveToken(token: Token): Promise<any>;
90
+ deleteToken(user: string, tokenKey: string): Promise<any>;
91
+ readTokens(filter: TokenFilter): Promise<Token[]>;
92
+ }
93
+ ```
94
+
95
+ - 794af76c5: Remove Node 12 support
96
+
97
+ - We need move to the new `undici` and does not support Node.js 12
98
+
99
+ - 82cb0f2bf: feat!: config.logs throw an error, logging config not longer accept array or logs property
100
+
101
+ ### 💥 Breaking change
102
+
103
+ This is valid
104
+
105
+ ```yaml
106
+ log: { type: stdout, format: pretty, level: http }
107
+ ```
108
+
109
+ This is invalid
110
+
111
+ ```yaml
112
+ logs: { type: stdout, format: pretty, level: http }
113
+ ```
114
+
115
+ or
116
+
117
+ ```yaml
118
+ logs:
119
+ - [{ type: stdout, format: pretty, level: http }]
120
+ ```
121
+
122
+ ### Minor Changes
123
+
124
+ - 974cd8c19: fix: startup messages improved and logs support on types
125
+ - ef88da3b4: feat: improve support for fs promises older nodejs
126
+ - 24b9be020: refactor: improve docker image build with strict dependencies and prod build
127
+ - 00d1d2a17: chore: env variable for launch fastify
128
+
129
+ - Update fastify to major release `v4.3.0`
130
+ - Update CLI launcher
131
+
132
+ via CLI
133
+
134
+ ```
135
+ VERDACCIO_SERVER=fastify verdaccio
136
+ ```
137
+
138
+ with docker
139
+
140
+ ```
141
+ docker run -it --rm --name verdaccio \
142
+ -e "VERDACCIO_SERVER=8080" -p 8080:8080 \
143
+ -e "VERDACCIO_SERVER=fastify" \
144
+ verdaccio/verdaccio
145
+ ```
146
+
147
+ - 154b2ecd3: refactor: remove @verdaccio/commons-api in favor @verdaccio/core and remove duplications
148
+ - 16e38df8a: feat: trustProxy property
149
+ - dc571aabd: feat: add forceEnhancedLegacySignature
150
+ - 6c1eb021b: feat: use warning codes for deprecation warnings
151
+ - 62c24b632: feat: add passwordValidationRegex property
152
+ - 5167bb528: feat: ui search support for remote, local and private packages
153
+
154
+ The command `npm search` search globally and return all matches, with this improvement the user interface
155
+ is powered with the same capabilities.
156
+
157
+ The UI also tag where is the origin the package with a tag, also provide the latest version and description of the package.
158
+
159
+ - c9d1af0e5: feat: async bcrypt hash
160
+ - 4b29d715b: chore: move improvements from v5 to v6
161
+
162
+ Migrate improvements form v5 to v6:
163
+
164
+ - https://github.com/verdaccio/verdaccio/pull/3158
165
+ - https://github.com/verdaccio/verdaccio/pull/3151
166
+ - https://github.com/verdaccio/verdaccio/pull/2271
167
+ - https://github.com/verdaccio/verdaccio/pull/2787
168
+ - https://github.com/verdaccio/verdaccio/pull/2791
169
+ - https://github.com/verdaccio/verdaccio/pull/2205
170
+
171
+ ### Patch Changes
172
+
173
+ - 43f32687c: fix: abbreviated headers handle quality values
174
+ - 351aeeaa8: fix(deps): @verdaccio/utils should be a prod dep of local-storage
175
+ - 9718e0330: fix: build targets for 5x modules
176
+ - a1da11308: fix: minor typo on warning message
177
+ - 378e907d5: fix(core): fix `isObject` function.`isObject(true)` should return false.
178
+ - f859d2b1a: fix: official package "-" cannot be synced
179
+ - 0a6412ca9: refactor: got instead undici
180
+ - b849128de: fix: handle upload scoped tarball
181
+
182
+ ## 6.0.0-6-next.76
183
+
3
184
  ## 6.0.0-6-next.75
4
185
 
5
186
  ### Patch Changes
@@ -80,8 +80,8 @@ export declare const API_MESSAGE: {
80
80
  LOGGED_OUT: string;
81
81
  };
82
82
  export declare const LOG_STATUS_MESSAGE = "@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}'";
83
- export declare const LOG_VERDACCIO_ERROR: string;
84
- export declare const LOG_VERDACCIO_BYTES: string;
83
+ export declare const LOG_VERDACCIO_ERROR = "@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}', error: @{!error}";
84
+ export declare const LOG_VERDACCIO_BYTES = "@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}', bytes: @{bytes.in}/@{bytes.out}";
85
85
  export declare const ROLES: {
86
86
  $ALL: string;
87
87
  ALL: string;
@@ -6,39 +6,28 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.USERS = exports.TOKEN_BEARER = exports.TOKEN_BASIC = exports.TIME_EXPIRATION_24H = exports.TIME_EXPIRATION_1H = exports.ROLES = exports.PACKAGE_ACCESS = exports.LOG_VERDACCIO_ERROR = exports.LOG_VERDACCIO_BYTES = exports.LOG_STATUS_MESSAGE = exports.LATEST = exports.HtpasswdHashAlgorithm = exports.HTTP_STATUS = exports.HEADER_TYPE = exports.HEADERS = exports.ERROR_CODE = exports.DIST_TAGS = exports.DEFAULT_USER = exports.DEFAULT_PASSWORD_VALIDATION = exports.CHARACTER_ENCODING = exports.API_MESSAGE = void 0;
7
7
  var _httpStatusCodes = _interopRequireDefault(require("http-status-codes"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- const DEFAULT_PASSWORD_VALIDATION = /.{3}$/;
10
- exports.DEFAULT_PASSWORD_VALIDATION = DEFAULT_PASSWORD_VALIDATION;
11
- const TIME_EXPIRATION_24H = '24h';
12
- exports.TIME_EXPIRATION_24H = TIME_EXPIRATION_24H;
13
- const TIME_EXPIRATION_1H = '1h';
14
- exports.TIME_EXPIRATION_1H = TIME_EXPIRATION_1H;
15
- const DIST_TAGS = 'dist-tags';
16
- exports.DIST_TAGS = DIST_TAGS;
17
- const LATEST = 'latest';
18
- exports.LATEST = LATEST;
19
- const USERS = 'users';
20
- exports.USERS = USERS;
21
- const DEFAULT_USER = 'Anonymous';
22
- exports.DEFAULT_USER = DEFAULT_USER;
23
- const HEADER_TYPE = {
9
+ const DEFAULT_PASSWORD_VALIDATION = exports.DEFAULT_PASSWORD_VALIDATION = /.{3}$/;
10
+ const TIME_EXPIRATION_24H = exports.TIME_EXPIRATION_24H = '24h';
11
+ const TIME_EXPIRATION_1H = exports.TIME_EXPIRATION_1H = '1h';
12
+ const DIST_TAGS = exports.DIST_TAGS = 'dist-tags';
13
+ const LATEST = exports.LATEST = 'latest';
14
+ const USERS = exports.USERS = 'users';
15
+ const DEFAULT_USER = exports.DEFAULT_USER = 'Anonymous';
16
+ const HEADER_TYPE = exports.HEADER_TYPE = {
24
17
  CONTENT_ENCODING: 'content-encoding',
25
18
  CONTENT_TYPE: 'content-type',
26
19
  CONTENT_LENGTH: 'content-length',
27
20
  ACCEPT_ENCODING: 'accept-encoding',
28
21
  AUTHORIZATION: 'authorization'
29
22
  };
30
- exports.HEADER_TYPE = HEADER_TYPE;
31
- const CHARACTER_ENCODING = {
23
+ const CHARACTER_ENCODING = exports.CHARACTER_ENCODING = {
32
24
  UTF8: 'utf8'
33
25
  };
34
26
 
35
27
  // @deprecated use Bearer instead
36
- exports.CHARACTER_ENCODING = CHARACTER_ENCODING;
37
- const TOKEN_BASIC = 'Basic';
38
- exports.TOKEN_BASIC = TOKEN_BASIC;
39
- const TOKEN_BEARER = 'Bearer';
40
- exports.TOKEN_BEARER = TOKEN_BEARER;
41
- const HEADERS = {
28
+ const TOKEN_BASIC = exports.TOKEN_BASIC = 'Basic';
29
+ const TOKEN_BEARER = exports.TOKEN_BEARER = 'Bearer';
30
+ const HEADERS = exports.HEADERS = {
42
31
  ACCEPT: 'Accept',
43
32
  ACCEPT_ENCODING: 'Accept-Encoding',
44
33
  USER_AGENT: 'User-Agent',
@@ -68,8 +57,7 @@ const HEADERS = {
68
57
  WWW_AUTH: 'WWW-Authenticate',
69
58
  GZIP: 'gzip'
70
59
  };
71
- exports.HEADERS = HEADERS;
72
- const HTTP_STATUS = {
60
+ const HTTP_STATUS = exports.HTTP_STATUS = {
73
61
  OK: _httpStatusCodes.default.OK,
74
62
  CREATED: _httpStatusCodes.default.CREATED,
75
63
  MULTIPLE_CHOICES: _httpStatusCodes.default.MULTIPLE_CHOICES,
@@ -87,12 +75,10 @@ const HTTP_STATUS = {
87
75
  LOOP_DETECTED: 508,
88
76
  CANNOT_HANDLE: 590
89
77
  };
90
- exports.HTTP_STATUS = HTTP_STATUS;
91
- const ERROR_CODE = {
78
+ const ERROR_CODE = exports.ERROR_CODE = {
92
79
  token_required: 'token is required'
93
80
  };
94
- exports.ERROR_CODE = ERROR_CODE;
95
- const API_MESSAGE = {
81
+ const API_MESSAGE = exports.API_MESSAGE = {
96
82
  PKG_CREATED: 'created new package',
97
83
  PKG_CHANGED: 'package changed',
98
84
  PKG_REMOVED: 'package removed',
@@ -105,14 +91,10 @@ const API_MESSAGE = {
105
91
  OK: 'ok',
106
92
  LOGGED_OUT: 'Logged out'
107
93
  };
108
- exports.API_MESSAGE = API_MESSAGE;
109
- const LOG_STATUS_MESSAGE = "@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}'";
110
- exports.LOG_STATUS_MESSAGE = LOG_STATUS_MESSAGE;
111
- const LOG_VERDACCIO_ERROR = `${LOG_STATUS_MESSAGE}, error: @{!error}`;
112
- exports.LOG_VERDACCIO_ERROR = LOG_VERDACCIO_ERROR;
113
- const LOG_VERDACCIO_BYTES = `${LOG_STATUS_MESSAGE}, bytes: @{bytes.in}/@{bytes.out}`;
114
- exports.LOG_VERDACCIO_BYTES = LOG_VERDACCIO_BYTES;
115
- const ROLES = {
94
+ const LOG_STATUS_MESSAGE = exports.LOG_STATUS_MESSAGE = "@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}'";
95
+ const LOG_VERDACCIO_ERROR = exports.LOG_VERDACCIO_ERROR = `${LOG_STATUS_MESSAGE}, error: @{!error}`;
96
+ const LOG_VERDACCIO_BYTES = exports.LOG_VERDACCIO_BYTES = `${LOG_STATUS_MESSAGE}, bytes: @{bytes.in}/@{bytes.out}`;
97
+ const ROLES = exports.ROLES = {
116
98
  $ALL: '$all',
117
99
  ALL: 'all',
118
100
  $AUTH: '$authenticated',
@@ -121,18 +103,15 @@ const ROLES = {
121
103
  DEPRECATED_AUTH: '@authenticated',
122
104
  DEPRECATED_ANONYMOUS: '@anonymous'
123
105
  };
124
- exports.ROLES = ROLES;
125
- const PACKAGE_ACCESS = {
106
+ const PACKAGE_ACCESS = exports.PACKAGE_ACCESS = {
126
107
  SCOPE: '@*/*',
127
108
  ALL: '**'
128
109
  };
129
- exports.PACKAGE_ACCESS = PACKAGE_ACCESS;
130
- let HtpasswdHashAlgorithm = /*#__PURE__*/function (HtpasswdHashAlgorithm) {
110
+ let HtpasswdHashAlgorithm = exports.HtpasswdHashAlgorithm = /*#__PURE__*/function (HtpasswdHashAlgorithm) {
131
111
  HtpasswdHashAlgorithm["md5"] = "md5";
132
112
  HtpasswdHashAlgorithm["sha1"] = "sha1";
133
113
  HtpasswdHashAlgorithm["crypt"] = "crypt";
134
114
  HtpasswdHashAlgorithm["bcrypt"] = "bcrypt";
135
115
  return HtpasswdHashAlgorithm;
136
116
  }({});
137
- exports.HtpasswdHashAlgorithm = HtpasswdHashAlgorithm;
138
117
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["_httpStatusCodes","_interopRequireDefault","require","obj","__esModule","default","DEFAULT_PASSWORD_VALIDATION","exports","TIME_EXPIRATION_24H","TIME_EXPIRATION_1H","DIST_TAGS","LATEST","USERS","DEFAULT_USER","HEADER_TYPE","CONTENT_ENCODING","CONTENT_TYPE","CONTENT_LENGTH","ACCEPT_ENCODING","AUTHORIZATION","CHARACTER_ENCODING","UTF8","TOKEN_BASIC","TOKEN_BEARER","HEADERS","ACCEPT","USER_AGENT","JSON","TEXT_PLAIN","TEXT_PLAIN_UTF8","TEXT_HTML_UTF8","TEXT_HTML","CACHE_CONTROL","FORWARDED_PROTO","FORWARDED_FOR","FRAMES_OPTIONS","CSP","CTO","XSS","NONE_MATCH","ETAG","JSON_CHARSET","JSON_INSTALL_CHARSET","OCTET_STREAM","TEXT_CHARSET","WWW_AUTH","GZIP","HTTP_STATUS","OK","httpCodes","CREATED","MULTIPLE_CHOICES","NOT_MODIFIED","BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","NOT_IMPLEMENTED","UNSUPPORTED_MEDIA","UNSUPPORTED_MEDIA_TYPE","BAD_DATA","UNPROCESSABLE_ENTITY","INTERNAL_ERROR","INTERNAL_SERVER_ERROR","SERVICE_UNAVAILABLE","LOOP_DETECTED","CANNOT_HANDLE","ERROR_CODE","token_required","API_MESSAGE","PKG_CREATED","PKG_CHANGED","PKG_REMOVED","PKG_PUBLISHED","TARBALL_UPLOADED","TARBALL_REMOVED","TAG_UPDATED","TAG_REMOVED","TAG_ADDED","LOGGED_OUT","LOG_STATUS_MESSAGE","LOG_VERDACCIO_ERROR","LOG_VERDACCIO_BYTES","ROLES","$ALL","ALL","$AUTH","$ANONYMOUS","DEPRECATED_ALL","DEPRECATED_AUTH","DEPRECATED_ANONYMOUS","PACKAGE_ACCESS","SCOPE","HtpasswdHashAlgorithm"],"sources":["../src/constants.ts"],"sourcesContent":["import httpCodes from 'http-status-codes';\n\nexport const DEFAULT_PASSWORD_VALIDATION = /.{3}$/;\nexport const TIME_EXPIRATION_24H = '24h';\nexport const TIME_EXPIRATION_1H = '1h';\nexport const DIST_TAGS = 'dist-tags';\nexport const LATEST = 'latest';\nexport const USERS = 'users';\nexport const DEFAULT_USER = 'Anonymous';\n\nexport const HEADER_TYPE = {\n CONTENT_ENCODING: 'content-encoding',\n CONTENT_TYPE: 'content-type',\n CONTENT_LENGTH: 'content-length',\n ACCEPT_ENCODING: 'accept-encoding',\n AUTHORIZATION: 'authorization',\n};\n\nexport const CHARACTER_ENCODING = {\n UTF8: 'utf8',\n};\n\n// @deprecated use Bearer instead\nexport const TOKEN_BASIC = 'Basic';\nexport const TOKEN_BEARER = 'Bearer';\n\nexport const HEADERS = {\n ACCEPT: 'Accept',\n ACCEPT_ENCODING: 'Accept-Encoding',\n USER_AGENT: 'User-Agent',\n JSON: 'application/json',\n CONTENT_TYPE: 'Content-type',\n CONTENT_LENGTH: 'content-length',\n TEXT_PLAIN: 'text/plain',\n TEXT_PLAIN_UTF8: 'text/plain; charset=utf-8',\n TEXT_HTML_UTF8: 'text/html; charset=utf-8',\n TEXT_HTML: 'text/html',\n AUTHORIZATION: 'authorization',\n CACHE_CONTROL: 'Cache-Control',\n // only set with proxy that setup HTTPS\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto\n FORWARDED_PROTO: 'X-Forwarded-Proto',\n FORWARDED_FOR: 'X-Forwarded-For',\n FRAMES_OPTIONS: 'X-Frame-Options',\n CSP: 'Content-Security-Policy',\n CTO: 'X-Content-Type-Options',\n XSS: 'X-XSS-Protection',\n NONE_MATCH: 'If-None-Match',\n ETAG: 'ETag',\n JSON_CHARSET: 'application/json; charset=utf-8',\n JSON_INSTALL_CHARSET: 'application/vnd.npm.install-v1+json; charset=utf-8',\n OCTET_STREAM: 'application/octet-stream; charset=utf-8',\n TEXT_CHARSET: 'text/plain; charset=utf-8',\n WWW_AUTH: 'WWW-Authenticate',\n GZIP: 'gzip',\n};\n\nexport const HTTP_STATUS = {\n OK: httpCodes.OK,\n CREATED: httpCodes.CREATED,\n MULTIPLE_CHOICES: httpCodes.MULTIPLE_CHOICES,\n NOT_MODIFIED: httpCodes.NOT_MODIFIED,\n BAD_REQUEST: httpCodes.BAD_REQUEST,\n UNAUTHORIZED: httpCodes.UNAUTHORIZED,\n FORBIDDEN: httpCodes.FORBIDDEN,\n NOT_FOUND: httpCodes.NOT_FOUND,\n CONFLICT: httpCodes.CONFLICT,\n NOT_IMPLEMENTED: httpCodes.NOT_IMPLEMENTED,\n UNSUPPORTED_MEDIA: httpCodes.UNSUPPORTED_MEDIA_TYPE,\n BAD_DATA: httpCodes.UNPROCESSABLE_ENTITY,\n INTERNAL_ERROR: httpCodes.INTERNAL_SERVER_ERROR,\n SERVICE_UNAVAILABLE: httpCodes.SERVICE_UNAVAILABLE,\n LOOP_DETECTED: 508,\n CANNOT_HANDLE: 590,\n};\n\nexport const ERROR_CODE = {\n token_required: 'token is required',\n};\n\nexport const API_MESSAGE = {\n PKG_CREATED: 'created new package',\n PKG_CHANGED: 'package changed',\n PKG_REMOVED: 'package removed',\n PKG_PUBLISHED: 'package published',\n TARBALL_UPLOADED: 'tarball uploaded successfully',\n TARBALL_REMOVED: 'tarball removed',\n TAG_UPDATED: 'tags updated',\n TAG_REMOVED: 'tag removed',\n TAG_ADDED: 'package tagged',\n OK: 'ok',\n LOGGED_OUT: 'Logged out',\n};\n\nexport const LOG_STATUS_MESSAGE =\n \"@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}'\";\nexport const LOG_VERDACCIO_ERROR = `${LOG_STATUS_MESSAGE}, error: @{!error}`;\nexport const LOG_VERDACCIO_BYTES = `${LOG_STATUS_MESSAGE}, bytes: @{bytes.in}/@{bytes.out}`;\n\nexport const ROLES = {\n $ALL: '$all',\n ALL: 'all',\n $AUTH: '$authenticated',\n $ANONYMOUS: '$anonymous',\n DEPRECATED_ALL: '@all',\n DEPRECATED_AUTH: '@authenticated',\n DEPRECATED_ANONYMOUS: '@anonymous',\n};\n\nexport const PACKAGE_ACCESS = {\n SCOPE: '@*/*',\n ALL: '**',\n};\n\nexport enum HtpasswdHashAlgorithm {\n md5 = 'md5',\n sha1 = 'sha1',\n crypt = 'crypt',\n bcrypt = 'bcrypt',\n}\n"],"mappings":";;;;;;AAAA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0C,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnC,MAAMG,2BAA2B,GAAG,OAAO;AAACC,OAAA,CAAAD,2BAAA,GAAAA,2BAAA;AAC5C,MAAME,mBAAmB,GAAG,KAAK;AAACD,OAAA,CAAAC,mBAAA,GAAAA,mBAAA;AAClC,MAAMC,kBAAkB,GAAG,IAAI;AAACF,OAAA,CAAAE,kBAAA,GAAAA,kBAAA;AAChC,MAAMC,SAAS,GAAG,WAAW;AAACH,OAAA,CAAAG,SAAA,GAAAA,SAAA;AAC9B,MAAMC,MAAM,GAAG,QAAQ;AAACJ,OAAA,CAAAI,MAAA,GAAAA,MAAA;AACxB,MAAMC,KAAK,GAAG,OAAO;AAACL,OAAA,CAAAK,KAAA,GAAAA,KAAA;AACtB,MAAMC,YAAY,GAAG,WAAW;AAACN,OAAA,CAAAM,YAAA,GAAAA,YAAA;AAEjC,MAAMC,WAAW,GAAG;EACzBC,gBAAgB,EAAE,kBAAkB;EACpCC,YAAY,EAAE,cAAc;EAC5BC,cAAc,EAAE,gBAAgB;EAChCC,eAAe,EAAE,iBAAiB;EAClCC,aAAa,EAAE;AACjB,CAAC;AAACZ,OAAA,CAAAO,WAAA,GAAAA,WAAA;AAEK,MAAMM,kBAAkB,GAAG;EAChCC,IAAI,EAAE;AACR,CAAC;;AAED;AAAAd,OAAA,CAAAa,kBAAA,GAAAA,kBAAA;AACO,MAAME,WAAW,GAAG,OAAO;AAACf,OAAA,CAAAe,WAAA,GAAAA,WAAA;AAC5B,MAAMC,YAAY,GAAG,QAAQ;AAAChB,OAAA,CAAAgB,YAAA,GAAAA,YAAA;AAE9B,MAAMC,OAAO,GAAG;EACrBC,MAAM,EAAE,QAAQ;EAChBP,eAAe,EAAE,iBAAiB;EAClCQ,UAAU,EAAE,YAAY;EACxBC,IAAI,EAAE,kBAAkB;EACxBX,YAAY,EAAE,cAAc;EAC5BC,cAAc,EAAE,gBAAgB;EAChCW,UAAU,EAAE,YAAY;EACxBC,eAAe,EAAE,2BAA2B;EAC5CC,cAAc,EAAE,0BAA0B;EAC1CC,SAAS,EAAE,WAAW;EACtBZ,aAAa,EAAE,eAAe;EAC9Ba,aAAa,EAAE,eAAe;EAC9B;EACA;EACAC,eAAe,EAAE,mBAAmB;EACpCC,aAAa,EAAE,iBAAiB;EAChCC,cAAc,EAAE,iBAAiB;EACjCC,GAAG,EAAE,yBAAyB;EAC9BC,GAAG,EAAE,wBAAwB;EAC7BC,GAAG,EAAE,kBAAkB;EACvBC,UAAU,EAAE,eAAe;EAC3BC,IAAI,EAAE,MAAM;EACZC,YAAY,EAAE,iCAAiC;EAC/CC,oBAAoB,EAAE,oDAAoD;EAC1EC,YAAY,EAAE,yCAAyC;EACvDC,YAAY,EAAE,2BAA2B;EACzCC,QAAQ,EAAE,kBAAkB;EAC5BC,IAAI,EAAE;AACR,CAAC;AAACvC,OAAA,CAAAiB,OAAA,GAAAA,OAAA;AAEK,MAAMuB,WAAW,GAAG;EACzBC,EAAE,EAAEC,wBAAS,CAACD,EAAE;EAChBE,OAAO,EAAED,wBAAS,CAACC,OAAO;EAC1BC,gBAAgB,EAAEF,wBAAS,CAACE,gBAAgB;EAC5CC,YAAY,EAAEH,wBAAS,CAACG,YAAY;EACpCC,WAAW,EAAEJ,wBAAS,CAACI,WAAW;EAClCC,YAAY,EAAEL,wBAAS,CAACK,YAAY;EACpCC,SAAS,EAAEN,wBAAS,CAACM,SAAS;EAC9BC,SAAS,EAAEP,wBAAS,CAACO,SAAS;EAC9BC,QAAQ,EAAER,wBAAS,CAACQ,QAAQ;EAC5BC,eAAe,EAAET,wBAAS,CAACS,eAAe;EAC1CC,iBAAiB,EAAEV,wBAAS,CAACW,sBAAsB;EACnDC,QAAQ,EAAEZ,wBAAS,CAACa,oBAAoB;EACxCC,cAAc,EAAEd,wBAAS,CAACe,qBAAqB;EAC/CC,mBAAmB,EAAEhB,wBAAS,CAACgB,mBAAmB;EAClDC,aAAa,EAAE,GAAG;EAClBC,aAAa,EAAE;AACjB,CAAC;AAAC5D,OAAA,CAAAwC,WAAA,GAAAA,WAAA;AAEK,MAAMqB,UAAU,GAAG;EACxBC,cAAc,EAAE;AAClB,CAAC;AAAC9D,OAAA,CAAA6D,UAAA,GAAAA,UAAA;AAEK,MAAME,WAAW,GAAG;EACzBC,WAAW,EAAE,qBAAqB;EAClCC,WAAW,EAAE,iBAAiB;EAC9BC,WAAW,EAAE,iBAAiB;EAC9BC,aAAa,EAAE,mBAAmB;EAClCC,gBAAgB,EAAE,+BAA+B;EACjDC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,cAAc;EAC3BC,WAAW,EAAE,aAAa;EAC1BC,SAAS,EAAE,gBAAgB;EAC3B/B,EAAE,EAAE,IAAI;EACRgC,UAAU,EAAE;AACd,CAAC;AAACzE,OAAA,CAAA+D,WAAA,GAAAA,WAAA;AAEK,MAAMW,kBAAkB,GAC7B,gFAAgF;AAAC1E,OAAA,CAAA0E,kBAAA,GAAAA,kBAAA;AAC5E,MAAMC,mBAAmB,GAAI,GAAED,kBAAmB,oBAAmB;AAAC1E,OAAA,CAAA2E,mBAAA,GAAAA,mBAAA;AACtE,MAAMC,mBAAmB,GAAI,GAAEF,kBAAmB,mCAAkC;AAAC1E,OAAA,CAAA4E,mBAAA,GAAAA,mBAAA;AAErF,MAAMC,KAAK,GAAG;EACnBC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,gBAAgB;EACvBC,UAAU,EAAE,YAAY;EACxBC,cAAc,EAAE,MAAM;EACtBC,eAAe,EAAE,gBAAgB;EACjCC,oBAAoB,EAAE;AACxB,CAAC;AAACpF,OAAA,CAAA6E,KAAA,GAAAA,KAAA;AAEK,MAAMQ,cAAc,GAAG;EAC5BC,KAAK,EAAE,MAAM;EACbP,GAAG,EAAE;AACP,CAAC;AAAC/E,OAAA,CAAAqF,cAAA,GAAAA,cAAA;AAAA,IAEUE,qBAAqB,0BAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAArBA,qBAAqB;EAAA,OAArBA,qBAAqB;AAAA;AAAAvF,OAAA,CAAAuF,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"file":"constants.js","names":["_httpStatusCodes","_interopRequireDefault","require","obj","__esModule","default","DEFAULT_PASSWORD_VALIDATION","exports","TIME_EXPIRATION_24H","TIME_EXPIRATION_1H","DIST_TAGS","LATEST","USERS","DEFAULT_USER","HEADER_TYPE","CONTENT_ENCODING","CONTENT_TYPE","CONTENT_LENGTH","ACCEPT_ENCODING","AUTHORIZATION","CHARACTER_ENCODING","UTF8","TOKEN_BASIC","TOKEN_BEARER","HEADERS","ACCEPT","USER_AGENT","JSON","TEXT_PLAIN","TEXT_PLAIN_UTF8","TEXT_HTML_UTF8","TEXT_HTML","CACHE_CONTROL","FORWARDED_PROTO","FORWARDED_FOR","FRAMES_OPTIONS","CSP","CTO","XSS","NONE_MATCH","ETAG","JSON_CHARSET","JSON_INSTALL_CHARSET","OCTET_STREAM","TEXT_CHARSET","WWW_AUTH","GZIP","HTTP_STATUS","OK","httpCodes","CREATED","MULTIPLE_CHOICES","NOT_MODIFIED","BAD_REQUEST","UNAUTHORIZED","FORBIDDEN","NOT_FOUND","CONFLICT","NOT_IMPLEMENTED","UNSUPPORTED_MEDIA","UNSUPPORTED_MEDIA_TYPE","BAD_DATA","UNPROCESSABLE_ENTITY","INTERNAL_ERROR","INTERNAL_SERVER_ERROR","SERVICE_UNAVAILABLE","LOOP_DETECTED","CANNOT_HANDLE","ERROR_CODE","token_required","API_MESSAGE","PKG_CREATED","PKG_CHANGED","PKG_REMOVED","PKG_PUBLISHED","TARBALL_UPLOADED","TARBALL_REMOVED","TAG_UPDATED","TAG_REMOVED","TAG_ADDED","LOGGED_OUT","LOG_STATUS_MESSAGE","LOG_VERDACCIO_ERROR","LOG_VERDACCIO_BYTES","ROLES","$ALL","ALL","$AUTH","$ANONYMOUS","DEPRECATED_ALL","DEPRECATED_AUTH","DEPRECATED_ANONYMOUS","PACKAGE_ACCESS","SCOPE","HtpasswdHashAlgorithm"],"sources":["../src/constants.ts"],"sourcesContent":["import httpCodes from 'http-status-codes';\n\nexport const DEFAULT_PASSWORD_VALIDATION = /.{3}$/;\nexport const TIME_EXPIRATION_24H = '24h';\nexport const TIME_EXPIRATION_1H = '1h';\nexport const DIST_TAGS = 'dist-tags';\nexport const LATEST = 'latest';\nexport const USERS = 'users';\nexport const DEFAULT_USER = 'Anonymous';\n\nexport const HEADER_TYPE = {\n CONTENT_ENCODING: 'content-encoding',\n CONTENT_TYPE: 'content-type',\n CONTENT_LENGTH: 'content-length',\n ACCEPT_ENCODING: 'accept-encoding',\n AUTHORIZATION: 'authorization',\n};\n\nexport const CHARACTER_ENCODING = {\n UTF8: 'utf8',\n};\n\n// @deprecated use Bearer instead\nexport const TOKEN_BASIC = 'Basic';\nexport const TOKEN_BEARER = 'Bearer';\n\nexport const HEADERS = {\n ACCEPT: 'Accept',\n ACCEPT_ENCODING: 'Accept-Encoding',\n USER_AGENT: 'User-Agent',\n JSON: 'application/json',\n CONTENT_TYPE: 'Content-type',\n CONTENT_LENGTH: 'content-length',\n TEXT_PLAIN: 'text/plain',\n TEXT_PLAIN_UTF8: 'text/plain; charset=utf-8',\n TEXT_HTML_UTF8: 'text/html; charset=utf-8',\n TEXT_HTML: 'text/html',\n AUTHORIZATION: 'authorization',\n CACHE_CONTROL: 'Cache-Control',\n // only set with proxy that setup HTTPS\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto\n FORWARDED_PROTO: 'X-Forwarded-Proto',\n FORWARDED_FOR: 'X-Forwarded-For',\n FRAMES_OPTIONS: 'X-Frame-Options',\n CSP: 'Content-Security-Policy',\n CTO: 'X-Content-Type-Options',\n XSS: 'X-XSS-Protection',\n NONE_MATCH: 'If-None-Match',\n ETAG: 'ETag',\n JSON_CHARSET: 'application/json; charset=utf-8',\n JSON_INSTALL_CHARSET: 'application/vnd.npm.install-v1+json; charset=utf-8',\n OCTET_STREAM: 'application/octet-stream; charset=utf-8',\n TEXT_CHARSET: 'text/plain; charset=utf-8',\n WWW_AUTH: 'WWW-Authenticate',\n GZIP: 'gzip',\n};\n\nexport const HTTP_STATUS = {\n OK: httpCodes.OK,\n CREATED: httpCodes.CREATED,\n MULTIPLE_CHOICES: httpCodes.MULTIPLE_CHOICES,\n NOT_MODIFIED: httpCodes.NOT_MODIFIED,\n BAD_REQUEST: httpCodes.BAD_REQUEST,\n UNAUTHORIZED: httpCodes.UNAUTHORIZED,\n FORBIDDEN: httpCodes.FORBIDDEN,\n NOT_FOUND: httpCodes.NOT_FOUND,\n CONFLICT: httpCodes.CONFLICT,\n NOT_IMPLEMENTED: httpCodes.NOT_IMPLEMENTED,\n UNSUPPORTED_MEDIA: httpCodes.UNSUPPORTED_MEDIA_TYPE,\n BAD_DATA: httpCodes.UNPROCESSABLE_ENTITY,\n INTERNAL_ERROR: httpCodes.INTERNAL_SERVER_ERROR,\n SERVICE_UNAVAILABLE: httpCodes.SERVICE_UNAVAILABLE,\n LOOP_DETECTED: 508,\n CANNOT_HANDLE: 590,\n};\n\nexport const ERROR_CODE = {\n token_required: 'token is required',\n};\n\nexport const API_MESSAGE = {\n PKG_CREATED: 'created new package',\n PKG_CHANGED: 'package changed',\n PKG_REMOVED: 'package removed',\n PKG_PUBLISHED: 'package published',\n TARBALL_UPLOADED: 'tarball uploaded successfully',\n TARBALL_REMOVED: 'tarball removed',\n TAG_UPDATED: 'tags updated',\n TAG_REMOVED: 'tag removed',\n TAG_ADDED: 'package tagged',\n OK: 'ok',\n LOGGED_OUT: 'Logged out',\n};\n\nexport const LOG_STATUS_MESSAGE =\n \"@{status}, user: @{user}(@{remoteIP}), req: '@{request.method} @{request.url}'\";\nexport const LOG_VERDACCIO_ERROR = `${LOG_STATUS_MESSAGE}, error: @{!error}`;\nexport const LOG_VERDACCIO_BYTES = `${LOG_STATUS_MESSAGE}, bytes: @{bytes.in}/@{bytes.out}`;\n\nexport const ROLES = {\n $ALL: '$all',\n ALL: 'all',\n $AUTH: '$authenticated',\n $ANONYMOUS: '$anonymous',\n DEPRECATED_ALL: '@all',\n DEPRECATED_AUTH: '@authenticated',\n DEPRECATED_ANONYMOUS: '@anonymous',\n};\n\nexport const PACKAGE_ACCESS = {\n SCOPE: '@*/*',\n ALL: '**',\n};\n\nexport enum HtpasswdHashAlgorithm {\n md5 = 'md5',\n sha1 = 'sha1',\n crypt = 'crypt',\n bcrypt = 'bcrypt',\n}\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ exports.getUnauthorized = getUnauthorized;
16
16
  var _httpErrors = _interopRequireDefault(require("http-errors"));
17
17
  var _constants = require("./constants");
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
- const API_ERROR = {
19
+ const API_ERROR = exports.API_ERROR = {
20
20
  PASSWORD_SHORT: `The provided password does not pass the validation`,
21
21
  MUST_BE_LOGGED: 'You must be logged in to publish packages.',
22
22
  PLUGIN_ERROR: 'bug in the auth plugin system',
@@ -54,20 +54,17 @@ const API_ERROR = {
54
54
  USERNAME_PASSWORD_REQUIRED: 'username and password is required',
55
55
  USERNAME_ALREADY_REGISTERED: 'username is already registered'
56
56
  };
57
- exports.API_ERROR = API_ERROR;
58
- const SUPPORT_ERRORS = {
57
+ const SUPPORT_ERRORS = exports.SUPPORT_ERRORS = {
59
58
  PLUGIN_MISSING_INTERFACE: 'the plugin does not provide implementation of the requested feature',
60
59
  TFA_DISABLED: 'the two-factor authentication is not yet supported',
61
60
  STORAGE_NOT_IMPLEMENT: 'the storage does not support token saving',
62
61
  PARAMETERS_NOT_VALID: 'the parameters are not valid'
63
62
  };
64
- exports.SUPPORT_ERRORS = SUPPORT_ERRORS;
65
- const APP_ERROR = {
63
+ const APP_ERROR = exports.APP_ERROR = {
66
64
  CONFIG_NOT_VALID: 'CONFIG: it does not look like a valid config file',
67
65
  PROFILE_ERROR: 'profile unexpected error',
68
66
  PASSWORD_VALIDATION: 'not valid password'
69
67
  };
70
- exports.APP_ERROR = APP_ERROR;
71
68
  function getError(code, message) {
72
69
  const httpError = (0, _httpErrors.default)(code, message);
73
70
  httpError.code = code;
@@ -1 +1 @@
1
- {"version":3,"file":"error-utils.js","names":["_httpErrors","_interopRequireDefault","require","_constants","obj","__esModule","default","API_ERROR","PASSWORD_SHORT","MUST_BE_LOGGED","PLUGIN_ERROR","CONFIG_BAD_FORMAT","BAD_USERNAME_PASSWORD","NO_PACKAGE","PACKAGE_CANNOT_BE_ADDED","BAD_DATA","NOT_ALLOWED","NOT_ALLOWED_PUBLISH","INTERNAL_SERVER_ERROR","UNKNOWN_ERROR","NOT_PACKAGE_UPLINK","UPLINK_OFFLINE_PUBLISH","UPLINK_OFFLINE","NOT_MODIFIED_NO_DATA","CONTENT_MISMATCH","NOT_FILE_UPLINK","MAX_USERS_REACHED","VERSION_NOT_EXIST","NO_SUCH_FILE","UNSUPORTED_REGISTRY_CALL","FILE_NOT_FOUND","REGISTRATION_DISABLED","UNAUTHORIZED_ACCESS","BAD_STATUS_CODE","SERVER_TIME_OUT","PACKAGE_EXIST","BAD_AUTH_HEADER","WEB_DISABLED","DEPRECATED_BASIC_HEADER","BAD_FORMAT_USER_GROUP","RESOURCE_UNAVAILABLE","BAD_PACKAGE_DATA","USERNAME_PASSWORD_REQUIRED","USERNAME_ALREADY_REGISTERED","exports","SUPPORT_ERRORS","PLUGIN_MISSING_INTERFACE","TFA_DISABLED","STORAGE_NOT_IMPLEMENT","PARAMETERS_NOT_VALID","APP_ERROR","CONFIG_NOT_VALID","PROFILE_ERROR","PASSWORD_VALIDATION","getError","code","message","httpError","createError","getConflict","HTTP_STATUS","CONFLICT","getBadData","customMessage","getBadRequest","BAD_REQUEST","getInternalError","INTERNAL_ERROR","getUnauthorized","UNAUTHORIZED","getForbidden","FORBIDDEN","getServiceUnavailable","SERVICE_UNAVAILABLE","getNotFound","NOT_FOUND","getCode","statusCode"],"sources":["../src/error-utils.ts"],"sourcesContent":["import createError, { HttpError } from 'http-errors';\n\nimport { HTTP_STATUS } from './constants';\n\nexport const API_ERROR = {\n PASSWORD_SHORT: `The provided password does not pass the validation`,\n MUST_BE_LOGGED: 'You must be logged in to publish packages.',\n PLUGIN_ERROR: 'bug in the auth plugin system',\n CONFIG_BAD_FORMAT: 'config file must be an object',\n BAD_USERNAME_PASSWORD: 'bad username/password, access denied',\n NO_PACKAGE: 'no such package available',\n PACKAGE_CANNOT_BE_ADDED: 'this package cannot be added',\n BAD_DATA: 'bad data',\n NOT_ALLOWED: 'not allowed to access package',\n NOT_ALLOWED_PUBLISH: 'not allowed to publish package',\n INTERNAL_SERVER_ERROR: 'internal server error',\n UNKNOWN_ERROR: 'unknown error',\n NOT_PACKAGE_UPLINK: 'package does not exist on uplink',\n UPLINK_OFFLINE_PUBLISH: 'one of the uplinks is down, refuse to publish',\n UPLINK_OFFLINE: 'uplink is offline',\n NOT_MODIFIED_NO_DATA: 'no data',\n CONTENT_MISMATCH: 'content length mismatch',\n NOT_FILE_UPLINK: \"file doesn't exist on uplink\",\n MAX_USERS_REACHED: 'maximum amount of users reached',\n VERSION_NOT_EXIST: \"this version doesn't exist\",\n NO_SUCH_FILE: 'no such file available',\n UNSUPORTED_REGISTRY_CALL: 'unsupported registry call',\n FILE_NOT_FOUND: 'File not found',\n REGISTRATION_DISABLED: 'user registration disabled',\n UNAUTHORIZED_ACCESS: 'unauthorized access',\n BAD_STATUS_CODE: 'bad status code',\n SERVER_TIME_OUT: 'looks like the server is taking to long to respond',\n PACKAGE_EXIST: 'this package is already present',\n BAD_AUTH_HEADER: 'bad authorization header',\n WEB_DISABLED: 'Web interface is disabled in the config file',\n DEPRECATED_BASIC_HEADER: 'basic authentication is deprecated, please use JWT instead',\n BAD_FORMAT_USER_GROUP: 'user groups is different than an array',\n RESOURCE_UNAVAILABLE: 'resource unavailable',\n BAD_PACKAGE_DATA: 'bad incoming package data',\n USERNAME_PASSWORD_REQUIRED: 'username and password is required',\n USERNAME_ALREADY_REGISTERED: 'username is already registered',\n};\n\nexport const SUPPORT_ERRORS = {\n PLUGIN_MISSING_INTERFACE: 'the plugin does not provide implementation of the requested feature',\n TFA_DISABLED: 'the two-factor authentication is not yet supported',\n STORAGE_NOT_IMPLEMENT: 'the storage does not support token saving',\n PARAMETERS_NOT_VALID: 'the parameters are not valid',\n};\n\nexport const APP_ERROR = {\n CONFIG_NOT_VALID: 'CONFIG: it does not look like a valid config file',\n PROFILE_ERROR: 'profile unexpected error',\n PASSWORD_VALIDATION: 'not valid password',\n};\n\nexport type VerdaccioError = HttpError & { code: number };\n\nfunction getError(code: number, message: string): VerdaccioError {\n const httpError = createError(code, message);\n\n httpError.code = code;\n\n return httpError as VerdaccioError;\n}\n\nexport function getConflict(message: string = API_ERROR.PACKAGE_EXIST): VerdaccioError {\n return getError(HTTP_STATUS.CONFLICT, message);\n}\n\nexport function getBadData(customMessage?: string): VerdaccioError {\n return getError(HTTP_STATUS.BAD_DATA, customMessage || API_ERROR.BAD_DATA);\n}\n\nexport function getBadRequest(customMessage: string): VerdaccioError {\n return getError(HTTP_STATUS.BAD_REQUEST, customMessage);\n}\n\nexport function getInternalError(customMessage?: string): VerdaccioError {\n return customMessage\n ? getError(HTTP_STATUS.INTERNAL_ERROR, customMessage)\n : getError(HTTP_STATUS.INTERNAL_ERROR, API_ERROR.UNKNOWN_ERROR);\n}\n\nexport function getUnauthorized(message = 'no credentials provided'): VerdaccioError {\n return getError(HTTP_STATUS.UNAUTHORIZED, message);\n}\n\nexport function getForbidden(message = \"can't use this filename\"): VerdaccioError {\n return getError(HTTP_STATUS.FORBIDDEN, message);\n}\n\nexport function getServiceUnavailable(\n message: string = API_ERROR.RESOURCE_UNAVAILABLE\n): VerdaccioError {\n return getError(HTTP_STATUS.SERVICE_UNAVAILABLE, message);\n}\n\nexport function getNotFound(customMessage?: string): VerdaccioError {\n return getError(HTTP_STATUS.NOT_FOUND, customMessage || API_ERROR.NO_PACKAGE);\n}\n\nexport function getCode(statusCode: number, customMessage: string): VerdaccioError {\n return getError(statusCode, customMessage);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"error-utils.js","names":["_httpErrors","_interopRequireDefault","require","_constants","obj","__esModule","default","API_ERROR","exports","PASSWORD_SHORT","MUST_BE_LOGGED","PLUGIN_ERROR","CONFIG_BAD_FORMAT","BAD_USERNAME_PASSWORD","NO_PACKAGE","PACKAGE_CANNOT_BE_ADDED","BAD_DATA","NOT_ALLOWED","NOT_ALLOWED_PUBLISH","INTERNAL_SERVER_ERROR","UNKNOWN_ERROR","NOT_PACKAGE_UPLINK","UPLINK_OFFLINE_PUBLISH","UPLINK_OFFLINE","NOT_MODIFIED_NO_DATA","CONTENT_MISMATCH","NOT_FILE_UPLINK","MAX_USERS_REACHED","VERSION_NOT_EXIST","NO_SUCH_FILE","UNSUPORTED_REGISTRY_CALL","FILE_NOT_FOUND","REGISTRATION_DISABLED","UNAUTHORIZED_ACCESS","BAD_STATUS_CODE","SERVER_TIME_OUT","PACKAGE_EXIST","BAD_AUTH_HEADER","WEB_DISABLED","DEPRECATED_BASIC_HEADER","BAD_FORMAT_USER_GROUP","RESOURCE_UNAVAILABLE","BAD_PACKAGE_DATA","USERNAME_PASSWORD_REQUIRED","USERNAME_ALREADY_REGISTERED","SUPPORT_ERRORS","PLUGIN_MISSING_INTERFACE","TFA_DISABLED","STORAGE_NOT_IMPLEMENT","PARAMETERS_NOT_VALID","APP_ERROR","CONFIG_NOT_VALID","PROFILE_ERROR","PASSWORD_VALIDATION","getError","code","message","httpError","createError","getConflict","HTTP_STATUS","CONFLICT","getBadData","customMessage","getBadRequest","BAD_REQUEST","getInternalError","INTERNAL_ERROR","getUnauthorized","UNAUTHORIZED","getForbidden","FORBIDDEN","getServiceUnavailable","SERVICE_UNAVAILABLE","getNotFound","NOT_FOUND","getCode","statusCode"],"sources":["../src/error-utils.ts"],"sourcesContent":["import createError, { HttpError } from 'http-errors';\n\nimport { HTTP_STATUS } from './constants';\n\nexport const API_ERROR = {\n PASSWORD_SHORT: `The provided password does not pass the validation`,\n MUST_BE_LOGGED: 'You must be logged in to publish packages.',\n PLUGIN_ERROR: 'bug in the auth plugin system',\n CONFIG_BAD_FORMAT: 'config file must be an object',\n BAD_USERNAME_PASSWORD: 'bad username/password, access denied',\n NO_PACKAGE: 'no such package available',\n PACKAGE_CANNOT_BE_ADDED: 'this package cannot be added',\n BAD_DATA: 'bad data',\n NOT_ALLOWED: 'not allowed to access package',\n NOT_ALLOWED_PUBLISH: 'not allowed to publish package',\n INTERNAL_SERVER_ERROR: 'internal server error',\n UNKNOWN_ERROR: 'unknown error',\n NOT_PACKAGE_UPLINK: 'package does not exist on uplink',\n UPLINK_OFFLINE_PUBLISH: 'one of the uplinks is down, refuse to publish',\n UPLINK_OFFLINE: 'uplink is offline',\n NOT_MODIFIED_NO_DATA: 'no data',\n CONTENT_MISMATCH: 'content length mismatch',\n NOT_FILE_UPLINK: \"file doesn't exist on uplink\",\n MAX_USERS_REACHED: 'maximum amount of users reached',\n VERSION_NOT_EXIST: \"this version doesn't exist\",\n NO_SUCH_FILE: 'no such file available',\n UNSUPORTED_REGISTRY_CALL: 'unsupported registry call',\n FILE_NOT_FOUND: 'File not found',\n REGISTRATION_DISABLED: 'user registration disabled',\n UNAUTHORIZED_ACCESS: 'unauthorized access',\n BAD_STATUS_CODE: 'bad status code',\n SERVER_TIME_OUT: 'looks like the server is taking to long to respond',\n PACKAGE_EXIST: 'this package is already present',\n BAD_AUTH_HEADER: 'bad authorization header',\n WEB_DISABLED: 'Web interface is disabled in the config file',\n DEPRECATED_BASIC_HEADER: 'basic authentication is deprecated, please use JWT instead',\n BAD_FORMAT_USER_GROUP: 'user groups is different than an array',\n RESOURCE_UNAVAILABLE: 'resource unavailable',\n BAD_PACKAGE_DATA: 'bad incoming package data',\n USERNAME_PASSWORD_REQUIRED: 'username and password is required',\n USERNAME_ALREADY_REGISTERED: 'username is already registered',\n};\n\nexport const SUPPORT_ERRORS = {\n PLUGIN_MISSING_INTERFACE: 'the plugin does not provide implementation of the requested feature',\n TFA_DISABLED: 'the two-factor authentication is not yet supported',\n STORAGE_NOT_IMPLEMENT: 'the storage does not support token saving',\n PARAMETERS_NOT_VALID: 'the parameters are not valid',\n};\n\nexport const APP_ERROR = {\n CONFIG_NOT_VALID: 'CONFIG: it does not look like a valid config file',\n PROFILE_ERROR: 'profile unexpected error',\n PASSWORD_VALIDATION: 'not valid password',\n};\n\nexport type VerdaccioError = HttpError & { code: number };\n\nfunction getError(code: number, message: string): VerdaccioError {\n const httpError = createError(code, message);\n\n httpError.code = code;\n\n return httpError as VerdaccioError;\n}\n\nexport function getConflict(message: string = API_ERROR.PACKAGE_EXIST): VerdaccioError {\n return getError(HTTP_STATUS.CONFLICT, message);\n}\n\nexport function getBadData(customMessage?: string): VerdaccioError {\n return getError(HTTP_STATUS.BAD_DATA, customMessage || API_ERROR.BAD_DATA);\n}\n\nexport function getBadRequest(customMessage: string): VerdaccioError {\n return getError(HTTP_STATUS.BAD_REQUEST, customMessage);\n}\n\nexport function getInternalError(customMessage?: string): VerdaccioError {\n return customMessage\n ? getError(HTTP_STATUS.INTERNAL_ERROR, customMessage)\n : getError(HTTP_STATUS.INTERNAL_ERROR, API_ERROR.UNKNOWN_ERROR);\n}\n\nexport function getUnauthorized(message = 'no credentials provided'): VerdaccioError {\n return getError(HTTP_STATUS.UNAUTHORIZED, message);\n}\n\nexport function getForbidden(message = \"can't use this filename\"): VerdaccioError {\n return getError(HTTP_STATUS.FORBIDDEN, message);\n}\n\nexport function getServiceUnavailable(\n message: string = API_ERROR.RESOURCE_UNAVAILABLE\n): VerdaccioError {\n return getError(HTTP_STATUS.SERVICE_UNAVAILABLE, message);\n}\n\nexport function getNotFound(customMessage?: string): VerdaccioError {\n return getError(HTTP_STATUS.NOT_FOUND, customMessage || API_ERROR.NO_PACKAGE);\n}\n\nexport function getCode(statusCode: number, customMessage: string): VerdaccioError {\n return getError(statusCode, customMessage);\n}\n"],"mappings":"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"}
@@ -10,10 +10,9 @@ var _fs = _interopRequireDefault(require("fs"));
10
10
  var _os = _interopRequireDefault(require("os"));
11
11
  var _path = _interopRequireDefault(require("path"));
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- const Files = {
13
+ const Files = exports.Files = {
14
14
  DatabaseName: '.verdaccio-db.json'
15
15
  };
16
- exports.Files = Files;
17
16
  const {
18
17
  mkdir,
19
18
  mkdtemp
@@ -1 +1 @@
1
- {"version":3,"file":"file-utils.js","names":["_fs","_interopRequireDefault","require","_os","_path","obj","__esModule","default","Files","DatabaseName","exports","mkdir","mkdtemp","fs","promises","createTempFolder","prefix","path","join","os","tmpdir","createTempStorageFolder","folder","tempFolder","storageFolder"],"sources":["../src/file-utils.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nexport const Files = {\n DatabaseName: '.verdaccio-db.json',\n};\n\nconst { mkdir, mkdtemp } = fs.promises ? fs.promises : require('fs/promises');\n\n/**\n * Create a temporary folder.\n * @param prefix The prefix of the folder name.\n * @returns string\n */\nexport async function createTempFolder(prefix: string): Promise<string> {\n return await mkdtemp(path.join(os.tmpdir(), prefix));\n}\n\n/**\n * Create temporary folder for an asset.\n * @param prefix\n * @param folder name\n * @returns\n */\nexport async function createTempStorageFolder(prefix: string, folder = 'storage'): Promise<string> {\n const tempFolder = await createTempFolder(prefix);\n const storageFolder = path.join(tempFolder, folder);\n await mkdir(storageFolder);\n return storageFolder;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAwB,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEjB,MAAMG,KAAK,GAAG;EACnBC,YAAY,EAAE;AAChB,CAAC;AAACC,OAAA,CAAAF,KAAA,GAAAA,KAAA;AAEF,MAAM;EAAEG,KAAK;EAAEC;AAAQ,CAAC,GAAGC,WAAE,CAACC,QAAQ,GAAGD,WAAE,CAACC,QAAQ,GAAGZ,OAAO,CAAC,aAAa,CAAC;;AAE7E;AACA;AACA;AACA;AACA;AACO,eAAea,gBAAgBA,CAACC,MAAc,EAAmB;EACtE,OAAO,MAAMJ,OAAO,CAACK,aAAI,CAACC,IAAI,CAACC,WAAE,CAACC,MAAM,CAAC,CAAC,EAAEJ,MAAM,CAAC,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeK,uBAAuBA,CAACL,MAAc,EAAEM,MAAM,GAAG,SAAS,EAAmB;EACjG,MAAMC,UAAU,GAAG,MAAMR,gBAAgB,CAACC,MAAM,CAAC;EACjD,MAAMQ,aAAa,GAAGP,aAAI,CAACC,IAAI,CAACK,UAAU,EAAED,MAAM,CAAC;EACnD,MAAMX,KAAK,CAACa,aAAa,CAAC;EAC1B,OAAOA,aAAa;AACtB"}
1
+ {"version":3,"file":"file-utils.js","names":["_fs","_interopRequireDefault","require","_os","_path","obj","__esModule","default","Files","exports","DatabaseName","mkdir","mkdtemp","fs","promises","createTempFolder","prefix","path","join","os","tmpdir","createTempStorageFolder","folder","tempFolder","storageFolder"],"sources":["../src/file-utils.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nexport const Files = {\n DatabaseName: '.verdaccio-db.json',\n};\n\nconst { mkdir, mkdtemp } = fs.promises ? fs.promises : require('fs/promises');\n\n/**\n * Create a temporary folder.\n * @param prefix The prefix of the folder name.\n * @returns string\n */\nexport async function createTempFolder(prefix: string): Promise<string> {\n return await mkdtemp(path.join(os.tmpdir(), prefix));\n}\n\n/**\n * Create temporary folder for an asset.\n * @param prefix\n * @param folder name\n * @returns\n */\nexport async function createTempStorageFolder(prefix: string, folder = 'storage'): Promise<string> {\n const tempFolder = await createTempFolder(prefix);\n const storageFolder = path.join(tempFolder, folder);\n await mkdir(storageFolder);\n return storageFolder;\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,GAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,GAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAwB,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEjB,MAAMG,KAAK,GAAAC,OAAA,CAAAD,KAAA,GAAG;EACnBE,YAAY,EAAE;AAChB,CAAC;AAED,MAAM;EAAEC,KAAK;EAAEC;AAAQ,CAAC,GAAGC,WAAE,CAACC,QAAQ,GAAGD,WAAE,CAACC,QAAQ,GAAGZ,OAAO,CAAC,aAAa,CAAC;;AAE7E;AACA;AACA;AACA;AACA;AACO,eAAea,gBAAgBA,CAACC,MAAc,EAAmB;EACtE,OAAO,MAAMJ,OAAO,CAACK,aAAI,CAACC,IAAI,CAACC,WAAE,CAACC,MAAM,CAAC,CAAC,EAAEJ,MAAM,CAAC,CAAC;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeK,uBAAuBA,CAACL,MAAc,EAAEM,MAAM,GAAG,SAAS,EAAmB;EACjG,MAAMC,UAAU,GAAG,MAAMR,gBAAgB,CAACC,MAAM,CAAC;EACjD,MAAMQ,aAAa,GAAGP,aAAI,CAACC,IAAI,CAACK,UAAU,EAAED,MAAM,CAAC;EACnD,MAAMX,KAAK,CAACa,aAAa,CAAC;EAC1B,OAAOA,aAAa;AACtB"}
package/build/index.js CHANGED
@@ -126,8 +126,7 @@ var validatioUtils = _interopRequireWildcard(require("./validation-utils"));
126
126
  exports.validatioUtils = validatioUtils;
127
127
  var warningUtils = _interopRequireWildcard(require("./warning-utils"));
128
128
  exports.warningUtils = warningUtils;
129
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
130
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
131
- const validationUtils = validatioUtils;
132
- exports.validationUtils = validationUtils;
129
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
130
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
131
+ const validationUtils = exports.validationUtils = validatioUtils;
133
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["constants","_interopRequireWildcard","require","exports","errorUtils","fileUtils","pkgUtils","pluginUtils","searchUtils","streamUtils","stringUtils","validatioUtils","warningUtils","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","validationUtils"],"sources":["../src/index.ts"],"sourcesContent":["import * as constants from './constants';\nimport * as errorUtils from './error-utils';\nimport * as fileUtils from './file-utils';\nimport * as pkgUtils from './pkg-utils';\nimport * as pluginUtils from './plugin-utils';\nimport * as searchUtils from './search-utils';\nimport * as streamUtils from './stream-utils';\nimport * as stringUtils from './string-utils';\nimport * as validatioUtils from './validation-utils';\nimport * as warningUtils from './warning-utils';\n\nexport { VerdaccioError, API_ERROR, SUPPORT_ERRORS, APP_ERROR } from './error-utils';\nexport {\n TOKEN_BASIC,\n TOKEN_BEARER,\n HTTP_STATUS,\n API_MESSAGE,\n HEADERS,\n DIST_TAGS,\n CHARACTER_ENCODING,\n HEADER_TYPE,\n LATEST,\n DEFAULT_PASSWORD_VALIDATION,\n DEFAULT_USER,\n USERS,\n HtpasswdHashAlgorithm,\n} from './constants';\nconst validationUtils = validatioUtils;\nexport {\n fileUtils,\n pkgUtils,\n searchUtils,\n streamUtils,\n errorUtils,\n // TODO: remove this typo\n validatioUtils,\n validationUtils,\n stringUtils,\n constants,\n pluginUtils,\n warningUtils,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyCC,OAAA,CAAAH,SAAA,GAAAA,SAAA;AACzC,IAAAI,UAAA,GAAAH,uBAAA,CAAAC,OAAA;AAA4CC,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAC5C,IAAAC,SAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAA0CC,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAC1C,IAAAC,QAAA,GAAAL,uBAAA,CAAAC,OAAA;AAAwCC,OAAA,CAAAG,QAAA,GAAAA,QAAA;AACxC,IAAAC,WAAA,GAAAN,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAI,WAAA,GAAAA,WAAA;AAC9C,IAAAC,WAAA,GAAAP,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAK,WAAA,GAAAA,WAAA;AAC9C,IAAAC,WAAA,GAAAR,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAM,WAAA,GAAAA,WAAA;AAC9C,IAAAC,WAAA,GAAAT,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAO,WAAA,GAAAA,WAAA;AAC9C,IAAAC,cAAA,GAAAV,uBAAA,CAAAC,OAAA;AAAqDC,OAAA,CAAAQ,cAAA,GAAAA,cAAA;AACrD,IAAAC,YAAA,GAAAX,uBAAA,CAAAC,OAAA;AAAgDC,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAkBhD,MAAMW,eAAe,GAAGxB,cAAc;AAACR,OAAA,CAAAgC,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"file":"index.js","names":["constants","_interopRequireWildcard","require","exports","errorUtils","fileUtils","pkgUtils","pluginUtils","searchUtils","streamUtils","stringUtils","validatioUtils","warningUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","validationUtils"],"sources":["../src/index.ts"],"sourcesContent":["import * as constants from './constants';\nimport * as errorUtils from './error-utils';\nimport * as fileUtils from './file-utils';\nimport * as pkgUtils from './pkg-utils';\nimport * as pluginUtils from './plugin-utils';\nimport * as searchUtils from './search-utils';\nimport * as streamUtils from './stream-utils';\nimport * as stringUtils from './string-utils';\nimport * as validatioUtils from './validation-utils';\nimport * as warningUtils from './warning-utils';\n\nexport { VerdaccioError, API_ERROR, SUPPORT_ERRORS, APP_ERROR } from './error-utils';\nexport {\n TOKEN_BASIC,\n TOKEN_BEARER,\n HTTP_STATUS,\n API_MESSAGE,\n HEADERS,\n DIST_TAGS,\n CHARACTER_ENCODING,\n HEADER_TYPE,\n LATEST,\n DEFAULT_PASSWORD_VALIDATION,\n DEFAULT_USER,\n USERS,\n HtpasswdHashAlgorithm,\n} from './constants';\nconst validationUtils = validatioUtils;\nexport {\n fileUtils,\n pkgUtils,\n searchUtils,\n streamUtils,\n errorUtils,\n // TODO: remove this typo\n validatioUtils,\n validationUtils,\n stringUtils,\n constants,\n pluginUtils,\n warningUtils,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyCC,OAAA,CAAAH,SAAA,GAAAA,SAAA;AACzC,IAAAI,UAAA,GAAAH,uBAAA,CAAAC,OAAA;AAA4CC,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAC5C,IAAAC,SAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAA0CC,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAC1C,IAAAC,QAAA,GAAAL,uBAAA,CAAAC,OAAA;AAAwCC,OAAA,CAAAG,QAAA,GAAAA,QAAA;AACxC,IAAAC,WAAA,GAAAN,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAI,WAAA,GAAAA,WAAA;AAC9C,IAAAC,WAAA,GAAAP,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAK,WAAA,GAAAA,WAAA;AAC9C,IAAAC,WAAA,GAAAR,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAM,WAAA,GAAAA,WAAA;AAC9C,IAAAC,WAAA,GAAAT,uBAAA,CAAAC,OAAA;AAA8CC,OAAA,CAAAO,WAAA,GAAAA,WAAA;AAC9C,IAAAC,cAAA,GAAAV,uBAAA,CAAAC,OAAA;AAAqDC,OAAA,CAAAQ,cAAA,GAAAA,cAAA;AACrD,IAAAC,YAAA,GAAAX,uBAAA,CAAAC,OAAA;AAAgDC,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAb,wBAAAa,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAkBhD,MAAMY,eAAe,GAAA/B,OAAA,CAAA+B,eAAA,GAAGvB,cAAc"}
@@ -10,6 +10,7 @@ const ajv = new _ajv.default();
10
10
 
11
11
  // FIXME: this could extend from @verdaccio/types but we need
12
12
  // schemas from @verdaccio/types to be able to validate them
13
+
13
14
  const schema = {
14
15
  type: 'object',
15
16
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"publish-manifest.js","names":["_ajv","_interopRequireDefault","require","obj","__esModule","default","ajv","Ajv","schema","type","properties","name","versions","maxProperties","_attachments","required","additionalProperties","validate","compile","validatePublishSingleVersion","manifest"],"sources":["../../src/schemes/publish-manifest.ts"],"sourcesContent":["import Ajv, { JSONSchemaType } from 'ajv';\n\nconst ajv = new Ajv();\n\n// FIXME: this could extend from @verdaccio/types but we need\n// schemas from @verdaccio/types to be able to validate them\ninterface Manifest {\n name: string;\n versions: object;\n _attachments: object;\n}\n\nconst schema: JSONSchemaType<Manifest> = {\n type: 'object',\n properties: {\n name: { type: 'string' },\n versions: { type: 'object', maxProperties: 1 },\n _attachments: { type: 'object', maxProperties: 1 },\n },\n required: ['name', 'versions', '_attachments'],\n additionalProperties: true,\n};\n\n// validate is a type guard for MyData - type is inferred from schema type\nconst validate = ajv.compile(schema);\n\n/**\n * Validate if a manifest has the correct structure when a new package\n * is being created. The properties name, versions and _attachments must contain 1 element.\n * @param data a manifest object\n * @returns boolean\n */\nexport function validatePublishSingleVersion(manifest: any) {\n if (!manifest) {\n return false;\n }\n return validate(manifest);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0C,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1C,MAAMG,GAAG,GAAG,IAAIC,YAAG,CAAC,CAAC;;AAErB;AACA;AAOA,MAAMC,MAAgC,GAAG;EACvCC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE;IACVC,IAAI,EAAE;MAAEF,IAAI,EAAE;IAAS,CAAC;IACxBG,QAAQ,EAAE;MAAEH,IAAI,EAAE,QAAQ;MAAEI,aAAa,EAAE;IAAE,CAAC;IAC9CC,YAAY,EAAE;MAAEL,IAAI,EAAE,QAAQ;MAAEI,aAAa,EAAE;IAAE;EACnD,CAAC;EACDE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC;EAC9CC,oBAAoB,EAAE;AACxB,CAAC;;AAED;AACA,MAAMC,QAAQ,GAAGX,GAAG,CAACY,OAAO,CAACV,MAAM,CAAC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACO,SAASW,4BAA4BA,CAACC,QAAa,EAAE;EAC1D,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAOH,QAAQ,CAACG,QAAQ,CAAC;AAC3B"}
1
+ {"version":3,"file":"publish-manifest.js","names":["_ajv","_interopRequireDefault","require","obj","__esModule","default","ajv","Ajv","schema","type","properties","name","versions","maxProperties","_attachments","required","additionalProperties","validate","compile","validatePublishSingleVersion","manifest"],"sources":["../../src/schemes/publish-manifest.ts"],"sourcesContent":["import Ajv, { JSONSchemaType } from 'ajv';\n\nconst ajv = new Ajv();\n\n// FIXME: this could extend from @verdaccio/types but we need\n// schemas from @verdaccio/types to be able to validate them\ninterface Manifest {\n name: string;\n versions: object;\n _attachments: object;\n}\n\nconst schema: JSONSchemaType<Manifest> = {\n type: 'object',\n properties: {\n name: { type: 'string' },\n versions: { type: 'object', maxProperties: 1 },\n _attachments: { type: 'object', maxProperties: 1 },\n },\n required: ['name', 'versions', '_attachments'],\n additionalProperties: true,\n};\n\n// validate is a type guard for MyData - type is inferred from schema type\nconst validate = ajv.compile(schema);\n\n/**\n * Validate if a manifest has the correct structure when a new package\n * is being created. The properties name, versions and _attachments must contain 1 element.\n * @param data a manifest object\n * @returns boolean\n */\nexport function validatePublishSingleVersion(manifest: any) {\n if (!manifest) {\n return false;\n }\n return validate(manifest);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0C,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1C,MAAMG,GAAG,GAAG,IAAIC,YAAG,CAAC,CAAC;;AAErB;AACA;;AAOA,MAAMC,MAAgC,GAAG;EACvCC,IAAI,EAAE,QAAQ;EACdC,UAAU,EAAE;IACVC,IAAI,EAAE;MAAEF,IAAI,EAAE;IAAS,CAAC;IACxBG,QAAQ,EAAE;MAAEH,IAAI,EAAE,QAAQ;MAAEI,aAAa,EAAE;IAAE,CAAC;IAC9CC,YAAY,EAAE;MAAEL,IAAI,EAAE,QAAQ;MAAEI,aAAa,EAAE;IAAE;EACnD,CAAC;EACDE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC;EAC9CC,oBAAoB,EAAE;AACxB,CAAC;;AAED;AACA,MAAMC,QAAQ,GAAGX,GAAG,CAACY,OAAO,CAACV,MAAM,CAAC;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACO,SAASW,4BAA4BA,CAACC,QAAa,EAAE;EAC1D,IAAI,CAACA,QAAQ,EAAE;IACb,OAAO,KAAK;EACd;EACA,OAAOH,QAAQ,CAACG,QAAQ,CAAC;AAC3B"}
@@ -8,6 +8,5 @@ exports.UNSCOPED = void 0;
8
8
 
9
9
  // @deprecated use @verdaccio/types
10
10
 
11
- const UNSCOPED = 'unscoped';
12
- exports.UNSCOPED = UNSCOPED;
11
+ const UNSCOPED = exports.UNSCOPED = 'unscoped';
13
12
  //# sourceMappingURL=search-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-utils.js","names":["UNSCOPED","exports"],"sources":["../src/search-utils.ts"],"sourcesContent":["export type SearchMetrics = {\n quality: number;\n popularity: number;\n maintenance: number;\n};\nexport type UnStable = {\n flags?: {\n // if is false is not be included in search results (majority are stable)\n unstable?: boolean;\n };\n};\nexport type SearchItemPkg = {\n name: string;\n scoped?: string;\n path?: string;\n time?: number | Date;\n};\n\ntype PrivatePackage = {\n // note: prefixed to avoid external conflicts\n\n // the package is published as private\n verdaccioPrivate?: boolean;\n // if the package is not private but is cached\n verdaccioPkgCached?: boolean;\n};\n\nexport interface SearchItem extends UnStable, PrivatePackage {\n package: SearchItemPkg;\n score: Score;\n}\n\nexport type Score = {\n final: number;\n detail: SearchMetrics;\n};\n\nexport type SearchResults = {\n objects: SearchItemPkg[];\n total: number;\n time: string;\n};\n\n// @deprecated use @verdaccio/types\ntype PublisherMaintainer = {\n username: string;\n email: string;\n};\n\n// @deprecated use @verdaccio/types\nexport type SearchPackageBody = {\n name: string;\n scope: string;\n description: string;\n author: string | PublisherMaintainer;\n version: string;\n keywords: string | string[] | undefined;\n date: string;\n links?: {\n npm: string; // only include placeholder for URL eg: {url}/{packageName}\n homepage?: string;\n repository?: string;\n bugs?: string;\n };\n publisher?: any;\n maintainers?: PublisherMaintainer[];\n};\n\nexport interface SearchPackageItem extends UnStable, PrivatePackage {\n package: SearchPackageBody;\n score: Score;\n searchScore?: number;\n}\n\nexport const UNSCOPED = 'unscoped';\n\nexport type SearchQuery = {\n text: string;\n size?: number;\n from?: number;\n} & SearchMetrics;\n"],"mappings":";;;;;;AA2CA;;AAMA;;AAyBO,MAAMA,QAAQ,GAAG,UAAU;AAACC,OAAA,CAAAD,QAAA,GAAAA,QAAA"}
1
+ {"version":3,"file":"search-utils.js","names":["UNSCOPED","exports"],"sources":["../src/search-utils.ts"],"sourcesContent":["export type SearchMetrics = {\n quality: number;\n popularity: number;\n maintenance: number;\n};\nexport type UnStable = {\n flags?: {\n // if is false is not be included in search results (majority are stable)\n unstable?: boolean;\n };\n};\nexport type SearchItemPkg = {\n name: string;\n scoped?: string;\n path?: string;\n time?: number | Date;\n};\n\ntype PrivatePackage = {\n // note: prefixed to avoid external conflicts\n\n // the package is published as private\n verdaccioPrivate?: boolean;\n // if the package is not private but is cached\n verdaccioPkgCached?: boolean;\n};\n\nexport interface SearchItem extends UnStable, PrivatePackage {\n package: SearchItemPkg;\n score: Score;\n}\n\nexport type Score = {\n final: number;\n detail: SearchMetrics;\n};\n\nexport type SearchResults = {\n objects: SearchItemPkg[];\n total: number;\n time: string;\n};\n\n// @deprecated use @verdaccio/types\ntype PublisherMaintainer = {\n username: string;\n email: string;\n};\n\n// @deprecated use @verdaccio/types\nexport type SearchPackageBody = {\n name: string;\n scope: string;\n description: string;\n author: string | PublisherMaintainer;\n version: string;\n keywords: string | string[] | undefined;\n date: string;\n links?: {\n npm: string; // only include placeholder for URL eg: {url}/{packageName}\n homepage?: string;\n repository?: string;\n bugs?: string;\n };\n publisher?: any;\n maintainers?: PublisherMaintainer[];\n};\n\nexport interface SearchPackageItem extends UnStable, PrivatePackage {\n package: SearchPackageBody;\n score: Score;\n searchScore?: number;\n}\n\nexport const UNSCOPED = 'unscoped';\n\nexport type SearchQuery = {\n text: string;\n size?: number;\n from?: number;\n} & SearchMetrics;\n"],"mappings":";;;;;;AA2CA;;AAMA;;AAyBO,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,UAAU"}
@@ -4,6 +4,7 @@ export declare enum Codes {
4
4
  VERWAR003 = "VERWAR003",
5
5
  VERWAR004 = "VERWAR004",
6
6
  VERWAR005 = "VERWAR005",
7
- VERDEP003 = "VERDEP003"
7
+ VERDEP003 = "VERDEP003",
8
+ VERWAR006 = "VERWAR006"
8
9
  }
9
10
  export declare function emit(code: string, a?: string, b?: string, c?: string): void;
@@ -10,16 +10,16 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
10
10
  const warningInstance = (0, _processWarning.default)();
11
11
  const verdaccioWarning = 'VerdaccioWarning';
12
12
  const verdaccioDeprecation = 'VerdaccioDeprecation';
13
- let Codes = /*#__PURE__*/function (Codes) {
13
+ let Codes = exports.Codes = /*#__PURE__*/function (Codes) {
14
14
  Codes["VERWAR001"] = "VERWAR001";
15
15
  Codes["VERWAR002"] = "VERWAR002";
16
16
  Codes["VERWAR003"] = "VERWAR003";
17
17
  Codes["VERWAR004"] = "VERWAR004";
18
18
  Codes["VERWAR005"] = "VERWAR005";
19
19
  Codes["VERDEP003"] = "VERDEP003";
20
+ Codes["VERWAR006"] = "VERWAR006";
20
21
  return Codes;
21
22
  }({});
22
- exports.Codes = Codes;
23
23
  warningInstance.create(verdaccioWarning, Codes.VERWAR002, `The configuration property "logs" has been deprecated, please rename to "log" for future compatibility`);
24
24
  warningInstance.create(verdaccioWarning, Codes.VERWAR001, `Verdaccio doesn't need superuser privileges. don't run it under root`);
25
25
  warningInstance.create(verdaccioWarning, Codes.VERWAR003, 'rotating-file type is not longer supported, consider use [logrotate] instead');
@@ -28,6 +28,7 @@ host:port (e.g. "localhost:4873") or full url '(e.g. "http://localhost:4873/")
28
28
  https://verdaccio.org/docs/en/configuration#listen-port`);
29
29
  warningInstance.create(verdaccioWarning, Codes.VERWAR005, 'disable enhanced legacy signature is considered a security risk, please reconsider enable it');
30
30
  warningInstance.create(verdaccioDeprecation, Codes.VERDEP003, 'multiple addresses will be deprecated in the next major, only use one');
31
+ warningInstance.create(verdaccioDeprecation, Codes.VERWAR006, 'the auth plugin method "add_user" in the auth plugin is deprecated and will be removed in next major release, rename to "adduser"');
31
32
  function emit(code, a, b, c) {
32
33
  warningInstance.emit(code, a, b, c);
33
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"warning-utils.js","names":["_processWarning","_interopRequireDefault","require","obj","__esModule","default","warningInstance","warning","verdaccioWarning","verdaccioDeprecation","Codes","exports","create","VERWAR002","VERWAR001","VERWAR003","VERWAR004","VERWAR005","VERDEP003","emit","code","a","b","c"],"sources":["../src/warning-utils.ts"],"sourcesContent":["import warning from 'process-warning';\n\nconst warningInstance = warning();\nconst verdaccioWarning = 'VerdaccioWarning';\nconst verdaccioDeprecation = 'VerdaccioDeprecation';\n\nexport enum Codes {\n VERWAR001 = 'VERWAR001',\n VERWAR002 = 'VERWAR002',\n VERWAR003 = 'VERWAR003',\n VERWAR004 = 'VERWAR004',\n VERWAR005 = 'VERWAR005',\n // deprecation warnings\n VERDEP003 = 'VERDEP003',\n}\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR002,\n `The configuration property \"logs\" has been deprecated, please rename to \"log\" for future compatibility`\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR001,\n `Verdaccio doesn't need superuser privileges. don't run it under root`\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR003,\n 'rotating-file type is not longer supported, consider use [logrotate] instead'\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR004,\n `invalid address - %s, we expect a port (e.g. \"4873\"), \nhost:port (e.g. \"localhost:4873\") or full url '(e.g. \"http://localhost:4873/\")\nhttps://verdaccio.org/docs/en/configuration#listen-port`\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR005,\n 'disable enhanced legacy signature is considered a security risk, please reconsider enable it'\n);\n\nwarningInstance.create(\n verdaccioDeprecation,\n Codes.VERDEP003,\n 'multiple addresses will be deprecated in the next major, only use one'\n);\n\nexport function emit(code: string, a?: string, b?: string, c?: string) {\n warningInstance.emit(code, a, b, c);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEtC,MAAMG,eAAe,GAAG,IAAAC,uBAAO,EAAC,CAAC;AACjC,MAAMC,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,oBAAoB,GAAG,sBAAsB;AAAC,IAExCC,KAAK,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA;AAAAC,OAAA,CAAAD,KAAA,GAAAA,KAAA;AAUjBJ,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACG,SAAS,EACd,wGACH,CAAC;AAEDP,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACI,SAAS,EACd,sEACH,CAAC;AAEDR,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACK,SAAS,EACf,8EACF,CAAC;AAEDT,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACM,SAAS,EACd;AACH;AACA,wDACA,CAAC;AAEDV,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACO,SAAS,EACf,8FACF,CAAC;AAEDX,eAAe,CAACM,MAAM,CACpBH,oBAAoB,EACpBC,KAAK,CAACQ,SAAS,EACf,uEACF,CAAC;AAEM,SAASC,IAAIA,CAACC,IAAY,EAAEC,CAAU,EAAEC,CAAU,EAAEC,CAAU,EAAE;EACrEjB,eAAe,CAACa,IAAI,CAACC,IAAI,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;AACrC"}
1
+ {"version":3,"file":"warning-utils.js","names":["_processWarning","_interopRequireDefault","require","obj","__esModule","default","warningInstance","warning","verdaccioWarning","verdaccioDeprecation","Codes","exports","create","VERWAR002","VERWAR001","VERWAR003","VERWAR004","VERWAR005","VERDEP003","VERWAR006","emit","code","a","b","c"],"sources":["../src/warning-utils.ts"],"sourcesContent":["import warning from 'process-warning';\n\nconst warningInstance = warning();\nconst verdaccioWarning = 'VerdaccioWarning';\nconst verdaccioDeprecation = 'VerdaccioDeprecation';\n\nexport enum Codes {\n VERWAR001 = 'VERWAR001',\n VERWAR002 = 'VERWAR002',\n VERWAR003 = 'VERWAR003',\n VERWAR004 = 'VERWAR004',\n VERWAR005 = 'VERWAR005',\n // deprecation warnings\n VERDEP003 = 'VERDEP003',\n VERWAR006 = 'VERWAR006',\n}\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR002,\n `The configuration property \"logs\" has been deprecated, please rename to \"log\" for future compatibility`\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR001,\n `Verdaccio doesn't need superuser privileges. don't run it under root`\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR003,\n 'rotating-file type is not longer supported, consider use [logrotate] instead'\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR004,\n `invalid address - %s, we expect a port (e.g. \"4873\"), \nhost:port (e.g. \"localhost:4873\") or full url '(e.g. \"http://localhost:4873/\")\nhttps://verdaccio.org/docs/en/configuration#listen-port`\n);\n\nwarningInstance.create(\n verdaccioWarning,\n Codes.VERWAR005,\n 'disable enhanced legacy signature is considered a security risk, please reconsider enable it'\n);\n\nwarningInstance.create(\n verdaccioDeprecation,\n Codes.VERDEP003,\n 'multiple addresses will be deprecated in the next major, only use one'\n);\n\nwarningInstance.create(\n verdaccioDeprecation,\n Codes.VERWAR006,\n 'the auth plugin method \"add_user\" in the auth plugin is deprecated and will be removed in next major release, rename to \"adduser\"'\n);\n\nexport function emit(code: string, a?: string, b?: string, c?: string) {\n warningInstance.emit(code, a, b, c);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAsC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEtC,MAAMG,eAAe,GAAG,IAAAC,uBAAO,EAAC,CAAC;AACjC,MAAMC,gBAAgB,GAAG,kBAAkB;AAC3C,MAAMC,oBAAoB,GAAG,sBAAsB;AAAC,IAExCC,KAAK,GAAAC,OAAA,CAAAD,KAAA,0BAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAALA,KAAK;EAAA,OAALA,KAAK;AAAA;AAWjBJ,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACG,SAAS,EACd,wGACH,CAAC;AAEDP,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACI,SAAS,EACd,sEACH,CAAC;AAEDR,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACK,SAAS,EACf,8EACF,CAAC;AAEDT,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACM,SAAS,EACd;AACH;AACA,wDACA,CAAC;AAEDV,eAAe,CAACM,MAAM,CACpBJ,gBAAgB,EAChBE,KAAK,CAACO,SAAS,EACf,8FACF,CAAC;AAEDX,eAAe,CAACM,MAAM,CACpBH,oBAAoB,EACpBC,KAAK,CAACQ,SAAS,EACf,uEACF,CAAC;AAEDZ,eAAe,CAACM,MAAM,CACpBH,oBAAoB,EACpBC,KAAK,CAACS,SAAS,EACf,mIACF,CAAC;AAEM,SAASC,IAAIA,CAACC,IAAY,EAAEC,CAAU,EAAEC,CAAU,EAAEC,CAAU,EAAE;EACrElB,eAAe,CAACc,IAAI,CAACC,IAAI,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC;AACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/core",
3
- "version": "6.0.0-6-next.75",
3
+ "version": "7.0.0-next-7.7",
4
4
  "description": "core utilities",
5
5
  "keywords": [
6
6
  "private",
@@ -34,17 +34,17 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "http-errors": "2.0.0",
37
- "http-status-codes": "2.2.0",
37
+ "http-status-codes": "2.3.0",
38
38
  "semver": "7.5.4",
39
39
  "ajv": "8.12.0",
40
40
  "process-warning": "1.0.0",
41
- "core-js": "3.30.2"
41
+ "core-js": "3.35.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "lodash": "4.17.21",
45
45
  "typedoc": "0.23.25",
46
46
  "typedoc-plugin-missing-exports": "latest",
47
- "@verdaccio/types": "11.0.0-6-next.25"
47
+ "@verdaccio/types": "12.0.0-next.2"
48
48
  },
49
49
  "funding": {
50
50
  "type": "opencollective",
@@ -12,6 +12,7 @@ export enum Codes {
12
12
  VERWAR005 = 'VERWAR005',
13
13
  // deprecation warnings
14
14
  VERDEP003 = 'VERDEP003',
15
+ VERWAR006 = 'VERWAR006',
15
16
  }
16
17
 
17
18
  warningInstance.create(
@@ -52,6 +53,12 @@ warningInstance.create(
52
53
  'multiple addresses will be deprecated in the next major, only use one'
53
54
  );
54
55
 
56
+ warningInstance.create(
57
+ verdaccioDeprecation,
58
+ Codes.VERWAR006,
59
+ 'the auth plugin method "add_user" in the auth plugin is deprecated and will be removed in next major release, rename to "adduser"'
60
+ );
61
+
55
62
  export function emit(code: string, a?: string, b?: string, c?: string) {
56
63
  warningInstance.emit(code, a, b, c);
57
64
  }