@verdaccio/local-storage 14.0.0-next-9.3 → 14.0.0-next-9.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ exports.__toESM = __toESM;
@@ -1,4 +1,4 @@
1
- import type { searchUtils } from '@verdaccio/core';
1
+ import { searchUtils } from '@verdaccio/core';
2
2
  /**
3
3
  * Retrieve a list of absolute paths to all folders in the given storage path
4
4
  * @param storagePath the base path of the storage
@@ -1,249 +1,83 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.getFolders = getFolders;
8
- exports.searchOnStorage = searchOnStorage;
9
- var _debug = _interopRequireDefault(require("debug"));
10
- var _globby = _interopRequireDefault(require("globby"));
11
- var _nodePath = require("node:path");
12
- var _core = require("@verdaccio/core");
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
- function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
15
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
16
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
18
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
19
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
20
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
23
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
24
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
25
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
26
- var debug = (0, _debug["default"])('verdaccio:plugin:local-storage:utils');
27
-
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.js");
2
+ let debug = require("debug");
3
+ debug = require_runtime.__toESM(debug);
4
+ let node_path = require("node:path");
5
+ let _verdaccio_core = require("@verdaccio/core");
6
+ let globby = require("globby");
7
+ globby = require_runtime.__toESM(globby);
8
+ //#region src/dir-utils.ts
9
+ var debug$1 = (0, debug.default)("verdaccio:plugin:local-storage:utils");
28
10
  /**
29
- * Retrieve a list of absolute paths to all folders in the given storage path
30
- * @param storagePath the base path of the storage
31
- * @return a promise that resolves to an array of absolute paths
32
- */
33
- function getFolders(_x) {
34
- return _getFolders.apply(this, arguments);
11
+ * Retrieve a list of absolute paths to all folders in the given storage path
12
+ * @param storagePath the base path of the storage
13
+ * @return a promise that resolves to an array of absolute paths
14
+ */
15
+ async function getFolders(storagePath, pattern = "*") {
16
+ return await (0, globby.default)(pattern, {
17
+ cwd: storagePath,
18
+ expandDirectories: true,
19
+ onlyDirectories: true,
20
+ onlyFiles: false,
21
+ deep: 10,
22
+ dot: false,
23
+ followSymbolicLinks: true,
24
+ caseSensitiveMatch: true,
25
+ unique: true
26
+ });
35
27
  }
36
28
  /**
37
- * Search packages on the the storage. The storage could be
38
- * - storage
39
- * - pkg1
40
- * - @company
41
- * - pkg2 -> @scompany/pkg2
42
- * - storage1
43
- * - pkg2
44
- * - pkg3
45
- * - storage2
46
- * - @scope
47
- * - pkg4 > @scope/pkg4
48
- * The search return a data structure like:
49
- * [
50
- * {
51
- * name: 'pkg1', // package name could be @scope/pkg1
52
- * path: absolute/path/package/name
53
- * }
54
- * ]
55
- * @param {string} storagePath is the base path of the storage folder,
56
- * inside could be packages, storages and @scope packages.
57
- * @param {Set<string>} storages storages are defined peer package access pattern via `storage` property
58
- * @param query is the search query from the user via npm search command.
59
- * and are intended to organize packages in a tree structure.
60
- * @returns {Promise<searchUtils.SearchItemPkg[]>}
61
- */
62
- function _getFolders() {
63
- _getFolders = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(storagePath) {
64
- var pattern,
65
- files,
66
- _args = arguments;
67
- return _regenerator().w(function (_context) {
68
- while (1) switch (_context.n) {
69
- case 0:
70
- pattern = _args.length > 1 && _args[1] !== undefined ? _args[1] : '*';
71
- _context.n = 1;
72
- return (0, _globby["default"])(pattern, {
73
- // @ts-ignore
74
- cwd: storagePath,
75
- expandDirectories: true,
76
- onlyDirectories: true,
77
- onlyFiles: false,
78
- // should not go deeper than the storage path (10 is reasonable for the storage)
79
- deep: 10,
80
- dot: false,
81
- followSymbolicLinks: true,
82
- caseSensitiveMatch: true,
83
- unique: true
84
- // FIXME: add here list of forbiden patterns
85
- // don't include scoped folders.
86
- // ignore: [`@*`],
87
- });
88
- case 1:
89
- files = _context.v;
90
- return _context.a(2, files);
91
- }
92
- }, _callee);
93
- }));
94
- return _getFolders.apply(this, arguments);
95
- }
96
- function searchOnStorage(_x2, _x3) {
97
- return _searchOnStorage.apply(this, arguments);
98
- }
99
- function _searchOnStorage() {
100
- _searchOnStorage = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(storagePath, storages) {
101
- var matchedStorages, storageFolders, results, basePathFolders, _iterator, _step, _loop2, _i, _storageFolders, store, foldersOnStorage, _iterator2, _step2, _loop, _t, _t2;
102
- return _regenerator().w(function (_context4) {
103
- while (1) switch (_context4.p = _context4.n) {
104
- case 0:
105
- matchedStorages = Array.from(storages);
106
- storageFolders = Array.from(storages.keys());
107
- debug('search on %o', storagePath);
108
- debug('storage folders %o', matchedStorages.length);
109
- results = []; // watch base path and ignore storage folders
110
- _context4.n = 1;
111
- return getFolders(storagePath, '*');
112
- case 1:
113
- basePathFolders = _context4.v.filter(function (storageFolder) {
114
- return !storageFolders.includes(storageFolder);
115
- });
116
- _iterator = _createForOfIteratorHelper(basePathFolders);
117
- _context4.p = 2;
118
- _loop2 = /*#__PURE__*/_regenerator().m(function _loop2() {
119
- var store, scopedPackages, listScoped;
120
- return _regenerator().w(function (_context3) {
121
- while (1) switch (_context3.n) {
122
- case 0:
123
- store = _step.value;
124
- if (!_core.validationUtils.isPackageNameScoped(store)) {
125
- _context3.n = 2;
126
- break;
127
- }
128
- _context3.n = 1;
129
- return getFolders((0, _nodePath.join)(storagePath, store), '*');
130
- case 1:
131
- scopedPackages = _context3.v;
132
- listScoped = scopedPackages.map(function (scoped) {
133
- return {
134
- name: "".concat(store, "/").concat(scoped),
135
- scoped: store
136
- };
137
- });
138
- results.push.apply(results, _toConsumableArray(listScoped));
139
- _context3.n = 3;
140
- break;
141
- case 2:
142
- results.push({
143
- name: store
144
- });
145
- case 3:
146
- return _context3.a(2);
147
- }
148
- }, _loop2);
149
- });
150
- _iterator.s();
151
- case 3:
152
- if ((_step = _iterator.n()).done) {
153
- _context4.n = 5;
154
- break;
155
- }
156
- return _context4.d(_regeneratorValues(_loop2()), 4);
157
- case 4:
158
- _context4.n = 3;
159
- break;
160
- case 5:
161
- _context4.n = 7;
162
- break;
163
- case 6:
164
- _context4.p = 6;
165
- _t = _context4.v;
166
- _iterator.e(_t);
167
- case 7:
168
- _context4.p = 7;
169
- _iterator.f();
170
- return _context4.f(7);
171
- case 8:
172
- _i = 0, _storageFolders = storageFolders;
173
- case 9:
174
- if (!(_i < _storageFolders.length)) {
175
- _context4.n = 18;
176
- break;
177
- }
178
- store = _storageFolders[_i];
179
- _context4.n = 10;
180
- return getFolders((0, _nodePath.join)(storagePath, store), '*');
181
- case 10:
182
- foldersOnStorage = _context4.v;
183
- _iterator2 = _createForOfIteratorHelper(foldersOnStorage);
184
- _context4.p = 11;
185
- _loop = /*#__PURE__*/_regenerator().m(function _loop() {
186
- var pkgName, scopedPackages, listScoped;
187
- return _regenerator().w(function (_context2) {
188
- while (1) switch (_context2.n) {
189
- case 0:
190
- pkgName = _step2.value;
191
- if (!_core.validationUtils.isPackageNameScoped(pkgName)) {
192
- _context2.n = 2;
193
- break;
194
- }
195
- _context2.n = 1;
196
- return getFolders((0, _nodePath.join)(storagePath, store, pkgName), '*');
197
- case 1:
198
- scopedPackages = _context2.v;
199
- listScoped = scopedPackages.map(function (scoped) {
200
- return {
201
- name: "".concat(pkgName, "/").concat(scoped),
202
- scoped: pkgName
203
- };
204
- });
205
- results.push.apply(results, _toConsumableArray(listScoped));
206
- _context2.n = 3;
207
- break;
208
- case 2:
209
- results.push({
210
- name: pkgName
211
- });
212
- case 3:
213
- return _context2.a(2);
214
- }
215
- }, _loop);
216
- });
217
- _iterator2.s();
218
- case 12:
219
- if ((_step2 = _iterator2.n()).done) {
220
- _context4.n = 14;
221
- break;
222
- }
223
- return _context4.d(_regeneratorValues(_loop()), 13);
224
- case 13:
225
- _context4.n = 12;
226
- break;
227
- case 14:
228
- _context4.n = 16;
229
- break;
230
- case 15:
231
- _context4.p = 15;
232
- _t2 = _context4.v;
233
- _iterator2.e(_t2);
234
- case 16:
235
- _context4.p = 16;
236
- _iterator2.f();
237
- return _context4.f(16);
238
- case 17:
239
- _i++;
240
- _context4.n = 9;
241
- break;
242
- case 18:
243
- return _context4.a(2, results);
244
- }
245
- }, _callee2, null, [[11, 15, 16, 17], [2, 6, 7, 8]]);
246
- }));
247
- return _searchOnStorage.apply(this, arguments);
29
+ * Search packages on the the storage. The storage could be
30
+ * - storage
31
+ * - pkg1
32
+ * - @company
33
+ * - pkg2 -> @scompany/pkg2
34
+ * - storage1
35
+ * - pkg2
36
+ * - pkg3
37
+ * - storage2
38
+ * - @scope
39
+ * - pkg4 > @scope/pkg4
40
+ * The search return a data structure like:
41
+ * [
42
+ * {
43
+ * name: 'pkg1', // package name could be @scope/pkg1
44
+ * path: absolute/path/package/name
45
+ * }
46
+ * ]
47
+ * @param {string} storagePath is the base path of the storage folder,
48
+ * inside could be packages, storages and @scope packages.
49
+ * @param {Set<string>} storages storages are defined peer package access pattern via `storage` property
50
+ * @param query is the search query from the user via npm search command.
51
+ * and are intended to organize packages in a tree structure.
52
+ * @returns {Promise<searchUtils.SearchItemPkg[]>}
53
+ */
54
+ async function searchOnStorage(storagePath, storages) {
55
+ const matchedStorages = Array.from(storages);
56
+ const storageFolders = Array.from(storages.keys());
57
+ debug$1("search on %o", storagePath);
58
+ debug$1("storage folders %o", matchedStorages.length);
59
+ const results = [];
60
+ const basePathFolders = (await getFolders(storagePath, "*")).filter((storageFolder) => !storageFolders.includes(storageFolder));
61
+ for (const store of basePathFolders) if (_verdaccio_core.validationUtils.isPackageNameScoped(store)) {
62
+ const listScoped = (await getFolders((0, node_path.join)(storagePath, store), "*")).map((scoped) => ({
63
+ name: `${store}/${scoped}`,
64
+ scoped: store
65
+ }));
66
+ results.push(...listScoped);
67
+ } else results.push({ name: store });
68
+ for (const store of storageFolders) {
69
+ const foldersOnStorage = await getFolders((0, node_path.join)(storagePath, store), "*");
70
+ for (const pkgName of foldersOnStorage) if (_verdaccio_core.validationUtils.isPackageNameScoped(pkgName)) {
71
+ const listScoped = (await getFolders((0, node_path.join)(storagePath, store, pkgName), "*")).map((scoped) => ({
72
+ name: `${pkgName}/${scoped}`,
73
+ scoped: pkgName
74
+ }));
75
+ results.push(...listScoped);
76
+ } else results.push({ name: pkgName });
77
+ }
78
+ return results;
248
79
  }
