@pipelab/plugin-netlify 1.0.0-beta.15 → 1.0.0-beta.17

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 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 {
@@ -123836,7 +123838,7 @@ var require_auth = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module
123836
123838
  //#endregion
123837
123839
  //#region ../../node_modules/make-fetch-happen/lib/options.js
123838
123840
  var require_options$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
123839
- const dns$2 = require("dns");
123841
+ const dns$3 = require("dns");
123840
123842
  const conditionalHeaders = [
123841
123843
  "if-modified-since",
123842
123844
  "if-none-match",
@@ -123861,7 +123863,7 @@ var require_options$1 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, m
123861
123863
  };
123862
123864
  options.dns = {
123863
123865
  ttl: 300 * 1e3,
123864
- lookup: dns$2.lookup,
123866
+ lookup: dns$3.lookup,
123865
123867
  ...options.dns
123866
123868
  };
123867
123869
  options.cache = options.cache || "default";
@@ -125278,9 +125280,9 @@ var require_key$3 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, modul
125278
125280
  //#region ../../node_modules/@npmcli/agent/lib/dns.js
125279
125281
  var require_dns = /* @__PURE__ */ require_chunk.__commonJSMin(((exports, module) => {
125280
125282
  const { LRUCache } = require_index_min$5();
125281
- const dns$1 = require("dns");
125283
+ const dns$2 = require("dns");
125282
125284
  const cache = new LRUCache({ max: 50 });
125283
- const getOptions = ({ family = 0, hints = dns$1.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$1.lookup }) => ({
125285
+ const getOptions = ({ family = 0, hints = dns$2.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$2.lookup }) => ({
125284
125286
  hints,
125285
125287
  lookup: (hostname, ...args) => {
125286
125288
  const callback = args.pop();
@@ -130319,7 +130321,7 @@ var require_dist$9 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
130319
130321
  const socks_1 = require_build$1();
130320
130322
  const agent_base_1 = require_dist$12();
130321
130323
  const debug_1 = __importDefault(require_src$1());
130322
- const dns = __importStar(require("dns"));
130324
+ const dns$1 = __importStar(require("dns"));
130323
130325
  const net$1 = __importStar(require("net"));
130324
130326
  const tls$1 = __importStar(require("tls"));
130325
130327
  const url_1$1 = require("url");
@@ -130391,7 +130393,7 @@ var require_dist$9 = /* @__PURE__ */ require_chunk.__commonJSMin(((exports) => {
130391
130393
  const { shouldLookup, proxy, timeout } = this;
130392
130394
  if (!opts.host) throw new Error("No `host` defined!");
130393
130395
  let { host } = opts;
130394
- const { port, lookup: lookupFn = dns.lookup } = opts;
130396
+ const { port, lookup: lookupFn = dns$1.lookup } = opts;
130395
130397
  if (shouldLookup) host = await new Promise((resolve, reject) => {
130396
130398
  lookupFn(host, {}, (err, res) => {
130397
130399
  if (err) reject(err);
@@ -151160,6 +151162,20 @@ async function withLock(key, fn) {
151160
151162
  activeOperations.set(key, promise);
151161
151163
  return promise;
151162
151164
  }
151165
+ let isOnlineCached = null;
151166
+ let lastCheckTime = 0;
151167
+ async function isOnline() {
151168
+ const now = Date.now();
151169
+ if (isOnlineCached !== null && now - lastCheckTime < 1e4) return isOnlineCached;
151170
+ try {
151171
+ await Promise.race([node_dns_promises.default.lookup("registry.npmjs.org"), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("timeout")), 1500))]);
151172
+ isOnlineCached = true;
151173
+ } catch {
151174
+ isOnlineCached = false;
151175
+ }
151176
+ lastCheckTime = now;
151177
+ return isOnlineCached;
151178
+ }
151163
151179
  /**
151164
151180
  * Robust utility to fetch, cache, and resolve an NPM package.
151165
151181
  * Centralized in core-node to avoid circular dependencies.
@@ -151186,7 +151202,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
151186
151202
  if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
151187
151203
  console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
151188
151204
  const resolveStart = Date.now();
151189
- try {
151205
+ if (!await isOnline()) {
151206
+ console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
151207
+ const fallbackStart = Date.now();
151208
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
151209
+ if (fallbackVersion) {
151210
+ resolvedVersion = fallbackVersion;
151211
+ console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
151212
+ } else throw new Error(`Offline and no local fallback version available for ${packageName}`);
151213
+ } else try {
151190
151214
  const cachePath = (0, node_path.join)(ctx.userDataPath, "cache", "pacote");
151191
151215
  let packumentPromise = packumentRequests.get(packageName);
151192
151216
  if (!packumentPromise) {
@@ -151196,7 +151220,16 @@ async function fetchPackage(packageName, versionOrRange, options) {
151196
151220
  const packument = await packumentPromise;
151197
151221
  const versions = Object.keys(packument.versions);
151198
151222
  const range = resolvedVersionOrRange || "latest";
151199
- const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
151223
+ let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
151224
+ if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
151225
+ const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
151226
+ if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
151227
+ if (!foundVersion || import_semver.default.valid(foundVersion) && import_semver.default.gte(releaseTagVersion, foundVersion)) {
151228
+ console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) instead of "latest" (${foundVersion || "none"}) for ${packageName}`);
151229
+ foundVersion = releaseTagVersion;
151230
+ } else if (foundVersion) console.warn(`[Fetcher] Tag "${ctx.releaseTag}" (${releaseTagVersion}) is older than "latest" (${foundVersion}) for ${packageName}, keeping "latest"`);
151231
+ }
151232
+ }
151200
151233
  if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
151201
151234
  resolvedVersion = foundVersion;
151202
151235
  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 {
@@ -123834,7 +123835,7 @@ var require_auth = /* @__PURE__ */ __commonJSMin(((exports, module) => {
123834
123835
  //#endregion
123835
123836
  //#region ../../node_modules/make-fetch-happen/lib/options.js
123836
123837
  var require_options$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
123837
- const dns$2 = __require("dns");
123838
+ const dns$3 = __require("dns");
123838
123839
  const conditionalHeaders = [
123839
123840
  "if-modified-since",
123840
123841
  "if-none-match",
@@ -123859,7 +123860,7 @@ var require_options$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
123859
123860
  };
123860
123861
  options.dns = {
123861
123862
  ttl: 300 * 1e3,
123862
- lookup: dns$2.lookup,
123863
+ lookup: dns$3.lookup,
123863
123864
  ...options.dns
123864
123865
  };
123865
123866
  options.cache = options.cache || "default";
@@ -125276,9 +125277,9 @@ var require_key$3 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
125276
125277
  //#region ../../node_modules/@npmcli/agent/lib/dns.js
125277
125278
  var require_dns = /* @__PURE__ */ __commonJSMin(((exports, module) => {
125278
125279
  const { LRUCache } = require_index_min$5();
125279
- const dns$1 = __require("dns");
125280
+ const dns$2 = __require("dns");
125280
125281
  const cache = new LRUCache({ max: 50 });
125281
- const getOptions = ({ family = 0, hints = dns$1.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$1.lookup }) => ({
125282
+ const getOptions = ({ family = 0, hints = dns$2.ADDRCONFIG, all = false, verbatim = void 0, ttl = 300 * 1e3, lookup = dns$2.lookup }) => ({
125282
125283
  hints,
125283
125284
  lookup: (hostname, ...args) => {
125284
125285
  const callback = args.pop();
@@ -130317,7 +130318,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
130317
130318
  const socks_1 = require_build$1();
130318
130319
  const agent_base_1 = require_dist$12();
130319
130320
  const debug_1 = __importDefault(require_src$1());
130320
- const dns = __importStar(__require("dns"));
130321
+ const dns$1 = __importStar(__require("dns"));
130321
130322
  const net$1 = __importStar(__require("net"));
130322
130323
  const tls$1 = __importStar(__require("tls"));
130323
130324
  const url_1$1 = __require("url");
@@ -130389,7 +130390,7 @@ var require_dist$9 = /* @__PURE__ */ __commonJSMin(((exports) => {
130389
130390
  const { shouldLookup, proxy, timeout } = this;
130390
130391
  if (!opts.host) throw new Error("No `host` defined!");
130391
130392
  let { host } = opts;
130392
- const { port, lookup: lookupFn = dns.lookup } = opts;
130393
+ const { port, lookup: lookupFn = dns$1.lookup } = opts;
130393
130394
  if (shouldLookup) host = await new Promise((resolve, reject) => {
130394
130395
  lookupFn(host, {}, (err, res) => {
130395
130396
  if (err) reject(err);
@@ -151158,6 +151159,20 @@ async function withLock(key, fn) {
151158
151159
  activeOperations.set(key, promise);
151159
151160
  return promise;
151160
151161
  }
151162
+ let isOnlineCached = null;
151163
+ let lastCheckTime = 0;
151164
+ async function isOnline() {
151165
+ const now = Date.now();
151166
+ if (isOnlineCached !== null && now - lastCheckTime < 1e4) return isOnlineCached;
151167
+ try {
151168
+ await Promise.race([dns.lookup("registry.npmjs.org"), new Promise((_, reject) => setTimeout(() => reject(/* @__PURE__ */ new Error("timeout")), 1500))]);
151169
+ isOnlineCached = true;
151170
+ } catch {
151171
+ isOnlineCached = false;
151172
+ }
151173
+ lastCheckTime = now;
151174
+ return isOnlineCached;
151175
+ }
151161
151176
  /**
151162
151177
  * Robust utility to fetch, cache, and resolve an NPM package.
151163
151178
  * Centralized in core-node to avoid circular dependencies.
@@ -151184,7 +151199,15 @@ async function fetchPackage(packageName, versionOrRange, options) {
151184
151199
  if (resolvedVersionOrRange === "local") resolvedVersionOrRange = "latest";
151185
151200
  console.log(`[Fetcher] Resolving ${packageName}@${resolvedVersionOrRange || "latest"}...`);
151186
151201
  const resolveStart = Date.now();
151187
- try {
151202
+ if (!await isOnline()) {
151203
+ console.warn(`[Fetcher] ${packageName}: offline mode detected (${Date.now() - resolveStart}ms), trying local fallback...`);
151204
+ const fallbackStart = Date.now();
151205
+ const fallbackVersion = await tryLocalFallback(resolvedVersionOrRange, /* @__PURE__ */ new Error("Offline"), baseDir, packageName);
151206
+ if (fallbackVersion) {
151207
+ resolvedVersion = fallbackVersion;
151208
+ console.log(`[Fetcher] ${packageName}: Resolved to local fallback ${resolvedVersion} (${Date.now() - fallbackStart}ms)`);
151209
+ } else throw new Error(`Offline and no local fallback version available for ${packageName}`);
151210
+ } else try {
151188
151211
  const cachePath = join(ctx.userDataPath, "cache", "pacote");
151189
151212
  let packumentPromise = packumentRequests.get(packageName);
151190
151213
  if (!packumentPromise) {
@@ -151194,7 +151217,16 @@ async function fetchPackage(packageName, versionOrRange, options) {
151194
151217
  const packument = await packumentPromise;
151195
151218
  const versions = Object.keys(packument.versions);
151196
151219
  const range = resolvedVersionOrRange || "latest";
151197
- const foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
151220
+ let foundVersion = packument["dist-tags"]?.[range] || import_semver.default.maxSatisfying(versions, range);
151221
+ if (range === "latest" && ctx.releaseTag && ctx.releaseTag !== "latest") {
151222
+ const releaseTagVersion = packument["dist-tags"]?.[ctx.releaseTag];
151223
+ if (releaseTagVersion && import_semver.default.valid(releaseTagVersion)) {
151224
+ if (!foundVersion || import_semver.default.valid(foundVersion) && import_semver.default.gte(releaseTagVersion, foundVersion)) {
151225
+ console.log(`[Fetcher] Using release tag "${ctx.releaseTag}" (${releaseTagVersion}) instead of "latest" (${foundVersion || "none"}) for ${packageName}`);
151226
+ foundVersion = releaseTagVersion;
151227
+ } else if (foundVersion) console.warn(`[Fetcher] Tag "${ctx.releaseTag}" (${releaseTagVersion}) is older than "latest" (${foundVersion}) for ${packageName}, keeping "latest"`);
151228
+ }
151229
+ }
151198
151230
  if (!foundVersion) throw new Error(`Package ${packageName}@${range} not found on npm (available tags: ${Object.keys(packument["dist-tags"] || {}).join(", ")})`);
151199
151231
  resolvedVersion = foundVersion;
151200
151232
  console.log(`[Fetcher] ${packageName}: Resolved to v${resolvedVersion} via npm (${Date.now() - resolveStart}ms)`);