@verdaccio/tarball 12.0.0-next.6 → 13.0.0-next-8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,187 @@
1
1
  # Change Log
2
2
 
3
+ ## 13.0.0-next-8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - @verdaccio/core@8.0.0-next-8.1
8
+ - @verdaccio/url@13.0.0-next-8.1
9
+ - @verdaccio/utils@7.0.1-next-8.1
10
+
11
+ ## 13.0.0-next-8.0
12
+
13
+ ### Major Changes
14
+
15
+ - chore: move v7 next to v8 next
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies
20
+ - @verdaccio/core@8.0.0-next-8.0
21
+ - @verdaccio/url@13.0.0-next-8.0
22
+ - @verdaccio/utils@7.0.1-next-8.0
23
+
24
+ ## 12.0.0
25
+
26
+ ### Major Changes
27
+
28
+ - 47f61c6: feat!: bump to v7
29
+ - e7ebccb: update major dependencies, remove old nodejs support
30
+
31
+ ### Minor Changes
32
+
33
+ - daceb6d: restore legacy support
34
+
35
+ ### Patch Changes
36
+
37
+ - 5bfab62: feat: add tarball details for published packages
38
+ - e14b064: - Fixes polynomial regular expression when determining the file name of tarball
39
+ - Add tests for extracting tarball name
40
+ - 7400830: revert #4600
41
+ - 253cc13: feat: add tarball details for published packages
42
+ - Updated dependencies [47f61c6]
43
+ - Updated dependencies [6e764e3]
44
+ - Updated dependencies [b0946b2]
45
+ - Updated dependencies [ccc7bd1]
46
+ - Updated dependencies [daceb6d]
47
+ - Updated dependencies [e7ebccb]
48
+ - Updated dependencies [f047cc8]
49
+ - Updated dependencies [38b1e82]
50
+ - Updated dependencies [7c9f3cf]
51
+ - Updated dependencies [bd8703e]
52
+ - @verdaccio/core@7.0.0
53
+ - @verdaccio/url@12.0.0
54
+ - @verdaccio/utils@7.0.0
55
+
56
+ ## 12.0.0-next-8.21
57
+
58
+ ### Patch Changes
59
+
60
+ - Updated dependencies [7c9f3cf]
61
+ - @verdaccio/core@7.0.0-next-8.21
62
+ - @verdaccio/url@12.0.0-next-8.21
63
+ - @verdaccio/utils@7.0.0-next-8.21
64
+
65
+ ## 12.0.0-next-7.20
66
+
67
+ ### Patch Changes
68
+
69
+ - Updated dependencies [ccc7bd1]
70
+ - @verdaccio/url@12.0.0-next-7.20
71
+ - @verdaccio/core@7.0.0-next-7.20
72
+ - @verdaccio/utils@7.0.0-next-7.20
73
+
74
+ ## 12.0.0-next-7.19
75
+
76
+ ### Patch Changes
77
+
78
+ - @verdaccio/core@7.0.0-next-7.19
79
+ - @verdaccio/url@12.0.0-next-7.19
80
+ - @verdaccio/utils@7.0.0-next-7.19
81
+
82
+ ## 12.0.0-next-7.18
83
+
84
+ ### Patch Changes
85
+
86
+ - @verdaccio/core@7.0.0-next-7.18
87
+ - @verdaccio/url@12.0.0-next-7.18
88
+ - @verdaccio/utils@7.0.0-next-7.18
89
+
90
+ ## 12.0.0-next-7.17
91
+
92
+ ### Patch Changes
93
+
94
+ - Updated dependencies [6e764e3]
95
+ - @verdaccio/core@7.0.0-next-7.17
96
+ - @verdaccio/url@12.0.0-next-7.17
97
+ - @verdaccio/utils@7.0.0-next-7.17
98
+
99
+ ## 12.0.0-next-7.16
100
+
101
+ ### Patch Changes
102
+
103
+ - 5bfab62: feat: add tarball details for published packages
104
+ - Updated dependencies [38b1e82]
105
+ - @verdaccio/url@12.0.0-next-7.16
106
+ - @verdaccio/core@7.0.0-next-7.16
107
+ - @verdaccio/utils@7.0.0-next-7.16
108
+
109
+ ## 12.0.0-next-7.15
110
+
111
+ ### Patch Changes
112
+
113
+ - 7400830: revert #4600
114
+ - Updated dependencies [bd8703e]
115
+ - @verdaccio/core@7.0.0-next-7.15
116
+ - @verdaccio/url@12.0.0-next-7.15
117
+ - @verdaccio/utils@7.0.0-next-7.15
118
+
119
+ ## 12.0.0-next-7.14
120
+
121
+ ### Patch Changes
122
+
123
+ - 253cc13: feat: add tarball details for published packages
124
+ - Updated dependencies [b0946b2]
125
+ - @verdaccio/url@12.0.0-next-7.14
126
+ - @verdaccio/core@7.0.0-next-7.14
127
+ - @verdaccio/utils@7.0.0-next-7.14
128
+
129
+ ## 12.0.0-next-7.13
130
+
131
+ ### Patch Changes
132
+
133
+ - @verdaccio/core@7.0.0-next-7.13
134
+ - @verdaccio/url@12.0.0-next-7.13
135
+ - @verdaccio/utils@7.0.0-next-7.13
136
+
137
+ ## 12.0.0-next-7.12
138
+
139
+ ### Patch Changes
140
+
141
+ - @verdaccio/core@7.0.0-next-7.12
142
+ - @verdaccio/url@12.0.0-next-7.12
143
+ - @verdaccio/utils@7.0.0-next-7.12
144
+
145
+ ## 12.0.0-next-7.11
146
+
147
+ ### Patch Changes
148
+
149
+ - @verdaccio/core@7.0.0-next-7.11
150
+ - @verdaccio/url@12.0.0-next-7.11
151
+ - @verdaccio/utils@7.0.0-next-7.11
152
+
153
+ ## 12.0.0-next-7.10
154
+
155
+ ### Patch Changes
156
+
157
+ - @verdaccio/core@7.0.0-next-7.10
158
+ - @verdaccio/url@12.0.0-next-7.10
159
+ - @verdaccio/utils@7.0.0-next-7.10
160
+
161
+ ## 12.0.0-next-7.9
162
+
163
+ ### Patch Changes
164
+
165
+ - @verdaccio/core@7.0.0-next-7.9
166
+ - @verdaccio/url@12.0.0-next-7.9
167
+ - @verdaccio/utils@7.0.0-next-7.9
168
+
169
+ ## 12.0.0-next-7.8
170
+
171
+ ### Patch Changes
172
+
173
+ - @verdaccio/core@7.0.0-next-7.8
174
+ - @verdaccio/url@12.0.0-next-7.8
175
+ - @verdaccio/utils@7.0.0-next-7.8
176
+
177
+ ## 12.0.0-next-7.7
178
+
179
+ ### Patch Changes
180
+
181
+ - @verdaccio/core@7.0.0-next-7.7
182
+ - @verdaccio/url@12.0.0-next-7.7
183
+ - @verdaccio/utils@7.0.0-next-7.7
184
+
3
185
  ## 12.0.0-next.6