80
+ //#endregion
81
+ exports.searchOnStorage = searchOnStorage;
82
+
249
83
  //# sourceMappingURL=dir-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dir-utils.js","names":["_debug","_interopRequireDefault","require","_globby","_nodePath","_core","e","__esModule","_regeneratorValues","t","Symbol","iterator","r","call","next","isNaN","length","value","done","TypeError","_typeof","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_createForOfIteratorHelper","_n","F","s","n","f","o","a","u","toString","slice","constructor","name","test","_regenerator","toStringTag","i","c","prototype","Generator","Object","create","_regeneratorDefine2","p","y","G","v","d","bind","l","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","arguments","apply","_next","_throw","debug","buildDebug","getFolders","_x","_getFolders","_callee","storagePath","pattern","files","_args","_context","undefined","globby","cwd","expandDirectories","onlyDirectories","onlyFiles","deep","dot","followSymbolicLinks","caseSensitiveMatch","unique","searchOnStorage","_x2","_x3","_searchOnStorage","_callee2","storages","matchedStorages","storageFolders","results","basePathFolders","_iterator","_step","_loop2","_i","_storageFolders","store","foldersOnStorage","_iterator2","_step2","_loop","_t","_t2","_context4","keys","filter","storageFolder","includes","scopedPackages","listScoped","_context3","validationUtils","isPackageNameScoped","join","map","scoped","concat","push","pkgName","_context2"],"sources":["../src/dir-utils.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport globby from 'globby';\nimport { join } from 'node:path';\n\nimport type { searchUtils } from '@verdaccio/core';\nimport { validationUtils } from '@verdaccio/core';\n\nconst debug = buildDebug('verdaccio:plugin:local-storage:utils');\n\n/**\n * Retrieve a list of absolute paths to all folders in the given storage path\n * @param storagePath the base path of the storage\n * @return a promise that resolves to an array of absolute paths\n */\nexport async function getFolders(storagePath: string, pattern = '*'): Promise<string[]> {\n const files = await globby(pattern, {\n // @ts-ignore\n cwd: storagePath,\n expandDirectories: true,\n onlyDirectories: true,\n onlyFiles: false,\n // should not go deeper than the storage path (10 is reasonable for the storage)\n deep: 10,\n dot: false,\n followSymbolicLinks: true,\n caseSensitiveMatch: true,\n unique: true,\n // FIXME: add here list of forbiden patterns\n // don't include scoped folders.\n // ignore: [`@*`],\n });\n return files;\n}\n\n/**\n * Search packages on the the storage. The storage could be\n * - storage\n * - pkg1\n * - @company\n * - pkg2 -> @scompany/pkg2\n * - storage1\n * - pkg2\n * - pkg3\n * - storage2\n * - @scope\n * - pkg4 > @scope/pkg4\n * The search return a data structure like:\n * [\n * {\n * name: 'pkg1', // package name could be @scope/pkg1\n * path: absolute/path/package/name\n * }\n * ]\n * @param {string} storagePath is the base path of the storage folder,\n * inside could be packages, storages and @scope packages.\n * @param {Set<string>} storages storages are defined peer package access pattern via `storage` property\n * @param query is the search query from the user via npm search command.\n * and are intended to organize packages in a tree structure.\n * @returns {Promise<searchUtils.SearchItemPkg[]>}\n */\nexport async function searchOnStorage(\n storagePath: string,\n storages: Map<string, string>\n): Promise<searchUtils.SearchItemPkg[]> {\n const matchedStorages = Array.from(storages);\n const storageFolders = Array.from(storages.keys());\n debug('search on %o', storagePath);\n debug('storage folders %o', matchedStorages.length);\n const results: searchUtils.SearchItemPkg[] = [];\n // watch base path and ignore storage folders\n const basePathFolders = (await getFolders(storagePath, '*')).filter(\n (storageFolder) => !storageFolders.includes(storageFolder)\n );\n\n for (const store of basePathFolders) {\n if (validationUtils.isPackageNameScoped(store)) {\n const scopedPackages = await getFolders(join(storagePath, store), '*');\n const listScoped = scopedPackages.map((scoped) => ({\n name: `${store}/${scoped}`,\n scoped: store,\n }));\n results.push(...listScoped);\n } else {\n results.push({\n name: store,\n });\n }\n }\n\n // iterate each storage folder\n for (const store of storageFolders) {\n const foldersOnStorage = await getFolders(join(storagePath, store), '*');\n for (const pkgName of foldersOnStorage) {\n if (validationUtils.isPackageNameScoped(pkgName)) {\n const scopedPackages = await getFolders(join(storagePath, store, pkgName), '*');\n const listScoped = scopedPackages.map((scoped) => ({\n name: `${pkgName}/${scoped}`,\n scoped: pkgName,\n }));\n results.push(...listScoped);\n } else {\n results.push({\n name: pkgName,\n });\n }\n }\n }\n\n return results;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dir-utils.js","names":[],"sources":["../src/dir-utils.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport globby from 'globby';\nimport { join } from 'node:path';\n\nimport type { searchUtils } from '@verdaccio/core';\nimport { validationUtils } from '@verdaccio/core';\n\nconst debug = buildDebug('verdaccio:plugin:local-storage:utils');\n\n/**\n * Retrieve a list of absolute paths to all folders in the given storage path\n * @param storagePath the base path of the storage\n * @return a promise that resolves to an array of absolute paths\n */\nexport async function getFolders(storagePath: string, pattern = '*'): Promise<string[]> {\n const files = await globby(pattern, {\n // @ts-ignore\n cwd: storagePath,\n expandDirectories: true,\n onlyDirectories: true,\n onlyFiles: false,\n // should not go deeper than the storage path (10 is reasonable for the storage)\n deep: 10,\n dot: false,\n followSymbolicLinks: true,\n caseSensitiveMatch: true,\n unique: true,\n // FIXME: add here list of forbiden patterns\n // don't include scoped folders.\n // ignore: [`@*`],\n });\n return files;\n}\n\n/**\n * Search packages on the the storage. The storage could be\n * - storage\n * - pkg1\n * - @company\n * - pkg2 -> @scompany/pkg2\n * - storage1\n * - pkg2\n * - pkg3\n * - storage2\n * - @scope\n * - pkg4 > @scope/pkg4\n * The search return a data structure like:\n * [\n * {\n * name: 'pkg1', // package name could be @scope/pkg1\n * path: absolute/path/package/name\n * }\n * ]\n * @param {string} storagePath is the base path of the storage folder,\n * inside could be packages, storages and @scope packages.\n * @param {Set<string>} storages storages are defined peer package access pattern via `storage` property\n * @param query is the search query from the user via npm search command.\n * and are intended to organize packages in a tree structure.\n * @returns {Promise<searchUtils.SearchItemPkg[]>}\n */\nexport async function searchOnStorage(\n storagePath: string,\n storages: Map<string, string>\n): Promise<searchUtils.SearchItemPkg[]> {\n const matchedStorages = Array.from(storages);\n const storageFolders = Array.from(storages.keys());\n debug('search on %o', storagePath);\n debug('storage folders %o', matchedStorages.length);\n const results: searchUtils.SearchItemPkg[] = [];\n // watch base path and ignore storage folders\n const basePathFolders = (await getFolders(storagePath, '*')).filter(\n (storageFolder) => !storageFolders.includes(storageFolder)\n );\n\n for (const store of basePathFolders) {\n if (validationUtils.isPackageNameScoped(store)) {\n const scopedPackages = await getFolders(join(storagePath, store), '*');\n const listScoped = scopedPackages.map((scoped) => ({\n name: `${store}/${scoped}`,\n scoped: store,\n }));\n results.push(...listScoped);\n } else {\n results.push({\n name: store,\n });\n }\n }\n\n // iterate each storage folder\n for (const store of storageFolders) {\n const foldersOnStorage = await getFolders(join(storagePath, store), '*');\n for (const pkgName of foldersOnStorage) {\n if (validationUtils.isPackageNameScoped(pkgName)) {\n const scopedPackages = await getFolders(join(storagePath, store, pkgName), '*');\n const listScoped = scopedPackages.map((scoped) => ({\n name: `${pkgName}/${scoped}`,\n scoped: pkgName,\n }));\n results.push(...listScoped);\n } else {\n results.push({\n name: pkgName,\n });\n }\n }\n }\n\n return results;\n}\n"],"mappings":";;;;;;;;AAOA,IAAM,WAAA,GAAA,MAAA,SAAmB,uCAAuC;;;;;;AAOhE,eAAsB,WAAW,aAAqB,UAAU,KAAwB;AAiBtF,QAhBc,OAAA,GAAA,OAAA,SAAa,SAAS;EAElC,KAAK;EACL,mBAAmB;EACnB,iBAAiB;EACjB,WAAW;EAEX,MAAM;EACN,KAAK;EACL,qBAAqB;EACrB,oBAAoB;EACpB,QAAQ;EAIT,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BJ,eAAsB,gBACpB,aACA,UACsC;CACtC,MAAM,kBAAkB,MAAM,KAAK,SAAS;CAC5C,MAAM,iBAAiB,MAAM,KAAK,SAAS,MAAM,CAAC;AAClD,SAAM,gBAAgB,YAAY;AAClC,SAAM,sBAAsB,gBAAgB,OAAO;CACnD,MAAM,UAAuC,EAAE;CAE/C,MAAM,mBAAmB,MAAM,WAAW,aAAa,IAAI,EAAE,QAC1D,kBAAkB,CAAC,eAAe,SAAS,cAAc,CAC3D;AAED,MAAK,MAAM,SAAS,gBAClB,KAAI,gBAAA,gBAAgB,oBAAoB,MAAM,EAAE;EAE9C,MAAM,cADiB,MAAM,YAAA,GAAA,UAAA,MAAgB,aAAa,MAAM,EAAE,IAAI,EACpC,KAAK,YAAY;GACjD,MAAM,GAAG,MAAM,GAAG;GAClB,QAAQ;GACT,EAAE;AACH,UAAQ,KAAK,GAAG,WAAW;OAE3B,SAAQ,KAAK,EACX,MAAM,OACP,CAAC;AAKN,MAAK,MAAM,SAAS,gBAAgB;EAClC,MAAM,mBAAmB,MAAM,YAAA,GAAA,UAAA,MAAgB,aAAa,MAAM,EAAE,IAAI;AACxE,OAAK,MAAM,WAAW,iBACpB,KAAI,gBAAA,gBAAgB,oBAAoB,QAAQ,EAAE;GAEhD,MAAM,cADiB,MAAM,YAAA,GAAA,UAAA,MAAgB,aAAa,OAAO,QAAQ,EAAE,IAAI,EAC7C,KAAK,YAAY;IACjD,MAAM,GAAG,QAAQ,GAAG;IACpB,QAAQ;IACT,EAAE;AACH,WAAQ,KAAK,GAAG,WAAW;QAE3B,SAAQ,KAAK,EACX,MAAM,SACP,CAAC;;AAKR,QAAO"}
