@pipelab/plugin-poki 1.0.0-beta.15 → 1.0.0-beta.16
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/dist/index.cjs +41 -8
- package/dist/index.mjs +40 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -26,6 +26,8 @@ let node_v8 = require("node:v8");
|
|
|
26
26
|
let node_stream_promises = require("node:stream/promises");
|
|
27
27
|
let node_stream = require("node:stream");
|
|
28
28
|
let node_buffer = require("node:buffer");
|
|
29
|
+
let node_dns_promises = require("node:dns/promises");
|
|
30
|
+
node_dns_promises = require_chunk.__toESM(node_dns_promises);
|
|
29
31
|
//#region ../../packages/migration/src/models/createMigration.ts
|
|
30
32
|
function createMigration$1(migration) {
|
|
31
33
|
return {
|
|
@@ -123852,7 +123854,7 @@ var require_auth = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module
|
|
|
123852
123854
|
//#endregion
|
|
123853
123855
|
//#region ../../node_modules/make-fetch-happen/lib/options.js
|
|
123854
123856
|
var require_options$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
123855
|
-
const dns$
|
|
123857
|
+
const dns$3 = require("dns");
|
|
123856
123858
|
const conditionalHeaders = [
|
|
123857
123859
|
"if-modified-since",
|
|
123858
123860
|
"if-none-match",
|
|
@@ -123877,7 +123879,7 @@ var require_options$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, m
|
|
|
123877
123879
|
};
|
|
123878
123880
|
options.dns = {
|
|
123879
123881
|
ttl: 300 * 1e3,
|
|
123880
|
-
lookup: dns$
|
|
123882
|
+
lookup: dns$3.lookup,
|
|
123881
123883
|
...options.dns
|
|
123882
123884
|
};
|
|
123883
123885
|
options.cache = options.cache || "default";
|
|
@@ -125294,9 +125296,9 @@ var require_key$3 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modul
|
|
|
125294
125296
|
//#region ../../node_modules/@npmcli/agent/lib/dns.js
|
|
125295
125297
|
var require_dns = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
|
|
125296
125298
|
const { LRUCache } = require_index_min$5();
|
|
125297
|
-
const dns$
|
|
125299
|
+
const dns$2 = require("dns");
|
|
125298
125300
|
const cache = new LRUCache({ max: 50 });
|
|
125299
|
-
const getOptions = ({ family = 0, hints = dns$
|
|
125301
|
+
const getOptions = ({ family = 0, hints = dns$2.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$2.lookup }) => ({
|
|
125300
125302
|
hints,
|
|
125301
125303
|
lookup: (hostname, ...args) => {
|
|
125302
125304
|
const callback = args.pop();
|
|
@@ -130335,7 +130337,7 @@ var require_dist$9 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
|
130335
130337
|
const socks_1 = require_build$1();
|
|
130336
130338
|
const agent_base_1 = require_dist$12();
|
|
130337
130339
|
const debug_1 = __importDefault(require_src$1());
|
|
130338
|
-
const dns = __importStar(require("dns"));
|
|
130340
|
+
const dns$1 = __importStar(require("dns"));
|
|
130339
130341
|
const net$1 = __importStar(require("net"));
|
|
130340
130342
|
const tls$1 = __importStar(require("tls"));
|
|
130341
130343
|
const url_1$1 = require("url");
|
|
@@ -130407,7 +130409,7 @@ var require_dist$9 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
|
|
|
130407
130409
|
const { shouldLookup, proxy, timeout } = this;
|
|
130408
130410
|
if (!opts.host) throw new Error("No `host` defined!");
|
|
130409
130411
|
let { host } = opts;
|
|
130410
|
-
const { port, lookup: lookupFn = dns.lookup } = opts;
|
|
130412
|
+
const { port, lookup: lookupFn = dns$1.lookup } = opts;
|
|
130411
130413
|
if (shouldLookup) host = await new Promise((resolve, reject) => {
|
|
130412
130414
|
lookupFn(host, {}, (err, res) => {
|
|
130413
130415
|
if (err) reject(err);
|
|
@@ -151176,6 +151178,20 @@ async function withLock(key, fn) {
|
|
|
151176
151178
|
activeOperations.set(key, promise);
|
|
151177
151179
|
return promise;
|
|
151178
151180
|
}
|
|
151181
|
+
let isOnlineCached = null;
|
|
151182
|
+
let lastCheckTime = 0;
|
|
151183
|
+
async function isOnline() {
|
|
151184
|
+
const now = Date.now();
|
|
151185
|
+
if (isOnlineCached !== null && now - lastCheckTime < 1e4) return isOnlineCached;
|
|
151186
|
+
try {
|
|
151187
|
+
await Promise.race([node_dns_promises.default.lookup("registry.npmjs.org"), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("timeout")), 1500))]);
|
|
151188
|
+
isOnlineCached = true;
|
|
151189
|
+
} catch {
|
|
151190
|
+
isOnlineCached = false;
|
|
151191
|
+
}
|
|
151192
|
+
lastCheckTime = now;
|
|
151193
|
+
return isOnlineCached;
|
|
151194
|
+
}
|
|
151179
151195
|
/**
|
|
151180
151196
|
* Robust utility to fetch, cache, and resolve an NPM package.
|
|
151181
151197
|
* Centralized in core-node to avoid circular dependencies.
|
|
@@ -151202,7 +151218,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151202
151218
|
if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
|
|
151203
151219
|
console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
|
|
151204
151220
|
const resolveStart = Date.now();
|
|
151205
|
-
|
|
151221
|
+
if (!await isOnline()) {
|
|
151222
|
+
console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
151223
|
+
const fallbackStart = Date.now();
|
|
151224
|
+
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
|
|
151225
|
+
if (fallbackVersion) {
|
|
151226
|
+
resolvedVersion = fallbackVersion;
|
|
151227
|
+
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
151228
|
+
} else throw new Error(`Offline and no local fallback version available for ${packageName}`);
|
|
151229
|
+
} else try {
|
|
151206
151230
|
const cachePath = (0, node_path.join)(ctx.userDataPath, "cache", "pacote");
|
|
151207
151231
|
let packumentPromise = packumentRequests.get(packageName);
|
|
151208
151232
|
if (!packumentPromise) {
|
|
@@ -151212,7 +151236,16 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151212
151236
|
const packument = await packumentPromise;
|
|
151213
151237
|
const versions = Object.keys(packument.versions);
|
|
151214
151238
|
const range = resolvedVersionOrRange || "latest";
|
|
151215
|
-
|
|
151239
|
+
let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
|
|
151240
|
+
if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
|
|
151241
|
+
const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
|
|
151242
|
+
if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
|
|
151243
|
+
if (!foundVersion || import_semver.default.valid(foundVersion) && import_semver.default.gte(releaseTagVersion, foundVersion)) {
|
|
151244
|
+
console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) instead of "latest" (${foundVersion || "none"}) for ${packageName}`);
|
|
151245
|
+
foundVersion = releaseTagVersion;
|
|
151246
|
+
} else if (foundVersion) console.warn(`[Fetcher] Tag "${ctx.releaseTag}" (${releaseTagVersion}) is older than "latest" (${foundVersion}) for ${packageName}, keeping "latest"`);
|
|
151247
|
+
}
|
|
151248
|
+
}
|
|
151216
151249
|
if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
|
|
151217
151250
|
resolvedVersion = foundVersion;
|
|
151218
151251
|
console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
|
package/dist/index.mjs
CHANGED
|
@@ -20,6 +20,7 @@ import { serialize } from "node:v8";
|
|
|
20
20
|
import { finished, pipeline } from "node:stream/promises";
|
|
21
21
|
import { Duplex, PassThrough, Readable, Transform, Writable, getDefaultHighWaterMark } from "node:stream";
|
|
22
22
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
23
|
+
import dns from "node:dns/promises";
|
|
23
24
|
//#region ../../packages/migration/src/models/createMigration.ts
|
|
24
25
|
function createMigration$1(migration) {
|
|
25
26
|
return {
|
|
@@ -123850,7 +123851,7 @@ var require_auth = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
123850
123851
|
//#endregion
|
|
123851
123852
|
//#region ../../node_modules/make-fetch-happen/lib/options.js
|
|
123852
123853
|
var require_options$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
123853
|
-
const dns$
|
|
123854
|
+
const dns$3 = __require("dns");
|
|
123854
123855
|
const conditionalHeaders = [
|
|
123855
123856
|
"if-modified-since",
|
|
123856
123857
|
"if-none-match",
|
|
@@ -123875,7 +123876,7 @@ var require_options$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
123875
123876
|
};
|
|
123876
123877
|
options.dns = {
|
|
123877
123878
|
ttl: 300 * 1e3,
|
|
123878
|
-
lookup: dns$
|
|
123879
|
+
lookup: dns$3.lookup,
|
|
123879
123880
|
...options.dns
|
|
123880
123881
|
};
|
|
123881
123882
|
options.cache = options.cache || "default";
|
|
@@ -125292,9 +125293,9 @@ var require_key$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
125292
125293
|
//#region ../../node_modules/@npmcli/agent/lib/dns.js
|
|
125293
125294
|
var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
125294
125295
|
const { LRUCache } = require_index_min$5();
|
|
125295
|
-
const dns$
|
|
125296
|
+
const dns$2 = __require("dns");
|
|
125296
125297
|
const cache = new LRUCache({ max: 50 });
|
|
125297
|
-
const getOptions = ({ family = 0, hints = dns$
|
|
125298
|
+
const getOptions = ({ family = 0, hints = dns$2.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$2.lookup }) => ({
|
|
125298
125299
|
hints,
|
|
125299
125300
|
lookup: (hostname, ...args) => {
|
|
125300
125301
|
const callback = args.pop();
|
|
@@ -130333,7 +130334,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
130333
130334
|
const socks_1 = require_build$1();
|
|
130334
130335
|
const agent_base_1 = require_dist$12();
|
|
130335
130336
|
const debug_1 = __importDefault(require_src$1());
|
|
130336
|
-
const dns = __importStar(__require("dns"));
|
|
130337
|
+
const dns$1 = __importStar(__require("dns"));
|
|
130337
130338
|
const net$1 = __importStar(__require("net"));
|
|
130338
130339
|
const tls$1 = __importStar(__require("tls"));
|
|
130339
130340
|
const url_1$1 = __require("url");
|
|
@@ -130405,7 +130406,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
130405
130406
|
const { shouldLookup, proxy, timeout } = this;
|
|
130406
130407
|
if (!opts.host) throw new Error("No `host` defined!");
|
|
130407
130408
|
let { host } = opts;
|
|
130408
|
-
const { port, lookup: lookupFn = dns.lookup } = opts;
|
|
130409
|
+
const { port, lookup: lookupFn = dns$1.lookup } = opts;
|
|
130409
130410
|
if (shouldLookup) host = await new Promise((resolve, reject) => {
|
|
130410
130411
|
lookupFn(host, {}, (err, res) => {
|
|
130411
130412
|
if (err) reject(err);
|
|
@@ -151174,6 +151175,20 @@ async function withLock(key, fn) {
|
|
|
151174
151175
|
activeOperations.set(key, promise);
|
|
151175
151176
|
return promise;
|
|
151176
151177
|
}
|
|
151178
|
+
let isOnlineCached = null;
|
|
151179
|
+
let lastCheckTime = 0;
|
|
151180
|
+
async function isOnline() {
|
|
151181
|
+
const now = Date.now();
|
|
151182
|
+
if (isOnlineCached !== null && now - lastCheckTime < 1e4) return isOnlineCached;
|
|
151183
|
+
try {
|
|
151184
|
+
await Promise.race([dns.lookup("registry.npmjs.org"), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("timeout")), 1500))]);
|
|
151185
|
+
isOnlineCached = true;
|
|
151186
|
+
} catch {
|
|
151187
|
+
isOnlineCached = false;
|
|
151188
|
+
}
|
|
151189
|
+
lastCheckTime = now;
|
|
151190
|
+
return isOnlineCached;
|
|
151191
|
+
}
|
|
151177
151192
|
/**
|
|
151178
151193
|
* Robust utility to fetch, cache, and resolve an NPM package.
|
|
151179
151194
|
* Centralized in core-node to avoid circular dependencies.
|
|
@@ -151200,7 +151215,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151200
151215
|
if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
|
|
151201
151216
|
console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
|
|
151202
151217
|
const resolveStart = Date.now();
|
|
151203
|
-
|
|
151218
|
+
if (!await isOnline()) {
|
|
151219
|
+
console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
|
|
151220
|
+
const fallbackStart = Date.now();
|
|
151221
|
+
const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
|
|
151222
|
+
if (fallbackVersion) {
|
|
151223
|
+
resolvedVersion = fallbackVersion;
|
|
151224
|
+
console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
|
|
151225
|
+
} else throw new Error(`Offline and no local fallback version available for ${packageName}`);
|
|
151226
|
+
} else try {
|
|
151204
151227
|
const cachePath = join(ctx.userDataPath, "cache", "pacote");
|
|
151205
151228
|
let packumentPromise = packumentRequests.get(packageName);
|
|
151206
151229
|
if (!packumentPromise) {
|
|
@@ -151210,7 +151233,16 @@ async function fetchPackage(packageName, versionOrRange, options) {
|
|
|
151210
151233
|
const packument = await packumentPromise;
|
|
151211
151234
|
const versions = Object.keys(packument.versions);
|
|
151212
151235
|
const range = resolvedVersionOrRange || "latest";
|
|
151213
|
-
|
|
151236
|
+
let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
|
|
151237
|
+
if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
|
|
151238
|
+
const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
|
|
151239
|
+
if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
|
|
151240
|
+
if (!foundVersion || import_semver.default.valid(foundVersion) && import_semver.default.gte(releaseTagVersion, foundVersion)) {
|
|
151241
|
+
console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) instead of "latest" (${foundVersion || "none"}) for ${packageName}`);
|
|
151242
|
+
foundVersion = releaseTagVersion;
|
|
151243
|
+
} else if (foundVersion) console.warn(`[Fetcher] Tag "${ctx.releaseTag}" (${releaseTagVersion}) is older than "latest" (${foundVersion}) for ${packageName}, keeping "latest"`);
|
|
151244
|
+
}
|
|
151245
|
+
}
|
|
151214
151246
|
if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
|
|
151215
151247
|
resolvedVersion = foundVersion;
|
|
151216
151248
|
console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);
|