4
186
 
5
187
  ### Patch Changes
@@ -7,7 +7,7 @@ exports.convertDistRemoteToLocalTarballUrls = convertDistRemoteToLocalTarballUrl
7
7
  exports.convertDistVersionToLocalTarballsUrl = convertDistVersionToLocalTarballsUrl;
8
8
  var _lodash = _interopRequireDefault(require("lodash"));
9
9
  var _getLocalRegistryTarballUri = require("./getLocalRegistryTarballUri");
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  /**
12
12
  * Iterate a packages's versions and filter each original tarball url.
13
13
  * @param {*} pkg
@@ -1 +1 @@
1
- {"version":3,"file":"convertDistRemoteToLocalTarballUrls.js","names":["_lodash","_interopRequireDefault","require","_getLocalRegistryTarballUri","obj","__esModule","default","convertDistRemoteToLocalTarballUrls","pkg","request","urlPrefix","name","versions","convertedPkg","convertedVersions","ver","Object","prototype","hasOwnProperty","call","version","convertDistVersionToLocalTarballsUrl","distName","dist","_","isNull","tarball","getLocalRegistryTarballUri"],"sources":["../src/convertDistRemoteToLocalTarballUrls.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport { Package, Version } from '@verdaccio/types';\nimport { RequestOptions } from '@verdaccio/url';\n\nimport { getLocalRegistryTarballUri } from './getLocalRegistryTarballUri';\n\n/**\n * Iterate a packages's versions and filter each original tarball url.\n * @param {*} pkg\n * @param {*} req\n * @param {*} config\n * @return {String} a filtered package\n */\nexport function convertDistRemoteToLocalTarballUrls(\n pkg: Package,\n request: RequestOptions,\n urlPrefix: string | void\n): Package {\n const { name, versions } = pkg;\n const convertedPkg = { ...pkg };\n const convertedVersions = versions;\n for (const ver in pkg.versions) {\n if (Object.prototype.hasOwnProperty.call(pkg.versions, ver)) {\n const version = versions[ver];\n convertedVersions[ver] = convertDistVersionToLocalTarballsUrl(\n name,\n version,\n request,\n urlPrefix\n );\n }\n }\n\n return {\n ...convertedPkg,\n versions: convertedVersions,\n };\n}\n\n/**\n * Convert single Version disst tarball\n * @param name\n * @param version\n * @param request\n * @param urlPrefix\n * @returns\n */\nexport function convertDistVersionToLocalTarballsUrl(name, version: Version, request, urlPrefix) {\n const distName = version.dist;\n\n if (_.isNull(distName) === false && _.isNull(distName.tarball) === false) {\n return {\n ...version,\n dist: {\n ...distName,\n tarball: getLocalRegistryTarballUri(distName.tarball, name, request, urlPrefix),\n },\n };\n }\n\n return version;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,2BAAA,GAAAD,OAAA;AAA0E,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,mCAAmCA,CACjDC,GAAY,EACZC,OAAuB,EACvBC,SAAwB,EACf;EACT,MAAM;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGJ,GAAG;EAC9B,MAAMK,YAAY,GAAG;IAAE,GAAGL;EAAI,CAAC;EAC/B,MAAMM,iBAAiB,GAAGF,QAAQ;EAClC,KAAK,MAAMG,GAAG,IAAIP,GAAG,CAACI,QAAQ,EAAE;IAC9B,IAAII,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACX,GAAG,CAACI,QAAQ,EAAEG,GAAG,CAAC,EAAE;MAC3D,MAAMK,OAAO,GAAGR,QAAQ,CAACG,GAAG,CAAC;MAC7BD,iBAAiB,CAACC,GAAG,CAAC,GAAGM,oCAAoC,CAC3DV,IAAI,EACJS,OAAO,EACPX,OAAO,EACPC,SACF,CAAC;IACH;EACF;EAEA,OAAO;IACL,GAAGG,YAAY;IACfD,QAAQ,EAAEE;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,oCAAoCA,CAACV,IAAI,EAAES,OAAgB,EAAEX,OAAO,EAAEC,SAAS,EAAE;EAC/F,MAAMY,QAAQ,GAAGF,OAAO,CAACG,IAAI;EAE7B,IAAIC,eAAC,CAACC,MAAM,CAACH,QAAQ,CAAC,KAAK,KAAK,IAAIE,eAAC,CAACC,MAAM,CAACH,QAAQ,CAACI,OAAO,CAAC,KAAK,KAAK,EAAE;IACxE,OAAO;MACL,GAAGN,OAAO;MACVG,IAAI,EAAE;QACJ,GAAGD,QAAQ;QACXI,OAAO,EAAE,IAAAC,sDAA0B,EAACL,QAAQ,CAACI,OAAO,EAAEf,IAAI,EAAEF,OAAO,EAAEC,SAAS;MAChF;IACF,CAAC;EACH;EAEA,OAAOU,OAAO;AAChB"}
1
+ {"version":3,"file":"convertDistRemoteToLocalTarballUrls.js","names":["_lodash","_interopRequireDefault","require","_getLocalRegistryTarballUri","e","__esModule","default","convertDistRemoteToLocalTarballUrls","pkg","request","urlPrefix","name","versions","convertedPkg","convertedVersions","ver","Object","prototype","hasOwnProperty","call","version","convertDistVersionToLocalTarballsUrl","distName","dist","_","isNull","tarball","getLocalRegistryTarballUri"],"sources":["../src/convertDistRemoteToLocalTarballUrls.ts"],"sourcesContent":["import _ from 'lodash';\n\nimport { Package, Version } from '@verdaccio/types';\nimport { RequestOptions } from '@verdaccio/url';\n\nimport { getLocalRegistryTarballUri } from './getLocalRegistryTarballUri';\n\n/**\n * Iterate a packages's versions and filter each original tarball url.\n * @param {*} pkg\n * @param {*} req\n * @param {*} config\n * @return {String} a filtered package\n */\nexport function convertDistRemoteToLocalTarballUrls(\n pkg: Package,\n request: RequestOptions,\n urlPrefix: string | void\n): Package {\n const { name, versions } = pkg;\n const convertedPkg = { ...pkg };\n const convertedVersions = versions;\n for (const ver in pkg.versions) {\n if (Object.prototype.hasOwnProperty.call(pkg.versions, ver)) {\n const version = versions[ver];\n convertedVersions[ver] = convertDistVersionToLocalTarballsUrl(\n name,\n version,\n request,\n urlPrefix\n );\n }\n }\n\n return {\n ...convertedPkg,\n versions: convertedVersions,\n };\n}\n\n/**\n * Convert single Version disst tarball\n * @param name\n * @param version\n * @param request\n * @param urlPrefix\n * @returns\n */\nexport function convertDistVersionToLocalTarballsUrl(name, version: Version, request, urlPrefix) {\n const distName = version.dist;\n\n if (_.isNull(distName) === false && _.isNull(distName.tarball) === false) {\n return {\n ...version,\n dist: {\n ...distName,\n tarball: getLocalRegistryTarballUri(distName.tarball, name, request, urlPrefix),\n },\n };\n }\n\n return version;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,2BAAA,GAAAD,OAAA;AAA0E,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,mCAAmCA,CACjDC,GAAY,EACZC,OAAuB,EACvBC,SAAwB,EACf;EACT,MAAM;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGJ,GAAG;EAC9B,MAAMK,YAAY,GAAG;IAAE,GAAGL;EAAI,CAAC;EAC/B,MAAMM,iBAAiB,GAAGF,QAAQ;EAClC,KAAK,MAAMG,GAAG,IAAIP,GAAG,CAACI,QAAQ,EAAE;IAC9B,IAAII,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACX,GAAG,CAACI,QAAQ,EAAEG,GAAG,CAAC,EAAE;MAC3D,MAAMK,OAAO,GAAGR,QAAQ,CAACG,GAAG,CAAC;MAC7BD,iBAAiB,CAACC,GAAG,CAAC,GAAGM,oCAAoC,CAC3DV,IAAI,EACJS,OAAO,EACPX,OAAO,EACPC,SACF,CAAC;IACH;EACF;EAEA,OAAO;IACL,GAAGG,YAAY;IACfD,QAAQ,EAAEE;EACZ,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,oCAAoCA,CAACV,IAAI,EAAES,OAAgB,EAAEX,OAAO,EAAEC,SAAS,EAAE;EAC/F,MAAMY,QAAQ,GAAGF,OAAO,CAACG,IAAI;EAE7B,IAAIC,eAAC,CAACC,MAAM,CAACH,QAAQ,CAAC,KAAK,KAAK,IAAIE,eAAC,CAACC,MAAM,CAACH,QAAQ,CAACI,OAAO,CAAC,KAAK,KAAK,EAAE;IACxE,OAAO;MACL,GAAGN,OAAO;MACVG,IAAI,EAAE;QACJ,GAAGD,QAAQ;QACXI,OAAO,EAAE,IAAAC,sDAA0B,EAACL,QAAQ,CAACI,OAAO,EAAEf,IAAI,EAAEF,OAAO,EAAEC,SAAS;MAChF;IACF,CAAC;EACH;EAEA,OAAOU,OAAO;AAChB","ignoreList":[]}
@@ -8,7 +8,7 @@ exports.getLocalRegistryTarballUri = getLocalRegistryTarballUri;
8
8
  var _debug = _interopRequireDefault(require("debug"));
9
9
  var _url = _interopRequireDefault(require("url"));
10
10
  var _url2 = require("@verdaccio/url");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  const debug = (0, _debug.default)('verdaccio:core:url');
13
13
  function extractTarballFromUrl(url) {
14
14
  // @ts-ignore
@@ -21,7 +21,7 @@ function extractTarballFromUrl(url) {
21
21
  */
22
22
  function getLocalRegistryTarballUri(uri, pkgName, requestOptions, urlPrefix) {
23
23
  var _requestOptions$heade;
24
- const currentHost = requestOptions === null || requestOptions === void 0 ? void 0 : (_requestOptions$heade = requestOptions.headers) === null || _requestOptions$heade === void 0 ? void 0 : _requestOptions$heade.host;
24
+ const currentHost = requestOptions === null || requestOptions === void 0 || (_requestOptions$heade = requestOptions.headers) === null || _requestOptions$heade === void 0 ? void 0 : _requestOptions$heade.host;
25
25
  if (!currentHost) {
26
26
  return uri;
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getLocalRegistryTarballUri.js","names":["_debug","_interopRequireDefault","require","_url","_url2","obj","__esModule","default","debug","buildDebug","extractTarballFromUrl","url","URL","parse","pathname","replace","getLocalRegistryTarballUri","uri","pkgName","requestOptions","urlPrefix","_requestOptions$heade","currentHost","headers","host","tarballName","domainRegistry","getPublicUrl"],"sources":["../src/getLocalRegistryTarballUri.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport URL from 'url';\n\nimport { RequestOptions } from '@verdaccio/url';\nimport { getPublicUrl } from '@verdaccio/url';\n\nconst debug = buildDebug('verdaccio:core:url');\n\nexport function extractTarballFromUrl(url: string): string {\n // @ts-ignore\n return URL.parse(url).pathname.replace(/^.*\\//, '');\n}\n/**\n * Filter a tarball url.\n * @param {*} uri\n * @return {String} a parsed url\n */\nexport function getLocalRegistryTarballUri(\n uri: string,\n pkgName: string,\n requestOptions: RequestOptions,\n urlPrefix: string | void\n): string {\n const currentHost = requestOptions?.headers?.host;\n\n if (!currentHost) {\n return uri;\n }\n const tarballName = extractTarballFromUrl(uri);\n debug('tarball name %o', tarballName);\n // header only set with proxy that setup with HTTPS\n const domainRegistry = getPublicUrl(urlPrefix || '', requestOptions);\n\n return `${domainRegistry}${pkgName}/-/${tarballName}`;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE9C,MAAMG,KAAK,GAAG,IAAAC,cAAU,EAAC,oBAAoB,CAAC;AAEvC,SAASC,qBAAqBA,CAACC,GAAW,EAAU;EACzD;EACA,OAAOC,YAAG,CAACC,KAAK,CAACF,GAAG,CAAC,CAACG,QAAQ,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,0BAA0BA,CACxCC,GAAW,EACXC,OAAe,EACfC,cAA8B,EAC9BC,SAAwB,EAChB;EAAA,IAAAC,qBAAA;EACR,MAAMC,WAAW,GAAGH,cAAc,aAAdA,cAAc,wBAAAE,qBAAA,GAAdF,cAAc,CAAEI,OAAO,cAAAF,qBAAA,uBAAvBA,qBAAA,CAAyBG,IAAI;EAEjD,IAAI,CAACF,WAAW,EAAE;IAChB,OAAOL,GAAG;EACZ;EACA,MAAMQ,WAAW,GAAGf,qBAAqB,CAACO,GAAG,CAAC;EAC9CT,KAAK,CAAC,iBAAiB,EAAEiB,WAAW,CAAC;EACrC;EACA,MAAMC,cAAc,GAAG,IAAAC,kBAAY,EAACP,SAAS,IAAI,EAAE,EAAED,cAAc,CAAC;EAEpE,OAAQ,GAAEO,cAAe,GAAER,OAAQ,MAAKO,WAAY,EAAC;AACvD"}
1
+ {"version":3,"file":"getLocalRegistryTarballUri.js","names":["_debug","_interopRequireDefault","require","_url","_url2","e","__esModule","default","debug","buildDebug","extractTarballFromUrl","url","URL","parse","pathname","replace","getLocalRegistryTarballUri","uri","pkgName","requestOptions","urlPrefix","_requestOptions$heade","currentHost","headers","host","tarballName","domainRegistry","getPublicUrl"],"sources":["../src/getLocalRegistryTarballUri.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport URL from 'url';\n\nimport { RequestOptions } from '@verdaccio/url';\nimport { getPublicUrl } from '@verdaccio/url';\n\nconst debug = buildDebug('verdaccio:core:url');\n\nexport function extractTarballFromUrl(url: string): string {\n // @ts-ignore\n return URL.parse(url).pathname.replace(/^.*\\//, '');\n}\n/**\n * Filter a tarball url.\n * @param {*} uri\n * @return {String} a parsed url\n */\nexport function getLocalRegistryTarballUri(\n uri: string,\n pkgName: string,\n requestOptions: RequestOptions,\n urlPrefix: string | void\n): string {\n const currentHost = requestOptions?.headers?.host;\n\n if (!currentHost) {\n return uri;\n }\n const tarballName = extractTarballFromUrl(uri);\n debug('tarball name %o', tarballName);\n // header only set with proxy that setup with HTTPS\n const domainRegistry = getPublicUrl(urlPrefix || '', requestOptions);\n\n return `${domainRegistry}${pkgName}/-/${tarballName}`;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AAA8C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE9C,MAAMG,KAAK,GAAG,IAAAC,cAAU,EAAC,oBAAoB,CAAC;AAEvC,SAASC,qBAAqBA,CAACC,GAAW,EAAU;EACzD;EACA,OAAOC,YAAG,CAACC,KAAK,CAACF,GAAG,CAAC,CAACG,QAAQ,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;AACrD;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,0BAA0BA,CACxCC,GAAW,EACXC,OAAe,EACfC,cAA8B,EAC9BC,SAAwB,EAChB;EAAA,IAAAC,qBAAA;EACR,MAAMC,WAAW,GAAGH,cAAc,aAAdA,cAAc,gBAAAE,qBAAA,GAAdF,cAAc,CAAEI,OAAO,cAAAF,qBAAA,uBAAvBA,qBAAA,CAAyBG,IAAI;EAEjD,IAAI,CAACF,WAAW,EAAE;IAChB,OAAOL,GAAG;EACZ;EACA,MAAMQ,WAAW,GAAGf,qBAAqB,CAACO,GAAG,CAAC;EAC9CT,KAAK,CAAC,iBAAiB,EAAEiB,WAAW,CAAC;EACrC;EACA,MAAMC,cAAc,GAAG,IAAAC,kBAAY,EAACP,SAAS,IAAI,EAAE,EAAED,cAAc,CAAC;EAEpE,OAAO,GAAGO,cAAc,GAAGR,OAAO,MAAMO,WAAW,EAAE;AACvD","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ /// <reference types="node" />
2
+ export type TarballDetails = {
3
+ fileCount: number;
4
+ unpackedSize: number;
5
+ };
6
+ export declare function getTarballDetails(buffer: Buffer): Promise<TarballDetails>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTarballDetails = getTarballDetails;
7
+ var _gunzipMaybe = _interopRequireDefault(require("gunzip-maybe"));
8
+ var _stream = require("stream");
9
+ var tarStream = _interopRequireWildcard(require("tar-stream"));
10
+ 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); }
11
+ 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 && {}.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; }
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ async function getTarballDetails(buffer) {
14
+ let fileCount = 0;
15
+ let unpackedSize = 0;
16
+ const readable = _stream.Readable.from(buffer);
17
+ const unpack = tarStream.extract();
18
+ return new Promise((resolve, reject) => {
19
+ readable.pipe((0, _gunzipMaybe.default)()).pipe(unpack).on('entry', (header, stream, next) => {
20
+ fileCount++;
21
+ unpackedSize += Number(header.size);
22
+ stream.resume(); // important to ensure that "entry" events keep firing
23
+ next();
24
+ }).on('finish', () => {
25
+ resolve({
26
+ fileCount,
27
+ unpackedSize
28
+ });
29
+ }).on('error', reject);
30
+ });
31
+ }
32
+ //# sourceMappingURL=getTarballDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTarballDetails.js","names":["_gunzipMaybe","_interopRequireDefault","require","_stream","tarStream","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","getTarballDetails","buffer","fileCount","unpackedSize","readable","Readable","from","unpack","extract","Promise","resolve","reject","pipe","gunzipMaybe","on","header","stream","next","Number","size","resume"],"sources":["../src/getTarballDetails.ts"],"sourcesContent":["import gunzipMaybe from 'gunzip-maybe';\nimport { Readable } from 'stream';\nimport * as tarStream from 'tar-stream';\n\nexport type TarballDetails = {\n fileCount: number;\n unpackedSize: number; // in bytes\n};\n\nexport async function getTarballDetails(buffer: Buffer): Promise<TarballDetails> {\n let fileCount = 0;\n let unpackedSize = 0;\n const readable = Readable.from(buffer);\n const unpack = tarStream.extract();\n\n return new Promise((resolve, reject) => {\n readable\n .pipe(gunzipMaybe())\n .pipe(unpack)\n .on('entry', (header, stream, next) => {\n fileCount++;\n unpackedSize += Number(header.size);\n stream.resume(); // important to ensure that \"entry\" events keep firing\n next();\n })\n .on('finish', () => {\n resolve({\n fileCount,\n unpackedSize,\n });\n })\n .on('error', reject);\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,uBAAA,CAAAH,OAAA;AAAwC,SAAAI,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,SAAAF,wBAAAE,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,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAd,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAOjC,eAAemB,iBAAiBA,CAACC,MAAc,EAA2B;EAC/E,IAAIC,SAAS,GAAG,CAAC;EACjB,IAAIC,YAAY,GAAG,CAAC;EACpB,MAAMC,QAAQ,GAAGC,gBAAQ,CAACC,IAAI,CAACL,MAAM,CAAC;EACtC,MAAMM,MAAM,GAAG7B,SAAS,CAAC8B,OAAO,CAAC,CAAC;EAElC,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtCP,QAAQ,CACLQ,IAAI,CAAC,IAAAC,oBAAW,EAAC,CAAC,CAAC,CACnBD,IAAI,CAACL,MAAM,CAAC,CACZO,EAAE,CAAC,OAAO,EAAE,CAACC,MAAM,EAAEC,MAAM,EAAEC,IAAI,KAAK;MACrCf,SAAS,EAAE;MACXC,YAAY,IAAIe,MAAM,CAACH,MAAM,CAACI,IAAI,CAAC;MACnCH,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAAC;MACjBH,IAAI,CAAC,CAAC;IACR,CAAC,CAAC,CACDH,EAAE,CAAC,QAAQ,EAAE,MAAM;MAClBJ,OAAO,CAAC;QACNR,SAAS;QACTC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,CACDW,EAAE,CAAC,OAAO,EAAEH,MAAM,CAAC;EACxB,CAAC,CAAC;AACJ","ignoreList":[]}
package/build/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { RequestOptions } from '@verdaccio/url';
2
2
  export { convertDistRemoteToLocalTarballUrls, convertDistVersionToLocalTarballsUrl, } from './convertDistRemoteToLocalTarballUrls';
3
3
  export { extractTarballFromUrl, getLocalRegistryTarballUri } from './getLocalRegistryTarballUri';
4
+ export { getTarballDetails, TarballDetails } from './getTarballDetails';
4
5
  export { RequestOptions };
package/build/index.js CHANGED
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "RequestOptions", {
9
9
  return _url.RequestOptions;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "TarballDetails", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _getTarballDetails.TarballDetails;
16
+ }
17
+ });
12
18
  Object.defineProperty(exports, "convertDistRemoteToLocalTarballUrls", {
13
19
  enumerable: true,
14
20
  get: function () {
@@ -33,7 +39,14 @@ Object.defineProperty(exports, "getLocalRegistryTarballUri", {
33
39
  return _getLocalRegistryTarballUri.getLocalRegistryTarballUri;
34
40
  }
35
41
  });
42
+ Object.defineProperty(exports, "getTarballDetails", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _getTarballDetails.getTarballDetails;
46
+ }
47
+ });
36
48
  var _url = require("@verdaccio/url");
37
49
  var _convertDistRemoteToLocalTarballUrls = require("./convertDistRemoteToLocalTarballUrls");
38
50
  var _getLocalRegistryTarballUri = require("./getLocalRegistryTarballUri");
51
+ var _getTarballDetails = require("./getTarballDetails");
39
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_url","require","_convertDistRemoteToLocalTarballUrls","_getLocalRegistryTarballUri"],"sources":["../src/index.ts"],"sourcesContent":["import { RequestOptions } from '@verdaccio/url';\n\nexport {\n convertDistRemoteToLocalTarballUrls,\n convertDistVersionToLocalTarballsUrl,\n} from './convertDistRemoteToLocalTarballUrls';\nexport { extractTarballFromUrl, getLocalRegistryTarballUri } from './getLocalRegistryTarballUri';\n\nexport { RequestOptions };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,oCAAA,GAAAD,OAAA;AAIA,IAAAE,2BAAA,GAAAF,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_url","require","_convertDistRemoteToLocalTarballUrls","_getLocalRegistryTarballUri","_getTarballDetails"],"sources":["../src/index.ts"],"sourcesContent":["import { RequestOptions } from '@verdaccio/url';\n\nexport {\n convertDistRemoteToLocalTarballUrls,\n convertDistVersionToLocalTarballsUrl,\n} from './convertDistRemoteToLocalTarballUrls';\nexport { extractTarballFromUrl, getLocalRegistryTarballUri } from './getLocalRegistryTarballUri';\nexport { getTarballDetails, TarballDetails } from './getTarballDetails';\n\nexport { RequestOptions };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEA,IAAAC,oCAAA,GAAAD,OAAA;AAIA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdaccio/tarball",
3
- "version": "12.0.0-next.6",
3
+ "version": "13.0.0-next-8.1",
4
4
  "description": "tarball utilities resolver",
5
5
  "keywords": [
6
6
  "private",
@@ -19,12 +19,12 @@
19
19
  "license": "MIT",
20
20
  "homepage": "https://verdaccio.org",
21
21
  "engines": {
22
- "node": ">=12"
22
+ "node": ">=14"
23
23
  },
24
24
  "repository": {
25
25
  "type": "https",
26
26
  "url": "https://github.com/verdaccio/verdaccio",
27
- "directory": "packages/core/url-resolver"
27
+ "directory": "packages/core/tarball"
28
28
  },
29
29
  "bugs": {
30
30
  "url": "https://github.com/verdaccio/verdaccio/issues"
@@ -33,14 +33,16 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "debug": "4.3.4",
37
- "@verdaccio/core": "7.0.0-next.6",
38
- "@verdaccio/url": "12.0.0-next.6",
39
- "@verdaccio/utils": "7.0.0-next.6",
40
- "lodash": "4.17.21"
36
+ "@verdaccio/core": "8.0.0-next-8.1",
37
+ "@verdaccio/url": "13.0.0-next-8.1",
38
+ "@verdaccio/utils": "7.0.1-next-8.1",
39
+ "debug": "4.3.7",
40
+ "gunzip-maybe": "^1.4.2",
41
+ "lodash": "4.17.21",
42
+ "tar-stream": "^3.1.7"
41
43
  },
42
44
  "devDependencies": {
43
- "@verdaccio/types": "12.0.0-next.2",
45
+ "@verdaccio/types": "13.0.0-next-8.0",
44
46
  "node-mocks-http": "1.14.1"
45
47
  },
46
48
  "funding": {
@@ -49,7 +51,7 @@
49
51
  },
50
52
  "scripts": {
51
53
  "clean": "rimraf ./build",
52
- "test": "jest",
54
+ "test": "vitest run",
53
55
  "type-check": "tsc --noEmit -p tsconfig.build.json",
54
56
  "build:types": "tsc --emitDeclarationOnly -p tsconfig.build.json",
55
57
  "build:js": "babel src/ --out-dir build/ --copy-files --extensions \".ts,.tsx\" --source-maps",
@@ -0,0 +1,34 @@
1
+ import gunzipMaybe from 'gunzip-maybe';
2
+ import { Readable } from 'stream';
3
+ import * as tarStream from 'tar-stream';
4
+
5
+ export type TarballDetails = {
6
+ fileCount: number;
7
+ unpackedSize: number; // in bytes
8
+ };
9
+
10
+ export async function getTarballDetails(buffer: Buffer): Promise<TarballDetails> {
11
+ let fileCount = 0;
12
+ let unpackedSize = 0;
13
+ const readable = Readable.from(buffer);
14
+ const unpack = tarStream.extract();
15
+
16
+ return new Promise((resolve, reject) => {
17
+ readable
18
+ .pipe(gunzipMaybe())
19
+ .pipe(unpack)
20
+ .on('entry', (header, stream, next) => {
21
+ fileCount++;
22
+ unpackedSize += Number(header.size);
23
+ stream.resume(); // important to ensure that "entry" events keep firing
24
+ next();
25
+ })
26
+ .on('finish', () => {
27
+ resolve({
28
+ fileCount,
29
+ unpackedSize,
30
+ });
31
+ })
32
+ .on('error', reject);
33
+ });
34
+ }
package/src/index.ts CHANGED
@@ -5,5 +5,6 @@ export {
5
5
  convertDistVersionToLocalTarballsUrl,
6
6
  } from './convertDistRemoteToLocalTarballUrls';
7
7
  export { extractTarballFromUrl, getLocalRegistryTarballUri } from './getLocalRegistryTarballUri';
8
+ export { getTarballDetails, TarballDetails } from './getTarballDetails';
8
9
 
9
10
  export { RequestOptions };
Binary file
Binary file
@@ -1,4 +1,5 @@
1
1
  import * as httpMocks from 'node-mocks-http';
2
+ import { describe, expect, test } from 'vitest';
2
3
 
3
4
  import { HEADERS } from '@verdaccio/core';
4
5
 
@@ -1,3 +1,5 @@
1
+ import { describe, expect, test } from 'vitest';
2
+
1
3
  import { extractTarballFromUrl } from '../src';
2
4
 
3
5
  describe('extractTarballFromUrl', () => {
@@ -0,0 +1,34 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { describe, expect, test } from 'vitest';
4
+
5
+ import { getTarballDetails } from '../src/getTarballDetails.ts';
6
+
7
+ const getFilePath = (filename: string): string => {
8
+ return path.resolve(__dirname, `assets/${filename}`);
9
+ };
10
+
11
+ const getFileBuffer = async (filename: string): Promise<Buffer> => {
12
+ return fs.promises.readFile(getFilePath(filename));
13
+ };
14
+
15
+ describe('getTarballDetails', () => {
16
+ test('should return stats of tarball (gzipped)', async () => {
17
+ const buffer = await getFileBuffer('tarball.tgz');
18
+ const details = await getTarballDetails(buffer);
19
+ expect(details.fileCount).toBe(2);
20
+ expect(details.unpackedSize).toBe(1280);
21
+ });
22
+
23
+ test('should return stats of tarball (uncompressed)', async () => {
24
+ const buffer = await getFileBuffer('tarball.tar');
25
+ const details = await getTarballDetails(buffer);
26
+ expect(details.fileCount).toBe(2);
27
+ expect(details.unpackedSize).toBe(1280);
28
+ });
29
+
30
+ test('should throw an error if the buffer is corrupt', async () => {
31
+ const corruptBuffer = Buffer.from('this is not a tarball');
32
+ await expect(getTarballDetails(corruptBuffer)).rejects.toThrow();
33
+ });
34
+ });
package/jest.config.js DELETED
@@ -1,3 +0,0 @@
1
- const config = require('../../../jest/config');
2
-
3
- module.exports = Object.assign({}, config, {});