@@ -0,0 +1,80 @@
1
+ import buildDebug from "debug";
2
+ import { join } from "node:path";
3
+ import { validationUtils } from "@verdaccio/core";
4
+ import globby from "globby";
5
+ //#region src/dir-utils.ts
6
+ var debug = buildDebug("verdaccio:plugin:local-storage:utils");
7
+ /**
8
+ * Retrieve a list of absolute paths to all folders in the given storage path
9
+ * @param storagePath the base path of the storage
10
+ * @return a promise that resolves to an array of absolute paths
11
+ */
12
+ async function getFolders(storagePath, pattern = "*") {
13
+ return await globby(pattern, {
14
+ cwd: storagePath,
15
+ expandDirectories: true,
16
+ onlyDirectories: true,
17
+ onlyFiles: false,
18
+ deep: 10,
19
+ dot: false,
20
+ followSymbolicLinks: true,
21
+ caseSensitiveMatch: true,
22
+ unique: true
23
+ });
24
+ }
25
+ /**
26
+ * Search packages on the the storage. The storage could be
27
+ * - storage
28
+ * - pkg1
29
+ * - @company
30
+ * - pkg2 -> @scompany/pkg2
31
+ * - storage1
32
+ * - pkg2
33
+ * - pkg3
34
+ * - storage2
35
+ * - @scope
36
+ * - pkg4 > @scope/pkg4
37
+ * The search return a data structure like:
38
+ * [
39
+ * {
40
+ * name: 'pkg1', // package name could be @scope/pkg1
41
+ * path: absolute/path/package/name
42
+ * }
43
+ * ]
44
+ * @param {string} storagePath is the base path of the storage folder,
45
+ * inside could be packages, storages and @scope packages.
46
+ * @param {Set<string>} storages storages are defined peer package access pattern via `storage` property
47
+ * @param query is the search query from the user via npm search command.
48
+ * and are intended to organize packages in a tree structure.
49
+ * @returns {Promise<searchUtils.SearchItemPkg[]>}
50
+ */
51
+ async function searchOnStorage(storagePath, storages) {
52
+ const matchedStorages = Array.from(storages);
53
+ const storageFolders = Array.from(storages.keys());
54
+ debug("search on %o", storagePath);
55
+ debug("storage folders %o", matchedStorages.length);
56
+ const results = [];
57
+ const basePathFolders = (await getFolders(storagePath, "*")).filter((storageFolder) => !storageFolders.includes(storageFolder));
58
+ for (const store of basePathFolders) if (validationUtils.isPackageNameScoped(store)) {
59
+ const listScoped = (await getFolders(join(storagePath, store), "*")).map((scoped) => ({
60
+ name: `${store}/${scoped}`,
61
+ scoped: store
62
+ }));
63
+ results.push(...listScoped);
64
+ } else results.push({ name: store });
65
+ for (const store of storageFolders) {
66
+ const foldersOnStorage = await getFolders(join(storagePath, store), "*");
67
+ for (const pkgName of foldersOnStorage) if (validationUtils.isPackageNameScoped(pkgName)) {
68
+ const listScoped = (await getFolders(join(storagePath, store, pkgName), "*")).map((scoped) => ({
69
+ name: `${pkgName}/${scoped}`,
70
+ scoped: pkgName
71
+ }));
72
+ results.push(...listScoped);
73
+ } else results.push({ name: pkgName });
74
+ }
75
+ return results;
76
+ }
77
+ //#endregion
78
+ export { searchOnStorage };
79
+
80
+ //# sourceMappingURL=dir-utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dir-utils.mjs","names":[],"sources":["../src/dir-utils.ts"],"sourcesContent":["import buildDebug from 'debug';\nimport globby from 'globby';\nimport { join } from 'node:path';\n\nimport type { searchUtils } from '@verdaccio/core';\nimport { validationUtils } from '@verdaccio/core';\n\nconst debug = buildDebug('verdaccio:plugin:local-storage:utils');\n\n/**\n * Retrieve a list of absolute paths to all folders in the given storage path\n * @param storagePath the base path of the storage\n * @return a promise that resolves to an array of absolute paths\n */\nexport async function getFolders(storagePath: string, pattern = '*'): Promise<string[]> {\n const files = await globby(pattern, {\n // @ts-ignore\n cwd: storagePath,\n expandDirectories: true,\n onlyDirectories: true,\n onlyFiles: false,\n // should not go deeper than the storage path (10 is reasonable for the storage)\n deep: 10,\n dot: false,\n followSymbolicLinks: true,\n caseSensitiveMatch: true,\n unique: true,\n // FIXME: add here list of forbiden patterns\n // don't include scoped folders.\n // ignore: [`@*`],\n });\n return files;\n}\n\n/**\n * Search packages on the the storage. The storage could be\n * - storage\n * - pkg1\n * - @company\n * - pkg2 -> @scompany/pkg2\n * - storage1\n * - pkg2\n * - pkg3\n * - storage2\n * - @scope\n * - pkg4 > @scope/pkg4\n * The search return a data structure like:\n * [\n * {\n * name: 'pkg1', // package name could be @scope/pkg1\n * path: absolute/path/package/name\n * }\n * ]\n * @param {string} storagePath is the base path of the storage folder,\n * inside could be packages, storages and @scope packages.\n * @param {Set<string>} storages storages are defined peer package access pattern via `storage` property\n * @param query is the search query from the user via npm search command.\n * and are intended to organize packages in a tree structure.\n * @returns {Promise<searchUtils.SearchItemPkg[]>}\n */\nexport async function searchOnStorage(\n storagePath: string,\n storages: Map<string, string>\n): Promise<searchUtils.SearchItemPkg[]> {\n const matchedStorages = Array.from(storages);\n const storageFolders = Array.from(storages.keys());\n debug('search on %o', storagePath);\n debug('storage folders %o', matchedStorages.length);\n const results: searchUtils.SearchItemPkg[] = [];\n // watch base path and ignore storage folders\n const basePathFolders = (await getFolders(storagePath, '*')).filter(\n (storageFolder) => !storageFolders.includes(storageFolder)\n );\n\n for (const store of basePathFolders) {\n if (validationUtils.isPackageNameScoped(store)) {\n const scopedPackages = await getFolders(join(storagePath, store), '*');\n const listScoped = scopedPackages.map((scoped) => ({\n name: `${store}/${scoped}`,\n scoped: store,\n }));\n results.push(...listScoped);\n } else {\n results.push({\n name: store,\n });\n }\n }\n\n // iterate each storage folder\n for (const store of storageFolders) {\n const foldersOnStorage = await getFolders(join(storagePath, store), '*');\n for (const pkgName of foldersOnStorage) {\n if (validationUtils.isPackageNameScoped(pkgName)) {\n const scopedPackages = await getFolders(join(storagePath, store, pkgName), '*');\n const listScoped = scopedPackages.map((scoped) => ({\n name: `${pkgName}/${scoped}`,\n scoped: pkgName,\n }));\n results.push(...listScoped);\n } else {\n results.push({\n name: pkgName,\n });\n }\n }\n }\n\n return results;\n}\n"],"mappings":";;;;;AAOA,IAAM,QAAQ,WAAW,uCAAuC;;;;;;AAOhE,eAAsB,WAAW,aAAqB,UAAU,KAAwB;AAiBtF,QAhBc,MAAM,OAAO,SAAS;EAElC,KAAK;EACL,mBAAmB;EACnB,iBAAiB;EACjB,WAAW;EAEX,MAAM;EACN,KAAK;EACL,qBAAqB;EACrB,oBAAoB;EACpB,QAAQ;EAIT,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BJ,eAAsB,gBACpB,aACA,UACsC;CACtC,MAAM,kBAAkB,MAAM,KAAK,SAAS;CAC5C,MAAM,iBAAiB,MAAM,KAAK,SAAS,MAAM,CAAC;AAClD,OAAM,gBAAgB,YAAY;AAClC,OAAM,sBAAsB,gBAAgB,OAAO;CACnD,MAAM,UAAuC,EAAE;CAE/C,MAAM,mBAAmB,MAAM,WAAW,aAAa,IAAI,EAAE,QAC1D,kBAAkB,CAAC,eAAe,SAAS,cAAc,CAC3D;AAED,MAAK,MAAM,SAAS,gBAClB,KAAI,gBAAgB,oBAAoB,MAAM,EAAE;EAE9C,MAAM,cADiB,MAAM,WAAW,KAAK,aAAa,MAAM,EAAE,IAAI,EACpC,KAAK,YAAY;GACjD,MAAM,GAAG,MAAM,GAAG;GAClB,QAAQ;GACT,EAAE;AACH,UAAQ,KAAK,GAAG,WAAW;OAE3B,SAAQ,KAAK,EACX,MAAM,OACP,CAAC;AAKN,MAAK,MAAM,SAAS,gBAAgB;EAClC,MAAM,mBAAmB,MAAM,WAAW,KAAK,aAAa,MAAM,EAAE,IAAI;AACxE,OAAK,MAAM,WAAW,iBACpB,KAAI,gBAAgB,oBAAoB,QAAQ,EAAE;GAEhD,MAAM,cADiB,MAAM,WAAW,KAAK,aAAa,OAAO,QAAQ,EAAE,IAAI,EAC7C,KAAK,YAAY;IACjD,MAAM,GAAG,QAAQ,GAAG;IACpB,QAAQ;IACT,EAAE;AACH,WAAQ,KAAK,GAAG,WAAW;QAE3B,SAAQ,KAAK,EACX,MAAM,SACP,CAAC;;AAKR,QAAO"}
package/build/fs.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import fsCallback from 'node:fs';
1
+ import { default as fsCallback } from 'node:fs';
2
2
  declare const mkdirPromise: typeof fsCallback.promises.mkdir;
3
3
  declare const accessPromise: typeof fsCallback.promises.access;
4
4
  declare const writeFilePromise: typeof fsCallback.promises.writeFile;
package/build/fs.js CHANGED
@@ -1,54 +1,40 @@
1
- "use strict";
2
-
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.accessPromise = void 0;
8
- exports.fstatPromise = fstatPromise;
9
- exports.writeFilePromise = exports.unlinkPromise = exports.statPromise = exports.rmdirPromise = exports.renamePromise = exports.readdirPromise = exports.readFilePromise = exports.openPromise = exports.mkdirPromise = void 0;
10
- var _nodeFs = _interopRequireDefault(require("node:fs"));
11
- var fsP = _interopRequireWildcard(require("node:fs/promises"));
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
- function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
15
- function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
16
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
17
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
18
- var readFile = fsP.readFile;
19
- var mkdirPromise = exports.mkdirPromise = fsP.mkdir;
20
- var accessPromise = exports.accessPromise = fsP.access;
21
- var writeFilePromise = exports.writeFilePromise = fsP.writeFile;
22
- var readdirPromise = exports.readdirPromise = fsP.readdir;
23
- var statPromise = exports.statPromise = fsP.stat;
24
- var unlinkPromise = exports.unlinkPromise = fsP.unlink;
25
- var rmdirPromise = exports.rmdirPromise = fsP.rmdir;
26
- var renamePromise = exports.renamePromise = fsP.rename;
27
- var openPromise = exports.openPromise = fsP.open;
28
- var readFilePromise = exports.readFilePromise = /*#__PURE__*/function () {
29
- var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(path) {
30
- return _regenerator().w(function (_context) {
31
- while (1) switch (_context.n) {
32
- case 0:
33
- _context.n = 1;
34
- return readFile(path, 'utf8');
35
- case 1:
36
- return _context.a(2, _context.v);
37
- }
38
- }, _callee);
39
- }));
40
- return function readFilePromise(_x) {
41
- return _ref.apply(this, arguments);
42
- };
43
- }();
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.js");
2
+ let node_fs = require("node:fs");
3
+ node_fs = require_runtime.__toESM(node_fs);
4
+ let node_fs_promises = require("node:fs/promises");
5
+ node_fs_promises = require_runtime.__toESM(node_fs_promises);
6
+ //#region src/fs.ts
7
+ var readFile = node_fs_promises.readFile;
8
+ var mkdirPromise = node_fs_promises.mkdir;
9
+ var accessPromise = node_fs_promises.access;
10
+ var writeFilePromise = node_fs_promises.writeFile;
11
+ node_fs_promises.readdir;
12
+ var statPromise = node_fs_promises.stat;
13
+ var unlinkPromise = node_fs_promises.unlink;
14
+ var rmdirPromise = node_fs_promises.rmdir;
15
+ var renamePromise = node_fs_promises.rename;
16
+ var openPromise = node_fs_promises.open;
17
+ var readFilePromise = async (path) => {
18
+ return await readFile(path, "utf8");
19
+ };
44
20
  function fstatPromise(fd) {
45
- return new Promise(function (resolve, reject) {
46
- _nodeFs["default"].fstat(fd, function (err, stats) {
47
- if (err) {
48
- return reject(err);
49
- }
50
- return resolve(stats);
51
- });
52
- });
21
+ return new Promise((resolve, reject) => {
22
+ node_fs.default.fstat(fd, function(err, stats) {
23
+ if (err) return reject(err);
24
+ return resolve(stats);
25
+ });
26
+ });
53
27
  }
28
+ //#endregion
29
+ exports.accessPromise = accessPromise;
30
+ exports.fstatPromise = fstatPromise;
31
+ exports.mkdirPromise = mkdirPromise;
32
+ exports.openPromise = openPromise;
33
+ exports.readFilePromise = readFilePromise;
34
+ exports.renamePromise = renamePromise;
35
+ exports.rmdirPromise = rmdirPromise;
36
+ exports.statPromise = statPromise;
37
+ exports.unlinkPromise = unlinkPromise;
38
+ exports.writeFilePromise = writeFilePromise;
39
+
54
40
  //# sourceMappingURL=fs.js.map